/*
function loadImages()
{
	btn_photo_off = new Image();
	btn_photo_off.src = '_image/btn_box_off.png';
	btn_photo_on = new Image();
	btn_photo_on.src = '_image/btn_box_on.png';
}

loadImages();
*/

function verifAddFact(obj)
{
	var codePays = obj.options[obj.selectedIndex].value;
	var chkLiv = document.getElementById('addLivraison');
	
	if(codePays != 6 && chkLiv.checked == false)
	{
		chkLiv.checked = true;
		PMP.dom.setElementProperty('blocLivraison', 'style.display', chkLiv.checked==true ? 'block' : 'none');
	}
}

function parcourrir_famille(ref)
{
	PMP.com.liste.showLoader('listephotos');
	PMP.com.liste.refresh('listephotos', {data:{famille:ref}}, 'produit', 'famille', 1);
	var familles = PMP.dom.getElementByMaskId('menu-%s', 'li');
	for(i=0;i<familles.length;i++)
	{
		if(familles[i].id == 'menu-'+ref)
			familles[i].className = 'active';
		else
			familles[i].className = '';
	}
}

function actualiser_nbarticles_ajax()
{
	var ajax = new PMP.util.pmpAjax("/_modules/boutique/commande/panier.ajax", "POST");
		
	if(!ajax)
	{
		var msgbox = new PMP.util.pmpMsgBox("L'instanciation de la classe AJAX a échouée", "erreur", titreBox);
		return;
	}

	ajax.appendData("action", "get_nb_items");

	ajax.send();
		
	document.getElementById('nbarticlespanier').innerHTML = ajax.reponse.message;
}

function ajouter_produit(ref, qte, code)
{
	var titreBox = "Ajout d'un produit";
		
	if( !PMP.common.isNumber(ref) || ref==0 )
	{
		pmpAlert("La référence du produit est invalide.", titreBox, "erreur");
		return;
	}
	
	if( !PMP.common.isNumber(qte) )
	{
		pmpAlert("La quantité est invalide.", titreBox, "erreur");
		return;
	}	
	
	// ajout du produit au panier
	var ajax = new PMP.util.pmpAjax("/_modules/boutique/commande/panier.ajax", "POST");
	
	if(!ajax)
	{
		var msgbox = new PMP.util.pmpMsgBox("L'instanciation de la classe AJAX a échouée", "erreur", titreBox);
		return;
	}
	
	ajax.appendData("action", "ajouter_produit");
	ajax.appendData("ref", ref);
	ajax.appendData("qte", qte);
	
	var px = $('#prix_taille').html();
	ajax.appendData("prix", px.replace(',', '.'));
	
	if( !PMP.common.isUndefined(code) )
		ajax.appendData("code_prix", code);
	
	var tab = $('input:[id^="coupe_ref_"]').get();
	ajax.appendData('is_coupe', tab.length > 0 ? 1 : 0);
	for(i=0;i<tab.length;i++)
	{
		if(tab[i].checked)
		{
			ajax.appendData('coupe_ref', $("#coupe_ref_"+i).val());
		}
	}
	
	var tab = $('input:[id^="couleur_ref_"]').get();
	ajax.appendData('is_couleur', tab.length > 0 ? 1 : 0);
	for(i=0;i<tab.length;i++)
	{
		if(tab[i].checked)
		{
			ajax.appendData('couleur_ref', $("#couleur_ref_"+i).val());
		}
	}
	
	var tab = $('input:[id^="mesure_"]').get();
	for(i=0;i<tab.length;i++)
	{
		var ref_id = tab[i].id.replace('mesure_', '');
		
		if(ref_id.search('_') > 0)
		{
			var tmp = ref_id.split('_');
			
			if(tab[i].checked)
			{
				ajax.appendData('mesures['+ tmp[0] +']', tab[i].value);
			}
		}
		else{
			ajax.appendData('mesures['+ ref_id +']', tab[i].value);
		}
	}
	
	var tab = $('select:[id^="mesure_"]').get();
	for(i=0;i<tab.length;i++)
	{
		
		var select = tab[i].id+' option:selected';
		val = tab[i].options[tab[i].selectedIndex].value;
		ajax.appendData('mesures['+ tab[i].id.replace('mesure_', '') +']', tab[i].value);
	}
	
	var val = $("#select_taille option:selected").val();
	var tmp = val.split('_');
	ajax.appendData('taille', tmp[1]);
	
	ajax.send();
	//alert(ajax.reponse.message);
	if(!ajax.reponse.etat)
	{
		var cps = ''+ajax.reponse.champs;
		
		if(document.getElementById('msg_err_coupe'))
		{
			if(cps.search('coupe') != -1)
				document.getElementById('msg_err_coupe').style.display = 'block';
			else
				document.getElementById('msg_err_coupe').style.display = 'none';
		}
		
		if(document.getElementById('msg_err_couleur'))
		{
			if(cps.search('couleur') != -1)
				document.getElementById('msg_err_couleur').style.display = 'block';
			else
				document.getElementById('msg_err_couleur').style.display = 'none';
		}
		
		return false;
	}
	else{
		ajax.appendData("action", "get_nb_items");
	
		ajax.send();
		var msg = ajax.reponse.message.split('|');
		
		$("#nbarticlespanier").html(msg[0]);
		
		//document.getElementById('prixtotalpanier').innerHTML = msg[1].replace('.',',');
		
		//var msgbox = new PMP.util.pmpMsgBox("L'article a bien été ajouté dans votre panier.", "confirmation", titreBox, {caption:'<a href="javascript:void(0);" class="bouton continuer-achat">Continuer mes achats</a>', action:'', keyCode:'C', close:true}, {caption:'<a href="#" class="bouton terminier-commande">Terminer ma commande</a>', action:'window.location.href=\'http://www.hijab-creation.com/panier.php\'', keyCode:'T'});
		window.location.href='/panier.php';
	}
	
	return false;
}

