/*
setTimeout("loadFlash();", 30000);
setTimeout("showSkipAd();", 15000);

//Collaspe the loader DIV which overlays the flash movie
function loadFlash() {
    document.getElementById("loader").style.display = "none";
    RunLineRider();
}

//Show the skipAd DIV
function showSkipAd() {
    document.getElementById("SkipAd").style.visibility = "visible";
}

//Collaspe the SkipAd, Loader DIV
function skipAd() {
    document.getElementById("loader").style.display = "none";
    RunLineRider();
}
*/

/*
Sparkworkz Engine (c)2011 inXile entertainment
    v.1.0.0
    Requires jQuery
*/
window.swEngine = {
    
    //engine variables
    
    vars : {
        adTime : 30, //seconds to display ad
        adSkipTime : 15, //seconds before skip ad lin is shown
        allowAdSkip : true //allow ad skipping, true = skipping, false = no skipping
    },
    
    timers : { //name must be same as the function called
        showSkipAd : null, //timer for showing the skip ad link
        toggleGame : null //timer for automatically toggling flash game
    },
    
    funcs : {
        loadGame : null //function on page to display the game
    },
    
    doms : {
        preRollAd : null, //DOM obj for preroll DIV
        skipAd : null //DOM obj for skip ad link
    },
    
    //engine private methods
    
    setVar : function(vname, value){ //set a vars variable
        var self = window.swEngine;
        self.vars[vname] = value;
    },
    
    setVars : function(settings){ //pass in an object to adjust numerous vars
        var self = window.swEngine;
        $.extend(self.vars, settings);
    },
    
    clearTimer : function(tname){ //clears a timer
        var self = window.swEngine;
        if(self.timers[tname]){
            clearTimeout(self.timers[tname]);
            self.timers[tname] = null;
        }
    },
    
    setTimer : function(name, secs){ //sets a timer
        var self = window.swEngine;
        self.timers[name] = setTimeout("window.swEngine."+name+"();", secs*1000);
    },
    
    callFunc : function(fname){ //calls a given function
        var self = window.swEngine;
        if(self.funcs[fname]) self.funcs[fname].call();
    },
    
    //enigne methods
        
    showSkipAd : function(){ //shows the skip ad link
        var self = window.swEngine;
        if(self.vars.allowAdSkip) $(self.doms.skipAd).fadeIn('slow');
    },
    
    toggleGame : function(adskipped){ //function called on ad callback, timed out or skipped clicked
        var self = window.swEngine;
        if(self.vars.adTime > 0 || adskipped){
            self.clearTimer('showSkipAd');
            self.clearTimer('toggleGame');
            $(self.doms.preRollAd).remove();
            self.callFunc('loadGame');
            self.postToggleGame();
        }
    },
    
    postToggleGame : function(){}, //overwrite for post toggleGame callback
    
    init : function(prerollDOM, skipDOM, callback){ //initilization, requires preroll ID, skip link ID, load game callback
        var self = window.swEngine;
        self.doms.preRollAd = $('#'+prerollDOM).get(0);
        self.doms.skipAd = $('#'+skipDOM).get(0);
        self.funcs.loadGame = callback;
        
        if(self.vars.adTime > 0) self.setTimer('toggleGame', self.vars.adTime);
        if(self.vars.allowAdSkip) {
            $(self.doms.skipAd).click(function(){window.swEngine.toggleGame(true);});
            self.setTimer('showSkipAd', self.vars.adSkipTime);
        }
    }
};

window.loadFlash = function() {
	RunLineRider();
};

$(function(){
	window.swEngine.init('loader','SkipAd', window.loadFlash);
});
