function checkEmptyText(strValue)
{
	var booEmpty=false;
	if(trimAll(strValue)=='')
		booEmpty=true;
	
	return booEmpty;
}

function trimLeft(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
        var j=0, i = s.length;
	    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
	    {
		    j++;
	        s = s.substring(j, i);
	    }
	}
    return s;
}


function trimRight(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
        var i = s.length - 1;       
	    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
	    {
			i--;
		    s = s.substring(0, i+1);
		}
	}
	return s;
}
function trimAll(strValue)
{
	var strTrimmed='';
	strTrimmed=trimLeft(strValue);
	strTrimmed=trimRight(strTrimmed);
	return strTrimmed;
}

function isNumeric(strValue)
{
        
	var booNumber=true;
	var validChars='0123456789';
	var temp='';	
	
	for(z=0;strValue.length>z;z++) 
	{
		temp = strValue.substring(z, z+1);		
		if (validChars.indexOf(temp) == -1) 
		{			
			booNumber=false;			
			break;
		}
	}
	return booNumber;
}

function isPhone(strValue)
{
	var booNumber=true;
	var validChars='0123456789- ()';
	var temp='';
		
	for(z=0;strValue.length>z;z++) 
	{
		temp = strValue.substring(z, z+1);
		if (validChars.indexOf(temp) == -1) 
		{			
			booNumber=false;
			break;
		}
	}
	return booNumber;
}
function trim (str) 
{
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
function isValidDate(strDate)
{
	var booIsDate=true;
	var intMonth,intDay,intYear;
	var strElementValue,aryElementValue;
	strElementValue=strDate;
	if(strElementValue.length>7 && strElementValue.length<11)
	{
		if(strElementValue.indexOf("/")!=-1)
		{
			aryElementValue=strElementValue.split("/");
			if(aryElementValue.length==3)
			{
				for(i=0;i<aryElementValue.length;i++)
				{
						if(aryElementValue[i].length>0)
						{
							if(isNaN(aryElementValue[i]))
							{
								booIsDate=false;
								break;
							}
						}
						else
						{
							booIsDate=false;
							break;
						}
				}
				if(booIsDate)
				{
					intMonth=parseInt(aryElementValue[0],10);
					intDay=parseInt(aryElementValue[1],10);
					intYear=parseInt(aryElementValue[2],10);
					if(intYear>1900)
					{
						if(intMonth<1 || intMonth>12)
							booIsDate=false;
						else
						{
							if(intMonth%2==1 && intMonth<8)
							{
								if(intDay>31 || intDay<1)
									booIsDate=false;
							}
							else if(intMonth>7 && intMonth%2==0)
							{
								
								if(intDay>31 || intDay<1)
									booIsDate=false;
							}
							else if(intMonth==2)
							{
								if((intYear%4==0 && intYear%100!=0) || (intYear%400==0))
								{
									if(intDay <1 || intDay>29)
										booIsDate=false;
								}
								else
								{
									if(intDay<1 || intDay>28)
										booIsDate=false;
								}
							}
							else
							{
								
								if(intDay<1 || intDay>30)
									booIsDate=false;
							}	
						}
					}
					else
						booIsDate=false;
				}
				else
					booIsDate=false;
			}
			else
				booIsDate=false;
		}
		else
			booIsDate=false;
	}
	else
		 booIsDate=false;
	return booIsDate;
}


function fnValidateEmail(l_stremail) { 
	
  l_stremail=l_stremail.toLowerCase();	

  if (l_stremail.indexOf ("'") != -1 )  {
	l_stremail =l_stremail.replace( /[']/g,"")
		if (l_stremail.indexOf ("-") != -1 ) {
		l_stremail =l_stremail.replace( /[-]/g,"")
		}
  }    
  else  if (l_stremail.indexOf ("-") != -1 ) {
	l_stremail =l_stremail.replace( /[-]/g,"")
		if (l_stremail.indexOf ("'") != -1 ) {
		l_stremail =l_stremail.replace( /[']/g,"")
		}
	
  }   
	
	var objRegExp = /(^[a-z]([a-z_0-9\.]*)@([a-z_0-9\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_0-9\.]*)@([a-z_0-9\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)|(^[a-z]([a-z_0-9\.]*)@([a-z_0-9\.]*)(\.[a-z]{2})(\.[a-z]{2})*$)/; 
	return objRegExp.test(l_stremail); 
} 


function isAlphaNumeric(field) {
if(field.value.substring(0,1)==" "){
  return false;
}
var valid = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if ((valid.indexOf(temp) == -1) )
ok = "no";
}

if (ok == "no") {
return false
   }
return true;
}

function isAlpha(field) {
	
if(field.value.substring(0,1)==" "){
  return false;
}

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if ((valid.indexOf(temp) == -1) )
ok = "no";
}

if (ok == "no") {
return false
   }
return true;
}

function isAlphaWithSpace(field) {
	
if(field.value.substring(0,1)==" "){
  return false;
}

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if ((valid.indexOf(temp) == -1) )
ok = "no";
}

if (ok == "no") {
return false
   }
return true;
}

function supressKey(e) {
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
var keyCode = (isNN) ? e.which : e.keyCode;
if(keyCode>32 && keyCode<45)
	if(keyCode!=42)
		keyCode=0;
}

function isFutureDate(strDate,strToday,format)
{
	var aryThisDate,aryToday;
	var isFuture=true;
	var thisDate,today;
	var parseThisDate,parseToday;
	var seperator="";
	seperator=format.substring(3,2);
	
	aryThisDate=strDate.split(seperator);
	aryToday=strToday.split(seperator);

	if(format.substring(2,0)=="DD" || format.substring(2,0)=="dd" )
	{
		thisDate=new Date(aryThisDate[2],aryThisDate[1],aryThisDate[0]);
		today=new Date(aryToday[2],aryToday[1],aryToday[0]);
	}
	if(format.substring(2,0)=="MM" || format.substring(2,0)=="mm" )
	{
		thisDate=new Date(aryThisDate[1],aryThisDate[2],aryThisDate[0]);
		today=new Date(aryToday[1],aryToday[2],aryToday[0]);
	}
	parseThisDate=Date.parse(thisDate);
	parseToday=Date.parse(today);

	if ((parseThisDate/parseToday)>1)
		isFuture= false;

	return isFuture;
}



/*   function for replacing "'" with "''" while inserting special names such as "d'souza" in Database */

function escapeCharacter(s) {
  var retvalue = s
  if (s.indexOf ("'") != -1 ) {
	retvalue = s.replace( /[']/g,"''")
  }
  return retvalue;
}

function escapeCheck(s) {
  var retvalue = s
  if (s.indexOf ("'") != -1 ) {
	return false;	
  }
  return true;
}


function isInteger(strArg1) {
	var valid = "0123456789"
	var ok =true;
	var temp;
	for (var i=0; i<strArg1.length; i++) 
	{
		temp = "" + strArg1.substring(i, i+1);
		if ((valid.indexOf(temp) == -1) )
			ok = false;
	}
	return ok;
}

   

function _isInteger(val) {
	var digits="1234567890";
	for (var i=0; i < val.length; i++) {
		if (digits.indexOf(val.charAt(i))==-1) { return false; }
		}
	return true;
	}
	
function validate()
	{
	
		strValue= document.forms[0].elements['First-Name'].value
		if(checkEmptyText(strValue))
		{
                 alert('Please enter First Name');
		 document.forms[0].elements['First-Name'].focus();
		 return false;
	
		}

		strValue= document.forms[0].elements['Last-Name'].value
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Last Name');
		 document.forms[0].elements['Last-Name'].focus();
		 return false;
		}
	
		strValue= document.forms[0].elements['Trust-Name'].value
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Primary Care/Hospital Trust');
		 document.forms[0].elements['Trust-Name'].focus();
		 return false;
		}
	
		strValue= document.forms[0].elements['Postcode'].value
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Postcode');
		 document.forms[0].elements['Postcode'].focus();
		 return false;
	
		}
	
		strValue= document.forms[0].elements['Phone-Number'].value
		
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Phone number');
		 document.forms[0].elements['Phone-Number'].focus();
		 return false;
		}

		if(!isPhone(strValue))
		{
		 alert('Please enter Phone number');
		 document.forms[0].elements['Phone-Number'].focus();
		 return false;
		}
	
		strValue= document.forms[0].elements['Fax-Number'].value
			
		if(!isPhone(strValue))
		{
		 alert('Please enter Numeric Fax Number');
		 document.forms[0].elements['Fax-Number'].focus();
		 return false;
             	}
	
	
		strValue= document.forms[0].elements['mailfrom'].value
		if(!fnValidateEmail(strValue))
		{
		 alert('Please enter valid Email Address');
		 document.forms[0].elements['mailfrom'].focus();
		 return false;
		}
		
		strValue= document.forms[0].elements['Query-Detail'].value
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Query Detail');
		 document.forms[0].elements['Query-Detail'].focus();
		 return false;
		}
	        
	        if (document.forms[0].Opt.checked)
		{
			document.forms[0].elements['Opt-out'].value="Yes";
			
		}
		else
		       	document.forms[0].elements['Opt-out'].value="No";
		
	        
		document.forms[0].elements['First-Name'].value=trimLeft(document.forms[0].elements['First-Name'].value);
		document.forms[0].elements['Last-Name'].value=trimLeft(document.forms[0].elements['Last-Name'].value);
		document.forms[0].elements['Trust-Name'].value=trimLeft(document.forms[0].elements['Trust-Name'].value);
		document.forms[0].elements['Postcode'].value=trimLeft(document.forms[0].elements['Postcode'].value);
		document.forms[0].elements['Phone-Number'].value=trimLeft(document.forms[0].elements['Phone-Number'].value);
		document.forms[0].elements['Fax-Number'].value=trimLeft(document.forms[0].elements['Fax-Number'].value);
		document.forms[0].elements['mailfrom'].value=trimLeft(document.forms[0].elements['mailfrom'].value);
		document.forms[0].elements['Query-Detail'].value=trimLeft(document.forms[0].elements['Query-Detail'].value);
	
	        
	
}

function validatefeedback()
{
		strValue= document.forms[0].elements['Query-Detail'].value
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Query Detail');
		 document.forms[0].elements['Query-Detail'].focus();
		 return false;
		}

		strFname= document.forms[0].elements['First-Name'].value
			strLname= document.forms[0].elements['Last-Name'].value
			strPnumber= document.forms[0].elements['Phone-Number'].value
			strMailfrom= document.forms[0].elements['mailfrom'].value
		
			if(!checkEmptyText(strFname))
			{
				if((checkEmptyText(strPnumber)) && (checkEmptyText(strMailfrom))) 
				{
					alert('Please enter Phone number or Email address');
					document.forms[0].elements['Phone-Number'].focus();
					return false;
				}
			}
		
		
		
			if(!checkEmptyText(strLname))
			{
				if((checkEmptyText(strPnumber)) && (checkEmptyText(strMailfrom))) 
				{
					alert('Please enter Phone number or Email address');
					document.forms[0].elements['Phone-Number'].focus();
					return false;
				}		
			}
		
			if((!checkEmptyText(strPnumber)) && (!isPhone(strPnumber)))
			{
		
				alert('Please enter Numeric Phone number');
				 document.forms[0].elements['Phone-Number'].focus();
				 return false;
			}
		
			if((!checkEmptyText(strMailfrom)) && (!fnValidateEmail(strMailfrom)))
			{
		
				alert('Please enter Email address');
				 document.forms[0].elements['mailfrom'].focus();
				 return false;
			}

			document.forms[0].elements['First-Name'].value=trimLeft(document.forms[0].elements['First-Name'].value);
			document.forms[0].elements['Last-Name'].value=trimLeft(document.forms[0].elements['Last-Name'].value);
			document.forms[0].elements['Phone-Number'].value=trimLeft(document.forms[0].elements['Phone-Number'].value);
			document.forms[0].elements['mailfrom'].value=trimLeft(document.forms[0].elements['mailfrom'].value);
			
			//if(trimAll(strMailfrom)=='')
			//{
			//  document.forms[0].elements['mailfrom'].value="undisclosed-recipient@boc.com";
			//}
}

