﻿/*-------------------------------------------------------------------------------
	*	FileName ; $common.js
	* Function : validative functions
	* CreatedDate : 01/02/2003
	* LastUpdate : 25/10/2004
-------------------------------------------------------------------------------*/
/*The following functions are described by their names*/

//-------------------------------------------------------------------------------
function isSpaces (Str) {
	if (isEmpty (Str)) return true;
	var i = 0;	
	while (Str.charAt(i)==' ' && i<Str.length) {
		i++;
	}
	if (i== Str.length) return true;
	return false;
}

//-------------------------------------------------------------------------------
function isEmpty(Str) {
	empty = (Str === "") ? true :  false;
	return empty;
}

//-------------------------------------------------------------------------------
function isNumber(Digit) {
	return /^\d+[\.\d*]?$/.test(Digit);
}

//------------------------------------------------------------------------------
function isAlphabet(Digit) {
	return /^[a-zA-Z]$/.test(Digit);
}

//-------------------------------------------------------------------------------
function isInteger(Str) {
	return /^[+-]?\d+$/.test(Str);
}

//-------------------------------------------------------------------------------
function isFloat(Str) {
		return /^[+-]?\d+\.{1}\d*$/.test(Str);
}

//-------------------------------------------------------------------------------
function isCurrency(Str) {
		return /^\d+[.]{1}[0-9]{2,}$/.test(Str);
}

//-------------------------------------------------------------------------------
function isDate(Str) {
	var bool1=/^[0]?\d[\/|-][0-2]?\d[\/|-]\d{4}$/.test(Str);		//0x month format 0X-2X date format
	var bool2=/^[1][0-2][\/|-][0-2]?\d[\/|-]\d{4}$/.test(Str);	//1x month format 3X date format
	var bool3=/^[1][0-2][\/|-][3][0,1][\/|-]\d{4}$/.test(Str);	
	var bool4=/^[0]?\d[\/|-][3][0,1][\/|-]\d{4}$/.test(Str);
	//var bool5=/^[1][0-2][\/|-][3][0,1][\/|-]\d{4}$/.test(Str);
	return ((bool1)||(bool2)||(bool3)||(bool4));
}
//-------------------------------------------------------------------------------
function isValidDate(nDay,nMonth,nYear) {
	if (nMonth==2 && nDay > 29) return false;
	if (nMonth==2 && nDay ==29 && nYear % 4 !=0) return false;
	if (nDay==31 && (nMonth == 4 || nMonth == 6 || nMonth == 9 || nMonth == 11 )) return false;
	return true;
}

//-------------------------------------------------------------------------------
function isTime(Str) {
		var bool1 = /^[0-1]?\d:[0-5]\d(:[0-5]\d)?$/.test(Str);
		var bool2 = /^[2][0-3]:[0-5]\d(:[0-5]\d)?$/.test(Str);
		return ((bool1)||(bool2));
}

//-------------------------------------------------------------------------------
function isDateTime(Str) {
		var str = RemoveSpace(Str).split(' ');
		return isDate(str[0]) && isTime(str[1]);
}

//-------------------------------------------------------------------------------
function isDomain (Str) {
	// The pattern for matching all special characters. 
  	//These characters include ( ) < > [ ] " | \ / ~ ! @ # $ % ^ & ? ` ' : ; , 
	var specialChars="\\(\\)<>#\\$&\\*!`\\^\\?~|/@,;:\\\\\\\"\\.\\[\\]";
	// The range of characters allowed in a username or domainname. 
	// It really states which chars aren't allowed. 
	var validChars="\[^\\s" + specialChars + "\]";
	 // An atom (basically a series of  non-special characters.) 
	var atom=validChars + '+';
	// The structure of a normal domain 
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	
	// Check if IP
	var ipDomainPat=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
	var IPArray=Str.match(ipDomainPat);
	if (IPArray!=null) {
  	// this is an IP address
	 	 for (var i=1;i<=4;i++) {
	    		if (IPArray[i]>255) {
	 			return false
	   		 }
   		 }
	}
	// Check Domain
	var domainArray=Str.match(domainPat)
	if (domainArray==null) {
    		return false;
	}

	/* domain name seems valid, but now make sure that it ends in a
	 three-letter word (like com, edu, gov ... ) or a two-letter word,
   	representing country (uk, vn) or a four-letter word (.info), and that there's a hostname preceding 
   	the domain or country. */

	/* Now we need to break up the domain to get a count of how many atoms
	it consists of. */
	var atomPat=new RegExp(atom,"g")
	var domArr=Str.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) {
	 // the address must end in a two letter or three letter word or four-letter word.
		return false;
	}

	// Make sure there's a host name preceding the domain.
	if (len<2) {
   		 return false;
	}

	return true;
}

