////////////////////////////////////////////////////////////////
//
// Anzupassende Variablen:
//
// 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;
//
//erscheint wenn ein Pflichtfeld nicht ausgef?llt wurde
var messageObligation = " ist ein Pflichtfeld!\n"; 


////////////////////////////////////////////////////////////////
//
// Beschreibung: Folgendes Script sind haupts?chlich AJAX-Funktionen
//
////////////////////////////////////////////////////////////////
var http_request 	= false;

var divToRefresh 	= "";

function macheRequest(url, requestName, functionName, divName) {

    requestName = false;
    divToRefresh = divName;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        requestName = new XMLHttpRequest();
        if (requestName.overrideMimeType) {
            requestName.overrideMimeType('text/xml');
            // zu dieser Zeile siehe weiter unten
        }
    } else if (window.ActiveXObject) { // IE
        try {
            requestName = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                requestName = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!requestName) {
        //alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
        return false;
    }
      
    requestName.open('GET', url, true);


    requestName.onreadystatechange = function () {
         if(functionName == "alertInhalt") {
             alertInhalt(requestName);
         } else if(functionName == "noInhalt") {
             noInhalt(requestName);
         } else {
             returnInhalt(requestName, divName);
         }
    };

	requestName.send(null);
}

function alertInhalt(requestName) {
    if (requestName.readyState == 4) {
        if (requestName.status == 200) {
            alert(requestName.responseText);
        } else {
            //alert('Bei dem Request ist ein Problem aufgetreten.');
        }
    }
}

function returnInhalt(requestName, divName) {
    if (requestName.readyState == 4) {
        if (requestName.status == 200) {
        	document.getElementById(divName).innerHTML = requestName.responseText;
        } else {
            //alert('Bei dem Request ist ein Problem aufgetreten.');
        }
    }
}

function noInhalt(requestName) {
    if (requestName.readyState == 4) {
        if (requestName.status == 200) {
			//wurde einfach nur ausgef?hrt
        } else {
            //alert('Bei dem Request ist ein Problem aufgetreten.');
        }
    }
}











function checkKnowledge(val) {
	if(document.getElementById('Knowledge')) {
		if(val == "ja") {
			document.getElementById('Knowledge').style.display = "block";
		} else {
			document.getElementById('Knowledge').style.display = "none";
		}
	}
}


function submitFormUpload(form){
	var BildGross 	= document.getElementById('BildGross').value;
	var BildMittel 	= document.getElementById('BildMittel').value;
	var BildKlein 	= document.getElementById('BildKlein').value;

	var fehlermeldung = submitFormReturn(form);
	
	if(BildGross == "" || BildMittel == "" || BildKlein == "") {
		fehlermeldung += "\nBitte laden Sie alle 3 Bilder des Teilnehmers hoch!";
	}
	
	if(fehlermeldung != "") {
		alert(fehlermeldung);
		return;
	} else {
		form.submit();
	}
}

function submitFormUploadXML(form){
	var xmlFile 	= document.getElementById('xmlFile').value;

	var fehlermeldung = submitFormReturn(form);
	
	if(xmlFile == "") {
		fehlermeldung += "\nBitte laden Sie die XML-Datei hoch!";
	}
	
	if(fehlermeldung != "") {
		alert(fehlermeldung);
		return;
	} else {
		form.submit();
	}
}

function checkForm(form,returnart){

 var messageEmail      = " ist keine korrekte E-Mail 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(returnart != "string") {
	  if(alertStr != ""){
	    alert(alertStr);  
	    return false;
	  }
	  return true;
  } else {
  	return alertStr;
  }
}

function submitFormReturn(form){

  var cookieStr = "";

  return checkForm(form,"string");
}

function submitFormCurrent(form){
	if(checkForm(form,"") == true) {
		//return false;
		form.submit();
	}
}

