/**
 * DWR一级联动
 * @param manager 调用的DWR中Manager对象的名称
 * @param method 调用的Manager对象的方法
 * @param selectCtrlId select控件的id
 * @param label entity的名称
 */
function fetch(manager, method, selectCtrlId, label) {
    if (method == "" || method == null)
        method = "getAll"

    if (label == undefined || label == null || label == "")
        label = "chineseName"

    var command = manager + "." + method + "(function(data) {\n" +
                  "     var selectCtrl = document.getElementById('" + selectCtrlId + "');\n" +
                  "     DWRUtil.removeAllOptions('" + selectCtrlId + "');\n" +
                  "     var option = document.createElement('option');\n" +
                  "     option.value = '';\n" +
                  "     option.text = '请选择';\n" +
                  "     selectCtrl.options.add(option)\n" +
                  "     DWRUtil.addOptions('" + selectCtrlId + "', data, 'id', '" + label + "')\n" +
                  "});";
    eval(command);
}
/**
 * DWR二级联动
 * @param manager 调用的DWR中Manager对象的名称
 * @param method 调用的Manager对象的方法
 * @param parentCtrlId 父控件
 * @param childCtrlId  子控件（被填充的控件）
 * @param label  checkbox属性名
 */
function fetchObjects(manager, method, parentCtrlId, childCtrlId, label) {
    var parentCtrl = document.getElementById(parentCtrlId);
    var parentId = parentCtrl.item(parentCtrl.selectedIndex).value;
    if (parentId == null || parentId == "")
        return;
    if (label == undefined || label == null || label == "")
        label = "chineseName"
    var command = manager + "." + method + "(parentId, function(data) {\n" +
                  "DWRUtil.removeAllOptions('" + childCtrlId + "');\n" +
                  "var cityCtrl = $('" + childCtrlId + "')\n" +
                  "var option = document.createElement('option');\n" +
                  "option.value = '';\n" +
                  "option.text = '请选择';\n" +
                  "cityCtrl.options.add(option)\n" +
                  "DWRUtil.addOptions('" + childCtrlId + "', data, 'id', '" + label + "')});";
    eval(command)
}

function fillCities(provinceCtrlId, cityCtrlId) {
    fetchObjects('cityManager', "getByProvinceId", provinceCtrlId, cityCtrlId)
}

function fillPosition(parentCtrlId, childCtrlId) {
    fetchObjects('positionCategoryManager', "getPositionByParentId", parentCtrlId, childCtrlId, "chineseName")
}

function fillUniversity(provinceCtrlId, universityCtrlId) {
    fetchObjects('universityManager', "getUniversitiesByProvinceId", provinceCtrlId, universityCtrlId)
}

function fillSpecialty(topSpecialtyCtrlId, specialtyCtrlId) {
    fetchObjects('specialtyManager', "getSpecialtiesByParentId", topSpecialtyCtrlId, specialtyCtrlId)
}

var selectedDivId = "selectedChildrenDiv";

/**
 * 打开modal模式的悬浮对话框。
 *   <!--DialogDiv-->
 *  <div align="left" id="positionContent">
 *     <!--TitleDiv-->
 *    <div class="hideTitle">
 *        <!--CloseButtonSpan-->
 *        <span style="float: right; padding-right: 5px;">
 *            <!--CloseImageButton-->
 *            <img onclick="closeModalDialog($('positionContent'))" src="/images/hidePageMark_close.jpg"/>
 *        </span>
 *        请选择${title}
 *        <span style="font-size: 12px; font-weight: normal;"/>
 *    </div>
 *    <!--mainDiv-->
 *    <div align="left" class="hideDiv">
 *        <!--selectDiv-->
 *        <div class="showHeight">
 *            <select id="positionContentSelect"
 *                    onchange="generateChildrenContent($('dialog.id'), 'childManager', 'childManagerMethod', 'childManagerDefaultMethod', $('choosedPositionIds'), 'displayName',maxNum);">
 *                <option value="">请选择</option>
 *                <option value="33">java</option>
 *            </select>
 *        </div>
 *        <!--childrenContentDiv-->
 *        <div class="hideCheckBoxCon">
 *            <ul>
 *                <li><input type="checkbox" onclick="selectCheckbox(this,5)" checked="true" value="44"
 *                           name="reward.positionTypes"/>c++
 *                </li>
 *            </ul>
 *        </div>
 *        <!--selectedChildrenTitleDiv-->
 *        <div class="hideChooseTitle"><img src="/images/hidePageMark_01.jpg"/>您已选择的${title}是：    
 *             <img src="/images/hidePageMark_02.jpg"/>
 *            <span onclick="removeAll('positionContentSelectedChildrenDiv')"
 *                  style="font-weight: normal; color: rgb(0, 51, 204);">清空所有选项
 *            </span>
 *        </div>
 *        <!--selectedChildrenDiv-->
 *        <div class="hideChooseCon" id="positionContentSelectedChildrenDiv">
 *            <ul>
 *                <li><input type="checkbox" onclick="unSelectCheckbox(this)" checked="checked" value="44"
 *                           name="selectedCheckbox"/>c++
 *                </li>
 *            </ul>
 *        </div>
 *        <!--paddingDiv-->
 *        <div style="height: 80px;"/>
 *        <!--buttonDiv-->
 *        <div>
 *            <input type="button"
 *                   onclick="sendBack($('positionContent'),$('choosedPositionIds'),$('targetJob.position'))" value="确定"
 *                   name="reward.positionTypes"/>
 *        </div>
 *    </div>
 * </div>
 *
 *
 * @param id
 * @param title 标题
 * @param selectCtrlId 下拉列表框Id
 * @param valueHolder 接收回传值的对象
 * @param valueDisplayCtrl 接收回传显示文本的对象
 * @param manager 调用的manager
 * @param method  manager调用的方法
 * @param defaultMethod  缺省manager调用的方法
 * @param displayName  显示checkbox的属性值
 */
