function simplicimeTrackerLoadPage() {}

function simplicimeTracker(_obj, _path) {
	return true;
}

function Show_Stuff(Click_Menu){
	if (Click_Menu.style.display == "none"){
		Click_Menu.style.display = "";
	}
	else{
 		Click_Menu.style.display = "none";
	}
}


function OuvrirPopup(page, nom, option){
	if(option=='') option='height=600, width=800, top=100, left=100, toolbar=no, menubar=no, location=no, resizable=yes, scrollbars=yes, status=no';
	window.open(page, nom, option);
}

var state = 'none';

function showhide(layer_ref){
    if (document.getElementById(layer_ref)) {
        if (document.getElementById(layer_ref).style) {
	        if (document.getElementById(layer_ref).style.display == 'block') {
		        state = 'none';
	        } else {
		        state = 'block';
	        }
	    } else {
	        state = 'block';
        }
        document.getElementById(layer_ref).style.display = state;
	}
	/*else {
	    if (document.all) { //IS IE 4 or 5 (or 6 beta)
		    eval( "document.all." + layer_ref + ".style.display = '" + state + "'");
	    } else
	    if (document.layers) { //IS NETSCAPE 4 or below
		    document.layers[layer_ref].display = state;
	    }
	}*/
}

//fonction d'inversement de l'affichage d'un objet (div) sans variable globale
function showhideGenerique(layer_ref){
	/*if (document.all) { //IS IE 4 or 5 (or 6 beta)
		var nouvelEtat = '';
		eval( "nouvelEtat = inverserEtatAffichage(document.all." + layer_ref + ".style.display)");
		eval( "document.all." + layer_ref + ".style.display = nouvelEtat");
	}*/
	if (document.layers) { //IS NETSCAPE 4 or below
		document.layers[layer_ref].display = inverserEtatAffichage(document.layers[layer_ref].display);
	}
	if (document.getElementById) {
		hza = document.getElementById(layer_ref);
		hza.style.display = inverserEtatAffichage(hza.style.display);
	}
}
//fonction qui retourne l'état inverse d'affichage de l'oobjet HTML
function inverserEtatAffichage(etatActuel) {
	if (etatActuel == 'block') {
		return 'none';
	} else {
		return 'block';
	}
}


function showhideref(layer_ref,img_ref){
	if (document.getElementById(layer_ref).style.display == 'block') {
		state = 'none';
		img_ = 'cadre-option-ref-off';
	}
	else {
		state = 'block';
		img_ =  'cadre-option-ref';		
	}
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.all." + layer_ref + ".style.display = state");
	}
	if (document.layers) { //IS NETSCAPE 4 or below
		document.layers[layer_ref].display = state;
	}
	if (document.getElementById &&!document.all) {
		hza = document.getElementById(layer_ref);
		hza.style.display = state;
	}
		document.getElementById(img_ref).className = img_;
}

function showhidewithvalue(layer_ref, ok){
	if (ok == true) {
		state2 = 'block';
	}
	else {
		state2 = 'none';
	}
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.all." + layer_ref + ".style.display = state2");
	}
	if (document.layers) { //IS NETSCAPE 4 or below
		document.layers[layer_ref].display = state2;
	}
	if (document.getElementById &&!document.all) {
		hza = document.getElementById(layer_ref);
		hza.style.display = state2;
	}
}

function trim(chaine){
    if (chaine == null)
        return ""
    else
	    return chaine.replace(/(^\s*)|(\s*$)/g,'');
}

function is_empty(val){
	if (val=="undefined" || val==null || val=="")
		return true;
	else
		return false;
}

function is_empty_radio(champ){
	var res = true;

	for (var i=0; i<champ.length; i++) {
		if (champ[i].checked) {
			res = false;
			break;
		}
	}

	return res;
}

function value_radio(champ){
	var res = "";

	for (var i=0; i<champ.length; i++) {
		if (champ[i].checked) {
			res = champ[i].value;
			break;
		}
	}

	return res;
}

function is_not_number(val){
	for(var i =0; i < val.length; i++) {
		if(isNaN(val.substr(i,1)))
			return true;
	}
	return false;
}

function is_full_length(object){
	if (object.value.length == object.maxLength)
		return true;
	else
		return false;
}

function checkNbCar(object, nbCar){
	if (object.value.length > nbCar - 2) {
		object.value = object.value.substr(0, nbCar - 1);
	}
}

function ContienNum(val){
	var cont = true;
	for(var i =0; i < val.value.length; i++) {	
		if(!isNaN(val.value.substr(i,1)) && val.value.substr(i,1)!=' ') cont = false;
		if(cont==false) break;
	}
	return cont;	
}

function is_email(val){
	var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
	return re_email.test(val);
}

function verifier(num_tel){
	var regex = new RegExp(/^(01|02|03|04|05|06|08|09)(([\.\-\/])?[0-9][0-9]){4}/gi);
	return regex.test(num_tel);
}

function verifierNumMobile(num_tel){
	var regex = new RegExp(/^(06)(([\.\-\/])?[0-9][0-9]){4}/gi);
	return regex.test(num_tel);
}

function verifier_portable(num_tel)
{
	var regex = new RegExp(/^(06)(([\.\-\/])?[0-9][0-9]){4}/gi);
	return regex.test(num_tel);
}

function change_2(object, object2, chck){
	if (document.layers && document.layers[object]){
		if (!chck) {
			cache(object);
			cache(object2);
		}
		else {
			montre(object);
			montre(object2);
		}
	}
	else if (document.all){
		if (!chck) {
			cache(object);
			cache(object2);
		}
		else {
			montre(object);
			montre(object2);
		}
	}
	else if (document.getElementById){
		if (!chck) {
			cache(object);
			cache(object2);
		}
		else {
			montre(object);
			montre(object2);
		}
	}
}

