function echeck(str) {

	var regExp = /^([a-zA-Z0-9_\-])+(\.{0,1}([a-zA-Z0-9_\-]))*\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (regExp.test(str)) {
		return true;
	}
	else {
		alert("Es ist eine ungültige E-Mail Adresse vorhanden");
		return false;
	}
		/*
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Keine gültige E-Mail-Adresse")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Keine gültige E-Mail-Adresse")
		   return false
		}

		if ((str.indexOf(dot)==-1) || (str.indexOf(dot)==0) || (str.indexOf(dot)==lstr)  ){
		    alert("Keine gültige E-Mail-Adresse")
		    return false
		}

		var a = str.substring(ldot + 1,ldot + 2 );
		if ( a == "" ) {
		    alert("Keine gültige E-Mail-Adresse")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Keine gültige E-Mail-Adresse")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Keine gültige E-Mail-Adresse")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Keine gültige E-Mail-Adresse")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Keine gültige E-Mail-Adresse")
		    return false
		 }
		 return true;
	*/
	}

function ValidateForm(vform, ve) {
	
	if(ve == "email"){
		var emailID = document.forms[vform].elements[ve];
		
		
		if ((emailID.value == null) || (emailID.value == "")) {
			alert("Bitte geben Sie Ihre E-Mail-Adresse ein");
			emailID.focus();
			return false;
		}
		if (echeck(emailID.value) == false) {
			emailID.value = "";
			emailID.focus();
			return false;
		}
	}
	else if(ve == "nl_datenschutz"){		
		if (document.getElementById('nl_datenschutz').checked==false) {
			alert("Bitte akzeptieren Sie die Datenschutzbestimmungen!");
			return false;
		}
		
	}
	else if(ve == "emailunsubscribe"){
		var emailID = document.forms[vform].elements[ve];
		
		
		if ((emailID.value == null) || (emailID.value == "")) {
			alert("Bitte geben Sie Ihre E-Mail-Adresse ein");
			emailID.focus();
			return false;
		}
		if (echeck(emailID.value) == false) {
			emailID.value = "";
			emailID.focus();
			return false;
		}		
	}
	
	return true;
}

function ValidateForm2(vform, ve1, ve2) {
	var emailID1 = document.forms[vform].elements[ve1];
	var emailID2 = document.forms[vform].elements[ve2];
	
	if ((emailID1.value == null) || (emailID1.value == "")) {
		alert("Bitte geben Sie eine E-Mail-Adresse ein");
		emailID1.focus();
		return false;
	}
	if (echeck(emailID1.value) == false) {
		emailID1.value = "";
		emailID1.focus();
		return false;
	}

	if ((emailID2.value == null) || (emailID2.value == "")) {
		alert("Bitte geben Sie Ihre E-Mail-Adresse ein");
		emailID2.focus();
		return false;
	}
	if (echeck(emailID2.value) == false) {
		emailID2.value = "";
		emailID2.focus();
		return false;
	}
	return true
}
 
 
/**
	* changed by Buck - Interwall; 08.09.06
	*/
function ValidateForm3( vform ) {

	var total = Array(6);
	var obj = document.forms[vform];
	
	for (var i=1; i<=6; i++) {
		var emailID = obj.elements['email'+i];
		var fnameID = obj.elements['vorname'+i];
		var lnameID = obj.elements['nachname'+i];
		
		if ((emailID.value == null) || (emailID.value == "")) {
			// email leer -> nachfolgendes nicht?
			if (fnameID.value != "") {
				alert("Sie haben bei \"Freund "+ i +"\" die Emailadresse vergessen.");
				return false;
			}
			continue;
		}
		else {
			// email vorhanden: syntax checken!
			if (echeck(emailID.value) == false) {
				//emailID.value = "";
				emailID.focus();
				return false;
			}
			// email schon vorhanden ?
			for (var j=0; j<i; j++) {
				if (total[j] != emailID.value) {
					if ((total[j] == "") || (total[j] == null)) {
						total[j] = emailID.value;
					}
					else {
						continue;
					}
				}
				else {
					alert("Es gibt doppelte E-Mail-Adressen");
					return false;
				}
			}
			
			
			// email vorhanden: andere felder testen!
			if ((fnameID.value == "") || (fnameID.value == null)) {
				alert("Sie haben bei \"Freund "+ i +"\" den Vornamen vergessen.");
				return false;
			}
			if ((lnameID.value == "") || (lnameID.value == null)) {
				alert("Sie haben bei \"Freund "+ i +"\" den Nachnamen vergessen.");
				return false;
			}
		}
	}	
	return true;
 } 