function openModalDialog(id, title, valueHolder, valueDisplayCtrl, parentManager, parentMangerMethod, childManager, childManagerMethod, childManagerDefaultMethod, displayName, maxNum) {
    var dialog = document.getElementById(id);

    if (displayName == undefined || displayName == null || displayName == "")
        displayName = "chineseName";

    if (parentMangerMethod == undefined || parentMangerMethod == null || parentMangerMethod == "")
        parentMangerMethod = "getAll";

    if (dialog != null) {
        initializeModalDialog(dialog, childManager, childManagerMethod, childManagerDefaultMethod, valueHolder, valueDisplayCtrl, displayName, maxNum);
        dialog.style.display = "";
        showHintPage(dialog);
        return
    }

    if ($('Hide') == "" || $('Hide') == undefined || $('Hide') == null) {
        var hide = document.createElement("div");
        var iframe = document.createElement("iframe");
        iframe.className = "dis";
        hide.className = "dis";
        hide.id = "Hide"
        hide.style.display = "none";
        hide.appendChild(iframe);
        document.body.appendChild(hide);
    }

    dialog = document.createElement("div");
    dialog.id = id;
    dialog.className = "hideLayer";
    dialog.style.width = "706px";
    dialog.align = "left";
    dialog.innerHTML += "<div class='hideTitle'>" +
                        "<span style='float:right;padding-right:5px'>" +
                        "<img src='/images/hidePageMark_close.jpg' onclick=\"closeModalDialog($('" + dialog.id + "'))\"/>" +
                        "</span>" +
                        "请选择" + title +
                        "<span style='font-size:12px;font-weight:normal;'></span>" +
                        "</div>";

    var mainDiv = document.createElement("div");
    dialog.appendChild(mainDiv);
    mainDiv.className = "hideDiv";
    mainDiv.align = "left";

    var selectDiv = document.createElement("div");
    mainDiv.appendChild(selectDiv);
    selectDiv.className = "showHeight";
    var select = "\"<select id=\\\"" + id + "Select\\\" onchange=\\\"generateChildrenContent($('" + dialog.id + "'), '" + childManager + "', '" + childManagerMethod + "', '" + childManagerDefaultMethod + "', $('" + valueHolder.id + "'), '" + displayName + "'," + maxNum + ");\\\"></select>\"";
    eval("selectDiv.innerHTML += " + select + ";");
    select = selectDiv.getElementsByTagName("select")[0];
    if (parentManager != null && parentManager != "" && parentManager != undefined) {
        fetch(parentManager, parentMangerMethod, select.id, displayName);
    }
    else
        selectDiv.style.display = "none";

    var childrenContentDiv = document.createElement("div");
    mainDiv.appendChild(childrenContentDiv);
    childrenContentDiv.className = "hideCheckBoxCon";
    childrenContentDiv.name = "childrenContent"
    childrenContentDiv.innerHTML = "<ul></ul>";

    var selectedChildrenTitleDiv = document.createElement("div");
    mainDiv.appendChild(selectedChildrenTitleDiv);
    selectedChildrenTitleDiv.className = "hideChooseTitle";
    selectedChildrenTitleDiv.innerHTML = "<img src='/images/hidePageMark_01.jpg'/>" +
                                         "您已选择的" + title + "是：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                                         "<img src='/images/hidePageMark_02.jpg'/>" +
                                         "<span style='font-weight:normal;color:#0033CC;cursor:hand' onclick=\"removeAll('" + dialog.id + "SelectedChildrenDiv')\">清空所有选项</span>";

    var selectedChildrenDiv = document.createElement("div");
    mainDiv.appendChild(selectedChildrenDiv);
    selectedChildrenDiv.className = "hideChooseCon";
    selectedChildrenDiv.id = id + "SelectedChildrenDiv"
    selectedChildrenDiv.innerHTML = "<ul></ul>";

    var paddingDiv = document.createElement("div");
    mainDiv.appendChild(paddingDiv);
    paddingDiv.style.height = "80px";

    var buttonDiv = document.createElement("div");
    mainDiv.appendChild(buttonDiv);
    var button = "<input type='button' name='" + valueHolder.name + "' value='确定'";
    var buttonSuffix = " onclick=\"sendBack($('" + dialog.id + "'),$('" + valueHolder.id + "'),$('" + valueDisplayCtrl.id + "'))\"/>";
    buttonDiv.innerHTML += button + buttonSuffix;

    document.body.appendChild(dialog);
    dialog.style.top = document.body.scrollTop + ((document.body.clientHeight - dialog.offsetHeight) / 2);
    dialog.style.left = document.body.scrollLeft + ((document.body.clientWidth - dialog.offsetWidth) / 2);
    showHintPage(dialog);
    initializeModalDialog(dialog, childManager, childManagerMethod, childManagerDefaultMethod, valueHolder, valueDisplayCtrl, displayName, maxNum);
}

