﻿/*-----------------------------------------------------------------
 * 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 + "/AjaxObjectPage/CarTypePage.aspx";
    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 + "/AjaxObjectPage/CarTypePage.aspx";
        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 + "/AjaxObjectPage/CarTypePage.aspx";
        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 = '';
    }
    $(__carselect).fireEvent('onchange');
}
/*-------------------------------------------------------------------------------------------------
 *城市选择控件
 *-----------------------------------------------------------------------------------------------*/
var __provinceselect;
var __cityselect;
function CitySelector(provincesel, citysel)
{
 
    __provinceselect = provincesel;
    __cityselect = citysel;
    this.GetProvinceId = function() { return document.getElementById(__provinceselect).value};
    this.GetCityId = function() { return document.getElementById(__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 + "/AjaxObjectPage/CityObjectPage.aspx";
    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(document.getElementById(__provinceselect));
    __AddOneOption(document.getElementById(__provinceselect), '选择省份', '0');
    __AddOptionToSelectFromBaseArray(document.getElementById(__provinceselect), val);
    __AddOneOption(document.getElementById(__cityselect),"选择城市","0");
    if (window.attachEvent)
    {
        document.getElementById(__provinceselect).attachEvent("onchange",
            function(){
                __Init__City__Select()
            }
        );
    }
    else
    {
        document.getElementById(__provinceselect).addEventListener("change",
            function(){
                __Init__City__Select()
            },
            false);
    }
    if (GetIntValue(___ProvinceSelectValue) > 0){
        document.getElementById(__provinceselect).value = GetIntValue(___ProvinceSelectValue);
        ___ProvinceSelectValue = '';
        __Init__City__Select();
    }
}
function __Init__City__Select(){
    var provdId = document.getElementById(__provinceselect).value;
    
    if(provdId > 0)
    {
        var url = __ajaxdomain + "/AjaxObjectPage/CityObjectPage.aspx";
        var pars = "ProvinceId=" + provdId;
        var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete: __Init__City__Select__Complete});
    }
    else
    {
       __ClearSelect(document.getElementById(__cityselect));
       __AddOneOption(document.getElementById(__cityselect),"选择城市","0");
    }
}
function __Init__City__Select__Complete(result){
    var val = result.responseText.split(',');
    __ClearSelect(document.getElementById(__cityselect));
    __AddOneOption(document.getElementById(__cityselect), '选择城市', '0');
    __AddOptionToSelectFromBaseArray(document.getElementById(__cityselect), val);
    if (GetIntValue(___CitySelectValue) > 0){
        document.getElementById(__cityselect).value = GetIntValue(___CitySelectValue);
        ___CitySelectValue = '';
    }
    document.getElementById(__cityselect).fireEvent('onchange');
}
/*-------------------------------------------------------------------------------------------------
 * 公共部分
 *-----------------------------------------------------------------------------------------------*/
 //清空一个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 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]){
                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;
}
//获取绝对left坐标
function GetX(e){
    var l = e.offsetLeft;
    while (e = e.offsetParent){
        l += e.offsetLeft;
    }
    return l;
}
//获取绝对top坐标
function GetY(e){
    var t = e.offsetTop;
    while (e = e.offsetParent){
        t += e.offsetTop;
    }
    return t;
}
//String类的len方法，返回中文为2，应为为1
String.prototype.len=function(){ 
              return this.replace(/[^\x00-\xff]/g,"**").length; 
}

function ShowTheCoverLayer(){
	var temp_h1 = document.body.clientHeight;
    var temp_h2 = document.documentElement.clientHeight;
    var isXhtml = (temp_h2<=temp_h1&&temp_h2!=0)?true:false; 
    var htmlbody = isXhtml?document.documentElement:document.body;
    if (!document.getElementById('ifmForMainBody')){
	    var ifm = document.createElement('iframe');
	    ifm.id = 'ifmForMainBody';
	    ifm.height = document.body.scrollHeight;
	    ifm.width = '100%';
	    ifm.onfocus = 'closethelayer();';
	    ifm.border = '0';
	    ifm.allowTransparency="true";
	    ifm.marginwidth="0";
	    ifm.marginheight="0";
	    ifm.frameBoder = 'no';
	    ifm.scrolling = 'no';
	    ifm.style.position = 'absolute';
	    ifm.style.backgroundColor='#dddddd';
	    ifm.style.top = '0px';
	    ifm.style.left = '0px';
	    ifm.style.borderStyle = 'none';
	    ifm.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=50)';
	    ifm.style.MozOpacity='0.5';
	    ifm.style.zIndex='70';
        document.body.appendChild(ifm);
    }
    $('ifmForMainBody').style.display='block';
	htmlbody.style.overflow='hidden';
}
function CloseTheCoverLayer(){
    if ($('ifmForMainBody')){
	    $('ifmForMainBody').style.display='none';
	    document.body.removeChild($('ifmForMainBody'));
	}
	var temp_h1 = document.body.clientHeight;
    var temp_h2 = document.documentElement.clientHeight;
    var isXhtml = (temp_h2<=temp_h1&&temp_h2!=0)?true:false; 
    var htmlbody = isXhtml?document.documentElement:document.body;
	htmlbody.style.overflow='auto';
}
