var urlSite = 'http://'+document.location.host+'/';


$(function(){
    //Get our elements for faster access and set overlay width
    var div = $('div.sc_menu'),
                 ul = $('ul.sc_menu'),
                 // unordered list's left margin
                 ulPadding = 15;

    //Get menu width
    var divWidth = div.width();

    //Remove scrollbars
    div.css({overflow: 'hidden'});

    //Find last image container
    var lastLi = ul.find('li:last-child');

    if(lastLi[0] != undefined) {
        //When user move mouse over menu
        div.mousemove(function(e){
    
          //As images are loaded ul width increases,
          //so we recalculate it each time
          var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;
    
          var left = (e.pageX - div.offset().left) * (ulWidth-divWidth) / divWidth;
          div.scrollLeft(left);
        });
    }
});

function isEMailAddr(str) {
    var valide = true;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        valide = false;
    }
    return valide;
}

$(document).ready(function(){

    $("a:contains('blah')").mouseover(function() {

        $("#drop_down").show("slow");

    });

    $("#drop_down").mouseout(function(){

        $(this).hide('slow');

    });

//  coloration des selects 
    $(".altColor li:even").addClass("gris");
    $(".altColorInv li:odd").addClass("gris");
});


function calculAssuDemo(prix, action, popup) {
    if(popup == undefined) {
        popup = '';
    }
    
    if(action == undefined) {
        if(document.getElementById('checkboxGarantie' + popup).checked == true) {
            action = 1;
        } else {
            action = 2;
        }
    }

    if(action == 1) {
        document.getElementById('checkboxGarantie' + popup).checked = true;
        
        document.getElementById('iconeSupprimer' + popup).style.display = 'block';
        document.getElementById('iconeAjouter' + popup).style.display = 'none';
        
        document.getElementById('assuDemoQuantite' + popup).innerHTML = "2";
        document.getElementById('assuDemoPrixTotal' + popup).innerHTML = prix;
    } else {
        document.getElementById('checkboxGarantie' + popup).checked = false;
        
        document.getElementById('iconeSupprimer' + popup).style.display = 'none';
        document.getElementById('iconeAjouter' + popup).style.display = 'block';
        
        document.getElementById('assuDemoQuantite' + popup).innerHTML = "0";
        document.getElementById('assuDemoPrixTotal' + popup).innerHTML = "0 &euro;";
    }
}

var tableau = {'erreur':3};
$(document).ready( function () {
    var trackerID;
    
    // gestion ouverture fermeture div
    $("#menuLangue").hide();    
    $("#menuPanier").hide();
    
    $("#choixLangue, #choixLangueRech, #nomLangue, #nomLangueRech").click(
        function(){
            if ($("#menuLangue:visible").length == 0) {
                $("#menuLangue").slideDown("normal");
            }
        } 
    );

    /* Pour masquer le div des langues quand on clic en dehors */
    $('#menuLangue').click(function(e) {
        e.stopPropagation();
    });
    $(document).click(function() {
        $('#menuLangue').hide();
    });	
    
//    $("#choixPanier, #nomPanier, #panierClient").click(
//        function(e){
//            if ($("#menuPanier:visible").length == 0) {
//                $("#menuPanier").slideDown("normal");
//            } else {
//                $("#menuPanier").slideUp("normal");
//            }
//            e.stopPropagation();
//        } 
//    );
    
    $("#choixPanier, #nomPanier, #panierClient, #menuPanier").mouseover(
        function(e){
            if ($("#menuPanier:visible").length == 0) {
                trackerID = window.setTimeout('$("#menuPanier").slideDown("normal")',250);
            } else {
                window.clearTimeout(trackerID);
            }
            e.stopPropagation();
        } 
    );

    /* Pour masquer le div du panier on clic en dehors	*/
    $('#menuPanier').click(function(e) {
        window.clearTimeout(trackerID);
        e.stopPropagation();
    });
    
    $("#choixPanier, #nomPanier, #panierClient, #menuPanier").mouseout(
        function(e) {
            window.clearTimeout(trackerID);
            trackerID = window.setTimeout('$("#menuPanier").slideUp("normal")',150);
        }
    );
    
    $(document).mouseover(function(e) {
        window.clearTimeout(trackerID);
        trackerID = window.setTimeout('$("#menuPanier").slideUp("normal")',150);
    }); 
    
//    $(document).click(function(e) {
//        $('#menuPanier').slideUp("normal");
//    });	


    $("#boutonHeaderLogin").click(
            function(){
                var url = urlSite+'compte/connexion.html';
                var parametre = 'emailConnexion='+document.getElementById('emailConnexion').value+'&mdpConnexion='+document.getElementById('mdpConnexion').value;
                var myAjax = $.ajax({type: 'get',
                    url: url,
                    data: parametre,
                    error:function(msg){
                    //alert( "Error !: " + msg );
                },
                success: renderResults
                });
            }
    );		
} ) ;