/**
 *关闭整个悬浮窗口
 * @param id
 */
function closeModalDialog(dialog) {
    var div = $(dialog.id)
    div.style.display = "none";
    showHintPage(dialog);
}

/**
 *
 * @param dialog
 * @param childManager
 * @param childManagerMethod
 * @param childManagerDefaultMethod
 * @param valueHolder
 * @param displayName
 */
function initializeModalDialog(dialog, childManager, childManagerMethod, childManagerDefaultMethod, valueHolder, valueDisplayCtrl, displayName, maxNum) {
    generateChildrenContent(dialog, childManager, childManagerMethod, childManagerDefaultMethod, valueHolder, displayName, maxNum);
    generateSelectedContent(dialog, valueHolder, valueDisplayCtrl);
}

/**
 * 刷新childrenContent区域的显示
 * @param dialog
 * @param manager 调用的manager
 * @param method  manager调用的方法
 * @param defaultMethod  缺省manager调用的方法
 * @param valueHolder  选中checkbox的值
 * @param displayName  显示checkbox的属性值
 */
function generateChildrenContent(dialog, childManager, childManagerMethod, childManagerDefaultMethod, valueHolder, displayName, maxNum) {
    var selectCtrl = dialog.getElementsByTagName("select")[0];
    var si = selectCtrl.selectedIndex;
    var value = ""
    if (si > 0)
        value = selectCtrl.item(si).value;

    if (value == undefined || value == null || value == "")
        childManagerMethod = childManagerDefaultMethod;

    var expression = childManager + "." + childManagerMethod + "(";
    if (value != "") {
        expression += "'" + value + "',";
    }

    var liExpression = "\"<li><input type='checkbox' name='" + valueHolder.name + "' value=\" + data[i].id + \"";
    var liExpressionSuffix = " onclick=\\\"selectCheckbox(this," + maxNum + ")\\\"/>\" + data[i]." + displayName + " + \"</li>\"";
    expression += "function(data) {\n" +
                  "  var childrenUL = dialog.getElementsByTagName('div')[1].getElementsByTagName('ul')[0];" +
                  "  childrenUL.innerHTML = '';\n" +
                  "  for (var i = 0; i < data.length; i++) {\n" +
                  "      if (isSelected(dialog.getElementsByTagName('div')[1],(data[i].id),valueHolder)) {\n" +
                  "         childrenUL.innerHTML += " + liExpression + " checked=\\\"true\\\" " + liExpressionSuffix + ";\n" +
                  "      }\n" +
                  "      else   " +
                  "         childrenUL.innerHTML += " + liExpression + liExpressionSuffix + "\n" +
                  "  }\n" +
                  "})"
    eval(expression)
}
/**
 * 刷新selectedContent区域
 * @param dialog 主控件
 * @param valueHolder 已经被填充的值的字符串
 * @param valueDisplayCtrl 已经被填充的值的属性值
 */
