// JavaScript Document
function validEmpty(formField)
{
	var result = false;
	
	if (formField.value == "")
	{
		result = true;
	}
	
	return result;
}

function validRequired(formField,fieldLabel,endString)
{
	var result = "";
	
	if (formField.value == "")
	{
//		alert('Please enter a value for the "' + fieldLabel +'" field.');
//		formField.focus();
		result = fieldLabel + " - is blank, please enter a value" + endString;
	}
	
	return result;
}

function validOneSelected(formField,fieldLabel,endString)
{
	var result = "";
	var bSelected = false;

	for (var i = 0; i < formField.length; i++) {
		if (formField[i].checked == true) {
			bSelected = true;
			break;
		}
	}
	
	if (!bSelected)
		result = fieldLabel + " - please select at least one" + endString;
		
	return result;
}

function validChecked(formField,fieldLabel,endString)
{
	var result = "";
	
	if (formField.checked == false)
	{
//		alert('Please enter a value for the "' + fieldLabel +'" field.');
//		formField.focus();
		result = fieldLabel + " - is blank, please check this box" + endString;;
	}
	
	return result;
}

function allDecimalDigits(str)
{
	return inValidCharSet(str,"0123456789.");
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}


function validNum(formField,fieldLabel,required,endString)
{
	var result = "";

	if (required) {
		result = validRequired(formField, fieldLabel, endString);
	}		
  
 	if (result == "")
 	{

		if (formField.value.charAt(0) == "-") {
			var trimmedFldVal = formField.value.substr(1);
		} else {
			var trimmedFldVal = formField.value;
		}

 		if (!allDecimalDigits(trimmedFldVal))
 		{
			result = fieldLabel + " - invalid as a numeric value" + endString;
		}
	} 
	
	return result;
}


function validInt(formField,fieldLabel,required,endString)
{
	var result = true;
	var result = "";

	if (required) {
		result = validRequired(formField, fieldLabel, endString);
	}

 	if (result == "")
 	{
 		var num = parseInt(formField.value, 10);
 		if (isNaN(num))
 		{
			result = fieldLabel + " - invalid as a numeric value" + endString;
		} else {
			if (formField.value.charAt(0) == "-") {
				var trimmedFldVal = formField.value.substr(1);
			} else {
				var trimmedFldVal = formField.value;
			}
		
 			if (!allDigits(trimmedFldVal))
 			{
				result = fieldLabel + " - please enter a whole number" + endString;
			}		
		}
	} 

	return result;
}

function validEmail(formField,fieldLabel,required,endString) {
	var result = "";

	if (document.layers||document.getElementById||document.all) {

		var str=formField.value;
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(str)) {
				result = ""
		} else {
			if (required) {
				if (str == "") {
					result = fieldLabel + " - is blank, please enter a value" + endString;
				} else {
					result = fieldLabel + " - invalid email address" + endString;
				}
			} else {
				if (str == "") {
					result = "";
				} else {
					result = fieldLabel + " - invalid email address" + endString;
				}
			}
		}

	} else {
		if (required)
			result = validRequired(formField,fieldLabel,endString);
	}

	return result;
}

function validUnique(aryFormFields,aryFieldLabels,endString)
{
	var result = "";
	var fldVal = "";
	var bErr = false;
	
	for (var i = 0; i < aryFormFields.length; i++) {
		fldVal = aryFormFields[i].value;
		if (fldVal != "") {
			for (var x = 0; x < aryFormFields.length; x++) {
				if (x != i) {
					if (fldVal == aryFormFields[x].value) {
						bErr = true
						result = aryFieldLabels[i] + " and " + aryFieldLabels[x] + " - are the same, please make them different" + endString;
						break;
					}
				}
			}
		}
		
		if (bErr)
			break;
	}
	
	return result;	
}

function validSame(formField1,formField2,fieldLabel1,fieldLabel2,required)
{
	var result = true;

	if (required && !validRequired(formField1,fieldLabel1))
		result = false;

	if (required && !validRequired(formField2,fieldLabel2))
		result = false;
  
 	if (result)
 	{
		if (formField1.value != formField2.value) {
			alert('Please enter "' + fieldLabel1 +'" and "' + fieldLabel2 + '" fields the same.');
			formField1.focus();
			result = false;
		}
	} 
	
	return result;
}

function addHTTPHTTPS(slink) {
	slink = slink.toLowerCase();
	if (slink.indexOf("https://") < 0 && slink.indexOf("http://") < 0) {
		slink = "http://" + slink;
	}
	
	return slink;
}

