var _url_base = "/Compte/compte_action.php";
var _url_profil = "/Compte/compte_profil.php";
var _pseudo_mini = 5;
var _pseudo_max = 25;
var _nom_max = 50;
var _prenom_max = 25;
var _adresse_max = 100;
var _pass_mini = 6;
var _telephone_mini = 10;
var _couleur_ok = "darkgreen";
var _couleur_nok = "tomato";
var _nbPartiesForm = 3;
var _bCaptchaOK = false;
//var _validCharsRegE = /[^a-z0-9_\-\.âêîôûäëïöüàèìòùéñç\s ]/gi;
var _validCharsRegE = /[^a-z0-9_\-\.\u00e0\u00e1\u00e2\u00e3\u00e4\u00e7\u00e8\u00e9\u00ea\u00eb\u00ec\u00ed\u00ee\u00ef\u00f1\u00f2\u00f3\u00f5\u00f6\u00f9\u00fa\u00fb\u00fc\s ]/gi
var _validCharsTelRegE = /[^0-9\+\s\.]/g;
//var _validCharsPwdRegE = /[^a-z0-9_\-\.âêîôûäëïöüàèìòùéñç@$£%€()°\[\]\}\{\*~\s]/gi;
var _validCharsPwdRegE = /[^a-z0-9_\-\.\u00e0\u00e1\u00e2\u00e3\u00e4\u00e7\u00e8\u00e9\u00ea\u00eb\u00ec\u00ed\u00ee\u00ef\u00f1\u00f2\u00f3\u00f5\u00f6\u00f9\u00fa\u00fb\u00fc\u0040\uee024\u00a3\u0025\u20ac()\u00b0\[\]\}\{\*~\s]/gi;
var _validEmailRegE = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;


function verifValiditeEmail(email)
{
	if (email.length < 7)

		return false;

	if (_validEmailRegE.test(email) != true)

		return false;


	return true;

}
function verifCivilite()
{
	var ok = checkRadioButton("cpte_civil");
	if (!ok)
		marqueValideRadio("cpte_civil",false);


	return ok;
}
function verifNom()
{
	var nom = $F("cpte_nom");
	if (nom.length==0)
	{
		marqueValide("cpte_nom",false);
		return false;
	}
	if (nom.length > _nom_max)
	{
		mon_alerte("Nom : maximum "+_nom_max + " caract\u00e8res");
		//$("#cpte_nom").value = nom.substr(0,_nom_max);
		$("#cpte_nom").val( nom.substr(0,_nom_max));
		marqueValide("cpte_nom",false);
		return false;
	}
	if (_validCharsRegE.test(nom)==true)
	{
		mon_alerte("Votre nom comprend des caract\u00e8res invalides : "+nom.match(_validCharsRegE).join(" , "));
		marqueValide("cpte_nom",false);
		return false;
	}
	return true;
}
function verifPrenom()
{
	var prenom = $F("cpte_prenom");
	if (prenom.length==0)
	{
		marqueValide("cpte_prenom",false);
		return false;
	}
	if (prenom.length > _prenom_max)
	{
		mon_alerte("Pr\u00e9nom : maximum "+_prenom_max + " caract\u00e8res");
		//$("#cpte_prenom").value = prenom.substr(0,_prenom_max);
		$("#cpte_prenom").val(prenom.substr(0,_prenom_max));
		marqueValide("cpte_prenom",false);
		return false;
	}
	if (_validCharsRegE.test(prenom)==true)
	{
		mon_alerte("Votre pr\u00e9nom comprend des caract\u00e8res invalides : "+prenom.match(_validCharsRegE).join(" , "));
		marqueValide("cpte_prenom",false);
		return false;
	}
	return true;
}
function verifAdresse()
{
	return (verifAdresseSeule() && verifCP() && verifVille() && verifEtat());
}
function verifAdresseSeule()
{
	var adresse=$F("cpte_adresse");
	if (adresse.length == 0)
	{
		marqueValide("cpte_adresse",false);
		return false;
	}
	if (adresse.length > _adresse_max)
	{
		mon_alerte("Adresse : maximum "+_adresse_max + " caract\u00e8res");
		marqueValide("cpte_adresse",false);
		//$("cpte_adresse").value = adresse.substr(0,_adresse_max);
		$("#cpte_adresse").val(adresse.substr(0,_adresse_max));
		return false;
	}
	return true;
}
function verifCP()
{
	var codep = $F("cpte_cp");
	var pays = $F("cpte_pays");

	if (pays=="FRA" && !verifCodePFra(codep))
	{
		marqueValide("cpte_cp",false);
		return false;
	}
	return true;
}
function verifVille()
{
	var ville = $F("cpte_ville");

	if (ville.length==0)
	{
		marqueValide("cpte_ville",false);
		return false;
	}
	return true;
}
function verifEtat()
{

	var etat = $F("cpte_etat");
	var pays = $F("cpte_pays");

	if (pays=="USA" && etat=="")
	{
		marqueValide("cpte_etat",false);
		return false;
	}
	return true;
}
function verifTelephone()
{
	var tel = $F("cpte_tel");
	if (tel.length < _telephone_mini)
	{
		marqueValide("cpte_tel",false);
		return false;
	}
	if (_validCharsTelRegE.test(tel)==true)
	{
		mon_alerte("Votre n° de t\u00e9l\u00e9phone comprend des caract\u00e8res invalides : "+tel.match(_validCharsTelRegE).join(" , "));
		marqueValide("cpte_tel",false);
		return false;
	}
	return true;
}
function logout(redirect)
{
		/*var requete = new Ajax.Request(_url_base,{method:"post", postBody:"F=logout", onFailure:echecAjax, onComplete:function (retour)
		{
			if (redirect)
				window.location.href = redirect;
			else	window.history.go(0);
		}});*/
		var requete = $.ajax({url:_url_base,type:"post",data:"F=logout",error:echecAjax,complete:function (retour)
		{
			if (redirect)
				window.location.href = redirect;
			else	window.history.go(0);
		}});

}

