var verif_zip_mess1 = "Veuillez saisir un code postal";
var verif_zip_mess2 = "Veuillez saisir un code postal valide";
var verif_zip_mess3 = "Nous vous prions de nous excuser mais OCSUN ne peut livrer les adresses réservées aux Armées (codes postaux en 00). Aussi nous vous invitons à modifier votre adresse de livraison en choisissant par exemple une livraison chez l un de vos proches.";
var verif_zip_mess4 = "OCSUN ne livre pas encore ";
var verif_zip_mess5 = "Nous ne livrons pas à ce code postal";



var pays = new Array();

pays[0] = "24";

pays[1] = "67";

pays[2] = "132";
function fn_CtrAlphaNumAdresse(NomChamp) {
	var lb_Retour;
	var i;
	var c;
	var ls_Valeur;
	var ls_chaine="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ,'.-/@_°";

	ls_chaine = ls_chaine + "àâäéèêëiîïôöûüùçÍÚÜÓÑÁÉáíóúñõªº";
	lb_Retour = true;
	ls_Valeur = NomChamp.value;
	for (i=0; i < ls_Valeur.length; i++) {
		c = ls_Valeur.charAt (i);
		if (ls_chaine.indexOf(c, 0) == -1) {
			lb_retour = false;
			return  false;
		}
	}
	return lb_Retour;
}

var whitespace = " \t\n\r";

function isWhitespace (s) {
	var i;
	for (i = 0; i < s.length; i++) {   
		var c = s.charAt(i);
		if (whitespace.indexOf(c) == -1) return false;
	}
	return true;
}

function isEmpty(s) {
	return ((s == null) || (s.length == 0))
}

function _CF_onError(form_object, input_object, object_value, error_message) {
	alert(error_message);
	return false;   
}

function _CF_hasValue(obj, obj_type) {
	if (obj_type == "TEXT" || obj_type == "PASSWORD") {
		if(isWhitespace(obj.value)) return false;

		if (obj.value.length == 0) 
			return false;
		else 
			if(fn_CtrAlphaNumAdresse(obj) ) return true;
			else return false;
	}
	else if (obj_type == "SELECT") {
		for (i=0; i < obj.length; i++) {
			if (obj.options[i].selected)
				return true;
		}
		return false;   
	}
	else if (obj_type == "SINGLE_VALUE_RADIO" || obj_type == "SINGLE_VALUE_CHECKBOX") {
		if (obj.checked)
			return true;
		else
			return false;   
	}
	else if (obj_type == "RADIO" || obj_type == "CHECKBOX") {
		for (i=0; i < obj.length; i++) {
			if (obj[i].checked)
				return true;
		}
		return false;   
	}
}

function _CF_checkinteger(object_value) {
	if (object_value.length == 0)
	return true;
	var decimal_format = ".";
	var check_char;
	check_char = object_value.indexOf(decimal_format)
	if (check_char < 1)
		return _CF_checknumber(object_value);
	else
		return false;
}

function trim(s) {
	var str = s.replace(/^\s+/, '').replace(/\s+$/, '');
	str =  str.replace(/ /g, '');
	return str; 
}

//Check du SIRET selon la clé de Luhn
function _CF_checksiret(siret) {
	var estValide;
	if ( (siret.length != 14) || (isNaN(siret)) )
		estValide = false;
	else {
		var somme = 0;
		var tmp;
		for (var cpt = 0; cpt<siret.length; cpt++) {
			if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc...
				tmp = siret.charAt(cpt) * 2; // On le multiplie par 2
				if (tmp > 9)
					tmp -= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
			}
			else
				tmp = siret.charAt(cpt);
			somme += parseInt(tmp);
		}
		if ((somme % 10) == 0)
			estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide
		else
			estValide = false;
	}
	return estValide;
} 

