//HashTable
function Hashtable() {
    this.clear = hashtable_clear;
    this.containsKey = hashtable_containsKey;
    this.containsValue = hashtable_containsValue;
    this.get = hashtable_get;
    this.isEmpty = hashtable_isEmpty;
    this.keys = hashtable_keys;
    this.put = hashtable_put;
    this.remove = hashtable_remove;
    this.size = hashtable_size;
    this.toString = hashtable_toString;
    this.values = hashtable_values;
    this.hashtable = new Array();
}
/*=======Private methods for internal use only========*/

function hashtable_clear() {
    this.hashtable = new Array();
}

function hashtable_containsKey(key) {
    var exists = false;
    for (var i in this.hashtable) {
        if (i == key && this.hashtable[i] != null) {
            exists = true;
            break;
        }
    }
    return exists;
}

function hashtable_containsValue(value) {
    var contains = false;
    if (value != null) {
        for (var i in this.hashtable) {
            if (this.hashtable[i] == value) {
                contains = true;
                break;
            }
        }
    }
    return contains;
}

function hashtable_get(key) {
    return this.hashtable[key];
}

function hashtable_isEmpty() {
    return (this.size == 0) ? true : false;
}

function hashtable_keys() {
    var keys = new Array();
    for (var i in this.hashtable) {
        if (this.hashtable[i] != null)
            keys.push(i);
    }
    return keys;
}

function hashtable_put(key, value) {
    if (key == null || value == null) {
        throw "NullPointerException {" + key + "},{" + value + "}";
    } else {
        this.hashtable[key] = value;
    }
}

function hashtable_remove(key) {
    var rtn = this.hashtable[key];
    this.hashtable[key] = null;
    return rtn;
}

function hashtable_size() {
    var size = 0;
    for (var i in this.hashtable) {
        if (this.hashtable[i] != null)
            size ++;
    }
    return size;
}

function hashtable_toString() {
    var result = "";
    for (var i in this.hashtable)
    {
        if (this.hashtable[i] != null)
            result += "{" + i + "},{" + this.hashtable[i] + "}\n";
    }
    return result;
}

function hashtable_values() {
    var values = new Array();
    for (var i in this.hashtable) {
        if (this.hashtable[i] != null)
            values.push(this.hashtable[i]);
    }
    return values;
}

//DWR联动
function fillCities(provinceCtrlId, cityCtrlId) {
    var provinceCtrl = document.getElementById(provinceCtrlId);
    var provinceId = provinceCtrl.item(provinceCtrl.selectedIndex).value;
    if (provinceId == null || provinceId == "")
        return;
    cityManager.getByProvinceId(provinceId, function(data) {
        DWRUtil.removeAllOptions(cityCtrlId);
        var cityCtrl = $(cityCtrlId)
        var option = document.createElement("option");
        option.value = "-1";
        option.text = "请选择市";
        cityCtrl.options.add(option)
        DWRUtil.addOptions(cityCtrlId, data, "id", "chineseName")
    });
}
//更新职位过滤器中的值
function fillPositionFilter(companyCtrID, filterCtrID) {
    alert(companyCtrID)
    var companyCtrl = document.getElementById(companyCtrID);
    var companyId = companyCtrl.item(companyCtrl.selectedIndex).value;
    // alert(companyId);
    if (companyId == null || companyId == "")
        return;
    positionFilterManager.loadpositionFilterByGetuser(companyId, function(data) {
        DWRUtil.removeAllOptions(filterCtrID);
        var filterCtr = $(filterCtrID)
        var option = document.createElement("option");
        option.value = "1";
        option.text = "请选择JQ标准";
        //option.check = true ;
        filterCtr.options.add(option)

        DWRUtil.addOptions(filterCtrID, data, "id", "filterName")

        var option1 = document.createElement("option");
        option1.value = "0";
        option1.text = "自定义JQ评分标准";
        filterCtr.options.add(option1)
    });
}

function fillPosition(parentCtrlId, childCtrlId) {
    var parentCtrl = document.getElementById(parentCtrlId);
    var childCtrl = document.getElementById(childCtrlId);
    var parentPositionId = parentCtrl.item(parentCtrl.selectedIndex).value;
    if (parentPositionId == null || parentPositionId == "")
        return;
    positionCategoryManager.getPositionByParentId(parentPositionId, function(data) {
        DWRUtil.removeAllOptions(childCtrlId);
        DWRUtil.addOptions(childCtrlId, data, "id", "positionCategoryName")
    });
}

function fillUniversity(provinceCtrlId, universityCtrlId) {
    var provinceCtrl = $(provinceCtrlId);
    var provinceId = provinceCtrl.item(provinceCtrl.selectedIndex).value;
    if (provinceId == null || provinceId == "")
        return;
    universityManager.getUniversitiesByProvinceId(provinceId, function(data) {
        DWRUtil.removeAllOptions(universityCtrlId);
        var universityCtrl = $(universityCtrlId)
        var option = document.createElement("option");
        option.value = "";
        option.text = "请选择学校";
        universityCtrl.options.add(option)
        DWRUtil.addOptions(universityCtrlId, data, "id", "chineseName")
    });
}

function fillSpecialty(topSpecialtyCtrlId, specialtyCtrlId) {
    var topSpecialtyCtrl = $(topSpecialtyCtrlId);
    var topSpecialtyId = topSpecialtyCtrl.item(topSpecialtyCtrl.selectedIndex).value;
    if (topSpecialtyId == null || topSpecialtyId == "")
        return;
    specialtyManager.getSpecialtiesByParentId(topSpecialtyId, function(data) {
        DWRUtil.removeAllOptions(specialtyCtrlId);
        var specialtyCtrl = $(specialtyCtrlId)
        var option = document.createElement("option");
        option.value = "";
        option.text = "请选择专业";
        specialtyCtrl.options.add(option)
        DWRUtil.addOptions(specialtyCtrlId, data, "id", "chineseName")
    })
}

function fillCourse(specialtyCtrlId, course1) {
    var specialtyCtrl = $(specialtyCtrlId);
    var specialtyId = specialtyCtrl.item(specialtyCtrl.selectedIndex).value;
    if (specialtyId == null || specialtyId == '')return
    courseManager.getCourseBySpecialtyId(specialtyId, null, function(data) {
        DWRUtil.removeAllOptions(course1);
        var cour1 = $(course1)
        var option = document.createElement("option");
        option.value = "";
        option.text = "请选择课程";
        cour1.options.add(option)
        DWRUtil.addOptions(course1, data, "id", "chineseName")
    })
}

