
var UNRULY;

if (typeof UNRULY == 'undefined') {
	UNRULY = {
		default_iframe_buster_path : "/unrulymedia/unruly_iframe.html",
	    idBuilder : function(date, id) {
	    	return function(idBase) {
	    		return idBase + id + date; 
	    	};
	    },
		getPlayerVersion : function() {
			var win = window,
				doc = document,
				nav = navigator,
				UNDEF = "undefined",
	    		OBJECT = "object",
	    		SHOCKWAVE_FLASH = "Shockwave Flash",
	    		SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
	    		FLASH_MIME_TYPE = "application/x-shockwave-flash";
			
			ua = function() {
	    		var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,
	    			u = nav.userAgent.toLowerCase(),
	    			p = nav.platform.toLowerCase(),
	    			windows = p ? /win/.test(p) : /win/.test(u),
	    			mac = p ? /mac/.test(p) : /mac/.test(u),
	    			webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false,
	    			ie = !+"\v1", 
	    			playerVersion = [0,0,0],
	    			d = null;
	    		if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
	    			d = nav.plugins[SHOCKWAVE_FLASH].description;
	    			if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { 
	    				plugin = true;
	    				ie = false; // cascaded feature detection for Internet Explorer
	    				d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
	    				playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
	    				playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
	    				playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;
	    			}
	    		}
	    		else if (typeof win.ActiveXObject != UNDEF) {
	    			try {
	    				var a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
	    				if (a) {
	    					d = a.GetVariable("$version");
	    					if (d) {
	    						ie = true; 
	    						d = d.split(" ")[1].split(",");
	    						playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
	    					}
	    				}
	    			}
	    			catch(e) {}
	    		}
	    		return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac };
	    	}();
			return ua.pv;
		},
		hasPlayerVersion : function(rv) {
			var pv = UNRULY.getPlayerVersion(), v = rv.split(".");
			v[0] = parseInt(v[0], 10);
			v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
			v[2] = parseInt(v[2], 10) || 0;
			return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
		}
	};
}
var UnrulyTrackingUtils;

