// Création d'une nouvelle image
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

// Changer l'url de l'image
function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;

// Pré-chargement des images
function preloadImages() {
	if (document.images) {
		isolca_over = newImage("images/isolca-over.jpg");
		isolants_over = newImage("images/isolants-over.jpg");
		avantatages_kiip_over = newImage("images/avantatages_kiip-over.jpg");
		applications_kiip_over = newImage("images/applications_kiip-over.jpg");
		distributeur_kiip_over = newImage("images/distributeur_kiip-over.jpg");
		contacts_isolca_over = newImage("images/contacts_isolca-over.jpg");
		preloadFlag = true;
	}
}

function preloadImagesCaRe() {
	if (document.images) {
		isolca_over = newImage("../images/isolca-over.jpg");
		isolants_over = newImage("../images/isolants-over.jpg");
		avantatages_kiip_over = newImage("../images/avantatages_kiip-over.jpg");
		applications_kiip_over = newImage("../images/applications_kiip-over.jpg");
		distributeur_kiip_over = newImage("../images/distributeur_kiip-over.jpg");
		contacts_isolca_over = newImage("../images/contacts_isolca-over.jpg");
		preloadFlag = true;
	}
}

// Ouvrir une pop-up
function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

// Récupérer le contenu d'une balise d'une page HTML
function MM_findObj(n, d) { //v4.01
	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 && d.getElementById) 
		x = d.getElementById(n); 
	return x;
}