var monate=new Array();
function changeDate(){

// alert(document.forms['HEL'].elements['MONAT'].value);
id=document.forms['HEL'].elements['MONAT'].value;
m = window.document.forms['HEL'].elements['TAG'].options.length;
			
				for(i=0; i < m; i++){ 
					window.document.forms['HEL'].elements['TAG'].options[0]= null;
				}
			
				
			        
				              m = monate[id].length;
				       
				          for(i=0; i <m; i++){ 
					     document.forms['HEL'].elements['TAG'].options[i]=new Option(monate[id][i]);
					     document.forms['HEL'].elements['TAG'].options[i].value=monate[id][i];
				             }
				 





}

function changeDate1( d, m ){

alert(document.forms['HEL'].elements['MONAT'].value);
id=document.forms['HEL'].elements['MONAT'].value;
m = window.document.forms['HEL'].elements['TAG'].options.length;
				for(i=0; i < m; i++){ 
					window.document.forms['HEL'].elements['TAG'].options[0]= null;
				}
			
				
			        
				              m = monate[id].length;
				       
				          for(i=0; i <m; i++){ 
					     document.forms['HEL'].elements['TAG'].options[i]=new Option(monate[id][i]);
					     document.forms['HEL'].elements['TAG'].options[i].value=monate[id][i];
						 if ( monate[id][i] == d )
						 	document.forms['HEL'].elements['TAG'].options[i].selected = true;
				             }
				 
for ( i = 0; i<=4; i++ )
{
	if ( document.forms['HEL'].elements['MONAT'].value == m )
		document.forms['HEL'].elements['MONAT'].options[i].selected = true;
}




}

function updateReturnDate(){
 if(parseInt(document.forms['HEL'].elements['TAG'].value)>0){
	rmon=document.forms['HEL'].elements['MONAT'].value;
	rjahr=document.forms['HEL'].elements['JAHR'].value;
	rtag=parseInt(document.forms['HEL'].elements['TAG'].value)+3;

	test=parseInt(monate[rmon][(monate[rmon].length-1)]);
	if(test-rtag<0){
		rtag=(test-rtag)*-1;

		if(parseInt(rmon)==12){
			rmon=String('01');
			rjahr=String((parseInt(rjahr)+1)/100).substr(2,2);
	
		}
	else{
		rmon=String((parseInt(rmon)+1)/100).substr(2,2);

		
	}
		
		
			}
			rtag=String(parseInt(rtag)/100).substr(2,2);
document.forms['HEL'].elements['MONAT2'].value=rmon;
document.forms['HEL'].elements['TAG2'].value=rtag;
document.forms['HEL'].elements['JAHR2'].value=rjahr;
}
 
}

var prueffelder=new Array();
function checkForm(fname){
	fehler=0;

	for(a=0;a<prueffelder[fname].length;a++){
		if(document.forms[fname].elements[prueffelder[fname][a]][0]){
			abfrage=1;
			for(i=0;i<document.forms[fname].elements[prueffelder[fname][a]].length;i++){
				if(document.forms[fname].elements[prueffelder[fname][a]][i].checked==true)abfrage--;
			}
			fehler=abfrage;
        } else {
			if(document.forms[fname].elements[prueffelder[fname][a]].value=='')fehler++;
		}
	}

	for(a=0;a<prueffelder[fname].length;a++)
		if ( prueffelder[fname][a] == "cb3" )
			if ( document.forms[fname].elements[prueffelder[fname][a]].checked == false )
				fehler = 1;
		
		if(fehler>0){
			alert('Bitte füllen Sie das Formular vollständig aus!');
		} else {
			document.forms[fname].submit();
		}
}

