// JavaScript Document
var _rootSite =  "https://"+window.location.hostname+"/";
var _CheminVP =  "https://"+window.location.hostname+"/";
//CADDIE
var _rootSite =  "https://"+window.location.hostname+"/";

var _ModeIdentification; //permet de connaitre le mode d'indentification (ex : modal pour la nouvelle version du site à l'afficahge du panier )
var _TempQuantiteProduit;


function InputKeyPress(obj,e,Type,Options){
	//obj = objet : this
	//  e = event : event
	// Type = 1 Numeric, 2 alphanumeric ...
	// Option = dans 1 : Virugile.

	var key;
	var isCtrl = false;
	var keychar;
	var reg;
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey;
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}

	if (isNaN(key)) return true;

	keychar = String.fromCharCode(key);

	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

switch(Type){
	case 1:		//numeric
	if (Options == "undefined" || Options == null ) {Options=2;}
	reg="^[0-9]*[.|,]?[0-9]{0,";
	reg+=Options+"}$";
	if (Options == 0) {reg="^[0-9]$";}
		break;
	case 2:		//alphanumeric
	reg="^[a-zA-Z0-9_éèàùçÇêÉÈÀÙôÔâÂîÎ/]$";
	break;
	case 3:		//alpha
	reg="^[a-zA-Z]$";
	break;

	default:
	reg="^[0-9]$";
} // switch
var _controle=new RegExp(reg);
if(_controle.exec(keychar) == null){return false;}else {return true;}
}


function frmsubmit(func) {
	frm = document.entryform;
	frm.func.value = func;
	frm.submit();
}	

function ajout_caddie(IdRefProduit, quantite){
	
	// On verifie si des options sont coché
	var Option = $('#HiddenOptions').val() != "" ? $('#HiddenOptions').val() : "";
	
	// appel de la fonction ajax
	var data = "IdRefProduit="+IdRefProduit+"&quantite="+quantite+"&Option="+Option;

	var ajout_caddie =new Ajax();
		ajout_caddie.SetElementById('PanierClient');
		ajout_caddie.SetNomFonctionRetour('RetourAjoutPanierClient');
		ajout_caddie.SetData(data); // date du detail
		ajout_caddie.EnvoiRequete('./achat/REQ_caddie_ajout.php');
}

function AjoutCaddieXselling(IdProduit, IdRefProduit, PrixProduit, Quantite){
	
	var Data = "IdProduit="+IdProduit;
	Data += "&IdRefProduit="+IdRefProduit;
	Data += "&Quantite="+Quantite;
	Data += "&PrixProduit="+PrixProduit;
	Data += "&Affichage=panier";

	var AjoutCaddie = new Ajax();
            AjoutCaddie.SetElementById('AttenteAjaxAjoutPanier_'+IdRefProduit);
            AjoutCaddie.SetData(Data);
            AjoutCaddie.SetNomFonctionRetour('RetourAjoutXSelling');
            AjoutCaddie.SetTitreRetour("<div class='alert alert-info'><i class='fa fa-cog fa-spin fa-1x fa-fw'></i> Ajout en cours<br> Veuillez patienter ...</div>");
            AjoutCaddie.EnvoiRequete(_CheminVP+'achat/REQ_AjoutCaddie.php');	
}

function RetourAjoutXSelling(retourajax, elementid){
    var retour_ajax = retourajax.split(";;");
    if (retour_ajax[0] == "1"){
        window.location.reload();
    }
}
function AjoutCaddieXsellingDialogBox(IdProduit, IdRefProduit, PrixProduit, Quantite){
	
	$('#LiXsellingProd_'+IdRefProduit+'').html("<div style=\"font-family:tahoma; font-size:13px; padding:15px\"><img src=\"images/loader.gif\"> Ajout en cours...<br> Merci de bien vouloir patienter ! </div>");
	
	
	var Data = "IdProduit="+IdProduit;
	Data += "&IdRefProduit="+IdRefProduit;
	Data += "&Quantite="+Quantite;
	Data += "&PrixProduit="+PrixProduit;
	Data += "&Affichage=panier";

	var AjoutCaddie = new Ajax();
		AjoutCaddie.SetElementById('PanierClient');
		AjoutCaddie.SetData(Data);
		AjoutCaddie.SetNomFonctionRetour('RetourAjoutProduitDialogBox');
		//AjoutCaddie.SetTitreRetour("Chargement en cours ...");
		AjoutCaddie.EnvoiRequete(_CheminVP+'achat/REQ_AjoutCaddie.php');	
}



function RetourAjoutProduitDialogBox(retourajax, elementid){
    var retour_ajax = retourajax.split(";;");
	if (retour_ajax[0] == "1"){
			$('#'+elementid+'').html(retour_ajax[1]);
			var IdProduit = retour_ajax[3];
			var IdRefProduit = retour_ajax[4];
                         $('#LiXsellingProd_'+IdRefProduit+'').fadeOut();
			//Modal_Dialog_AjoutCaddie(IdProduit, IdRefProduit);
			fn_ActualiseAffichageCaddie();
		
	}
        
}