function ajout_code(code)
{
	var titreBox = "Ajout d'un code remise";
	
	// ajout du produit au panier
	var ajax = new PMP.util.pmpAjax("/_modules/boutique/commande/panier.ajax", "POST");
	
	if(!ajax)
	{
		var msgbox = new PMP.util.pmpMsgBox("L'instanciation de la classe AJAX a échouée", "erreur", titreBox);
		return;
	}
	
	ajax.appendData("action", "ajouter_code_remise");
	ajax.appendData("code", code);
	
	ajax.send();
	
	if(!ajax.reponse.etat)
	{
		var msgbox = new PMP.util.pmpMsgBox(ajax.reponse.message, "erreur", titreBox, {caption:'<a href="javascript:void(0);" class="bouton fermer">Fermer</a>', action:'', keyCode:'F', close:true});
		return;
	}
	else{
		/*window.location.href = '';*/
	}
	
	return false;
}

function supprimer_code(ref)
{
	var titreBox = "Modification d'un produit";
		
	// ajout du produit au panier
	var ajax = new PMP.util.pmpAjax("/_modules/boutique/commande/panier.ajax", "POST");
	
	if(!ajax)
	{
		var msgbox = new PMP.util.pmpMsgBox("L'instanciation de la classe AJAX a échouée", "erreur", titreBox);
		return false;
	}
	
	ajax.appendData("action", "supprimer_code");
	ajax.appendData("ref", ref);
		
	ajax.send({context:true});
	
	if(!ajax.reponse.etat)
	{
		pmpAlert("La référence du produit est invalide.", titreBox, "erreur");
		return false;
	}
	else{
		/*window.location.href = '';*/
	}
}