function renderResults(response){
    var renderDiv = document.getElementById('authentification');
    renderDiv.innerHTML = response;
    var renderDiv2 = renderDiv.getElementsByTagName('script')[0].text;
    eval(renderDiv2);
    if(json['erreur']!=""){
        $(document).ready( function () {
            messageBox('Identification invalide',300,200,'<div>'+json['erreur']+'</div>');		
            $("#boutonHeaderLogin").click(
                    function(){
                        var url = urlSite+'compte/connexion.html';
                        var parametre = 'emailConnexion='+document.getElementById('emailConnexion').value+'&mdpConnexion='+document.getElementById('mdpConnexion').value;
                        var myAjax = $.ajax({type: 'get',
                            url: url,
                            data: parametre,
                            error:function(msg){
                            alert( "Error !: " + msg );
                        },
                        success: renderResults
                        });
                    }
            );
        }) ;
    }
}

function messageBoxXmlFullJs(xml, options){
	
	var settings = {
//		titre: '', 
//		bouton: '', //libelle du bouton gauche
//		arrayMessage: [] //message dans la popup
		
		'decorateurMessagesDebut': '',
		'decorateurMessagesMilieu': '<br \/>',
		'decorateurMessagesFin': ''
		
//		'decorateurMessagesDebut': '<ul><li>',
//		'decorateurMessagesMilieu': '</li><li>',
//		'decorateurMessagesFin': '</li><ul>'
		
		

	};

	//extending options
	options = options || {};
	$.extend(settings, options);
	
	var arrayParameter = new Array();
	$(xml).find('parameter').each(
		function() {
			var name = $(this).attr('name');
			var value = $(this).text();
			
			arrayParameter[name] = value;
		});
	
	//var code = $(xml).find('code').text();
	
	//rajouter les paramètres retournés par ajax en les rendant prioritaires!
	$.extend(settings, arrayParameter);
	
	
	var message = settings.decorateurMessagesDebut;
	var arrayMessage = $(xml).find('message');
	arrayMessage.each(
		function(index) {
			message += $(this).text();
			//ne pas rajouter le décorateur sur la dernière ligne
			if (index != arrayMessage.length -1) {
				message += settings.decorateurMessagesMilieu;
			}
		});
	message += settings.decorateurMessagesFin;
	

	messageBox(arrayParameter['titre'], message, arrayParameter['bouton'], settings);
}


function messageBoxJsonFullJs(json, options){
	
	var settings = {
//		titre: '', 
//		bouton: '', //libelle du bouton gauche
//		arrayMessage: '' //message dans la popup
		
		'decorateurMessagesDebut': '',
		'decorateurMessagesMilieu': '<br \/>',
		'decorateurMessagesFin': ''
		
//		'decorateurMessagesDebut': '<ul><li>',
//		'decorateurMessagesMilieu': '</li><li>',
//		'decorateurMessagesFin': '</li><ul>'
	};
	
	//extending options
	options = options || {};
	$.extend(settings, options);
	
	//rajouter les paramètres retournés par ajax en les rendant prioritaires!
	$.extend(settings, json.arrayParameter);
	
	//concatener les messages
	var message = settings.decorateurMessagesDebut;
	message += json.arrayMessage.join(settings.decorateurMessagesMilieu);
	message += settings.decorateurMessagesFin;
	
	messageBox(settings.titre, message, settings.bouton, settings);
}

