/***********************************************************************
********************** GENERATED SECTION *******************************/
AGN_PROMO_STATIC_URL = "http://www.prizevillage.com/a/wiiFit";
AGN_GAME_STATIC_URL = "http://www.prizevillage.com/a/global/widgets/keno49";
AGN_WIDGETS_STATIC_URL = "http://www.prizevillage.com/a/global/widgets";
AGN_WIDGETS_PROD_STATIC_URL = "http://www.prizevillage.com/a/global/widgets";
AGN_STATIC_URL = "http://www.prizevillage.com/a"
AGN_URI = "/";
ADSTREAMS_URL = "http://server.adstreams.com";
WIDGET_VERSION = 714;
AGN_DEBUG = false;
AGN_DEBUG_OPTIONS = {};

/***********************************************************************
********************** GENERATED SECTION *******************************
************************************************************************/

var _head = document.getElementsByTagName("head")[0];

var _css1 = document.createElement('link');
_css1.type = 'text/css';
_css1.rel = 'stylesheet';
_css1.href = AGN_STATIC_URL + '/global/dojo/dojo/resources/dojo.css';
_css1.media = 'screen';
_head.appendChild(_css1);

var _css2 = document.createElement('link');
_css2.type = 'text/css';
_css2.rel = 'stylesheet';
_css2.href = AGN_STATIC_URL + '/global/dojo/dijit/themes/tundra/tundra.css';
_css2.media = 'screen';
_head.appendChild(_css2);

var _css3 = document.createElement('link');
_css3.type = 'text/css';
_css3.rel = 'stylesheet';
_css3.href = AGN_STATIC_URL + '/global/widgets/css/default.css';
_css3.media = 'screen';
_head.appendChild(_css3);

var _css4 = document.createElement('link');
_css4.type = 'text/css';
_css4.rel = 'stylesheet';
_css4.href = AGN_PROMO_STATIC_URL + '/css/custom.css';
_css4.media = 'screen';
_head.appendChild(_css4);

var _css5 = document.createElement('link');
_css5.type = 'text/css';
_css5.rel = 'stylesheet';
_css5.href = ADSTREAMS_URL + '/adBlender/css/ab.css';
_css5.media = 'screen';
_head.appendChild(_css5);

function agn_debug(option, message)
{
  if (AGN_DEBUG && AGN_DEBUG_OPTIONS[option])
  {
    if (window.console && console.log)
    {
      console.log(option + ': ' + message);
    }
    else
    {
      alert(message);
    }
  }
}

var xdHelper =
{
  initialized: false,
  queue: [],
  initialize: function()
  {
    if (this.initialized)
      return;

    this.name = 'flash_widget_xd';
    this.retrieveUrlDiv = this.name + '_div';
    this.retrieveUrlMovie = this.name + '_movie';

    var _div = document.getElementById(this.retrieveUrlDiv);
    if (_div == null)
    {
      var _div = document.createElement('div');
      _div.setAttribute('id', this.retrieveUrlDiv);
      _div.setAttribute('style', 'width: 0px; height: 0px;');
      var _body = document.getElementsByTagName("body")[0];
      _body.appendChild(_div);
    }

    agn_debug('xdHelper', 'in initialize');
    if (typeof(SWFObject) != 'undefined')
    {
      var retrieve_url = new SWFObject('/flash/retrieveUrl.swf', this.retrieveUrlMovie, '0', '0', '8', '#000000');
      retrieve_url.addParam('allowScriptAccess', 'always');
      retrieve_url.write(this.retrieveUrlDiv);

      this.initialized = true;
      agn_debug('xdHelper', 'deferring processQueue');
      setTimeout('xdHelper.processQueue();', 500);
    }
    else
    {
      agn_debug('xdHelper', 'deferring initialize');
      setTimeout('xdHelper.initialize();', 500);
    }
  },

  processQueue: function()
  {
    agn_debug('xdHelper', 'in processQueue');
    if (!this.initialized)
    {
        return;
    }

    var req = null;

    while (req = this.queue.shift())
    {
      this.retrieveUrl(req[0], req[1]);
    }
  },

  retrieveUrl: function(url, callback)
  {
    agn_debug('xdHelper', 'in retrieveUrl ' + callback + ' (' + url + ')');
    if (!this.initialized)
    {
      agn_debug('xdHelper', 'deferring retrieveUrl');
      return this.queue.push([url, callback]);
    }

    var flashMovie = document.getElementById(this.retrieveUrlMovie);

    if (flashMovie && flashMovie.retrieveUrl)
    {
      flashMovie.retrieveUrl(url, callback);
    }
  }
}

