web_server = "http://www.ovguide.com/";
search_server = "http://search.ovguide.com/";
var wl = window.location.toString();
var netflix_results;
var netflix_application_id = 'cnvrgzqyfs4s8vr2dv3s7saa';

var ovg = function ovg(){};
myovg = new ovg();
	
ovg.prototype.submenu = {
	show:function(obj){
   	 	$(obj).find("div.subnav").show();
   	 	if(!$(obj).hasClass("selected")){
   	 		$(".txt a.sub_nav", obj).css({"color":"#070"});
   	 		/*$(".container .shadow", obj).css({"color":"#fff"});*/
 		} 		
 		$(".txt a.sub_nav", obj).mouseout(function () {
 			$(".txt a.sub_nav", obj).css({"color":"#1D4878"});
 		});
 		
 		$(".txt a.sub_nav", obj).mouseover(function () {
 			$(".txt a.sub_nav", obj).css({"color":"#070"});
 		});
     	 $(".txt a.sub_nav", obj).css({"text-shadow":"0 1px 0 #fff"});

	 if($(obj).hasClass("adult")){
			if($(obj).hasClass("srch")){
			    $("#frame_sidebar .pl_hide").fadeOut();
			}else{
			    $("#inline_300x250_input").add(".ad_300x250 .pl_hide").fadeOut();
			}
		}
	},
	hide:function(obj){
	
		$(obj).find("div.subnav").hide();
		if(!$(obj).hasClass("selected")){
			$(".txt a.sub_nav", obj).css({"color":"#fff"});
			$(".txt a.sub_nav", obj).css({"text-shadow":"0 1px 0 #000"});
			/*$(".container .shadow", obj).css({"color":"#000"});*/
		}
		$("#inline_300x250_input").add(".ad_300x250 .pl_hide").add("#frame_sidebar .pl_hide").show();
	}
}
//start ac
ovg.prototype.autocomp = {
	params:[],
	get_catid:function(){
		this.params['catid'] = $("select#srch_cat option:selected").val();
	},
	init:function(options){
		$("input#srch_bx").keypress(function(){
			$("div.ac_hover").hide();
		})
		outter = this;
		this.params = $.extend({catid:""},options||{});
		outter.get_catid();
		$("select#srch_cat").change(function(){
			outter.get_catid();
			$('input#srch_bx').setOptions({extraParams:{catid: outter.params['catid']}});
			$("input#srch_bx").flushCache();
		});
      
      	var url = web_server + "ajax/ajax_controller_autocomplete.php";	
		
		$("input#srch_bx").flushCache().autocomplete(
			url, 
			{
			extraParams:{
				catid: this.params['catid']
			},
					
			width: $("input#srch_bx").outerWidth(),
			selectFirst:false,
			highlight: false,
            matchSubset:false,
		    cacheLength: 10,
	        max: 10,
	        delay: 500,
			scroll: false,
			scrollHeight: 300,
			timeOut:1000,
			dataType: "jsonp", 
			parse: function(data) {
					var parsed = [];
					
                    if(1 == data.status){
	                  	var rows = data.results.split("\n");
	                  	q_returned = data.q;
	                  	q_in_box = $("input#srch_bx").val();
                  	
	                  	if(q_in_box.toLowerCase() == q_returned.toLowerCase()){
	                  		for (var i=0; i < rows.length; i++) {
								var row = $.trim(rows[i]);
								if (row) {
									row = row.split("|");
		                         	parsed[parsed.length] = {
										data: row,
										value: row[0],
										id: row[1],
										item_type: row[2],
										year: row[3],
										url:row[4],
		                          		result: options.formatResult && options.formatResult(row, row[0]) || row[0]
									};
								}
							}
		                  }
	                    return parsed;
                    }else{
                   		$(".ac_results").hide();
                   	}
			},
			formatItem: function(data, i, n, value) {
					return value;
			},
            formatResult: function(data, value) {
    	    		return value;
    		}
		})	
	}
};

ovg.prototype.ac_hover = {
	timer_main:0,
	is_entered:0,
	is_data_on_page:0,
	id:"",
	over:function(id){
		
		if("undefined" != typeof(myovg.spotlight)){
			myovg.spotlight.clear_timer();	
		}
	
		$("div.ac_hover").hide();
	
	
		this.id = id;

		var div_j_id = "#ac_hover_"+this.id;
		this.div_j_id = div_j_id.toLowerCase();
	
		//check if data is on page
		if(0 == this.is_entered){
			outter_hover = this;
			//yes
			if($(this.div_j_id).index() > 0 ){
				$(this.div_j_id).show();
			//no
			}else{
				this.timer_hover_main = setTimeout(function(){outter_hover.call_ajax()},250);
			}
			this.is_entered=1;
		}
		

		this.parent_div_w = $(".ac_results").width();
		this.parent_div_x = $(".ac_results").offset().left;
		this.parent_div_y = $(".ac_results").offset().top;
		
	},

	out:function(id){
		this.is_entered = 0;
		clearTimeout(this.timer_hover_main);
	},

	call_ajax:function(){
		
		var url = web_server+'ajax/ajax_controller_topic_bubble.php';
		var data_obj = new Object;
		data_obj['id'] = this.id;
		data_obj['x'] = this.parent_div_x;
		data_obj['y'] = this.parent_div_y;
		data_obj['w'] = this.parent_div_w;
		outter_hover = this;
		$.ajax({
			url:url,
			data:data_obj,
			dataType:"jsonp",
			success:function(data){
				if(1 == data.status){
					
					if("" != data.html){
						$("body").append(data.html);
						$(".ac_hover").css({"left":(outter_hover.parent_div_x+outter_hover.parent_div_w+2)+"px","top":(outter_hover.parent_div_y)+"px"});
						var h = $(".ac_results").height();
						if(h > 200){
							h = h-10;
							$(".ac_hover").height(h);
						}
					}
				}
			}
		})
	}
}

//end ac
ovg.prototype.fl_finder = {
	refresh:function(obj){
		outter = this;
		var o = new Object;
		o["ci"]=	$(obj).attr("data-ci");
		o["action"]=1;
		var div = "#flf_results_"+o["ci"];
		if($(div).length>0){
			$(".flf_results").hide();
			$(div).show();
			outter.update_link(o["ci"]);
		}else{
			$.ajax({
				url:"../ajax/ajax_controller_full_length_title_widget.php",
				data:o,
				dataType:"jsonp",
				success:function(data){
					if(1==data.status){
							$(".flf_results").hide();
							$(data.html).insertAfter($("#fl_finder .hdr"));
							outter.update_link(o["ci"]);
					}
				}	
			})
		}	
	
	},
	update_link:function(ci){
		$("#fl_finder .hdr a").removeClass("selected");
		var id = "#flf_link_"+ci;
		$(id).addClass("selected");
	}
};	

function auto_pagination_next() {
	if (typeof(retrieve_params) != 'undefined' && typeof(retrieve_params.pkey)!='undefined' && retrieve_params.pkey!='') {
		$("#inner_loader_but").toggle();
		$("#inner_loader_img").toggle();
		$.ajax({
			url:"hackapi/movie_browse_tool_api.php",
			data:retrieve_params,
			dataType:"json",
			success:function(data){
				if (typeof(data.res_list) != 'undefined' && data.res_list.length > 0) {
					mbtool_display(data);
				} else {
					$("#inner_loader_but").toggle();
					$("#inner_loader_img").toggle();
				}
			}
		});
	} 
}

/*==================
Doc ready - sitewide
===================*/