function fillContest(contestLevelCtrlId, contestCtrlId) {
    var contestLevelCtrl = $(contestLevelCtrlId)
    var contestLevelId = contestLevelCtrl.item(contestLevelCtrl.selectedIndex).value;
    if (contestLevelId == null || contestLevelId == '')return
    contestManager.getContestByContestLevelId(contestLevelId, function(data) {
        DWRUtil.removeAllOptions(contestCtrlId);
        DWRUtil.addOptions(contestCtrlId, data, "id", "chineseName")
        var contestCtrl = $(contestCtrlId)
        var option = document.createElement("option");
        option.value = "-1";
        option.text = "其他竞赛";
        contestCtrl.options.add(option)
    })
}

function fillContestBySelectDegree(degreeCtrlId, contestCtrlId) {
    var degreeCtrl = $(degreeCtrlId)
    var degreeId = degreeCtrl.item(degreeCtrl.selectedIndex).value;
    if (degreeId == null || degreeId == '')
        return
    contestManager.getContestByDegreeInfoId(degreeId, function(data) {
        DWRUtil.removeAllOptions(contestCtrlId);
        DWRUtil.addOptions(contestCtrlId, data, "id", "chineseName")
        var contestCtrl = $(contestCtrlId)
        var option = document.createElement("option");
        option.value = "-1";
        option.text = "其他竞赛";
        contestCtrl.options.add(option)
    })
}

function fillCertificate(universityCtrlId, certificateCtrlId) {
    var universityCtrl = $(universityCtrlId);
    var universityId = universityCtrl.item(universityCtrl.selectedIndex).value;
    if (universityId == null || universityId == "")
        return;
    certificateManager.getCertificateByUniverstityId(universityId, function(data) {
        DWRUtil.removeAllOptions(certificateCtrlId);
        DWRUtil.addOptions(certificateCtrlId, data, "id", "chineseName")
        var certificateCtrl = $(certificateCtrlId)
        var option = document.createElement("option");
        option.value = "-1";
        option.text = "其他证书名称";
        certificateCtrl.options.add(option)
    })
}

function fillOrganization(universityCtrlId, organizationCtrlId) {
    var universityCtrl = $(universityCtrlId);
    var universityId = universityCtrl.item(universityCtrl.selectedIndex).value;
    if (universityId == null || universityId == "")
        return;
    certificateManager.getOrganizationByUniverstityId(universityId, function(data) {
        DWRUtil.removeAllOptions(consortiumCtrlId);
        DWRUtil.addOptions(consortiumCtrlId, data, "id", "chineseName")
        var consortiumCtrl = $(consortiumCtrlId)
        var option = document.createElement("option");
        option.value = "-1";
        option.text = "其他社团";
        consortiumCtrl.options.add(option)
    })
}

function fillScholarships(universityCtrlId, scholarshipCtrlId) {
    var universityCtrl = $(universityCtrlId)
    var universityId = universityCtrl.item(universityCtrl.selectedIndex).value
    if (universityId == null || universityId == "")
        return;
    scholarshipManager.getByUniversityId(universityId, function(data) {
        DWRUtil.removeAllOptions(scholarshipCtrlId);
        DWRUtil.addOptions(scholarshipCtrlId, data, "id", "chineseName")
        var scholarshipCtrl = $(scholarshipCtrlId)
        var option = document.createElement("option");
        option.value = "-1";
        option.text = "其他奖学金";
        scholarshipCtrl.options.add(option)
    })
}

function fillOrganizationByDegreeInfo(degreeInfoCtrlId, organizationCtrlId) {
    var degreeInfoCtrl = $(degreeInfoCtrlId);
    var degreeInfoId = degreeInfoCtrl.item(degreeInfoCtrl.selectedIndex).value;
    if (degreeInfoId == null || degreeInfoId == "")
        return;
    organizationManager.getOrganizationByDegreeInfoId(degreeInfoId, function(data) {
        DWRUtil.removeAllOptions(organizationCtrlId);

        var organizationCtrl = $(organizationCtrlId)
        var option = document.createElement("option");
        option.value = "";
        option.text = "请选择社团";
        organizationCtrl.options.add(option)

        DWRUtil.addOptions(organizationCtrlId, data, "id", "chineseName")

        option = document.createElement("option");
        option.value = "-1";
        option.text = "其他社团";
        organizationCtrl.options.add(option)
    })
}


function fillContestLevel(universityCtrlId, contestLevelCtrlId) {
    var universityCtrl = $(universityCtrlId);
    var universityId = universityCtrl.item(universityCtrl.selectedIndex).value;
    if (universityId == null || universityId == "")
        return;
    contestLevelManager.getContestLevelByUniversityId(universityId, function(data) {
        DWRUtil.removeAllOptions(contestLevelCtrlId);
        DWRUtil.addOptions(contestLevelCtrlId, data, "id", "chineseName")
        var contestLevelCtrl = $(contestLevelCtrlId)
        var option = document.createElement("option");
        option.value = "";
        option.text = "请选择竞赛等级";
        contestLevelCtrl.options.add(option)
    })
}


function fillScholarships(universityCtrlId, scholarshipCtrlId) {
    var universityCtrl = $(universityCtrlId)
    var universityId = universityCtrl.item(universityCtrl.selectedIndex).value
    if (degreeInfoCtrlId == null || degreeInfoCtrlId == "")
        return;
    scholarshipManager.getByUniversityId(universityId, function(data) {
        DWRUtil.removeAllOptions(scholarshipCtrlId);
        DWRUtil.addOptions(scholarshipCtrlId, data, "id", "chineseName")
        var scholarshipCtrl = $(scholarshipCtrlId)
        var option = document.createElement("option");
        option.value = "-1";
        option.text = "其他奖学金";
        scholarshipCtrl.options.add(option)
    })
}

function fillScholarshipByDegreeInfo(degreeInfoCtrlId, scholarshipCtrlId) {
    var degreeInfoCtrl = $(degreeInfoCtrlId)
    var degreeInfoId = degreeInfoCtrl.item(degreeInfoCtrl.selectedIndex).value

    if (degreeInfoId == null || degreeInfoId == "")
        return;
    scholarshipManager.getByDegreeInfoId(degreeInfoId, function(data) {
        var scholarshipCtrl = $(scholarshipCtrlId)

        DWRUtil.removeAllOptions(scholarshipCtrlId);

        var option = document.createElement("option");
        option.value = "";
        option.text = "请选择奖学金";
        scholarshipCtrl.options.add(option)

        DWRUtil.addOptions(scholarshipCtrlId, data, "id", "chineseName")

        option = document.createElement("option");
        option.value = "-1";
        option.text = "其他奖学金";
        scholarshipCtrl.options.add(option)
    })
}

