  /**************************************************/
 /********* FONCTIONS COMMUNES JAVASCRIPT *********/
/************************************************/
function makearray(n) {
	this.length = n;
	for(var i = 1; i <= n; i++)
		this[i] = 0;
	return this;
}

hexa = new makearray(16);
function fade(sr, sg, sb, er, eg, eb, step){
	for(var i = 0; i < 10; i++)
	hexa[i] = i;
	hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
	hexa[13]="d"; hexa[14]="e"; hexa[15]="f";
	for(var i = 0; i <= step; i++){
		setbgColor(
		Math.floor(sr * ((step-i)/step) + er * (i/step)),
		Math.floor(sg * ((step-i)/step) + eg * (i/step)),
		Math.floor(sb * ((step-i)/step) + eb * (i/step)));
	}
}

function customfade(){
/*si fonction customfade() désactivé (return) -> activer la couleur de fond sur BODY (arkiane.css) */
/* background: #5035AE;*/
return
	sr = 255
	sg = 255
	sb = 255
	er = 80
	eg = 53
	eb = 174
	step = 64
	for(var i = 0; i < 10; i++)
		hexa[i] = i;
		hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
		hexa[13]="d"; hexa[14]="e"; hexa[15]="f";
		for(var i = 0; i <= step; i++)
		{
			setbgColor(
			Math.floor(sr * ((step-i)/step) + er * (i/step)),
			Math.floor(sg * ((step-i)/step) + eg * (i/step)),
			Math.floor(sb * ((step-i)/step) + eb * (i/step)));
		}
}

function hex(i) {
	if (i < 0)
		return "00";
	else if (i > 255)
		return "ff";
		else return "" + hexa[Math.floor(i/16)] + hexa[i%16];
}

function setbgColor(r, g, b) {
	var hr = hex(r), hg = hex(g), hb = hex(b);
	document.bgColor = "#"+hr+hg+hb;
}

function DisableBtnSuite(){
/* pour éviter les clicks successifs */
	/* le formulaire est référencé */
	document.forms[0].b_next.disabled = 1;
	document.forms[0].submit();
	/* si on veut nommer le formulaire */
	/*document.nom_du_formulaire.nom_du_bouton.disabled = 1;
	document.nom_du_formulaire.submit();*/
}

function EnableCC(){
/* active les zones de saise CB  */
	document.forms[0].num_cb.disabled = 0;
	document.forms[0].mois_exp.disabled = 0;
	document.forms[0].an_exp.disabled = 0;
	document.forms[0].crypto.disabled = 0;
	document.forms[0].num_cb.className = "form";
	document.forms[0].mois_exp.className = "form";
	document.forms[0].an_exp.className = "form";
	document.forms[0].crypto.className = "form";
}
function DisableCC(){
/* desactive les zones de saise CB  */
	document.forms[0].num_cb.disabled = 1;
	document.forms[0].mois_exp.disabled = 1;
	document.forms[0].an_exp.disabled = 1;
	document.forms[0].crypto.disabled = 1;
	document.forms[0].num_cb.value = "";
	document.forms[0].mois_exp.value = "";
	document.forms[0].an_exp.value = "";
	document.forms[0].crypto.value = "";
	document.forms[0].num_cb.className = "disabled";
	document.forms[0].mois_exp.className = "disabled";
	document.forms[0].an_exp.className = "disabled";
	document.forms[0].crypto.className = "disabled";
}

function currentpage(numpage){
	document.form_dispo.no_appel.value = numpage;
	document.form_dispo.submit();
}

function envoiMail(){
	action="mailto:";
	document.courrier.action=action;
}