function checkKontact(fname) 
{
	var fehler = 0;
	var mailfault = 0;
	
	for (var a = 0; a < prueffelder[fname].length; a++) {
		if(document.forms[fname].elements[prueffelder[fname][a]].value==""){
			fehler++;
		}		
	}
	
//	if(document.getElementById('nl_airberlin').checked==false && document.getElementById('nl_schottland').checked==false) {
//		fehler++;
//	}
	
	if(!ValidateForm(fname, 'nl_datenschutz')){
		fehler++;
	}
	
	
	if(!ValidateForm(fname, 'email')){
		fehler++;
	}
	else {
		if(fehler > 0) {
			alert('Bitte füllen Sie das Formular vollständig aus!');
		}
		else if((fehler == 0) && (mailfault == 0)) {
			document.forms[fname].submit();
		}
	}


	
	//alert(fehler);
}



function checkKontact2(fname) 
{
	var fehler = 0;
	var mailfault = 0;
	
	for (var a = 0; a < prueffelder[fname].length; a++) {
		if(document.forms[fname].elements[prueffelder[fname][a]].value==""){
			fehler++;
		}		
	}
	
//	if(document.getElementById('nl_airberlin').checked==false && document.getElementById('nl_schottland').checked==false) {
//		fehler++;
//	}
	
	if(!ValidateForm(fname, 'emailunsubscribe')){
		fehler++;
	}
	else {
		if(fehler > 0) {
			alert('Bitte füllen Sie das Formular vollständig aus!');
		}
		else if((fehler == 0) && (mailfault == 0)) {
			document.forms[fname].submit();
		}
	}


	
	//alert(fehler);
}



/**
	* changed by Buck - Interwall; 08.09.06
	*/

function checkForm1(fname) {
	var fehler = 0;
	var abfrage = 0;

	for (var a=0; a<prueffelder[fname].length; a++) {
		if (document.forms[fname].elements[prueffelder[fname][a]][0]) {
			//alert("Jetzt isses passiert!");
			abfrage = 1;
			for (var i=0; i<document.forms[fname].elements[prueffelder[fname][a]].length; i++) {
				if (document.forms[fname].elements[prueffelder[fname][a]][i].checked == true) {
					abfrage--;
				}
			}
			fehler = abfrage;	
		}
		else {
			if (document.forms[fname].elements[prueffelder[fname][a]].value == '') {
				// later on
				fehler++;
			}
		}
	}
	
	for (a=0; a<prueffelder[fname].length; a++) {
		if (prueffelder[fname][a] == "cb3") 
			if (document.forms[fname].elements[prueffelder[fname][a]].checked == false) 
				fehler = 1;		
	}
			
			if (fehler > 0) {
				alert('Bitte füllen Sie das Formular vollständig aus!');
			}
			else {
				if (ValidateForm(fname, 'email')) {
					document.forms[fname].submit();
				}			
			}
}


///////////////////////////////////////////////////////////
// checkDate(string)
// string => TT.MM.YYYY
// auf ein gültiges Datum überprüfen
// gibt true oder false zurück
function checkDate(string)
{
    if(!string) return false;
    string += '';

    string = string.replace(/[^0-9^\.]/g, '');

    var split = string.split(".");
    var day = parseInt(split[0], 10);
    var month = parseInt(split[1] || 0, 10);
    var year = parseInt(split[2] || 0, 10);

    if(isNaN(year)) year = getFullYear();

    var check = new Date(year, month - 1, day);
    var day2 = check.getDate();
    var year2 = check.getFullYear();
    var month2 = check.getMonth() + 1;

    if ( year2 == year && month == month2 && day == day2 ) return true;
    return false;
}

