// Modified on 20/12/2002 for Error Mesaages alognwith Parsing
//***********************************************hardeep


function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }





function checkemail(text){
  var reg = new RegExp("^([-a-zA-Z0-9._]+@[-a-zA-Z0-9_-]+(\.[-a-zA-Z0-9]+)+)*$", "g");
  if (!reg.test(text)) {
    return(false);
  
}

var ans,chkmail;
			ans = 0;
			var chk = ",";

			chkmail = text;
			for(i = 0;i<chk.length;i++)
			{
				for(j=0;j<chkmail.length;j++)
				{
					if(chkmail.charAt(j) == chk.charAt(i))
					{
						ans++;
					}
					
					}
				}
			
			if(ans > 0)
			{
			 	return false;
			}

}

function checkdate(text){
  var reg = new RegExp("^([0-9]+/[0-9]+/[0-9])*$");
  if (!reg.test(text)) {
    return(false);
  
}
}

function checknumber(text){
  var reg = new RegExp("[0-9][0-9]");
  if (!reg.test(text)) {
    return(false);
  
}
}


function locationcheck(text){
var chk= "!@#$%^&*()<>?;''+=";
		var lent,flag = true;
		 lent = text;
			
		for(i=0;i<lent.length;i++){
			for(j=0;j<chk.length;j++){
				
				if(lent.charAt(i) == chk.charAt(j)){
					flag = false;
					break;
				}
			}
		}
		if(flag){
			return true;
		}else{
			return false;
		}

}
function spcheck(text){
var chk= "!@#$,.%^&*()<>?;:''+=";
		var lent,flag = true;
		 lent = text;
			
		for(i=0;i<lent.length;i++){
			for(j=0;j<chk.length;j++){
				
				if(lent.charAt(i) == chk.charAt(j)){
					flag = false;
					break;
				}
			}
		}
		if(flag){
			return true;
		}else{
			return false;
		}
}

function strcheck(text){
		var chk= "0123456789!@#$%^&*();:<>?{}/\+-";
		var lent;
		 lent = text;
		
		for(i=0;i<lent.length;i++){
			for(j=0;j<chk.length;j++){
				if(lent.charAt(i) == chk.charAt(j)){
					return false;
					
				}
			}
				
				
		}
	return true;
	

}

function intcheck(text){

		var chk= "0123456789.";
		var lent,flag= false;
		 lent = text;
		var ans;
		for(i=0;i<lent.length;i++){
			
			for(j=0;j<chk.length;j++){
			
				if(lent.charAt(i) == chk.charAt(j)){
					if(ans == 1){
						break;
					}
					flag=true;
					ans = 0;				
					break;

				}
				else{
				
					if(j == chk.length - 1){
						ans = 1;
						break;
					}
				}
					
				
			}
			
		}
	
		if(ans == 0){
			return true;
		}else{
			
			return false;
		}
		
}

function chkmail(text)
{

			var ans,ans1,chkmail;
			ans = ans1 = 0;
			var chk = "@";
			var ch = ".";
			chkmail = text;
			for(i = 0,k=0;i<chk.length,k<ch.length;i++,k++)
			{
				for(j=0;j<chkmail.length;j++)
				{
					if(chkmail.charAt(j) == chk.charAt(i))
					{
						ans++;
					}
						if(chkmail.charAt(j) == ch.charAt(k))
						{
							ans1++;
						}
					}
				}
			
			if(ans == 0 || ans >= 2 || ans1 == 0 || ans1 > 2)
			{
			 	return false;
			}
return true;
}

function chkblnk(text){
	if (lTrim(rTrim(text)) == "")
			return false;
	else
			return true;

}
function lTrim(Txt) 
	{
		var Temp,T,L;
		Temp="";
		var Str1;
		Str1=Txt;
		L=Str1.length;
		for (var i=0;i<L;i++)
		{
			T=Str1.charAt(i);
			if (Temp.length !=0 ) 
			{
				Temp = Temp+T;
			}
			else if (T !=" ") 
			{
				Temp =  T;
			}
		}
		return Temp;
	}
	function rTrim(Txt) 
	{
		var Temp,T,L;
		Temp="";
		var Str1;
		Str1=Txt;
		L=Str1.length;
		for (var i=L;i>-1;i--)
		{
			T=Str1.charAt(i);
			if (Temp.length !=0 ) 
			{
				Temp = T + Temp;
			}
			else if (T !=" ") 
			{
			Temp =  T;
			}
		}
		return Temp;
	}
