﻿//******************************************//
//             全局公共函数及成员           //
//******************************************//

//当前路径
var ApplicationPath = '';
//获取当前文档指定ID的HTML控件
function GetControl(id)
{
    return document.getElementById(id);
}

//获取当前页面父页面的Control
function GetParentControl(id)
{
    return window.opener.document.getElementById(id);
}

//创建CheckBox的HTML(或RadioButton)
function BuildCheckBoxHTML(id, val, txt, clickHandle, chkStatus, isRadio, groupName)
{
    var html = '';
    
    if(isRadio != null && isRadio == true)
    {
        html = "<input id='"+ id + "' type='radio' value='"+ val +
        "' onclick=\""+ clickHandle + "\" name='" + groupName + "'";
        if( chkStatus == true )
        {
            html += ' checked ';
        }
        html += " />" + txt;
    }
    else
    {
        html = "<input id='"+ id + "'  type='checkbox' value='"+ val + 
        "' onclick=\""+ clickHandle + "\"";
        if( chkStatus == true )
        {
            html += ' checked ';
        }
        html += " />" + txt;
    }
    return html;
}

//替换字符串
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 CategoryLayerDivName = 'divCategoryLayer';
//职位类别Layer表格名称
var CategoryLayerTableName = 'tableCategoryLayer';
//已选择职位类别表格名称
var SelectedCategoryLayerTableName = 'tableSelectedCategoryLayer';
//职位类别底层表格名称
var CategoryBottomTable = 'tableCategoryBottomTable';
//职位类别底层Iframe名称
var CategoryLayerIframeName = 'ifrmCategory';
//职位类别Layer表格列数
var CategoryLayerTableColumnCount = 3;
//职位类别选择数量限制
var SelectedCategoryLimit = 5;
//职位类别ID字符串存储隐藏TextBox
var SelectedCategoryIDsInputID;
//职位类别Div是否已经初始化
var CategoryIsInit = false;
//所选职位类别DivID
var SelectedCategoryDivID = 'divSelectedCategory';
//职位类别大类下拉框ID
var ParentCategorySelectorID = 'selParentCategory';
//职位类别大类CheckBox的ID
var ParentCategoryCheckBoxID = 'chkParentCategory';
//包含职位类别大类CheckBox的Div的ID
var ParentCategoryCheckBoxDivID = 'divCheckParentCategory';
//显示职位类别最大数量Span的ID
var CategoryMaxCountSpanID = 'spCategoryMaxCount';
//用于保存客户端控件ID的InputID
var CategoryClientControlInputID;
//已选职位类别临时存储数组
var TempSelectedCategoryList = new Array();
//职位类别是否单选(0=否,1=是)
var IsCategorySelectSingle = 0;
//职位类别最大选择项提示Lable的ID(多选)
var CategoryMaxLableID = 'h3CategoryMaxLable';
//职位类别最大选择项提示Lable的ID(单选)
var CategoryMaxLableSingleID = 'h3CategoryMaxLableSingle';
//职位类别代码类型(0="新版本",1="老版本",2="新老混合版本")
var CategoryDataVersion = 0;

//初始化临时保存CategoryID数组
function InitTempSelectedCategoryList()
{
    TempSelectedCategoryList = new Array();
    var selectedIDs = GetControl(SelectedCategoryIDsInputID).value.split(',');
    var i;
    for(i = 0; i < selectedIDs.length; i++)
    {
        if( selectedIDs[i] != '')
        {
            AddTempSelectedCategoryList(selectedIDs[i]);
        }
    }
}

//插入临时职位类别数组
function AddTempSelectedCategoryList(id)
{
    //确认临时数组内没有要插入的ID
    var i;
    var flag = false;
    for(i = 0; i < TempSelectedCategoryList.length; i++)
    {
        if(TempSelectedCategoryList[i] == id)
        {
            flag = true;
            break;
        }
    }
    
    if(flag == false)
    {
        TempSelectedCategoryList[TempSelectedCategoryList.length] = id;
    }
}

//从临时职位类别数组删除目标ID
function RemoveTempSelectedCategoryList(id)
{
    var list = new Array();
    var i;
    var n = 0;
    for(i = 0; i<TempSelectedCategoryList.length; i++)
    {
        if(TempSelectedCategoryList[i] != id)
        {
            list[n] = TempSelectedCategoryList[i];
            n++;
        }
    }
    
    TempSelectedCategoryList = list;
}

//获取所选择的职位类别ID数组
function GetSelectedCategoryIDs()
{
    return TempSelectedCategoryList;
}

//根据所选职业类别ID数组刷新,所选职业类别列表
function RefreshCategorySelectedDiv(html)
{
    var OccDiv = GetControl(SelectedCategoryDivID);
    OccDiv.innerHTML = html;
}

//删除职业类别
function DeleteCategory(selDivID)
{
    //删除所选项
    var divId = selDivID;
    var divSelected = GetControl(divId);
    var OccDiv = divSelected.parentNode;
    
    OccDiv.removeChild(divSelected);
    
    InitTempSelectedCategoryList();
    var id = selDivID.split('_')[1];
    RemoveTempSelectedCategoryList(id);
    
    //刷新Hidden
    RefreshSelectedCategory()
}


