﻿////////////////////////////////////////////////////////////////////////
// Variables globales
var SortValue=0;
var LstSize = new Array(0);
var LstColor=new Array(0);
var LstSeason=new Array(0);
var LstUniverse=new Array(0);
var LstSaleDiscount=new Array(0);
var LstBrand=new Array(0);

var LstUniverseSummary=new Array(0);
var LstTrendSummary=new Array(0);
var LstTypeSummary=new Array(0);
var LstSizeSummary=new Array(0);
var LstColorSummary=new Array(0);
var LstBrandSummary=new Array(0);
var LstSubGenderSummary=new Array(0);

var LstSubTypeSummary=new Array(0);
var LstMaterialSummary=new Array(0);
var LstPriceSummary=new Array(0);
var LstHeelSummary=new Array(0);
var LstSeasonSummary=new Array(0);
var LstTrend=new Array(0);
var LstSubType=new Array(0);
var LstHeel=new Array(0);
var LstMaterial=new Array(0);
var LstPrice=new Array(0);
var NbResultProduct=0;
var NbProductPage=20;
var NbProductLine=4;
var CurrentPageNumber=1;
var LastSelectedProductType=null;
var CurrentSelectedProductTypeId=null;
var LastSelectedGenderProductType=null
var PreviousPageEnabled=false;
var NextPageEnabled=false;
var isLuxe=false;
var Gender=null;
var isChildHome=false;
var GenderBackUp=null;
var LastSelectedCriteriaName=null;
var IsCreateResultPanel=true;
var isFromClient=true;
var SubGenderOfChild = {Baby:5,Girl:6,Boy:7};
var isAllowAutoSelect=false;
var isSynchro=false;
var BackFromProductPage=false;


//-----------------------------------------------------//
//Initialiser toutes les variables globales pour synchroniser avec asp.net

