
//***************function for email-id validation*********************
function valid_email(eml)
{
	//alert(eml);
	//declare the required variables
	var mint_len;
	var mstr_eml = eml;
	var mint_at = 0;
	var mint_atnum = 0;
	var mint_dot = 0;
	var mint_firstdot = 0;
	var mint_dotnum = 0;
	
	mint_len=eml.length; //takes the length of the email address entered
	
	//checking for the symbol single quote. If found replace it with its html code
	if (mstr_eml.indexOf("'")!=-1)
	{
		mstr_eml=mstr_eml.replace("'","&#39;");
	}
	
	//checking for the (@) & (.) symbol
	for(var iloop=0;iloop<mint_len;iloop++)
	{
		if(mstr_eml.charAt(iloop)=="@")
		{
			mint_at=iloop+1;
			mint_atnum=mint_atnum+1;
		}
		if(mstr_eml.charAt(iloop)==".")
		{
			if (mint_dot-(iloop+1))
			{
				if((iloop+1-mint_dot)==1)
				{
					return false;
				}
			}
			mint_dot=iloop+1;
			if ((mint_at!=0)&&(mint_firstdot==0))
			{
				mint_firstdot = iloop + 1;
			}
			mint_dotnum=mint_dotnum+1;
		}
	}
	//if nothing entered in the field
	if (mstr_eml=="")
	{		
		return false
	}
	
	//if @ entered more than once & dot (.) entered more than 4 times
	else if((mint_atnum!=1)||(mint_dotnum>4)||(Math.abs(mint_firstdot-mint_at)<2)||((mint_len-mint_dot)<2)||(mint_at<3))
	{
		return false;
	}
	
	//if any blank space is entered in the email address
	else if (mstr_eml.indexOf(" ")!=-1)
	{		
		return false;
	}
}
//////////////////////////////////////////////////////////////////////////

//***********fuction for date validation******************

function valid_date(datevalue)
{
	var input_date=new String(datevalue);
	var dat;
	var count=0;
	
	for (var m=0;m<input_date.length;m++)
	{
		if ((input_date.charAt(m)=="/"))
		{
			count=count+1;
		}
	}
	if ((input_date.indexOf(" ")!=-1)||(count!=2))
	{
		return false;
	}
	if (input_date.indexOf("/")!=-1)
	{
		dat=input_date.split("/");
	}
			
	/////validations for month
	
	if (isNaN(dat[0]))
	{
		return false;
	}
	else if ((dat[0]<1)||(dat[0])>12)
	{
		return false;
	}
		
	//validations for days
	
	if (isNaN(dat[1]))
	{
		return false;
	}
	else if (dat[1]<1)
	{
		return false;
	}	
	else if ((Math.abs(dat[0])=="1")||(Math.abs(dat[0])=="3")||(Math.abs(dat[0])=="5")||(Math.abs(dat[0])=="7")||(Math.abs(dat[0])=="8")||(Math.abs(dat[0])=="10")||(Math.abs(dat[0])=="12"))
	{
		if ((Math.abs(dat[1])<1)||(Math.abs(dat[1])>31))
		{
		return false;
		}
	}	
	else if ((Math.abs(dat[0])=="4")||(Math.abs(dat[0])=="6")||(Math.abs(dat[0])=="9")||(Math.abs(dat[0])=="11"))
	{
		if ((Math.abs(dat[1])<1)||(Math.abs(dat[1])>30))
		{
			return false;
		}
	}
	else if (Math.abs(dat[0])==2)
	{
			
		if ((Math.abs(dat[2]) % 4)==0)
		{
			if ((Math.abs(dat[1])<1)||(Math.abs(dat[1])>29))
			{
			return false;
			}
		}
		else
		{
			if((Math.abs(dat[1])<1)||(Math.abs(dat[1])>28))
			{
				return false;
			}
		}	
	}
		
	//validation for year
	
	if (isNaN(dat[2]))
	{
		return false;
	}
	else if ((dat[2].length!=2)&&(dat[2].length!=4))
	{
		return false;
	}
}