function checkEmail(email) {
  var proto  = "(mailto:)?";
  var usr    = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
  var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,6}";
  var regex  = "^" + proto + "?" + usr + "\@" + domain + "$";

  var rgx    = new RegExp(regex);
  return rgx.exec(email) ? true : false;
}

function checkRegistration(fname) {
	var ENTRY_FIRST_NAME_MIN_LENGTH = 2;
	var ENTRY_LAST_NAME_MIN_LENGTH = 2;
	var ENTRY_EMAIL_ADDRESS_MIN_LENGTH = 6;
	var ENTRY_STREET_ADDRESS_MIN_LENGTH = 5;
	var ENTRY_STREET_NR_MIN_LENGTH = 1;
	var ENTRY_POSTCODE_MIN_LENGTH = 4;
	var ENTRY_CITY_MIN_LENGTH = 3;
	var ENTRY_GENDER_ERROR = 'Bitte wählen Sie eine Anrede.';
	var ENTRY_FIRST_NAME_ERROR = 'Der Vorname sollte mindestens ' + ENTRY_FIRST_NAME_MIN_LENGTH + ' Zeichen enthalten.';
	var ENTRY_LAST_NAME_ERROR = 'Der Name sollte mindestens ' + ENTRY_LAST_NAME_MIN_LENGTH + ' Zeichen enthalten.';
	var ENTRY_DATE_OF_BIRTH_ERROR = 'Bitte geben Sie Ihr korrektes Geburtsdatum an.';
	var ENTRY_DATE_OF_BIRTH_NOT_18_ERROR = 'Sie müssen über 18 Jahre alt sein um am Gewinnspiel teilnehmen zu dürfen.';
	var ENTRY_EMAIL_ADDRESS_ERROR = 'Die E-Mail Adresse sollte mindestens ' + ENTRY_EMAIL_ADDRESS_MIN_LENGTH + ' Zeichen enthalten.';
	var ENTRY_EMAIL_ADDRESS_CHECK_ERROR = 'Die E-Mail Adresse scheint nicht gültig zu sein - bitte korrigieren.';
	var ENTRY_EMAIL_ADDRESS_ERROR_EXISTS = 'Unter dieser E-Mail-Adresse liegt uns bereits eine Registrierung vor. Sie haben sich bereits registriert.';
	var ENTRY_STREET_ADDRESS_ERROR = 'Der Straßenname sollte mindestens ' + ENTRY_STREET_ADDRESS_MIN_LENGTH + ' Zeichen enthalten.';
	var ENTRY_STREET_NR_ERROR = 'Die Hausnummer sollte mindestens ' + ENTRY_STREET_NR_MIN_LENGTH + ' Zeichen enthalten.';
	var ENTRY_POST_CODE_ERROR = 'Die Postleitzahl sollte mindestens ' + ENTRY_POSTCODE_MIN_LENGTH + ' Zahlen enthalten.';
	var ENTRY_CITY_ERROR = 'Die Ort sollte mindestens ' + ENTRY_CITY_MIN_LENGTH + ' Zeichen enthalten.';
	var ENTRY_CONDITIONS_ERROR = 'Sie müssen den Teilnahmebedingungen zustimmen.';
	
	//var gender = document.forms[fname].elements["title"].value;    
	var firstname = document.forms[fname].elements["firstname"].value;
	var lastname = document.forms[fname].elements["lastname"].value;
	var dob_t = document.forms[fname].elements["zz"].value;
	var dob_m = document.forms[fname].elements["mm"].value;
	var dob_y = document.forms[fname].elements["yyyy"].value;
	var email_address = document.forms[fname].elements["email"].value;
	var street = document.forms[fname].elements["street"].value;
	var number = document.forms[fname].elements["number"].value;
	var zipcode = document.forms[fname].elements["zipcode"].value;
	var city = document.forms[fname].elements["city"].value;	
	    
    
	var error = false;
	
	
	
	if ( (document.forms[fname].elements["title"][0].checked == false) && (document.forms[fname].elements["title"][1].checked == false) ) {
		error = true;
		
		alert(ENTRY_GENDER_ERROR);
	}
	
	
	if (firstname.length < ENTRY_FIRST_NAME_MIN_LENGTH && error == false) {
		error = true;
		
		alert(ENTRY_FIRST_NAME_ERROR);
	}
	
	if (lastname.length < ENTRY_LAST_NAME_MIN_LENGTH && error == false) {
		error = true;
		
		alert(ENTRY_LAST_NAME_ERROR);
	}
	
	/**
	 * Geburtsdatum prüfen ob es ein gültiges Datum ist und ob der Nutzer über 18 ist.
	 * Wichtig dazu ist der Aufruf der folgenden Funktion checkDate. Die Funktion dafür steht weiter oben und prüft ein Datum auf Gültigkeit.
	 */
  
	if (error == false) {
	    var checkGebDatum = checkDate(dob_t + '.' + dob_m + '.' + dob_y);
		if (checkGebDatum == false) {
			error = true;
			
			alert(ENTRY_DATE_OF_BIRTH_ERROR);
		} else {
			// Geburtsdatum erzeugen
		    var gdat = new Date();
		    gdat.setYear(dob_y);
		    gdat.setMonth(dob_m);
		    gdat.setDate(dob_t);
		  
		    // heutiges Datum erzeugen
		    var heute = new Date();
		    
		    // Alter berechnen
		    var alter = heute.getFullYear() - gdat.getFullYear();
		    
		    // wenn Monat noch nicht erreicht -> 1 Jahr abziehen
		    if (heute.getMonth() < gdat.getMonth())
				alter = alter - 1;
		    // wenn Tag noch nicht erreicht -> 1 Jahr abziehen
		    else if (heute.getMonth() == gdat.getMonth() && heute.getDate() < gdat.getDate())
				alter = alter -1; 
				
			if (alter < 18) {
				error = true;
				
				alert(ENTRY_DATE_OF_BIRTH_NOT_18_ERROR);
			}
		}
	}
	
	if (street.length < ENTRY_STREET_ADDRESS_MIN_LENGTH && error == false) {
		error = true;
		
		alert(ENTRY_STREET_ADDRESS_ERROR);
	}
	
	if (number.length < ENTRY_STREET_NR_MIN_LENGTH && error == false) {
		error = true;
		
		alert(ENTRY_STREET_NR_ERROR);
	}
	
	if (zipcode.length < ENTRY_POSTCODE_MIN_LENGTH && error == false) {
		error = true;
		
		alert(ENTRY_POST_CODE_ERROR);
	}
	
	if (city.length < ENTRY_CITY_MIN_LENGTH && error == false) {
		error = true;
		
		alert(ENTRY_CITY_ERROR);
	}
	
	if (error == false) {
		if (email_address.length < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
			error = true;
			
			alert(ENTRY_EMAIL_ADDRESS_ERROR);
		} else if (checkEmail(email_address) == false) {
			error = true;
			
			alert(ENTRY_EMAIL_ADDRESS_CHECK_ERROR);
		}
	}
	
	if (document.forms[fname].elements["cb3"].checked == false && error == false) {
		error = true;
		
		alert(ENTRY_CONDITIONS_ERROR);
	}
	
	
	
	if (error == false) {
		document.forms[fname].submit();
	}
	
	
}