function InitGlobalMembers()
{
   
    
    var eltHGender=getElement_By_Id("HGender");
    
    if (eltHGender!=null)
    {    
        if (eltHGender.value.length!=0)
            Gender=parseInt(eltHGender.value);
    }
    
    
    var eltIsChild=getElement_By_Id("HIsChild");
    if (eltIsChild!=null)
    {    
        if (eltIsChild.value=="true")
        {
            
            isChildHome=true;
            GenderBackUp=Gender;
            eltIsChild=getElement_By_Id("HSubGenderOfChild"); 
            if (eltIsChild!=null)
            {
                if (eltIsChild.value== SubGenderOfChild.Baby.toString() || eltIsChild.value== SubGenderOfChild.Boy.toString() || eltIsChild.value== SubGenderOfChild.Girl.toString() )
				{
				    Gender=eltIsChild.value;
				    LastSelectedGenderProductType=getElement_By_Id("CHILDTY_"+Gender);
				    if (LastSelectedGenderProductType!=null)
				        LastSelectedGenderProductType.parentNode.className="SubGenderOn";
				    
				}                
            }            
        }
    }
    
    var isEnabledNextPage=getElement_By_Id("HNextEnabled");
    if (isEnabledNextPage!=null)
    {
        if (isEnabledNextPage.value.length!=0)
        {
            if (isEnabledNextPage.value=="OK")
                NextPageEnabled=true;  
            else
                NextPageEnabled=false; 
        }
        
    }
    var isEnabledPrevPage=getElement_By_Id("HPreviousEnabled");
    if (isEnabledPrevPage!=null)
    {
        if (isEnabledPrevPage.value.length!=0)
        {
            if (isEnabledPrevPage.value=="OK")
                PreviousPageEnabled=true;  
            else
                PreviousPageEnabled=false; 
        }
    }
    var valCurrentPage=getElement_By_Id("HCurrentPage");
    if (valCurrentPage!=null)
    {
        if (valCurrentPage.value.length!=0)
        {
            CurrentPageNumber=parseInt(valCurrentPage.value);
        }
  
    }
    
    var HNbPageProductElt=getElement_By_Id("HNbPageProduct")
    if (HNbPageProductElt!=null)
        if (HNbPageProductElt.value.length!=0)
            InitNbPageProductElement(HNbPageProductElt.value);
    
    var HSortElt=getElement_By_Id("HSort")
    if (HSortElt!=null)
        if (HSortElt.value.length!=0)
            InitSortElement(HSortElt.value);
    
    var eltHIsProduct=getElement_By_Id("HIsProductHome");
    if (eltHIsProduct!=null)
        if (eltHIsProduct.value=="true")
            isProductHome=true;
    
    var sLocation=getLocation();
    
    var HCriteriaToBePassedToJs=getElement_By_Id("CriteriaToBePassedToJs");
    
    if (HCriteriaToBePassedToJs!=null)
        if (HCriteriaToBePassedToJs.value.length!=0)
        {    
           
            isFromClient=false;
            IsCreateResultPanel=false;
            LstStopRequest.push(false)
            if (!isProductHome)
            {
                contexteclick=sLocation;
                if (sLocation.indexOf("FromUser") !=-1)
                {
                    // Provenance du premier critère
                    if (parseInt(getCookieMultiValue("ContexteClick","NbSearch")) == 0)
                    {
                        if(getCookieMultiValue("ContexteClick","Provenance") != "")
                        {
                            provenance = getCookieMultiValue("ContexteClick","Provenance");
                        }
                        else
                        {
                            if (ReadCookie("ContexteClick").indexOf("/Product.aspx") != -1 || ReadCookie("ContexteClick").indexOf("/ProductV2.aspx") != -1) 
                            {
                                provenance = "/FicheProduit";
                            }
                        }
                    }
                   
                    //  set scroll position
                    SetScrollPosition();

                    contexteclick=contexteclick.substring(contexteclick.indexOf("?")+1,contexteclick.indexOf("&FromUser"));
                    isAllowAutoSelect=true;
                    isSynchro=true;
                    InitSelectedCriteriaStack(sLocation);
                    BackFromProductPage=true;
                    
                    while (HCriteriaToBePassedToJs.value.indexOf('*')!=-1)
                            HCriteriaToBePassedToJs.value=HCriteriaToBePassedToJs.value.replace('*','');
                    
                    UpdateSelectionPanel(1,HCriteriaToBePassedToJs.value,false,0);

                    InitHtmlElementsStyle();
                    BackFromProductPage=false;
                    
                    
                }
                else
                {    
                    // Provenance du premier critère
                    if (parseInt(getCookieMultiValue("ContexteClick","NbSearch")) == 0)
                    {
                        if(getCookieMultiValue("ContexteClick","Provenance") != "")
                        {
                            provenance = getCookieMultiValue("ContexteClick","Provenance");
                        }
                        else
                        {
                            if(ReadCookie("ContexteClick").indexOf("/HomeBrand.aspx") != -1 && sLocation.indexOf("Brand=") !=-1)
                            {
                                provenance = "/HomeBrand";
                            }
                            else
                            {
                                provenance = "/Bavette";
                            }
                        }
                    }
                    //  set scroll position
                    SetScrollPosition();

                    contexteclick=contexteclick.substring(contexteclick.indexOf("?")+1,contexteclick.length);
                    InitSelectedCriteriaStackFromQuery();          
                    UpdateSelectionPanel(1,HCriteriaToBePassedToJs.value,false,0);
                    InitHtmlElementsStyle();
                }
            }
            else
            {
                // Provenance du premier critère pour la Home Product
                if (sLocation.indexOf("FromUser") !=-1)
                {
                    if (parseInt(getCookieMultiValue("ContexteClick","NbSearch")) == 0)
                    {
                        if(getCookieMultiValue("ContexteClick","Provenance") != "")
                        {
                            provenance = getCookieMultiValue("ContexteClick","Provenance");
                        }
                        else
                        {
                            if (ReadCookie("ContexteClick").indexOf("/Product.aspx") != -1 && ReadCookie("ContexteClick").indexOf("/ProductV2.aspx") != -1)
                            {
                                provenance = "/FicheProduit";
                            }
                        }
                    }
                }
                else
                {
                    if (parseInt(getCookieMultiValue("ContexteClick","NbSearch")) == 0)
                    {
                        if(getCookieMultiValue("ContexteClick","Provenance") != "")
                        {
                            provenance = getCookieMultiValue("ContexteClick","Provenance");
                        }
                        else
                        {
                            if(ReadCookie("ContexteClick").indexOf("/HomeBrand.aspx") != -1 && sLocation.indexOf("Brand=") !=-1)
                            {
                                provenance = "/HomeBrand";
                            }
                            else
                            {
                                provenance = "/FicheProduit";
                            }
                        }
                    }
                }
            }

        }
    // placer le header du moteur de selection
        SetHeaderResultPanel();



    }

    //BMN 04/05/2010 :: Repositionnement du scroll vertical + horizontal
    function SetScrollPosition() {


    try
    {
        var hscroll, vscroll;
        var splitedContext = contexteclick.split('&');
        for (var i = 0; i < splitedContext.length; i++) {
            if (splitedContext[i] != "" && splitedContext[i].indexOf("=") != -1) {
                var key = splitedContext[i].substring(0, splitedContext[i].indexOf("="));
                var value = splitedContext[i].replace(key + "=", "");

                if (key == "vscroll") {
                    vscroll = value;
                }
                if (key == "hscroll") {
                    hscroll = value;
                }


            }

        }


        if (vscroll != 0 || hscroll != 0) {
           
            window.scrollTo(hscroll, vscroll);
        }

        }
        catch(err){}
    }

    //BMN 04/05/2010