function generateSelectedContent(dialog, valueHolder, valueDisplayCtrl) {
    var selectedChildrenUL = dialog.getElementsByTagName("div")[5].getElementsByTagName("ul")[0];
    selectedChildrenUL.innerHTML = "";
    if (valueHolder.value == "")
        return;
    var ids = valueHolder.value.split(",");
    var names = valueDisplayCtrl.value.split(",");
    for (var i = 0; i < ids.length - 1; i++) {
        selectedChildrenUL.innerHTML += "<li><input type='checkbox' name='selectedCheckbox' value='" + ids[i] + "' checked='checked' onclick='unSelectCheckbox(this)'>" + names[i] + "</li>";
    }
}
/**
 *
 * @param dialog  父控件
 * @param valueHolder 接收回传值的对象
 * @param valueDisplayCtrl 接收回传显示文本的对象
 */
function sendBack(dialog, valueHolder, valueDisplayCtrl) {
    var selectedChildrenUL = dialog.getElementsByTagName("div")[5].getElementsByTagName("ul")[0];
    valueHolder.value = "";
    valueDisplayCtrl.value = "";
    for (var i = 0; i < selectedChildrenUL.childNodes.length; i++) {
        valueDisplayCtrl.value += selectedChildrenUL.childNodes[i].firstChild.nextSibling.nodeValue + ",";
        valueHolder.value += selectedChildrenUL.childNodes[i].firstChild.value + ",";
        if (!isSelected(dialog.getElementsByTagName('div')[1], selectedChildrenUL.childNodes[i].firstChild.value)) {
            valueHolder.value = "";
            valueDisplayCtrl.value = "";
        }
    }
    closeModalDialog(dialog);
}
/**
 *  选中checkbox
 * @param checkbox
 */
function selectCheckbox(checkbox, maxNum) {
    var dialog = checkbox.parentNode.parentNode.parentNode.parentNode;
    var selectedChildrenUL = dialog.getElementsByTagName("div")[3].getElementsByTagName("ul")[0];
    if (maxNum == 0 || maxNum == null || maxNum == "" || maxNum == undefined) {
        maxNum = 10000;
    }
    if (selectedChildrenUL.childNodes.length >= maxNum && checkbox.checked) {
        alert("对不起，您已经选择了" + maxNum + "项，请减少已选项，再继续选择!");
        checkbox.checked = false;
    }
    if (!checkbox.checked) {
        for (var i = 0; i < selectedChildrenUL.childNodes.length; i++) {
            if (selectedChildrenUL.childNodes[i].firstChild.value == checkbox.value) {
                selectedChildrenUL.removeChild(selectedChildrenUL.childNodes[i]);
            }
        }
    }
    else {
        selectedChildrenUL.innerHTML += "<li><input type='checkbox' name='selectedCheckbox' value='" + checkbox.value + "' checked='checked' onclick='unSelectCheckbox(this)'>" + checkbox.nextSibling.nodeValue + "</li>";
    }
}

/**
 * 未选中checkbox
 * @param checkbox
 */
function unSelectCheckbox(checkbox) {
    var dialog = checkbox.parentNode.parentNode.parentNode.parentNode;
    var childrenUL = dialog.getElementsByTagName('div')[1].getElementsByTagName('ul')[0];
    for (var i = 0; i < childrenUL.childNodes.length; i++) {
        if (childrenUL.childNodes[i].firstChild.value == checkbox.value) {
            childrenUL.childNodes[i].firstChild.checked = false;
        }
    }
    checkbox.parentNode.parentNode.removeChild(checkbox.parentNode);
}

/**
 *  判断checkbox是否选中
 * @param mainDiv
 * @param value
 */
function isSelected(mainDiv, value, valueHolder) {
    if (valueHolder == undefined) {
        // valueHolder未传入，已selected区域的checkbox做为判断依据
        var selectedChildrenUL = mainDiv.getElementsByTagName("div")[3].getElementsByTagName("ul")[0];
        if (selectedChildrenUL == null)
            return false;
        for (var i = 0; i < selectedChildrenUL.childNodes.length; i++) {
            if (selectedChildrenUL.childNodes[i].firstChild.value == value) {
                return true;
            }
        }
        return false;
    }
    else {
        // valueHolder传入，根据valueHolder的值作为判断依据
        return valueHolder.value.indexOf(value) > -1;
    }
}
/**
 * 移除所有选中的checkbox
 * @param selectedChildrenDiv
 */
