// JavaScript Document
function trim(sString) {
	while (sString.substring(0,1) == ' ') {
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ') {
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function Logout()
{
	document.frmLogout.submit();
}

function checkEmail(strInput)
{
	var re = /^([A-Za-z0-9\_\-\&]+\.)*[A-Za-z0-9\_\-\&]+@[A-Za-z0-9\_\-]+(\.[A-Za-z0-9\_\-]+)+$/;
	if (strInput.search(re) == -1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function checkNumber(strInput)
{
	var re = /^([0-9])+$/;
	if (strInput.search(re) == -1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function checkNumberPhone(strInput)
{
	var re = /^([0-9\_\-])+$/;
	if (strInput.search(re) == -1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function checkSpecialChar(strInput)
{
	var re = /^([A-Za-z0-9\_\-\@\#\&\!\~\%\ ])+$/;
	if (strInput.search(re) == -1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function checkFullname(strInput)
{
	var re = /^([\p{L}\.\_\-\&\ ])+$/; 
	//var re = /^([A-Za-z0-9\_\-\ ])+$/;
	if (strInput.search(re) == -1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function textCounter(field, countfield, maxlimit) 
{
	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else 
		countfield.value = maxlimit - field.value.length;
}

function clearCombobox(cbo)
{
	cbo.options.length = 0;
}

function addComboboxItem(cbo, strKey, strValue)
{
	var x = cbo.options.length;
	cbo.options[x] = new Option(strValue, strKey);
}

function checkAll(f)
{
	k = document.forms[f].elements.length;
	
	for (var i = 0; i < k; i++)
	{
		var e = document.forms[f].elements[i];
		if (e.name != "allbox")
		{
			e.checked = document.forms[f].allbox.checked;
		}
	}
}

function getCheckedNum()
{
	var num = 0;
	for(var i = 0; i < document.frmResultSearch.elements.length; i++)
	{
		var e = document.frmResultSearch.elements[i];
		if (e.name == 'resume_list_id[]') 
		{
			if(e.checked)
			num++;
		}
	}
	return num;
}

function checkAllSaveResumes(f)
{
	k = document.forms[f].elements.length;
	
	for (var i = 0; i < k; i++)
	{
		var e = document.forms[f].elements[i];
		//alert(e.id);
		if (e.id != "allbox_saveresume" && e.id != "upFolder" && e.id != "storeFolder" && e.id != "newFolder")
		{
			document.getElementById(e.id).checked = document.getElementById('allbox_saveresume').checked;
		}
	}
}

function checkSaveResumeToFolder()
{
	var form = document.frmResultSearch;
	var checkedNum = getCheckedNum();
	var basketItemNum = parseInt(form.basketItemNum.value);
	
	if(checkedNum == 0)
	{
		if(basketItemNum == 0)
		{
			alert("Không có items nào được chọn.")
			return;
		}

	}

	if(checkedNum > 0)
	{
		ajax_saveResumeToFolder(ajax.getFormValues("frmResultSearch"));
	}
}

function addLanguages()
{
	var f = document.frmAdvanceSearch;
	var i = parseInt(f.numberlang.value);
	
	if (i >= 5)
	{
		return false;
	}
	f.numberlang.value = i + 1;		
	ShowHide("jobseek_lang" + f.numberlang.value, "");
	return false;
}

function onchangeLevel(val)
{
	var f = document.frmAdvanceSearch;
	
	if (val.value != -1)
	{
		f.exactly_level.disabled = false;
	}
	else
	{
		f.exactly_level.disabled = true;
		f.exactly_level.checked = false;
	}
}

function onchangeDegree(val)
{
	var f = document.frmAdvanceSearch;
	
	if (val.value != -1)
	{
		f.exactly_degree.disabled = false;
	}
	else
	{
		f.exactly_degree.disabled = true;
		f.exactly_degree.checked = false;
	}
}

function onchangeSalary()
{
	var frm = document.frmAdvanceSearch;
	
	if (frm.salary.value == 'usd')
	{
		document.getElementById('salary_vn').style.display = 'none';
		document.getElementById('salary_us').style.display = '';
	}
	else if (frm.salary.value == 'vnd')
	{
		document.getElementById('salary_vn').style.display = '';
		document.getElementById('salary_us').style.display = 'none';
	}
	else
	{
		document.getElementById('salary_vn').style.display = 'none';
		document.getElementById('salary_us').style.display = 'none';
	}
}

function onchangeExperFrom(val)
{
	var f = document.frmAdvanceSearch;
	if (val != -1)
	{
		f.experience_to.value = val;
		f.experience_to.disabled = false;
	}
	else
	{
		f.experience_to.value = -1;
		f.experience_to.disabled = true;
	}
}

function onchangeExperTo(val)
{
	var f = document.frmAdvanceSearch;
	if (val == -1)
	{
		f.experience_from.value = val;
	}
}

function submitAdvanceSearch()
{
	var frm = document.frmAdvanceSearch;
	var keyword = frm.keyword;
	var job_type1 = frm.job_type1;
	var job_type2 = frm.job_type2;
	var job_type3 = frm.job_type3;
	var job_type4 = frm.job_type4;
	var work_type1 = frm.work_type1;
	var work_type2 = frm.work_type2;
	var work_type3 = frm.work_type3;
	
	var isFail = false;
	var objFocus = null;
	
	/*if ( trim(keyword.value) == "" )
	{
		document.getElementById('EmptyKeyword').className = "";
		document.getElementById('SpecicalCharKeyword').className = "no_error";
		isFail = true;
		objFocus = keyword;
	}
	else if ( !checkSpecialChar(trim(keyword.value)) && trim(keyword.value) != "" ) 
	{
		document.getElementById('EmptyKeyword').className = "no_error";
		document.getElementById('SpecicalCharKeyword').className = "";
		isFail = true;
		objFocus = keyword;
	}
	else
	{
		document.getElementById('EmptyKeyword').className = "no_error";
		document.getElementById('SpecicalCharKeyword').className = "no_error";
	}*/
	
	if (job_type1.checked == false && job_type2.checked == false && job_type3.checked == false && job_type4.checked == false)
	{
		document.getElementById('JobTypeUnchecked').className = "";
		isFail = true;
		objFocus = job_type1;
	}
	else
	{
		document.getElementById('JobTypeUnchecked').className = "no_error";
	}
	if (work_type1.checked == false && work_type2.checked == false && work_type3.checked == false)
	{
		document.getElementById('WorkTypeUnchecked').className = "";
		isFail = true;
		objFocus = work_type1;
	}
	else
	{
		document.getElementById('WorkTypeUnchecked').className = "no_error";
	}
	
	if(!isFail)
	{
		frm.submit();
	}
	else
	{
		objFocus.focus();
	}
}

function addAlertLanguages()
{
	var f = document.frmResumeAlert;
	var i = parseInt(f.numberlang.value);
	
	if (i >= 5)
	{
		return false;
	}
	f.numberlang.value = i + 1;			
	ShowHide("jobseek_lang" + f.numberlang.value, "");
	return false;
}

function onchangeAlertLevel(val)
{
	var f = document.frmResumeAlert;
	
	if (val.value != -1)
	{
		f.exactly_level.disabled = false;
	}
	else
	{
		f.exactly_level.disabled = true;
		f.exactly_level.checked = false;
	}
}

function onchangeAlertDegree(val)
{
	var f = document.frmResumeAlert;
	
	if (val.value != -1)
	{
		f.exactly_degree.disabled = false;
	}
	else
	{
		f.exactly_degree.disabled = true;
		f.exactly_degree.checked = false;
	}
}

function onchangeAlertSalary()
{
	var frm = document.frmResumeAlert;
	
	if (frm.salary.value == 'usd')
	{
		document.getElementById('salary_vn').style.display = 'none';
		document.getElementById('salary_us').style.display = '';
	}
	else if (frm.salary.value == 'vnd')
	{
		document.getElementById('salary_vn').style.display = '';
		document.getElementById('salary_us').style.display = 'none';
	}
	else
	{
		document.getElementById('salary_vn').style.display = 'none';
		document.getElementById('salary_us').style.display = 'none';
	}
}

function submitResumeAlert()
{
	var frm = document.frmResumeAlert;
	var title = frm.savesearch_title;
	var keyword = frm.keyword;
	var job_type1 = frm.job_type1;
	var job_type2 = frm.job_type2;
	var job_type3 = frm.job_type3;
	var job_type4 = frm.job_type4;
	var work_type1 = frm.work_type1;
	var work_type2 = frm.work_type2;
	var work_type3 = frm.work_type3;
	
	var isFail = false;
	var objFocus = null;
	
	if ( trim(title.value) == "" )
	{
		document.getElementById('TitleEmpty').className = "";
		document.getElementById('SpecicalCharTitle').className = "no_error";
		document.getElementById('TitleOverLength').className = "no_error";
		isFail = true;
		objFocus = title;
	}
	/*else if ( !checkFullname(trim(title.value)) )
	{
		document.getElementById('TitleEmpty').className = "no_error";
		document.getElementById('SpecicalCharTitle').className = "no_error";
		document.getElementById('TitleOverLength').className = "";
		isFail = true;
		objFocus = title;
	}*/
	else if ( title.value.length > 70 )
	{
		document.getElementById('TitleEmpty').className = "no_error";
		document.getElementById('SpecicalCharTitle').className = "";
		document.getElementById('TitleOverLength').className = "no_error";
		isFail = true;
		objFocus = title;
	}
	else
	{
		document.getElementById('TitleEmpty').className = "no_error";
		document.getElementById('SpecicalCharTitle').className = "no_error";
		document.getElementById('TitleOverLength').className = "no_error";
	}
	if ( trim(keyword.value) != "" )
	{
		/*if ( !checkFullname(trim(keyword.value)) )
		{
			document.getElementById('SpecicalCharKeyword').className = "";
			isFail = true;
			objFocus = keyword;
		}
		else
		{*/
			document.getElementById('SpecicalCharKeyword').className = "no_error";
		//}
	}
	if (job_type1.checked == false && job_type2.checked == false && job_type3.checked == false && job_type4.checked == false)
	{
		document.getElementById('JobTypeUnchecked').className = "";
		isFail = true;
		objFocus = job_type1;
	}
	else
	{
		document.getElementById('JobTypeUnchecked').className = "no_error";
	}
	if (work_type1.checked == false && work_type2.checked == false && work_type3.checked == false)
	{
		document.getElementById('WorkTypeUnchecked').className = "";
		isFail = true;
		objFocus = work_type1;
	}
	else
	{
		document.getElementById('WorkTypeUnchecked').className = "no_error";
	}
	
	if(!isFail)
	{
		frm.submit();
	}
	else
	{
		objFocus.focus();
	}
}

function checkForSaveSearch()
{
	var frm = document.frmAdvanceSearch;
	var keyword = frm.keyword;
	var job_type1 = frm.job_type1;
	var job_type2 = frm.job_type2;
	var job_type3 = frm.job_type3;
	var job_type4 = frm.job_type4;
	var work_type1 = frm.work_type1;
	var work_type2 = frm.work_type2;
	var work_type3 = frm.work_type3;
	
	var isFail = false;
	var objFocus = null;
	
	if ( trim(keyword.value) == "" )
	{
		document.getElementById('EmptyKeyword').className = "";
		document.getElementById('SpecicalCharKeyword').className = "no_error";
		isFail = true;
		objFocus = keyword;
	}
	/*else if ( !checkFullname(trim(keyword.value)) )
	{
		document.getElementById('EmptyKeyword').className = "no_error";
		document.getElementById('SpecicalCharKeyword').className = "";
		isFail = true;
		objFocus = keyword;
	}*/
	else
	{
		document.getElementById('EmptyKeyword').className = "no_error";
		document.getElementById('SpecicalCharKeyword').className = "no_error";
	}
	
	if (job_type1.checked == false && job_type2.checked == false && job_type3.checked == false && job_type4.checked == false)
	{
		document.getElementById('JobTypeUnchecked').className = "";
		isFail = true;
		objFocus = job_type1;
	}
	else
	{
		document.getElementById('JobTypeUnchecked').className = "no_error";
	}
	if (work_type1.checked == false && work_type2.checked == false && work_type3.checked == false)
	{
		document.getElementById('WorkTypeUnchecked').className = "";
		isFail = true;
		objFocus = work_type1;
	}
	else
	{
		document.getElementById('WorkTypeUnchecked').className = "no_error";
	}
	
	if(!isFail)
	{
		caobox.show_popup('light_box_luutieuchi');
		return false;
	}
	else
	{
		objFocus.focus();
	}	
}

function saveSearchInfo()
{
	var frm = document.frmAdvanceSearch;
	var savesearch_title = frm.savesearch_title;
	var term;
	if ( trim(document.getElementById('savesearch_title').value) == '' || document.getElementById('savesearch_title').value.length > 70 )
	{
		document.getElementById('TitleOutLimit').className = "";
		savesearch_title.select();
		return false;
	}
	else
	{
		document.getElementById('TitleOutLimit').className = "no_error";
		if (document.getElementById('receive_term1').checked == true)
		{
			term = document.getElementById('receive_term1').value;
		}
		else if (document.getElementById('receive_term2').checked == true)
		{
			term = document.getElementById('receive_term2').value;
		}
		else if (document.getElementById('receive_term3').checked == true)
		{
			term = document.getElementById('receive_term3').value;
		}
		ajax_saveSearchInfo(ajax.getFormValues("frmAdvanceSearch"), document.getElementById('savesearch_title').value, term);
	}
}