//从CheckBox组刷新行业选择
function RefreshSelectedCategory()
{
    //刷新已选择的ID字符串TextBox
    var i;
    var tbIds = GetControl(SelectedCategoryIDsInputID);
    tbIds.value = '';
    
    var ids = GetSelectedCategoryIDs();

    for(i = 0; i < ids.length; i++)
    {
        tbIds.value += ids[i];
        if( i < ids.length - 1 )
        {
            tbIds.value += ',';
        }
    }
}

//刷新底层挡控件的IFrame位置
function RefreshCategoryBottomIFrame()
{
    var ifrm = GetControl(CategoryLayerIframeName);
    ifrm.src = MapPath('Modules/Resume55/Layer/LayerBack.htm');
    ifrm.height = GetControl(CategoryBottomTable).offsetHeight - 0;
    ifrm.top = 0;
}

//删除某个职业类别
function DeleleCategory(selDivID, ClientControlInputID)
{
    RecoverCategoryClientControlID(ClientControlInputID);
    
    //删除所选项
    var divId = selDivID;
    var divSelected = GetControl(divId);
    var OccDiv = divSelected.parentNode;
    
    OccDiv.removeChild(divSelected);
    
    InitTempSelectedCategoryList();
    var id = selDivID.split('_')[2];
    RemoveTempSelectedCategoryList(id);
    
    //刷新Hidden
    RefreshSelectedCategory();
}

//恢复客户端控件ID
function RecoverCategoryClientControlID(ClientControlInputID)
{
    var clientID = GetControl(ClientControlInputID);
    var ids = clientID.value.split(',');
    
    SelectedCategoryIDsInputID = ids[0];
    SelectedCategoryDivID = ids[1];
    SelectedCategoryLimit = ids[2];
    IsCategorySelectSingle = ids[3];
    CategoryDataVersion = ids[4];
    
    if(GetControl(SelectedCategoryIDsInputID).value != '')
    {
        TempSelectedCategoryList = GetControl(SelectedCategoryIDsInputID).value.split(',');
    }
    else
    {
        TempSelectedCategoryList = new Array();
    }
}

//保存客户端控件ID
function SaveCategoryClientControlID(ClientControlInputID)
{
    var clientID = GetControl(ClientControlInputID);
    clientID.value = '';
    clientID.value += SelectedCategoryIDsInputID;
    clientID.value += ',';
    clientID.value += SelectedCategoryDivID;
    clientID.value += ',';
    clientID.value += SelectedCategoryLimit;
    clientID.value += ',';
    clientID.value += IsCategorySelectSingle;
    clientID.value += ',';
    clientID.value += CategoryDataVersion;
}

//从客户端调用获取所选职位类别
function GetCategoryIDs(layerID)
{
    //恢复客户端状态
    var clientControlInputID = layerID + '_tbClientControlID';
    clientControlInputID = ReplaceString(clientControlInputID, '$', '_');
    RecoverCategoryClientControlID(clientControlInputID);

    var clientInputID = layerID + '_tbSelectedCategory';
    clientInputID = ReplaceString(clientInputID, '$', '_');
    var input = GetControl(clientInputID);
    
    if(input.value == '')
    {
        return '0';
    }
    else
    {
        return input.value;
    }
}

//打开职业类别弹出窗口
function OpenCategoryLayerWindow(isSingle, maxSelect, clientInputID, dataVersion)
{
    RecoverCategoryClientControlID(clientInputID);
    
    var url = MapPath('/fzhelp/zw/selectzw.htm?isSingle=' + isSingle + '&maxSelect=' + maxSelect +
              '&clientInputID=' + clientInputID + '&ver=' + dataVersion);
    var result = window.showModalDialog(url, GetSelectedCategoryIDs(), 
                '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];
        TempSelectedCategoryList = ids.split(',');

        RefreshSelectedCategory();
        RefreshCategorySelectedDiv(html);
    }
}
function hxpreffresCategory(idsddf,clientInputID)
{
	 RecoverCategoryClientControlID(clientInputID);

	 TempSelectedCategoryList = idsddf.split(',');
	var html=RefreshCategorySelectedDiv2(TempSelectedCategoryList,clientInputID);
        RefreshSelectedCategory();
        RefreshCategorySelectedDiv(html);
}

function RefreshCategorySelectedDiv2(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++){var index=GetCategoryIdIndexFromFullList(ids[i],CategoryDataVersion);var name=GetCategoryNameFromFullList(index,CategoryDataVersion);var divItem=document.createElement("DIV");divItem.className='makelist_content';divItem.id=layerID+'_divSelCategoryItem_'+ids[i];var divName=document.createElement("span");divName.className='list_contain';if(name.length >180) {name=name.substring(0,21) + "…";}divName.innerHTML = name;var divDelete=document.createElement("span");divDelete.className='delete_button';var deleteImagePath='images/icon_delete.gif';divDelete.innerHTML="<img src=\""+deleteImagePath+"\" alt=\"删除\" onclick=\"DeleleCategory('"+divItem.id+"','"+ClientControlInputID+"')\" />";divItem.appendChild(divName);divItem.appendChild(divDelete);OccDiv.appendChild(divItem);}return OccDiv.innerHTML;}