//JavaScript Document
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function isInteger (s){
	var i;
	for (i = 0; i < s.length; i++){
		var c = s.charAt(i);
		if (isNaN(c)) 
			return false;
	}
	return true;
}

/*function CheckRecruiter() {


	if(document.f1.title.value=="")
	{
		alert('Select your title, please!');
		document.f1.title.focus();
		return false;
	}

	if(document.f1.ContactName.value=="")

	{

		alert('Enter a contact name, please!');

		document.f1.ContactName.focus();

		return false;

	}



	if(document.f1.CompanyName.value=="")

	{

		alert('Enter your company name, please!');

		document.f1.CompanyName.focus();

		return false;

	}



	if(document.f1.CompanyCountry.value=="")

	{

		alert('Select your company country, please!');

		document.f1.CompanyCountry.focus();

		return false;

	}



	if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.f1.CompanyEmail.value))

	{

		alert("Invalid E-mail Address! Please re-enter.");

		document.f1.CompanyEmail.value="";

		document.f1.CompanyEmail.focus();

		return false;

	}



	if(document.f1.rname.value=="")

	{

		alert('Enter your login name, please!');

		document.f1.ename.focus();

		return false;

	}			



	if(document.f1.rpass.value=="")

	{

		alert('Enter your password, please!');

		document.f1.rpass.focus();

		return false;

	}



	if(document.f1.cpass.value=="")

	{

		alert('Confirm your password, please!');

		document.f1.cpass.focus();

		return false;

	}



	if(document.f1.rpass.value != "" && document.f1.cpass.value != "" && document.f1.rpass.value != document.f1.cpass.value)

	{

		alert('Enter and confirm your password again!');

		document.f1.rpass.value="";

		document.f1.cpass.value="";

		document.f1.rpass.focus();

		return false;

	}

}*/
function CheckRecruiter() {

	
	/*if(document.f1.title.value=="") {
		alert('Select your title, please!');
		document.f1.title.focus();
		return false;
	}*/

	if(document.f1.ContactName.value=="" || document.f1.ContactName.value=="Contact Name") {
		alert('Enter a contact name, please!');
		document.f1.ContactName.focus();
		return false;
	}
	else {
		if(nameValidate(document.f1.ContactName.value, 'nameLabel') == false) {
			alert('Contact name is not Valid');
			document.f1.ContactName.focus();
			return false;
		}
	}

	if(document.f1.CompanyName.value=="" || document.f1.CompanyName.value=="Company Name") {
		alert('Enter your company name, please!');
		document.f1.CompanyName.focus();
		return false;
	}

	/*if(document.f1.YearEstablished.value=="") {
		alert('Enter the Year Established, please!');
		document.f1.YearEstablished.focus();
		return false;
	}
	else {
		if(yearValidate(document.f1.YearEstablished.value, 'yearLabel') == false) {
			alert('Year Established is not valid');
			document.f1.YearEstablished.focus();
			return false;
		}
	}


	if(document.f1.CompanyCountry.value == "Please select") {
		alert('Select your company country, please!');
		document.f1.CompanyCountry.focus();
		return false;
	}

	if(document.f1.txtState.value == "Please select") {

		alert('Select the state, please!');
		document.f1.txtState.focus();
		return false;
	}

	if(document.f1.CompanyZip.value != "") {
		if(zipValidate(document.f1.CompanyZip.value, 'zipLabel') == false) {
			alert('Zip code is not valid');
			document.f1.CompanyZip.focus();
			return false;
		}

	}

	if(document.f1.CompanyPhone.value != "") {
		if(phoneValidate(document.f1.CompanyPhone.value, 'telephoneLabel') == false) {
			alert('Telephone is not valid');
			document.f1.CompanyPhone.focus();
			return false;
		}

	}
	if(document.f1.CompanyPhone2.value != "") {
		if(phoneValidate(document.f1.CompanyPhone2.value, 'mobileLabel') == false) {
			alert('Mobile number is not valid');
			document.f1.CompanyPhone2.focus();
			return false;
		}

	}
	if(document.f1.fax.value != "") {
		if(phoneValidate(document.f1.fax.value, 'faxLabel') == false) {
			alert('Fax is not valid');
			document.f1.fax.focus();
			return false;
		}

	}*/


	if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.f1.CompanyEmail.value)) {
		alert("Invalid E-mail Address! Please re-enter.");
		
		document.f1.CompanyEmail.focus();
		document.f1.CompanyEmail.value="";
		return false;
	}
	
	if(document.f1.terms.checked == false) {
		  alert("It is required that you read and accept our Terms and Conditions before registering");
		  return false;
	}
	
	
	
	if(document.f1.rname.value=="" || document.f1.rname.value=="Login Name")
	{
		alert('Enter your user name, please!');
		document.f1.rname.focus();
		return false;
	}

	if(document.f1.rname.value.length<=7 || document.f1.rname.value.length>=26 || document.f1.rname.value[0]<'A' ) {
		alert('Username must be from 8 to 25 symbols and start with latin letter');
		document.f1.rname.focus();
		return false;
	}

	var pass1 = document.getElementById('pass1');
	var pass2 = document.getElementById('pass2');
	
	
	if(pass1.value=="" || pass1.value=="Password") {
		alert('Enter your password, please!');
		pass1.focus();
		return false;
	}
	
	

	if(pass2.value=="" || pass2.value == "Confirm Password") {

		alert('Confirm your password, please!');
		pass2.focus();
		return false;
	}
	
	if(pass1.value.length<=7 || pass1.value.length>=21 ) {
		alert('Password must be from 8 to 20');
		pass1.focus();
		return false;
	}

	if(pass1.value != "" && pass2.value != "" && pass1.value != pass2.value) {

		alert('Enter and confirm your password again!');
		pass1.value="";
		pass2.value="";
		pass1.focus();
		return false;

	}


	//document.f1.txtAction.value='REGISTER';
	document.f1.action='login.php';
	document.f1.submit();


}