function removeAll(selectedChildrenDiv) {
    var selectCtrl = document.getElementById(selectedChildrenDiv);
    var ul = selectCtrl.getElementsByTagName("ul")[0];
    var dialog = selectCtrl.parentNode;
    var childrenUL = dialog.getElementsByTagName('div')[1].getElementsByTagName('ul')[0];
    for (var i = 0; i < childrenUL.childNodes.length; i++) {
        childrenUL.childNodes[i].firstChild.checked = false;
    }
    ul.innerHTML = "";
}

function showHintPage(dialog) {
    var dialogDiv = $(dialog.id);
    var hideDiv = $('Hide');
    var iframe = hideDiv.getElementsByTagName("iframe")[0];
    if (dialogDiv.style.display == "") {
        hideDiv.style.display = "";
        iframe.style.height = document.body.scrollHeight;
        hideDiv.style.height = document.body.scrollHeight;
    }
    else {
        hideDiv.style.display = "none";
    }
}

/**
 * 页面遮罩
 * @param envelopId
 * @param topLayerId
 * @param opacityValue
 */
function shade(envelopId, topLayerId, opacityValue) {
    var INTERIM = 30;
    opacityValue = opacityValue > 10 ? 10 : opacityValue;

    var envelopObj = document.getElementById(envelopId);
    var topLayerObj = document.getElementById(topLayerId);

    envelopObj.style.left = "0px";
    envelopObj.style.top = "0px";
    envelopObj.style.zIndex = "100";

    envelopObj.style.width = document.body.scrollWidth + "px";
    envelopObj.style.height = document.body.scrollHeight + "px";

    envelopObj.style.position = "absolute";
    envelopObj.style.backgroundColor = "#000000";

    if (envelopObj.style.display == 'none') {

        topLayerObj.style.MozOpacity = '0';
        topLayerObj.style.filter = 'alpha(opacity=0)';
        topLayerObj.style.display = "";
        topLayerObj.style.top = document.body.scrollTop + (document.body.clientHeight - topLayerObj.scrollHeight) / 2;
        topLayerObj.style.left = document.body.scrollLeft + (document.body.clientWidth - topLayerObj.scrollWidth) / 2;
        envelopObj.style.MozOpacity = '0';
        envelopObj.style.filter = 'alpha(opacity=0)';
        envelopObj.style.display = 'block';

        for (i = 0; i <= opacityValue; i++) {
            var j = i + 2;

            setTimeout("document.getElementById('" + envelopId + "').style.MozOpacity = '" + i * 0.1 + "';", i * INTERIM);
            setTimeout("document.getElementById('" + topLayerId + "').style.MozOpacity = '" + j * 0.1 + "';", i * INTERIM);
            setTimeout("document.getElementById('" + envelopId + "').style.filter = 'alpha(opacity=" + (i * 10) + ")';", i * INTERIM);
            setTimeout("document.getElementById('" + topLayerId + "').style.filter = 'alpha(opacity=" + (j * 10) + ")';", i * INTERIM);

        }
    } else {
        pb_blnCloseWindow = false;
        document.getElementById("loadingImg").style.display = "none";
        topLayerObj.style.display = "none";
        var opacity = parseInt(envelopObj.style.opacity);
        var currentOpacity = opacity;
        for (var i = 0; i <= opacity; i++) {
            currentOpacity = opacity - i;
            setTimeout('document.getElementById(\'' + envelopId + '\').style.opacity = ' + currentOpacity + ';', i * INTERIM);
            setTimeout('document.getElementById(\'' + envelopId + '\').style.filter = "alpha(opacity=' + (currentOpacity * 10) + ')";', i * INTERIM);
        }
        setTimeout('document.getElementById(\'' + envelopId + '\').style.display = "none";', i * INTERIM);
    }
}

/*
* 判断浏览器类型
*/
var sUserAgent = navigator.userAgent;
var isOpera = sUserAgent.indexOf("Opera") > -1;
var isIE = sUserAgent.indexOf("compatible") > -1 && sUserAgent.indexOf("MSIE") > -1 && !isOpera;
/**
 * 输入提示
 * @param textCtrlId  text框的id
 * @param manager     tag的manager
 * @param method      manager的方法
 * @param tagTypeName  tag的类型
 * @param lable        tag的名称
 */