function AjoutCaddieProduit(IdProduit, IdRefProduit, PrixProduit, Quantite){
	
	//var PrixProduit = PrixProduit.replace(',', '.');
	$('#AffichageCaddie').html("<div style=\"font-family:tahoma; font-size:13px; padding:15px\"><img src=\"images/loader.gif\"> Ajout en cours...<br> Merci de bien vouloir patienter ! </div>");
	//on enleve visuellement le produit des vente croisé
	$('#XsellingProd_'+IdRefProduit+'').fadeOut();
	
	var Data = "IdProduit="+IdProduit;
	Data += "&IdRefProduit="+IdRefProduit;
	Data += "&Quantite="+Quantite;
	Data += "&PrixProduit="+PrixProduit;
	Data += "&Affichage=page";

	var AjoutCaddie = new Ajax();
		AjoutCaddie.SetElementById('PanierClient');
		AjoutCaddie.SetData(Data);
		AjoutCaddie.SetNomFonctionRetour('RetourAjoutPanierClient');
		//AjoutCaddie.SetTitreRetour("Chargement en cours ...");
		AjoutCaddie.EnvoiRequete(_CheminVP+'achat/REQ_AjoutCaddie.php');	
}

function ajout_caddie_rep(IdRefProduit, quantite){
// appel de la fonction ajax
var data = "IdRefProduit="+IdRefProduit+"&quantite="+quantite;
var ajout_caddie =new Ajax();
	ajout_caddie.SetElementById('caddie');
	ajout_caddie.SetNumFonctionRetour(8);
	ajout_caddie.SetData(data);
	ajout_caddie.EnvoiRequete(_rootSite+'achat/REQ_caddie_ajout.php');
}

// fonction de retour pour le choix lorsque la garantie est cocher sur la page CaddieAffichage
function fn_ChoisirExtensionGarantie(IdGarantie, PrixGarantie, TitreGarantie, IdRefProduit, IdProduit){
	//on change le bouton pour le passer en valider
	$('.BtValidationgarantie').html ('<img src=\"./images/achat/bt-choisir.png\">');
	$('#BtGarantie_'+IdGarantie).html('<img src=\"./images/achat/bt-valide.png\">');

	//on releve le block
	//$('#div_extension_garantie').slideUp();
	
	var data = "IdProduit="+IdProduit+"&IdRefProduit="+IdRefProduit+"&IdGarantie="+IdGarantie+"&PrixGarantie="+PrixGarantie+"&TitreGarantie="+TitreGarantie;
	//alert (data);
	var ChoisirExtensionGarantie =new Ajax();
	ChoisirExtensionGarantie.SetElementById('div_extension_garantie');
	ChoisirExtensionGarantie.SetNomFonctionRetour('RetourAjoutPanierClient');
	ChoisirExtensionGarantie.SetData(data);
	ChoisirExtensionGarantie.EnvoiRequete(_rootSite+'achat/REQ_AjoutGarantie.php');
			
}

// fonction de retour pour le select lorsque la garantie est forcer dans le panier
function fn_SelectExtensionGarantie(Valeur){
	var T_valeur 		= Valeur.split(";;");
	var IdGarantie 		= T_valeur[0];
	var PrixGarantie 	= T_valeur[1];
	var TitreGarantie 	= T_valeur[2];
	var IdRefProduit 	= T_valeur[3];
	var IdProduit 		= T_valeur[4];
		
	fn_ChoisirExtensionGarantie(IdGarantie, PrixGarantie, TitreGarantie, IdRefProduit, IdProduit);
	
}

function del_OptionProduit(IdOption, IdRefProduit){ 

	if (confirm('Êtes-vous sûr de vouloir supprimer cette option ?')) {
	var data = "IdRefProduit="+IdRefProduit+"&IdOption="+IdOption;
	var supp_extension_garantie =new Ajax();
		supp_extension_garantie.SetElementById('AttenteAjax');
		supp_extension_garantie.SetNumFonctionRetour(7);
		supp_extension_garantie.SetData(data);
		supp_extension_garantie.EnvoiRequete('./module/OptionsProduits/REQ_DelOptionProduit.php');
	}
	else {
		return false;	
	}

}

function maj_OptionsProduit(IdOption, IdRefProduit, Input){

	var Quantite = Input.value;

	var data = "IdRefProduit="+IdRefProduit+"&Quantite="+Quantite+"&IdOption="+IdOption;
	var OptionsProduit = new Ajax();
		OptionsProduit.SetElementById('AttenteAjax');
		OptionsProduit.SetNumFonctionRetour(7);
		OptionsProduit.SetData(data);
		OptionsProduit.EnvoiRequete('./module/OptionsProduits/REQ_MajQuantiteOptions.php');

}

function fn_ActualiseAffichageCaddie(){
		var ActualiseAffichageCaddie = new Ajax();
		ActualiseAffichageCaddie.SetElementById('PanierClient');
		ActualiseAffichageCaddie.SetNumFonctionRetour(0);
		ActualiseAffichageCaddie.SetData("mode=REQ_panier");
		ActualiseAffichageCaddie.EnvoiRequete('./achat/AffichageCaddieIndex.php');
}

//test permettant de savoir si le client à fais son choix sur un produit en multi ref
function TestChoixClientRefProduit(){
	if ( $('#NbreIdRefProduit').val() > 1){
		if ($('#Hidden_IdRefProduit').val() != ""){
			return true;
		}
		else {
			$('#WarningPanier').fadeIn();
			$('#WarningPanier').html("<div class='alert alert-danger'>Merci de s&eacute;lectionner une R&eacute;f&eacute;rence.</div>");
			return false;
		}	
	}
	else {
		return true;	
	}
}

