function AJAX_TST(myVAR)
{
	alert(myVAR);
}

function fctAJAX_DO_et_CLOSE(
	msgConfirm, //.Message de confirmation
	urlFile    //.url de W
	)
{
	if (window.confirm(msgConfirm))
    {
		ajax.requestFile=urlFile;//alert("1");
		ajax.runAJAX();//alert("AV Close");
		setTimeout("self.close()",2300);//UXU super moche en attendant mieux
	}
	else return false;
}

function setMois()
{
	document.Grille.lgDO_DDR_Mois.selectedIndex=document.Grille.lgPU_DDR_Mois.selectedIndex;
}

function setAnnee()
{
	document.Grille.lgDO_DDR_Annee.selectedIndex=document.Grille.lgPU_DDR_Annee.selectedIndex;
}

function retour()
{
	history.back();
}

function submitForm(elem){
while (elem.parentNode && elem.parentNode.tagName != "FORM"){
elem = elem.parentNode;
}
var oForm = elem.parentNode;
oForm.submit();
}

//************** DESCRIPTION DES TARIFS - PAGE RATES ********************
function get_description(product_id,tiers_id,sztrfkey)
{
//alert('VCH_OPTs_Details_A_01.php?lgProduit_Id='+product_id+'&lgTiers_Id='+tiers_id+'&szTRFkey='+sztrfkey);
    var elemCible = 'desc' + product_id;
	//alert(elemCible);
	document.getElementById(elemCible).style.display='block';

    // on ferme une description éventuelle
    try{
        var status = current_fx.open; // ouvert ou fermé ?
        current_fx.hide();
        // si c'est la même description, on reste sur la fermeture
        if(current_elem == $(elemCible) && status == true)
            return;
    }catch(err){}
    // sinon on va chercher la desc
    var szLog = document.Grille.szLog.value;
    req = new Request({
        method: 'post',
        url: 'VCH_OPTs_Details_A_01.php',
        data: {szLog:szLog,lgProduit_Id:product_id,lgTiers_Id:tiers_id,szTRFkey:sztrfkey},
		onRequest: function() { $(elemCible).innerHTML = 
			"<div style='background-color:#ffffff; width:500px;'><center>Chargement en cours<img src='../images/icones/ajax-loader.gif'></center>";
		},
        onComplete: function(response) {
            current_elem = $(elemCible);
            current_elem.innerHTML = response;
            current_fx = new Fx.Slide($(elemCible).firstChild);
            current_fx.hide();
            current_fx.show();
        }
    }).send();
    return;

}
function close_infos(produit_id)
{
    var elemCible = 'desc' + produit_id;
    // on ferme une description éventuelle
	document.getElementById(elemCible).style.display='none';

    var status = current_fx.open; // ouvert ou fermé ?
    current_fx.hide();
    // si c'est la même description, on reste sur la fermeture
    if(current_elem == $(elemCible) && status == true)
        return;
}
function submitFormRGL(
	message,
	elem,
	szType,
	mode
	)
{

temp = "document.RGL_FORM.VLD"+szType+".checked";
temp1 = "document.RGL_FORM.VLD"+szType+".value";

if (mode == 'devis')
{
	document.RGL_FORM.szRGL_SEL.value = szType;

	while (elem.parentNode && elem.parentNode.tagName != "FORM")
	{
		elem = elem.parentNode;
	}
	var oForm = elem.parentNode;
	oForm.submit();
}
else
{

//alert (temp1);
//alert(document.RGL_FORM.VLDINT.checked);
//alert(document.RGL_FORM.VLDINT.value);
//alert(temp);
	if (eval(temp) == true
		|| eval(temp1) == '1')  //.cas ou CGV sont hidden ...
	{
	    document.RGL_FORM.szRGL_SEL.value = szType;
//alert(document.RGL_FORM.szRGL_SEL.value);
		while (elem.parentNode && elem.parentNode.tagName != "FORM")
		{
			elem = elem.parentNode;
		}
		var oForm = elem.parentNode;
		oForm.submit();
	}

	else
	{
	    alert(message);
	    return false;
	}
}
}

