function validateForm(document){
	if (validateRequired(document.getElementById("name")) == false){
		alert("Please provide a contact name");
		return false;
	}

	if (document.getElementById("address") != null && validateRequired(document.getElementById("address")) == false){
		alert("Please provide your Address");
		return false;
	}
	
	if (document.getElementById("suburb") != null && validateRequired(document.getElementById("suburb")) == false){
		alert("Please provide your Suburb");
		return false;
	}

	if (document.getElementById("postcode") != null && validateRequired(document.getElementById("postcode")) == false){
		alert("Please provide your Postcode");
		return false;
	}

	if (validateRequired(document.getElementById("telephone")) == false){
		alert("Please provide your contact Telephone number");
		return false;
	}

	if (validateRequired(document.getElementById("email")) == false){
		alert("Please provide an Email address");
		return false;
	}

	if ((document.getElementById("day") != null && validateRequired(document.getElementById("day")) == false) ||
			(document.getElementById("month") != null && validateRequired(document.getElementById("month")) == false) ||
			(document.getElementById("year") != null && validateRequired(document.getElementById("year")) == false)){
		alert("Please provide a valid date");
		return false;
	}

	if (document.getElementById("time") != null && validateRequired(document.getElementById("time")) == false){
		alert("Please provide a valid time");
		return false;
	}

	return true;
}

function validateRequired(field){
	with (field){
		if (value==null||value==""){
			return false;
		}
		else{
			return true;
		}
	}
}

function limitText(field, limitNum) {
	var limitField = document.getElementById(field);
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	}
}

function limitTextWithCountdown(field, limitCount, limitNum) {
	var limitField = document.getElementById(field);
//	alert(limitField + ":" + field + ":" + limitCount + ":" + limitNum);
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

// call by adding  onkeyup="validAlphaNumeric(this, false);" to html element
// false = no spaces      true = spaces allowed
function validAlphaNumeric(field, allowSpace){
	if(allowSpace){
		var regex=/^[0-9a-zA-Z\s]*$/;
	}else{
		var regex=/^[0-9a-zA-Z]*$/;
	}

	if(!regex.test(field.value)){
		var result = "";
		// capture those copy and paste people
		for(var i = 0; i < field.value.length; i++){
			var charX = field.value.charAt(i);
			if(regex.test(charX)){
				result = result + charX;
			}
		}
		field.value = result;
	} 
}

//call by adding  onkeyup="validAlphaNumeric(this, false);" to html element
//false = no spaces      true = spaces allowed
function validNumeric(field){
	var regex=/^[0-9]*$/;

	if(!regex.test(field.value)){
		var result = "";
		// capture those copy and paste people
		for(var i = 0; i < field.value.length; i++){
			var charX = field.value.charAt(i);
			if(regex.test(charX)){
				result = result + charX;
			}
		}
		field.value = result;
	} 
}

function textCounter(field, countfield, maxlimit) {
    if (field.value.length > maxlimit) // if too long...trim it!
        field.value = field.value.substring(0, maxlimit);
        // otherwise, update 'characters left' counter
    else
        countfield.value = maxlimit - field.value.length;
}

function setOnFocusBackground(field){
	field.style.backgroundColor='#ffffff';
	field.style.color='#007CB2';
}

function toggleVisibility(id) {
	alert(id);
    var e = document.getElementById(id);
    if(e.style.display == 'block')
       e.style.display = 'none';
    else
       e.style.display = 'block';
}

function showMessage(id, alertMessage){
	var browser=navigator.appName;
	var message = document.getElementsByName(id);
	for (var i = 0; i < message.length; i++){
		message[i].style.visibility = "visible";
	}
	if (browser == "Microsoft Internet Explorer"){
		alert(alertMessage);
	}
}

function comboChangeValue(combo, hiddenFieldName, associatedButton){
	var value = combo.value;

	var button = document.getElementsByName(associatedButton);

	if( !button) {
		window.alert('Please use the latest W3C Compliant browser. Thank you.');
		return; //don't go any further
	}
	
	if (value > 0){
		hiddenField = document.getElementById(hiddenFieldName);
		hiddenField.value = value;
		for (var i = 0; i < button.length; i++){
			button[i].style.visibility = "visible";
		}
	} else{
		for (var i = 0; i < button.length; i++){
			button[i].style.visibility = "hidden";
		}
	}
}

function setLostFocusBackground(field){
	field.style.backgroundColor='#007CB2';
	field.style.color='#ffffff';
}

function getCheckboxCheckedValues(checkObj) {
	if(!checkObj)
		return "";
	var checkLength = checkObj.length;
	if(checkLength == undefined){
		if(checkObj.checked){
			return checkObj.value;
		} else{
			return "";
		}
	}
	
	var values = "";
	for(var i = 0; i < checkLength; i++) {
		if(checkObj[i].checked) {
//			alert(checkObj[i].value);
			values += checkObj[i].value + ",";
		}
	}
//	alert(values.substring(0, values.length - 1));
	return values.substring(0, values.length - 1);
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getRadioCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

//set the radio button with the given value as being checked
//do nothing if there are no radio buttons
//if the given value does not exist, all the radio buttons
//are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

