function showDiv(id) {
	document.getElementById(id).style.visibility = "visible";
	document.getElementById(id).style.display = "block";
}

function hideDiv(id) {
	document.getElementById(id).style.visibility = "hidden";
	document.getElementById(id).style.display = "none";
}


function trim(str) {
	if(typeof(str)=="string") {
		return str.replace(/^\s+|\s+$/g, "");
	 } else {
		 return str;
	 }
}


function isInteger(s) {
	var i;
    for(i = 0; i < s.length; i++) {
		// Check that current character is number.
        var c = s.charAt(i);
		
        if (((c < "0") || (c > "9"))) return false;
    }
	
    // All characters are numbers.
    return true;
}


function isText(str) {
	var text = new RegExp('^[\.\a-zäüöÄÜÖßA-Z\-\ ]+$', 'i');
	
	if (text.test(str) === false) {
		return false;
	}
	
	return true;
}


// date validator
function daysInFebruary(year) {
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
	}
	
	return this;
}


function checkedBedingungen() {
	var form = document.forms["gs"];
	
	form.Bedingungen.checked = true;
	
	formcheck('', '');
}


function go() {
	c = formcheck('', '');
	
	if (c == true) {
		document.gs.submit();
	}
}


function formcheck(mandanten_abkz, title) { 
	var form = document.forms["gs"]; 
	
	// email regeln	
/*
var reg = new RegExp (
		'^([a-zA-Z0-9\\-\\.\\_]+)'+	//Name
		'(\\@)'+	//@-Zeichen
		'([a-z0-9\\-\\.\\_]+){2}'+	//Domain
		'(\\.)'+	//Punkt
		'([a-z]{2,4})$'	//TLD
	);
*/	
	var reg = new RegExp (
		'^([a-zA-Z0-9\-\.\_\!\#\$\%\&\*\+\-\/\=\?\^\`\{\|\}\~]+)'+	//Name
		'(\@)'+	//@-Zeichen
		'([a-z0-9\-\.]+){2}'+	//Domain
		'(\.)'+	//Punkt
		'([a-z]{2,4})$'	//TLD
	);
  	
	var error = ""; 
	
	
	if(trim(form.Vorname.value).length < 3) {
		error += " - Vorname<br />";
		form.Vorname.style.borderColor = "#FE0002";
	} else if (isText(form.Vorname.value) == false) {
		error += " - Vorname falsch<br />";
		form.Vorname.style.borderColor = "#FE0002";
	}
	
	
	if(trim(form.Nachname.value).length < 3) {
		error += " - Nachname<br />";
		form.Nachname.style.borderColor = "#FE0002";
	} else if (isText(form.Nachname.value) == false) {
		error += " - Nachname falsch<br />";
		form.Nachname.style.borderColor = "#FE0002";
	}
	
	
	if(trim(form.Email.value) == '') {
		error += " - E-Mail<br />";
		form.Email.style.borderColor = "#FE0002";
	} else if (reg.test(form.Email.value) == false) {
		error += " - E-Mail ist falsch<br />";
		form.Email.style.borderColor = "#FE0002";
	}
	
	
	if(form.Bedingungen && !form.Bedingungen.checked) { 
		error += "- Einverständniserklärung";
	}
	
	
	if(error != "") {
		errormsg = "<div class=\"x\"><a href=\"javascript:hideDiv('message');\">X</a></div>";
		
		if(!form.Bedingungen.checked) {
			errormsg += "<p style=\"text-align:center;margin-top:0.5em;\"><b>Bitte akzeptieren Sie <a href=\"content/"+mandanten_abkz+"/datenschutz.html\" target=\"_blank\" onclick=\"popup(this.href, 'Datenschutz', 480, 600); return false\">Datenschutz</a> und <a href=\"content/"+mandanten_abkz+"/agb.php?gs_title="+title+"\" target=\"_blank\" onclick=\"popup(this.href, 'AGB', 480, 600); return false\">AGB</a></b></p>";
			errormsg += "<p class=\"acceppt\"><a href =\"#\" onclick=(checkedBedingungen())>akzeptieren</a></p>";
		} else {
			errormsg += "<p style=\"margin-top:0.5em;\"><b>Bitte f&uuml;llen Sie diese Felder aus:</b></p>"; 
			errormsg += "<p  style=\"margin-bottom:0.5em;\">"+error+"</p>";
		}
		
		nachricht = document.getElementById('message');
		showDiv('message');
		nachricht.innerHTML = errormsg;
	} else {
		form.submit();
	}
}



