		
	function is_email(sText) {
		var checkemail = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (checkemail.test(sText)) {
			return true;
		} else {
			return false;
		}
	}
	
	function no_empty(sText) {
		if (sText == null || sText == 'undefined' || sText == '') return false; 
		return true;
	}

	function no_space(sText) {
		var ValidChars = ' ';
		var IsValid = true;
		var Char;
		for (i = 0; i < sText.length && IsValid == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
			} else {
				IsValid = false;
			}
		}
		return true;
	}
	
	function is_numeric(sText) {
		var ValidChars = '0123456789.';
		var IsValid = true;
		var DotCount = 0;
		var Char;
		for (i = 0; i < sText.length && IsValid == true; i++) { 
			Char = sText.charAt(i);
			if (Char == '.') DotCount++; 
			if (DotCount > 1) return false;
			if (ValidChars.indexOf(Char) == -1) {
				return false;
			}
			
		}
		return true;
	}

	function is_alpha(sText) {
		var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
		var IsValid = true;
		var Char;
		for (i = 0; i < sText.length && IsValid == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				return false;
			}
		}
	
		return true;	
	}
	
	function is_alphanumeric(sText) {
		var ValidChars = "0123456789.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
		var IsValid = true;
		var Char;
		for (i = 0; i < sText.length && IsValid == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				return false;
			}
		}
		return true;	
	}
	 
	function is_currency(sText) {		
		var nNum = 0;			// Total numbers for currency value.
		var nDollarSign = 0;	// Total times a dollar sign occurs.
		var nDecimal = 0;		// Total times a decimal point occurs.
		var nCommas = 0;		// Total times a comma occurs.
		var txtLen;				// Length of string passed.
		var xTxt;				// Assigned object passed.
		var sDollarVal;			// Assigned dollar amount with or without commas.
		var bComma;				
		var decPos;				// Assigned value of numbers or positions after decimal point.
		var nNumCount = 0;		// Total number between commas.
		var i;					// For forloop indexing.
		var x;					// Assigned each indivual character in string.
		// Set the xTxt variable to the object passed to this function.
		// Assign the length of the string to txtLen.
		txtLen = sText.length;
		for(i = 0; i < txtLen; i++)	{
			// Assign charater in substring to x.
			x = sText.substr(i, 1);
			if(x == "$")
				nDollarSign = nDollarSign + 1; // Sum total times dollar sign occurs.
			else if(x == ".")
				nDecimal = nDecimal + 1; // Sum total times decimal point occurs.
			else if(x == ",")
				nCommas = nCommas + 1; // Sum total times comma occurs.
			else if(parseInt(x) >= 0 || parseInt(x) <= 9)
				nNum = nNum + 1; // If the character is a number sum total times a number occurs.
			else {
				// Error occurs if any other character value is in the string
				// there then the valid characters.
				//alert("ERROR! \n\nYou have entered an illegal value!\nPlease enter only: Dollar"+" Signs, Commas, Decimal Points, and numbers between 0...9!");
				return false;
			} // end else
		} // end for
			//alert('is_currency');
		if(nDollarSign > 1)	{
			//alert("ERROR! \n\nYou have entered more then one dollar sign!\nPlease only enter one!");
			return false;
		} // end if
		if(nDecimal > 1) {
			//alert("ERROR! \n\nYou have entered more then one decimal point!\nPlease only enter one!");
			return false;
		} // end if
		if(nDollarSign == 1) {
			// Make sure dollar sign in the first character in string
			// if there is a dollar sign present.
			if(sText.indexOf("$") != 0) {
				//alert("ERROR!  \n\nThe dollar sign you entered is not in the correct position!");
				return false;
			} // end if
		} // end if
		if(nDecimal == 1) {
			// Get the number of numbers after the decimal point in
			// the string if there is a decimal point present
			decPos = (txtLen - 1) - sText.indexOf(".");
			// Floating point cannot be more then two.
			// Valid format after decimal point.
			/**********************************/
			/*   $#.##, $#.#, $.#, $#., $.##  */
			/**********************************/
			if(decPos > 2) {
				//alert("ERROR! \n\nThe decimal point you entered is not in the correct position!");
				return false;
			} // end if
		} // end if
		if(nCommas == 0) {
			// If no commas are present value is a valid US
			// currency.
			return true;
		} else {
			// Get total number of dollar number(s), removing
			// floating point numbers or cents.
			nNum = nNum - decPos;
			// Determine if dollar sign is in string so to be 
			// removed.
			// After determining dollar sign, assign sDollarVal
			// numbers and comma(s)
			if(sText.indexOf("$", 0) == 0)
				sDollarVal = sText.substr(1, (nNum + nCommas));
			else
				sDollarVal = sText.substr(0, (nNum + nCommas));
			// Determine if a zero is the first number or if a
			// comma is the first or last character in the string.
			if(sDollarVal.lastIndexOf("0", 0) == 0 ) {
				//alert("ERROR! \n\nYou cannot start the dollar amount out with a zero!");
				return false;
			} else if(sDollarVal.lastIndexOf(",", 0) == 0) {
				//alert("ERROR! \n\nYou cannot start the dollar amount out with a comma!");
				return false;
			} else if(sDollarVal.indexOf(",", (sDollarVal.length - 1)) == (sDollarVal.length - 1)) {
				//alert("ERROR! \n\nYou cannot end the dollar amount with a comma!");
				return false;
			} else {
				// Initialize bComma indicating a comma has not been
				// occured yet.
				bComma = false;
				for(i = 0; i < sDollarVal.length; i++) {
					// Assign charater in substring to x.
					x = sDollarVal.substr(i, 1);
					if(parseInt(x) >= 0 || parseInt(x) <= 9) {
						// If x is a number add one to the number counter.
						nNumCount = nNumCount + 1;
						// Sense comma(s) are present number counter cannot
						// be more then three before the first or next comma.
						if(nNumCount > 3) {
							//alert("ERROR! \n\nYou have a mis-placed comma!");
							return false;
						} // end if
					} else {
						// If the number counter is less then three and
						// the comma indicator is true the comma is either
						// mis-placed or there are not enough values.
						if(nNumCount != 3 && bComma) {
							//alert("ERROR! \n\nYou have a mis-placed comma!");
							return false;
						} // end if
						// Reset the number counter back to zero.
						nNumCount = 0;
						// Set the comma indicator to true indicating
						// that the first comma has been found and that
						// there now MUST be three numbers after each
						// comma until the loop hits the end.
						bComma = true;
					} // end if
				} // end for
				// Determine if after the loop ended that there
				// was a total of three final numbers after the
				// last comma.
				if(nNumCount != 3 && bComma) {
					//alert("ERROR! \n\nYou have a mis-placed comma!");
					return false;
				} // end if
			} // end if
		} // end if
		// Return true indicating that the value is a valid
		// currency.
		return true;	
	}
	
	function is_date(year, month, day) {
		month = month - 1; // javascript month range 0 - 11
		var tempDate = new Date(year,month,day);
		if((year == tempDate.getFullYear()) && (month == tempDate.getMonth()) && (day == tempDate.getDate())) {
			return true;
		} else {
			return false;
		}
	}
	 
	function min_length(sText, minlength) {
		if(sText.length >= minlength) {
			return true;
		} else {
			return false;
		}
	}
	
	function max_length(sText, maxlength) {
		if(sText.length <= maxlength) {
			return true;
		} else {
			return false;
		}
	}
	
	function show_form_error(id, msg) {
		document.getElementById(id+'_error').innerHTML = msg_start+msg+msg_end; 
	}
	
