//
// current ver. 1.02
// 
// ChangeLog
// 03/10/14 -=- ver 1.02
// added checkboc Check for limiting
//
// 03/08/06 -=- ver 1.01
// added disable submit and 
// moved submit from button to form tag
//
// 03/07/16 -=- ver 1.00
// in combination with form class removed neccessary for field description, 
// because name always is part of input, check for name or value added
//
 
function checkForm(whichForm) {
  var language 		 = "";
  var numberForms    = document.forms.length;    
  var which          = new Array(numberForms);	
  var isMandatory	 = /\^$/;
  var isMailValid    = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
  var isArray = /\[\]/;

  switch(language) {
	case "DE" :
	var msg = " ist ein Pflichtfeld";
	var mailMsg = "Keine gültige E-Mail Adresse";
	break;
	
	case "EN" :
	var msg = " is mandatory!";
	var mailMsg	= "Not a valid e-mail address";
	break;

	default :
	var msg = " ist ein Pflichtfeld";
	var mailMsg = "Keine gültige E-Mail Adresse";
	break
	}
 
   for(j = 0; j < whichForm.elements.length; j++) {
            
		var matched = isMandatory.test(whichForm.elements[j].name);
				
		if(matched == true && whichForm.elements[j].value == "" && whichForm.elements[j].disabled == false) {
			fieldDescription = whichForm.elements[j].name.replace(isMandatory, "");
			alert(fieldDescription + msg);
			whichForm.elements[j].focus();
			return false;
			}
		
            if(matched == true && whichForm.elements[j].type == "radio" && whichForm.elements[j].disabled == false && groupCheck(document.getElementsByName(whichForm.elements[j].name)) == false) {
                  fieldDescription = whichForm.elements[j].name.replace(isMandatory, "");
                  fieldDescription = fieldDescription.replace(isArray, "");
			alert(fieldDescription + msg); 
                  return false;           
            }
            	
		if(matched == true && whichForm.elements[j].name == "E-Mail (e-mail)^" && whichForm.elements[j].disabled == false) {
			var validEMail = isMailValid.test(whichForm.elements[j].value);
			
			if(!validEMail)	{
				alert(mailMsg)
				whichForm.elements[j].focus();
				return false;							 
				}		
		}
  }	 
  disableSubmit();  
  return true;	 		 						 			      
}


function groupCheck(group) {
      
      var checked = false;
      
      for(i = 0; i < group.length; i++) {
            if(group[i].checked == true) checked = true;
      }
      
      return checked;      
}

function disableSubmit() {
	for(j = 0; j < document.forms.length; j++) {
		for(i = 0; i<document.forms[j].length; i++) {
			if(document.forms[j].elements[i].type == "submit" || document.forms[j].elements[i].type == "button" || document.forms[j].elements[i].type == "reset") {
				document.forms[j].elements[i].disabled = true;
			} 
		}
	}
}


function checkMultiBox(checkbox, name, maxCheck) {
	count = 0;
	
	for(j = 0; j < document.forms.length; j++) {
		for(i = 0; i<document.forms[j].length; i++) {			
			if(document.forms[j].elements[i].name == name && document.forms[j].elements[i].checked == true) {
			count++;
			} 
		}
	}
	
	if(count > 5) {
		checkbox.checked = false;
		alert("Sie dürfen nur 5 Branchen wählen");
	}	
}

function enableInput(input, value, toEnable) {
	x = MM_findObj(toEnable);
	if(input.options[value].selected == true) {		
		x.disabled = false;
	} else {
		x.selectedIndex = 0;
		x.disabled = true;
	}
}

function switchInput(toEnable) {
  x = MM_findObj(toEnable);
	if(x.disabled == true) {
	  x.disabled = false;
	} else {
	  x.disabled = true;
	}
}

function enableArray(input, value, toEnable) {
	x = MM_findObj(toEnable);	
	for(i = 0; i < x.length; i++) {
		if(input.options[value].selected == true) {		
			x[i].disabled = false;
		} else {
			x[i].disabled = true;
		}	
	}
	if(input.options[value].selected == true) {
		switchVisible('end-use','visible');
	} else {
		switchVisible('end-use','hidden');
	}
	
}
