/*Anthem related function*/
var mainAnthemCallEvent = null;

function SetDefaultAnthemCall(){
	if (Anthem_FireCallBackEvent)
		mainAnthemCallEvent = Anthem_FireCallBackEvent;
}

function EnableAnthemEventCall(){
	if (mainAnthemCallEvent)
		Anthem_FireCallBackEvent = mainAnthemCallEvent;
}
/*End Anthem related function*/

function GotToSelectedPage(theLinkUrl, app){
	if (theLinkUrl.selectedIndex > 0)
		window.location = app + theLinkUrl[theLinkUrl.selectedIndex].value;
}

function ShowCenterFormBox(theFmDivID, visSwitch){
	if (visSwitch){
		ShowOverLayerCentralized(theFmDivID);
		document.getElementById(theFmDivID).style.display = "";
	}
	else
		document.getElementById(theFmDivID).style.display = "none";
}

function offsetPosition(obj) {
	this.Height = obj.offsetHeight;
	this.Width = obj.offsetWidth;

	var curLeft = 0;
	var curTop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curLeft += obj.offsetLeft
			curTop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else {
		if (obj.x) curLeft += obj.x;
		if (obj.y) curtop += obj.y;
	}
	this.Left = curLeft;
	this.Top = curTop;
}

///////////// OverLayers /////////////
var openLayers = new Array();

function CloseAllOverLayers()
{
//alert("CloseAllOverLayers");
    var name;
    while (name = openLayers.pop())
    {
	    var overLayer = new getObj(name);
	    if (overLayer) overLayer.style.display = 'none';
	}
}

function CloseOverLayer(layerType)
{
//alert("CloseOverLayer " + layerType);
	var overLayer = new getObj(layerType);
	if (overLayer) overLayer.style.display = 'none';
	else return false;

    return true;
}

function ShowOverLayer(layerType)
{
//alert("ShowOverLayer " + layerType);
	var overLayer = new getObj(layerType);
	if (overLayer) overLayer.style.display = 'inline';
	else return false;

	openLayers.push(layerType);
    return true;
}

function ShowOverLayerRelative(layerType, relativeTo)
{
//alert("ShowOverLayerRelative " + layerType + ", " + relativeTo);
	return ShowOverLayerRelativeToObj(layerType, new getObj(relativeTo).obj);
}

function ShowOverLayerRelativeToObj(layerType, objRelativeTo)
{
//alert("ShowOverLayerRelativeToObj " + layerType + ", " + objRelativeTo.id);
	var overLayer = new getObj(layerType);

	if (overLayer && objRelativeTo) {
//alert(objRelativeTo + " ; " + objRelativeTo.name + " ; " + objRelativeTo.id + " ; " + objRelativeTo.style + " ; " + objRelativeTo.obj);
		var overLayerPos = new offsetPosition(objRelativeTo);

//alert(overLayerPos.Top + " ! " + overLayerPos.Left);
		overLayer.style.left = overLayerPos.Left + 'px';
		overLayer.style.top = overLayerPos.Top + 1 + 'px';
//alert(layerType + " = " + overLayer.style.top + " : " + overLayer.style.left);
		overLayer.style.display = 'inline';

        openLayers.push(layerType);
	} else return false;

    return true;
}

function ShowOverLayerCentralized(id)
{
//alert("ShowOverLayerCentralized " + id);
	var overLayer = new getObj(id);

	ShowOverLayerObjCentralized(overLayer);
}

function ShowOverLayerObjCentralized(overLayer)
{
//alert(overLayer + " : " + overLayer.style.width + " : " + overLayer.style.height);
//alert(document.documentElement.clientHeight + " : "
// + self.screen.availHeight + " : "
//  + window.screen.availHeight + " : "
//   + self.innerHeight + " : "
//   + document.documentElement.clientHeight + " : ");

	if (overLayer == null) return;

	var objWidth = parseInt(overLayer.style.width);
	var objHeight = parseInt(overLayer.style.height);
	
	if (objWidth < 0 || isNaN(objWidth)) objWidth = 0;
	if (objHeight < 0 || isNaN(objHeight)) objHeight = 0;
	
//alert(overLayer + " : " + objWidth + " : " + objHeight);
	
	var scrollLeft = 0, scrollTop = 0;
    if (self.pageYOffset) // all except Explorer
    {
	    scrollLeft = self.pageXOffset;
	    scrollTop = self.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop)
	    // Explorer 6 Strict
    {
	    scrollLeft = document.documentElement.scrollLeft;
	    scrollTop = document.documentElement.scrollTop;
    }
    else if (document.body) // all other Explorers
    {
	    scrollLeft = document.body.scrollLeft;
	    scrollTop = document.body.scrollTop;
    }
	
    var wWidth = 200, wHeight = 200;
    if (self.innerHeight) // all except Explorer
    {
	    wWidth = self.innerWidth;
	    wHeight = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
    {
	    wWidth = document.documentElement.clientWidth;
	    wHeight = document.documentElement.clientHeight;
    }
    else if (document.body) // other Explorers
    {
	    wWidth = document.body.clientWidth;
	    wHeight = document.body.clientHeight;
    }
	
	var spaceleft = parseInt((wWidth - objWidth)/2) + scrollLeft;
	var spacetop  = parseInt((wHeight - objHeight)/2) + scrollTop;

	if (spaceleft < 0 || isNaN(spaceleft)) spaceleft = 0;
	if (spacetop < 0 || isNaN(spacetop)) spacetop = 0;

//alert(spacetop + " : " + spaceleft);

	overLayer.style.left = spaceleft + 'px';
	overLayer.style.top = spacetop + 'px';
	overLayer.style.display = 'block';

    if (typeof(overLayer.obj) == 'undefined') openLayers.push(overLayer.id);
    else openLayers.push(overLayer.obj.id);

    return true;
}

function ShowOverLayerContentCentralized(headtext, content)
{
	var popupheadtext = new getObj("popup_headtext");
	var popupcontent = new getObj("popup_body");
		
	popupheadtext.obj.innerHTML = headtext;
	popupcontent.obj.innerHTML = content;
	
	ShowOverLayerCentralized("messageOverLayer");
}

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 == "") {
		var strTarget = "content_body";
	} else {
		var strTarget = strTarget;
	}
	// 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

function ClearField(field,text){
//alert(document.getElementById(field).value);

			if (document.getElementById(field).value == text)
				document.getElementById(field).value = "";
	}



// 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;

