//gestion d'un indicateur de chargement pour les requetes ajax

var indicateur1 = false;
var indicateur2 = false;
var myGlobalHandlers = {
        onCreate: function(){
				if((indicateur1) && $('indicateur'))
                	$('indicateur').setStyle({visibility: 'visible'});
				if((indicateur2) && $('indicateur2'))
                	$('indicateur2').setStyle({visibility: 'visible'});
         },
		onComplete: function(){
			if(indicateur1)
                $('indicateur').setStyle({visibility: 'hidden'});
			if(indicateur2)
				$('indicateur2').setStyle({visibility: 'hidden'});
        }
    };
Ajax.Responders.register(myGlobalHandlers);


//Gestion d'un nombre aleatoire
//Dans le but de ne pas planter suivant les navigateurs
function nb_aleatoire(nb)		{	return Math.floor(Math.random() * nb)+1;	}


//Ecrit dans un DIV "div" le texte "texte"
//Permet l'affichage dynamique
function writediv(texte,div)	{	document.getElementById(div).innerHTML = texte;	}

//Interface de connexion AJAX
//Afin de transiter avec les scripts PHP de manière
//Totalement transparente pour l'utilisateur
function file(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);
}

//Permet d'ajouter des produits 
//A comparer via les checkbox
//Et de les supprimer de la comparaison en decochant
//Ce script transit via une page PHP
function comparaison(id, niv)
{
	var nb=nb_aleatoire(1000000);
	var texte="";
	var test = "check_"+id;
	num = getnumElement("produits",test);
	
	if(document.produits.elements[num].checked==true)	{	act = "add";	}
	if(document.produits.elements[num].checked==false)	{	act = "suppr";	}
	
	
	new Ajax.Updater('comparateur', niv+'materiel-laboratoire/catalogue/compare_action.php', {
	  parameters: { 
		compare:id,
		niv:niv,
		nb:nb,
		act:act
	  },
	  method : 'get'
	});
	
	//if(texte = file('http://www.elvetec.fr/pages/catalogue/compare_action.php?compare='+id+'&niv='+niv+'&nb='+nb+'&act='+act))	{	writediv(texte,'comparateur');	}
	//else																					{	alert("plantage requête");		}
}

//PERMET de supprimer des produits de la comparaison
//En passant par le lien du comparateur
//Interfacé avec un script PHP
function supp_comparaison(niv, id)
{
	var nb=nb_aleatoire(1000000);
	var texte="";
	//alert(id);
	//alert(niv);
	
	//alert(niv+'pages/catalogue/compare_action');
	new Ajax.Updater('comparateur', niv+'materiel-laboratoire/catalogue/compare_action.php', {
	  parameters: { 
		id:id,
		act:"suppr",
		niv:niv,
		nb:nb
	  },
	  method : 'get'
	});
	
	
	/*
	if(texte = file('compare_action.php?id='+id+'&act=suppr'+'&niv='+niv+'&nb='+nb))			
	{	
		writediv(texte,'comparateur');	
	}
	else
	{	
		alert("plantage requête");		
	}
	*/
}

//function qui decoche la checkbox
//D'un produit comparé, 
//supprimé via le lien du comparateur
function decoche(i)
{
	var nom = "check_"+i;
	num = getnumElement("produits",nom);
	//alert(num);
	//alert(document.produits.elements[num].checked);
	document.produits.elements[num].checked=false;
}

//Recupere le numero d'un element de formulaire en focntion de son nom
function getnumElement(numform,nomelem)
{
	for (var i = 0; i < document.forms[numform].elements.length; i++) 
	{
		if(document.forms[numform].elements[i].name==nomelem)	{	id=i;	}
	}
	return id;
}

function Valid()
{
	document.produits.submit();
}


/*
function change_mt_ht(prix_ligne,qte,id){
	//on verifie que la reference existe bien
	if(id==""){
		alert("Une erreur est survenue");
		return false;
	}
	
	//on regarde la nouvelle qte et on verifie qu'elle ne soit pas vide ou egale à zero
	var qte = $F(qte);
	
	
	alert(prix_ligne*qte);
	//var total_ht_ligne = parseFloat(prix_ligne);
	//var parseFloat = parseInt(qte)*total_ht_ligne;
	
	//alert(parseFloat);
	
		
}
*/

