function addEvent(o,t,fn){
	if( o.attachEvent ){
	o['e'+t+fn] = fn;
	o[t+fn] = function(){o['e'+t+fn](window.event);};
	o.attachEvent('on'+t, o[t+fn]);
   }else{
	o.addEventListener(t,fn,false);
   }
}

function getElementStyle(elemID, IEStyleProp, CSSStyleProp) {
	var elem = document.getElementById(elemID);
	if (elem.currentStyle) {
		return elem.currentStyle[IEStyleProp];
	} else if (window.getComputedStyle) {
		var compStyle = window.getComputedStyle(elem, "");
		return compStyle.getPropertyValue(CSSStyleProp);
	}
	return "";
}		

function changeBg(o){
	// get stuff from the classname on this
	if( o.className && o.className.toString().indexOf("hover") >= 0 ){
		o.className = o.className.toString().replace("hover","");
	}else{
		o.className = o.className + " hover";
	}
}

// note, this is only optimised for the multi-rule navigation
function initSlidingNav(){
	var nav_parent = document.getElementById("top_nav");
	// check if css is enabled			
	if( getElementStyle( "top_nav", "backgroundColor", "background-color" ) == "transparent" ){
		var nav_table_holder = document.createElement("div");
		/* nav_table_holder.setAttribute("id","test"); */
		var nav_list = nav_parent.getElementsByTagName("ul")[0];
		var nav_break = nav_parent.getElementsByTagName("br")[0];
		nav_break.style.display = "none";
		var nav_list_els = nav_list.getElementsByTagName("li");
		nav_list.style.display = "none";
		var nav_table = document.createElement("table");
		var nav_table_tbody = document.createElement("tbody");
		var nav_table_row = document.createElement("tr");
		for( var i = 0 ; i < nav_list_els.length ; i++ ){
			var tmp = nav_list_els[i];
			var tmp_link = tmp.getElementsByTagName("a")[0];
			var tmp_span = tmp_link.getElementsByTagName("span")[0];
			var tmp_cell = document.createElement("td");
			var tmp_cell_span = document.createElement("span");
			var tmp_cell_link = document.createElement("a");
			var link_class_cell = "";
			if( tmp_link.className.toString().indexOf("current") >= 0 ){
				link_class_cell = "hover";
			}else{
				tmp_cell.onmouseover = function(){
					changeBg(this);
				};
				tmp_cell.onmouseout = function(){
					changeBg(this);
				};
			}
			var tmp_cell_div = document.createElement("div");
			tmp_cell.className = tmp.className;
			tmp_cell.className += " " + link_class_cell;
			tmp_cell_link.className = tmp_link.className;
			tmp_cell_link.setAttribute("href", tmp_link.getAttribute("href") );
			tmp_cell_span.appendChild( document.createTextNode( tmp_span.firstChild.nodeValue ) );
			tmp_cell_link.appendChild( tmp_cell_span );
			tmp_cell_div.appendChild( tmp_cell_link );
			tmp_cell.appendChild( tmp_cell_div );
			//tmp_cell.appendChild( tmp_cell_link );
			nav_table_row.appendChild( tmp_cell );
		}
		nav_table_tbody.appendChild( nav_table_row );
		nav_table.appendChild( nav_table_tbody );
		nav_parent.appendChild( nav_table );

		// alert( nav_parent.innerHTML );
		
		/* nav_table_holder.appendChild( nav_table ); */
		/* nav_parent.appendChild( nav_table_holder ); */
		
		/*
		var test = document.getElementById("test");
		test.appendChild( nav_table );
		var boob = document.getElementById("boob");
		boob.value = nav_table.innerHTML;
		*/
	}
}

addEvent(window,"load",initSlidingNav);