//*****************function for checking blank field*******************
function checkBlankField(txt)
{
	var mint_txt=txt.length; //Takes the total length of the value entered
	var mstr_txt=txt;
	var mint_count=0;
	
	//checking with each character for space
	for(var iloop=0;iloop<mint_txt;iloop++)
	{
		if(mstr_txt.charAt(iloop)==" ")
		{
			mint_count=mint_count+1;
		}
	}
	
	//if nothing entered in the field
	if (txt=="")
	{
		return false;
	}
	
	//if only spaces are entered
	else if (mint_count==mint_txt)
	{
		return false;
	}
}

//************/////////Compare two dates(2nd Date not more than 1st Date)/////////********************************

function compareDates(date1,date2)
{
	//date1 < date2
	// Ex. 12/1/2001 - 1/1/2001
	var input_date1=new String(date1);
	var input_date2=new String(date2);
	var dat1;
	var dat2;
	var count1=0;
	var count2=0;
	var dates1=new Date(date1);
	var dates2=new Date(date2);
	var year1=dates1.getFullYear();
	var year2=dates2.getFullYear();
	
	
	//split date1
	for (var m=0;m<input_date1.length;m++)
	{
		if ((input_date1.charAt(m)=="/")||(input_date1.charAt(m)=="."))
		{
			count1=count1+1;
		}
	}
	if ((input_date1.indexOf(" ")!=-1)||(count1!=2))
	{
		return false;
	}
	if (input_date1.indexOf("/")!=-1)
	{
		dat1=input_date1.split("/");
	}
	else if (input_date1.indexOf(".")!=-1)
	{
		dat1=input_date1.split(".");
	}
	
	//split date2
	for (var m=0;m<input_date2.length;m++)
	{
		if ((input_date2.charAt(m)=="/")||(input_date2.charAt(m)=="."))
		{
			count2=count2+1;
		}
	}
	if ((input_date2.indexOf(" ")!=-1)||(count2!=2))
	{
		return false;
	}
	if (input_date2.indexOf("/")!=-1)
	{
		dat2=input_date2.split("/");
	}
	else if (input_date2.indexOf(".")!=-1)
	{
		dat2=input_date2.split(".");
	}
	
	
	////compare years
	
	//if (parseInt(dat2[2])>parseInt(dat1[2]))
	if (parseInt(Math.abs(year2))>parseInt(Math.abs(year1)))
	{		
		return false;
	}
	if 	(parseInt(dat2[2])==parseInt(dat1[2]))
	{
		if (parseInt(Math.abs(dat2[0]))>parseInt(Math.abs(dat1[0])))
		{
			return false;
		}
	}
	if 	((parseInt(Math.abs(dat2[2]))==parseInt(Math.abs(dat1[2])))&& (parseInt(Math.abs(dat2[0]))==parseInt(Math.abs(dat1[0]))))
	{
	 	if (parseInt(Math.abs(dat2[1]))>parseInt(Math.abs(dat1[1])))
		{
			return false;
		}
	}			
}		

