/* Onload scripting
--------------------------  */
// onload script array
var onloadScripts = new Array();

function onloadAdd(func) {
    onloadScripts[onloadScripts.length] = func;
}

// Process onload scripts
function onloadProcess() {
    for (var i = 0; i < onloadScripts.length; i++) {
        eval(onloadScripts[i]);
    }
}

// Add onload
window.onload = onloadProcess;

/*
Image rollovers
*/
function fnRollover(cImage, rSrc)
{
	if (cImage.tagName == "A") {
		cImage.firstChild.src = rSrc;
	}
	else {
		cImage.src = rSrc;
	}
}

/*
	Image gallery image opener
*/
var ciPath;
function fnOpenImage(iPath)
{
    ciPath = iPath;
	// Open a blank window
	var nwin = window.open("../_resources/_images/gallery_image.htm", "_blank", "statusbar=yes,resizable=yes,width=780,height=520,scrollbars=yes");
	//nWin.document.write("<html><body bottommargin='0' leftmargin='0' topmargin='0' rightmargin='0' onload='resizeWindow()'><img src='" + iPath + "'></body></html>");
	if (!nwin.opener) nwin.opener = self;

}

/*
	Open Window
*/
function fnopenWindow(wURL,wName,wWidth,wHeight)
{
  window.open(wURL,wName,"width="+wWidth+",height="+wHeight);
}


/*
	Property search default text remove
*/
function fnrdText(fItem, dText, eType)
{
	if (eType == 'f') {
		if (fItem.value == dText) {
			fItem.value = '';
		}
	}
	else {
		if (fItem.value == '') {
			fItem.value = dText;
		}
	}
}

/*
    Pop up links menu
*/
// Set the window timeout variable
function showmenu(cLink, menuid, cw)
{
    // If the timeout exists then cancel it
    if (eval(cw)) {
        eval("window.clearTimeout(" + cw + ")");
    }

    // Get menu
    var cMenu = document.getElementById(menuid)

    // Get the list item
    var cItem = document.getElementById(cLink)

    // Get the link position
    var pos = getPosition(cItem);

    var xpos = pos[0];
    var ypos = cItem.offsetHeight;

    cMenu.style.visibility = "visible";
    cMenu.style.left = (xpos) + "px";
    cMenu.style.top = ypos + "px";

}

function hidemenu(menuid, cw)
{
    eval(cw + " = window.setTimeout('document.getElementById(\"" + menuid + "\").style.visibility = \"hidden\"', 200);");
}

function cancelhidemenu(cw)
{
   eval("window.clearTimeout(" + cw + ");");
}

// get the object position
function getPosition (o)
{
    // Get the passed object
    var cobj = o;

    var curleft = curtop = 0;
    if (cobj.offsetParent) {
        curleft = cobj.offsetLeft
        curtop = cobj.offsetTop
        while (cobj = cobj.offsetParent) {
            // Positioning is relative to the parent list so exit loop once we are outside it. 
            if (cobj.tagName == "A" || cobj.tagName == "LI" || cobj.tagName =="UL") {
                curleft += cobj.offsetLeft
                curtop += cobj.offsetTop
            }
            else {
                break;
            }
        }
    }
    return [curleft,curtop];

}

function relatedLists(o, rid, pid)
{
    // Get the array length
    var arrLen = eval(o.value.replace(' ', '') + '.length');
    // Get the related list
    var relList = document.getElementById(pid + '_' + rid);
	// Remove current items
	for (i=relList.length-1; i>=0; i--) {
		relList.options[i] = null;
	}
    // Iterate through array and add new items
    var i;
    for (i=0; i<arrLen; i++) {
		// Add option to list
		var nOpt = document.createElement("OPTION")
		nOpt.text = eval(o.value.replace(' ', '') + '[' + i + ']');
		nOpt.value = eval(o.value.replace(' ', '') + '[' + i + ']');
		relList.options[i] = nOpt;
    }
}

/*
    Auto scroll content
*/
// Scroller height
var scrollHeight = "";
var innerHeight = "";
// Scroller speed
var scrollSpeed = 1;
var currentSpeed = scrollSpeed;

// Scroll content elements
var innerScroller, scrollBox;

var iedom = document.all||document.getElementById;

function initialise_scroller()
{
	// If a scrolling content area exists then initialise the scroller
	if (document.getElementById("autoscroll") != null) {
	
		// Get scroller content
		scrollBox = document.getElementById("autoscroll");
		
		// Get the scroll height
		scrollHeight = scrollBox.offsetHeight;
	
		var scrollercontent = scrollBox.innerHTML;
		scrollBox.innerHTML = "";

		// Create inner scoller
		innerScroller = document.createElement('div');
		innerScroller.setAttribute("id", "autoscrollinner");
		innerScroller.innerHTML = scrollercontent;
		scrollBox.appendChild(innerScroller)

		// Get the inner height
		if (iedom) { 
			innerHeight = innerScroller.offsetHeight;
		}
		else if (document.layers) {
			innerHeight=innerScroller.document.height
		}
		
		// Set the pause functions and start the scroller
		if (document.all) {
			scrollBox.onmouseover = function() {currentSpeed=0;};
			scrollBox.onmouseout = function() {currentSpeed=scrollSpeed;};
			lefttime = setInterval("scrollscroller()",20) ;
		}
		else {
			scrollBox.setAttribute("onMouseOver", "currentSpeed=0;");
			scrollBox.setAttribute("onMouseOut", "currentSpeed=scrollSpeed;");
			lefttime = setInterval("scrollscroller()",35);
		}
	}
}

function scrollscroller()
{
	if (iedom) {
		if (parseInt(innerScroller.style.top) > (innerHeight*(-1))) {
			innerScroller.style.top = parseInt(innerScroller.style.top) - currentSpeed + "px";
		}
		else {
			innerScroller.style.top = parseInt(scrollHeight) + "px";
		}
	}
	else if (document.layers) {
		if (innerScroller.top > (innerHeight*(-1))) {
			innerScroller.top -= currentSpeed;
		}
		else {
			innerScroller.top = parseInt(scrollHeight);
		}
	}
}

// Initialise scroller
//window.onload=initialise_scroller;
onloadAdd('initialise_scroller()');

// Jump menu
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}

/*
    News slideshow
*/
var nssIndex = 0;
var nssArray;
function initialiseNewsSlideshow(idArray) {
    // set array of items
    nssArray = idArray.split(",");
    // Start slideshow
    window.setTimeout('incrementNewsSlideshow()', 10000);
}

function incrementNewsSlideshow()
{
    document.getElementById(nssArray[nssIndex]).className = "newsitem"
    if (nssIndex + 1 > nssArray.length - 1) {
        nssIndex = 0;
    }
    else {
        nssIndex = nssIndex + 1;
    }
    document.getElementById(nssArray[nssIndex]).className = "currentnewsitem"
    // Increment slideshow
    window.setTimeout('incrementNewsSlideshow()', 10000);
}