function MM_openBrWindow(theURL,winName,features, myWidth, myHeight, isCenter) {
	if(window.screen)if(isCenter)if(isCenter=="true"){
		var myLeft = (screen.width-myWidth)/2;
		var myTop = (screen.height-myHeight)/2;
		features+=(features!='')?',':'';
		features+=',left='+myLeft+',top='+myTop;
	}
	window.open(theURL,winName,features+((features!='')?',':'')+'width='+myWidth+',height='+myHeight);
}
/*utilité de mailconf et last_minute?!*/
function verif_coord(lang,mailconf,top_no){
	if(document.form_coord.cc_accept.checked == false){
		switch (lang){
			case "FR" :
				msg = "Vous devez accepter les conditions générales pour poursuivre !";
				break;
			default :
				msg="You must accept the general conditions !";
		}
		setTimeout('Flash(msg)', speed);
		document.form_coord.cc_accept.focus();
		return false;
	}
	zone=document.form_coord.nom.value;
	if ((zone.length<1) || (zone == "")){
		switch (lang)	{
			case "FR" :
				msg="Veuillez entrer votre nom !";
				break;
			default :
				msg="Enter your last name !";
		}
		setTimeout('Flash(msg)', speed);
		document.form_coord.nom.focus();
		return false;
	}
	zone=document.form_coord.prenom.value;
	if ((zone.length<1) || (zone == "")){
		switch (lang)	{
			case "FR" :
				msg="Veuillez entrer votre prénom !";
				break;
			default :
				msg="Enter your first name !";
		}
		setTimeout('Flash(msg)', speed);
		document.form_coord.prenom.focus();
		return false;
	}
	if(parseInt(top_no) > 0) {
		/* Si TO on ne demande pas la confirmation des infos si dessous */
	} else {
		zone=document.form_coord.adr1.value;
		if ((zone.length<1) || (zone == "")){
			switch (lang)	{
				case "FR" :
					msg="Veuillez entrer votre adresse !";
					break;
				default :
					msg="Enter your address !";
			}
			setTimeout('Flash(msg)', speed);
			document.form_coord.adr1.focus();
			return false;
		}
		zone=document.form_coord.cp.value;
		if ((zone.length<1) || (zone == "")){
			switch (lang)	{
				case "FR" :
					msg="Veuillez entrer votre code postal !";
					break;
				default :
					msg="Enter your zip code !";
			}
			setTimeout('Flash(msg)', speed);
			document.form_coord.cp.focus();
			return false;
		}
		zone=document.form_coord.ville.value;
		if ((zone.length<1) || (zone == "")){
			switch (lang)	{
				case "FR" :
					msg="Veuillez entrer votre ville !";
					break;
				default :
					msg="Enter your city !";
			}
			setTimeout('Flash(msg)', speed);
			document.form_coord.ville.focus();
			return false;
		}
		zone=document.form_coord.pays.value;
		if ((zone.length<1) || (zone == "")){
			switch (lang)	{
				case "FR" :
					msg="Veuillez entrer votre pays !";
					break;
				default :
					msg="Enter your country !";
			}
			setTimeout('Flash(msg)', speed);
			document.form_coord.pays.focus();
			return false;
		}
		zone=document.form_coord.tel.value;
		if ((zone.length<1) || (zone == "")){
			switch (lang)	{
				case "FR" :
					msg="Veuillez entrer votre téléphone !";
					break;
				default :
					msg="Enter your phone number !";
			}
			setTimeout('Flash(msg)', speed);
			document.form_coord.tel.focus();
			return false;
		}
	} /* Fin pas TO */

	zone=document.form_coord.email.value;
	var modele = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9.-]{2,}\.[a-zA-Z]{2,5}$/i;
	if(!modele.test(zone)){
		switch (lang)	{
				case "FR" :
					msg="Ce n'est pas une adresse électronique valide !";
					break;
				default :
					msg="Wrong email!";
			}
		setTimeout('Flash(msg)', speed);
		document.form_coord.email.focus();
		return false;
	}
	/*cc_secure_cheked = "true"*/ /*oc191004-cb obligatoire */
	cc_secure_cheked = document.form_coord.cc_secure[1].checked + "";
	/* ac030206 si ancienne ligne, pas le choix de paiement > CB obligatoire là on a le choix */

	if(cc_secure_cheked == "true"){
		zone=document.form_coord.num_cb.value;
		var modele = /^[0-9]{16}$/i;
		if(!modele.test(zone)){
			switch (lang)	{
				case "FR" :
					msg="Le numéro de carte de crédit doit comporter 16 chiffres sans espaces.";
					break;
				default :
					msg="Card number must be 16 digits without spaces.";
			}
			setTimeout('Flash(msg)', speed);
			document.form_coord.num_cb.focus();
			return false;
		}
		mois_exp = document.form_coord.mois_exp.value;
		an_exp   = document.form_coord.an_exp.value;
		var modele_mois = /^[0-1]{1}[0-9]{1}$/i;
		var modele_an = /^[0-9]{2}$/i;
		if (!modele_mois.test(mois_exp) || !modele_an.test(an_exp) ) {
			switch (lang)	{
				case "FR" :
					msg="Le date d'expiration doit être renseignée";
					break;
				default :
					msg="Expiration date must be informed.";
			}
			setTimeout('Flash(msg)', speed);
			document.form_coord.mois_exp.focus();
			return false;
		}
		zone=document.form_coord.crypto.value;
		var modele = /^[0-9]{3}$/i;
		if (!modele.test(zone)){
			switch (lang){
				case "FR" :
					msg="Veuillez entrer votre Cryptogramme visuel";
					break;
				default :
					msg="Enter your Three-digit CVV number";
			}
			setTimeout('Flash(msg)', speed);
			document.form_coord.crypto.focus();
			return false;
		}
    }
	document.form_coord.cc_accept.checked = false;
	//document.form_coord.b_next.disabled = 1;
	return true;
}

function submit_coord(lg,mail,top){
	var ok = verif_coord(lg,mail,top);
	if(ok){
		document.form_coord.submit();
	}
}

function Flash(mess) {
	if (visible == 0) {
		alert(msg);
		window.status=mess;
		visible=1;
	} else {
		alert(msg); // am 01/09/2003
		window.status="";
		visible=0;
	}
}

