﻿// JScript 文件
var MaxAreaCount = 0;
var IsSingleSelect="";
function ShowAreaDialog(ObjIDsID,ObjTextsID,isResume,isSingleSelect)
{
    var ObjIDs = $(ObjIDsID);
    var ObjTexts = $(ObjTextsID);
    IsSingleSelect=isSingleSelect
    //记录保存选择ID列表的控件名称
    ResultSelsStr = ObjIDs.value + ",";
    MaxAreaCount = parseInt($("HidMaxCountArea").value);
    
    //定制标题
    var CaptionStr = "请选择您想选择的地区";
    if (MaxAreaCount > 0)
    {
        CaptionStr += "(最多选择" + MaxAreaCount + "项)";  
    } 
    
    var IDStr = "DlgArea";   
    var ContentStr = "";
     
    //定制大类选择区域
    var ParSelDiv = document.createElement("div");
    ParSelDiv.className = "selectblk";
    
    var SelParArea = document.createElement("select");
    SelParArea.id = "SelParArea";
    SelParArea.setAttribute("onchange","SelectedChangedArea(this);");
    
    //默认选择全国
    var InitAreaID = "00";
    if (ObjIDs.value.length>0)
    {
        //如果已经选择城市，则取第一个选择城市的省份ID
        InitAreaID = ObjIDs.value.substr(0,2);
    }
    
    //根据初始ID初始化省份下拉列表
    InitParArea(SelParArea, InitAreaID);
    
    ParSelDiv.appendChild(SelParArea);    
    ContentStr += ParSelDiv.outerHTML;
        
    //定制小类选择区域
    var ChdSelDiv = document.createElement("div");
    ChdSelDiv.className = "listblk bx";
    
    var ChdSelTbl = document.createElement("table");
    ChdSelTbl.id = "TblChildArea";
    
    CreateCheckBoxList(ChdSelTbl,"Area",InitAreaID,ResultSelsStr,"CheckChangeArea",3)
    
    ChdSelDiv.appendChild(ChdSelTbl);
    ContentStr += ChdSelDiv.outerHTML;
    
    //定制已经选择区域
    var SelDiv = document.createElement("div");
    SelDiv.className = "layer_jg";
    
    var SelTbl = document.createElement("table");
    SelTbl.id = "TblSelArea";
    
    CreateSelCheckBoxList(SelTbl,"Area",ResultSelsStr,"CheckChangeArea",3);
    
    SelDiv.appendChild(SelTbl);
    
    ContentStr += "<h4 style=\" font-size:12px\">您已经选择的地区是：<a href=\"####\" onclick=\"ClearSelectedItems('Area')\">清空所有选项</a></h4>"
    ContentStr += SelDiv.outerHTML;
    
    //定制按钮区域
    var BtnDiv = document.createElement("div");
    BtnDiv.className = "regtj";
    var BtnOK = document.createElement("input");
    BtnOK.id = "BtnAreaOK";
    BtnOK.type = "button";
    BtnOK.value = "确定";
    BtnOK.setAttribute("onclick", "SaveSels('Area',ResultSelsStr,$('" + ObjIDs.id + "'),$('" + ObjTexts.id + "'),'"+IsSingleSelect+"');CloseDialog('" + IDStr + "');");
    
    var BtnCancel = document.createElement("input");
    BtnCancel.id = "BtnAreaCancel";
    BtnCancel.type = "button";
    BtnCancel.value = "取消";
    BtnCancel.setAttribute("onclick", "CloseDialog('" + IDStr + "');");
    BtnDiv.appendChild(BtnOK);
    BtnDiv.appendChild(BtnCancel);    
    ContentStr += BtnDiv.outerHTML;    
    //显示对话框
    ShowDialog(IDStr, CaptionStr, ContentStr,"700", "400" , true, true,isResume);
    
    
}

//初始化省份资源    
function InitParArea(SelParArea, InitAreaID)    
{  
    j = SelParArea.options.length;    
    
    while( j-- )    
    {    
	    SelParArea.options[j] = null;    
    }
        
    var aryIDs = GetAreaParentIDs();    
    var aryNames = GetAreaParentNames(); 
       
    for( i=0 ; i<aryIDs.length ; i++ )    
    {    
	    var optionArea = new Option(aryNames[i],aryIDs[i]);
	    	    
	    SelParArea.options.add(optionArea);
	    
	    if (aryIDs[i]==InitAreaID)
	    {
	        optionArea.setAttribute("selected","selected");
	    } 
    }    
}