function fillCertificateBySelectDegree(degreeInfoCtrlId, certificateCtrlId) {
    var degreeInfoCtrl = $(degreeInfoCtrlId);
    var degreeInfoId = degreeInfoCtrl.item(degreeInfoCtrl.selectedIndex).value;
    if (degreeInfoId == null || degreeInfoId == "")
        return;
    certificateManager.getCertificateByDegreeInfoId(degreeInfoId, function(data) {
        DWRUtil.removeAllOptions(certificateCtrlId);

        var certificateCtrl = $(certificateCtrlId)
        var option = document.createElement("option");
        option.value = "";
        option.text = "请选择证书名称";
        certificateCtrl.options.add(option)

        DWRUtil.addOptions(certificateCtrlId, data, "id", "chineseName")

        option = document.createElement("option");
        option.value = "-1";
        option.text = "其他证书名称";
        certificateCtrl.options.add(option)
    })
}

//加载自定义职位过滤器
function fillLoadFilter(positionfilterCtrlId, loadJQCtrId) {
    var filterCtrl = document.getElementById(positionfilterCtrlId);
    var selectedfilterId = filterCtrl.item(filterCtrl.selectedIndex).value;
    var loadJQCtr = document.getElementById(loadJQCtrId);
    //alert(selectedfilterId);
    //alert(loadJQCtrId);
    if (selectedfilterId == null || selectedfilterId == "")
        return;

    //     loadJQCtr.innerHTML = "" ;
    positionFilterManager.getPositionInformaitonById(selectedfilterId, function(data) {
        for (var i = 0; i < data.length; i++) {
            var jqTotalScore = data[i].jqTotalScore ;
            var jqBaseScore = data[i].jqBaseScore;
            var jqSpecialtyScore = data[i].jqSpecialtyScore;
            var jqSocialtyScore = data[i].jqSocialtyScore;
            var system = data[i].system;
            document.getElementById("jqTotalScore").value = jqTotalScore;
            document.getElementById("jqBaseScore").value = jqBaseScore;
            document.getElementById("jqSpecialtyScore").value = jqSpecialtyScore;
            document.getElementById("jqSocialtyScore").value = jqSocialtyScore;
            document.getElementById("system").value = system;
            //alert(document.getElementById("system").value);
            //alert(system);
            if (system == 1) {
                Readonly();
            } else {
                isReadonly();
            }
        }
    });
}

//复制公司的信息到子公司
function fillcopyCompanyInfo(companyfilterCtrlId, loadJQCtrId, includeCompany, flag) {
    var filterCtrl = document.getElementById(companyfilterCtrlId);
    var selectedfilterId = filterCtrl.item(filterCtrl.selectedIndex).value;
    var loadJQCtr = document.getElementById(loadJQCtrId);
    var includeCompanyJQCtr = document.getElementById(includeCompany);
    //alert(includeCompanyJQCtr.checked);
    if (selectedfilterId == null || selectedfilterId == "")
        return;

    companyManager.getComlistByID(selectedfilterId, function(data) {
        for (var i = 0; i < data.length; i++) {
            if (flag == 0) { //增加公司信息
                var industryID ;
                var contactPerson = data[i].contactPerson ;
                var contactPhone = data[i].contactPhone;
                var fax = data[i].fax;
                var companyAddress = data[i].companyAddress;
                var email = data[i].email;
                var websiteUrl = data[i].websiteUrl;
                var introduction = data[i].introduction;
                var zipcode = data[i].zipcode ;
                if (data[i].industry != null) {
                    industryID = data[i].industry.id;
                }
                // 判断值是否为空
                if (contactPerson == null)
                    contactPerson = "";
                if (contactPhone == null)
                    contactPhone = "";
                if (fax == null)
                    fax = "";
                if (companyAddress == null)
                    companyAddress = "";
                if (email == null)
                    email = "";
                if (websiteUrl == null)
                    websiteUrl = "";
                if (introduction == null)
                    introduction = "";
                if (zipcode == null)
                    zipcode = "";
                //var company.industry.id = data[i].company.industry.id ;
                document.getElementById("contactPerson").value = contactPerson;
                document.getElementById("contactPhone").value = contactPhone;
                document.getElementById("fax").value = fax;
                document.getElementById("companyAddress").value = companyAddress;
                document.getElementById("email").value = email;
                document.getElementById("websiteUrl").value = websiteUrl;
                document.getElementById("introduction").value = introduction;
                document.getElementById("zipcode").value = zipcode;
                document.getElementById("industryID").value = industryID;
                //如果不用复制公司的信息的化，要清空记录
                if (includeCompanyJQCtr.checked == false) {
                    document.getElementById("contactPerson").value = "";
                    document.getElementById("contactPhone").value = "";
                    document.getElementById("fax").value = "";
                    document.getElementById("companyAddress").value = "";
                    document.getElementById("email").value = "";
                    document.getElementById("websiteUrl").value = "";
                    document.getElementById("introduction").value = "";
                    document.getElementById("zipcode").value = "";
                }
            } else if (flag == 1) { //增加部门信息
                var contactPerson = data[i].contactPerson ;
                var contactPhone = data[i].contactPhone;
                var fax = data[i].fax;
                var companyAddress = data[i].companyAddress;
                var email = data[i].email;
                var zipcode = data[i].zipcode ;
                 // 判断值是否为空
                if (contactPerson == null)
                    contactPerson = "";
                if (contactPhone == null)
                    contactPhone = "";
                if (fax == null)
                    fax = "";
                if (companyAddress == null)
                    companyAddress = "";
                if (email == null)
                    email = "";
                if (zipcode == null)
                    zipcode = "";
                // alert (industryID);
                //var company.industry.id = data[i].company.industry.id ;
                document.getElementById("contactPerson").value = contactPerson;
                document.getElementById("contactPhone").value = contactPhone;
                document.getElementById("fax").value = fax;
                document.getElementById("companyAddress").value = companyAddress;
                document.getElementById("email").value = email;
                document.getElementById("zipcode").value = zipcode;
                //如果不用复制公司的信息的化，要清空记录
                if (includeCompanyJQCtr.checked == false) {
                    document.getElementById("contactPerson").value = "";
                    document.getElementById("contactPhone").value = "";
                    document.getElementById("fax").value = "";
                    document.getElementById("companyAddress").value = "";
                    document.getElementById("email").value = "";
                    document.getElementById("zipcode").value = "";
                }
            } else if (flag == 2) { //增加公司时不能在部门下面增加部门信息
                var comDepartType = data[i].comDepartType ;
                if (comDepartType == 0) {
                    alert('请选择公司！');
                    document.getElementById("company.id").value = "";
                }
            }
        }
    });
}