function _CF_checknumber(object_value) {
	if (object_value.length == 0)
		return true;
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

	check_char = start_format.indexOf(object_value.charAt(0))
	if (check_char == 1)
		decimal = true;
	else if (check_char < 1)
		return false;
	for (var i = 1; i < object_value.length; i++) {
		check_char = number_format.indexOf(object_value.charAt(i))
		if (check_char < 0)
			return false;
		else if (check_char == 1) {
			if (decimal)	// Second decimal.
				return false;
			else
				decimal = true;
			}
		else if (check_char == 0) {
			if (decimal || digits)  
				trailing_blank = true;
		}
		else if (trailing_blank)
			return false;
		else
			digits = true;
	}       
	return true;
}

function verif_zip(objZIP_value, objCountry, verifPays) {
	var domtom = new Array(9)
		for (var i=0;i<9;i++){domtom[i] = new Array(3)}
		domtom[0][0] = '76'
			domtom[0][1] = '971'
			domtom[0][2] = 'la Guadeloupe'
			domtom[1][0] = '142'
			domtom[1][1] = '972'
			domtom[1][2] = 'la Martinique'
			domtom[2][0] = '83'
			domtom[2][1] = '973'
			domtom[2][2] = 'la Guyane'
			domtom[3][0] = '89'
			domtom[3][1] = '974'
			domtom[3][2] = 'la Réunion'
			domtom[4][0] = '204'
			domtom[4][1] = '975'
			domtom[4][2] = 'St. Pierre et Miquelon'
			domtom[5][0] = '144'
			domtom[5][1] = '976'
			domtom[5][2] = 'Mayotte'
			domtom[6][0] = '233'
			domtom[6][1] = '986'
			domtom[6][2] = 'Wallis et Futuna'
			domtom[7][0] = '176'
			domtom[7][1] = '987'
			domtom[7][2] = 'la Polynésie Française'
			domtom[8][0] = '160'
			domtom[8][1] = '988'
			domtom[8][2] = 'la Nouvelle Calédonie'
			var trouve = false;
		var reInteger = /^\d+$/;
		var zip = objZIP_value;
		var pays_id = objCountry.options[objCountry.selectedIndex].value;
		if (zip.length == 0) {
			alert(verif_zip_mess1);
			return false;
		}
		if (pays_id == "FR") {
			if (reInteger.test(zip) == false || zip.length != 5) {
				alert(verif_zip_mess2);
				return false;
			}
		}

		if (pays_id == "FR") {
			var lieu = zip.substring(0,2);
			if (lieu == '00') {
				alert(verif_zip_mess3);
				return false;
			}
		}

		if (pays_id == "FR" && verifPays == 1) {
			var lieu = zip.substring(0,3);
			for (var i=0;i<9;i++) {
				if (lieu == domtom[i][1]) {
					for(k=0;k<pays.length;k++) {
						if (pays[k] == parseInt(domtom[i][0])) trouve = true;
					}
					if (trouve)
						objCountry.options[objCountry.selectedIndex].value =  parseInt(domtom[i][0]);
					else
						alert(verif_zip_mess4 + domtom[i][2]);
					return false;

				}
			}
		}

		if (pays_id == "ES") {
			var lieu = zip.substring(0,2).toUpperCase();

			var re = new RegExp ( "[0-9][0-9][0-9][0-9][0-9]" , "gi" )	
				if ( (lieu == '51') || (lieu == '52') || (lieu == '35') || (lieu == '38') || ( zip.length != 5 ) || ( zip.search( re ) == -1 ) ) {
					alert(verif_zip_mess5);
					return false;
				}
		}

		return true
	}


