var i = false; // La variable i nous dit si la bulle est visible ou non
document.onmousemove = move;

function print_zone(obj)
{
	var style = '<style> body {padding:10px;} table.order {border-collapse:collapse;width:100%;vertical-align:middle;text-align:left;margin:10 0;} .article, .prix, .quant {border-bottom: 1px dotted grey;padding: 3px 2px;} .prix, .quant {text-align:right;width:10%;} .left {width:15%;border:0px;padding:1 10 1 0;text-align:right;}</style>';
	var cadre = style + document.getElementById(obj).innerHTML; // Sélectionne la zone à imprimer
	var params = "toolbar=0,menubar=0,scrollbars=1,resizable=0,status=0,location=0,width="+screen.width/2+",height="+screen.height/2+",top="+screen.height/4+",left="+screen.width/4;
	var f = window.open("", "ZoneImpr", params);
	// Ajoute les Données
	f.document.body.innerHTML = cadre;
	// Imprime et ferme la fenetre
	f.window.print();
	f.window.close();
}

function panier()
{
	if(parseInt(document.getElementById("orderinfo").innerHTML) == 0)
	{
		alert("Votre panier est vide");
		return false;
	}
	else
	{
		return true;
	}		
}

function calcule(line_num)
{
	all_quant = document.getElementsByTagName("select");
	all_prix = document.getElementsByName("prix");
	nb = all_prix.length;
	ordervalue = 0;
	orderitems = 0;
	for(boucle=0;boucle<nb;boucle++)
	{
		quant = all_quant[boucle].options.selectedIndex;
		prix = parseFloat(all_prix[boucle].textContent);
		orderitems = orderitems + quant;
		ordervalue = ordervalue + (prix * quant * 100);
		document.getElementsByName("qte_"+boucle)[0].value = quant;
	}
	ordervalue = Math.round(ordervalue)/100;
	totaux(orderitems,ordervalue);
}

function totaux(quant,valeur)
{
	if(quant > 1) {msge = quant + " articles";}else{ msge = quant + " article";}
	msge = msge + " dans votre panier pour " + valeur + " €&nbsp;&nbsp;<span>(TVA et port inclus. Livraison uniquement en Belgique)</span>";
	document.getElementById("orderinfo").innerHTML = msge;
	document.getElementsByName("Articles")[0].value = quant;
	document.getElementsByName("Montant")[0].value = valeur;
}

function f_raz()
{
   var nb = document.forms[0].elements.length;
   for (tab=0;tab<nb;tab++)
   {
   	var de = document.forms[0].elements[tab];
   	switch(de.type)
   	{
   		case "select-one":
   			switch(de.name)
   			{
   				case "Pays":
   					de.value = "Belgique";
   					break;
   				case "Dates":
   					de.value = "";
   					break;
   				default:
   					de.value = "0";
   			}
				break;
   		case "checkbox":
   			de.checked = false;
   			break;
   		case "text":
   			de.value = "";
   			de.style.background = "#FFFFFF";
   			break;
   		case "textarea":
   			de.value = "";
   			de.style.background = "#FFFFFF";
		}
	}
}

function f_test(page)
{
	// tester ts champ obligatoires et abandon si erreur
   var nb = document.forms[0].elements.length;
   for (tab=0;tab<nb;tab++)
   {
   	if(document.forms[0].elements[tab].className == "obligatoire")
   	{
   		if(!c_test(document.forms[0].elements[tab])) return false;
   	} 
	}
	document.forms[0].method = "POST";
	document.forms[0].action = "base.php?p=" + page;
	document.forms[0].submit();
}

function hauteur()
{
    var hauteur=0;
    if(typeof(window.innerHeight)=='number')
    {
        hauteur=window.innerHeight;
    }
    else
    {
			if (document.documentElement&&document.documentElement.clientHeight)
			{
         	hauteur = document.documentElement.clientHeight;
		    }
    		else
    		{
     			if (document.body&&document.body.clientHeight)
     			{
         		hauteur=document.body.clientHeight;
      		}
     		}
    }
    return hauteur;
}

function TopOfDoc()
{
	if(hauteur()<document.getElementById('text').offsetHeight) document.write('<a onclick="this.href=' + "'#TopOfDoc'" + '" title="Retour"><img class="ToD" src="images/up.gif" alt="Haut" /></a>');
}