function submitFormRGL_INT(elem)
{
//Tres tres moche UXU_053
//alert(document.RGL_FORM.szEXIT_Choice[0].checked);
	if (document.RGL_FORM.szEXIT_Choice[0].checked == false
		&& document.RGL_FORM.szEXIT_Choice[1].checked == false
		&& document.RGL_FORM.szEXIT_Choice[2].checked == false)
    {
	    alert("Choississer 1 mode de sortie !");
	    return false;
    }

	while (elem.parentNode && elem.parentNode.tagName != "FORM")
	{
		elem = elem.parentNode;
	}
	var oForm = elem.parentNode;
	oForm.submit();
}

function Transfert01(lien)
{
	document.Grille.szPU_Ville.value=lien;
}


function Transfert(lien)
{
	document.Grille.szPU_Ville.value=lien;
	document.forms['Grille'].submit();
}

function testerRadio(radio) {
      for (var i=0; i<radio.length;i++) {
         if (radio[i].checked) {
            alert("Système = "+radio[i].value)
         }
      }
   }

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
} 
  
function FocusText(BoxName)
{
	if (BoxName.value == BoxName.defaultValue)
	{
		BoxName.value = '';
	}
}

function BlurText(BoxName)
{
	if (BoxName.value == '')
	{
		BoxName.value = BoxName.defaultValue;
	}
}

//Fonctions images
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function station_selected()
{
	if (document.reserva.szAGN_Ref_Externe[1].checked == false) 
		document.reserva.szAGN_Ref_Externe[1].checked = true; 
}

function agencia_checker()
{
// set var radio_choice to false
var radio_choice = false;

// Loop from zero to the one minus the number of radio button selections
	for (counter = 0; counter < document.reserva.szAGN_Ref_Externe.length; counter++)
	{
	// If a radio button has been selected it will return true
	// (If not it will return false)
		if (document.reserva.szAGN_Ref_Externe[counter].checked)
			radio_choice = true; 
		}
	
	if (!radio_choice)
	{
		// If there were no selections made display an alert box 
		alert("MESSAGE_AGENCE_NO_SELECTION_SHORT")
		return (false);
	}
	return (true);
}
// Création de la fonction getElementsByTagName si elle n'exsite pas
 if(!document.getElementsByTagName) document.getElementsByTagName=function (tagName) {
     var el=document.all,result=new Array(),j=0;
     for(var i=0;i<el.length;i++) if(el[i].tagName.toLowerCase()==tagName.toLowerCase()) result[j++]=el[i];
     return result;
 }

