//remove company search on 20100723
$(document).ready(function () {
		//advanced search div show and hidden
		$('#advancedImg').click(function(){ $('#advcSch').slideToggle(); });
		//open login popup in the save jobs popup
		$('#login_popup a.login_popup_show,#name_save_search_box a.login_popup_1').click(function (e) {
			$.modal.close(); 
			$('#saved_jobs_popup_wrapper').addClass("savedjobs_hidden");
			e.preventDefault();
			$('#login_popup_wrapper').removeClass("loginpopup_hidden");
			$('#login_popup_wrapper').modal();
			$('#login_popup_email').focus();
		});
		//save search function
		$('#save_search_name').keyup(function(e){ $('#saveSearch').attr("disabled","");});
		$('#keyword_tfield').focus(function() {$('#keyword_tfield').val('');});
		//$('#company_tfield').focus(function() {$('#company_tfield').val('');});
		//$('#searchButton').click(function(){checkSInput();});
		$('#saveSearch').click(function(e){
			//get the searches conditions here
			//checkSInput();
			var search_name =  $('#save_search_name').val();
			if(search_name.length>0){
				var lid 	= $('#location_ids').val();
				var pcid 	= $('#position_ids').val(); 
				var kw 		= $('#keyword_tfield').val(); 
				var iid 	= $('#element_ids_0').val();
				var posted_in = $('#element_ids_1').val();var salary_level = $('#element_ids_2').val();
				var work_exp = $('#element_ids_3').val();var etid 	= $('#element_ids_4').val();
				var job_reqs = $('#element_ids_5').val();
				var company = "";//$('#company_tfield').val();
				var pagename = $('#pagename2').val();
				var sl = $('#sl').val();
				var url="/Ajax/searchResultAjax.php";
		      	$.post(url, {search_name:search_name,locations:lid,positions:pcid,key_words:kw,industries:iid,posted_in:posted_in,salary_level:salary_level,work_exp:work_exp,company_types:etid,employee_types:job_reqs,company_name:company,pagename:pagename,sl:sl}, function(data){
			            $("#name_save_search_box").css({display:"none"});
			            $("#save_search_confirm_div").css({display:"block"});
			            $("#save_search_confirm_div").html(data);
			            
			    });
			}else{$('#saveSearch').attr("disabled","disabled");}
		});
		$('#searchPageButton').click(function(e){ 
			var page = $('#requestPage').val(); 
			//checkSInput();
			if(page.length>0){
				$('#searchPage').val(page);
				$('#searchForm').submit();
			}else{if(language=='en'){ alert("Please input the page number!!!");}else{alert("请输入页码!!!");}}
		});
		$("#credit1").click(function(e){$("#crdWhat").css({display:'block'});$("#phoneAccess").css({display:'none'});});//crdSuscribe
		$("#credit2").click(function(e){$("#crdWhat").css({display:'none'});$("#phoneAccess").css({display:'block'});$('#onlinebuy').css({display:'none'});});//crdSuscribe
		$("#credit3").click(function(e){$("#crdWhat").css({display:'none'});$("#phoneAccess").css({display:'none'});$('#onlinebuy').css({display:'block'});});//crdSuscribe
		$('#phoneAccess .btn').click(function(e){ $("#subscribe").css({display:'block'}); });//crdSuscribe
		//view source job page
		$("a.hide_source").click(function(e){
			e.preventDefault();
			var action = "view_source";
			$("#credits_popup input[name=action]").val(action);
			if($("input[name=page_name]").length>0){var page_name = $("input[name=page_name]").val();}
			if(page_name=='job' || page_name=='jobStatic'){
				var job_id = $('.save input[type=hidden]').attr('name');
			}else{
				var job_id = $(this).parents("li").children("input[type=hidden]").attr('name');
			}
			$('#credits_popup input[name=jid]').val(job_id); 
			var left_credits = $("input[name=left_credits]").val();
			cmTools.viewInfo(job_id,left_credits,action);
		});
		//apply procedure
		$("a.apply_btn,a.view_source").click(function(e){
			e.preventDefault();
			$('#phoneAccess').css({display:"none"});
			if($("input[name=page_name]").length>0){var page_name = $("input[name=page_name]").val();}
			var source_id="";
			if(page_name=='job' || page_name=='jobStatic'){
				var jid = $('.save input[type=hidden]').attr('name');
				var isMJJob = $('.save input[type=hidden]').attr("title");
			}else{
				var jid = $(this).parents("li").children("input[type=hidden]").attr('name');
				var isMJJob = $(this).parents("li").children("input[type=hidden]").attr("title");
				source_id =$(this).parents("li").children("input[type=hidden]").attr("id");
				$('#phonedetail input[name=jid]').val(jid);
			}
			if(cls=='on'){
				var page_name = "";
				var action =  "apply";
				var left_credits = $("input[name=left_credits]").val();
				$('#credits_popup input[name=jid]').val(jid);
				$("#credits_popup input[name=action]").val(action);
				cmTools.viewInfo(jid,left_credits,action);
			}else{
				//get the guest cookie here 
				var ck_scode = cmTools.getCookie("scode");//alert(ck_scode);
				var ck_utimes = cmTools.getCookie("u_times");//alert(ck_utimes);
				if(ck_scode!=null && ck_utimes !=null && ck_utimes<10 && (isMJJob =='' && source_id!=3 )){
					var url  = "/Ajax/microPayments_ajax.php";
					$.post(url, {scode: ck_scode,jid:jid,utimes:ck_utimes}, function(data){
						if(data.length>2){ //return urls here 
							window.location.reload();
							window.open(data); 
						}else{
							alert("Error， Please Try Again!");
						}
			 		});
				}else{
					var action="apply";	
					if(this.className=='view_source'){
						var action="view_source";
						$('.appplyTitle').css({display:"none"});
						$('.sourceTitle').css({display:"inline"});
					}
					if(action =='apply'){
						$('.appplyTitle').css({display:"inline"});$('.sourceTitle').css({display:"none"});
						$('#phoneLogin input[name=from_page]').val("apply_job.php?jid="+jid);
						$('#phoneRigister input[name=from_page]').val("/apply_job.php?jid="+jid);
					}
					if( isMJJob.length >0 || source_id==3){ // from 51job, will not show the 
						$('#phoneAccess').css({display:'none'});
						$('#phoneSelect3').css({display:'none'});
						$('.phoneSelect label[for=phoneSelect3]').css({display:'none'});
					}else{
						$('#phoneAccess input[type=text]').attr("disabled","");$('#phoneAccess input[type=submit]').attr("disabled","");
					}
					$('#phoneLogin input[name=jid],#phoneRigister input[name=jid]').val(jid);
					$('#phoneLogin input[name=ac],#phoneRigister input[name=ac]').val(action);
					$("a#Plogin").click(function(e){
						$('#phoneSelect1').attr("checked","checked");$('#phoneLogin').css({display:"block"});$('.email_already_registered').css({display:"none"});
						$('#phoneRigister').css({display:"none"});$('#phoneAccess').css({display:"none"});
					});
					$("a#Pregister").click(function(e){
						$('#phoneSelect2').attr("checked","checked");$('#phoneLogin').css({display:"none"});
						$('#phoneRigister').css({display:"block"});$('#phoneAccess').css({display:"none"});
					});
					$(".phonePaye").modal({position: ["10%",],containerCss:{width:650},closeHTML:"X"});
				}
			}
			$('#loginForm').ajaxForm({
		        beforeSubmit: function(formData,jqForm,options) { 
		        	var error=0;
		        	//set ac and jid
		        	$('#phoneLogin input[name=jid]').val(jid);
					$('#phoneLogin input[name=ac]').val(action);
					for (var i=0; i < formData.length; i++) {
						$('#phoneLogin #errors_div').css({display:"block"});
						//i=0 email , i=1 password
						if (!formData[0].value || !isValidEmail(formData[0].value)){ error=1;$('#phoneLogin .invalid_email_syntax').css({display:"block"});}else{ $('.not_verified input[name=resend_mail]').val(formData[0].value);$('#phoneLogin .invalid_email_syntax').css({display:"none"}); }
						if (!formData[1].value || formData[1].value.length<6){ error=1;$('#phoneLogin .invalid_password').css({display:"block"});}else{ $('#phoneLogin .invalid_password').css({display:"none"});}
				    } 
				    if(error==1) return false;
		        },//validate the form
		        success: function(data) {
		        	if(data==1){
		        		$('#phoneLogin .fail_psd').css({display:"block"});
		        	}else if(data==2){
		        		$('#phoneLogin .invalid_email_syntax').css({display:"block"});
		        	}else if(data==3){
		        		$('.phonePaye .not_verified').css({display:"block"});
		        	}else if(data==4){
		        		$('#phoneLogin .unknow_error').css({display:"block"});
		        	}else if(data==5){
		        		window.location.reload();
		        	}else{
		        		$.modal.close();e.preventDefault();
						$(".LoginS .lnext").attr("href",data);
		        		$(".LoginS").modal({closeHTML:"X",containerCss:{width:500}});
		        	}
		        }
		    });
		    $('#phoneRform').ajaxForm({
		        beforeSubmit: function(formData,jqForm,options) { 
		        	var error=0;
		        	$('#phoneRigister input[name=jid]').val(jid);
					$('#phoneRigister input[name=ac]').val(action);
					for (var i=0; i < formData.length; i++) {
						$('#phoneRigister #errors_div1').css({display:"block"});
						//i=0 username , i=1 email 2:psd 3 cell
						var name=jQuery.trim(formData[0].value);
						var email=jQuery.trim(formData[1].value);
						var cell = jQuery.trim(formData[3].value);
						if (!name){ error=1; show_err.display_name_err();}else{ $('#phoneRigister .blank_name').css({display:'none'});}
						if(!email || !isValidEmail(email)){ show_err.display_email_err("block");error = 1;}else{$('.not_verified input[name=resend_mail]').val(email);$('#hasmail').html(email); $('#phoneRigister .invalid_email_syntax').css({display:"none"});} 
						if(!jQuery.trim(formData[2].value) || formData[2].value.length<6){ error=1;show_err.display_psd_err();}else{ $('#phoneRigister .invalid_password').css({display:"none"});}
						if(cell.length>0){ 
							if(!isValidPhone(cell)){show_err.display_cell_err();error = 1;}else{ $('#phoneRigister .invalid_phone').css({display:"none"});} 
						}
				    } 
				    if(error==1) return false;
		        },//validate the form
		        success: function(data) {
		        	if(data==1){
		        		$('.phonePaye .email_already_registered').css({display:"block"});
		        	}else if(data==2){
		        		$('.phonePaye .not_verified').css({display:"block"});
		        	}else if(data==3){
		        		$('.phonePaye .unexpected_err').css({display:"block"});
		        	}else{
		        		$.modal.close();e.preventDefault();
						$(".RegisterS .rnext").attr("href",data);
		        		$(".RegisterS").modal({closeHTML:"X",containerCss:{width:500}});
		        	}
		        }
		    });
		});
		$('.buyS,.LoginS,.RegisterS #op').click(function(e){window.location.reload();});
		$('.buyS,.LoginS,.RegisterS .closeIt').click(function(e){$.modal.close();window.location.reload();});
		$('.phoneSelect input[name=phoneSelect]').click(function(e){
			$('form[name=selectForm] .selTitle').html($(this).val());
			if($(this).attr("id")=="phoneSelect1"){$('#phoneLogin').css({display:"block"});$('#phoneRigister').css({display:"none"});$('#phoneAccess').css({display:"none"});}
			if($(this).attr("id") =="phoneSelect2"){$('#phoneLogin').css({display:"none"});$('#phoneRigister').css({display:"block"});$('#phoneAccess').css({display:"none"});}
			if($(this).attr("id")=="phoneSelect3"){$('#phoneLogin').css({display:"none"});$('#phoneRigister').css({display:"none"});$('#phoneAccess').css({display:"block"});}
		});
		
		$('#phonedetail input[type=text]').keypress(function(e){ if(e.keyCode==13){e.preventDefault();cmTools.scodeSubmit(); } });
		$('#phonedetail input[type=submit]').click(function(e){ e.preventDefault();cmTools.scodeSubmit();});
		$('#phoneAccess input[type=text]').keypress(function(e){ if(e.keyCode==13){e.preventDefault();cmTools.phoneSubmit(); } });
		$('#phoneAccess input[type=submit]').click(function(e){ e.preventDefault();cmTools.phoneSubmit(); });
		$('#phoneAccess input:first').focus(function(e){$('#phoneAccess #next1').attr("disabled","");$('#phoneAccess #next1').attr('class','btn');});
		$('#phoneLogin input[type=file]').change(function(e){e.preventDefault();$("#resume1").val($(this).val());});
		$('#phoneRigister input[type=file]').change(function(e){e.preventDefault();$("#resume2").val($(this).val());});
		var show_err = {
			display_name_err:function(){$('#phoneRigister #errors_div1').css({display:'block'});$('#phoneRigister .blank_name').css({display:'block'});},
			display_psd_err:function(){$('#phoneRigister #errors_div1').css({display:'block'}); $('#phoneRigister .invalid_password').css({display:'block'});},
			display_email_err:function(){$('#phoneRigister #errors_div1').css({display:'block'});$('#phoneRigister .invalid_email_syntax').css({display:'block'});},
			display_cell_err:function(){$('#phoneRigister #errors_div1').css({display:'block'});$('#phoneRigister .invalid_phone').css({display:'block'});}
		}
		$('#cancel_action').click(function(e){$.modal.close(); });	
		$('#phoneRigister #cancel_action1').click(function(e){$.modal.close(); });
	    $('.closePop').click(function(){ $.modal.close();});   
	});
	
