var decodeURIComponentEx = function (uriComponent) {
|
if (!uriComponent) {
|
return uriComponent;
|
}
|
var ret;
|
try {
|
ret = decodeURIComponent(uriComponent);
|
} catch (ex) {
|
ret = unescape(uriComponent);
|
}
|
return ret;
|
};
|
(function (e, f, b) { var d = /\+/g; function g(j) { return j } function h(j) { return c(decodeURIComponentEx(j.replace(d, " "))) } function c(j) { if (j.indexOf('"') === 0) { j = j.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\") } return j } function i(j) { return a.json ? JSON.parse(j) : j } var a = e.cookie = function (r, q, w) { if (q !== b) { w = e.extend({}, a.defaults, w); if (q === null) { w.expires = -1 } if (typeof w.expires === "number") { var s = w.expires, v = w.expires = new Date(); v.setDate(v.getDate() + s) } q = a.json ? JSON.stringify(q) : String(q); return (f.cookie = [encodeURIComponent(r), "=", a.raw ? q : encodeURIComponent(q), w.expires ? "; expires=" + w.expires.toUTCString() : "", w.path ? "; path=" + w.path : "", w.domain ? "; domain=" + w.domain : "", w.secure ? "; secure" : ""].join("")) } var j = a.raw ? g : h; var u = f.cookie.split("; "); var x = r ? null : {}; for (var p = 0, n = u.length; p < n; p++) { var o = u[p].split("="); var k = j(o.shift()); var m = j(o.join("=")); if (r && r === k) { x = i(m); break } if (!r) { x[k] = i(m) } } return x }; a.defaults = {}; e.removeCookie = function (k, j) { if (e.cookie(k) !== null) { e.cookie(k, null, j); return true } return false } })(jQuery, document);
|
|
jQuery.fn.pagination=function(a,b){b=jQuery.extend({items_per_page:10,num_display_entries:10,current_page:0,num_edge_entries:0,link_to:"#",prev_text:"Prev",next_text:"Next",ellipse_text:"...",prev_show_always:true,next_show_always:true,callback:function(){return false}},b||{});return this.each(function(){function f(){return Math.ceil(a/b.items_per_page)}function h(){var k=Math.ceil(b.num_display_entries/2);var l=f();var j=l-b.num_display_entries;var m=g>k?Math.max(Math.min(g-k,j),0):0;var i=g>k?Math.min(g+k,l):Math.min(b.num_display_entries,l);return[m,i]}function e(j,i){g=j;c();var k=b.callback(j,d);if(!k){if(i.stopPropagation){i.stopPropagation()}else{i.cancelBubble=true}}return k}function c(){d.empty();var k=h();var o=f();var p=function(i){return function(q){return e(i,q)}};var n=function(i,q){i=i<0?0:(i<o?i:o-1);q=jQuery.extend({text:i+1,classes:""},q||{});if(i==g){var r=jQuery("<span class='current'>"+(q.text)+"</span>")}else{var r=jQuery("<a>"+(q.text)+"</a>").bind("click",p(i)).attr("href",b.link_to.replace(/__id__/,i))}if(q.classes){r.addClass(q.classes)}d.append(r)};if(b.prev_text&&(g>0||b.prev_show_always)){n(g-1,{text:b.prev_text,classes:"prev"})}if(k[0]>0&&b.num_edge_entries>0){var j=Math.min(b.num_edge_entries,k[0]);for(var l=0;l<j;l++){n(l)}if(b.num_edge_entries<k[0]&&b.ellipse_text){jQuery("<span>"+b.ellipse_text+"</span>").appendTo(d)}}for(var l=k[0];l<k[1];l++){n(l)}if(k[1]<o&&b.num_edge_entries>0){if(o-b.num_edge_entries>k[1]&&b.ellipse_text){jQuery("<span>"+b.ellipse_text+"</span>").appendTo(d)}var m=Math.max(o-b.num_edge_entries,k[1]);for(var l=m;l<o;l++){n(l)}}if(b.next_text&&(g<o-1||b.next_show_always)){n(g+1,{text:b.next_text,classes:"next"})}}var g=b.current_page;a=(!a||a<0)?1:a;b.items_per_page=(!b.items_per_page||b.items_per_page<0)?1:b.items_per_page;var d=jQuery(this);this.selectPage=function(i){e(i)};this.prevPage=function(){if(g>0){e(g-1);return true}else{return false}};this.nextPage=function(){if(g<f()-1){e(g+1);return true}else{return false}};c();b.callback(g,this)})};
|
|
jQuery.guide=function(b){$.cookie("mg","1",{expires:900});var c=jQuery("#guide_background");var a=jQuery("#guide_content").show();c.width($(document).width()).height($(document).height()).css({left:"0px",top:"0px"}).fadeIn();jQuery.each(b,function(e,f){var d=jQuery(f.tag);if(e===0){d.fadeIn()}d.children(".close").css({top:f.closetop,left:f.closeleft}).click(function(){c.fadeOut();d.fadeOut();});d.children(".next").css({top:f.nexttop,left:f.nextleft}).click(function(){if(f.next==""){c.fadeOut();a.fadeOut();d.fadeOut();$("html,body").animate({scrollTop:"0px"},500);}else{d.fadeOut();jQuery(f.next).fadeIn();$("html,body").animate({scrollTop:jQuery(f.next).offset().top},1000)}});c.click(function(){c.fadeOut();a.fadeOut();d.fadeOut()})})};$(function(){if($.cookie("mg")!="1"){startguide()}$("#startguide").click(function(){startguide()})});function startguide(){var a=[{tag:"#guide_content .step1",closetop:"245px",closeleft:"325px",nexttop:"470px",nextleft:"155px",next:"#guide_content .step2"},{tag:"#guide_content .step2",closetop:"420px",closeleft:"455px",nexttop:"630px",nextleft:"290px",next:"#guide_content .step3"},{tag:"#guide_content .step3",closetop:"365px",closeleft:"475px",nexttop:"580px",nextleft:"310px",next:"#guide_content .step4"},{tag:"#guide_content .step4",closetop:"360px",closeleft:"440px",nexttop:"580px",nextleft:"260px",next:"#guide_content .step5"},{tag:"#guide_content .step5",closetop:"30px",closeleft:"330px",nexttop:"230px",nextleft:"165px",next:""}];$.guide(a)};
|
|
|
String.prototype.trim = function() {
|
return this.replace(/(^\s*)|(\s*$)/g, "")
|
};
|
String.prototype.ltrim = function() {
|
return this.replace(/(^\s*)/g, "")
|
};
|
String.prototype.rtrim = function() {
|
return this.replace(/(\s*$)/g, "")
|
};
|
var map = new BMap.Map("map-container",{enableMapClick:false});
|
map.setMaxZoom(19);
|
var point = new BMap.Point(x,y);
|
map.centerAndZoom(point,13);
|
map.enableScrollWheelZoom();
|
map.addControl(new BMap.ScaleControl());
|
map.addControl(new BMap.NavigationControl());
|
var Timer = null;
|
var MarkerIndex = 1;
|
var BlueIcon = new BMap.Icon(marker_icon_blue,new BMap.Size(26,37),{
|
anchor: new BMap.Size(13,37)
|
});
|
map.addEventListener("dragend",function() {
|
if (Timer != null) {
|
clearTimeout(Timer)
|
}
|
Timer = setTimeout("searchWhenMoving("+0+","+true+")",1000);
|
});
|
map.addEventListener("zoomend", function() {
|
if (Timer != null) {clearTimeout(Timer)}
|
Timer = setTimeout("searchWhenMoving("+0+","+true+")",1000);
|
});
|
|
function searchByKeyword(page,e){
|
$("#map .map-loader").show();
|
var keyword = $.trim($("#keyword").val());
|
var b = $("#searchtype").val();
|
if (keyword == "") {
|
searchByLocation(0,true);
|
$("#map .map-loader").hide();
|
} else {
|
var k=map.getBounds();
|
var a=k.getSouthWest();
|
var d=k.getNorthEast();
|
|
get_data_map(keyword,a.lng,d.lng,a.lat,d.lat,page,e,3,b);
|
}
|
}
|
|
function searchByLocation(page,f) {
|
var b=map.getBounds();
|
var a=b.getSouthWest();
|
var d=b.getNorthEast();
|
var t = $("#searchtype").val();
|
|
get_data_map('',a.lng,d.lng,a.lat,d.lat,page,f,2,t);
|
}
|
|
function searchWhenMoving(page,h) {
|
$("#map .map-loader-box").show();
|
var d = map.getBounds();
|
var a = d.getSouthWest();
|
var f = d.getNorthEast();
|
var keyword = $.trim($("#keyword").val());
|
var c = $("#searchtype").val();
|
if(keyword==""){
|
|
searchByLocation(0,true);
|
}else{
|
|
get_data_map(keyword,a.lng,f.lng,a.lat,f.lat,page,h,1,c);
|
}
|
}
|
|
function get_data_map(keyword,min_lng,max_lng,min_lat,max_lat,page,t,ttype,type){
|
var keyword,min_lng,max_lng,min_lat,max_lat,page,t,type;
|
$.post(getdataurl,{keyword:keyword,min_lng:min_lng,max_lng:max_lng,min_lat:min_lat,max_lat:max_lat,page:page,type:type},function(data){
|
var data=eval('('+data+')');
|
addMarker(data.list,false);
|
$("#count").html(data.count);
|
$("#map .map-loader").hide();
|
$("#map .map-loader-box").hide();
|
if(data.count==0){
|
layer.msg(decodeURI('没有获取到数据,您还可以拖动地图看看其它地区的招聘信息!'),2,8);
|
$("#Pagination").hide();
|
}else{
|
$("#Pagination").show();
|
if(t && ttype==1){
|
updatePageWhenMoving(data.count);
|
}
|
if(t && ttype==2){
|
updatePageByLocation(data.count);
|
}
|
if(t && ttype==3){
|
updatePageByKeyword(data.count);
|
}
|
}
|
|
})
|
}
|
|
var _current_iw = null;
|
|
function addMarker(d,c){
|
map.clearOverlays();
|
var b = $("#newcontent");
|
b.empty();
|
var a = 0;
|
var type = $('#searchtype').val();
|
if(d && d.length>0){
|
|
$.each(d,function(g,r) {
|
var f=new BMap.Icon(marker_icon_url,new BMap.Size(23,25),{anchor:new BMap.Size(10,25),imageOffset:new BMap.Size(0,0-a*25)
|
});
|
var n = new BMap.Point(r.x, r.y);
|
var h = new BMap.Marker(n,{icon: f});
|
map.addOverlay(h);
|
var q = $("<dl class='markerinfo'></dl>");
|
var l = $("<dt><a href='"+r.com_url+"' target='_blank'>"+r.name+(r["is_vip"]?'<span class="vip" title="VIP会员企业">V</span>':'')+"</a></dt>");
|
var i = r.joblist;
|
var p = "";
|
for (var v in i) {
|
p+="<dd style='height:25px;'><a href='"+i[v]["job_url"]+"'target='_blank'>"+i[v]["name"]+"</a></dd>"
|
}
|
p+="<dd class='more'><a href='"+r.com_url+"' target='_blank'>更多…</a></dd>";
|
var t = $(p);
|
q.append(l);
|
q.append(t);
|
q = q[0];
|
var k = {message:r.name,enableCloseOnClick:false};
|
var u = new BMap.InfoWindow(q, k);
|
u.addEventListener("clickclose", function() {
|
_current_iw = null
|
});
|
h.addEventListener("click", function() {
|
_current_iw = r.id;
|
this.openInfoWindow(u);
|
radius()
|
});
|
|
if(type=='company'){
|
var m = $("<div class='map_comlist'></div>");
|
var html = '';
|
html += '<div class="map_comlist_c">';
|
html += '<a class="map_comname" href="'+r.com_url+'">'+r.name+'</a>';
|
if(i && i.length>0){
|
for (var v in i) {
|
html += '<div class="map_comlist_job">';
|
html += '<a class="map_comlist_jobname" href="'+i[v].job_url+'">'+i[v]['name']+'</a>';
|
html += '<div class="map_comlist_jobinfo">';
|
html += '<span class="map_comlist_jobxz">'+i[v]['job_salary']+'</span>';
|
if(i[v]['job_exp']!=''){
|
html += '<span class="map_comlist_jobline">|</span>'+i[v]['job_exp']+'经验';
|
}
|
if(i[v]['job_edu']!=''){
|
html += '<span class="map_comlist_jobline">|</span>'+i[v]['job_edu']+'学历';
|
}
|
html += '</div>';
|
html += '<a href="'+i[v].job_url+'" class="new_map_lookjob">查看</a>'
|
html += '</div>';
|
}
|
}else{
|
html += '<div class="map_comlist_job">暂无职位</div>';
|
}
|
html += '</div>';
|
m.append(html);
|
}else{
|
|
var m = $("<div class='new_map_job'></div>");
|
var html = '';
|
html += '<div class="new_map_jobname">';
|
html += '<a href="'+i[0]['job_url']+'">'+i[0]['name']+'</a>';
|
html += '</div>';
|
html += '<div class="new_map_info">';
|
html += '<span class="new_map_info_xz">'+i[0]['job_salary']+'</span>';
|
|
if(i[0]['job_exp']!=''){
|
html += '<span class="new_map_jobline">|</span>'+i[0]['job_exp']+'经验';
|
}
|
if(i[0]['job_edu']!=''){
|
html += '<span class="new_map_jobline">|</span>'+i[0]['job_edu']+'学历';
|
}
|
|
html += '</div>';
|
html += '<div class="new_map_comname">';
|
html += '<a href="'+r.com_url+'">'+r.name+'</a>';
|
html += '</div>';
|
var wfarr = i[0]['welfare_n'];
|
for (var wf in wfarr) {
|
if(wfarr[wf].trim()!=''){
|
html += '<a class="new_map_comfl">'+wfarr[wf]+'</a>';
|
}
|
}
|
|
html += '<a href="'+i[0]['job_url']+'" class="new_map_look">查看</a>'
|
m.append(html);
|
}
|
|
|
b.append(m);
|
|
h.addEventListener("mouseover",function(w) {
|
m.css("background-color","#fff");
|
});
|
h.addEventListener("mouseout",function() {
|
m.css("background-color","#f8f8f8");
|
});
|
m.click(function(w) {
|
if(w.target.tagName!="a" && w.target.tagName!="A"){
|
_current_iw = r.id;
|
h.openInfoWindow(u);
|
radius();
|
}
|
});
|
m.hover(function(w) {
|
h.setIcon(BlueIcon);
|
h.setZIndex(MarkerIndex++);
|
m.css("background-color","#fff");
|
},function(w) {
|
h.setIcon(f);
|
m.css("background-color","#f8f8f8");
|
});
|
if(c){
|
map.centerAndZoom(n,13);
|
c=false;
|
}
|
if(_current_iw==r.id){
|
h.openInfoWindow(u);
|
}
|
a++;
|
})
|
}else{
|
var pagetype = type=='company'?'企业':'职位';
|
|
b.append('<div class="map_no_job">附近暂无'+pagetype+'</div>');
|
}
|
}
|
function updatePageByKeyword(a) {
|
$("#Pagination").pagination(a, {
|
callback:callbackKeyword,
|
prev_text:" ",
|
next_text:" ",
|
items_per_page:10,
|
num_edge_entries:1,
|
num_display_entries:3,
|
link_to: "javascript:;"
|
})
|
}
|
function callbackKeyword(a, b){
|
searchByKeyword(a, false)
|
}
|
function updatePageByLocation(a){
|
$("#Pagination").pagination(a,{
|
callback: callbackLocation,
|
prev_text: " ",
|
next_text: " ",
|
items_per_page: 10,
|
num_edge_entries: 1,
|
num_display_entries: 3,
|
link_to: "javascript:;"
|
})
|
}
|
function callbackLocation(a,b){
|
searchByLocation(a, false)
|
}
|
function updatePageWhenMoving(a){
|
$("#Pagination").pagination(a,{
|
callback: callbackWhenMoving,
|
prev_text: " ",
|
next_text: " ",
|
items_per_page:10,
|
num_edge_entries: 1,
|
num_display_entries: 3,
|
link_to: "javascript:;"
|
})
|
}
|
function callbackWhenMoving(a,b){
|
searchWhenMoving(a,false);
|
}
|
function radius(){
|
$(".BMap_top").next().children().css("border-top-right-radius","10px 10px");
|
$(".BMap_top").prev().children().css("border-top-left-radius","10px 10px");
|
$(".BMap_bottom").next().children().css("border-bottom-right-radius","10px 10px");
|
$(".BMap_bottom").prev().children().css("border-bottom-left-radius","10px 10px");
|
}
|
function get_current_loaction(page) {
|
var geolocation = new BMap.Geolocation();
|
geolocation.getCurrentPosition(function (r) {
|
if (this.getStatus() == BMAP_STATUS_SUCCESS) {
|
location_r = r;
|
|
var point = new BMap.Point(r.point.lng,r.point.lat);
|
|
map.centerAndZoom(point,13);
|
var k=map.getBounds();
|
var a=k.getSouthWest();
|
var d=k.getNorthEast();
|
var t=$('#searchtype').val();
|
|
get_data_map('',a.lng,d.lng,a.lat,d.lat,page,true,2,t);
|
}
|
else {
|
|
}
|
}, { enableHighAccuracy: true });
|
}
|
|
$(document).ready(function() {
|
|
$('.changetype').click(function(){
|
var type = $(this).attr('data-type');
|
$('#keyword').val('');
|
$('#searchtype').val(type);
|
$('#t'+type).addClass('new_mapbox_nav_cur');
|
|
if(type=='job'){
|
$('#tcompany').removeClass('new_mapbox_nav_cur');
|
$("#keyword").attr("placeholder","请输入职位名称");
|
}else{
|
$('#tjob').removeClass('new_mapbox_nav_cur');
|
$("#keyword").attr("placeholder","请输入企业名称");
|
}
|
searchByKeyword(0,true)
|
});
|
$("#keyword").keydown(function(a) {
|
if(a.keyCode==13){
|
searchByKeyword(0,true)
|
}
|
});
|
$("#submitbutton").click(function() {
|
searchByKeyword(0,true)
|
});
|
$("#search .hot a").click(function() {
|
$("#map .map-loader").show();
|
var a = $(this).html();
|
a.trim();
|
$("#keyword").val(a);
|
$("#title a").attr("class", "nselect");
|
var b = $("#title i");
|
b.detach();
|
$("#title a[title=job]").attr("class", "select").append(b);
|
$("#searchtype").val("job");
|
searchByKeyword(0,true)
|
});
|
if(map_tocity==1){
|
get_current_loaction(0)
|
}else{
|
map.centerAndZoom(point,14);
|
var k=map.getBounds();
|
var a=k.getSouthWest();
|
var d=k.getNorthEast();
|
var t=$('#searchtype').val();
|
|
get_data_map('',a.lng,d.lng,a.lat,d.lat,0,true,2,t);
|
}
|
|
});
|