function removeAccents(str) {
        return str.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
    }

// Fonction d'ajout au caddie
function fn_AjoutCaddie(){
	//Modif pour la prise en charge des mutliref
	
	if ( TestChoixClientRefProduit() === true){
	// On recupere les infos des selects 
        var IdProduit = $('#Hidden_IdProduit').val();
	var IdRefProduit = $('#Hidden_IdRefProduit').val();
        var NomProduit = $('#Hidden_NomProduit').val();
	var IdGarantie = $('#Hidden_IdGarantie').val();
	var T_IdOption = $('#Hidden_TIdOption').val();
	var PrixProduit = $('#Hidden_PrixProduit').val();
        var PrixProduitTTC = $('#Hidden_PrixProduitTTC').val();
	var PrixGarantie = $('#Hidden_PrixGarantie').val();
	var PrixOption = $('#Hidden_PrixOption').val();
	var PrixTotalVente = $('#Hidden_PrixTotalVente').val();
	var Quantite = $('#Hidden_Quantite').val();
	var TitreGarantie = $('#Hidden_TitreGarantie').val();
	var TauxTVA = $('#Hidden_TauxTVA').val();
	var Promotion = $('#Hidden_Promotion').val();
	PrixProduit = PrixProduit.replace(',', '.');;
	PrixGarantie = PrixGarantie.replace(',', '.');;
	PrixOption = PrixOption.replace(',', '.');;
	
        //on recupere la désignation 
        var PackProduit = $('#Hidden_PackProduit').val();
        
        
        if(PackProduit == "1"){
            var PackProduit = true;
            var InfosProduit = $('#Hidden_DesignationPack').val();
            if (InfosProduit == ""){
                $('#WarningPanier').fadeIn();
		$('#WarningPanier').html("<div class='alert alert-danger'>Merci de bien vouloir selectionner vos articles pour ce pack</div>");
                setTimeout("$('#WarningPanier').fadeOut()", 2500);
		return false;
            }
            var Designation = encodeURIComponent(InfosProduit);
            
            
        }
        else {
             var PackProduit = false;
            var InfosProduit = $('#InfosRefProduit_'+IdRefProduit).val();
                InfosProduit = InfosProduit.split('|');
            var Designation = InfosProduit[4];
        }
        
	var Data = "IdProduit="+IdProduit;
        Data += "&Designation="+Designation;
        Data += "&NomProduit="+NomProduit;
	Data += "&IdRefProduit="+IdRefProduit;
	Data += "&IdGarantie="+IdGarantie;
	Data += "&Quantite="+Quantite;
	Data += "&T_IdOption="+T_IdOption;
	Data += "&PrixProduit="+PrixProduit;
	Data += "&PrixGarantie="+PrixGarantie;
	Data += "&PrixOption="+PrixOption;
	Data += "&PrixTotalVente="+PrixTotalVente;
	Data += "&TitreGarantie="+escape(TitreGarantie);
        Data += "&TauxTVA="+escape(TauxTVA);
        Data += "&Promotion="+escape(Promotion);
        Data += "&PrixProduitTTC="+escape(PrixProduitTTC);
        Data += "&PackProduit="+PackProduit;
        
	var AjoutCaddie = new Ajax();
		AjoutCaddie.SetElementById('PanierClient');
		AjoutCaddie.SetData(Data);
		AjoutCaddie.SetNomFonctionRetour('RetourAjoutPanierClient');
		AjoutCaddie.SetTitreRetour("Chargement en cours ...");
		AjoutCaddie.EnvoiRequete(_CheminVP+'achat/REQ_AjoutCaddie.php');	
	}
        /* Tag Analytics */
        if (typeof _gaq === 'function') {
            _gaq.push(['_trackEvent', 'Panier', 'AjoutProduit_FicheProduit', "'"+NomProduit+"'"]);
        }
        
        /* TAG Faccebook */
        if (typeof fbq === 'function') {
            fbq('track', 'AddToCart', {value: ""+PrixProduit+"",currency: 'EUR', content_ids: ""+IdProduit+"",content_type: "product"});
        }
        
        
        /* Tag Manager Trigger add_to_cart */
       
            dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
            dataLayer.push({
            event: "add_to_cart",
            ecommerce: {
              currency: "EUR",
              value: PrixProduit,
                items: [{
                  item_id: IdRefProduit,
                  item_name: removeAccents(NomProduit),
                  currency: "EUR",
                  discount: Promotion,
                  index: 0,
                  price: PrixProduit,
                  quantity: Quantite
                }
                ]
            }
          });
          
          console.log("fonction mise en panier terminé : "+NomProduit+'('+IdRefProduit+')');
        console.log(dataLayer);
        
}