////
if (typeof UnrulyTrackingUtils == 'undefined') {
	UnrulyTrackingUtils =  {
			
		parsePublisherMacros : function(url) {
			var localPublisherMacros = [];
			
			var publisherMacrosString = url.substring(url.indexOf('#'));
	
			if ( typeof publisherMacrosString == 'undefined' ||
				 publisherMacrosString.length < 2 ||
				 publisherMacrosString.indexOf('#') !== 0 || 
				 publisherMacrosString.indexOf('=') === -1) {
				return localPublisherMacros;
			}
			
			var macros = publisherMacrosString.substring(1).split('&');
			
			for (var i=0; i < macros.length; i++) {
				var macro_pair = macros[i].split('=');
				var macro_name = macro_pair[0];
				var macro_value = macro_pair[1];
				localPublisherMacros[macro_name] = decodeURIComponent(macro_value);
			}
			
			return localPublisherMacros;
		},
	
		encodePublisherMacros : function(publisherMacros) {
			var encodedMacroString = "";
			
			if (typeof publisherMacros == 'undefined') {
				return encodedMacroString;
			}
			
			for (var macroName in publisherMacros ) {
				
				if ( !publisherMacros.hasOwnProperty(macroName) ||
					  typeof publisherMacros[macroName] == 'undefined' || 
					  publisherMacros[macroName].indexOf("%%") == 0 || 
					  macroName==='uuid') {
					continue;
				}
				
				if (encodedMacroString.length > 0) {
					encodedMacroString +="&";
				}
				
				encodedMacroString += macroName + '=' + encodeURIComponent(publisherMacros[macroName]); 
			}
			
			return encodedMacroString;
		}
	
	};
}
(function() {
	var lightboxOnly = typeof UNRULY_IFB !== "undefined";
	
	var __getUnrulyEclipseConfig = function() {
		return {
		content: [
								{
				videoUrl: UNRULY.hasPlayerVersion("9.0.115") ? 'http://cloud.video.unrulymedia.com/K4d7S-1321973505786.mp4?1' : 'http://cloud.video.unrulymedia.com/K4d7S-1321973505786.flv?1',
				name: 'K4d7S-1321973505786',
				title: "Canon IXUS 220 HS",
				bitrates: [600,1125,1500,2250,3000,3750,5250],
				contentIndex: 0,
				thumbnail: 'http://cloud.video.unrulymedia.com/K4d7S-1321973505786_t_v1.jpg',
				stillImage: 'http://cloud.video.unrulymedia.com/K4d7S-1321973505786_v1.jpg',
				publicUrl: 'http://www.youtube.com/watch?v=xQORK25z3f8&feature=youtu.be',
				clickUrl: "http%3A%2F%2Fwww.canon.co.uk%2FHSSystem%2F%3Fid%3Dixus%26WT.mc_id%3D119DigIXS974Unr_011211",
				tracking: {
											thirdPartyEngagedTrackingUrl: "http://ad.doubleclick.net/ad/N5828.150361.UNRULYMEDIA/B6105757.22;sz=1x1;ord=[CACHEBUSTER]?",
										
										
										
					stats1:"http://stats.unrulymedia.com/", 
					stats2:"http://stats2.unrulymedia.com/", 
					stats3:"http://stats3.unrulymedia.com/", 
					vid:5403,
					ppid:2190254,
					apid:14796,
					aid:1397,
					pid:3025,
					cid:2630,
					size:'160x90',
					autoplay:false,
					autoUnit:false,
					crid:4309,
					publisherMacros: (typeof unrulyMacros == 'undefined' ? UnrulyTrackingUtils.parsePublisherMacros(document.location.href) : unrulyMacros)
				}
			}
			],
	hasShareBar: true
	,
	
	id: "14796",
	sKey: "63524958",
	adWidth: "160",
	adHeight: "90",
		    	shortVideoUrl: UNRULY.hasPlayerVersion("9.0.115") ? 'http://cloud.video.unrulymedia.com/x6Xv-1322055031067_v1.mp4' : 'http://cloud.video.unrulymedia.com/x6Xv-1322055031067_v1.flv',
		hoverSwf: "http://cloud.video.unrulymedia.com/overlay_cd631_v4.swf",
    	videoWidth: "160",
    	videoHeight: "90",
    	videoPositionX: "0",
    	videoPositionY: "0",
	
		iFrameBuster: "",
	
	s3DomainName : "http://video.unrulymedia.com/",
	s3VideoFileDomainName : "http://cloud.video.unrulymedia.com/",
	
	urlSubstr : ""
};	};
    
	
if (typeof UNRULY.engagement_v23 == "undefined") {
	UNRULY.engagement_v23 = function(engagementConfig) {
		if (typeof UNRULY.instanceCounter == "undefined") {
			UNRULY.instanceCounter = 1;
		} else {
			UNRULY.instanceCounter += 1;
        }
		
		var inAnIframe = top != self;
		var lightboxOnly = typeof UNRULY_IFB != "undefined"; 
		var counter = UNRULY.instanceCounter;
		var currentIdBuilder = function(name) {
			if (lightboxOnly) {
				return "_UNRULY_IFB_" + engagementConfig.content[0].tracking.apid + "_" + name + "_";
			} else {
				return name + "_" + counter;
			}
        };
		
		var log = function(s) {
			var devMode = typeof engagementConfig.devMode != "undefined" && engagementConfig.devMode;
			if (devMode && typeof console != "undefined" && typeof console.log != "undefined") {
				console.log(s);
			}
		};
		
		var engagementUnit = function (idBuilder) {
			var thisns = 'UNRULY.' + idBuilder('engagement_');
        
        	var thisPlayerId = idBuilder('unrulyPlayer');
        	var thisPlayerSuperSimple = thisPlayerId+"SuperSimple";
			var thisPlayerIdOverlay = thisPlayerId+"Overlay";
			var thisPlayerIdClose = thisPlayerId+"Close";
			var thisPlayerIdOverlayDiv = thisPlayerIdOverlay+'Div';
        	
        	var toRunOnInit;
			
			var onDOMReady = function() {
				writeShortPlayer();
				
				if (inAnIframe) {
					iframeBust(false);
				}
            }

			function _refUrl() {
            	if (top === self || typeof(document.referrer) == "undefined" || document.referrer.length < 1) { 
            		return document.location.href;
            	} else { 
            		return document.referrer;
            	}
            }
			
			function _getRefDomain() {
				var ref = _refUrl();
				return ref.replace(/^http:\/\/(.*?)(\/|$|:|#|\?|;|&).*/,"$1");
			}
			
   			var tracker;
			var _track = function(type, name, value) {
				if (typeof tracker == "undefined") {
    				tracker = new UnrulyTracking(
        				engagementConfig.content[0].tracking.stats1, 
        				engagementConfig.content[0].tracking.stats2, 
        				engagementConfig.content[0].tracking.stats3, 
        				engagementConfig.content[0].tracking.vid, 
        				engagementConfig.content[0].tracking.ppid, 
        				engagementConfig.content[0].tracking.apid, 
        				engagementConfig.content[0].tracking.aid, 
        				engagementConfig.content[0].tracking.pid, 
        				engagementConfig.content[0].tracking.cid, 
        				engagementConfig.content[0].tracking.size, 
        				engagementConfig.content[0].tracking.autoplay, 
        				engagementConfig.content[0].tracking.autoUnit, 
        				engagementConfig.content[0].tracking.crid,
        				engagementConfig.content[0].tracking.publisherMacros
        			);
					tracker.setReferrerURL(_refUrl());
				}
				
				
				if (typeof engagementConfig.content[0].tracking.thirdPartyEngagedTrackingUrl != "undefined") {
					tracker.setThirdPartyEngagedTrackingUrl(engagementConfig.content[0].tracking.thirdPartyEngagedTrackingUrl);
				}
				
				if (typeof engagementConfig.content[0].tracking.thirdPartyEngagedTrackingUrl2 != "undefined") {
					tracker.setFollowOnUrl("play", engagementConfig.content[0].tracking.thirdPartyEngagedTrackingUrl2);
				}
				
				if (typeof engagementConfig.content[0].tracking.thirdPartyImpTrackingUrl != "undefined") {
					tracker.setThirdPartyImpTrackingUrl(engagementConfig.content[0].tracking.thirdPartyImpTrackingUrl);
				}
				
				tracker.track(type, name, value);
            };
        	
			var tracksSent = {};
			var track = function(type, name, value) {
				if (typeof tracksSent["_" + type] == "undefined") {
					tracksSent["_" + type] = true;
					_track(type, name, value);
				}
			};
			
			var createiFrameBusterUrl = function () {
				var iFrameBuster = typeof unruly_iframe_buster != 'undefined' ? unruly_iframe_buster : engagementConfig.iFrameBuster;
				if (iFrameBuster.indexOf ("http://") == 0) {
					return iFrameBuster;
				}
				else {
					var path = iFrameBuster == '' ? UNRULY.default_iframe_buster_path : iFrameBuster;
					if (path.indexOf('/') != 0) {
						path = "/" + path;
					}
					return "http://" + _getRefDomain() + path;
				}
			};
			
			var iframeBust = function(openLightbox) {
				var iFrameBuster = createiFrameBusterUrl();
				if (iFrameBuster != "") { 
    				var sk = engagementConfig.sKey + '';
    				var version = "3";
    				var extraParams = (typeof engagementConfig.devMode != "undefined" && engagementConfig.devMode) ? '&test=1':'';
    				extraParams += (typeof engagementConfig.content[0].tracking.autoUnit != "undefined" && engagementConfig.content[0].tracking.autoUnit) ? '&isCarousel=1':'';
    				
    				if (typeof UNRULY_DEFAULT != "undefined"  &&
    					typeof UNRULY_DEFAULT[sk] != "undefined" &&
    					UNRULY_DEFAULT[sk] == true) {
    					extraParams += '&isDefault=1';
    				}
    				
    				var fragment = UnrulyTrackingUtils.encodePublisherMacros(engagementConfig.content[0].tracking.publisherMacros);
    				
    				if (fragment != '') {
    					fragment = '#' + fragment;
    				}
    				if (openLightbox) {
    					extraParams += "&call=1";
    				}
    				
    				var iframe = UNRULY.jq('<iframe>');
    				iframe.attr('width', '1');
    				iframe.attr('height', '1');
    				iframe.attr('frameborder', '0');
    				iframe.attr('style', 'position:absolute;');
    				iframe.attr('src', iFrameBuster + '?v=' + version + '&apid=' + engagementConfig.content[0].tracking.apid + '&sk=' + sk + extraParams + fragment);

					UNRULY.jq('body').append(iframe);
				} else {
					track("iframe_bust_fail");
				}
			};
			
			var resetTracking = function() {
				tracksSent = {};
			};
			
			var getFlashVersion = function() {
				var flashVersion = "";
    			if (typeof UNRULY.getPlayerVersion != "undefined") {
    				flashVersion = UNRULY.getPlayerVersion().join(".");
    			}
				return flashVersion;
			};

			var initDomReady = function() {
    			var init = function() {
                
                  // quit if this function has already been called
                  if (arguments.callee.done) return;
                
                  // flag this function so we don't do the same thing twice
                  arguments.callee.done = true;
            		  
                  // kill the timer
                  if (_timer) clearInterval(_timer);
                
    			  onDOMReady();
                };
                
                /* for Mozilla/Opera9 */
                if (document.addEventListener) {
                  document.addEventListener("DOMContentLoaded", init, false);
                }
                
                /* for Internet Explorer */
                /*@cc_on @*/
                /*@if (@_win32)
                  document.write("<script id=" + idBuilder('__ie_onload') + " defer src=javascript:void(0)><\/script>");
                  var script = document.getElementById(idBuilder('__ie_onload'));
                  script.onreadystatechange = function() {
                    if (this.readyState == "complete") {
                      script.onreadystatechange = null;
                      init(); // call the onload handler
                    }
                  };
                /*@end @*/
                
                /* for Safari */
                if (/WebKit/i.test(navigator.userAgent)) { // sniff
                  var _timer = setInterval(function() {
                    if (/loaded|complete/.test(document.readyState)) {
                      init(); // call the onload handler
                    }
                  }, 10);
                }
			};
			
			if (!lightboxOnly) {
				initDomReady();
			}
			
			
						
			var lightboxShowing = false;
			
			var createFancyBox = function() {
				UNRULY.jq('body').prepend('<a style="display:none" href="#" id="'+thisPlayerIdOverlayDiv+'" onclick="return false"></a>');
			
				var overlayTarget = UNRULY.jq('#'+thisPlayerIdOverlayDiv);
				overlayTarget.css({
					'position':'absolute',
					'outline-style': 'none'   
				});
				
				overlayTarget.fancybox({
					overlayOpacity:0.7,
					enableEscapeButton: true,
					overlayColor: '#000',
					overlayShow: true,
					frameWidth:	768,
					frameHeight: 480,
					callbackOnShow: function() {
					
						var fragment = "";
						var macroReference = top.window['UNRULY_IFB_MACROS_' + engagementConfig.content[0].tracking.apid ];
						
					    if (typeof macroReference != 'undefined') {
					    	fragment = macroReference;
					    }
					    else {
					    	fragment = UnrulyTrackingUtils.encodePublisherMacros(engagementConfig.content[0].tracking.publisherMacros);
					    	if (fragment != "") {
					    		fragment = "#" + fragment;
					    	}
					    }
					
						var eclipseIframeUrl = engagementConfig.s3DomainName + "iframe_"+engagementConfig.sKey+engagementConfig.urlSubstr
												+"_flash.html?d="+new Date().getTime() + fragment;
						
						if (typeof wildfireAddParams != "undefined") {
							eclipseIframeUrl += wildfireAddParams;
						}
					
						var f = UNRULY.jq('<iframe>');
						f.attr('id', 'unruly_id_eclipse_contents');
						f.attr('marginwidth', "0");
						f.attr('marginheight', "0");
						f.attr('frameBorder', "0");
						f.attr('scolling', "no");
						f.attr('allowTransparency', "true");
						f.attr('background', 'black');
						f.attr('src', eclipseIframeUrl);
						f.css({
							width: '768px',
							height: '480px',
							border: 'none',
							overflow: 'hidden',
							background: 'black',
							display: 'none'
						});
						f.load(function() {
							f.show();
						});
						UNRULY.jq('#unruly_id_fancy_div_content_iframe').append(f);
					},
					callbackOnBeforeClose: function() {
						overlayTarget.fancybox.originalClose();
						UNRULY.jq('#unruly_id_eclipse_contents').attr('src','about:blank');
						UNRULY.jq('#unruly_id_fancy_div_content_iframe').html('');
					},
					callbackOnClose: function() {
						UNRULY.jq("embed, object, iframe").not("#" + thisPlayerId + " object").not("#" + thisPlayerId + " embed").css("visibility", "visible");

						if (!lightboxOnly) {
							try {
    							if (navigator.appName.indexOf("Microsoft") != -1) {
                                    window[thisPlayerSuperSimple].resume();
                                } else {
                                    document[thisPlayerSuperSimple].resume();
                                }
							} catch (e) {
								log(e);
							}
						}
						
						if (engagementConfig.isCustomContent) {
							UNRULY.jq('#unruly_id_fancy_div').html('');
						}
						
						resetTracking();
						lightboxShowing = false;
					},
					htmlContent: getContent()
				});
			};
			
			var getContent = function() {
				return "<div id='unruly_id_fancy_div_content_iframe' style='height: " + (engagementConfig.hasShareBar ? "432px" : "100%") + " !important; width:100% !important; background: black !important; margin: 0 !important; padding: 0 !important;'></div>";  // 480px?
			};
			
            var writeShortPlayer = function() {
				if (!inAnIframe) {
					createFancyBox();
				}
				
				if (UNRULY.hasPlayerVersion("9.0.28")) {
					var swfVideoPlayer = 'SuperSimplePlayer_v4.swf';
					var jsonConfig = encodeURIComponent(
						'{' + 
						'"videoWidth":"' + engagementConfig.videoWidth + '",' + 
						'"videoHeight":"' + engagementConfig.videoHeight +  '",' + 
						'"videoPositionX":"' + engagementConfig.videoPositionX +  '",' + 
						'"videoPositionY":"' + engagementConfig.videoPositionY + 
						'"}'
					);
				
    				var embedHtml = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' +
                    '   codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"' +
                    '   width="' + engagementConfig.adWidth + '" height="' + engagementConfig.adHeight + '" align="middle" id="' + thisPlayerSuperSimple + '">' +
                    '<param name="allowScriptAccess" value="always" />' +
                    '<param name="movie" value="' +  engagementConfig.s3VideoFileDomainName + swfVideoPlayer + '" />' +
                    '<param name="wmode" value="opaque" />' +
                    '<param name="quality" value="high" />' +
                    '<param name="bgcolor" value="#000000" />' +
                    '<param name="flashvars" value=\'config=' + jsonConfig + '&mp4=' + engagementConfig.shortVideoUrl + '&amp;flv=' + engagementConfig.shortVideoUrl + '&amp;overlay=' + encodeURIComponent(engagementConfig.hoverSwf  + '?callback=' + thisns + '.callback') + '&amp;smoothing=true\' />' +
                    '<embed src="' + engagementConfig.s3VideoFileDomainName + swfVideoPlayer + '" quality="high" bgcolor="#000000" width="' + engagementConfig.adWidth + '" id="' + thisPlayerSuperSimple + '" name="' + thisPlayerSuperSimple + '"' +
                    '   height="' + engagementConfig.adHeight + '" wmode="opaque" align="middle" allowScriptAccess="always"' +
                    '   flashvars=\'config=' + jsonConfig + '&mp4=' + engagementConfig.shortVideoUrl + '&amp;flv=' + engagementConfig.shortVideoUrl + '&amp;overlay=' + encodeURIComponent(engagementConfig.hoverSwf  + '?callback=' + thisns + '.callback') + '&amp;smoothing=true\'' +
                    '   type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />' +
                    '</object>';
				} else {
					var embedHtml = '<div style="color: #ddd; margin: 0 !important; padding: 0 !important; text-align: center; width: ' + engagementConfig.adWidth + 'px; line-height: ' + engagementConfig.adHeight + 'px">Flash version 9.0.28 or above required</div>';
				}
				
				UNRULY.jq('#'+thisPlayerId).html(embedHtml);
				
				track("imp", "flash", getFlashVersion());
            };
			
			var extendObject = function(defaultOptions, customOptions) {
				if (typeof customOptions == "undefined") {
					return defaultOptions;
				}
				
				var ops = {}
				for (var k in defaultOptions) {
					ops[k] = defaultOptions[k];
					try {
    					if (typeof customOptions[k] != "undefined") {
    						ops[k] = customOptions[k];
    					}
					} catch (e) { /* ignore */ }
				}
				return ops;
			};
			
			var ResourceLoader = function() {
    			var _isResourceAlreadyAdded = function(type, url) {
    				var els = document.getElementsByTagName(type);
    				for (var i = 0; i < els.length; i++) {
    					var el = els[i];
    					var property = (type == "script" ? "src" : "href");
    					if (el[property] == url) {
    						return true;
    					}
    				}
    				return false;
    			};
				
				var _addResource = function(type, url, options) {
    				var defaultOptions = {
    					callback: false,
    					forceDomInsert: false
    				};
    				var ops = extendObject(defaultOptions, options);
    			
    				if (lightboxOnly || ops.forceDomInsert) {
    					if (!ops.forceDomInsert && _isResourceAlreadyAdded(type, url)) {
    						log("** already added to DOM [" + type + "] " + url);
    						if (typeof ops.callback == "function") {
    							ops.callback();
    						}
    						return;
    					}
						
    					log("* adding to DOM [" + type + "] " + (ops.forceDomInsert ? "(Forced Insert) " : "") + url);
    					
    					var el = document.createElement(type);
    					switch (type) {
    						case 'script':
    							el.src = url;
    							el.type = "text/javascript";
    							
    							if (typeof ops.callback == "function") {
                                	el.onload = ops.callback;
                                	el.onerror = function() {};
                                	el.onreadystatechange = function ()	{
                                		if (el.readyState == 'loaded' || el.readyState == 'complete') {
    										ops.callback();
    										el.onreadystatechange = null;
    									}
    								}
    							}
    							
    							break;
    						case 'link':
    							el.href = url;
    							el.type = "text/css";
    							el.rel = "stylesheet";
    							break;
    					}
    					document.getElementsByTagName('body')[0].appendChild(el);
    				} else {
        				log("* adding doc.write [" + type + "] " + url);
    					switch (type) {
    						case 'script':
    							document.write('<scr'+'ipt src="' + url + '" type="text/javascr'+'ipt"></scr'+'ipt>');
    							break;
    						case 'link':
    							document.write('<link type="text/css" href="' + url + '" rel="stylesheet" />');
    							break;
    					}
    					
    					if (typeof ops.callback == "function") {
    						ops.callback();
    					}
    				}
    			};
            	
				return {
        			addResource: function(type, url, options) {
						_addResource(type, url, options);
					}
				};
			};
			
			var loader = ResourceLoader();
			
			var addLightboxCSS = function(forceDomInsert) {
				loader.addResource(
					'link', 
					engagementConfig.s3VideoFileDomainName + 'jquery.fancybox-1.2.5_v4.css',
					{
						forceDomInsert: (typeof forceDomInsert == "undefined" ? false : forceDomInsert)
					}
				);
			};
			
        	return {
				// Called from the iframe bootstrapper
				openLightbox : function() {
					addLightboxCSS(true);
					UNRULY.jq("embed, object, iframe").css("visibility", "hidden");
					UNRULY.jq('#'+thisPlayerIdOverlayDiv).trigger("click.fb");
					lightboxShowing = true;
				},
			
        		// Example function object layout to be called from hover plugin
        		// UNRULY.engagement_123.callback
                callback : function() {
					track('engagement_attempt');
					if (inAnIframe) {
						log('** Callback clicked from iframe');
						if (!lightboxShowing) {
							iframeBust(true);
						}
						lightboxShowing = true;
						
						setTimeout(function() {lightboxShowing = false;}, 1000);
					} else {
    					if (window.XMLHttpRequest) {
							try {
     							if (navigator.appName.indexOf("Microsoft") != -1) {
                                    window[thisPlayerSuperSimple].pause();
                                } else {
                                    document[thisPlayerSuperSimple].pause();
                                }
							} catch (e) {
								log(e);
							}
						}
    					
    					if (!lightboxShowing) {
							addLightboxCSS(true);
							
        					UNRULY.jq("embed, object, iframe").not("#" + thisPlayerId + " object").not("#" + thisPlayerId + " embed").css("visibility", "hidden");
							UNRULY.jq('#'+thisPlayerIdOverlayDiv).trigger("click.fb");
    						lightboxShowing = true;
    					}
					}
            	},
        		
				trackEvent : function(event, name, value) {
					track(event, name, value);
				},
        		
				track : function(event, name, value) {
					track(event, name, value);
				},
        		
        		startup : function() {
					loader.addResource('script', engagementConfig.s3VideoFileDomainName + 'engagement_v5.js', {
						callback: function() {
        					loader.addResource('script', engagementConfig.s3VideoFileDomainName + 'jquery.fancybox-1.2.5_v1.js');
        					addLightboxCSS();
    						
    						loader.addResource('script', engagementConfig.s3VideoFileDomainName + 'tracking_v39.js', {
								callback: function() {
        							if (lightboxOnly) {
										setTimeout(function() {
                    	        			createFancyBox();
                							UNRULY.jq('#'+thisPlayerIdOverlayDiv).fancybox.build();
										}, 500);
        							}
								}
							});
						}
					});
						
					if (!lightboxOnly) {
						document.write('<a href="#" style="background-color: #111;" id="' + thisPlayerId + '" class="unrulyEngagement" onclick="return false"></a>');
    					var styles = [
        					'a#' + thisPlayerId + ' { width: ' + engagementConfig.adWidth + 'px; height: ' + engagementConfig.adHeight + 'px; display: block; }',
    						'a#' + thisPlayerId + ' .unrulyEngagement {margin: 0;padding: 0;border: 0;outline: 0;font-size: 100%;vertical-align: baseline;background: transparent;line-height: 1;}',
    						'a#' + thisPlayerId + ' .unrulyEngagement embed{width: ' + engagementConfig.adWidth + 'px !important;height: ' + engagementConfig.adHeight + 'px !important;display: inline;}'
    					];
						document.write('<style type="text/css" media="screen">' + styles.join(' ') + '</style>');
					}
        		}
            };
        } (currentIdBuilder);
		
   		if (lightboxOnly) {
   			UNRULY["UNRULY_IFB_" + engagementConfig.content[0].tracking.apid] = engagementUnit;
   		} else {
			UNRULY[currentIdBuilder('engagement_')] = engagementUnit;
		}
		engagementUnit.startup();
	};
}



UNRULY.engagement_v23(__getUnrulyEclipseConfig());
__getUnrulyEclipseConfig = null;}());
