﻿var JsURL = GetURLParams();

function GetURLParams()
{
    var url = unescape(window.location.search);
    return url.replace('?','').toLowerCase();
}

function showDetailItems(result){
    
    var id = result.substring(0,result.indexOf("|"));  
    var content = result.substring( result.indexOf("|") + 1, result.length );  
    var eleId = id.replace("Head","Detail");

        document.getElementById(eleId).innerHTML = content;

}
//在GroupSelect中显示选择项的值
function showSingleSelectItem(paramField,result, selectRequired, ChildGroups, ownSelf)
{
    var eleId = "div_Group_" +paramField+"_Sel";
    if(selectRequired == "F")
    {
        result += "<img id='img_"+result+"' title='"+result+"' class='imgDelete' src='Images/icons/icon_remove_small.png' onclick='deleteURLParams( \"" + paramField + "\", \""+ result +"\" ); cancelRadioSelect(this);HideChildren(\""+paramField+"\");' />";
        $(ownSelf).live("click",function()
        {
             $(this).closest(".div_Group_Detail").hide();
        });
       
    }
    document.getElementById(eleId).innerHTML = "<div>"+result+"</div>";
    document.getElementById(eleId).style.display = 'block';
        
    if(ChildGroups.length > 0)
    {
        var arrayChild = new Array();
        arrayChild = ChildGroups.split(",");
        for(var i=0;i<arrayChild.length-1;i++)
        {
            if(document.getElementById("div_Group_" +arrayChild[i]) != null)
            {   
            if(document.getElementById("div_Group_" +arrayChild[i]).style.display != 'block')
            {
                
                document.getElementById("div_Group_" +arrayChild[i]).style.display = 'block';
            }
        }
        }
        
    }
}
function cancelRadioSelect(ele){
     var radio = document.getElementById("radio_"+ele.id.replace("img_",""));
     if(radio != null)
          radio.checked = false;
      $(ele).parent().remove();
}

function cancelCheckBoxSelect(eletitle){
    var checkbox = document.getElementById("check_" + eletitle);
    var img = document.getElementById("img_"+eletitle);
    if(checkbox != null)
        checkbox.checked = false;
    $(img).parent().remove();
}

function checkOnclick(key,value,isMulti)
{
    if(JsURL.indexOf(value.toLowerCase()) > -1)
    {
        
        deleteURLParams("paramName_" + key.toLowerCase(),value.toLowerCase());
    }
    else
    {
        updateURLParams(key,value,isMulti);
    }
}

function showMultiSelectItemCheckBox(paramField,result)
{
    var eleId = "div_Group_" +paramField+"_Sel";  

    document.getElementById(eleId).style.display = 'block';
    document.getElementById(eleId).innerHTML = "";
    
    var thisCode = result.split(";");
    for(var i=0; i<thisCode.length; i++)
    {
        document.getElementById(eleId).innerHTML += "<div>"+thisCode[i]+"<img id='img_"+thisCode[i].toLowerCase()+"' title='"+thisCode[i].toLowerCase() +"' class='imgDelete' src='Images/icons/icon_remove_small.png' onclick='deleteURLParams( \"" + paramField + "\", \""+thisCode[i]+"\" );cancelCheckBoxSelect(this.title);HideChildren(\""+paramField+"\");' /></div>";
        
    }    
}

function deleteSelectItem(ele){
    $(ele).parent().remove();
}

function showMultiSelectItemImg(paramField,code)
{
    var eleId = "div_Group_" +paramField+"_Sel";

    //删除选择项
    
    document.getElementById(eleId).style.display = 'block';
    document.getElementById(eleId).innerHTML = "";
    
    var thisCode = code.split(";");
    for(var i=0; i<thisCode.length; i++)
    {

        document.getElementById(eleId).innerHTML += "<div><img src='Images/Custom/Filter/Colors/"+ thisCode[i] +"_Sel.gif' /><img  title='" + thisCode[i] + "' class='imgDelete' src='Images/icons/icon_remove_small.png' onclick='deleteURLParams(\"" + paramField + "\", \""+thisCode[i] +"\" );deleteSelectItem(this);' /></div>";
 
    }
    
}


