	document.write('<div id=tip>');
	var tooltip = document.getElementById('tip').style;	
	var requiredfields;
	requiredfields = new Array();
	function dothis(txtname)
	{

		/*var textboxname = 'txt' + ctr;		
		if (textboxname == txtname.name)
		{
			var a = eval(ctr)+1;
			ctr = a.toString();
			textboxname = 'txt' + ctr;			
			var bodytext = "Enter Information: <CF_INPUT  type=text name=" + textboxname + " onfocus=dothis(this);><BR>";
			document.all("mainbody").innerHTML = document.all("mainbody").innerHTML + bodytext;
			
		}	*/	
	}
	
	function DisplayTip(messagetype,field,evt,scale)
	{
		var HTMLString;
		
		switch (messagetype)
		{
			case '0' :		
				// alphabets only	
				HTMLString = "<table cellpadding=1 cellspacing=0 class=tbclass><tr><td nowrap>&nbsp;Only characters allowed.&nbsp;</td></tr></table>";				
				//ShowTip(field, HTMLString);
				return checkalphaonly(evt,field);
				break;
			case '1' :
				// numeric only
				HTMLString = "<table cellpadding=1 cellspacing=0 class=tbclass><tr><td nowrap>&nbsp;Only numbers allowed.&nbsp;</td></tr></table>";
				//ShowTip(field, HTMLString);
				return checknumericonly(evt,field);
				break;
			case '2' :
				// phone type
				HTMLString = "<table cellpadding=1 cellspacing=0 class=tbclass><tr><td nowrap>&nbsp;Only numbers allowed.&nbsp;</td></tr></table>";
				//ShowTip(field, HTMLString);
				return checkphone(evt,field);
				break;				
			case '3' :
				// ssn type
				HTMLString = "<table cellpadding=1 cellspacing=0 class=tbclass><tr><td nowrap>&nbsp;Only numbers allowed.&nbsp;</td></tr></table>";
				//ShowTip(field, HTMLString);
				return checkssn(evt,field);
				break;		
			case '4' :
				// email type
				HTMLString = "<table cellpadding=1 cellspacing=0 class=tbclass><tr><td nowrap>&nbsp;Please enter in name@domain.ext format.&nbsp;</td></tr></table>";
				//ShowTip(field, HTMLString);
				return checkemail(evt,field);
				break;	
			case '5' :
				// date type
				HTMLString = "<table cellpadding=1 cellspacing=0 class=tbclass><tr><td nowrap>&nbsp;Please enter in MM/DD/YYYY format.&nbsp;</td></tr></table>";
				//ShowTip(field, HTMLString);
				return checkdate(evt,field);
				break;							
			case '6':
				// float type
				HTMLString = "<table cellpadding=1 cellspacing=0 class=tbclass><tr><td nowrap>&nbsp;Please enter in 9999.99 format.&nbsp;</td></tr></table>";
				//ShowTip(field, HTMLString);
				return checkfloat(evt,field,scale);
				break;						
			default:
				// custom or user defined types
				HTMLString = "<table cellpadding=1 cellspacing=0 class=tbclass><tr><td nowrap>&nbsp;"+messagetype+"&nbsp;</td></tr></table>";
				//ShowTip(field, HTMLString);
				break;
		}
		if ( arguments[4] != 0 )
			ShowTip(field, HTMLString);		
	}
	
	function ShowTip(field, HTMLString)
	{
		document.all("tip").innerHTML = HTMLString;		
		var rElement = field;
		var x = 0;
		var y = 0;
		var rParent;
		if(isValid(rParent)==false)
		{
			rParent = document.body;
		}
		while(isValid(rElement) && isValid(rElement.offsetParent) && rElement!=rParent)
		{
			x=x + rElement.offsetLeft;
			y=y + rElement.offsetTop;
			rElement = rElement.offsetParent;
		}										
		tooltip.left = x+1;
		tooltip.top = y+24;
		tooltip.visibility = 'visible';
	}
	
	function isValid(rItem)
	{
		return rItem!=null;
	}	

	function HideTip()
	{
		tooltip.visibility = 'hidden';
	}
	
	function checkalphaonly(evt, fldname)
	{
		character = evt.keyCode;		
			if ( character == 13)
				return true;
			if ( character >= 65 && character <= 90 )
			{
				return true;
			}
			if ( character >= 97 && character <= 122 )
			{
				return true;
			}	
			if (character == 32)
			{
				return true;	
			}
		return false;
	}
	
	function checknumericonly(evt, fldname)
	{
		character = evt.keyCode;				
		if ( character == 13)
			return true;
		if ( character >= 48 && character <= 57 ) 
		{
			return true;
		}				
		return false;		
	}
	
	function checkphone(evt, fldname)
	{		
		character = evt.keyCode;
		if ( character == 13)
			return true;		
		var str = fldname.value;				
		if ( character == 0 )
		{
			return true;
		}
		if ( character >= 48 && character <= 57 )
		{				
			if ( str.length == 3 || str.length == 7 )
			{
				fldname.value = str  +  '-' ;
			}
			return true;				
		}					
		return false;		
	}
	
	function checkssn(evt, fldname)
	{		
		character = evt.keyCode;
		if ( character == 13)
			return true;
		
		var str = fldname.value;		
		if ( character == 0 )
		{
			return true;
		}
		if ( character >= 48 && character <= 57 )
		{				
			if ( str.length == 3 || str.length == 6 )
			{
				fldname.value = str  +  '-' ;
			}
			return true;				
		}			
		return false;		
	}	

	function checkdate(evt, fldname)
	{
		character = evt.keyCode;
		if ( character == 13)
			return true;
		
		var str = fldname.value;		
		if ( character == 0 )
		{
			return true;
		}
		
		if ( str.length == 2 || str.length == 5 )
		{
			if ( character == 47 )
				return true;
			else
				return false;
		}				
		
		if ( character >= 48 && character <= 57 )
		{				
			return true;				
		}			
		return false;		
	}
	
	function checkemail(evt, fldname)
	{
		character = evt.keyCode;
		if ( character == 13)
			return true;
		
		var str = fldname.value;
		var searchforat = str.search('@');
		if ( searchforat != -1 && character == 64)
		{
			return false;
		}
		if (str == '@')
			return false;
			
		if ( str.length == 0 && character == 64)
		{
			return false;
		}				
		if ( character == 32)
		{
			return false;
		}
		return true;				
	}
	
	function checkfloat(evt, fldname, scale)
	{
		character = evt.keyCode;				
		if ( character == 13)
			return true;
		
		var str = fldname.value;
		var nlength = str.length;
		var foundat = -1;
		if ( scale > 0 )
		{
			for ( i = 0 ; i < nlength; i ++ )
			{
				if ( str.charCodeAt(i) == 46 )
				{
					foundat = i;
					break;
				}	
			}
			if ( foundat >= 0 )
			{
				if ( eval(nlength - foundat) > scale )
				{
					//alert(eval(nlength - foundat));
					return false;
				}
			}
		}	
		
		foundat = -1;			
		if ( character == 46 )
		{
			for ( i = 0 ; i < nlength; i ++ )
			{
				if ( str.charCodeAt(i) == character )
				{
					foundat = i;
					break;
				}	
			}
			if (foundat == -1 )
			{
				return true;
			}
		}		
		if ( character >= 48 && character <= 57 ) 
		{
			return true;
		}						
		return false;	
	}
	
	function checkvalues(formname)
	{
		for(j=0;j<formname.elements.length;j++)
		{
			var formObj=formname.elements[j];
			var Objname = formObj.name;
			var hObjname;
			//var fieldtype = Objname.charAt(0);			
			if (formObj.value == '' )
			{
				hObjname = 'r_' + Objname;		
				if ( formname[hObjname] != null )
				{
					alert( formname[hObjname].value );
					formObj.style.background='#D8C1A0';
					formObj.focus();
					return false;
				}
				hObjname = 'd_' + Objname;				
				if ( formname[hObjname] != null )
				{
					alert( formname[hObjname].value );
					formObj.style.background='#D8C1A0';
					formObj.focus();
					return false;
				}
				hObjname = 'e_' + Objname;				
				if ( formname[hObjname] != null )
				{
					alert( formname[hObjname].value );
					formObj.style.background='#D8C1A0';
					formObj.focus();
					return false;
				}
			}
			else
			{
				hObjname = 'e_' + Objname;				
				if ( formname[hObjname] != null )
				{
					var pattern = /^[\w\._-]+@[\w\._-]+(\.\w{2,3})$/;	
					var str = formObj.value;
					var result = pattern.test(str);
					if (result == false)
					{
						window.alert("The e-mail address must be in 'name@domain.ext' format.");					
						formObj.style.background='#D8C1A0';
						formObj.focus();
						return false;		
					}					
				}
			}
		}
		return true;
	}
	
function FP_openNewWindow(w,h,nav,loc,sts,menu,scroll,resize,name,url) {//v1.0
 var windowProperties=''; if(nav==false) windowProperties+='toolbar=no,'; else
  windowProperties+='toolbar=yes,'; if(loc==false) windowProperties+='location=no,'; 
 else windowProperties+='location=yes,'; if(sts==false) windowProperties+='status=no,';
 else windowProperties+='status=yes,'; if(menu==false) windowProperties+='menubar=no,';
 else windowProperties+='menubar=yes,'; if(scroll==false) windowProperties+='scrollbars=yes,';
 else windowProperties+='scrollbars=yes,'; if(resize==false) windowProperties+='resizable=no,';
 else windowProperties+='resizable=yes,'; if(w!="") windowProperties+='width='+w+',';
 if(h!="") windowProperties+='height='+h; if(windowProperties!="") { 
  if( windowProperties.charAt(windowProperties.length-1)==',') 
   windowProperties=windowProperties.substring(0,windowProperties.length-1); } 
 window.open(url,name,windowProperties);
}

function setTextareaMaxLength(ta, maxlen)
{
	if (ta.value.length > maxlen-1)
	{
		ta.value = ta.value.substr(0, maxlen-1);
	}
}
