
//decimalcheck
var error;
error="";

function round_decimals(original_number, decimals) 
{
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) 
{
var value_string = rounded_value.toString()
var decimal_location = value_string.indexOf(".")
if (decimal_location == -1) 
{
decimal_part_length = 0
value_string += decimal_places > 0 ? "." : ""
}
else 
{
decimal_part_length = value_string.length - decimal_location - 1
}
var pad_total = decimal_places - decimal_part_length
if (pad_total > 0) 
{
for (var counter = 1; counter <= pad_total; counter++) 
value_string += "0"
}
return value_string
}

function decimalcheck(label,s)
{
lenstr = s.length
dot = s.indexOf(".")
counting = 0
for (kk=0;kk<=s.length-1;kk++)
{
if (s.charAt(kk) == ".")
counting = counting + 1
}
if (counting >=2)
{
error = 'Do Not Use More Than One Decimal Point In' +label 
return false
}
if (dot > 0 && s.substring(dot+1,lenstr).length > 2)
{
counting = 0
for (kk=0;kk<=s.length;kk++)
{
if (s.charAt(kk) == ".")
counting = counting + 1
}
if (counting > 1)
{
error = 'Do Not Use More Than One Decimal Point In' +label 
return false
}
else
{
error = 'Only Two Digits Are Allowed After Decimal Point In ' + label 
return false 
}
}
else
return true
}
var counts=0
//end decimalcheck

//Blank check
function isblank(s)
{
var count=0
var len= s.length
var i
for(i=0;i<len;++i)
{
if(s.charAt(i)!=" ") 
{
return false
}
}
return true
}


function blankcheck(n,s)
{
var count=0
var len=s.length
var i
var temp=" "
for(i=0;i<len;++i)
{
var a=s.charAt(i)
if(a==" ")
{
count+=1
}

}
if(count>=1)
{
error="Blank Spaces Are Not Allowed In"+n
return false
}
return true
}

//End Blank check
//Numeric Check
function numcheck(n,s)
{
var count=0
var len=s.length
for(i=0;i<len;++i)
{
var a=s.charAt(i)
if(!isNaN(a) && a!=" ")
{
count+=1
}
}
if(count>=1)
{
error=n+"Cannot Have Any Numbers"
return false
}
return true
}
//End Numeric Check
// Specialchar Check
function spcharcheck(n,s)
{
var count=0
var vals="~`!@#$%^&*()_+-=|\}{][;';?><,./"+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
error="Special Characters Are Not Allowed In"+n
return false
}
return true
}
//End  Specialchar Check




function suppspcharcheck(n,s)
{
var count=0
var vals="~`!@#$%^&*()_+=|}{][;';?><,."+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
error="Special Characters Are Not Allowed In"+n
return false
}
return true
}


function namecheck(n,s)
{
var count=0
var vals="~`!@#$%^&*()_+-=|\}{][;';?><,/"+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
error="Special Characters Are Not Allowed In"+n
return false
}
return true
}



function suppnamecheck(n,s)
{
var count=0
var vals="~`!@#$%^*()_+=|\}{][;';?><,/"+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
error="Special Characters Are Not Allowed In"+n
return false
}
return true
}

function ratecheck(nn)
{
	len=nn.length
	lastindex=nn.indexOf(".")
	firstval=nn.substring(lastindex+1,len)
	secondval=nn.substring(0,lastindex)
	if(secondval==0)
	{
		mm=firstval.length
	}
	else
	{
		mm=secondval.length
	}
	if(mm>7)
	{
	error="Integer Part Should Not Exceed Seven Digits"
	}
}

function Exratecheck(nn)
{
	len=nn.length
	lastindex=nn.indexOf(".")
	firstval=nn.substring(lastindex+1,len)
	secondval=nn.substring(0,lastindex)
	if(secondval==0)
	{
		mm=firstval.length
	}
	else
	{
		mm=secondval.length
	}
	if(mm>5)
	{
	error="Integer Part Should Not Exceed Five Digits"
	}
}

function twodigit(r)
{
r1 = r.toString()
if (r1.indexOf(".") < 0)
return (r1)
else
return (r1.substr(0,r1.indexOf(".")+3))
}

function fourdigit(r)
{
r1 = r.toString()
if (r1.indexOf(".") < 0)
return (r1)
else
return (r1.substr(0,r1.indexOf(".")+5))
}

function addbarcheck(n,s)
{
var count=0
var vals="/"
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}
if(count>=1)
{
error="Use Hyphen (-) Instead Of Slash (/) For Address Fields"
return false;
}
return true
}


