/*Created By: A. Srinivas Kumar
    Created Date: 26-Aug-2002 
    Description: Validations for Required Fields in HealthRecords.
    */
/* Please Do not manipulate the Code Below*/
	


function isEmail(strEmail)
	{
	
	var str
		str = strEmail
		// are regular expressions supported?
		var supported = 0;
		if (window.RegExp)
		{
			var tempStr = "a";
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supported = 1;
		}
		if (!supported)
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		//return (!r1.test(str) && r2.test(str));
		var flag = (!r1.test(str) && r2.test(str));
		if (flag==true)
		{
			return(true);
		}
		else
		{
		   alert("Enter valid Email.");
		   return(false);
		   }
        
	  }
	  
function isYear(strYear)
{
	var s = strYear;
	var reYear;
		reYear = new RegExp("[0-9]{4}")
    
    if(reYear.test(s) == false)
		{alert("Enter a Valid Year")
		return false;}
	else if (s.length != 4)
		{
		alert("Enter a Valid Year")    
		return false;
		 }
	else
		{
			return true;
		 }	 
 }	  
 
function isDate(strDate)
{

var tempdate, t, m, ye, mi, x, y, x1, y1, x2, y2, x3, y3, x4, y4, da, mo,m1
var flag
flag=0
/////////////////////////////////////////////////  
	tempdate = strDate;
	//alert(tempdate);
/////////////////////////////////////////////////   
	d1=tempdate.substring(0,1)
	d2=tempdate.substring(1,2)
/////////////////////////////////////////////////  
 
 if(isNaN(d2))
  {
	//alert("It is a Single Digit Date")
	
	//alert(tempdate.substring(0,1))
	//alert(tempdate.substring(1,2))
	if(d1==0)
	{
	 flag = 1;
	}
	x=1;y=2;
 	x1=2;y1=5
 	x2=5;y2=6
 	x3=6;y3=10
 	x4=10;y4=11
 	
 	da=d1
   }
 else
 { 
	if(((d1>=3) && (d2>1)) || (d1>3) || ((d1==0)&&(d2==0)))
		//	alert("Date should be a number less than 30 or 31")
		flag=1	
		x=2;y=3
 		x1=3;y1=6
 		x2=6;y2=7
		x3=7;y3=11
		x4=11;y4=12
		
		da=d1
		da=da + d2
		//return false;
   }
/////////////////////////////////////////////////  
	t=tempdate.substring(x,y);
/////////////////////////////////////////////////  
 if(t == '.' || t== '-' || t=='/')
	{//alert("Valid Separator");
	}
 else
 {}
	//{//alert("Separator Invalid");	}
/////////////////////////////////////////////////   
	m1 = tempdate.substring(x1 ,y1);
	m = m1.toLowerCase()
// 	alert(m);
 	
 	mo=m
/////////////////////////////////////////////////  

 if((m == 'jan') || (m == 'feb') || (m == 'mar') || (m == 'apr') || (m == 'may') || (m == 'jun') || (m == 'jul') || (m == 'aug') || (m == 'sep') || (m == 'oct') || (m == 'nov') || (m == 'dec'))
	{//alert("Month is Valid"); 	
	}
 else
	{flag=1
	//alert("Month is InValid"); 
	}
/////////////////////////////////////////////////    
	t1=tempdate.substring(x2,y2);
/////////////////////////////////////////////////  
 if(t1 == '.' || t1== '-' || t1=='/')
	{//alert("Valid Separator"); 
	}
 else
	{
	flag=1
	//alert("Separator Invalid");
	 }
	//alert(t1)
/////////////////////////////////////////////////   
	ye=tempdate.substring(x3,y3)
 	//alert(ye)
/////////////////////////////////////////////////  
	mi=tempdate.substring(x4,y4)
 /////////////////////////////////////////////////  
 if(mi!="")
 {
 	flag=1
 	//alert("Check the year Value, It cannot be greater than 4 digits for now")
  }
/////////////////////////////////////////////////   
 if(isNaN(ye))
	{flag=1}
	//alert("Year Value can not be a String")
 else if((ye<1900) || (ye>9999))
	{flag=1}
	//alert("Year value Should be between 1900 & 9999")
 else
	{}
	//alert("Year Value is Valid")	 
/////////////////////////////////////////////////  
var finalDate
finalDate = ""
finalDate = da
finalDate = finalDate + "-"
finalDate = finalDate + mo
finalDate = finalDate + "-"
finalDate = finalDate + ye
//alert(flag)
if (flag==0) 
{//alert("Final Date Value Is: " + finalDate)
	return true;
}
else 
alert("Enter a valid date. Eg: 01-jan-1980")
 }
 
