/**
 * global gameinvasion js file
 */

/*************************************************************************************
* DOM scripting by brothercake -- http://www.brothercake.com/
* GNU Lesser General Public License -- http://www.gnu.org/licenses/lgpl.html
* allows other DOM scripting to run before window.onload;
**************************************************************************************/
function domFunction(f, a)	{
	var n = 0;
	var t = setInterval(function() {
		var c = true;
		n++;
		if(typeof document.getElementsByTagName != 'undefined' && (document.getElementsByTagName('body')[0] != null || document.body != null)) {
			c = false;
			if(typeof a == 'object') {
				for(var i in a) {
					if((a[i] == 'id' && document.getElementById(i) == null) || (a[i] == 'tag' && document.getElementsByTagName(i).length < 1))	{ 
						c = true; 
						break; 
					}
				}
			}
			if(!c) { f(); clearInterval(t); }
		}
		if(n >= 60) { clearInterval(t);}
	}, 250);
};

addClass = function ( obj, cName ) {
	if ( !obj.className.match(cName) )
		obj.className += " " + cName;
}

removeClass = function ( obj, cName ) {
	var classes = obj.className.split(" ");
	var newClass = "";
	for( j = 0; j < classes.length; j++ ) {
		if( cName != classes[j] )
			newClass += classes[j];
	}
	obj.className = newClass;
}


function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : 
    oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}



function initAffiliatePromo() {
	var module = document.getElementById("affiliatePromo");
	var tabs = getElementsByClassName(module,"div","*");	
	for( i = 0; i < tabs.length; i++ ) { 
		tabs[i].onclick = function( e ) {
			var target;
			if ( !e ) var e = window.event;
			if ( e.target ) target = e.target;
			else if ( e.srcElement ) target = e.srcElement;
			if ( target.nodeType == 3 ) target = target.parentNode;
			target.parentNode.parentNode.className = target.className;
			var module = document.getElementById("affiliatePromo");
			var promos = getElementsByClassName(module,"a","*");
			for( i = 0; i < promos.length; i++ ) {
				if ( promos[i].className == e.target.className )
					promos[i].style.display = "block";
				else promos[i].style.display = "none";
			}	
		}
	}
}
new domFunction(initAffiliatePromo, { 'affiliatePromo' : 'id'} );



function initNowInGameInvasionModule() {
	
	var module = document.getElementById("nowInGameInvasion");
	
	var next = getElementsByClassName(module,"img","next")[0];
	next.onclick = function () {
		var module = document.getElementById("nowInGameInvasion");
		var paths = getElementsByClassName(module,"li","*");
		for ( i = 0; i < paths.length; i++ ) {
			if ( paths[i].className == "active" ) {
				removeClass(paths[i], "active");
				var img = document.getElementById("nowInGameInvasionImage");
				var nextPath;
				if( i < paths.length - 1) {
					nextPath = paths[i+1].firstChild.nodeValue;
					addClass( paths[i+1], "active" );
					i = paths.length;
				}
				else {
					nextPath = paths[0].firstChild.nodeValue;
					addClass( paths[0], "active" );
					i = paths.length;
				} 
				img.src = nextPath;
			}
		}
	}
	
	var previous = getElementsByClassName(module,"img","previous")[0];
	previous.onclick = function () {
		var module = document.getElementById("nowInGameInvasion");
		var paths = getElementsByClassName(module,"li","*");
		for ( i = 0; i < paths.length; i++ ) {
			if ( paths[i].className == "active" ) {
				removeClass(paths[i], "active");
				var img = document.getElementById("nowInGameInvasionImage");
				var nextPath;
				if( i > 1) {
					nextPath = paths[i-1].firstChild.nodeValue;
					addClass( paths[i-1], "active" );
					i = paths.length;
				}
				else {
					nextPath = paths[paths.length-1].firstChild.nodeValue;
					addClass( paths[paths.length-1], "active" );
					i = paths.length;
				} 
				img.src = nextPath;
			}
		}
	}
}
new domFunction(initNowInGameInvasionModule, { 'nowInGameInvasion' : 'id'} );




function initMainNav() {
	
	var nav = document.getElementById("mainNav");
	nav.onclick = function() {
		var nav = document.getElementById("mainNav");
		nav.id = "mainNavVisible";
	}
	/*
	nav.onmouseout = function(e) {
		var nav = document.getElementById("mainNavVisible");
		nav.id = "mainNav";
	}
	*/
	
}
new domFunction(initMainNav, { 'mainNav' : 'id'} );