function checkSInput(){
	var s_kw = $('#keyword_tfield').val();
	var s_company = $('#company_tfield').val();
	if(s_kw =='关键词：' || s_kw=='Keywords:'){ $('#keyword_tfield').val('');
	}else{
		if(language =='en'){s_kw = s_kw.replace("Keywords:","");}else{ s_kw = s_kw.replace("关键词：","");}
		$('#keyword_tfield').val(s_kw);
	}
	if(s_company=='搜索公司：'||s_company=='Company :'){$('#company_tfield').val('');
	}else{
		if(language =='en'){s_company = s_company.replace("Company :","");}else{ s_company = s_company.replace("搜索公司：","");}
		$('#company_tfield').val(s_company);
	}
}	
function isValidPhone(phone){
	var num11 = /^\d{11}$/; //11 num
	if( "" != phone ){
        if(num11.exec(phone)){ return true;
        }else{ return false;}//alert("请正确输入11位手机号码(数字)!");
     }else{
        return false; //alert("Sorry, please input your phone number!");
     }
     return false;
}
function isValidEmail(email){
	var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
	if(reg.test(email)){return true;}
	else{ return false;}
}
var image_url=''; 
var ms = 1;//每隔多久循环一次
var first_click = 0;//add hy
var selected_locations = '';
var old_selected_locations = '';
var selected_positions = '';
var old_selected_positions = '';
var selected_elements = new Array('','','','','','');
var old_selected_elements = new Array('','','','','','');
var cur_elements = new Array(Array(),Array(),Array(),Array(),Array(),Array());
var hidden_city_div_val = 1;
var cur_cities = new Array();
var hidden_position2_div_val = 1;
var hide_sub_menu_div_val = 1;
var cur_positions2 = new Array();
var isIe=(document.all)?true:false;
var fakeRatio = 0.9;
var opacity;
var menu_content_table_id = "menu_content_table";
var menu_content_div_padding = 5;
var boarder_width = 5; // 菜单边缘像素数
var title_height = 27; // 菜单标题高度

//设置select的可见状态
function setSelectState(state) {
	var objl=document.getElementsByTagName('select');
	var obj2=document.getElementsByTagName('a');
	for(var i=0;i<objl.length;i++) objl[i].style.visibility = state;
}
//显示城市的DIV层
function get_cities(province_id,ev,language){
	var p = getMousePosition(ev);
	var cities = new Array();
	cities[0] = {id:province_id,name:get_province_by_id(province_id)};
	if(province_id>5 && province_id<33){
		//用AJAX调用城市信息
		var url = image_url+"/Ajax/get_position_ajax.php";
		$.post(url, {province_id: province_id,language:language}, function(data){
			if(data) {
				var tmp = data.split(',');
				var j=1;
				for(var i=0;i<tmp.length-1;i+=2,j++){
					cities[j] = {id:tmp[i],name:tmp[i+1]};
				}
				show_cities(province_id,cities,p);
			}
		});
	}else{
		// no children 
		show_cities(province_id,cities,p);
	}
}
function hidden_all_div(prefix){
	var div_obj;
	for(var i=0;i<locations.length;i++){
		div_obj = document.getElementById(prefix+locations[i].location_id);
		if(div_obj){
			div_obj.style.display='none';
			div_obj.parentNode.removeChild(div_obj);
		}
	}
}
function show_cities(province_id, cities, p) {
	
	if(document.getElementById('city_div_' + province_id)){
		var div_obj = document.getElementById('city_div_' + province_id);
	}else{
		var div_obj = document.createElement('div');
		div_obj.id = 'city_div_' + province_id;
	}
	cur_cities = cities;
	var on_click_function_str = 'change_selected_locations(this)';
	var checkbox_id_prefix = 'city_id_';
	hidden_all_div('city_div_');
	// J: only show sub menu when has children
	var subSize = cities.length;
	if(subSize>1){
		show_sub_menu(div_obj, province_id, cities, selected_locations, checkbox_id_prefix, on_click_function_str, "hidden_city_div()", p);
	}
}

