	//-------------------------------------------------------------------
// getElementIndex(input_object)
//   Pass an input object, returns index in form.elements[] for the object
//   Returns -1 if error
//-------------------------------------------------------------------
function getElementIndex(obj) 
	{
	var theform = obj.form;
	for (var i=0; i<theform.elements.length; i++) 
		{
		if (obj.name == theform.elements[i].name) 
			{return i;}
		}
		
	return -1;
	}

// -------------------------------------------------------------------
// tabNext(input_object)
//   Pass an form input object. Will focus() the next field in the form
//   after the passed element.
//   a) Will not focus to hidden or disabled fields
//   b) If end of form is reached, it will loop to beginning
//   c) If it loops through and reaches the original field again without
//      finding a valid field to focus, it stops
// -------------------------------------------------------------------
function tabNext(obj) 
	{
	if (navigator.platform.toUpperCase().indexOf("SUNOS") != -1) 
		{obj.blur(); return; }

	var theform = obj.form;
	var i = getElementIndex(obj);
	var j=i+1;

	if (j >= theform.elements.length) 
		{ j=0; }
	if (i == -1) 
		{ return; }
		
	while (j != i) 
		{
		if ((theform.elements[j].type!="hidden") && 
		    (theform.elements[j].name != theform.elements[i].name) && 
			(!theform.elements[j].disabled)) 
			{
			theform.elements[j].focus();
			break;
			}
		
		j++;
		
		if (j >= theform.elements.length) 
			{ j=0; }
		}
	}

function jump(obj)
	{
	if(obj.value.length == obj.maxLength)
		{ tabNext(obj); }
	}
//======= Auto Tab Ends =========================================================================
//-------------------------------------------------------------------------------------------------
//---> Alltrim an Expression
//-------------------------------------------------------------------------------------------------

// Function trim : deletes the leading and ending blank spaces
function trim(strComp)
	{
	ltrim = /^\s+/
	rtrim = /\s+$/
	strComp = strComp.replace(ltrim,'');
	strComp = strComp.replace(rtrim,'');
	return strComp;
	}

//-------------------------------------------------------------------------------------------------
//---> Required Fields
//-------------------------------------------------------------------------------------------------

// Function to require fields
function isRequired(formObject, fieldDescription) 
	{
	var tempFormValue ;
	var strError ="";	
	var iFocus =-1;

	for (var i =0; i< isRequired.arguments.length;i=i+2)
	{
	if(typeof(isRequired.arguments[i]) == 'undefined')
		{
		//alert('IsRequired-Error: Parameter no.'+(i+1)+' is not an object.')
		return false;
		}
		
	tempFormValue =trim(isRequired.arguments[i].value);
	
	if (tempFormValue.length < 15)
		{deleteLoop = tempFormValue.length}
	else
		{deleteLoop = 15}
		for (var j = 0; j < deleteLoop; j++) 
			{tempFormValue = tempFormValue.replace(/ / , "");
		}

	if (tempFormValue.length == 0)
		{	
		strError = strError+ isRequired.arguments[i+1] + "\n"
		if (iFocus ==-1)
			iFocus = i;
		}
	}

	if (strError.length != 0){	
		alert( 'Following fields are required.\n\n' + strError)
		
		isRequired.arguments[iFocus].focus()
		return(false)
	}
	else
		return(true)
	}

function isRequired1(formObject, fieldDescription) 
	{
	var tempFormValue ;
	var strError ="";	
	
	for (var i =0; i< isRequired1.arguments.length;i=i+2)
	{
	if(typeof(isRequired1.arguments[i]) == 'undefined')
		{
			return false;
		}
		
	tempFormValue =trim(isRequired1.arguments[i].value);
	
	if (tempFormValue.length < 15)
		{deleteLoop = tempFormValue.length}
	else
		{deleteLoop = 15}
		for (var j = 0; j < deleteLoop; j++) 
			{tempFormValue = tempFormValue.replace(/ / , "");
		}

		if (tempFormValue.length == 0)
		{	
			strError = strError+ isRequired1.arguments[i+1] + "\n"
		}
	}

	if (strError.length != 0){	
		alert( 'Following fields are required.\n\n' + strError)
			return(false)
	}
	else
		return(true)
	}

//-------------------------------------------------------------------------------------------------
//---> Validate SElection boxes
//-------------------------------------------------------------------------------------------------

// validate the select 
function chkSel(obj,strMsg)
{
	var iFocus =-1;
	var strError="";

	for(var i=0;i<chkSel.arguments.length;i=i+2)
	{
			if(chkSel.arguments[i].value=="" || chkSel.arguments[i].value=="-1")
			{
				
				strError = strError+chkSel.arguments[i+1] + "\n"
					if (iFocus ==-1)
							iFocus = i;					

			}
	}
	if (strError.length != 0)
	{	
		alert( 'Following fields are required.\n\n' + strError);
		chkSel.arguments[iFocus].focus()
		return false;

	}
	else
		return true;

}

