window.viewport = {
    height: function() { 
        return $(window).height(); 
    },
    width: function() {
        return $(window).width();
    }
};

var Util = {
	max : function (a, b) {
		return (a >= b) ? a : b;
	},
	min : function (a, b) {
		return (a <= b) ? a : b;
	}
}

var Campaign = {
	swfID : 'campaign-swf',
	swf : null,
	stats : null,
	init : function () {
		swfobject.embedSWF("flashpub/Main.swf", "content", "100%", "100%", "9.0.0", false, false, {allowScriptAccess: "always", flashvars: '', base: 'flashpub/', wmode: "window"}, {id: Campaign.swfID});
		if (swfobject.hasFlashPlayerVersion("9.0.0")) {
			swfobject.addDomLoadEvent(Campaign.initFlash);
		}
		Campaign.stats = new Stats();
	},
	cleanUp : function () {
		
	},
	initFlash : function () {
		Campaign.swf = $('#' + Campaign.swfID);
		window.onresize = function() {
			var maxRatio = 2.1;
			var minWidth = 1000;
			var minHeight = 640;
			var browserWidth = viewport.width();
			var browserHeight = viewport.height();
			var flashWidth;
			var flashHeight;
			

			flashWidth = Util.max(browserWidth, minWidth);
			flashHeight = Util.max(browserHeight, minHeight);


			var ratio = flashWidth / flashHeight;
			if (ratio > maxRatio) {
				// too wide
				flashHeight = flashWidth / maxRatio;
				flashHeight = Util.max(flashHeight, minHeight);
			}
//			console.log('w: ' + flashWidth + ', h: ' + flashHeight + ', ratio: ' + (flashWidth/flashHeight));

			flashWidth = flashWidth + "px";
			flashHeight = flashHeight + "px";
			
			$('#container').css({width: flashWidth, height: flashHeight});
		};
		window.onresize();
	}
}
function Stats() {
	this.t = _gat._getTracker('UA-4666065-1');
	this.t._trackPageview();
};

Stats.prototype = {
	trackPageview: function(url) {
		if (url) {
//			alert('GA: ' + url);
			this.t._trackPageview(url);
		} else {
//			alert('GA: /fw09/');
			this.t._trackPageview();
		}
	}
}

function track (url) {
	Campaign.tmpTrack = url;
	setTimeout(function() {
		Campaign.stats.trackPageview('/fw09/' + Campaign.tmpTrack);
	}, 500);
	
}

function setState(stateString) {
	Campaign.tmpStateString = stateString;
	setTimeout(function () {
		window.location.hash = Campaign.tmpStateString;
		Campaign.stats.trackPageview('/fw09/'+ Campaign.tmpStateString);
	}, 500);
}
function getState() {
	Campaign.swf.get(0).getState(window.location.hash);
}


$(document).ready(function(){Campaign.init();});
window.onunload = Campaign.cleanUp;