function validatePatient()
	{
	
		strValue= document.forms[0].elements['First-Name'].value
		if(checkEmptyText(strValue))
		{
                 alert('Please enter First Name');
		 document.forms[0].elements['First-Name'].focus();
		 return false;
	
		}

		strValue= document.forms[0].elements['Last-Name'].value
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Last Name');
		 document.forms[0].elements['Last-Name'].focus();
		 return false;
		}
	
		
	
		strValue= document.forms[0].elements['Postcode'].value
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Postcode');
		 document.forms[0].elements['Postcode'].focus();
		 return false;
	
		}
		
		strValue= document.forms[0].elements['Phone-Number'].value
		
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Phone number');
		 document.forms[0].elements['Phone-Number'].focus();
		 return false;
		}

		if(!isPhone(strValue))
		{
		 alert('Please enter Phone number');
		 document.forms[0].elements['Phone-Number'].focus();
		 return false;
		}
	

		
	
			
	
		strValue= document.forms[0].elements['mailfrom'].value
		if(!fnValidateEmail(strValue))
		{
		 alert('Please enter valid Email Address');
		 document.forms[0].elements['mailfrom'].focus();
		 return false;
		}
		
		strValue= document.forms[0].elements['Query-Detail'].value
		if(checkEmptyText(strValue))
		{
		 alert('Please enter Query Detail');
		 document.forms[0].elements['Query-Detail'].focus();
		 return false;
		}
	        
	        if (document.forms[0].Opt.checked)
		{
			document.forms[0].elements['Opt-out'].value="Yes";
			
		}
		else
		       	document.forms[0].elements['Opt-out'].value="No";
		
	        
		document.forms[0].elements['First-Name'].value=trimLeft(document.forms[0].elements['First-Name'].value);
		document.forms[0].elements['Last-Name'].value=trimLeft(document.forms[0].elements['Last-Name'].value);
		document.forms[0].elements['Trust-Name'].value=trimLeft(document.forms[0].elements['Trust-Name'].value);
		document.forms[0].elements['Postcode'].value=trimLeft(document.forms[0].elements['Postcode'].value);
		document.forms[0].elements['Phone-Number'].value=trimLeft(document.forms[0].elements['Phone-Number'].value);
		document.forms[0].elements['Fax-Number'].value=trimLeft(document.forms[0].elements['Fax-Number'].value);
		document.forms[0].elements['mailfrom'].value=trimLeft(document.forms[0].elements['mailfrom'].value);
		document.forms[0].elements['Query-Detail'].value=trimLeft(document.forms[0].elements['Query-Detail'].value);
	
	        
	
}