//加载自定义职位过滤器
function fillUserlistWithCompany(positionfilterCtrlId, loadJQCtrId) {
    var filterCtrl = document.getElementById(positionfilterCtrlId);
    var selectedfilterId = filterCtrl.item(filterCtrl.selectedIndex).value;
    var loadJQCtr = document.getElementById(loadJQCtrId);
    if (selectedfilterId == null || selectedfilterId == "")
        return;
    //alert(selectedfilterId);
    companyManager.getComlistByID(selectedfilterId, function(data) {
        for (var i = 0; i < data.length; i++) {
            var contactPhone = data[i].contactPhone ;
            var companyAddress = data[i].companyAddress;
            var zipcode = data[i].zipcode;

            if (zipcode == null)
                zipcode = "";
            if (contactPhone == null)
                contactPhone = "";
            if (companyAddress == null)
                companyAddress = "";
            document.getElementById("contactPhone").value = contactPhone;
            document.getElementById("companyAddress").value = companyAddress;
            document.getElementById("zipcode").value = zipcode;

            //设置为不可编辑
            document.getElementById("contactPhone").disabled = true;
            document.getElementById("companyAddress").disabled = true;
            document.getElementById("zipcode").disabled = true;

        }
    });
}

function Readonly() {
    //使编辑项目为不可编辑
    document.getElementById('jqTotalScore').disabled = true;
    document.getElementById('jqBaseScore').disabled = true;
    document.getElementById('jqSpecialtyScore').disabled = true;
    document.getElementById('jqSocialtyScore').disabled = true;
}
function isReadonly() {
    //使编辑项目为不可编辑
    document.getElementById('jqTotalScore').disabled = false;
    document.getElementById('jqBaseScore').disabled = false;
    document.getElementById('jqSpecialtyScore').disabled = false;
    document.getElementById('jqSocialtyScore').disabled = false;
}

var cityHashTable = new Hashtable();
var industryHashTable = new Hashtable();
var positionHashTable = new Hashtable();
//Province Cities Linkage
function getCityContentValue() {
    var cityContent = document.getElementById("targetJob.cities");
    var cityIdContent = document.getElementById("choosedCityIds");
    var cityCheckedContent = document.getElementById("city");
    var ul = cityCheckedContent.getElementsByTagName("ul")[0];
    var cityList = new Array();
    var cityIdList = new Array();

    if (cityContent.value != "") {
        cityList = cityContent.value.split(",");
        cityIdList = cityIdContent.value.split(",");

//        cityHashTable.clear();

        for (var i = 0; i < cityList.length - 1; i++) {
            cityHashTable.put(cityIdList[i], cityList[i]);
        }
        ul.innerHTML = "";
        for (var j = 0; j < cityHashTable.size(); j++) {
            ul.innerHTML += "<li id='li" + cityHashTable.keys()[j] + "checked'><input type='checkbox' name='checkedCityIds' value='" + cityHashTable.keys()[j] + "checked' id='" + cityHashTable.keys()[j] + "checked' checked='true' onclick=\"delcheckBox('" + cityHashTable.keys()[j] + "','" + cityHashTable.keys()[j] + "checked','city')\" />" + cityHashTable.values()[j] + "</li>";
        }
    }
}

function proCityLinkage(provinceCtrlId, cityCtrlId) {
    var provinceCtrl = document.getElementById(provinceCtrlId);
    var selectedProvinceId = provinceCtrl.item(provinceCtrl.selectedIndex).value;

    if (provinceCtrl.value == "") {
        cityManager.getHotCities(function(data) {
            var hotCityCtrl = document.getElementById(cityCtrlId);
            hotCityCtrl.innerHTML = "";
            for (var i = 0; i < data.length; i++) {
                var hotCityId = data[i].id;
                var hotCityName = data[i].chineseName;
                hotCityCtrl.innerHTML += "<li id='li" + hotCityId + "'><input type='checkbox' name='provinceIds' value='" + hotCityId + "' id='" + hotCityId + "' onclick=\"chooseCities('checkProvinceIds','" + hotCityId + "', 'city','" + hotCityName + "')\" />" + hotCityName + "</li>";
                if (document.getElementById("li" + hotCityId + "checked") != null) {
                    document.getElementById(hotCityId).checked = true;
                }
            }
        });
    } else {
        cityManager.getByProvinceId(selectedProvinceId, function(data) {
            var cityCtrl = document.getElementById(cityCtrlId);
            cityCtrl.innerHTML = "";
            var ul = document.createElement("ul");
            for (var i = 0; i < data.length; i++) {
                var cityId = data[i].id;
                var cityName = data[i].chineseName;
                cityCtrl.innerHTML += "<li id='li" + cityId + "'><input type='checkbox' name='cityIds' value='" + cityId + "' id='" + cityId + "' onclick=\"chooseCities('checkedCityIds','" + cityId + "','city','" + cityName + "')\" />" + cityName + "</li>";
                if (document.getElementById("li" + cityId + "checked") != null) {
                    document.getElementById(cityId).checked = true;
                }
            }
        });
    }
}

function chooseCities(checkBoxName, checkBoxId, chooseConId, name) {
    var checkBoxChecked = document.getElementById(checkBoxId);
    var chooseCon = document.getElementById(chooseConId);

    var ul = chooseCon.getElementsByTagName("ul")[0];
    var li = document.getElementById("li" + checkBoxId + "checked");

    if (checkBoxChecked.checked) {
        cityHashTable.put(checkBoxId, name);
        if (cityHashTable.size() == 6) {
            alert("对不起，您已经选择了5项，请减少已选项，再继续选择");
            var removeKey = cityHashTable.keys()[5];
            cityHashTable.remove(removeKey);
            document.getElementById(removeKey).checked = false;
        } else {
            ul.innerHTML += "<li id='li" + checkBoxId + "checked'><input type='checkBox' name='" + checkBoxName + "' value='" + checkBoxId + "checked' id='" + checkBoxId + "checked' checked='true' onclick=\"delcheckBox('" + checkBoxId + "','" + checkBoxId + "checked','city')\" />" + name + "</li>";
        }
    } else {
        ul.removeChild(li);
        cityHashTable.remove(checkBoxId);
    }
}

