// Javascript Functions for RMP

// ** Funtion to Validate KeyPress Events **
	// Excludes Single and Double Quotes
	// If rule = "num" - Only Numbers are allowed	
	// If rule = "dec" - Only Numbers and Decimal are allowed
	// If rule = "txt" - Excludes all Special Characters

function ValidateKey(eventObj, obj, rule)
	{
		var keyCode;
		var key = rule;
		
		if (document.all)
		{
			keyCode = eventObj.keyCode;
		}
		else
		{
			keyCode = eventObj.which;
		}

		var str=obj.value;
		
		
		// Exclude Quotes
		if (keyCode == 34 || keyCode == 39)
		{
			return false;
		}		
				
		//alert(keyCode);		
		
		
		// Only Numbers		
		if (key=="num") 
		{
			if (keyCode < 48 || keyCode > 57) 
			{
				return false;
			}
				return true;
		}
		
		// Allow only integers and decimal points		
		if (key=="dec")
		{
			if(keyCode==46)
			{
				if (str.indexOf(".")>=0)
				{
					return false
				}
			}	
			
			if((keyCode<48 || keyCode>58 || keyCode==45 || keyCode==13 ) && (keyCode!=46))
			{			
				return false;
			}
				return true;
		}
		
		// Will not accept Special Characters
		
		if (key=="txt")
		{    
			if(keyCode==46)
			{               
				return true;				
			}
			else if ((keyCode > 32 && keyCode < 48) || (keyCode > 57 && keyCode < 65) || (keyCode > 90 && keyCode < 97)) 
			{
				return false;
			}
				return true;
		}
		
		// Will not accept Special Characters
		if (key=="email")
		{
			
			if ((keyCode==44) || (keyCode==45) || (keyCode==46) || (keyCode==95) || (keyCode ==64) || (keyCode==32))
			{
				return true;
			}
			if ((keyCode > 32 && keyCode < 48) || (keyCode > 57 && keyCode < 65) || (keyCode > 90 && keyCode < 97) || (keyCode==13)) 
			{
				return false;
			}
				return true;
		}
		
		/*
			45 - 44 , 46 .
			64 @ 40 ( 41 )
			45 - 58 :  32   
		*/
		if(key == "spl")
		{
			if ((keyCode==32) || (keyCode==45) || (keyCode==44) || (keyCode==46) || (keyCode==64) || (keyCode==40) || (keyCode==41) || (keyCode==58))
				return true;
			if ((keyCode==32) || (keyCode==126) || (keyCode > 32 && keyCode < 48) || (keyCode > 57 && keyCode < 65) || (keyCode > 90 && keyCode < 97)) 
			{
				return false;
			}
				return true; 
		}
		// Will not accept Special Characters & space
		if (key=="chr")
		{
			if ((keyCode==32) || (keyCode==126) || (keyCode > 32 && keyCode < 48) || (keyCode > 57 && keyCode < 65) || (keyCode > 90 && keyCode < 97)) 
			{
				return false;
			}
				return true;
		}			
				
		// accept all Characters
		if (key=="all")
		{
		     
				return true;
		}
	}
	


function showCal(eventObj, obj)
		{
			hideCalendar();
			var eventObj;
			var keyCode;
			var str=obj.value;
			if (document.all)
			{
				keyCode = eventObj.keyCode;
			}
			else
			{
				keyCode = eventObj.which;
			}			
			if (keyCode == 99) 
			{
				obj.value='';
				return false;
			}
			
			if(keyCode != 99 && keyCode!=100 )
			{ 
			  if (keyCode < 48 || keyCode > 57 )			  
				return false;				
			}

		if(obj.value =='' || obj.value==null)
		{	
		
			var	today =	new	Date()			
			var dateNow	 = today.getDate()
			var	monthNow = today.getMonth()
			var	yearNow	 = today.getYear()
			
				if(dateNow<10)
				{			
					dateNow = '0' + dateNow;
				}
				if(monthNow<10)
					monthNow = '0' + monthNow;
	
			obj.value = monthNow + '/' + dateNow  + '/' + yearNow;
		}
			popUpCalendar(obj, obj,obj, 'mm/dd/yyyy',  0, 0)
			return false;
		}


function DelConfirm()
	{		
		return  confirm("Entry will be deleted permanently! Continue?");
	}
	
function IsMaxLength(oNotes)
	{
            var szMaxLength = oNotes.value; 
            
            if(szMaxLength.length>500)
            {
				return false;
            }
            else
            {
				return true;
            }
	}
	
function checkCharacter(aa)
{
	var C = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	for(i=0;i<aa.length;i++)
	{
		if(C.indexOf(aa.charAt(i)) < 0) return true;
	}
	return false;
}

function checkNumber(aa)
{
	var N = "0123456789";
	for(i=0;i<aa.length;i++)
	{
		if(N.indexOf(aa.charAt(i)) < 0) return true;		
	}
	return false;
}

function checkPanTan(aa,pt)
{    
	var x = aa;	
	var c4="",n4="",c1="";
	
	x = x.trim();
	if(x.length != 10)
	{
		alert('Ensure ' + pt + ' Number! Must be ten digit alpha numeric character without any Space/Special character');
		return true;
	} 
	x = String(x.replace(' ',''));
	x = String(x.toUpperCase());
	
	c4 = String(x.substring(0,5))
	if(checkCharacter(c4)) 
	{            
		alert('Ensure ' + pt + ' Number! First 5 charcter should be alphabetic character without any Space/Special character');
		return true;		
	}	
	
	c4 = String(c4.charAt(3));
	if (!(c4 == "C" || c4 == "P" || c4 == "H" || c4 == "F" || c4 == "A" || c4 == "T" || c4 == "B" || c4 == "L" || c4 == "J" || c4 == "G"))
	{
		alert("Ensure " + pt + " Number!  \nThe fourth character of the " + pt + " must be one of the following, depending on the type of assessee: \n\n C - Company \n P - Person  \n H - Hindu Undivided Family (HUF) \n F - Firm \n A - Association of Persons (AOP) \n B - Body of Individuals (BOI) \n G - Govt \n L - Local Authority ");
		
		return true;		
	}
	n4 = String(x.substring(5,9))
	if(checkNumber(n4)) 
	{
		alert("Ensure " + pt + " Number! Must contain 4 numbers in the middle of " + pt );
		return true;	
	}
	if(isNaN(n4))
	{
		alert('Ensure ' + pt + ' Number! Must contain 4 integer number');
		return true;
	}	
	c1 = String(x.substring(9,10))	
	if(!(isNaN(c1)))
	{
		alert('Ensure ' + pt + ' Number! Last character must be a alphabetic character');
		return true;
	}  	
	return false;
}

function CheckEMail(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("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

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

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true;
}