//***********///////////validations for Date not more than current date/////////*******************
// this takes system date as current date	
function checkCurrentDate(datevalue)
{
	var input_date=new String(datevalue);
	var dat;
	var count=0;
	
	for (var m=0;m<input_date.length;m++)
		{
		if ((input_date.charAt(m)=="/")||(input_date.charAt(m)=="."))
			{
			count=count+1;
			}
		}
	if ((input_date.indexOf(" ")!=-1)||(count!=2))
		{
		return false;
		}
	if (input_date.indexOf("/")!=-1)
		{
		dat=input_date.split("/");
		}
	else if (input_date.indexOf(".")!=-1)
		{
		dat=input_date.split(".");
		}
	
		
	/////validations for month
	
	if (isNaN(dat[0]))
		{
		return false;
		}
	else if ((dat[0]<1)||(dat[0])>12)
		{
		return false;
		}
		
	//validations for days
	
	if (isNaN(dat[1]))
		{
		return false;
		}
	else if ((dat[0]=="1")||(dat[0]=="3")||(dat[0]=="5")||(dat[0]=="7")||(dat[0]=="8")||(dat[0]=="10")||(dat[0]=="12"))
		{
		
			if ((parseInt(Math.abs(dat[1]))<1)||(parseInt(Math.abs(dat[1]))>31))
				{
				return false;
				}
		}	
	else if ((dat[0]=="4")||(dat[0]=="6")||(dat[0]=="9")||(dat[0]=="11"))
		{
			if ((parseInt(Math.abs(dat[1]))<1)||(parseInt(Math.abs(dat[1]))>30))
				{
				return false;
				}
		}
	else if (dat[0]==2)
		{
			
			if ((dat[2] % 4)==0)
				{
				if ((parseInt(Math.abs(dat[1]))<1)||(parseInt(Math.abs(dat[1]))>29))
					{
					return false;
					}
				}
			else
				if((parseInt(Math.abs(dat[1]))<1)||(parseInt(Math.abs(dat[1]))>28))
					{
					return false;
					}
		}
		
	//validation for year
	
	var cur_date=new Date();
	
	if (isNaN(dat[2]))
		{
			return false;
		}
	else if ((dat[2].length!=2)&&(dat[2].length!=4))
		{
			return false;
		}
	else if (parseInt(Math.abs(dat[2]))>parseInt(Math.abs(cur_date.getFullYear())))
		{
			return false;
		}
	else if ((parseInt(Math.abs(dat[2]))==parseInt(Math.abs(cur_date.getFullYear()))) || (parseInt(Math.abs(dat[2]))==parseInt(Math.abs(cur_date.getYear()))))
		{
			if (parseInt(Math.abs(dat[0]))==(parseInt(Math.abs(cur_date.getMonth()))+1))
				{
					if(parseInt(Math.abs(dat[1]))>parseInt(Math.abs(cur_date.getDate())))
						{
							return false;
						}
				}
			else if (parseInt(Math.abs(dat[0]))>parseInt(Math.abs(cur_date.getMonth())))
				{
					return false;
				}	
		}
	
}
	
//******************////////////////validations for PhoneNumber fields //////////******************
	
function checkPhoneNumber(num)
{
	var mint_num=num;
	var mint_len=num.length;
	var mstr_ph;
	var mint_nm=0;
	
	for (var m=0;m<mint_len;m++)
	{
		mstr_ph=mint_num.charAt(m)
		if(mstr_ph==" ")
			{
			mint_nm=mint_nm+1;
			}
		if (isNaN(mstr_ph))
			{
			if ((mstr_ph!="-")&&(mstr_ph!=",")&&(mstr_ph!="(")&&(mstr_ph!=")"))
				{			
				mint_nm=mint_nm+1;
				}
					
			}
	}
	if((mint_num=="")||(mint_nm!=0)||(mint_len<=5))
	{
		return false;
	}
}
	

//***************////////////validations for ZipCode fields ////////////**************************
	
function checkZip(num)
{
	var mint_zip=num;
	var mint_len=num.length;
	var mstr_zip;
	var mstr_zipcode
	
	for (var m=0;m<mint_len;m++)
	{
		mstr_zip=mint_zip.charAt(m)
		if ((isNaN(mstr_zip))||(mstr_zip==" "))
		{
			mstr_zipcode="invalid" 					
		}
	}
	if ((mstr_zipcode=="invalid")||(mint_zip=="")||(mint_len!=6))
	{
		return false;
	}
}

//***************************************Validations for Check Box**************************