function hidden_city_div(){//change 2009.11.3
	if(hide_sub_menu_div_val == 1) hidden_all_div('city_div_');
}
function change_selected_locations(obj){
	if(obj.checked){
		if(chk_selected_location_num()){
			add_location(obj.value);
			if(obj.value==cur_cities[0].id+','+cur_cities[0].name){//change 2009.11.3
				//cancer all cities
				for(var i=1; i<cur_cities.length;i++){
					document.getElementById('city_id_'+cur_cities[i].id).checked=false;
					del_location(cur_cities[i].id+','+cur_cities[i].name);
				}
			}else{//change 2009.11.3				
				document.getElementById('city_id_'+cur_cities[0].id).checked=false;
				del_location(cur_cities[0].id+','+cur_cities[0].name);
			}
		}else obj.checked=false;
	}else del_location(obj.value);
}
function add_location(val){
	selected_locations += val+';';
	show_selected_locations();
	resize_popupmenu();
}
function del_location(val){
	uncheckPcities(val);
	selected_locations = selected_locations.replace(val+';','');
	show_selected_locations();
	resize_popupmenu();
}
//J: 20100408
function uncheckPcities(val){
	if(val !=''){
		var tmp = val.split(',');
		var isP = get_isP(tmp[0]);
		if(isP =='0'){
			document.getElementById('city_id_'+tmp[0]).checked=false;
		}
	}
}
function show_selected_locations(){
	var obj = document.getElementById('selected_locations_id');
	if(!obj)return ;
	var arr = new Array();
	var tmp = new Array();
	var str = '';
	arr = selected_locations.split(';');
	for(var i=0;i<arr.length-1;i++){
		tmp = arr[i].split(',');
		str += tmp[1]+' <span class="deletslcted" onclick="del_location(\''+arr[i].replace("'","\\'")+'\')">[ X ]</span> &nbsp;&nbsp; ';
	}
	obj.innerHTML = str;
	old_selected_locations = selected_locations;
}
function chk_selected_location_num(){
	var tmp = selected_locations.split(';');
	if(tmp.length>5){
		if(language=='en'){
			alert('No more than five');
		}else{
			alert('最多可选 5 个');
		}
		return false;
	}
	return true;
}
function get_province_by_id(id){
	for(var i=0;i<locations.length;i++){
		if(locations[i].location_id==id)return locations[i].name;
	}
	return '';
}
function get_isP(id){
	for(var i=0;i<locations.length;i++){
		if(locations[i].location_id==id)return locations[i].isP;
	}
	return '';
}
function location_result(flag,tab_name){
	
	var pagename2 = document.getElementById('pagename2').value 
	if(language == "cn"){
		var locationdefault = '地点： ';
	}else{
		var locationdefault = 'Location: ';
	}
	if(flag){
		if(typeof(locations_recover)=='function' && typeof(preferred_locations_click_flag)=='number' && preferred_locations_click_flag==1){
			locations_recover();
		}
		var tmp = selected_locations.split(';');
		var tmp2 = new Array();
		if(pagename2!='homepage'){
			document.getElementById('location_names').value = locationdefault;
		}else{
			document.getElementById('location_names').value = '';
		}

		document.getElementById('location_ids').value = '';
		for(var i=0;i<tmp.length-1;i++){
			tmp2 = tmp[i].split(',');
			document.getElementById('location_names').value += tmp2[1]+'+';
			document.getElementById('location_ids').value += tmp2[0]+',';
		}
		//change 2009.11.12
		var location_names_str = document.getElementById('location_names').value.substr(0,document.getElementById('location_names').value.length-1);
		if(pagename2!='homepage'){
			if(current_language=='cn'){
				if(location_names_str.length>15)document.getElementById('location_names').value = location_names_str.substr(0,14)+"...";
				else document.getElementById('location_names').value = location_names_str.substr(0,14);
			}else{
				if(location_names_str.length>27)document.getElementById('location_names').value = location_names_str.substr(0,26)+"...";
				else document.getElementById('location_names').value = location_names_str.substr(0,26);
			}
		}else{
			if(current_language=='cn'){
				if(location_names_str.length>14)document.getElementById('location_names').value = location_names_str.substr(0,13)+"...";
				else document.getElementById('location_names').value = location_names_str.substr(0,13);
			}else{
				if(location_names_str.length>23)document.getElementById('location_names').value = location_names_str.substr(0,22)+"...";
				else document.getElementById('location_names').value = location_names_str.substr(0,22);
			}
		}
		document.getElementById('location_ids').value = document.getElementById('location_ids').value.substr(0,document.getElementById('location_ids').value.length-1);
		old_selected_locations = selected_locations;
	}else{
		if(tab_name =='back'){
			selected_locations = old_selected_locations;	//alert(selected_locations);
		}else{
			if(pagename2!='homepage'){
				//old_selected_locations = selected_locations; 
				document.getElementById('location_names').value = locationdefault;	
				document.getElementById('location_ids').value = '';
				selected_locations = '';
			}else{
				document.getElementById('location_names').value = '';	
				document.getElementById('location_ids').value = '';
				selected_locations = '';
			}
			
		}
	}
}
//显示职位二级分类的DIV层
function get_positions2(position1_id, ev, language){
	var p = getMousePosition(ev);
	var positions2 = new Array();
	positions2[0] = {id:position1_id,name:get_positions_by_id(position1_id)};
	if(position1_id>0){
		//用AJAX调用二级职位信息
		var url = image_url+"/Ajax/get_position_ajax.php";
		$.post(url, {position1_id:position1_id, language:language}, function(data){
			if(data) {
				var tmp = data.split(',');
				var j=1;
				for(var i=0;i<tmp.length-1;i+=2,j++){
					positions2[j] = {id:tmp[i],name:tmp[i+1]};
				}
				show_sub_positions(position1_id,positions2,p);
			}
		});
	}else{
		show_sub_positions(position1_id,positions2,p);
	}
}
function hidden_all_div_pos(prefix){
	var div_obj;
	for(var i=0;i<positions.length;i++){
		div_obj = document.getElementById(prefix+positions[i].position1_id);
		if(div_obj){
			div_obj.style.display='none';
			div_obj.parentNode.removeChild(div_obj);
		}
	}
}

function show_sub_positions(position1_id, positions2, p) {
	
	if(document.getElementById('position2_div_'+position1_id)){
		var div_obj = document.getElementById('position2_div_'+position1_id);
	}else{
		var div_obj = document.createElement('div');
		div_obj.id = 'position2_div_' + position1_id;
	}
	cur_positions2 = positions2;//add 2009.11.3
	
	var on_click_function_str = 'change_selected_positions(this)';
	var checkbox_id_prefix = 'position2_id_';
	
	hidden_all_div_pos('position2_div_'); // need to be upgrade;
	show_sub_menu(div_obj, position1_id, positions2, selected_positions, checkbox_id_prefix, on_click_function_str, "hidden_position2_div()", p);

}
function hidden_position2_div() { if(hide_sub_menu_div_val == 1) hidden_all_div_pos('position2_div_');}
function change_selected_positions(obj){
	if(obj.checked){
		if(chk_selected_position_num()){
			add_position(obj.value);
			if(obj.value==cur_positions2[0].id+','+cur_positions2[0].name){
				//cancer all positions2
				for(var i=1; i<cur_positions2.length;i++){
					document.getElementById('position2_id_'+cur_positions2[i].id).checked=false;
					del_position(cur_positions2[i].id+','+cur_positions2[i].name);
				}
			}else{
				document.getElementById('position2_id_'+cur_positions2[0].id).checked=false;
				del_position(cur_positions2[0].id+','+cur_positions2[0].name);
			}
		}
		else obj.checked=false;
	}else del_position(obj.value);	
}
function add_position(val){selected_positions += val+';';show_selected_positions();resize_popupmenu();}
function del_position(val){
	selected_positions = selected_positions.replace(val+';','');
	show_selected_positions();
	resize_popupmenu();
}
function show_selected_positions(){
	var obj = document.getElementById('selected_positions_id');
	if(!obj)return ;
	var arr = new Array();
	var tmp = new Array();
	var str = '';
	arr = selected_positions.split(';');
	for(var i=0;i<arr.length-1;i++){
		tmp = arr[i].split(',');
		str += tmp[1]+' <span  class="deletslcted"  onclick="del_position(\''+arr[i]+'\')">[ X ]</span> &nbsp;&nbsp; ';
	}
	obj.innerHTML = str;
	old_selected_positions = selected_positions;
}
function chk_selected_position_num(){
	var tmp = selected_positions.split(';');
	if(tmp.length>5){
		if(language=='en'){
			alert('No more than five');
		}else{
			alert('最多可选 5 个');
		}
		return false;
	}
	return true;
}
function get_positions_by_id(id){
	for(var i=0;i<positions.length;i++){
		if(positions[i].position1_id==id)return positions[i].name;
	}
	return '';
}
function position_result(flag,tab_name){
	var pagename2 = document.getElementById('pagename2').value 
	if (language == "cn"){
		var positiondefault = '职位： ';
	}else{
		var positiondefault = 'Position: ';
	}
	if(flag){
		var tmp = selected_positions.split(';');
		var tmp2 = new Array();
		if(pagename2!='homepage')document.getElementById('position_names').value = positiondefault;
		else document.getElementById('position_names').value = '';
		document.getElementById('position_ids').value = '';
		for(var i=0;i<tmp.length-1;i++){
			tmp2 = tmp[i].split(',');
			document.getElementById('position_names').value += tmp2[1]+'+';
			document.getElementById('position_ids').value += tmp2[0]+',';
		}
		//change 2009.11.12
		var position_names_str = document.getElementById('position_names').value.substr(0,document.getElementById('position_names').value.length-1);
		if(pagename2!='homepage'){
			if(current_language=='cn'){
				if(position_names_str.length>16)document.getElementById('position_names').value = position_names_str.substr(0,15)+"...";
				else document.getElementById('position_names').value = position_names_str.substr(0,15);
			}else{
				if(position_names_str.length>28)document.getElementById('position_names').value = position_names_str.substr(0,26)+"...";
				else document.getElementById('position_names').value = position_names_str.substr(0,26);
			}
		}else{
			if(current_language=='cn'){
				if(position_names_str.length>15)document.getElementById('position_names').value = position_names_str.substr(0,14)+"...";
				else document.getElementById('position_names').value = position_names_str.substr(0,14);
			}else{
				if(position_names_str.length>25)document.getElementById('position_names').value = position_names_str.substr(0,24)+"...";
				else document.getElementById('position_names').value = position_names_str.substr(0,24);
			}
		}
		document.getElementById('position_ids').value = document.getElementById('position_ids').value.substr(0,document.getElementById('position_ids').value.length-1);
		old_selected_positions = positiondefault+selected_positions;
	}else{
		if(tab_name =='back'){
			selected_positions = positiondefault+old_selected_positions;
		}else{
			if(pagename2!='homepage'){
				//old_selected_positions = selected_positions; 
				document.getElementById('position_names').value = positiondefault;
				document.getElementById('position_ids').value = '';
				selected_positions = '';
			}else{
				document.getElementById('position_names').value = '';
				document.getElementById('position_ids').value = '';
				selected_positions = '';
			}
			
		}
	}
}

