function showError(element) {
	element = document.getElementById(element);
	element.style.visibility="visible";
	element.style.position="relative";
}

function hideError(element) {
	element = document.getElementById(element);
	element.style.visibility="hidden";
	element.style.position="absolute";	
}

function validate_required(field, errorid) {
	with(field) {
		field.value = (field.value).replace(/^\s*|\s*$/g,'');
		
		if (value==null||value=="") {
			showError(errorid);
			return false;
		}
		else {
			hideError(errorid);
			return true;			 
		}
	}
}

function validate_radio(field, errorid) {
	if ((field[0].checked == false) && (field[1].checked == false)) {
		showError(errorid);
		return false;
	}									
	else {
		hideError(errorid);
		return true;			
	}
}										

function validate_email(field,errorid) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	with (field) {
		if (filter.test(value)) {
			hideError(errorid);
			return true;
		}
		else {
			showError(errorid);
			return false;
		}
	}
}

function validate_date(field,errorid) {
	var currentTime = new Date();
	var year = currentTime.getFullYear();
	
	with (field) {
		if (value < (year - 90) || value > (year - 15)) {
			showError(errorid);
			return false;
		}
		
		else {
			hideError(errorid);
			return true;
		}
	}
}							  

function validate_form(thisform) {	
	var error = true;				 
	with (thisform) {
		if (validate_required(datenaissance,'req_datenaissance')==false) {
			error = false;
		} 
		if (validate_required(courriel,'req_courriel')==false) {
			error = false;				   		
		}
		else if (validate_email(courriel, 'val_courriel')==false) {
				error = false;
			}			
		if (validate_required(telephone,'req_telephone')==false) {
			error = false;			 			
		}
		if (validate_required(codepostal,'req_codepostal')==false) {
			error = false;
		}		 
		if (validate_required(ville,'req_ville')==false) {
			error = false;	
		}		
		if (validate_required(adresse,'req_adresse')==false) {
			error = false;							  
		}		
		if (validate_required(nom,'req_nom')==false) {
			error = false;		
		}
		if (validate_date(datenaissance, 'val_datenaissance')==false) {
			error = false;	
		}
				
	    if (validate_radio(sexe, 'val_sexe')==false) {
	        error = false;
	    }
	    if (validate_radio(participation, 'val_participation')==false) {
	        error = false;
	    }
	    if (validate_radio(allergies, 'val_allergies')==false) {
	        error = false;
	    }				
		if (error == false) {
			globalvar = document.getElementById("left");
			setTimeout("globalvar.focus()",250);
		}												
		
		if (error == true) {
			thisform.submit();
		}
		
		return error;		
	}
}			 

var monthtext=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'];

function populatedropdown(dayfield, monthfield) {
	var dayfield=document.getElementById(dayfield)
	var monthfield=document.getElementById(monthfield)
	
	for (var i=0; i<31; i++)
		dayfield.options[i]=new Option(i+1, i+1)
	
	for (var m=0; m<12; m++)
		monthfield.options[m]=new Option(monthtext[m], monthtext[m])
}				  

function CheckNumeric(e) {	
	var unicode = e.charCode ? e.charCode : e.keyCode;					  
	// 08: Backspace, 35: Home, 36: End, 37: Left arrow, 39: Right arrow, 46: Delete
	if (unicode != 8 && unicode != 46)
	{
		if (unicode < 48 || unicode > 57) //if not a number
			return false;
	}
}

function CheckLimit(field, length) {
	var maxlength = length
	if (field.value.length > maxlength)
		field.value = field.value.substring(0, maxlength)
}