var ScriptLoader =
{
  request: null,
  loaded: {},
  queue: [],
  loading: false,
  load: function(url, burst)
  {
    if (!this.loaded[url])
    {
      if (!this.request)
      {
        if (window.XMLHttpRequest)
        {
          this.request = new XMLHttpRequest;
        }
        else if (window.ActiveXObject)
        {
          try
          {
            this.request = new ActiveXObject('MSXML2.XMLHTTP');
          }
          catch (e)
          {
            this.request = new ActiveXObject('Microsoft.XMLHTTP');
          }
        }
      }

      if (this.request)
      {
        // synchronous request!
        this.request.open('GET', url + this.getBurstToken(burst), false);

        this.request.send(null);

        if (this.request.status == 200)
        {
          this.processScript(this.request.responseText);
          this.loaded[url] = true;
        }
      }
    }
  },

  loadXd: function(url, burst, override)
  {
    if (this.loading && !override)
    {
      return this.queue.push([url, burst]);
    }

    if (!this.loaded[url])
    {
      this.loading = true;
      xdHelper.retrieveUrl(url + this.getBurstToken(burst), 'ScriptLoader.xdGetCallback');
    }
  },

  loadByScriptTag: function(url, burst)
  {
    if (!this.loaded[url])
    {
      this.loaded[url] = true;

      var _head = document.getElementsByTagName('head')[0];
      var _js = document.createElement('script');
      _js.setAttribute('language', 'javascript');
      _js.setAttribute('type', 'text/javascript');
      _js.setAttribute('src', url + this.getBurstToken(burst));
      _head.appendChild(_js);
    }
  },

  xdGetCallback: function(data, url)
  {
    this.loaded[this.getUrl(url)] = true;
    this.processScript(unescape(data));

    var req = null;

    if (req = this.queue.shift())
    {
      return this.loadXd(req[0], req[1], true);
    }
    else
    {
      this.loading = false;
    }
  },

  processScript: function(code)
  {
    var _head = document.getElementsByTagName('head')[0];

    var _js = document.createElement('script');
    _js.type = 'text/javascript';
    _js.text = code;
    _head.appendChild(_js);
  },

  getBurstToken: function(burst)
  {
    switch(burst)
    {
      case 'version':
      {
        return '?burst=' + WIDGET_VERSION;
      }
      case 'request':
      {
        return '?burst=' + new Date().getTime();
      }
      default:
      {
        return '';
      }
    }
  },

  getUrl: function(url)
  {
    url = url.split('?');

    return url[0];
  }
};

ScriptLoader.load('/javascripts/swfobject.js');
ScriptLoader.loadXd(ADSTREAMS_URL + '/adBlender/ab.js', 'request');


var djConfig = {
  parseOnLoad: true,
  baseUrl: '/javascripts/build/dojo',
  locale: 'en-us',
  modulePaths: {
    'dojo'  : '/javascripts/build/dojo'
  }
};
  
    ScriptLoader.load('/a/global/widgets/agn_complete.js', 'version');
  
/*
ScriptLoader.load("/javascripts/agn.js");
*/

/*
var _js = document.createElement('script');
_js.setAttribute('language', 'javascript');
_js.setAttribute('type', 'text/javascript');
_js.setAttribute('src', ADSTREAMS_URL + '/adBlender/ab.js');
_head.appendChild(_js);
*/

var _ad_counter = 0;

function dummy_callback(data, url)
{
  url = url.split('?');
  url = url[1].split('&');
  url = url[0].split('=');
  agn_debug('adBlender', 'callback AdBlenderTracking: #' + url[1]);
}

