function moneyFormat(textObj) {
   var newValue = textObj.value;
   var decAmount = "";
   var dolAmount = "";
   var decFlag = false;
   var aChar = "";
   
   // ignore all but digits and decimal points.
   for(i=0; i < newValue.length; i++) {
      aChar = newValue.substring(i,i+1);
      if(aChar >= "0" && aChar <= "9") {
         if(decFlag) {
            decAmount = "" + decAmount + aChar;
         }
         else {
            dolAmount = "" + dolAmount + aChar;
         }
      }
      if(aChar == ".") {
         if(decFlag) {
            dolAmount = "";
            break;
         }
         decFlag=true;
      }
   }
   
   // Ensure that at least a zero appears for the dollar amount.

   if(dolAmount == "") {
      dolAmount = "0";
   }
   // Strip leading zeros.
   if(dolAmount.length > 1) {
      while(dolAmount.length > 1 && dolAmount.substring(0,1) == "0") {
         dolAmount = dolAmount.substring(1,dolAmount.length);
      }
   }
   
   // Round the decimal amount.
   if(decAmount.length > 2) {
      if(decAmount.substring(2,3) > "4") {
         decAmount = parseInt(decAmount.substring(0,2)) + 1;
         if(decAmount < 10) {
            decAmount = "0" + decAmount;
         }
         else {
            decAmount = "" + decAmount;
         }
      }
      else {
         decAmount = decAmount.substring(0,2);
      }
      if (decAmount == 100) {
         decAmount = "00";
         dolAmount = parseInt(dolAmount) + 1;
      }
   }
   
   // Pad right side of decAmount
   if(decAmount.length == 1) {
      decAmount = decAmount + "0";
   }
   if(decAmount.length == 0) {
      decAmount = decAmount + "00";
   }
   
   // Check for negative values and reset textObj
   if(newValue.substring(0,1) != '-' ||
         (dolAmount == "0" && decAmount == "00")) {
      textObj.value = dolAmount + "." + decAmount;

   }
   else{
      textObj.value = '-' + dolAmount + "." + decAmount;
   }
}

function empty(x)
{
	return x == '';
}

function numeric(x)
{
   var ValidChars = "0123456789";
   var numeric=true;
   var Char; 
   for (i = 0; i < x.length && numeric == true; i++) 
   { 
     Char = x.charAt(i); 
     if (ValidChars.indexOf(Char) == -1)	 
		 	numeric = false;		 
		}
   return numeric;   
}