$(document).ready(function(){
	if (typeof(retrieve_params) != 'undefined' && typeof(retrieve_params.pkey)!='undefined' && retrieve_params.pkey!='') {
		$("#loader").waypoint(function(event, direction) {
			if (direction === 'down' && par_res_num < tot_res_num) {
				auto_pagination_next();
			}
		},{
			offset: '130%'
		});
	} 
	
	
/*==================
Doc ready - Landing
===================*/
	$("div.seasonlistlink").click(function(){
		if($(this).attr("data-ep-cnt") > 0){
		
			var params = new Object;
			params['season'] =	$(this).attr("data-season");
			params['tvdb_t_id'] = $(this).attr("data-show-id");
			params['action'] =  'get_episode';

			var ep_list_id = "#epminilist-"+params['tvdb_t_id']+"-"+params['season']; 
			outter = this;
			var has_list = $(ep_list_id).length;
			
			//is off, turn it on
			if(1 != $(this).attr("data-status")){
				$(this).attr("data-status",1);
				$(this).find("div.lbl").removeClass("lc");
				$(this).find("div.lbl").addClass("lo");
				var loading = "<span>loading...</span>";
				$(this).find("div.lbl a").append(loading);
				if(!has_list){
					$.ajax({
					url: "../ajax/ajax_controller_tv.php",
					dataType: "jsonp",
					data:params,
					success:function(data){
						$(data.html).insertAfter(outter);
						$(outter).find("div.lbl a span").remove();
					}
				});
				}else{
					$(ep_list_id).show();
				}
			}else{
				$(this).find("div.lbl").removeClass("lo");
				$(this).find("div.lbl").addClass("lc");
				$(this).attr("data-status",0);
				$(ep_list_id).hide();
			}
			return false;	
		}
	});
	$(".img_lbox").click(function(){
		myovg.lbox.close();
		var href = $(this).attr("href");
		myovg.lbox.show_lbox_container(400,200,50);
		$("div#lb_content").html("<table height=\"200\" align=\"center\"><tr valign=\"center\"><td><h4 style=\"color:#ccc;\"><img src=\"http://www.ovguide.com/img/ajax-loader-ball.gif\">&nbsp;Loading Image</h4></td></tr></table>");
		$.ajax({
			url: "../ajax/ajax_lightbox_content.php",
			dataType: "jsonp",
			data:{type:"imglb",src:href,format:"json"},
			success:function(data){
			if(1 == data.status){
				myovg.lbox.close();
				myovg.lbox.show_lbox_container(data.lb_w, data.lb_h, 50);
				$("div#lb_content").html(data.html);
			}
			}
		});
		return false;
 	});
 	
 	$("a.clk").click(function(){
 	 	setClk($(this));
	});
	 
	$('#search_button').click(function(){
		$('form').submit(function(){
		 	var n = $('#searchField').val();
		 	if(n == ''){
		 		return false;
			} else {
				return true;
			}
		});
	});
	

	/*======================
	doc ready track clicks btool
	=======================*/
	$("a.trackme_srd").click(function(){
		var srd_url = $(this).attr("id");
		if(0 == srd_url.indexOf("http")){
			window.open(srd_url, "_blank");
			return false;
		}
	});
	
	$("a[class*=trkclk]").click(function(){
		var target = '';
		var redirect=0;
		var cls = $(this).attr("class");
		var tmp= $(this).attr("target");
		if(undefined !== tmp){
			target = tmp;
		}
		var sParams ="";
		if(cls.length>0){
			var param_array = cls.split(" ");
			jQuery.each(param_array, function(i, item){
				if(item.match("trkclk:")){
					sParams = item.replace("trkclk:","");
				}
			});
		}
		if(undefined != $(this).attr("href")){
			sParams = sParams +"&tarurl=" + $(this).attr("href");
			redirect = 1;
		}
	
		track_clicks(sParams, redirect, target);
		if("_blank" == target){
			return false;
		}
	});
});		

/*==================
Functions - Misc
===================*/
function start_autocomplete(){
		var options =[];
		myovg.autocomp.init(options);
}

function get_clips(args){
	args = $.extend({q:"",q2:"",source:"",url_type:"",amg_t_id:"", tvdb_t_id:"", do_not_process_items:""},args||{});
	if(1==args["source"]){
		onclick ="";
	}
	$.ajax({
		url:"../ajax/ajax_get_clips.php",
		dataType:"jsonp",
		data:args,
		success:function(data){
			if(1 == data.status){
		       	$("div.loader").hide();
		        $(data.html).appendTo($("#clips_wrapper"));
			}else{
				$("div.loader").hide();
				$("<p style=\"text-align:center;padding:40px 0;\" class=\"light_txt\">Clips coming soon...</p>").appendTo($("#clips_wrapper"));
			}
		}
	});
}

/**
	Function for setting the disable_mobile cookie
**/
function set_web_mobile_cookie(forced_status) {
	var cookie_name = 'web_mobile_status';
	var cookie_val = '';
	var expires = '';
	var redirect = '';
	var location_mobile = "http://m.ovguide.com/";
	if (typeof(forced_status) == 'undefined') {
		forced_status = 'none'
	}
	switch (forced_status) {
		case 'mobile':
			cookie_val = forced_status;
			//Setting cookie to 1 hour
			var date = new Date();
			date.setTime(date.getTime()+(1*60*60*1000));
			expires = "; expires="+date.toUTCString();
		break;
		
		default:
			cookie_val = '';
			expires = "; expires=-1";
		break;
	}
	if (typeof(web_cat)!='undefined' && web_cat!='') {
		redirect = location_mobile+'mobile-'+web_cat+'.html';
	}
	
	if (!redirect) {
		redirect = window.location.href;
	}
	//Fire tracking event
	var category = 'Mobile_Web_Redirect';
	var action = 'Mobile';
	_gaq.push(['_trackEvent', category, action]);
	
	document.cookie =  cookie_name +"="+cookie_val+expires+";path=/;domain=ovguide.com";
	window.location.replace(redirect);
}

function mbtool_display(response) {
	var markup='';
	var rel_date = '';
	for (var i=0; i < response.res_list.length; i++) {
		if (typeof(response.res_list[i].release_date) != 'undefined' && response.res_list[i].release_date != '') {
			rel_date = ' ('+response.res_list[i].release_date+')';
		}
		if (response.res_list[i].has_image == 0) {
			img_url = 'http://cdn.static.ovimg.com/img/gui-landing-amz-no-pic.png';
		} else {
			img_url = response.res_list[i].url_img;
		}
		markup+='<div class="cover"><a class="thumb" style="background-image: url('+img_url+');" title="'+response.res_list[i].title+'" href="'+response.res_list[i].landing_url+'"></a>';
		markup+='<div class="clrfix"></div>';
		markup+='<div class="ttl"><a class="txt" href="'+response.res_list[i].landing_url+'">'+response.res_list[i].title+rel_date+'</a></div>';
		if (typeof(response.res_list[i].genre) != 'undefined' && response.res_list[i].genre != '') {
			markup+='<div class="desc"><a href="'+response.res_list[i].genre_landing_url+'">'+response.res_list[i].genre+'</a></div>';
		}
		markup+='</div>';
		if ((i+1) % 6 == 0) {
			markup+='<div class="clrfix"></div>';
		}
	}
	par_res_num += response.res_list.length; 
	retrieve_params.pkey = response.pagination_key;
	if (par_res_num < tot_res_num) {
		$("#inner_loader_but").toggle();
	}
	$("#inner_loader_img").toggle();
	$('#pag_results').append(markup);
	$("#loader").waypoint({offset:"130%"});
}