function receiveAdBlenderTracking(json)
{
  ++_ad_counter;
  agn_debug('adBlender', 'receiveAdBlenderTracking: #' + _ad_counter);
  xdHelper.retrieveUrl('http://www.prizevillage.com/player_track.php?cnt=' + _ad_counter  + '&rails=1' + '&json=' + escape(toJsonString(json)) + '&session_id=' + escape(dojo.cookie('_session_id')), 'dummy_callback');
}

// We set up a do / while loop with a label so we can
// break out of it if dojo is not loaded, but we won't
// actually be looping the code.

// Begin _dojo_loaded label
var _dojo_loaded_loop = false; // We don't actually want to loop
_dojo_loaded:
do {

  if (typeof dojo == 'undefined')
  {
    agn_debug('startup', 'dojo NOT loaded, script aborted');

    break _dojo_loaded;
  }


  dojo.registerModulePath("dojo", "/javascripts/dojo/dojo");


  if (window.console && console.log)
  {
    agn_debug('startup', 'dojo loaded');
  }

  function launchPopup(href)
  {
    var popup = window.open(href, 'popup', 'width=420,height=500,scrollbars,resizable');
    popup.focus();

    return false;
  }

  
dojo.declare("GameTemplate",
  [dijit._Widget, dijit._Templated],
  {
    promo_static_url: AGN_PROMO_STATIC_URL,
    game_static_url: AGN_GAME_STATIC_URL,
    widgets_static_url: AGN_WIDGETS_STATIC_URL,
    global_static_url: "/assets/global/widgets",
    widgetsInTemplate: true,
    executeScripts: true,

    postCreate: function()
    {
      var kenoGame = dojo.byId("keno_game");

      // Code for keno
      var so = new SWFObject(AGN_WIDGETS_PROD_STATIC_URL + '/flash/keno/keno49.swf', 'Keno49Flash', '100%', '100%', '8', '#cccccc');
      so.addParam('allowScriptAccess', 'always');
      so.addParam('scale', 'noscale');
      so.addParam('wmode', 'transparent');
      so.addVariable('preloadPath', AGN_WIDGETS_PROD_STATIC_URL + '/flash/keno/barLoader.swf');
      so.addVariable('width', 608);
      so.addVariable('height', 502);

      window.game_controller = new FlashGameController('Keno49Flash', 'keno49', 'http://wii.prizevillage.com', '76', 'wiiFit');
      window.game_controller.load_swf(so);
      window.game_controller.write();

      agnCheckLogin();
    }
  }
);


dojo.parser.parse();

// Google analytics tracking
if (typeof(pageTracker) == 'undefined')
{
  var pageTracker = null;
}
if (typeof(_gat) != 'undefined')
{
  if (pageTracker == null)
  {
    pageTracker = _gat._getTracker('UA-3569285-21');
    pageTracker._initData();
  }
  pageTracker._trackPageview();
  pageTracker._trackPageview('/game/init');
  agn_debug('ga', 'google tracker initialized');
}
else
{
  pageTracker =
  {
    _trackPageview: function(url)
    {
      agn_debug('ga', 'pageTracker unavailable: "' + url + '" not tracked');
    }
  }
  agn_debug('ga', 'google tracker init failed');
}


var wdgGame = null;

function createGameCallback(data, url)
{
    agn_debug('startup', 'in createGameCallback');
    wdgGame = new GameTemplate({templateString: unescape(data)}, dojo.byId("test_id"));

    function start_adblender() {
      $('howToPlay').hide();
      $('adBlenderWrapper').show();
      pageTracker._trackPageview('/adblender/start');
      startAdBlender('AS-E0C4F3-76');
    }
    
    start_adblender.delay(15);
    
}

agn_debug('startup', 'creating onload event');
Event.observe(window, 'load', function(e) {
  agn_debug('startup', 'in onload event');
  xdHelper.retrieveUrl(AGN_PROMO_STATIC_URL + '/html/layout.html', 'createGameCallback');
  xdHelper.initialize();
  pageTracker._trackPageview('/game/loaded');
});
imageObj = new Image();
imageObj.src="http://wingascard.com/a/80/images/splash/footer.gif";

imageObj = new Image();
imageObj.src="http://wingascard.com/a/80/images/splash/footer1.gif";
agn_debug('startup', 'script completed');

} while (_dojo_loaded_loop == true);