function AnimeQuantiteToPanier(IdProduit, IdRefProduit, NomProduit, PrixVente, Quantite) {
    var elem = $('#DivBtnCommanderRefProduit');
    elem.removeAttr("disabled");
    var quantity = parseInt($('[name="Quantite"]').val(), 10) || 1;
    $("html, body").animate({scrollTop: 0}, 250, 'swing');
    
    var HauteurHeader = $('#header').outerHeight();
    var HauteurMenu =  $('#nav').outerHeight();
    var TotalHeader = HauteurHeader + HauteurMenu;
    
    function animate() {
        $("#cart-animation").show();
        var addtocartWidth = elem.outerWidth() / 2
        var addtocartHeight = elem.outerHeight() / 2
        var Offsetelem = elem.offset();
        var addtocartLeft = Offsetelem.left + addtocartWidth - 570;
        var addtocartTop = (Offsetelem.top + addtocartHeight) - TotalHeader;
       
        var buttonAreaWidth = $("#PanierClient").outerWidth();
        var buttonAreaHeight = $("#PanierClient").outerHeight();
        //var buttonAreaLeft = ($("#PanierClient").offset().left + buttonAreaWidth / 2 - $("#cart-animation").outerWidth() / 2) - 4 - 545;
        var buttonAreaLeft = ($("#PanierClient").offset().left + buttonAreaWidth / 2 - $("#cart-animation").outerWidth() / 2) - 4 - 350;
        var buttonAreaTop = ($("#PanierClient").offset().top + buttonAreaWidth / 2 - $("#cart-animation").outerHeight() / 2) - 4 - TotalHeader - 120;
              
        
        var path = {
            start: {
                x: addtocartLeft,
                y: addtocartTop,
                angle: 190.012,
                length: 0.2
            },
            end: {
                x: buttonAreaLeft,
                y: buttonAreaTop,
                angle: 90.012,
                length: 0.50
            }
        };
        $('#cart-animation').text(quantity).animate(
                {
                    path: new $.path.bezier(path)
                },
        1200,
                function() {
                    $("#cart-animation").fadeOut(500, function() {
                        $(elem).prop("disabled", false)
                        /*
                        var cartCount = parseInt($('#cart-count').text()) + quantity;
                        $('#cart-count').text(cartCount)
                        $('#PanierClient').addClass('has-items');
                        */
                        Modal_Dialog_AjoutCaddie(IdProduit, IdRefProduit, NomProduit, PrixVente, Quantite);
                        
                    })
                }
        );
    }
    animate();
}; 

/* jQuery css bezier animation support -- Jonah Fox */
(function($) {
    $.path = {};
    var V = {
        rotate: function(p, degrees) {
            var radians = degrees * Math.PI / 180,
                    c = Math.cos(radians),
                    s = Math.sin(radians);
            return [c * p[0] - s * p[1], s * p[0] + c * p[1]];
        },
        scale: function(p, n) {
            return [n * p[0], n * p[1]];
        },
        add: function(a, b) {
            return [a[0] + b[0], a[1] + b[1]];
        },
        minus: function(a, b) {
            return [a[0] - b[0], a[1] - b[1]];
        }
    };
    $.path.bezier = function(params, rotate) {
        params.start = $.extend({angle: 0, length: 0.3333}, params.start);
        params.end = $.extend({angle: 0, length: 0.3333}, params.end);
        this.p1 = [params.start.x, params.start.y];
        this.p4 = [params.end.x, params.end.y];
        var v14 = V.minus(this.p4, this.p1),
                v12 = V.scale(v14, params.start.length),
                v41 = V.scale(v14, -1),
                v43 = V.scale(v41, params.end.length);
        v12 = V.rotate(v12, params.start.angle);
        this.p2 = V.add(this.p1, v12);
        v43 = V.rotate(v43, params.end.angle);
        this.p3 = V.add(this.p4, v43);
        this.f1 = function(t) {
            return (t * t * t);
        };
        this.f2 = function(t) {
            return (3 * t * t * (1 - t));
        };
        this.f3 = function(t) {
            return (3 * t * (1 - t) * (1 - t));
        };
        this.f4 = function(t) {
            return ((1 - t) * (1 - t) * (1 - t));
        };
        /* p from 0 to 1 */
        this.css = function(p) {
            var f1 = this.f1(p), f2 = this.f2(p), f3 = this.f3(p), f4 = this.f4(p), css = {};
            if (rotate) {
                css.prevX = this.x;
                css.prevY = this.y;
            }
            css.x = this.x = (this.p1[0] * f1 + this.p2[0] * f2 + this.p3[0] * f3 + this.p4[0] * f4 + .5) | 0;
            css.y = this.y = (this.p1[1] * f1 + this.p2[1] * f2 + this.p3[1] * f3 + this.p4[1] * f4 + .5) | 0;
            css.left = css.x + "px";
            css.top = css.y + "px";
            return css;
        };
    };
    $.path.arc = function(params, rotate) {
        for (var i in params) {
            this[i] = params[i];
        }
        this.dir = this.dir || 1;
        while (this.start > this.end && this.dir > 0) {
            this.start -= 360;
        }
        while (this.start < this.end && this.dir < 0) {
            this.start += 360;
        }
        this.css = function(p) {
            var a = (this.start * (p) + this.end * (1 - (p))) * Math.PI / 180,
                    css = {};
            if (rotate) {
                css.prevX = this.x;
                css.prevY = this.y;
            }
            css.x = this.x = (Math.sin(a) * this.radius + this.center[0] + .5) | 0;
            css.y = this.y = (Math.cos(a) * this.radius + this.center[1] + .5) | 0;
            css.left = css.x + "px";
            css.top = css.y + "px";
            return css;
        };
    };
    $.fx.step.path = function(fx) {
        var css = fx.end.css(1 - fx.pos);
        if (css.prevX != null) {
            $.cssHooks.transform.set(fx.elem, "rotate(" + Math.atan2(css.prevY - css.y, css.prevX - css.x) + ")");
        }
        fx.elem.style.top = css.top;
        fx.elem.style.left = css.left;
    };
})(jQuery); 


