/*
-----------------------------------------------
Default form javascript -> Form check 
Author:   karakas
------------------------------------------------------------------------ */
// Global variables
var isCSS, isOK, isVALUE, isEMAIL, missingMsgId, mailMsgId;

function checkForm(objForm) {	
	isCSS = (document.body && document.body.style) ? true : false;
	isOK = false;
	for(i=0; i<objForm.elements.length; i++)
	{	
		elem = objForm.elements[i];
		if(isCSS)
		{
			if(elem.className == "email"){
				if(!isEMailAddr(elem))break;
			}
			if(elem.className == "required"){
				if(!checkElem(elem))break;
			}
		}else{
			if(elem.name == "response"){
				if(!checkElem(objForm, elem))break;					
			}
			if(elem.name == "email"){
				if(!isEMailAddr(elem))break;
			}
		}
	}
	
	if (isOK) {
        objForm.submit();
    }
}	

function checkElem(elem) {
	if(elem.type == "select-one"){
		return(isChosen(elem));
	}
	if(elem.type == "radio"){
	
		return(isValidRadio(elem));
	}
}

// validates that the entry is formatted as an e-mail address
function isEMailAddr(elem) {
	var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
		if(isCSS){
        	elem.parentNode.className = "error";	
		}
		if(lang == "fr"){
			alert("Assurez-vous que vous avez bien rempli une adresse email valide(email@email.be). Si le problème persiste, envoyez-nous un email (info@buildonus.be) ou appelez-nous au  02 558 97 50.");
		}else{
			alert("Controleer of u een geldig e-mail adres invulde (email@email.be) hebt aangeduid. Mocht het probleem zich opnieuw voordoen, zend dan een e-mail naar info@buildonus.be of bel ons op nr. 02 558 97 50.");
		}
	   isOK = false;
	   return false;
	}else{
		elem.parentNode.className = "";
		isOK = true;
		return true;
	}
}

// validate that the user made a selection other than default
function isChosen(select) {
    if (select.selectedIndex == 0) {
		if(isCSS){
        	select.className = "error";
		}
		if(lang == "fr"){
			alert("Assurez-vous que vous avez bien sélectionné vos préférences de date/heure. Si le problème persiste, envoyez-nous un email (info@buildonus.be) ou appelez-nous au  02 558 97 50.");
        }else{
			alert("Controleer of u voorkeuren van dag/uur hebt aangeduid. Mocht het probleem zich opnieuw voordoen, zend dan een e-mail naar info@buildonus.be of bel ons op nr. 02 558 97 50.");
		}
	    isOK = false;
		return false;
    }
	select.className = "";
	isOK = true;
	return true;
	
}

// validate that the user has checked one of the radio buttons
function isValidRadio(radio) {
	radio = document.subscribe_form[radio.name];
	 for (var i = 0; i < radio.length; i++) {
		if (radio[i].checked){
			if(radio[i].value == "yes" && radio[i].name =="response_workshop"){
				if(!isChosen(document.subscribe_form.date_1))return false;
				if(!isChosen(document.subscribe_form.hour_1))return false;
				if(!isChosen(document.subscribe_form.date_2))return false;
				if(!isChosen(document.subscribe_form.hour_2))return false;
				if(!isChosen(document.subscribe_form.date_3))return false;
				if(!isChosen(document.subscribe_form.hour_3))return false;
			}	
			isOK = true;
			return true;
		}
	}
	if(lang == "fr"){
		alert("Assurez-vous que vous avez bien sélectionné votre réponse “oui” ou “non”. Si le problème persiste, envoyez-nous un email (info@buildonus.be) ou appelez-nous au  02 558 97 50.");
    }else{
		alert("Controleer of u Ja of Neen hebt aangeduid. Mocht het probleem zich opnieuw voordoen, zend dan een e-mail naar info@buildonus.be of bel ons op nr. 02 558 97 50.");
	}
    isOK = false;
	//return false;
}


function toggle(id){
	document.getElementById(["rd_"+id]).checked = true;
	isCSS = (document.body && document.body.style) ? true : false;
	if(isCSS){
		if(id == "yes"){
			document.getElementById("yes").className = "on";
			document.getElementById("no").className = "";
		}else{
			document.getElementById("no").className = "on";
			document.getElementById("yes").className = "";
		}
	}
}

function toggle2(id1,id2){
	document.getElementById(["rd_"+id1]).checked = true;
	isCSS = (document.body && document.body.style) ? true : false;
	if(isCSS){
		document.getElementById(id1).className = "on";
		document.getElementById(id2).className = "";
	}

}

function initForm(){
	objForm = document.subscribe_form;
	nElements = objForm.elements.length;
	for(i=0; i<nElements; i++)
	{
		elem = objForm.elements[i];
		if(elem.type == "radio"){
			if(elem.checked){
				elem.parentNode.className = "on";
			}else{
				elem.parentNode.className = "";
			}
		}
	}
}