function formcheckSeite2() {
	var daysInMonth = DaysArray(12);
	var form = document.forms["gs"]; 
  	var error = ""; 
	
	var datum = new Date();
	var jahr_heute = datum.getFullYear()-18;
	
	var geb_tag = form.Geb_Tag.value;
	var geb_monat = form.Geb_Monat.value;
	var geb_jahr = form.Geb_Jahr.value;
	
	
	if(trim(form.Strasse.value).length < 3) {
		error += " - Strasse<br />";
		form.Strasse.style.borderColor = "#FE0002";
	} else if (isText(form.Strasse.value) == false) {
		error += " - Strasse nicht korrekt<br />";
		form.Strasse.style.borderColor = "#FE0002";
	}
	
	if(trim(form.Hausnr.value).length < 1) {
		error += " - Hausnr<br />";
		form.Hausnr.style.borderColor = "#FE0002";
	}
	
	if(trim(form.Plz.value).length == '') {
		error += " - PLZ<br />";
		form.Plz.style.borderColor = "#FE0002";
	} else if (trim(form.Land.value == 'DE')) {
		if(trim(form.Plz.value).length != 5 || isInteger(form.Plz.value) == false) {
			error += " - PLZ nicht korrekt<br />";
			form.Plz.style.borderColor = "#FE0002";
		}
	} else if (trim(form.Land.value == 'AT') || trim(form.Land.value == 'CH')) {
		if(trim(form.Plz.value).length != 4 || isInteger(form.Plz.value) == false) {
			error += " - PLZ nicht korrekt<br />";
			form.Plz.style.borderColor = "#FE0002";
		}
	}
	
	if(trim(form.Vorwahl.value).length < 3) {
		error += " - Vorwahl<br />";
		form.Vorwahl.style.borderColor = "#FE0002";
	} else if (isInteger(form.Vorwahl.value) == false) {
		error += " - Vorwahl nicht korrekt<br />";
		form.Vorwahl.style.borderColor = "#FE0002";
	}
	
	if(trim(form.Rufnummer.value).length < 4) {
		error += " - Rufnummer<br />";
		form.Rufnummer.style.borderColor = "#FE0002";
	} else if (isInteger(form.Rufnummer.value) == false) {
		error += " - Rufnummer nicht korrekt<br />";
		form.Rufnummer.style.borderColor = "#FE0002";
	}
	
	if(trim(form.Ort.value).length < 3) {
		error += " - Ort<br />";
		form.Ort.style.borderColor = "#FE0002";
	} else if (isText(form.Ort.value) == false) {
		error += " - Ort nicht korrekt<br />";
		form.Ort.style.borderColor = "#FE0002";
	}
	
	// geburtstag
	if(trim(geb_tag) == '' && trim(geb_monat) == '' && trim(geb_jahr) == '') {
		error += " - Geburtsdatum<br />";
		form.Geb_Tag.style.borderColor = "#FE0002";
		form.Geb_Monat.style.borderColor = "#FE0002";
		form.Geb_Jahr.style.borderColor = "#FE0002";
	} else if(trim(geb_tag).length < 1 || isNaN(form.Geb_Tag.value) || trim(geb_monat).length < 1 || isNaN(geb_monat) || trim(geb_jahr).length < 4 || isNaN(geb_jahr)) {
		error += " - Geburtsdatum nicht korrekt<br />";
		form.Geb_Tag.style.borderColor = "#FE0002";
		form.Geb_Monat.style.borderColor = "#FE0002";
		form.Geb_Jahr.style.borderColor = "#FE0002";
	} else if (geb_monat == 2 && geb_tag > daysInFebruary(geb_jahr) || geb_tag > daysInMonth[geb_monat] || geb_jahr < '1900') {
		error += " - Geburtsdatum nicht korrekt<br />";
		form.Geb_Tag.style.borderColor = "#FE0002";
		form.Geb_Monat.style.borderColor = "#FE0002";
		form.Geb_Jahr.style.borderColor = "#FE0002";
	} else if (geb_tag > 31 || geb_monat > 12 || geb_jahr > jahr_heute) {
		error += " - Teilnahme erst ab 18 Jahren m&ouml;glicht!<br />";
		form.Geb_Tag.style.borderColor = "#FE0002";
		form.Geb_Monat.style.borderColor = "#FE0002";
		form.Geb_Jahr.style.borderColor = "#FE0002";
	}
	
	
	if(error != "") {
		errormsg = "<div class=\"x\"><a href=\"javascript:hideDiv('message');\">X</a></div>";
		errormsg += "<p style=\"margin-top:0.5em;\"><b>Bitte f&uuml;llen Sie diese Felder aus:</b></p>"; 
		errormsg += "<p  style=\"margin-bottom:0.5em;\">"+error+"</p>";
		
		nachricht = document.getElementById('message');
		showDiv('message');
		nachricht.innerHTML = errormsg;
	} else {
		form.submit();
	}
}