function phoneValidate(name, labelId) {
	var error = document.getElementById(labelId);
	//var legalChars1 = /^[\(]?[\+]?[\d ]+[\)]?[\d ]+$/;
	var legalChars2 = /^[\(]{1}[\+]?[\d ]+[\)]{1}[\d ]+$/;
	var legalChars3 = /^[\+]?[\d ]+[\d ]+$/;
	var legalChars4 = /^[\d]{3}[\-]?[\d]{2}[\-]?[\d ]{4}$/;

	if(name == "") {
		error.innerHTML = "";
		return true;
	}



	if (legalChars2.test(name) == false && legalChars3.test(name) == false && legalChars4.test(name) == false) {
		error.innerHTML = "Invalid phone";
		return false;
	}

	if(name.length <= 8) {
		error.innerHTML = "The length is too short";
		return false;
	}
	if(name.length > 16) {
		error.innerHTML = "The length is too long";
		return false;
	} 

	error.innerHTML = "";
	return true;

}

function nameValidate(name, labelId) {
	var error = document.getElementById(labelId);
	var legalChars = /^[A-z]+[\s]*[A-z]*[\s]*[A-z]*$/;
	if(name.length == 1) {
		error.innerHTML = "The length is too short";
		return false;
	}
	if (legalChars.test(name) == false) {
		error.innerHTML = "Invalid name";
		return false;
	}
	error.innerHTML = "";
	return true;
}

function zipValidate(field, labelId) {



	var valid = "0123456789-";
	var hyphencount = 0;
	var error = document.getElementById(labelId);


	if (field.length!=5 && field.length!=10) {
		error.innerHTML = "Please enter your 5 digit or 5 digit+4 zip code.";

		return false;
	}
	for (var i=0; i < field.length; i++) {
		temp = "" + field.substring(i, i+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") {

			error.innerHTML = "Invalid characters in your zip code.  Please try again.";
			return false;
		}
		if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {

			error.innerHTML = "The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.";
			return false;
		}
	}
	error.innerHTML = "";
	return true;

}

function addressValidate(name, labelId) { // Validates town, use only latin symbols, numbers, spaces,  _ , and one dot(.)
	var error = document.getElementById(labelId);
	var legalChars = /^[\w ]+[\. ]?[\w ]*$/;
	if(name.length == 1) {
		error.innerHTML = "The length is too short";
		return false;
	}
	if (legalChars.test(name) == false) {
		error.innerHTML = "Town is invalid";
		return false;
	}
	error.innerHTML = "";
	return true;

}

function yearValidate(year, labelId) {

	var error = document.getElementById(labelId);
	var d = new Date();
	var curr_year = d.getFullYear();
	if(year.length != 4) {
		error.innerHTML = "The year is not valid";
		return false;
	}


	if(year >= 1700 && year <= curr_year) {
		error.innerHTML = "";
		return true;
	}
	else {
		error.innerHTML = "The year is not valid";
		return false;
	}


}