//切换不同状态图片
function changeImg(ele)
{
    if(ele.src.indexOf("_off") > 0){
        $(ele).attr('src',$(ele).attr('src').replace("_off","_on"));
           
    }
    var elements = $(ele).siblings();
    elements.each(function(){
     
        if(ele.src.indexOf("_on") > 0){
            $(this).attr("src",$(this).attr("src").replace("_on","_off"));
        }
  
    });
}

//根据过滤条件变量获取值
function getParamValue( url, paras )
{
	var arrParam =url.toLowerCase().split("&");
	var returnValue = "";
	
	for(var i=0; i < arrParam.length; i++ )
	{
	    if( arrParam[i].substring( 0, arrParam[i].indexOf('=') ) ==  paras.toLowerCase() )
	    {
	        returnValue = arrParam[i].substring(arrParam[i].indexOf("=")+1,arrParam[i].length);
	    }
	}
	return returnValue;
}

function filterParamFromURL( url, param )
{
	var arrParam =url.toLowerCase().split("&");
	var returnValue = "";
	
	for(var i=0; i < arrParam.length; i++ )
	{
	    if( arrParam[i].toLowerCase().indexOf(param.toLowerCase() + "=") < 0 )
	    {
	        returnValue += arrParam[i] + "&";
	    }
	}
	if(returnValue.length > 0)
	{
	    returnValue = returnValue.substring( 0, returnValue.length - 1);
	}
	return returnValue;
}

function ShowSelection(url)
{
	
	var select=$("#yourselect");
	var txt= "<li class='viewing'>" + mYouareviewing + "</li>" ;
	
    for(var i=0;i<paramdata.param.length;i++)
	{
	
	    var has = url.toLowerCase().indexOf( paramdata.param[i].paramName.toLowerCase() );
	    if ( has < 0 )
	    {
//	        if(paramdata.param[i].selectionRequired == "F")
//	        {
//	            var eleId = "div_Group_" + paramdata.param[i].paramField +"_Sel";
//                document.getElementById(eleId).innerHTML = "";                
//                document.getElementById(eleId).style.display = 'none';
//            }            
	    }
	    else
	    {
	        var thisValue = getParamValue( url, paramdata.param[i].paramName );
//	        
//	        if( paramdata.param[i].multipleSelection == "F" )
//	        {
//	            showSingleSelectItem( paramdata.param[i].paramField, thisValue,paramdata.param[i].selectionRequired, ChildGroup( paramdata.param[i].paramName), ""); 
//	        }
//	        else
//	        {
//	            //if( paramdata.param[i].paramField != paramdata.param[5].paramField )
//	            //{
//	                showMultiSelectItemCheckBox( paramdata.param[i].paramField,thisValue);
//	            //}
//	            //else
//	            //{
//	                //showMultiSelectItemImg(paramdata.param[i].paramField,thisValue );
//	            //}
//	        }
	        
	        var key = paramdata.param[i].paramName.toLowerCase().trim();
	        var value = thisValue;
	              
	        if( "T" == paramdata.param[i].selectionRequired )
	        {
		        txt=txt+"<li class='viewing' style='text-align:center;'>"+value+"</li>";
	        }		
	        else if( "T" == paramdata.param[i].multipleSelection )
	        {
		        var paras=value.split(";");
		        var j;
		        for(j=0;j<paras.length;j++)
		        {
			        var val=paras[j];
			        txt = txt + "<li class='viewing' style='cursor:pointer;' onclick= 'deleteURLParams( \"paramName_" + key + "\",\"" + val + "\")'><img alt='"+val+"' src='Images/icons/icon_remove_viewing.gif' />"+val+"</li>";
		        }
	        }
	        else
	        {
			    txt = txt + "<li class='viewing' style='cursor:pointer;' onclick= 'deleteURLParams( \"paramName_" + key + "\",\"" + value + "\")'><img alt='"+ value +"' src='Images/icons/icon_remove_viewing.gif' />"+ value +"</li>";
		        
	        }	
	    }	    
	}
	        
	select.html(txt);	
	
	
}

function ChildParam( paramName)
{
    var Result = "";
    for(var i=0;i<paramdata.param.length;i++)
    {
        if( paramdata.param[i].masterParam.toLowerCase() == paramName.toLowerCase())
        {
	        Result += paramdata.param[i].paramName + ",";	        
        }		
    }    
    return Result;
}

function ChildGroup( paramName)
{
    var Result = "";
    for(var i=0;i<paramdata.param.length;i++)
    {
        if( paramdata.param[i].masterParam == paramName)
        {
	        Result += paramdata.param[i].paramField + ",";	        
        }		
    }    
    return Result;
}

