﻿//******************************************//
//             全局公共函数及成员           //
//******************************************//

//当前路径
var ApplicationPath = '';
//获取当前文档指定ID的HTML控件
function GetControl(id)
{
    return document.getElementById(id);
}

//替换字符串
function ReplaceString(s, oldStr, newStr)
{
    while(s.indexOf(oldStr) >= 0)
    {
        s = s.replace(oldStr, newStr);
    }
    return s;
}

//映射目标路径
function MapPath(path)
{
    var val = ApplicationPath + path;
    return val;
}

//判断一个值是否在一个数组里
function Contains(ary, val)
{
    var i;
    for(i = 0; i < ary.length; i++)
    {
        if(ary[i] == val)
        {
            return true;
        }
    }
    
    return false;
}

//******************************************//
//              控制地区                //
//******************************************//
//地区Div名称
var AreaLayerDivName = 'divAreaLayer';
//地区Layer表格名称
var AreaLayerTableName = 'tableAreaLayer';
//已选择地区表格名称
var SelectedAreaLayerTableName = 'tableSelectedAreaLayer';
//地区底层表格名称
var AreaBottomTable = 'tableAreaBottomTable';
//地区底层Iframe名称
var AreaLayerIframeName = 'ifrmArea';
//地区Layer表格列数
var AreaLayerTableColumnCount = 3;
//地区选择数量限制
var SelectedAreaLimit = 5;
//地区ID字符串存储隐藏TextBox
var SelectedAreaIDsInputID;
//地区Div是否已经初始化
var AreaIsInit = false;
//所选地区DivID
var SelectedAreaDivID = 'divSelectedArea';
//地区大类下拉框ID
var ParentAreaSelectorID = 'selParentArea';
//地区大类CheckBox的ID
var ParentAreaCheckBoxID = 'chkParentArea';
//包含地区大类CheckBox的Div的ID
var ParentAreaCheckBoxDivID = 'divCheckParentArea';
//显示地区最大数量Span的ID
var AreaMaxCountSpanID = 'spAreaMaxCount';
//已选地区临时存储数组
var TempSelectedAreaList = new Array();
//用于保存客户端控件ID的InputID
var AreaClientControlInputID;
//地区是否是单选(0=不是,1=是)
var IsAreaSelectSingle = 0;
//地区最大选择项提示Lable的ID(多选)
var AreaMaxLableID = 'h3AreaMaxLable';
//地区最大选择项提示Lable的ID(单选)
var AreaMaxLableSingleID = 'h3AreaMaxLableSingle';

//初始化临时保存AreaID数组
function InitTempSelectedAreaList()
{
    TempSelectedAreaList = new Array();
    var selectedIDs = GetControl(SelectedAreaIDsInputID).value.split(',');
    var i;
    for(i = 0; i < selectedIDs.length; i++)
    {
        if( selectedIDs[i] != '')
        {
            AddTempSelectedAreaList(selectedIDs[i]);
        }
    }
}

//插入临时地区数组
function AddTempSelectedAreaList(id)
{
    //确认临时数组内没有要插入的ID
    var i;
    var flag = false;
    for(i = 0; i < TempSelectedAreaList.length; i++)
    {
        if(TempSelectedAreaList[i] == id)
        {
            flag = true;
            break;
        }
    }
    
    if(flag == false)
    {
        TempSelectedAreaList[TempSelectedAreaList.length] = id;
    }
}

//从临时地区数组删除目标ID
function RemoveTempSelectedAreaList(id)
{
    var list = new Array();
    var i;
    var n = 0;
    for(i = 0; i<TempSelectedAreaList.length; i++)
    {
        if(TempSelectedAreaList[i] != id)
        {
            list[n] = TempSelectedAreaList[i];
            n++;
        }
    }
    
    TempSelectedAreaList = list;
}

//获取所选择的地区ID数组
function GetSelectedAreaIDs()
{
    return TempSelectedAreaList;
}

//从CheckBox组刷新地区选择
function RefreshSelectedArea()
{
    //刷新已选择的ID字符串TextBox
    var i;
    var tbIds = GetControl(SelectedAreaIDsInputID);
    tbIds.value = '';
    
    var ids = GetSelectedAreaIDs();
    for(i = 0; i < ids.length; i++)
    {
        tbIds.value += ids[i];
        if( i < ids.length - 1 )
        {
            tbIds.value += ',';
        }
    }
}

//根据所选地区ID数组刷新,所选地区列表
function RefreshAreaSelectedDiv(innerHtml)
{
    var OccDiv = GetControl(SelectedAreaDivID);
    OccDiv.innerHTML = innerHtml;
}

