// JavaScript Document
	// Declaring required variables
	var digits = "0123456789";
	// non-digit characters which are allowed in phone numbers
	var phoneNumberDelimiters = "- ";
	// characters which are allowed in international phone numbers
	// (a leading + is OK)
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 10;
	
	function isInteger(s)
	{
		var i;
		for (i = 0; i < s.length; i++)
		{
		// Check that current character is number.
			var c = s.charAt(i);
			if (((c < "0") || (c > "9"))) return false;
		}
		// All characters are numbers.
		return true;
	}
	
	function stripCharsInBag(s, bag)
	{
		var i;
		var returnString = "";
	// Search through string's characters one by one.
	// If character is not in bag, append to returnString.
		for (i = 0; i < s.length; i++)
		{
		// Check that current character isn't whitespace.
			var c = s.charAt(i);
			if (bag.indexOf(c) == -1) returnString += c;
		}
		return returnString;
	}
	
	function isPhoneNumber(str)
	{
		var re = /^\(?\d{3}\)?\s|-\d{3}-\d{4}$/;
		return re.test(str);
	}
	
	function trim(strText) { 
		//alert("trim");
		 // this will get rid of leading spaces 
		 while (strText.substring(0,1) == ' ') 
			 strText = strText.substring(1, strText.length);
	
		 // this will get rid of trailing spaces 
		 while (strText.substring(strText.length-1,strText.length) == ' ')
			 strText = strText.substring(0, strText.length-1);
	
		return strText;
	} 
	
	function FieldRequired(field, Name){
		//alert("FieldRequired");
		//return false;
		//if(trim(field.value) == "" || trim(field.value) == "0"){
		if(trim(field.value) == ""){
			var strError = 'Please complete the ' + Name + ' field.';
			alert(strError);
			field.focus();
			return false;
		}
		return true;
	}
	
	function FieldRequiredNumber(field, Name){
		//alert("FieldRequired");
		//return false;
		if(trim(field.value) == "" || trim(field.value) == "0" || trim(field.value) == "00" || trim(field.value) == "0.0"){
			var strError = 'Please complete the ' + Name + ' field.';
			alert(strError);
			field.focus();
			return false;
		}
		return true;
	}
	
	function FieldRequiredNotFocus(field, Name)
	{
		//alert("FieldRequired '" + field.value + "'");
		//return false;
		if(trim(field.value) == "" || trim(field.value) == "0")
		{
			var strError = 'Please complete the ' + Name + ' field.';
			alert(strError);
			//document.forms[1].elements[0].focus();
			//field.focus();
			return false;
		}/**/
		return true;
	}
	
	function FieldRequiredSpecial(field, Name)
	{
		//alert("FieldRequired '" + field.value + "'");
		//return false;
		if(trim(field.value) == "" || trim(field.value) == "0" || trim(field.value) == "http://" || trim(field.value) == "ex. Daily 11am to 6pm" || trim(field.value) == "From the $XXXs" || trim(field.value) == "$000K")
		{
			var strError = 'Please complete the ' + Name + ' field.';
			alert(strError);
			field.focus();
			return false;
			return false;
		}
		return true;
	}
	
	function SelectRequired(field, Name, illegalValue){
	
		if(trim(field.options[field.selectedIndex].text) == illegalValue){
			
			var strError = 'Please select a proper value for ' + Name + '.';
			alert(strError);
			field.focus();
			return false;
		}
		return true;
	}
	
	function SelectRequiredMulti(field, Name){
		var NumSelected = 0
		for (var i = 0; i < field.length; i++)
		{
			if (field.options[i].selected)
			{
				NumSelected = NumSelected + 1;
			}
		}
		//alert("NumSelected = " + NumSelected);
		if (NumSelected == 0)
		{
			var strError = 'Please select a proper value for ' + Name + '.';
			alert(strError);
			field.focus();
			return false;
		}
		return true;

		//return true;
	}
	// general purpose function to see if a suspected numeric input
	// is a positive or negative number
	function isNumber(field, Name) 
	{
		oneDecimal = false;
		inputVal = field.value;
		inputStr = inputVal.toString();
		for (var i = 0; i < inputStr.length; i++) 
		{
			var oneChar = inputStr.charAt(i);
			if (i == 0 && oneChar == "-") 
			{
				continue;
			}
			if (oneChar == "." && !oneDecimal) 
			{
				oneDecimal = true;
				continue;
			}
			if (oneChar < "0" || oneChar > "9") 
			{
				var strError = 'Please enter a proper number for ' + Name + '.';
				alert(strError);
				field.focus();
				return false;
			}
		}
		return true;
	}
	function validDate(fld)
	{
		var testMo, testDay, testYr, inpMo, inpDay, inpYr, msg;
		var inp = fld.value;
		status = "";
		if(fld.value != "")
		{
			// attempt to create date object from input data
			var testDate = new Date(inp);
			// extract pieces from date object
			testMo = testDate.getMonth() + 1;
			testDay = testDate.getDate();
			testYr = testDate.getFullYear();
			// extract components of input data
			inpMo = parseInt(inp.substring(0, inp.indexOf("/")), 10);
			inpDay = parseInt(inp.substring((inp.indexOf("/") + 1),
			inp.lastIndexOf("/")), 10);
			inpYr = parseInt(inp.substring((inp.lastIndexOf("/") + 1),
			inp.length), 10);
			// make sure parseInt() succeeded on input components
			if (isNaN(inpMo) || isNaN(inpDay) || isNaN(inpYr))
			{
				msg = "There is some problem with your date entry.";
			}
			// make sure conversion to date object succeeded
			if (isNaN(testMo) || isNaN(testDay) || isNaN(testYr))
			{
				msg = "Couldn't convert your entry to a valid date. Try again.";
			}
			// make sure values match
			if (testMo != inpMo || testDay != inpDay || testYr != inpYr)
			{
				msg = "Check the range of your date value.";
			}
			if (msg)
			{
				// there's a message, so something failed
				alert(msg);
				// work around IE timing problem with alert by
				// invoking a focus/select function through setTimeout();
				// must pass along reference of fld (as string)
				setTimeout("doSelection(document.forms['" +
				fld.form.name + "'].elements['" + fld.name + "'])", 0);
				return false;
			}
			else
			{
				// everything's OK; if browser supports new date method,
				// show just date string in status bar
				//status = (testDate.toLocaleDateString) ?
				//testDate.toLocaleDateString() : "Date OK";
				return true;
			}
		}
		else
		{
		return true;
		}
	}
	// separate function to accommodate IE timing problem
	function doSelection(fld)
	{
		fld.focus();
		fld.select();
	}
	
