
/***************************************************************************************************/

/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

/***************************************************************************************************/

var Utils = {
	REQUIRED_FLASH_VERSION: 9,
	TIMEZONE_ET: 0,
	TIMEZONE_MT: 1,
	TIMEZONE_COOKIE: 'tz',
	TIMEZONE_CURRENT: null,

	hasFlash: function() {
		return (deconcept.SWFObjectUtil.getPlayerVersion().major >= this.REQUIRED_FLASH_VERSION);
	},
	
	writeFlashText: function(content, container, width, height, fontSize, fontColor, align) {		
		var parent = (typeof container == 'string')? $(container) : container;
		var dimensions = {};
		fontColor = fontColor.replace('#', '');
		width = (typeof width == 'string')? width.replace('px', '') : ''+width;
		height = (typeof height == 'string')? height.replace('px', '') : ''+height;
		
		dimensions.width = width;
		dimensions.height = height;
		
		if(width.indexOf('%') >= 0 || height.indexOf('%') >= 0) {
			var parentDimensions = parent.getDimensions();
			if(width.indexOf('%') >= 0) {
				width = Math.round(parseInt(width.replace('%', '')) / 100);
				dimensions.width = width * parentDimensions.width;
			}
			
			if(height.indexOf('%') >= 0) {
				height = Math.round(parseInt(height.replace('%', '')) / 100);
				dimensions.height = height * parentDimensions.height;
			}
		}
		
		var fo = new SWFObject("/images/common/flashtext.swf", "rss_title", dimensions.width, dimensions.height, this.REQUIRED_FLASH_VERSION);
		fo.addParam("wmode", "transparent");
		fo.addVariable("a", align);
		fo.addVariable("c", fontColor);
		fo.addVariable("s", fontSize);
		fo.addVariable("t", content);
		fo.write(parent);
	},
	
	/*
	
	Adapted from: http://homepage.ntlworld.com/bobosola
	
	Correctly handle PNG transparency in Win IE 5.5 & 6.
	http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
	
	*/
	pngFix: function() {
		try {
			var arVersion = navigator.appVersion.split("MSIE")
			var version = parseFloat(arVersion[1])
			
			if ((version >= 5.5) && (document.body.filters)) 
			{
			   for(var i=0; i<document.images.length; i++)
			   {
				  var img = document.images[i]
				  var imgName = img.src.toUpperCase()
				  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
				  {
					 var imgID = (img.id) ? "id='" + img.id + "' " : ""
					 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
					 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
					 var imgStyle = "display:inline-block;" + img.style.cssText 
					 if (img.align == "left") imgStyle = "float:left;" + imgStyle
					 if (img.align == "right") imgStyle = "float:right;" + imgStyle
					 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
					 var strNewHTML = "<span " + imgID + imgClass + imgTitle
					 + " style=\"" + "margin:0px; padding:0px; width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
					 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
					 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
					 img.outerHTML = strNewHTML
					 i = i-1
				  }
			   }
			}
		} catch (e) {
			//nothing...	
		}
	},
	
	trackPage: function(pageName, channel, hierarchy) {
		if(!s) return;
		
		s.pageName = pageName;
		s.channel = channel;
		s.hier1 = hierarchy;
		s.eVar1 = '';
		s.eVar2 = '';
		s.eVar3 = '';
		s.eVar4 = '';
		s.events = '';
		s.pageType = '';
		s.prop1 = '';
		s.prop2 = '';
		s.prop3 = '';
		void(s.t());
	},
	
	trackLink: function(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"
	},
	
	trackNewsletterSignup: function() {
		this.trackLink('simple newsletter signup', 'event7');
	},
	
	paidSearchConversionTracking: function(type) {
		new Ajax.Request('/scripts/conversionTracking2.php', {
			method:'get',
			parameters: {type:type, ran:Math.random()},
			onSuccess: function(transport){
				var json = transport.responseText.evalJSON(true);
				if(json.message = 'success') {
					document.body.insert(json.content);
				}
			}
		});
	},
	
	//cookie functions from:
	//		http://www.quirksmode.org/js/cookies.html
	createCookie: function(name, value, days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	},
	
	readCookie: function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},
	
	eraseCookie: function(name) {
		this.createCookie(name,"",-1);
	},
	
	setTimezone: function(timezone) {
		if(timezone != this.TIMEZONE_MT && timezone != this.TIMEZONE_ET) return false;
		
		this.createCookie(this.TIMEZONE_COOKIE, timezone, 365);
		this.TIMEZONE_CURRENT = timezone;
		
		//fire an event to let anybody know that the timezone has changed:
		document.body.fire('timezone:change', {selectedTimezone:this.TIMEZONE_CURRENT});
	},
	
	getTimezone: function() {
		var val = (this.TIMEZONE_CURRENT != null)? this.TIMEZONE_CURRENT : this.readCookie(this.TIMEZONE_COOKIE);
		if(val == 1) {
			this.TIMEZONE_CURRENT = this.TIMEZONE_MT;
			return this.TIMEZONE_MT;
		} else {
			this.TIMEZONE_CURRENT = this.TIMEZONE_ET;
			return this.TIMEZONE_ET;	
		}
	}
	
};