//省份选择变化
function SelectedChangedArea(SelParArea)
{

    //获取当前省份ID
    var InitAreaID = SelParArea.options[SelParArea.selectedIndex].value;
    
    //获取小类选择Table
    var ChdSelTbl = $("TblChildArea");
    
    CreateCheckBoxList(ChdSelTbl,"Area",InitAreaID,ResultSelsStr,"CheckChangeArea",3);
}

//城市选择变化
function CheckChangeArea(obj,ChkID)
{        
    if (obj.checked)
    {
        if (MaxAreaCount > 0)
        {
            //判断是否超过5项       
            if (GetSelsCount(ResultSelsStr) >= MaxAreaCount)
            {
                alert("对不起，您的选项已经到了" + MaxAreaCount + "项。请减少已选项，再继续选择。");
                obj.checked = false;
                return;
            }
        }
    }
    
    
    if (obj.checked)
    {
        if (ChkID.length <= 2 )
        {
            if(ChkID=="00")
            {
                ResultSelsStr="";
            }
            else
            {
                //增加父项，则需要删除对应的子项
                ResultSelsStr = RemoveAllChd(ResultSelsStr, ChkID);
            }          
        }
        
        //增加选项
        if(IsSingleSelect=="False")  //孙德强100125修改
        {
        ResultSelsStr += ChkID + ",";
        }
        else
        {
         ResultSelsStr = ChkID ;
        }
    }
    else
    {
        //删除选项
        ResultSelsStr = RemoveChd(ResultSelsStr, ChkID);
    }

    //更新小类选择Table
    var ChdSelTbl = $("TblChildArea");
    var SelParArea = $("SelParArea");
    var InitAreaID = SelParArea.options[SelParArea.selectedIndex].value;
    //if (ChkID == InitAreaID)
    {    
        CreateCheckBoxList(ChdSelTbl,"Area",InitAreaID,ResultSelsStr,"CheckChangeArea",3);

    }
    
    //重新生成选择列表框
    CreateSelCheckBoxList($("TblSelArea"),"Area",ResultSelsStr,"CheckChangeArea",3)

}


 
function GetAreaParentIDs()    
{    
    return new Array( '00','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40','41','42','43','44','45' );   
}

function GetAreaParentNames()   
{   
    return new Array('不限','北京','上海','天津','重庆','山东省','河北省','山西省','内蒙古自治区','辽宁省','吉林省','黑龙江省','江苏省','浙江省','安徽省','福建省','江西省','河南省','湖北省','湖南省','广东省','广西省','四川省','贵州省','云南省','西藏自治区','陕西省','甘肃省','青海省','宁夏自治区','新疆自治区','海南省','香港特区','台湾省','澳门特区','国外');   
}

