function include(src){ 
    var script=document.createElement('script');
    script.type='text/javascript';
    script.src=src;
    document.getElementsByTagName('head')[0].appendChild(script);
} 

//include('/javascript/shoppingcart/shoppingcart.js');


var larochelle = 139;
var tempXPopup = 400 ;
var tempYPopup = 400;
var DocRefpopup; // Variable pour IE uniquement

// ***********************************************************************
// FONCTIONS AFFICHAGES PICKUP
// ***********************************************************************

// PARAMETRES
var _id_layer_popup = "popup";

// VARIABLES GLOBALES
var nn4 = (document.layers);
var dom = (document.getElementById);
var iex = (document.all);
var obj_layer_popup = null;
var cache_popup = true;

if( document.documentElement && document.documentElement.clientWidth) // Donc DOCTYPE
            DocRefpopup = document.documentElement;   // Dans ce cas c'est documentElement qui est r�f�rence
        else
            DocRefpopup = document.body;              // Dans ce cas c'est body qui est r�f�rence

function getMouseXYpopup(e) {    
    //alert("init getMouseXYPopup");
    
    // var DocRef;   
    // L'evenement est passee a la fonction
    // donc tous sauf IE.
    if( e){                    // Dans ce cas on obtient directement la position dans la page
        tempXPopup= e.pageX;
        tempYPopup = e.pageY;
    }
    else{                      // Dans ce cas on obtient la position relative � la fen�tre d'affichage
        tempXPopup = event.clientX;
        tempYPopup = event.clientY;
        //-- Il faut traiter le CAS des DOCTYPE sous IE
        if( document.documentElement && document.documentElement.clientWidth) // Donc DOCTYPE
            DocRefpopup = document.documentElement;   // Dans ce cas c'est documentElement qui est r�f�rence
        else
            DocRefpopup = document.body;              // Dans ce cas c'est body qui est r�f�rence
        //-- On rajoute la position li�e aux ScrollBars
        tempXPopup += DocRefpopup.scrollLeft;
        tempYPopup += DocRefpopup.scrollTop;
    }
    if(!IE) {
        if (tempYPopup < 0){
            tempYPopup = 0;
        }    
    }
    if ( (tempXPopup + 400 )  > 1000){
        tempXPopup = 600;
    }  
    
    return true;
}





// creation de l'objet obj_layer_popup en fonction du navigateur :
// affecte le layer et lui donne son emplacement vertical
function init_layer_popup() {
    if (dom && (document.getElementById(_id_layer_popup))) {
        obj_layer_popup = document.getElementById(_id_layer_popup).style;
    }
    else if (iex && (_id_layer_popup)) {
        obj_layer_popup = _id_layer_popup.style;
    }
    else if (nn4 && (document.layers[_id_layer_popup])) {
        obj_layer_popup = document.layers[_id_layer_popup];
    }
    
}


// ecrit le contenu dans le layer et le rend visible
function contenu_layer_popup(contenu) {

    if (document.all) {
        obj_layer_popup.left = parseInt(DocRefpopup.scrollLeft + tempXPopup - 200)+"px";
        obj_layer_popup.top = parseInt(tempYPopup - 200)+"px" ;
    }
    else {
        obj_layer_popup.left = parseInt(window.pageXOffset +  tempXPopup -200 )+"px";
        obj_layer_popup.top = parseInt( tempYPopup - 200) +"px";
    }   
    if (nn4) {
        obj_layer_popup.document.write(contenu);
        obj_layer_popup.document.close();
        obj_layer_popup.visibility = "visible";
    }
    else if (dom) {
        document.getElementById(_id_layer_popup).innerHTML = contenu;
        obj_layer_popup.visibility = "visible";
    }
    else if (iex) {
        document.all[_id_layer_popup].innerHTML = contenu;
        obj_layer_popup.visibility = "visible";
    }
    
}

function fermerpopup() {
    if (!cache_popup) {
        obj_layer_popup.innerHTML = '';
        obj_layer_popup.visibility = "hidden";
        cache_popup = true;
    }
}