/*
 * This function is for showing sub menus for both sub position and cities in a province.
 * @Parameters:
 * div_obj: the div for host the sub_menu
 * id: parent ID
 * sub_content: the content need to be showed in sub menu;
 * selected_content: the selected content is a string which's format is "id,name;id,name;......";
 * checkbox_id: the prefix for checkbox; 
 * on_click_function: the javascript function when user click the menu item, it is a string;
**/
function show_sub_menu(div_obj, id, sub_content, selected_content, checkbox_id_prefix, on_click_function, close_function, p) {
	
	var sub_menu_content_div_padding = "3";
	var str = '<div class="popwrap" onmouseover="hide_sub_menu_div_val=0"><div style="padding:' + sub_menu_content_div_padding + 'px;" onmouseover="hide_sub_menu_div_val=0"><table id="sub_menu_table" border="0" onmouseover="hide_sub_menu_div_val=0"><tr>';
	var i;
	var checked = '';
	var row_num;
	var col_num;
	var sub_menu_offset_x = -10;
	var sub_menu_offset_y = -10;
	var boarder_width = 5; // 子菜单边缘像素数
	var div_height;
	
	hide_sub_menu_div_val = 0;
	if (language == "en") row_num = 14;
	else row_num = 10;
	col_num = Math.ceil((sub_content.length - 1) / row_num);
	row_num = Math.ceil((sub_content.length - 1) / col_num);
	for (i = 0; i < sub_content.length; i++) {
		if (selected_content.indexOf(sub_content[i].id + ',' + sub_content[i].name + ';') != -1) checked = 'checked';
		else checked = '';
		if(i==0) {
			str += '<td valign="top" style="white-space:nowrap;" colspan="' + col_num + '"><div class = "sclctcity" onmouseover="hide_sub_menu_div_val=0"><label for="' + checkbox_id_prefix + sub_content[i].id + '"><input type="checkbox" value="' + sub_content[i].id + ',' + sub_content[i].name + '" id="' + checkbox_id_prefix + sub_content[i].id + '" onmouseover="hide_sub_menu_div_val=0" onclick="' + on_click_function + '" ' + checked + '><span style="font-weight:bold;">&nbsp;' + sub_content[i].name + '</label></span></div></td></tr><tr>';
		} else {
			if ((i - 1) % row_num == 0) str += '<td valign="top" style="white-space:nowrap;">';
			str += '<div class="sclctcity" onmouseover="hide_sub_menu_div_val=0"><label for="' + checkbox_id_prefix + sub_content[i].id + '"><input type="checkbox" value="' + sub_content[i].id + ',' + sub_content[i].name + '" id="' + checkbox_id_prefix + sub_content[i].id + '" onmouseover="hide_sub_nemu_div_val=0" onclick="' + on_click_function + '" ' + checked + '><span style="">&nbsp;' + sub_content[i].name + '</label></span></div>';
			if (i == row_num || (i % row_num == 0 && i > 0)) str += '</td>';
		}
	}
	str += '</tr></table></div></div>';
	
	div_obj.innerHTML = str;
	div_obj.style.cssText = 'position:absolute;z-index:4;top:'+(p.y-5)+'px;';
	div_obj.style.background='#FFFFFF';
	div_obj.style.border='1px solid #DDDDDD';
	div_obj.onmouseout=function(){hide_sub_menu_div_val = 1; setTimeout(close_function,5);}
	document.body.appendChild(div_obj);
	var obj_sub_table = document.getElementById("sub_menu_table");
	div_obj.style.width = obj_sub_table.scrollWidth + boarder_width * 2;
	div_height = obj_sub_table.scrollHeight + boarder_width * 2;
	div_obj.style.height = div_height;
	if ((p.x + sub_menu_offset_x + div_obj.scrollWidth + 2 * boarder_width) < document.documentElement.clientWidth) {
		div_obj.style.left = p.x + sub_menu_offset_x + 'px';
	} else {
		div_obj.style.cssFloat = "right";
		div_obj.style.right = "10px";
	}
	if ((p.y + sub_menu_offset_y + div_height + 2 * boarder_width - parseInt(document.documentElement.scrollTop)) < document.documentElement.clientHeight) {
		div_obj.style.top = p.y + sub_menu_offset_y + 'px';
	} else {
		div_obj.style.top = (document.documentElement.clientHeight + parseInt(document.documentElement.scrollTop) - div_height - 20) + 'px';
	}
}