/**
	Alternative video content loaded (if available) on pages for non-flash mobile browsers
**/
function mobile_video_opt(container_id, flash_embed_url, preroll_ad_embed, format_type) {
	var movie_width = $('#'+container_id).width();
	var movie_height = $('#'+container_id).height();
	/*
		format types for video content
		1 - flash (default)
		2 - H264 
	*/
	if (typeof(format_type) == 'undefined' || (format_type!=1 && format_type!=2)) {
		format_type = 1
	}
	if (format_type == 1) {
	var playerVersion = swfobject.getFlashPlayerVersion();
		if (playerVersion.major > 0) {
			if (typeof(preroll_ad_embed)!='undefined' && preroll_ad_embed!='') {
				var swf_obj = "<object id='mainVideo' height='"+movie_height+"' width='"+movie_width+"' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' type='application/x-shockwave-flash'><embed id='OVGVideo' height='"+movie_height+"' width='"+movie_width+"' autoplay='true' allowfullscreen='true' allowscriptaccess='always' type='application/x-shockwave-flash' src='"+flash_embed_url+"'></object>";
				
				var encoded_embed_obj = jQuery.parseJSON(preroll_ad_embed);
				var injected_embed = "<div id ='"+encoded_embed_obj.video_player_id+"' width='"+encoded_embed_obj.width_default+"' height='"+encoded_embed_obj.height_default+"'>";
				injected_embed += "<scr"+"ipt type='text/javascript'>";
				injected_embed += "var show_embed = function() { var embedHTML = new String(); embedHTML = embedHTML.concat(\""+swf_obj+"\");document.getElementById('"+encoded_embed_obj.video_player_id+"').innerHTML = '';document.getElementById('"+encoded_embed_obj.video_player_id+"').innerHTML = embedHTML; };";
				injected_embed += "var adap = __adaptv__; var adsStarted = false;var myvpaidad = new adap.ads.vpaid.VPAIDAd('"+encoded_embed_obj.video_player_id+"');var Event = adap.ads.vpaid.VPAIDEvent;";
				injected_embed += "var onEvent = function(e) {switch (e.type) {case Event.AdLoaded: myvpaidad.startAd(); break;case Event.AdStarted: adsStarted = true; break; case Event.AdCompanionDisplay: break;case Event.AdClickThru: break;case Event.AdStopped: if (adsStarted) { show_embed(); } else {} break;case Event.AdError: break;}};";
				injected_embed += "for (var evtname in Event) { if (Event.hasOwnProperty(evtname)) { myvpaidad.on(Event[evtname], onEvent)}};";
				injected_embed += "var flashvars = { key: 'ovguide', zid: 'flash_ads', companionId: '"+encoded_embed_obj.companion_banner_div_id+"', videoPlayerId: '"+encoded_embed_obj.video_player_id+"', context: {'site_id': '"+encoded_embed_obj.site_id+"', 'vendor_clip_id': '"+encoded_embed_obj.vendor_clip_id+"'}, id: '"+encoded_embed_obj.video_id+"', title: '"+encoded_embed_obj.title+"', duration: '"+encoded_embed_obj.runtime+"', description: '"+encoded_embed_obj.description+"', keywords: '"+encoded_embed_obj.keywords+"', categories: '', };";
				
				injected_embed += "setTimeout(\"myvpaidad.initAd('"+encoded_embed_obj.width_default+"', '"+encoded_embed_obj.height_default+"', flashvars)\", 100);";
				injected_embed += "</scr"+"ipt>";
				injected_embed += "</div>";
				$.getScript("http://redir.adap.tv/redir/javascript/vpaid.js", function() {
					$.getScript("http://redir.adap.tv/redir/javascript/adaptvAdPlayer.js", function() {
						$('#'+container_id).html(injected_embed);
					});
				});
			} else {
				var swf_obj = "<object height='"+movie_height+"' width='"+movie_width+"' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' type='application/x-shockwave-flash'><embed id='mainVideo' height='"+movie_height+"' width='"+movie_width+"' autoplay='true' allowfullscreen='true' allowscriptaccess='always' type='application/x-shockwave-flash' src='"+flash_embed_url+"'></object>";
				$('#'+container_id).html(swf_obj);
			}
		}  
	} else if (format_type == 2) {
		var encoded_embed_obj = jQuery.parseJSON(preroll_ad_embed);
		if (encoded_embed_obj.alt_content) {
			var injected_embed = "<scr"+"ipt type='text/javascript'>";
			injected_embed += "adrise_pub_id = '26f94ffa5700ecf3f8debb7136b8325b';";
			injected_embed += "adrise_pub_name = 'OVGuide';";
			injected_embed += "adrise_pub_logo = 'http://d16724324.u48.c3.ixwebhosting.com/featured/ovguide.png';";
			injected_embed += "adrise_zone_id = 'OVGuide_web';";
			injected_embed += "adrise_content_id = '"+encoded_embed_obj.video_id+"';";
			injected_embed += "adrise_content_title = '"+encoded_embed_obj.title+"';";
			injected_embed += "adrise_content_tags = '"+encoded_embed_obj.keywords+"';";
			injected_embed += "$(document).ready(function() { adRiseAd.runCommercialBreakWithVideoId('mobile_embed'); });";
			injected_embed += "</scr"+"ipt>";
			$.getScript("http://cdn.adrise.tv/js/ios.js", function() {
				$('#'+container_id).append(injected_embed);
			});
		}
	}
}

/**
	Function for hiding/displaying video content descrpition on mobile browsers
**/
function showMore(div, bool) {
	if (bool) {
		$('.' + div).show();
		$('.' + div + 'short').hide();
	} else {
		$('.' + div).hide();
		$('.' + div + 'short').show();
	}
}

function handle_srch_ad_bottom(){

	$("iframe.ad_bottom").load(function(){
		var ad_count = $("iframe.ad_bottom").contents().find("div#ad_bottom").attr("data-ad-cnt");
		ad_count = parseInt(ad_count); 
		if(ad_count > 0){
			 $("iframe.ad_bottom").show();
			 switch(ad_count){
			 	case 1:
			 		 $("iframe.ad_bottom").addClass("frame_1_result");			 	
			 	break;
			 	case 2:
			 		$("iframe.ad_bottom").addClass("frame_2_result");			 	
			 	break;
			 	case 3: 
			 		$("iframe.ad_bottom").addClass("frame_3_result");			 	
			 	break;				 		
			 }		 				 				 				 			 	
		}	
	})
}

function l_show_clip(obj, embed_div_id){
    var href = $(obj).attr("href");
    var embed =    $("li#"+embed_div_id).html() 
	    embed = embed.replace(/^<!--/,"<");
	    embed = embed.replace(/-->$/,">");
    var embed_title= $("a#"+embed_div_id+"_title").html();
    args = {'format':'json','embed':embed,'type':'embed_l','embed_title':embed_title};
    	myovg.lbox.close();
		myovg.lbox.pl_vars["less_ie7"] = less_ie7;
		myovg.lbox.show_lbox_container(680,480);
        var content = "<div class=\"embed clearfix\"><h4 style=\"margin-bottom:5px\">"+ embed_title + "</h4>" +embed +"</div><a class=\"close\" href=\"javascript:void(0);\" onclick=\"myovg.lbox.close();return false;\">Close</a>";
       $("div#lb_content").html(content);
}

function lbox_show_clip_v2(obj){
	embed = $(obj).parents("li.smallvid").find("div.hidden").html();
	embed = embed.replace(/^<!--/m,"<");
	embed = embed.replace(/-->$/m,">");
	embed = '<center>'+embed+"</center>";
	
	if("" != embed){
		$.colorbox({
			html:embed,
			onOpen:function(){toggle_unfriendly_obj('hide')},
			onClosed:function(){toggle_unfriendly_obj('show')}
		});
	}
	return false;
}

function setClk(obj){
	var amgid_t = "";
	if("" != $(obj).attr("id")){
	 	var href = $(obj).attr("href");	
		var param = $(obj).attr("id");
		var param_array = param.split("&")
		jQuery.each(param_array, function(i) {
		  	if(0 == param_array[i].indexOf("amgid_t=")){
				amgid_t = param_array[i];
			}
		});	
	 	if(undefined == amgid_t){ 
	 		document.cookie = "amgid_t=;expires=0;path=/;domain=ovguide.com";
	 	}else{
	 		document.cookie =  amgid_t + ";expires=0;path=/;domain=ovguide.com";
		}
	}
}

