// ---------------------------------------
// CALCUL DES TARIFS
var _xmlHttp = null; //l'objet xmlHttpRequest utilisé pour contacter le serveur
function getXMLHTTP(){
	var xhr=null;
	if(window.XMLHttpRequest) {// Firefox et autres
		xhr = new XMLHttpRequest();
	}else if(window.ActiveXObject){ // Internet Explorer
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e1) {
				xhr = null;
			}
		}
	}else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	}
	return xhr;
}
function call_infos_tarifs(url){
	//alert (_xmlHttp.readyState);
	if(_xmlHttp && _xmlHttp.readyState!=0){
		//alert("abort");
		_xmlHttp.abort()
	}
	_xmlHttp=getXMLHTTP();
	if(_xmlHttp){
		//appel à l'url distante
		//alert(url);
		_xmlHttp.open("GET",url,true);
		_xmlHttp.onreadystatechange=function() {
			//alert(_xmlHttp.readyState + " - " + _xmlHttp.responseXML);
			if(_xmlHttp.readyState==4 && _xmlHttp.responseXML) {
				//alert("coucou");
				xmlDoc = _xmlHttp.responseXML;
				var monHTML = xmlDoc.getElementsByTagName('div');
				document.getElementById("tarifs").innerHTML = "";
				document.getElementById("tarifs").innerHTML = _xmlHttp.responseText; //monHTML[0].firstChild.nodeValue;
			}
		};
		// envoi de la requete
		_xmlHttp.send(null)
	}
}
function change_tarifs(){
	var url="/p_offres_tarifs.php";
	var produits_id = "";
	var proprietes_id = new Array();
	var p = 0;
	for(var i=0;i<document.selection.length;++i) {
  		//document.write("<br>Nom d'élément: " + document.selection.elements[i].name);
	  	//document.write(", type d'élément: " + document.selection.elements[i].type);
		if (document.selection.elements[i].type == "hidden") {
			produits_id = document.selection.elements[i].value;
		}else{
			selected_index = document.selection.elements[i].options.selectedIndex;
			proprietes_id[p] = document.selection.elements[i].options[selected_index].value;
			p++;
		}
 	}
	document.panier.proprietes_id.value = proprietes_id;
	var _url = url+"?io="+produits_id+"&ips="+proprietes_id;
	//alert (_url);
	call_infos_tarifs(_url);
	//calcule_total();
}
function calcule_total(){
	sommes = document.getElementById('somme');
	alert (document.getElementById('somme').lenght);
	var somme = 0;
	for (s=0; sommes.lenght; s++) {
		somme = sommes[s].value*1;
	}
	document.getElementById('total').value = somme;
}
// ---------------------------------------
// CALCUL DU TRAFIC
function NumValidation(what){
	for ( var i=0, len=what.length, valid="0123456789."; i<len+1 ; i++ ) {
		if (valid.indexOf(what.substring(i,i+1)) == -1 || (len==0)) {
			alert("Saisir un nombre s.v.p !");
			return false;
		}
	}
}
function avweb_1() {
	//a=document.calcul_trafic.visiteur.options[document.calcul_trafic.visiteur.selectedIndex].value;
	//p=document.calcul_trafic.transfert.options[document.calcul_trafic.transfert.selectedIndex].value;
	a=parseFloat(document.calcul_trafic.visiteur.value);
	p=parseFloat(document.calcul_trafic.transfert.value);
	b=parseFloat(document.calcul_trafic.temps.value);
	n=parseFloat(document.calcul_trafic.nb_events.value);

	d=parseFloat(document.calcul_trafic.duree.value);
	v=parseFloat(document.calcul_trafic.videos.value);
	
	if (NumValidation(b)==false || NumValidation(n)==false || NumValidation(d)==false || NumValidation(v)==false){
		document.calcul_trafic.besoin.value="Erreur !";
		return false;
	} else {
		c = n*a*b*((p/8/1024/1024)*60)
		//c=(a * (b * p) * n) / 1024 * 10;
		c=Math.round(c*1000)/1000;
		document.calcul_trafic.bande.value = c +" Go";
		
		s = ((p/8/1024/1024)*60)*d*v
		//c=(a * (b * p) * n) / 1024 * 10;
		s=Math.round(s*1000)/1000;
		document.calcul_trafic.stockage.value = s +" Go";
		//tarifs.innerHTML=enteteHTM+selTar(c)+piedHTM;
		//new Effect.Pulsate(document.getElementById("actif"));
		return true;
	}
}
// ---------------------------------------
function verif_choix_produits(theForm){
	strerreurs="";
	if (theForm.paniers_produits_id.value=="") strerreurs+="- Vous devez s\351lectionner un produit dans la liste\n";
	if (theForm.paniers_quantite.value=="") strerreurs+="- Vous devez entrer une quantit\351 pour ce produit\n";

	if (strerreurs.length>0){
		alert("Erreur, plusieurs champs sont obligatoires : \n"+strerreurs);
		return false;
	}
	return true;
}

function calcule_prix(prix,soustraction){
	var somme = (document.getElementById('somme').value*1);
	somme = somme - (soustraction*1);
	document.getElementById('somme').value = (prix*1) + somme;
}