function salaryValidate(salary, labelId) {

	var error = document.getElementById(labelId);

	if((salary >= 1 && salary <= 999999999) || salary == '' || salary == 'SALARY') {
		error.innerHTML = "";
		return true;
	}
	else {
		error.innerHTML = "The salary is not valid";
		return false;
	}


}

function invitationValidate() {
	var form = document.inviteEmpFrm;
	var desire1 = document.getElementById('desire1'); 
	var desire2 = document.getElementById('desire2'); 
	
	

	
	if(form.friendsEmail.value == 'ENTER IVITEES EMAIL ADDRESS' || form.friendsEmail.value == '') {
		alert("Please enter the first email");
		form.friendsEmail.focus();
		return false;
	}
	else if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form.friendsEmail.value)) {
		alert("Email is not correct");
		form.friendsEmail.focus();
		return false;
	}
	else if(form.txtJobSNo.value == 'Please Select') {
		alert("Please select the job");
		return false;
	}
	else if(form.desire1.checked == false &&  form.desire2.checked == false) {
		alert("Please select the interview type");
		return false;
	}
	else if(form.date2.value == 'Select Date' && (form.hour2.value != '-' || form.min2.value != '-' )) {
		alert("Please select the second date");
		return false;
	}
	else if(form.date2.value != 'Select Date' && (form.hour2.value == '-' || form.min2.value == '-' )) {
		alert("Please select the second date");
		return false;
	}	
	else if(form.date3.value == 'Select Date' && (form.hour3.value != '-' || form.min3.value != '-' )) {
		alert("Please select the third date");
		return false;
	}
	else if(form.date3.value != 'Select Date' && (form.hour3.value == '-' || form.min3.value == '-' )) {
		alert("Please select the third date");
		return false;
	}
	else {
		window.scrollTo(0,0);
		showObject('alert_ivitation');
		printText('sentToEmail',document.inviteEmpFrm.friendsEmail.value);
		return true;
	}
}







function fncLoginFrm(){
	if(document.loginfrm.rname.value==""){
		alert("Please enter recruitername");
		document.loginfrm.rname.focus();
		return false;

	}
	else if(document.loginfrm.rpass.value==""){
		alert("Please enter Password");
		document.loginfrm.rpass.focus();
		return false;

	}else{
		document.loginfrm.txtAction.value='LOGIN';
		document.loginfrm.submit();

	}

}


function fncPostqstn(){
	if(document.questionFrm.txt_Qstn.value==""){
		alert("Please enter question");
		document.questionFrm.txt_Qstn.focus();
		return false;
	}
	if(document.questionFrm.job_category.value==""){
		alert("Please enter category");
		document.questionFrm.job_category.focus();
		return false;
	}
}
function ischeck(chks)
{
//	var chks = document.getElementsByName('colors[]');
	var hasChecked = false;
	for (var i = 0; i < chks.length; i++)
	{
		if (chks[i].checked)
		{
			hasChecked = true;
			break;
		}
	}
	if (hasChecked == false)
	{
//		alert("Please select at least one.");
		return false;
	}
	return true;
}

