var jsReady = false;
var requiredMajorVersion = 10;
var requiredMinorVersion = 0;
var requiredRevision = 32;
var alternateMajorVersion = 9;
var alternateMinorVersion = 0;
var alternateRevision = 124;

var flashVersion = 0;

var flashvars;
var params;
var attributes;

function init() {
	var qString = location.search.toLowerCase();
	
	if (qString.indexOf("?genre=") >= 0) {
		var genreString = qString.split("?genre=")[1];
		flashvars = {flashnav:"false",genre:genreString.toLowerCase()};
	} else {
		flashvars = {flashnav:"false"};
	}
	params = {
		bgcolor:"#000000",
		align:"lt",
		scale:"noScale",
		menu:"false",
		wmode:"opaque",
		allowScriptAccess:"always"
	};
	attributes = { };

	var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
	
	if (!hasRequestedVersion) {
		// check for flash 9
		hasRequestedVersion = DetectFlashVer(alternateMajorVersion, alternateMinorVersion, alternateRevision);
		if (!hasRequestedVersion) {
			// no flash, no continue
			if (versionStr == -1) {
				// no flash at all, refer user to jointmn site
				flashInstallFailed();
			} else {
				$(".flash-content-container").addClass("upgrade");
				$(".flash-content-container").append('<a href="javascript:showMainContent();" class="upgrade-click"><!-- upgrade button --></a>');
			}
		} else {
			// no flash
			flashVersion = 9;
			$(".flash-content-container").addClass("alternate");
			$(".flash-content-container").append('<a href="javascript:showMainContent();" class="upgrade-click"><!-- upgrade button --></a>');
			$(".flash-content-container").append('<a href="javascript:showAlternateContent();" class="continue-click"><!-- upgrade button --></a>');
		}
	} else {
		// full experience
		flashVersion = 10;
		showMainContent();
	}
	
	jsReady = true;
}

$(document).ready(init);

function showMainContent() {
	$(".upgrade-click").remove();
	$(".continue-click").remove();
	$(".flash-content-container").removeClass("noflash");
	$(".flash-content-container").removeClass("upgrade");
	$(".flash-content-container").removeClass("alternate");
	
	swfobject.embedSWF("swf/Posters.swf", "flash-content", "100%", "100%", "10.0.32", "swf/playerProductInstall.swf", flashvars, params, attributes, flashStatus);
	swfobject.embedSWF("swf/LogoFade.swf", "logo", "72", "58", "8.0", "swf/playerProductInstall.swf", flashvars, params, attributes);
}

function showAlternateContent() {
	// remove little box from div
	$(".upgrade-click").remove();
	$(".continue-click").remove();
	$(".toggle-container").remove();
	$(".flash-content-container").removeClass("noflash");
	$(".flash-content-container").removeClass("upgrade");
	$(".flash-content-container").removeClass("alternate");
	
	swfobject.embedSWF("swf/Posters_FP9.swf", "flash-content", "100%", "100%", "9.0.124", "swf/playerProductInstall.swf", flashvars, params, attributes, flashStatus);
	swfobject.embedSWF("swf/LogoFade.swf", "logo", "72", "58", "8.0", "swf/playerProductInstall.swf", flashvars, params, attributes);
}

function flashStatus(e) {
	if (!e.success) {
		flashInstallFailed();
		//trackLink('jointhemovienetwork: flash: no success'); 
	} else if (e.success) {
		// microsite flash tracking
		var axel = Math.random() + "";
		var a = axel * 10000000000000;
		$("body").append('<iframe src="http://fls.doubleclick.net/activityi;src=2314597;type=movie937;cat=movie132;ord=' + a + '?" width="1" height="1" frameborder="0"></iframe>');
		trackLink('jointhemovienetwork: flash: success');
	}
}

function flashInstallFailed() {
	if (flashVersion == 9) {
		$(".flash-content-container").remove();
		$("#footer").before('<div class="flash-content-container"><div id="flash-content"><!-- flash content --></div></div>');
		showAlternateContent();
		// microsite flash tracking
		var axel = Math.random() + "";
		var a = axel * 10000000000000;
		$("body").append('<iframe src="http://fls.doubleclick.net/activityi;src=2314597;type=movie937;cat=micro871;ord=' + a + '?" width="1" height="1" frameborder="0"></iframe>');
		trackLink('jointhemovienetwork: flash: version 9');
	} else {
		$("#flash-topnav").hide();
		$(".flash-content-container").remove();
		$("#footer").before('<div class="flash-content-container noflash"><!-- no flash --></div>');
		$(".flash-content-container").click(function() {
			window.open("http://www.jointmn.ca", "join");
		});		
		trackLink('jointhemovienetwork: flash: failure');
	}
}

function toggleView() {
	$('.toggle.grid').css('margin-top', ($('.toggle.grid').css('margin-top') == '-36px') ? '0px' : '-36px');
	$('.toggle.az').css('margin-top', ($('.toggle.az').css('margin-top') == '-36px') ? '0px' : '-36px');
	sendToActionScript(($('.toggle.grid').css('margin-top') == '-36px') ? "grid" : "az");
}

function isReady() {
	return jsReady;
}

function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}

function sendToActionScript(value) {
	if (thisMovie("flash-content")["sendToActionScript"]) {
		thisMovie("flash-content").sendToActionScript(value);
	}
}

function sendToJavaScript(value) {
	if (value == "topnav" || value == undefined) {
		$("#flash-topnav").show();
	} else if (value == "grid") {
		$('.toggle.grid').css('margin-top', '-36px');
		$('.toggle.az').css('margin-top', '0px');
	} else if (value == "az") {
		$('.toggle.grid').css('margin-top', '0px');
		$('.toggle.az').css('margin-top', '-36px');
	}
}

function trackGenre(genreId) {
	var genre = '';
	if (genreId == "1") {
		genre = 'action';
	} else if (genreId == "2") {
		genre = 'comedy';
	} else if (genreId == "3") {
		// DRAMA
		genre = 'drama';
	} else if (genreId == "4") {
		// FAMILY
		genre = 'family';
	} else if (genreId == "5") {
		// MODERN GREATS
		genre = 'modern greats';
	} else if (genreId == "6") {
		// INDIE
		genre = 'indie';
	}
	if(genre != '') genre = ': ' + genre;
	
	trackLink('winter movies campaign: genre select' + genre);
}

//omniture tracking function:
function trackLink(name, eventName) {
	var s=s_gi(s_account);
	if(eventName && eventName != '') {
		s.linkTrackVars="events";
		s.linkTrackEvents=eventName;
		s.events = eventName;
	}
	s.tl(this, 'o', name);
	s.linkTrackVars="None"
	s.linkTrackEvents="None"
}