//######################################################
// the following functions are for 1 level menus
function change_selected(index,obj){
	if(obj.checked){
		if(chk_selected_num(index)){
			add_element(index,obj.value);
		}else obj.checked=false;
	}else del_element(index,obj.value);
}
function add_element(index,val){selected_elements[index] += val+';';show_selected(index);resize_popupmenu();}
function del_element(index,val){
	selected_elements[index] = selected_elements[index].replace(val+';','');
	var tmp = val.split(',');
	document.getElementById('element_id_'+index+'_'+tmp[0]).checked=false;
	show_selected(index);
	resize_popupmenu();
}
// show the selected option in the popup window
function show_selected(index){
	var obj = document.getElementById('selected_elements_id_'+index);
	if(!obj)return ;
	var arr = new Array();
	var tmp = new Array();
	var str = '';
	arr = selected_elements[index].split(';');
	for(var i=0;i<arr.length-1;i++){
		tmp = arr[i].split(',');
		str += tmp[1]+' <span class="deletslcted" onclick="del_element('+index+',\''+arr[i]+'\')">[X]</span> &nbsp;&nbsp; ';
	}
	obj.innerHTML = str;
	old_selected_elements = selected_elements;
}
function chk_selected_num(index){
	var tmp = selected_elements[index].split(';');
	if(tmp.length>5){
		if(language=='en'){
			alert('No more than five');
		}else{
			alert('最多可选 5 个');
		}
		return false;
	}
	return true;
}
//show the selected option in the select box
function element_result(flag,index,tab_name){
	var obj1 = document.getElementById('element_names_'+index);
	var obj2 = document.getElementById('element_ids_'+index);
	var pagename2 = document.getElementById('pagename2').value 
	if (language == "cn"){
			if(index==0)var industriesdefault = '行业： ';
			if(index==1)var posted_indefault = '发布时间(天)： ';
			if(index==2)var expected_salarydefault = '期望薪金： ';
			if(index==3)var work_exp_default = '工作经验(年)： ';
			if(index==4)var employer_typesdefault = '公司类型： ';
			if(index==5)var job_requirementsdefault = '工作性质： ';
		}else{
			if(index==0)var industriesdefault = 'Industries: ';
			if(index==1)var posted_indefault = 'Post Within(days): ';
			if(index==2)var expected_salarydefault = 'Expected Salary: ';
			if(index==3)var work_exp_default = 'Work Exp(yrs): ';
			if(index==4)var employer_typesdefault = 'Employer Types: ';
			if(index==5)var job_requirementsdefault = 'Job Requirements: ';
		}
	if(flag){
		var tmp = selected_elements[index].split(';');	
		var tmp2 = new Array();
		if(!obj1 || !obj2)return ;
		if(pagename2!='homepage'){
			if(index==0)obj1.value = industriesdefault;
			if(index==1)obj1.value = posted_indefault;
			if(index==2)obj1.value = expected_salarydefault;
			if(index==3)obj1.value = work_exp_default;
			if(index==4)obj1.value = employer_typesdefault;
			if(index==5)obj1.value = job_requirementsdefault;
		}else{obj1.value = '';}
		obj2.value = '';
		for(var i=0;i<tmp.length-1;i++){
			tmp2 = tmp[i].split(',');
			obj1.value += tmp2[1]+'+';
			obj2.value += tmp2[0]+',';
		}
		//obj1.value = obj1.value.substr(0,obj1.value.length-1);
		//change 2009.11.12
		value_str = obj1.value.substr(0,obj1.value.length-1);
		if(pagename2!='homepage'){
			if(current_language=='cn'){
				if(index==1||index==2||index==3){
					if(value_str.length>45)obj1.value = value_str.substr(0,44)+"...";
					else obj1.value = value_str.substr(0,44);
				}else{
					if(value_str.length>28)obj1.value = value_str.substr(0,27)+"...";
					else obj1.value = value_str.substr(0,27);
				}
			}else{
				if(value_str.length>50) obj1.value = value_str.substr(0,49)+"...";
				else obj1.value = value_str.substr(0,49);
			}
		}else{
			if(current_language=='cn'){
				if(index==1||index==2||index==3){
					if(value_str.length>20)obj1.value = value_str.substr(0,19)+"...";
					else obj1.value = value_str.substr(0,19);
				}else{
					if(value_str.length>10)obj1.value = value_str.substr(0,9)+"...";
					else obj1.value = value_str.substr(0,9);
				}
			}else{
				if(value_str.length>20) obj1.value = value_str.substr(0,20)+"...";
				else obj1.value = value_str.substr(0,20);
			}
		}
	
		obj2.value = obj2.value.substr(0,obj2.value.length-1);
		old_selected_elements[index] = selected_elements[index];
	}else{
		if(tab_name =='back'){
			selected_elements[index] = old_selected_elements[index];
		}else{
			if(pagename2!='homepage'){
				//old_selected_elements[index] = selected_elements[index];
				
				if(index==0)obj1.value = industriesdefault;
				if(index==1)obj1.value = posted_indefault;
				if(index==2)obj1.value = expected_salarydefault;
				if(index==3)obj1.value = work_exp_default;
				if(index==4)obj1.value = employer_typesdefault;
				if(index==5)obj1.value = job_requirementsdefault;
				selected_elements[index] = "";	
				obj2.value="";
			}else{
				selected_elements[index] = "";
				obj1.value="";
				obj2.value="";
			}
		}
	}
}
function elements_result(flag,tab_name,i){element_result(flag,i,tab_name);}
function truncate_str(str){
	if(current_language=='en'){
		if(str.length>18) str= str.substr(0,17)+"...";
		else str = str.substr(0,17);
	}else{
		if(str.length>9) str = str.substr(0,8)+"...";
		else str = str.substr(0,8);
	}
	return str;
}
function truncate_str_free(str){
	if(current_language=='en'){
		if(str.length>50) str= str.substr(0,49)+"...";
		else str = str.substr(0,49);
	}else{
		if(str.length>28) str = str.substr(0,27)+"...";
		else str = str.substr(0,27);
	}
	return str;
}
function truncate_str_data(str){
	if(current_language=='en'){
		if(str.length>50) str= str.substr(0,49)+"...";
		else str = str.substr(0,49);
	}else{
		if(str.length>44) str = str.substr(0,43)+"...";
		else str = str.substr(0,43);
	}
	return str;
}
function get_cur_cities(id,name){
	cur_cities = new Array(); // redefine
	cur_cities[0] = {id:id,name:name};
	//return cur_cities;
}
//#######################################################
// 弹出搜索条件窗口
function showCriteriaBox(search_type) {
	
	var intro; //不同搜索条件的弹出窗口的介绍
	var columns = 1; //一个弹出窗口有多少列，缺省是1列
	var str = ''; // 返回值，弹出窗口除标题之外的内容的html
	var i; //循环用的变量
	
	// 打开窗口的变量
	var wTitle, wContent;
	var wWidth = -1; // -1 表示由系统计算宽度，缺省为-1
	var wHeight = -1; // -1 表示由系统计算高度，缺省为-1
	var td_width = ''; //如果弹出菜单采用定宽，需要在指定列数之后再计算每列所占据的百分比
	
	if(typeof(cv_lang) == 'undefined') {cv_lang = language;}
	if (language=="en") intro = "Have selected ";
	else intro = "已选择";
	
	str = "<div style='padding:" + menu_content_div_padding + "px;'><table id='" + menu_content_table_id;
	if (search_type == 'Locations') {
		if (language=="en") {
			intro += "locations:";wTitle = "Locations";
		} else {
			intro += "地区：";wTitle = "地区";
		}
		columns = 4;
		td_width = 'width="' + (100 / columns )+ '%"';
		
		str += "' style='width:100%;background:#fff'><tr><td colspan='" + columns + "' class='boxselected'><b>" + intro + "</b><span id='selected_locations_id'></span></td></tr>";
		for(i = 0; i < locations.length; i++){
			if (i % columns == 0) str += '<tr>';
				str += '<td ' + td_width + ' style="text-align:left;">';
				if(locations[i].isP=='0'){
					//J: update 20100408 
					if (selected_locations.indexOf(locations[i].location_id + ',' + locations[i].name + ';') != -1) checked = 'checked';
					else checked = ''; 
					str +='<label for="city_id_'+locations[i].location_id+'"><span class="slctparent"><input type="checkbox" value="' + locations[i].location_id + ',' + locations[i].name + '" id="city_id_'+locations[i].location_id+'" onmouseover="hide_sub_nemu_div_val=0" onclick="get_cur_cities('+locations[i].location_id+',\''+locations[i].name+'\');change_selected_locations(this)"'+ checked+' >&nbsp;';
					str += locations[i].name+'</span><label></td>';
				}else{
					str +='<span class="slctparent" id="province_id_'+locations[i].location_id+'" onclick="get_cities('+locations[i].location_id+',event,\''+cv_lang+'\')">'+locations[i].name+'</span></td>';
				}
				if (i % columns == (columns - 1)) str += '</tr>';
		}
		str += "</table></div>";
		wWidth = 500;
	} else if (search_type == 'Positions') {
		if (language=="en") {
			intro += "positions:";wTitle = "Positions";
			columns = 2;
		} else {
			intro += "职位：";wTitle = "职位";
			columns = 3;
		}
		str += "'><tr><td colspan='" + columns + "' class='boxselected'><b>" + intro + "</b><span id='selected_positions_id'></span></td></tr>";
		for(i = 0; i < positions.length; i++) {
			if (i % columns == 0) str += '<tr>';
				str += '<td><span class="sclctpst" id="position_id_'+positions[i].position1_id+'" onclick="get_positions2('+positions[i].position1_id+',event,\''+language+'\')">'+positions[i].name+'</span></td>';
				if (i % columns == (columns - 1)) str += '</tr>';
		}
		str += "</table></div>";
	} else if(search_type == 'Languages') {
		if (language=="en") {
			intro += "Language ability:";wTitle = "Language ability";
		} else {
			intro += "语言能力:";wTitle = "语言能力";
		}
		var languages_str ='';
		for(var i=0;i<languages.length;i++){
		   if(parseInt(languages[i].language_level)){ 
		   	    language_div = get_language_div(languages[i].language_id, languages[i].language_level);
		   	    checked = 'checked';
		   }else{
		        checked = '';language_div ='';
		   }
		   if(i%2==0)	languages_str += '<tr>';
		  	 languages_str += '<td width="50%" style="text-align:left;"><input type="checkbox" name="language['+languages[i].language_id+'][id]" value="'+languages[i].language_id+'"'+checked+'>'+languages[i].language_name+'</input><div style="display:inline;margin-left:10px;">'+language_div+'</div></td>';
		   if(i%2==1)	languages_str += '</tr>';
		}
		str = "<div id='languages_div'><table style='width:100%;'>"+languages_str+"</table></div>";
		columns = 2;
		wWidth = 600;
		wHeight = 300;
	}else {
		var arr, index;
		switch (search_type) {
			case 'Industries':
				if (language=="en") {intro += "industries:";wTitle = "Industries";} else {intro += intro + "行业：";wTitle = "行业";}
				arr=industries;index=0;
				columns = 3;wWidth = 850;
				break;
			case 'Posted_in':
				if (language=="en") {intro += "post period (within days):";wTitle = "Post Within (days)";} else {intro += "发布时间 (天)：";wTitle = "发布时间 (天)";}
				arr=posted_in;index=1;
				columns = 2;
				wWidth = 360;
				break;
			case 'Salary_level':
				if (language=="en") {intro += "expected salary:";wTitle = "Expected Salary";} else {intro += "期望薪金：";wTitle = "期望薪金";}
				arr=salary_level;index=2;
				columns = 2;
				wWidth = 400;
				break;
			case 'Work_exp':
				if (language=="en") {intro += "work experience (years):";wTitle = "Work Exp. (years)";} else {intro += "工作经验 (年)：";wTitle = "工作经验 (年)";}
				arr=work_exp;index=3;
				columns = 2;wWidth = 400;
				break;
			case 'Employer_types':
				if (language=="en") {intro += "employer types:";wTitle = "Employer Types";} else {intro += "公司类型：";wTitle = "公司类型";}
				var arr=employer_types;index=4;
				wWidth = 400;
				break;
			case 'Job_reqs':
				if (language=="en") {intro += "job requirements:";wTitle = "Job Requirements";} else {intro += "工作性质：";wTitle = "工作性质";}
				arr=job_reqs;index=5;
				columns = 2;wWidth = 300;
				break;
		}
		var checked = '';
		str += "' style='width:100%;background:#fff'><tr><td colspan='" + columns + "' class='boxselected'><b>" + intro + "</b><span id='selected_elements_id_" + index + "'></span></td></tr>";
		for(i = 0; i < arr.length; i++) {
			if(selected_elements[index].indexOf(arr[i].id+','+arr[i].name+';') != -1) checked = 'checked';
			else checked = '';
			if(columns == 1 || i % columns == 0)str += '<tr>';
			str += '<td class="slectlist"><label  for="element_id_'+index+'_'+ arr[i].id +'" ><span><input type="checkbox" value="'+arr[i].id+','+arr[i].name+'" onclick="change_selected('+index+',this)" '+checked+' id="element_id_'+index+'_'+arr[i].id+'">'+arr[i].name+'</span></label></td>';
			if(columns == 1 || i % columns == (columns - 1)) str += '</tr>';
		}
		str += "</table></div>";
	}
	showMessageBox(wTitle, str, wWidth, wHeight,index);
	/*弹出部分*/
	if (search_type == 'Locations') show_selected_locations();
	else if(search_type == "Positions") {show_selected_positions()}
	for(var i=0; i<6; i++) {show_selected(i);}
}