// Function isEmail: Validates if the value of 'IsItReal' is a valid email address
function isEmail(IsItReal)
	{
		if (IsItReal.value != "")
		{
			var valEmail = IsItReal.value;
			var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if(reg.test(valEmail))
				return true;
			else
			{
				alert('Invalid Email Address');
				IsItReal.focus();
				return false;
			}
		
		}
		else
		{
			alert('- Email Address is required.');
			IsItReal.focus();
			return false;
		}
			
	}

function isDate(IsItReal)
	{
		if (IsItReal.value != "")
		{
			var valDate = IsItReal.value;
			var reg = /^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((19|20)[0-9][0-9]+)$/;
			if(reg.test(valDate))
				return true;
			else
			{
				alert('Invalid Date Format\n\nPlease enter date in mm/dd/yyyy format, e.g."07/28/2006"')
				IsItReal.focus();
				IsItReal.select();
				return false;
			}
		}
		else
		{	
			return true;
		}
	}

function datecompare(date1,date2)
	{
		//datecompare function compare date1 >= date2 then true or false
		var datefrom;
		var dateto;

		datefrom = date1.split("/");
		dateto = date2.split("/");
		if (datefrom[2] < dateto[2])
		{	
			return false;
		}
		else 
		{
			if (datefrom[2] > dateto[2])
			{
				return true;
			}
			else
			{
				// year same then compare month
				if (datefrom[0] < dateto[0])
				{	
					return false;
				}
				else
				{
					if (datefrom[0] > dateto[0])
					{
						return true;
					}
					else
					{
						// month same then compare day
						if (datefrom[1] < dateto[1])
						{	
							return false;
						}
						else
						{
							/*if (datefrom[1] > dateto[1])
							{	
								return true;
							}
							else
							{
								return false;
							}*/
							return true;
						}
					}
				}
			}
		}
	}
	
function validatekey()
	{
		if((window.event.keyCode < 46) || (window.event.keyCode >57) || (window.event.keyCode == 47))
			window.event.keyCode=null;
	}
	
function noenter()
	{
		if(window.event.keyCode == 13)
			window.event.keyCode=null;
	}
	
function checknum(obj)
	{
		if (isNaN(obj.value))
		{
			alert("Please Enter Numeric Value!");
			obj.value="";
			obj.focus();
			
			//obj.select();
		}
	}
	
function isWholenum()
	{
	 
		if((window.event.keyCode < 48) || (window.event.keyCode >57))
		{
			//alert('Invalid Number!')
			window.event.keyCode=null;
		}
	}	
	
function checklen(obj,intlen)
	{
		if (obj.value.length>intlen)
		{
			alert("Total character should be less then " + intlen + "!");
			obj.focus();
		}
	}	
	
function isImage(obj)
	{
		if (obj.value.length>0)
		{
			if (obj.value.length>4)
			{
				var ext = obj.value.substring(obj.value.length-3,obj.value.length);
				if (ext == 'jpg' || ext == 'JPG' || ext == 'jpeg' || ext == 'JPEG' || ext == 'gif' || ext == 'GIF' || ext == 'png' || ext == 'PNG')
				{
					return true;
				}
				else
				{
					alert('Upload only .jpg,.gif or .png file!')
					obj.value="";
					obj.focus();
					obj.select();
					return false;
				}
			}
			else
			{
				alert('Upload only .jpg,.gif or .png file!')
				obj.value="";
				obj.focus();
				obj.select();
				return false;
			}
		}
	}
function isPhone(IsItReal,strErr)
	{

		if (IsItReal.value != "")
		{
			var valPhone = IsItReal.value;
			var reg = /^((\(\d{3,4}\)|\d{3,4}[-()])\d{4,9}([-()]\d{1,5}|\d{0}))|(\d{4,12})$/;
			if(reg.test(valPhone))
				return true;
			else
			{
				alert('Invalid Phone No!')
				IsItReal.focus();
				IsItReal.select();
				return false;
			}
		}
		else
		{	
			return true;
		}
	}
	
function isZip(IsItReal)
	{
		
		if (IsItReal.value != "")
		{
			var valZip = IsItReal.value;
			//var reg = /^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$/;
			var reg = /^\d{5}[- ]\d{4}|\d{5,6}$/;
			if(reg.test(valZip))
				return true;
			else
			{
				alert('Invalid Zip Code!')
				IsItReal.focus();
				IsItReal.select();
				return false;
			}
		}
		else
		{	
			return true;
		}
	}
function isBlank(obj,msg)
{
	if(obj.value == "")
	{
		alert(msg + " is Required.");
		obj.focus();
		return false;
	}
	else
	return true;
}