/*debut du rollover sur les images*/
function MM_swapImgRestoreboutton(bbnumber) { //v3.0
  if(buffimg[bbnumber]!=1)
  {
    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_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.0
  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 && document.getElementById) x=document.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];}
}
/*fin du rollover sur les images*/

/*ouverture des popup*/
function openpopup(page, x, y, scroll)
{
	var top=(screen.height-y)/2;
	var left=(screen.width-x)/2;
	window.open(page, "page", "toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars="+scroll+",resizable=0,top="+top+",left="+left+",width="+x+",height="+y);
}

/* fonction d'affichage des images
liste des paramètres :
	id : id de l'image cliquée*/
function voir_image(id)
{
	/* début de l'afffichage des images */
	document.getElementById("petit_"+id).src = tab_image[var_image]['chemin'];
	document.getElementById("grande").src = tab_image[tab_imagespetites[id]]['chemin'];
	/* fin de l'afffichage des images */
	
	/* début de la gestion des remplacement d'image */
	var tmp_image = var_image;
	var_image = tab_imagespetites[id];
	tab_imagespetites[id] = tmp_image;
	tab_imagespetites[1] = var_image;
	/* fin de la gestion des remplacement d'image */
}

/* fonction d'ouverture en popup de la photo grande
liste des paramètre :
	url_img	: url de base de la photo
	dossier	: dossier de l'image*/
function openpopup_produit(url_img, dossier)
{
	var tab = dossier.split("?");
	openpopup(tab[0]+'appercu_'+url_img+'_image_'+var_image+'.html?'+tab[1], tab_image[var_image]['largeur'], tab_image[var_image]['hauteur'], 0);
}

/* fonction pour flash */
function flash(tag)
{
	document.write(tag);
}

/* fonction de changement de la class d'un objet
liste des paramétres :
	id		: id de l'objet a modifier
	nom_class	: nouvelle class de l'id */
function change_class(id, nom_class)
{
	document.getElementById(id).className = nom_class;
}

/* fonction de test des quantité selon les option
liste des paramètres :
	id	: id du produit*/
function test_qte(id)
{
	
	var qte = document.getElementById("qty_" + id);
	if(document.getElementById("liste_options_" + id) != undefined)	// produit avec otion
	{
		
		var tab_options = document.getElementById("liste_options_" + id).value.split("/");
		var i, buff, qte_autorise;
		qte_autorise = 0;
		
		/* début du test de la quantité de chacune des options */
		for(i=0; i<tab_options.length; i++)
		{
			if(tab_options[i] != "")
			{
				/* début de la récupération de la quantité max */
				var option_valeur = document.getElementById("options_" + id + "_" + tab_options[i]).value;
				if(document.getElementById("stock_" + id + "_" + tab_options[i] + "-" + option_valeur) != undefined)
				{
					var qte_max = document.getElementById("stock_" + id + "_" + tab_options[i] + "-" + option_valeur).value;
				}else
				{
					var qte_max = 0;
				}
				/* fin de la récupération de la quantité max */
				/* début début du test du message */
				if(qte_max == 0)
				{
					buff = "vide";
					break;
				}else if(qte.value*1 > qte_max*1)
				{
					if(qte_autorise*1 > qte_max*1 || qte_autorise == 0)
					{
						qte_autorise = qte_max
					}
						buff = "trop";
				}
				/* fin début du test du message */
			}
		}
		/* fin du test de la quantité de chacune des options */
		/* début de l'affichage du message */
		if(buff == "vide")
		{
			change_class("ajouter_" + id, "cacher");
			change_class("horstock_" + id, "");
		}else
		{
			change_class("ajouter_" + id, "");
			change_class("horstock_" + id, "cacher");
			if(buff == "trop")
			{
				var msg = document.getElementById("jsstockdebut").value + " " + qte_autorise + " " + document.getElementById("jsstockfin").value;
				alert(msg);
				qte.focus();
				return false;
			}
		}
		/* fin de l'affichage du message */
	}else	// produit sans option
	{
		var qte_autorise = document.getElementById("buffqty_" + id).value;
		
		if(qte.value*1 > qte_autorise*1)
		{
			var msg = document.getElementById("jsstockdebut").value + " " + qte_autorise + " " + document.getElementById("jsstockfin").value;
			alert(msg);
			qte.focus();
			return false;
		}
	}
}


/* fonction de test des quantité selon les optionà la validation du formulaire
liste des paramètres :
	id	: id du produit*/