function delcheckBox(upCheckedId, downCheckedId, chooseConId) {
    var upChecked = document.getElementById(upCheckedId);
    var downChecked = document.getElementById(downCheckedId);
    var chooseCon = document.getElementById(chooseConId);
    var ul = chooseCon.getElementsByTagName("ul")[0];
    var li = document.getElementById("li" + upCheckedId + "checked")
    //    downChecked.checked = false;
    if (upChecked != null)
        upChecked.checked = false;

    ul.removeChild(li);
    cityHashTable.remove(upCheckedId);
    industryHashTable.remove(upCheckedId);
    positionHashTable.remove(upCheckedId);
}

function cityTextContent() {
    var textContent = document.getElementById("targetJob.cities");
    var textId = document.getElementById("choosedCityIds");
    //textId.value = cityHashTable.keys();
    var citiesId = "";
    textContent.value = "";
    for (var i = 0; i < cityHashTable.size(); i++) {
        textContent.value = textContent.value + cityHashTable.values()[i] + ",";
        citiesId = citiesId + cityHashTable.keys()[i] + ",";
    }
//    alert(citiesId)
    textId.value = citiesId;

}

//Industry
var industryCon = document.getElementsByName("industryIds");
function getIndustryContentValue() {
    var industryContent = document.getElementById("targetJob.industry");
    var industryIdContent = document.getElementById("choosedIndustryIds");
    var industryList = new Array();
    var industryIdList = new Array();

    if (industryContent.value != "") {
        industryList = industryContent.value.split(",");
        industryIdList = industryIdContent.value.split(",");
    }

//    industryHashTable.clear();
    for (var i = 0; i < industryList.length - 1; i++) {
        industryHashTable.put(industryIdList[i], industryList[i]);
    }

}

function showIndustries() {
    var unlimit = document.getElementById("unlimit");
    var industryCon = document.getElementsByName("industryIds");

    var chooseCon = document.getElementById("industry");
    var ul = chooseCon.getElementsByTagName("ul")[0];

    industryManager.getAll(function(data) {
        var industryDiv = document.getElementById("targetJob.industry.id");
        industryDiv.innerHTML = "";
        for (var i = 0; i < data.length; i++) {
            var industryId = data[i].id;
            var industryName = data[i].chineseName;
            industryDiv.innerHTML += "<li id='li" + industryId + "'><input type='checkbox' name='industryIds' value='" + industryId + "' id='" + industryId + "' onclick=\"chooseIndustries('checkedIndustryIds','" + industryId + "', 'industry','" + industryName + "')\" />" + industryName + "</li>";
            if (document.getElementById("li" + industryId + "checked") != null) {
                document.getElementById(industryId).checked = true;
            }
        }
        if (unlimit.checked) {
            for (var i = 0; i < industryCon.length; i++) {
                industryCon[i].checked = false;
                industryCon[i].disabled = true;
            }
        }
    });
//    alert("aaaaaaaaaaaaaaaaaaaa")
    getIndustryContentValue();
    ul.innerHTML = "";
    if (!industryHashTable.containsKey("")) {
        document.getElementById("unlimit").checked = false;
    }
    for (var j = 0; j < industryHashTable.size(); j++) {
        if (industryHashTable.keys()[j] == "") {
            document.getElementById("unlimit").checked = true;
        }
        ul.innerHTML += "<li id='li" + industryHashTable.keys()[j] + "checked'><input type='checkbox' name='checkedIndustryIds' value='" + industryHashTable.keys()[j] + "checked' id='" + industryHashTable.keys()[j] + "checked' checked='true' onclick=\"delcheckBox('" + industryHashTable.keys()[j] + "','" + industryHashTable.keys()[j] + "checked','industry')\" />" + industryHashTable.values()[j] + "</li>";
    }
}

function chooseIndustries(checkBoxName, checkBoxId, chooseConId, name) {
    var checkBoxChecked = document.getElementById(checkBoxId);
    var chooseCon = document.getElementById(chooseConId);
    var ul = chooseCon.getElementsByTagName("ul")[0];
    var li = document.getElementById("li" + checkBoxId + "checked");

    if (checkBoxChecked.checked) {
        industryHashTable.put(checkBoxId, name);
        if (industryHashTable.size() == 6) {
            alert("对不起，您已经选择了5项，请减少已选项，再继续选择");
            var removeKey = industryHashTable.keys()[5];
            industryHashTable.remove(removeKey);
            document.getElementById(removeKey).checked = false;
        } else {
            ul.innerHTML += "<li id='li" + checkBoxId + "checked'><input type='checkBox' name='" + checkBoxName + "' value='" + checkBoxId + "checked' id='" + checkBoxId + "checked' checked='true' onclick=\"delcheckBox('" + checkBoxId + "','" + checkBoxId + "checked','industry')\" />" + name + "</li>";
        }
    } else {
        ul.removeChild(li);
        industryHashTable.remove(checkBoxId)
    }

}

function checkedAll() {
    var unlimit = document.getElementById("unlimit");
    var industryCon = document.getElementsByName("industryIds");
    var industryChooseCon = document.getElementById("industry");
    var industryChooseCon2 = document.getElementsByName("checkedIndustryIds");

    var ul = industryChooseCon.getElementsByTagName("ul")[0];

    if (unlimit.checked) {
        for (var i = 0; i < industryCon.length; i++) {
            industryCon[i].checked = false;
            industryCon[i].disabled = true;
        }
        if (industryChooseCon2.length != 0) {
            for (var j = industryChooseCon2.length - 1; j >= 0; j--) {
                var li = document.getElementById("li" + industryChooseCon2[j].id);
                ul.removeChild(li);
            }
        }
        industryHashTable.clear();
        industryHashTable.put("", "不限");
        ul.innerHTML += "<li id='liunlimitchecked'><input type='checkBox' name='unlimitchecked' value='' id='unlimitchecked' checked='true' onclick=\"delcheckBoxUnlimit()\" />" + "不限" + "</li>";
    } else {
        for (var i = 0; i < industryCon.length; i++) {
            industryCon[i].disabled = false;
        }
        industryHashTable.remove("unlimit");
        ul.removeChild(document.getElementById("liunlimitchecked"));
    }
}

