var error;
var elementFocus= '';

function CaracMax(texte, max){
	if (texte.value.length >= max)
	{
		alert('no more ' + max + ' chars !!!') ;
		texte.value = texte.value.substr(0, max - 1) ;
	}
}

function isDates(strDate){

	y = strDate.substr(0,4);
	m = (strDate.substr(5,2)-1);
	d = strDate.substr(8,2);

	var dateTest= new Date(y,m,d);

	d2=dateTest.getDate();
	m2=dateTest.getMonth()+1;
	y2=dateTest.getFullYear();

	if (y2<=100) {y2=1900+y2}
	if ( (d!=d2)||(m!=(m2-1))||(y!=y2) ) {
	  return false;
	}
	return true;

}

function testCheckRadioBox(formulaire, fieldName, error){

	elementId = fieldName.replace('[]','');

	isChecked = false;
	for(i = 0; i < formulaire.elements[fieldName].length; i++){
		if(formulaire.elements[fieldName][i].checked)
			isChecked = true;
	}
	if(!isChecked){
		error++;

		for(i = 0; i < formulaire.elements[fieldName].length; i++){
			if('' == elementFocus) elementFocus = formulaire.elements[fieldName][i];
			formulaire.elements[fieldName][i].parentNode.className = 'checkRadioError';
		}
	}else{
		for(i = 0; i < formulaire.elements[fieldName].length; i++){
			if('' == elementFocus) elementFocus = formulaire.elements[fieldName][i];
			formulaire.elements[fieldName][i].parentNode.className = 'checkRadio';
		}
	}
	return true;

}

function testFormulaire(formulaire, destination, lang, antispam){

error = 0;

	if(formulaire.elements['type'])
		testCheckRadioBox(formulaire,'type', error);
	if(formulaire.elements['diagnostics[]'])
		testCheckRadioBox(formulaire,'diagnostics[]', error);
	if(formulaire.elements['bien'])
		testCheckRadioBox(formulaire,'bien', error);

	for(i = 0; i < formulaire.length; i++){
		elementId = formulaire.elements[i].id;
		partChaine = elementId.split("_");



		//controle
		if(1 < partChaine.length){
			switch(partChaine[0]){
				case 'otext':
					if('' == formulaire.elements[i].value){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'onum':
					if(formulaire.elements[i].value.search(/[\d+]/) == -1){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'inum':
					if('' != formulaire.elements[i].value && formulaire.elements[i].value.search(/[\d+]/) == -1){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'odate':
					if(!isDates(formulaire.elements[i].value)){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'omail':
					if(formulaire.elements[i].value.search(/.+@.+\..+/) == -1){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'imail':
					if('' != formulaire.elements[i].value && formulaire.elements[i].value.search(/.+@.+\..+/) == -1){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'ocp':
					if('' == formulaire.elements[i].value){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'ologin':
					if('' == formulaire.elements[i].value){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'opass':
					if('' == formulaire.elements[i].value){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'oconfirm':
					if('' == formulaire.elements[i].value || formulaire.elements[i-1].value != formulaire.elements[i].value){
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;
				case 'oselect':
					if (formulaire.elements[i].options[formulaire.elements[i].selectedIndex].value=="default") {
						error++;
						if('' == elementFocus) elementFocus = formulaire.elements[i];
						document.getElementById(elementId).className = 'error';
					}else{
						document.getElementById(elementId).className = '';
					}
				break;

			}
		}
	}

	if(0 == error)
	{
		return true;
	}else{
		elementFocus.focus();

		//gestion des langues possible
		if('EN' == lang){
			alert("Oops! There is some information missing, please check the boxes highlighted in red.");
		}else
			if('FR' == lang){
			alert("Oops! Certaines informations sont maquantes, contôlez les champs mis en évidence svp.");
		}
		return false;
	}
}

function copyField(field, fieldToCompare){
	document.getElementById(field).value = document.getElementById(fieldToCompare).value;
}