// Init tc_sweepstakes
// Pre-DOM: Load Global resource files/libraries that are NOT dependent on the DOM being ready
// Load js
init.preload.js('lib/jquery/jquery-ui-1.8.5.custom.min.js');
init.preload.js('lib/jquery/plugin/jquery.postmessage.js');
init.preload.js('app/search-flyout.js');
init.preload.js('lib/sni-dropdown.js');
init.preload.js('lib/log.js');

// Load css
init.preload.css('sweeps-tc.css');

if (browser.msie7) {
	init.preload.css('ie7.css');
} else if (browser.msie6) {
	init.preload.css('ie6.css');
	init.preload.js('lib/supersleight.js'); // IE 6 only
}

var now = new Date();

var tcm = {
	sweepstakes:function(data) {
		sweeps.id = data.triviaid;
	},
	datetime:function(data) {
		sweeps.datetime = data.datetime;
		init.preload.js(sweeps.sweepsJsonUrl(), true);  // Uncomment this for use as an alternate call hook to load the json data files in sequence 
	}
};

var sweeps = {
    id:1,
	datetime:now,
    iframeUrl:function() {
	    var sweepsId = sweeps.id;
	    var path = document.location.pathname.toLowerCase();
	    var urlPath = (path.indexOf("registration") > 0) ? "sweeps-2" : (path.indexOf("already-registered") > 0) ? "sweeps-2" : (path.indexOf("trivia-introduction") > 0) ? "sweeps-3" : (path.indexOf("trivia-game") > 0) ? "sweeps-4" : (path.indexOf("trivia-answer") > 0) ? "sweeps-5" : (path.indexOf("instant-win") > 0) ? "sweeps-6" : (path.indexOf("spread-the-word") > 0) ? "sweeps-7" : "sweeps-1";
	    var url = 'http://api.scrippsnetworks.com/api/travel-channel/trivia-instant-win/' + urlPath + '&snd_sweeps_s=' + sweepsId;
	    return url;
    },
    sweepsJsonUrl:function() {
	    var today = new Date(sweeps.datetime);
	    var yyyy = today.getFullYear();
	    var mm = ((today.getMonth()) + 1) + "";
	    mm = (mm.length == 1) ? "0" + mm : mm;
	    return "http://common.scrippsnetworks.com/common/sweeps/travelChannelMonthly/tcm-sweepstakes-" + yyyy + "-" + mm + ".js";
    },
	datetimeUrl:function() {
		//var url = "http://json-time.appspot.com/time.json?tz=America/New_York&callback=tcm.datetime"
		var url = "http://www.travelchannel.com/travel/time.js?callback=tcm.datetime"; // Use this once the travel.war service has been deployed
	    return url;
    }
};

init.preload.js(sweeps.datetimeUrl(), true);
//init.preload.js(sweeps.sweepsJsonUrl(), true);  // If the json data file sequence becomes an issue, comment this line and uncomment the one in the tcm.datetime() function instead

// Post-DOM: Load all js files/libraries that ARE dependent on the DOM being ready
function moduleReady() {
	
	var $ = jQuery;
	
	// Keep track of the iframe height.
	var if_height;
	var height = (browser.msie) ? 'height="1072"' : '';
	
	var src = sweeps.iframeUrl() + '#' + encodeURIComponent(document.location.href);
	
	// Append the Iframe into the DOM.
	var iframeSrc = '<iframe id="sweeepsiframe" name="sweepsiframe" src="' + src + '" width="100%" height="1185px" scrolling="no" frameborder="0" allowtransparency="true"><\/iframe>';
	var iframeSrcSafari = '<iframe id="sweeepsiframe" name="sweepsiframe" onload="submitIframeForm();" src="' + src + '" width="100%" height="1185px" scrolling="no" frameborder="0" allowtransparency="true"><\/iframe><form id="iframeform" enctype="application/x-www-form-urlencoded" action="' + src + '" target="sweepsiframe" action="post"></form>';
	
	var isSafari = (/Safari/.test(navigator.userAgent));
	
	function submitIframeForm() {
		$("#iframeform").submit();
	}
	
	if (isSafari) {
		loadIframe(iframeSrcSafari);
	} else {
		loadIframe(iframeSrc);
	}
	
	function loadIframe(html) {
		var iframe = $(html).appendTo('#sweeps-whitebox');
		if (isSafari) {
			submitIframeForm();
		}
	}
	
	$.receiveMessage(function(e) {
		// console.log("parent e.data=" + e.data);
		if (e.data === 'registration') {
			gotoUrl('/sweepstakes/registration');
		} else if (e.data === 'already-registered') {
			gotoUrl('/sweepstakes/already-registered');
		} else if (e.data === 'trivia-introduction') {
			gotoUrl('/sweepstakes/trivia-introduction');
		} else if (e.data === 'trivia-game') {
			gotoUrl('/sweepstakes/trivia-game');
		} else if (e.data === 'trivia-answer') {
			gotoUrl('/sweepstakes/trivia-answer');
		} else if (e.data === 'instant-win') {
			gotoUrl('/sweepstakes/instant-win');
		} else if (e.data === 'spread-the-word') {
			gotoUrl('/sweepstakes/spread-the-word');
		} else {
			// Get the height from the passsed data.
			var h = Number(e.data.replace(/.*if_height=(\d+)(?:&|$)/, '$1'));
			h = h + 50; // adding 50 pixels so testers can see submit button and test
			
			if (!isNaN(h) && h > 0 && h !== if_height) {
				// Height has changed, update the iframe.
				iframe.height(if_height = h);
			}
		}
	}); // , 'http://local.scrippsnetworks.com:8080'
	
}

function gotoUrl(url) {
	this.location.href = url;
	return false;
};


