
function ShowHideCategories(cat,subcat){
	
	var objCat = document.getElementById(cat)
	var objSubCat = document.getElementById(subcat)
	
	if(objSubCat.className == 'on'){
		objSubCat.className = '';
		objCat.className = '';
	}else{
		objSubCat.className = 'on';
		objCat.className = 'on';
	}
	
}

function ShowDiv(DivName,Type)
{
	if	(document.layers) {
		document.layers[DivName].display=Type; 
		document.layers[DivName].visibility="visible"; 
	} else if (document.getElementById) {
		document.getElementById(DivName).style.display=Type;
		document.getElementById(DivName).style.visibility="visible";
	} else if (document.all) {
		document.all(DivName).style.display=Type;
		document.all(DivName).style.visibility="visible";	
	}
	
}

function HideDiv(DivName) 
{
	if	(document.layers) {
		document.layers[DivName].display="none"; 
		document.layers[DivName].visibility="hidden"; 
	} else if (document.getElementById) {
		document.getElementById(DivName).style.display="none";
		document.getElementById(DivName).style.visibility="hidden";
	} else if (document.all) {
		document.all(DivName).style.display="none";
		document.all(DivName).style.visibility="hidden";	
	}
}

function showTip(obj,content) {
	var popin = new getObj("popin")
	var popincontent = new getObj("popin_innertxt")
	var intmoveLeft = 0;
	var intmoveTop = 0;
	
	if (browserName.indexOf('safari') !=-1) {
		intmoveLeft = -12;
		intmoveTop = 30;
	} else {
		intmoveLeft = -12;
		intmoveTop = 10;
	}
	
	if (obj && popin.obj)	{
		popin.style.top = findPosTop(obj) + intmoveTop + 'px';
		popin.style.left = findPosLeft(obj) + intmoveLeft + 'px';
		popincontent.obj.innerHTML = content;
	}
	ShowDiv("popin")
}

// tabswticher(X, Y)
// tabsetX_buttonY
// tabsetX_divY
function tabswitcher(strTabSet, intTabID) {
	strButtons = 'tabset_' + strTabSet + '_button';
	strDivs = 'tabset_' + strTabSet + '_div';
	for (i = 1; i <= 10; i++) {
		try {
			var objTab =   document.getElementById(strButtons + i);
			var objLayer = document.getElementById(strDivs + i);
			
			if (i == intTabID) {
				objTab.className = 'on';
				objLayer.style.display = 'block';
			} else {
				objTab.className = '';
				objLayer.style.display = 'none';
			}
		} catch(e) { i = 100; }
	}
}

// function to turn a group of buttons on or off, similar to the tab script, but without the layer swap
function setClassOn(strButtons,intButtonID) {
	for (i = 1; i <= 10; i++) {
		try {
			var objTab = document.getElementById(strButtons + i);
			
			if (i == intButtonID) {
				objTab.className = 'on';
			} else {
				objTab.className = '';
			}
		} catch(e) { i = 100; }
	}
}

function getObj(name) {
	if (document.getElementById) {
		this.obj = document.getElementById(name);
		if (this.obj) this.style = document.getElementById(name).style;
	} else if (document.all) {
		this.obj = document.all[name];
		if (this.obj) this.style = document.all[name].style;
	} else if (document.layers) {
		if (document.layers[name]) {
			this.obj = document.layers[name];
			if (this.obj) this.style = document.layers[name];
	   } else {
			this.obj = eval("document.layers." + name + ".layers[name]");
			if (this.obj) this.style = eval("document.layers." + name + ".layers[name]");
	   }
	}
}

// get position scripts
function findPosLeft(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}

function findPosTop(obj) {
	var curtop = 0;
	var printstring = '';
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}
//end get position scripts


// AJAX FUNCTIONS
var Message;
var strMessage;

function loadXMLTarget(strURL, strTarget, strMessage, strTest) {
	if (strTest) { alert(strURL); }
	
	// This stops ajax caching
	if (strURL.indexOf("?") > -1) {
		strURL = strURL + "&" + Date();
	} else {
		strURL = strURL + "?cache=" + Date();
	}
	
	if (strTarget == "") {
		alert('Please specify a target');
	}
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		Message = new XMLHttpRequest();
		Message.onreadystatechange = function() {processTargetHTML(strTarget);};
		Message.open("GET", strURL, true);
		Message.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		Message = new ActiveXObject("Microsoft.XMLHTTP");
		if (Message) {
			Message.onreadystatechange =function() {processTargetHTML(strTarget);};
			Message.open("GET", strURL, true);
			Message.send();
		}
	}
}


function processTargetHTML(strTarget) {
	//alert(strTarget);
	var obj = new getObj(strTarget);
    switch (Message.readyState) {
		case 1:
			//obj.obj.innerHTML = "<img src='/images/loading-anim.gif'>";
			break;
		case 4:
			// only if "OK"
			if (Message.status == 200) {
				obj.obj.innerHTML = Message.responseText;
			} else {
				obj.obj.innerHTML = Message.responseText;
				//alert("There was a problem retrieving the XML data:\n" + Message.statusText);
			}
		break;
    }
}
// END AJAX FUNCTIONS

// USED TO INITIALISE DROP DOWN MENUS
function startList() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}
window.onload=startList;


navigation = true;
function disableButton(button)
{
    if (Page_ClientValidate())
    {
        if (navigation)
        {
            //disable button
            button.style.display = "none";
            button.style.visibility = "hidden";
                        
            navigation = false;
            
            return true;
        }
        else
            return false;
    }
}