function RetourAjoutPanierClient(retourajax,elementid){

	var retour_ajax = retourajax.split(";;");
	if (retour_ajax[0] == "1"){
		if (retour_ajax[2] == "panier"){
			window.location.reload();
		}
		else {
                        $('#'+elementid+'').html(retour_ajax[1]);
			var IdProduit = retour_ajax[3];
			var IdRefProduit = retour_ajax[4];
			var NomProduit = retour_ajax[6];
			var PrixVente = retour_ajax[7];
			var Quantite = retour_ajax[8];
                        
			$('#'+elementid+'').html(retour_ajax[1]);
			var IdProduit = retour_ajax[3];
			var IdRefProduit = retour_ajax[4];
         
			AnimeQuantiteToPanier(IdProduit, IdRefProduit, NomProduit, PrixVente, Quantite);
                        //Modal_Dialog_AjoutCaddie(IdProduit, IdRefProduit);
			//fn_ActualiseAffichageCaddie();
			
		}
	}
	else {
		//retour si la quantité en stock est depassé
		//document.getElementById(elementid).innerHTML = retour_ajax[1];
                $('#'+elementid+'').html(retour_ajax[1]);
		$('#'+elementid).show();
		$('#WarningPanier').fadeIn('fast');
		$('#WarningPanier').attr('style', 'border:2px solid #FF0000; margin:10px 0; padding:5px; clear:both');
		$('#WarningPanier').html(retour_ajax[5]);
                setTimeout("$('#WarningPanier').fadeOut()", 10000);
		//alert ("Votre demande est supérieur à la quantité disponible en stock !\nVous avez peut être cliquez deux fois sur le bouton de validation \nMerci de votre compréhension .");	
	}
}

function timer_fermeture(){
	time = setTimeout("Modal_Dialog_AjoutCaddie_fermeture()",150000);
}

function GetContentAddToCart(IdProduit, IdRefProduit, NomProduit, PrixVente, Quantite){
    var data = 'IdProduit='+IdProduit+'&IdRefProduit='+IdRefProduit+'&NomProduit='+escape(NomProduit)+'&PrixVente='+PrixVente+'&Quantite='+Quantite;
    var GetContentAddToCart =new Ajax();
        GetContentAddToCart.SetElementById('');
        GetContentAddToCart.SetNomFonctionRetour('RetourGetContentAddToCart');
        GetContentAddToCart.SetData(data);
        GetContentAddToCart.EnvoiRequete(''+_rootSite+'achat/Dialog_AjoutCaddie.php');
}

function RetourGetContentAddToCart(retourajax,elementid){
    $('#ModalAddToCart').find('.modal-body').html(retourajax);
}

function Modal_Dialog_AjoutCaddie(IdProduit, IdRefProduit, NomProduit, PrixVente, Quantite){
    $('#ModalAddToCart').modal();
    GetContentAddToCart(IdProduit, IdRefProduit, NomProduit, PrixVente, Quantite);
}

function Modal_Dialog_AjoutCaddie_fermeture(){
	 $('#ModalAddToCart').modal('hide');
         $('#ModalAddToCart').find('.modal-body').html('');
}


function maj_quantite (IdRefProduit, Quantite, cle){

	var data = "IdProduit="+IdRefProduit+"&Quantite="+Quantite+"&cle="+cle;
			var maj_quantite_produit =new Ajax();
			maj_quantite_produit.SetElementById('AttenteAjax');
			maj_quantite_produit.SetNomFonctionRetour("RetourMajQuantite");
			maj_quantite_produit.SetData(data);
			maj_quantite_produit.EnvoiRequete('./achat/REQ_maj_quantite_produit.php');
}


function RetourMajQuantite(retourajax,elementid){
    var obj = JSON.parse(retourajax);
    
    if (obj.coderetour == "2"){
		document.getElementById(elementid).innerHTML = "";
		}
	if (obj.coderetour == "1"){
		window.location = "./CaddieAffichage.html";
		}
	else {
                var IdRefProduit = obj.id;
                var QuantiteMax = obj.qtemax;
                
                $('#WarningPanier').remove();
                if ($("WarningPanier").size() == ""){
                    $('#LigneProduit_'+IdRefProduit).after("<tr id=\"AlertLigneProduit_"+IdRefProduit+"\"><td colspan=\"6\"><div class='alert alert-danger' id=\"WarningPanier\"></div></td></tr>");
                }
		$('#WarningPanier').html(obj.error);
		$('#WarningPanier').attr('display', '');
		//$('#WarningPanier').attr('style', 'border:2px solid #FF0000; margin:10px 0; padding:5px');
                //var FadeLigneProduit = $("#AlertLigneProduit_"+IdRefProduit).fadeOut();
                setTimeout( '$("#AlertLigneProduit_'+IdRefProduit+'").fadeOut()', 8500);
                $('#Quantite_'+IdRefProduit+'_'+obj.cle).val(QuantiteMax);
              
	}
        
}


function maj_quantite_extension (IdGarantie, titre_extension, prix, quantite, IdProduit){
	var data = "IdProduit="+IdProduit+"&IdGarantie="+IdGarantie+"&quantite="+quantite+"&titre_extension="+titre_extension+"&prix="+prix;
			var maj_quantite_produit =new Ajax();
			maj_quantite_produit.SetElementById('AttenteAjax');
			maj_quantite_produit.SetNumFonctionRetour(7);
			maj_quantite_produit.SetData(data);
			maj_quantite_produit.EnvoiRequete('./achat/REQ_maj_quantite_extension.php');
}

