/**
 * Funktion zum setzen des Wallpapers
 *
 */
var mf_wall_x = 490;
var mf_wall_y = 0;
var mf_wall_center = true;
var mf_wall_activated = false;

function mf_wall_init(mf_topAd, mf_rightAd) {
	eId('content_container').style.marginTop = mf_topAd - 10 + 'px';

	//document.getElementById('user_start_display').style.visibility = 'hidden';
	mf_wall_activated = true;
	mf_wall_y = 15;
}

/**
 * Funktion zum setzen des Super Leaderboards
 *
 */
function mf_super_init() {
	mf_adv_ctemp = eId('app_advertising_leaderboard_ph');
	if (!mf_adv_ctemp){
		return false;
	}	
	mf_adv_ctemp.className = "superSize";
	return true;
}

/**
 * Funktion, die einen Werbungscontainer in das aktivierungsScript mit aufnimmt!
 *
 * Zugehörige globale Variable: readyAdvertisingsToLoad
 */
var readyAdvertisingsToLoad = new Array();

function app_setAdvertisingToLoad(advType){
	readyAdvertisingsToLoad[readyAdvertisingsToLoad.length] = advType;
	return true;
}

/**
 * Funktion, die die Werbungs Container aktiviert und der Reihe nach positioniert
 *
 */
function app_activateAdvertisingContainers(){
	/** Prüfe die Fenstergröße für Skyscraper links/rechts **/
	app_checkWindowSizeForAdvertising();
	
	for (cP=0;cP<readyAdvertisingsToLoad.length;cP++){
		switch(readyAdvertisingsToLoad[cP]){
			case 'app_advertising_skyscraper_right':
				app_reposAdvertisingRightSkyscraperContainer(true);
			break;
			case 'app_advertising_skyscraper_left':
				app_reposAdvertisingLeftSkyscraperContainer(true);
			break;
			case 'app_advertising_leaderboard':
			case 'app_advertising_rectangle':
				/** Positionierung der WerbungsContainer + Aktivierung **/				
				app_reposAdvertisingPhContainer(readyAdvertisingsToLoad[cP],true);
			break;
			case 'app_advertising_pregame':
				app_reposAdvertisingPregameContainer();
				app_handlePregameAdvertising();
				break;
			default:
				/** nothing **/
				break;
		}
	}
}

/**
 * Funktion, die die Fenstergröße für Skyscraper links/rechts prüft
 *
 */
function app_checkWindowSizeForAdvertising(){
	if (window.innerWidth < advertisingWindowSizeX){
		elAdvRight = eId("app_advertising_skyscraper_right");
		elAdvLeft = eId("app_advertising_skyscraper_left");

		if (elAdvRight){
			elAdvRight.parentNode.removeChild(elAdvRight);
		}

		if (elAdvLeft){
			elAdvLeft.parentNode.removeChild(elAdvLeft);
		}
		eId("content_container").className = "";
		eId("precontent_container").className = "";
	}else if (advertisingWindowShift == "1" || advertisingWindowShift == true || advertisingWindowShift == 1){
		eId("content_container").className = "contentFloated";
		eId("precontent_container").className = "precontentWide";
	}
}

/**
 * Funktion, die einen bestimmten WerbungsContainer neupositioniert und ggf. aktiviert
 *
 */
function app_reposAdvertisingPhContainer(advContainerKey,activateContainer){
	/** nullify all function params **/
	
	advContainerPhObj = eId(advContainerKey);
	placeholderContainerPhObj = eId(advContainerKey+"_ph");

	if ((!advContainerPhObj) || (!placeholderContainerPhObj)){
		return false;
	}

	leftOffset = getElementX(placeholderContainerPhObj);
	topOffset = getElementY(placeholderContainerPhObj);
	advContainerPhObj.style.left = leftOffset+"px";
	advContainerPhObj.style.top = topOffset+"px";
	if (activateContainer && advContainerPhObj.style.display == "none"){
		advContainerPhObj.style.display = "block";
	}
}

/**
 * Funktion zum anzeigen der Werbung "Skyscaper Rechts"
 *
 */