function recalcul_panier(qte_ref,quantite_suppr,prix_ligne,id_ligne,promotion)
{
	//on verifie de quel tableaux provient l'evenement
	//afin d'affiche le bon indicateur
	if($(qte_ref).descendantOf('articlesp')){
		indicateur1 = true;
		indicateur2 = false;
	}else{
		indicateur2 = true;
		indicateur1 = false;
	}
	//on verifie que la reference existe bien
	if(qte_ref==""){
		alert("Une erreur est survenue");
		return false;
	}
	
	if(quantite_suppr==""){
		//on regarde la nouvelle qte et on verifie qu'elle ne soit pas vide ou egale à zero
		var valeur = $F(qte_ref);
	}else{
		var valeur = 0;
	}
	
	
	//on regarde la nouvelle qte et on verifie qu'elle ne soit pas vide ou egale à zero
	var quantite = $F(qte_ref);

	
	if(quantite!=0){
		//alert(parseFloat(prix_ligne));
		$(id_ligne).update(number_format(parseFloat(prix_ligne)*quantite, 2, ',', ' ')); 
	}
	
	if(quantite_suppr=="0"){
		//alert("in");
		var valeur = 0;
	}
		
	//alert(quantite_suppr);
	
	//on envoit à la page panier_recalcul la nouvelle quantité et la ref pour mettre à jour les totaux
	

	
	new Ajax.Request('panier_recalcul.php', { method: 'post' ,evalScripts: true , parameters:{qte_ref : qte_ref, qte : valeur, promotion:promotion}, onSuccess : function(transport){
		var datas = transport.responseText;
		var reg = new RegExp("[,]+", "g");
		var tableau_datas = datas.split(reg);
		var big_total  = 0;
		var contenu = '<a href="javascript:history.back();" class="bouton_gris" style="margin-right:10px"><span>Continuer votre s&eacute;lection d\'articles</span></a><a href="vide_panier_total.php" class="bouton_gris" style="margin-right:180px"><span>Vider votre panier</span></a>';
		var contenu2 = "";
		var contenu3= "";
		var ht_sans_frais_port = 0;
		
		
		
		if($('ht1')){
			/*Element.update('ht1',tableau_datas[0]);
			Element.update('ttc1',tableau_datas[1]);
			Element.update('fdp1',tableau_datas[2]);
			Element.update('total1',tableau_datas[3]);*/
			if(!isNaN(tableau_datas[0])) {
				//les frais de port sont pas offert! 
				//alert("la");
				$('ht_ht1').update(number_format(tableau_datas[9],2,',',' '));
				$('fdp1').update(number_format(tableau_datas[0], 2, ',', ' ')+" &euro;");
				
			}else{
				//les frais de ports sont offerts
				//alert("la2");
				$('ht_ht1').update(number_format(tableau_datas[9],2,',',' '));
				$('fdp1').update(tableau_datas[0]);
				
			}
			
			if(!isNaN(tableau_datas[11])) {
				//les frais de port sont pas offert! 
				//alert("la");
				$('fdt1').update(number_format(tableau_datas[11], 2, ',', ' ')+" &euro;");
			}else{
				//les frais de ports sont offerts
				//alert("la2");
				$('fdt1').update(tableau_datas[11]);
			}
			
			
			
			ht_sans_frais_port += parseFloat(tableau_datas[1]);
			
			$('ht1').update(number_format(tableau_datas[1], 2, ',', ' '));
			//$('ttc1').update(tableau_datas[1]);
			$('total1').update(number_format(tableau_datas[2], 2, ',', ' '));
			
			
			if($('ht_prom_ht1')){
				$('ht_prom_ht1').update(number_format((tableau_datas[9]*0.90), 2, ',', ' '));
			}
			
			
			/*if(ht_sans_frais_port)
				big_total = parseFloat(tableau_datas[2]);
			else
				big_total = parseFloat(tableau_datas[1]);
			*/
			
			if(!isNaN(tableau_datas[0])) {
				ht_sans_frais_port -= parseFloat(tableau_datas[0]);
			}
			
			if(ht_sans_frais_port)
				big_total = parseFloat(tableau_datas[2]);
			
		}
		if($('ht2')){
			/*Element.update('ht2',tableau_datas[4]);
			Element.update('ttc2',tableau_datas[5]);
			Element.update('fdp2',tableau_datas[6]);
			Element.update('total2',tableau_datas[7]);*/
			if(!isNaN(tableau_datas[3])) {
				$('ht_ht2').update(number_format(tableau_datas[10],2,',',' '));
				$('fdp2').update(number_format(tableau_datas[3], 2, ',', ' ')+" &euro;");
			
			}else{
				$('ht_ht2').update(number_format(tableau_datas[10],2,',',' '));
				$('fdp2').update(tableau_datas[3]);
				
			}
			
			if(!isNaN(tableau_datas[12])) {
				
				$('fdt2').update(number_format(tableau_datas[12], 2, ',', ' ')+" &euro;");
			}else{
				
				$('fdt2').update(tableau_datas[12]);
			}
			
			ht_sans_frais_port += parseFloat(tableau_datas[4]);
			
			$('ht2').update(number_format(tableau_datas[4], 2, ',', ' '));
		//	$('ttc2').update(tableau_datas[5]);
			$('total2').update(number_format(tableau_datas[5], 2, ',', ' '));
			
			if($('ht_prom_ht2')){
				$('ht_prom_ht2').update(number_format((tableau_datas[10]*0.90), 2, ',', ' '));
			}
			
			/*
			if(ht_sans_frais_port!=0)
				big_total = big_total+parseFloat(tableau_datas[5]);
			else
				big_total = big_total+parseFloat(tableau_datas[4]);
			*/
			
			if(!isNaN(tableau_datas[0])) {
				ht_sans_frais_port -= parseFloat(tableau_datas[3]);
			}
			
			if(ht_sans_frais_port!=0)
				big_total = big_total+parseFloat(tableau_datas[5]);
				
				
			contenu2 += '<a href="devis.php" class="bouton_vert2" style="margin-right:20px"><span>Demander un devis pour<br />l&rsquo;ensemble des articles du panier</span></a>';
		}
		
		
		
		
		new Ajax.Request('session_total_recalcul.php', { method: 'post' , parameters:{total : big_total}});
		
		
		//on regarde la nouvelle qte et on verifie qu'elle ne soit pas vide ou egale à zero
		if(valeur=="" || valeur==" " || valeur==0){
		
			if($("erreur_"+qte_ref))
					$("erreur_"+qte_ref).remove(); 
			
			//on regarde si il y a des lignes autour
			//si aucune ligne, on peux supprimer carrément le tableaux
			if($(qte_ref).up('tr').previous()==undefined && $(qte_ref).up('tr').next('tr').hasClassName('total')){
				$(qte_ref).up('table').remove();
			}else{ //on supprime la ligne qui n'est plus nécessaire
				$(qte_ref).up('tr').remove();
				//alert("erreur_"+qte_ref);
			}
			
			//mise à jour du nombre d'article dans le panier en haut de page
			//à corriger!!
			//alert(tableau_datas[6]);
			
			if(tableau_datas[6]>1)
				$('nb_articles').update(tableau_datas[6]+" articles");
			else if(tableau_datas[6]==1)
				$('nb_articles').update("1 article");
			else if(tableau_datas[6]==0)
				$('nb_articles').update("0 article");
		}else{
			//on verifie si la quantité n'est pas multiple et on insere la div d'erreur dans ce cas
		
			if(tableau_datas[7]!="0" && !$("erreur_"+qte_ref)){
				new Insertion.After($(qte_ref).up('tr'), "<tr id='erreur_"+qte_ref+"'><td style='text-align:left;background-color:#ffffff;font-weight:bold;color:#be3030' colspan='10'>"+tableau_datas[7]+"</td></tr>");
			}else{
				if($("erreur_"+qte_ref) && (tableau_datas[7]=="0" || tableau_datas[7]=="1"))
					$("erreur_"+qte_ref).remove(); 
			}
		}
		
		
		
		
		//alert(tableau_datas[0]);
		//alert(tableau_datas[3]);
		
		//alert($('ht2').innerHTML); 
		
	
		if($("plafond_commande") && (ht_sans_frais_port)>parseFloat($("plafond_commande").getValue())){
			contenu += " <strong style='color:#FF0000;text-decoration:blink;'>Vous ne pouvez pas dépasser votre plafond de commande : "+$("plafond_commande").getValue()+" &euro;</strong>";
		}else if($("plafond_commande_cumul_restant") && ht_sans_frais_port>parseFloat($("plafond_commande_cumul_restant").getValue())){
				contenu += " <strong style='color:#FF0000;text-decoration:blink;'>Vous avez atteint votre plafond cumulé de commande. Il vous reste : "+$("plafond_commande_cumul_restant").getValue()+" &euro;</strong>";	
		}else{
			//alert(parseFloat($('ht1').innerHTML));
			//var test = (big_total/1.196)-parseFloat($('ht2'))-parseFloat($('ht1'));
			//alert(ht_sans_frais_port);
			
			if( ht_sans_frais_port<parseFloat($("montant_min").getValue())){
				contenu += '<strong style="color:#FF0000;text-decoration:blink;">Montant trop faible pour commander (minimum : '+$("montant_min").getValue()+' &euro;)</strong>';
				$("navigation_bottom_ajax").update(contenu);
			}else{
				if(tableau_datas[8]==0 && tableau_datas[7]==0){
					if($('ht1') && $('ht2')){
						contenu += '<a href="javascript:document.form_panier.submit();" class="bouton_vert2"><span>Valider ma commande et demander<br />un devis pour les articles sp&eacute;cifiques</span></a>';
						contenu += contenu2;
					}else{
						if($('ht1'))
							contenu += '<a href="javascript:document.form_panier.submit();" class="bouton_vert2"><span>Valider ma commande<br />&nbsp;</span></a>';
						
						if($('ht2'))
							contenu += contenu2;
					}
				}				
			}
		}
		
		$("navigation_bottom_ajax").update(contenu);
		
		
	}
	});

	//panier_recalcul.php";
}