function TextOrImg(txt,img)
{
	if(hauteur()<650) {document.write(txt);} else {document.write('<img src="images/' + img + '.jpg" />');}
}

function charge()
{
	largeur=(document.documentElement.clientWidth)-15; //window.innerWidth)-15;
	document.location.href="set_var.php?w="+largeur+"&h="+hauteur();
}

function c_test(champ)
{
	cc = champ;
	cn = champ.name;
	cv = champ.value.toLowerCase();
	ct = champ.type;
	lg = cv.length;
	ch = "²³&|é#'(§è!ç{à})*$ùµ%£=+:/;,?âäêëŷÿûüîïôö`~€\<>" + '"';
	out = 0;
	aro = 0;
	pt = 0;
	// teste la validité du champ
	if(ct == "checkbox")
	{
		if(!cc.checked)
		{
			alert('Erreur !\n\nLe champ ' + cn + ' doit être coché !');
			return false;
		}	
	}
	else
	{
		if(cv == '')
		{
			alert('Erreur !\n\nLe champ ' + cn + ' ne peut pas rester vide.');
			champ.style.background = "#FFFF80";
			champ.focus();
			return false;
		}
		else
		{
			if(cn == 'Email')
			{
				for (i = 0; i < lg; i++) { out = out + (ch.indexOf(cv.substr(i,1)) < 0); } // analyse ts les caractères
				aro = cv.indexOf("@");
				pt = cv.lastIndexOf(".");
				if((lg < 6) && msge(cc)) return false; // il y a moins de 6 caractères
				if((out !== lg) && msge(cc)) return false; // il y a un caractère interdit
				if((aro <= 0 || pt <= 0) && msge(cc)) return false; // il manque @ ou . ou @ au début
				if((aro > pt) && msge(cc)) return false; // pas de . après @
				if((pt == (aro + 1) || pt == (aro - 1)) && msge(cc)) return false; // . collé à @
				if((pt > (lg - 3)) && msge(cc)) return false; // pas au moins 2 caractères après .
			}
		}
	}
	// champ ok donc fond blanc
	champ.style.background = "#FFFFFF";
	return true;
}

function msge(champ)
{
	alert('Erreur !\n\nAdresse email incorrecte.');
	champ.style.background = "#FFFF80";
	champ.focus();
	return true;
}

function GetId(id)
{
	return document.getElementById(id);
}
				
function show(indice)
{
	var nb = document.getElementById("text").getElementsByTagName("div").length;
   for (tab=1;tab<=nb;tab=tab+2)
   {
   	document.getElementById("text").getElementsByTagName("div")[tab].style.display = "none";
	}
	document.getElementById("text").getElementsByTagName("div")[indice].style.display = "block";
}

function show_list(id)
{
	var de = document.getElementById(id);
	if (de.style.display == "block") {de.style.display = "none";} else {de.style.display = "block";}
}

function move(e)
{
	if(i)	// Si la bulle est visible, on calcule en temps reel sa position ideale
	{  
		if (navigator.appName != "Microsoft Internet Explorer")	// Si on est pas sous IE
		{
			GetId("curseur").style.left = e.pageX + 20 + "px";			// avant  + 5
			GetId("curseur").style.top = e.pageY + 10 + "px";			// + 10- 35
		}
		else	// Modif proposé par TeDeum, merci à lui
		{
			if(document.documentElement.clientWidth > 0)
			{
				GetId("curseur").style.left = event.x + document.documentElement.scrollLeft + 20 + "px";	// 20
				GetId("curseur").style.top = event.y + document.documentElement.scrollTop + 10 + "px";	// +10
			}
			else
			{
				GetId("curseur").style.left = event.x + document.body.scrollLeft + 20 + "px";	// +20
				GetId("curseur").style.top = event.y + document.body.scrollTop + 10 + "px";		// +10
			}
		}
	}
}
				
function montre(text)
{
	if(i == false)
	{
		GetId("curseur").style.visibility = "visible"; // S'il est caché (la verif n'est qu'une securité) on le rend visible.
		GetId("curseur").innerHTML = text; // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche)
		i = true;
	}
}

function cache()
{
	if(i == true)
	{
		GetId("curseur").style.visibility = "hidden"; // Si la bulle etait visible on la cache
		i = false;
	}
}