function toggle_unfriendly_obj(mode){
	var obj = $("#ad_728x90_1").add("#ad_300x250_1").add("#amazon");
	switch(mode){
		case'hide':
			$(obj).hide();
		break;
		case'show':
			$(obj).show();
		break;
	}
}
	
	
function get_amazon(options){
	options = $.extend({title:"", year:"", actor:"",pg:"",ci:""},options||{});
	$.ajax({
		url:"../ajax/ajax_merchant.php",
		data:options,
		dataType:"jsonp",
		success:function(data){
			
			if(0 == data.status || 0 == data.found_results){
				$("#amazon").remove();
			}else if(2 == data.status){
				var html = data.widget;
				$("#amazon .widget").html(html);
			}else{
				var img_row = [];
				var txt_row = [];
				$(data.Items).each(function(i,item){
					if("undefined" != typeof(item.t)){
						if("undefined" != typeof(item.y)){
							var y = " ("+item.y+")";	
						}else{
							var y = "";
						}
						if("undefined" != typeof(item.lop)){
							
							if("undefined" != typeof(item.lp)){
								var lp="<span class=\"lp\">"+item.lp+"</span>";
							}else{
								var lp="";
							}
							
							var lop = "<br/>"+lp+"<span class=\"lop\">"+item.lop+"</span>";
						}else{
							var lop ="";
						}
						img_row.push("<td><a class=\"img\" href=\""+item.u+"\" target=\"_blank\"><img src=\""+item.i+"\"></a></td>");
						txt_row.push("<td><p><a href=\""+item.u+"\" target=\"_blank\">"+item.t+y+"</a><br/>"+item.p+lop+"</p></td>");
					}
				});
				var html="<table><tr valign=\"bottom\">"+img_row.join("")+"</tr><tr valign=\"top\">"+txt_row.join("")+"</tr></table><br clear=\"all\"/>";
				$("#amazon  .widget").html(html);
			}
		}
	});
}

//Calculate the Levenshtein distance between string a and string b
function levenshtein (s1, s2) {
    // Calculate Levenshtein distance between two strings  
    if (s1 == s2) {
        return 0;
    }
 
    var s1_len = s1.length;
    var s2_len = s2.length;
    if (s1_len === 0) {
        return s2_len;
    }
    if (s2_len === 0) {
        return s1_len;
    }
 
    // BEGIN STATIC
    var split = false;
    try {
        split = !('0')[0];
    } catch (e) {
        split = true; // Earlier IE may not support access by string index
    }
    // END STATIC
    if (split) {
        s1 = s1.split('');
        s2 = s2.split('');
    }
 
    var v0 = new Array(s1_len + 1);
    var v1 = new Array(s1_len + 1);
 
    var s1_idx = 0,
        s2_idx = 0,
        cost = 0;
    for (s1_idx = 0; s1_idx < s1_len + 1; s1_idx++) {
        v0[s1_idx] = s1_idx;
    }
    var char_s1 = '',
        char_s2 = '';
    for (s2_idx = 1; s2_idx <= s2_len; s2_idx++) {
        v1[0] = s2_idx;
        char_s2 = s2[s2_idx - 1];
 
        for (s1_idx = 0; s1_idx < s1_len; s1_idx++) {
            char_s1 = s1[s1_idx];
            cost = (char_s1 == char_s2) ? 0 : 1;
            var m_min = v0[s1_idx + 1] + 1;
            var b = v1[s1_idx] + 1;
            var c = v0[s1_idx] + cost;
            if (b < m_min) {
                m_min = b;
            }
            if (c < m_min) {
                m_min = c;
            }
            v1[s1_idx + 1] = m_min;
        }
        var v_tmp = v0;
        v0 = v1;
        v1 = v_tmp;
    }
    return v0[s1_len];
}

/*	
	Prints Netflix Add/Play button OR text 
	Params list:
	button_type: 'play', 'add' OR 'all' (required)
	content_type: 'movies', 'series' OR 'episode' used for browsing the Netflix data (required)
	episode_num, season_num: REQUIRED if content_type is 'series' OR 'episode'
	parent_container_id: if specified makes the parent container to show up after buttons displayed (optional)
	format: 'text' OR 'button' defines the format of the play/add link default='button' (optional)
	x, y:  X and Y position of the Netflix popup (in pixels) from the top of the viewport (optional)
*/
function print_netflix_button(button_type, content_type, container_id, episode_num, season_num, parent_container_id, format, x, y, episode_title) {
	if (typeof(season_num) == 'undefined' || season_num == '') {
		season_num = 10000;
		for (var key in netflix_results) {
			if (key < season_num) {
				season_num = key;
				if (season_num == 1) {
					break;
				}
			}
		}
	}
	if (typeof(episode_num) == 'undefined') {
		episode_num = 0;
	}
	if (typeof(format) == 'undefined' || format == '') {
		format = "button";
	}
	if (typeof(x) == 'undefined' || x == '') {
		x = 0;
	}
	if (typeof(y) == 'undefined' || y == '') {
		y = 0;
	}
	if (netflix_results != null && typeof(netflix_results) != 'undefined') {
		var url_add = '';
		var url_play = '';
		var play_ok = 0;
		var add_ok = 0;
		switch (content_type) {
			case 'movies':
				url_add = 'http://api.netflix.com/catalog/titles/movie/'+netflix_results[0].netflix_unique_id;
				url_play = netflix_results[0].netflix_unique_id;
				if ( (netflix_results[0].deliv_formats.search("instant") != -1) ) {
					play_ok = 1;	
				}
				if ( (netflix_results[0].deliv_formats.search("DVD") != -1) || (netflix_results[0].deliv_formats.search("Blue-ray") != -1) ) {
					add_ok = 1;
				}
			break;
			
			case 'series':
				if (typeof(netflix_results) != 'undefined') {
					url_add = 'http://api.netflix.com/catalog/titles/series/'+netflix_results[season_num].netflix_unique_id;
					url_play = netflix_results[season_num].netflix_unique_id;
					if ( (netflix_results[season_num].deliv_formats.search("instant") != -1) ) {
						//Temporarely disabling season play functionality due to a Netflix glitch...
						//var special_series_play_url = url+'/seasons/'+netflix_results[season_num].season_id;
						play_ok = 1;
					}
					
					if ( (netflix_results[season_num].deliv_formats.search("DVD") != -1) || (netflix_results[season_num].deliv_formats.search("Blue-ray") != -1) ) {
						add_ok = 1;
					}
				}
			break;	
			
			case 'season':
				if (typeof(netflix_results[season_num]) != 'undefined') {
					//We add the whole series to the queue, Netflix JS API doesn't allow to add single seasons
					url_add = 'http://api.netflix.com/catalog/titles/series/'+netflix_results[season_num].netflix_unique_id;
					url_play = netflix_results[season_num].season_id;
					if ( (netflix_results[season_num].deliv_formats.search("instant") != -1) ) {
						play_ok = 1;
					}
					if ( (netflix_results[season_num].deliv_formats.search("DVD") != -1) || (netflix_results[season_num].deliv_formats.search("Blue-ray") != -1) ) {
						add_ok = 1;
					}
				}
			break;
			
			case 'episode':
				var selected_key = '';
				var min_dist = 1000;
				var dist;
				if (typeof(netflix_results[season_num]) != 'undefined' && typeof(episode_title)!='undefined') {
					for (var key in netflix_results[season_num].episodes) {
						dist = levenshtein(key, episode_title);
						if (dist == 0) {
							selected_key = key;
							break;
						} else if (dist <= 18 && dist < min_dist) {
							min_dist = dist;
							selected_key = key;
						}
					}
				}
				if (selected_key!='') {
					url_add = 'http://api.netflix.com/catalog/titles/series/'+netflix_results[season_num].netflix_unique_id;
					//url_add = 'http://api.netflix.com/catalog/titles/programs/'+netflix_results[season_num].episodes[selected_key];
					url_play = netflix_results[season_num].episodes[selected_key];
					if (netflix_results[season_num].deliv_formats.search("instant") != -1) {
						play_ok = 1;
					}
					if ( (netflix_results[season_num].deliv_formats.search("DVD") != -1) || (netflix_results[season_num].deliv_formats.search("Blue-ray") != -1) ) {
						add_ok = 1;
					}
				}
			break;
		}
		if (url_add!='') {
			//Affiliate code to append to Netflix URL
			//Change this code once Netflix update affiliate program
			affiliate_url_play = url_play+'&lid=41000000034751782&pubid=21000000000296606';
			affiliate_url_add = url_add+'&lid=41000000034751782&pubid=21000000000296606';
			//Temporarely disabling season play functionality due to a Netflix glitch...
			/*if (typeof(special_series_play_url)!='undefined') {
				special_affiliate_url = special_series_play_url+'&lid=41000000034751782&pubid=21000000000296606';
			}*/
			
			switch (button_type) {
				case 'add':
					if (add_ok == 1) {
						if (format=='text') {
							$('#'+container_id).append("<a href='#' onClick='nflx.addToQueue(\""+affiliate_url_add+"\", "+x+", "+y+", \""+netflix_application_id+"\", \"disc\", \"addMe\");'>NETFLIX</a>");
						} else {
							$('#'+container_id).append("<a href='#' onClick='nflx.addToQueue(\""+affiliate_url_add+"\", "+x+", "+y+", \""+netflix_application_id+"\", \"disc\", \"addMe\");'><img src='http://cdn.static.ovimg.com/img/global/streaming/add.png'></a>");
						}
						//In case of single button, align it vertically
						$('#'+container_id).show();
					}
				break;
				
				case 'play':
					if (play_ok == 1) {
						//Temporarely disabling season play functionality due to a Netflix glitch...
						/*if (content_type=='series') {
							affiliate_url = special_affiliate_url;
						}*/
						if (format=='text') {
							$('#'+container_id).append("<a href='#' onClick='nflx.openPlayer(\""+affiliate_url_play+"\", "+x+", "+y+", \""+netflix_application_id+"\");'>NETFLIX</a>");
						} else {
							$('#'+container_id).append("<a href='#' onClick='nflx.openPlayer(\""+affiliate_url_play+"\", "+x+", "+y+", \""+netflix_application_id+"\");'><img src='http://cdn.static.ovimg.com/img/global/streaming/play.png'></a>");
						}
						//In case of single button, align it vertically
						$('#'+container_id).show();
					}
				break;
				
				case 'all':
					if (play_ok == 1) {
						var margin_button = '';
						if (add_ok) {
							margin_button = "style='margin-right:2px;'";
						}
						//Temporarely disabling season play functionality due to a Netflix glitch...
						/*if (content_type=='series') {
							$('#'+container_id).append("<a href='#' "+margin_button+" onClick='nflx.openPlayer(\""+special_affiliate_url+"\", "+x+", "+y+", \""+netflix_application_id+"\");'><img src='http://cdn.static.ovimg.com/img/global/streaming/play.png'></a>");
						} else {*/
							$('#'+container_id).append("<a href='#' "+margin_button+" onClick='nflx.openPlayer(\""+affiliate_url_play+"\", "+x+", "+y+", \""+netflix_application_id+"\");'><img src='http://cdn.static.ovimg.com/img/global/streaming/play.png'></a>");
						//}
					}
					if (add_ok == 1) {
						$('#'+container_id).append("<a href='#' onClick='nflx.addToQueue(\""+affiliate_url_add+"\", "+x+", "+y+", \""+netflix_application_id+"\", \"disc\", \"addMe\");'><img src='http://cdn.static.ovimg.com/img/global/streaming/add.png'></a>");
					}
					$('#'+container_id).show();
				break;
			}
			if (typeof('parent_container_id')!='undefined' && (add_ok || play_ok)) {
				if (netflix_results[season_num].add_disclosure == 1) {
					$('#netflix_disclosure').html('Note: check for episodes consistency before adding');
					$('#netflix_disclosure').show();
				}
				$('#'+parent_container_id).show();
			}
		}
	} 
}


	
// Netflix Ajax request 
function get_netflix(options){
	options = $.extend({title:"", netflix_id:"", content_type:"", amg_t:"", tvdb_t:"", freebase_id:"", release_year:"", button_type:"", episode_num:"", season_num:""},options||{});
	$.ajax({
		url:"../ajax/ajax_netflix.php",
		data:options,
		dataType:"json",
		success:function(data){
			if (data.status==2) {
				if (data.net_res) {
					netflix_results = data.net_res;
				}
			}
		}
	});
}

