////////////////////////////////////////////////////////////////
//
// wScript.js - Weblic® Kontakt-Formular
//
////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////
//
// Anzupassende Variablen:
//
// Aktiviert den Debugmodus zur Fehlersuche (0 = aus, 1 = ein).
var cacheMode = 0;
//
// Aktiviert den Debugmodus zur Fehlersuche (0 = aus, 1 = ein).
var debugMode = 0;
//
//erscheint wenn ein Pflichtfeld nicht ausgefüllt wurde
var messageObligation = " ist ein Pflichtfeld!\n"; 
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
//
// Beschreibung: Sendet das Formular
// 
// Parameter: form = Formular, das gesendet werden soll.
//
////////////////////////////////////////////////////////////////

function submitForm(form, cacheMode){

  var cookieStr = "";

  if(checkForm(form) == false){
    // bei Aufruf ueber <button type="submit" ... und onSubmit-Event im Form-Tag:
    //return false;
    // bei Aufruf ueber <a href="javascript:submitForm(document.frmContact);" ... oder onclick="submitForm();" ...:
    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 die E-Mail Syntax nicht korrekt ist
 var messageEmailUmlaut = " enthält einen Umlaut!\nIDN-Domains werden derzeit nicht unterstützt!\n"; //erscheint, wenn Umlaute in der E-Mail Adresse enthalten sind (ä,ö,ü)

  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 checkEmail    = /[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,4}/i;
  //var checkEmail   = /[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\.]+[a-zA-Z]{2,4}/i;
  var searchUmlaut  =  /@.*[äöü]+/i; // Pruefen auf Umlaut
  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){ // 23.05.2008: Wie folgt geändert, damit auch fieldset berücksichtigt werden kann (ph)
    if(formElement && formElement.name){
      formElementNameOrig = formElement.name.replace(/\|\w+/, '');
      if(formElement.title == ""){
        elementStr = formElementNameOrig;
        // (ws) 03.03.2010 CAPTCHA_START
        if(elementStr == "ca"){
          elementStr = "Sicherheitsabfrage";
        }
        // (ws) 03.03.2010 CAPTCHA_STOP
      }
      else{
        elementStr = formElement.title;
      }
      if(formElement.type == "text" || formElement.type == "textarea" || formElement.type == "select-one" || formElement.type == "select" ||  formElement.type == "password"){
         
        if(isObligation.test(formElement.name) == true){  
          if(formElement.value == ""){
            alertStr += elementStr + messageObligation;                     
          }
        } 
        //if(isEmail.test(formElement.name) == true){  // 13.08.2007: Wird nun auf nicht leeren Inhalt geprüft, damit das Feld auch als Nicht-Pflichtfeld definiert werden kann (ph)
        if(isEmail.test(formElement.name) == true && formElement.value != ''){
          // Abfrage auf evtl. Umlaut in der E-Mail Adresse
          if (searchUmlaut.test(formElement.value) == true){
            alertStr += elementStr + messageEmailUmlaut;                     
          }
          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?");
  }
}

//JavaScript fuer die Anwendung grusskarten
////////////////////////////////////////////////////////////////
//
// Beschreibung: Überprüft das Vorhandensein einer Kategorie.
//
////////////////////////////////////////////////////////////////  

function checkCategoryDouble(form){
  
  // Returnvariable
  var ret = true;
  var alertStr = "";
  
  // Lese die neu anzulegende Kategorie aus
  var newCategory = form.Category.value;
  if(newCategory == "") alertStr = "Bitte geben Sie eine Kategorie an.";
  
  // Lese die vorhandenen Kategorien aus dem Formular aus
  else if(form.cats){
    var cats = form.cats.value;
    
    // Strip first "|" if any
    if(cats.indexOf("|") == 0) cats = cats.substr(1,cats.length-1);
    
    var presentCategories = cats.split("|");
    
    // Prüfe ob vorhanden
    for(var i=0; i <= presentCategories.length-1; i++){
      if(presentCategories[i] == newCategory) alertStr = "Kategorie schon vorhanden";
    }
  }
  
  if(alertStr != ""){
    alert(alertStr);
    ret = false;
  }
  return ret;
}

//JavaScript fuer die Anwendung Bildergalerie

////////////////////////////////////////////////////////////////
//
// wScript.js für die Anwendung Bildergalerie
// erstellt durch Scholl Communications AG, 77694 Kehl, www.scholl.de
// erstellt mit Weblication® Content Management Server, www.weblication.de
//
////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////
//
// Anzupassende Variablen:
//
// Aktiviert den Cachemodus (0 = aus, 1 = ein).
var cacheMode = 0;
//
//erscheint wenn ein Pflichtfeld nicht ausgefüllt wurde
var messageObligation = " ist ein Pflichtfeld!\n"; 
////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet das Fenster zur Dateiauswahl
//
////////////////////////////////////////////////////////////////

function openWin(){
  //var win = window.open('/cgi-bin/wDir.cgi?path=<!--PRC:ENV name="dirInclude"-->', 'dirWin', 'width=700, height=700, scrollbars=yes');
  var win = window.open('/cgi-bin/wDir.cgi?path=' + location.pathname.replace(/[^\/]+$/, ''), 'dirWin', 'width=700, height=700, scrollbars=yes');
}


////////////////////////////////////////////////////////////////
//
// Beschreibung: Sendet das Formular
// 
// Parameter: form = Formular, das gesendet werden soll.
//
////////////////////////////////////////////////////////////////

function submitFormGallery(frmUploadFileGallery){
  if(document.getElementsByName("frmUploadFileGallery")[0].file.value == "" || document.getElementsByName("frmUploadFileGallery")[0].headline.value == "" ){
    if(document.getElementsByName("frmUploadFileGallery")[0].file.value == ""){
    alert('Bitte wählen Sie noch eine Datei aus!');
      document.frmUploadFileGallery.file.focus();
      return false;
    }
    else{
    alert('Bitte geben Sie eine Überschrift an!');
      document.frmUploadFileGallery.headline.focus();
      return false;
    }
  }
  else{
    // Folgende Abfrage entfaellt aufgrund Umsetzung ueber die function checkInsert()
    //var headlineBefore = document.getElementsByName("frmUploadFileGallery")[0].headline.value;
    //var headline = headlineBefore.replace(/"/g, " ");
    //var headline = headlineBefore.replace(/'/g, " ");
  	document.getElementsByName("frmUploadFileGallery")[0].submit();
  }
}

function submitFormZip(frmUploadZip){
	if(document.getElementsByName("frmUploadZip")[0].file.value == ""){
		alert('Bitte wählen Sie noch eine ZIP-Datei aus!');
		  document.frmUploadZip.file.focus();
      return false;
	}
	else{
		document.getElementsByName("frmUploadZip")[0].submit();
	}
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Sendet das Formular
// 
// Parameter: form = Formular, das gesendet werden soll.
//
////////////////////////////////////////////////////////////////

function checkInsert(){
  var checkheadline = document.frmUploadFileGallery.headline.value;
  strlength = checkheadline.length;
  var Ausdruck = /["']/;
   if(Ausdruck.test(checkheadline) != false){
   //checkheadline = checkheadline.replace(/[^a-zA-Z0-9_]/,"_");
   alert("Die Sonderzeichen \" und \' sind nicht erlaubt!");
   strlength = strlength - 1;
   }
   document.frmUploadFileGallery.headline.focus();

   //alert(length);
   checkheadline = checkheadline.substring(0, strlength);
    document.frmUploadFileGallery.headline.value = checkheadline;
}



function submitFormRegister(curForm){
	var warning = "";
	var treffer;
	var treffer_email;
	
	// Pflichtfelder prüfen
	if(document.forms[curForm].elements["username|o"].value == ""){
		warning =  document.forms[curForm].elements["username|o"].title + " ist ein Pflichtfeld!\n";
	}
	var suche		= /[^a-zA-Z0-9\-_]/;
	treffer = suche.test(document.forms[curForm].elements["username|o"].value);
	if(treffer == true){
		warning += "Im Benutzernamen dürfen keine Umlaute, Sonder- und Leerzeichen vorkommen!\n";
	}
	
	if(document.forms[curForm].elements["/firstname/@value|o"].value == ""){
		warning += document.forms[curForm].elements["/firstname/@value|o"].title + " ist ein Pflichtfeld!\n";
	}
	
	if(document.forms[curForm].elements["/surname/@value|o"].value == ""){
		warning += document.forms[curForm].elements["/surname/@value|o"].title + " ist ein Pflichtfeld!\n";
	}
	
	if(document.forms[curForm].elements["/email/@value|o"].value == ""){
		warning += document.forms[curForm].elements["/email/@value|o"].title + " ist ein Pflichtfeld!\n";
	}
	var email_suche = /.*\@.*\.\w+/i;
	treffer_email		= email_suche.test(document.forms[curForm].elements["/email/@value|o"].value);
	if(treffer_email == false){
		warning += "Bitte geben Sie eine gültige E-Mail-Adresse an!\n";
	}
	
	if(document.forms[curForm].elements["/password/@value|o"].value == ""){
		warning += document.forms[curForm].elements["/password/@value|o"].title + " ist ein Pflichtfeld!\n";
	}
	
	if(document.forms[curForm].elements["passwordconfirm|o"].value == ""){
		warning += document.forms[curForm].elements["passwordconfirm|o"].title + " ist ein Pflichtfeld!\n";
	}
	
	if(document.forms[curForm].elements["/password/@value|o"].value != document.forms[curForm].elements["passwordconfirm|o"].value){
		warning += "Passwörter stimmen nicht überein!\n";
	}
	
	if(warning == ""){
		document.forms[curForm].submit();
	}
	else{
		alert(warning);
	}
}


Date.firstDayOfWeek = 0;
Date.format = 'yyyy-mm-dd';
jQuery(document).ready(function(){
  jQuery(function(){
    jQuery('.elementInputDate').datePicker();
  });
});