function delcheckBoxUnlimit() {
    var upChecked = document.getElementById("unlimit");
    var downChecked = document.getElementById("liunlimitchecked");
    var chooseCon = document.getElementById("industry");

    var ul = chooseCon.getElementsByTagName("ul")[0];

    downChecked.checked = false;
    if (upChecked != null)
        upChecked.checked = false;
    ul.removeChild(downChecked);
    industryHashTable.remove("unlimit");
    for (var i = 0; i < industryCon.length; i++) {
        industryCon[i].disabled = false;
    }
}

function industryTextCon() {
    var textContent = document.getElementById("targetJob.industry");
    var textContentId = document.getElementById("choosedIndustryIds");
    textContent.value = "";
    textContentId.value = "";
    for (var i = 0; i < industryHashTable.size(); i++) {
        textContent.value = textContent.value + industryHashTable.values()[i] + ",";
        textContentId.value = textContentId.value + industryHashTable.keys()[i] + ",";
    }
}

//Position
function getPositionContentValue() {
    var positionContent = document.getElementById("targetJob.position");
    var positionIdContent = document.getElementById("choosedPositionIds");
    var positionCheckedContent = document.getElementById("position");
    var ul = positionCheckedContent.getElementsByTagName("ul")[0];
    var positionList = new Array();
    var positionIdList = new Array();

    if (positionContent.value != "") {
        positionList = positionContent.value.split(",");
        positionIdList = positionIdContent.value.split(",");

//        positionHashTable.clear();

        for (var i = 0; i < positionList.length - 1; i++) {
            positionHashTable.put(positionIdList[i], positionList[i]);
        }

        ul.innerHTML = "";
        for (var j = 0; j < positionHashTable.size(); j++) {
            ul.innerHTML += "<li id='li" + positionHashTable.keys()[j] + "checked'><input type='checkbox' name='checkedPositionIds' value='" + positionHashTable.keys()[j] + "checked' id='" + positionHashTable.keys()[j] + "checked' checked='true' onclick=\"delcheckBox('" + positionHashTable.keys()[j] + "','" + positionHashTable.keys()[j] + "checked','position')\" />" + positionHashTable.values()[j] + "</li>";
        }
    }
}

function positionLinkage(parentCtrlId, childCtrlId) {
    var parentCtrl = document.getElementById(parentCtrlId);
    var selectedPositionId = parentCtrl.item(parentCtrl.selectedIndex).value;

    positionCategoryManager.getPositionByParentId(selectedPositionId, function(data) {
        var childCtrl = document.getElementById(childCtrlId);
        childCtrl.innerHTML = "";
        var ul = document.createElement("ul");
        for (var i = 0; i < data.length; i++) {
            var childPositionId = data[i].id;
            var childPositionName = data[i].positionCategoryName;
            childCtrl.innerHTML += "<li id='li" + childPositionId + "'><input type='checkbox' name='positionIds' value='" + childPositionId + "' id='" + childPositionId + "' onclick=\"choosePositions('" + childPositionId + "','position','" + childPositionName + "')\" />" + childPositionName + "</li>";
            if (document.getElementById("li" + childPositionId + "checked") != null) {
                document.getElementById(childPositionId).checked = true;
            }
        }
    });
}

function choosePositions(checkBoxId, chooseConId, name) {
    var checkBoxChecked = document.getElementById(checkBoxId);
    var chooseCon = document.getElementById(chooseConId);

    var ul = chooseCon.getElementsByTagName("ul")[0];
    var li = document.getElementById("li" + checkBoxId + "checked")

    if (checkBoxChecked.checked) {
        positionHashTable.put(checkBoxId, name);
        if (positionHashTable.size() == 6) {
            alert("对不起，您已经选择了5项，请减少已选项，再继续选择");
            var removeKey = positionHashTable.keys()[5];
            positionHashTable.remove(removeKey);
            document.getElementById(removeKey).checked = false;
        } else {
            ul.innerHTML += "<li id='li" + checkBoxId + "checked'><input type='checkBox' name='checkedPositionIds' value='" + checkBoxId + "checked' id='" + checkBoxId + "checked' checked='true' onclick=\"delcheckBox('" + checkBoxId + "','" + checkBoxId + "checked','position')\" />" + name + "</li>";
        }
    } else {
        ul.removeChild(li);
        positionHashTable.remove(checkBoxId)
    }
}

function positionTextContent() {
    var textContent = document.getElementById("targetJob.position");
    var positionTextId = document.getElementById("choosedPositionIds");

    textContent.value = "";
    positionTextId.value = "";
    for (var i = 0; i < positionHashTable.size(); i++) {
        textContent.value = textContent.value + positionHashTable.values()[i] + ",";
        positionTextId.value = positionTextId.value + positionHashTable.keys()[i] + ",";
    }
}

//全部移除
function removeAll(contentId) {
    var contentCtrl = document.getElementById(contentId);
    var ul = contentCtrl.getElementsByTagName("ul")[0];
    var contentHashTable = eval(contentId + "HashTable");
    for (var i = 0; i < contentHashTable.size(); i++) {
        var industryCon = document.getElementsByName("industryIds");
        var li = document.getElementById("li" + contentHashTable.keys()[i] + "checked");

        ul.removeChild(li);

        if (contentHashTable.keys()[i] == "") {
            document.getElementById(contentHashTable.keys()[i]).checked = false;
            for (var j = 0; j < industryCon.length; j++) {
                industryCon[j].disabled = false;
            }
        } else if (document.getElementById(contentHashTable.keys()[i])) {
            document.getElementById(contentHashTable.keys()[i]).checked = false;
        }
    }
    contentHashTable.clear();
}


//页面遮罩控制
var bodyCtrl = document.getElementsByTagName("body")[0];
var div = document.createElement("div");
var iframe = document.createElement("iframe");

iframe.className = "dis";
div.className = "dis";

//function login() {
//    var loginDiv = document.getElementById("lgly");
//
//    if (loginDiv.style.display == "none") {
//        iframe.style.height = document.body.scrollHeight;
//        div.style.height = document.body.scrollHeight;
//        div.appendChild(iframe);
//        bodyCtrl.appendChild(div);
//        loginDiv.style.display = "";
//    }
//    else {
//        loginDiv.style.display = "none";
//        bodyCtrl.removeChild(div);
//    }
//}

function showAlarm(delId) {
    var hintDiv = document.getElementById("alarm");

    if (hintDiv.style.display == "none") {
        iframe.style.height = document.body.scrollHeight;
        div.style.height = document.body.scrollHeight;
        div.appendChild(iframe);
        bodyCtrl.appendChild(div);
        hintDiv.style.display = "";
        document.getElementById("degreeInfoId").value = delId;
    } else {
        hintDiv.style.display = "none";
        bodyCtrl.removeChild(div);
    }
}