function messageBox(titre, message, bouton, options) {
    if(titre != "" && message != "" || bouton != "") {
        picto = "check";
        boutonGaucheLibelle = bouton;
        boutonGaucheLien = "";
        boutonDroitLibelle = "";
        boutonDroitLien = "";
        hauteur = 100; 
        largeur = 500;
        sousTitre = "";
        focusBouton = "";
        affichageProduit = '';
        texteSousBouton = '';
        
        if(options instanceof Array || options instanceof Object) {
            if(options["picto"] != undefined) {
                picto = options["picto"];
            }
            if(options["boutonGaucheLien"] != undefined) {
                boutonGaucheLien = options["boutonGaucheLien"];
            }
            if(options["boutonDroitLibelle"] != undefined) {
                boutonDroitLibelle = options["boutonDroitLibelle"];
            }
            if(options["boutonDroitLien"] != undefined) {
                boutonDroitLien = options["boutonDroitLien"];
            }
            if(options["hauteur"] != undefined) {
                hauteur = options["hauteur"];
            }
            if(options["largeur"] != undefined) {
                largeur = options["largeur"];
            }
            if(options["sousTitre"] != undefined) {
                sousTitre = options["sousTitre"];
            }
            if(options["focus"] != undefined) {
            	focusBouton = options["focus"];
            }
            if(options["produit"] != undefined) {
            	affichageProduit = options["produit"];
            }
            if(options["texteSousBouton"] != undefined) {
            	texteSousBouton = options["texteSousBouton"];
            }
        }

        if(boutonGaucheLien != "") {
            if(boutonGaucheLien.substring(0, 11) == "javascript:") {
                boutonGaucheLien = "onclick=\"" + boutonGaucheLien + "\"";
            } else {
                boutonGaucheLien = " onclick=\"document.location='" + boutonGaucheLien + "'\"";
            }
        }

        if(boutonDroitLien != "") {
            if(boutonDroitLien.substring(0, 11) == "javascript:") {
                boutonDroitLien = "onclick=\"" + boutonDroitLien + "\"";
            } else {
                boutonDroitLien = " onclick=\"document.location='" + boutonDroitLien + "'\"";
            }
        }

        try {
            $(function(event) {
                var content = "" +
                "     <div class=\"popup_titreGris\">" + 
                "         <img src=\"/layouts/DesignV4/images/transverse/commun/icone_" + picto + ".png\" alt=\"" + picto + "\" class=\"margin5LeftRight\" style=\"vertical-align: middle;\" />" + titre +
                "     </div>";
                if(sousTitre != "") {
                    content +="     <br /><span class=\"font16px fontBolder\">" + sousTitre + "</span><br /><br />";
                }
                content += affichageProduit +"<div class=\"margin20LeftRight\" style=\"max-height: 210px; overflow: auto; text-align: justify;\"><br /><p>" + message + "</p></div>" + 
                "     <div class=\"boutonBackGris floatLeft margin10Top\">" +
                "         <a id=\"bouton_gauche_nyroModal\" class=\"nyroModalClose\" href=\"#\" title=\"" + boutonGaucheLibelle + "\"" + boutonGaucheLien + ">" + boutonGaucheLibelle + "</a>" +
                "     </div>";
                if(boutonDroitLien != "") {
                    content +="     <div class=\"boutonVert FloatRight margin10Top\">" +
                    "         <a id=\"bouton_droit_nyroModal\" class=\"nyroModalClose\" href=\"#\" title=\"" + boutonDroitLibelle + "\"" + boutonDroitLien + ">" + boutonDroitLibelle + "</a>" +
                    "     </div>";
                }
                content +=    "     <div class=\"clearBoth\"></div>" +
                "";
                if (texteSousBouton){
                    content += texteSousBouton;
                }
                
                $.nyroModalManual({
                    debug: false,
                    modal: true,
                    width: largeur,
//                  height: hauteur,
                    minWidth: 300,
                    minHeight: 80,
                    content: content
                });
                
                //compatibilité entre les différents navigateurs
                ElementWithFocus = event.explicitOriginalTarget||event.srcElement||document.activeElement;
                
                //rendre le focus à l'élément qui l'avait avant l'ouverture de la fenêtre modale
                $(".nyroModalClose").keypress(function(e){
                    if (e.keyCode == '13' /* enter */ 
                    ){
                        $(ElementWithFocus).focus();
                    }
                }).mouseup(function (){
                    $(ElementWithFocus).focus();
                });
                
               //donner le focus au bouton prédéfini
                if (focusBouton == "boutonDroit" && $("#bouton_droit_nyroModal").length != 0){
                	$("#bouton_droit_nyroModal").focus();
                }else if(focusBouton == "boutonGauche"){
                	$("#bouton_gauche_nyroModal").focus();
                } else {
                    $("#bouton_gauche_nyroModal").focus();
                }
                return false;
            });
        } catch(e) {}
    }
}