//######################################################
//弹出方法
function showMessageBox(wTitle, content, wWidth, wHeight,index){
	
	closeWindow();
	if(wTitle == "Locations" || wTitle == "地区"){ 
		var x_result="location_result";
	}else if(wTitle=="Positions" || wTitle == "职位"){
		var x_result="position_result";
	}else{
		var x_result = 'elements_result';
	}
	var bWidth = parseInt(document.documentElement.clientWidth);
	var bHeight;
	if(parseInt(document.documentElement.scrollHeight)>parseInt(document.documentElement.clientHeight)){
		bHeight=document.documentElement.scrollHeight
	}else{
		bHeight=document.documentElement.clientHeight
	}
	if(isIe) setSelectState('hidden');
	var background = document.createElement("div");
	background.id = "back";
	background.innerHTML = "<div onclick='closeWindow();"+x_result+"(false,\"back\");' style='dispaly:block;width:" + bWidth +"px;height:" + bHeight +"px' > </div>";//change 2009.11.4
	var styleStr="top:0px;left:0px;position:absolute;background:#000;z-index:2;width:"+bWidth+"px;height:"+bHeight+"px;";
	styleStr+=(isIe)?"filter:alpha(opacity=0);":"opacity:0;";
	background.style.cssText=styleStr;
	document.body.appendChild(background);
	var mesW = document.createElement("div");
	mesW.id = "mesWindow";
	mesW.className="mesWindow";
	var ok,cancle;	
	if(language=="en"){
		ok="OK";cancle="Cancel";
	} else {
		ok="确定";cancle="取消";
	}
	if(wTitle=="Language ability" || wTitle=="语言能力" ){
		mesW.innerHTML = "<div style='border:1px solid #a3e1fe;padding:1px;height:"+(wHeight-6)+"px;'><div class='mesWindowTop'><table width='100%' valign ='top'><tr><td>"+wTitle+"</td><td style='width:30px;'><input style='background:none;color:#fff' type='button' class='close' value='["+ok+"]' onclick='language_confirm();closeWindow();' /></td><td style='width:30px;'><input style='background:none;color:#fff' type='button' onclick='closeWindow();' title='close' class='close' value='["+cancle+"]' /></td></tr></table></div><div class='mesWindowContent' id='mesWindowContent'>"+content+"</div><div class='mesWindowBottom'></div></div>";
	}else{
		mesW.innerHTML = "<div style='border:1px solid #a3e1fe;padding:1px;height:"+(wHeight-6)+"px;'><div class='mesWindowTop'><table width='100%' valign ='top'><tr><td>"+wTitle+"</td><td style='width:30px;'><input style='background:none;color:#fff' type='button' class='close' value='["+ok+"]' onclick='closeWindow();"+x_result+"(true,\"\","+index+")' /></td><td style='width:30px;'><input style='background:none;color:#fff' type='button' onclick='closeWindow();"+x_result+"(false,\"\","+index+");' title='close' class='close' value='["+cancle+"]' /></td></tr></table></div><div class='mesWindowContent' id='mesWindowContent'>"+content+"</div><div class='mesWindowBottom'></div></div>";
	}
	styleStr = "position:absolute;z-index:3;opacity:0.1;";
	styleStr += (isIe)?"filter:alpha(opacity=0);":"opacity:0;";
	mesW.style.cssText=styleStr;
	document.body.appendChild(mesW);
	if (wWidth == -1) {
		var menu_table_obj = document.getElementById(menu_content_table_id);
		wWidth = menu_table_obj.scrollWidth + boarder_width * 2 + menu_content_div_padding * 2;
	}
	if (wHeight == -1) {
		var menu_table_obj = document.getElementById(menu_content_table_id);
		wHeight = menu_table_obj.scrollHeight + boarder_width * 2 + menu_content_div_padding * 2 + title_height;
	}	
	showPopup(mesW, wWidth, wHeight, background, 15);//调用后面的自定义的show函数
	if($('#languages_div').html()){
		language_addEvent();
	}
}

var proc;
var prog;
function showPopup(o, width, height, background, backgroundOpacity){//--open--
	clearInterval(prog);//clearInterval清除时间间隔
	o.style.display = "block";
	if(isIe) {
		o.filters.alpha.opacity = 100;
		o.style.width = width + "px";
		o.style.height = height + "px";
		o.style.left = (parseInt(document.documentElement.clientWidth) / 2 - parseInt(o.style.width) / 2) + "px";
		o.style.top = (parseInt(document.documentElement.clientHeight) / 2 - parseInt(o.style.height) / 2 + parseInt(document.documentElement.scrollTop)) + "px";
		background.filters.alpha.opacity = backgroundOpacity;
	} else {
		o.style.width = width + "px";
		o.style.height = height + "px";
		o.style.left = (parseInt(document.documentElement.clientWidth) / 2 - parseInt(o.style.width) / 2) + "px";
		o.style.top = (parseInt(document.documentElement.clientHeight) / 2 - parseInt(o.style.height) / 2 + parseInt(document.documentElement.scrollTop)) + "px";
		o.style.opacity = 100;
		
//		//setInterval动作的作用是在播放动画的时，每隔一定时间就调用函数，方法或对象
		//prog = setInterval(function(){openPopup(o, width, height, background, backgroundOpacity)}, 1);
		openPopup(o, width, height, background, backgroundOpacity);
	}
}

function openPopup(o, x , y, background, backgroundOpacity){ /*--打开x--*/
	//背景遍灰
	if (parseFloat(background.style.opacity) < (backgroundOpacity / 100))
		background.style.opacity = parseFloat(background.style.opacity) + 0.15; //parseFloat函数可解析一个字符串，并返回一个浮点数。
	//放大X
	if (parseInt(o.style.width) < x) {
		o.style.left = parseInt(o.style.left) - Math.ceil((x - parseInt(o.style.width)) / 3 / 2) + "px";
		o.style.width = (parseInt(o.style.width) + Math.ceil((x - parseInt(o.style.width)) / 3)) +"px";
	}
	//放大Y
	var cy = parseInt(o.style.height);
	if(cy < y) {
		o.style.top = parseInt(o.style.top) - Math.ceil((y - cy) / 3 / 2) +"px";
		o.style.height = (cy + Math.ceil((y - cy) / 3)) +"px";//math.ceil() 方法可对一个数进行上舍入,大于等于并且与它最接近的整数。
	}
	//增加透明度
	if (isIe) {if (parseInt(o.filters.alpha.opacity) < 100) o.filters.alpha.opacity += 20;}
	else {if (parseFloat(o.style.opacity) < 1) o.style.opacity = parseFloat(o.style.opacity) + 0.2;}
	
	if (!(cy < y && parseInt(o.style.width) < x)) {
		clearInterval(prog);
		resize_popupmenu();
	}
}
//关闭窗口
function closeWindow() {
	clearInterval(proc);
	var o = document.getElementById('mesWindow');
	var background = document.getElementById('back');

	if(o != null) {
		if (first_click == 0 && (!isIe)) {
			first_click = 1;//add hy
			var xClose = parseInt(o.style.width);
			var yClose = parseInt(o.style.height);
			if(o.style.display == "block") proc = setInterval(function(){shrink(o, background, xClose, yClose)}, 1);
		} else {//add hy
			first_click = 0;
			clearInterval(proc);
			document.getElementById('mesWindow').parentNode.removeChild(document.getElementById('mesWindow'));
			document.getElementById('back').parentNode.removeChild(document.getElementById('back'));
		}
	}
	if(isIe) setSelectState('');
}

