/*---------------------------------------------------------------------------------------------------
  Autor: daniel.deckensattl@bluewin       Erstellt: 07.03.2006     Update: 16.12.06  CMS-Ver.: 1.44

  Haupt-JavaScript-Funktionen fuer das Online-CMS  
  --------------------------------------------------------------------------------------------------- 
*/
// -- Globale Variablen die beim Initialisieren gesetzt werden

var bName 		= navigator.appName;
var bVer 		= parseInt(navigator.appVersion);
var NS	 		= (bName == "Netscape" && bVer >= 4);
var ns6	 		= (bName == "Netscape" && bVer >= 4);
var ns4	 		= (bName == "Netscape" && bVer >= 4);
var IE 			= (bName == "Microsoft Internet Explorer" && bVer >= 4);
var ie4			= (bName == "Microsoft Internet Explorer" && bVer >= 4);
var N           = (document.all) ? 0 : 1;

//-- Allgemeine Initialisierungs-Steuervariablen --------------------------------------------------------------------------------------------		 		 
var hs = String.fromCharCode(34); var cr = String.fromCharCode(13); var lf = String.fromCharCode(10);

//-- Die Hoehe des Schreibbereiches innerhalb des Texteditors hier definieren 
var defaultEditorHeight = 469;

//-- Prueft vor dem ausgeloesten Suchvorgang vorhandener Suchbegriff, sonst > [nach ?] anzeigen
function getSearch(){
      if((document.getElementById('Sname').value == "") || (document.getElementById('Sname').value == "nach ?")) {
	     document.getElementById('Sname').value = "nach ?";
		 document.getElementById('Sname').select();
	  } else {
        document.location.href = sSearchSitePath+"&Suche="+document.getElementById('Sname').value;
	  }
}	
function getNewSearch(nr){
      if(document.getElementById('Sname') != undefined) {
      document.getElementById('Sname').value = nr; }
}
function getNextSearchRange(nr){
      document.getElementById('NavSEA').value = nr;
      document.PageData.submit();
}