function autoCompleteWord(textCtrlId, manager, method, tagType, label, event) {
    if (textCtrlId == "" || textCtrlId == null || textCtrlId == undefined)
        return;

    if (manager == null || manager == "" || manager == undefined) {
        return;
    }

    if (method == null || method == "" || method == undefined) {
        method = "getAll";
    }

    if (label == null || label == "" || label == undefined) {
        label = "chineseName";
    }
    var textObj = $(textCtrlId);

    checkKeyCode(textObj, manager, method, tagType, label, event)
}

/**
 * 创建自动补全的下拉列表Div并返回。
 * @param textObj 文本框对象
 */
function createAutoCompleteDropDownMenu(textObj) {
    var top = getAbsoluteOffsetTop(textObj) + textObj.offsetHeight;

    var ddDiv = createAbsolutePositionDiv("dropDownMenu", getAbsoluteOffsetLeft(textObj), top, textObj.style.width, "dropdown_menu");

    ddDiv.style.zIndex = 9999;

    if (ddDiv.childNodes.length == 0) {
        var ulObj = document.createElement("ul");
        ddDiv.appendChild(ulObj);
    }

//    createIframe("dropDownMenu","myIframe");

    if (!isIE)
        addEvent(textObj, 'blur', function() {
            selectedIndex = -1;
            ddDiv.style.display = 'none';
        }, false)
    else
        textObj.onblur = function() {
            selectedIndex = -1
            ddDiv.style.display = 'none';
        };

//    createIframe("dropDownMenu","myIframe");
//    if (!isIE)
    //        addEvent(textObj, 'focus', textObj.onkeyup, false)
    //    else
    //        textObj.onfocus = textObj.onkeyup;
    return ddDiv;

//    createIframe("dropDownMenu", "myIframe");
}

/**
 * 让iframe 显示在 指定的div下面 针对ie6 select挡住div 的bug  采用 iframe来当作div的底
 * @param divId    要解决的div
 * @param iframeId 采用的iframe，如果不指定，自动生成
 * @param leftTopX 定位的绝对Top坐标
 * @param leftTopY 定位的绝对Left坐标
 * @param width    定位文本框的宽度
 * @param className  Div的css
 */
function createIframe(divId, iframeId) {
    var div_dom = document.getElementById(divId);
    !iframeId && (iframeId = 'Hide4Ie6Buga');	//默认 iframe 的 id
    var iframe_dom = document.getElementById(iframeId);
    if (!iframe_dom)    //不存在 自动生成 iframe
    {
        var tmpIframeDom = document.createElement("IFRAME");
        tmpIframeDom.id = iframeId;
        document.body.appendChild(tmpIframeDom);
        iframe_dom = document.getElementById(iframeId);
//        iframe_dom.src = "about:blank";	//javascript:void(0);  about:blank
        iframe_dom.style.display = "block";//none
        iframe_dom.style.position = "absolute";
        iframe_dom.style.scrolling = "no";
        iframe_dom.style.frameBorder = 0;
//        iframe_dom.style.MozOpacity = 0;
//        iframe_dom.style.filter = "alpha(opacity=40)";
        iframe_dom.style.backgroundColor = "#ff0000";
        //		iframe_dom.setAttribute("style","position:absolute; top:0px; left:0px; "); //display:none;
    }
	//使iframe 处于 指定的 div 下面
    iframe_dom.style.width = div_dom.offsetWidth;
    iframe_dom.style.height = div_dom.offsetHeight;
    iframe_dom.style.top = div_dom.style.top;
    iframe_dom.style.left = div_dom.style.left;
    iframe_dom.style.zIndex = div_dom.style.zIndex-1;
//	iframe_dom.style.display = "block";
}

/**
 * 创建绝对定位的Div
 * @param divId    Div的id
 * @param leftTopX 定位的绝对Top坐标
 * @param leftTopY 定位的绝对Left坐标
 * @param width    定位文本框的宽度
 * @param className  Div的css
 */
function createAbsolutePositionDiv(divId, leftTopX, leftTopY, width, className) {
    var showMenuDiv;
    if ($(divId) == null) {
        showMenuDiv = document.createElement("div");
        showMenuDiv.id = divId;
        showMenuDiv.className = className;
        showMenuDiv.style.top = leftTopY + "px";
        showMenuDiv.style.left = leftTopX;
        showMenuDiv.style.width = width;
        document.body.appendChild(showMenuDiv);
    } else {
        showMenuDiv = $(divId);
        showMenuDiv.style.top = leftTopY + "px";
        showMenuDiv.style.left = leftTopX;
        showMenuDiv.style.width = width;
        showMenuDiv.style.display = "";
    }

    return showMenuDiv;
}