// vérification des formulaires de contact de demande de doc et de devis
function control()	{
        err = true;
        var obj;
		var mail = document.formulaire.email.value;
	//if (( document.formulaire.email.value == "")||(mail.search(/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$/) == -1))
	if (( document.formulaire.email.value == "")||(mail.search(/[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+/) == -1))
	   {	err = false; strMessage="Veuillez entrer votre e-mail"; obj=document.formulaire.email;
        }
    else if ( document.formulaire.nom.value == "")
        {	err = false; strMessage="Veuillez entrer votre nom"; obj=document.formulaire.nom;
        }
	else if ( document.formulaire.prenom.value == "")
        {	err = false; strMessage="Veuillez entrer votre prénom"; obj=document.formulaire.prenom;
        }
	else if ( (document.formulaire.telephone.value == "")|| (isNaN(document.formulaire.telephone.value)))
        {	err = false; strMessage="Veuillez entrer votre numéro de téléphone"; obj=document.formulaire.telephone;
        }
	else if ( document.formulaire.rue.value == "")
        {	err = false; strMessage="Veuillez entrer votre rue"; obj=document.formulaire.rue;
        }
	else if ( (document.formulaire.cp.value == "")|| (isNaN(document.formulaire.cp.value)))
        {	err = false; strMessage="Veuillez entrer votre code postal"; obj=document.formulaire.cp;
        }
	else if (document.formulaire.ville.value == "")
        {	err = false; strMessage="Veuillez entrer votre ville"; obj=document.formulaire.ville;
        }
	else if (document.formulaire.pays.value == "")
        {	err = false; strMessage="Veuillez entrer votre pays"; obj=document.formulaire.pays;
        }
    if (!err)
        {   alert(strMessage); obj.focus(); return false;
        }
    else return true;
}



/* a remplacer quand ca sera en ligne!!!!! */

function get_acc_conso_lies(ref,catalogue,ARIFAM,ARISFA,desi){
	$('tableau_accessoire_lies').update("");
	new Ajax.Updater('tableau_accessoire_lies', 'http://www.elvetec.fr/materiel-laboratoire/catalogue/get_accessoires_lies.php', 
		{ 
			method: 'post' ,
			parameters:{
				ref : ref,
				catalogue : catalogue,
				ARIFAM : ARIFAM,
				ARISFA : ARISFA,
				desi : desi
			}
		}
	);
	
	$('tableau_consommable_lies').update("");
	new Ajax.Updater('tableau_consommable_lies', 'http://www.elvetec.fr/materiel-laboratoire/catalogue/get_consommables_lies.php', 
		{ 
			method: 'post' ,
			parameters:{
				ref : ref,
				catalogue : catalogue,
				ARIFAM : ARIFAM,
				ARISFA : ARISFA,
				desi : desi
			}
		}
	);
	return false;
}



//number format en js!!!
/* Made by Mathias Bynens <http://mathiasbynens.be/> */
function number_format(a, b, c, d) {
 a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
 e = a + '';
 f = e.split('.');
 if (!f[0]) {
  f[0] = '0';
 }
 if (!f[1]) {
  f[1] = '';
 }
 if (f[1].length < b) {
  g = f[1];
  for (i=f[1].length + 1; i <= b; i++) {
   g += '0';
  }
  f[1] = g;
 }
 if(d != '' && f[0].length > 3) {
  h = f[0];
  f[0] = '';
  for(j = 3; j < h.length; j+=3) {
   i = h.slice(h.length - j, h.length - j + 3);
   f[0] = d + i +  f[0] + '';
  }
  j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
  f[0] = j + f[0];
 }
 c = (b <= 0) ? '' : c;
 return f[0] + c + f[1];
}


//redirige sur la page des commande d'un compte secondaires
function get_cmd(id_secondaire) {
	if(id_secondaire!='')
		window.location = '../../materiel-laboratoire/espace_client/comptes_secondaires_commandes.php?id='+id_secondaire;
}