function test_valideqte(id)
{
	if(document.getElementById("ajouter_" + id).className == "cacher")
	{
		return false;
	}else
	{
		var buff_qte = test_qte(id);
		
		if(buff_qte == false)
		{
			return false;
		}else
		{
			var qte = document.getElementById("qty_" + id);
			if(qte.value == "" || qte.value < 1)
			{
				alert(document.getElementById("jsqte").value);
				qte.focus();
				return false
			}else
			{
				return true;
			}
		}
	}
}


/* fonction de test des quantité selon les options à la commandes
liste des paramètres :
	id	: id du produit*/
function test_qtecde(id)
{
	
	var qte = document.getElementById("qty_" + id);
	var qte_max = document.getElementById("qtymax_" + id);
	
	if(qte.value*1 > qte_max.value*1)
	{
		var msg = document.getElementById("jsstockdebut").value + " " + qte_max.value + " " + document.getElementById("jsstockfin").value;
		alert(msg);
		qte.focus();
		return false;
	}
}


/* fonction de test des quantité à la validation commandes
liste des paramètres :
	nb_max	: nombre maximum de produit*/
function test_validationqtecde(nb_max)
{
	var i;
	
	for(i=0; i<nb_max; i++)
	{
		var qte = document.getElementById("qty_" + i);
		
		if(qte.value == "" || qte.value < 1)
		{
			alert(document.getElementById("jsqte").value);
			qte.focus();
			return false
		}else
		{
			var buff_qte = test_qtecde(i);
			
			if(buff_qte == false)
			{
				return false;
			}
		}
	}
	
	if(document.getElementById('code').checked == true && document.getElementById('txt_code').value == "")
	{
		alert(document.getElementById("jspaniercode").value);
		document.getElementById('txt_code').focus();
		return false;
	}else
	{
		return true;
	}
}

/* fonction de gestion du tri 
liste des paramètres :
	objet	: objet à traiter
	nom		: nom des liste
	maxi	: nombre maximum de liste */
function tri_liste(objet, nom, maxi)
{
	var i, buff, objet_dest, buff_dest, nom_dest;
	buff = document.getElementById("buff_" + objet.name);
	
	for(i=1; i<=maxi; i++)
	{
		nom_dest = nom + "_" + i;
		if(nom_dest != objet.name)
		{
			objet_dest = document.getElementById(nom_dest);
			
			if(objet.value == objet_dest.value)
			{
				objet_dest.value = buff.value;
				buff_dest = document.getElementById("buff_" + objet_dest.name);
				
				buff.value = objet.value;
				buff_dest.value = objet_dest.value;
				break;
			}
		}
	}
}

/* fonction de gestion de la question suivante 
liste des paramètres :
	suivant	: id de la question suivante
	id		: id de la question*/
function check_suivant(suivant, id)
{
	var i, maxi, debut, position;
	maxi = document.getElementById('nb_ligne').value*1;
	debut = id*1+1;
	position = document.getElementById('num_' + id).innerHTML*1+1;
	/* début de cache de la suite */
	for(i=debut; i<=maxi; i++)
	{
		change_class("question_" + i, "cacher");
		$("#question_" + i).find(".radio").check('off');
	}
	change_class("validation", "cacher");
	/* fin de cache de la suite */
	/* début de la question suivante */
	document.getElementById('num_' + suivant).innerHTML = position;
	change_class("question_" + suivant, "");
	/* fin de la question suivante */
}

$.fn.check = function(mode) {
        var mode = mode || 'on'; // si mode non défini, défaut: 'on'
        return this.each(function() {
                switch(mode) {
                case 'on':
                        this.checked = true;
                        break;
                case 'off':
                        this.checked = false;
                        break;
                case 'toggle':
                        this.checked = !this.checked;
                        break;
                }
        });
};


/* fonction de gestion de la fin
liste des paramètres :
	fin	: id de la question suivante
	id		: id de la question*/
function check_fin(fin, id)
{
	var i, maxi, debut;
	maxi = document.getElementById('nb_ligne').value*1;
	debut = id*1+1;

	/* début de cache de la suite */
	for(i=debut; i<=maxi; i++)
	{
		change_class("question_" + i, "cacher");
	}
	/* fin de cache de la suite */

	/* début de la validation */
	document.getElementById('reponse').value = fin;
	change_class("validation", "");
	/* fin de la validation */
}