function change(object, chck){
	if (document.layers && document.layers[object]) {
		if (!chck) {
			cache(object);
		}
		else {
			montre(object);
		}
	}
	else if (document.all){
		if(!chck) {
			cache(object);
		}
		else {
			montre(object);
		}
	}
	else if (document.getElementById) {
		if(!chck) {
			cache(object);
		}
		else {
			montre(object);
		}
	}
}

function montre(object){
	if (document.layers && document.layers[object])
		document.layers[object].visibility = 'visible';
	else if (document.all){
		document.all[object].style.visibility = 'visible';
		document.all[object].style.zIndex = 100;
	}
	else if (document.getElementById) {
		document.getElementById(object).style.visibility = 'visible';
		document.getElementById(object).style.zIndex = 100;
	}
}

function cache(object){
	if (document.layers && document.layers[object])
		document.layers[object].visibility = 'hidden';
	else if (document.all)
		document.all[object].style.visibility = 'hidden';
	else if (document.getElementById)
		document.getElementById(object).style.visibility = 'hidden';
}

function change_visibility(object){
	if (document.layers && document.layers[object]) {
		if (document.layers[object].visibility == 'visible')
			cache(object);
		else
			montre(object);
	}
	else if (document.all) {
		if(document.all[object].style.visibility == 'visible')
			cache(object);
		else
			montre(object);
	}
	else if (document.getElementById) {
		if(document.getElementById(object).style.visibility == 'visible')
			cache(object);
		else
			montre(object);
	}
}

function change_display(object){
	if (document.layers && document.layers[object])
		document.layers[object].display = (document.layers[object].display == 'none' ? 'block' : 'none');
	else if (document.all)
		document.all[object].style.display = (document.all[object].style.display == 'none' ? 'block' : 'none');
	else if (document.getElementById)
		document.getElementById(object).style.display = (document.getElementById(object).style.display == 'none' ? 'block' : 'none');
}

function is_date(banana){
	if (banana == "") // si la variable est vide on retourne faux
		return false;

	e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");

	if (!e.test(banana)) // On teste l'expression régulière pour valider la forme de la date
		return false; // Si pas bon, retourne faux

	// On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
	j = parseInt(banana.split("/")[0], 10); // jour
	m = parseInt(banana.split("/")[1], 10); // mois
	a = parseInt(banana.split("/")[2], 10); // année

	// Si l'année n'est composée que de 2 chiffres on complète automatiquement
	if (a < 1000) {
		if (a < 89)
			a += 2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
		else
			a += 1900;
	}

	// Définition du dernier jour de février
	// Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
	if (a%4 == 0 && a%100 !=0 || a%400 == 0)
		fev = 29;
	else
		fev = 28;

	// Nombre de jours pour chaque mois
	nbJours = new Array(31, fev, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

	// Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
	return ( m >= 1 && m <= 12 && j >= 1 && j <= nbJours[m-1] );
}

function is_RIO(sRio, sMsisdn){
	if(sRio.length !=12) return false;
	var sOperateur=sRio.substr(0, 2);
	var sTypeContrat=sRio.substr(2, 1);
	var sRefClient=sRio.substr(3, 6);
	if(sTypeContrat!="P" && sTypeContrat!="E") return false;
	var sOrdre="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+";
	var nRes=new Array(0, 0, 0);
	var sTmp=sOperateur+sTypeContrat+sRefClient+sMsisdn;
	for(n=0;n<19;n++) {
		var nPos=sOrdre.indexOf(sTmp.substr(n, 1));
		nRes[0]=(nRes[0]+nPos)%37;
		nRes[1]=((2*nRes[1])+nPos)%37;
		nRes[2]=((4*nRes[2])+nPos)%37;
	}
	var sCleCalculee=sOrdre.substr(nRes[0],1)+sOrdre.substr(nRes[1],1)+sOrdre.substr(nRes[2],1);
	if(sRio.substr(9)!=sCleCalculee) return false;
	return true;
}

function is_tel_fixe(sNum) {
    if (sNum == null) return false;
    if (sNum.length != 10) return false;
    if (is_not_number(sNum)) return false;
    var prefixe = sNum.substr(0, 2);
    if ((prefixe != "01") && (prefixe != "02") && (prefixe != "03") && (prefixe != "04") && (prefixe != "05") && (prefixe != "08") && (prefixe != "09"))
        return false;
    else
        return true;
}

function is_tel_mobile(sNum) {
    if (sNum == null) return false;
    if (sNum.length != 10) return false;
    if (is_not_number(sNum)) return false;
    var prefixe = sNum.substr(0, 2);
    if ((prefixe != "06") && (prefixe != "07"))
        return false;
    else
        return true;
}

function is_cle_rib_ok(banque, guichet, compte, cleRIB) {
    if (5 != banque.length || 5 != guichet.length || 11 != compte.length)
      return;
    function replaceAlpha(alpha) { return '12345678912345678923456789'.charAt(alpha.charCodeAt(0) - 65); }
    compte = parseInt(compte.toUpperCase().replace(/[A-Z]/g, replaceAlpha), 10);
    cleRIBCalculee = 97 - (((parseInt(banque, 10)% 97 * 100000 + parseFloat(guichet)) % 97 * 100000000000 + compte) % 97) * 100 % 97;

    if (cleRIB == cleRIBCalculee)
        return true;
    else
        return false;
}