// ======= 页面头部 =========================================================================//
$().ready(function() {
if (null == $2("txtHSKeywords"))
return;
//加载搜索自动完成。
$("#txtHSKeywords").autocomplete_HXW();
//添加子对象的事件。
header.addDataItemEvent("divData_App");
header.addDataItemEvent("divData_SubSite");
//点击关闭面板。
$().bind("click", function(e) {
var ev = window.event || e;
var obj = ev.srcElement ? ev.srcElement : ev.target;
var divData_App = $("#divData_App");
var divData_SubSite = $("#divData_SubSite");
divData_App.hide();
divData_SubSite.hide();
if (obj.id == "divHSApp")
divData_App.show();
else if (obj.id == "divHSSubsite")
divData_SubSite.show();
var divHistoryContent = $("#divHistoryContent");
if (null != divHistoryContent[0] && obj.id != "divHistory")
divHistoryContent.hide();
});
});
var header = {
//按回车键触发搜索。
txtKeyword_Onkeydown: function(e) {
var ev = window.event || e;
if (ev.keyCode == 13) {
this.search();
return false;
}
},
//开始搜索。
search: function() {
var url = this.getSearchUrl(false);
if (null == url)
return;
window.location.href = url;
},
//获取搜索的网址(如果为null表示关键字为空)。
//isAjax 是否为ajax请求。
getSearchUrl: function(isAjax) {
//获取关键字。
var keywords = $.trim($("#txtHSKeywords").val());
if (keywords.length == 0) {
$2("txtHSKeywords").focus();
return null;
}
keywords = EncodeURI(keywords);
//获取应用程序值。
var appValue = $.trim($("#divHSApp").attr("myval"));
//获取分站值。
var subSiteValue = $.trim($("#divHSSubsite").attr("myval"));
//获取请求的网址。
var url = "";
if (isAjax) {
url = $.trim($("#divHSApp").attr("ajaxUrl"));
url = url.replace("{app}", appValue).replace("{key}", keywords);
if (subSiteValue.length > 0)
url += "®ion=" + subSiteValue;
}
else {
url = $.trim($("#divHSApp").attr("searchUrl"));
appValue = appValue == "1" ? "jobSearch" : "resumeSearch";
url = url.replace("{app}", appValue).replace("{key}", keywords);
if (subSiteValue.length > 0)
url += "&r=" + subSiteValue;
//排序。
if (window.location.href.toLowerCase().indexOf("sort=true") > 0)
url += "&sort=true";
}
return url;
},
showDrop: function(srcElement, divDataID) {
var offset = $(srcElement).offset();
var divData = $("#" + divDataID);
divData.css("position", "absolute");
divData.css("left", offset.left + "px");
divData.css("top", offset.top + "px");
divData.show();
},
hideDrop: function(divDataID) {
$("#" + divDataID).hide();
},
//添加数据项事件。
addDataItemEvent: function(divDataID) {
var parent = $("#" + divDataID);
$.each(parent.children(), function(i, item) {
$(item).bind("mouseover", function() {
this.className = "hs-dataItem hs-dataItem-over";
});
$(item).bind("mouseout", function() {
this.className = "hs-dataItem";
});
$(item).bind("click", function() {
var tarID = divDataID == "divData_App" ? "divHSApp" : "divHSSubsite";
var tar = $("#" + tarID);
tar.html(this.innerHTML);
tar.attr("myval", this.getAttribute("myval"));
parent.hide();
if (divDataID == "divData_App") {
$("div[class='hs-hotKeyrowds']").hide();
$("#" + this.getAttribute("divHotKeyID")).show();
}
});
});
},
//显示浏览历史。
divHistoryContent: null,
displayHistory: function(oElementID) {
if (null == this.divHistoryContent) {
this.divHistoryContent = $2("divHistoryContent");
var jobHtml = this.getHistoryFormCookie("cookie_myHistory2_true", "header_historyItem_job");
var resumeHtml = this.getHistoryFormCookie("cookie_myHistory2_false", "header_historyItem_resume");
this.divHistoryContent.innerHTML = jobHtml +
"
" +
resumeHtml;
if (jobHtml.length == 0 && resumeHtml.length == 0)
this.divHistoryContent.innerHTML = "温馨提示:当前没有任浏览记录。";
}
showPanel(oElementID, "divHistoryContent", 360, null, -372, 18);
},
//从cookie中取出浏览历史。
getHistoryFormCookie: function(cookieName, className) {
var html = "";
//工作岗位浏览历史。
var dataText = $.cookie(cookieName);
if (null != dataText) {
var data = eval('([' + dataText + '])');
for (var i = data.length - 1; i >= 0; i--) {
html += "";
}
}
return html;
}
}
// ======= 首页 =========================================================================//
$().ready(function() {
if (null == $2("txtUserID"))
return;
$2("txtUserID").focus();
});
index = {
//用户登陆。
userLogin: function() {
var txtUserID = $2("txtUserID");
var txtPassword = $2("txtPassword");
var chkSavePassword = $2("chkSavePassword");
var btLogin = $2("btLogin");
if ($.trim(txtUserID.value).length == 0) {
txtUserID.focus();
return false;
}
if ($.trim(txtPassword.value).length == 0) {
txtPassword.focus();
return false;
}
btLogin.disabled = "disabled";
$.ajax({
type: "POST",
contentType: "application/json",
url: "AJAXServer.asmx/UserLogin",
data: "{userID:'" + txtUserID.value + "',password:'" + txtPassword.value + "',savePassword:'" + chkSavePassword.checked + "'}",
dataType: 'json',
success: function(result) {
if (result.d[0] == "1") {
window.location.href = result.d[1];
}
else {
alert(result.d[1]);
txtPassword.focus();
}
btLogin.disabled = "";
txtPassword.value = "";
},
error: function() {
btLogin.disabled = "";
txtPassword.value = "";
}
});
return true;
}
}
// ======= 登录、注册页面 =========================================================================//
var pi = {
//重新生成验证码。
//olImageID 验证码显示图片ID。
//olTextBoxID 输入验证码的文本框ID。
reGenCheckCode: function(olImageID, olTextBoxID) {
var olImage = $2(olImageID);
if (null == olImage)
return;
var olTextBox = $2(olTextBoxID);
if (null == olTextBox)
return;
//生成随机码。
var numkey = Math.random();
numkey = Math.round(numkey * 10000);
olImage.src = olImage.getAttribute("_imgPath") + "&r=" + numkey;
olTextBox.value = "";
olTextBox.focus();
}
}
// ======= 工作岗位或简历搜索页面 =========================================================================//
$().ready(function() {
//如果不是搜索页面则不执行以下语句。
if (null == $("divAdvSearch"))
return;
//设置搜索选项值。
search.setSearchOptionValue();
//设置当前排序方式。
var divSortByMatch = $("#divSortByMatch");
var divSortByPostData = $("#divSortByPostData");
var index = window.location.href.indexOf("?");
var hasKeywords = window.location.href.indexOf("k=") > 0;
var qs = "";
var page = window.location.href;
if (index > 0) {
qs = window.location.href.substring(index + 1);
page = window.location.href.substring(0, index);
}
var div = divSortByPostData;
if (qs.indexOf("sort=") > 0)
div = divSortByMatch;
div.addClass("job_SearchFilters_right_sort job_SearchFilters_right_sort_current");
div = div == divSortByMatch ? divSortByPostData : divSortByMatch;
if (hasKeywords) {
div.bind("mouseover", function() {
this.className = "job_SearchFilters_right_sort job_SearchFilters_right_sort_current";
});
div.bind("mouseout", function() {
this.className = "job_SearchFilters_right_sort";
});
div.bind("click", function() {
qs = qs.replace("&sort=true", "").replace("sort=true", "").replace(/&?page=\d+/, "");
if (index > 0 && window.location.href.indexOf("sort=") < 0)
qs = qs + "&sort=true";
if (qs.length > 0)
window.location.href = page + "?" + qs;
});
}
});
var search = {
_cookieName: null,
//根据页面设置cookie名称。
cookieName: function() {
if (null == this._cookieName)
this._cookieName = window.location.href.toLowerCase().indexOf("job") > 0 ? "myjob123_net_jobSearch_displayMode" : "myjob123_net_resumeSearch_displayMode";
return this._cookieName;
},
//显示或隐藏工作岗位详细信息。
displayJobDetail: function(index, ol) {
var jobDetail = $("#divJobDetails_" + index);
if (jobDetail.css("display") == "none") {
jobDetail.slideDown("fast");
ol.className = "job_content_Jobs_item_action_Expand";
ol.innerHTML = "隐藏详细";
}
else {
jobDetail.slideUp("fast");
ol.className = "job_content_Jobs_item_actionNormal";
ol.innerHTML = "展开查看";
}
},
//在页面初始化时自动根据cookie设置显示模式。
initDisplayJobs: function() {
var obj = $.cookie(this.cookieName());
if (undefined != obj && obj == "true")
this.displayJobs(true);
},
//显示方式(鼠标置于其上的事件)。
displayButtonMouseOver: function(e, ol) {
var ev = window.event || e;
var x = ev.clientX - $(ol).offset().left;
var displayMode = ol.getAttribute("displayMode");
if (displayMode == "detail") {
if (x <= 140) {
if (ol.className != "job_action_displayMode_list")
ol.className = "job_action_displayMode_list";
ol.style.cursor = "pointer";
}
else {
if (ol.className != "job_action_displayMode_detail")
ol.className = "job_action_displayMode_detail";
ol.style.cursor = "";
}
}
else {
if (x > 140) {
if (ol.className != "job_action_displayMode_detail")
ol.className = "job_action_displayMode_detail";
ol.style.cursor = "pointer";
}
else {
if (ol.className != "job_action_displayMode_list")
ol.className = "job_action_displayMode_list";
ol.style.cursor = "";
}
}
},
//显示方式(鼠标离开的事件)。
displayButtonMouseOut: function(ol) {
ol.className = ol.getAttribute("displayMode") == "detail" ? "job_action_displayMode_detail" : "job_action_displayMode_list";
},
//显示方式(鼠标单击的事件)。
displayButtonMouseDown: function(e, ol) {
var ev = window.event || e;
var x = ev.clientX - $(ol).offset().left;
var displayMode = ol.getAttribute("displayMode");
if (displayMode == "detail") {
if (x <= 140) {
this.displayJobs(false);
}
}
else {
if (x > 140) {
this.displayJobs(true);
}
}
},
//显示工作岗位。
//isDetail 是否以详细方式显示。
displayJobs: function(isDetailDisplay) {
var divDisplayMode = $2("divDisplayMode");
if (null == divDisplayMode)
return;
divDisplayMode.className = isDetailDisplay ? "job_action_displayMode_detail" : "job_action_displayMode_list";
divDisplayMode.setAttribute("displayMode", isDetailDisplay ? "detail" : "list");
//设置cookie。
$.cookie(this.cookieName(), isDetailDisplay, { expires: 30 });
for (var i = 0; i < 100; i++) {
var div = $("#divJobDetails_" + i);
var bt = $2("job_content_Jobs_item_actionNormal_" + i);
if (null == div[0])
return;
if (isDetailDisplay) {
if (div.css("display") == "none") {
div.show();
bt.innerHTML = "隐藏详细";
bt.className = "job_content_Jobs_item_action_Expand";
}
}
else {
if (div.css("display") != "none") {
div.hide();
bt.innerHTML = "展开查看";
bt.className = "job_content_Jobs_item_actionNormal";
}
}
}
},
//获取搜索选项值。
getSearchOptionValues: function() {
//验证关键字。
var txtAdvKeywords = $("#txtAdvKeywords");
if ($.trim(txtAdvKeywords.val()).length < 1) {
alert("对不起,请输入搜索关键词。");
txtAdvKeywords[0].focus();
return null;
}
var q = "";
var workExperienceTypes = 0;
var levels = 0;
var keywords = EncodeURI($.trim(txtAdvKeywords.val()), false);
var postDate = $("#sel_header_PostDate").val(); //发布时间。
var jobWorkModes = $("#sel_header_JobWorkModes").val(); //工作类型。
var degrees = $("#sel_header_Degrees").val(); //学历要求。
var drWorkExperienceTypes = $("#sel_header_WorkExperienceTypes");
if (null != drWorkExperienceTypes[0])
workExperienceTypes = drWorkExperienceTypes.val(); //工作经验。
var drLevels = $("#sel_header_Levels");
if (null != drLevels[0])
levels = drLevels.val(); //紧急程度。
var sexRequires = $("#sel_header_SexRequires").val(); //性别要求。
var region = $("#sel_header_Subsite").val(); //获取工作地址
q += "k=" + keywords;
if (postDate > 0)
q += "&p=" + postDate;
if (jobWorkModes > 0)
q += "&wm=" + jobWorkModes;
if (degrees > 0)
q += "&d=" + degrees;
if (workExperienceTypes > 0)
q += "&we=" + workExperienceTypes;
if (levels > 0)
q += "&er=" + levels;
if (sexRequires > 0)
q += "&sex=" + sexRequires;
if (region.length > 0)
q += "&r=" + region;
if (window.location.href.indexOf("sort=true") > 0)
q += "&sort=true";
return q;
},
//设置搜索选项值。
setSearchOptionValue: function() {
var url = window.location.href.toLowerCase();
//如果是兼职频道。
if (url.indexOf("parttime") > 0) {
$("#sel_header_JobWorkModes").val(2);
return;
}
//如果是紧急招聘。
if (url.indexOf("urgent") > 0) {
$("#sel_header_Levels").val(3);
return;
}
var index = url.lastIndexOf("?");
if (index < 0)
return;
var arr = url.substring(index + 1).split("&");
$.each(arr, function(i, item) {
var arr2 = item.split("=");
var key = $.trim(arr2[0]);
switch (key) {
case "k":
$2("txtAdvKeywords").value = DecodeURI(arr2[1], false);
break;
case "p":
$("#sel_header_PostDate").val(arr2[1]);
break;
case "wm":
$("#sel_header_JobWorkModes").val(arr2[1]);
break;
case "d":
$("#sel_header_Degrees").val(arr2[1]);
break;
case "we":
var drWorkExperienceTypes = $("#sel_header_WorkExperienceTypes");
if (null != drWorkExperienceTypes[0])
drWorkExperienceTypes.val(arr2[1]);
break;
case "er":
var drLevels = $("#sel_header_Levels");
if (null != drLevels[0])
drLevels.val(arr2[1]);
break;
case "sex":
$("#sel_header_SexRequires").val(arr2[1]);
break;
case "r":
$("#sel_header_Subsite").val(arr2[1]);
break;
}
});
},
//重置搜索选项。
resetSearchOption: function() {
$2("txtAdvKeywords").value = "";
var selPostDate = $2("sel_header_PostDate");
selPostDate.selectedIndex = this.setSelectDefaultValue(selPostDate);
var selJobWorkModes = $2("sel_header_JobWorkModes");
selJobWorkModes.selectedIndex = this.setSelectDefaultValue(selJobWorkModes);
var selDegrees = $2("sel_header_Degrees");
selDegrees.selectedIndex = this.setSelectDefaultValue(selDegrees);
var selWorkExperienceTypes = $2("sel_header_WorkExperienceTypes");
if (null != selWorkExperienceTypes)
selWorkExperienceTypes.selectedIndex = this.setSelectDefaultValue(selWorkExperienceTypes);
var selLevels = $2("sel_header_Levels");
if (null != selLevels)
selLevels.selectedIndex = this.setSelectDefaultValue(selLevels);
var selSubsite = $2("sel_header_Subsite");
selSubsite.selectedIndex = this.setSelectDefaultValue(selSubsite);
},
//设置select控件的默认值。
setSelectDefaultValue: function(sel) {
var selectedIndex = 0;
$.each(sel.options, function(i, item) {
if (item.getAttribute("__selected")) {
selectedIndex = i;
}
});
return selectedIndex;
},
//开始搜索。
search: function() {
var q = this.getSearchOptionValues();
if (null == q)
return;
var url = $("#txtAdvKeywords").attr("searchUrl");
window.location.href = url + "?" + q;
}
}
// ======= 公司信息 =========================================================================//
$().ready(function() {
if (null == $2("divCompanyInfo") || company.documentLoaded)
return;
company.documentLoaded = true;
var w = $(document).width();
if (w < 998) {
w = 998;
$2("divCompany").style.width = "998px";
$2("divOuter").style.width = "998px";
}
$2("divCompanyLogo").style.width = w - 730 + "px";
$('#divRight').css({ width: w - company.divLeftWidth, 'display': 'block', 'margin-left': 7 });
company.jericho.buildTabpanel();
});
var company = {
documentLoaded: false,
divLeftWidth: 290,
company_currentJobID: 0,
company_tabCompanyIcon: "",
company_tabJobIcon: "",
jericho: {
buildTabpanel: function() {
$.fn.initJerichoTab({
renderTo: '#divRight',
uniqueId: 'myJerichoTab',
contentCss: { 'height': $('#divRight').height() - 53 },
tabs: [{
title: ' 公司信息',
tabWidth: 150,
closeable: false,
iconImg: company.company_tabCompanyIcon,
data: { dataType: 'formtag', dataLink: '#divCompanyInfo' }
}],
activeTabIndex: 0,
loadOnce: true
});
}
},
jericho_addTab: function(caption, _dataLink, jobID, index) {
//更新工作岗位浏览次数。
if ($2(_dataLink).style.display.length == 0) {
AJAXUtility.OnLoadJobInfos(jobID);
}
//设置当前工作岗位。
company.company_currentJobID = jobID;
$.fn.jerichoTab.addTab({
title: caption,
tabFirer: $('#' + _dataLink),
tabWidth: 100,
closeable: true,
iconImg: company.company_tabJobIcon,
data: { dataType: 'formtag', dataLink: '#' + _dataLink }
}).showLoader().loadData();
if (null != index) {
for (var i = 0; i < 1000; i++) {
var divjobItem = $2("div_jobItem_" + i);
if (null == divjobItem)
break;
divjobItem.setAttribute("class2", i == index ? "company_jobItem_focused" : "company_jobItem");
divjobItem.className = i == index ? "company_jobItem_focused" : "company_jobItem";
}
}
},
//添加到浏览历史中。
addHistory: function(isJob, caption, url) {
var c = isJob ? 14 : 20;
url = $.trim(url).toLowerCase();
var dataText = $.cookie("cookie_myHistory2_" + isJob);
if (null == dataText) {
dataText = "";
}
else {
var data = eval('([' + dataText + '])');
var len = 0;
//删除重复的数据。
for (var i = 0; i < data.length; i++) {
if (data[i].url == url)
data[i] = null;
else
len += 1;
}
//最多只允许保留最近10条浏览记录。
if (len >= c)
data[0] = null;
//重新拼接字符串。
dataText = "";
$.each(data, function(i, item) {
if (null != item)
dataText += company.formatData(item.caption, item.url) + ",";
});
}
dataText += this.formatData(caption, url);
$.cookie("cookie_myHistory2_" + isJob, dataText, { expires: 30, path: '/', secure: false });
},
//格式化为json格式。
formatData: function(caption, url) {
return '{"caption": "' + caption + '", "url": "' + url + '"}';
}
}