var send = new Array(1,1,1,1,1,1,1);
			
function F_addListener(element, baseName, handler){
	if (element.addEventListener)
		element.addEventListener(baseName, handler, false);
	else if(element.attachEvent)
		element.attachEvent("on"+baseName, handler);
}

function sendMsg(subject, color, msg){
	document.getElementById("response_"+subject).innerHTML = msg;
	document.getElementById(subject).style.border = "1px solid #"+color;
}

function isValidDate(target){
	var d = document.getElementById(target).value;
    var amin=1920; 
    var amax=2000; 
    var separateur="-"; // separateur 
    var j=(d.substring(0,2));
    var m=(d.substring(3,5));
    var a=(d.substring(6));
    var ok=1;
    if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
    	sendMsg(target, "F00", "&nbsp;Jour incorrect."); ok=0;
    }
    if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
    	sendMsg(target, "F00", "&nbsp;Mois incorrect."); ok=0;
    }
    if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
    	sendMsg(target, "F00", "&nbsp;La date doit être comprise entre "+amin+" et "+amax); ok=0;
    }
    if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
    	sendMsg(target, "F00", "&nbsp;Le séparateur doit être "+separateur); ok=0;
    }
    if (ok==1) {
    	var d2=new Date(a,m-1,j);
    	j2=d2.getDate();
    	m2=d2.getMonth()+1;
    	a2=d2.getFullYear();
    	if (a2<=100) {a2=1900+a2}
    	if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
    		sendMsg(target, "F00", "&nbsp;Date invalide.");
          	ok=0;
       	}
	}
    return ok;
}

function checkType(type,str){
	var exp = '';
	var msg = '';
	switch(type){
		case 'Alpha':
			exp = new RegExp("^([a-zàáâãäòóôõöèéêëçìíîïùúûüÿñ]|[-']){1,}$","gi");
			msg = 'Only alphabetical characters';
		break;
		case 'AlphaNum':
			exp = new RegExp("^[0-9a-z]{1,}$","gi");
			msg = 'Only alphanumerics';
		break;
		case 'Digit':
			exp = new RegExp("^[0-9]{1,}$","g");
			msg = 'Only numerical characters';
		break;
		case 'Mail':
			exp = /^.+@[a-z]([0-9]|[a-z]|[-_])*(\.([0-9]|[a-z]|[-_])+)*\.[a-z]{2,5}$/;
			msg = 'This address seems incorrect';
		break;
	}
	if (!exp.test(str))
		return msg;
	else
		return false;
}

function F_initEventHandlers(){
	document.forms["comment"].onsubmit = function(){return false;};
	F_addListener(document.getElementById("Fnom"),"blur",function(){
		var v = document.getElementById("Fnom").value;
		if (v != ""){
			if (v.length < 3){
				sendMsg("Fnom", "F00", "&nbsp;Length minimum of 3 characters.");
				send[0] = 0;
			}else{
				sendMsg("Fnom", "48443B", "");
				send[0] = 1;
			}
		}
		if (v != "" && send[0] == 1){
			var response = checkType("Alpha",v);
			if (response){
				sendMsg("Fnom", "F00", "&nbsp;"+response);
				send[0] = 0;
			}else{
				sendMsg("Fnom", "48443B", "");
				send[0] = 1;
			}
		}
	});
	F_addListener(document.getElementById("Fprenom"),"blur",function(){
		var v = document.getElementById("Fprenom").value;
		if (v != ""){
			if (v.length < 3){
				sendMsg("Fprenom", "F00", "&nbsp;Length minimum of 3 characters.");
				send[1] = 0;
			}else{
				sendMsg("Fprenom", "48443B", "");
				send[1] = 1;
			}
		}
		if (v != "" && send[1] == 1){
			var response = checkType("Alpha",v);
			if (response){
				sendMsg("Fprenom", "F00", "&nbsp;"+response);
				send[1] = 0;
			}else{
				sendMsg("Fprenom", "48443B", "");
				send[1] = 1;
			}
		}
	});
	F_addListener(document.getElementById("Femail"),"blur",function(){
		var v = document.getElementById("Femail").value;
		if (v != ""){
			if (v.length < 6){
				sendMsg("Femail", "F00", "&nbsp;Length minimum of 6 characters.");
				send[2] = 0;
			}else{
				sendMsg("Femail", "48443B", "");
				send[2] = 1;
			}
		}
		if (v == ""){
			sendMsg("Femail", "48443B", "");
			send[2] = 1;
		}
		if (v != "" && send[2] == 1){
			var response = checkType("Mail",v);
			if (response){
				sendMsg("Femail", "F00", "&nbsp;"+response);
				send[2] = 0;
			}else{
				sendMsg("Femail", "48443B", "");
				send[2] = 1;
			}
		}
	});
	F_addListener(document.getElementById("Fcomment"),"blur",function(){
		var v = document.getElementById("Fcomment").value;
		if (v == ""){
			sendMsg("Fcomment", "48443B", "");
			send[3] = 1;
		}
	});
	F_addListener(document.getElementById("Fcaptcha"),"blur",function(){
		var v = document.getElementById("Fcaptcha").value;
		if (v != ""){
			if (v.length < 3){
				sendMsg("Fcaptcha", "F00", "&nbsp;Length minimum of 3 characters.");
				send[4] = 0;
			}else{
				sendMsg("Fcaptcha", "48443B", "");
				send[4] = 1;
			}
		}
		if (v != "" && send[4] == 1){
			var response = checkType("Digit",v);
			if (response){
				sendMsg("Fcaptcha", "F00", "&nbsp;"+response);
				send[4] = 0;
			}else{
				sendMsg("Fcaptcha", "48443B", "");
				send[4] = 1;
			}
		}
	});
	F_addListener(document.forms["comment"],"submit",function(){
		if (send[0] == 1){
			if (document.getElementById("Fnom").value == "") {
				sendMsg("Fnom", "F00", "&nbsp;Information required.");
				send[0] = 0;
			}else{
				sendMsg("Fnom", "48443B", "");
				send[0] = 1;
			}
		}
		if (send[1] == 1){
			if (document.getElementById("Fprenom").value == "") {
				sendMsg("Fprenom", "F00", "&nbsp;Information required.");
				send[1] = 0;
			}else{
				sendMsg("Fprenom", "48443B", "");
				send[1] = 1;
			}
		}
		if (send[4] == 1){
			if (document.getElementById("Fcaptcha").value == "") {
				sendMsg("Fcaptcha", "F00", "&nbsp;Information required.");
				send[4] = 0;
			}else{
				sendMsg("Fcaptcha", "48443B", "");
				send[4] = 1;
			}
		}
		var test_envoi = false;
		for (var i = 0; i < send.length; i++){
			if (send[i] == 0)
				test_envoi = true;
		}
		if (test_envoi){
			return false;
			}
		else
			document.forms["comment"].submit();
	});
};
