﻿var ns4 = (document.layers);
var ie  = (document.all);
var ie4 = (ie && !document.getElementById);
var ie5 = (ie && document.getElementById);
var ns6 = (!ie && document.getElementById);

var aryMoused = new Array();
var aryLayerMoused = new Array();
var aryMoImages = new Array();
var imageList = new Array();
var runMouseOvers = true;
var TimerID = null;
var iLimit = 25;
var itmp = 0;

var nbTime = 100;
var nbTimes = 2;
var nbThisLoc = 325;
var aryLayerNames = new Array();
var aryNavBarLayerInfo = new Array();
var aryNavBarLayers = new Array();

var registeredObjects = new Array();
var viz = "hide";

function MOImage() {
	var arg = MOImage.arguments;
	this.ptrImage = BillzNavBarMM_findObj(arg[0]);
	this.imageMO = new Image();
	this.imageMO.src = arg[1];
	this.HTMLname = arg[0];
	this.Moused = false;
	this.OriginalSrc = '';
	return true;
}

function BillzImagePreload() {
// 0) html image name 1) mo image src 2)image Name for rollover key (rollover may have multiple mos for one html Image) 
	var arg = BillzImagePreload.arguments;
	nbImagePreload(arg[0], arg[1], arg[2]);
}

function nbImagePreload(img_name, mo_img_src, rollover_key_img_name)
{
var imageKey = (rollover_key_img_name.length > 0) ? rollover_key_img_name : img_name;
	imageList[imageList.length] = imageKey;
	if (!(aryMoImages[imageKey])) {
		aryMoImages[imageKey] = new MOImage(img_name, mo_img_src);
	}
}

function BillzMouseover() {
	var arg = null;
	if (runMouseOvers) {		
		arg = BillzMouseover.arguments; //args 0)ImageName 1)OriginalSrc 2)array index (caller imagename)		
		nbMouseover(arg[0], arg[1], arg[2]);
	}
	return true;
}

// args 1) ImageName 2) OriginalSrc 3) array index (caller imagename)
function nbMouseover(img_name, orig_src, img_key)
{
	var imageKey = null;
	var o = null;
	if (runMouseOvers) 
	{				
		imageKey = (img_key.length > 0) ? img_key : img_name;
		if (!(aryMoImages[imageKey].ptrImage)) {
			aryMoImages[imageKey].ptrImage = BillzNavBarMM_findObj(img_name);
		}
		if (aryMoImages[imageKey] && (o = aryMoImages[imageKey].ptrImage)) 
		{
			aryMoImages[imageKey].OriginalSrc = orig_src;
			aryMoImages[imageKey].Moused = true;
			o.src = aryMoImages[imageKey].imageMO.src;
		}
	}
	return true;
}

var NavBarTempOnload = null;
if (window.onload && window.onload != null){
	NavBarTempOnload = window.onload;
}

function FullyLoaded() {
	if (NavBarTempOnload != null){
		NavBarTempOnload();
	}
	runMouseOvers = true;
	return true;
}

function BillzMouseOutTimer() {
	return nbMouseOutTimer();
}

function nbMouseOutTimer() 
{
	if (TimerID) {
		clearTimeout(TimerID);
	}
	TimerID = setTimeout("nbLayerRestore()",5000);
	return true;
}

function RestoreAll() {
	nbMouseoverRestore();
	nbLayerRestore();
	return true;
}

function BillzMouseoverRestore() {
	return nbMouseoverRestore();
}

function nbMouseoverRestore() 
{
	var i = 0;
	var o = null;
	if (runMouseOvers) 
	{
		for (i = 0; i < imageList.length; i++) 
		{
			if (aryMoImages[imageList[i]].Moused && (o = aryMoImages[imageList[i]].ptrImage)) 
			{
				o.src = aryMoImages[imageList[i]].OriginalSrc;
				aryMoImages[imageList[i]].Moused = false;
			}
		}
	}
	return true;
}

function BillzLayerRestore() {
	return nbLayerRestore();
}

