/*
* AAEF 09/2006
*/
testFrm=function(myForm){
	for (var e = 0; e< myForm.elements.length; e++){
		var el = myForm.elements[e];
                el.className=el.className.split(/__/)[0]
		if (el.className.search(/TF_/)!=-1 && (el.type =='text' || el.type =='textarea' || el.type =='password')){ 
			TestArray = el.className.split(/TF_/)[1].split(/_/);
                        for(i=0;i<TestArray.length;i++){
				switch(TestArray[i]){
					case 'numeric':if(!isNumeric(el.value)){return Err(2,el,'')};break;
					case 'date':if(!isDate(el.value)){return Err(3,el,'')};break;
					case 'email':if(!isEmail(el.value)){return Err(4,el,'')};break;
					case 'URL':if(!isURL(el.value)){return Err(6,el,'')};break;
				}
				if (TestArray[i].search(/^minchar/)!=-1){
					mchar=TestArray[i].split(/\(/)[1].split(/\)/)[0]
					det=' (au moin '+mchar+' characters) '
					if (isNaN(mchar)||mchar==0){mchar=1;det=' (ne doit pas etre vide) '}
                                        if(mchar==-1){return true}
					if(!minchar(el.value,mchar)){return Err(1,el,det)}
				}
			}
		}
	}
	return true
};

minchar = function(fld,char){
	return (fld.length>=parseInt(char))
};

isNumeric=function(fld){
	rgxp=/^(-)?(\d*)(\.?)(\d*)$/;
	return(rgxp.test(fld));
};

isEmail=function (fld)
{
	rgxp=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/i;
		return(rgxp.test(fld));
};
isURL=function (fld){
	rgxp=/^(https?:\/\/)?\w+([\.-]?\w+)*(\.\w{2,3})+$/i;
	return(rgxp.test(fld));
};
isType = function(fld,typ){
	reg=new RegExp('.+[\.]+'+typ+'$');
	return reg.test(fld);
};
isDate = function(fld){
        if(typeof fld == "string"){
			reg=/^([0-9]{1,2})[\/]([0-9]{1,2})[\/]([0-9]{4,4})$/;
            if(!reg.test(fld)) return false;
            aa = RegExp["$" + 3], mm = RegExp["$" + 2], jj = RegExp["$" + 1];
			return !((aa=0)||(jj < 1 || jj > 31)|| (mm < 1 || mm > 12)|| (/4|6|9|11/.test(mm) && jj == 31) || (mm == 2 && (jj > ((aa = !(aa % 4) && (aa % 1e2) || !(aa % 4e2)) ? 29 : 28))))
        }
};


Err=function(num,el,det){
	chmp=(el.alt!=''?el.alt:el.name)
	switch (num){
		case 1:TFmsg("Le champ " +chmp +" n'est pas valide "+det,el);break;
		case 2:TFmsg("Le champ " +chmp +" n\'est pas  un numerique"+det,el);break;	
		case 3:TFmsg("Le champ " +chmp +" n\'est pas un date valide"+det,el);break;	
		case 4:TFmsg("Le champ " +chmp +" n\'est pas un Email valide"+det,el);break;	
		case 5:TFmsg("Le champ " +chmp +" ne doit pas etre vide"+det,el);break;	
		case 6:TFmsg("Le champ " +chmp +" ne doit pas etre vide"+det,el);break;	
		case 7:TFmsg("Le champ " +chmp +" n\'est pas un URL valide"+det,el);	break;
		default:TFmsg("erreur"+det,el);break;
	}
	return false
};
metereCube =[[1, 1, 1, 1.5], 
                [1.5, 2, 3, 1], 
                [2.5, 1, 1, 1, 1.5],
		[3.5, 2, 1, 1.5, 1, 0.5],
		[2.5, 1, 1, 1.5, 1, 0.5],
		[1.5, 2.5, 1, 1.5, 1, 0.5],
		[0.5, 1, 1],
		[1, 1, 1],
		[0.5, 1]];

//////////////////////////////////////////////////

function cacule(colon,nbchmp,resultat,val){
	if (!isNumeric(val.value) && val.value!='' ){
		alert('erreur : '+val.alt+' n\'est pas numerique')
		val.value='';
		val.focus();
		return false;
	}
	var total=0;
        j=parseInt(colon.substr(colon.length-1,1))
	for (i=1; i<nbchmp;i++){
		chmp=document.getElementById(colon+i).value
                if (chmp==''){chmp=0}
                cof=metereCube[j-1][i-1]
                chmp*=cof
                //val.value=chmp!=0?chmp:'';
		total=parseFloat(chmp)+parseFloat(total);
	}
document.getElementById(resultat).value=total
document.form1.totalm3.value=parseFloat(document.form1.totalsalon.value)+parseFloat(document.form1.totalsalle.value)+parseFloat(document.form1.totalcuisine.value);
document.form1.tchambrm3.value=parseFloat(document.form1.tchambr1.value)+parseFloat(document.form1.tchambr2.value)+parseFloat(document.form1.tchambr3.value);
document.form1.tcavem3.value=parseFloat(document.form1.tcouloir.value)+parseFloat(document.form1.tsbain.value)+parseFloat(document.form1.tcave.value);
document.form1.cupage.value=parseFloat(document.form1.totalm3.value)+parseFloat(document.form1.tchambrm3.value)+parseFloat(document.form1.tcavem3.value);
}
//////////////////////////////////////////////////


function Verif_Form(myform){
	if(testFrm(myform) && autreTest(myform)){
	 myform.submit();
	  return false
	}
	return false
}

autreTest=function(myForm){
 
	if (!isNumeric(myForm.nbcartons.value) || myForm.nbcartons.value==''){
		TFmsg('Devis non valide','');
		myForm.nbcartons.value='';
		myForm.nbcartons.focus();
		return false;
	}
	return true
}

function TFmsg(mssg,el){
	document.getElementById('erreur2').innerHTML=mssg
	if(el!=''){
		el.focus();
		el.className+=" __erreurStyle"
	}
}
function nbcarton(val)
{	
       if (!isNumeric(val.value)){
		alert('erreur : '+val.alt+' n\'est pas numerique');
		val.value='';
		val.focus();
		return false;
        }
}