function checkInt(text){

		var chk= "0123456789";
		var lent,flag= false;
		 lent = text;
		var ans;
		for(i=0;i<lent.length;i++){
			
			for(j=0;j<chk.length;j++){
			
				if(lent.charAt(i) == chk.charAt(j)){
					if(ans == 1){
						break;
					}
					flag=true;
					ans = 0;				
					break;

				}
				else{
				
					if(j == chk.length - 1){
						ans = 1;
						break;
					}
				}
					
				
			}
			
		}
	
		if(ans == 0){
			return true;
		}else{
			
			return false;
		}
		
}
function checkcolon(test){
	if(text==",")
		return false;
	else
		return true;
}



//************************************************jadeja




// Modified on 20/12/2002 for Error Mesaages alognwith Parsing
function roundNum(original,precision){
		precision = Math.pow(10,precision);
		return Math.round(original*precision)/precision  ;
}

function parseFieldValidate(Components,ErrorMsg)
{
	FieldNames = Components.split(",");
	FieldErrMsg = ErrorMsg.split(",");
	for (i=0;i<FieldNames.length ;i++ )
	{
		temp = document.frm.elements[FieldNames[i]].value;

		temp = lTrim(rTrim(temp));
		if(temp.length == 0)
		{
			alert(FieldErrMsg[i]);
			document.frm.elements[FieldNames[i]].value="";
			document.frm.elements[FieldNames[i]].focus();
			return false;
		}
		for(var k=0; k<temp.length; k++)
		{
			if(temp.charAt(k) == "\'")
			{
			temp = temp.replace("\'","`");
			}
		}
		document.frm.elements[FieldNames[i]].value=temp;
	}
	return true;
}

var frmNo = 0;

function parseFieldFrm(Components,frmName)
{	
	frmNo = frmName;
	return(parseField(Components));
}

function parseField(Components)
{
		FieldNames = Components.split(",");

		for (var a=0;a<FieldNames.length ;a++ )
		{
			temp = document.frm.elements[FieldNames[a]].value;
			//alert(temp);
			for(var k=0; k<temp.length; k++)
			{
				if(temp.charAt(k) == "\'")
				{
					temp = temp.replace("\'","`");
				}
			}

			document.frm.elements[FieldNames[a]].value=temp;
		}
}

function CheckForDate(dt1,dt2,comparetype)
{
	var Y1,M1,D1;
	D1 = dt1.substring(0,2);
	M1 = dt1.substring(3,5);
	Y1 = dt1.substring(6,10);
	nowdt1 = ""+Y1+M1+D1;

	var Y2,M2,D2;
	D2 = dt2.substring(0,2);
	M2 = dt2.substring(3,5);
	Y2 = dt2.substring(6,10);


	nowdt2 = ""+Y2+M2+D2;
	var flag=false;

	if(comparetype==0)
	{
		if(nowdt1>=nowdt2)
			flag = true;
	}
	else if(comparetype==1)
	{
		if(nowdt1>nowdt2)
			flag = true;
	
	}
	else if(comparetype==2)
	{
		if(nowdt1>nowdt2)
			flag = true;
	}

	return flag;
}

function parseFieldValue(Components)
{
		var FieldNames1 = Components.split(",");

		for (i=0;i<FieldNames1.length ;i++ )
		{
			temp = FieldNames1[i];

			temp = lTrim(rTrim(temp));
			if(temp.length == 0)
			{
				return false;
			}

			for(var k=0; k<temp.length; k++)
			{
				if(temp.charAt(k) == "\'")
				{
				temp = temp.replace("\'","`");
				}
			}
		}

return temp;
}