/**
 * 添加自动补全的列表
 * @param word  文本框的输入
 * @param data  查询的数据
 * @param parent 自动补全Div中的ul
 * @param textObj  文本框对象
 * @param event     事件
 */
function addItemToDropDownMenu(word, data, parent, textObj) {
    var start = textObj.value.lastIndexOf(",");
    var originalWord = start == -1 ? "" : textObj.value.substring(0, start + 1);
    parent.innerHTML += "<li onMouseOver=\"this.style.backgroundColor='#FBF0CA'\" onMouseOut=\"this.style.backgroundColor='#ffffff'\" onmousedown=\"$('" + textObj.id + "').value='" + originalWord + data + "';$('" + parent.parentNode.id + "').style.display='none';\" value='" + data + "'><span style='color:#2B63E8;'>" + word + "&nbsp;</span>" + data + "</li>";
}

var selectedIndex = -1;

/**
 *  回填文本框的内容
 * @param contextMenu   自动补全的Div对象
 * @param textObj       文本框对象
 * @param isUp          判断依据
 */
function changeSelection(contextMenu, textObj, isUp) {
    if (contextMenu.style.display == 'none') {
        contextMenu.style.display = '';
    } else {
        if (isUp)
            selectedIndex++;
        else
            selectedIndex--;
    }

    var start = textObj.value.lastIndexOf(",");
    var originalWord = start == -1 ? "" : textObj.value.substring(0, start + 1);

    var ulObj = contextMenu.getElementsByTagName("ul")[0];
    var maxIndex = ulObj.getElementsByTagName("li").length;
    if (selectedIndex == maxIndex)
        selectedIndex = 0;

    if (selectedIndex < 0) {
        selectedIndex = maxIndex - 1;
    }

    if (selectedIndex > maxIndex) {
        selectedIndex %= maxIndex;
    }

    for (var intTmp = 0; intTmp < maxIndex; intTmp++) {
        if (intTmp == selectedIndex) {
            ulObj.getElementsByTagName("li")[intTmp].style.backgroundColor = '#FBF0CA';
            textObj.value = originalWord + ulObj.getElementsByTagName("li")[intTmp].childNodes[1].nodeValue;
        } else {
            ulObj.getElementsByTagName("li")[intTmp].style.backgroundColor = '';
        }
    }
}

/**
 * 判断事件
 * @param textObj  文本框对象
 * @param manager  tag的manager
 * @param method   tag的manager的方法
 * @param tagType  tag的type
 * @param label    tag的名称
 * @param evt      事件
 */
function checkKeyCode(textObj, manager, method, tagType, label, evt) {
    var keyCode = evt.keyCode
    switch (keyCode) {
        case 37: // 左
            break;
        case 38: // 上
            var contextMenu = createAutoCompleteDropDownMenu(textObj);
            changeSelection(contextMenu, textObj, false);
            break;
        case 39: // 右
            break;
        case 40: // 下
            contextMenu = createAutoCompleteDropDownMenu(textObj);
            changeSelection(contextMenu, textObj, true);
            break;
        case 188:// ','
            selectedIndex = -1;
            break;
        default:
            selectedIndex = -1;
            contextMenu = createAutoCompleteDropDownMenu(textObj);
            getRemoteData(contextMenu, manager, method, tagType, label, textObj);
    }
}

/**
 * 添加自动补全的数据
 * @param contextMenu   自动补全Div对象
 * @param manager       tag的manager
 * @param method        tag的manager的方法
 * @param tagType       tag的type
 * @param label         tag的名称
 * @param textObj       文本框对象
 */
function getRemoteData(contextMenu, manager, method, tagType, label, textObj) {
    var wordvalue = textObj.value;
    var ulObj = contextMenu.childNodes[0];
    ulObj.innerHTML = "";

    var word = wordvalue.substring(wordvalue.lastIndexOf(",") + 1);

    if (word == "")
        return;

    var command;
    if (tagType != null && tagType != "" && tagType != undefined) {
        command = manager + "." + method + "(word ,tagType,function(data) {\n" +
                  "for (var i = 0; i < data.length; i++) {\n" +
                  "     addItemToDropDownMenu(word,data[i]." + label + ",ulObj,textObj);\n" +
                  "}\n" +
                  "});"
    }
    else {
        command = manager + "." + method + "(word ,function(data) {\n" +
                  "for (var i = 0; i < data.length; i++) {\n" +
                  "     addItemToDropDownMenu(word,data[i]." + label + ",ulObj,textObj);\n" +
                  "}\n" +
                  "});"
    }
    eval(command);
}
/**
 * 获得传入对象的绝对Top坐标
 * @param  obj  对象
 */