function AjoutServiceSMS(){

	var FN_SMS =new Ajax();
		FN_SMS.SetElementById('AttenteAjax');
		FN_SMS.SetNumFonctionRetour(7);
		FN_SMS.SetData();
		FN_SMS.EnvoiRequete('./module/SMS/REQ_AjoutServiceSMS.php');

}

function RetirerServiceSMS(){

	var FN_SMS =new Ajax();
		FN_SMS.SetElementById('AttenteAjax');
		FN_SMS.SetNumFonctionRetour(7);
		FN_SMS.SetData();
		FN_SMS.EnvoiRequete('./module/SMS/REQ_DelServiceSMS.php');

}



function DelArticleCadddie(IdRefProduit, CleArrayValidation){

	if (confirm('Etes-vous sur de vouloir enlever ce produit du panier ?')) {
        var NbreColonne = $('#LigneArticle_'+IdRefProduit+' > td ').length;
	var data = "IdProduit="+IdRefProduit+"&CleArrayValidation="+CleArrayValidation;
        
        $('#LigneProduit_'+IdRefProduit).fadeOut().remove();
        
	var DelArticle =new Ajax();
            DelArticle.SetElementById('LigneArticle_'+IdRefProduit);
            DelArticle.SetTitreRetour('<td colspan=\"'+NbreColonne+'\"><div class="alert alert-info"><i class="fa fa-spinner fa-spin fa-large"></i> Suppression de votre article en cours. Merci de patienter !</div></td>');
            DelArticle.SetNomFonctionRetour('RetourDelArticleCadddie');
            DelArticle.SetData(data);
            DelArticle.EnvoiRequete('./achat/REQ_DelArticleCadddie.php');
            
            
              /* Tag Manager Trigger remove_from_cart */
         
            dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
            dataLayer.push({
            event: "remove_from_cart",
            ecommerce: {
              currency: "EUR",
                items: [{
                  item_id: $('#LigneProduit_'+IdRefProduit).data('idproduit'),
                  item_name: $('#LigneProduit_'+IdRefProduit).data('name'),
                  currency: "EUR",
                  index: 0,
                  price: $('#LigneProduit_'+IdRefProduit).data('prix'),
                  quantity: 1
                }
                ]
            }
          });
          
	}
	else {
	return false;	
	}
}

function RetourDelArticleCadddie(retourajax, elementid){
    var Retour = retourajax.split(";;");
    if (Retour[0]  == '1'){
        $('#'+elementid).find('td').html('<div class="alert alert-success"><b>Votre Article à bien été supprimé !</b> <i class="fa fa-spinner fa-spin fa-large"></i> Recalcul de votre panier en cours </div>');
        setTimeout("$('#'+elementid).fadeOut()", 1000);
        window.location = "./CaddieAffichage.html";
    }
    else {
        $('#'+elementid).find('td').html('<div class="alert alert-danger"><b>Un problème technique est intervenu ! Impossible de supprimer votre article.</b><br>  <i class="fa fa-spinner fa-spin fa-large"></i> Recalcul de votre panier en cours </div>');
        setTimeout("$('#'+elementid).fadeOut()", 1000);
         window.location = "./CaddieAffichage.html";
    }
}




function del_produit_caddie(IdRefProduit){

	if (confirm('Etes-vous sur de vouloir enlever ce produit de votre panier ?')) {
	var data = "IdProduit="+IdRefProduit;
	var maj_quantite_produit =new Ajax();
		maj_quantite_produit.SetElementById('AttenteAjax');
		maj_quantite_produit.SetNumFonctionRetour(7);
		maj_quantite_produit.SetData(data);
		maj_quantite_produit.EnvoiRequete('./achat/REQ_del_produit_caddie.php');
	}
	else {
	return false;	
	}
}


function Modal_Dialog_ConfirmSuppressionExtensionGarantie(IdRefProduit){
//alert ('./detail_commande.php?commande='+IdCommande+'height=350&width=600');
	TB_show('', ''+_rootSite+'achat/Modal_ConfirmSuppGarantie.php?IdRefProduit='+IdRefProduit+'&height=350&width=350', null);
}

function del_extension_garantie_caddie(IdRefProduit){
	if (confirm('Etes-vous sur de vouloir supprimer cette extension de garantie ?')) {
	var data = "IdProduit="+IdRefProduit;
	var supp_extension_garantie =new Ajax();
		supp_extension_garantie.SetElementById('AttenteAjax');
		supp_extension_garantie.SetNumFonctionRetour(7);
		supp_extension_garantie.SetData(data);
		supp_extension_garantie.EnvoiRequete('./achat/REQ_del_extension_garantie_caddie.php');
	}
	else {
		return false;	
	}
}

