// ======= 页面头部 =========================================================================// $().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 += "
" + data[i].caption + "
"; } } 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 + '"}'; } }