//-- Nach dem Sichern im HTML-Editor wird Seiteninhalt nach Speichern aktualisiert und Scrollpos. wiederhergestellt  
function setScrollPos() {
  if(document.getElementById('NavSCR').value != "") {
     window.scrollTo(1,document.getElementById('NavSCR').value);
  }
}
//-- Fuellt eine Zeichenkette links oder rechts mit der angegebenen Zeichenkette auf (aufnullen)
function setPadChar(sVal, iLen, sChar, bolRight) {
		 var sResult = '' + sVal;
		 var iValLen = sResult.length;

		 while(iValLen < iLen) {
		     if(bolRight == false) {
			    sResult = sChar + '' + sResult;
			 } else {
			    sResult =  sResult + '' + sChar;
			 }
			 iValLen = sResult.length;
		 }
		 return sResult;
}
//-- Beim Login wird HSA1-Wert von angegebenem Passwort versendet und Passwortfeld geleert
function setLogin() {
         var strText = document.LoginData.Pname.value;
		 document.LoginData.Pname.value = "";
         //-- Externe temporäre Verarbeitung um hier nicht immer die sha1-JS-Bibliothek zu laden
         document.getElementById('CheckString').innerHTML = '<IFRAME id=Frame src="inc/inc_pconverter.php?obj=' + strText + '" width="1" height="1"></IFRAME>'; 
}
//-- Beim Login wird HSA1-Wert von angegebenem Passwort versendet und Passwortfeld geleert
function setLogout() {
		 document.PageData.Action.value = "Logout";
		 document.PageData.submit();
}
//-- Beim EMail-Versand submit per JavaScript ausloesen (fuer Formularpruefung Seiten-JavaScript-verwenden!)
function sendData() {
     //-- Ungepruefter Versand ist mit folgenden beiden Anweisungen moeglich (muss überschrieben werden!!!):
     document.getElementById('Action').value = "versenden";
     document.KontaktFormular.submit();
}
function clearEmailErrorMsg() {
    document.getElementById('EmailQuittung').innerHTML = ''; 
}
//-- Ermoeglicht eine Bestaetigung eines Emailversandes (oder die Fehlermeldung)
function viewEmailErrorMsg(sError) {
     //-- Wird individuell pro Formular-Seiten-Javascript ueberschrieben
	 //-- Um Ausgabenachricht (Erfolg oder Fehler) nach Versand anzuzeigen
}
//-- Hier wird ein Untermenu-Infotext angezeigt
function setElementText(strElementname, strText) {
         document.getElementById(strElementname).innerHTML = strText;
}
//-- Hier wird anstatt der Klick-URL ein angegebener (Mitarbeitername) String angezeigt
function setST(strStatText) {
         window.status = strStatText;
}
//-- Allgemein gehaltenes PopUp-Konstrukt um Admindialoge aufrufen zu koennen
function openWindow(url,frm,w,h,l,t,r,s) {
   oWin=open(url,frm,"width="+w+",height="+h+",left="+l+",top="+t+",toolbar=0,location=0,directories=0,status=0,menubar=0,resizable="+r+",scrollbars="+s);
   return oWin;
}
function openWini(url,frm,w,h,l,t,s,m) { 
    var myWin = window.open(url,frm,"width="+w+",height="+h+",left="+l+",top="+t+",toolbar=0,location=0,directories=0,status=0,menubar="+m+",resizable=1,scrollbars="+s);
	return myWin;
}
//-- Ein Seiteninhalt soll mit Hilfe des HTML-Eitors modifiziert werden
function setEditorText(strName) {
   openWini('inc/inc_EditText.php?pictxt='+strName+'&lng='+document.getElementById('NavLng').value, "_blank", 660, 648, 300, 250, 0,0);
}
function viewSFWinPopUp(strName) {
    openWini('inc/inc_swf_popup.php?pictxt=' + strName + '&lng=' + document.getElementById('NavLng').value, "_blank", 280, 240, 200, 150, 0, 0,0);
}
function setLostRequest() {
    openWini('inc/inc_Email_ErrorEditor.php?pictxt=&lng=' + document.getElementById('NavLng').value, "_blank", 760, 560, 300, 250, 1, 0,0);
}
function TexteditorDemo() {
    openWini('inc/inc_EditDemoPopup.php?pictxt=&lng=' + document.getElementById('NavLng').value, "_blank", 660, 465, 300, 250, 1, 0,0);
}
function setAGBText() {
   openWini('inc/inc_vacuumboxAGB.php?lng='+document.getElementById('NavLng').value, "_blank", 660, 573, 300, 250, 1,1);
}
//-- Der Menue-Editor wird aufgerufen
function setEditorNav(strName) {
   openWini('inc/inc_EditNav.php?pictxt='+strName+'&lng='+document.getElementById('NavLng').value, "_blank", 685, 600, 300, 250, 1,0);
}
function setPInfo() {
   openWini('inc/PHPInfos.php?pictxt=PHPInfo&lng='+document.getElementById('NavLng').value, "_blank", 674, 600, 300, 250, 1,0);
}
function sendeEmailAn(strEamilAdresse) {
         parent.location.href='mailto:'+strEamilAdresse+'';
}
function CMSHelp() {
   openWini('../inc/hlp/CMSHelp.htm', "_blank", 660, 510, 300, 250, 1, 9,0);
}
//-- Bei Enter-Aktion im unteren Anmeldeeingabefeld oder der Suche entsprechende Aktion ausloesen
function checkAction(sCtrlName) { 
   var Ereignis = window.event;
   if((sCtrlName.name == 'Pname') && (Ereignis.keyCode == 13)) { setLogin(); }
   if((sCtrlName.name == 'Sname') && (Ereignis.keyCode == 13)) { getSearch(); }   
}
//-- Bei einem Emailversand wird Erfolgs- oder Fehlermeldung fuer X-Sekunden usgegeben 
function clearMailConfirmation() {
  document.getElementById('sendMailError').innerHTML = '';
}
function setMailConfirmation(sMsg) {
  document.getElementById('sendMailError').innerHTML = '<font color="#992222" size="2"><strong>' + sMsg + '</strong></font>';
  window.setTimeout("clearMailConfirmation()",2000);
}

