// JavaScript Portail

/*
 * Permet d'instancier une "XML HTTP Request" (XHR)
 */
function getXhr(){
	var xhr = null; 
	
	if (window.XMLHttpRequest) { // Firefox et autres
		xhr = new XMLHttpRequest();
	} else {
		if (window.ActiveXObject) { // Internet Explorer 
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		else { // XMLHttpRequest non supportï¿½ par le navigateur 
			alert(lang_getxhr_alert);
			xhr = false;
		}
	} 
	return xhr
}

/*
 * Mï¿½thode qui sera appelï¿½e sur le click du bouton
 * Elle permet d'exï¿½cuter un script et de modifier le contenu d'un div juste aprï¿½s
 */
function go(script,div){
	var xhr = getXhr();
	xhr.onreadystatechange = function(){	// On dï¿½fini ce qu'on va faire quand on aura la rï¿½ponse
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			// On ne fait quelque chose que si on a tout reï¿½u et que le serveur est ok
			$('#'+div).css("background-image","url()");
			leselect = xhr.responseText;
			$('#'+div).html(leselect);
		}
		else
		{
			if($('#'+div).css('height') != '' && $('#'+div).css('height') != '0')
			{
				document.getElementById(div).innerHTML = "";
				document.getElementById(div).style.backgroundRepeat="no-repeat";
				document.getElementById(div).style. backgroundPosition="center center";
				document.getElementById(div).style.backgroundImage="url(http://www.e-monsite.com/manager/im/ajax.gif)";
			}
			else
			{
				document.getElementById(div).innerHTML = "<img src='http://www.e-monsite.com/im/ajax-loader.gif' border='0' />";
			}
			//new Effect.Fade(document.getElementById(div));
			//document.getElementById(div).style.display="none";
		}
	}
	xhr.open("GET",script,true);
	xhr.send(null);
}

/*
 * Mï¿½thode qui sera appelï¿½e sur le click du bouton
 */
function go_sans_chargement(script,div){
var xhr = getXhr()
// On dï¿½fini ce qu'on va faire quand on aura la rï¿½ponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reï¿½u et que le serveur est ok
	if(xhr.readyState == 4 && xhr.status == 200)
	{	
		document.getElementById(div).style.backgroundImage="url()";
		leselect = xhr.responseText;
		document.getElementById(div).innerHTML = leselect;
	}
	
}
xhr.open("GET",script,true);
xhr.send(null);
}

/*
Tester une valeur d'un fichier externe
*/
/*
function goexterne(script){

var xhr = getXhr()

xhr.open("GET",script,true);
xhr.send(null);

	if(xhr.readyState == 4)
	{	
		return xhr.responseText;
	}
}
*/

function goexterne(fichier)
     {
     if(window.XMLHttpRequest) // FIREFOX
          xhr_object = new XMLHttpRequest();
     else if(window.ActiveXObject) // IE
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     else
          return(false);
		  
	 	  
     xhr_object.open("GET", fichier, false);
     xhr_object.send(null);
	 
     if(xhr_object.readyState == 4) return(xhr_object.responseText);
     else return(false);
}

/*
Changer un champ formulaire dynamiquement en ajax
*/
function goform(script,champ){
	
	//if(document.getElementById(champ).value=='')
	//{
	
var xhr = getXhr()
// On dï¿½fini ce qu'on va faire quand on aura la rï¿½ponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reï¿½u et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			leselect = xhr.responseText;
			document.getElementById(champ).value = leselect;
		}
	//}
}
xhr.open("GET",script,true);
xhr.send(null);
}

function openergo(script,div){
var xhr = getXhr()
// On dï¿½fini ce qu'on va faire quand on aura la rï¿½ponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reï¿½u et que le serveur est ok
	if(xhr.readyState == 4 && xhr.status == 200)
	{
		leselect = xhr.responseText;
		opener.document.getElementById(div).innerHTML = leselect;
	}
	else
	{
		opener.document.getElementById(div).innerHTML = "<img src='http://www.e-monsite.com/im/ajax-loader.gif' border='0' align='absmiddle'> "+chargement;
	}
}
xhr.open("GET",script,true);
xhr.send(null);
}