function fncPostJob(){
	if(document.jobFrm.txt_jobname.value==""){
		alert("Please enter the job name");
		document.jobFrm.txt_jobname.focus();
		return false;
	}
	if(document.jobFrm.CompanyCountry.value=="Please select"){
		alert("Please select the job location");
		document.jobFrm.CompanyCountry.focus();
		return false;
	}
	if(document.jobFrm.txtState.value=="Please select"){
		alert("Please enter the state");
		document.jobFrm.txtState.focus();
		return false;
	}


	if(document.jobFrm.question.value=="Please Select"){
		alert("Please select the Question");
		document.jobFrm.question.focus();
		return false;
	}
	if(document.jobFrm.txt_companyname.value==""){
		alert("Please enter the company name");
		document.jobFrm.txt_companyname.focus();
		return false;
	}
	if(!ischeck(document.getElementsByName('jobtype[]'))){
		alert("please check atleast one checkbox");
		return false;
	}

	if(document.jobFrm.txt_experience.value==""){
		alert("Please enter the experience");
		document.jobFrm.txt_experience.focus();
		return false;
	}
	/*if(isInteger(trim(document.jobFrm.txt_experience.value))== false){
		alert("Please Enter integer value only" );
		document.jobFrm.txt_experience.value='';
		document.jobFrm.txt_experience.focus();
		return false;
	}*/
	if(document.jobFrm.educationlevel.value==""){
		alert("Please enter the education level");
		document.jobFrm.educationlevel.focus();
		return false;
	}
	if(document.jobFrm.aboutjob.value==""){
		alert("Please enter the about the job");
		document.jobFrm.aboutjob.focus();
		return false;
	}


	if(document.jobFrm.description.value==""){
		alert("Please enter the description");
		document.jobFrm.description.focus();
		return false;
	}
	/*if(document.jobFrm.j_target.value==""){
		alert("Please enter the target");
		document.jobFrm.j_target.focus();
		return false;
	}*/
	if(document.jobFrm.salary.value==""){
		alert("Please enter the salary");
		document.jobFrm.salary.focus();
		return false;
	}
	if(document.jobFrm.date1.value==""){
		alert("Please enter the postdate");
		document.jobFrm.date1.focus();
		return false;
	}
}
function fncInviteEmp(){
	if(document.inviteEmpFrm.friendsEmail.value==""){
		alert("Please enter email address");
		document.inviteEmpFrm.friendsEmail.focus();
		return false;
	}
	if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.inviteEmpFrm.friendsEmail.value))

	{

		alert("Invalid E-mail Address! Please re-enter.");

		document.inviteEmpFrm.friendsEmail.value="";

		document.inviteEmpFrm.friendsEmail.focus();

		return false;

	}

}
function editJob(jobname){ 
	document.frmEditJobList.txtAction.value=jobname;
	document.frmEditJobList.action='post.php';
	document.frmEditJobList.submit();
}
function deleteJob(jobname, interviews){ 
	var message = "";
	if(interviews != ""){
		var message = "\n \n Attention! \n These are the interviews of this job  \n " + interviews + "\n \n You can delele interviews manually";
	}
	var agree=confirm("Are you sure you wish to Delete it ?" + message);
	if (agree)
	{
		document.frmEditJobList.txtAction.value=jobname;
		document.frmEditJobList.txtHidden.value='DELETE';
		document.frmEditJobList.submit();
		return true;				
	}
	else
	{
		return false;
	}		
}
function fncScheduleInterview(user){ //alert(user);
	document.frmRecruiterFavourite.action='sch_interview.php?uname='+user; 
//	alert(document.frmRecruiterFavourite.action);
	document.frmRecruiterFavourite.submit();
}
function fncDeleteQuestions(qid, links, interviews){ 
	var message = "";
	if(interviews != ""){
		var message = "\n \n Attention! \n These are the interviews which use this set of questions \n " + interviews + "\n \n You can delele interviews manually";
	}

	if(links != "") {
		var agree = confirm("This question set is being used by following jobs \n" + links + "\n \n All the jobs will be deleted too. Are you sure?" + message);
	}
	else {
		var agree = confirm("Are you sure you wish to Delete it ?");
	}
	if (agree)
	{
		var thisForm=document.listquestionFrm;
		thisForm.txtHidden.value=qid;
		thisForm.txtAction.value='DELETE';
		thisForm.submit();
		return true;
	}	
	else
	{
		return false;
	}	
}
function fncDeleteRecruiterQuestions(qid){ 
	var agree=confirm("Are you sure you wish to Delete the question ?");
	if (agree)
	{
		var thisForm=document.viewquestionFrm;
		thisForm.txtHidden.value=qid;
		thisForm.txtAction.value='DELETE';
		thisForm.submit();
	}
}
function fncReturnToJobSeeker(){
	var thisForm=document.saveInterview;
	thisForm.action='http://www.nextemployee.com/jobs/jobseekers/login.php';
	thisForm.submit();
}
function fncJaneRecruiterValidation(jobSeeker){ 
	var thisForm=document.inviteEmpFrm;
	if(thisForm.friendsEmail.value==""){
		alert("Please enter to email address");
		thisForm.friendsEmail.focus();
		return false;
	}
	else if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(thisForm.friendsEmail.value))
	{
		alert("Invalid E-mail Address! Please re-enter.");
		thisForm.friendsEmail.value="";
		thisForm.friendsEmail.focus();
		return false;
	}
	else if(thisForm.txtJobSNo.value=="Please Select"){
		alert("Please Select the job");
		thisForm.txtJobSNo.focus();
		return false;
	}else if(thisForm.txtMessage.value==""){
		alert("Enter the message");
		thisForm.txtMessage.focus();
		return false;
	}else if(thisForm.txtDesc.value==""){
		alert("Enter the Description");
		thisForm.txtDesc.focus();
		return false;
	}else{
		var Index = thisForm.txtJobSNo.selectedIndex;
		var jobName = thisForm.txtJobSNo.options[Index].text;
		var msg = 'If you click OK now, we will send the invitation to "<'+thisForm.friendsEmail.value+ '>" if this is fine, please click the OK button, if not, press Cancel to go back to the invitation page.';
		if (confirm(msg)){
			thisForm.txtAction.value='INVITE';
			thisForm.submit();
		} else {
			return false;
		}
	}

}

