/*// Add event handler to body when window loads
function addLoadEvent(func) {
	var oldonload = window.onload;
	
	if (typeof window.onload != "function") {
		window.onload = func;
	} else {
		window.onload = function () {
			oldonload();
			func();
		}
	}
}
 
addLoadEvent(function () {
	// Code to run on page load
	// Add hover functionality
	Hover.init(Hover.collections);
});*/
 
 
/*-----------------------------------------+
 | Hover - Add :hover functionality for IE |
 +-----------------------------------------*/
var Hover = {
	// Create two-dimensional array of identifiers for hover effect
	// [id/class] [child nodes] [unique]
	collections : new Array(
		new Array("nav", "li", true)
	),
	
	// Find all elemnts specified in array (IE only)
	init : function(collections) {
		if (document.all && document.getElementById && document.getElementsByTagName) {
			for (var i = 0; i < collections.length; i++) {
				var list = collections[i];
				var name = list[0];
				var delimiter = list[1];
				var unique = list[2];
				var children = new Array();
				
				if (unique) {
					// Unique element, find by ID
					var parent = document.getElementById(name);
					
					if (parent) {
						children = parent.getElementsByTagName(delimiter);
						Hover.addBehaviors(children);
					}
				} else {
					// Not unique, find by class
					var parents = document.getElementsByTagName("*");
					
					for (var j = 0; j < parents.length; j++) {
						if (parents[j].className.indexOf(name) > -1) {
							children = parents[j].getElementsByTagName(delimiter);
							Hover.addBehaviors(children);
						}
					}
				}
			}
		}
	},
	
	// Add class of "over" to elements when mouse hovers over them, remove when mouse stops hovering
	addBehaviors : function(collection) {
		for (var j = 0; j < collection.length; j++) {
			var node = collection[j];
			
			if (node.className.indexOf("current") == -1) {
				node.onmouseover = function() {
					this.className += " over";
					this.style.zIndex = 9999;  // Fixes IE z-index bug
				}
				node.onmouseout = function() { this.className = this.className.replace(" over", ""); }
			}
		}
	}
};

// From jslib.js

function makeHttpRequestObj() {
	var reqObj = null;
	if (window.XMLHttpRequest) {
		reqObj = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		reqObj = new ActiveXObject("Msxml2.XMLHTTP");
		if (!reqObj) {
			reqObj = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if (reqObj) {
		return reqObj;
	} else {
		return null;
	}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function showFlash(url, w, h) {
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+w+'" height="'+h+'">');
	document.write('<param name="movie"  value="'+url+'">');
	document.write('<param name="quality" value="high" />');
	document.write('<param name="wmode" value="transparent" />');
	document.write('<embed src="'+url+'" quality="high" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed>');
	document.write('</object>');
}
sfHover = function() {
	if (document.getElementById("nav")) {
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

jQuery.noConflict();

// From Hover Delay
var Hover = function(navBar)
{
	var me = this;
	me.items = navBar.find("ul")[0].childNodes;
	
	jQuery.each(me.items, function(i, item) { me.initItem(item); });
}

Hover.prototype.initItem = function(item)
{
	var me = this;
	item.onmouseover = function() 
	{ 
		me.closeAllExcept(item);
		
		clearTimeout(me.closeTimeout);
		me.openTimeout = setTimeout(function() 
		{
			item.className = "over"; 
			item.style.zIndex = 9999;
		}, Hover.OPEN_TIMEOUT);
	};
	
	item.onmouseout = function() 
	{ 
		clearTimeout(me.openTimeout);
		
		me.closeTimeout = setTimeout(function()
		{
			item.className = ""; 
		}, Hover.CLOSE_TIMEOUT);
	};
}

Hover.prototype.closeAllExcept = function(exceptItem)
{
	jQuery.each(this.items, function(i, item) 
	{ 
		if (item != exceptItem)
			item.className = ""; 
	});
}

Hover.OPEN_TIMEOUT  = 200;
Hover.CLOSE_TIMEOUT = 500;


/* MyBO Widget Actions */

