/*
 * CONFIG
 */
var img_loading_ajax = "_view/images/loading.gif";

/*------------------------------------------------ Ajax Post formulaire  */
function post_form(page,zone,nomForm)
{
    var xhr; 
	/*@cc_on
	@if (@_jscript_version >= 5)
	try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e)
	{try{xhr = new ActiveXObject("Microsoft.XMLHTTP");}catch (E){xhr = false;}}
	@else
	xhr = false;
	@end @*/
	if (!xhr && typeof XMLHttpRequest != 'undefined'){try{xhr = new XMLHttpRequest();}catch (e){xhr = false;}} 
    xhr.onreadystatechange  = function()
    { 	
		document.getElementById(zone).innerHTML="<center><img src='"+img_loading_ajax+"' border=0><center>";
        if(xhr.readyState  == 4)
        {
			if(xhr.status  == 200)
			{    
				document.getElementById(zone).innerHTML = xhr.responseText; 
            }
			else
			{
				document.getElementById(zone).innerHTML = xhr.status;
			}
		}
    };
	var sendTitre='';
	for(i=0 ; i < document.forms[nomForm].length ; i++)
	{
		if(i != 0){sendTitre += "&";}
		sendTitre += document.forms[nomForm].elements[i].name+"="+document.forms[nomForm].elements[i].value;
	}
	xhr.open("POST",page,  true); 
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(sendTitre);
}

function post_formulaire(page,zone,tab)
{
    var xhr; 
	/*@cc_on
	@if (@_jscript_version >= 5)
	try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e)
	{try{xhr = new ActiveXObject("Microsoft.XMLHTTP");}catch (E){xhr = false;}}
	@else
	xhr = false;
	@end @*/
	if (!xhr && typeof XMLHttpRequest != 'undefined'){try{xhr = new XMLHttpRequest();}catch (e){xhr = false;}}

    xhr.onreadystatechange  = function()
    { 	document.getElementById(zone).innerHTML="<br /><center><img src='"+img_loading_ajax+"' boder=0><center><br />";
         if(xhr.readyState  == 4)
         {
              if(xhr.status  == 200)    
			  document.getElementById(zone).innerHTML = xhr.responseText; 
              else document.getElementById(zone).innerHTML = xhr.status;
         }
    }; 
	xhr.open("POST",page,  true); 
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	var sendTitre = '';
	for(i=0 ; i < tab.length ; i++)
	{	
		if(i != 0){sendTitre += "&";}
		sendTitre += tab[i][0]+"="+tab[i][1];
	}
	xhr.send(sendTitre);
}


/* ------------------------------------------ Ajax affichage page ------------------------------------------*/

/* --- Chargement d'une page dans un bloc */

function chargement_page(page,zone)
{    
    var xhr; 
	/*@cc_on
	@if (@_jscript_version >= 5)
	try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e)
	{try{xhr = new ActiveXObject("Microsoft.XMLHTTP");}catch (E){xhr = false;}}
	@else
	xhr = false;
	@end @*/
	if (!xhr && typeof XMLHttpRequest != 'undefined'){try{xhr = new XMLHttpRequest();}catch (e){xhr = false;}}
    xhr.onreadystatechange  = function()
    {
		if(document.getElementById(zone)){document.getElementById(zone).innerHTML="chargement ... ";}
         if(xhr.readyState  == 4)
         {
              if(xhr.status  == 200){document.getElementById(zone).innerHTML = xhr.responseText; }
              else { document.getElementById(zone).innerHTML = xhr.status; }
         }
    }; 
   xhr.open("GET",page,  true); 
   xhr.send(null);
}

function chargement_page_effet(page,zone)
{	
	$('#'+zone).fadeOut("normal");
	chargement_page(page,zone);
	$('#'+zone).fadeIn("normal");	
}

/* ------------------------------------------ Effets avec Jquery ---------------------------------------------- */

function Slide(zone)
{
	if(document.getElementById(zone).style.display == "none"){	$('#'+zone).slideDown("fast"); } else { $('#'+zone).slideUp("fast"); }
}

/*  delai pour exuter la fonction, pour etre sur que tous est charge */
function Opacite(zone)
{
	 setTimeout("Opacite_effet('"+zone+"');",120);
}

function Opacite_effet(zone)
{
	if(document.getElementById(zone).style.display == "none")
	{
		if(navigator.userAgent.indexOf("MSIE 6") != -1) 
		{
			document.getElementById(zone).style.display = "block" ;
		}
		else
		{
			$('#'+zone).fadeIn("fast");
		}
	}
	else
	{
		if(navigator.userAgent.indexOf("MSIE 6") != -1) 
		{
			document.getElementById(zone).style.display = "none" ;
		}
		else
		{
			$('#'+zone).fadeOut("fast");
		}
	}
}

function opacite_changement(zone)
{
	if(document.getElementById(zone).style.display == "none")
	{
		if(navigator.userAgent.indexOf("MSIE 6") != -1) 
		{
			document.getElementById(zone).style.display = "block" ;
		}
		else
		{
			$('#'+zone).fadeIn("slow");
			$('#'+zone).fadeTo("slow", 0.6 );
		}
	}
	else
	{
		if(navigator.userAgent.indexOf("MSIE 6") != -1) 
		{
			document.getElementById(zone).style.display = "none" ;
		}
		else
		{
			$('#'+zone).fadeOut("slow");
		}
	}
}
function change_opacite(effet,zone){ if(effet == 'plus'){ $('#'+zone).fadeTo("normal", 1.0 ); } else { $('#'+zone).fadeTo("normal", 0.01 ); }}





/* -------------------------------------------- POPUP CSS -------------------------------------------------*/

