// AJAX function check
function getXmlHttpRequestObject() {
	try {
		return new XMLHttpRequest();
	} catch(e1) {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e2) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e3) {
				alert('Sorry, this browser doesn\'t support XmlHttpRequestObject() functions. Try using a newer browser.');
			}
		}
	}
}
function NoCache() {
	return (Math.random() * Math.random() * Math.random()) * 100000;	
}

function AutoSave(objItem) {
	if (autoSaveAJAX.readyState == 4 || autoSaveAJAX.readyState == 0) {
		autoSaveAJAX.open("GET", 'includes/autosave.cfm?field='+objItem.name+'&value='+objItem.value+'&nocache='+NoCache(), true);
		autoSaveAJAX.onreadystatechange = AutoSaveStatus;
		autoSaveAJAX.send(null);
	}
}
function AutoSaveStatus() {
	if (autoSaveAJAX.readyState == 4) document.getElementById('autoSaveId').innerHTML = autoSaveAJAX.responseText;
}
var autoSaveAJAX = getXmlHttpRequestObject();

function ValidateContactUsForm(objForm) {
	if (objForm.contact_name.value.length == 0) {
		alert('Please fill in your Contact Name.');
		return false;
	}
	if (objForm.email.value.length == 0 && objForm.subscribe.checked) {
		alert('Please fill in your E-Mail Address if you wish to subscribe to the ARM Newsletter.');
		return false;
	}
	if (objForm.email.value.length == 0 && objForm.office_number.value.length == 0 && objForm.mobile_number.value.length == 0) {
		alert('Please fill in your E-Mail Address, Office or Mobile Number.');
		return false;	
	}
	PreferredMethodChecked = false;
	for (i = 0; i < objForm.preferred_method.length; i++) {
		if (objForm.preferred_method[i].checked) PreferredMethodChecked = true;
	}
	if (!PreferredMethodChecked) {
		alert('Please fill select at least one preference for correspondence.');
		return false;
	}
	if (objForm.preferred_method[0].checked && objForm.email.value.length == 0) {
		alert('Please fill in your E-Mail Address if you prefer to be contacted in this manner.');
		return false;
	}
	if (objForm.preferred_method[1].checked && objForm.office_number.value.length == 0) {
		alert('Please fill in your Office Number if you prefer to be contacted in this manner.');
		return false;
	}
	if (objForm.preferred_method[2].checked && objForm.mobile_number.value.length == 0) {
		alert('Please fill in your Mobile Number if you prefer to be contacted in this manner.');
		return false;
	}
	objForm.message.value = objForm.message.value.substring(0,4000);
	if (objForm.message.value.length == 0) {
		alert('Please fill in your Message.');
		return false;
	}
}

function ValidateSearchForm(objForm) {
	if (objForm.keyword.value.length == 0) {
		alert('Please enter at least one keyword.');
		return false;
	}
	objForm.action = 'index.cfm?page=search&k='+objForm.keyword.value;
}

function FocusOnField(id) {
	document.getElementById(id).focus();	
}

function ToggleAdminControls(objItem,id,toggle) {
	controlButtonsId = 'adminControlButtons_'+id;
	if (toggle) {
		objItem.className = 'adminHighlightDIVon';
		document.getElementById(controlButtonsId).style.display = '';
	} else {
		objItem.className = '';
		document.getElementById(controlButtonsId).style.display = 'none';
	}
}

function Editor(id) {
	window.location = 'admin/editor/index.cfm?id='+id;
}

function switchImage(objItem,toggle) {
	if (objItem.src.search(/_on/i)) {
		
			objItem.src.replace(/_on/i, "_off");

	} else {
		
			objItem.src.replace(/_off/i, "_on");
		
	}
}

function CheckField(objItem) {
	if (objItem.getAttribute('required') == 'true') {
		if (objItem.type == 'checkbox' || objItem.type == 'radio') {
			alert(objItem.name);
		} else {
			if (objItem.value.length == 0) {
				objItem.style.backgroundColor = '#FFFF99';
			} else {
				objItem.style.backgroundColor = '#FFFFFF';
			}
		}
	}
}

function ValidateQuoteForm(objForm) {
	var MissingFields = '';
	var InvalidFields = '';
	for (i=0; i < objForm.length; i++) {
		if (objForm[i].getAttribute('required') == 'true') {
			objForm[i].style.backgroundColor = '#FFFFFF';
			if (objForm[i].type == 'checkbox' || objForm[i].type == 'radio') {
				alert(objForm[i].name);
			} else {
				if (objForm[i].value.length == 0) {
					objForm[i].style.backgroundColor = '#FFFF99';
					if (objForm[i].title) {
						MissingFields = MissingFields + '\n- ' + objForm[i].title;
					} else {
						MissingFields = MissingFields + '\n- ' + objForm[i].name;
					}
				} else if (objForm[i].name == 'email') {
					// REGEX for valid e-mail address
					var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
					if (!re.test(objForm[i].value)) {
						objForm[i].style.backgroundColor = '#ADFF2F';
						if (objForm[i].title) {
							InvalidFields = InvalidFields + '\n- ' + objForm[i].title;
						} else {
							InvalidFields = InvalidFields + '\n- ' + objForm[i].name;
						}
					}
				}
			}
		}
	}
	if (MissingFields.length > 0) {
		alert('Sorry, the following field(s) are required in order to submit:' + MissingFields);
		return false;
	}
	if (InvalidFields.length > 0) {
		alert('Sorry, the following field(s) are invalid:' + InvalidFields);
		return false;
	}
}