function app_reposAdvertisingRightSkyscraperContainer(activateContainer){
	advContainerObj = eId("app_advertising_skyscraper_right");
	contentContainer = eId("content_container");

	if (!advContainerObj){
		return true;
	}
	
	leftOffsetValue = contentContainer.offsetLeft;
	topOffsetValue = contentContainer.offsetTop;	
	if (leftOffsetValue == 0 || leftOffsetValue == undefined){
		leftOffsetValue = contentContainer.parentNode.offsetLeft;
	}
	if (topOffsetValue == 0 || topOffsetValue == undefined){
		topOffsetValue = contentContainer.parentNode.offsetTop;
	}	

	newPosX = leftOffsetValue+contentContainer.offsetWidth+10;
	newPosY = topOffsetValue+10;
	
	advContainerObj.style.top = newPosY+"px";
	advContainerObj.style.left = newPosX+"px";

	if (activateContainer && advContainerObj.style.display == "none"){
		advContainerObj.className = "app_advertising_skyscraper";
		//advContainer.innerHTML = decodeAdvertising(advContainer.innerHTML);
		advContainerObj.style.display = "block";
	}
}

/**
 * Funktion zum anzeigen der Werbung "Skyscaper Links"
 *
 */
function app_reposAdvertisingLeftSkyscraperContainer(activateContainer){
	advContainer = eId("app_advertising_skyscraper_left");
	contentContainer = eId("content_container");

	if (!advContainer){
		return true;
	}
	
	leftOffsetValue = contentContainer.offsetLeft;
	topOffsetValue = contentContainer.offsetTop;	
	if (leftOffsetValue == 0 || leftOffsetValue == undefined){
		leftOffsetValue = contentContainer.parentNode.offsetLeft;
	}
	if (topOffsetValue == 0 || topOffsetValue == undefined){
		topOffsetValue = contentContainer.parentNode.offsetTop;
	}

	newPosX = leftOffsetValue-180;
	newPosY = topOffsetValue;

	advContainer.style.top = newPosY+"px";
	advContainer.style.left = newPosX+"px";

	if (activateContainer && advContainer.style.display == "none"){
		advContainer.className = "app_advertising_skyscraper";
		//advContainer.innerHTML = decodeAdvertising(advContainer.innerHTML);
		advContainer.style.display = "block";
	}
}


/**
 * VERALTET
 * Funktion zum anzeigen der Werbung "Skyscraper"
 *

function activateAdvertisingSkyscraperContainer(){
	advContainer = eId("app_advertising_skyscraper");
	placeholderContainer = eId("app_advertising_skyscraper_ph");
	placeholderControl = eId("app_advertising_skyscraper_control");

	if ((!advContainer) || (!placeholderContainer) || (!placeholderControl) || placeholderControl.style.display == "none"){
		return false;
	}

	leftOffset = getElementX(placeholderContainer);
	topOffset = getElementY(placeholderContainer);
	advContainer.style.left = leftOffset+"px";
	advContainer.style.top = topOffset+"px";

	if (advContainer.style.display == "none"){
		//advContainer.innerHTML = decodeAdvertising(advContainer.innerHTML);
		advContainer.style.display = "block";
	}
} 

function decodeAdvertising(advString){
	advString = advString.replace("<!--","");
	advString = advString.replace("&lt;!--","");
	advString = advString.replace("//-->","");
	advString = advString.replace("//--&gt;","");
	advString = Base64.decode(advString);
	return advString;
}*/


/**
 * Funktion zum anzeigen der Werbung "Pregame"
 *
 */
	function app_reposAdvertisingPregameContainer(){
		advContainer = eId("app_advertising_pregame");
		advInnerContainer = eId("app_advertising_pregame_content");
		placeholderContainer = eId("app_advertising_pregame_ph");
		gameContainer = eId("game_content");

		if ((!advContainer)){
			gameContainer = eId("game_content");
			gameContainer.style.height = originalGamesizeHeight+"px";
			gameContainer.style.width = originalGamesizeWidth+"px";
			gameContainer.style.clear = "both";
			gameContainer.style.float = "none";
			gameContainer.style.opacity = 0;
			gameContainer.style.overflow = "hidden";
			$("app_advertising_pregame_ph").style.display = "none";
			Effect.Appear('game_content', { duration: 1 ,from:0, to:1});
			resizeGameArea();
			app_reposAllAdvertisingContainers();
			return false;
		}

		leftOffset = getElementX(placeholderContainer);
		topOffset = getElementY(placeholderContainer);
		advContainer.style.left = leftOffset+"px";
		advContainer.style.top = topOffset+"px";

		if (advContainer.style.display == "none"){
			//advInnerContainer.innerHTML = decodeAdvertising(advInnerContainer.innerHTML);
			advContainer.style.display = "block";
			//advContainer.style.width = "728px";
			placeholderContainer.style.height = "500px";
		}

		/* now set gameContainer */
		gameContainer.style.width = "1px";
		gameContainer.style.height = "1px";

		resizeGameArea();

		/** neupositionierung aller WerbungsContainer **/
		app_reposAllAdvertisingContainers();
	}

/**
 * Funktion zum abschalen der Werbung "Pregame" und anzeigen des Spiels
 *
 */