function switchDiv(div, vitesse) {
    if(vitesse == undefined) {
        vitesse = 'slow';
    }
    
    $('#' + div).slideToggle(vitesse);
}

function remove(formName, elemName) {
    $("#FermerWindowButton").unbind("click");
    $("#windows").fadeOut("fast",function(){$('#windows,#hover_blanc,#hover_noir').trigger("unload").unbind().remove();});
    document.onkeydown = "";
    document.onkeyup = "";

    if(formName!=null){ // Positionne le curseur dans un champ input donné
        var elem = document.forms[formName].elements[elemName];
        elem.focus();
        elem.select();
    }
    //return false;
}
/**
 * 
 * @param idDiv
 * @param url
 * @param data
 * @param blocage
 * @param afficher
 * @param callback fonction à appeler quand la requête est terminée ou que la popup est affichée à nouveau
 * @return
 */
function chargerPopupAjax(idDiv, url, data, blocage, afficher, callback, forceChargement) {
    if(data == undefined) {
        data = '';
    }
    
    if(blocage == undefined) {
        blocage = true;
    }
    
    if(afficher == undefined) {
        afficher = true;
    }

    var afficher1 = afficher;
    
    if($('#' + idDiv).html() == '' || forceChargement == true) {
        if(blocage) { 
            bloquer();
        }
        var myAjax = $.ajax({
            type: 'post',
            url: url,
            data: data,
            async: true,
            success: function(html){
                debloquer();
                
                $('#' + idDiv).html(html);
                if(afficher1) {
                    $('#' + idDiv).css('display', 'block');
                }
                
                if (callback != undefined){
                    callback.call();
                }
            }
        });
    } else {
        if(afficher1) {
            $('#' + idDiv).css('display', 'block');
        }
        if (callback != undefined){
            callback.call();
        }
    }
}



function isIE()
{
  return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}

function getInternetExplorerVersion() {
    var rv = -1; // Return value assumes failure.
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    return rv;
}