// Vérification de l'adresse e-mail
function verif_email(email) {
	
	chaine = '';
	
	chaine = (email == '')?chaine + 'Veuillez saisir votre adresse e-mail.\n':chaine + '';
	var verifmail = /^[\.a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/;
    chaine = (verifmail.exec(email) == null)?chaine + 'L\'adresse e-mail n\'est pas valide.\n':chaine + '';
	
	return chaine;
}

// Vérification du mot de passe
function verif_password(password) {
	
	chaine = '';
	
	chaine = (password == '')?chaine + 'Veuillez saisir votre mot de passe.\n':chaine + '';
	var verifpassword = /^[a-zA-Z0-9]{6}$/;
	chaine = (verifpassword.exec(password) == null)?chaine + 'Le mot de passe n\'est pas valide.\n':chaine + '';
	
	return chaine;
}

// Vérification des champ e-mail et password de la page compte.php
function verif_authentification(form) {
	// Message d'erreur vide pour l'instant
	chaine = '';
	
	// Vérification de l'adresse e-mail
	chaine = chaine + verif_email(form.email.value);
	
	// Vérification du mot de passe
	chaine = (form.password.value == '')?chaine + 'Veuillez saisir votre mot de passe.\n':chaine + '';
	
	if(chaine == '')
		return true;
	else {
		alert(chaine);
		return false;
	}
}

// Vérification de la validité de tous les champs du formulaire de la page "inscription.html"
function verif_inscription(form) {
	
	// Message d'erreur vide pour l'instant
	chaine = '';
	
	// Vérification de tous les champs standards
	chaine = (form.nom.value == '')?chaine + 'Veuillez saisir votre nom.\n':chaine + '';
	chaine = (form.telephone_fixe.value == '')?chaine + 'Veuillez saisir votre numero de telephone fixe.\n':chaine + '';
	chaine = (form.adresse_facturation.value == '')?chaine + 'Veuillez saisir votre adresse de facturation.\n':chaine + '';
	chaine = (form.code_postal_facturation.value == '')?chaine + 'Veuillez saisir votre code postal de facturation.\n':chaine + '';
	chaine = (form.ville_facturation.value == '')?chaine + 'Veuillez saisir votre ville de facturation.\n':chaine + '';
	chaine = (form.pays_facturation.value == '')?chaine + 'Veuillez saisir votre pays de facturation.\n':chaine + '';
	chaine = (form.nom_livraison.value == '' && !form.checkbox.checked)?chaine + 'Veuillez saisir votre nom pour l\'adresse de livraison.\n':chaine + '';
	chaine = (form.adresse_livraison.value == '' && !form.checkbox.checked)?chaine + 'Veuillez saisir votre adresse de livraison.\n':chaine + '';
	chaine = (form.code_postal_livraison.value == '' && !form.checkbox.checked)?chaine + 'Veuillez saisir votre code postal de livraison.\n':chaine + '';
	chaine = (form.ville_livraison.value == '' && !form.checkbox.checked)?chaine + 'Veuillez saisir votre ville de livraison.\n':chaine + '';
	chaine = (form.pays_livraison.value == '' && !form.checkbox.checked)?chaine + 'Veuillez saisir votre pays de livraison.\n':chaine + '';
	
	// Vérification de l'adresse e-mail
	chaine = chaine + verif_email(form.email.value);
	
	// Vérification du mot de passe
	chaine = chaine + verif_password(form.password.value);
	
	if(chaine == '')
		return true;
	else {
		alert(chaine);
		return false;
	}
}

// Arrondir un nombre
function arrondir(what, howmuch) {
	var fact = Math.pow(10,howmuch);
	what = Math.round(what*fact);
	return what / fact;
}

// Vérifier le formulaire de la commande
function verif_commande(form) {

	calculer_commande_et_confirmation(form)
	
	if(form.checkbox.checked)
		return true;
	else {
		alert("Veuillez lire les conditions generales de vente et cocher la case");
		form.checkbox.focus();
		return false;
	}
}

function verif_commande_art(form,remise) {

	calculer_commande_et_confirmation_art(form,remise)
	
	if(form.checkbox.checked)
		return true;
	else {
		alert("Veuillez lire les conditions generales de vente et cocher la case");
		form.checkbox.focus();
		return false;
	}
}

// Vérifier le formulaire de la confirmation
function verif_confirmation(form) {
	calculer_commande_et_confirmation(form);
	return true;
}

function verif_confirmation_art(form,remise) {
	calculer_commande_et_confirmation_art(form,remise);
	return true;
}

// Vérifier le formulaire du mode de paiement
function verif_mode_paiement(form) {
	
	if((form.checkbox[0].checked && form.checkbox[1].checked) || (!form.checkbox[0].checked && !form.checkbox[1].checked)) {
		alert("Veuillez choisir un mode de paiement.");
		return false;
	}
	else {
		
		chaine = '';
		
		if(form.checkbox[1].checked) {
			// Vérification de tous les champs pour le paiement par chèque
			chaine = (form.nom.value == '')?chaine + 'Veuillez saisir le titulaire du compte.\n':chaine + '';
			chaine = (form.cheque.value == '')?chaine + 'Veuillez saisir le numero du cheque.\n':chaine + '';
			chaine = (form.banque.value == '')?chaine + 'Veuillez saisir le nom de votre banque.\n':chaine + '';
			
			if(chaine != '') {
				alert(chaine);
				return false;
			}
			
		}
	}
	
	return true;
}

// Calcul automatique de la facture à payer pour les formulaires de commande et de confirmation
function calculer_commande_et_confirmation(form) {
	
	var verifnombre = /^\d+[.]?\d*$/;
	var nI = 0;
	var nJ = 0;
	var totalht = 0;
	
	var qte = "qtte" + nI;
	var pht = "prixht" + nJ;
	
	while(typeof(form.elements[qte]) != "undefined"){
		form.elements[qte].value = (verifnombre.exec(form.elements[qte].value) == null)?0:form.elements[qte].value;
		nI++;
		qte = "qtte" + nI;
	}
	
	while(typeof(form.elements[pht]) != "undefined"){
		form.elements[pht].value = (verifnombre.exec(form.elements[pht].value) == null)?0:form.elements[pht].value;
		totalht += parseFloat(form.elements[pht].value);
		nJ++;
		pht = "prixht" + nJ;
	}	

	form.totalht.value = totalht;
	form.frais_port.value = 0;
	form.tva.value = arrondir(0.196 * parseFloat(form.totalht.value), 2);
	form.totalttc.value = arrondir(parseFloat(form.totalht.value) + parseFloat(form.tva.value), 2);
}

function calculer_commande_et_confirmation_art(form,remise) {
	
	var verifnombre = /^\d+[.]?\d*$/;
	var nI = 0;
	var nJ = 0;
	var totalht = 0;

	var qte = "qtte" + nI;
	var pht = "prixht" + nJ;
	
	while(typeof(form.elements[qte]) != "undefined"){
		form.elements[qte].value = (verifnombre.exec(form.elements[qte].value) == null)?0:form.elements[qte].value;
		nI++;
		qte = "qtte" + nI;
	}
	
	while(typeof(form.elements[pht]) != "undefined"){
		form.elements[pht].value = (verifnombre.exec(form.elements[pht].value) == null)?0:form.elements[pht].value;
		totalht += parseFloat(form.elements[pht].value);
		nJ++;
		pht = "prixht" + nJ;
	}	

	form.totalht.value = totalht;
	form.frais_port.value = 0;
	form.tva.value = arrondir(0.196 * parseFloat(form.totalht.value), 2);
	
	var tttc = parseFloat(form.totalht.value) + parseFloat(form.tva.value);
	form.stotalttc.value = arrondir(tttc,2);
	form.iremise.value = "-"+arrondir((tttc * remise / 100),2);
	form.totalttc.value = arrondir((tttc - (tttc * remise / 100)), 2);;
}

function verif_item(form, prix, cond, iQte, iPrix) {
	
	var verifnombre = /^\d+[.]?\d*$/;
	
	form.elements[iQte].value = (verifnombre.exec(form.elements[iQte].value) == null)?0:form.elements[iQte].value;
	
	i = 1;
		
	while(i*cond <= parseFloat(form.elements[iQte].value)) i++;
	j = (i == 1)?i:i-1;
	if(parseFloat(form.elements[iQte].value) % cond != 0) {
		form.elements[iQte].value = (j*parseFloat(form.elements[iQte].value) <= (j*cond)/2)?j*parseFloat(cond):i*parseFloat(cond);
		alert("Vous devez saisir un multiple de " + cond + "\nNous avons change votre quantite automatiquement.");
	}
	form.elements[iPrix].value = arrondir((parseFloat(form.elements[iQte].value)*prix), 2);
}