function checkForm2(fname) {
	fehler = 0;

	for(a=0; a<prueffelder[fname].length; a++) {
		if (document.forms[fname].elements[prueffelder[fname][a]][0]) {
			abfrage = 1;
			for (i=0; i<document.forms[fname].elements[prueffelder[fname][a]].length; i++) {
				if(document.forms[fname].elements[prueffelder[fname][a]][i].checked == true)
					abfrage--;		
			}
			fehler = abfrage;			
		}
    else {
			if(document.forms[fname].elements[prueffelder[fname][a]].value == '')
				fehler++;
		}
	}

	for(a=0; a<prueffelder[fname].length; a++)
		if (prueffelder[fname][a] == "cb3" )
			if (document.forms[fname].elements[prueffelder[fname][a]].checked == false )
				fehler = 1;
			
	  if (fehler > 0) {
			alert('Bitte füllen Sie das Formular vollständig aus!');
	  }
	  else {
			if (ValidateForm2( fname, 'email', 'emailE') )        
	      document.forms[fname].submit();		
		}
	}


function checkForm3(fname){
	fehler=0;

	for(a=0;a<prueffelder[fname].length;a++){
               if(document.forms[fname].elements[prueffelder[fname][a]][0]){
               	abfrage=1;
               	for(i=0;i<document.forms[fname].elements[prueffelder[fname][a]].length;i++){
               		if(document.forms[fname].elements[prueffelder[fname][a]][i].checked==true)abfrage--;
       
               	}
               	fehler=abfrage;
               	
        }
        else{
               if(document.forms[fname].elements[prueffelder[fname][a]].value=='')fehler++;
               }
}

for(a=0;a<prueffelder[fname].length;a++)
	if ( prueffelder[fname][a] == "cb3" )
		if ( document.forms[fname].elements[prueffelder[fname][a]].checked == false )
			fehler = 1;
		
              if(fehler>0){
              	alert('Die Angaben bei \"Freund 1\" sind unvollständig.');
                }
              else{
				if ( ValidateForm3( fname ) )        
	                document.forms[fname].submit();
    

		
	}




}

