//Fonction qui insere des séparateur entre les milliers 
function format(nbre)
{
  	  var str_nbre = "";
   	  var i=0;
	  var float = false;
	 
	  nbre = arrondi (nbre);
	  
	//Emplacement de la virgule (dans le cas d'un float)
	while (nbre.toString().substr(i,1) != '.' && i<nbre.toString().length)
	{
		i++;
	}
	
	//    Est on arrivé a la fin du nombre sans trouver de virgule ?
	if (i < nbre.toString().length )
	{
		float = true;
	}
	//    Si le nombre est un décimal alors on le coupe en deux partie (entiere et décimale)
	if (float)
	{
		partie_entiere = nbre.toString().substr(0,i);
		partie_decimale = nbre.toString().substr(i+1,nbre.toString().length-i);
	}
	//	  Sinon on conserve le nombre tel quel
	else
		partie_entiere = nbre;
	
	taille = partie_entiere.toString().length;
	
	// Si la partie entiere ne contient pas de millier on ne la traite pas 
	if (taille >= 4)
	{
		var str_nbre = "";
		//    Découpage de le fin vers le début, par longueur de 3 (de la partie entiere)
		for (cpt = partie_entiere.toString().length - 3; cpt >= 0; cpt -=  3 )
		{
			 str_nbre = partie_entiere.toString().substr(cpt, 3) + " " + str_nbre;
			 
		}
				
		//    S'il y a un reste on traite (exemple : dans '3 345 156' cette partie completerait le '3')
		if ( (partie_entiere.toString().length % 3) != 0 )
		  str_nbre = partie_entiere.toString().substr(0, partie_entiere.toString().length % 3) + " " + str_nbre;
		
		//    Suppression du dernier .
		 	str_nbre = str_nbre.substr(0, str_nbre.length - 1);
    }
	else 
		str_nbre = partie_entiere.toString();
	
	//    Ajout de la partie décimale si elle existe 
	if (float)
		str_nbre += "." + partie_decimale.toString(); /*.substr(0,2); */// tronquer a 2 chiffres après la virgule
	
    //    Retour du résultat
    return (str_nbre);
	
}


function arrondi (nb)
{
	virgule (nb); 					// On remplace les virgules par des points
	nb = parseFloat(nb); 			// On converti le nombre en float (c'est une chaine de caractere) 
	nb = nb*100;					// On multipli par 100 de maniere à pouvoir arrondir vers un entier sans perdre les 2 chiffres apres la virgule
	return (Math.round(nb))/100;	// On arrondi puis divise par 100.
}


function EnvoyerVers (formu,url)
{
	document.forms[""+formu+""].action =  url ;
	document.forms[""+formu+""].target="_self" ;
	document.forms[""+formu+""].submit();
}



function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- Le champ e-mail doit contenir une adresse e-mail.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- Le champ '+nm+' doit contenir un nombre.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- Le champ '+nm+' doit contenir un nombre compris entre '+min+' et '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- Le champ '+nm+' est obligatoire.\n'; }
  } if (errors) alert('\n'+errors);
  document.MM_returnValue = (errors == '');
}


function disableRightClick(e)
{
  var message = "Laisse tomber";
  
  if(!document.rightClickDisabled) // initialize
  {
    if(document.layers) 
    {
      document.captureEvents(Event.MOUSEDOWN);
      document.onmousedown = disableRightClick;
    }
    else document.oncontextmenu = disableRightClick;
    return document.rightClickDisabled = true;
  }
  if(document.layers || (document.getElementById && !document.all))
  {
    if (e.which==2||e.which==3)
    {
      <!--alert(message);
      return false;
    }
  }
  else
  {
    <!--alert(message);
    return false;
  }
}