function Affichage7(retourajax, elementid){
var retour_ajax = retourajax.split(";;");
	if (retour_ajax[0] == 2){
		document.getElementById(elementid).innerHTML = "";
		}
	if (retour_ajax[0]  == 1){
		window.location = "./CaddieAffichage.html";
		}
	else {
                var IdRefProduit = retour_ajax[2];
                $('#WarningPanier').remove();
                if ($("WarningPanier").size() == ""){
                    $('#LigneProduit_'+IdRefProduit).after("<tr id=\"AlertLigneProduit_"+IdRefProduit+"\"><td colspan=\"6\"><div id=\"WarningPanier\"></div></td></tr>");
                }
		$('#WarningPanier').html(retour_ajax[1]);
		$('#WarningPanier').attr('display', '');
		$('#WarningPanier').attr('style', 'border:2px solid #FF0000; margin:10px 0; padding:5px');
                //var FadeLigneProduit = $("#AlertLigneProduit_"+IdRefProduit).fadeOut();
                setTimeout( '$("#AlertLigneProduit_'+IdRefProduit+'").fadeOut()', 8500);
                if ( _TempQuantiteProduit != ""){
                    
                    $('#Quantite_'+IdRefProduit).val(_TempQuantiteProduit);
                   //setTimeout( 'maj_quantite('+IdRefProduit+','+ _TempQuantiteProduit+');', 2500);
                   //_TempQuantiteProduit= "";
                }
	}
}


function verif_identification(Mode){
    _ModeIdentification = Mode;
// on verifie que le membre est bien logger
	var verification_identite =new Ajax();
            verification_identite.SetElementById('AttenteAjax');
            verification_identite.SetTitreRetour('Chargement en cours');
            verification_identite.SetNomFonctionRetour('RetourVerifIdentification');
            verification_identite.EnvoiRequete('./achat/REQ_verif_identification.php');
}

function RetourVerifIdentification(retourajax, elementid){
	if (retourajax == 1){
		window.location= "./RecapCommande.html"; // amodifier pour la V2 du caddie
	}
	else {
               if (_ModeIdentification == "Modal"){
                   Modal_IdentificationClient();
               }
               else {
		window.location="./index.php?page=login";
               }
	}

    
}

function Modal_IdentificationClient(){
       


    //alert ('./detail_commande.php?commande='+IdCommande+'height=350&width=600');
        $('#ModalLoginClient').modal();
	//TB_show('Identification', '../client/Modal_LoginClient.php?height=400&width=900', null);
        //console.log(_rootSite);
        //TB_show('', ''+_rootSite+'/client/Modal_LoginClient.php?KeepThis=false&TB_iframe=true&height=400&width=900', null);
}

function valid_identification(){
	var login = $('#inputloginClient').val();
	var pass = $('#inputpassClient').val();
	if (login == ""){alert ("merci de renseigner votre login");return false;};
	if (pass == ""){alert ("merci de renseigner votre mot de passe");return false;};
	var data = "login="+login+"&pass="+pass;
	var fn_valid_identification =new Ajax();
            fn_valid_identification.SetTitreRetour('<i class="fa fa-spinner fa-spin"></i> Identification en cours..');
	    fn_valid_identification.SetElementById('RetourIdentificationModal');
	    fn_valid_identification.SetNomFonctionRetour('RetourIdentificationLogin');
            fn_valid_identification.SetData(data);
	    fn_valid_identification.EnvoiRequete('./REQ_login.php');
}

function CloseAlerteIdentification(IdElement){
    $('#'+IdElement).html('');
}

function RetourIdentificationLogin(retourajax, elementid){
    //alert(retourajax);
	var Tretour = new Array();
	retourajax = retourajax.replace( /^\s+|\s+$/g ,'').replace( /\s+/g,' ');
		   Tretour = retourajax.split(";;");
	//console.log(Tretour[0]);
	if (Tretour[0] == "1"){
            $('#'+elementid+'').html('');	
            $('#'+elementid).html("<div class='alert alert-success'><i class=\"fa fa-spinner fa-spin\"></i> Redirection vers votre compte client en Cours.<br>Merci de patienter.</div>");
            window.location = Tretour[1];
	}
	else if (Tretour[0] == "0"){
            $('#'+elementid).html("<div class='alert alert-danger'>"+Tretour[1]+"</div>");
            setTimeout("CloseAlerteIdentification('"+elementid+"')", 5000);
        }
	else {
            $('#'+elementid).html("<div class='alert alert-danger'>"+Tretour[1]+"</div>");
            setTimeout("CloseAlerteIdentification('"+elementid+"')", 5000);
	}
}

function valid_identification_index(){ // indentification de la page d'index
	var login = document.getElementById('login_index').value;
	var pass = document.getElementById('pass_index').value;
	if (login == ""){alert ("merci de renseigner votre login"); return false;};
	if (pass == ""){alert ("merci de renseigner votre mot de passe"); return false;};
	var data = "login="+login+"&pass="+pass;
	var fn_valid_identification =new Ajax();
		fn_valid_identification.SetElementById('RetourIdentificationClient');
		fn_valid_identification.SetNomFonctionRetour('RetourIdentificationIndex');
		fn_valid_identification.SetData(data);
		fn_valid_identification.EnvoiRequete('./REQ_login.php');
}