function changeDate1(){

	id=document.forms['HEL'].elements['MONAT'].value;
	m = window.document.forms['HEL'].elements['TAG'].options.length;
				
	for(i=0; i < m; i++){ 
		window.document.forms['HEL'].elements['TAG'].options[0]= null;
	}
				
	m = monate[id].length;
					       
	for(i=0; i <m; i++){ 
		document.forms['HEL'].elements['TAG'].options[i]=new Option(monate[id][i]);
		document.forms['HEL'].elements['TAG'].options[i].value=monate[id][i];
	} 

}

function changeDate2(){

	id=document.forms['HEL'].elements['MONAT2'].value;
	m = window.document.forms['HEL'].elements['TAG2'].options.length;
				
	for(i=0; i < m; i++){ 
		window.document.forms['HEL'].elements['TAG2'].options[0]= null;
	}
				
	m = monate[id].length;
					       
	for(i=0; i <m; i++){ 
		document.forms['HEL'].elements['TAG2'].options[i]=new Option(monate[id][i]);
		document.forms['HEL'].elements['TAG2'].options[i].value=monate[id][i];
	} 

}

function initPage() {
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}		
	contentHeight = document.getElementById("mainPage").offsetHeight;
	pageHeight = contentHeight + Math.floor(y*0.05);
	
	//alert('Content: ' + contentHeight + ' und Seite: ' + pageHeight);
	
	var oElement, oStyle;
	if (document.getElementById && (oElement = document.getElementById("schleier")) && (oStyle = oElement.style)) {
	  	if (contentHeight >= y) {
			oStyle.height = (pageHeight +"px");
		}
		else {
			oStyle.height = (y + "px");
		}
	}
	
	//document.getElementById("schleier").style.width = (x +"px");
	//alert("Seitenhöhe: " + y + " - Höhe d. Inhalts: " + contentHeight);
}

function BilderVorladen() {
    document.Vorladen = new Array();

    if(document.images) {
        for(var i = 0; i < BilderVorladen.arguments.length; i++) {
            document.Vorladen[i] = new Image();
            document.Vorladen[i].src = BilderVorladen.arguments[i];
        }
    }
}
