var invalid = " "; // Invalid character is a space
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
var ud=false;
var timer=null;
var mandatory=["login_name","password","confirm_password","hint_question","hint_answer","first_name","last_name","date_of_birth","email_id","location_preference","functional_area","industry","experience","highest_qualification","resume_title"]//,"Resume_In_Ms_Word_Format"]

//original one as on before 29-8-9
//var mandatory_1=["login_name","password","confirm_password","first_name","last_name","date_of_birth","email_id","location_preference","functional_area","industry","experience","highest_qualification","resume_title"]//,"Resume_In_Ms_Word_Format"]

//modified after 29-8-9 to remove location pref, functionalArea, dateofbirth,resumetitle as mandatory fields
var mandatory_1=["login_name","password","confirm_password","first_name","last_name","email_id","experience","highest_qualification"]


function leftTrim( strValue ) {
		var objRegExp = /^(\s*)(\b[\w\W]*)$/;
			  if(objRegExp.test(strValue)) {
			   strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function rightTrim( strValue ) {
		var objRegExp = /^([\w\W]*)(\b\s*)$/;
			   if(objRegExp.test(strValue)) {
			   strValue = strValue.replace(objRegExp, '$1');
			}
		  return strValue;
}

function trimAll( strValue ) {
		 var objRegExp = /^(\s*)$/;
			if(objRegExp.test(strValue)) {
			   strValue = strValue.replace(objRegExp, '');
			   if( strValue.length == 0)
				  return strValue;
			}
		   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
		   if(objRegExp.test(strValue)) {
			   strValue = strValue.replace(objRegExp, '$2');
			}
		  return strValue;
}

function checkAvailability() {
		var user=arguments[0];
		if(user.value.length==0) {
			var warn="Provide Login Name To check The Id Existence";
			document.all?caution(warn):alert(warn);
			user.focus();
			return false;
		} else { 
					var bleft=screen.width?(screen.width-400)/2:0;
					var btop=screen.height?(screen.height-200)/2:0;
					open(arguments[1]+"?id="+user.value,"","width=400,height=200,left="+bleft+",top="+btop+",scrollbars=no,resizable=yes");
			}
}


function showDate() {
		var tleft=screen.width?(screen.width-350)/2:0;
		var ttop=screen.height?(screen.height-280)/2:0;
		open(arguments[0],'Date','width=350,height=280,scrollbars=no,left='+tleft+',top='+ttop+',scrolling=no,resizable=no');
}

function attachCV() {
		var leftcv=screen.width?(screen.width-500)/2:0;
		var topcv=screen.height?(screen.height-170)/2:0;
		open(path+"pages/jobseeker/upload.jsp","","scrollbars=no,maximize=no,resizable=no,width="+500+",height="+170+",left="+leftcv+",top="+topcv);
}

function attachCVInAsp(jobseeker) {
		var qrystring = "?js="+jobseeker;
		var leftcv=screen.width?(screen.width-500)/2:0;
		var topcv=screen.height?(screen.height-170)/2:0;
		//open(path+"pages/jobseeker/upload.jsp","","scrollbars=no,maximize=no,resizable=no,width="+500+",height="+170+",left="+leftcv+",top="+topcv);
		open("http://www.vsrkjandhyala.com/jobguaranty/upload.asp"+qrystring,"","scrollbars=no,maximize=no,resizable=no,width="+500+",height="+170+",left="+leftcv+",top="+topcv);
}


//add for validation of username and emailid
function attachCVjsrs(objjsid,objfname,objlname,objdob,objloc,objfarea,objind,objexp,objqual,objresumetitle,objpwd,objcnfpwd,objemailid) {
	var firstname 	= objfname.value;
	var lastname    = objlname.value;
	var dateofbirth = objdob.value;
	var resume	= objresumetitle.value;
	var jobseeker   = objjsid.value;
	var location    = objloc.options[objloc.selectedIndex].value;
	var area	= objfarea.options[objfarea.selectedIndex].value;
	var industry    = objind.options[objind.selectedIndex].value;
	var experience  = objexp.options[objexp.selectedIndex].value;
	var qual	= objqual.options[objqual.selectedIndex].value;
	var pwd		= objpwd.value;
	var cnfpwd	= objcnfpwd.value;
	
	
if (jobseeker == "")
{
	alert("Jobseeker Id could not be empty");
	objjsid.focus();
	return false;
}
if(pwd == "")
{
	alert("Password could not be empty");
	objpwd.focus();
	return false;
}
if(pwd != cnfpwd)
{
	alert("Confirm password should be same as that of password u entered");
	objcnfpwd.focus();
	return false;
}
		
if (firstname == "")
{
	alert("Firstname could not be empty");
	objfname.focus();
	return false;
}
if(lastname == "")
{
	alert("Last name could not be empty");
	objlname.focus();
	return false;
}
if (dateofbirth == "")
{
	//alert("Date of Birth could not be empty");
	//objdob.focus();
	//return false;
}
if((objemailid.value==null)||(objemailid.value==""))
{
	alert("Please specify ur Email Id");
	objemailid.focus();
	return false;
}
if (echeck(objemailid.value)==false)
{
		objemailid.value="";
		objemailid.focus();
		return false;
}


if(location =="")
{
	 //alert("Please specify ur location preferences.");
	 //objloc.focus();
	 //return false;
}

if(area == "")
{
  	 //alert("Please specify ur functional area");
  	 //objfarea.focus();
  	 //return false;
 }
 
 if(industry == "")
  {
  	 //alert("Please specify ur industry.");
  	 //objind.focus();
 	 //return false;
 }

if(experience == "")
{
  	 alert("Please specify ur experience details.");
  	 objexp.focus();
	 return false;
}

if (qual == "")
{
  	 alert("Please specify ur qualification.");
  	 objqual.focus();
	 return false;
}

if(resume == "")
{
	//alert("Please specify ur resume title.");
	//objresumetitle.focus();
	//return false;
}
	
		var qrystring = "?js="+jobseeker;
		var leftcv=screen.width?(screen.width-500)/2:0;
		var topcv=screen.height?(screen.height-170)/2:0;
		//open("http://localhost/upload.asp","","scrollbars=no,maximize=yes,resizable=yes,width="+500+",height="+170+",left="+leftcv+",top="+topcv);
		open("http://www.vsrkjandhyala.com/jobguaranty/upload-jsrs.asp"+qrystring,"","scrollbars=no,maximize=yes,resizable=yes,width="+500+",height="+170+",left="+leftcv+",top="+topcv);
}


function isSelection() {
		selectDynamicText ="<b>You have selected:</b><br>" 
		selectlen=arguments[1].options.length;
		var j=0;
		threhold=arguments[2];
		for(i=0;i<selectlen;i++) {
			if(arguments[1].options[i].selected) j++;
		}
		if(j>threhold ||j<1 || arguments[1].selectedIndex==0) {
			setError(arguments[0],arguments[1],"Please select 1 or not more than "+threhold+" options and avoid atmost first option selection");
			arguments[1].selectedIndex=0;
			arguments[1].focus();
			return false;
		} return true;
	}

function isNotEmpty( strValue ) {
	   var strTemp = strValue;
	   strTemp = trimAll(strTemp);
	   if(strTemp.length > 0){
		 return true;
	   }  
	   return false;
}

function isPassword() {
		var minLength = 6; // Minimum length
		var frm=arguments[0];
		var pw1 = arguments[1];
		var pw2 = arguments[2];
		if (pw1.value == '' || pw2.value == '') {
		  setError(frm,pw1,'Please enter your password twice.');
		  return false;
		}
		if (pw1.value.length < minLength) {
			setError(frm,pw1,'Your password must be at least ' + minLength + ' characters long. Try again.');
			return false;
		}
		if (pw1.value.indexOf(invalid) > -1) {
			setError(frm,pw1,"Sorry, spaces are not allowed.");
			return false;
		} else {
		if (pw1.value != pw2.value) {
			setError(frm,pw2,"Confirm Password Not Matched With Original Password.");
			return false;}
		} return true;
}

function isSpaces() {
	 var el=arguments[1];
	 if (el.value.indexOf(invalid) > -1) {
			setError(arguments[0],el,"Sorry, spaces are not allowed.");
			return false;
		} return true;
}

function isZip( strValue ) {
		var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
		  return objRegExp.test(strValue);
}

function isPhone( strValue ) {
		  var objRegExp  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
		  return objRegExp.test(strValue); 
}

function isEmail() {
		var objRegExp  = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
		var mail=objRegExp.test(arguments[1].value);
		if(mail==false) {
				setError(arguments[0],arguments[1],"Invalid Email Address. Please Check Once Again");
				return false;
		} return true;
}

function  isNumeric( strValue ) {
		  var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; 
		  return objRegExp.test(strValue);
}

function  isInteger( strValue ) {
		  var objRegExp  = /(^-?\d\d*$)/;
		  return objRegExp.test(strValue);
}

/*var span=document.createElement("SPAN");
span.style.color="royalblue";
field.parentNode.appendChild(span);
*/
function isMaxLength(field,counter,maxlimit) {
	if (field.value.length > maxlimit) 
	field.value = field.value.substring(0, maxlimit);
    //status=maxlimit - field.value.length;
}

function isValidForm() {
	var frm=arguments[0];
	var msg,elm,empty;
	//alert('goes to validate form');
	resetError(frm);
	for(var i=0;i<mandatory_1.length;i++) {
		elm=eval("frm."+mandatory_1[i]);
		msg=(elm.type=="text" || elm.type=="textarea" || elm.type=="password")?"Provide Value for :":(elm.type=="select-one")?"Select value for :":"Avoid Top Most Selection and Choose Values for :";
		msg+="\" "+elm.name+" \"";
		//alert(""+msg+"");
		msg=msg.replaceAll("_"," ").toTitleCase();
		if(!isNotEmpty(elm.value)) { setError(frm,elm,msg);return false;}
	} return true;
}

function isValidChars() {
	var frm=arguments[0];
	var el=arguments[1];
	var chars=new RegExp("^[a-zA-Z0-9_-]*$");
	var result=chars.test(el.value);
	if(result==false) {
		setError(frm,el,"Special Characters are Not Allowed. Please Check Once Again");
		return false;
	} return true;
}


function submitForm() {
	var frm=arguments[0];
	return (isValidForm(frm) && isSpaces(frm,frm.login_name) && isValidChars(frm,frm.login_name) && isPassword(arguments[0],arguments[0].password,arguments[0].confirm_password) && isSelection(arguments[0],arguments[0].location_preference,3) && isEmail(arguments[0],arguments[0].email_id)) 
}


function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 					
	}


/********************Date Picker Functionality******************/
function getDate() {
	document.getElementById('formholder').value=arguments[0];
	document.getElementById('dateholder').value=arguments[1];
	var tgt=document.getElementById('datepick');
	var oDialog=document.getElementById('datepicker');
	var iLeftPos = getOffsetLeft(tgt);
	var iTopPos = getOffsetTop(tgt) + (tgt.offsetHeight);
	oDialog.style.left = (iLeftPos) + "px";
	oDialog.style.top = (iTopPos) + "px";
	oDialog.style.display="block";
}
function getOffsetTop(elm) {
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent) {
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetTop;
}
function getOffsetLeft(elm) {
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent) {
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetLeft;
}
function closeFrame() {
	document.getElementById('datepicker').style.display='none';
}
// use for jsp pages
//document.write("<iframe src='"+path+"pages/global/calendar.jsp' id=datepicker width=250 height=235 frameborder=0 framespacing=0 style='border:0px solid #345345;display:none;position:absolute'></iframe>");

// use for asp page
document.write("<iframe src='calendar.html' id=datepicker width=250 height=235 frameborder=0 framespacing=0 style='border:0px solid #345345;display:none;position:absolute'></iframe>");
