// Validation Javascripts

	String.prototype.trim = function ()
	{
		return this.replace(/^\s*/, "").replace(/\s*$/, "");
	}
	function validEmail(email)
	{
		var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
		return re.test(email);
	}
	function validNumberString (inValue, inLength)
	{
		return ((inValue != "") && (inValue.length == inLength) && (validNumber (inValue)));
	}
	function validNumber(inValue)
	{
		var anum=/(^\d+$)|(^\d+\.\d+$)/
		return (anum.test(inValue));
	}
	function isNum(passedVal) {
		if (passedVal == "") {
			return false;
		}
		for (var k=0; k<passedVal.length; k++) {
			if (passedVal.charAt(k) < "0") {
				return false;
			}
			if (passedVal.charAt(k) > "9") {
				return false;
			}
		}
		return true;
	}
	function validZip(inZip)
	{
		if (inZip == "")
		{
			return false;
		}
		if (inZip.length == 5)
		{
			return (isNum(inZip));
		}
		if (inZip.length != 10)
		{
			return false;
		}
		if (inZip.charAt(5) != "-") {
			return false;
		}
		return (isNum(inZip.slice (6)));
	}
	function validImage(inFileName)
	{
		fn = inFileName.toLowerCase();
		sLen = fn.length;
		
		return (sLen > 4) && (fn.substring(sLen-4, sLen) == ".jpg" || fn.substring(sLen-4, sLen) == "jpeg" || fn.substring(sLen-4, sLen) == ".gif");
	}
	function normalizeName(inName)	// Capitalize the words in 1 or 2-word names
	{
		// need to specially handle embedded ' and -
		newName = "";

		if (inName != "" && inName != " " && inName != "  ")
		{
//			if ((inName.indexOf(' ') != -1) || (inName.indexOf('.') >= 0))
			if (inName.indexOf(' ') != -1)
			{
				re = /^(\S)(\S+)\s(\S)(\S+)$/;
				re.exec(inName);
				newName = RegExp.$1.toUpperCase() + RegExp.$2.toLowerCase() + " " + RegExp.$3.toUpperCase() + RegExp.$4.toLowerCase();
			}
			else
			{
				re = /^(\S)(\S+)$/;
				re.exec(inName);
				newName = RegExp.$1.toUpperCase() + RegExp.$2.toLowerCase();
			}
			if (newName.indexOf('-') != -1)
			{
				re = /^(\S)(\S+)-(\S)(\S+)$/;
				re.exec(newName);
				newName = RegExp.$1.toUpperCase() + RegExp.$2.toLowerCase() + "-" + RegExp.$3.toUpperCase() + RegExp.$4.toLowerCase();
			}
			if (newName.indexOf("'") == 1)
			{
				re = /^(\S)'(\S)(\S+)$/;
				re.exec(newName);
				newName = RegExp.$1.toUpperCase() + "'" + RegExp.$2.toUpperCase() + RegExp.$3.toLowerCase();
			}
			else if (newName.indexOf("'") > 1)
			{
				re = /^(\S)(\S+)'(\S)(\S+)$/;
				re.exec(newName);
				newName = RegExp.$1.toUpperCase() + RegExp.$2.toLowerCase() + "'" + RegExp.$3.toUpperCase() + RegExp.$4.toLowerCase();
			}
		}
		return newName;
	}

	function validTime(inElementName, inHrs, inMins)
	{
		if (inHrs == "" || inMins == "")
		{
			alert ("You must enter a valid " + inElementName + " (hours and minutes)");
			return false;
		}
		return true;
	}

	/**--------------------------
	//* Validate Date Field script- By JavaScriptKit.com
	//* For this script and 100s more, visit http://www.javascriptkit.com
	//* This notice must stay intact for usage
	---------------------------**/
	
	function validDate(inDate, inName)
	{
		var validformat=/^\d{2}\/\d{2}\/\d{4}$/ 	// Basic check for format validity
		var returnval=false;

		if (inDate == "")
		{
			alert("Missing Date in " + inName + ".")
			return false;
		}
		
		if (!validformat.test(inDate))
		{
			alert("Invalid Date Format in " + inName + ". Please correct to mm/dd/yyyy and submit again.")
		}
		else
		{ 	// Detailed check for valid date ranges
			var monthfield=inDate.split("/")[0]

			var dayfield=inDate.split("/")[1]
			var yearfield=inDate.split("/")[2]
			var dayobj = new Date(yearfield, monthfield-1, dayfield)
			if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
			{
				alert("Invalid Day, Month, or Year range detected in " + inName + ". Please correct to mm/dd/yyyy and submit again.")
			}
			else
			{
				returnval=true
			}
		}

		return returnval
	}

	function getArgs()
	{
		var args = new Object();
		// Get Query String
		var query = location.search.substring(1);
		// Split query at the delimiter 
		var pairs = query.split("&");
		// Begin loop through the querystring 
		for(var i = 0; i < pairs.length; i++)
		{ 
			// Look for "name=value" 
			var pos = pairs[i].indexOf('='); 
			// if not found, skip to next
			if (pos == -1)
				continue; 
			// Extract the name 
			var argname = pairs[i].substring(0,pos);
			// Extract the value 
			var value = pairs[i].substring(pos+1);
			// Store as a property 
			args[argname] = unescape(value);
		}
		return args; // Return the Object
	}