function nbLayerRestore() 
{
	var i = 0;
	for (i = 0; i < aryLayerNames.length; i++) 
	{
		if (!aryNavBarLayerInfo[aryLayerNames[i]].isDefault) {
			BillzNavBarRestoreLayers(aryLayerNames[i]);
		}
	}
	return true;
}


function BillzArrayPushUnique(aryArray, varNewElement)
{ //only pushes if unique value
	var pushIt = true;
	var i = 0;
	for (i = 0; i < aryArray.length && pushIt; i++) {
		pushIt = (varNewElement != aryArray[i]);
	}
	if (pushIt) {
		BillzArrayPush(aryArray, varNewElement);
	}
	return pushIt;
}

function BillzArrayPush(aryArray, varNewElement) { //Implement Array Push 'cause IE cant handle it
	aryArray[aryArray.length] = varNewElement;
	return true;
}

function BillzArrayPop(aryArray) { //Implement Array Pop 'cause IE cant handle it before 5.5
	var varItemToPop = null;
	if (aryArray[aryArray.length - 1]) {
		varItemToPop = aryArray[aryArray.length - 1];
		aryArray[aryArray.length] = null;
	}
	return varItemToPop;
}

//Heikoz "just get me the freakin' div object handle" function
function getDivRef(id)
{
	var divref;
	if(ns4)
		divref = document.layers[id];
	else if(ie4)
		divref = document.all[id];
	else if(ie5 || ns6)  // remaining cases
		divref = document.getElementById(id);

	return divref;
}

//v3.0 name changed to avoid clash with possible other JS in content, this function complements of MM Dreamweaver
function BillzNavBarMM_findObj(n, d) {
  	var p,i,x;

	if (registeredObjects[n]) {
		return registeredObjects[n];
	}
	if (!(d)) {
		d = document;
	}
	try {
	p = n.indexOf("?");
	}
	catch(e) {
	p = 0;
	}
	if (p > 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++) {
		if (d.layers[i].id.indexOf("external_") == -1) {
  			x = BillzNavBarMM_findObj(n, d.layers[i].document);
		}
	}
	registeredObjects[n] = x;

 	return x;
}

function BillzArrayContains() {
	var arg = BillzArrayContains.arguments;
	var foundit = false;
	var i = 0;
	for (i = 0; i < arg[0].length && !foundit; i++) {
		foundit = (arg[1] == arg[0][i]);
	}
	return foundit;
}

function NavBarRegisterLayer() {
	var arg = NavBarRegisterLayer.arguments;
	var n = arg[0];
	var d = arg[1];
	var mo = false;
	var o = null;
	if (arg[2] && arg[2] == 'MOutLayer') {
		mo = true;
	} else {
		mo = false;
	}
	if (!(BillzArrayContains(aryLayerNames, n))) {
		if (o = BillzNavBarMM_findObj(n)) {
			aryNavBarLayers[n] = o;
			BillzArrayPushUnique(aryLayerNames, n);
			aryNavBarLayerInfo[n] = new NavBarLayer(n, d, mo);
		}
	}
	return true;
}

function BillzNavBarMM_showHideLayers() {
//v3.0 name changed, this function complements of MM Dreamweaver with customizations by Bill Heller
	var i = 0;
	var x = "";
	var obj = null;
	var v = null;
	var p = null;
	var args = BillzNavBarMM_showHideLayers.arguments;

	if (args[args.length - 1] != "menu") {
		nbMouseOutTimer();
	}
  	for (i = 0; i < (args.length - 2); i += 3) {
		if (!aryNavBarLayers[args[i]]) {
			x = (args[i + 2] == 'show') ? 'hide' : 'show';
			NavBarRegisterLayer(args[i], x);
		}
  		if ((obj = aryNavBarLayers[args[i]]) != null) {
			v = args[i + 2];
			aryNavBarLayerInfo[args[i]].isDefault = false;
  			if (args[args.length - 1] == "restore") {
				v = (v == 'show') ? 'hide' : 'show';
			}
			if (obj.style) {
				obj.style.visibility = (v == 'show') ? 'visible' : ((v == 'hide') ? 'hidden' : v);
			} else {
				obj.visibility = v;
			}
		}
	}
	return true;
}

