//define preroll vars
var tmrSwfPreload;
var tmrPrerollAd;
var tmrPrerollAdClose;
var timePrerollAdClose = 5;
var flashObjID = "flashobj_mc";

function change_preroll_time(sec) {
	clearTimeout(tmrPrerollAd);
	clearTimeout(tmrPrerollAdClose);
	tmrPrerollAd = setTimeout("preload_game();",sec*1000);
	tmrPrerollAdClose = setTimeout("show_close_ad();",timePrerollAdClose*1000);
}

function change_preroll_close_time(sec) {
	clearTimeout(tmrPrerollAdClose);
	tmrPrerollAdClose = setTimeout("show_close_ad();",sec*1000);
}

function show_close_ad() {
	jQuery('#close-preroll').css('display', 'inline');
}

function show_ad(sec) {
	tmrPrerollAd = setTimeout("preload_game();",sec*1000);
	tmrPrerollAdClose = setTimeout("show_close_ad();",timePrerollAdClose*1000);
	jQuery('#preroll').css('display', 'block');
	jQuery('#game').css('display', 'none');
}

function close_ad() {
	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($("#"+flashObjID).attr("src"));
            if(fileExtension != null && fileExtension == "swf") {
                    //Initialize preloader progress bar
                    tmrSwfPreload = setTimeout("percentLoadedSWF();",1000);
            } else {
                slideGamePage();
            }
        }
}

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

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;
		case "spotx":
			//spot exchange initialized
			change_preroll_time(15);
		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;
		case "spotx":
			//spotx fallback
			create_iframe_fallback("/ads/fallbacks/spotx.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;
		case "spotx":
			//spotx completed
			preload_game();
		break;
	}
}

//iframe create function
function create_iframe_fallback(url,width,height) {
	jQuery('#preroll-ad').html("");
	jQuery('#preroll-ad').empty();
	
	jQuery('<iframe />', {
	src: url,
	width: width,
	height: height,
	frameBorder: 0,
        scrolling: 'no'
	}).appendTo('#preroll-ad');
}