var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function storeCaret(selec)
{
    if (isMozilla)
    {
    // Si on est sur Mozilla

        oField = document.forms['monForm'].elements['message'];

        objectValue = oField.value;

        deb = oField.selectionStart;
        fin = oField.selectionEnd;

        objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
        objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
        objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

    //    alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionnï¿½:'"+objectSelected+"'("+(fin-deb)+")");
            
        oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
        oField.selectionStart = strlen(objectValueDeb);
        oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
        oField.focus();
        oField.setSelectionRange(
            objectValueDeb.length + selec.length + 2,
            objectValueDeb.length + selec.length + 2);
    }
    else
    {
    // Si on est sur IE
        
        oField = document.forms['monForm'].elements['message'];
        var str = document.selection.createRange().text;

        if (str.length>0)
        {
        // Si on a selectionnï¿½ du texte
            var sel = document.selection.createRange();
            sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
            sel.collapse();
            sel.select();
        }
        else
        {
            oField.focus(oField.caretPos);
        //    alert(oField.caretPos+"\n"+oField.value.length+"\n")
            oField.focus(oField.value.length);
            oField.caretPos = document.selection.createRange().duplicate();
            
            var bidon = "%~%";
            var orig = oField.value;
            oField.caretPos.text = bidon;
            var i = oField.value.search(bidon);
            oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
            var r = 0;
            for(n = 0; n < i; n++)
            {if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
            pos = i + 2 + selec.length - r;
            //placer(document.forms['news'].elements['newst'], pos);
            var r = oField.createTextRange();
            r.moveStart('character', pos);
            r.collapse();
            r.select();

        }
    }
}

function infosNavUti(){
	var returnValue = "";
	var oField = document.forms['monForm'].elements['message'];
	returnValue += "\n\n---------------------------------------\n[u]"+lang_infosnavuti_titre+" :[/u]\n";
	returnValue += "[b]"+lang_infosnavuti_nav+" >[/b] "+navigator.appCodeName+" / "+navigator.appVersion+" ("+navigator.appName+")\n";
	returnValue += "[b]"+lang_infosnavuti_os+" >[/b] "+navigator.platform+"\n";
	returnValue += "[b]"+lang_infosnavuti_info+" >[/b] "+navigator.userAgent;
	oField.value += returnValue;
}

function confirmer(messageAlert,url)
{
	
	if(confirm(messageAlert)){
		
		document.location=url;
		
		}
	
}

function addHtmlOpener(html,textarea)
{
	textselect=opener.document.getElementById(textarea);

	textselect.value+=html;
	
}


function addSmiley(smiley)
{
	textselect=document.formulaire.content;

	if(textselect.c)
	{
		textselect.c.text=textselect.c.text+smiley;
	}
	else
	{
		textselect.value+=smiley;
	}

	textselect.focus();
}

function loadPos(textselect)
{
	if(textselect.createTextRange)
	{
		textselect.c=document.selection.createRange();
	}
}


function check_forum_newmess(){

	
	if(document.getElementById('titre').value=='') {
		alert(lang_titre_sujet_alert);
		return false;
	}
	else if(document.getElementById('message').value=='') {
		alert(lang_contenu_message_alert);
		return false;
	}
	else
	{
		return true;
	}

}

function check_support(){

	var email=document.getElementById('email').value;
	
	var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
	
	var resultat = reg.test(email);
	
	
	
	
	if(document.getElementById('titre').value=='') {
		alert(lang_sujet_message_alert);
		return false;
	}
	else if(document.getElementById('message').value=='') {
		alert(lang_contenu_message_alert);
		return false;
	}
	else if(document.getElementById('nom').value=='') {
		alert(lang_nom_alert);
		return false;
	}
	else if(document.getElementById('service').value=='0') {
		alert(lang_service_concerne_alert);
		return false;
	}
	else if(resultat==false) {
		alert(lang_email_alert);
		return false;
	}
	else
	{
		return true;
	}

}



function check_forum_reponse(){

	
	if(document.getElementById('message').value=='') {
		alert(lang_contenu_reponse_alert);
		return false;
	}
	else
	{
		return true;
	}



}


function support(id)
{
	if(id=='1')
	{
		document.getElementById('affsupport').style.display="block";
		document.getElementById('formulaire').style.display="none";
	}
	else
	{
		document.getElementById('affsupport').style.display="none";
		document.getElementById('formulaire').style.display="block";
	}
}

function Montrer(div)
{
	document.getElementById(div).style.display="block";
}

function Question(numero,vote,id,l)
{
	
	goexterne('/hom/ajax/votefaq.php?num='+numero+'&vote='+vote+'&id='+id+'&l='+l);
	document.getElementById("quest"+numero).style.color="#c0c0c0";
	document.getElementById("quest"+numero).innerHTML=lang_question_avis;
	
}


function change_field_color(field,etat)
{
	if(etat=='1')
	{
		document.getElementById(field).style.borderColor="#FF0000";
	}
	else
	{
		document.getElementById(field).style.borderColor="#006600";
	}
}

/**
 * Permet de mettre à jour la prévisualition du domaine de l'utilisateur
 * @param		string		Login entré par l'utilisateur
 */
function madresse(login)
{
	var valeur_ndd = $('#ndd').val();
	if(valeur_ndd == "" || valeur_ndd == "undefined"){ valeur_ndd = nomsite; }
	madresse_adresse = lang_madresse_adresse.replace("{1}",login);
	document.getElementById('adresse_site').innerHTML=madresse_adresse.replace("{2}",valeur_ndd);
	
	var login = $('#login_inscri').val();
	
	if(login.length<4)
	{
		$('#verif_1').html('<img src="im/not_ok.png" border="0" align="absmiddle"  /> '+lang_madresse_minimum);
		change_field_color('login_inscri','1');
		return;
	}
	
	$.get('/hom/ajax/verif_login.php?login='+login,null,function(data,status){
		if(data=='1')
		{
			$('#verif_1').html('<img src="im/ok.png" border="0" align="absmiddle"  />');
			change_field_color('login_inscri','0');
			return;
		}
		
		if(data=='2')
		{
			$('#verif_1').html('<img src="im/not_ok.png" border="0" align="absmiddle" /> '+lang_madresse_format);
			change_field_color('login_inscri','1');
			return;
		}
		
		$('#verif_1').html('<img src="im/not_ok.png" border="0" align="absmiddle"  /> '+lang_madresse_pris);
		change_field_color('login_inscri','1');
	});
		
}

/**
 * Permet de modifier en Live le nom de domaine de la prévisualisation
 * @param		string		Nom de domaine
 */
function inscription_ndd(ndd){
	$('#ndd_preview').html(ndd);
}

function verif_form_inscription(champ,div,type)
{
	
	if(type=='password')
	{
	
	var pass22=document.getElementById(champ).value;
	
	var reg = new RegExp(/^([a-z0-9A-Z]+){6,40}$/); 
	
	var resultat = reg.test(pass22);
	
		if(resultat==true) {
		document.getElementById(div).innerHTML='<img src="im/ok.png" border="0" align="absmiddle"  />';
		change_field_color(champ,'0');
		}
		else {
		document.getElementById(div).innerHTML='<img src="im/not_ok.png" border="0" align="absmiddle"  /> '+lang_inscription_verif_formatmdp;
		change_field_color(champ,'1');
		}
	
	}
	else if(type=='password2')
	{
	
	var pass=document.getElementById(champ).value;
	var pass2=document.getElementById('pass_inscri').value;
	
	
		if(pass==pass2) {
		document.getElementById(div).innerHTML='<img src="im/ok.png" border="0" align="absmiddle"  />';
		change_field_color(champ,'0');
		}
		else {
		document.getElementById(div).innerHTML='<img src="im/not_ok.png" border="0" align="absmiddle"  /> '+lang_inscription_verif_mdpsimilaire;
		change_field_color(champ,'1');
		}
	
	}
	else if(type=='empty')
	{
		
		var texte=document.getElementById(champ).value;
	
	if(texte!='')
	{
		document.getElementById(div).innerHTML='<img src="im/ok.png" border="0" align="absmiddle"  />';
		change_field_color(champ,'0');
	}
	else
	{
		document.getElementById(div).innerHTML='<img src="im/not_ok.png" border="0" align="absmiddle"  />';
		change_field_color(champ,'1');
	}
	
	}
	else if(type=='chiffre')
	{
		
		var texte=document.getElementById(champ).value;
		
		if(!isFinite(texte))
		{
		document.getElementById(div).innerHTML='<img src="im/not_ok.png" border="0" align="absmiddle"  /> '+lang_inscription_verif_codepostal;
		change_field_color(champ,'1');
		}
		else
		{
		document.getElementById(div).innerHTML='<img src="im/ok.png" border="0" align="absmiddle"  />';
		change_field_color(champ,'0');
		}
	}
	else if(type=='email')
	{
	
	var email=document.getElementById(champ).value;
	
	var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
	
	var resultat = reg.test(email);
	
		if(resultat==true) {
		document.getElementById(div).innerHTML='<img src="im/ok.png" border="0" align="absmiddle"  />';
		change_field_color(champ,'0');
		}
		else {
		document.getElementById(div).innerHTML='<img src="im/not_ok.png" border="0" align="absmiddle"  /> '+lang_inscription_verif_formatemail;
		change_field_color(champ,'1');
		}
	
	}
	else if(type=='sexe')
	{
		document.getElementById(div).innerHTML='<img src="im/ok.png" border="0" align="absmiddle"  />';
		change_field_color('sexe1','1');
		change_field_color('sexe2','1');
		change_field_color(champ,'0');
	}
	else if(type=='date')
	{
		
		var jour=document.getElementById('jour').value;
		var mois=document.getElementById('mois').value;
		var annee=document.getElementById('annee').value;
		
		if(jour!='' && mois!='' && annee!='')
		{
		document.getElementById(div).innerHTML='<img src="im/ok.png" border="0" align="absmiddle"  />';
		change_field_color('jour','0');
		change_field_color('mois','0');
		change_field_color('annee','0');
		}
		else
		{
		document.getElementById(div).innerHTML='<img src="im/not_ok.png" border="0" align="absmiddle"  />';
		change_field_color('jour','1');
		change_field_color('mois','1');
		change_field_color('annee','1');
		}
	}
	else if(type=='cp')
	{
		// 5 ï¿½ 7 caractï¿½res alphanum
		var val = document.getElementById(champ).value;
		var reg = /^[a-z0-9]{5,7}$/;
		
		if(reg.test(val))
		{
			document.getElementById(div).innerHTML='<img src="im/ok.png" border="0" align="absmiddle"  />';
			change_field_color(champ,'0');
		}
		else
		{
			document.getElementById(div).innerHTML='<img src="im/not_ok.png" border="0" align="absmiddle"  /> '+lang_inscription_verif_formatcodepostal;
			change_field_color(champ,'1');
		}
	
	}
}


function check_inscription()
{
	login=document.getElementById('login_inscri').value;
	valeur=goexterne('/hom/ajax/verif_login.php?login='+login);
	
	var pass=document.getElementById('pass_inscri').value;
	var reg = /^([a-z0-9A-Z]+){6,40}$/; 
	var resultat = reg.test(pass);
	
	var email=document.getElementById('email').value;
	var reg2 = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
	var resultat2 = reg2.test(email);
	
	if(valeur=='2')
	{
		alert(lang_inscription_check_formatlogin);
		return false;
	}
	else if(valeur=='0')
	{
		alert(lang_inscription_check_loginpris);
		return false;
	}
	else if(resultat==false)
	{
		alert(lang_inscription_check_formatmdp);
		return false;
	}
	else if(document.getElementById('pass_inscri').value!=document.getElementById('pass2_inscri').value)
	{
		alert(lang_inscription_check_mdpsimilaire);
		return false;
	}
	else if(document.getElementById('titre').value=='')
	{
		alert(lang_inscription_check_champtitre);
		return false;
	}
	else if(document.getElementById('description').value=='')
	{
		alert(lang_inscription_check_champdescription);
		return false;
	}
	else if(document.getElementById('cat_annu').value=='')
	{
		alert(lang_inscription_check_champcategorie);
		return false;
	}
	else if(document.getElementById('nom').value=='')
	{
		alert(lang_inscription_check_champnom);
		return false;
	}
	else if(document.getElementById('prenom').value=='')
	{
		alert(lang_inscription_check_champprenom);
		return false;
	}
	else if(document.getElementById('adresse').value=='')
	{
		alert(lang_inscription_check_champadresse);
		return false;
	}
	else if(document.getElementById('ville').value=='')
	{
		alert(lang_inscription_check_champville);
		return false;
	}
	else if(document.getElementById('cp').value=='')
	{
		alert(lang_inscription_check_champcodepostal);
		return false;
	}
	else if(document.getElementById('pays').value=='')
	{
		alert(lang_inscription_check_champpays);
		return false;
	}
	else if(resultat2==false)
	{
		alert(lang_inscription_check_formatemail);
		return false;
	}
	else if(document.getElementById('sexe1').checked==false && document.getElementById('sexe2').checked==false)
	{
		alert(lang_inscription_check_champsexe);
		return false;
	}
	else if(document.getElementById('jour').value=='' || document.getElementById('mois').value=='' || document.getElementById('annee').value=='')
	{
		alert(lang_inscription_check_champdatenaissance);
		return false;
	}
	else if(document.getElementById('cgu').checked==false || document.getElementById('cgu2').checked==false)
	{
		alert(lang_inscription_check_champcgu);
		return false;
	}
	else
	{
		document.getElementById('button3').value=lang_inscription_check_creation;
		document.getElementById('button3').style.disabled=true;		
		return true;
	}
}

function bulle(image,event){
	document.getElementById('vignetteBulle').src = image;
	document.getElementById('vignetteBulle').style.visibility = 'visible';
	document.getElementById('vignetteBulle').style.left = event.clientX+10+"px";
	document.getElementById('vignetteBulle').style.top = document.documentElement.scrollTop+event.clientY+20+"px";
}
function infobulle_cache(){
	document.getElementById('vignetteBulle').style.visibility = 'hidden';
}

/**
 * Permet de faire la selection des sites présents sur la Home de l'annuaire
 */
function annuaireHome(id,value){
	$.ajax({
		url: "/hom/ajax/maj_home_annuaire.php",
		type: "POST",
		data: ({id : id, valeur : value})
	});
	if(value == 0){
		img = racinestatic + "/im/check_decoche.png";
		title = lang_annuairehome_ajouter;
	}else{
		img = racinestatic + "/im/check_coche.png";
		title = lang_annuairehome_retirer;
	}
	$('#home_'+id).attr('src',img);
	$('#home_'+id).attr('title',title);
	$('#home_'+id).removeAttr("onclick");
	$('#home_'+id).click(function(){
		annuaireHome(id, (1-value));
	})
}