function alertAjax(requete)
{

	//console.log(requete.responseText);
}

document.removeChildNodes = function(node) {
    while (node.childNodes.length > 0) {
        node.removeChild(node.childNodes[0]);
    }
}
function checkRadioButton(nom_radio){
    var liste = document.getElementsByName(nom_radio);
    var nb = liste.length;
    for(var i = 0; i < nb; i++)
    {
        if(liste[i].checked == true) return true;
    }
    return false;
}
function valueRadioButton(nom_radio)
{
var liste = document.getElementsByName(nom_radio);
    var nb = liste.length;
    for(var i = 0; i < nb; i++)
    {
        if(liste[i].checked == true) return liste[i].value;
    }
    return false;

}
function remplirCboHTML(cible,tableau,valeur,texte,valdefaut)
{
	var combien = tableau.length;

	/*switch (navigator.appName)
	{
		case "Netscape" :
	*/			var tampon = "";

				for (var i=0; i<combien;i++)
				{
					tampon += "<option value=\""+eval("tableau[i]."+valeur)+"\">"+eval("tableau[i]."+texte)+"</option>";
				}

				//cible.innerHTML = tampon;

				cible.html(tampon);
				cible.val(valdefaut);
	/*			break;
		case "Microsoft Internet Explorer":
				var tmp;
				for (var i=0; i<combien;i++)
				{
					tmp = new Option(eval("tableau[i]."+texte),eval("tableau[i]."+valeur));
					if (eval("tableau[i]."+valeur)==valdefaut) tmp.selected = true;
					cible.add(tmp);
				}
				break;
		default : 	mon_alerte("Erreur : votre navigateur n'est pas compatible \n "+navigator.appName);
	}*/
	return true;
}
function marqueValideRadio(el,valid)
{

    var liste = document.getElementsByName(el);
    var nb = liste.length;
    for(var i = 0; i < nb; i++)
    	liste[i].style.backgroundColor = (valid==1 ? _couleur_ok : _couleur_nok);


    var labels = document.getElementsByTagName("label");
    var nbl = labels.length;

    //
    var k = -1;
    for (var j=0;j<nbl;j++)
    {
    	var tmp = labels[j].htmlFor;
    	tmp = tmp.split("_");
    	tmp.pop();
    	tmp = tmp.join("_");
    	if (tmp != el) { continue;}
    	k++;

    	if (labels[j].htmlFor == (el+"_"+k))
    	{

    			labels[j].style.backgroundColor = (valid==1 ? _couleur_ok : _couleur_nok);
    		}//else console.error(labels[j].htmlFor+" | "+(el+"_"+k));
    }
}
function verifCodePFra(codep)
{
	if (codep.length != 5 || isNaN(codep))
		return false;
	else	return true;

}
function verifDate(date)
{
	var dateTab = date.split("/");

	if ((dateTab.length != 3) || isNaN(dateTab[0]) || isNaN(dateTab[1]) || isNaN(dateTab[2]))
		return false;

	if (dateTab[0].length<2) dateTab[0] = "0"+dateTab[0];
	if (dateTab[1].length<2) dateTab[1] = "0"+dateTab[1];


	var dateTest = new Date(dateTab[2],dateTab[1]-1,dateTab[0]);


 	var annee = dateTest.getYear();

	if ((Math.abs(annee)+"").length < 4) annee = annee + 1900;
	dateTab[2] = new Number(dateTab[2]);

	if (dateTab[2] < 100)  dateTab[2] += 1900;


 	return ((dateTest.getDate() == dateTab[0]) && (dateTest.getMonth() == dateTab[1]-1) && (annee == dateTab[2]));

}
function verifEmail(email)

