    var selected;
    var ShowSearchTimer; 
    
    function PageLoader(urlc, target) {
        
        if (support_ajax==false) {
            window.location=urlc;
            return "";        
        }

        if (target=="" || typeof(target)=='undefined' ) target="main_content";
        if ((!document.getElementById("column_rigth") || !document.getElementById("column_left")) && target =="main_content") {
            window.location=urlc;
            return "";        
        }                 
        
        var uri = parseUri(urlc);
        
        var url = uri["fileName"];
        if (url=="" || url == "/") url="index.php";
        var param = parseParam(uri["query"]);

       if (target != "blank") {
           var obj;
            if (document.getElementById) {
                obj = document.getElementById(target);
            } else if (document.all) {
                obj= document.all[target];
            } else if (document.layers) {
                obj = document.layers[target];
            } else { 
                window.location=url;
                return true;
            }
       }
  
            var ajaxObject = new sack();
            ajaxObject.requestFile = url;    // Specifying which file to get
            ajaxObject.method = "post";    
            ajaxObject.setVar("ajax","true"); 
            ajaxObject.setVar("target",target);            
            for(var i=0;i<param.length;i++) {
                var cur = param[i];
                ajaxObject.setVar(param[i][0],param[i][1]);
            } 
       
            ajaxObject.onCompletion = function() 
                        {
                           if (ajaxObject.response!="") { 
                                try{
                                //alert(ajaxObject.response);
                                eval(ajaxObject.response);
                                } catch (e) {
                                    document.write(ajaxObject.response);
                                }
                           }
                        }
            ajaxObject.onError = function(e) 
                        {
                            window.location=urlc;
                            alert(e); 
                        }                        
            ajaxObject.runAJAX();                 
        
    }
    
    function parseParam(param) {
        var rParam = new Array();
        if (param=="") return rParam;
        var reg=new RegExp("[ &]+", "g");
        var keyval=param.split(reg);
        reg=new RegExp("[ =]+", "g");
        for (var i=0; i<keyval.length; i++) {
            var cur = keyval[i].split(reg);
            if (cur.length==1) cur[1] = "";
            rParam[i] = [cur[0],cur[1]];
        }
        return rParam;
    
    }
    
        function parseUri(sourceUri){
            var uriPartNames = ["source","protocol","authority","domain","port","path","directoryPath","fileName","query","anchor"];
            var uriParts = new RegExp("^(?:([^:/?#.]+):)?(?://)?(([^:/?#]*)(?::(\\d*))?)?((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[\\?#]|$)))*/?)?([^?#/]*))?(?:\\?([^#]*))?(?:#(.*))?").exec(sourceUri);
            var uri = {};
            
            for(var i = 0; i < 10; i++){
                uri[uriPartNames[i]] = (uriParts[i] ? uriParts[i] : "");
            }
            
            // Always end directoryPath with a trailing backslash if a path was present in the source URI
            // Note that a trailing backslash is NOT automatically inserted within or appended to the "path" key
            if(uri.directoryPath.length > 0){
                uri.directoryPath = uri.directoryPath.replace(/\/?$/, "/");
            }
            
            return uri;
        }
        
    var categories_loaded = new Array();
    function categories4_fill(id, cPath, level, show_prod) {
      if (support_ajax == true) {
        var target = "main_form";
        var page = "librairie.php";   
        if (show_prod==false) {
            target = "blank";
            page = "blank.php";
        }
       var obj;
        if (document.getElementById) {
            obj = document.getElementById("categorie_container_"+cPath);
        } else if (document.all) {
            obj= document.all["categorie_container_"+cPath];
        } else if (document.layers) {
            obj = document.layers["categorie_container_"+cPath];
        }
        if (level>0) {
            if (obj.style.display  == "block") {
                obj.style.display  = "none";
            } else {
                obj.style.display  = "block";
            }
        }                  
        if ((level==-1 || obj.style.display  == "none"|| categories_loaded[id]==true) && show_prod==true) {
            PageLoader("/librairie.php?cPath="+cPath);
        } else if (level>0) {
               obj.innerHTML = '<center><img border="0" src="/images/loading1_red.gif"></center>';
               PageLoader("/"+page+"?cPath="+cPath+"&id="+id+"&categories4_level="+level+"&categories4_ajax=categories4_ajax", target);  
        }
      }    
    }

    
   
    function selectRowEffect(object, buttonSelect) {
      if (!selected) {
        if (document.getElementById) {
          selected = document.getElementById('defaultSelected');
        } else {
          selected = document.all['defaultSelected'];
        }
      }

      if (selected) selected.className = 'moduleRow';
      object.className = 'moduleRowSelected';
      selected = object;

    // one button is not an array
      if (document.checkout_address.shipping[0]) {
        document.checkout_address.shipping[buttonSelect].checked=true;
      } else {
        document.checkout_address.shipping.checked=true;
      }
    }

    function rowOverEffect(object) {
      if (object.className == 'moduleRow') object.className = 'moduleRowOver';
    }

    function rowOutEffect(object) {
      if (object.className == 'moduleRowOver') object.className = 'moduleRow';
    }
    function showlogin() {
        sm('loginbox',410,100);
        
    } 
    function Dologin(action) {
        

        var email_address = document.getElementById ? 
                                document.getElementById('email_address').value : 
                                document.all['email_address'].value;
        var pwd = document.getElementById ? 
                                document.getElementById('pwd').value : 
                                document.all['pwd'].value;

        var ajaxObject = new sack();
        
        var url = "login_actions.php";
        ajaxObject.requestFile = url;    // Specifying which file to get
        ajaxObject.method = "POST";    
        ajaxObject.setVar("email_address",email_address);    
        ajaxObject.setVar("password",pwd);    
        ajaxObject.setVar("action",action);    
        ajaxObject.setVar("site",site);    
  
   
        ajaxObject.onCompletion = function() 
                    { 
                        var response = ajaxObject.response;
                        if (response.indexOf( "ogin ok", 0 )>0) {
                            
                            setTimeout("location.reload();","500");
                        }
                        
                        document.getElementById('loginifo').innerHTML = response ;
                        setTimeout("document.getElementById('loginifo').innerHTML = '';",5000); 
                        document.getElementById('loginok').disabled = false;         
                        document.getElementById('logincancel').disabled = false;                          
                    }
        ajaxObject.onError = function() 
                    { 
                        document.getElementById('loginifo').innerHTML = "Erreur inconnue" ;
                        setTimeout("document.getElementById('loginifo').innerHTML = '';",5000);
                        document.getElementById('loginok').disabled = false;         
                        document.getElementById('logincancel').disabled = false;                          
                    }                    
        document.getElementById('loginifo').innerHTML = '<img border="0" src="/images/loading1_red.gif">';
        document.getElementById('loginok').disabled = true;         
        document.getElementById('logincancel').disabled = true;         
        ajaxObject.runAJAX();        // Execute AJAX function     
    } 
    function logoff() {
        var ajaxObject = new sack();
        
        var url = "login_actions.php";
        ajaxObject.requestFile = url;    // Specifying which file to get
        ajaxObject.method = "POST";    

        ajaxObject.setVar("action","logoff");    
        ajaxObject.setVar("site",site);    
       
   
        ajaxObject.onCompletion = function() 
                    { 
                        sm('logoffbox',300,70); 
                        
                    }
        
        ajaxObject.runAJAX();        // Execute AJAX function     
    }
    function ShowNewAddress() {
        sm('newaddress',410,300);
        document.getElementById("country").style.visibility = "";
    }
    
    