function addspcharcheck(n,s)
{
var count=0
var vals="~`!@#$%^&*()+=|}{][;'?><"+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
error="Special Characters Are Not Allowed In"+n
return false
}
return true
}


function validate(fieldname,fieldvalue)
{
if(isblank(fieldvalue))
{
error="Please Enter The "+fieldname
return false
}
return true
} 

function nocharwithdot()
{

		if (event.keyCode < 48 || event.keyCode > 57 )
		{
			if (event.keyCode!=46)
			{
				if (event.keyCode!=13)
				{
				alert("Enter Numeric Value")
				event.returnValue = false;
				}
			}
		}
}


function nochar()
{
	if (event.keyCode < 48 || event.keyCode > 57 )
	{
		if (event.keyCode != 13)
		{
		alert("Enter Numeric Value")
		event.returnValue = false;
		}
	}
}


function zerocheck(fieldname,s)
{
var count=0
var len=s.length
var i
var temp=" "
	
		for(i=0;i<len;++i)
		{
			var a=s.charAt(i)
			if(a==0 || a==".")
			{
			count+=1
			}
		}
	
		if(count==len)
		{
		error=fieldname+" Cannot Be Zero";
		count=0
		len=0
		return false;
		}

return true
}




function desccheck(n,s)
{

var count=0
var vals="'"+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
error="Do Not Use Single Or Double Quotes In The"+n
return false
}
return true
}


function phonecheck(n,s)
{
var count=0
var vals="abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()+=|}{][;.'?><"+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
error="Enter Numeric Value In"+n
return false
}
return true
}



function mailcheck(n,s)
{
var len=s.length
var i
var countat=0
var countdot=0
for(i=0;i<len;++i)
{

if(s.charAt(i)=="@")
{
countat+=1
}

if(s.charAt(i)==".")
{
countdot+=1
}

}

if(countat==0 || countat>1)
{
error="Enter Valid Email Id"+n
return false
}
if(countdot==0)
{
error="Enter Valid Email Id"+n
return false
}
return true

}


function onlychar(n,s)
{
var count=0
var vals="1234567890~`!@#$%^&*()_+-=|\}{][;';?><,/;"+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
error="Only Characters Are Allowed In"+n
return false
}
return true
}

function intchk(x)
{
	dot = x.indexOf(".")
	leng=x.length
	leng=leng-dot

	decimaloccur=false

	if((event.keyCode < 46 || event.keyCode > 57) || (event.keyCode == 47)) 
	{
		if (event.keyCode!=13)
		{
			alert("Enter the Numeric Value")
			event.returnValue = false
			return false
		}
	}
	else
	{
		if ( dot < 0 ) //No Dot's
		{
			decimalcount = 0
			decimaloccur = false
		}
		else
		{
			if ( leng > 2 )
			{
				alert("Do Not Use More Than Two Digits After Decimal Point")
				event.returnValue = false
				return false
			}
			decimaloccur = true
		}
		if (event.keyCode == 46)
		{
			if (decimaloccur)		
			{
				alert("Do Not Use More Than One Decimal")
				event.returnValue = false
				return false
			}
			else
			{
				decimaloccur = true
			}
		}
	}	
}//function end



function onblurphonecheck(n,s,f)
{
var count=0
var vals="abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()+=|}{][;'?><"+'"'
var lens=vals.length
var len=s.length
var j
var i
for(i=0;i<len;++i)
{
for(j=0;j<lens;++j)
{
if(s.charAt(i)==vals.charAt(j))
{
count+=1
}
}
}

if(count>=1)
{
alert("Enter Numeric Value In "+n)
eval(f+'.focus()')
return false
}
return true
}
function quantitycheck(nn)
{
	len=nn.length
	lastindex=nn.indexOf(".")
	firstval=nn.substring(lastindex+1,len)
	secondval=nn.substring(0,lastindex)
	if(secondval==0)
	{
		mm=firstval.length
	}
	else
	{
		mm=secondval.length
	}
	if(mm>6)
	{
	error="Integer Part Should Not Exceed Six Digits";
	}
}


function amountcheck(nn)
{
	len=nn.length
	lastindex=nn.indexOf(".")
	firstval=nn.substring(lastindex+1,len)
	secondval=nn.substring(0,lastindex)
	if(secondval==0)
	{
		mm=firstval.length
	}
	else
	{
		mm=secondval.length
	}
	if(mm>16)
	{
	error="Integer Part Should Not Exceed Sixteen Digits"
	}
}