function ajuste_ristourne_mauvaise_methode(valeur)
{
	var forms_tarifas = document.getElementsByName("tarifas");
	//var ancienne_marge = parseInt(forms_tarifas[0].ccMarge.value); // Récupération des marges des formulaires par produit
	//var nouvelle_marge = ancienne_marge - parseInt(valeur); // Calcul de la marge à appliquer
	var surcharge = parseInt(forms_tarifas[0].lgVte_Surcharge.value); // Surcharge en euros ici!!!!
	// Récupération du taux de change
	var taux = document.getElementsByName("dbChange_Taux");
	if(taux.length > 0){
		var surcharge_devise = Math.ceil(surcharge / parseFloat(taux[0].value)); // calcul de la surcharge dans la devise du pays
	}else{
		var surcharge_devise = Math.ceil(surcharge);
	}

	// Renseignement de la ristourne (en pourcent) dans les formulaires HTML (2 par produit, un pour chaque bouton)
	for(var i=0; i<forms_tarifas.length; i=i+2){
		forms_tarifas[i].lgVte_Ristourne.value = parseInt(valeur);
		forms_tarifas[i+1].lgVte_Ristourne.value = parseInt(valeur);
	}

	// Mise à jour de l'_affichage_ des prix
	var prix_en_devise = document.getElementsByName("ccPrix_Devise"); // 2 valeurs par produit, Indice pair : référence, indice impair : prix affiché.
	var forms_prix = document.getElementsByName("lgProduit_Prix"); // Prix dans le formulaire, en devise également
	var marges = document.getElementsByName("ccMarge"); // Marges pour chaque prod, prise en compte du handicap : marge différente d'un prod à un autre au sein du même tarif. 
	var prix;

	for(var i=0; i<prix_en_devise.length; i=i+2){
	  	var ancienne_marge = parseInt(marges[i].value);
		var nouvelle_marge = ancienne_marge - parseInt(valeur);
		prix = Math.ceil(parseInt(prix_en_devise[i].value) / (100 + ancienne_marge) * (100 + nouvelle_marge) + surcharge_devise);
		prix_en_devise[i+1].value = prix;
		forms_prix[i].value = prix;
		forms_prix[i+1].value = prix;
		marges[i+1].value = parseInt(nouvelle_marge);
		//alert("prix : " + forms_prix[i].value + " & " + forms_prix[i+1].value + ", marge : " + nouvelle_marge);
	}

	// Mise à jour du prix de vente en euros du formulaire HTML
	var prix_en_euros = document.getElementsByName("ccVTE_TTC_Euros"); // Prix en euros juste pour l'affichage
	// En fait on met le prix en euros à jour si la devise n'est pas l'euro : si on loue en zone euro, 
	// prix_en_euros est vide.
	for(var i=0; i<prix_en_euros.length; i=i+2){
		prix_en_euros[i+1].value = Math.ceil(parseInt(prix_en_euros[i].value) / (100 + ancienne_marge) * (100 + nouvelle_marge) + surcharge);
		//alert(prix_en_euros[i].value + " & " + prix_en_euros[i+1].value);
	}
	return(true);
}

function ajuste_ristourne(valeur)
{
	var forms_tarifas = document.getElementsByName("tarifas");
	var surcharge = parseInt(forms_tarifas[0].lgVte_Surcharge.value); // Surcharge en euros ici!!!!

	var taux = document.getElementsByName("dbChange_Taux");
	if(taux.length > 0){
		var surcharge_devise = Math.ceil(surcharge / parseFloat(taux[0].value)); // calcul de la surcharge dans la devise du pays
	}else{
		var surcharge_devise = Math.ceil(surcharge);
	}

	// Renseignement de la ristourne (en pourcent) dans les formulaires HTML (2 par produit, un pour chaque bouton)
	for(var i=0; i<forms_tarifas.length; i=i+2){
		forms_tarifas[i].lgVte_Ristourne.value = parseInt(valeur);
		forms_tarifas[i+1].lgVte_Ristourne.value = parseInt(valeur);
	}

	// Mise à jour de l'_affichage_ des prix
	var prix_en_devise = document.getElementsByName("ccPrix_Devise"); // 2 valeurs par produit, Indice pair : référence, indice impair : prix affiché.
	var forms_prix = document.getElementsByName("lgProduit_Prix"); // Prix dans le formulaire, en devise également
	var marges = document.getElementsByName("ccMarge"); // Marges pour chaque prod, prise en compte du handicap : marge différente d'un prod à un autre au sein du même tarif. 
	var prix;

	for(var i=0; i<prix_en_devise.length; i=i+2){
	  	var ancienne_marge = parseInt(marges[i].value);
		var nouvelle_marge = ancienne_marge - parseInt(valeur);
		prix = Math.ceil(parseInt(prix_en_devise[i].value) / 100 * (100 - parseInt(valeur)) + surcharge_devise);
		prix_en_devise[i+1].value = prix;
		forms_prix[i].value = prix;
		forms_prix[i+1].value = prix;
		marges[i+1].value = parseInt(nouvelle_marge);
		//alert("prix : " + forms_prix[i].value + " & " + forms_prix[i+1].value + ", marge : " + nouvelle_marge);
	}

	// Mise à jour du prix de vente en euros du formulaire HTML
	var prix_en_euros = document.getElementsByName("ccVTE_TTC_Euros"); // Prix en euros juste pour l'affichage
	// En fait on met le prix en euros à jour si la devise n'est pas l'euro : si on loue en zone euro, 
	// prix_en_euros est vide.
	for(var i=0; i<prix_en_euros.length; i=i+2){
		prix_en_euros[i+1].value = Math.ceil(parseInt(prix_en_euros[i].value) / 100 * (100 - parseInt(valeur)) + surcharge);
		//alert(prix_en_euros[i].value + " & " + prix_en_euros[i+1].value);
	}
	return(true);
}