function dateDiff(dt1,dt2)
{
var date = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var ctr =0 ;

var yr1 = 0; var mon1 = 0; var days1 = 0;
var yr2 = 0; var mon2 = 0; var days2 = 0;

d1 = dt1.getDate(); m1 = dt1.getMonth(); y1 = dt1.getFullYear();
d2 = dt2.getDate(); m2 = dt2.getMonth(); y2 = dt2.getFullYear();

var chk1 = d1.toString()+"/"+m1.toString()+"/"+y1.toString()  ;
var chk2 = d2.toString()+"/"+m2.toString()+"/"+y2.toString()  ;

var Total = -1;

if(	y1 < y2 )
{
tmp = 1;

	if(m1 <= 2) days1 += isLeap(y1);

	if(m1<12)
	{ for(ctr = m1+1 ; ctr <=12; ctr++)
		{ mon1 += date[ctr-1]; }  }

		if(d1 > 1)  {	days1 += date[m1-1] - d1;  }
		else		{	days1 +=  d1;  }

	for(ctr = y1+1 ; ctr < y2; ctr++)
	{  yr2 += 365;  mon2 += isLeap(yr2); }

	for(ctr=1 ; ctr < m2; ctr++)
	{ mon2 += date[ctr-1]; }  

	days2 = d2;
}
else if( y1 == y2 && m1 <= m2 )
{

	if(m1 ==  m2 ) 
	{	days1 = d2 - d1; }
	else if(m1+1 <  m2 ) 
	{ 	days1 = date[m1-1] - d1 ;

		for(ctr=m1+1 ; ctr <= m2; ctr++)
		{ mon1 += date[ctr-1]; }  
		if(d2 > 1)	days2 = d2;
	}
	else if(m1+1 ==  m2 ) 
	{	
		days1 = date[m1-1] - d1 ;	if(d2 > 1) days2 = d2;

		if(d1 == 1 && d2 == 1 && y1 == y2 ) days2 = d2;
		
	}
}

 Total = days1 + mon1 + yr1 + days2 + mon2 + yr2 ;

return Total;
}


function isLeap(Yr)
{
var chkYr = ( (Yr%4==0) && (Yr%100!=0) || (Yr%400==0))? 1 : 0;	return chkYr; 
}


function round(val,num)
{
	var result = -1;

var res = 0;
var ctr = 0;
var str = "";
for(ctr =1 ; ctr < num; ctr++ )
{	str = str + "0"	} 
var rs = "1"+str;
rs = parseInt(rs);

	if( !(isNaN(num)) && !(isNaN(val)) )
	{	 result = Math.round( val* rs )/ (10*rs);   }
	
	return result ;

}

function doubleChk(chkTN,Valas)
{

	FieldAx1 = Valas.split(",");
	FieldAx = chkTN.split(",");
	for (zY=0;zY<FieldAx.length ;zY++ )
	{
		tempAz = parseFloat(document.frm.elements[FieldAx[zY]].value);
		tempAz1 = parseFloat(FieldAx1[zY]);
		if(tempAz>tempAz1)
		{
			alert("Please Enter Values less than "+FieldAx1[zY]);
			document.frm.elements[FieldAx[zY]].focus();
			return false;
		}
	}
}

function doubleChek(chkTN,Valas,mesg)
{
	FieldAx1 = Valas.split(",");
	FieldAx = chkTN.split(",");
	FieldAy = mesg.split(",");

	for (zY=0;zY<FieldAx.length ;zY++ )
	{
		tempAz = parseFloat(document.frm.elements[FieldAx[zY]].value);
		tempAz1 = parseFloat(FieldAx1[zY]);
		if(tempAz>tempAz1)
		{
			alert(FieldAy[zY]);
			document.frm.elements[FieldAx[zY]].focus();
			return false;
		}
	}
return true;
}

function checkTime(time)
{
	var str = time;
	var lt= parseInt(str.substring(0,str.indexOf(":")));
	var rt= parseInt(str.substring(str.indexOf(":")+1,str.length));

	if(isNaN(lt))  { alert("Please enter correct time"); return false;}
	if(isNaN(rt))  { alert("Please enter correct time"); return false;}

	var cl= str.indexOf(":");
	if (cl<0 || str.length>5 || str.length<5)
	{ alert("please enter correct time e.g. 20:40");return false;}
	if (lt<0 || lt>24)
	{ alert("Please enter correct time");return false;}
	if (rt<0 || rt>=60)
	{ alert("Please enter correct time");return false;}
	if (lt==24 & rt>0)
	{ alert("Please enter correct time");return false;}

	return true;
}