//隐藏子项
function HideChildren(paramField)
{
    var paramName="";
    var children="";
    for(var i=0;i<paramdata.param.length;i++)
    {
        if(paramdata.param[i].paramField == paramField)
        {
            paramName = paramdata.param[i].paramName;
            break;
        }        
    }
    
    for(var i=0;i<paramdata.param.length;i++)
    {
        if(paramdata.param[i].masterParam == paramName){
            children += paramdata.param[i].paramField + ",";
        }
    }
    
    var newChildren;
    if(children.trim() != "")
    {
        if(children.indexOf(',') > -1)
        {
            var oldChildren = children.substr(0,children.length - 1).split(',');
            for(var i=0;i<oldChildren.length;i++)
            {
                oldChildren[i] = "#div_Group_" + oldChildren[i];
            }
            newChildren = oldChildren.join(',');
        }
        else{
            newChildren = "#div_Group_" + children;
        }
        $(newChildren).hide();
    }
    else
    {
        return;
    }
    
}

var Div_Group_Head = $(".div_Group>.div_Group_Head");
var Div_Group_Detail = $(".div_Group>.div_Group_Detail");
var Div_Group_Sel = $(".div_Group>.div_Group_Sel");

var Class_GroupHeader_Collapsed = 'GroupHeader_Collapsed';
var Class_GroupHeader_Expanded = 'GroupHeader_Expanded';

function OperateBox(ele)
{
    var className = $(ele).attr("class");
    if(className.indexOf(Class_GroupHeader_Collapsed) > 0)
    {
        $(ele).removeClass(Class_GroupHeader_Collapsed).addClass(Class_GroupHeader_Expanded);
        document.getElementById(ele.id.replace("_Head","_Detail")).style.display = 'block';
        loadingDetail(ele.id.replace("_Head","_Detail"));
        $(".div_Group_Detail").css("height","auto");
        Callback_GetGroupDetailItems.PerformCallback($(ele).attr("id") + "#" + JsURL ); 
        CloseOtherBox(ele);
    }
    else
    {
        $(ele).removeClass(Class_GroupHeader_Expanded).addClass(Class_GroupHeader_Collapsed);
        document.getElementById(ele.id.replace("_Head","_Detail")).style.display = 'none';
    }
}


function CloseOtherBox(ele)
{
    for(var i=0;i<paramdata.param.length;i++)
    {
        if( paramdata.param[i].startExpanded == "F" && ele.id.toLowerCase().indexOf(paramdata.param[i].paramField.toLowerCase()) < 0  )
        {
            var div = document.getElementById( "div_Group_" + paramdata.param[i].paramField + "_Head" );
	        $(div).removeClass(Class_GroupHeader_Expanded).addClass(Class_GroupHeader_Collapsed);
            document.getElementById("div_Group_" + paramdata.param[i].paramField + "_Detail").style.display = 'none';
        }
		
    }    
}

//当前div_Group_Detail中的选项点击时,隐藏当前div_Group_Detail(包括img radio checkbox)
function hideDivGroupDetail(ele){
    $(ele).closest(".div_Group_Detail").hide();
    $(ele).closest(".div_Group_Detail").prev().removeClass(Class_GroupHeader_Expanded).addClass(Class_GroupHeader_Collapsed);
}
/*/调用hideDivGroupDetail()
$(Div_Group_Detail).find("div input:radio,input:checkbox").live("click",
function(){hideDivGroupDetail(this);});
$(Div_Group_Detail).find("span img").live("click",
function(){hideDivGroupDetail(this);});
*/
//function updateExpandedGroup( key, value, paramField )
function updateExpandedGroup( key, value, paramField ,id)
{   
    JsURL = getRequiredSelect( key, value );
    Callback_reloadExpandedGroup.PerformCallback(paramField+"#"+JsURL);
    updateURLParams( key, value, "F");
}

function reloadExpandedGroup(result)
{   
    var array = result.split('|');
    var id = "div_Group_" + array[0] + "_Detail";
    var content = array[1];
    document.getElementById(id).innerHTML = content;
}