//-------------------------------------------------------------------------------
function isOpenDomain (Str) { // E.g : lengvu.saigonnet.vn:81 or 203.162.6.65:8080
	var pos=Str.indexOf(':');
	if (pos==-1) {
		return (isDomain(Str))
	}
	else {
		domain=Str.substring(0,pos);
		openDomain = Str.substring(pos,Str.length);
	}
		return ((/^[\:]{1}\d+$/.test(openDomain))&&(isDomain(domain)));
}

//-------------------------------------------------------------------------------
function isUser (Str) {
	var specialChars="\\(\\)<>#\\$&\\*!`\\^\\?~|/@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	/* The pattern applies if the "user" is a quoted string (in
   	which case, there are no rules about which characters are allowed
   	and which aren't; anything goes).  E.g. "le nguyen vu"@webtome.com
   	is a valid (legal) e-mail address. */
	var quotedUser="(\"[^\"]*\")";
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	// See if "user" is valid 
	if (Str.match(userPat)==null) {
    		return false ;
	}
	return true;
}

//-------------------------------------------------------------------------------
function isURL(Str) { //not include http://
	var pos=Str.indexOf('/');
	var domain = (pos==-1)?Str:Str.substring(0,pos);
	var subURL = (pos==-1)?'':Str.substring(pos,Str.length);
	if (!isOpenDomain(domain)) {
		return false;
	}
	if ((subURL=='')||(subURL.length==1)) {
		return true;
	}
	var subPat = /^\/[^\/\\]+\.?[^\/\\]+(\/[^\/\\]*\.{0,1}[^\/\\]*)*$/;
	var ArrayURL=subURL.match(subPat);
	if (ArrayURL==null) {
		return false;
	}
	return true;
}

//-------------------------------------------------------------------------------
function isEmail (emailStr) {
	/* The pattern for matching fits the user@domain format. */
	var emailPat=/^(.+)@(.+)$/ ;
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
 	 /* Too many/few @'s or something; basically, this address doesn't
    	 even fit the general mould of a valid e-mail address. */
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	// See if "user" is valid 
	if (!isUser(user)) {
    	// user is not valid
   		 return false ;
	}

	// Check Domain
	if (!isDomain(domain)) {
   		return false;
	}
	return true;
}
function isUserName(strUserName){
	return /^[a-z0-9_\-]{4,15}$/.test(strUserName);
}
//-------------------------------------------------------------------------------
function isPhone(strPhone) {
	return  /^(\d{6,15})$/.test(strPhone);
	//return  /^[\+\-\(]?(\d*[\.\-\(\)\s\+]*\d*)*$/.test(strPhone);
}

//-------------------------------------------------------------------------------
function checkNumRange (value, nMin,nMax){
	if (!isInteger(value)) return false;
	if (value <nMin || value > nMax ) return false;
	return true;
}

//-------------------------------------------------------------------------------
function isFlash(fileName) {
  if (fileName=='') {
   	return false;   	
  }
  var ext = getExtension(fileName).toLowerCase();
  var e;
for(e in arrFlashFiles){
	if(arrFlashFiles[e]==ext) return true;
}
return false;
}

//-------------------------------------------------------------------------------
function isPix(fileName) {
  if (fileName=='') {
   	return false;   	
  }
  var ext = getExtension(fileName).toLowerCase();
  var e;
for(e in arrPixFiles){
	if(arrPixFiles[e]==ext) return true;
}
return false;
}
//-------------------------------------------------------------------------------
function isApply(fileName) {
  if (fileName=='') {
   	return false;   	
  }
  var ext = getExtension(fileName).toLowerCase();
  var e;
	for(e in arrApplyFiles){
		if(arrApplyFiles[e]==ext) return true;
	}
	return false;
}
//-------------------------------------------------------------------------------
function isLogo(fileName) {
  if (fileName=='') {
   	return false;   	
  }
  var ext = getExtension(fileName).toLowerCase();
  var e;
	for(e in arrLogoFiles){
		if(arrLogoFiles[e]==ext) return true;
	}
	return false;
}

