Array.prototype.add = function (element) {
	this[this.length] = element;
};

var Truburn;
if (!Truburn) Truburn = {};

Truburn.addEvent = function(obj, type, fn) {
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

Truburn.removeEvent = function(obj, type, fn) {
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

Nav = function() {
	this.ids = new Array();	
	this.navElements = new Array();
	this.hoverElements = new Array();
}

Nav.prototype.init = function() {
	var self = this;
	Truburn.addEvent(window, 'load', function(e) { return Nav.loadNav(self); });
}

Nav.loadNav = function(navObj) {	
	// navObj.addNavItem('navProducts');
	navObj.addNavItem('navServices');
	//navObj.addNavItem('navSolutions');
	//navObj.addNavItem('navAbout');
	//navObj.addNavItem('navPartners');
}

Nav.prototype.addNavItem = function(id) {
	var navDiv = document.getElementById(id);
	var hoverDiv = hoverDiv = document.getElementById(id+'Drop');
	
	Truburn.addEvent(navDiv, 'mouseover', function(e) { return Nav.onMouseOverNav(navDiv, hoverDiv); });
	Truburn.addEvent(navDiv, 'mouseout', function(e) { return Nav.onMouseOutNav(navDiv, hoverDiv); });
	Truburn.addEvent(hoverDiv, 'mouseover', function(e) { return Nav.onMouseOverNav(navDiv, hoverDiv); });
	Truburn.addEvent(hoverDiv, 'mouseout', function(e) { return Nav.onMouseOutNav(navDiv, hoverDiv); });
}

Nav.onMouseOverNav = function(navElement, hoverElement) {		
	var clsName = navElement.className;
	
	// make sure the hover class is not there
	var re = new RegExp('Hover$', 'g');
	clsName = clsName.replace(re, '');
	
	navElement.className = clsName + 'Hover';
	
	// now turn the hover div on
	//hoverElement.style.display = '';
	hoverElement.style.visibility = 'visible';
}

Nav.onMouseOutNav = function(navElement, hoverElement) {
	var clsName = navElement.className;
	
	// make sure the hover class is not there
	var re = new RegExp('Hover$', 'g');
	clsName = clsName.replace(re, '');
	
	navElement.className = clsName;
	
	// now turn the hover div off
	//hoverElement.style.display = 'none';
	hoverElement.style.visibility = 'hidden';
}



var topNav = new Nav();
topNav.init();