//-- Bei einem Emailversand wird Erfolgs- oder Fehlermeldung fuer X-Sekunden usgegeben 
function clearMailStateInfo() {
  document.getElementById('sendMailError').innerHTML = '';
}
function setMailStateInfo(sMsg) {
  document.getElementById('sendMailError').innerHTML = '<font color="#992222" size="1"><strong>' + sMsg + '</strong></font>';
  window.setTimeout("clearMailStateInfo()",10000);
}
function ECoder() {
    var sCodingText = document.getElementById('EMailCodertext').value;
	sCodingTextLow = sCodingText.toLowerCase();
	var sCodeText = "";
	
    //-- Konvertiermodus bestimmen (automatisch)
	iCodingMode = (sCodingTextLow.indexOf("@") != -1) ? 0: 1;
	iCodingMode = (sCodingTextLow.indexOf("javascript") != -1) ? 2: iCodingMode;

	//-- Konvertierung der drei Varianten vornehmen
	if(iCodingMode == 0) {
	   //-- eine normale Emailadresse zur JS-Funktion konvertieren
	   sCodeText = "javascript:setIM('" + CryptFailto(sCodingText) + "');";
	} else {
		if(iCodingMode == 1) {
		   //-- Wenn nur ein codierte Zeichenkette vorkommt, diese Rueckumwandeln in EMailadresse
           var sCodeText = UnCryptFailto(sCodingText);
	    } else {
	       //-- eine bestehende JS-Codier-Funktion zu Emailadresse konvertieren
		   var iStartPos = sCodingText.indexOf("'");
		   var iEndPos = sCodingText.lastIndexOf("'");
		   var sCodeVal = sCodingText.substr(iStartPos+1,(iEndPos-iStartPos)-1);
	       sCodeText = UnCryptFailto(sCodeVal);	
	    }
	}
	//-- Resultat der Konvertierung dem Ausgabetextfeld zuweisen
    document.getElementById('EMailCodertext').value = sCodeText;
}
function XCoder() {
    var sConvText = UnCryptFailto(document.getElementById('EMailCodertext').value);
    document.getElementById('EMailCodertext').value = codeConverter(sConvText);
}
function codeConverter(sCode) {
			// Replace special tags
	        bCode = sCode.replace(/&ouml;/g,"ö");
	        bCode = bCode.replace(/&Ouml;/g,"Ö");
	        bCode = bCode.replace(/&auml;/g,"ä");
	        bCode = bCode.replace(/&Auml;/g,"Ä");
	        bCode = bCode.replace(/&uuml;/g,"ü");
	        bCode = bCode.replace(/&Uuml;/g,"Ü");	
	        bCode = bCode.replace(/&lt;/g,"<");
	        bCode = bCode.replace(/&gt;/g,">");
			bCode = bCode.replace(/&quot;/g,'"');		
		    return bCode;
}
//-- Ueberprueft ob Zeichenkette in Liste schon vorkommt (Grossschrift egal)
//-- und gibt -1 falls nicht gefunden, ansonsten den Listenindex zurueck 
function getListValCheck(sValText, objList) {
	strMitObj = sValText.toLowerCase();
	intFound = -1;
	for(t=0;t<objList.length;t++) {
	    strVonObj = objList.options[t].text;
	    strVonObj = strVonObj.toLowerCase();
	    if(strVonObj == strMitObj) {
		   intFound = t;
		   t = objList.length;
	    }
	}
	return intFound;
}	
//-- Wiederherstellen von verschl. Zeichenketten
function UnCryptFailto(s) { 
   var n=0; 
   var r=""; 
   for(var i=0;i<s.length;i++) { 
      n=s.charCodeAt(i); 
      if (n>=8364) {n = 128;} 
      r += String.fromCharCode(n-3); 
   } 
   return r; 
} 
//-- Verschl. von Zeichenketten
function CryptFailto(s) { 
   var n=0; 
   var r=""; 
   for(var i=0;i<s.length;i++) { 
      n=s.charCodeAt(i); 
      if (n>=8364) {n = 128;} 
      r += String.fromCharCode(n+3); 
   } 
   return r; 
}
//-- Versendet einen versch. href-Wert 
function linkTo_UnCryptFailto(s)   { 
   document.top.location.href=UnCryptFailto(s); 
}
//-- Ent-/Ver-Schlüsselt einen Link oder Informationen
function setIM(s) {
  //-- Wird der Klicklink nur markiert, keine href-Aktion auslösen!
  var intButton = 0;
  if (IE) {
     intButton = document.selection.createRange().text.length;  
  } 
  if (NS) {
    var strText = document.getSelection();
	intButton = strText.length;
  }
  if(intButton == 0) {
     parent.location.href='mai' + 'lto:'+UnCryptFailto(s)+'';
  }
}
//-- Bei einem Sprachenwechsel wird dieselbe Seite mit neuem Language-Arg. geladen
function setNewLanguage(strNewLang) {
  document.getElementById('NavLng').value = strNewLang;
  var strOldURL = document.location.href;
  var intLngPos = strOldURL.indexOf("lng=");
  var strNewURL = strOldURL.substr(0,intLngPos+4)+strNewLang;
  document.location.href = strNewURL;
}