function verif(theForm)
	{
		strerreurs="";
		if (theForm.action.value != "" ) {
			if ( ! theForm.cgv.checked ) strerreurs+="Vous devez cocher les conditions g\351n\351rales de vente. (en bas de la page)\n";
		}
		if (strerreurs.length>0)
		{
			alert(strerreurs);
			return false;
		}
		return true;
	}

function verif_panier(theForm)
{
	strerreurs="";
	if (theForm.paniers_quantite.value=="") strerreurs+="- Vous devez choisir une quantite.\n";
	//if (theForm.paniers_proprietes_id.value=="") strerreurs+="- Vous devez renseigner une propriete.\n";
	if (strerreurs.length>0) {
		alert("Erreurs : \n"+strerreurs);return false;
	} else {	
		return true;
	}
}
function verif_newsletter(theForm)
{
	strerreurs="";
	if (theForm.nom.value=="") strerreurs+="- Le nom est un champ obligatoire.\n";
	if (theForm.prenom.value=="") strerreurs+="- Le prenom est un champ obligatoire.\n";
	if (theForm.naissance.value=="") strerreurs+="- La date de naissance est un champ obligatoire.\n";
	if (theForm.email.value=="") { strerreurs+="- L'email est obligatoire.\n"; }
	else {
		re = /^[\+\w._-]+@[\w.-]{2,}[.][a-zA-Z]{2,4}$/;
		if (! re.test(theForm.email.value)) {
			strerreurs+="- L'email est mal saisi ou invalide.\n";
		}
		else {
			re = /(@\.)|(\.@)|(\.\.)/;
			if ( re.test(theForm.email.value)) {
				strerreurs+="- L'email est mal saisi ou invalide.\n";
			}
		}
	}
	if (strerreurs.length>0) {
		alert("Erreurs : \n"+strerreurs);return false;
	} else {	
		return true;
	}
}

function verif_login(theForm)
{
	strerreurs="";
	if (theForm.up.value=="") strerreurs+="- Le mot de passe est un champ obligatoire.\n";
	if (theForm.ul.value=="") { strerreurs+="- L'email est obligatoire.\n"; }
	else {
		re = /^[\+\w._-]+@[\w.-]{2,}[.][a-zA-Z]{2,4}$/;
		if (! re.test(theForm.ul.value)) {
			strerreurs+="- L'email est mal saisi ou invalide.\n";
		}
		else {
			re = /(@\.)|(\.@)|(\.\.)/;
			if ( re.test(theForm.ul.value)) {
				strerreurs+="- L'email est mal saisi ou invalide.\n";
			}
		}
	}
	if (strerreurs.length>0) {
		alert("Erreurs : \n"+strerreurs);return false;
	} else {	
		return true;
	}
}
function verif_mdp_perdu()
{
	strerreurs="";
	if (document.login.uml.value=="") { strerreurs+="- Veuillez saisir votre email dans le champ 'identifiant'.\n"; }
	else {
		re = /^[\+\w._-]+@[\w.-]{2,}[.][a-zA-Z]{2,4}$/;
		if (! re.test(document.login.uml.value)) {
			strerreurs+="- L'email est mal saisi ou invalide.\n";
		}
		else {
			re = /(@\.)|(\.@)|(\.\.)/;
			if ( re.test(document.login.uml.value)) {
				strerreurs+="- L'email est mal saisi ou invalide.\n";
			}
		}
	}
	if (strerreurs.length>0) {
		alert("Erreurs : \n"+strerreurs);return false;
	} else {	
		document.mdpperdu.email.value = document.login.uml.value;
		document.mdpperdu.submit();
		//return true;
	}
}

function changeimg( sens ) { //sens -> 1 ou -1
	img_encours += sens;
	objDiv1.style.display = "block";
	objDiv2.style.display = "block";
	if (img_encours == 0) {
		objDiv1.style.display = "none";
	}
	if (img_encours == myImages.length-1) {
		objDiv2.style.display = "none";
	}
	document.photo.src=myImages[img_encours].src;
	//document.all("photourl").href=myURLs[img_encours];
}

function afficheNav(idNav, open_it) {
	var objNav = document.getElementById(idNav);
	if (objNav == null) return;
	var objImg = document.getElementById('img_'+idNav);
	var isClosed = (objNav.style.display=='none');
	if (open_it == null)
		newState = isClosed;
	else
		newState = open_it;
	//alert(objNav.style.display+' - ');
	if (isClosed) {
		if (newState) {
			// SEB use display='' restore initial state, instead of 'block' wich is not correct
			objNav.style.display='';
			objImg.src='/images/minus.gif';
			//alert("open : "+objImg.src);
			saveOpenState( idNav, true);
		}
	} else {
		if (!newState) {
			objNav.style.display='none';
			objImg.src='/images/plus.gif';
			//alert("close : "+objImg.src);
			saveOpenState( idNav, false);
		}
	}
	return false;
}
function saveOpenState(idNav, opened) {
	if (navigator.my_save_states == null)
		navigator.my_save_states = new Array();
	if (opened) {
		navigator.my_save_states[idNav] = true;
		// str = ''; for (i in navigator.my_save_states) str += i + ' '; window.alert( str);
	}
	else
		delete( navigator.my_save_states[idNav]);
}
function restoreStates() {
	// str = ''; for (i in navigator.my_save_states) str += i + ' '; window.alert( str);
	if (navigator.my_save_states != null) {
		for (i in navigator.my_save_states) {
			afficheNav( i, true);
		}
	} 
}