function phone(x)
{
   var ValidChars = "0123456789()-";
   var numeric=true;
   var Char; 
   for (i = 0; i < x.length && numeric == true; i++) 
   { 
     Char = x.charAt(i); 
     if (ValidChars.indexOf(Char) == -1)	 
		 	numeric = false;		 
		}
   return numeric;   
}

	function email(x)
	{
	  email_regx = /^[^@]+@[^@]+.[a-z]{2,}$/i;
		return !(x.search(email_regx) == -1); 
	}

	// Trim all is to check for the validation of leading spaces in the text boxes--By Boopathi
	function trimAll( strValue ) 
	{
		var objRegExp = /^(\s*)$/;

		//check for all spaces
		if(objRegExp.test(strValue)) 
		{
			strValue = strValue.replace(objRegExp, '');
			if(strValue.length == 0)
				return strValue;
		}

		//check for leading & trailing spaces
		objRegExp = /^(\s*)([\W\0]*)(\b\s*$)/;
		if(objRegExp.test(strValue)) 
		{
			//remove leading and trailing whitespace characters
			strValue = strValue.replace(objRegExp, '$2');
		}

		return strValue;
	}

	//Function to check wheather the names having spaces in between them--By Boopathi
	function stripCharsInBag(s, bag)
	{
		var i;
		var returnString = true;
		for (i = 0; i < s.length; i++)
		{
			var c = s.charAt(i);
			if (bag.indexOf(c) == -1)
				returnString = false;
		}
		return returnString;
	}


	function validate_form()
	{
		$error_count = 0;

		/* validation start */	

		if(empty(trimAll(document.getElementById('first_name').value)))
		{		
			document.getElementById('fname_label').className = 'label_error';
			$error_count++;		
		}
		else
		{		
			document.getElementById('fname_label').className = 'label';
		}	
		var fname_label=document.getElementById('first_name').value;

		if(trimAll(fname_label)!="")
		{
			var rturnstring	=	stripCharsInBag(" ",fname_label);
			if(rturnstring==true)
			{
				document.getElementById('fname_label').className = 'label_error';
				$error_count++;	
			}
			else
			{
				document.getElementById('fname_label').className = 'label';	
			}
		}

		if(empty(trimAll(document.getElementById('last_name').value)))
		{		
			document.getElementById('lname_label').className = 'label_error';
			$error_count++;		
		}	
		else
		{		
			document.getElementById('lname_label').className = 'label';
		}	
		var lname_label=document.getElementById('last_name').value;

		if(trimAll(lname_label)!="")
		{
			var rturnstring	=	stripCharsInBag(" ",lname_label);
			if(rturnstring==true)
			{
				document.getElementById('lname_label').className = 'label_error';
				$error_count++;	
			}
			else
			{
				document.getElementById('fname_label').className = 'label';	
			}
		}

		if(empty(trimAll(document.getElementById('phone').value)))
		{		
			document.getElementById('phone_label').className = 'label_error';
			$error_count++;		
		}	

		else if(!phone(document.getElementById('phone').value))
		{		
			document.getElementById('phone_label').className = 'label_error';
			$error_count++;		
		}		

		else
		{		
		document.getElementById('phone_label').className = 'label';
		}	

		if(empty(trimAll(document.getElementById('email').value)))
		{		
			document.getElementById('email_label').className = 'label_error';
			$error_count++;		
		}	

		else if(!email(document.getElementById('email').value))
		{
			document.getElementById('email_label').className = 'label_error';
			$error_count++;
		}
		else
		{		
			document.getElementById('email_label').className = 'label';
		}	

		if(empty(trimAll(document.getElementById('zip').value)))
		{
			document.getElementById('zip_label').className = 'label_error';
			$error_count++;
		}

		else if(!numeric(document.getElementById('zip').value))
		{
			document.getElementById('zip_label').className = 'label_error';
			$error_count++;
		}	

		else if(document.getElementById('zip').value.length != 5)
		{
			document.getElementById('zip_label').className = 'label_error';
			$error_count++;
		}	

		else
		{		
			document.getElementById('zip_label').className = 'label';
		}	

		if(empty(trimAll(document.getElementById('amount_desired').value)))
		{
			document.getElementById('amount_label').className = 'label_error';
			$error_count++;
		}

		else if(document.getElementById('amount_desired').value == '0.00')
		{
			document.getElementById('amount_label').className = 'label_error';
			$error_count++;
		}	

		else
		{		
			document.getElementById('amount_label').className = 'label';
		}		

		if(document.starthereForm.agree.checked != 1)
		{		
			document.getElementById('agree_label').className = 'label_error';
			$error_count++;		
		}	
		else
		{		
			document.getElementById('agree_label').className = 'label';
		}	

		if($error_count > 0)
		{
			alert('You have either left one or more of the form fields blank, or have entered an incorrect value\n(ie:name with spaces, invalid Email address, zero dollar amount, non-numeric phone number and/or zip code, etc.).\nPlease make the necessary corrections before continuing.');

		}
		else
		{
			document.getElementById('starthereForm').submit();	
		}
	}


	//Enetr key validation for start here form--By Boopathi
	function enterkeyforstarthere(e,formname)
	{
		if(e.keyCode==13)
		{
			if (navigator.appName=="Netscape")
			{
				e.preventDefault();
			}
			else
				e.keyCode=0;
			validate_form();
		}
	}