function BillzNavBarRestoreLayers() {
	var i = 0;
	var x = "";
	var obj = null;
	var v = null;
	var p = null;
	var args = BillzNavBarRestoreLayers.arguments;
  	for (i = 0; i < (args.length); i++) {
  		if (obj = aryNavBarLayers[args[i]]) {
			v = aryNavBarLayerInfo[args[i]].defaultVisibility;
			if (obj.style) {
				obj = obj.style;
				v = (v == 'show' ) ? 'visible' : ((v == 'hide') ? 'hidden' : v);
			}
			obj.visibility = v;
			if (!aryNavBarLayerInfo[args[i]].MOutLayer) {
				aryNavBarLayerInfo[args[i]].isDefault = true;
			}
		}
	}
	return true;
}

function NavBarLayer() {
	var arg = NavBarLayer.arguments;
	this.defaultVisibility = arg[1];
	this.isDefault = true;
	this.MOutLayer = arg[2];
	return true;
}

function BillzNavMove() {
	return nbNavMove();
}

function nbNavMove() 
{
	var thisl = null;
	var otherl = null;
	if (thisl = BillzNavBarMM_findObj("nbScrollLayer")) 
	{
		if (thisl.style) {
			thisl = thisl.style;
			viz = "hidden";
		} 
		thisl.top = nbThisLoc -= 3;
		if (nbThisLoc < -750) {
			nbThisLoc = 325;
			nbTimes--;
		}
	}
	if (nbTimes <= 0) 
	{
		otherl = BillzNavBarMM_findObj("BillzLayer");
		otherl.visibility = viz;
	} else {
		setTimeout("nbNavMove()", nbTime);
	}
	
	return true;
}

function NavBar_openadmin() {
	window.open('admin/', 'SiteAdmin', 'height=screen.availheight,width=screen.availwidth,scrollbars=1,toolbar=0,directories=0,status=0,menubar=0,resizable=1');
	return true;
}

window.onload = FullyLoaded;

//Begin: Graphic Mouseover functions				
function slidingTbl_preloadImages(){ 				
	var d=document; 
 	if(d.images){ 
		if(!d.slidingTbl_p){
			d.slidingTbl_p=new Array();	
		}	
	}		
   var i,j=d.slidingTbl_p.length,a=slidingTbl_preloadImages.arguments; 
	for(i=0; i<a.length; i++){				
   	if (a[i].indexOf("#")!=0){ 
			d.slidingTbl_p[j]=new Image; 
			d.slidingTbl_p[j++].src=a[i];
		}
	}				
}
function slidingTbl_swapImgRestore(){ 				
	var i,x,a=document.slidingTbl_sr;
	for(i=0; a && i<a.length && (x=a[i]) && x.oSrc; i++){
		x.src = x.oSrc;
	}				
}			
function slidingTbl_findObj(n, d){ 				
	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=slidingTbl_findObj(n,d.layers[i].document);
	}				
  if(!x && d.getElementById) x=d.getElementById(n); 
  return x;			
}				
function slidingTbl_swapImage(){ 				
	var i,j=0,x,a=slidingTbl_swapImage.arguments; 
	document.slidingTbl_sr=new Array; 
	for(i=0;i<(a.length-2);i+=3){				
   	if ((x=slidingTbl_findObj(a[i]))!=null){
			document.slidingTbl_sr[j++]=x; 
			if(!x.oSrc) x.oSrc=x.src; 
			x.src=a[i+2];
		}
	}				
}
//End: Graphic Mouseover functions	

var SlidingTableTempOnload1 = null;
if(window.onload && window.onload != null){
	SlidingTableTempOnload1 = window.onload;
}
function initsliding1(){				
	if(SlidingTableTempOnload1 != null){
		SlidingTableTempOnload1();
	}	
				
	return true;	
}
window.onload = initsliding1;