function ajuste_surcharge(valeur)
{
  	valeur = Math.abs(parseInt(valeur));
  	document.getElementById("surcharge").value=valeur;
	var forms_tarifas = document.getElementsByName("tarifas");
	for(var i=0; i<document.getElementsByName("tarifas").length; i++){
		forms_tarifas[i].lgVte_Surcharge.value = parseInt(valeur);
	}
	ajuste_ristourne(parseInt(forms_tarifas[0].lgVte_Ristourne.value));
	return(true);
}

function check_pu_lieu(id)
{
	var tab_radios = document.getElementsByName("szAGN_Ref_Externe");
	var agence_id;
	var lien = document.getElementById(id); // ref sur le lien
	for(var i=1; i<tab_radios.length; i++){ 	// Cas particulier : on commence à 1
												// car le premier élément, un input hidden, ne nous intéresse pas
		if (tab_radios[i].checked == true){		//On récupère le numéro de l'agence cochée
			agence_id=tab_radios[i].value.split(";")[0];
			lien.href = lien.href + "&lgPU_Agence_Id=" + agence_id;	// On complète le lien avec une variable en GET
			window.location=window.location + "&szAGN_Ref_Externe=" + agence_id;
			return true;
		}
	}
	alert("MESSAGE_AGENCE_NO_SELECTION_SHORT");
	return false;
}

function set_pu_url()
{
  var tab_radios = document.getElementsByName("szAGN_Ref_Externe");
  for(var i=1; i<tab_radios.length; i++){
    if (tab_radios[i].checked == true){
      agence_id=tab_radios[i].value.split(";")[0];
      window.location=window.location + "&szAGN_Ref_Externe=" + agence_id;
      return true;
    }
  }
  return false;
}

function set_pu_href()
{
  var tab_radios = document.getElementsByName("szAGN_Ref_Externe");
  for(var i=1; i<tab_radios.length; i++){
    if (tab_radios[i].checked == true)
	{
      agence_id=tab_radios[i].value.split(";")[0];
      document.getElementById("lien_tarifaire").href=document.getElementById("lien_tarifaire").href + "&szAGN_Ref_Externe=" + agence_id;
      return true;
    }
  }
  alert("MESSAGE_AGENCE_NO_SELECTION_SHORT");
  return false;
}

function recherche(champ)
{
  if(champ.value != ""){
    return true;
  }else{
    alert("MESSAGE_RECHERCHE_CLIENT");
  }
  return false;
}