function submitFormAnmeldung(form){

	var fehlermeldung = submitFormReturn(form);
	
  	var radioButtonName = "";
	var Minderjaehrige = "";
	var Kenntnis = "";
	
	for(var i = 0; i <= form.elements.length - 1; i++){
	    var formElement = form.elements[i];
	    if(formElement){
	    	if(formElement.name == "Alter|o") {
				if(formElement.value != "" && !testeZeichen(formElement.value, "1234567890")){
					fehlermeldung += "Bitte gib beim Alter nur Zahlen ein!\n";
					//alert("Bitte geben Sie beim Alter nur Zahlen ein!");
					//return;
				}
				if(formElement.value != "" && formElement.value < 16){
					fehlermeldung += "Du bist leider zu jung um an unserem Gewinnspiel teilzunehmen!\n";
					//alert("Du bist leider zu jung um an unserem Gewinnspiel teilzunehmen!");
					//return;
				}
			} else if(formElement.name == "Foto|o") {	
				if(formElement.value == ""){
					fehlermeldung += "Bitte suche noch ein Foto zum Hochladen aus!\n";
					//alert("Bitte w?hlen Sie noch ein Foto zum Hochladen aus!");
					//return;
				}

				 var dieEndungJPG 	= "jpg";
				 var dieEndungJPEG 	= "jpeg";
				 var SucheJPG 		= /jpg$/i;
				 var SucheJPEG 		= /jpeg$/i;

				if(formElement.value != "" && (SucheJPG.test(formElement.value) == false && SucheJPEG.test(formElement.value) == false)){
					fehlermeldung += "Bitte versuche nur ein Bild im Format JPG hochzuladen!\n";
				}
			} else if(formElement.name == "Minderjaehrige|o") {	
		        if(radioButtonName != formElement.name){
		          radioButtonName = formElement.name;
		          var radioButtons = document.getElementsByName(formElement.name);
		          for(j = 0; j < radioButtons.length; j++){
		          	if(radioButtons[j].checked == true){
		              Minderjaehrige = radioButtons[j].value;
		            }
		          }
		        }
			} else if(formElement.name == "Kenntnis") {
	          if(formElement.checked == true){
	            Kenntnis = formElement.value;
	          }
	    	}
	    }
	}
	
	if(Minderjaehrige == "ja" && Kenntnis != "OK") {
		fehlermeldung += "Bitte versichere, dass der/die Erziehungsberechtigten\nder minderjaehrigen Personen einverstanden ist/sind.\n";
	}
	
	if(fehlermeldung != "") {
		alert(fehlermeldung);
		return;
	} else {
		form.submit();
	}
}

function testeZeichen(teststring, buchstaben) {
	var alleZeichenOK = true;
	for (var i=0; i < teststring.length ; i++) {
		if (buchstaben.indexOf(teststring.charAt(i)) == -1) {
			alleZeichenOK = false;
		}
	}
	return alleZeichenOK;
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster mit festgelegter Breite und Hoehe ohne Scrollbalken
//
////////////////////////////////////////////////////////////////

function open_window_size(url, ww, wh, name) {

   if (ww == ''){
     var ww = 800;     
   }
   if (wh == ''){
     var wh = 600;     
   }

   var zoom1 = window.open(url,name,'width=' + ww + ',height=' + wh + ',scrollbars=0,menubar=0,resizeable=0');
   var x = (screen.width-ww)/2;
   zoom1.moveTo(200,30);
	 zoom1.focus();
}	

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster "Upload"
//
////////////////////////////////////////////////////////////////

function open_window_upload(url) {

   	var ww = 500;     
		var wh = 700;     
		var zoom1 = window.open(url,"Zoom1",'width=' + ww + ',height=' + wh + ',scrollbars=0,menubar=0,resizeable=0');
   	var x = (screen.width-ww)/2;
   	zoom1.moveTo(200,30);
	 	zoom1.focus();
}


////////////////////////////////////////////////////////////////

function doCounter() {
	if(document.getElementById('textarea')) {
		var signs = 140;
		var newText = "";
		var oldText = document.getElementById('textarea').value;
		if(oldText.length >= signs)	{ 
			newText = oldText.substr(0, signs);
			alert('Der Text darf nicht laenger als 140 Zeichen sein.');
		} else {
			newText = oldText;
		}
		document.getElementById('textarea').value = newText;
	}
}