function shrink(o, background, x, y){/*--打开y--*/
	var ctop = parseInt(o.style.top);
	var cy = parseInt(o.style.height);
	var cleft = parseInt(o.style.left);
	var cx = parseInt(o.style.width);
	
	if(cy > y || cx > x) {
		o.style.top = (ctop + Math.ceil((cy - y) / 5 / 2)) +"px";
		o.style.height = (cy - Math.ceil((cy - y) / 5)) +"px";
		o.style.left = (cleft + Math.ceil((cx - x) / 5 / 2)) +"px";
		o.style.width = (cx - Math.ceil((cx - x) / 5)) +"px";
		if (isIe) {
			o.filters.alpha.opacity -= 20;
			background.filters.alpha.opacity -= 5;
		} else {
			o.style.opacity = parseFloat(o.style.opacity) - 0.2;
			background.style.opacity = parseFloat(background.style.opacity) - 0.05;
		}
	} else {
		clearInterval(proc);
		document.getElementById('mesWindow').parentNode.removeChild(document.getElementById('mesWindow'));
		document.getElementById('back').parentNode.removeChild(document.getElementById('back'));
		first_click = 0;//add hy
	}
}
//esc键退出
function esckeydown() {

	if(isIe && event.keyCode == 27){
	   event.returnValue = null;
	   window.returnValue = null;
	   window.closeWindow();
	}
}
document.onkeydown=esckeydown;
var flag = true; 
function changeImage(obj) { 
	var imgA="/media/simages/adsearch_en.gif"; 
	var imgB="/media/simages/hadsearch_en.gif"; 
	var imgC="/media/simages/adsearch_cn.gif"; 
	var imgD="/media/simages/hadsearch_cn.gif"; 
	if (flag){ 
		if(current_language=='en'){ obj.src=imgB; }
		else {obj.src=imgD; }
	}else{ 
		if(current_language=='en'){obj.src=imgA; }
		else{obj.src=imgC; }
	} 
	flag = !flag 
}

function resize_popupmenu() {
	var menu_div = document.getElementById('mesWindow');
	if (menu_div) {
		var menu_table_obj = document.getElementById(menu_content_table_id);
		if (menu_table_obj) menu_div.style.height = menu_table_obj.scrollHeight + boarder_width * 2 + menu_content_div_padding * 2 + title_height + 'px';
	}
}

