Current File : /home/inlingua/www/templates/inlingua/javascript/wScript.js
////////////////////////////////////////////////////////////////
//
// wScript.js 2.4.3
// erstellt durch Scholl Communications AG, 77694 Kehl, www.scholl.de
// erstellt mit Weblication� Content Management Server, www.weblication.de
//
// History:
// - 28.10.2004: Funktion changeLocationUrl fuer Framepraesenzen um nonavid und nonavidblank erweitert
//
////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////
//
// Anzupassende Variablen:
//
// Rahmen, in den die Seiten zu laden sind, falls kein Ziel angegeben wurde ("top" fuer Nonframe).
var frameContent = "content";
//
// Falls Cookies zur Weitergabe von NavId verwendet werden sollen (0 = aus, 1 = ein).
var useCookiesNavId = 0;
//
// Falls Cookies zur Weitergabe von PageId verwendet werden sollen (0 = aus, 1 = ein).
var useCookiesPageId = 0;
//
// Aktiviert den Debugmodus zur Fehlersuche (0 = aus, 1 = ein).
var cacheMode = 0;
//
// Aktiviert den Debugmodus zur Fehlersuche (0 = aus, 1 = ein).
var debugMode = 0;
//
// Optionen des standard Popupfensters.
var optionsPopup = "scrollbars=yes,resizable=yes,menubar=yes,location=no,width=600,height=480";
//
// Optionen des ersten Popupfensters.
var optionsPopup1 = "scrollbars=yes,resizable=yes,menubar=no,location=no,width=240,height=360";
//
// Optionen des zweiten Popupfensters.
var optionsPopup2 = "scrollbars=yes,resizable=yes,menubar=no,location=no,width=160,height=160";
//
//erscheint wenn ein Pflichtfeld nicht ausgef�llt wurde
var messageObligation = " ist ein Pflichtfeld!\n"; 
////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////
//
// Beschreibung: Browsererkennung
//
////////////////////////////////////////////////////////////////

var ns  = (document.layers) ? 1 : 0;
var ie  = (document.all) ? 1 : 0;
var dom = (document.getElementById) ? 1 : 0;
var mac = (navigator.platform.indexOf("Mac") != -1) ? 1 : 0;

////////////////////////////////////////////////////////////////
//
// Beschreibung: Leitet zur sprachspezifischen Startseite um
//
////////////////////////////////////////////////////////////////

