////////////////////////////////////////////////////////////////
//
// wScript  -  Lebenshilfe Detmold e.V.  -  v2.4.3
//
////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////
//
// 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 = "/bs1/" + subDir;
 }
 else if(userLanguage.indexOf("en") != -1){
   document.location.href = "/wEnglisch/" + subDir;
 }
 else{
   document.location.href = "/bs1/" + 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 != ""){
   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 == "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(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 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 alertStr = "";

 var cookieStr = "";

  for(var i = 0; i <= form.elements.length - 1; i++){
    var formElement = form.elements[i];
    if(formElement){
      if(formElement.type == "text" || formElement.type == "textarea"){
        formElementNameOrig = formElement.name.replace(/\|\w+/, ''); 
        if(isObligation.test(formElement.name) == true){  
          if(formElement.value == ""){
            alertStr += formElementNameOrig + messageObligation;                     
          }
        } 
        if(isEmail.test(formElement.name) == true){  
          if (checkEmail.test(formElement.value) == false){
            alertStr += formElementNameOrig + 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 += formElementNameOrig + messageObligation;                     
          }
        } 
	  }
    }
  }

  if(alertStr != ""){
    alert(alertStr);  
  }
  else{
    if(cacheMode == 1){   
      cookieStr += "; path=/";  
      document.cookie = cookieStr; 
    }
    form.submit();
  }
}

////////////////////////////////////////////////////////////////
//
// 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');  
  
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Linkunterdrückung Statuszeile
// 
// Parameter:
//
////////////////////////////////////////////////////////////////  

function hidestatus(){
  window.status='©2006 - Lebenshilfe Detmold e.V.'
  return true
}
if (document.layers)
    document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT | Event.MOUSEDOWN | Event.MOUSEUP)
    document.onmouseover=hidestatus
    document.onmouseout=hidestatus
    document.onmousedown=hidestatus
    document.onmouseup=hidestatus

////////////////////////////////////////////////////////////////
//
// Beschreibung: Active Inhalt (Flash) - Include
// 
// Parameter:
//
////////////////////////////////////////////////////////////////  

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: WebSpeech - Steuerung
// 
// Parameter:    WebSpeech 
//
//////////////////////////////////////////////////////////////// 

// Say it now
function SayItNow(Text) {
 if (IsWebSpeech == 1){
    window.document.WebSpeech.SetText(Text);
    window.document.WebSpeech.StartSpeakingImmediate();
 } 
 else 
 {
    alert ("Zur Nutzung dieser Funktion muss das kostenlose WebSpeech PlugIn installiert werden. Dieses erhalten Sie über den Link innerhalb der rechten oberen Informationsbox. Bitte beachten Sie, dass das PlugIn derzeit nur in Verbindung mit dem Betriebssystem Microsoft Windows 95, 98, Me, NT, 2000 und XP unter Verwendung des Internet Explorers (ab Version 4.0) funktioniert. Vielen Dank!");
 }
}

// Say it again
function SayItAgain() {
 if (IsWebSpeech == 1){
    window.document.WebSpeech.StartSpeaking();
 } 
 else 
 {
    alert ("Zur Nutzung dieser Funktion muss das kostenlose WebSpeech PlugIn installiert werden. Dieses erhalten Sie über den Link innerhalb der rechten oberen Informationsbox. Bitte beachten Sie, dass das PlugIn derzeit nur in Verbindung mit dem Betriebssystem Microsoft Windows 95, 98, Me, NT, 2000 und XP unter Verwendung des Internet Explorers (ab Version 4.0) funktioniert. Vielen Dank!");
 }
}

// F2 Help 'KeyDown'
/*
document event onkeydown() { 
  switch(window.event.keyCode){
   case 9:
     tab = true;
     break;
   case 113:
     if(IsWebSpeech==1){
       wsSagsSofort("Mit der Tabulator-Taste kann man von einem Link zum nächsten springen. "
         +"Zu jedem Link werden Informationen vorgelesen."
         +"Wenn man bei einem aktivierten Link die Eingabetaste drückt, wird dorthin gewechselt.");
     }
     break;
   }
 return true; 
}
*/