function getAreaIDs(idx)   
{   
    switch(idx)   
    {   
		    case '00':return new Array('00','11','12','13','14','1501','1502','1901','1902','2001','21','2201','2202','2301','24','25','2701','2801','2901','3001','3002','3003','3201','3601','41','2304');
		    case '11':return new Array('11');
		    case '12':return new Array('12');
		    case '13':return new Array('13');
		    case '14':return new Array('14');
		    case '15':return new Array('15','1501','1502','1503','1504','1505','1506','1507','1508','1509','1510','1511','1512','1513','1514','1515','1516','1517');	   
		    case '16':return new Array('16','1601','1602','1603','1604','1605','1606','1607','1608','1609','1610','1611');
		    case '17':return new Array('17','1701','1702','1703','1704','1705','1706','1707','1708','1709','1710');
            case '18':return new Array('18','1801','1802','1803','1804','1805','1806','1807','1808','1809','1810');
            case '19':return new Array('19','1901','1902','1903','1904','1905','1906','1907','1908','1909','1910','1911','1912','1913');
            case '20':return new Array('20','2001','2002','2003','2004','2005','2006','2007','2008','2009','2010','2011');
            case '21':return new Array('21','2101','2102','2103','2104','2105','2106','2107','2108','2109','2110');
            case '22':return new Array('22','2201','2202','2203','2204','2205','2206','2207','2208','2209','2210','2211','2212','2213','2214','2215');
            case '23':return new Array('23','2301','2302','2303','2304','2305','2306','2307','2308','2309','2310','2311','2312');
            case '24':return new Array('24','2401','2402','2403','2404','2405','2406','2407','2408','2409','2410','2410','2411','2412','2413','2414');
            case '25':return new Array('25','2501','2502','2503','2504','2505','2506','2507','2508','2509');
            case '26':return new Array('26','2601','2602','2603','2604','2605','2606','2607','2608','2609','2610');
            case '27':return new Array('27','2701','2702','2703','2704','2705','2706','2707','2708','2709','2710','2711','2712','2713','2714','2715','2716','2717');
            case '28':return new Array('28','2801','2802','2803','2804','2805','2806','2807','2808','2809','2810','2811','2812');
            case '29':return new Array('29','2901','2902','2903','2904','2905','2906','2907','2908','2909','2910','2911','2912','2913','2914');
            case '30':return new Array('30','3001','3002','3003','3004','3005','3006','3007','3008','3009','3010','3011','3012','3013','3014','3015');
            case '31':return new Array('31','3101','3102','3103','3104','3105','3106','3107','3108','3109');
            case '32':return new Array('32','3201','3202','3203','3204','3205','3206','3207','3208','3209','3210','3211','3212','3213','3214','3215','3216','3217','3218','3219');
            case '33':return new Array('33','3301','3302','3303','3304','3305','3306','3307','3308','3309');
            case '34':return new Array('34','3401','3402','3403','3404','3405','3406','3407','3408','3409','3410');
            case '35':return new Array('35','3501');
            case '36':return new Array('36','3601','3602','3603','3604','3605','3606','3607','3608','3609','3610');
            case '37':return new Array('37','3701','3702','3703','3704','3705','3706','3707','3708','3709','3710','3711','3712','3713','3714');
            case '38':return new Array('38','3801','3802','3803','3804','3805','3806','3807');
            case '39':return new Array('39','3901','3902','3903','3904','3905');
            case '40':return new Array('40','4001','4002','4003','4004','4005','4006','4007','4008','4009','4010');
            case '41':return new Array('41','4101','4102','4103','4104','4105','4106','4107','4108','4109');
            case '42':return new Array('42');
            case '43':return new Array('43');
            case '44':return new Array('44');
            case '45':return new Array('45','4501','4502','4503','4504','4505','4506','4507','4508','4509','4510','4511','4512','4513','4514','4515','4516','4517','4518','4519','4520','4521','4522','4533','4524');
            default:return new Array();
    }
}

