function displayLinksMenu() {
	document.getElementById("linksMenu").style.display = "block";
}
function hideLinksMenu() {
	document.getElementById("linksMenu").style.display = "none";
}

function changeFieldStatus(element, valueArr, fieldsArr, status, action) {
	var value;
	switch(element.nodeName.toUpperCase()) {
		case 'SELECT': {
			value = element.options[element.selectedIndex].value;
			break;
		}
		case 'INPUT': {
			switch(element.type.toUpperCase()) {
				case 'text': {
					value = element.value;
					break;
				}
			}
		}
	}
}

function readXML(response, xml, classObj, e) {
	if(xml.firstChild) {
		if(xml.firstChild.firstChild) {
			returnValNode = xml.firstChild.firstChild;
			if(returnValNode.textContent)
				returnVal = returnValNode.textContent;
			else
				returnVal = returnValNode.text;
			if(returnVal == 1) {
				contentsNode = xml.firstChild.getElementsByTagName('contents')[0];
				for(i=0;i<contentsNode.childNodes.length;i++) {
					ulElementName = contentsNode.childNodes[i].nodeName + "Ul";
					$(ulElementName).innerHTML='';

					elementsNode = contentsNode.childNodes[i];
					for(j=0;j<elementsNode.childNodes.length;j++) {
						if(elementsNode.childNodes[j].textContent) {
							elementId = elementsNode.childNodes[j].textContent + "Li";
							var xmlSerializer = new XMLSerializer();
							elementContents = xmlSerializer.serializeToString(elementsNode.childNodes[j]);
						} else {
							elementId = elementsNode.childNodes[j].text + "Li";
							elementContents = elementsNode.childNodes[j].xml;
						}
						if(elementsNode.childNodes[j].getAttribute("className") != null) {
							className = elementsNode.childNodes[j].attributes.getNamedItem("className").value;
						} else {
							className = "";
						}
						newEle = new Element('li', {'id': elementId,'class': className});
						newEle.setHTML(elementContents);
						$(ulElementName).appendChild(newEle);
					}
				}
				if(xml.firstChild.getElementsByTagName('attributes').length>0) {
					attributesNode = xml.firstChild.getElementsByTagName('attributes')[0];
					for(k=0;k<attributesNode.childNodes.length;k++) {
						eleName = attributesNode.childNodes[k].nodeName;
						declarationName = attributesNode.childNodes[k].firstChild.nodeName;
						if(attributesNode.childNodes[k].firstChild.textContent) {
							declarationValue = attributesNode.childNodes[k].firstChild.textContent;
						} else {
							declarationValue = attributesNode.childNodes[k].firstChild.text;
						}
						$(eleName).setStyle(declarationName,declarationValue);
					}
				}
				if(e) {
					classObj.hide();
				}
			} else {
				errorNode = xml.firstChild.getElementsByTagName('error')[0].getElementsByTagName('message')[0]
				if(errorNode) {
					if(errorNode.textContent)
						error = errorNode.textContent;
					else
						error = errorNode.text;
					alert("Error: " + error);
				} else {
					alert("Error: Unspecified Error.");
				}
			}
		} else {
			alert("Error: Valid return codes not sent. Please try again.");
		}
	} else {
		alert("Error: We could not receive a response from the server. Please try again.");
	}
}

function checkRequired(form) {
	var formElements = form.elements;
	for(i=0;i<formElements.length;i++) {
		if(formElements[i].className.indexOf("required") != -1) {
			if(formElements[i].type == "text") {
				if(formElements[i].value == "") {
					alert("Please provide all required information.");
					formElements[i].focus();
					return false;
				} 
			}
			if(formElements[i].type == "textarea") {
				if(formElements[i].value == "") {
					alert("Please provide all required information.");
					formElements[i].focus();
					return false;
				} 
			}
			if(formElements[i].type.indexOf("select") != -1) {
				if(formElements[i].options[formElements[i].selectedIndex].value == "") {
					alert("Please provide all required information.");
					formElements[i].focus();
					return false;
				}
			}
		}
	}
	return true;
}

if(window.attachEvent)
	 window.attachEvent("onload",setListeners);
  
function setListeners(){
	inputList = document.getElementsByTagName("INPUT");
	for(i=0;i<inputList.length;i++){
		inputList[i].attachEvent("onpropertychange",restoreStyles);
		inputList[i].style.backgroundColor = "";
	}
	selectList = document.getElementsByTagName("SELECT");
	for(i=0;i<selectList.length;i++){
		selectList[i].attachEvent("onpropertychange",restoreStyles);
		selectList[i].style.backgroundColor = "";
	}
}

function restoreStyles(){
	if(event.srcElement.style.backgroundColor != "" && event.srcElement.style.backgroundColor != "#FF0000"){
	  event.srcElement.style.backgroundColor = "#FF0000"; /* color of choice for AutoFill */
	}
}
