// wScript.js
// erstellt durch Scholl Communications AG, 77694 Kehl, www.scholl.de
// erstellt mit Weblication® Content Management Server, www.weblication.de

////////////////////////////////////////////////////////////////
//
// 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){

  if(navId != ""){
    document.cookie = "wNavId = " + navId;
  }

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

  var hasParameters = /\?/;
  if(url != ""){
    if(url == "#"){
      url = document.location.href;
      url = url.replace(/[\&|\?]navid=\d+/i, "");
    }
    if (hasParameters.test(url) == false){
      url = url + '?navId=' + navId;
    }
    else{
      url = url + '&navId=' + navId;        
    }

    if(target != "" && target != undefined){
      if (target != "_new"){
        eval(target + ".location.href = url");
      }
      else{
        window.open(url);
      }
    }
    else{
      document.location.href = url;
    }

    if(target == "" || target == undefined){
      target = "content";
    }

    if(eval("parent.frames['" + target + "']")){
      eval("parent.frames['" + target + "'].document.location.href = url");
    }		
    else{
      window.open(url);
    }	
  }
}

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

function submitForm(form){

  //alert(form.elements);
  //alert(form.elements.length);

  var messageObligation = " ist ein Pflichtfeld!\n"; //erscheint wenn ein Pflichtfeld nicht ausgefüllt wurde
  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 isCache      = /\|\w*c\w*$/i;  //Wird fuer weitere Formulare gespeichert am Schluss |c enthaelt       (z.B.: "eMail|c")
  var isEmail      = /\|\w*e\w*$/i;  //Emailfeld wenn Feldname am Schluss |e enthaelt       (z.B.: "eMail|e")
                                              //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(formElementNameOrig == "Email"){
          form.from.value = formElement.value;
        }
        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(isCache.test(formElement.name) == true){ 
        if(formElement.value != ""){
          cookieStr += "wFc_" + formElementNameOrig + "=" + formElement.value + ":";
        }
      }
    }
  }
  
  cookieStr += "; path=/";

  if(alertStr != ""){
    alert(alertStr);  
  }
  else{
    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(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?");
  }
}