function modifier_produit(ref, qte, ligne)
{
	var titreBox = "Modification d'un produit";
		
	if( PMP.common.isUndefined(ref) )
	{
		pmpAlert("La référence du produit est invalide.", titreBox, "erreur");
		return false;
	}
	
	if( !PMP.common.isNumber(qte) )
	{
		pmpAlert("La quantité est invalide.", titreBox, "erreur");
		return false;
	}
	
	
	// ajout du produit au panier
	var ajax = new PMP.util.pmpAjax("/_modules/boutique/commande/panier.ajax", "POST");
	
	if(!ajax)
	{
		var msgbox = new PMP.util.pmpMsgBox("L'instanciation de la classe AJAX a échouée", "erreur", titreBox);
		return false;
	}
	
	ajax.appendData("action", "modifier_quantite");
	ajax.appendData("ref", ref);
	ajax.appendData("qte", qte);
	
	if(!PMP.common.isUndefined(ligne))
		ajax.appendData("ligne", ligne);
	
	ajax.send({context:true});
	
	return ajax.reponse;
}

function modiPaysLiv(obj)
{
	if(obj.type == 'hidden')
		var codePays = obj.value;
	else{
	// recuperation du code pays selectionné dans la combo
		var codePays = obj.options[obj.selectedIndex].value;
	}
	
	// modif graphique du prix
	actualiser_fraisdeport(codePays);
}

function addQuantite(ref, qte)
{
	if( PMP.common.isUndefined(ref) )
		return false;
	
	if( !PMP.common.isNumber(qte) )
		return false;
	
	var inputQte = document.getElementById("qte["+ref+"]");
	if(inputQte)
	{
		/*qte	= ( PMP.common.isNumber(parseInt(inputQte.value)) ? parseInt(inputQte.value) : 0 )
			+ parseInt(qte);
		*/
		
		if( qte >= 1 )
			setQuantite(ref, qte);		
	}
}

function supprimer_produit(ref)
{
	//setQuantite(ref, 0);
	var reponse = modifier_produit(ref, 0);
	/*if( !reponse.etat )
	{
		alert(reponse.message);
		//NotificationManager.notify({text:reponse.message, className:"erreur", visibleDuration:0, target:"panierTitre"});
		return;
	}
	else*/
		window.location.replace(window.location.href);
}

function setQuantite(ref, qte)
{
	if( PMP.common.isUndefined(ref) )
		return false;
	
	if( !PMP.common.isNumber(qte) )
		return false;
	
	qte = parseInt(qte);
	if( qte < 0 )
		qte = 0;
		
	// mise à jour du panier
	var reponse = modifier_produit(ref, qte);
	if( !reponse.etat )
	{
		//NotificationManager.notify({text:reponse.message, className:"erreur", visibleDuration:0, target:"panierTitre"});
		return;
	}
	
	var inputQte = document.getElementById("qte["+ref+"]");
	if(inputQte)
		inputQte.value 	= parseInt(qte);
	
	var inputPrix = document.getElementById("prix["+ref+"]");
	if(!inputPrix)
	{
		NotificationManager.notify({text:"Prix de l'article non défini", className:"erreur", visibleDuration:0, target:"panierTitre"});
		return;
	}
	
	var divMontant = document.getElementById("montant["+ref+"]");
	
	if(divMontant)
	{
		var montant = parseFloat(qte) * parseFloat(inputPrix.value);
		
		//vérifie que le montant soit positif
		if(montant < 0)
			montant = 0;
		
		divMontant.montant = montant;
		
		// formate le montant selon les paramètres de langue;
		montant = String.format(montant, "number");
		divMontant.innerHTML = montant;
		
		refreshSousTotal();
		actualiser_fraisdeport();
		actualiser_nbarticles()
	}
}