// Sélection des cases cochées page recap _______________________________________
function fctOPTs_Total_CALC(szZone,ccZone_Offset) 
{
	var ccTotal = ccZone_Offset;
	  
    szListe = document.getElementsByTagName('span');
    lgCount = document.getElementsByTagName('span').length;
    for (i=0; i<lgCount; i++)
    {
        szId = szListe[i].id.substring(0,2);
        if (szId == szZone)
        {
			var Obj = document.getElementById(szListe[i].id);
    		if (Obj.style.visibility == "visible")
    		{
				ccTotal = parseFloat(ccTotal) + parseFloat(eval(Obj.innerHTML));
			}
		}
	}
	//alert(szZone);
	//.Si form Com s/VTE actif _______________ > on affiche le prix
	if ( szZone=='ZI' && document.forms['RGL_FORM'].VTE_TTC_Calc)
	{
		//alert(document.forms['RGL_FORM'].VTE_TTC_Calc.value);
	    document.forms['RGL_FORM'].VTE_TTC_Calc.value = ccTotal;
	    document.forms['RGL_FORM'].VTE_Com_Calc.value = Math.round((parseFloat(ccTotal) * document.forms['RGL_FORM'].VTE_Com_PC.value / 100) * 100) / 100;
	    document.forms['RGL_FORM'].VTE_A_Payer.value = Math.round((parseFloat(ccTotal) - document.forms['RGL_FORM'].VTE_Com_Calc.value) * 100) / 100;
	}
	
	return ccTotal;
}

function montrer_cacher_simple(id)
{

//    try{
        if(id) element = document.getElementById(id);
        if(element.style.display == 'none')
        {
    		element.style.display = 'block';
    	}
        else
        {
    		element.style.display = 'none';
            document.getElementById('background_masque_popup').style.display = 'none';    		
    	}
//    }catch(err){}
}

function fctOPT_CALC(inputItem,szZone,ccZone_Offset,Option_Id,lgProduit_Id) 
{
	//Définit le champ hidden temporaire
	var ZoneTotal = "Temp_Total_"+szZone;
	var TbQte = document.getElementById('tb'+szZone+'_ACCs_Qte['+Option_Id+']').value;
	//alert(TbQte);
	
	with (inputItem.form) 
	{
	  	//.Si PAS coché _______________________________________
		if (inputItem.checked == false) 
	  	{ 
			if(szZone == 'ZI')
			{
				if(lgProduit_Id != 'NULL')
				{
					szProduits = '&lgProduit_Id='+lgProduit_Id
				}else szProduits = '';
				
//alert('VCH_OPTs_Details_A_01.php?lgProduit_Id='+product_id+'&lgTiers_Id='+tiers_id+'&szTRFkey='+sztrfkey);
                
                //Pour div sur page paiement sur la franchise REMBOURSABLE !
                var elemCible = 'popup_franchise_new';
            	document.getElementById(elemCible).style.display='block';
            
                // sinon on va chercher la desc
              
                req = new Request({
                    method: 'post',
                    url: 'popup_evenement.php',
                    data: {lgPriceFSE:inputItem.value,lgTotalPrice:ccZone_Offset,lgProduit_Id:lgProduit_Id},

                    onComplete: function(response) {
                        current_elem = $(elemCible);
                        current_elem.innerHTML = response;
                        current_fx = new Fx.Slide($(elemCible).firstChild);
                        current_fx.hide();
                        current_fx.show();
                    }
                }).send();

                
                //popup_franchise_new
				//__old .... PopupCentrer("popup_evenement.php?lgPriceFSE="+inputItem.value+"&lgTotalPrice="+ccZone_Offset+szProduits,230,405,"menubar=no,scrollbars=yes,statusbar=no");
			}
			if (inputItem.name.substring(2,4) == szZone)
			{
	  				document.getElementById('tb'+szZone+'_ACCs_Qte['+Option_Id+']').value = 0;
					fctOPT_Prix_AFF(szZone+Option_Id,0);
			}
	    }
	  	//.Si coché _______________________________________
		else 
		{

			if (inputItem.name.substring(2,4) == szZone)
			{
	  			document.getElementById('tb'+szZone+'_ACCs_Qte['+Option_Id+']').value = 1;

				var Prix_Calc = parseFloat(eval(inputItem).value) * 1; //eval(TbQte);
				fctOPT_Prix_AFF(szZone+Option_Id,Prix_Calc);
		  	}

			if(szZone == 'ZI')
			{
                //Pour div sur page paiement sur la franchise REMBOURSABLE !
                var elemCible = 'popup_franchise_new';
            	document.getElementById(elemCible).style.display='none';
   			}
		}
	    return 0;
	}
}

