/**
  * Website design by Craig McNicholas @ designdotworks.co.uk
  * Copyright: elf Software 2008
  * Author: Craig McNicholas
  * Date: 24/04/2008
  *
  */


/**
  * Function to expand and collapse dropdown tabs
  */
function dropdownExpand(me) {
	try {
		var index = (window.attachEvent ? 0 : 1);
		me.parentNode.childNodes[index].style.display = (me.parentNode.childNodes[index].style.display == "none" ? "block" : "none");
	} catch(ex) {}
}

/**
  * Function to attach onclick events to drop down boxes
  */
function dropdownAttach() {
	try {
		var nodes = document.getElementsByTagName("div");
		
		for(var i = 0; i < nodes.length; i ++) {
			if(nodes[i].className == "ender") {
				if(window.attachEvent) { // Internet explorer
					nodes[i].onclick = function() {dropdownExpand(this);}; // IE has trouble using "this" so use older method
				} else if(window.addEventListener) { // DOM Compliant
					nodes[i].addEventListener("click", function() {dropdownExpand(this);}, false);
				}
				nodes[i].style.cursor = "pointer"; // Set hover style
				nodes[i].setAttribute("title", "Collapse/Expand"); // Set title
			}
		}
	} catch(ex) {}
}

if(window.attachEvent) { // Internet explorer
	window.attachEvent("onload", dropdownAttach);
} else if(window.addEventListener) { // DOM Compliant
	window.addEventListener("load", dropdownAttach, false);
}

/**
  * Function to validate the login form
  */
function validateControlPanel() {
	try {
		var username = document.forms["ControlPanelLogin"].ControlPanelUsername;
		var password = document.forms["ControlPanelLogin"].ControlPanelPassword;
		
		if(username && password) {
			if(!username.value.length > 0) { // Validate username
				var msg = "Please enter a username.";
				if(!messagePage(msg, "ControlPanelMessage")) {
					alert(msg);
				}
				return false;
			} else if(!password.value.length > 0) { // Validate password
				var msg = "Please enter a password.";
				if(!messagePage(msg, "ControlPanelMessage")) {
					alert(msg);
				}
				return false;
			}
			
			return true; // If function reached the end return true
		} else {
			return false;
		}
	} catch(ex) {
		var msg = "Error validating username/password";
		if(!messagePage(msg, "ControlPanelMessage")) {
			alert(msg);
		}
		return false;
	}
}

/**
  * Function to create a message on the login form
  */
function messagePage(msg, elementid) {
	try {
		document.getElementById(elementid).innerHTML = msg;
		return true;
	} catch(ex) {
		return false;
	}
}

/**
  * Function to validate the search form
  */
function validateFastFind() {
	try {
		var query = document.forms["ControlPanelFastFind"].query;
		
		if(query) {
			var reg = new RegExp(/[^a-zA-Z0-9_ ]/);
			query.value = query.value.replace(reg, ""); // Remove anything that isnt alpha numeric or _
			
			return true;
		} else {
			return false;
		}
	} catch(ex) {
		return false;
	}
}

/**
  * Function to validate a date in an input form
  */
function focusDateToggle(me) {
	var reg = new RegExp(/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/);
	if(!reg.test(me.value)) {
		me.value = "";
	}
}

/**
  * Function to validate a date in an input form
  */
function blurDateToggle(me) {
	var reg = new RegExp(/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/);
	if(!reg.test(me.value)) {
		me.value = "dd/mm/yyyy";
	}
}