function negativeCheck(txt)
{
		if (lTrim(rTrim(txt)).length == 0)
			return true;
		

	if(parseInt(txt)<0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function selectComboField(tn,val)
{
	for(i=0;i<document.frm.elements[tn].length;i++)
	{
	 if(val==document.frm.elements[tn][i].value)
	  {
	   document.frm.elements[tn][i].selected = true;
	   break;
	  }
	}
}

	
	function checkEmpty(fieldValue)
	{
		fieldValue = lTrim(fieldValue);
		fieldValue = rTrim(fieldValue);
		if((fieldValue == "")||(fieldValue == " ")||(fieldValue == null))
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	function EmailCheck(EmailID)
	{
		if (EmailID.indexOf('@') == -1 || EmailID.indexOf('@') == 0 || EmailID.indexOf(".") == -1 || EmailID.indexOf(".") < 2) 
		{
		return false
		}
	}
	function DateCheckFormat(Dt,Format) 
	{
		var Leap;
		var Str;
		var i,l,y;
		Str=Dt;
		if (Str.length != 10) 
		{
			return false;
		}
		if (Str.charAt(2)=="/" && Str.charAt(5)=="/") {}
		else if (Str.charAt(2)=="-" && Str.charAt(5)=="-" ){}
		else 
		{
			return false;
		}
	
		if(Format == 0){
			l = Str.substring(0,2);
			i=Str.substring(3,5);
		}else{
			i = Str.substring(0,2);
			l=Str.substring(3,5);
		}
		
		y=Str.substring(6,11);		
		if (isNaN(parseInt(i)) ) 
		{
			return false;
		}

		if (isNaN(parseInt(l)) ) 
		{
			return false;
		}

		if (isNaN(parseInt(y)) ) 
		{
			return false;
		}

		if (IniCheck(i)==false)
		{
			return false
		}

		if (IniCheck(l)==false)
		{
			return false
		}

		if (IniCheck(y)==false)
		{
			return false
		}

		if (i==0)
		{
			return false;
		}

		if (l>12 || l==0) 
		{
			return false;
		}

		if (y<1950 || y>3000)
		{
			return false;
		}

		if (Math.ceil(y/4) == Math.floor(y/4)) 
		{
			if (Math.ceil(y/100) == Math.floor(y/100) && Math.ceil(y/400) ==Math.floor(y/400) )
			{
				Leap = true;
			}
			else if (Math.ceil(y/100) !=Math.floor(y/4)) 
			{
				Leap = true;
			}
		}
		var Arr= new Array(11);
			Arr[0]=31;
			Arr[1]=28;
			Arr[2]=31;
			Arr[3]=30;
			Arr[4]=31;
			Arr[5]=30;
			Arr[6]=31;
			Arr[7]=31;
			Arr[8]=30;
			Arr[9]=31;
			Arr[10]=30;
			Arr[11]=31;
			if (Leap)
			{
			Arr[1]=29;
			}
		if (i>Arr[l-1]) 
		{
			return false;
		}
		
	return true;
	
	}
	function DateCheck(Dt) 
	{
		var Leap;
		var Str;
		var i,l,y;
		Str=Dt;
		if (Str.length != 10) 
		{
			return false;
		}
		if (Str.charAt(2)=="/" && Str.charAt(5)=="/") {}
		else if (Str.charAt(2)=="-" && Str.charAt(5)=="-" ){}
		else 
		{
			return false;
		}

		l = Str.substring(0,2);
		i=Str.substring(3,5);
		y=Str.substring(6,11);
		
		if (isNaN(parseInt(i)) ) 
		{
			return false;
		}

		if (isNaN(parseInt(l)) ) 
		{
			return false;
		}

		if (isNaN(parseInt(y)) ) 
		{
			return false;
		}

		if (IniCheck(i)==false)
		{
			return false
		}

		if (IniCheck(l)==false)
		{
			return false
		}

		if (IniCheck(y)==false)
		{
			return false
		}

		if (i==0)
		{
			return false;
		}

		if (l>12 || l==0) 
		{
			return false;
		}

		if (y<1950 || y>3000)
		{
			return false;
		}

		if (Math.ceil(y/4) == Math.floor(y/4)) 
		{
			if (Math.ceil(y/100) == Math.floor(y/100) && Math.ceil(y/400) ==Math.floor(y/400) )
			{
				Leap = true;
			}
			else if (Math.ceil(y/100) !=Math.floor(y/4)) 
			{
				Leap = true;
			}
		}
		var Arr= new Array(11);
			Arr[0]=31;
			Arr[1]=28;
			Arr[2]=31;
			Arr[3]=30;
			Arr[4]=31;
			Arr[5]=30;
			Arr[6]=31;
			Arr[7]=31;
			Arr[8]=30;
			Arr[9]=31;
			Arr[10]=30;
			Arr[11]=31;
			if (Leap)
			{
			Arr[1]=29;
			}
		if (i>Arr[l-1]) 
		{
			return false;
		}
		
	return true;
	
	}


	function lTrim(Txt) 
	{
		var Temp,T,L;
		Temp="";
		var Str1;
		Str1=Txt;
		L=Str1.length;
		for (var i=0;i<L;i++)
		{
			T=Str1.charAt(i);
			if (Temp.length !=0 ) 
			{
				Temp = Temp+T;
			}
			else if (T !=" ") 
			{
				Temp =  T;
			}
		}
		return Temp;
	}
	function rTrim(Txt) 
	{
		var Temp,T,L;
		Temp="";
		var Str1;
		Str1=Txt;
		L=Str1.length;
		for (var i=L;i>-1;i--)
		{
			T=Str1.charAt(i);
			if (Temp.length !=0 ) 
			{
				Temp = T + Temp;
			}
			else if (T !=" ") 
			{
			Temp =  T;
			}
		}
		return Temp;
	}
	function IniCheckOld(Txt)
	{
		var Str,Temp;
		var I,D;
		Str = Txt
		I=parseInt(Str);
		I = I + ""
		for (var L = 1 ; L< Str.length-I.length+1;L++) 
		{
			I = "0" + I		
		}
		if (I == Str) 
		{
			return true;
		}
		else 
		{
			return false;
		}
	
	
	}
	function IniCheck(Txt)
	{
		var Str,Temp;
		var I,D;
		Str = Txt
		
		if (lTrim(rTrim(Txt)).length == 0)
			return true;
		
		for (var A = 0; A < Str.length ; A ++)
		{
			if (Str.substring(A,A+1) != "0")
			{
				Str = Str.substring(A) ;
				break ;
			}
			
		}

		for (var L = 0;L < Str.length+1 ;L++)
		{
		    if (Str.substring(L,L+1) != "")
			{
				Temp = Str.substring(L,Str.length)
				break;
			}
		}
		I=parseInt(Temp);
		I = I + ""
		if (I == Temp) 
		{
			return true;
		}
		else 
		{
			return false;
		}	
	}
	function DoubCheck(Txt)
	{
		var Str;
		var I,D;
		Str=Txt;
		I=parseFloat(Str);
		if (lTrim(rTrim(Txt)).length == 0)
			return true;
		
		
		if (I == Str) 
		{
			return true;
		}
		else 
		{
			return false;
		}
	
	}

function CheckForValidityFrm(ValidationControls,ValidationType,ValidationMessages,frmName)
	{
		
		frmNo = frmName;
		return (CheckForValidity(ValidationControls,ValidationType,ValidationMessages));
	}

function CheckForValidity(ValidationControls,ValidationType,ValidationMessages)
	{
	
	var frm = frmNo;
	if(frm == null || frm ==""){
		frm="frm";

	}
	
	var CheckOk,ErrorMessage
	var Controls = new Array();
	var CheckType = new Array();
	var CheckMessage = new Array();
	CheckOk = true
	Controls = ValidationControls.split(",")
	CheckType = ValidationType.split(",")
	CheckMessage = ValidationMessages.split(",")
	var I ;
	var Temp,TempCheckType;
	try
	{
		
		for (I = 0 ;I <Controls.length;I++){
		Temp = Controls[I];
		TempCheckType = CheckType[I];
		ErrorMessage = CheckMessage[I]
		if (TempCheckType > 10){
			TempCheckType= TempCheckType - 10
			if (lTrim(rTrim(document.forms[frm].elements(Temp).value)) == ''){
				CheckOk= false
				break}
		}
		else if (lTrim(rTrim(document.forms[frm].elements(Temp).value)) == ''){
			CheckOk = true;
			
		}
		if (TempCheckType == 1) {			//Check for Numeric Value
			if (IniCheck(document.forms[frm].elements(Temp).value) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 2 ) {//Check For Double
			if (DoubCheck(document.forms[frm].elements(Temp).value) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 3 ) {//Check For Date
			if (DateCheck(document.forms[frm].elements(Temp).value) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 4 ) {//Check For Email
			if (checkemail(document.forms[frm].elements(Temp).value) == false){
				CheckOk= false
				break}
		}

		else if (TempCheckType == 5 ) {//Check For Empty
			if (checkEmpty(document.forms[frm].elements(Temp).value) == false){
				CheckOk= false
				break}
		}

		else if (TempCheckType ==6 ) {//Negative Checking 
			if (negativeCheck(document.forms[frm].elements(Temp).value) == false){
				CheckOk= false
				break}
	
		}
		else if (TempCheckType ==7 ) {//Date Format Checking 
			if (DateCheckFormat(document.forms[frm].elements(Temp).value,0) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType ==8 ) {//String Checking 
			if (strcheck(document.forms[frm].elements(Temp).value,0) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType ==9 ) {//Special Checking 
			if (spcheck(document.forms[frm].elements(Temp).value,0) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType ==10 ) {//Special Checking 
			if (locationcheck(document.forms[frm].elements(Temp).value,0) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType ==11 ) {//Special Checking 
			if (intcheck(document.forms[frm].elements(Temp).value,0) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType ==12 ) {//Special Checking 
			if (checkcolon(document.forms[frm].elements(Temp).value,0) == false){
				CheckOk= false
				break}
		}
		
		else if (TempCheckType ==13 ) {//Special Checking 
			if (checknumber(document.forms[frm].elements(Temp).value,0) == false){
				CheckOk= false
				break}
		}
		ErrorMessage = ""
	}
		if (CheckOk == false){
			document.forms[frm].elements(Temp).focus()
			alert(ErrorMessage)
			return false
		}
		return true
	}
	catch (undefined)
	{
		alert("error" + undefined)
	}

	}

	
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function CheckForValidityForArray(ValidationControls,ValidationControlsIndex,ValidationType,ValidationMessages)
	{

	var CheckOk,ErrorMessage
	var Controls = new Array();
	var ControlsIndex = new Array();
	var CheckType = new Array();
	var CheckMessage = new Array();
	CheckOk = true
	Controls = ValidationControls.split(",")
	ControlsIndex = ValidationControlsIndex.split(",")
	CheckType = ValidationType.split(",")
	CheckMessage = ValidationMessages.split(",")
	var I ;
	var Temp,TempCheckType;

	for (I = 0 ;I <Controls.length;I++){
		Temp = Controls[I];
		TempIndex  = ControlsIndex[I];
		TempCheckType = CheckType[I];
		ErrorMessage = CheckMessage[I]

		if (TempCheckType > 10){
			TempCheckType= TempCheckType - 10
			if (lTrim(rTrim(document.frm.elements[Temp][TempIndex].value)) == ''){
				CheckOk= false
				break}
		}
		else if (lTrim(rTrim(document.frm.elements[Temp][TempIndex].value)) == ''){
			CheckOk = true;
			
		}
		if (TempCheckType == 1) {			//Check for Numeric Value 
			if (IniCheck(document.frm.elements[Temp][TempIndex].value) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 2 ) {
			if (DoubCheck(document.frm.elements[Temp][TempIndex].value) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 3 ) {
			if (DateCheck(document.frm.elements[Temp][TempIndex].value) == false){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 4 ) {
			if (EmailCheck(document.frm.elements[Temp][TempIndex].value) == false){
				CheckOk= false
				break}
		}

		else if (TempCheckType == 5 ) {
			if (checkEmpty(document.frm.elements[Temp][TempIndex].value) == false){
				CheckOk= false
				break}
		}

		else if (TempCheckType ==6 ) {
			if (negativeCheck(document.frm.elements[Temp][TempIndex].value) == false){
				CheckOk= false
				break}
	
		}
		else if (TempCheckType ==7 ) {
			if (negativeCheck(document.frm.elements[Temp][TempIndex].value) == true){
				CheckOk= false
				break}
	
		}

		ErrorMessage = ""
	}
		if (CheckOk == false){
			alert(Temp+"===="+TempIndex)
			alert(ErrorMessage)
			document.frm.elements[Temp][TempIndex].focus();
			return false
		}
		return true
	}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	function CheckForMaxVal(ValidationControls,ValidationType,MaxValue,ValidationMessages)
	{
	var CheckOk,ErrorMessage
	var Controls = new Array();
	var CheckType = new Array();
	var CheckMessage = new Array();
	var CheckValue	 = new Array();
	CheckOk = true
	Controls = ValidationControls.split(",")
	CheckType = ValidationType.split(",")
	CheckMessage = ValidationMessages.split(",")
	CheckValue	 = MaxValue.split(",");
	var I ;
	var Temp,TempCheckType;
	for (I = 0 ;I <Controls.length;I++){
		Temp = Controls[I];
		TempCheckType = CheckType[I];
		ErrorMessage = CheckMessage[I]
		if (TempCheckType == 1) {			//Check for Numeric Value
			if (parseInt(document.frm.elements(Temp).value) > CheckValue[I] ){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 2 ) {
			if (parseFloat(document.frm.elements(Temp).value) > CheckValue[I]){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 3 ) {
			var txt =document.frm.elements(Temp).value ;
			var Y,M,D;
			D = txt.substring(0,2);
			M = parseInt(txt.substring(3,5)) - 1;
			Y = txt.substring(6);
			var Dt1 = new Date(Y,M,D);
			
			txt =CheckValue[I];
			var Y,M,D;
			D = txt.substring(0,2);
			M = parseInt(txt.substring(3,5)) - 1;
			Y = txt.substring(6);
			var Dt2 = new Date(Y,M,D);
			
			if (Dt2>Dt1)
			{
				CheckOk= false ;
				break ;
			}
			
		}
		
		ErrorMessage = ""
	}
		if (CheckOk == false){
			document.frm.elements(Temp).focus()
			alert(ErrorMessage)
			return false
		}
		return true
	}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	function CheckForMinVal(ValidationControls,ValidationType,MaxValue,ValidationMessages)
	{

	var CheckOk,ErrorMessage
	var Controls = new Array();
	var CheckType = new Array();
	var CheckMessage = new Array();
	var CheckValue	 = new Array();
	CheckOk = true
	Controls = ValidationControls.split(",")
	CheckType = ValidationType.split(",")
	CheckMessage = ValidationMessages.split(",")
	CheckValue	 = MaxValue.split(",");
	var I ;
	var Temp,TempCheckType;
	for (I = 0 ;I <Controls.length;I++){
		Temp = Controls[I];
		TempCheckType = CheckType[I];
		ErrorMessage = CheckMessage[I]
		if (TempCheckType == 1) {			//Check for Numeric Value
			if (parseInt(document.frm.elements(Temp).value) < CheckValue[I] ){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 2 ) {
			if (parseFloat(document.frm.elements(Temp).value) < CheckValue[I]){
				CheckOk= false
				break}
		}
		else if (TempCheckType == 3 ) {
			var txt =document.frm.elements(Temp).value ;
			var Y,M,D;
			D = txt.substring(0,2);
			M = parseInt(txt.substring(3,5)) - 1;
			Y = txt.substring(6);
			var Dt1 = new Date(Y,M,D);
			
			txt =CheckValue[I];
			var Y,M,D;
			D = txt.substring(0,2);
			M = parseInt(txt.substring(3,5)) - 1;
			Y = txt.substring(6);
			var Dt2 = new Date(Y,M,D);
			
			if (Dt2 < Dt1)
			{
				CheckOk= false ;
				break ;
			}
			
		}
		
		ErrorMessage = ""
	}
		if (CheckOk == false){
			document.frm.elements(Temp).focus()
			alert(ErrorMessage)
			return false
		}

		return true
	}
//entered by vilas
function checkNum(Txt)
{
	var Str;
	var I,D;
	Str=Txt;
	I=parseFloat(Str);
	if (lTrim(rTrim(Txt)).length == 0)
		return true;
	
		
	if (I == Str) 
	{
		//alert("Num");
		return true;
	}
	else 
	{
		//	alert(I);
		return false;
	}
}

function multipleRecordPercentValid()
{
	var ilength = document.frm.percent.length;
	if(ilength > 0)
	{
		for(var i = 0; i< ilength; i++)
		{
			if(!IniCheck(document.frm.percent[i].value) )
			{
				alert("Enter a Number value");
				document.frm.percent[i].select();
				return false;
			}
			else if(!isNaN(document.frm.percent[i].value))
			{
				if( parseFloat( document.frm.percent[i].value ) > 100.00 )
				{
					alert("Percent is greater than 100%");
					document.frm.percent[i].select();
					return false;
				}
			}
		}
	}
	return true;
}