﻿/*-----------------------------------------------------------------
 * Fanhc 2008.09.25
 * 
 *
 * 动态刷新车型选择控件
 *----------------------------------------------------------------*/
var __producerselect;
var __brandselect;
var __carselect;
var __ajaxdomain = '';
var ___ProducerSelectValue='';
var ___BrandSelectValue='';
var ___CarTypeSelectValue='';
var ___ProvinceSelectValue='';
var ___CitySelectValue='';
function CarTypeSelector(producersel, brandsel, carsel, currdomain)
{
    __producerselect = producersel;
    __brandselect = brandsel;
    __carselect = carsel;
    
    this.GetProducerId = function() { return $(__producerselect).value};
    this.GetBrandId = function() { return $(__brandselect).value};
    this.GetCarId = function() { return $(__carselect).value};
    this.SetProducerId = function(value) {___ProducerSelectValue = value;};
    this.SetBrandId = function(value) {___BrandSelectValue = value;};
    this.SetCarId = function(value) {___CarTypeSelectValue = value;};
    this.InitAllSelector = function() {__Init__Selector();};
}

//初始化选择器控件
function __Init__Selector(){
    var url = __ajaxdomain + "/ajaxPage/AjaxCarList.ashx";
    var pars = "carAreaID=30";
    var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete: __Init__Selector__Complete});
}
function __Init__Selector__Complete(result){
    var val = result.responseText.split(',');
    __ClearSelect($(__producerselect));
    __AddOneOption($(__producerselect), '选择品牌', '0');
    __AddOptionToSelectFromBaseArray($(__producerselect), val);
    __AddOneOption($(__brandselect),"选择系列","0");
    __AddOneOption($(__carselect),"选择车型","0");
    if (window.attachEvent)
    {
        $(__producerselect).attachEvent("onchange",
            function(){
                __Init__Brand__Select()
            }
        );
        $(__brandselect).attachEvent("onchange",
            function(){
                __Init_CarType_Select()
            }
        );
    }
    else
    {
        $(__producerselect).addEventListener("change",
            function(){
                __Init__Brand__Select()
            },
            false);
        $(__brandselect).addEventListener("change",
            function(){
                __Init_CarType_Select()
            },
            false);
    }
    if (GetIntValue(___ProducerSelectValue) > 0){
        $(__producerselect).value = GetIntValue(___ProducerSelectValue);
        ___ProducerSelectValue = '';
        __Init__Brand__Select();
    }
}
//当厂商被选择时,改动车系
function __Init__Brand__Select(){
    var producerId = $F(__producerselect);
    if(parseInt(producerId)>0)
    {
        var url = __ajaxdomain + "/ajaxPage/AjaxCarList.ashx";
        var pars = "carProducerID=" + producerId;
        var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete: __Init__Brand__Select__Complete});
    }
    else
    {
       __ClearSelect($(__brandselect));
       __AddOneOption($(__brandselect),"选择系列","0");
       __ClearSelect($(__carselect));
       __AddOneOption($(__carselect),"选择车型","0");
    }
}
function __Init__Brand__Select__Complete(result){
    var val = result.responseText.split(',');
    __ClearSelect($(__brandselect));
    __AddOneOption($(__brandselect), '选择系列', '0');
    __AddOptionToSelectFromBaseArray($(__brandselect), val);
    __ClearSelect($(__carselect));
    __AddOneOption($(__carselect),"选择车型","0");
    if (GetIntValue(___BrandSelectValue) > 0){
        $(__brandselect).value = GetIntValue(___BrandSelectValue);
        ___BrandSelectValue = '';
        __Init_CarType_Select();
    }
}

function __Init_CarType_Select(){
    var brandId = $F(__brandselect);
    if(parseInt(brandId)>0)
    {
        var url = __ajaxdomain + "/ajaxPage/AjaxCarList.ashx";
        var pars = "carBrandID=" + brandId;
        var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete: __Init__CarType__Select__Complete});
    }
    else
    {
       __ClearSelect($(__carselect));
       __AddOneOption($(__carselect),"选择车型","0");
    }
}
function __Init__CarType__Select__Complete(result){
    var val = result.responseText.split(',');
    __ClearSelect($(__carselect));
    __AddOneOption($(__carselect), '选择车型', '0');
    __AddOptionToSelectFromBaseArray($(__carselect), val);
    if (GetIntValue(___CarTypeSelectValue) > 0){
        $(__carselect).value = GetIntValue(___CarTypeSelectValue);
        ___CarTypeSelectValue = '';
    }
}
/*-------------------------------------------------------------------------------------------------
 *城市选择控件
 *-----------------------------------------------------------------------------------------------*/