function cart_quantity(i) {

    var obj = document.getElementById('buy_'+i);

    if (obj) {
        if (support_ajax==false) {
            obj.sumbit();
            return false;
        }    
        var qty = obj.products_quantity.value;     
        var opt = obj.products_option_selected.value;
        var pID = obj.products_id.value; 
        PageLoader("/order.php?shopping_cart_full=on&action=add_product&products_quantity="+qty+"&products_option_selected="+escape(opt)+"&products_id=" + pID, "blank");    
        return false;
    }
    
}    

    
    function ShowSearch() {
        if (ShowSearchTimer =="" && document.getElementById('SearchBig').style.display!='BLOCK') {
            NotShowSearch();
            ShowSearchTimer = setTimeout("document.getElementById('SearchBig').style.display='BLOCK';NotShowSearch();","200");
            
        }
    }
    function NotShowSearch() {
        clearTimeout(ShowSearchTimer);
        ShowSearchTimer ="";
    }
    function HideSearch() {
        NotShowSearch();
        document.getElementById('SearchBig').style.display='none';
    }
    function loginboxlogin() {
        var f = document.getElementById('loginboxform');
        e = f.email_address.value;
        p = f.password.value;
        //alert("blank.php?email="+e+"&password="+p+"&action=login&loginbox=login");
        PageLoader("blank.php?email_address="+e+"&password="+p+"&action=login&loginbox=login","blank");
        f.password.value = "";
    }        