function showContextualizationPopup(origin, contextualizedShop) {
    init_layer_popup();
    
    if (obj_layer_popup) {	
        cache_popup = false;
        
        if(origin.place == "tableaudebord") {
            //premiere connexion au CI, accueil du CI
            var ch_texte = '<div id="popup_gen" >';
            ch_texte += '<div id="content">';
            ch_texte += '<img src="/images/pickup/ico-nouveau.jpg" alt="NOUVEAU" />';
            ch_texte += '<p class="texte">Lors d\'une visite pr&eacute;c&eacute;dente, vous avez choisi <br />';
            ch_texte += 'le magasin de r&eacute;f&eacute;rence de ' +contextualizedShop.name+ '. <br /><img src="/images/pickup/shim.gif" alt="" height="4" /><br />';
            ch_texte += '<span class="conf">Aujourd\'hui, vous pouvez consulter les prix <br />';
            ch_texte += 'et les disponibilit&eacute;s des articles de ce magasin <br />';
            ch_texte += 'directement sur le site Leroy Merlin! </span><br /><img src="/images/pickup/shim.gif" alt="" height="4" /><br />';
            ch_texte += 'N\'h&eacute;sitez donc pas &agrave; vous connecter avant de vous <br />';
            ch_texte += 'd&eacute;placer en magasin !';
            ch_texte += '</p>';
            ch_texte += '<form name="context">';
            ch_texte += '<input onclick="xt_med(\'C\',\'38\',\'pop_up_choix_magasin::prochaines_visites\',\'N\');" type="checkbox" class="checkbox" checked name="register" id="check" />';
            ch_texte += '<label for="check">Je souhaite acc&eacute;der directement au magasin de ' +contextualizedShop.name+ '<br />lors de mes prochaines visites.</label>';
            ch_texte += '<div id="submit"><a href="#" onClick="checkAll({ place:\''+ origin.place +'\', idlspub:\''+origin.idlspub+'\' }, '+contextualizedShop.id+', dwr.util.getValue(\'register\'));"><img src="/images/pickup/btn-acces-magasin.gif" alt="Acc&eacute;der au magasin de ' +contextualizedShop.name+ '" /></a></div>';
            ch_texte += '</form>';
            ch_texte += '<div id="retour"><a href="#" onclick="showAccueilCI({ place:\''+ origin.place +'\', idlspub:\''+origin.idlspub+'\' }, '+contextualizedShop.id+', dwr.util.getValue(\'register\'));"><img src="/images/pickup/btn-acces-accueil.gif" alt="Acc&eacute;der &agrave; l\'accueil de votre compte" /></a></div>';
            ch_texte += '</div>';
            ch_texte += '</div>';
        } else if(origin.place == "map") {
            //context depuis la carte de france
            var ch_texte = '<div id="popup_gen" >';
            ch_texte += '<div class="fermer"><a href="javascript:fermerpopup()">Fermer <img src="/images/pickup/icoFermerZoom.gif" alt="fermer" /></a></div>';
            ch_texte += '<div class="clearBoth"></div>';
            ch_texte += '<div id="content">';
            ch_texte += '<img src="/images/pickup/ico-nouveau.jpg" alt="NOUVEAU" />';
            ch_texte += '<p class="texte">Choisissez le magasin de ' +contextualizedShop.name+ '<br />';
            ch_texte += 'et <span>consultez le prix et la disponibilit&eacute; des articles</span><br />de ce magasin directement sur le site Leroy Merlin !</p>';
            if(contextualizedShop.pickup == true){
                ch_texte += '<p class="texte">D&eacute;couvrez aussi notre nouveau service exclusif : le <a href="';
                ch_texte += "javascript:fermerpopup();popup('pre?zone=zonestatiqueonly&srvstatique-staticpagename=/html/pickup/popup-retrait-magasin.html','','810','570');";
                ch_texte += '">retrait en magasin</a>.</p>';
            }
            ch_texte += '<form name="context">';
            ch_texte += '<input onclick="xt_med(\'C\',\'38\',\'pop_up_choix_magasin::prochaines_visites\',\'N\');" type="checkbox" class="checkbox" checked name="register" id="check" />';
            ch_texte += '<label for="check">Je souhaite acc&eacute;der directement au magasin de '+ contextualizedShop.name +'<br />lors de mes prochaines visites.</label>';
            ch_texte += '<div id="submit"><a href="#" onClick="checkAll({ place:\''+ origin.place +'\', idlspub:'+origin.idlspub+' }, '+contextualizedShop.id+', dwr.util.getValue(\'register\'));xt_med(\'C\',\'38\',\'pop_up_choix_magasin::acceder_magasin\',\'N\');"><img src="/images/pickup/btn-acces-magasin.gif" alt="Acceder au magasin" /></a>';
            ch_texte += '</div>';
            ch_texte += '</form>';
            ch_texte += '</div>';
            ch_texte += '</div>';
        }
        
        contenu_layer_popup(ch_texte);
    }
}