/* fonction d'affichage d'homme ou femme 
liste des paramètres :
	objet : objet à traiter*/
function style_suite(objet)
{
	if(objet.value == "femme")
	{
		change_class("question1_homme", "cacher");
		change_class("question2_homme", "cacher");
		change_class("question1_femme", "");
		change_class("question2_femme", "");
	}else if(objet.value == "homme")
	{
		change_class("question1_femme", "cacher");
		change_class("question2_femme", "cacher");
		change_class("question1_homme", "");
		change_class("question2_homme", "");
	}
}

/* fonction de calcul du prix des modules 
liste des paramètres :
	valeur	: nombre de test */
function calcul_module(valeur)
{
	var pack = new Array()
	pack[1] = pack[2] = pack[3] =0;
	var prix = new Array()
	prix[1] = 15;
	prix[2] = 25;
	prix[3] = 30;
	var i, prix_calc, total;

	/* début du teste de la quantité */
	if(!isNaN(valeur) && valeur != "")
	{
		if(valeur % 3 == 0)
		{
			pack[3] = valeur/3;
		}else
		{
			reste = valeur % 3;
			pack[3] = Math.floor(valeur/3);
			
			if(reste % 2 == 0)
			{
				pack[2] = reste/2;
			}else
			{
				reste = reste % 2;
				pack[2] = Math.floor(reste/2);
				pack[1] = reste;
			}
		}
	}
	/* fin du teste de la quantité */
	
	/* début de l'affichage ds prix */
	total = 0;
	for(i=1; i<pack.length; i++)
	{
		prix_calc = pack[i]*prix[i];
		document.getElementById('qte_' + i).innerHTML = pack[i];
		document.getElementById('prix_' + i).innerHTML = prix_calc + ",00 &euro;";
		
		total = total+prix_calc;
	}
	document.getElementById('total').innerHTML = total + ",00 &euro;";
}

/* fonction de validation de formulaire du panier pour enregistrer les mails 
liste des paramètre :
	objet : objet à tester */
function valider_panier(objet)
{
	if(objet.value != "")
	{
		if(boutonval("panier_quantite", tab_champform))
		{
			document.panier_quantite.submit();
		}
	}
}

/* fonction de gestion de la cagnotte 
liste des paramètre :
	msg : message à affiher */
function gestion_gagnotte(msg)
{
	if(!confirm(msg))
	{
		document.getElementById("non").checked = true;	
	}
}

/* fonction d'affichage de l'homme */
function affiche_homme()
{
	var flashvars 	= {};
	var params 		= { allowScriptAccess:"always", bgcolor:"#FFFFFF", wmode:'transparent'};
	var attributes 	= {};
	swfobject.embedSWF("catalog/swf/homme.swf", "personnage", "220", "300", "10", "", flashvars, params, attributes);
}

/* fonction d'affichage de l'homme */
function affiche_femme()
{
	var flashvars 	= {};
	var params 		= { allowScriptAccess:"always", bgcolor:"#FFFFFF", wmode:'transparent'};
	var attributes 	= {};
	swfobject.embedSWF("catalog/swf/femme.swf", "personnage", "220", "320", "10", "", flashvars, params, attributes);
}


/* fonction d'affichage des personnages
liste des paramètres :
	objet	: objet à traiter*/
function affiche_sexe(objet)
{	
	if(objet.value == 1)
	{
		affiche_homme();
	}else if(objet.value == 2)
	{
		affiche_femme();
	}
}

/* fonction d'application de la couleur des cheveux du personnages
liste des paramètres :
	code : code couleur*/
function set_cheveux(code)
{
	document.getElementById('personnage').set_cheveux(code);
}

/* fonction d'application de la couleur des yeux du personnages
liste des paramètres :
	code : code couleur*/
function set_yeux(code)
{
	document.getElementById('personnage').set_yeux(code);
}

/* fonction d'application de la couleur teint du personnages
liste des paramètres :
	code : code couleur*/
function set_teint(code)
{
	document.getElementById('personnage').set_teint(code);
}

/* fonction d'ajout en home */
function homepage(lang, obj)
{
	var tab = new Array();
	tab['fr'] = "Veuillez confirmez";
	tab['en'] = "Please confirm";
	
	if(confirm(tab[lang]))
	{
		obj.style.behavior='url(#default#homepage)';
		obj.setHomePage('http://www.isaorane.com');
	}
	
	return false; 
}