function fxamountcheck(nn)
{
	len=nn.length
	lastindex=nn.indexOf(".")
	firstval=nn.substring(lastindex+1,len)
	secondval=nn.substring(0,lastindex)
	if(secondval==0)
	{
		mm=firstval.length
	}
	else
	{
		mm=secondval.length
	}
	if(mm>9)
	{
	error="Integer Part Should Not Exceed Nine Digits"
	}
}



function fourintchk(x)
{
	dot = x.indexOf(".")
	leng=x.length
	leng=leng-dot

	decimaloccur=false

	if((event.keyCode < 46 || event.keyCode > 57) || (event.keyCode == 47)) 
	{
		if (event.keyCode!=13)
		{
			alert("Enter the Numeric Value")
			event.returnValue = false
			return false
		}
	}
	else
	{
		if ( dot < 0 ) //No Dot's
		{
			decimalcount = 0
			decimaloccur = false
		}
		else
		{
			if ( leng > 4 )
			{
				alert("Do Not Use More Than Four Decimal Place")
				event.returnValue = false
				return false
			}
			decimaloccur = true
		}
		if (event.keyCode == 46)
		{
			if (decimaloccur)		
			{
				alert("Do Not Use More Than One Decimal")
				event.returnValue = false
				return false
			}
			else
			{
				decimaloccur = true
			}
		}
	}	
}
//function end



function dateVal(object)
{

var entmonth;
mon0= '01';
mon1= '03' ;
mon2= '05' ;
mon3= '07' ;
mon4= '08' ;
mon5= '10' ;
mon6= '12' ;
mon7= '04' ;
mon8= '06' ;
mon9= '09' ;
mon10= '11' ;
mon11 = '02' ;
 var entdate=object; 
 var stdate = entdate.substring(4,6) ;
 var date = entdate.substring(2,4);
 var mon = entdate.substring(0,2); 
 //var mon = mon.toLowerCase(); 
 var year = parseInt(entdate.substring(4,8));
 //var m=alert("Month"+mon);
//var d=alert("date"+date);
//var y=alert(entdate);
//******************Validation//
	if(isNaN(parseInt(date)) || isNaN(year)){
	   
		isError = true;
		
		elementNameArr[counter]=object;
		counter++;
			if(Error==""){
				Error = "1Invalid Date Entry";
			}
	return;
	}	

//************Date Validation// 
	 if(stdate=="08")
 		{ 
 			//date = date + 8 ;
			date = 08;
 		} 
	 if(stdate=="09")
 		{ 
			// date = date + 9 ;
			date=09;
		 }

 	if (date<1||date>31) 
 		{	
 			elementNameArr[counter]=object; 
			if(Error==""){
				Error = "2Invalid Date Entry";
			}
			counter++;
			isError=true;
 			return; 
 		} 
 //************Month Validation // 
	if(mon!=mon0&&mon!=mon1&&mon!=mon2&&mon!=mon3&&mon!=mon4&&mon!=mon5 &&mon!=mon6&&mon!=mon7&&mon!=mon8&&mon!=mon9&&mon!=mon10&&mon!=mon11) 
 	{ 
 		elementNameArr[counter]=object;
		   if(Error==""){
                Error = "Invalid Month Entry";
			//	alert("hi Thiyagu"+Error);
            }
		counter++;
		isError = true;
		return; 
 	} 
 //************For Month with 31 Days // ;
 	if(date==31){ 
		if(mon==mon0||mon==mon1||mon==mon2||mon==mon3||mon==mon4||mon==mon5 ||mon==mon6)
 		{
 		}
 		else 
 			{ 
 			elementNameArr[counter]=object;
			   if(Error==""){
               		 Error = "Invalid Date Entry";
				//	alert("mon is"+Error);
            	}
			counter++;
			isError = true;
			return;
 			} 
	 }
 //************For the month of february// 
 		if(mon=='02') 
 		{ 
 		
 		var j = year%4; 
 		
 			 if(j==0) 
 			 
 			{
 					if(date>29) 
        		{ 
        		alert(elementNameArr[counter])
        		 elementNameArr[counter]=object;
        		 alert(elementNameArr[counter])
				   if(Error==""){
				  Error = "Invalid date[Feb1] Entry";
           			 }	
				counter++;
				 isError = true;
					return; 
        		} 
 			} 
 		else 
 			{ 
			 if(date>28) 
 				{ 
				elementNameArr[counter]=object;
				   if(Error==""){
				   
            	   		 Error = "Invalid Date[Feb] Entry";
            		}
				counter++;
				isError = true;
				 return; 
 				} 
 			} 
 		} 
 //************Year Validation************************ // ;
		if(isNaN(parseInt(year))){
			if(Error==""){
				Error = "Invalid Year Entry";
			}
		}

 		if(year==0) 
 		{ 
		elementNameArr[counter]=object;
		   if(Error==""){
                Error = "Invalid Year Entry";
            }
		counter++;
		isError = true;
		 return; 
 		} 


		 if(year>0) 
 		{ 
 			year = year + '' ;
			 yr = year.length; 
 			if(yr < 4) 
			 { 
 				elementNameArr[counter]=object;
				 if(Error==""){
            		    Error = "Invalid Year Entry";
           		 }
				counter++;
				isError = true;
				return; 
 			} 
 	
 	}	 
  	
 	
}