function checkAll(origin, shopCode, doSave) {
    if (doSave == "on" || doSave == true) {
        doSave = "true";
    } else {
        doSave = "false";
    }
    var cartid = getCartID(); 
    var ALL = 'ALL';
    ListCourseService.isListeEmpty(function(data) {
        var listeCourseEmpty = data;                
        
        DWRLMShoppingCart.getShoppingCartInfo(cartid,ALL, {
            callback:function(msg) { 
                
                var basketEmpty = true;
                tabInfos = msg;
                var basketnbr = tabInfos.cartItemCount;
                //alert('basketnbr='+basketnbr);
                if(basketnbr > 0){ basketEmpty=false; }
                /*
                if(origin.place == "ci") {
                    contextualize(origin, shopCode, doSave);
                } else */
                if(!basketEmpty && !listeCourseEmpty) {
                    openPopupBasketAndListeCourse(origin, shopCode, doSave);
                } else if(!basketEmpty && listeCourseEmpty) {
                    openPopupBasket(origin, shopCode, doSave);
                } else if(basketEmpty && !listeCourseEmpty) {
                    openPopupListeCourse(origin, shopCode, doSave);
                } else {
                    contextualize(origin, shopCode, doSave);
                }
                
            },			
            timeout:5000, 
            errorHandler:function(msg) {  alert('checkListsSC error=> '+msg); },
            exceptionHandler:function(msg) { alert('checkListsSC exception=> '+msg); } 		
        });
    });
}

function checkAllOld(origin, shopCode, doSave) {
    if (doSave == "on" || doSave == true) {
        doSave = "true";
    } else {
        doSave = "false";
    }
    
    BasketMgt.isBasketEmpty(function(data) {
        var basketEmpty = data;
        ListCourseService.isListeEmpty(function(data) {
            var listeCourseEmpty = data;
            
            if(origin.place == "ci") {
                contextualize(origin, shopCode, doSave);
            } else if(!basketEmpty && !listeCourseEmpty) {
                openPopupBasketAndListeCourse(origin, shopCode, doSave);
            } else if(!basketEmpty && listeCourseEmpty) {
                openPopupBasket(origin, shopCode, doSave);
            } else if(basketEmpty && !listeCourseEmpty) {
                openPopupListeCourse(origin, shopCode, doSave);
            } else {
                contextualize(origin, shopCode, doSave);
            }
        });
    });
}