function verif_prest(){
return true
// à faire
alert(document.form_prest.rubr_qte.value);
	if (document.form_prest.rubr_qte.value < 0){
		alert("erreur");
		return false;
	}
	var chkZ = 1;
	for(i=0;i<document.form_prest.rubr_qte.value.length;++i)
		if(document.form_prest.rubr_qte.value.charAt(i) < "0"
			|| document.form_prest.rubr_qte.value.charAt(i) > "9")
			chkZ = -1;
		if(chkZ == -1) {
			switch (lang){
				case "FR" :
					alert("Quantité non autorisée !");
					break;
			default :
					alert("Quantity is incorrect !");
			}
			document.form_prest.rubr_qte.focus();
			return false;
		}
}

/*
The Arguments for windows.open

You have a number of options for the third argument. When you define any of them, the remaining Boolean values (which can be true/false or yes/no or 1/0) are all set to false/no/0. Whichever you choose to use, all of your options go into the same quoted string, with commas between the values, and no spaces are allowed between them.

height
    Defines the height of the window in pixels. Percentage values don t work.
width
    Defines the width. Again, you ll have no joy with percentages.
left
    Supported by version 4 browsers and above, this sets how far removed the window appears from the left of the screen. In pixels.
top
    Partner to left, this pushes the window off the top of the screen.
resizable
    Set to true or false, this may allow the user to resize the window.
scrollbars
    Another Boolean value, this adds scrollbars to the new window. If your content may be longer then the dimensions you ve specified, make sure this is set to yes.
toolbar
    Specifies whether the basic back/forward toolbar should be visible. If there are links to follow in your new page, set this to yes.
menubar
    Specifies whether the main toolbar (File, Edit, ...) is shown.
location
    Specifies whether the location toolbar (address bar) is shown.
status
    Specifies whether the new window can have a status bar. Best set to yes.
directories
    Specifies whether the directories toolbar is shown (Links toolbar in IE).
fullscreen
    Internet Explorer-only Boolean attribute which may open the window in fullscreen. It s annoying don t use it.
dependant
    Netscape 4-only attribute which makes the popup dependant on the status of the main window. If the main window is closed, the popup closes with it.
screenX & screenY
    Old Netscape attributes for defining the window s position on the page. Use left and top in their place.

*/

var newwindow;
function openpopup(url, width, height)
{
	newwindow=window.open(url,'name','height='+height+',width='+width+',left=0, top=0,resizable=yes,scrollbars=yes,toolbar=no,status=no')
	if (window.focus) {newwindow.focus()}
}

function MM_openBrWindow(theURL,winName,features) {
	window.open(theURL,winName,features);
}

//utilisé dans la fiche lot uniquement
function display(src_){
   document.getElementById('image').innerHTML   = redimImages_(src_, 350, 300);
}
//utilisé dans la fiche lot uniquement
function redimImages_(inImg, inMW, inMH){
  // Cette function recoit 3 parametres
  // inImg : Chemin relatif de l'image
  // inMW  : Largeur maximale
  // inMH   : Hauteur maximale
  var maxWidth = inMW;
  var maxHeight = inMH;
  // Declarations des variables "Nouvelle Taille"
  var dW = 0;
  var dH = 0;
  // Declaration d'un objet Image
  var oImg = new Image();
  // Affectation du chemin de l'image a l'objet
  oImg.src = inImg;
  // On recupere les tailles reelles
  var h = dH = oImg.height;
  var w = dW = oImg.width;
  // Si la largeur ou la hauteur depasse la taille maximale
  if ((h >= maxHeight) || (w >= maxWidth)) {
    // Si la largeur et la hauteur depasse la taille maximale
    if ((h >= maxHeight) && (w >= maxWidth)) {
      // On cherche la plus grande valeur
      if (h > w) {
        dH = maxHeight;
        // On recalcule la taille proportionnellement
        dW = parseInt((w * dH) / h, 10);
      } else {
        dW = maxWidth;
        // On recalcule la taille proportionnellement
        dH = parseInt((h * dW) / w, 10);
      }
    } else if ((h > maxHeight) && (w < maxWidth)) {
      // Si la hauteur depasse la taille maximale
      dH = maxHeight;
        // On recalcule la taille proportionnellement
      dW = parseInt((w * dH) / h, 10);
    } else if ((h < maxHeight) && (w > maxWidth)) {
      // Si la largeur depasse la taille maximale
      dW = maxWidth;
        // On recalcule la taille proportionnellement
      dH = parseInt((h * dW) / w, 10);
    }
  }
  // On ecrit l'image dans le document
  document.getElementById('image').innerHTML   = "<img src=\"" + inImg + "\" width=\"" + dW + "\" height=\"" + dH + "\" border=\"0\">";
}

//bc 17-05-2011 ajoute pour noel 2011 produits web
//on s'en sert pas
// function RemplirHidden(){
	// document.forms[0].opti_debut.value = document.forms[0].opti_debut_fin.value.substring(0,10);
	// document.forms[0].opti_fin.value = document.forms[0].opti_debut_fin.value.substring(11,21);
// }
