﻿function regexmail(mail) 
{
	var regexist = false;
	var res = false;
	if(typeof(RegExp) == 'function') 
	{
		var testregex = new RegExp('abc');
			if(testregex.test('abc') == true)
			{
				regexist = true;
			}
		}
	if(regexist == true) 
	{
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$');
		res = (reg.test(mail));
		} 
	else 
		{
			res = (mail.search('@') >= 1 && mail.lastIndexOf('.') > mail.search('@') && mail.lastIndexOf('.') >= mail.length-5)
		}
		return(res);
}	

var uniqueArray = new Array();
function addToUniqueArray(uniqueArray, value){
	//adds value to given array if value does not exist
	var tmpBool = false;
	for(var i = 0; i < uniqueArray.length; i++){
		tmpBool = tmpBool | (uniqueArray[i] == value);
	}
	if(!tmpBool){
		uniqueArray.push(value);
	}
	return uniqueArray;
}	

function validate()
{
	//Fehlermeldungen	
	var ms_empty ="Please complete this field!";
	var ms_email ="Please enter a valid e-mail adress!";	
	if(document.getElementById("form_lang") && document.getElementById("form_lang").value == "de")
	{
		var ms_empty ="Bitte f&uuml;llen Sie dieses Feld aus!";
		var ms_email ="Bitte geben Sie eine korrekte Email-Adresse ein!";	
	}
	for(i=0; i < document.getElementById("myform").elements.length; i++)
	{
		var field				= document.getElementById("myform").elements[i];
		var field_id    = document.getElementById("myform").elements[i].id;
		var field_value = document.getElementById("myform").elements[i].value;
		var field_name	= document.getElementById("myform").elements[i].name;
		var status;

		var required = field_id.search(/_r$/); //Pflichfelder id="feldname_r"	
		// Empty check 
		if(required != -1)
		{
			if(field_value == "" || field_value.search(/\.\.\.\./) != -1)
			{
				document.getElementById(field_name).innerHTML = ms_empty;
				document.getElementById(field_name).style.display = 'block';
				status = "error";
			}
			else
			{
				document.getElementById(field_name).style.display = 'none';
			}	
		}		
		//Radiobutton value ermitteln	not required			
		if(field.checked == true)
		{
			document.getElementById(field_id).value = field_value; 
		}	
		//Radiobutton required check 
		if(field.type == "radio" && field_id.slice(field.id.length-3) == "_rq")
		{
			uniqueArray = addToUniqueArray(uniqueArray,field_name);
		}		
		//Email check
		if(field_id.search(/Email/) != -1){
			if (!regexmail(field_value) && field_value != "")
			{		
				document.getElementById(field_name).style.display = "block";
				document.getElementById(field_name).innerHTML = ms_email;
				status = "error";		
			}	
		}
	}	
	//separat Radio check
	for(var a=0; a < uniqueArray.length; a++){
		var tmpBool = false;
		for(i=0; i < document.getElementsByName(uniqueArray[a]).length; i++){
			tmpBool = tmpBool | document.getElementsByName(uniqueArray[a])[i].checked;
		}		
		if(tmpBool){
			document.getElementById(uniqueArray[a]).style.display = 'none';
		}else{
			document.getElementById(uniqueArray[a]).innerHTML = ms_empty;
			document.getElementById(uniqueArray[a]).style.display = 'block';
			status = "error";
		}
	}	
	if(status != "error")
	{		
		document.getElementById("myform").submit();
	}	
}