//***************function for royalty validation*********************
//added by amit on 31/08/2006
function valid_percent(amt)
{
	var a, royalty;
	var b= new String();
	a =  amt;
	if(isNaN(a))
		return false;
	
	if (a.indexOf('.') == -1 )	//if . is not found
	{
		if (parseInt(a) >= 100)
		{
			//alert("Royalty percent cannot be more than 100");
			return false;
		}
		if (parseInt(a) <= 0)
		{
			//alert("Zero not allowed");
			return false;
		}
	}
	else	// if . is found
	{			
		if (parseFloat(a) <= 0.0)
		{
			//alert("Zero not allowed");
			return false;
		}
		royalty = a.split(".")
		//alert(royalty[0]);
		//alert(royalty[1]);
		if (parseInt(royalty[0]) >= 100)
		{
			//alert("Royalty percent cannot be more than 100");
			return false;
		}
	}
}
//************************************
//***************function for email-id validation*********************
function valid_email(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)==",")
		{
			break;
			return false;
		}
		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 MobileNumber fields //////////******************
	
function checkMobileNumber(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<10))
	{
		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;
	mint_len = chbx.length;
	var mstr_txt=0;
	if((chbx.checked)==true)
	{
		return true;
	}
	if(mint_len>1)
	{
		for(var iloop=0;iloop<mint_len;iloop++)
		{
			if (chbx[iloop].checked)
			{
				mstr_txt=mstr_txt+1 ;
			}
		}
	}
	else
	{
		if (chbx.checked)
			{
				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 (mystring.indexOf(".")!="-1" || mystring.indexOf("e")!="-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 dateDiff(date1,date2)
{
	var dates1=new Date(date1);
	var dates2=new Date(date2);
	return (((dates1-dates2)/86400000));
}


//********************** Function to Check Price*********
function checkPrice(num)
{
	var mint_dot = 0;
	var mstr_char = new String(num);
	mint_position = 0;
	for(var mint_char=0;mint_char<mstr_char.length;mint_char++)
	{
		//if not digits
		if(mstr_char.charAt(mint_char)!="0" && mstr_char.charAt(mint_char)!="1" && mstr_char.charAt(mint_char)!="2" && mstr_char.charAt(mint_char)!="3" && mstr_char.charAt(mint_char)!="4" && mstr_char.charAt(mint_char)!="5" && mstr_char.charAt(mint_char)!="6" && mstr_char.charAt(mint_char)!="7" && mstr_char.charAt(mint_char)!="8" && mstr_char.charAt(mint_char)!="9" && mstr_char.charAt(mint_char)!=".")
		{
			return false;
		}
		if(mstr_char.charAt(mint_char)==".")
		{
			mint_dot = mint_dot + 1
			mint_position = mstr_char.indexOf(".");
		}
	}
	//if number of dots is more than one
	if(mint_dot>1)
	{
		return false;
	}
	//check no. of characters after dot mark
	if(mint_dot != 0)
	{
		if((parseInt(mstr_char.length)-1)-parseInt(mint_position)>2)
		{
			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<10) || (isbn.length>10 && isbn.length<13))
	{
		return false;
	}
	*/
	if (isbn.length<13)
	{
		return false;
	}
	else
	{
		if (isbn.length== 10)
		{
			/*
			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;
				}		
			}
			*/
		}
		else
		{
			for(var iloop=0;iloop<=12;iloop++)
			{
				if (isNaN(isbn.charAt(iloop)))
				{
					return false;
				}
			}
			/*
			if (isNaN(isbn.charAt(13)))
			{
				if ((isbn.charAt(13)).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;
	}
}
// trim function
function trim(str)
{
	return str.replace(/^\s*|\s*$/g,"");
}

//***********fuction for add month******************
function month_add(date_name,number)
{
	
	var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var d;
	var date_str = new String();
	var date_s, date_in_month;
	var datearr =  date_name.split("/");
	
	date_str = datearr[0];
	date_s = date_str.substring(0,1);   
	
	if(date_s.toString()=="0")
	date_in_month = date_str.substring(1,2); 
	else
	date_in_month = date_str;
	
	date_in_month = parseInt(date_in_month)+ parseInt(number);
		
	while(parseInt(date_in_month)>12)
	{
		date_in_month = parseInt(date_in_month)  - 12;
		datearr[2] = parseInt(datearr[2]) +1;
	
	}
	
	
	if(parseInt(datearr[2]) % 4 == 0)
		day[1]=29;
	
	if(parseInt(datearr[1])> parseInt(day[parseInt(date_in_month)-1]))	
		datearr[1]= parseInt(day[parseInt(date_in_month)-1]);
	
	if(date_in_month<=9)
		date_in_month = "0"+date_in_month;
	
	d = date_in_month+"/"+ datearr[1]+"/"+datearr[2];
	return d;
	
}
function checkTMSID(val)
{
//	if(isNaN(val))
//		return false;
	if(val.length!=6)
		return false;	 
}

function fileCheck(temp)
{
	for(var iloop=0;iloop<temp.length;iloop++)
	{
		if((temp.charAt(iloop)==" ") && (parseInt(iloop)<=2))
		{
			alert("Invalid Character Entered. #, , @, ' are not allowed in file name.");
			return false;
		}
		
		if ((temp.charAt(iloop)=="#")||(temp.charAt(iloop)=="@")||(temp.charAt(iloop)=="'"))
		{
			alert("Invalid Character Entered. #, , @, ' are not allowed in file name.");
			return false;
		}
	}
}

function GetDays(date1,date2)
{
	var dates1=new Date(date1);
	var dates2=new Date(date2);
		
	return  ((dates1-dates2)/86400000)
		
}