function openPopupBasketAndListeCourse(origin, shopCode, doSave) {
    init_layer_popup();
    
    if (obj_layer_popup) {	
        cache_popup = false;
        
        var ch_texte = '<div id="popup_gen" >';
        ch_texte += '<div id="popup-conf">';
        ch_texte += '<div id="content">';
        ch_texte += '<img src="/images/pickup/avertissement.gif" alt="Avertissement" />';
        ch_texte += '<p class="texte">En s&eacute;lectionnant un magasin <br />';
        ch_texte += '<span>vous allez perdre le contenu de votre panier et de votre liste. </span><br />';
        ch_texte += '<span class="conf">Souhaitez-vous continuer ?</span></p>';
        ch_texte += '<form>';
        ch_texte += '<div id="submit">';
        ch_texte += '<a href="#" onClick="contextualize({ place:\''+ origin.place +'\', idlspub:'+origin.idlspub+' }, '+shopCode+', '+doSave+');"><img src="/images/pickup/btn-oui.gif" alt="OUI" /></a>';
        ch_texte += '</div>';
        ch_texte += '</form>';
        ch_texte += '<div id="retour"><a href="#" onClick="fermerpopup();"><img src="/images/pickup/btn-non.gif" alt="NON" /></a></div>';
        ch_texte += '</div>';
        ch_texte += '</div>';
        ch_texte += '</div>';
        
        contenu_layer_popup(ch_texte);
    }
}

function openPopupBasket(origin, shopCode, doSave) {
    init_layer_popup();
    
    if (obj_layer_popup) {	
        cache_popup = false;
        
        var ch_texte = '<div id="popup_gen" >';
        ch_texte += '<div id="popup-conf">';
        ch_texte += '<div id="content">';
        ch_texte += '<img src="/images/pickup/avertissement.gif" alt="Avertissement" />';
        ch_texte += '<p class="texte">En s&eacute;lectionnant un magasin <br />';
        ch_texte += '<span>vous allez perdre le contenu de votre panier. </span><br />';
        ch_texte += '<span class="conf">Souhaitez-vous continuer ?</span></p>';
        ch_texte += '<form>';
        ch_texte += '<div id="submit">';
        ch_texte += '<a href="#" onClick="contextualize({ place:\''+ origin.place +'\', idlspub:'+origin.idlspub+' }, '+shopCode+', '+doSave+');"><img src="/images/pickup/btn-oui.gif" alt="OUI" /></a>';
        ch_texte += '</div>';
        ch_texte += '</form>';
        ch_texte += '<div id="retour"><a href="#" onClick="fermerpopup();"><img src="/images/pickup/btn-non.gif" alt="NON" /></a></div>';
        ch_texte += '</div>';
        ch_texte += '</div>';
        ch_texte += '</div>';
        
        contenu_layer_popup(ch_texte);
    }
}

function openPopupListeCourse(origin, shopCode, doSave) {
    init_layer_popup();
    
    if (obj_layer_popup) {	
        cache_popup = false;
        
        var ch_texte = '<div id="popup_gen">';
        ch_texte += '<div id="popup-conf">';
        ch_texte += '<div id="content">';
        ch_texte += '<img src="/images/pickup/avertissement.gif" alt="Avertissement" />';
        ch_texte += '<p class="texte">En s&eacute;lectionnant un magasin <br />';
        ch_texte += '<span>vous allez perdre le contenu de votre liste. </span><br />';
        ch_texte += '<span class="conf">Souhaitez-vous continuer ?</span></p>';
        ch_texte += '<form>';
        ch_texte += '<div id="submit">';
        ch_texte += '<a href="#" onClick="contextualize({ place:\''+ origin.place +'\', idlspub:'+origin.idlspub+' }, '+shopCode+', '+doSave+');"><img src="/images/pickup/btn-oui.gif" alt="OUI" /></a>';
        ch_texte += '</div>';
        ch_texte += '</form>';
        ch_texte += '<div id="retour"><a href="#" onclick="fermerpopup();"><img src="/images/pickup/btn-non.gif" alt="NON" /></a></div>';
        ch_texte += '</div>';
        ch_texte += '</div>';
        ch_texte += '</div>';
        
        contenu_layer_popup(ch_texte);
    }
}

