addEvent( window, 'load', load );
var popID;
var tID;

function load() {
	if(sIFR != null){
		if (sIFR.replaceElement != null){
			sIFR.replaceElement("h2", "site/images/tradegothic.swf" , "#af6401", "#000000", "#999999", null, 0, 0, 0, 6, "", false);
		}
	}

	if( document.getElementById( "mainNav" ) == null ) return;

	inMenu = false;
	body = document.getElementsByTagName( "body" )[0];
	last = null;

	createMenu ("mainNav");

	var o = document.getElementById("langNav");
	if (o != undefined){
		var l = o.getElementsByTagName("a");
		var b = document.getElementById('langVisor');
		var oldYPos = b.style.backgroundPosition;

		for (var i=0; i<l.length; i++){
			var al = l[i];
			al.onmouseover = function(){
				b.style.backgroundPosition = "0 -"+this.id.substr(2)+"px";
			};

			al.onmouseout = function(){
				//b.style.backgroundPosition = "0 0";
				b.style.backgroundPosition = oldYPos;
			};
		}
	}

	flashVisible = true;
	flashID = undefined;
};

function createMenu ( node ){
	var e = document.getElementById(node).getElementsByTagName("li");
	var l = e.length;
	do {
		var o = e[--l];
		if (!(o.getAttribute("expand"))) continue;
		var tempMenu = new MenuP(o);
		var items = o.getElementsByTagName("ul")[0].getElementsByTagName("a");
		for (var i in items){
			var link = items[i];
			if (link.href == undefined || link.href == "") continue;
			tempMenu.add (new Menu(link.firstChild.nodeValue, link.href));
		}
		tempMenu.create();
	} while (l);
};

function MenuP ( node ) {
	this.node = node;
	this.menuItems = new Array();
	MenuP.prototype.add = function( menuItem ) {
		this.menuItems[ this.menuItems.length ] = menuItem;
	};

	MenuP.prototype.create = function( ) {
		var dNode = document.createElement( "div" );
		dNode.className = "jsMenu";
		var id = this.node.getAttribute("expand");
		var str = "_" + id;
		dNode.setAttribute( "id", str );
		addEvent( this.node, "mouseover", function() { showMenuInTime(str, 150) } );
		addEvent( this.node, "mouseout", function() { setInMenu(false) } );
		dNode.setAttribute( "pItemID", id );
		addEvent( dNode, "mouseover", function() { setInMenu(true) } );
		addEvent( dNode, "mouseout", function() { setInMenu(false) } );
		var html = "<ul>";
		for( var i=0; i<this.menuItems.length; i++ ) {
			html += this.menuItems[i].getLinkHTML();
		}
		body.appendChild( dNode );
		dNode.innerHTML = html + "</ul>";
	};
};

function Menu( value, href ) {
	this.value = ( value == null ) ? "" : value;
	this.href = ( href == null ) ? "" : href;

	Menu.prototype.getLinkHTML = function () {
		if( this.value != "" && this.href != "" )
			return "<li><a onclick=\"setInMenu(false); hideMenu(); return true;\" href=\"" + this.href + "\">" + this.value + "</a></li>";
		else if( this.value != "" && this.href == "" )
			return "<li class='heading'>" + this.value + "</li>";
		else
			return "<li class='separator'>&nbsp;</li>";
	};
};

function showMenuInTime( node, time ) {
	popID = setTimeout( "showMenu('" + node + "')", time );
};

function hideFlash(){
	clearTimeout(flashID);
	if (!flashVisible) return;

	var a = getElementsByClassName("sIFR-flash");
	for (var i=0; i< a.length; i++){
		a[i].style.visibility = "hidden";
	}
	flashVisible = false;
};

function showFlashOk(){
	if (flashVisible) return;
	clearTimeout(flashID);

	var a = getElementsByClassName("sIFR-flash");
	for (var i=0; i< a.length; i++){
		a[i].style.visibility = "visible";
	}
	flashVisible = true;
};

function showFlash(){
	if (flashID != undefined) {
		clearTimeout(flashID);
	}

	flashID = setTimeout( "showFlashOk()", 500 );
};

function showMenu( node ) {
	clearTimeout( popID );


	if( typeof node == "string" )
		node = document.getElementById( node );

	if( last != null && last != node )
		hideMenu( last );

	else if( last == node ) {
		setInMenu( true );
		return;
	}

	//~ var pItem = document.getElementById( node.getAttribute( "pItemID" ) );
	var pItem = getElementsByAttr("expand", node.getAttribute( "pItemID" ))[0];

	var menuLeft = 0;
	var menuTop = pItem.offsetHeight;
	var tmp = pItem;
	while(tmp.tagName!="BODY") {
		if( tmp.tagName == "html:body" || tmp.tagName=="HTML") break;
		menuLeft += tmp.offsetLeft;
		menuTop  += tmp.offsetTop;
		tmp = tmp.offsetParent;
	}

	node.style.left = menuLeft - 2 + "px";
	node.style.top = menuTop + "px";
	node.style.zIndex = 1000;
	node.style.display = "block";
	setInMenu( true );
	last = node;
	tID = setTimeout( "hideMenu( last )", 500 );
};

function hideMenu( node ) {
	if( node == null ) {
		setInMenu( false );
		hideMenu( last );
		return;
	}

	if( typeof node == "string" )
		node = document.getElementById( node );

	if( !inMenu ) {
		node.style.display = "none";
		var pItem = document.getElementById( node.getAttribute( "pItemID" ) );
		last = null;
		clearTimeout( tID );

	} else {
		tID = setTimeout( "hideMenu( last )", 500 );
	}
};

function setInMenu( value ) {
	inMenu = value;
	if( !value ) {
		clearTimeout( popID );
	}
	value ? hideFlash() : showFlash();
};

function getElementsByClassName(c) {
	var ret = new Array();
	var j = 0;
	var objs = document.all ? document.all : document.getElementsByTagName("*");

	var l = objs.length;
	do {
		var o = objs[--l];
		if (o.className == c){
			ret.push(o);
		}

	} while (l);

    return ret;
};

function getElementsByAttr (aName, aValue, tName){
	var i, elms, attr, rslt = [];
	if(document.all || document.getElementsByTagName){
		if(tName){
			elms = document.all ? document.all.tags(tName.toUpperCase()) : document.getElementsByTagName(tName);

		} else {
			elms = document.all ? document.all : document.getElementsByTagName("*");
		}

		for(i = 0; i < elms.length; i++){
			attr = aName == "class" ? elms[i].className : elms[i].getAttribute(aName);
			if(attr){
				if(aValue && attr != aValue){
					continue;
				}
				rslt[rslt.length] = elms[i];
			}
		}
	}
	return rslt;
};

function addEvent( node, evtType, func ) {
	if( node.addEventListener ) {
		node.addEventListener( evtType, func, false );
		return true;
	} else if( node.attachEvent ) {
		return node.attachEvent( "on" + evtType, func );
	} else {
		return false;
	}
};