function refreshSousTotal()
{
	var elements = PMP.dom.getElementsByMaskId("montant[%i]", "span");
	
	var sousTotal = 0;
	
	for(var i=0; i < elements.length; i++)
	{
		sousTotal += elements[i].montant ? parseFloat(elements[i].montant) : 0;
	}
	
	/*var elements = PMP.dom.getElementsByMaskId("montant_remise[%i]", "span");
	for(var i=0; i < elements.length; i++)
	{
		sousTotal += elements[i].montant ? parseFloat(elements[i].montant) : 0;
	}*/
	
	var divSousTotal = document.getElementById("soustotal");
	if(divSousTotal)
	{
		divSousTotal.montant = sousTotal;
		
		// formate le montant selon les paramètres de langue;
		sousTotal = String.format(sousTotal, "number");
		
		divSousTotal.innerHTML = sousTotal;
	}
}


function refreshTotal()
{
	var montant  = 0;
	
	var divSousTotal = document.getElementById("soustotal");
	
	if(divSousTotal)
	{
		if(!divSousTotal.montant)
			refreshSousTotal();
		
		montant += parseFloat(divSousTotal.montant);
	}
	
	var divRemise = document.getElementById("montant_remise");
	
	if(divRemise)
	{		
		montant += parseFloat(divRemise.montant);
	}

	var divLivraison = document.getElementById("livraison");
	if(divLivraison)
		montant += parseFloat(divLivraison.montant);
	
	var divTotal = document.getElementById("total");
	if(divTotal)
	{
		divTotal.montant = montant;
				
		// formate le montant selon les paramètres de langue;
		montant = String.format(montant, "number");
		
		divTotal.innerHTML = montant;
	}
}


function actualiser_fraisdeport(pays)
{
	var livraison = document.getElementById("livraison");
	
	if(!livraison)
		return true;

	if(  PMP.common.isUndefined(pays) || !PMP.common.isNumber(pays) )
	{
		var paysCB = document.getElementById("choixPays");
		
		if(paysCB.type == 'hidden')
			var pays = paysCB ? paysCB.value : 0;
		else
			var pays = paysCB ? paysCB.options[paysCB.selectedIndex].value : 0;
	}
	
	// ajout du produit au panier
	var ajax = new PMP.util.pmpAjax("/_modules/boutique/commande/panier.ajax", "POST");
	
	if(!ajax)
		return false;
	
	ajax.appendData("action", "calculer_fraisdeport");
	ajax.appendData("pays", pays);
	
	ajax.send({context:true});
	
	if(ajax.reponse.etat)
	{
		var montant = parseFloat(ajax.reponse.valeur);
		
		livraison.montant = montant;
				
		// formate le montant selon les paramètres de langue;
		montant = String.format(montant, "number");
		
		livraison.innerHTML = montant;
	}

	refreshTotal();
	
	return true;
}


function actualiser_nbarticles()
{
	var elements = PMP.dom.getElementsByMaskId("qte[%i]", "input");
	
	var qte = 0;
	for(var i=0; i < elements.length; i++)
	{
		qte += parseInt(elements[i].value);
	}
	
	var nbPanier = document.getElementById("nbarticlespanier");
	if(nbPanier)
		nbPanier.innerHTML = qte;
	
}

function changeModeLivraison(mode)
{
	var chkMagasin = document.getElementById('checkMagasin');
	var chkLivraison = document.getElementById('checkLivraison');
	if(mode == 'magasin')
	{
		//document.getElementById('livraisonPays').style.visibility = 'hidden';		
		document.getElementById('livraisonPays').style.display = 'none';
		document.getElementById('venirMagasin').className = '';
		document.getElementById('fraisdeLivraison').className = 'desactive';
		actualiser_fraisdeport(0);	
	}
	else if(mode == 'livraison')
	{
		if(document.all)
			document.getElementById('livraisonPays').style.display = 'block';
		else
			document.getElementById('livraisonPays').style.display = 'table-row';
		//document.getElementById('livraisonPays').style.visibility = 'visible';
		document.getElementById('venirMagasin').className = 'desactive';
		document.getElementById('fraisdeLivraison').className = '';		
		
		modiPaysLiv(document.getElementById('choixPays'));
	}
}