function toggleLoginPopup() {
	if (document.getElementById('loginpopup').style.display == "block") {
		document.getElementById('loginpopup').style.display = "none";
		document.getElementById('login').className = "hidelogin";
	} else {
		document.getElementById('loginpopup').style.display = "block";
		document.getElementById('login').className = "showlogin";
		
	}
}
function toggleLoggedinPopup() {
	if (document.getElementById('loggedinpopup').style.display == "block") {
		document.getElementById('loggedinpopup').style.display = "none";
		//document.getElementById('loggedin').className = "hidelogin";
	} else {
		document.getElementById('loggedinpopup').style.display = "block";
		//document.getElementById('loggedin').className = "showlogin";
	}
}

function showMore(which,bool) {
	if (bool) {
		document.getElementById(which+'long').style.display = "block";
		document.getElementById(which+'short').style.display = "none";
	} else {
		document.getElementById(which+'short').style.display = "block";
		document.getElementById(which+'long').style.display = "none";
	}
}

/*==================
Functions - track clicks btool
===================*/
function trackme_srd(obj){
	var srd_url = $(obj).attr("id");
	if(0 == srd_url.indexOf("http")){
		window.open(srd_url, "_blank");
		return false;
	}
}
function track_clicks(sParams, redirect, target){
	if(undefined == redirect){
		redirect = 0;
	}
	var rand = Math.floor(Math.random()*100001);
	var selfurl = window.location.href;
	trk_url = web_server+"clicks_tracker.php?" + sParams +"&srcurl="+selfurl+"&rand="+rand;
	if(1 == redirect){
		if("_blank" == target){
			window.open(trk_url);
		}else{
			window.location.href = trk_url;
		}
	}
}

/*==================
Function that handles comments insertions
TextArea maxlength limitations should be present in every comment form
===================*/
function addComment(post_url, is_logged, iframe_href) {
	var post_url = web_server+post_url;
	var limit = parseInt($('#commentfield').attr('maxlength'));
	var text = $('#commentfield').val();
	var chars = text.length;
	if(chars > limit){
		alert("Whoa, you need to keep your comments under " + limit + " characters.");
		return false;
	} else if (chars == 0) {
		return false;
	}
	if (!is_logged) {
		jQuery.fn.colorbox({iframe:true, width:"750", height:"510", 
			href: function() {
				return iframe_href;
			}
		});
	} else {
		$.post(post_url, $('#commentform').serialize(),
			function(data) {
				$(data).insertAfter($("#newcomment"));
				$("#commentfield").val('');
				$('#replyuserid').val('');
				$('#replyusername').val('');
				$('#replyflag').val('');
				$(":submit", $('#commentform')).removeAttr("disabled");
				$(":submit", $('#commentform')).attr("value", "POST");
		});
		$(":submit", $('#commentform')).attr("disabled", "disabled");
		$(":submit", $('#commentform')).attr("value", "saving...");
	}
}
	
/*======================
Functions - search time on site
=======================*/	
var i = 500;
var aWin = [];
//setInterval("checkStatus();", i);
function t(url, pos, oTag) {
	aWin[pos] = [];
	aWin[pos][1] = window.open(oTag.href, pos, '', true);
	aWin[pos][2] = new Date();
	aWin[pos][3] = url;
	aWin[pos][4] = 1;
	aWin[pos][1].focus();
	return false;
};
function checkStatus() {
	for(var win in aWin) {
		if (aWin[win][4] && !isOpen(win)) {
			closedAt = new Date();
			url = aWin[win][3];
			openDuration = closedAt.getTime() - aWin[win][2].getTime();
			aWin[win][4] = 0;
			onOpenWindowClosed(url, openDuration);
		}
	}
	return false;
}