function checkformulaire(doc) {
		/*if (doc.AUT_password.value.toUpperCase().indexOf('COOKIE') != -1) {
		  alert("Veuillez saisir un mot de passe valide, différent de 'cookie'");
		  doc.AUT_password.value = '';
		  doc.AUT_passwordverify.value = '';
		  doc.AUT_password.focus();
		  return false;
		  }
		  if (doc.AUT_password.value != doc.AUT_passwordverify.value) {
		  alert("Désolé, mais une faute de frappe s'est glisée dans la confirmation de votre mot de passe");
		  doc.AUT_password.value = '';
		  doc.AUT_passwordverify.value = '';
		  doc.AUT_password.focus();
		  return false;
		  }
		  if (!_CF_hasValue(doc.AUT_password, "PASSWORD" )) {
		  alert("Veuillez saisir un mot de passe valide sans espaces ni tabulations");
		  doc.AUT_password.focus();
		  return false;
		  }
		  if  (!_CF_hasValue(doc.AUT_passwordverify, "PASSWORD" )) {
		  alert("Veuillez confirmer le mot de passe ");
		  doc.AUT_passwordverify.focus();
		  return false;
		  }

		  if  (!_CF_hasValue(doc.AUT_birthdateDD, "SELECT" ) || !_CF_checkinteger(doc.AUT_birthdateDD.options[doc.AUT_birthdateDD.selectedIndex].value))  {
		  alert("Veuillez sélectionner un jour");
		  doc.AUT_birthdateDD.focus();
		  return false;
		  }
		  if  (!_CF_hasValue(doc.AUT_birthdateMM, "SELECT" ) || !_CF_checkinteger(doc.AUT_birthdateMM.options[doc.AUT_birthdateMM.selectedIndex].value)) {
		  alert("Veuillez sélectionner un mois");
		  doc.AUT_birthdateMM.focus();
		  return false;
		  }
		  if  (!_CF_hasValue(doc.AUT_birthdateYY, "SELECT" ) || !_CF_checkinteger(doc.AUT_birthdateYY.options[doc.AUT_birthdateYY.selectedIndex].value)) {
		  alert("Veuillez séléctionner une année");
		  doc.AUT_birthdateYY.focus();
		  return false;
		  }*/


		if  (!_CF_hasValue(doc.AUT_email, "TEXT" )) {
			alert("Veuillez saisir votre email");
			doc.AUT_email.focus();
			return false;
		} else {
			var str=doc.AUT_email.value;
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
			if (!filter.test(str)) {
				alert("Veuillez saisr un email valide!");
				doc.AUT_email.focus();
				return false;
			}
		}


		if  (!_CF_hasValue(doc.AUT_lastName, "TEXT" )) {
			alert("Veuillez saisir votre Nom");
			doc.AUT_lastName.focus();
			return false;
		}

		if  (!_CF_hasValue(doc.AUT_firstName, "TEXT" )) {
			alert("Veuillez saisir votre prénom");
			doc.AUT_firstName.focus();
			return false;
		}

		if  (!_CF_hasValue(doc.AUT_address1, "TEXT" )) {
			alert("Veuillez saisir une adresse valide");
			doc.AUT_address1.focus();
			return false;
		}
		if  (!_CF_hasValue(doc.AUT_city, "TEXT" )) {
			alert("Veuillez saisir une ville");
			doc.AUT_city.focus();
			return false;
		}

		if  (!_CF_hasValue(doc.AUT_phone, "TEXT" ) || !_CF_checkinteger(doc.AUT_phone.value)) {
			alert("Veuillez saisir un téléphone valide");
			doc.AUT_phone.focus();
			return false;
		}
		if  (!_CF_checkinteger(doc.AUT_cellPhone.value)) {
			alert("");
			doc.AUT_cellPhone.focus();
			return false;
		}				

		if  (!_CF_checkinteger(doc.AUT_fax.value)) {
			alert("");
			doc.Aut_fax.focus();
			return false;
		}
		var verifPays = 0;
			if (verif_zip(doc.AUT_zip.value, doc.AUT_country, verifPays) == false) {
				doc.AUT_zip.focus();
				return false;
			}
		if  (!_CF_hasValue(doc.AUT_code, "TEXT" )) {
			alert("Veuillez saisir le code de sécurité");
			doc.AUT_city.focus();
			return false;
		}


	return true;
}


function getElemById(id) {
	return document.getElementById ? document.getElementById(id): document.all ? document.all[id]: null;
}

