jQuery.noConflict();
jQuery(function($){
	
	function initFormLabels(){		
		var labels, id, field;
		var labels = $("label.overlabel");
		
		for (var i = 0; i < labels.length; i++) 
		{
			var label = $(labels[i]);
			id = ( labels[i].htmlFor || label.attr('for') );
			if (!id 
				|| !( field = $('#'+id)[0] ))
			{
				continue;
			} 	
		
			// Changing the applied class to hover the label 
			label.removeClass("overlabel").addClass("overlabel-active");
			
			/*
			var label_help = label.find("em");
			if(label_help.length>0){
				label_help.appendTo( $("<p></p>").addClass("help").appendTo(label.parent()));	
			}
			*/
			
			if (field.value !== '') {
				hideLabel(id, true);
			}
			
			label.click(function(){
								$(field).focus();
							});
			
			// Hiding labels
			$(field).focus(	function(){
								var attId = $(this).attr('id');
								hideLabel(attId, true);
							});
				
			$(field).blur(	function(){
								if ($(this).val() === ''){
									hideLabel( $(this).attr('id'), false);
								}
							});
		};
		
		function hideLabel(field_id, hide){
			var field_for;
			var z;
			var labels = $('label');
			for (var i = 0; i < labels.length; i++) 
			{
				
				var label = $(labels[i]);
				field_for = ( labels[i].htmlFor || label.attr('for') );
				if (field_for == field_id) 
				{
					z = (hide) ? 1 : 3;
					label.css({zIndex:z});
					return true;
				}
			}
		}
	}
	
	var shareThisURL = "http://w.sharethis.com/button/sharethis.js#publisher=f19e0648-4dad-48a8-803b-1c5e483158c9&amp;type=website&amp;embeds=true&amp;button=false&amp;post_services=email%2Cfacebook%2Ctwitter%2Cgbuzz%2Cmyspace%2Cdigg%2Csms%2Cwindows_live%2Cdelicious%2Cstumbleupon%2Creddit%2Cgoogle_bmarks%2Clinkedin%2Cbebo%2Cybuzz%2Cblogger%2Cyahoo_bmarks%2Cmixx%2Ctechnorati%2Cfriendfeed%2Cpropeller%2Cwordpress%2Cnewsvine";
	window.SHARETHIS;
	function initShareThis(){
		var shareThisDivs = $(".share-this");
		if(shareThisDivs.length == 0) return;
		
		if(!window.SHARETHIS){
			$.getScript(shareThisURL, 
						function(){
							SHARETHIS.onReady(); 
							configureShareThisButtons();
						});
		} else {
			configureShareThisButtons();
		}
			/* $("<script type=\"text/javascript\"></script>").attr({"src":shareThisURL}).appendTo("head"); */
		
		function configureShareThisButtons(){
			for(var i=0; i<shareThisDivs.length; i++){
				var stb = $("<span></span>").attr({"id":"share_"+i,"class":"share-this-button"}).html("<a href=\"javascript:void(0);\"><img src=\"http://w.sharethis.com/images/hbutton.gif\" /></a>");
				$(shareThisDivs[i]).html(stb);
				
				var object = SHARETHIS.addEntry({title:document.title,summary:'Sharing is good for the soul.'},{button:false});
				object.attachButton(stb[0]);
			}
		}
		// configureShareThisButtons();
	}
	
	function backgroundImageRotator(images){
		// store the image urls as an array
		var arr = images?images:[];
		// grab the current background's img url
		var curr = $("#img0 img").attr('src');
		// the array index position for the current background img url
		var index = -1;
		// the number of images to cycle
		var len = arr.length;
		
		// animates to the next image
		function nextImage(){
			// if it's the first time through, figure out the current index
			if(index<0){
				for(var i=0;i<len;i++){
					if(arr[i]==curr){
						index = i;
						break;
					}
				}
			}
			
			// pick a new background at random
			var newIndex = Math.floor(Math.random()*len);
			while(newIndex==index){
				newIndex = Math.floor(Math.random()*len);
			}
			index = newIndex;
			curr = arr[index];
			
			// create a new background-img-wrapper div
			var img1 = $("#img1");
			if(img1.length==0){
				img1 = $("<div id=\"img1\" class=\"background-img-wrapper\"><img src=\""+curr+"\" width=\"100%\" alt=\"\"/></div>")
					/* append new div to div#background-wrapper */
					.appendTo($("div#background-wrapper"));
			} 
			img1.children("img").attr({ "src" : curr })
				
			/* wait 1 secs */
			img1.hide()
				.css({"opacity":0})
				.delay(10000)
				/* fade in over 9 secs */
				.fadeTo(5000,1,function(){
					/* replace image tag within div#img0 */
					$("#img0").children("img").attr({ "src" : $(this).children("img").attr("src") });
					$(this).css({"opacity":0,"display":"none"});
					/* lather, rinse, repeat */
					nextImage();
				});
		}
		
		// start cycling the images
		
		if(!$.browser.msie){
			nextImage();
		}
		
		// we don't want animations if the window doesn't have focus
		$(window)
			/* stop animations on blur */
			.blur(function(){
					$("#img1").stop(true,false);
				})
			/* roll-back the current animation an restart on focus */
			.focus(function(){
				$("#img1")
					.delay(10000)
					.fadeTo(5000,1,function(){
						$("#img0").children("img").attr({ "src" : $(this).children("img").attr("src") });
						$(this).css({"opacity":0,"display":"none"});
						nextImage();
					});
			});
	}
	
	function address_initHandler(e){
		$.address.tracker(track);
		//console.log("address_initHandler: "+e.value);
		if($.cookies.get("tried_demo") && $.address.value()!='/premium-access/'){
			 //console.log("tried_demo &&  $.address.value() ="+ $.address.value() );
			 lastaddress = e.value;
			 firstTime = true;
			 $.address.value('/premium-access/');
			 return;
		}
	}	
	
	var lastaddress = "/";
	var firstTime = true;
	function address_changeHandler(e){
		//console.log("address_changeHandler: "+e.value);
		
		$(".stclose").click();
		$.fancybox.close();
		window.glitch.stop();
		
		var flashFallbacks =$(".vjs-flash-fallback");
		
		if($.cookies.get("tried_demo") && $.address.value()!='/premium-access/'){
			// console.log("tried_demo &&  $.address.value() ="+ $.address.value() );
			 flashFallbacks.remove();
			 lastaddress = e.value;
			 firstTime = false;
			 $.address.value('/premium-access/');
			 return;
		}
		
		if(firstTime == true && e.value=="/"){
			firstTime = false;
			return;
		}
		
		firstTime = false;
		
		var regexp = /(?:<title.*?\>)(.+)(?:\<\/title?\>)/; // regex to parse out title from raw data string
		var re = /(?:<div\ class=".*share-this.*">\s*)(<[^>]*?script.*?>[^<]*<\/[^>]*?script.*?>)(?:\s*<\/div>)/;

		var newtitle;
		var newtracking;
		
		if(e.value=='/premium-access/' || e.value.indexOf('/unsubscribe/')!=-1){
			for(var i=0; i<flashFallbacks.length; i++){
				if(flashFallbacks[i].pauseVideo && typeof flashFallbacks[i].pauseVideo=='function'){
					flashFallbacks[i].pauseVideo();
				}
			}
			$.post(e.value,
				function(data){
					$data = $('<div>'+data+'</div>');
					
					newtracking = $data.find("meta[name='page-tracking']").attr("content");
					$("meta[name='page-tracking']").attr("content",newtracking);
					track(newtracking);
					
					try{
						newtitle = regexp.exec(data)[1]; // title stripped of tags is the first group in the regex
						newtitle = newtitle.split("&amp;").join("&").split("—").join("—");
						$.address.title(newtitle); // set jquery address title new title (http://www.asual.com/jquery/address/) 
					} catch(error){}
					
					$('.nav').replaceWith($data.find('.nav'));
					$('.header-login-form').replaceWith($data.find('.header-login-form'));
					$('a[rel^=address]').address();
					
					// initFormLabels();
					
					window.glitch.stop();
					flashFallbacks.remove();
					
					if($data.find('.glitch:first').length>0 && !$.cookies.get("glitch_played")){
						$data.find('.glitch:first').prependTo($("body")).fadeOut(0).fadeIn();
						window.glitch.play();
					} else {
						setupVideo();
					}
					
					if($data.find('.premium-access').length>0){
						$('.unsubscribe').fadeOut(function(){$(this).remove()});
						$data.find('.premium-access').prependTo($(".header").next()).hide();
						initFormLabels();
						$('.premium-access').fadeIn();
					} else if($data.find('.unsubscribe').length>0){
						$('.premium-access').fadeOut(function(){$(this).remove()});
						$data.find('.unsubscribe').prependTo($(".header").next()).hide();
						initFormLabels();
						$('.unsubscribe').fadeIn();	
					} else {
						var m = re.exec(data);
						var js;
						if(m){
							js = $(m[1]).attr('src');
						}
						var newelements = $data.find('.header').siblings().not('.footer');
						$('.header')
							.siblings()
							.not('.footer')
							.fadeOut('default',
									function(){
										$(this).remove();
										if($('.header').siblings().not('.footer').length==0){
											for(var i=0; i<newelements.length; i++){
												$('.footer')
													.before(
														$(newelements[i])
															.hide()
															.fadeIn(
																function(){
																	setupVideo();
																}));
											}
											if(js){
												initShareThis();
											}
										}
									});
						if($.cookies.get("tried_demo")){
							$.cookies.del("tried_demo");
						}
					}
					// fix form label overlays
					initFormLabels();
				});
		} else if( $('.premium-access').length>0 
				  && window.location.pathname.indexOf('/premium-access/')==-1
				  && e.value == lastaddress){
			$.post(e.value, 
				  function(data){
					 $data = $('<div>'+data+'</div>');
					 
					 newtracking = $data.find("meta[name='page-tracking']").attr("content");
					 $("meta[name='page-tracking']").attr("content",newtracking);
					 track(newtracking);
					 
					 try{
						newtitle = regexp.exec(data)[1]; // title stripped of tags is the first group in the regex
						newtitle = newtitle.split("&amp;").join("&").split("—").join("—");
						$.address.title(newtitle); // set jquery address title new title (http://www.asual.com/jquery/address/) 
						//document.title = newtitle; // update document.title just to be sure
					} catch(error){}
					 $('.nav').replaceWith($data.find('.nav'));
					 $('.header-login-form').replaceWith($data.find('.header-login-form'));
					 $('a[rel^=address]').address();
					 setupVideo();
					 $('.premium-access').fadeOut('default',
						 function(){
							 $(this).remove();
							 initFormLabels();
						 });
					 // fix form label overlays
					 initFormLabels();
				  });
		} else {
			
			lastaddress = e.value;
			flashFallbacks.remove();
			$.post(e.value, 
					function(data){
						$data = $('<div>'+data+'</div>');
						
						newtracking = $data.find("meta[name='page-tracking']").attr("content");
					 	$("meta[name='page-tracking']").attr("content",newtracking);
					 	track(newtracking);
					 
						try{
							newtitle = regexp.exec(data)[1]; // title stripped of tags is the first group in the regex
							newtitle = newtitle.split("&amp;").join("&").split("—").join("—");
							$.address.title(newtitle); // set jquery address title new title (http://www.asual.com/jquery/address/) 
						} catch(error){}
						
						var m = re.exec(data);
						var js;
						if(m){
							js = $(m[1]).attr('src');
						}						
						
						$('.nav').replaceWith($data.find('.nav'));
						$('.header-login-form').replaceWith($data.find('.header-login-form'));
						$('a[rel^=address]').address();
						var newelements = $data.find('.header').siblings().not('.footer');
						$('.header')
							.siblings()
							.not('.footer')
							.fadeOut('default',
								function(){
									$(this).remove();
									if($('.header').siblings().not('.footer').length==0){
										for(var i=0; i<newelements.length; i++){
											$('.footer')
												.before(
													$(newelements[i])
														.hide()
														.fadeIn(
															function(){
																setupVideo();
															}));
										}
										if(js){
											initShareThis();
										}
										
									};
								}
							);
						// fix form label overlays
						initFormLabels();
					});
		}
		return false;
	}
	
	function form_submitHandler(){
		var regexp = /(?:<title.*?\>)(.+)(?:\<\/title?\>)/; // regex to parse out title from raw data string
		var re = /(?:<div\ class=".*share-this.*">\s*)(<[^>]*?script.*?>[^<]*<\/[^>]*?script.*?>)(?:\s*<\/div>)/;
		var newtitle;
		var newtracking;
		var $form = $(this);
		$.post(this.action,$form.serialize(),function(data){
			var $data = $("<div>"+data+"</div>");								

			newtracking = $data.find("meta[name='page-tracking']").attr("content");
		 	$("meta[name='page-tracking']").attr("content",newtracking);
		 	track(newtracking);

			if($data.find('.glitch').length>0){
				//
				if($.address.value()!='/premium-access/'){
					$.address.value('/premium-access/');
					return;
				} else if(!$.cookies.get("glitch_played")) {
					$('.glitch').remove();
					$data.find('.glitch').prependTo($("body")).fadeOut(0).fadeIn();
					window.glitch.play();
				}
			}
			
			$('.header-login-form').replaceWith($data.find('.header-login-form'));
			$('.nav').replaceWith($data.find('.nav'));
			
			if($.address.value()=='/premium-access/' 
			   && $data.find('.premium-access').length==0){
					var m = re.exec(data);
					var js;
					if(m){
						js = $(m[1]).attr('src');
					}
					var newelements = $data.find('.header').siblings().not('.footer');
					
					$('.header')
						.siblings()
						.not('.footer')
						.fadeOut('default',
							function(){
								$(this).remove();
								if($('.header').siblings().not('.footer').length==0){
									for(var i=0; i<newelements.length; i++){
										$('.footer')
											.before(
												$(newelements[i])
													.hide()
													.fadeIn(
														function(){
															setupVideo();
														}));
									}
									if(js){
										initShareThis();
									}
								};
							});
			} else {
			
				var replacement = $data.find( "#"+$form.attr("id") );
				if(replacement.length==0){
					replacement = $data.find( "[class$=form-confirmation]" );
					replacement.css({opacity:0})
				}
				if(replacement.length==1){
					$form.replaceWith(replacement);
					if($(replacement)[0].tagName.toLowerCase()=="form"){
						initFormLabels();
						replacement.find("em").css({opacity:0}).animate({opacity:1});
					} else {
						replacement.css({opacity:0}).animate({opacity:1});
					}
				}
			}
			// fix form label overlays
			initFormLabels();
		})
		return false;
	}
	
	
	function a_openNewWindow(e){
		var event = (!e) ? window.event : e;
		if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
			return true;
		} else {
			var oWin = window.open( $(this).attr('href'), '_blank');
			if (oWin) {
				if (oWin.focus) oWin.focus();
				return false;
			}
			oWin = null;
			return true;
		}
	}
	
	var glitch = {
		char:0,
		caption:"",
		node_count:0,
		nodes:[],
		timeout:0,
		playing:false,
		stop:function(){
			//window.console && console.log && console.log("glitch stopped! "+window.glitch.timeout);
			$(".glitch").remove();
			window.glitch.char = 0;
			window.glitch.caption = "";
			window.glitch.node_count = 0;
			window.glitch.nodes = [];
			window.glitch.current_node = null;
			window.glitch.playing = false;
			clearTimeout(window.glitch.timeout); 
		},
		play:function(){
			if(window.glitch.playing) return;
			//window.console && console.log && console.log("play glitch!");
			window.glitch.playing = true;
			$(window).scrollTop(0);
			var $glitchCopy = $(".glitch").clone();
			$(".glitch").empty();
			$(".glitch").height($(document).height());
			var $paragraphs = $glitchCopy.find("p");
			window.glitch.char = 0;
			window.glitch.caption = "";
			window.glitch.node_count = 0;
			window.glitch.nodes = [];
			window.glitch.current_node = null;
			for(var i=0; i<$paragraphs.length; i++){
				var $p = $paragraphs.eq(i);
				var $prompt = $p.find("span.prompt");
				var $text = $p.find("span:last");
				var $repeat = $p.find("span:last").hasClass("repeat");
				var node = window.glitch.nodes[window.glitch.nodes.length] =
				{
					'prompt':$prompt,
					'text':$text,
					'repeat': $repeat,
					'p':$("<p></p>")
				};
			}
			window.glitch.typeNextNode();
		},
		typeNextNode:function(){
			if(!window.glitch.playing) return;
			//window.console && console.log && console.log("typeNextNode");
			window.glitch.current_node = window.glitch.nodes[window.glitch.node_count];
			window.glitch.caption = window.glitch.current_node.text.text();
			window.glitch.timeout = setTimeout("window.glitch.type()",112);
		},
		type:function(){
			if(!window.glitch.playing) return;
			var $g = $(".glitch");
			var $p = window.glitch.current_node.p;
			$p.appendTo($g);
			if(window.glitch.char == 0){
				$p.append(window.glitch.current_node.prompt);
				window.glitch.$span = $("<span></span>");
				$p.append(window.glitch.$span);
				window.glitch.char++;
				window.glitch.timeout = setTimeout("window.glitch.type()",1000);
				return;
			}
			if(window.glitch.current_node.repeat){
				window.glitch.caption+=window.glitch.caption;
				window.glitch.$span[0].innerHTML = window.glitch.caption;
				if(window.glitch.caption.length<5000){
					window.glitch.timeout = setTimeout("window.glitch.type()", 28);
				} else {
					window.glitch.char = 0;
					window.glitch.caption = "";
					window.glitch.node_count = 0;
					window.glitch.nodes = [];
					window.glitch.current_node = null;
					clearTimeout(window.glitch.timeout); 
					$.cookies.set("glitch_played","true");
					$g.fadeOut("fast", function(){window.glitch.stop();});
				}
				return;
			}
			$g.height($(document).height());
			window.glitch.$span[0].innerHTML = window.glitch.caption.substr(0,window.glitch.char++);
			if(window.glitch.char<window.glitch.caption.length+1){
				window.glitch.timeout = setTimeout("window.glitch.type()", 28);
			} else {
				window.glitch.char = 0;
				window.glitch.caption = "";
				window.glitch.node_count++;
				if(window.glitch.node_count<window.glitch.nodes.length){
					window.glitch.timeout = setTimeout("window.glitch.typeNextNode()",224);
				}
			}
			
			
		}
	}
	window.glitch = glitch;
	
	/*
	var char = 0;
	var caption = "";
	var current_node;
	var $span;
	var node_count = 0;
	var nodes = [];
	var glitchTimeout;
	var glitchPlaying = false;
	window.glitchTimeout = glitchTimeout;
	window.stopGlitch = stopGlitch;
	function stopGlitch(){
		$(".glitch").remove();
		char = 0;
		caption = "";
		current_node = null;
		node_count = 0;
		
		glitchPlaying = false;
		clearTimeout(window.glitchTimeout); 
		//console.log("glitch stopped! "+window.glitchTimeout);
	}
	window.playGlitch = playGlitch;
	function playGlitch(){
		if(glitchPlaying) return;
		if($(".glitch").length>1){
			$(".glitch").gt(0).remove();
		}
		//console.log("play glitch!");
		glitchPlaying = true;
		$(window).scrollTop(0);
		var $glitchCopy = $(".glitch").clone();
		$(".glitch").empty();
		$(".glitch").height($(document).height());
		var $paragraphs = $glitchCopy.find("p");
		char = 0;
		caption = "";
		current_node = null;
		node_count = 0;
		nodes = [];
		for(var i=0; i<$paragraphs.length; i++){
			var $p = $paragraphs.eq(i);
			var $prompt = $p.find("span.prompt");
			var $text = $p.find("span:last");
			var $repeat = $p.find("span:last").hasClass("repeat");
			var node = nodes[nodes.length] =
			{
				'prompt':$prompt,
				'text':$text,
				'repeat': $repeat,
				'p':$("<p></p>")
			};
		}
		typeNextNode();
	}
	window.typeNextNode = typeNextNode;
	function typeNextNode(){
		//console.log($(".glitch").html());
		current_node = nodes[node_count];
		caption = current_node.text.text();
		glitchTimeout = setTimeout("type()",112);
	}
	window.type = type;
	function type(){
		var $g = $(".glitch");
		var $p = current_node.p;
		$p.appendTo($g);
		if(char == 0){
			$p.append(current_node.prompt);
			$span = $("<span></span>");
			$p.append($span);
			char++;
			glitchTimeout = setTimeout("type()",1000);
			return;
		}
		if(current_node.repeat){
			caption+=caption;
			$span[0].innerHTML = caption;
			if(caption.length<5000){
				glitchTimeout = setTimeout("type()", 28);
			} else {
				char = 0;
				caption = "";
				node_count = 0;
				$.cookies.set("glitch_played","true");
				$g.fadeOut("fast", function(){$(this).remove(); setupVideo();});
			}
			return;
		}
		$g.height($(document).height());
		$span[0].innerHTML = caption.substr(0,char++);
		if(char<caption.length+1){
			glitchTimeout = setTimeout("type()", 28);
		} else {
			char = 0;
			caption = "";
			node_count++;
			if(node_count<nodes.length){
				glitchTimeout = setTimeout("typeNextNode()",224);
			}
		}
	}
	*/
	
	
	
	
	
	
	// fix png transparency	in IE
	$(document).pngFix();
	
	// fix form label overlays
	initFormLabels();
	
	//initShareThis();

	// start the backgroundImageRotator
	backgroundImageRotator(["/images/backgrounds/sleep_superbly_bg_0.jpg",
							"/images/backgrounds/sleep_superbly_bg_1.jpg",
							"/images/backgrounds/sleep_superbly_bg_2.jpg"]);
	
	//$(".nav a[href='/premium-access/']").live('click',premiumAccess_clickHandler);
	$.address.init(address_initHandler);
	$.address.change(address_changeHandler);
	
	$("form").live("submit", form_submitHandler);
	$("button[type=submit]").live("click", 
		function(){
			$(this.form).submit();
			return false;
		});
	
	$(".footer a[rel=lightbox]").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayColor'	: 	'#000',
		'autoScale'		: 	true,
		'autoDimensions': 	false,
		'width'			: 	380,
		'height'		:	210
	});
	
	$("a[rel=external]").live("click", a_openNewWindow);
	
	setupVideo();
	
	function setupVideo(){
		clearInterval(window.testInterval);
		var videoObjects = $('.video-js');
		
		$("video.video-js").die("play", videoEventHandler).live("play", videoEventHandler);
		$("object.vjs-flash-fallback").die("play", videoEventHandler).live("play", videoEventHandler);
		
		if(videoObjects.length>0){
			if( videoObjects.length != videoJSPlayers.length
			    || VideoJS.isIE()
				|| (videoJSPlayers.length>0 && videoJSPlayers[0].video && videoObjects[0]!=videoJSPlayers[0].video) ){
				
				videoJSPlayers = [];
				VideoJS.setup({subtitles:true});
			}
			if(videoJSPlayers.length>0){
				if(videoJSPlayers[0].canPlaySource()){				
					if($.address.value()=="/"){
						videoJSPlayers[0].video.play();
					} else {
						videoJSPlayers[0].video.pause();
					}
					
				} else if(videoJSPlayers[0].flashFallback){
					if($.address.value()=="/"){
						if(videoJSPlayers[0].flashFallback.playVideo){
							videoJSPlayers[0].flashFallback.playVideo();
						} else {
							window.testInterval = setTimeout("if(videoJSPlayers[0].flashFallback.playVideo){ clearInterval(window.testInterval);  videoJSPlayers[0].flashFallback.playVideo() }",2000);
						}
					} else {
						if(videoJSPlayers[0].flashFallback.pauseVideo){
							videoJSPlayers[0].flashFallback.pauseVideo();
						}
					}
				} 
			}
		} else {
			videoJSPlayers = [];
		}
		
		$(".video-post a[rel=videobox]").fancybox({
			'transitionIn'	:	'fade',
			'transitionOut'	:	'fade',
			'overlayColor'	: 	'#000',
			'autoScale'		: 	false,
			'autoDimensions': 	false,
			'width'			:	640,
			'height'		:	480,
			'scrolling'		:  'no',
			'onComplete'		: function(){
				if(videoJSPlayers.length>0){
					for(var i=0; i<videoJSPlayers.length; i++){
						var videoJSPlayer = videoJSPlayers[i];
						if(videoJSPlayer.canPlaySource() && $(videoJSPlayer.video).parents("#fancybox-inner").length == 1){
							videoJSPlayer.positionController();
							videoJSPlayer.video.play();
							return;
						}
					}
				}
				var flashFallbacks =$("#fancybox-inner .vjs-flash-fallback");
				for(var i=0; i<flashFallbacks.length; i++){
					if(flashFallbacks[i].playVideo && typeof flashFallbacks[i].playVideo=='function'){
						flashFallbacks[i].playVideo();
						break;
					}
				}
			},
			'onCleanup'		: function(){
				if(videoJSPlayers.length>0){
					for(var i=0; i<videoJSPlayers.length; i++){
						var videoJSPlayer = videoJSPlayers[i];
						if(videoJSPlayer.canPlaySource() && $(videoJSPlayer.video).parents("#fancybox-inner").length == 1){
							videoJSPlayer.video.pause();
							return;
						}
					}
				}
				var flashFallbacks =$("#fancybox-inner .vjs-flash-fallback");
				for(var i=0; i<flashFallbacks.length; i++){
					if(flashFallbacks[i].pauseVideo && typeof flashFallbacks[i].pauseVideo=='function'){
						flashFallbacks[i].pauseVideo();
					}
				}
			}
		});
	}
	
	function videoEventHandler(e){
		if(e && e.currentTarget && e.type) {
			var tagName = e.currentTarget.tagName;
			var eventType = e.type.toUpperCase();
			var videoElement = e.currentTarget;
			var src = "";
			var video_id = $(videoElement).closest("div").attr("id");
			var timecode = "";
			if(videoElement.tagName=="VIDEO"){
				if(videoElement.currentSrc && videoElement.currentSrc.length>0){
					src = videoElement.currentSrc;
				} else {
					src = $(videoElement).children("source[src$=.mov]").attr("src");
				}
				timecode = _V_.formatTime(videoElement.currentTime);
			} else if(videoElement.tagName=="OBJECT"){
				src = $(videoElement).siblings("source[src$=.m4v]").attr("src");
				timecode = _V_.formatTime(videoElement.currentTime);
			}
			if(src.length>0 && timecode.length>0){
				var logString = " "+video_id+":"+ eventType + " (" + src + " at "+ timecode +")";
				var pageID = $("[name='page-tracking']").attr("content");

				if(OmniHelp) {
					OmniHelp.tv(pageID, logString);	
				}
				if(meteor){
					meteor.tracking.track_conversion('4c49f51c-b89f-480d-ac58-b71b603ecfc9',{'name':(logString + pageID)});
				}
				
				window.debug && debug.log && debug.log(pageID+logString);
			}
		}
	}
	
	
	/* TRACKING ON INITIAL PAGE LOAD */
	if(OmniHelp) {
		OmniHelp.t();	
	}
	if(meteor && $("[name='page-tracking']").length>0){
		meteor.tracking.track_conversion('4c49f51c-b89f-480d-ac58-b71b603ecfc9',{'name':$("[name='page-tracking']").attr("content")});
	}
});