function onOpenWindowClosed(url, time) {
	secs = Math.round(time/1000);
	$.ajax({
		type: "POST",
		url: "/ajax/ajax_search_tracking.php",
		data: "t=" + escape(secs) + "&ty=" + escape(fb_array["type"]) + "&q=" + fb_array["q_encode"] + "&u=" + escape(url)
	});
}
function isOpen(pos) {
	try {
		return (aWin[pos][1] == null || aWin[pos][1].top == null) ? false : true;
	}catch(e){}
	return false;
};

function removeHTMLTags(strInputCode){
 	if(strInputCode){
 	 	strInputCode = strInputCode.replace(/&(lt|gt);/g, function (strMatch, p1){
 		 	return (p1 == "lt")? "<" : ">";
 		});
 		var strTagStrippedText = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");
 		return 	strTagStrippedText;
   	}	
}

function clear_search_box_text(){
	$('.searchinput').focus(function() {
		if ($(this).val() == 'Search for movies, TV shows and videos') {
			$(this).val('');
		}
	});
}

//handle search, ask.com related search iframe
function handle_search_ask_iframe(){
	
	$("iframe#related_srch_top").load(function(){
		var content =  $(this).contents().find("body").html();
		content = $.trim(content);
		if("" != content){
			$(this).css("display","block");
		}else{
			$(this).remove();
		}
	})
	$("iframe#related_srch_bottom").load(function(){
		var content =  $(this).contents().find("body").html();
		content = $.trim(content);
		if("" != content){
			$(this).css("display","block");
		}else{
			$(this).remove();
		}	
	})
	$("iframe.ad_bottom").load(function(){
	
		var content = $(this).contents().find("body").html();
		content = $.trim(content);
		if("" != content){
			$(this).css("display:block");
		}else{
			$(this).remove();
		}	
	
	})
}

function update_scroller(v){
						
	cur =parseInt($(v[0]).attr("data-pos"))
	type = $(v[0]).attr("data-type");
	prefix = $(v[0]).attr("data-prefix");
	
	cur_div_class = type+"_panel_"+cur;
	cur_div_j_class = "." + cur_div_class;
	
	parent_div_j_id = "#scroller_"+prefix;

	$(parent_div_j_id + " .current").html(cur)

	// the carousel make multiple clone of the div
	// to keep it simple, break if anyone is empty
	has_html = 1;
	
	$(cur_div_j_class).each(function(){
		html =	$(this).html()
		//break if no html
		if(!html){
			has_html=0;
			return false;
		}
	})

	if(!has_html){
		data = new Object;
		data["num"] = cur-1; //num is zero based
		data["type"] = type;

		$(parent_div_j_id +" .s_content").append("<div class=\'scroller_loader\'></div>");
		
		$.ajax({
			url:"../ajax/ajax_controller_frontpage_content_scroller.php",
			dataType:"jsonp",
			data:data,
			success:function(data){
				$(".scroller_loader").remove();
			
				if(0 == data.scroller_type){
					
					//check if the desc ahref exists
					$(parent_div_j_id).find(".desc a").attr("href",data.url_list_browse).html(data.title_list);
				
				}
				
				$(cur_div_j_class).each(function(){
					$(this).html("")
					$(this).append(data.html)
				})
			},
			error:function(){}
		})
	}else{
		if(0 == type){
			var url = $(cur_div_j_class).find("div.meta").attr("data-url");
			var title = $(cur_div_j_class).find("div.meta").attr("data-title");
			var a = $(parent_div_j_id).find(".desc a");
			$(a).attr("href",url);
			$(a).html(title);
		}
	}	
}
function hide_this(div){
	$(div).hide();
}/* 
 * flowplayer.js 3.2.6. The Flowplayer API
 * 
 * Copyright 2009-2011 Flowplayer Oy
 * 
 * This file is part of Flowplayer.
 * 
 * Flowplayer is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * Flowplayer is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with Flowplayer.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * Date: 2011-02-04 05:45:28 -0500 (Fri, 04 Feb 2011)
 * Revision: 614 
 */