{


	return (verifValiditeEmail(email) && verifDispoEmail(email));
}

function verifDispoEmail(email)
{
	var params = new Object();
	params.email = email;

	/*var requete= new Ajax.Request(_url_base,{asynchronous:false, method:"post",postBody:"F=checkEmailDispo&PARAMS="+toJsonString(params), onFailure:echecAjax,
				onComplete:function (reponse)
					{
						var retour = eval(reponse.responseText);
						if (retour=="OK")
							dispo = true;
						else
						{
							//$("cpte_repEmailDispo").innerHTML = "Un compte correspondant à cette adresse existe d\u00e9ja";
							$("#cpte_repEmailDispo").html("Un compte correspondant à cette adresse existe d\u00e9ja");
							dispo = false;
						}
					}});
					*/
	var requete= $.ajax({url:_url_base,async:false, type:"post",data:"F=checkEmailDispo&PARAMS="+toJsonString(params), error:echecAjax,
				complete:function (reponse)
					{
						var retour = eval(reponse.responseText);
						if (retour=="OK")
							dispo = true;
						else
						{
							//$("cpte_repEmailDispo").innerHTML = "Un compte correspondant à cette adresse existe d\u00e9ja";
							$("#cpte_repEmailDispo").html(toJsonString("Un compte correspondant \u00e0 cette adresse existe d\u00e9ja"));
							dispo = false;
						}
					}});
	return dispo;
}
function aboNewsletter(email)
{
	var requete = callAjax(_url_news,"AJAX=1&EMAIL="+email,"retourNews","echecAjax");

}
function aboPartenaires(id)
{
	var params = new Object();
	params.id =id;
	var requete = callAjax(_url_base,"F=aboPart&PARAMS="+toJsonString(params), "retourPart","echecAjax");

}
function retourNews(requete)
{
	var reponse = requete.responseText;

	switch (reponse)
	{
		case "OK": //$("div_newsletter").innerHTML = "Vous êtes d\u00e9sormais inscrit à la newsletter de francefootball.fr";
				$("#div_newsletter").html(toJsonString("Vous \u00eates d\u00e9sormais inscrit \u00e0 la newsletter de francefootball.fr"));
				//$("div_newsletter").style.color = _couleur_ok;
				$("#div_newsletter").css("color",_couleur_ok);
			break;
		case "Erreur":
			//$("div_newsletter").innerHTML = "Une erreur est survenue.<br /><a href=\""+_url_news_direct+"\" target='_news'>Cliquez ici pour vous inscrire</a>";
				$("#div_newsletter").html("Une erreur est survenue.<br /><a href=\""+_url_news_direct+"\" target='_news'>Cliquez ici pour vous inscrire</a>");
				//$("div_newsletter").style.color = _couleur_nok;
				$("#div_newsletter").css('color',_couleur_nok);
		default :
	}
}
function retourPart(requete)
{
	var reponse = eval(requete.responseText);
	switch (reponse)
	{
		case "OK": $("#div_part").html(toJsonString("Vous avez indiqu\u00e9 souhaiter recevoir les meilleures offres des partenaires de Francefootball.fr (nombre limit\u00e9)."));
				$("#div_part").css("color" ,_couleur_ok);
			break;
		case "Erreur":
				$("#div_part").html("Une erreur est survenue.");
				$("#div_part").css("color" ,_couleur_nok);
				break;
		default :
	}
}
function aboLCDE()
{

	window.open(_url_lcde,"_lcde");

}
function marqueValide(el,valid)
{
//$(el).style.backgroundColor = (valid==1 ? _couleur_ok : _couleur_nok);
$("#"+el).css("background-color",(valid==1 ? _couleur_ok : _couleur_nok));
}
function getDDN()
{
	return $F("cpte_ddn_jj")+"/"+$F("cpte_ddn_mm")+"/"+$F("cpte_ddn_aa")
}
function $F(el)
{
	return $("#"+el).val();
}
function callAjax(url,params,complete,failure,asynch)
{
	if (asynch==null)
		asynch=true;
	chgCurseur("wait");
	/* prototype */
	//var requete = new Ajax.Request(url, {method:'get', asynchronous:asynch,postBody:params, onComplete:eval(complete), onFailure:eval(failure)});
	/* */
	/* jquery */
	var requete = $.ajax({type:'post', url:url, async:asynch, data:params, complete:eval(complete),error:eval(failure)});
	/* */
	return true;

}
function retourAjax(requete)
{
	chgCurseur("auto");
	eval(requete.responseText);

}
function echecAjax(requete)
{
//	console.error("Erreur : "+requete.responseText);
	chgCurseur("auto");

}
function chgCurseur(curs)
{
	document.body.style.cursor = curs;
}
function remplirCboPays(el)
{
	var liste = getPaysMarketing();
	remplirCboHTML(el,liste,"CODE2","LIB_FR","France");
	el.val("FRA");

}
function remplirCbosDdn(el_j,el_m,el_a)
{
	var option;
	//jours
	for (var i=1;i<32;i++)
	{
		el_j.append("<option value='"+i+"'>"+i+"</option>");

		//el_j.html(el_j.html()+"<option value='"+i+"'>"+i+"</option>");

	/*	option = new Option(i,i);
		try {
		    el_j.add(option, null); // standard
		  }
		  catch(e) {
		    el_j.add(option); // IE
		  }*/
	}
	//mois
	for (var j=1;j<13;j++)
	{
		el_m.append("<option value='"+j+"'>"+j+"</option>");
		/*option = new Option(j,j);
		try {
		    el_m.add(option, null); // standard
		  }
		  catch(e) {
		    el_m.add(option); // IE
		  }*/
	}
	//annee
	for (var k=1900;k<2007;k++)
	{
		/*option = new Option(k,k);
		try {
		    el_a.add(option, null); // standard
		  }
		  catch(e) {
		    el_a.add(option); // IE
		  }
		  */
		  el_a.append("<option value='"+k+"'>"+k+"</option>");
	}
	el_j.val("#");
	el_a.val("#");
	el_m.val("#");

}
function mon_alerte(msg)
{
	alert(unescape(msg));
}
