function addOnLoadEvent(onloadToAdd){
	var prevOnLoad = window.onload;	
	if(typeof window.onload != 'function'){
		window.onload = onloadToAdd;
	} else {
		window.onload = function(){
		if(prevOnLoad){
			prevOnLoad();
		}
		onloadToAdd();
		}
	}
}

function validateForm(whichform){
	var error_msg = "";
	for (var i=0; i<whichform.elements.length; i++)	{	
		var element = whichform.elements[i];
		if (element.className.indexOf("required") != -1){

			if (!isFilled(element)) {
				error_msg = error_msg+"Please fill in the "+element.title+" field.\n";
			}

			if (element.className.indexOf("email") != -1) {
				if(!isEmail(element)) {
					error_msg = error_msg+"The "+element.title+" field must be a valid email address.\n";
				}
			}
		}
	
		if (element.className.indexOf("check_req") != -1){
			if (element.checked!=true) {
				error_msg = error_msg+"You must accept to receive Club Med's e-newsletter before submitting your request.\n";
			}
		}
	
		if (element.className.indexOf("upload") != -1){
			if (!isFilled(element)) {
				error_msg = error_msg+"You must select a file to upload\n";
			}
		}
	}

	if(error_msg != ""){
		alert(error_msg);
		return false;	
	} else {
		
		return true;
	}
}

function isFilled(field) {
	if(field.value.length < 1 || field.value == 'select') {
		return false;
	} else {
		return true;
	}
}

function prepareForms() {
	for (var i=0; i<document.forms.length; i++){
		var thisform = document.forms[i];
		thisform.onsubmit = function(){
			if(validateForm(this)){
				parent.hideSignup();
			} else {
				return false;
			}
		}
	}
}
function isEmail(src) {
	var em = src.value;
     var emailReg = "^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(em);
}


addOnLoadEvent(prepareForms);