(function(){function g(o){console.log("$f.fireEvent",[].slice.call(o))}function k(q){if(!q||typeof q!="object"){return q}var o=new q.constructor();for(var p in q){if(q.hasOwnProperty(p)){o[p]=k(q[p])}}return o}function m(t,q){if(!t){return}var o,p=0,r=t.length;if(r===undefined){for(o in t){if(q.call(t[o],o,t[o])===false){break}}}else{for(var s=t[0];p<r&&q.call(s,p,s)!==false;s=t[++p]){}}return t}function c(o){return document.getElementById(o)}function i(q,p,o){if(typeof p!="object"){return q}if(q&&p){m(p,function(r,s){if(!o||typeof s!="function"){q[r]=s}})}return q}function n(s){var q=s.indexOf(".");if(q!=-1){var p=s.slice(0,q)||"*";var o=s.slice(q+1,s.length);var r=[];m(document.getElementsByTagName(p),function(){if(this.className&&this.className.indexOf(o)!=-1){r.push(this)}});return r}}function f(o){o=o||window.event;if(o.preventDefault){o.stopPropagation();o.preventDefault()}else{o.returnValue=false;o.cancelBubble=true}return false}function j(q,o,p){q[o]=q[o]||[];q[o].push(p)}function e(){return"_"+(""+Math.random()).slice(2,10)}var h=function(t,r,s){var q=this,p={},u={};q.index=r;if(typeof t=="string"){t={url:t}}i(this,t,true);m(("Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop").split(","),function(){var v="on"+this;if(v.indexOf("*")!=-1){v=v.slice(0,v.length-1);var w="onBefore"+v.slice(2);q[w]=function(x){j(u,w,x);return q}}q[v]=function(x){j(u,v,x);return q};if(r==-1){if(q[w]){s[w]=q[w]}if(q[v]){s[v]=q[v]}}});i(this,{onCuepoint:function(x,w){if(arguments.length==1){p.embedded=[null,x];return q}if(typeof x=="number"){x=[x]}var v=e();p[v]=[x,w];if(s.isLoaded()){s._api().fp_addCuepoints(x,r,v)}return q},update:function(w){i(q,w);if(s.isLoaded()){s._api().fp_updateClip(w,r)}var v=s.getConfig();var x=(r==-1)?v.clip:v.playlist[r];i(x,w,true)},_fireEvent:function(v,y,w,A){if(v=="onLoad"){m(p,function(B,C){if(C[0]){s._api().fp_addCuepoints(C[0],r,B)}});return false}A=A||q;if(v=="onCuepoint"){var z=p[y];if(z){return z[1].call(s,A,w)}}if(y&&"onBeforeBegin,onMetaData,onStart,onUpdate,onResume".indexOf(v)!=-1){i(A,y);if(y.metaData){if(!A.duration){A.duration=y.metaData.duration}else{A.fullDuration=y.metaData.duration}}}var x=true;m(u[v],function(){x=this.call(s,A,y,w)});return x}});if(t.onCuepoint){var o=t.onCuepoint;q.onCuepoint.apply(q,typeof o=="function"?[o]:o);delete t.onCuepoint}m(t,function(v,w){if(typeof w=="function"){j(u,v,w);delete t[v]}});if(r==-1){s.onCuepoint=this.onCuepoint}};var l=function(p,r,q,t){var o=this,s={},u=false;if(t){i(s,t)}m(r,function(v,w){if(typeof w=="function"){s[v]=w;delete r[v]}});i(this,{animate:function(y,z,x){if(!y){return o}if(typeof z=="function"){x=z;z=500}if(typeof y=="string"){var w=y;y={};y[w]=z;z=500}if(x){var v=e();s[v]=x}if(z===undefined){z=500}r=q._api().fp_animate(p,y,z,v);return o},css:function(w,x){if(x!==undefined){var v={};v[w]=x;w=v}r=q._api().fp_css(p,w);i(o,r);return o},show:function(){this.display="block";q._api().fp_showPlugin(p);return o},hide:function(){this.display="none";q._api().fp_hidePlugin(p);return o},toggle:function(){this.display=q._api().fp_togglePlugin(p);return o},fadeTo:function(y,x,w){if(typeof x=="function"){w=x;x=500}if(w){var v=e();s[v]=w}this.display=q._api().fp_fadeTo(p,y,x,v);this.opacity=y;return o},fadeIn:function(w,v){return o.fadeTo(1,w,v)},fadeOut:function(w,v){return o.fadeTo(0,w,v)},getName:function(){return p},getPlayer:function(){return q},_fireEvent:function(w,v,x){if(w=="onUpdate"){var z=q._api().fp_getPlugin(p);if(!z){return}i(o,z);delete o.methods;if(!u){m(z.methods,function(){var B=""+this;o[B]=function(){var C=[].slice.call(arguments);var D=q._api().fp_invoke(p,B,C);return D==="undefined"||D===undefined?o:D}});u=true}}var A=s[w];if(A){var y=A.apply(o,v);if(w.slice(0,1)=="_"){delete s[w]}return y}return o}})};function b(q,G,t){var w=this,v=null,D=false,u,s,F=[],y={},x={},E,r,p,C,o,A;i(w,{id:function(){return E},isLoaded:function(){return(v!==null&&v.fp_play!==undefined&&!D)},getParent:function(){return q},hide:function(H){if(H){q.style.height="0px"}if(w.isLoaded()){v.style.height="0px"}return w},show:function(){q.style.height=A+"px";if(w.isLoaded()){v.style.height=o+"px"}return w},isHidden:function(){return w.isLoaded()&&parseInt(v.style.height,10)===0},load:function(J){if(!w.isLoaded()&&w._fireEvent("onBeforeLoad")!==false){var H=function(){u=q.innerHTML;if(u&&!flashembed.isSupported(G.version)){q.innerHTML=""}if(J){J.cached=true;j(x,"onLoad",J)}flashembed(q,G,{config:t})};var I=0;m(a,function(){this.unload(function(K){if(++I==a.length){H()}})})}return w},unload:function(J){if(this.isFullscreen()&&/WebKit/i.test(navigator.userAgent)){if(J){J(false)}return w}if(u.replace(/\s/g,"")!==""){if(w._fireEvent("onBeforeUnload")===false){if(J){J(false)}return w}D=true;try{if(v){v.fp_close();w._fireEvent("onUnload")}}catch(H){}var I=function(){v=null;q.innerHTML=u;D=false;if(J){J(true)}};setTimeout(I,50)}else{if(J){J(false)}}return w},getClip:function(H){if(H===undefined){H=C}return F[H]},getCommonClip:function(){return s},getPlaylist:function(){return F},getPlugin:function(H){var J=y[H];if(!J&&w.isLoaded()){var I=w._api().fp_getPlugin(H);if(I){J=new l(H,I,w);y[H]=J}}return J},getScreen:function(){return w.getPlugin("screen")},getControls:function(){return w.getPlugin("controls")._fireEvent("onUpdate")},getLogo:function(){try{return w.getPlugin("logo")._fireEvent("onUpdate")}catch(H){}},getPlay:function(){return w.getPlugin("play")._fireEvent("onUpdate")},getConfig:function(H){return H?k(t):t},getFlashParams:function(){return G},loadPlugin:function(K,J,M,L){if(typeof M=="function"){L=M;M={}}var I=L?e():"_";w._api().fp_loadPlugin(K,J,M,I);var H={};H[I]=L;var N=new l(K,null,w,H);y[K]=N;return N},getState:function(){return w.isLoaded()?v.fp_getState():-1},play:function(I,H){var J=function(){if(I!==undefined){w._api().fp_play(I,H)}else{w._api().fp_play()}};if(w.isLoaded()){J()}else{if(D){setTimeout(function(){w.play(I,H)},50)}else{w.load(function(){J()})}}return w},getVersion:function(){var I="flowplayer.js 3.2.6";if(w.isLoaded()){var H=v.fp_getVersion();H.push(I);return H}return I},_api:function(){if(!w.isLoaded()){throw"Flowplayer "+w.id()+" not loaded when calling an API method"}return v},setClip:function(H){w.setPlaylist([H]);return w},getIndex:function(){return p},_swfHeight:function(){return v.clientHeight}});m(("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut").split(","),function(){var H="on"+this;if(H.indexOf("*")!=-1){H=H.slice(0,H.length-1);var I="onBefore"+H.slice(2);w[I]=function(J){j(x,I,J);return w}}w[H]=function(J){j(x,H,J);return w}});m(("pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,toggleFullscreen,reset,close,setPlaylist,addClip,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled").split(","),function(){var H=this;w[H]=function(J,I){if(!w.isLoaded()){return w}var K=null;if(J!==undefined&&I!==undefined){K=v["fp_"+H](J,I)}else{K=(J===undefined)?v["fp_"+H]():v["fp_"+H](J)}return K==="undefined"||K===undefined?w:K}});w._fireEvent=function(Q){if(typeof Q=="string"){Q=[Q]}var R=Q[0],O=Q[1],M=Q[2],L=Q[3],K=0;if(t.debug){g(Q)}if(!w.isLoaded()&&R=="onLoad"&&O=="player"){v=v||c(r);o=w._swfHeight();m(F,function(){this._fireEvent("onLoad")});m(y,function(S,T){T._fireEvent("onUpdate")});s._fireEvent("onLoad")}if(R=="onLoad"&&O!="player"){return}if(R=="onError"){if(typeof O=="string"||(typeof O=="number"&&typeof M=="number")){O=M;M=L}}if(R=="onContextMenu"){m(t.contextMenu[O],function(S,T){T.call(w)});return}if(R=="onPluginEvent"||R=="onBeforePluginEvent"){var H=O.name||O;var I=y[H];if(I){I._fireEvent("onUpdate",O);return I._fireEvent(M,Q.slice(3))}return}if(R=="onPlaylistReplace"){F=[];var N=0;m(O,function(){F.push(new h(this,N++,w))})}if(R=="onClipAdd"){if(O.isInStream){return}O=new h(O,M,w);F.splice(M,0,O);for(K=M+1;K<F.length;K++){F[K].index++}}var P=true;if(typeof O=="number"&&O<F.length){C=O;var J=F[O];if(J){P=J._fireEvent(R,M,L)}if(!J||P!==false){P=s._fireEvent(R,M,L,J)}}m(x[R],function(){P=this.call(w,O,M);if(this.cached){x[R].splice(K,1)}if(P===false){return false}K++});return P};function B(){if($f(q)){$f(q).getParent().innerHTML="";p=$f(q).getIndex();a[p]=w}else{a.push(w);p=a.length-1}A=parseInt(q.style.height,10)||q.clientHeight;E=q.id||"fp"+e();r=G.id||E+"_api";G.id=r;t.playerId=E;if(typeof t=="string"){t={clip:{url:t}}}if(typeof t.clip=="string"){t.clip={url:t.clip}}t.clip=t.clip||{};if(q.getAttribute("href",2)&&!t.clip.url){t.clip.url=q.getAttribute("href",2)}s=new h(t.clip,-1,w);t.playlist=t.playlist||[t.clip];var I=0;m(t.playlist,function(){var K=this;if(typeof K=="object"&&K.length){K={url:""+K}}m(t.clip,function(L,M){if(M!==undefined&&K[L]===undefined&&typeof M!="function"){K[L]=M}});t.playlist[I]=K;K=new h(K,I,w);F.push(K);I++});m(t,function(K,L){if(typeof L=="function"){if(s[K]){s[K](L)}else{j(x,K,L)}delete t[K]}});m(t.plugins,function(K,L){if(L){y[K]=new l(K,L,w)}});if(!t.plugins||t.plugins.controls===undefined){y.controls=new l("controls",null,w)}y.canvas=new l("canvas",null,w);u=q.innerHTML;function J(L){var K=w.hasiPadSupport&&w.hasiPadSupport();if(/iPad|iPhone|iPod/i.test(navigator.userAgent)&&!/.flv$/i.test(F[0].url)&&!K){return true}if(!w.isLoaded()&&w._fireEvent("onBeforeClick")!==false){w.load()}return f(L)}function H(){if(u.replace(/\s/g,"")!==""){if(q.addEventListener){q.addEventListener("click",J,false)}else{if(q.attachEvent){q.attachEvent("onclick",J)}}}else{if(q.addEventListener){q.addEventListener("click",f,false)}w.load()}}setTimeout(H,0)}if(typeof q=="string"){var z=c(q);if(!z){throw"Flowplayer cannot access element: "+q}q=z;B()}else{B()}}var a=[];function d(o){this.length=o.length;this.each=function(p){m(o,p)};this.size=function(){return o.length}}window.flowplayer=window.$f=function(){var p=null;var o=arguments[0];if(!arguments.length){m(a,function(){if(this.isLoaded()){p=this;return false}});return p||a[0]}if(arguments.length==1){if(typeof o=="number"){return a[o]}else{if(o=="*"){return new d(a)}m(a,function(){if(this.id()==o.id||this.id()==o||this.getParent()==o){p=this;return false}});return p}}if(arguments.length>1){var t=arguments[1],q=(arguments.length==3)?arguments[2]:{};if(typeof t=="string"){t={src:t}}t=i({bgcolor:"#000000",version:[9,0],expressInstall:"http://static.flowplayer.org/swf/expressinstall.swf",cachebusting:false},t);if(typeof o=="string"){if(o.indexOf(".")!=-1){var s=[];m(n(o),function(){s.push(new b(this,k(t),k(q)))});return new d(s)}else{var r=c(o);return new b(r!==null?r:o,t,q)}}else{if(o){return new b(o,t,q)}}}return null};i(window.$f,{fireEvent:function(){var o=[].slice.call(arguments);var q=$f(o[0]);return q?q._fireEvent(o.slice(1)):null},addPlugin:function(o,p){b.prototype[o]=p;return $f},each:m,extend:i});if(typeof jQuery=="function"){jQuery.fn.flowplayer=function(q,p){if(!arguments.length||typeof arguments[0]=="number"){var o=[];this.each(function(){var r=$f(this);if(r){o.push(r)}});return arguments.length?o[arguments[0]]:new d(o)}return this.each(function(){$f(this,k(q),p?k(p):{})})}}})();(function(){var e=typeof jQuery=="function";var i={width:"100%",height:"100%",allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:null,onFail:null,expressInstall:null,w3c:false,cachebusting:false};if(e){jQuery.tools=jQuery.tools||{};jQuery.tools.flashembed={version:"1.0.4",conf:i}}function j(){if(c.done){return false}var l=document;if(l&&l.getElementsByTagName&&l.getElementById&&l.body){clearInterval(c.timer);c.timer=null;for(var k=0;k<c.ready.length;k++){c.ready[k].call()}c.ready=null;c.done=true}}var c=e?jQuery:function(k){if(c.done){return k()}if(c.timer){c.ready.push(k)}else{c.ready=[k];c.timer=setInterval(j,13)}};function f(l,k){if(k){for(key in k){if(k.hasOwnProperty(key)){l[key]=k[key]}}}return l}function g(k){switch(h(k)){case"string":k=k.replace(new RegExp('(["\\\\])',"g"),"\\$1");k=k.replace(/^\s?(\d+)%/,"$1pct");return'"'+k+'"';case"array":return"["+b(k,function(n){return g(n)}).join(",")+"]";case"function":return'"function()"';case"object":var l=[];for(var m in k){if(k.hasOwnProperty(m)){l.push('"'+m+'":'+g(k[m]))}}return"{"+l.join(",")+"}"}return String(k).replace(/\s/g," ").replace(/\'/g,'"')}function h(l){if(l===null||l===undefined){return false}var k=typeof l;return(k=="object"&&l.push)?"array":k}if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}})}function b(k,n){var m=[];for(var l in k){if(k.hasOwnProperty(l)){m[l]=n(k[l])}}return m}function a(r,t){var q=f({},r);var s=document.all;var n='<object width="'+q.width+'" height="'+q.height+'"';if(s&&!q.id){q.id="_"+(""+Math.random()).substring(9)}if(q.id){n+=' id="'+q.id+'"'}if(q.cachebusting){q.src+=((q.src.indexOf("?")!=-1?"&":"?")+Math.random())}if(q.w3c||!s){n+=' data="'+q.src+'" type="application/x-shockwave-flash"'}else{n+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'}n+=">";if(q.w3c||s){n+='<param name="movie" value="'+q.src+'" />'}q.width=q.height=q.id=q.w3c=q.src=null;for(var l in q){if(q[l]!==null){n+='<param name="'+l+'" value="'+q[l]+'" />'}}var o="";if(t){for(var m in t){if(t[m]!==null){o+=m+"="+(typeof t[m]=="object"?g(t[m]):t[m])+"&"}}o=o.substring(0,o.length-1);n+='<param name="flashvars" value=\''+o+"' />"}n+="</object>";return n}function d(m,p,l){var k=flashembed.getVersion();f(this,{getContainer:function(){return m},getConf:function(){return p},getVersion:function(){return k},getFlashvars:function(){return l},getApi:function(){return m.firstChild},getHTML:function(){return a(p,l)}});var q=p.version;var r=p.expressInstall;var o=!q||flashembed.isSupported(q);if(o){p.onFail=p.version=p.expressInstall=null;m.innerHTML=a(p,l)}else{if(q&&r&&flashembed.isSupported([6,65])){f(p,{src:r});l={MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title};m.innerHTML=a(p,l)}else{if(m.innerHTML.replace(/\s/g,"")!==""){}else{m.innerHTML="<h2>Flash version "+q+" or greater is required</h2><h3>"+(k[0]>0?"Your version is "+k:"You have no flash plugin installed")+"</h3>"+(m.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='http://www.adobe.com/go/getflashplayer'>here</a></p>");if(m.tagName=="A"){m.onclick=function(){location.href="http://www.adobe.com/go/getflashplayer"}}}}}if(!o&&p.onFail){var n=p.onFail.call(this);if(typeof n=="string"){m.innerHTML=n}}if(document.all){window[p.id]=document.getElementById(p.id)}}window.flashembed=function(l,m,k){if(typeof l=="string"){var n=document.getElementById(l);if(n){l=n}else{c(function(){flashembed(l,m,k)});return}}if(!l){return}if(typeof m=="string"){m={src:m}}var o=f({},i);f(o,m);return new d(l,o,k)};f(window.flashembed,{getVersion:function(){var m=[0,0];if(navigator.plugins&&typeof navigator.plugins["Shockwave Flash"]=="object"){var l=navigator.plugins["Shockwave Flash"].description;if(typeof l!="undefined"){l=l.replace(/^.*\s+(\S+\s+\S+$)/,"$1");var n=parseInt(l.replace(/^(.*)\..*$/,"$1"),10);var r=/r/.test(l)?parseInt(l.replace(/^.*r(.*)$/,"$1"),10):0;m=[n,r]}}else{if(window.ActiveXObject){try{var p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(q){try{p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");m=[6,0];p.AllowScriptAccess="always"}catch(k){if(m[0]==6){return m}}try{p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(o){}}if(typeof p=="object"){l=p.GetVariable("$version");if(typeof l!="undefined"){l=l.replace(/^\S+\s+(.*)$/,"$1").split(",");m=[parseInt(l[0],10),parseInt(l[2],10)]}}}}return m},isSupported:function(k){var m=flashembed.getVersion();var l=(m[0]>k[0])||(m[0]==k[0]&&m[1]>=k[1]);return l},domReady:c,asString:g,getHTML:a});if(e){jQuery.fn.flashembed=function(l,k){var m=null;this.each(function(){m=flashembed(this,l,k)});return l.api===false?this:m}}})();