function InitSelectedCriteriaStackFromQuery()
{
    var hscroll, vscroll;
    var splitedContext= contexteclick.split('&');
    for (var i=0; i<splitedContext.length;i++)
    {
        if(splitedContext[i]!="" && splitedContext[i].indexOf("=")!=-1)
        {
            var key=splitedContext[i].substring(0,splitedContext[i].indexOf("="));
            var value=splitedContext[i].replace(key+"=","");
            
            if(value!="" && (key=="Universe" || key=="Trend" || key=="Type" || (key=="Gender" && isChildHome) || key=="Size" || key=="Brand" || key=="Price" || key=="Material" || key=="Color"  || key=="SubType"  || key=="Heel" || key=="Season" || key=="SaleDiscount" || key=="DesTock") )
            {
                
                addSelectedCriteriaStackValue(key,value);

            }

           
           
        }

    }
   
}

function InitSelectedCriteriaStack(str) {


   
      
    if(str.indexOf("?")!=-1)
        str=str.substring(str.indexOf("?")+1,str.length);
    
    if(str.indexOf("CriteriaStack=")==-1)
    {    
           
        return;
    }
    var sCriteriaStack=str.substr(str.indexOf("CriteriaStack=")+14,str.length);
    if(sCriteriaStack.indexOf("&")!=-1)
        sCriteriaStack=sCriteriaStack.substring(0,sCriteriaStack.indexOf("&"));
    sCriteriaStack=getQueryStringValue(str,"CriteriaStack");
    sCriteriaList = getQueryStringValue(str,"CriteriaList");
    
    if(sCriteriaStack==null)
        return ;

    var splitedList = sCriteriaStack.split(",");
    var j=SelectedCriteriaStack.length-1;
    for(var i=0; i<splitedList.length;i++)
    {
        if(splitedList[i].indexOf("|")!=-1)
        {
            SelectedCriteriaStack[j][1]+=splitedList[i];
            
        }
        else
        {
            j++;
            var newItem=new Array(2);
            newItem[0]=splitedList[i];
            newItem[1]="";             
            SelectedCriteriaStack.push(newItem);
            
            
        }
    } 
   
    //Maj de SelectedCriteriaList
    SelectedCriteriaList = sCriteriaList.split(",");
    
    //décrémentation du compteur de cycle pour revenir au cycle précédent
    //nbSearch = parseInt(nbSearch)-1;
     
    
}
function InitHtmlElementsStyle()
{
    for(var i=0;i<SelectedCriteriaStack.length;i++)
    {
        if(SelectedCriteriaStack[i][1]!="")
        {
            var values=SelectedCriteriaStack[i][1].split("|");
            for (var j=0;j<values.length;j++)
            {
                if(values[j]!="")
                    InitElementStyle(SelectedCriteriaStack[i][0],values[j]);
            }
        }
    }
    try
    {
        var eltTdSelecHeadResCrit = document.getElementById('TdSelectionHeaderResumeCriteria');
        if(eltTdSelecHeadResCrit && eltTdSelecHeadResCrit.innerHTML=="")
        {
            document.getElementById('DivSelectionHeaderResumeCriteria').style.display="none";
        }
        else
        {    
            document.getElementById('DivSelectionHeaderResumeCriteria').style.display="block";
        } 
    } catch(ex){}
}