//********************End of Date Validation***************************//


function datediff(begindate,enddate)
{
 var beg_mon = begindate.substring(0,2); 
 var beg_date = begindate.substring(3,5);
 var beg_year = parseInt(begindate.substring(6,10));
 
 var end_mon = enddate.substring(0,2); 
 var end_date = enddate.substring(3,5);
 var end_year = parseInt(enddate.substring(6,10));

 if (beg_year > end_year)
 {
 Error = "End Date Must Be Greater Than Start Date";
 }
 else if (beg_year==end_year)
  {
 
   if(beg_mon>end_mon)
   {
     	Error = "End Date Must Be Greater Than Start Date";
   	
	}
	else if(beg_mon==end_mon)
	{
		if(beg_date>end_date)
		 {
			Error = "End Date Must Be Greater Than Start Date";
		 }

  }
 if((beg_date>end_date)&&(beg_mon==end_mon))
  {
		Error = "End Date Must Be Greater Than Start Date";
  }
	
	}
 
 }


function plusminus(x)
{
	
	dot = x.indexOf(".")
	leng=x.length
	leng=leng-dot

	decimaloccur=false

	if((event.keyCode < 46 || event.keyCode > 57) || (event.keyCode == 47)) 
	{
		
		if ((event.keyCode!=43) && (event.keyCode!=13)&& (event.keyCode!=45))
		{
			alert("Enter the Numeric Value")
			event.returnValue = false
			return false
		}
	}
	else
	{
		if ( dot < 0 ) //No Dot's
		{
			decimalcount = 0
			decimaloccur = false
		}
		else
		{
			if ( leng > 2 )
			{
				alert("Do Not Use More Than Two Digits in Fraction")
				event.returnValue = false
				return false
			}
			decimaloccur = true
		}
		if (event.keyCode == 46)
		{
			if (decimaloccur)		
			{
				alert("Do Not Use More Than One Decimal Point")
				event.returnValue = false
				return false
			}
			else
			{
				decimaloccur = true
			}
		}
	}	
}//function end

 
function datecomp(date1,date2,date3,date4)
{
// for the project start date
var sdate=date1.substring(2,4)
var smonth=date1.substring(0,2)
var syear=date1.substring(4,8)

// for the work start date
var smonth1=date3.substring(0,2)
var sdate1=date3.substring(2,4)
var syear1=date3.substring(4,8)

// for the project wnd date
var edate=date2.substring(2,4)
var emonth=date2.substring(0,2)
var eyear=date2.substring(4,8)

// for the work end date
var edate1=date4.substring(2,4)
var emonth1=date4.substring(0,2)
var eyear1=date4.substring(4,8)


if (sdate1<sdate) 
{
error="The work start date should be within project start date"
}
else if (sdate1>edate)
{
error="The work start date should not exceed project end date"
}
else if(smonth1<smonth) 
{
error="The work start month should be within project start month"
}
else if (smonth1>emonth)
{
error="The work start month should not exceed project end month"
}
else if(syear1<syear)
{
error="The work start year should be within project start year"
}
else if(syear1>eyear)
{
error="The work start year should not exceed project end year"
}


if (edate1<sdate) 
{
error="The work end date should be within project start date"
}
else if (edate1>edate)
{
error="The work end date should not exceed project end date"
}
else if(emonth1<smonth) 
{
error="The work end month should be within project start month"
}
else if (emonth1>emonth)
{
error="The work end month should not exceed project end month"
}
else if(eyear1<syear)
{
error="The work end year should be within project start year"
}
else if(eyear1>eyear)
{
error="The work end year should not exceed project end year"
}



}
	
	
	
//***********************End***************************//