function showHint() {
    var hintDiv = document.getElementById("hint");

    if (hintDiv.style.display == "none") {
        iframe.style.height = document.body.scrollHeight;
        div.style.height = document.body.scrollHeight;
        div.appendChild(iframe);
        bodyCtrl.appendChild(div);
        hintDiv.style.display = "";
    } else {
        hintDiv.style.display = "none";
        bodyCtrl.removeChild(div);
    }
}

function showHintPage(hintId, focusId) {
    //    alert(hintId);
    //    alert(focusId)
    var hintDiv = document.getElementById(hintId);
    if (hintDiv.style.display == "none") {
        iframe.style.height = document.body.scrollHeight;
        div.style.height = document.body.scrollHeight;
        div.appendChild(iframe);
        document.getElementsByTagName("body")[0].appendChild(div);
        hintDiv.style.display = "";
        document.getElementById(focusId).focus();
    } else {
        hintDiv.style.display = "none";
        document.getElementsByTagName("body")[0].removeChild(div);
    }
}

function showHintPage2(hintId) {
    var hintDiv = document.getElementById(hintId);

    if (hintDiv.style.display == "none") {
        iframe.style.height = document.body.scrollHeight;
        div.style.height = document.body.scrollHeight;
        div.appendChild(iframe);
        document.getElementsByTagName("body")[0].appendChild(div);
        hintDiv.style.display = "";
    } else {
        hintDiv.style.display = "none";
        document.getElementsByTagName("body")[0].removeChild(div);
    }
}


//页面输入控制
function showError(errId, errId_err) {
    var errorCtrl = document.getElementById(errId_err)

    if (window.document.getElementById(errId).value == "") {
        errorCtrl.style.display = "";
    } else {
        errorCtrl.style.display = "none";
    }
}

//页面select显示隐藏控制
function showHidden(controlId, showId) {
    var showCtrl = document.getElementById(showId);
    var selectCtrl = document.getElementById(controlId);
    if (selectCtrl.value == '-1') {
        showCtrl.style.display = "";
    }
    else {
        showCtrl.style.display = "none";
    }
}

function selectCPM(selectCtrlId, hiddenDivId) {
    var selectCtrl = document.getElementById(selectCtrlId)
    var hiddenDiv = document.getElementById(hiddenDivId)
    if (selectCtrl.item(selectCtrl.selectedIndex).text == "党员")
        hiddenDiv.style.display = ""
    else
        hiddenDiv.style.display = "none"
}

function showHidden2(controlId, hiddenId, showId) {
    var hiddenCtrl = document.getElementById(hiddenId);
    var showCtrl = document.getElementById(showId);
    if (window.document.getElementById(controlId).value == '-1') {
        showCtrl.style.display = "";
        hiddenCtrl.style.display = "none";
    }
    else {
        showCtrl.style.display = "none";
        hiddenCtrl.style.display = "";
    }
}

//radio 隐藏错误验证信息
function hidError(errorId) {
    document.getElementById(errorId).style.display = "none";
}

function showText() {
    var type = document.getElementById('type');
    var businessPractice = document.getElementById('businessPractice');
    var scientificResearchPractice = document.getElementById('scientificResearchPractice');
    var consortiumActivity = document.getElementById('consortiumActivity');

    if (type.value == "businessPractice") {
        businessPractice.style.display = "";
        scientificResearchPractice.style.display = "none";
        consortiumActivity.style.display = "none";
    }
    if (type.value == "scientificResearchPractice") {
        scientificResearchPractice.style.display = "";
        businessPractice.style.display = "none";
        consortiumActivity.style.display = "none";
    }
    if (type.value == "consortiumActivity") {
        consortiumActivity.style.display = "";
        scientificResearchPractice.style.display = "none";
        businessPractice.style.display = "none";
    }

}

function hideCreateDiv(divId) {
    document.getElementById(divId).innerHTML = "";
    document.getElementById(divId).style.display = "none";
}

function chkCheckBoxChs(objNam) {
    var obj = document.getElementsByName(objNam);
    var objLen = obj.length;
    var objYN;
    var i;
    objYN = false;
    for (i = 0; i < objLen; i++) {
        if (obj [i].checked == true) {
            objYN = true;
            break;
        }
    }
    return objYN;
}
function okSend() {
    if (chkCheckBoxChs('positionIds') == false) {
        alert('请先选择职位！');
        return false;
    } else {
        var flag = document.getElementById("delete");
        if (flag.id == "delete") {
            document.getElementById("positionAdd").action = "/enterprise/Position.action?delPosition";
            document.getElementById("positionAdd").submit();
        }
    }
}
function okSendStop() {
    if (chkCheckBoxChs('positionIds') == false) {
        alert('请先选择职位！');
        return false;
    } else {
        var flag = document.getElementById("stop");
        if (flag.id == "stop") {
            document.getElementById("positionAdd").action = "/enterprise/Position.action?updatePosition&auditState=4";
            document.getElementById("positionAdd").submit();
        }
    }
}
function compareDate(DateOne, DateTwo) {

    var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-"));
    var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf("-") + 1);
    var OneYear = DateOne.substring(0, DateOne.indexOf("-"));

    var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf("-"));
    var TwoDay = DateTwo.substring(DateTwo.length, DateTwo.lastIndexOf("-") + 1);
    var TwoYear = DateTwo.substring(0, DateTwo.indexOf("-"));
    if (Date.parse(OneMonth + "/" + OneDay + "/" + OneYear) > Date.parse(TwoMonth + "/" + TwoDay + "/" + TwoYear)) {
        return true;
    } else {
        return false;
    }
}
//验证日期
function chechreg() {
    if (compareDate(document.getElementById('createDate').value, document.getElementById('createDate1').value)) {
        alert("请输入合理的职位刷新日期段！");
        document.getElementById('createDate').focus();
        return false;
    }
    if (compareDate(document.getElementById('expireDate').value, document.getElementById('expireDate1').value)) {
        alert("请输入合理的职位截至日期段！");
        document.getElementById('expireDate').focus();
        return false;
    }
}

//document 完整度调用
function clewDocumentComplete(documentId) {

}
//职位状态选择
function cascadeBrowsePosition(auditState) {
    //alert(auditState);
    document.getElementById("browsePosition").action = "/administrator/PositionManager.action?adminPositionList&position.auditState=" + auditState;
    document.getElementById("browsePosition").submit();
}