// Detecte la fermeture du navigateur (à l'évenement onUnload)
function FermerApplication(page,page_this,nb_article_apnier)
{
	
	 if (screenTop > 9999) 
	 {	
	   //alert('Vous venez de fermer votre navigateur');
		  if (nb_article_apnier > 0)
		  {
			if (confirm('Etes vous sur ? Le contenu de votre panier sera perdu'))
					 window.open(page);  
			 else
			 {
				win = window.open(page_this);
				win.resizeTo(800,600);//win.resizeTo(screen.width+2,screen.height-25);
				win.moveTo(-2,-2);
			 }
		  }
		  else
		   	window.open(page);  
		 
	  }
	  
	  
	 // Détection de la fermeture du navigateur pour IE7
	 /* else if (window.event.clientY < 0 && (window.event.clientX > (document.documentElement.clientWidth - 5) || window.event.clientX < 15)) 
	  {
		  if (confirm('Etes vous sur ? Le contenu de votre panier sera perdu2'))
		  	window.open(page);  //alert('Vous venez de fermer votre navigateur');
	  }*/

}



// Impression, appercu avant impression etc... 
function ieExecWB( intOLEcmd, intOLEparam ) 
{
	var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
	document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
	if (!intOLEparam || intOLEparam < -1 || intOLEparam > 1 ) 
	{
		intOLEparam = 1;
	}
	WebBrowser1.ExecWB( intOLEcmd, intOLEparam );
	WebBrowser1.outerHTML = "";
}


function suprEspaces (texte)
{
	return texte.replace(/ /g,'');
}

function virgule (texte)
{
	return texte.replace(/,/g,'.');
}

function tiret (texte)
{
	return texte.replace(/-/g,'');
}


//Formatage de numéro de téléphone 
function FormaTel (num_tel,evt)
{
	if (evt.keyCode != "8" && num_tel.length < 14) // Touche " <- "
	{
		num_tel = tiret(num_tel);
		new_num_tel = "";
	
		for ( i = 0 ; i<= num_tel.length ; i++)
		{
			if (i%2 == 0 && i != 0 )
				new_num_tel += '-';
			if (i < num_tel.length)
				new_num_tel += num_tel.charAt(i);
		}
	}
	else new_num_tel = num_tel;
	
	
	return new_num_tel;
}


function afficherCacher (element)
{
	if (element.className == 'hidden')
		element.className ='';
	else
		element.className = 'hidden';
}


// Fonction qui execute une requete en dynamique (sans recharger toute la page)
function request (f,page_script,nom_liste_destination,nom_liste_source)
{
	 source = f.elements[nom_liste_source];
	 destination = f.elements[nom_liste_destination];
	 index = source.selectedIndex;

	// La première option du select source est considérer comme "aucun choix", onexecute donc pas la requete
	if(index < 1)
	   destination.options.length = 0;
	
	else 
	{
	
	   var xhr_object = null;
		
		// Déclaration de l'objet en fonction du navigateur (appélation differentes)
		
		if(window.XMLHttpRequest) // Firefox
     	  xhr_object = new XMLHttpRequest();
   		else if(window.ActiveXObject) // Internet Explorer
      		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
   			 else 
			 { // XMLHttpRequest non supporté par le navigateur
     			 alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
      			 return;
   			 }

	  //  méthode de transmission des données (POST) , l'action (URL de la page php)
	  xhr_object.open("POST", page_script, true);
	
	  // Asynchrone, on attend que l'état soit 4 (requete terminé, donnés accessibles)
	  xhr_object.onreadystatechange = function etat_final()
	   {
	   	 //alert(xhr_object.readyState);
      		if(xhr_object.readyState == 4)
        		eval(xhr_object.responseText);  // On execute le code javascript renvoyer par la requete (celel executée dans la page entite_user.php)
		}

   // Envoi de la requete et attente d'une réponse (voir fonction etat_final() )
   xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   var data = "code_regate="+escape(source.options[index].value)+"&form="+f.name+"&select="+destination.name;
   xhr_object.send(data);
 	

	}
}