function getRequiredSelect( key, value )
{
    var newurl = key + "=" + value;
    for(var i=0;i<paramdata.param.length;i++)
    {
        if( paramdata.param[i].selectionRequired == "T" && paramdata.param[i].paramName.toLowerCase() != key.toLowerCase() )
        {
	        newurl += "&" + paramdata.param[i].paramName + "=" + getParamValue( GetURLParams(), paramdata.param[i].paramName ); 
        }		
    }
    
    return newurl;
}

function showExpandedGroup( result )
{ 
    var arrParams = result.split("&");
    for ( var i=0; i<arrParams.length; i++ )
    {
        var key = arrParams[i].substring( 0,arrParams[i].indexOf("=") );
        var value = arrParams[i].substring( arrParams[i].indexOf("=")+1, arrParams[i].length);
        
        var img = document.getElementById("imgLeftNav_" + key.toLowerCase());
		
        if(value == "T")
        {
             $(img).show();
        }
        else
        {   
            $(img).hide();
        }  
    }
}

function getKeyFromField(paramField){
    var temp = "";
    for(var i=0;i<paramdata.param.length;i++)
    {
        if( paramdata.param[i].paramField == paramField)
        {
	        temp = paramdata.param[i].paramName; 
	        break;
        }
    }
    return temp;
}

function updateURLParams( key, value, isMultiChoice) 
{  
    var oldUrl = JsURL;

    var newUrl = "";
    if (oldUrl.toLowerCase().indexOf(key.toLowerCase()) < 0 ) 
    {
        if (oldUrl.length > 0 )
        {
            newUrl = oldUrl + "&" + key + "=" + value.toLowerCase(); 
        }
        else
        {
            newUrl = key + "=" + value.toLowerCase();
        }
    }
    else
    {    
        var params = oldUrl.split('&');
        for(var i=0;i < params.length;i++)
        {
            var param = params[i].split('=');
            var param_Name = param[0];
            var old_Param_Value = param[1];
            
            if(isMultiChoice.toUpperCase() == 'F')
            {
                if(param_Name.toLowerCase() == key.toLowerCase())
                {   
              
                    newUrl = oldUrl.replace(params[i],key + '=' + value.toLowerCase());
                    var children = ChildParam(param_Name).split(",");
                    for(var t=0;t<children.length;t++)
                    {
                        if(children[t] != "")
                        {
                            newUrl = filterParamFromURL(newUrl,children[t]);
                        }
                    }
                }
            }
            else
            {
                if(param_Name.toLowerCase() == key.toLowerCase())
                {                    
                    var multiValues = old_Param_Value.split(';');
                    var has = 0;
                    for(var j =0; j < multiValues.length; j++)
                    {                                                
                        if ( value.toLowerCase() == multiValues[j].toLowerCase() )
                        {
                            has++;
                            break;
                        }
                    }
                    if( has == 0)
                    {
                        newUrl = oldUrl.replace(params[i],key + '=' + old_Param_Value + ';' + value.toLowerCase());
                        break;
                    }
                }
            }
        }        
    }
    
    if(newUrl != "")
    {
        newUrl = deletePagerParam(newUrl);
        window.location.search = newUrl;
    }    
}

function deletePagerParam(url)
{
    if(url.indexOf("seoctl00_body_dvw_items") > -1)
    {
        var arrParams = url.split("&");
        for(var k=0;k<arrParams.length;k++)
        {
            if(arrParams[k].indexOf("seoctl00_body_dvw_items") > -1)
            {   
                if(url.indexOf("&seoctl00_body_dvw_items") > -1)
                {
                    url = url.replace("&" + arrParams[k],"");
                }
                else
                {
                    url = url.replace(arrParams[k] + "&","");
                }
            }
        }
    }
    return url;
}