function cascadeBrowseCompany(auditState) {
    //alert(auditState);
    document.getElementById("browseCompany").action = "/administrator/AdminCompany.action?transtoadminCompanyList&company.auditState=" + auditState;
    document.getElementById("browseCompany").submit();
}
//全部选择
function loadall(checkBoxName, formName) {
    var a = document.getElementsByTagName(checkBoxName);
    var tform = document.forms[formName];
    for (var i = 0; i < tform.length; i++) {
        var e = tform.elements[i];
        if (e.type == "checkbox")
            e.checked = !e.checked;
    }
}

//validation 批量审批
function okValidationCheckBox(positionIds, auditState) {
    var flag = null ;
    if (chkCheckBoxChs(positionIds) == false) {
        alert('请先选择职位！');
        return false;
    } else {
        if (auditState == 'audit') {
            flag = 3;
        } else {
            flag = 2;
        }
        document.getElementById("browsePosition").action = "/administrator/PositionManager.action?saveBrowsPosition&position.auditState=" + flag;
        document.getElementById("browsePosition").submit();
    }
}
//单个审批
function PartValidationCheckBox(audit) {
    var flag = null ;
    if (audit == "" || audit == 2) {
        flag = 3;
    } else if (audit == 3) {
        flag = 2;
    }
    document.getElementById("divPosition").action = "/administrator/PositionManager.action?saveBrowsPosition&position.auditState=" + flag;
    document.getElementById("divPosition").submit();
}

//AuditCompany
//validation 批量审批
function okValidationCheckBoxCompany(positionIds, AuditState) {
    var flag = null ;
    if (chkCheckBoxChs(positionIds) == false) {
        alert('请先选择职位！');
        return false;
    } else {
        if (AuditState == 'audit')
            flag = 1;
        else
            flag = 0;
        document.getElementById("browseCompany").action = "/administrator/AdminCompany.action?saveBrowsCompany&company.auditState=" + flag;
        document.getElementById("browseCompany").submit();
    }
}

//单个审批 公司审核
function PartValidationCheckBoxCompany(audit) {
    document.getElementById("divCompany").action = "/administrator/AdminCompany.action?saveBrowsCompany&company.auditState=" + audit;
    document.getElementById("divCompany").submit();
}


/*
* 判断浏览器类型
*/
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 str = "";
    if (manager != null && method != null) {
        str = " onfocus=\"autoCompleteWord(this.id,'" + manager + "','" + method + "','" + tagTypeName + "','" + label + "',event);\" onkeyup=\"autoCompleteWord(this.id,'" + manager + "','" + method + "','" + tagTypeName + "','" + label + "',event);\"";
    }
    var odiv = document.createElement("div");
    odiv.className = divClass;
    odiv.innerHTML = "<input type='text' name= '" + textNames + "' id='" + textNames + (iIndext + 1) + "' style='width:" + textWidth + "px'" + str + " 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);   //删除
}

//主观印象联动
function fillImpressionTitleAnswers(impressionTitleCtrlId, impressionTitleAnswerCtrlId) {
    var impressionTitleCtrl = document.getElementById(impressionTitleCtrlId);
    var impressionTitleId = impressionTitleCtrl.item(impressionTitleCtrl.selectedIndex).value;
    if (impressionTitleId == null || impressionTitleId == "")
        return;
    impressionTitleAnswerManager.getByImpressionTitleId(impressionTitleId, function(data) {
        DWRUtil.removeAllOptions(impressionTitleAnswerCtrlId);
        var impressionTitleAnswerCtrl = $(impressionTitleAnswerCtrlId)
        var option = document.createElement("option");
        option.value = "-1";
        option.text = "请选择词语";
        impressionTitleAnswerCtrl.options.add(option)
        DWRUtil.addOptions(impressionTitleAnswerCtrlId, data, "id", "answer")
    });
}

//选中的checkBox个数
function selectCheckbox(divId, maxNum) {
    var checkBoxs = document.getElementById(divId).getElementsByTagName("input");
    var n = 0;
    var length = Math.floor(checkBoxs.length / 2) + 1;
    for (var i = 0; i < checkBoxs.length; i++) {
        if (checkBoxs[i].checked) {
            n += 1;
        }
        if (n > length) {
            alert("该题最多只能选" + length + "个答案！");
            checkBoxs[i].checked = false;
            return;
        }
    }
}

function absolutePositionImage(id1, id2, id3, id4, leftTopX1, leftTopX2) {
    var div1 = document.getElementById(id1);
    var div2 = document.getElementById(id2);
    var div3 = document.getElementById(id3);
    var div4 = document.getElementById(id4);

//    div1.style.display = "none";
    //    div2.style.display = "none";
    if (leftTopX1 == 1) {
        div1.style.paddingLeft = leftTopX1 * 340 - 28 + "px";
        div3.style.paddingLeft = leftTopX1 * 340 - 28 + "px";
    } else {
        div1.style.paddingLeft = leftTopX1 * 340 + "px";
        div3.style.paddingLeft = leftTopX1 * 340 + "px";
    }
    if (leftTopX2 == 1) {
        div2.style.paddingLeft = leftTopX2 * 340 - 28 + "px";
        div4.style.paddingLeft = leftTopX2 * 340 - 28 + "px";
    } else {
        div2.style.paddingLeft = leftTopX2 * 340 + "px";
        div4.style.paddingLeft = leftTopX2 * 340 + "px";
    }
}
function absoluteFriendCommentImage(id1, id2, id3, id4, leftTopX1, leftTopX2) {
    var div1 = document.getElementById(id1);
    var div2 = document.getElementById(id2);
    var div3 = document.getElementById(id3);
    var div4 = document.getElementById(id4);

//    div1.style.display = "none";
    //    div2.style.display = "none";
    if (leftTopX1 == 1) {
        div1.style.paddingLeft = leftTopX1 * 170 - 28 + "px";
        div3.style.paddingLeft = leftTopX1 * 170 - 28 + "px";
    } else {
        div1.style.paddingLeft = leftTopX1 * 170 + "px";
        div3.style.paddingLeft = leftTopX1 * 170 + "px";
    }
    if (leftTopX2 == 1) {
        div2.style.paddingLeft = leftTopX2 * 170 - 28 + "px";
        div4.style.paddingLeft = leftTopX2 * 170 - 28 + "px";
    } else {
        div2.style.paddingLeft = leftTopX2 * 170 + "px";
        div4.style.paddingLeft = leftTopX2 * 170 + "px";
    }
}