function checkCheckbox(chbx)
{
	var mint_len= chbx.length;
	var mstr_txt=0;
	
	if((chbx.checked)==true)
	{
		return true;
	}
	for(var iloop=0;iloop<mint_len;iloop++)
	{
		if (chbx[iloop].checked)
		{
			mstr_txt=mstr_txt+1 ;
		}
	}
	if (mstr_txt==0)
	{
		return false;
	}	
}

//**************************Function to check Positive Integer****************************
function checkPositiveInteger(val)
{
	if (isNaN(val)==true)
    {
		return false;
    }
    var mystring=new String(val)
	var x=mystring.indexOf(".")
    if (x!="-1")
    {
		return false;
    }
    if (val<0)
    {
		return false;
    }    
}
//********************** Function to Check Difference between Two Dates in no. of. DAYS*********
// will return date1-date2

function dateDifference(date1,date2)
{
	var dates1=new Date(date1);
	var dates2=new Date(date2);
	
	if (((dates1-dates2)/86400000)<31)
	{
		return false;
	}
		
}


//********************** Function to Check VALID URL *********

function validURL(url)
{
	var len, mint_dot
	mint_dot=0;
	//url=document.frm_insert.txt_url.value;
	len=url.length;
	if (url!='')
	{
		if(len<=10)
		{
			//alert("URL cannot be less than 10 characters");
			return false;
		}
			
		if ((url.charAt(0)!='h' || url.charAt(1)!='t' || url.charAt(2)!='t' || url.charAt(3)!='p' || url.charAt(4)!=':' || url.charAt(5)!='/' || url.charAt(6)!='/'))
		{
			//alert('URL should start with http://');
			//document.frm_insert.txt_url.focus();
			//document.frm_insert.txt_url.select();
			return false;
		}
			
		if(url.charAt(len-1)=='.')
		{
			//alert("Dot cannot be a last character");
			//document.frm_insert.txt_url.focus();
			//document.frm_insert.txt_url.select();
			return false;
		}
			
		for(var mint_i=0;mint_i<=len;mint_i++)		
		{
			if (url.charAt(mint_i)=='.')
			{
				mint_dot=mint_dot+1;
				mint_n=mint_i+1
			}
		}
			
		if (url.indexOf("..")!=-1)
		{
			//alert("You cannot enter dots like this (..)");
			//document.frm_insert.txt_url.focus();
			//document.frm_insert.txt_url.select();
			return false;
		}
					
		if (mint_dot<1)
		{
			//alert("URL should include atleast one dot");
			//document.frm_insert.txt_url.focus();
			//document.frm_insert.txt_url.select();
			return false;
		}
			
		var mint_no=len-mint_n
		if (mint_no<2)
		{
			//alert("There should be atleast 2 characters after the dot");
			//document.frm_insert.txt_url.focus();
			//document.frm_insert.txt_url.select();
			return false;
		}
	}
}
//********************** Function to check Valid ISBN *********

function checkISBN(isbn)
{
	if (isbn.length!=13)
	{
		return false;
	}
	else
	{
		for(var iloop=0;iloop<=12;iloop++)
		{
			if (isNaN(isbn.charAt(iloop)))
			{
				return false;
			}
		}
		/*
		if (isNaN(isbn.charAt(9)))
		{
			if ((isbn.charAt(9)).toUpperCase() != "X")
			{	
				return false;
			}
		}
		*/
	}
}

function checkISBN10(isbn)
{
	if (isbn.length!=10)
	{
		return false;
	}
	else
	{
		for(var iloop=0;iloop<=8;iloop++)
		{
			if (isNaN(isbn.charAt(iloop)))
			{
				return false;
			}
		}
		if (isNaN(isbn.charAt(9)))
		{
			if ((isbn.charAt(9)).toUpperCase() != "X")
			{	
				return false;
			}
		}
	}
}	



///Function to trap tab key
function fn_Tab()
{
	
	var a=window.event.keyCode

	if (a!="9")
	{
		return false;
	}
	
}

function rightclick()
{
	if(event.button==2)
	{
		alert("Right Click not allowed");
		return false;
	}
}
function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function