var __provinceselect;
var __cityselect;
var __isHaveBgColor=false;
var __background="#FF7F00";
var __color="#fff";
var __provinceFirstText="选择省份";
function CitySelector(provincesel, citysel)
{
    __provinceselect = provincesel;
    __cityselect = citysel;
    this.GetProvinceId = function() { return $(__provinceselect).value};
    this.GetCityId = function() { return $(__cityselect).value};
    this.SetProvinceId = function(value) {___ProvinceSelectValue = value;};
    this.SetCityId = function(value) {___CitySelectValue = value;};
    this.InitAllSelector = function() {__Init__Province__Selector();};
}
//初始化选择器控件
function __Init__Province__Selector(){
    var url = __ajaxdomain + "/ajaxPage/AjaxCity.ashx";
    var pars = "ProvinceId=-100";
    var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete: __Init__Province__Selector__Complete});
}
function __Init__Province__Selector__Complete(result){
    var val = result.responseText.split(',');
    __ClearSelect($(__provinceselect));
    __AddOneOptionNew($(__provinceselect),__provinceFirstText, '-1',__isHaveBgColor,__background,__color);
    __AddOptionToSelectFromBaseArray($(__provinceselect), val);
    __AddOneOptionNew($(__cityselect),"选择城市","0",__isHaveBgColor,__background,__color);
    if (window.attachEvent)
    {
        $(__provinceselect).attachEvent("onchange",
            function(){
                __Init__City__Select()
            }
        );
    }
    else
    {
        $(__provinceselect).addEventListener("change",
            function(){
                __Init__City__Select()
            },
            false);
    }
    if (GetIntValue(___ProvinceSelectValue) > 0){
        $(__provinceselect).value = GetIntValue(___ProvinceSelectValue);
        ___ProvinceSelectValue = '';
        __Init__City__Select();
    }
}
function __Init__City__Select(){
    var provdId = $F(__provinceselect);
    
    if(provdId > 0)
    {
        var url = __ajaxdomain + "/ajaxPage/AjaxCity.ashx";
        var pars = "ProvinceId=" + provdId;
        var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete: __Init__City__Select__Complete});
    }
    else
    {
       __ClearSelect($(__cityselect));
       __AddOneOptionNew($(__cityselect),"选择城市","0",__isHaveBgColor,__background,__color);
    }
}
function __Init__City__Select__Complete(result){
    var val = result.responseText.split(',');
    __ClearSelect($(__cityselect));
    __AddOneOptionNew($(__cityselect), '选择城市', '0',__isHaveBgColor,__background,__color);
    __AddOptionToSelectFromBaseArray($(__cityselect), val);
    if (GetIntValue(___CitySelectValue) > 0){
        $(__cityselect).value = GetIntValue(___CitySelectValue);
        ___CitySelectValue = '';
    }
}
/*-------------------------------------------------------------------------------------------------
 * 公共部分
 *-----------------------------------------------------------------------------------------------*/
 //清空一个select
function __ClearSelect(sel)
{
    while (sel.options.length>0)
    {
        sel.remove(0);
    }
}
//将数组中的元素添加到select中
function __AddOptionToSelectFromBaseArray(sel, val)
{
    for(i=0;i<val.length;++i)
    {
       __AddOneOption(sel, val[i], val[++i]);
    }
}
//为select添加一个选项并设置为选中
function __AddOneOption(sel, text, value)
{
    var opt = document.createElement('OPTION');
    opt.text = text;
    opt.value = value;
    sel.options.add(opt);
    sel.selectedValue=value;
}
function __AddOneOptionNew(sel, text, value,_ishavebg,_bg,_color)
{
    var opt = document.createElement('OPTION');
    opt.text = text;
    opt.value = value;
    if(_ishavebg){
        opt.style.background  =_bg;
        opt.style.color  = _color;
    }
    sel.options.add(opt);
    sel.selectedValue=value;
}
//参数解析
function DecodeUrlParameter(__key)
{
    var parapart = document.location.search;
    parapart = parapart.replace(/^\?+/, '').replace(/#+$/, '');
    if (parapart.length <= 0){
        return '';
    }
   
    var arrparas = parapart.split('&');
    var ___iterator_;
    for (___iterator_ = 0; ___iterator_ < arrparas.length; ++___iterator_)
    {
        var urlparacomp = arrparas[___iterator_].split('=');
        if (urlparacomp[0] == __key){
            if (urlparacomp[1]!=null && urlparacomp[1]!=undefined){
                return urlparacomp[1];
            }else{
                return '';
            }
        }
        else{
            continue;
        }
    }
    return '';
}

//添加新参数到当前url,返回完整url
function AppendUrlParameter(__key, __value, __oriurl)
{
    var __newpara = __key + '=' + __value;
    var __oriurlparts = __oriurl.split('?');
    var __pathpart = __oriurlparts[0];
    var __parapart = '';
    if (__oriurlparts[1]){
        __parapart = __oriurlparts[1];
    }
    if (__parapart.length > 0){
        __parapart = __parapart.replace(/^\?+/, '').replace(/#+$/, '');
        if (__parapart.length > 0){
            __parapart += '&';
        }
    }
    __parapart += __newpara;
    return __pathpart + '?' + __parapart;
}
//从参数列表中删除参数
function RemoveUrlParameter(__key, __oriurl)
{
    var __oriurlparts = __oriurl.split('?');
    var __pathpart = __oriurlparts[0];
    var __parapart = '';
    if (__oriurlparts[1]){
        __parapart = __oriurlparts[1];
    }
    var __newurl = __pathpart;
    __parapart = __parapart.replace(/^\?+/, '').replace(/#+$/, '');
    if (__parapart.length > 0){
        var __arrparas = __parapart.split('&');
        var ___iterator_;
        for (___iterator_ = 0; ___iterator_ < __arrparas.length; ++___iterator_)
        {
            var urlparacomp = __arrparas[___iterator_].split('=');
            if (urlparacomp[0] == __key){
                continue;
            }else{
                if (urlparacomp[1]){
                    __newurl = AppendUrlParameter(urlparacomp[0], urlparacomp[1], __newurl);
                }else{
                    __newurl = AppendUrlParameter(urlparacomp[0], '', __newurl);
                }
            }
        }
    }
    return __newurl;
}
//从任意值获得一个int结果
function GetIntValue(vlu){
    var rtnforthiskey = parseInt(vlu);
    if (isNaN(rtnforthiskey)){
        rtnforthiskey = 0;
    }
    return rtnforthiskey;
}