/***************************
	Function Onblur event
***************************/

function check_date(field)
{
	
	var currentTime = new Date();
	var month = currentTime.getMonth() + 1;
	var day = currentTime.getDate();
	var year = currentTime.getFullYear()-18;
	var curDt=day+"-"+month+"-"+year;
if(document.getElementById(field).value=="00-00-0000")
	{
		alert('Please Enter Valid Date');
		return false;
	}
	if(document.getElementById(field).value!="")
	{
		if(document.getElementById(field).value>curDt)
		{
			alert('Birthdate should be greater than 18 year.');
			return false;
		}
	}

	return true;
	
}
function mandatoryField(field, required) {
             if (field.value=="") {
                    
       if(field.id=="country")
				 {
var fieldname="Home Country";
				 }
				 else
				 {
var fieldname=field.id;
				 }
           if (required) {
              alert("Please Enter "+fieldname);
               document.getElementById(field.id).focus();
                return false;
             }
			 }
       
            return true;
      }
function isEmptyFieldAndAlphabeticNumeric(id)
{
	var fieldValueCheck = document.getElementById(id).value;
			 var field=id.replace("_"," ");
				field=field.replace("_"," ");

	
	 if(!fieldValueCheck.match(/^[a-zA-Z0-9@&,.*#^_!":/'}{\|)( -]+$/))
	{
		alert('Please enter valid ' + field );
		document.getElementById(id).focus();
		return false;
	}
	
		return true;
	
}
function emptyValidation(fieldList)
{
	var field=new Array();
	field=fieldList.split("~");
	var counter=0;
	for(i=0;i<field.length;i++)
	{
		if(document.getElementById(field[i]).value=="")
			{
				alert('Please enter ' + field[i] );
				document.getElementById(field[i]).focus();
				return false;
			}
	}
}
function checkSpace(id)
{

var str=" ";
var count=document.getElementById(id).value.indexOf(str);
	if(count==0)
		{
alert('Please Eliminate Primary Space from '+id+' field');
document.getElementById(id).focus();
	return false;
		}
				return true;

}
function isEmptyField(id)
{
	if(document.getElementById(id).value=="") 
	{
		if(id=="certname")
		{
			idChanged = "certification name";
			alert('Please enter ' + idChanged );
		}
		else if(id=="certdesc")
		{
			idChanged = "certification description";
			alert('Please enter ' + idChanged );
		}
		else if(id=="certid")
		{
			idChanged = "certification type";
			alert('Please enter ' + idChanged );
		}
		
		else
		{
			alert('Please enter ' + id );
		}
		
		document.getElementById(id).focus();
		return false;
	}
	else
	{
		return true;
	}
}


function confirmLink(theLink)
{
	var is_confirmed = confirm('Are you sure to delete this record?\n\nThis will permanently delete the Record!');
    if (is_confirmed) 
	{
		theLink.href += '';
    }
    return is_confirmed;
}

////*************************************************8 Neha Gupta **************************************************/

var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;



function ValidateOfficeNumber(phn,id)
{
	alert("m here");
	alert(phn);
	var Phone=phn;
	var ret=isEmpty(Phone,id);
	if(ret==true)
	{
		if (checkInternationalPhone(Phone)==false)
			{
				alert("Please Enter a Valid Office Phone Number with minimum 10 digits.")
				id.focus();
				return false;
			}
	}
	else
	{
		return false;
	}
	return true;
 }


function ValidateHomeNumber(phn,id)
{
	var Phone=phn;
	var ret=isEmpty(Phone,id);
		if(ret==true)
		{
			if (checkInternationalPhone(Phone)==false)
				{
					alert("Please Enter a Valid Home Phone Number with minimum 10 digits.")
					id.focus();
					return false;
				}
		}
		else
		{
			return false;
		}
	return true;
 }


function ValidateMobileNumber(phn,id)
{
	var Phone=phn;
	var ret=isEmpty(Phone,id);
	if(ret==true)
	{
		if (checkInternationalPhone(Phone)==false)
			{
				alert("Please Enter a Valid Mobile Number with minimum 10 digits.")
				id.focus();
				return false;
			}
	}
	else
	{
		return false;
	}
	return true;
 }

  
 //------------------ Email Validation
 
function validatemail(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("Please Enter a Valid E-mail ID");
		   return false;
	    }
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		{
		   alert("Please Enter a Valid E-mail ID");
		   return false;
		}
	   if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	    {
		    alert("Please Enter a Valid E-mail ID");
		    return false;
		}

		if (str.indexOf(at,(lat+1))!=-1)
		 {
		    alert("Please Enter a Valid E-mail ID");
		    return false;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		 {
		    alert("Please Enter a Valid E-mail ID");
		    return false;
		 }

		 if (str.indexOf(dot,(lat+2))==-1)
		 {
		    alert("Please Enter a Valid E-mail ID");
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1)
		 {
		    alert("Please Enter a Valid E-mail ID");
		    return false;
		 }
return true;	
}

//---------------------- Date validations -----------
function checkDate(sDay,sMonth,sYear,eDay,eMonth,eYear,msg)
{
	
	var endDate=eYear+"-"+eMonth+"-"+eDay;
	var startDate=sYear+"-"+sMonth+"-"+sDay;
	var start_Date=new Date(sYear,sMonth-1,sDay);
	var end_date=new Date(eYear,eMonth-1,eDay);
	
	var diff=end_date-start_Date;
	var hours=Math.round(diff/1000/60/60);
	var weeks=Math.round(diff/1000/60/60/24);
	var month=Math.round(diff/1000/60/60/24/30);
	var year=Math.round(diff/1000/60/60/24/365);
	
	/*
	else
	{*/
		if(msg=="pro")
		{
			if ((sDay||sMonth||sYear)=="")
			{
				alert("Please select birth date.");
				return false;
			}
			else if ((eDay||eMonth||eYear)=="")
			{
				alert("Please select joining date.");
				return false;
			}
			else
			{
				if(weeks>0)
					{
			
					}
				else
					{
						alert("Joining date should be Greater than birth date");
						return false;
					}
			}
		}
		if(msg=="exp")
		{
			if ((sDay||sMonth||sYear)=="")
			{
				alert("Please select joining date.");
				return false;
			}
			else if ((eDay||eMonth||eYear)=="")
			{
				alert("Please select leaving date.");
				return false;
			}
			else
			{
				if(weeks>0)
					{
			
					}
				else
					{
						alert("Leaving date should be Greater than joining date");
						return false;
					}
			}
		}
	
		if(msg=="proj")
		{
			if ((sDay||sMonth||sYear)=="")
			{
				alert("Please select project start date.");
				return false;
			}
			else if ((eDay||eMonth||eYear)=="")
			{
				alert("Please select project end date.");
				return false;
			}
			else
			{
				if(weeks>0)
					{
			
					}
				else
					{
						alert("Project End Date should be Greater than Start Date");
						return false;
					}
			}
		}
	/*}*/
	return true;
}


function checkYear(fromYear,toYear)
{
	var d = new Date();
	var yr=d.getFullYear();
	
	if(fromYear=="")
	{
		alert("Please select from year");
		return false;
	}	
	else if(toYear=="")
	{
		alert("Please select to year");
		return false;
	}

	else if(fromYear>yr)
	{
		alert("From Year should be less than Current Year");
		return false;
	}
	else if(toYear>yr)
	{
		alert("To Year should be less than Current Year");
		return false;
	}
	else if(fromYear>toYear)
	{
		alert("From Year should not be greater than To Year");
		return false;
	}
	return true;	
}
function checkToYear(toYear)
{var d = new Date();
	var yr=d.getFullYear();
if(toYear=="")
	{

alert("Please select year of passing");
		return false;
	}
if(toYear>yr)
	{
		alert("Passing Year should be less than or equal to Current Year");
		return false;
	}
	return true;	
}
function ValidateJoinDate(startDay,startMonth,startYear)
{
	
	var now = new Date();
	now = now.getTime(); 
	
	resYear=startYear;
	resMonth=startMonth;
	resDate=startDay;
	
	var resCheckDate = Date.UTC(resYear,resMonth-1,resDate);
	if(now < resCheckDate)
	{
		alert("Joining Date can not be in future");
		return false;
	}

	return true;
}

function ValidateBirthDate(birthDay,birthMonth,birthYear)
{
	
	var now = new Date();
	now = now.getTime(); 

	resYear=birthYear;
	resMonth=birthMonth;
	resDate=birthDay;
	
	var resCheckDate = Date.UTC(resYear,resMonth-1,resDate);		
	var retrunDate = (isEmptyBirthDate(birthDay) && isEmptyBirthDate(birthMonth) && isEmptyBirthDate(birthYear));
	
	if(retrunDate==false)
	{
		return false;
	}
	
	if(now < resCheckDate)
	{
		
		alert("Birth Date can not be in future");
		return false;
	}
	return true;
}

function ValidateJoinDate(joiningDay,joiningMonth,joiningYear)
{
		
	var now = new Date();
	now = now.getTime(); 
	
	resYear=joiningYear;
	resMonth=joiningMonth;
	resDate=joiningDay;
		
	var resCheckDate = Date.UTC(resYear,resMonth-1,resDate);
		
	var retrunDate = (isEmptyJoinDate(joiningDay) && isEmptyJoinDate(joiningMonth) && isEmptyJoinDate(joiningYear));
	
	if(retrunDate==false)
	{
		
		return false;
	}
	
	if(now < resCheckDate)
	{
		
		alert("Joining Date can not be in future");
		return false;
	}
	return true;
}

function ValidateStartDate(startDay,startMonth,startYear)
{
	var now = new Date();
	now = now.getTime(); 
	
	resYear=startYear;
	resMonth=startMonth;
	resDate=startDay;
	
	var resCheckDate = Date.UTC(resYear,resMonth-1,resDate);
	
	var retrunDate = (isEmptyDate(startDay) && isEmptyDate(startMonth) && isEmptyDate(startYear));
	
	if(retrunDate==false)
	{
		//alert("Joining Date can not be empty");
		return false;
	}
	else if(now < resCheckDate)
	{
		alert("Start Date Should be Less than or Equal to Current Date");
		return false;
	}
	return true;
}

function isEmptyDate(str)
{
	if(str=="") 
	{
		alert('Please enter start date of IT experience');
		//document.getElementById(id).focus();
		return false;
	}
	else
	{
		return true;
	}

}

function isEmptyBirthDate(str)
{
	if(str=="") 
	{
		alert('Please enter birth date.');
		return false;
	}
	else
	{
		return true;
	}

}

function isEmptyJoinDate(str)
{
	if(str=="") 
	{
		alert('please enter joining date.');
		
		return false;
	}
	else
	{
		return true;
	}

}

function ValidStartDate(startDay,startMonth,startYear)
{

	var now = new Date();
	now = now.getTime(); 
	
	resYear=startYear;
	resMonth=startMonth;
	resDate=startDay;
	
	var resCheckDate = Date.UTC(resYear,resMonth-1,resDate);
	if(now < resCheckDate)
	{
		alert("Project Start Date Should be Less than Current Date");
		return false;
	}
	return true;
}



function ValidEndDate(startDay,startMonth,startYear)
{
	var now = new Date();
	now = now.getTime(); 
	
	resYear=startYear;
	resMonth=startMonth;
	resDate=startDay;
	
	var resCheckDate = Date.UTC(resYear,resMonth-1,resDate);
	if(now < resCheckDate)
	{
		alert("Project End Date Should be Less than Current Date");
		return false;
	}
	return true;
}

function validatePassYear(year)
{
	var now = new Date();
	var yr=now.getFullYear();
	if(year>yr)
	{
		alert("Passing Year Should be Less than or Equal to Current Year");
		return false;
	}
	return true;
}

// --- Past Experience ----------------------------
function ValidateJoiningDate(jDay,jMonth,jYear)
{
	
	var currentTime = new Date();
	var month = currentTime.getMonth() + 1;
	var day = currentTime.getDate();
	var year = currentTime.getFullYear();
	var curDt=year+"-"+month+"-"+day;

	resYear=jYear;
	resMonth=jMonth;
	resDate=jDay;

	var resCheckDate = resYear+"-"+resMonth+"-"+resDate;
	
	if(resCheckDate>=curDt)
	{
		alert("Joining Date Should be Less than Current Date");
		return false;
	}
	return true;

}

function ValidateLeaveDate(lDay,lMonth,lYear)
{
	

	var currentTime = new Date();
	var month = currentTime.getMonth() + 1;
	var day = currentTime.getDate();
	var year = currentTime.getFullYear();
	var curDt=year+"-"+month+"-"+day;

	resYear=lYear;
	resMonth=lMonth;
	resDate=lDay;

	var resCheckDate = resYear+"-"+resMonth+"-"+resDate;
	if(resCheckDate>=curDt)
	{
	alert("Leaving Date Should be Less than Current Date");
	return false;
	}
	return true;

}

/* Text must be Alpha --------------------------------------------------------*/
//check to see if input is alphabetic
function isAlphabetic(val,id)
{
	var retn=isEmpty(val,id);
	if(val!="")
	{
	if(retn==true)
	{
		if (val.match(/^[a-zA-Z]+$/))
		{
		return true;
		}
		else
		{
		alert("Please enter valid "+ id);
		id.focus();
		return false;
		} 
	}
	}
	return true;
}


function isAlphabeticSpace(val,id)
{if(val!="")
	{
		if(val.match(/^[a-zA-Z0-9 ]+$/))
		{
		return true;
		}
		else
		{
		alert("Please enter valid "+ id);
		id.focus();
		return false;
		} 
	}
	return true;
}


function isAlphabeticID(val,id)
{
	var retn=isEmpty(val,id);
	if(retn==true)
	{
		if (val.match(/^[a-zA-Z]+$/))
		{
		return true;
		}
		else
		{
		alert("Only Albhabets are Allowded");
		id.focus();
		return false;
		} 
	}
}


function isEmptyFieldAndAlphabetic(id)
{
	var fieldValueCheck = document.getElementById(id).value;
	if(fieldValueCheck!="") 
	{
		
	 if(!fieldValueCheck.match(/^[a-zA-Z,. ]+$/))
	{
		alert('Please enter valid ' + id );
		document.getElementById(id).focus();
		return false;
	}
	}
	
		return true;
	
}

function isEmptyFieldAndAlphabeticWithSpaceWithoutNumeric(id)
{
	//alert (id);
	var fieldValueChk = document.getElementById(id).value;
	//alert (fieldValueChk);
	if(fieldValueChk=="") 
	{
		alert('Please enter ' + id );
		document.getElementById(id).focus();

		return false;
	}
	else if(!(fieldValueChk.match(/^[a-zA-Z.&,_()*'" -]+$/)))
	{
		//alert (fieldValueChk);
		alert('Please enter valid ' + id );
		document.getElementById(id).focus();
		return false;
	}
	else
	{
		return true;
	}
}


function isEmptyFieldAndAlphabeticWithSpaceWithNumeric(id)
{
	var fieldValueCheck = document.getElementById(id).value;
	if(id=="certname")
		{
			idChanged = "certification name";
			
		}
		else
		{
			idChanged=id;
		}
	if(fieldValueCheck=="") 
	{
		alert('Please enter ' + idChanged );
		document.getElementById(id).focus();
		return false;
	}
	else if(fieldValueCheck.replace(new RegExp('([\\f\\n\\r\\t\\v ])+', 'g'),"")=="")
	{
		alert('Please enter valid ' + idChanged );
		document.getElementById(id).focus();
		return false;
	}
	else if(!fieldValueCheck.match(/^[a-zA-Z0-9+)(&.,-_*'" ]+$/))
	{
		alert('Please enter valid ' + idChanged );
		document.getElementById(id).focus();
		return false;
	}
	
	else
	{
		return true;
	}
}


function isNumericOnly(num)
{
	var numValue = document.getElementById(num).value;
	if(numValue.match(/^[1-9]+$/))
	{
		return true;
	}
	else
	{
		alert(num+" should be Numeric");
		document.getElementById(num).focus();
		return false;
	} 
}



//-------- Limit Max & Min Length ------------------------------
function validLimit(per)
{
	//alert(per);
	var percentage=parseFloat(per);
	var maxi=parseFloat("100");
	var mini=parseFloat("32");
	if(per=="")
	{
		alert("Please enter percentage"); 
		return false;

	}
	else if(!per.match(/^[0-9.NA]+$/))
	{
		alert("Please enter valid percentage"); 
		return false;
	}
	else if(percentage>maxi)
	{
		alert("Please enter valid Percentage ( < 100%)"); 
		return false;
	}
	else if(percentage<=mini)
	{
		alert("Please enter valid Percentage ( > 33 %)"); 
		return false;
	}
	else
	{
		return true;
	}
}


//--------- check to see if input is alphanumeric ----------------------------------------
function isAlphaNumeric(val)
{
	if (val.match(/^[a-zA-Z0-9]+$/))
	{
		return true;
	}
	else
	{
		alert("Certification Name should be Alphanumeric Only");
		return false;
	} 
}
//------------- NonNumeric Values Validation ---------------------------------

function AlphaSpecialChar(strString,msg)	//  check for valid numeric strings	
{
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;
	if (strString.length == 0)
	{
		alert("Please enter issuing authority");

		return false;   //  test strString consists of valid characters listed above
	}

	for (i = 0; i < strString.length && blnResult == true; i++)
	{
      strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
		{
			blnResult = true;
		}
		else
		{
			if(msg=='issue')
			{
				alert("Numeric values are not Allowded in Issuing Authority Field!");
				blnResult=false;
			}
			else if(msg=='reason')
			{
			alert("Numeric values are not Allowded in Reason Field!");
			blnResult=false;
			}
			else if(msg=='tech')
			{
				alert("Numeric Values are not Allowded in Technology Field!");
				blnResult=false;
			}
			else if(msg=='ache')
			{
				alert("Numeric Values are not Allowded in Achievements Field!");
				blnResult=false;
			}
			else if(msg=='desc')
			{
				alert("Numeric Values are not Allowded in Description Field!");
				blnResult=false;
			}
			else
			{
				alert("Numeric Values are not Allowded!");
				blnResult=false;
			}

		}	 
  }
    return blnResult;
}




function checkProfile(id)
{
	if(document.getElementById(field[i]).value=="")
	{
		alert(id+ ' is mandatory');
		document.getElementById(id).focus();
		return flase;
	}
}

function emailValidate(id)
{
	if(document.getElementById(id).value!="")
	{
	if(!(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/).test(document.getElementById(id).value))
	{
		alert("Please enter Valid "+id+" Email Id");
		document.getElementById(id).focus();
		return false;
	}	
	
	}
	return true;
}

function otheremailValidate(id)
{
	if(document.getElementById(id).value!="")
	{
	if(!(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/).test(document.getElementById(id).value))
	{
		alert("Please enter Valid Other Email Id");
		document.getElementById(id).focus();
		return false;
	}	
	else
	{
		return true;
	}
	}
	return true;
}
function validatePhoneNumbers(value,id,key)
{
  var count=value.length;
  if((value!='') && (count<=15))
  {	
    if(!ValidateNo(value,"1234567890+-() "))
	  {
		  	if(key=='home')
				{
					alert("Please Enter a Valid Home Number in format in format xxxx-xxxxxxxx")
					id.focus();
					return false;
				}
				else if(key=='office')
				{
					alert("Please Enter a Valid Office Number in format xxxx-xxxxxxxx")
					id.focus();
					return false;
				}
				else if(key=='cell')
				{
					alert("Please Enter a Valid Mobile Number in format xxxxxxxxxxx")
					id.focus();
					return false;
				}
	  }
   }
   else 
   {
	 	if(count>15)
	 	{
		alert("Please Enter Phone Number of Maximum 15 Digits")
		id.focus();
		return false;
	 	}
	}
  	return true;
}


function ValidateNo(NumStr, String)
{
	for(var Idx=0; Idx<NumStr.length; Idx++)
	{
			var Char = NumStr.charAt(Idx);
			var Match = false;
	
			for(var Idx1=0; Idx1<String.length; Idx1++)
			{
				if(Char == String.charAt (Idx1))
					Match = true;
			}
	
			if (!Match)
				return false;
	}
	return true;
} 


function validateZIP(value,id)
{
	if (value!="")
	{
	
		if (!(value.match(/^[a-zA-Z0-9-]+$/)))
		{
			alert("Please Enter valid Zip Code!");
			document.getElementById(id).focus();
			return false;
		}
	return true;
	}
	else
		return true;
}



// Fax Validation -------------------------------------------------------------

function validateFAX(value,id)
{
	//alert (value+"--Hi--"+id);
	if (value!="")
	{
	
		if (!(value.match(/^[0-9-+()/ ]+$/)))
		{
			alert("Please Enter valid Fax Number!");
			document.getElementById(id).focus();
			return false;
		}
	return true;
	}
	else
		return true;
}

function isEmpty(aTextField,id)
{
	//alert (strString+"Hi"+id);
	var invalid = " "; // Invalid character is a space
	if (aTextField.indexOf(invalid) > -1) 
	{
		alert("Sorry,Spaces are not Allowed.");
		id.focus();
		return false;
	}
	else
	{
		return true;
	}
}
function checkURL(id)
	{
		if(document.getElementById(id).value!="")
		{
		var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
if(!tomatch.test(document.getElementById(id).value))
		{
	alert("Please enter valid URL");
	document.getElementById(id).focus();
return false;
		}
		}
		return true;
	}