//删除地区
function DeleleArea(selDivID, ClientControlInputID)
{
    RecoverAreaClientControlID(ClientControlInputID);

    //删除所选项
    var divId = selDivID;
    var divSelected = GetControl(divId);
    var OccDiv = divSelected.parentNode;
    
    OccDiv.removeChild(divSelected);
    
    InitTempSelectedAreaList();
    var id = selDivID.split('_')[2];
    RemoveTempSelectedAreaList(id);
    
    //刷新Hidden
    RefreshSelectedArea()
}

//恢复客户端控件ID
function RecoverAreaClientControlID(ClientControlInputID)
{
    var clientID = GetControl(ClientControlInputID);
    var ids = clientID.value.split(',');
    
    SelectedAreaIDsInputID = ids[0];
    SelectedAreaDivID = ids[1];
    SelectedAreaLimit = ids[2];
    IsAreaSelectSingle = ids[3];
    
    if(GetControl(SelectedAreaIDsInputID).value != '')
    {
        TempSelectedAreaList = GetControl(SelectedAreaIDsInputID).value.split(',');
    }
    else
    {
        TempSelectedAreaList = new Array();
    }
}

//保存客户端控件ID
function SaveAreaClientControlID(ClientControlInputID)
{
    var clientID = GetControl(ClientControlInputID);
    clientID.value = '';
    clientID.value += SelectedAreaIDsInputID;
    clientID.value += ',';
    clientID.value += SelectedAreaDivID;
    clientID.value += ',';
    clientID.value += SelectedAreaLimit;
    clientID.value += ',';
    clientID.value += IsAreaSelectSingle;
}

//从客户端调用获取所选地区
function GetAreaIDs(layerID)
{
    var clientInputID = layerID + '_tbSelectedArea';
    clientInputID = ReplaceString(clientInputID, '$', '_');
    var input = GetControl(clientInputID);
    return input.value;
}

//打开地区探出层窗体
function OpenAreaLayerWindow(isSingle, maxSelect, showUnlimited, clientInputID)
{
    RecoverAreaClientControlID(clientInputID);

    var url = MapPath('/fzhelp/area/selectarea.htm?isSingle=' + isSingle + '&maxSelect=' + maxSelect +
              '&clientInputID=' + clientInputID);
              
    var result = window.showModalDialog(url, GetSelectedAreaIDs(), 
                'height=200,width=400,status=no,toolbar=no,menubar=no,location=no,scroll=no,center=yes');
                
    if(result != null && result != '')
    {
        var resultArray = result.split('|');
        var html = resultArray[0];
        var ids = resultArray[1];
        TempSelectedAreaList = ids.split(',');

        RefreshSelectedArea();
        RefreshAreaSelectedDiv(html);
    }
}
function hxpreffresCity(idsddf,clientInputID)
{
	 RecoverAreaClientControlID(clientInputID);

	 TempSelectedAreaList = idsddf.split(',');

	var html=RefreshAreaSelectedDiv2(TempSelectedAreaList,clientInputID);
         RefreshSelectedArea();
        RefreshAreaSelectedDiv(html);
}
function RefreshAreaSelectedDiv2(ids,ClientControlInputID)
{var OccDiv=document.createElement("DIV");OccDiv.innerHTML='';
var stateIDs=ClientControlInputID.split('$');
var layerID=stateIDs[stateIDs.length-2];
if(ids.length<=0){return'';}
if(ids.length==1&&ids[0]==''){return'';}
for(i=0;i<ids.length;i++)
{
	InitAreaFullList();
	var index=GetAreaIdIndexFromFullList(ids[i]);var name=GetAreaNameFromFullList(index);
	var divItem=document.createElement("DIV");divItem.className='makelist_content';divItem.id=layerID+'_divSelAreaItem_'+ids[i];var divName=document.createElement("span");divName.className='list_contain';
if(name.length >21) {name=name.substring(0,17) + "…";}
divName.innerHTML = name;var divDelete=document.createElement("span");divDelete.className='delete_button';var deleteImagePath=MapPath('images/icon_delete.gif');divDelete.innerHTML="<img src=\""+deleteImagePath+"\" alt=\"删除\" onclick=\"DeleleArea('"+divItem.id+"', '"+ClientControlInputID+"')\" />";
divItem.appendChild(divName);divItem.appendChild(divDelete);OccDiv.appendChild(divItem);
}
return OccDiv.innerHTML;
}