function fctOPT_Qte_UPD(szZone,Option_Id)
{
	//Définit le champ hidden temporaire
	var ZoneTotal = "Temp_Total_"+szZone;
	var TbQte = document.getElementById('tb'+szZone+'_ACCs_Qte['+Option_Id+']').value;
	var inputItem = document.getElementById('tb'+szZone+'_ACCs['+Option_Id+']');
//alert (inputItem.value);
	if (TbQte < 1) 
	{
	  	document.getElementById('tb'+szZone+'_ACCs['+Option_Id+']').checked = false;
		fctOPT_Prix_AFF(szZone+Option_Id,0);
	}
	else 
	{
	 	document.getElementById('tb'+szZone+'_ACCs['+Option_Id+']').checked = true; 
	 	var tmp = inputItem.value * TbQte;
		fctOPT_Prix_AFF(szZone+Option_Id,tmp);
	}
	return 0;	
}

function fctOPT_Prix_AFF(div_id,prix_aff)
{
  var Obj = document.getElementById(div_id);
  document.getElementById(div_id).innerHTML = formatCurrency(prix_aff);
//alert(div_id,prix_aff);
  if(eval(prix_aff) < 0) Obj.style.visibility = "hidden";
  else Obj.style.visibility = "visible";
}

// formatage des valeurs à afficher. _________________________________________
function formatCurrency(num) 
{
  num = num.toString().replace(/\$|\,/g,'');
  if(isNaN(num)) num = "0";
  sign = (num == (num = Math.abs(num)));
  num = Math.floor(num*100+0.50000000001);
  cents = num%100;
  num = Math.floor(num/100).toString();
  if(cents<10) cents = "0" + cents;
  for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
  num = num.substring(0,num.length-(4*i+3)) + ',' + num.substring(num.length-(4*i+3));
  return (((sign)?'':'-') + num + '.' + cents);	
}

function dsp(loc){
   if(document.getElementById){
      var foc=loc.firstChild;
      foc=loc.firstChild.innerHTML?
         loc.firstChild:
         loc.firstChild.nextSibling;
      foc.innerHTML=foc.innerHTML=='+'?'-':'+';
      foc=loc.parentNode.nextSibling.style?
         loc.parentNode.nextSibling:
         loc.parentNode.nextSibling.nextSibling;
      foc.style.display=foc.style.display=='block'?'none':'block';}}  

if(!document.getElementById)
   document.write('<style type="text/css"><!--\n'+
      '.dspcont{display:block;}\n'+
      '//--></style>');
      

// Repris depuis script.js

function isValidSubmit( form,CST_ERROR )
{
	// On teste si le formulaire est bien passé en paramètres
	if( form != null )
	{
		for( var i=0; i < form.elements.length; i++ )
		{
			// On assigne l'element dans elem.
	    var elem = form.elements[i];
	    
	    
	    // On effectue des tests sur les TEXTBOX
	    if( elem.tagName == 'INPUT' && elem.type == 'text' )
	    {
	    	// [1] test de la textbox vide
				if( elem.value == '' )
				{
					alert(CST_ERROR + elem.name + ' ');
					return false
				}
				
				// [2] test de la textbox qui garde sa valeur par défaut
				if( elem.defaultValue != null && elem.value == elem.defaultValue )
				{
					alert(CST_ERROR + elem.name + ' ');
					return false;
				}
			}
			
	  }
	  // On a passé tous les tests avec succès.
	  return true;
	}
	else
		return false;
}
// fonction à l'arrache, prévoir un branchement mootools
function toggleMenu(el, over)
{
 if (over) {
 el.className = 'over';
 }
 else {
 el.className = '';
 }
}