var Video = {
	opened: false,
	dislayClose:true,

	setDisplayClose: function(displayClose) {
		this.displayClose = displayClose;
	},

	open: function(video, options) {
		this._opener('rightColumn', video, {left:'0px', top:'0px', width:'798px', height:'383px'}, options);
	},
	
	openInContainer: function(container, video, styles, options) {		
		var parent = (typeof container == 'string')? $(container) : container;
		if(!parent) return;
		
		//get the parent's dimensions:
		var size = parent.getDimensions();
		
		if(!styles.width) styles.width = (size.width)+'px';
		if(!styles.height) styles.height = (size.height)+'px';
		if(!styles.top) styles.top = '-1px';
		if(!styles.left) styles.left = '-1px';

		this._opener(container, video, styles, options);
	},
	
	_opener: function(container, video, styles, options) {
		if(this.isOpen()) return;
	
		var parent = (typeof container == 'string')? $(container) : container;
		if(!parent) return;
		
		//create the container that will hold the video player, using some default styles:
		var playerContainer = new Element('div', {'class':'videoPlayerContainer', 'align':'center'});
		playerContainer.setStyle({
			position:'absolute', 
			top:'0px', 
			left:'0px', 
			width:'798px', 
			height:'383px', 
			/*zIndex:'1000',*/
			opacity:0
		});
		
		//set any user defined styles:
		playerContainer.setStyle(styles);
		
		//insert the player into the page:
		parent.insert(playerContainer);
		
		//calculate the size of our container:
		var size = playerContainer.getDimensions();
		
		//now do the video player:
		var videoDimensions = (size.width >= 650 && size.height >= 380)? {width:610, height:365} : {width:408, height:250};
		var player = new Element('div', {'class':'videoPlayerHolder'});
		var paddingTop = Math.round((size.height - (videoDimensions.height + 4)) / 2);
		player.setStyle({width:videoDimensions.width+'px',height:videoDimensions.height+'px', top:paddingTop+'px'});
		playerContainer.insert(player);
		
		var openComplete = function() {
			this.displayPlayer(player, video, options);
		};
		
		//make it visible:
		new Effect.Opacity(playerContainer, {from: 0.0, to: 1.0, duration: 0.2, queue:'end', afterFinish:openComplete.bind(this)});
		this.opened = true;
	},
	
	close: function() {
		if(!this.isOpen()) return;
				
		var playerContainer = $$('.videoPlayerContainer')[0];
		//var playerHolder = $$('.videoPlayerHolder')[0];
		var complete = function() {
			playerContainer.remove();
		};
		//playerHolder.remove();
		new Effect.Opacity(playerContainer, {from: 1.0, to: 0.0, duration: 0.3, afterFinish:complete});
		this.opened = false;
		
		//fire off event to let any opener know that we closed:
		playerContainer.fire('videoPlayer:close');
	},
	
	play: function(video, options) {
		if(!this.isOpen()) return;
		
		var player = $$('.videoPlayerContainer .videoPlayerHolder')[0];
		this.displayPlayer(player, video, options);
	},
	
	displayPlayer: function(container, video, options) {
		if(!options) options = {};
		
		var player = (typeof container == 'string')? $(container) : container;
		var fo = new SWFObject('http://www.themovienetwork.ca/static/swf/hbo_player.swf', 'item', "100%", "100%", Utils.REQUIRED_FLASH_VERSION, "#000000");
		fo.addParam("wmode", "transparent");
		fo.addParam("allowScriptAccess", "always");
		if(!isNaN(video)) {
			fo.addVariable('id', video);
			if(options.hash) fo.addVariable('eh', options.hash);
		} else {
			fo.addVariable('video',video);
		}
		if(options.autoStart) fo.addVariable('as', true);
		if(options.still) fo.addVariable('still', options.still);
		if(this.displayClose == undefined || this.displayClose == true) fo.addVariable('cf', "Video.close();");
		fo.write(player);
		//just temporary until we get the video player...
		//player.update('<a href="javascript:Video.close();"><img src="/images/feature/temp_video_player.jpg" border="0" width="100%" height="100%" /></a>'); 
	},
	
	isOpen: function() {
		return this.opened;
	}
};



