document.write("<script src='../scripts/validation.js' type='text/javascript'></script>")
var valid = {
  empusername_min: 5,
  empusername_max: 50,
  empusername: /(?!^[\.\_]*$)(?!^[\x21-\x40\x5B-\x60\x7B-\x7E]*$)^([a-z0-9]{5,20})$/i,
  empusername_inv: /^[a-z0-9\.\_]*$/i,
  
  emppassword_min: 5,
  emppassword_max: 50,
  emppassword: /(?!^[a-z]*$)(?!^[\x21-\x40\x5B-\x60\x7B-\x7E]*$)^([\x21-\x7E]{5,20})$/i,
  emppassword_inv: /^[\x21-\x7E]*$/,
  
  empemail_max: 50,
  empemail: /^[a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*\@(([a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*)(\.[a-z]{2,4})|([0-9]+\.){4}[0-9]+)$/i,
  
  companyname_min: 2,
  companyname_max: 250,
    
  contactname_min: 2,
  contactname_max: 100,
  
  designation_max:150,
  
  jobcode_min: 2,
  jobcode_max: 50,
  
  jobtitle_min: 2,
  jobtitle_max: 250,
  
  reqDet_min: 2,
  
  keyskill_max: 250
  
  
}


/*validates employee user name*/
function validateEmpUsername(username)
{
	  var error = false;
	  username = username.value;
	  if (username == '') error = 'blank_empun';
	  else if (!isValidEmpUsername(username,1)) error = 'bad_empun';
	  else if (username.length < valid.empusername_min) error = 'short_empun';
	  else if (username.length > valid.empusername_max) error = 'long_empun';
	  else if (!isValidEmpUsername(username)) error = 'invalid_empun';
	  else if (username.match(/^myspace/)) error = 'reserved_empun';
	  return error;
}

/*validates employer user name*/
function isValidEmpUsername(username,typeinv) {
  if (typeinv)
    return !!valid.empusername_inv.exec(username);
  else
    return !!valid.empusername.exec(username);
}

function validateCompanyAddress(address)
{
	var error = false;
	if (trimAll(address) == '') error = 'blank_cmpaddress';
	return error;
}
/*validates password*/
function validateEmpPassword(password,type) {
  var error = false;
  password = password.value;
  if (password == '') error = 'blank_emppswd';
  else if (!isValidEmpPassword(password,1)) error = 'bad_emppswd';
  else if (password.length < valid.emppassword_min) error = 'short_emppswd';
  else if (password.length > valid.emppassword_max) error = 'long_emppswd';
  else if (password.search(/[a-z]/i) == -1) error = 'invalid_emppswd_letter';
  return error;
}
/*validates password*/
function isValidEmpPassword(password,typeinv) 
{
  if (typeinv)
    return !!valid.emppassword_inv.exec(password);
  else
    return !!valid.emppassword.exec(password);
}
/*validates confirm password*/
function validateEmpPassword2(password,password2,type) {
  var error = false;
  if (password == '') error = 'blank_emppswd2';
  else if (password2 == '') error = 'blank_emppswd';
  else if (!isValidEmpPassword(password2,1)) error = 'bad_emppswd';
  else if (password2.length < valid.emppassword_min) error = 'short_emppswd';
  else if (password2.length > valid.emppassword_max) error = 'long_emppswd';
  else if (password2.search(/[a-z]/i) == -1) error = 'invalid_emppswd_letter';
  else if (password != password2) error = 'mismatch_emppswd2';
  return error;
}

/*validates email*/
function validateEmpEmail(email) {
  var error = false;
  if (email == '') error = 'blank_empemail';
  else if (email.length > valid.empemail_max) error = 'bad_empemail';
  else if (!isValidEmpEmail(email)) error = 'invalid_empemail';
  return error;
}

/*validates email*/
function isValidEmpEmail(email) {
  return !!valid.empemail.exec(email);
}
/*validates email*/
function validateAltEmpEmail(email) {
  var error = false;
  if(email.length>0)
  {
	  if (email.length > valid.email_max) error = 'bad_empemail';
	  else if (!isValidEmpEmail(email)) error = 'invalid_empemail';
  }
  return error;
}

/*valdates company name*/
function validateCompanyName(name){
	var error = false;
	name = trimAll(name);
	
  if (trimAll(name) == '') error = 'blank_companyname';
  else if (name.length < valid.companyname_min) error = 'short_companyname';
  else if (name.length > valid.companyname_max) error = 'long_companyname';
  return error;
}
function validateContactName(name){
	var error = false;
	name = trimAll(name);
	
  if (trimAll(name) == '') error = 'blank_contactname';
  else if (name.length < valid.contactname_min) error = 'short_contactname';
  else if (name.length > valid.contactname_max) error = 'long_contactname';
  return error;
}

function validateDesignation(desig)
{
	var error = false;
	desig = trimAll(desig);
	if (name.length > valid.designation_max) error = 'long_designation';
	return error;
}

function validateContact()
{
	var error = false;
	var phone1=trim(document.getElementById("std1").value)+"-"+trim(document.getElementById("phone1").value);
	var phone2=trim(document.getElementById("std2").value)+"-"+trim(document.getElementById("phone2").value);
	var fax=trim(document.getElementById("std3").value)+"-"+trim(document.getElementById("fax").value);
	var mobile=trim(document.getElementById("mobile").value);
	
	if(phone1.length==1 && phone2.length==1 && fax.length==1 && mobile.length==0)
		error='blank_contact';
	if(error==false)	
	 if(phone1.length>1)
		error=ValidatePhone(phone1);
	
	if(error==false)
	 if(phone2.length>1)
		error=ValidatePhone(phone2);
	if(error==false)
 	 if(fax.length>1)
		error=ValidatePhone(fax);
	if(error==false)
	 if(mobile.length>0)
		error=ValidatePhone(mobile);
	
	return error;
}
/*valdates first name*/
function isValidCompanyname(name){
	return !!valid.companyname.exec(name);
}

function validateSelect(select,val){ 
	var error = false;
	var OptValue=select.substring(0,3);
	if (select == '' || select == "--Select--") error = 'blank_select' + val;
	else if('---'==OptValue) error = 'wrong_select';
	else if(select == 'State30') error = 'blank_selectstate'; //for metro cities
	return error;
}

function validateJobCode(jobcode)
{
	var error = false;
	jobcode = trimAll(jobcode);
	if (trimAll(jobcode) == '') error = 'blank_jobcode';
	else if (jobcode.length < valid.jobcode_min) error = 'short_jobcode';
	else if (jobcode.length > valid.jobcode_max) error = 'long_jobcode';
	return error;
}
function validateJobTitle(jobtitle)
{
	var error = false;
	jobtitle = trimAll(jobtitle);
	if (trimAll(jobtitle) == '') error = 'blank_jobtitle';
	else if (jobtitle.length < valid.jobtitle_min) error = 'short_jobtitle';
	else if (jobtitle.length > valid.jjobtitle_max) error = 'long_jobtitle';
	return error;
}

function validatekey(key)
{
	var error = false;
	key = trimAll(key);
	if(trimAll(key) == "") error = 'blank_key';
	else if(key.substring(0,1) == ' ' || key.substring(0,1) == '\n' || key.substring(0,1).charCodeAt(0) == '13' || key.substring(0,1).charCodeAt(0) == '10') error = 'invalid_key';
	else if (key.length > valid.keyskill_max) error = 'keyskill_max';
	return error;
}
/*vallidates date*/
function validateDate(date)
{
	var error = false;
	error=isDate(trimAll(date.value));
	return error;
}

function validateJobLoc(obj,val)
{
	var error = false;
	var len = obj.length;
	var selected=0;
	for (i = 0; i < len; i++) 
	{
		if(obj.options[i].selected==true)
		{
			selected++;
		}

	}
	if(selected==0 || obj.value=="0") 
	{
		error = 'blank_select' + val;
	}
	return error;
}
/*valdates role*/
function validateRole(role){
	var error = false;
	if (role.substring(0,1) == ' ')
	{
		 error = 'bad_jobrole';
	}
	role = trimAll(role);
  if (trimAll(role) == '') error = 'blank_jobrole';
  return error;
}

/*validate job compensation*/
function validateCompensation(compensation)
{
	var error = false;
	compensation=trimAll(compensation);
	if (compensation.substring(0,1) == ' ')
	{
		 error = 'bad_jobcompensation';
	}
	if (compensation == '') error = 'blank_jobcompensation';
  
  	return error;
}

/*validate qualification*/
function validateQualification(qualification)
{
	var error = false;
	if (trimAll(qualification) == '') error = 'blank_qualification';
	return error;
}

/*validate work experience required*/
function validateWorkExp(fy,ty)
{
	var error = false;
	if(fy == "Years" || ty == "Years") error = 'blank_exp';
	/*else if(y != "" && m == "Months") error = 'blank_m';
	else if(y == "Years" && m != "") error = 'blank_y';
	else if(y == "Years") error = 'blank_y';
	else if(m == "Months") error = 'blank_m';*/
	return error;
}


function validateRequirementDetails(reqDet)
{
	var error = false;
	reqDet = trimAll(reqDet);
	if (trimAll(reqDet) == '') error = 'blank_reqDet';
	else if (reqDet.length < valid.jobtitle_min) error = 'short_reqDet';
	return error;
}

function validateContactInfo()
{
	
	var error = false;
	
	var email=trim(document.getElementById('email').value);
	var phone=trim(document.getElementById('phone').value);
	var address=trim(document.getElementById('address').value);
	
	if(email.length>0)
    {
	  if (email.length > valid.email_max) error = 'bad_contemail';
	  else if (!isValidEmpEmail(email)) error = 'bad_contemail';
    }
	if(error==false)
	if(phone.length>0)
    {
		error=ValidatePhone(phone);
	}
	if(error==false)
	if(address.length==0 && phone.length==0 && email.length==0)
		error = 'blank_contactInfo';
	
	return error;
}
function trimAll(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;
}