function showAccueilCI(origin, shopCode, doSave) {
    
    if (doSave == "on" || doSave == true) {
        doSave = "true";
    } else {
        doSave = "false";
    }
    
    orig = "ci";
    
    //alert('showAccueilCI doSave='+doSave);
    var context = { shop:shopCode, save:doSave };
    var contextfalse = { shop:shopCode, save:false };
    
    DWRContextualizer.registerContext(orig, contextfalse, "36000000", function(data) {
        DWRContextualizer.registerContextInSession(orig, function(data) {
            DWRContextualizer.registerContext(orig, context, "36000000", function(data) {
            });
        });
    });
     
    fermerpopup();
}


function contextualize(origin, shopCode, doSave) {
    if (doSave == "on" || doSave == true || doSave == "true") {
        doSave = "true";
    } else {
        doSave = "false";
    }
    //alert('2. doSave='+doSave);
    var orig = "anonymous";
    if(origin.place == "tableaudebord") {
        orig = "ci";
    } else if (origin.place == "map") {
        orig = "anonymous";
    }
    var doSaveTrue = 'true';
    var context = { shop:shopCode, save:doSave };
    var contexttrue = { shop:shopCode, save:doSaveTrue };
    
    DWRContextualizer.getContext("anonymous" ,function(data) {
        var currentShop = data;
        if (currentShop) {
            
            DWRContextualizer.registerContext(orig, contexttrue, "36000000", function(data) {
                DWRContextualizer.registerContextInSession(orig, function(data) {
                    DWRContextualizer.registerContext(orig, context, "36000000", function(data) {
                        //compute contextualized shopid 
                        var shopid ="0"; 
                        if (currentShop.save=='false') { shopid = currentShop.shop;}
                        removeCart(shopid);
                        //remove list
                        ListCourseService.emptyList(function(data) {
                            displayMag(origin);
                        });
                    });
                });
            });
        }
    });
}


function contextualizeOld(origin, shopCode, doSave) {
    if (doSave == "on" || doSave == true || doSave == "true") {
        doSave = "true";
    } else {
        doSave = "false";
    }
    //alert('2. doSave='+doSave);
    var orig = "anonymous";
    if(origin.place == "tableaudebord") {
        orig = "ci";
    } else if (origin.place == "map") {
        orig = "anonymous";
    }
    var doSaveTrue = 'true';
    var context = { shop:shopCode, save:doSave };
    var contexttrue = { shop:shopCode, save:doSaveTrue };
    
    DWRContextualizer.registerContext(orig, contexttrue, "36000000", function(data) {
        DWRContextualizer.registerContextInSession(orig, function(data) {
            DWRContextualizer.registerContext(orig, context, "36000000", function(data) {
                BasketMgt.emptyBasket(function(data) {
                    ListCourseService.emptyList(function(data) {
                        displayMag(origin);
                    });
                });
            });
        });
    });
}

function displayMag(origin) {
    fermerpopup();
    var sURL='pre?zone=zonecatalogue&renderall=on&idEILSPub='+origin.idlspub;
    if (origin.place == "map") {
        //window.opener est null quand on arrive de la liste de resultat recherche magasin par cp
        if(window.opener != null) {
            //window.opener.location.href=sURL;
            window.open(sURL,'main');
            if(window.opener.name == 'zoneimpression'){
                window.setTimeout("window.opener.close()", 1); 
            }
        } else {
            window.location.href=sURL;
        }
        window.setTimeout("window.close()", 1);
    }
    if (origin.place == "tableaudebord") {
        window.location.href=sURL;
    }
}


function goMag(idlspub) {
    DWRShopContextualizer.getContextualizedShopByEIID(idlspub, function(data) {
        var contextualizedShop = data;
       // DWRContextualizer.getCurrentContext(function(data) {
       var data=getCurrentContext();
            var currentShop = data;
            var origin = { place:"map", idlspub:idlspub };
            if (contextualizedShop && contextualizedShop.availability 
            && (
            (currentShop && currentShop.shop != contextualizedShop.id) 
            || (currentShop && currentShop.shop == contextualizedShop.id && currentShop.save =='false' ) 
            || (!currentShop))
            ) {
                showContextualizationPopup(origin, contextualizedShop);
            } else {
                displayMag(origin);
            }
       // });
    });
}