function InitElementStyle(Zone,ElementId)
{
   switch(Zone)
    {
	    case "Size":
	       
	       var elt=getElement_By_Id("SZ_"+ElementId);
	       if (elt!=null)
	       {     
	            elt.parentNode.className="on";
	            elt.parentNode.setAttribute("allowselect","true");
	            LstSize.push(ElementId);
	            SetCriteriaSummaryList(ElementId,"LstSizeSummary","SZ");
	            
	        }	       
	        break;
	    case "Trend":	        
	        var elt=getElement_By_Id("TN_"+ElementId);
	        if (elt!=null)
	        {    
	            elt.parentNode.className="on";
	            elt.parentNode.setAttribute("allowselect","true");
	            LstTrend.push(ElementId);
	            SetCriteriaSummaryList(ElementId,"LstTrendSummary","TN");
	        }
	        
	        break;
	     case "Universe":	        
	        var elt=getElement_By_Id("UNIVERSE_"+ElementId);
	        if (elt!=null)
	        {    
	            elt.parentNode.className="on";
	            elt.parentNode.setAttribute("allowselect","true");
	            LstUniverse.push(ElementId);
	            SetCriteriaSummaryList(ElementId,"LstUniverseSummary","UNIVERSE");
	        }
	        
	        break;		     
	    case "Brand":
	        
	        var elt=getElement_By_Id("BR_"+ElementId);
	        if(elt!=null)
	        {
	            elt.className="on";
	            elt.parentNode.className="customBox";
	            elt.parentNode.setAttribute("allowselect","true");
	            if (navigator.appName=="Netscape"){    
	                elt.parentNode.parentNode.style.display="table-row";
                }
                else{    
                    elt.parentNode.parentNode.style.display="block";
                }
	                
	            LstBrand.push(ElementId); 

                SetCriteriaSummaryList(ElementId,"LstBrandSummary","BR");
	        }
	       
	        break;
	    case "Type":
	        if (Gender.toString()== SubGenderOfChild.Baby.toString() || Gender.toString()== SubGenderOfChild.Boy.toString() || Gender.toString()== SubGenderOfChild.Girl.toString() )
			{
			    LastSelectedProductType=getElement_By_Id("CHILDTYPETY_"+Gender+"_"+ElementId);
			}
			else
	        {    
	            LastSelectedProductType=getElement_By_Id("TY_"+ElementId);
	        }
	        if(LastSelectedProductType!=null)
	        {
	            LastSelectedProductType.parentNode.className="on";
	            LastSelectedProductType.parentNode.setAttribute("allowselect","true");
	            if (Gender.toString()== SubGenderOfChild.Baby.toString() || Gender.toString()== SubGenderOfChild.Boy.toString() || Gender.toString()== SubGenderOfChild.Girl.toString() )
			    {
			        SetCriteriaSummaryList(ElementId,"LstTypeSummary","CHILDTYPETY_"+Gender);
			    }
			    else
	                SetCriteriaSummaryList(ElementId,"LstTypeSummary","TY");
	        }
	        break;
	    case "Gender":
	        LastSelectedGenderProductType=getElement_By_Id("CHILDTY_"+ElementId);
	        if(LastSelectedGenderProductType!=null)
	        {
	            LastSelectedGenderProductType.parentNode.className="SubGenderOn";
	            LastSelectedGenderProductType.parentNode.setAttribute("allowselect","true");
	            SetCriteriaSummaryList(ElementId,"LstSubGenderSummary","CHILDTY");
	            jQuery(".CHILD_TYPE_TABLE").slideUp();
                jQuery("#CHILD_TYPE_TABLE_"+Gender).slideDown();  
	        }
	        break;		
	    case "Color":
	        
	        var elt=getElement_By_Id("CR_"+ElementId);
	        if (elt!=null)
	        {    
	            elt.parentNode.className="on";
	            elt.parentNode.setAttribute("allowselect","true");
	            LstColor.push(ElementId);
	            SetCriteriaSummaryList(ElementId,"LstColorSummary","CR");
	        }
	        break;
	    case "SubType":
	        var elt=getElement_By_Id("SbT_1_"+ElementId);
	        if (elt!=null)
	        {    
	            elt.className="SousMenu-on";
	            elt.setAttribute("allowselect","true");
	            LstSubType.push(ElementId);
	            SetCriteriaSummary(ElementId,"tblStyleResume","LstSubTypeSummary","SbT_1");
	        }
	        
	        
	        break;
	     case "Material":
	        
	        var elt=getElement_By_Id("Mat_"+ElementId);
	        if (elt!=null)
	        {    
	            elt.className="SousMenu-on";
	            elt.setAttribute("allowselect","true");
	            LstMaterial.push(ElementId);
	            SetCriteriaSummary(ElementId,"tblMaterialResume","LstMaterialSummary","Mat");
	        }
	        break;
	      case "Heel":
	         var elt=getElement_By_Id("SbT_2_"+ElementId);
	        if (elt!=null)
	        {    
	            elt.className="SousMenu-on";
	            elt.setAttribute("allowselect","true");
	            LstHeel.push(ElementId);
	            SetCriteriaSummary(ElementId,"tblHeelResume","LstHeelSummary","SbT_2");
	        }
	        break;
	      case "Price":
	        
	        var elt=getElement_By_Id("PR_"+ElementId);
	        if (elt!=null)
	        {    
	            elt.className="SousMenu-on";
	            elt.setAttribute("allowselect","true");
	            LstPrice.push(ElementId);
	            SetCriteriaSummary(ElementId,"tblPriceResume","LstPriceSummary","PR");
	        }
	        break;
	      case "Season":
	       
	        var elt=getElement_By_Id("SS_"+ElementId);
	        if (elt!=null)
	        {    
	            elt.className="SousMenu-on";
	            elt.setAttribute("allowselect","true");
	            LstSeason.push(ElementId);
	            SetCriteriaSummary(ElementId,"tblSeasonResume","LstSeasonSummary","SS");
	        }
	        break;
	      case "SaleDiscount":
	       
	        var elt=getElement_By_Id("CheckboxSaleDiscount"+ElementId);
	        if (elt!=null)
	        {    
	            elt.checked=true;
	            elt.disabled=false;
	            elt.setAttribute("allowselect","true");
	            LstSaleDiscount.push(ElementId);
	            
	        }
	        break;
	     			
	    
	    
	} 
        
    
}

function getQueryStringValue(str,key)
{
    if(str.indexOf(key+"=")==-1)
        return null;
    var sValue=str.substr(str.indexOf(key+"=")+key.length+1,str.length);
    if(sValue.indexOf("&")!=-1)
        sValue=sValue.substring(0,sValue.indexOf("&"));
    return unescape(sValue);
}