function auswahl(id, id2) {
	// submit button einblenden
	if(document.getElementById(id).checked) {
		showDiv(id2);
	} else {
		hideDiv(id2);
	}
	
	if(document.getElementById('beschwerde').checked) {
		document.getElementById('nachricht_info').style.visibility = "visible";
		document.getElementById('nachricht_info').style.display = "block";
	} 
	else if(document.getElementById('kontakt').checked) {
		document.getElementById('nachricht_info').style.visibility = "visible";
		document.getElementById('nachricht_info').style.display = "block";
	}
	else {
		document.getElementById('nachricht_info').style.visibility = "hidden";
		document.getElementById('nachricht_info').style.display = "none";
	}
}

function kontakt_check() { 
	var form = document.forms["gs"];
	error = "";
	
	// Radio-Gruppe durchlaufen
	var is_checked = "false";
	
	for(var i=0; i < form.Botschaft.length; i++){
		// Falls der aktuelle Radiobutton gesetzt ist
		if(form.Botschaft[i].checked == true) {
			is_checked = "true";
			break;
		}
	}
	
	// email regeln	
	reg = new RegExp (
		'^([a-zA-Z0-9\\-\\.\\_]+)'+	//Name
		'(\\@)'+	//@-Zeichen
		'([a-zA-Z0-9\\-\\.]+)'+	//Domain
		'(\\.)'+	//Punkt
		'([a-zA-Z]{2,4})$'	//TLD
	);
	
	if (trim(form.Vorname.value).length < 3) 
	{ error += " - Name<br />"; } 
	
	
	if(reg.test(form.Email.value) == false)
	{ error += " - Email-Adresse<br />"; }
	
	if(is_checked == "false")
	{ error += " - Bitte wählen Sie Ihr Anliegen<br />"; }
	
	// nachricht beim beschwerde und kontakt ist pflicht
	if(form.Botschaft[1].checked == true || form.Botschaft[2].checked == true) {
		if(form.Nachricht.value == '')
		{ error += " - Sie haben keine Nachricht eingegeben<br />"; }
	}
	

	if (error != '') {
		errormsg = '<div class="x"><a href="javascript:hideDiv(\'message\');">X</a></div>';
		errormsg += '<p>Bitte f&uuml;llen Sie diese Felder aus:</p>'; 
		errormsg += '<p>'+error+'</p>';
		
		infotext = document.getElementById('message');
		showDiv('message');
		infotext.innerHTML = errormsg;

		return false;
	} else {
		form.submit();
	}
	
}


function popup(adresse, beschreibung, W, H, center) {
	var left, top, desc, param;
	
	if(center == 1) {
		left	=	(screen.width)	?	(screen.width-W)/2:100;
		top		=	(screen.height)	?	(screen.height-H)/2:100;
	}
	else { 
		left 	= 400;
		top		= 50;
	}

	desc = "'" + beschreibung + "'";

	param += "'dependent=yes, location=no, menubar=0, scrollbars=yes, status=no, toolbar=no, resizable=no, top=" + top + ", left=" + left + ", width=" 	+ W + ", height=" + H +	"'";
	
	fenster = window.open (adresse, beschreibung, param);
	fenster.focus;
}
function doform(color) {
	document.gs.iphonecolor.value = color;
}
function showWin() {
	settings="width=700, height=500, status=no, scrollbars=no, menubar=no, toolbar=no";
	//settings="width=500,height=500,top=10000,left=10000,scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no,dependent=no";
	
	win=window.open("http://www.srvgs.de/coreg_angebote/templates/popunder/index.html", "TEST", settings);
	//win.location="http://freeletter.de/2009/PopUnder/PU.html";
	
	win.blur(); 
	//window.focus();
}