//-------------------------------------------------------------------------------
function getExtension(fileName){
		return fileName.substr(fileName.lastIndexOf(".")+1);
}

function showAlert(e_name,msg){
	var eObj = document.getElementById(e_name + '_err');
	if(eObj){
		if(msg!=null){	
			eObj.innerHTML = msg + "<br>";
		}
		eObj.style.display = '';	
	}
}
function hideAlert(e_name){
	var eObj = document.getElementById(e_name + '_err');
	if(eObj){
		eObj.style.display = 'none';	
	}
}
function checkRegister(f){
	copyAllItem('jobtitle_dest','reg_jobtitle');
	copyAllItem('location_dest','reg_location');
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	var err = 0;
	if(parseInt(f.password.value.length) < 6){
		showAlert('password');
		err = 1;
	}
	if(f.password.value!=f.password_retype.value){
		showAlert('password_retype');
		err = 1;
	}
	if(!isEmail(f.email.value)){
		showAlert('email','Email c&#7911;a b&#7841;n kh&ocirc;ng h&#7907;p l&#7879;.');
		err = 1;
	}else{
		hideAlert('email');	
	}
	if(f.email.value!=f.email_retype.value){
		showAlert('email_retype','X&aacute;c nh&#7853;n email kh&ocirc;ng ch&iacute;nh x&aacute;c.');
		err = 1;
	}else{
		hideAlert('email_retype');	
	}
	if(f.first_name.value==''){
		showAlert('first_name',null);				
		err = 1;
	}else{
		hideAlert('first_name');	
	}
	if(f.last_name.value==''){
		showAlert('last_name',null);	
		err = 1;
	}else{
		hideAlert('last_name');	
	}
	if(f.fileThumbnail.value!=''){
		if(!isLogo(f.fileThumbnail.value)){
			showAlert('image',null);	
			err = 1;
		}else{
			hideAlert('image');
		}
	}	
	if((f.birth_day.value=='')||(f.birth_month.value=='')||(f.birth_year.value=='')){
		showAlert('birth_date',null);	
		err = 1;
	}else{
		hideAlert('birth_date');	
	}
	if(f.address.value==''){
		showAlert('address',null);	
		err = 1;
	}else{
		hideAlert('address');	
	}
	if(f.district.value==''){
		showAlert('district',null);	
		err = 1;
	}else{
		hideAlert('district');	
	}
	f.city.value = Trim(document.getElementById('city_input').value);
	if(f.city.value==''){
		showAlert('city',null);	
		err = 1;
	}else{
		hideAlert('city');	
	}
	if(f.country.value==''){
		showAlert('country',null);	
		err = 1;
	}else{
		hideAlert('country');	
	}
	if(!isPhone(f.phone.value)){
		showAlert('phone',null);	
		err = 1;
	}else{
		hideAlert('phone');	
	}
	if((f.hand_phone.value!='')&&(!isPhone(f.hand_phone.value))){
		showAlert('hand_phone',null);	
		err = 1;
	}else{
		hideAlert('hand_phone');	
	}
	if((!isInteger(f.level.value))||(f.level.value<1)){
		showAlert('level',null);	
		err = 1;
	}else{
		hideAlert('level');	
	}
	if((!isInteger(f.referer.value))||(f.referer.value<1)){
		showAlert('referer','Vui l&ograve;ng cho bi&#7871;t b&#7841;n bi&#7871;t ch&uacute;ng t&ocirc;i t&#7915; &#273;&acirc;u.');	
		err = 1;
	}else{
		hideAlert('referer');	
	}
	if((!isInteger(f.experience.value))||(f.experience.value<1)){
		showAlert('experience',null);	
		err = 1;
	}else{
		hideAlert('experience');	
	}
	if(Trim(f.reg_location.value)==''){
		showAlert('location',null);	
		err = 1;
	}else{
		hideAlert('location');	
	}
	if(Trim(f.reg_jobtitle.value)==''){
		showAlert('jobtitle',null);	
		err = 1;
	}else{
		hideAlert('jobtitle');	
	}
	if(!f.is_acept.checked){
		showAlert('is_acept','B&#7841;n ch&#432;a &#273;&#7891;ng &yacute; v&#7899;i th&#7887;a thu&#7853;n s&#7917; d&#7909;ng c&#7911;a ch&uacute;ng t&ocirc;i.');	
		err = 1;
	}else{
		hideAlert('is_acept');	
	}
	/*
	if(f.education.value==''){
		showAlert('education','B&#7841;n ch&#432;a nh&#7853;p qu&aacute; tr&igrave;nh h&#7885;c t&#7853;p.');	
		err = 1;
	}else{
		hideAlert('education');	
	}
	*/
	/*
	if(f.skill.value==''){
		showAlert('skill','B&#7841;n ch&#432;a nh&#7853;p k&#7929; n&#259;ng.');	
		err = 1;
	}else{
		hideAlert('skill');	
	}
	*/
	/*
	if(f.wanted_job.value==''){
		showAlert('wanted_job',null);	
		err = 1;
	}else{
		hideAlert('wanted_job');	
	}
	
	if((!isInteger(f.level.value))||(f.level.value<1)){
		showAlert('level',null);	
		err = 1;
	}else{
		hideAlert('level');	
	}
	*/
	/*
	if((!isInteger(f.jobtype.value))||(f.jobtype.value<1)){
		showAlert('jobtype',null);	
		err = 1;
	}else{
		hideAlert('jobtype');	
	}
	*/
	/*
	if((!isInteger(f.joblevel.value))||(f.joblevel.value<1)){
		showAlert('joblevel',null);	
		err = 1;
	}else{
		hideAlert('joblevel');	
	}
	*/
	if(!err) {
		hideAlert('alarm_index');
		export_cute(f.last_name,'last_nick');
		export_cute(f.first_name,'first_nick');
		export_map_keys_lower_other(f.wanted_job,'wanted_job_nick');
		resizeIF();
		f.axn_button.disabled = true;
		return true;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.<br><br>');
		resizeIF();
		return false;
	}
}
function checkProfile(f){
	copyAllItem('jobtitle_dest','reg_jobtitle');
	copyAllItem('location_dest','reg_location');
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	var err = 0;
	if(f.password.value==''){
		showAlert('password','B&#7841;n ph&#7843;i nh&#7853;p password &#273;&#7875; x&aacute;c nh&#7853;n thay &#273;&#7893;i th&ocirc;ng tin.');				
		err = 1;
	}else{
		hideAlert('password');	
	}
	if(f.first_name.value==''){
		showAlert('first_name',null);				
		err = 1;
	}else{
		hideAlert('first_name');	
	}
	if(f.last_name.value==''){
		showAlert('last_name',null);	
		err = 1;
	}else{
		hideAlert('last_name');	
	}
	if(f.fileThumbnail.value!=''){
		if(!isLogo(f.fileThumbnail.value)){
			showAlert('image',null);	
			err = 1;
		}else{
			hideAlert('image');
		}
	}	
	if((f.birth_day.value=='')||(f.birth_month.value=='')||(f.birth_year.value=='')){
		showAlert('birth_date',null);	
		err = 1;
	}else{
		hideAlert('birth_date');	
	}
	if(f.address.value==''){
		showAlert('address',null);	
		err = 1;
	}else{
		hideAlert('address');	
	}
	if(f.district.value==''){
		showAlert('district',null);	
		err = 1;
	}else{
		hideAlert('district');	
	}
	f.city.value = Trim(document.getElementById('city_input').value);
	if(f.city.value==''){
		showAlert('city',null);	
		err = 1;
	}else{
		hideAlert('city');	
	}
	if(f.country.value==''){
		showAlert('country',null);	
		err = 1;
	}else{
		hideAlert('country');	
	}
	if(!isPhone(f.phone.value)){
		showAlert('phone',null);	
		err = 1;
	}else{
		hideAlert('phone');	
	}
	if((f.hand_phone.value!='')&&(!isPhone(f.hand_phone.value))){
		showAlert('hand_phone',null);	
		err = 1;
	}else{
		hideAlert('hand_phone');	
	}
	if((!isInteger(f.level.value))||(f.level.value<1)){
		showAlert('level',null);	
		err = 1;
	}else{
		hideAlert('level');	
	}
	if((!isInteger(f.experience.value))||(f.experience.value<1)){
		showAlert('experience',null);	
		err = 1;
	}else{
		hideAlert('experience');	
	}
	if(Trim(f.reg_location.value)==''){
		showAlert('location',null);	
		err = 1;
	}else{
		hideAlert('location');	
	}
	if(Trim(f.reg_jobtitle.value)==''){
		showAlert('jobtitle',null);	
		err = 1;
	}else{
		hideAlert('jobtitle');	
	}
	if(!err) {
		hideAlert('alarm_index');
		export_cute(f.last_name,'last_nick');
		export_cute(f.first_name,'first_nick');
		f.axn_button.disabled = true;
		resizeIF();
		return true;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.<br><br>');
		resizeIF();
		return false;
	}
}
function checkPostResume(f){
	//updateTextArea('education');
	//updateTextArea('job_experience');
	//updateTextArea('skill');
	//updateTextArea('wanted_job_description');
	copyAllItem('jobtitle_dest','reg_jobtitle');
	copyAllItem('location_dest','reg_location');
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	var err = 0;
	if(f.education.value==''){
		showAlert('education',null);	
		err = 1;
	}else{
		hideAlert('education');	
	}
	/*
	if(f.skill.value==''){
		showAlert('skill','B&#7841;n ch&#432;a nh&#7853;p k&#7929; n&#259;ng.');	
		err = 1;
	}else{
		hideAlert('skill');	
	}
	*/
	if(f.title.value==''){
		showAlert('title','B&#7841;n ch&#432;a nh&#7853;p ti&ecirc;u &#273;&#7873;.');	
		err = 1;
	}else{
		hideAlert('title');	
	}
	if(f.wanted_job.value==''){
		showAlert('wanted_job',null);	
		err = 1;
	}else{
		hideAlert('wanted_job');	
	}
	if((!isInteger(f.level.value))||(f.level.value<1)){
		showAlert('level',null);	
		err = 1;
	}else{
		hideAlert('level');	
	}
	if((!isInteger(f.jobtype.value))||(f.jobtype.value<1)){
		showAlert('jobtype',null);	
		err = 1;
	}else{
		hideAlert('jobtype');	
	}
	if((!isInteger(f.joblevel.value))||(f.joblevel.value<1)){
		showAlert('joblevel',null);	
		err = 1;
	}else{
		hideAlert('joblevel');	
	}
	if((!isInteger(f.experience.value))||(f.experience.value<1)){
		showAlert('experience',null);	
		err = 1;
	}else{
		hideAlert('experience');	
	}
	if(Trim(f.reg_location.value)==''){
		showAlert('location',null);	
		err = 1;
	}else{
		hideAlert('location');	
	}
	if(Trim(f.reg_jobtitle.value)==''){
		showAlert('jobtitle',null);	
		err = 1;
	}else{
		hideAlert('jobtitle');	
	}
	if(!f.is_acept.checked){
		showAlert('is_acept','B&#7841;n ch&#432;a &#273;&#7891;ng &yacute; v&#7899;i th&#7887;a thu&#7853;n s&#7917; d&#7909;ng c&#7911;a ch&uacute;ng t&ocirc;i.');	
		err = 1;
	}else{
		hideAlert('is_acept');	
	}
	export_map_keys_lower_other(f.title,'title_nick');
	if(!err) {
		hideAlert('alarm_index');
		//f.axn_button.disabled = true;
		return true;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.<br><br>');
		return false;
	}
}
function checkPostResumeAjax(f){
	copyAllItem('jobtitle_dest','reg_jobtitle');
	copyAllItem('location_dest','reg_location');
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	var err = 0;
	if(f.education.value==''){
		showAlert('education',null);	
		err = 1;
	}else{
		hideAlert('education');	
	}
	/*
	if(f.skill.value==''){
		showAlert('skill','B&#7841;n ch&#432;a nh&#7853;p k&#7929; n&#259;ng.');	
		err = 1;
	}else{
		hideAlert('skill');	
	}
	*/
	if(f.title.value==''){
		showAlert('title','B&#7841;n ch&#432;a nh&#7853;p ti&ecirc;u &#273;&#7873;.');	
		err = 1;
	}else{
		hideAlert('title');	
	}
	if(f.wanted_job.value==''){
		showAlert('wanted_job',null);	
		err = 1;
	}else{
		hideAlert('wanted_job');	
	}
	if((!isInteger(f.level.value))||(f.level.value<1)){
		showAlert('level',null);	
		err = 1;
	}else{
		hideAlert('level');	
	}
	if((!isInteger(f.jobtype.value))||(f.jobtype.value<1)){
		showAlert('jobtype',null);	
		err = 1;
	}else{
		hideAlert('jobtype');	
	}
	if((!isInteger(f.joblevel.value))||(f.joblevel.value<1)){
		showAlert('joblevel',null);	
		err = 1;
	}else{
		hideAlert('joblevel');	
	}
	if((!isInteger(f.experience.value))||(f.experience.value<1)){
		showAlert('experience',null);	
		err = 1;
	}else{
		hideAlert('experience');	
	}
	if(Trim(f.reg_location.value)==''){
		showAlert('location',null);	
		err = 1;
	}else{
		hideAlert('location');	
	}
	if(Trim(f.reg_jobtitle.value)==''){
		showAlert('jobtitle',null);	
		err = 1;
	}else{
		hideAlert('jobtitle');	
	}
	if(!f.is_acept.checked){
		showAlert('is_acept','B&#7841;n ch&#432;a &#273;&#7891;ng &yacute; v&#7899;i th&#7887;a thu&#7853;n s&#7917; d&#7909;ng c&#7911;a ch&uacute;ng t&ocirc;i.');	
		err = 1;
	}else{
		hideAlert('is_acept');	
	}
	export_map_keys_lower_other_trim(f.title,'title_nick');
	if(!err) {
		hideAlert('alarm_index');
		f.axn_button.disabled = true;
		checkPostBack(f);
		return false;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.<br><br>');
		return false;
	}
}
function checkLogin(f){
	var err = 0;
	f.email.value = Trim(f.email.value);
	if(!isEmail(f.email.value)){
		showAlert('email','Email c&#7911;a b&#7841;n kh&ocirc;ng h&#7907;p l&#7879;.');
		err = 1;
	}else{
		hideAlert('email');	
	}
	if(f.password.value==''){
		showAlert('password','B&#7841;n ch&#432;a nh&#7853;p password.');
		err = 1;
	}else{
		hideAlert('password');	
	}
	if(!err) {
		hideAlert('alarm_index');
		if(f.login) f.login.disabled = true;
		checkPostBack(f);
		var args = checkLogin.arguments;
		if(args.length>1){
			for(var i=1;i<args.length;i++){
				args[i].value = '';
			}
		}
		return false;		
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkContact(f){
	var err = 0;
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	if(!isEmail(f.email.value)){
		showAlert('email',null);
		err = 1;
	}else{
		hideAlert('email');	
	}
	if(f.sender.value==''){
		showAlert('sender',null);
		err = 1;
	}else{
		hideAlert('sender');	
	}
	if((f.phone.value!='')&&(!isPhone(f.phone.value))){
		showAlert('phone',null);	
		err = 1;
	}else{
		hideAlert('phone');	
	}
	if(f.title.value==''){
		showAlert('title',null);
		err = 1;
	}else{
		hideAlert('title');	
	}
	if(Trim(f.content.value)==''){
		showAlert('content',null);
		err = 1;
	}else{
		hideAlert('content');	
	}
	if(!err) {
		hideAlert('alarm_index');
		if(f.axn_button) f.axn_button.disabled = true;
		return true;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkContact4view(f){
	var err = 0;
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	if(!isEmail(f.email.value)){
		showAlert('email',null);
		err = 1;
	}else{
		hideAlert('email');	
	}
	if(f.contact_person.value==''){
		showAlert('person',null);
		err = 1;
	}else{
		hideAlert('person');	
	}
	if((f.phone.value!='')&&(!isPhone(f.phone.value))){
		showAlert('phone',null);	
		err = 1;
	}else{
		hideAlert('phone');	
	}
	if((f.fax.value!='')&&(!isPhone(f.fax.value))){
		showAlert('fax',null);	
		err = 1;
	}else{
		hideAlert('phone');	
	}
	if(Trim(f.name.value)==''){
		showAlert('name',null);
		err = 1;
	}else{
		hideAlert('name');	
	}
	if(Trim(f.district.value)==''){
		showAlert('district',null);
		err = 1;
	}else{
		hideAlert('district');	
	}
	if(Trim(f.address.value)==''){
		showAlert('address',null);
		err = 1;
	}else{
		hideAlert('address');	
	}
	if(Trim(f.city.value)==''){
		showAlert('city',null);
		err = 1;
	}else{
		hideAlert('city');	
	}
	if(!err) {
		hideAlert('alarm_index');
		if(f.axn_button) f.axn_button.disabled = true;
		return true;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkChangePassword(f){
	var err = 0;
	if(f.password_new.value==''){
		showAlert('password_new','B&#7841;n ch&#432;a nh&#7853;p password m&#7899;i.');
		err = 1;
	}else{
		if(f.password_new.value.length < 6){
			showAlert('password_new','Password n&ecirc;n nhi&#7873;u h&#417;n 5 k&iacute; t&#7921;.');
			err = 1;
		}else{
			hideAlert('password_new');	
		}
	}
	if(f.password_new.value!=f.password_retype.value){
		showAlert('password_retype','X&aacute;c nh&#7853;n password kh&ocirc;ng ch&iacute;nh x&aacute;c.');
		err = 1;
	}else{
		hideAlert('password_retype');	
	}
	if(f.password.value==''){
		showAlert('password','B&#7841;n ch&#432;a nh&#7853;p password.');
		err = 1;
	}else{
		hideAlert('password');	
	}
	if(!err) {
		hideAlert('alarm_index');
		if(f.axn_button) f.axn_button.disabled = true;
		checkPostBack(f);
		return false;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkChangeEmail(f){
	var err = 0;
	f.email_new.value = Trim(f.email_new.value);
	if(!isEmail(f.email_new.value)){
		showAlert('email_new','Email c&#7911;a b&#7841;n kh&ocirc;ng h&#7907;p l&#7879;.');
		err = 1;
	}else{
		hideAlert('email_new');	
	}
	if(f.email_new.value!=f.email_retype.value){
		showAlert('email_retype','X&aacute;c nh&#7853;n email kh&ocirc;ng ch&iacute;nh x&aacute;c.');
		err = 1;
	}else{
		hideAlert('email_retype');	
	}
	if(f.password.value==''){
		showAlert('password','B&#7841;n ch&#432;a nh&#7853;p password.');
		err = 1;
	}else{
		hideAlert('password');	
	}
	if(!err) {
		hideAlert('alarm_index');
		if(f.axn_button) f.axn_button.disabled = true;
		checkPostBack(f);
		return false;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkForgot(f){
	var err = 0;
	f.email.value = Trim(f.email.value);
	if(!isEmail(f.email.value)){
		showAlert('email','Email c&#7911;a b&#7841;n kh&ocirc;ng h&#7907;p l&#7879;.');
		err = 1;
	}else{
		hideAlert('email');	
	}
	if(!err) {
		hideAlert('alarm_index');
		if(f.axn_button) f.axn_button.disabled = true;
		checkPostBack(f);
		return false;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkApplyEmail(f){
	var err = 0;
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	if(f.subject.value==''){
		showAlert('subject','B&#7841;n ch&#432;a nh&#7853;p ti&ecirc;u &#273;&#7873; email.');	
		err = 1;
	}else{
		hideAlert('subject');	
	}
	if(f.docfile.value!=''){
		if(!isApply(f.docfile.value)){
			showAlert('docfile','File b&#7841;n kh&ocirc;ng &#273;&#432;&#7907;c ph&eacute;p upload.');	
			err = 1;
		}else{
			hideAlert('docfile');
			hideAlert('message');
		}
	}else{
		if(f.message.value=='')	{
			showAlert('message','B&#7841;n vui l&ograve;ng nh&#7853;p &#273;&#417;n xin vi&#7879;c ho&#7863;c g&#7917;i file &#273;&iacute;nh k&egrave;m.');	
			err = 1;
		}else{
			hideAlert('message');
			hideAlert('docfile');
		}
	}
	if(!err) {
		hideAlert('alarm_index');
		if(f.axn_button) f.axn_button.disabled = true;
		return true;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkJobAlert(f){
	copyAllItem('jobtitle_dest','reg_jobtitle');
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	var err = 0;
	if(Trim(f.reg_jobtitle.value)==''){
		showAlert('jobtitle','B&#7841;n ch&#432;a ch&#7885;n ng&agrave;nh ngh&#7873; ph&ugrave; h&#7907;p v&#7899;i b&#7841;n.');	
		err = 1;
	}else{
		hideAlert('jobtitle');	
	}
	if(!err) {
		hideAlert('alarm_index');
		f.axn_button.disabled = true;
		return true;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkJobAlertAjax(f){
	copyAllItem('jobtitle_dest','reg_jobtitle');
	for(var i=0;i<f.elements.length;i++){
		var e = f.elements[i];
		if(e.type=='text')	e.value = Trim(e.value);
	}
	var err = 0;
	if(Trim(f.reg_jobtitle.value)==''){
		showAlert('jobtitle','B&#7841;n ch&#432;a ch&#7885;n ng&agrave;nh ngh&#7873; ph&ugrave; h&#7907;p v&#7899;i b&#7841;n.');	
		err = 1;
	}else{
		hideAlert('jobtitle');	
	}
	if(!err) {
		hideAlert('alarm_index');
		f.axn_button.disabled = true;
		checkPostBack(f);
		return false;
	}else{
		showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
		return false;
	}
}
function checkVote(f){
		return true;
}
function inputDigit(e){
	if(!e) var e = event;
	return ((e.keyCode>47)&&(e.keyCode<58));
}
//add for Hoi cho viec lam Can Tho 26.03.08
function viewCreateResume(f,tdID){
	var objTD = document.getElementById(tdID);
	if(objTD){
		if(f.checked){
			objTD.style.display = '';	
		}else{
			objTD.style.display = 'none';	
		}
		resizeIF();
	}
	return true;
}
function checkRegisterResume(f){
	if(!f.createResume.checked) {
		return checkRegister(f);
	}else {
		f.title.value = f.wanted_job.value ;
		var s = checkPostResume(f);
		resizeIF();
		var p = checkRegister(f);
		resizeIF();
		if(p&&s) {
			hideAlert('alarm_index');
			f.axn_button.disabled = true;
			resizeIF();
			return true;
		}
		else {
			showAlert('alarm_index','&#272;&atilde; c&oacute; l&#7895;i trong qu&aacute; tr&igrave;nh x&#7917; l&yacute; th&ocirc;ng tin, b&#7841;n vui l&ograve;ng xem l&#7841;i th&ocirc;ng tin b&ecirc;n d&#432;&#7899;i.');
			f.axn_button.disabled = false;
			resizeIF();
			return false;
		}
	}
}
//End add for Hoi cho viec lam Can Tho 26.03.08
function inputReal(){
	return (((event.keyCode>47)&&(event.keyCode<58))||(event.keyCode==44)||(event.keyCode==46));
}
function inputChar(){
	return (((event.keyCode>64)&&(event.keyCode<91))||((event.keyCode>96)&&(event.keyCode<123)));
}
function checkAdvanceSearch(f){
	var fStr;
	fStr = '/employee/job';
	if(f.jobtitle_id){
		fStr += '/title/'+f.jobtitle_id.value;
	}else{
		fStr += '/title/0';
	}
	if(f.location_id){
		fStr += '/location/'+f.location_id.value;
	}else{
		fStr += '/location/0';
	}
	if(f.jobtype){
		fStr += '/type/'+f.jobtype.value;
	}else{
		fStr += '/type/0';	
	}
	if(f.experience){
		fStr += '/experience/'+f.experience.value;
	}else{
		fStr += '/experience/0';
	}
	if(f.salary){
		fStr += '/salary/'+f.salary.value;
	}else{
		fStr += '/salary/1000';
	}
	if(f.date){
		fStr += '/date/'+f.date.value;
	}else{
		fStr += '/date/0';
	}
	if(f.keyword){
		export_map_key_trim(f.keyword,'keyword_nick');
	}
	fStr += '/tag/' + f.keyword.value;
	f.action = fStr;
	window.location.href=fStr;
	return false;
}