function chargement_popup_css (page)
{
	if(document.getElementById('popup_css').style.display == "none")
	{
		/* on affiche la popup css et on charge le contenu dans la popup css*/
		opacite_changement('fond_popup_css');
		Opacite('popup_css');

		chargement_page(page,'popup_css');	
	}
	else
	{
		Opacite('popup_css');
		opacite_changement('fond_popup_css');
	}
}
	
function popup_css()
{
	if(document.getElementById('popup_css').style.display == "none")
	{
		/* on affiche la popup css et on charge le contenu dans la popup css*/
		opacite_changement('fond_popup_css');
		Opacite('popup_css');
	}
	else
	{
		Opacite('popup_css');
		opacite_changement('fond_popup_css');
	}
}

function chargement_popup_iframe(action,id)
{
	chargement_popup_css('genere_popup.php?action='+action+'&id='+id);
}	

/**
 * Fonction xhr pour élément ajax
 * @return
 */
function ajax_xhr()
{
	var xhr; 
	/*@cc_on
	@if (@_jscript_version >= 5)
	try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e)
	{try{xhr = new ActiveXObject("Microsoft.XMLHTTP");}catch (E){xhr = false;}}
	@else
	xhr = false;
	@end @*/
	if (!xhr && typeof XMLHttpRequest != 'undefined'){try{xhr = new XMLHttpRequest();}catch (e){xhr = false;}}
	
	return xhr;
}

////////////////////////////////////CONTROLE CHAMP STANDARD ////////////////////////////
//[6] 
//fonction de controle d'un champ unique
//
//pré-requis : le nom des champs spéciaux doivent correspondre au tests effectués : 
//email (contrôle de cohérence),cp (5 chiffres),telephone (10 chiffres),login (6 char min),pass (6 char min)
//par défaut, on contrôle juste si le champ est vide
//
//affichage du code erreur : une div doit être présente à côté de chaque champ avec un id comme 'ctl_email' par ex.
//
//ex d'utilisation : <input type="text" name="nom" id="nom" style="width:220px;" onBlur="controle_champ('inscription',this.name);"><span id="ctl_nom" class="rouge12"></span>
//
function controle_champ(form,champ)
{
	var test=document.forms[form].elements[champ].value;
	var span= 'ctl_'+champ;
	var valid=true;
	var message='';
	switch(champ)
	{
	case 'email':
		// test de l'email
		var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
		var regex_adresse = new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
		if(test=='' || test.search(regex_adresse)!=0 || test.length>150){valid=false;message='Email non valide';}
		else{message = 'Votre Email *';}
		//else {check_email(test,span);} -> pas beoin de vérification en base
		document.getElementById(span).innerHTML  = message;
		break;
	
	case 'email1':
		// test de l'email
		var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
		var regex_adresse = new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
		if(test=='' || test.search(regex_adresse)!=0 || test.length>150){valid=false;message='email non valide';}
		//else {check_email(test,span);} -> pas beoin de vérification en base
		break;
	
	case 'email2':
		// test de l'email
		var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
		var regex_adresse = new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
		if(test=='' || test.search(regex_adresse)!=0 || test.length>150){valid=false;message='email non valide';}
		//else {check_email(test,span);} -> pas beoin de vérification en base
		break;
	
	case 'cp':
		if(isNaN(test) || test.length!=5){valid=false;message='code-postal non valide';}
		else{message='Code postal *';}
		document.getElementById(span).innerHTML  = message;
		break;
	
	case 'telephone':
		if(isNaN(test) || test.length!=10){valid=false;message='t&eacute;l&eacute;phone non valide';}
		else{message='T&eacute;l&eacute;phone *';}
		document.getElementById(span).innerHTML  = message;
		break;
	
	case 'login':
		if(test.length<6){valid=false;message='login trop court';}
		//else {check_login(test,span);} -> pas beoin de vérification en base
		else{message='Login *';}
		document.getElementById(span).innerHTML  = message;
		break;
	
	case 'pass':	
	case 'mdp':
		if(typeof(document.forms[form].elements['login'])!="undefined"){
			var login=document.forms[form].elements['login'].value;
			var mdp=document.forms[form].elements['mdp'].value;
			if(mdp == login){
			   valid=false;message='Erreur : mot de passe identique au login';}}
		if(test.length<5){valid=false;message='mot de passe trop court';}
		if(valid == true){message='Mot de passe *';}
		document.getElementById(span).innerHTML  = message;
		break;
		  
	default:
		if(document.forms[form].elements[champ].type == 'select-one'){
			   var champ_temp = document.forms[form].elements[champ];
			   if(champ_temp.options[champ_temp.selectedIndex].value == ""){valid=false; message='champ obligatoire';}
		} else if (document.forms[form].elements[champ].length>1){
			   var champ_temp = document.forms[form].elements[champ];
			   var validTemp = false;
			   for(var j=0; j<champ_temp.length;j++){
				   if((champ_temp[j].type == "radio" || champ_temp[j].type  == "checkbox") && champ_temp[j].checked == true){validTemp=true;}
			   }
			   if(validTemp == false){valid=false; message='champ obligatoire';}
		} else if (test == "" && document.forms[form].elements[champ].type != "radio" && document.forms[form].elements[champ].type != "checkbox"){
			   valid=false;message='champ obligatoire';
		}
		break;
	}

	
	if(valid==false){
	//document.getElementById(span).innerHTML='&nbsp;&nbsp;'+message;
	if(document.getElementById(span).className.indexOf('alerte')==-1){document.getElementById(span).className+=" alerte";}
	} 
	else{
	//document.getElementById(span).innerHTML='';
	document.getElementById(span).className=document.getElementById(span).className.replace('alerte','');
	}
	return valid;
}

