/*
**************************************
Ads Loader v3.0 By Wouter Veneklaas
**************************************
*/

// define timers
var tmrSwfPreload;
var tmrPrerollAd;
var tmrPrerollAdClose;
// define preroll vars
var defaultTimePrerollAd = 15;
var defaultTimePrerollAdClose = 5;
var timePrerollAd;
var currentTimePrerollAd;
var currentTimePrerollProgressbar = 0;
var timePrerollAdClose;
var adStarted = false;
// define flashobj
var flashObjID = "flashobj_mc";
// show progressbar
var showProgressbar = true;

//add preloader css
document.write('<style type="text/css">#game{display:none;}</style>');

function preroll_progressbar() {
	currentTimePrerollProgressbar++;
	var percentage_loaded = Math.round((currentTimePrerollProgressbar/(currentTimePrerollAd/1000))*100);
	jQuery( "#progressbar" ).progressbar( "option", "value", percentage_loaded );
	jQuery( "#progressbar_text" ).html(percentage_loaded+"%");
	
	if(percentage_loaded < 100) {
		setTimeout("preroll_progressbar();",1000);
	}
}

function change_preroll_time(sec) {
	if(adStarted == false) {
		timePrerollAd = sec;
	} else if(jQuery('#preroll').css('display') != "none") {
		if(typeof(timePrerollAdClose) == undefined || timePrerollAdClose == null) {timePrerollAdClose = defaultTimePrerollAdClose;}
		clearTimeout(tmrPrerollAd);
		clearTimeout(tmrPrerollAdClose);
		tmrPrerollAd = setTimeout("preload_game();",sec*1000);
		tmrPrerollAdClose = setTimeout("show_close_ad();",timePrerollAdClose*1000);
		
		currentTimePrerollAd = sec*1000;
		currentTimePrerollProgressbar = 0;
	}
}

function change_preroll_close_time(sec) {
	if(adStarted == false) {
		timePrerollAdClose = sec;
	} else if(jQuery('#preroll').css('display') != "none") {
		clearTimeout(tmrPrerollAdClose);
		jQuery('#close-preroll').css('display', 'none');
		tmrPrerollAdClose = setTimeout("show_close_ad();",sec*1000);
	}
}

function show_close_ad() {
	if(jQuery('#preroll').css('display') != "none") {
		jQuery('#close-preroll').css('display', 'inline');
	}
}

function show_ad() {
	if(typeof(timePrerollAd) == undefined || timePrerollAd == null) {timePrerollAd = defaultTimePrerollAd;}
	if(typeof(timePrerollAdClose) == undefined || timePrerollAdClose == null) {timePrerollAdClose = defaultTimePrerollAdClose;}

	tmrPrerollAd = setTimeout("preload_game();",timePrerollAd*1000);
	currentTimePrerollAd = timePrerollAd*1000;
	tmrPrerollAdClose = setTimeout("show_close_ad();",timePrerollAdClose*1000);
	
	jQuery('#preroll').css('display', 'block');
	jQuery('#game').css('display', 'none');
	
	// Progressbar
	if(showProgressbar) {
		jQuery("#progressbar").progressbar({
			value: 0 
		});
		preroll_progressbar();
	}
	
	adStarted = true;
}

function close_ad() {
	//clear all, else sound wont stop
	jQuery('#preroll-ad').html("");
	jQuery('#preroll-ad').empty();
	jQuery('#preroll-ad').remove();

	jQuery('#preroll').html("");
	jQuery('#preroll').empty();
	jQuery('#preroll').remove();
}

function preload_game() {
	if(jQuery('#game').css('display') != "block") {
		close_ad();
		jQuery('#game').css('display', 'block');

		//Show only if game is Flash movie
		var fileExtension = /[^.]+$/.exec(jQuery("#"+flashObjID).attr("src")).toString();
		if(fileExtension == "swf") {
			//Initialize preloader and progress bar
			preload_start(fileExtension);
			tmrSwfPreload = setTimeout("percentLoadedSWF();",100);
		} else {
			preload_compleet(fileExtension);
		}
	}
}

function percentLoadedSWF() {
    var flashMovie = getFlashMovieObject("" + flashObjID);
    var loaded = flashMovie.PercentLoaded();
	if ( (loaded >= 100) || (loaded < 0) ) {
		jQuery('#game-loading-text').css('display', 'none');
		preload_compleet('swf');
		clearTimeout(tmrSwfPreload);
	} else {
		jQuery('#game-loading-text').css('display', 'block');
		tmrSwfPreload = setTimeout("percentLoadedSWF();",100);
	}
}

function preload_start(contentType) {
	if(typeof PreloaderCallbackBefore == 'function') {
		// callback function invoked before SWF is loaded
		PreloaderCallbackBefore(contentType);
	}
}

function preload_compleet(contentType) {
	if(typeof jal_PreloaderCallbackAfter == 'function') {
		// callback function invoked after the SWF is loaded
		jal_PreloaderCallbackAfter(contentType);
	}
}
		
function getFlashMovieObject(movieName) {
    if (window.document[movieName]) {
        return window.document[movieName];
    }
    if (navigator.appName.indexOf("Microsoft Internet") == -1) {
        if (document.embeds && document.embeds[movieName]) {
            return document.embeds[movieName];
        }
    } else {
        return document.getElementById(movieName);
    }
}


/*
***********************************
Ad functions for external partners
***********************************
*/

// Ad initialized and completed functions
function ad_initialized(partner) {
	switch (partner) {
		case "afg":
			//adsense for games initialized
		break;
		case "smartclip":
			//smartclip initialized
			change_preroll_time(35);
		break;
		case "videostrip":
			//videostrip initialized
			change_preroll_time(25);
		break;
	}
}

function ad_fallback(partner) {
	switch (partner) {
		case "afg":
			//adsense for games fallback
		break;
		case "smartclip":
			//smartclip fallback
			create_iframe_fallback("/ads/fallbacks/smartclip.html",550,480);
			change_preroll_time(defaultTimePrerollAd);
		break;
		case "videostrip":
			//videostrip fallback
			create_iframe_fallback("/ads/fallbacks/videostrip.html",550,480);
			change_preroll_time(defaultTimePrerollAd);
		break;
	}
}

function ad_completed(partner) {
	switch (partner) {
		case "afg":
			//adsense for games completed
			preload_game();
		break;
		case "smartclip":
			//smartclip completed
			preload_game();
		break;
		case "videostrip":
			//videostrip completed
			preload_game();
		break;
	}
}

//iframe create function
function create_iframe_fallback(url,width,height) {
	jQuery('#preroll-ad').html("");
	jQuery('#preroll-ad').empty();

	var ifrm = document.createElement("IFRAME");
	ifrm.setAttribute("src", url);
	ifrm.style.width = width+"px";
	ifrm.style.height = height+"px";
	ifrm.frameBorder = 0;
	ifrm.scrolling = "no";
	document.getElementById("preroll-ad").appendChild(ifrm);
}

//old speeleiland functions
function ad_loaded(adType) {}
function afg_preload_game() {preload_game();}
function afg_loaded() {change_preroll_time(60);}

