/**
 * Synacor Syndication Bootloader
 * @author Portal <CSE-Portal@synacor.com>
 * @author Michael Collins <mcollins@synacor.com>
 * @copyright Copyright (c), Synacor, Inc., 2011-12, All Rights Reserved
 */

if (!window.SynS9nQueue)
{
	window.SynS9nQueue = [];
}

//Begin Scopespacing
(function() {
var s9nloader = function()
{

var s9nloader = arguments.callee;

function getSynConfig()
{
	var Syn;
//<![CDATA[
function Syn(){}
Syn.Config={"Domain":"cincibell","PortalRoot":"\/","WebservicesUrl":"\/webservices\/index\x2ephp","Username":"","ProxyHostGeneralUrl":"http:\/\/appserv\x2egarnet\x2esynacor\x2ecom\/"};
Syn.Config.Framework={"LoggedIn":false,"Session":"a2db99966bb6d1b92d2940b6ab51b1b1bd7eeb00-1369012221","UserId":"","AuthToken":"","Client":"cincibell","Site":"cincibell","Page":"page:\/\/Synacor\/Portal\/Pages\/Syndication\/","Locale":"en_US","AssetsRoot":"http:\/\/static\x2egarnet\x2esynacor\x2ecom\/assets\/","ConsolidatorUrl":"http:\/\/static\x2egarnet\x2esynacor\x2ecom\/assets\/res\x2ephp","ApiRoot":"http:\/\/web\x2esynacor\x2ecom\/api\/","PortalRoot":"http:\/\/www\x2ecincinnatibell\x2enet\/","AppServer":"http:\/\/appserv\x2egarnet\x2esynacor\x2ecom\/","Javascripts":[],"Stylesheets":{"en_US\/globals\/styles\/global_s9n\x2ecss":true},"DefaultTrackingModule":"Image","ModTag":"c4ea21bb"};
//]]>

	return Syn;
}

// List of rescon scripts
var scripts = [];
// List of rescon styles
var styles = ["http:\/\/static.garnet.synacor.com\/assets\/res.php?s;cincibell;en_US;c4ea21bb;en_US(globals(styles(global_s9n"];

// List of zones contents as urlencoded strings
var zones = [];


// List of identifiers to place the content into
var idmap = [];

// No bootstrap needed. Load scripts/styles with Syn.UIFileMgr and append to the DOM, return.
if (window.Syn)
{
	//New scope
	(function()
	{
		var newsyn = getSynConfig();

		Syn.$.each( newsyn.Config.Framework.Stylesheets, function(k,v){ styles.push(k);  });
		Syn.$.each( newsyn.Config.Framework.Javascripts, function(k,v){ scripts.push(k); });

		Syn.UIFileMgr.loadStyleSheets( styles );
		Syn.UIFileMgr.loadJavaScripts( scripts, function()
		{
			Syn.$(idmap).each( function(i)
			{
				if (this)
				{
					Syn.$('#'+this).html( zones[i] );
				}
			});
		});

	})();

	s9nloader.oncomplete();
	return;
}
else
{
	Syn = getSynConfig();
	Syn.Config.Framework.Syndicated = true;

	// We don't have jQuery yet, so we need a script bootstraper the hard way
	Syn.BootstrapScript = function(src,callback)
	{
		var head = document.getElementsByTagName("head")[0] || document.documentElement;
		var script = document.createElement("script");
		script.src = src;
		var done = false;
		// Attach handlers for all browsers
		script.onload = script.onreadystatechange = function()
		{
			if ( !done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") )
			{
				done = true;
				callback();

				// Handle memory leak in IE
				script.onload = script.onreadystatechange = null;
				if ( head && script.parentNode ) {
					head.removeChild( script );
				}
			}
		};

		head.insertBefore( script, head.firstChild );
	}
	window.Syn = Syn;
}

// Final loading stage: Load Stylesheets and append the content to the DOM
var bootstrap_ready = function()
{
	Syn.$(document).ready( function()
	{
		var i,
			p = 0,
			max_polls = 10,
			f = function() {
				p++;
				return (p === max_polls) || (Syn.$('div.s9n_style_load').css('display') === 'inline-block');
			};

		// Load empty divs with load testing class
		Syn.$(window).trigger('s9n_rescon_loaded');
		for (i=0;i<idmap.length;i++)
		{
			Syn.$('#'+idmap[i]).html( '<div class="s9n_style_load"></div>' );
		}

		// Load styles into the head tag
		for (i=0;i<styles.length;i++)
		{
			if (styles[i])
			{
				Syn.$.getStyle(styles[i]);
			}
		}

		// Poll our containers to see if the stylesheets have loaded
		// before injecting components into the dom.
		(function timer() {
			setTimeout(function() {
				var res = f();
				if (!res)
				{
					timer();
				}
				else
				{
					for (i=0;i<idmap.length;i++)
					{
						Syn.$('#'+idmap[i]).html( zones[i] );
					}
					Syn.$('pre.scroll_loader:in-viewport').showComment();
					s9nloader.oncomplete();
				}
			}, 100);
		})();
	});
};

// Recurse over rescon scripts and load in succession to avoid dependency errors
var bootstrap_script_callback = function()
{
	var src = scripts.shift();
	if (Syn && !src)
	{
		bootstrap_ready();
		return;
	}
	Syn.BootstrapScript( src, bootstrap_script_callback );
}

// Start the bootstrap process
bootstrap_script_callback();

};// End s9nloader function

var SynS9nQueue = window.SynS9nQueue;
s9nloader.oncomplete = function()
{
	SynS9nQueue.shift();

	if (!SynS9nQueue.length)
	{
		Syn.$(window).trigger('s9n_loaded');
		return;
	}

	SynS9nQueue[0]();
};

SynS9nQueue.push( s9nloader );
if (SynS9nQueue[0] == s9nloader )
{
	s9nloader();
}

})(); //End Scopespacing and execute

/**
 * SERVER: (no cutename) web11.garnet.synacor.com
 * VHOST: www.cincinnatibell.net on 10.10.8.112
 */