function getAreaNames(idx)
{
    switch(idx)
    {
	    case '00':return new Array('不限','北京市','上海市','天津市','重庆市','济南市','青岛市','沈阳市','大连市','长春市','黑龙江','南京市','苏州市','杭州市','安徽省','福建省','郑州市','武汉市','长沙市','深圳市','广州市','东莞市','成都市','西安市','海南省','宁波市');
		    case '11':return new Array('北京');   
		    case '12':return new Array('上海');   
		    case '13':return new Array('天津');   
		    case '14':return new Array('重庆');
		    case '15':return new Array('山东省','济南','青岛','淄博','德州','烟台','潍坊','济宁','泰安','临沂','荷泽','威海','日照','东营','莱芜','滨州','聊城','枣庄');
		    case '16':return new Array('河北省','石家庄市','保定市','承德市','唐山市','廊坊市','沧州市','衡水市','邢台市','邯郸市','秦皇岛市','张家口市');
		    case '17':return new Array('山西省','太原市','大同市','阳泉市','榆次市','长治市','晋城市','临汾市','离石市','运城市','忻州市');
            case '18':return new Array('内蒙古自治区','呼和浩特市','包头市','乌海市','集宁市','通辽市','赤峰市','东胜市','临河市','锡林浩特市','海拉尔布市');
            case '19':return new Array('辽宁省','沈阳市','大连市','瓦房店市','鞍山市','抚顺市','本溪市','丹东市','锦州市','营口市','阜新市','辽阳市','铁岭市','葫芦岛');
            case '20':return new Array('吉林省','长春市','吉林市','延吉市','四平市','通化市','白城市','辽源市','南敦市','浑江市','梅河口市','松原市');
		    case '21':return new Array('黑龙江省','哈尔滨市','齐齐哈尔市','牡丹江市','佳木斯市','绥化市','黑河市','加格达奇市','伊春市','大庆市','阿城市');
            case '22':return new Array('江苏省','南京市','苏州市','常州市','无锡市','镇江市','南通市','扬州市','盐城市','徐州市','淮阴市','连云港市','常熟市','张家港市','昆山','太仓');
            case '23':return new Array('浙江省','杭州市','湖州市','嘉兴市','宁波市','绍兴市','临海市','温州市','丽水市','金华市','衢州市','台州','舟山');
            case '24':return new Array('安徽省','合肥市','蚌埠市','芜湖市','马鞍山市','安庆市','宿县市','阜阳市','黄山市','滁洲市','淮北市','铜陵市','宣城市','六安市','巢湖市');
            case '25':return new Array('福建省','福州市','厦门市','宁德市','莆田市','泉州市','漳州市','龙岩市','三明市','南平市');
            case '26':return new Array('江西省','南昌市','九江市','上饶市','陵川市','宜春市','吉安市','赣州市','景德镇市','萍乡市','分宜市');
            case '27':return new Array('河南省','郑州市','安阳市','新乡市','许昌市','平顶山市','信阳市','开封市','洛阳市','商丘市','焦作市','鹤壁市','濮阳市','周口市','漯河市','驻马店市','三门峡市','南阳市');     
            case '28':return new Array('湖北省','武汉市','鄂州市','孝感市','黄冈市','黄石市','咸宁市','沙市市','宜昌市','恩施市','十堰市','襄樊市','荆门市');
            case '29':return new Array('湖南省','长沙市','湘潭市','株洲市','衡阳市','郴州市','常德市','益阳市','娄底市','邵阳市','岳阳市','怀化市','济源市','潜江','荆州');
            case '30':return new Array('广东省','深圳市','广州市','东莞市','中山市','珠海市','汕头市','惠州市','顺德市','番禺市','江门市','佛山市','南海市','汕尾市','肇庆市','湛江市');
            case '31':return new Array('广西省','南宁市','柳州市','桂林市','梧州市','玉林市','钦州市','河池市','北海市','防城市');
            case '32':return new Array('四川省','成都市','攀枝花市','自贡市','永川市','温江市','绵阳市','南充市','达县市','万县市','涪陵市','泸州市','宜宾市','内江市','乐山市','西昌市','雅安市','马尔康市','德阳市','广元市');
            case '33':return new Array('贵州省','贵阳市','遵义市','安顺市','都匀市','凯里市','铜仁市','毕节市','六盘水市','兴义市');
            case '34':return new Array('云南省','昆明市','大理市','个旧市','曲靖市','保山市','文山市','玉溪市','楚雄市','思茅市','昭通市');
            case '35':return new Array('西藏自治区','拉萨市');
            case '36':return new Array('陕西省','西安市','延安市','榆林市','渭南市','商州市','安康市','汉中市','宝鸡市','铜川市','咸阳市');
            case '37':return new Array('甘肃省','兰州市','白银市','敦煌市','合作市','嘉峪关市','金昌市','酒泉市','临夏市','平凉市','天水市','武威市','西峰市','玉门市','张掖市');
            case '38':return new Array('青海省','西宁市','平安市','同仁市','共和市','德令哈市','门源市','格尔木市');
            case '39':return new Array('宁夏自治区','银川市','石嘴山市','吴忠市','固原市','青铜峡市');
            case '40':return new Array('新疆自治区','乌鲁木齐市','奎屯市','石河子市','昌吉市','吐鲁番市','库尔勒市','阿克苏市','喀什市','伊犁市','克拉玛依市');
            case '41':return new Array('海南省','海口市','三亚市','儋县市','文昌市','东方市','万宁市','琼山市','儋州市','通什市');
            case '42':return new Array('香港特区');
            case '43':return new Array('台湾省');
            case '44':return new Array('澳门特区');
            case '45':return new Array('国外','新加坡','美国','日本','澳大利亚','新西兰','德国','英国','法国','爱尔兰','奥地利','波兰','丹麦','意大利','俄罗斯','菲律宾','芬兰','韩国','荷兰','加拿大','南斯拉夫','沙特阿拉伯','西班牙','印度','其他国家')

	        default:return new Array();
    }
}

//根据地区ID获取地区名字
function GetAreaNameByID(AreaID)
{
    var index = 0;
    
    var ParIDs = GetAreaParentIDs();
    var ParNames =GetAreaParentNames();
    
    for(var m=0; m<ParIDs.length; m++)
    {
        if ( AreaID.length <= 2 && AreaID == ParIDs[m] )
        {
            return " "+ParNames[m];
        }
        
        if ( AreaID.length > 2 && AreaID.substr(0,2) == ParIDs[m] )
        {
            var ChdIDs =  getAreaIDs(ParIDs[m]);
            var ChdNames = getAreaNames(ParIDs[m]);
            
            for(var n = 0; n < ChdIDs.length; n++)
            {
                if ( AreaID == ChdIDs[n] )
                {
                    return " "+ChdNames[n];
                }
                
            }
        }
    }
    
    
}