function RetourIdentificationIndex(retourajax, elementid){
    //alert(retourajax);
	var Tretour = new Array();
	retourajax = retourajax.replace( /^\s+|\s+$/g ,'').replace( /\s+/g,' ');
		   Tretour = retourajax.split(";;");
	//console.log(Tretour[0]);
	if (Tretour[0] == "1"){
            $('#'+elementid+'').html('');	
            $('#'+elementid).html("<div style=\"padding:8px;\"><div style=\"float:left;width:40px\"><img src=\"images/loader.gif\" align=\"absmiddle\"></div><div style=\"float:left; font-weight:bold\">Redirection vers votre compte client en Cours.<br>Merci de patienter.</div></div>");
            window.location = Tretour[1];
	}
	else if (Tretour[0] == "0"){
            $('#'+elementid).attr('style','border:2px solid #FF0000; padding:5px; width:90%; margin-top:10px');
            $('#'+elementid).html("<div class='alert alert-danger'>"+Tretour[1]+"</div>");
            
            //$('#FormIdentificatinClient').after(''+Tretour[1]+'');
		//document.getElementById(elementid).innerHTML = "<div style='border:1px solid #FF0000; padding:10px'>"+Tretour[1]+"</div>";
	}
	else {
            $('#'+elementid).attr('style','border:2px solid #FF0000; padding:5px; width:90%; margin-top:10px');
            $('#'+elementid).html("<div class='alert alert-danger'>"+Tretour[1]+"</div>");
            //$('#FormIdentificationClient').(Tretour[1]);
	}
}
function fn_enregistreAnnulation(){
	var IdCommande = $_('hidden_IdCommande').value;
	var motif = $_('motifAnnulation').value;
	
	if (motif == ""){alert ('Merci de bien vouloir indiquez vos modifs d\'annulation ! '); return false;}
	
	var data = "IdCommande="+IdCommande+"&motif="+motif;
	var enregistreAnnulation =new Ajax();
		enregistreAnnulation.SetElementById("AttenteAjax");
		enregistreAnnulation.SetNumFonctionRetour(6);
		enregistreAnnulation.SetData(data);
		enregistreAnnulation.EnvoiRequete('./achat/REQ_AnnulationCommande.php');
}

function Affichage6(retourajax, elementid){
	var retour_ajax = retourajax.split(";;");
	if (retour_ajax[0] == 1){
		TB_remove();
		var lien_retour = retour_ajax[1];
		window.location = lien_retour;
	}
	else {
		alert (retourajax);
		TB_remove();
	}

}
// Retour d'information pour le log est la redirection du client en fonction du contenu de son panier
// Valeur possible de retour 
// Erreur de retour -> 0;;TEXT
// On autorise le client au log
// Retour OK -> 1;;
// la seconde variable defini la page à charger 1 == Client et 2 == RecapCommande

function Affichage4(retourajax,elementid){
	//alert(retourajax);
	var Tretour = new Array();
	retourajax = retourajax.replace( /^\s+|\s+$/g ,'').replace( /\s+/g,' ');
		   Tretour = retourajax.split(";;");
	//console.log(Tretour[0]);
	if (Tretour[0] == "1"){
            $('#'+elementid+'').html('');	
            $('#FormIdentificationClient').html("<div style=\"padding:8px;\"><div style=\"float:left;width:40px\"><img src=\"images/loader.gif\" align=\"absmiddle\"></div><div style=\"float:left; font-weight:bold\">Redirection vers votre compte client en Cours.<br>Merci de patienter.</div></div>");
            window.location = Tretour[1];
	}
	else if (Tretour[0] == "0"){
            $('#'+elementid).attr('style','border:2px solid #FF0000; padding:8px; width:98%; margin-top:10px');
            $('#'+elementid).html(Tretour[1]);
            
            //$('#FormIdentificatinClient').after(''+Tretour[1]+'');
		//document.getElementById(elementid).innerHTML = "<div style='border:1px solid #FF0000; padding:10px'>"+Tretour[1]+"</div>";
	}
	else {
            $('#'+elementid).attr('style','border:2px solid #FF0000; padding:8px; width:98%; margin-top:10px');
            $('#'+elementid).html(Tretour[1]);
            //$('#FormIdentificationClient').(Tretour[1]);
	}
}
/*
function Affichage5(retourajax,elementid){
	var T_retourajax = retourajax.split(';;');
	if (T_retourajax[0] != 0){
		window.location = T_retourajax[1];
		$_('AttenteAjax').style.display = "none";
	}
	else {
		alert ("Mauvais mot de passe");
		$_('AttenteAjax').style.display = "none";
	}
}
*/
// Supprime une option du caddie
function fn_RetirerOptionCaddie(IdOption, IdRefProduit){

	if (confirm('Etes-vous sur de vouloir supprimer cette option ?')) {
		var data = "IdOption="+IdOption+"&IdRefProduit="+IdRefProduit;
		var RetirerOptionCaddie = new Ajax();
			RetirerOptionCaddie.SetElementById('AttenteAjax');
			RetirerOptionCaddie.SetNumFonctionRetour(7);
			RetirerOptionCaddie.SetData(data);
			RetirerOptionCaddie.EnvoiRequete('./achat/REQ_RetirerOptionCaddie.php');
			
	} else {
		return false;	
	}

}



/**
 * Extension Jquery pour mettre un delay sur une action hover
 * @param {type} $
 * @returns {undefined}
 */
(function($) {
  $.fn.delayHover  = function(callback, options) {
 	var options = $.extend({ delay: 500 }, options);
 	return this.each(function() {
		var obj = $(this);
		var timer = false;
		obj.mouseover( function(event) {
			if(timer) clearTimeout(timer);
			timer = setTimeout( function() { callback.apply(obj[0], [event]); }, options.delay );
		});		
		obj.mouseout( function(event) {
			if(timer) clearTimeout(timer);
			timer = false;
		});		
	});
  };
 
})(jQuery);