function app_showGame(){
	if (pregameTimer){
		clearInterval(pregameTimer);
		pregameTimer = false;
	}

	gameContainer = eId("game_content");
	gameContainer.style.height = originalGamesizeHeight+"px";
	gameContainer.style.width = originalGamesizeWidth+"px";
	gameContainer.style.clear = "both";
	gameContainer.style.float = "none";
	gameContainer.style.opacity = 0;
	gameContainer.style.overflow = "hidden";
	
	advPhContainer = eId("app_advertising_pregame_ph");
	if (advPhContainer){		
		advPhContainer.style.display = "none";
	}	
	Effect.Fade('app_advertising_pregame', { duration: 1,afterFinish: resizeGameArea()});
	Effect.Appear('game_content', { duration: 1 ,from:0, to:1});
	
	/** neupositionierung aller WerbungsContainer **/
	app_reposAllAdvertisingContainers();
}

/**
 * Funktion und Variablen, die den Countdown (Prozentsatz + Slider) der Werbung "Pregame" aktiviert
 *
 */
var pregameTimer = false;
var currentPregameTimerPositionCounter = 0;

function app_handlePregameAdvertising(){
	maxContainerSize = 300;
	if (!pregameTimer){
		pregameTimer = setInterval('app_handlePregameAdvertising()',1000);
		currentPregameTimerPositionCounter = -1;
	}

	if (currentPregameTimerPositionCounter > 0 && currentPregameTimerPositionCounter < (pregameAdvTimer+1)){
		currentContainerSize = Math.round(currentPregameTimerPositionCounter*(maxContainerSize/pregameAdvTimer));
		eId("pregame_slider").style.width = Math.round(currentContainerSize)+"px";
		eId("pregame_slider_text").innerHTML = Math.round((currentContainerSize/maxContainerSize)*100)+" %";
	}else if(currentPregameTimerPositionCounter >= (pregameAdvTimer+1)){
		app_showGame();
	}

	currentPregameTimerPositionCounter++;
}

/**
 * Funktion zum neu positionieren aller ADV-Container
 *
 */
function app_reposAllAdvertisingContainers(){
	app_toggleResizeInUse(true);
	for (cP=0;cP<readyAdvertisingsToLoad.length;cP++){
		switch(readyAdvertisingsToLoad[cP]){
			case 'app_advertising_skyscraper_right':
				app_reposAdvertisingRightSkyscraperContainer(false);
			break;
			case 'app_advertising_skyscraper_left':
				app_reposAdvertisingLeftSkyscraperContainer(false);
			break;
			case 'app_advertising_leaderboard':
			case 'app_advertising_rectangle':
				/** Positionierung der WerbungsContainer + Aktivierung **/
				app_reposAdvertisingPhContainer(readyAdvertisingsToLoad[cP],false);
			break;
			default:
				/** nothing **/
			break;
		}
	}
	app_toggleResizeInUse(false);
}

function app_toggleResizeInUse(resizeStatus){
	app_resizeInUse = resizeStatus;
	return true;
}


/**
 * Leere Funktion später löschen!!!
 *
 */
function reposAllAdvertisingContainers(){
	return true;
}

/**
 * Funktion zum setzen des Cookies für die Fenstergröße für die Skyscraper Rechts/Links
 *
 */
function app_handleAdvCookie(){
	/** keine Fenstergröße gesetzt **/
	winSize = 0;
	if (window.innerWidth){
		winSize = window.innerWidth;
	}
	else if (document.body && document.body.offsetWidth){
		winSize = document.body.offsetWidth;
	}
	
	/** erste Bedingung: Größe null oder noch nicht festgelegt :: zweite Bedingung: Fenstergröße hat sich während der Sitzung verändert **/
	if ((advertisingWindowSize == "" || advertisingWindowSize == 0) || advertisingWindowSize != winSize){
		new Ajax.Request("/home/remote_set_windowsize/"+winSize,{asynchronous:true, evalScripts:true});
	}
}



/****************************
 * AutoAdvRepositioning		*
 ****************************
 * Funktionsbibliothek zum Automatischen/Neusetzen der Werbung
 *
 * (c) millepondo services
 * 2010-06-22
 *
 */

/** Werbung neupositionieren, wenn sich die Fenstergröße (LIVE) verändert! **/
var app_resizeInUse = false;
window.onresize = function(event) {
	if (!app_resizeInUse){
		app_reposAllAdvertisingContainers();
	}
}

/** Setzen/überprüfen des Cookies nach Laden des Fensters **/
window.onload = function(){
	app_handleAdvCookie();
	app_activateAdvertisingContainers();
}
/*** AutoAdvRepositioning ***/