var globalshopcode ;
var globalcontextualizedShop ;

function prepareContextualizationPopup() {
    DWRShopContextualizer.getContextualizedShopEIIDByCode(globalshopcode,{ 
        callback:function(datashopeiid) {
        var localeiid = datashopeiid;
        //alert(localeiid);
        var origin = { place:"tableaudebord", idlspub:localeiid };    
        showContextualizationPopup(origin, globalcontextualizedShop);
        },			
        timeout:5000, 
        errorHandler:function(msg) {  alert('getContextualizedShopEIIDByCode error=> shopcode:'+globalshopcode); 
        },
        exceptionHandler:function(msg) { alert('getContextualizedShopEIIDByCode exception=> shopcode:'+globalshopcode); 
        } 
    });   
}

var globalciShopsave;
function prepareRegisterCI(){
    var orig = "ci";   
    var context = { shop:globalshopcode, save:globalciShopsave };
    DWRContextualizer.registerContext(orig, context, "36000000", function(data) {
        DWRContextualizer.registerContextInSession(orig, function(data) {
            DWRContextualizer.registerContext(orig, context, "36000000", function(data) {
                //compute contextualized shopid 
                var shopid = globalshopcode ;
                removeCart(shopid);
                //remove list
                ListCourseService.emptyList(function(data) {
                    //displayMag(orig);
                });
                contextvalide = 0;
                dwr.util.setValue("pathbarmag","");
               //alert('before contextualizeFrontPage');
                contextualizeFrontPage();
            });
        });
    });
}


function goMagCI(shopcode,name) {
    //alert("goMagCI " +shopcode +"  " +name);
   // DWRContextualizer.getCurrentContext({
     //   callback:function(data) {
     var data=getCurrentContext();
        var currentShop = data;
        //if(currentShop != null){ alert('0 currentShop.shop='+currentShop.shop); }
        DWRContextualizer.getContext("ci" , { callback:function(data) {
            var ciShop = data;
            //alert("ciShop " +ciShop);
            if (!ciShop || !ciShop.shop) {
                // pas de cookie CI 
                
                //alert("before prepareContextualizationPopup");
                
                DWRShopContextualizer.getContextualizedShopByCode(shopcode, { callback:function(datashop) {
                    var contextualizedShop = datashop;
                    if (contextualizedShop && contextualizedShop.availability){ 
                        //alert(contextualizedShop.name);
                        //setTimeout("alert(\'"+contextualizedShop.name+"\')",100);
                        //launch next DWR with timeout
                        globalshopcode = shopcode;
                        globalcontextualizedShop = contextualizedShop;
                        setTimeout("prepareContextualizationPopup()",1000);
                    }
                }});
               
            }
            else{
                //cookie CI
                //on verfie que le cookie est le pas meme magasin que le mag de ref
                //alert('1 shopcode='+shopcode+'  currentShop.shop='+currentShop.shop+'  ciShop.shop='+ciShop.shop);
                if(currentShop){
                    //verification si mag-reference(shopcode) est différent du cookie-ci(ciShop.shop) ou du currentcontext(currentShop.shop)
                    if(shopcode != ciShop.shop || shopcode != currentShop.shop ){
                        //alert('2 shopcode='+shopcode+'  currentShop.shop='+currentShop.shop+'  ciShop.shop='+ciShop.shop);
                        DWRShopContextualizer.getContextualizedShopEIIDByCode(shopcode, function(datashopeiid) {
                            var localeiid = datashopeiid;
                        
                            globalshopcode = shopcode;
                            globalciShopsave = ciShop.save;
                            setTimeout("prepareRegisterCI()",1000);
                            
                        });   
                        
                    }
                }
            }
        }});  
  //  }});
        
}


var IE = document.all?true:false
if (!IE) {document.captureEvents(Event.MOUSEDOWN|Event.MOUSEMOVE)}

document.onclick=getMouseXYpopup;
/*
if(Event.observe){
Event.observe(window, 'load', contextualizeFrontPage, false);
}
*/
