var linkclicked = false;
var server_prod = true;

$(document).ready(function () {
    jLoading("show");
    var urlsite = window.location.href.split("#")[0];
    var regexUrl = new RegExp("http://", "g");
    
    //############ DECLARATIONS ##############################
    var reg1=new RegExp("("+urlsite+"#)", "g");
    var linkclicked = false;
    var hierarchie = 0;
    var pwd_loose = 0;
    var menu_accordion;
    Init();
    //InitLinkContact();
    //############ PROCEDURES / METHODES #####################

    /////// Gestion de l'historique ///////////////
    $.history.init(pageload);

    function pageload(hash) {
        // hash doesn't contain the first # character.
        if(hash) {
            if(!linkclicked){
                getContenu(hash);
                activeMenu(hash);
            }
        }else {
            //start page
            if( $("#maintenance").css("display") != "block" ){
                getContenu("accueil");
                activeMenu("accueil");
            }
        }
    }
    ///////////////////////////////////////////////

    function Init(){
        CreateMenu();
    }
    function InitFancy(){
        $("#fancy_overlay").hide();
        $("#fancy_loading").hide();
        $("#fancy_outer").hide();
        $("#fancy_title").hide();
    }
    function activeMenu( param ){
        $('#leftMenu li a').removeClass();
        $("#content_left #leftMenu li a").each( function(){
            /////////Gestion Menu Sélectionné
            if($(this).attr('href') == "#"+param && is_int($(this).attr('abbr'))){
                $(this).addClass('menuActive');
            }
            /////////Gestion Sous Menu Sélectionné
            if($(this).attr('href') == "#"+param && !is_int($(this).attr('abbr'))){
                var oParent = $(this).parent().parent().parent();
                $(this).addClass('sousMenuActive');
                if (menu_accordion){oParent.find('ul:first').slideDown('normal');}
                oParent.find('a:first').addClass('menuActive');
            }
        });
    }
    function Load(element){
        linkclicked = true;
        if( $(element).attr("id") != "" ){
                var nb_hash = $(element).attr("id").replace(reg1, "");
                //Insertion de #x dans la barre d'adresse
                if(!regexUrl.test(nb_hash)){
                    $.history.load( nb_hash );
                    getContenu(nb_hash);
                    activeMenu(nb_hash);
                }
        } else if( $(element).attr("href") != "" ){
                nb_hash = $(element).attr("href").replace(reg1, "");
                //Insertion de #x dans la barre d'adresse
                if(!regexUrl.test(nb_hash)){
                    $.history.load( nb_hash );
                    getContenu(nb_hash);
                    activeMenu(nb_hash);
                }
        } else {
                window.location.replace("");
        }
    }

    function CreateMenu(){
        $.ajax({
            type: "POST",
            url:"../lib/Action/ActionParametrage.php5?action=getParams",
            async: false,
            dataType: "xml",
            data:"param=menu_accordion",
            success: function(xml){
                menu_accordion = $(xml).find("valeurparam").text();
//            }
//        });

//        $.ajax({
//            type:"POST",
//            url:"../lib/Action/ActionPage.php5?action=getList",
//            async: false,
//            dataType: "xml",
//            data:"id_groupe="+GetCookie("eyes_user_fo_gr"),
//            success: function(xml){
//                var reg=new RegExp("[_]+", "g");
//                $("#content_left").prepend("<ul id='leftMenu' style='display:block;'></ul>");
//                var next = "";
//                var UL = false;
//                var nbNiveau = $(xml).find("niveau").length;
//
//                for (var i = 0; i < nbNiveau; i++){
//                    //Element parent
//                    if ( is_int($(xml).find("niveau").eq(i).text()) ){
//                        var idTemp = $(xml).find("id").eq(i).text();
//                        $("#leftMenu").append("<li id='li_"+idTemp+"'></li>");
//                        $("#li_"+idTemp).append("<a href='#"+$(xml).find("code").eq(i).text()+"' id='"+idTemp+"' abbr='"+$(xml).find("niveau").eq(i).text()+"' >"+$(xml).find("libelle").eq(i).text()+"</a>");
//
//                        next = $(xml).find("niveau").eq(i+1).text().split(reg);
//                        if( $(xml).find("niveau").eq(i).text() == next[0] ){
//                            UL = true;
//                        }
//
//                    } else {
//                        //Element enfant
//                        if(UL){
//                            $("#li_"+idTemp).append("<ul id='ul_"+idTemp+"' style:'display:none;'></ul>");
//                            UL = false;
//                        }
//                        $("#ul_"+idTemp).append("<li><a href='#"+$(xml).find("code").eq(i).text()+"' id='"+$(xml).find("id").eq(i).text()+"' name='menu"+$(xml).find("niveau").eq(i).text()+"' abbr='"+$(xml).find("niveau").eq(i).text()+"' >"+$(xml).find("libelle").eq(i).text()+"</a></li>");
//                    }
//
//                }

                if(menu_accordion  == "1"){
                    $('#leftMenu ul').hide();
                    $('#leftMenu li a').click(
                            function() {
                                    var nextElement = $(this).next();

                                    /////////Gestion Menu Sélectionné
                                    if(is_int($(this).attr('abbr'))){
                                            $('#leftMenu li a').removeClass();
                                            $(this).addClass('menuActive');
                                            $('#leftMenu ul').slideUp('normal');
                                    }

                                    /////////Gestion Sous Menu Sélectionné
                                    if(!is_int($(this).attr('abbr'))){
                                            var oParent = $(this).parent().parent().parent();
                                            $('#leftMenu li a').removeClass();
                                            $(this).addClass('sousMenuActive')
                                            oParent.find('a:first').addClass('menuActive');
                                    }

                                    /////////Déroulement du Menu
                                    if((nextElement.is('ul')) && (!nextElement.is(':visible'))) {
                                            nextElement.slideDown('normal');
                                            return false;
                                    }

                            }
                    );
                } else {
                    $('#leftMenu li a').click( function() {
                        /////////Gestion Menu Sélectionné
                        if(is_int($(this).attr('abbr'))){
                                $('#leftMenu li a').removeClass();
                                $(this).addClass('menuActive');
                        }

                        /////////Gestion Sous Menu Sélectionné
                        if(!is_int($(this).attr('abbr'))){
                                var oParent = $(this).parent().parent().parent();
                                $('#leftMenu li a').removeClass();
                                $(this).addClass('sousMenuActive')
                                oParent.find('a:first').addClass('menuActive');
                        }
                    });
                }
            }
        });
    }
    function getActivation(){
        $.ajax({
            url: '../lib/Action/ActionUtilFront.php5?action=getActivation',
            type: "POST",
            async: false,
            datatype: "xml",
            data: "param="+GetCookie("eyes_user_fo_id"),
            success: function(xml){
                if( $(xml).find("user_actif").text() == "0" ){
                    alert('Votre compte à été désactivé');
                    Logout();
                }
                if( $(xml).find("group_actif").text() == "0" ){
                    alert('Le groupe auquel vous appartenez à été désactivé');
                    Logout();
                }
                pwd_loose = parseInt($(xml).find("pwd_loose").text());
                hierarchie = parseInt($(xml).find("hierarchie").text());
            },
            error: function(){
                alert('Une erreur a été détectée vous allez être déconnecté.');
                Logout();
            }
        });
    }
    function getContenu(libelle_page){
        //if ( libelle_page != "accueil" ){getParamMaintenance();}
        if ( GetCookie("eyes_user_fo_id") ){getActivation();}
        InitFancy();
        $.ajax({
            type: "POST",
            url:"../lib/Action/ActionPage.php5?action=getAt",
            async: false,
            data: "page=" + libelle_page + "&hierarchie="+hierarchie,
            dataType: "json",
            //beforeSend: function(){jLoading("show");},
            success: function(page, status){
                if( page.maintenance == 0){
                    //Requiert la modification du mot de passe de l'utilisateur'
                    if(pwd_loose == 1 && libelle_page != "modify_pwd"){
                        getContenu("modify_pwd");
                        //$.history.load( "modify_pwd" );
                    }else if(page.hierarchie == null && page.actif == null){
                        $.history.load( "404_not_found" );
                    }else if( page.html != ""){
                        $("#content_center").html( page.html );
                        setTimeout( function(){InitAll(libelle_page);}, 100);
                    } else {
                        $.ajax({
                            url: "/ui/" + libelle_page + "/",
                            dataType: "text",
                            success : function(text){
                                $("#content_center").html(text);
                                setTimeout( function(){InitAll(libelle_page);}, 100);
                            },
                            error : function(){
                                if(libelle_page != "404_not_found"){$.history.load( "404_not_found" );}
                            }
                        });
                    }
                } else {
                    window.location.replace("");
                }
            },
            error: function(){
                if(libelle_page != "404_not_found"){$.history.load( "404_not_found" );}
            }
        });
    }

    function getFile( id_fichier ){
        $.ajax({
            type: "POST",
            url: "../../lib/Action/ActionDownload.php5?action=getFile",
            async: true,
            data: "id="+id_fichier,
            dataType: "xml",
            success: function(data) {
                if(data){

                }else{
                    //jAlert('Login ou Mot de passe érroné', 'Erreur');
                }
            }
        });
    }
    function getProduit(id){
       $.ajax({
            type: "POST",
            url:"../lib/Action/ActionProduit.php5?action=getProduit",
            async: false,
            data: "id=" + id,
            dataType: "json",
            success: function(produit){
                if( produit.html != ""){
                    $.history.load(produit.code);
                    $("#content_center").html( produit.html );
                    setTimeout( function(){InitAll(produit.code);}, 100);
                } else {

                }
            }
        });
    }

    function Login(){
            $.ajax({
                type: "POST",
                url: "../../lib/Action/ActionUtilFront.php5",
                async: true,
                data: "action=login&user="+$('input[name=login]').val()+"&pass="+MD5($('input[name=pass]').val()),
                dataType: "text",
                success: function(data) {
                    if(data){
                        if(data == "0"){
                            jAlert('Votre compte à été désactivé', 'Information');
                            //Logout();
                        } else  {
                            //Mot de passe correct ==> Authentification
                            window.location.replace("/");
                        }
                    }else{
                        jAlert('Login ou Mot de passe érroné', 'Erreur');
                    }
                }
            });
    }
    function Logout(){
            $.ajax({
                    type: "POST",
                    url: "../../lib/Action/ActionUtilFront.php5",
                    async: true,
                    data: "action=logout",
                    dataType: "text",
                    success: function(data) {
                            if(data == 1){
                                hierarchie = 0;
                                window.location.replace("/");
                            }else{
                                jAlert('Problème de déconnexion', 'Erreur');
                            }
                    }
            });
    }

    function setXiti(libelle_page){
        if(server_prod){
            $("#content_center").append('<div id="xiti" style="display:none;"></div>');
            var xiti = '';
            xiti += '<a href="http://www.xiti.com/xiti.asp?s=443620" title="WebAnalytics" target="_top">';
            Xt_param = 's='+$(".xiti #account_number").text()+'&p='+libelle_page;
            try {Xt_r = top.document.referrer;} catch(e) {Xt_r = document.referrer;}
            Xt_h = new Date();
            Xt_i = '<img width="'+$(".xiti #image_width").text()+'" height="'+$(".xiti #image_height").text()+'" border="0" alt="" ';
            Xt_i += 'src="http://logv11.xiti.com/'+$(".xiti #image").text()+'.xiti?'+Xt_param;
            Xt_i += '&hl='+Xt_h.getHours()+'x'+Xt_h.getMinutes()+'x'+Xt_h.getSeconds();
            if(parseFloat(navigator.appVersion)>=4)
            {Xt_s=screen;Xt_i+='&r='+Xt_s.width+'x'+Xt_s.height+'x'+Xt_s.pixelDepth+'x'+Xt_s.colorDepth;}
            $("#xiti").append(Xt_i+'&ref='+Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$')+'" title="Internet Audience">');
            var xiti2 = '';
            xiti2 += '<noscript>';
            xiti2 += 'Mesure d\'audience ROI statistique webanalytics par <img width="80" height="15" src="http://logv11.xiti.com/'+$(".xiti #image").text()+'.xiti?s=443620&p=" alt="WebAnalytics" />';
            xiti2 += '</noscript></a>';
            $("#xiti").append(xiti2);
        }
    }
    
    function InitAll(hash){
        InitLinkVignette();
        InitGalerie();
        LoadDownloadLink();
        InitDownloadLink()
        InitLink();
        setTimeout( function(){setXiti(hash);}, 1000);
    }
    function InitLink(){
        $(".lien").unbind("click");
        $(".lien").click( function(){
            $("#content_left li a").removeClass("menuActive");
            $("#content_left li a").removeClass("sousMenuActive");
            linkclicked = true;
            Load(this);
            linkclicked = false;
        });
        $("#content_center a").each( function(){
            if( $(this).attr("name") == "" && $(this).attr("rel") == "" ){ $(this).unbind("click"); }
        });
        $("#content_center a").each( function(){
            if( $(this).attr("name") == "" && $(this).attr("rel") == "" ){
                $(this).click( function(){
                $("#content_left li a").removeClass("menuActive");
                $("#content_left li a").removeClass("sousMenuActive");
                linkclicked = true;
                Load(this);
                linkclicked = false;
                });
            }
        });
        jLoading("hide");
    }
    function InitDownloadLink(){
        $(".download_file").unbind("click");
        $(".download_file").click( function(){
            getFile($(this).attr("abbr"));
        });
    }
    function InitGalerie(){
        $("p[class^='gallery_'] a").fancybox({
                'zoomSpeedIn'		:	500,
                'zoomSpeedOut'		:	500
        });

        $(".galerie").each( function(){

            var pas = 72;
            var abbr = $(this).attr('abbr');
            
//            if($("#p_"+abbr).height() < $(this).height()){
//               var Oheight = (($(this).height() - $("#p_"+abbr).height())/2)+2;
//               $("#p_"+abbr).css('padding-top', Oheight);
//            }


            if($("#p_"+abbr).width() > $("#galerie_masque_"+abbr).width()){

                $("#btn_left_"+abbr).mousedown( function(){
                    g_scrolling = true;
                    startScrolling($("#p_"+abbr), "+="+pas+"px", pas, abbr, "right");
                });
                $("#btn_right_"+abbr).mousedown( function(){
                    g_scrolling = true;
                    startScrolling($("#p_"+abbr), "-="+pas+"px", pas, abbr, "left");
//
                });
                $("#btn_left_"+abbr).mouseup( function(){
                    g_scrolling = false;
                });
                $("#btn_right_"+abbr).mouseup( function(){
                    g_scrolling = false;

                });
            } else {
//                $("#btn_left_"+abbr).hide();
//                $("#btn_right_"+abbr).hide();
            }
        });
    }
    var g_scrolling = false;
    function startScrolling(obj, param, pas, abbr, sens)
    {
        var pos = $("#p_"+abbr).findPosition();
        var rightPos
        if($.browser.mozilla){
            rightPos = parseInt( $("#p_"+abbr).css("right").replace("px", ""), 10);
        } else { 
            rightPos = -($("#p_"+abbr).width() - $("#galerie_masque_"+abbr).width() + pos.x);
        }
        if( (-rightPos > pas && sens == "left") || (-pos.x > pas && sens == "right") ){
            obj.animate({"left": param}, 100, function(){
                if (g_scrolling)
                {
                        startScrolling(obj, param, pas, abbr, sens);
                }
            });
        }else if(-rightPos <= pas && sens == "left"){
            obj.animate({"left": "+="+rightPos}, 100);
        } else {
            obj.animate({"left": 0}, 100);
        }
    }
    


    function InitLinkVignette(){
        $(".vignette_produit").each( function(){
            $(this).click( function(){
                linkclicked = true;
                getProduit($(this).attr('abbr'));
                //getContenu($(this).attr('abbr'));
                linkclicked = false;
            });
        });
    }
    //########################################################################################
    //################### Téléchargement #####################################################
    //########################################################################################
    function LoadDownloadLink(){
        $(".download_file a").each( function(){
            $.ajax({
                url: '../lib/Action/ActionDownloadLink.php5?action=Save',
                type: "POST",
                async: false,
                data: "phpsessid="+GetCookie("PHPSESSID")+"&id_file="+$(this).attr("abbr")
            });
        });
//        $(".download_file[title!='']").tooltip('#tooltips');

        // initialize tooltip
        $(".download_file[title!='']").tooltip({

            // use single tooltip element for all tips
            tip: '#tooltips',

            // tweak the position
            offset: [10, 2],

            // use "slide" effect
            effect: 'slide'

        // add dynamic plugin
        }).dynamic( {

            // customized configuration on bottom edge
            bottom: {

                // slide downwards
                direction: 'down',

                // bounce back when closed
                bounce: true
            }
        });
    }



    //################ EVENEMENTS ############################
    $("#content_left li a").click( function(){
        linkclicked = true;
        // mise à jour de l'ancre
        var hash = $(this).attr("href");
        // suppression du caractère #
        hash = hash.replace(/^.*#/, '');
        getContenu( hash );
        $.history.load( hash );
        linkclicked = false;
        //ActiveOnglet(this);
    });
    $("#footer-right a").click( function(){
            Load(this);
    });

    $("#content_right").show();


    $("#btn_login").click( function(){
       Login();
    });

    $("#btn_logout").click( function(){
       Logout();
    });
    
    $("#psw_extranet").keyup(function(e){
        if (e.keyCode == 13) {Login();}
    });
    $("#login_extranet").keyup(function(e){
        if (e.keyCode == 13) {Login();}
    });


//    if(IE6 == 1){
//       $("#menuh li").css("background", "");
//       $("#menuh li").each( function(){
//           $(this).html("<img src='/css/images/menu_inactif.png' style='width:111px;height:29px'>"+$(this).text()+"</img>");
//       });
//    }
    jLoading("hide");
});