function redirectLanguage(subDir){

 if(subDir == "undefined" || subDir == null){
   subDir = "";
 }

 var userLanguage = getUserLanguage();
 if(userLanguage == "de"){
   document.location.href = "/en/" + subDir;
 }
 else if(userLanguage.indexOf("en") != -1){
   document.location.href = "/wEnglisch/" + subDir;
 }
 else{
   document.location.href = "/en/" + subDir;
 }  
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Ermittelt die Sprache des Benutzers
//
// Return: Benutzersprache
//
////////////////////////////////////////////////////////////////
  
function getUserLanguage(){

 var userLanguage;
 if(navigator.language){
  userLanguage = navigator.language;
 }
 else if(navigator.userLanguage){
  userLanguage = navigator.userLanguage;
 }

 if(debugMode == 1){
  alert(userLanguage);
 }

 return userLanguage
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Ermittelt den Weblication-Benutzernamen
//
// Return: Benutzername
//
////////////////////////////////////////////////////////////////
  
function getUserName(){

  var cookieStr = document.cookie;  
  var userName  = "";
  var checkIsLogedin = /wId=WSESSIONID/;
  
  if(checkIsLogedin.test(cookieStr) == true){
    cookieStr = cookieStr.replace('%2D', '');
    var checkUser       = /WSESSIONID\%40([\w|\d|\-|_|;|,|.| ]+)\%40([\w|\d|\-|_]*)\%40/;
    var checkUserPublic = /WSESSIONID\%40public_([\w|\d|\-|_|;|,|.| ]+)\%40([\w|\d|\-|_]*)\%40/;
    var checkUserPublicAlt = /WSESSIONID\%40public_([\w|\d|\-|_|;|,|.| ]+\%2[0E][\w|\d|\-|_|;|,|.| ]+)\%40([\w|\d|\-|_]*)\%40/;    
    if(checkUserPublic.test(cookieStr) == true){
      userName = RegExp.$1;
      userLang = RegExp.$2;     
    }
    else if(checkUserPublicAlt.test(cookieStr) == true){
      userName = RegExp.$1;
      userName = userName.replace(/\%20/ ,' ');
      userName = userName.replace(/\%2E/ ,'.');   
      userLang = RegExp.$2;     
    }
    else if(checkUser.test(cookieStr) == true){
      userName = RegExp.$1;
      userLang = RegExp.$2;     
    }    
  }
  return userName;  
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster
//
////////////////////////////////////////////////////////////////

function openPopup(url){

 if(debugMode == 1){
  alert(url);
 }

 window.open(url, "popup", optionsPopup);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster vom Typ 1
//
////////////////////////////////////////////////////////////////

function openPopup1(url){

 if(debugMode == 1){
  alert(url);
 }

 window.open(url, "popup1", optionsPopup1);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster vom Typ 2
//
////////////////////////////////////////////////////////////////

function openPopup2(url){

 if(debugMode == 1){
  alert(url);
 }

 window.open(url, "popup2", optionsPopup2);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Ruft eine neue Adresse auf
// 
// Parameter: url    = Adresse, die aufgerufen werden soll
//
// Parameter: target = Zielfenster, in dem die Seite angezeigt werden soll
//
// Parameter: navId  = ID des Navigationspunktes
//
////////////////////////////////////////////////////////////////

function changeLocation(url, target, navId){

  changeLocationUrl(url, target, navId);

}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Ruft eine neue Adresse auf
// 
// Parameter: url    = Adresse, die aufgerufen werden soll
//
// Parameter: target = Zielfenster, in dem die Seite angezeigt werden soll
//
// Parameter: navId  = ID des Navigationspunktes
//
////////////////////////////////////////////////////////////////

function changeLocationUrl(url, target, navId){

 if(url    == "undefined" || url    == null || url == "#"){url    = "";}
 if(target == "undefined" || target == null){target = "";}
 if(navId  == "undefined" || navId  == null){navId  = "";}
 
 if(debugMode == 1){
  alert("url = " + url + "\ntarget = " + target + "\nnavId = " + navId);
 }
 
 if(url == ""){
   return;
 }
 
 url = url.replace('NAVIDJS', navId); 

 if(url != ""){
  if(useCookiesNavId == 1){
   if(navId != ""){
    document.cookie = "wNavId=" + navId + ";path=/;";
   }
  }

  if(useCookiesPageId == 1){
   var getPageId = /wPageId=(\d+)/;
   if(getPageId.test(url) == true){
    var wPageId = RegExp.$1;
    document.cookie = "wPageId=" + wPageId + ";path=/;";
   }
  }

  if(url == "#"){
   url = document.location.href;
   url = url.replace(/[\&|\?]navid=\d+/i, "");
  }

  if(navId != "" && target != "nonavid" && target != "nonavidblank"){
   var isNavigationStatic = /wNavStat_~_/;
   if(isNavigationStatic.test(url) == true){
    url = url.replace(/(\.[\w|\d]+)$/, navId + "$1");
   } 
   else{
    var hasNavid = /navid=\d+/;   
     if(hasNavid.test(url) == false){
      var hasParameters = /\?/;
      if(hasParameters.test(url) == false){
       url = url + '?' + 'navid=' + navId;
      }
      else{
       url = url + '&' + 'navid=' + navId;        
      } 
    }
   }
  }

  if(debugMode == 1){
   alert("url = " + url + "\ntarget = " + target + "\nnavId = " + navId);
  }   
  
  if(target == "nonavidblank"){
    target = '_blank';
  }     

  if(target == "top" || target == "_top"){
   top.location.href = url;
  }
  else if(target == "parent" || target == "_parent"){
   parent.location.href = url;
  }    
  else if(target == "blank" || target == "_blank"){
   window.open(url);
  }    
  else if(target == "popup" || target == "_popup"){
   window.open(url, "popup", optionsPopup);
  }    
  else if(target == "popup1" || target == "_popup1"){
   window.open(url, "popup1", optionsPopup1);
  }    
  else if(target == "popup2" || target == "_popup2"){
   window.open(url, "popup2", optionsPopup2);
  }    
  else{
   if(target == ""){
    target = frameContent;
   }
   if(target == "nonavid"){
     target = frameContent;
   }   
   if(frameContent != "top"){
    if(eval("top.frames['" + target + "']")){
     eval("top.frames['" + target + "'].location.href = url");
    }
             else{
     window.location.href = url;
    }  
   }
            else{
    window.location.href = url;
   } 
  }
 }
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Wechselt ein Bild aus
// 
// Parameter: picOldId  = ID des Bildes, das ersetzt werden soll
//
// Parameter: picNewObj = Neues Bildobjekt das eingesetzt werden soll
//
////////////////////////////////////////////////////////////////

function changePic(picOldId, picNewObj){

 if(debugMode == 1){
  alert("picOldId = " + picOldId + "\npicNewObj = " + picNewObj);
 }
 
 if(document.images[picOldId]){
  if(document.images[picOldId].src && picNewObj){
   document.images[picOldId].src = picNewObj.src;
  }
 }
} 

////////////////////////////////////////////////////////////////
//
// Beschreibung: Druckt das aktuelle Dokument
//
////////////////////////////////////////////////////////////////

function printDocument(){  

  if(document.all && navigator.appVersion.substring(22,23)==4) {
    self.focus();
    var OLECMDID_PRINT = 6;
    var OLECMDEXECOPT_DONTPROMPTUSER = 2;
    var OLECMDEXECOPT_PROMPTUSER = 1;
    var WebBrowser = '<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
    document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
    WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
    WebBrowser1.outerHTML = '';
  }
  else{
    window.print();  
  }
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Sendet das Formular
// 
// Parameter: form = Formular, das gesendet werden soll.
//
////////////////////////////////////////////////////////////////

function submitForm(form, cacheMode){

  var cookieStr = "";

  if(checkForm(form) == false){
    return; 
  }
  else{
    if(cacheMode == 1){   
      cookieStr += "; path=/";  
      document.cookie = cookieStr; 
    }
    form.submit();
  }
}

//////////////////////////////////////////////////////////////////////////////
//
// Beschreibung: Pr�ft, ob die Plichtfelder im Formular ausgef�llt worden sind.
// 
// Parameter: form = Formular, das gepr�ft werden soll.
//
//////////////////////////////////////////////////////////////////////////////

function checkForm(form){

 var messageEmail      = " enth�lt keine g�ltige Email Adresse!\n"; //erscheint wenn ein Pflichtfeld nicht ausgef�llt wurde

  var isObligation = /\|\w*o\w*$/i;  //Pflichtfeld, wenn Feldname am Schluss |o  enthaelt   (z.B.: "Strasse|o")
  var isEmail      = /\|\w*e\w*$/i;  //Emailfeld wenn Feldname am Schluss |e enthaelt       (z.B.: "eMail|e")
  var isCache      = /\|\w*c\w*$/i;  //Wird fuer weitere Formulare gespeichert am Schluss |c enthaelt       (z.B.: "eMail|c")
          //Pflicht- und Emailfeld, wenn am Schluss |oe oder |eo (z.B.: "eMail|eo") 

  var checkEmail   = /.*\@.*\.\w+/i;
  var formElement;
  var formElementNameOrig;
  var elementStr;
  var alertStr = "";
  var radioButtonName = "";
 
  for(var i = 0; i <= form.elements.length - 1; i++){
    var formElement = form.elements[i];
    if(formElement){
      formElementNameOrig = formElement.name.replace(/\|\w+/, '');
      if(formElement.title == ""){
        elementStr = formElementNameOrig;
      }
      else{
        elementStr = formElement.title;
      }
      if(formElement.type == "text" || formElement.type == "textarea" || formElement.type == "select-one" ||  formElement.type == "password"){
         
        if(isObligation.test(formElement.name) == true){  
          if(formElement.value == ""){
            alertStr += elementStr + messageObligation;                     
          }
        } 
        if(isEmail.test(formElement.name) == true){  
          if (checkEmail.test(formElement.value) == false){
            alertStr += elementStr + messageEmail;                     
          }
        } 
        if(cacheMode == "1"){    
          if(isCache.test(formElement.name) == true){ 
            if(formElement.value != ""){
              cookieStr += "wFc_" + formElementNameOrig + "=" + formElement.value + ":";
            }
          }    
        }     
      }
	    else if(formElement.type == "checkbox"){
        formElementNameOrig = formElement.name.replace(/\|\w+/, ''); 	  
        if(isObligation.test(formElement.name) == true){  
          if(formElement.checked == false){
            alertStr += elementStr + messageObligation;                     
          }
        } 
	    }
      else if(formElement.type == "radio"){
        if(radioButtonName != formElement.name){
          radioButtonName = formElement.name;
          var radioButtons = document.getElementsByName(formElement.name);
          formElementNameOrig = formElement.name.replace(/\|\w+/, ''); 	  
          if(isObligation.test(formElement.name) == true){  
            var isChecked = false;
            for(j = 0; j < radioButtons.length; j++){
              if(radioButtons[j].checked == true){
                isChecked = true
              }
            }
            if(isChecked == false){
              alertStr += elementStr + messageObligation;                     
            }
          } 
        }
	    }
    }
  }

  if(alertStr != ""){
    alert(alertStr);  
    return false;
  }
  
  return true;
  
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Initialisiert das Formular
// 
// Parameter: form = Formular, das initialisiert werden soll.
//
////////////////////////////////////////////////////////////////

function initForm(form){

  var isCache      = /\|\w*c\w*$/i;  //Wird fuer weitere Formulare gespeichert am Schluss |c enthaelt       (z.B.: "eMail|c")

  var formElement;
  var formElementNameOrig;

  var cookieStr    = document.cookie;
  var elementValue = "";

  if(form){
    for(var i = 0; i <= form.elements.length - 1; i++){
      var formElement = form.elements[i];
      if(formElement){
        if(formElement.name){      
          if(isCache.test(formElement.name) == true){ 
            if(formElement.value == ""){
              formElementNameOrig = formElement.name.replace(/\|\w+/, ''); 
              var getElementValue = eval("/wFc_" + formElementNameOrig + "\=([^\:]+)\:/");
              if(getElementValue.test(cookieStr) == true){
                elementValue = RegExp.$1;
                formElement.value = elementValue;
              }  
            }
          }
        }
      }
    }
  }
  else{
    //alert("Formular wurde nicht gefunden!\n Wurde es schon geladen?");
  }
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Startet die Suche in einem neuen Fenster
// 
////////////////////////////////////////////////////////////////

function startSearch(formName){
  if(formName){
    var form = formName
  }
  else{
    var form = document.frmSearch;
  }
  
  if(form.term.value == "" || form.term.value == " suchen"){
    alert("Sie haben noch keinen Suchbegriff eingegeben!");
    form.term.focus();
    return false;
  }
  
  var win = window.open ("", "winSearch","height=440,width=540,status=no,menubar=no,scrollbars=yes");
  var x = (screen.width-540)/2;
  win.moveTo(x,30);
  win.focus();
  form.submit();
}

var submenusIdOpen = new Array(0,0,0,0,0,0,0,0,0);	
     
////////////////////////////////////////////////////////////////
//
// Beschreibung: Zeigt einen Layer an
// 
// Parameter: layerId = ID des anzuzeigenden Layers
//
////////////////////////////////////////////////////////////////

function showLayer(layerId){

  if(ie){
    if(document.all[layerId]){
      document.all[layerId].style.visibility = 'visible';
    }  
  }
  else if(ns){
    if(document.layers[layerId]){
      document.layers[layerId].visibility = 'visible'; 
    } 
  }
  else if(dom){
    if(document.getElementById(layerId)){
      document.getElementById(layerId).style.visibility = 'visible';  
    }
  } 
  
}
     
////////////////////////////////////////////////////////////////
//
// Beschreibung: Schliest einen Layer
// 
// Parameter: layerId = ID des zu schliessenden Layers
//
////////////////////////////////////////////////////////////////

function hideLayer(layerId){

  if(ie){
    if(document.all[layerId]){
      document.all[layerId].style.visibility = 'hidden';
    }  
  }
  else if(ns){
    if(document.layers[layerId]){
      document.layers[layerId].visibility = 'hide'; 
    } 
  }
  else if(dom){
    if(document.getElementById(layerId)){
      document.getElementById(layerId).style.visibility = 'hidden';  
    }
  } 
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: �ffnet ein Untermen�
// 
// Parameter:
//
////////////////////////////////////////////////////////////////      
      
function openSubmenu(submenuId, submenuLevel){
  closeSubmenu(submenuId, submenuLevel);          
  submenusIdOpen[submenuLevel] = submenuId;	
  showLayer(submenuId);  
  showLayer('submenuCloserTop');
  showLayer('submenuCloserLeft');      
 
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Schliesst ein Untermen�
// 
// Parameter:
//
////////////////////////////////////////////////////////////////        

function closeSubmenu(submenuId, submenuLevel){
  for(var i=(submenuLevel);i<=submenusIdOpen.length;i++){
    if(submenusIdOpen[i] != 0 && submenusIdOpen[i] != submenuId){
      hideLayer(submenusIdOpen[i]);     
    }       
  }  
  //hideLayer('submenuCloserTop');
  //hideLayer('submenuCloserLeft');  
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Schliesst ein Untermen�
// 
// Parameter:
//
////////////////////////////////////////////////////////////////        

function closeSubmenuAll(){
  closeSubmenu("", 1)
  hideLayer('submenuCloserTop');
  hideLayer('submenuCloserLeft');  
  
}

function showans(ans,ques)
{
var ans=document.getElementById(ans)
var ques=document.getElementById(ques)
ans.className="show"
ques.className="show"
}

function hideans(ans,ques)
{
var ans=document.getElementById(ans)
var ques=document.getElementById(ques)
ans.className="hidden"
ques.className="hidden"
}

function showdiv(id)
{
	for(i=1;i<=document.frm.ctr.value-1;i++)
	{
		var k="color" + i
		document.getElementById(k).className='blue-txt'
	}
	document.getElementById("color" + id).className='green-txt'
}
//-----
 
function showans(more)
{
var more=document.getElementById(more)
more.className="show"
}

function hideans(more)
{
var more=document.getElementById(more)
more.className="hidden"
}
//------