function fncJaneRecruiterValidation2(jobSeeker){ 
	var thisForm=document.inviteEmpFrm;
	if(thisForm.friendsEmail.value==""){
		
		return false;
	}
	else if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(thisForm.friendsEmail.value))
	{
		
		return false;
	}
	else if(thisForm.txtJobSNo.value=="Please Select"){
		
		return false;
	}else if(thisForm.txtMessage.value==""){
		
		return false;
	}else if(thisForm.txtDesc.value==""){
		
		return false;
	}else {
		
			thisForm.txtAction.value='INVITE';
			thisForm.submit();
		
	}

}
function fncSaveJobSeekerInformation(email){ 
	var thisForm=document.f1;
	thisForm.txtHid.value=email;
	thisForm.txtAction.value='INSERT'; 
	thisForm.submit();


}
function fncInviteJaneEmp(){
	if(document.inviteEmpFrm.friendsEmail.value==""){
		alert("Please enter email address");
		document.inviteEmpFrm.friendsEmail.focus();
		return false;
	}
	if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.inviteEmpFrm.friendsEmail.value))

	{

		alert("Invalid E-mail Address! Please re-enter.");

		document.inviteEmpFrm.friendsEmail.value="";

		document.inviteEmpFrm.friendsEmail.focus();

		return false;

	}if(document.inviteEmpFrm.txtMessage.value==""){
		alert("Please enter the message");
		document.inviteEmpFrm.txtMessage.focus();
		return false;
	}

}
function openwindowprofile(user) 
{	
	var thisForm;	
	thisForm=document.frmRecruiterFavourite;
	window.open("ProfileView.php?uname="+user,'Edit','height=500,width=550,top=300,left=450,resizable,menubar=0,align=center,scrollbars=yes');

}

function openwindowscheduleinterview(user) 
{	
	var thisForm;	
	thisForm=document.frmRecruiterFavourite;
	window.open("sch_interview.php?uname="+user, '_self');

}
function openwindowcallonsite(user) 
{	
	var thisForm;	
	thisForm=document.frmRecruiterFavourite;
	window.open("callonsite.php?uname="+user,'Edit','height=400,width=475,top=400,left=450,resizable=0,menubar=0,align=center,scrollbars=yes');

}
function openwindowhire(user) 
{	
	var thisForm;	
	thisForm=document.frmRecruiterFavourite;
	window.open("hire.php?uname="+user,'Edit','height=400,width=475,top=400,left=450,resizable=0,menubar=0,align=center,scrollbars=yes');

}
function openwindowmynotes(user) 
{	
	var thisForm;	
	thisForm=document.frmRecruiterFavourite;
	window.open("candidatenotes.php?uname="+user,'Edit','height=200,width=350,top=400,left=450,resizable=0,menubar=0,align=center,scrollbars=yes');

}

function popitup(url){
	newwindow=window.open(url,'name','height=200,width=350,top=400,left=450');

	if(window.focus)
	{
		newwindow.focus()
	}
	return false;
}

var xmlhttpobj;
function showStates(id)
{ 
	url="../recruiter/getstates.php?cid="+id; 
	xmlhttpobj=GetXmlHttpObject(stateChanged);
	xmlhttpobj.open("GET" ,url ,true);
	xmlhttpobj.send(null);
}


function stateChanged()
{
	if (xmlhttpobj.readyState == 4 || xmlhttpobj.readyState == "complete")
	{
		//alert(xmlhttpobj.responseText);
		document.getElementById("states").innerHTML=xmlhttpobj.responseText
	}
}


function GetXmlHttpObject(handler)
{ 
	var objXmlHttp=null;
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP";
		objXmlHttp=new ActiveXObject(strName);
		objXmlHttp.onreadystatechange=handler ;
		return objXmlHttp;

	} 
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		objXmlHttp=new XMLHttpRequest();
		objXmlHttp.onload=handler;
		objXmlHttp.onerror=handler ;
		return objXmlHttp;
	}
} 