function deleteURLParams( paramField, value ) 
{    
    var key = "";
    
    if(paramField.indexOf("paramName_") < 0 )
    {        
        for(var i=0;i<paramdata.param.length;i++)
	    {
	        if( paramdata.param[i].paramField == paramField)
	        {
		        key = paramdata.param[i].paramName; 
		        break;
	        }
	    }
	}
	else
	{
	    key = paramField.substring( 10, paramField.length );
	}
	
    var oldUrl = JsURL;
    var newUrl = "";
    var params = new Array();
    params = oldUrl.split('&');
        
    if (oldUrl.toLowerCase().indexOf(key.toLowerCase()) > -1 ) 
    {    
        
	    for(var i=0;i< params.length; i++)
	    {
		    var thiskey = params[i].substring(0,params[i].indexOf("="));
		    var thisvalue = params[i].substring(params[i].indexOf("=")+1,params[i].length);
		    if( thiskey.toLowerCase() == key.toLowerCase() && thisvalue.toLowerCase().indexOf(value.toLowerCase()) > -1 )
		    {
		        if( thisvalue.indexOf(";") > 0 )
		        {		        
                    var arr = thisvalue.split(";");
                    var newstr = "";
                    for( var k=0; k<arr.length; k++ )
                    { 
                        if(arr[k].toLowerCase() != value.toLowerCase())
                        {
                            newstr = newstr + arr[k] + ";";
                        }
                    }
                    params[i] = thiskey + "=" + newstr.substring(0,newstr.length-1);
                   
			        break;
		        }
		        else
		        {
			        params[i]="";
			        break;
			    }
		    }		    
	    }
	    newUrl = params.join("&").trimChar();
	}
	
	for(var i=0;i< paramdata.param.length;i++)
	{
	   if(key.toLowerCase() == paramdata.param[i].masterParam.toLowerCase())
	   {
	        var arrParams = newUrl.toLowerCase().split("&");
	        if(arrParams.length > 0)
	        {
	            for(var j=0;j<arrParams.length;j++)
	            {
	                
	                if(arrParams[j].indexOf(paramdata.param[i].paramName.toLowerCase()) > -1)
	                {
	                    var key = arrParams[j].substring(0,arrParams[j].indexOf('='));
	                    newUrl = filterParamFromURL( newUrl, key );	                    
	                    
	                }
	            }
	        }
	        
	   }
	}
	
	//if(newUrl != "")
    //{
	     newUrl = deletePagerParam(newUrl);
	     window.location.search = newUrl;
    //}
}	

function CleanAllFilter()
{ 
    window.location.href = window.location.href.replace(window.location.search,"");
}

function checkGropDetailChoice( url )
{    
    for(var i=0;i<paramdata.param.length;i++)
    {    
        if( paramdata.param[i].masterParam.trim().length > 0 && url.toLowerCase().indexOf( paramdata.param[i].masterParam.toLowerCase() + "=") < 0 )
        {
            document.getElementById( "div_Group_" + paramdata.param[i].paramField ).style.display = "none";
        }
        else
        {
            document.getElementById( "div_Group_" + paramdata.param[i].paramField ).style.display = "block";
        }
                
        if (url.toLowerCase().indexOf( paramdata.param[i].paramName.toLowerCase() + "=") > -1 ) 
        {
            var divDetail = document.getElementById( "div_Group_" + paramdata.param[i].paramField + "_Detail" );
            var values = getParamValue( url, paramdata.param[i].paramName );
            
            var thisvalue = values.split(";");
            
            if(divDetail.innerHTML != "")
            {
                if( paramdata.param[i].displayImage == "T")
                {
                    if(paramdata.param[i].multipleSelection == "T")
                    {
                        //color
                        for(var j=0;j< thisvalue.length; j++)
                        {
                            var currentEle = document.getElementById( thisvalue[j] );
                            if($(currentEle).attr("src").indexOf("_off") > 0 )
                            {
                                $(currentEle).attr('src',$(currentEle).attr('src').replace("_off","_on"));
                            
                            }
                    	               
                        }
                    }
                    else
                    {
                        var ele = document.getElementById( "imgLeftNav_" + values.toLowerCase() );
                        changeImg(ele);
                    }
                }
                else if(paramdata.param[i].multipleSelection == "T")
                {
                    for(var j=0;j< thisvalue.length; j++)
                    {
                        var checkbox = document.getElementById("check_" + thisvalue[j] );
                        if(checkbox != null)
                            checkbox.checked = true;
                    }
                    //checkbox
                }
                else
                {
                    //radio
                    var radio = document.getElementById("radio_"+ values);
                    if(typeof(radio) == "undefined" || radio === null)
                    {}
                    else
                    {
                        radio.checked = true;
                    }
                         
                }
                
            }
        
        }
        else
        {
        }	                       
        
    }      
    
}

function loadingDetail(id)
{
	var h=$("#"+id).height();
	var w=$("#"+id).width();
	$("#"+id).html("<img style='position: relative; left: 45%;' src='Images/icons/loadingCart.gif' />");
	$("#"+id).height(h);
	$("#"+id).width(w);
}

$(function ()
{        
    ShowSelection( JsURL );
});