////////////////////////////////////
function getWindowScroll() {
	if (typeof window.pageYOffset != 'undefined') {
	   return {y:window.pageYOffset, x:window.pageXOffset};
	} else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
	   return {y:document.documentElement.scrollTop, x:document.documentElement.scrollLeft};
	} else if (typeof document.body != 'undefined') {
	   return {y:document.body.scrollTop, x:document.body.scrollLeft};
	} else {
		return {y:0, x:0};
	}
}
function getObjPosition(obj) {
	var left=0, top=0;
	while (obj.offsetParent) {
		left 	+= obj.offsetLeft + (obj.currentStyle?(parseInt(obj.currentStyle.borderLeftWidth)).NaN0():0);
		top  	+= obj.offsetTop  + (obj.currentStyle?(parseInt(obj.currentStyle.borderTopWidth)).NaN0():0);
		obj     = obj.offsetParent;
	}
	left += obj.offsetLeft + (obj.currentStyle?(parseInt(obj.currentStyle.borderLeftWidth)).NaN0():0);
	top  += obj.offsetTop  + (obj.currentStyle?(parseInt(obj.currentStyle.borderTopWidth)).NaN0():0);
	return {x:left, y:top};
}
function getMousePosition(ev) {
	if(typeof(ev.pageX) != 'undefined') {
		return {x:ev.pageX, y:ev.pageY};
	} else {
		var ws = getWindowScroll();
		return {
			x:ev.clientX + ws.x,
			y:ev.clientY + ws.y
		};
	}
}
var cmTools = {
	//search_info_str : "", // search conditions description string
	initSearch : function () {
		this.loadSearchFromCookie();
		this.initSaveSearchButton();
		this.initPaidPopup();
	},
	initSaveSearchButton : function (){
		var e_save_button = document.getElementById('save_search_button');
		if(e_save_button){
			e_save_button.onclick = function (evt){
				gt.toggleDisplay(document.getElementById('name_save_search_box'));
			};
		}
	},
	initPaidPopup:function(){
		if(cls=='on'){
			var credits = $("b.s").html();
			var action = gt.readCookie('ac');
			var job_id = gt.readCookie('jid');
			if(job_id.length>0){ 
				this.delCookie("ac","/");
				this.delCookie("jid","/");
				$('#credits_popup input[name=jid]').val(job_id);
				this.viewInfo(job_id,credits,action);
			}		
		}
	},
	loadSearchFromCookie : function (){
		var str = gt.readCookie('search_details');
		this.search_options=document.getElementById("search_options");
		if(this.search_options){
			str=this.search_options.getAttribute("abbr");
		}
		str = unescape(str);
		str = str.replace(/\+/g, " ");
		if(str.length>1){this.loadSearch(str);}
	},
	loadSearch : function (ser_str){
		var arr = unserialize(ser_str);
		// convert the data type
		arr['locations'] = new String(arr['locations']);arr['positions'] = new String(arr['positions']);
		arr['industries'] = new String(arr['industries']);arr['posted_in'] = new String(arr['posted_in']);
		arr['job_reqs'] = new String(arr['job_reqs']);arr['employer_types'] = new String(arr['employer_types']);
		arr['work_exp'] = new String(arr['work_exp']);arr['salary_level'] = new String(arr['salary_level']);
		//advance search display 
		if(arr['posted_in'].length>0 || arr['company_name'].length>0||arr['job_reqs'].length>0|| arr['industries'].length>0 ||arr['employer_types'].length>0|| arr['salary_level'].length>0 ||arr['work_exp'].length>0){
				$('#advcSch').css({display:"block"});
				changeImage(document.getElementById('advancedImg'));
		}
		if(arr['locations'].length>0){ this.loadSelectedItemsInChoiceBox('locations', this.commaToArray(arr['locations']));}
		if(arr['positions'].length>0){this.loadSelectedItemsInChoiceBox('positions', this.commaToArray(arr['positions']));}
		if(arr['posted_in'].length>0){this.loadSelectedItemsInChoiceBox('posted_in',this.commaToArray(arr['posted_in']));}
		if(arr['industries'].length>0){this.loadSelectedItemsInChoiceBox('industries',this.commaToArray(arr['industries']));}
		if(arr['salary_level'].length>0){this.loadSelectedItemsInChoiceBox('salary_level',this.commaToArray(arr['salary_level']));}
		if(arr['work_exp'].length>0){this.loadSelectedItemsInChoiceBox('work_exp',this.commaToArray(arr['work_exp']));}
		if(arr['employer_types'].length>0){this.loadSelectedItemsInChoiceBox('employer_types',this.commaToArray(arr['employer_types']));}
		if(arr['job_reqs'].length>0){this.loadSelectedItemsInChoiceBox('job_reqs',this.commaToArray(arr['job_reqs']));}
	},
	//id_array is the array of selected items ids
	loadSelectedItemsInChoiceBox : function (type, id_array){ 
		if(type=='locations'){		//locations 
			if(selected_loc_s.length>0){
				add_location(selected_loc_s);
			}
		}else if(type=='positions'){//positions
			if(selected_pos_s.length>0){
				add_position(selected_pos_s);
			}
		}else {
			if(type=='industries'){var arr=industries;var index=0;}
		 	if(type=='posted_in'){var arr=posted_in;var index=1;}
		 	if(type=='salary_level'){var arr=salary_level;var index=2;}
		 	if(type=='work_exp'){var arr=work_exp;var index=3;}
		 	if(type=='employer_types'){var arr=employer_types;var index=4;}
		 	if(type=='job_reqs'){var arr=job_reqs;var index=5;}
			//add checked for the selected options
			var selectd_name = "";
			var selectd_str = "";
			for(var i = 0; i < id_array.length; i ++){
				for(var j=0;j<arr.length;j++){
					if(id_array[i] == arr[j].id){selectd_name += arr[j].name+"+";selectd_str += arr[j].id+","+arr[j].name+";";}				
				}
			}
			//remove the last 1 str of varibale selectd_name
			if(selectd_name.length>0){
				selectd_name = selectd_name.substring(0,selectd_name.length-1);
			var pagename2 = document.getElementById('pagename2').value 
			if (language == "cn"){
				if(index==0)var industriesdefault = '行业： ';
				if(index==1)var posted_indefault = '发布时间(天)： ';
				if(index==2)var expected_salarydefault = '期望薪金： ';
				if(index==3)var work_exp_default = '工作经验(年)： ';
				if(index==4)var employer_typesdefault = '公司类型： ';
				if(index==5)var job_requirementsdefault = '工作性质： ';
			}else{
				if(index==0)var industriesdefault = 'Industries: ';
				if(index==1)var posted_indefault = 'Post Within(days): ';
				if(index==2)var expected_salarydefault = 'Expected Salary: ';
				if(index==3)var work_exp_default = 'Work Exp(yrs): ';
				if(index==4)var employer_typesdefault = 'Employer Types: ';
				if(index==5)var job_requirementsdefault = 'Job Requirements: ';
			}
			if(pagename2 != 'homepage'){
				if(index==0)document.getElementById("element_names_0").value = truncate_str_free(industriesdefault+selectd_name);
				if(index==1)document.getElementById("element_names_1").value = truncate_str_data(posted_indefault+selectd_name);
				if(index==2)document.getElementById("element_names_2").value = truncate_str_data(expected_salarydefault+selectd_name);
				if(index==3)document.getElementById("element_names_3").value = truncate_str_data(work_exp_default+selectd_name);
				if(index==4)document.getElementById("element_names_4").value = truncate_str_free(employer_typesdefault+selectd_name);
				if(index==5)document.getElementById("element_names_5").value = truncate_str_free(job_requirementsdefault+selectd_name);
			}else{
					document.getElementById("element_names_"+index).value = truncate_str(selectd_name);
			}
				// add choice in the popup window - then showMessageBox
				add_element(index,selectd_str.substring(0,selectd_str.length-1));
			}
		}
	},
	commaToArray : function (str){ 
		function exploitArgs(){	return exploitArgs.arguments; }
		return eval('exploitArgs('+str+');');
	},
	//save jobs funtion in search result page
	toggleSaveIt : function (e_noteit) {
		if(cls == 'on'){
			var url="/Ajax/job_ajax.php";
			if(language =='en'){cmTools.noted = "Remove";cmTools.unnoted = "Save";}else{cmTools.noted = "取消保存";cmTools.unnoted = "保存";}
			el= document.getElementById(e_noteit);
			if(el.innerHTML==cmTools.unnoted){
				var e_li = el.parentNode.parentNode;
				var inputs = gt.getElements(e_li, 'INPUT');
				var anchors = gt.getElements(e_li, 'A');
				var job_id = inputs[0].name;
				var job_name = anchors[1].innerHTML;
		    	$.post(url, {job_id: job_id,job_name:job_name,action:'save'}, function(data){
		            if(data.length >0) {
		            	//$("#save_jobs_div").append(data);
		         }});
				$('#save_jobs_div').append("<div class='dlist_item' id='"+job_id+"'><input type='hidden' class='item_identifier' name='"+job_id+"'/><a href='/jobStatic.php?jid="+job_id+"' class='href1' target='_blank'>"+job_name+"</a></div>");
				el.innerHTML = cmTools.noted ;
				this.showSavedJobsPopup();
			}else{ //removing a saved job
				var e_li = el.parentNode.parentNode;
				var inputs = gt.getElements(e_li, 'INPUT');
				var job_id = inputs[0].name;
				$.post(url, {job_id: job_id,action:'remove'}, function(data){
		            if(data.length >0) {
		            	if (data =='1'){$("#"+job_id).remove();}	
		            }
		        });
		        $("#"+job_id).remove();
				el.innerHTML = cmTools.unnoted;
				this.showSavedJobsPopup();
			}
		}else{
			this.showSavedJobsPopup();
		}
	},
	getCookie:function(name){
	    var dc = document.cookie;var prefix = name + "=";var begin = dc.indexOf("; " + prefix);  
	    if (begin == -1){begin = dc.indexOf(prefix);if (begin != 0) return null;  }else{ begin += 2; }
	    var end = document.cookie.indexOf(";", begin);
	    if (end == -1){ end = dc.length; }
	    return unescape(dc.substring(begin + prefix.length, end));
	},
	delCookie:function(name,path,domain){
		if (this.getCookie(name)){
	        document.cookie = name + "=" +  
	        ((path) ? "; path=" + path : "") +
	        ((domain) ? "; domain=" + domain : "") +
	        "; expires=Thu, 01-Jan-1970 00:00:01 GMT";
	        return true;
	    }
	},
	showSavedJobsPopup:function(){
		$('#saved_jobs_popup_wrapper').removeClass("savedjobs_hidden");
		$('#saved_jobs_popup_wrapper').modal(); 
	},
	//set the quicklyResitration form values
	setRegVal:function(rlid,rpid){
		if(rlid) $('#phoneRigister input[name=location_id]').val(rlid);
		if(rpid) $('#phoneRigister input[name=position_id]').val(rpid);
	},
	viewInfo:function(job_id,left_credits,action){
		if(left_credits>0){ //use credits 
			 var url="/Ajax/job_ajax.php";//action=view_source/ apply
			  $.post(url, {job_id: job_id,left_credits:left_credits,action:action}, function(data){
					if(data.length>2){
						window.location.reload();window.open(data);
					}else if(data=='-1'){	$('#zero_credits_tips').show();}
			 	});
		}else{
			if(action=='apply'){
				if(language=='en'){ var vj_title = "Apply Job";}else{var vj_title = "申请工作";}
			}else{
				if(language=='en'){ var vj_title = "View Source Site";}else{ var vj_title = "查看来源网站";}
			}
			$("#PTitle").html(vj_title);
			$("#credits_popup").modal({position: ["5%",],containerCss:{width:600},closeHTML:"X"});
		}
	},
	scodeSubmit:function(){
		//check the validation of the security code
		var scode = $('#phonedetail input[type=text]').val();
		if(scode.length==4){
			$(".invalid_code").css({display:'none'});
			if(cls=='on'){ var jid = $('#credits_popup input[name=jid]').val();
			}else{var jid = $('#phonedetail input[name=jid]').val();}
			var url  = "/Ajax/microPayments_ajax.php";
			var cell = $('#phoneAccess input[type=text]').val();
			var at = $("#credits_popup input[name=action]").val();
			var have_e = 0; if(at=='apply') have_e = 1;
			$.post(url, {scode:scode,cell: cell,action:"continue",jid:jid,have_e:have_e}, function(data){
				if(data==0){
					$('.invalid_code').css({display:'block'});
				}else{
					if(data==1){
						$.modal.close();
						//e.preventDefault();
						$('#hidden').html("<input type='hidden' name='apply' value='1'");
						$('form:first').submit();
						// will directly apply for this job
					}else{
						// crawled jobs goto source page,no email go to source page
						$.modal.close();
						//e.preventDefault();
						var c = 10 -parseInt(cmTools.getCookie('u_times'));
						$(".buyS .leftTimes").html(c+1);
						$(".buyS #op").attr("href",data);
		        		$(".buyS").modal({closeHTML:"X",containerCss:{width:500}});
						//window.open(data);window.location.reload();	
					}			
				}
		 	});
		}else{
			$(".invalid_code").css({display:'block'});
			return false;
		}
	},
	phoneSubmit:function(){
		 var url = "/Ajax/microPayments_ajax.php";
		 var cell = $('#phoneAccess input[type=text]').val();
		 var jid="";
		 if(cls=='off'){ jid = $('#phonedetail input[name=jid]').val();}
		 if(!isValidPhone(cell)){
		 	$('#phoneAccess .invalid_phone').css({display:'block'});
		 }else{
		 	$('#phoneAccess .invalid_phone').css({display:'none'});
		 	$('#phoneAccess input:first').attr("onclick","");
		 	$('#phoneAccess #next1').attr("disabled","disabled");
		 	$('#phoneAccess #next1').addClass("dis");
		 	$.post(url, {cell: cell,jid:jid}, function(data){
				if(data==1){ $('#phonedetail').slideDown();}////slideToggle();
				else if(data.length>2){ //return urls here 
						$.modal.close();//e.preventDefault();
						var c = 10 -parseInt(cmTools.getCookie('u_times'));
						$(".buyS .leftTimes").html(c+1);
						$(".buyS #op").attr("href",data);
		        		$(".buyS").modal({closeHTML:"X",containerCss:{width:500}});
				}else{
					$('#phonedetail').slideDown();
				}
		 	});
		 }
	}
};