function isPhone(strPhone)
{
	var s = strPhone;
	var rePhone;
		rePhone = new RegExp("^[a-z0-9A-Z-]+$")
    
    if(rePhone.test(s) == false)
		{alert("Enter a Valid Phone/Pager Number, Else Enter NONE")
		return false;}
	else
		{
			return true;
		 }	
 } 
 
function isAlphaOnly(val)
{//this function allows only alphabets, spaces and tabs.
	if( ! isFirstLetterAlpha(val) ) return false;
	
	var invalid;
	var strIsNot="!@#$^*()_+=-'`~\|]}[{;:/?,<>&%1234567890";
		invalid = false;
		if (val.indexOf("\"")>0)
		{
			invalid=true;
		}
		else
		{
			for(var i=0;i<val.length;i++)
			{
				
				for(var j=0;j<strIsNot.length;j++)
				{
				
					if ( val.substring(i,i+1)==strIsNot.substring(j,j+1) ) invalid = true;
				}
			}
		}
		if (! invalid ) return  true;
		else	return false;
}

function isFirstLetterAlpha(strGiven)
{
	var strAlphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var strFirstChar = strGiven.substring(0,1);
	strFirstChar = strFirstChar.toUpperCase();
	return ( strAlphabets.indexOf(strFirstChar) != -1);
}
 
function isAlphaNumeraic(val)
{/*this function allows only alphabets and numbers.*/
		
		var regexp=new RegExp("^[A-Za-z0-9][A-Za-z0-9- ]*$")	
		if(regexp.test(val)==false)
		return false;
		else
		return true;
	
	
} 



function trimPrefixSpace(strVar)
{
	//alert(strVar)
	if(typeof(strVar) == 'undefined'	|| typeof(strVar) == 'boolean') return strVar;
	
	
	var tempLen = strVar.length
	//alert("Length of string: " + tempLen)
	var newString = ""
	
	for(var i=0;i<tempLen;i++)
	{
		if ((strVar.substring(i,i+1) == ' ') || (strVar.substring(i,i+1) == '\t'))
		{
			continue;
		}
		else
		{
			newString = newString + strVar.substring(i,i+1);
		}
	}
	
	//alert(newString.length);
	return newString;
	
}

function isName(val)
{/*this function validates name fields.*/
		
		var testVal = val;
		var rgexp=new RegExp("^[A-Za-z0-9][A-Za-z0-9. ]*$");	
		if(rgexp.test(testVal) == false)
		   return false;
		else
		  return true;
		
	
} 

function isAddress(val)
{/*this function validates address fields.*/
		
		var regexp=new RegExp("^[A-Za-z0-9#][A-Za-z0-9#,-_ ]*$")	
		if(regexp.test(val)==false)
		return false;
		else
		return true;
	
	
}

function isNumeric(val)
{/*this function checks for numbers.*/
		
		var regexp=new RegExp("^[0-9][0-9-]*$")	
		if(regexp.test(val)==false)
		return false;
		else
		return true;
	
	
}

function isQuestion(val)
{/*this function validates Question fields.*/
		strval=val
		var regexp=new RegExp("^[A-Za-z0-9][A-Za-z0-9.-_ ?]*$")	
		if(regexp.test(strval)==false)
		return false;
		else
		return true;
	
	
}

 