function fixIeDropDown(select){
    var select = (typeof select == "string") ? document.getElementById(select) : select;

    // THIS FUNCTION IS ONLY CONCERNED WITH INTERNET EXPLORER NON-MULTIPLE SELECT NODES THAT HAVE A SPECIFIC WIDTH DEFINED
    if(select == undefined || select == null || !isIE() || getInternetExplorerVersion() >= 9) { return; } //!select.attachEvent || navigator.userAgent.indexOf("Opera") > -1 || select.multiple || select.currentStyle.width == "auto") { return; }

    var body = document.getElementsByTagName("body").item(0);

    var si = select.selectedIndex;

    var clone = select.cloneNode(true);
    clone.style.position = "absolute";
    clone.style.visibility = "hidden";
    clone.style.width = "auto";
    body.appendChild(clone);

    clone._initialOffsetWidth = 85; //hmm...quirky... //select.offsetWidth; 
    clone._initialOffsetHeight = 23; //hmm...quirky... //select.offsetHeight;
    clone._autoWidth = clone.offsetWidth;

    clone = body.removeChild(clone);
    clone.style.visibility = "visible";
    clone.style.width = clone._initialOffsetWidth + "px";

    var span = document.createElement("div");
    span._isIeDropDownContainer = true;
    span.style.position = "relative";
    span.style.width = clone._initialOffsetWidth + "px";
    span.style.height = clone._initialOffsetHeight + "px";
    span.style.marginBottom = "8"; //hmm...quirky...
	
    if(getInternetExplorerVersion() < 8) {
        span.style.marginLeft = "-80"; //hmm...quirky...
    } else {
        span.style.marginLeft = "20"; //hmm...quirky...
    }
    
    span.appendChild(clone);

    if (select.parentNode._isIeDropDownContainer){
        select.parentNode.parentNode.replaceChild(span, select.parentNode);
    }else{
        select.parentNode.replaceChild(span, select);
    }

    if (clone._autoWidth > clone._initialOffsetWidth){
        var expand = function(){
            event.srcElement.parentNode.style.zIndex = 1;
            event.srcElement.style.width = "auto";
            if (event.srcElement.offsetWidth > event.srcElement._initialOffsetWidth){
                event.srcElement.style.width = "auto";
            }else{
                event.srcElement.style.width = event.srcElement._initialOffsetWidth + "px";
            }
        };
        var contract = function(){
            event.srcElement.parentNode.style.zIndex = 0;
            event.srcElement.style.width = event.srcElement._initialOffsetWidth + "px";
        };
        clone.attachEvent("onactivate", expand);
        clone.attachEvent("ondeactivate", contract);
    }
    clone.selectedIndex = si;
}

function fix_png_header(){
	
	//toutes les pages 
	DD_belatedPNG.fix('#logo');
	DD_belatedPNG.fix('.floatLeft');
	DD_belatedPNG.fix('#blockContactEmail a img');
	DD_belatedPNG.fix('#telephone');

	DD_belatedPNG.fix('#ongletsTypeProduits ul');
	DD_belatedPNG.fix('#ongletsTypeProduits ul li');
	DD_belatedPNG.fix('#ongletsTypeProduits ul li a');
	DD_belatedPNG.fix('#ongletsTypeProduits ul li img');

}
function submitForm(id){
	var onsubmit = document.getElementById(id).onsubmit();
	if (onsubmit){ /* test obligatoire car sinon soumission du formulaire même s'il y a une erreur! */
		document.getElementById(id).submit();
	}
}

function clearText(thefield){
    if (thefield.defaultValue==thefield.value) {
        thefield.value = "";
    }
} 

//désactiver la propagation d'un évènement en fonction du navigateur
function disableEventPropagation(event) {
	if (event.stopPropagation) {
		// this code is for Mozilla and Opera
		event.stopPropagation();
	}
	else if (window.event) {
		// this code is for IE
		window.event.cancelBubble = true;
	}
}

function texteParDefautInput(texte, element){
	//dans le cas ou le texte ne serait pas présent => ne rien faire
	if ($.trim(texte)){
		$(element).focus(function(){
			if($(this).val() == texte) {
				$(this).val('');
				
			}
			$(this).removeClass('valeurExemple');
		});
		$(element).blur(function(){
			if($(this).val() == '') {
				$(this).val(texte);
				$(this).addClass('valeurExemple');
			}
		});
		
		//définir le texte par défaut de l'input
		if($(element).val() == '') {
			$(element).val(texte);
		}
		if ($(element).val() == texte){
			$(element).addClass('valeurExemple');
		}
	}
}