function getAbsoluteOffsetTop(obj) {
    //    if (isIE) {
    var y = obj.offsetTop;
    while (obj = obj.offsetParent) y += obj.offsetTop;
    return y;
//    }
    //    else {
    //        return obj.offsetTop;
    //    }
}

/**
 * 获得传入标签的绝对Left坐标
 * @param obj 对象
 */
function getAbsoluteOffsetLeft(obj) {
    //    if (isIE) {
    var x = obj.offsetLeft;
    while (obj = obj.offsetParent) x += obj.offsetLeft;
    return x;
//    } else {
    //        return obj.offsetLeft;
    //    }
}

/**
 * 显示/隐藏某个对象。
 * 如果当前是隐藏，则改为显示；否则改为隐藏。
 */
function shiftDisplayObject(obj) {
    if (obj.style != undefined) {
        obj.style.display = obj.style.display == "none" ? "" : "none";
    }
    else {
        var div = $(obj);
        if (div != undefined || div != null) {
            div.style.display = div.style.display == "none" ? "" : "none";
        }
    }
}
/**
 * 插入子div  div中有<input type="text"
 *
 * @param parentDivId 父div的id
 * @param divClass    div的class
 * @param textNames   div包含的输入框（ <input name="" ）名字
 * @param textId      div包含的输入框（ <input id="" ）id
 * @param textValue   div包含的输入框（ <input value="" ）value
 * @param textWidth   div包含的输入框（ <input style="" ）width
 * @param textMaxlength div包含的输入框（ <input maxlength="" ）最大输入长度
 */
function insertDiv(parentDivId, divClass, textNames, textWidth, manager, method, tagTypeName, label) {
    var fuliDiv = document.getElementById(parentDivId);
    var iIndext = fuliDiv.getElementsByTagName("div").length ;
    if (iIndext > 5) {
        alert('最多五项，谢谢！');
        return
    }
    var odiv = document.createElement("div");
    odiv.className = divClass;
    odiv.innerHTML = "<input type='text' name= '" + textNames + "' id='" + textNames + (iIndext + 1) + "' style='width:" + textWidth + "px' onfocus=\"autoCompleteWord(this.id,'" + manager + "','" + method + "','" + tagTypeName + "','" + label + "',event);\" onkeyup=\"autoCompleteWord(this.id,'" + manager + "','" + method + "','" + tagTypeName + "','" + label + "',event);\" autoComplete='off'/>";
    fuliDiv.appendChild(odiv);
}
/**
 * 删除 最后一个 子div
 * @param parentDivId
 */
function deleteDiv(parentDivId) {
    var fuliDiv = document.getElementById(parentDivId);
    var iIndext = fuliDiv.getElementsByTagName("div").length;
    if (iIndext < 3) {
        alert('至少保留一项，谢谢！');
        return
    }
    var div = document.getElementById(parentDivId);
    div.removeChild(div.lastChild);   //删除
}
/**
 * 判断tag内容是否相同
 */
function checkSame(parentDivId) {
    var fuliDiv = document.getElementById(parentDivId);
    var iIndext = fuliDiv.getElementsByTagName("div").length;
    for (var i = 1; i < iIndext; i++) {
        if (document.getElementById('tagName' + i).value.length == 0) {
            alert("请填写第" + i + "个值！");
            return false;
        }
        for (var j = 2; j < i + 1; j++) {
            if (document.getElementById('tagName' + (j - 1)).value == document.getElementById('tagName' + i).value) {
                alert("请勿重复！")
                return;
            }
        }
    }
}
function checkIntent() {
    var province = document.getElementById("residenceProvinceId");
    if (province.value.length == 0) {
        alert("请选择省市，谢谢！");
        return false;
    }

    var city = document.getElementById("residenceCityId");
    if (city.value.length == 0) {
        alert("请选择城市，谢谢！");
        return false;
    }

    var companyS = document.getElementById("companyScale");
    if (companyS.value.length == 0) {
        alert("请填写公司规模，谢谢！");
        return false;
    }

    var positionC = document.getElementById("positionCategories");
    if (positionC.value.length == 0) {
        alert("请填写职位名称，谢谢！")
        return false;
    }

    var jobD = document.getElementById("jobDescription");
    if (jobD.value.length == 0) {
        alert("请填写职位描述，谢谢！")
        return false;
    }
    if (!checkSame("fuli")) {
        return false;
    }
    return true;
}

