var searched = false;
var completed = false;
var isIpad = (navigator.userAgent.match(/iPad/i));
var isIphone = (navigator.userAgent.match(/iPhone/i));
var isAndroid = (navigator.userAgent.match(/android/i));
var PATH_NO_CONTENT = "/dl/RaiTV/no_content.html";

if (typeof(increaseStatsDisabled) == 'undefined') {
	var increaseStatsDisabled = false;
}

function loadExtra(url,selector) {
	//console.log(elHTML);
	$.ajax({
	  url: url,
	  cache: false,
	  success: function(html){
		if (html.indexOf('<title>')<0) {
			$(selector).removeClass('loading').html(html);
			console.log(2);
			/* pagination*/
			/*
			var container = selector.parent();
			$(".paging",container).html("");
			function f_vgg(page_index, jq) {return pageselectCallback(12,$('.listaVideo:visible ul>li:visible',container), page_index, jq);}
			var vgg = $(".paging", container);
			vgg.pagination($('.listaVideo:visible ul>li:visible',container).length, {items_per_page: 12, callback: f_vgg});
			f_vgg(0, vgg);
			*/
			var container = $(".videoContainer");
			//console.log(container);

			function f_ong(page_index, jq) {return pageselectCallback(8,$('.listaVideo:visible ul>li',container), page_index, jq);}
			var ong = $(container).find(".paging");
			ong.pagination($('.listaVideo:visible ul>li', container).length, {items_per_page: 8, callback: f_ong});
			f_ong(0, ong);

		} else {
			$.ajax({
			  url: PATH_NO_CONTENT,
			  cache: false,
			  success: function(html){
				$(selector).removeClass('loading').html(html);
				$("#mediaList").fadeIn("slow", function () {

				});
			  }
			});
		}
		//loadSilverlightAndBanners();
	  },
	  error: function(html){
		$.ajax({
		  url: PATH_NO_CONTENT,
		  cache: false,
		  success: function(html){
			$(selector).html(html);
			$("#mediaList").fadeIn("slow", function () {

			});
		  }
		});
	  }
	});
	return false;
};


function pageselectCallback(items_per_page, selector, page_index, jq) {
	var max_elem = Math.min((page_index+1) * items_per_page, selector.length);
	var newcontent = '';
	selector.hide();
	if(searched) {
		var loop_iter = 0;
		var start_index = 0;
		while(loop_iter < page_index*items_per_page && start_index < elementi_visibili.length) {
			if(elementi_visibili[start_index])
			loop_iter++;
			start_index++;
		}
		var i = start_index;
		loop_iter = 0;
		while(loop_iter < items_per_page && i < elementi_visibili.length) {
			if(elementi_visibili[i]) {
				selector.eq(i).show();
				loop_iter++;
			}
			i++;
		}
	} else {
		for(var i=page_index*items_per_page;i<max_elem;i++) {
			selector.eq(i).show();
		}
	}
	// Prevent click eventpropagation
	return false;
}

var paginationOptions = {
	items_per_page: 3,
	num_display_entries: 5,
	current_page: 0,
	link_to: ".paging",
	prev_text: "&laquo;",
	next_text: "&raquo;",
	ellipse_text: "...",
	prev_show_always: false,
	next_show_always: false,
	show_if_single_page: false,
	callback: pageselectCallback
};

function playCompleted(){
	try {console.log('playCompleted new 2012');}catch(e){}
	try {
		if (window.enablePostVodPanel) {
			completed = true;
			itemsRelated(0,completed);
			//completed = false;
		}
	} catch (e) {
		try {console.log(e);}catch(e2){}
	}
}
var pageNum = 0;


/**
 * Modifica la dimensione del player su raitv, spostando i div dove necessario.
 * @param {String} size la nuova dimensione del player. Valori ammessi:
 *   'large' e 'small'
 */
function setPlayerSize(size) {
	var page = $('.Page');
	var myRaiTVPanel = $('.Page .boxMyRaitv');
	var main = page.find('.Main');
	// mi assicuro che il box commenti stia fuori dal Main...
	if (main.find('.boxCommenti').length > 0 && $('.Spalla').length > 0) {
    main.find('.boxCommenti').insertAfter($('.Spalla'));
  }
	switch (size) {
		case 'large':
			main.addClass('largeScreen');
			break;
		case 'small':
		default:
			main.removeClass('largeScreen');
	}
	main.find('.scroll-pane').jScrollPane();
}
function zoomWindow(isZoomed) {
	console.log('zoomWindow(' + isZoomed + ')');
	var size = 'small';
	if (!!isZoomed) {
		size = 'large';
	}
	if(pageRai != "tematiche-speciale") {
		setPlayerSize(size);
	}
}


function onPlayerStatus(started) {
	return;
	console.log('onPlayerStatus(' + started + ')');
	if (!started) {
		itemsRelated(0, false);
	} else {
		$('.vodPanel a.close').click();
	}
}

function defineOpenPopupFunction() {
	window.openPopup = (function(originalOpenPopup) {
		return function(time) {
			// cerco di risolvere il conflitto di nome con un'altra funzione
			if (typeof(originalOpenPopup) == 'function') {
				if (!!time && !/^(\d\d:?)*\.?\d*$/.test(time)) {
					return originalOpenPopup.apply(this, arguments);
				}
			}

			var l = document.location;
			var u = l.protocol + '//' + l.host + l.pathname;
			var p = '' + l.search;
			if (p.length < 2) {
				p += '?iframe';
			} else {
				p += '&iframe';
			}
			p += '&time=' + time;
			u += p + l.hash;
			console.log(u);
			var w = window.open(u, 'RaiTV Popup', "scrollbars=no,status=0,width=648,height=400");
			return w;
		};
	})(typeof(window.openPopup) != 'undefined'?window.openPopup:null);
}
$(defineOpenPopupFunction);
function highlightClicked(hlTime) {
  setNielsen(document.location + '?highlight=' + hlTime, true);
}
function itemsRelated(pageNum,completed) {
	var html = "";
	var contentSet = $('.Player').attr('data-set');
	var contentId = $(".Player").attr("data-id");
	var tipomedia = $('.Player').attr("data-mediaType");
	try {
		// mette in pausa uniplayer
		$('.Player object')[0].Content.UniPlayerController.TogglePlay(false);
	} catch(e) {
		// non e' uniplayer
	}

	if(typeof tipomedia === 'undefined' || typeof tipomedia === 'unknown') {
		return true;
	}

	if($(".vodPanel").length === 0){
		if($('.Player').hasClass("small")){
			$('.Player').removeClass("small").addClass("small-ex");
			$('.Player').prepend('<div id="silverlightControlHost" style="width: 100%; height: 100%;" />');
			$(".realRadio").hide();
		}
		$('#silverlightControlHost').append('<div class="vodPanel" />');
	}
console.log(completed);
	if(completed) {
		$(".vodPanel").addClass("completed");
		html += '<div class="video-buttons">';
			html += '<ul>';
				html += '<li class="Rivedi"><a class="rivedi" href="#" onclick="return replayVod()"><span class="label">Rivedi</span></a></li>';
				html += '<li class="Send"><a href="#" onclick="sendFriend(\''+contentSet+'\',false); return false;" class="btnSend" title="Invia ad un amico"> <span class="label">Invia ad un amico</span></a></li>';
				html += '<li class="Share item_Visualizzazioni st_sharethis_custom st_button" displayText="ShareThis"><a class="share" href="#"><span class="label">Condividi</span></a></li>';
				html += '<li class="Playlist"><a href="#" onclick="addPlaylist(\''+contentId+'\'); return false;" class="btnPlaylist" title="Aggiungi alla playlist"><span class="label">Playlist</span></a></li>';
				// html += '<li class="Comment"><a href="#">Commenta</a></li>';
				html += '<li class="Comment"><a href="/dl/RaiTV/programmi/media/' + contentId + '.html#commenti">Commenta</a></li>';
				html += '<li class="Fave"><a href="#" onclick="MyRaiTV.addFavourites(\'' + contentId + '\'); return false;"><span class="label">Preferiti</span></a></li>';
			html += "</ul>";
		html += "</div>";
	} else {
		html += '<a href="#" class="close" title="Chiudi"><em>Torna al contenuto</em></a>';
	}
	if(tipomedia == 'Fotogallery'){
		html += '<div class="titolo"><h3>'+tipomedia+' Correlate</h3></div>';
	} else {
		html += '<div class="titolo"><h3>'+tipomedia+' Correlati</h3></div>';
	}

	html += '<div class="postVodPanel"></div>';
	$('.vodPanel').html(html);


	console.log("dataSet=" + contentSet);

	var mediaType = tipomedia.substr(0,1);
	var urlRelated = "/dl/RaiTV/programmi/json/liste/" + contentSet + "-json-"+mediaType+"-"+pageNum+".html";
	//renderSet(urlJson, selector, num, paginationSelector)
	renderSet(urlRelated,'.postVodPanel',8,'correlati');
	try {stButtons.locateElements();}catch(e){}


}
function setStatsItem() {
		var uniquename = "";
		var title = "";
		var tags = "";
		var cloud = "";
		var pathImgStat ="";
		var nomeProgramma ="";
		var logoEditore ="";
		var duration = "";
		var durationPost = "";
		var description = "";
		var editore = "";
		var dateMedia = "";
		var myPageMedia = "";

		/*pulisco la url da eventuali param inutili*/
		var s = document.location.search.replace(/^\?/, '');
		s = s.split('&');
		var cs = [];
		for (var i = 0; i<s.length; i++) {if (s[i] != 'refresh_ce') {cs.push(s[i]);}}
		s = cs.join('&');
		if (s.length > 0) {s = '?'+s;}
		/*pulisco la url da eventuali param inutili*/
		var webLink = document.location.pathname.replace(/RaiTV\/programmi\/media\/2012\//, 'RaiTV/programmi/media/') + s;

		try {uniquename = $(".Player").attr("data-id") != "null" ? $(".Player").attr("data-id") : "";} catch(e){}
		try {title = $('.boxOndemand .top h2').text() != "null" || $('.boxOndemand .top h2').text() != 0 ? replaceMSWord($('.boxOndemand .top h2').text()) : "";} catch(e){}
		try {nomeProgramma = $(".Player").attr("data-prog") != "null" ? replaceMSWord($(".Player").attr("data-prog")) : "";} catch(e){}
		try {tags = $(".Player").attr("data-tematiche") != "null" ? $.trim(replaceMSWord($(".Player").attr("data-tematiche"))) : "";} catch(e){}
		try {cloud = $(".Player").attr("data-cloud") != "null" ? $.trim(replaceMSWord($(".Player").attr("data-cloud"))).split(/\W*,\W*/).join("^") : "";} catch(e){}
		try {pathImgStat = $(".Player").attr("data-img") != "null" ? $.trim($(".Player").attr("data-img")) : "";} catch(e){}
		try {description = $(".Player").attr("data-desc") != "null" ? $.trim($(".Player").attr("data-desc")) : "";} catch(e){}
		try {dateMedia = $(".Player").attr("data-date") != "null" ? $.trim($(".Player").attr("data-date")) : "";} catch(e){}
		try {myPageMedia = $(".Player").attr("data-page") != "null" ? $.trim($(".Player").attr("data-page")) : "";} catch(e){}
		myPageMedia = (''+myPageMedia).substring(0, 41); // non si sa perche', ma a volte ha preso troppo testo (span chiuso male).. :/
		nomeProgramma = jQuery.trim(nomeProgramma);

		var videoUrl, videoUrl_H264, videoUrl_M3U8, isPodcast, hasClosedCaption;
		videoUrl = $('meta[name=videourl]').attr('content') || false;
		videoUrl_H264 = $('meta[name=videourl_h264]').attr('content') || false;
		videoUrl_M3U8 = $('meta[name=videourl_m3u8]').attr('content') || false;
		isPodcast = $('meta[name=podcast]').attr('content') || false;
		hasClosedCaption = $('meta[name=closedcaption]').attr('content') || false;
		// console.log(videoUrl_H264, videoUrl_M3U8, isPodcast, hasClosedCaption);

		if(nomeProgramma == ""){
			tags = tags.substring(0,tags.length-1);
		} else {nomeProgramma = "NomeProgramma:"+nomeProgramma;}
		tags = tags + nomeProgramma;
		tags += "^PageOB:"+myPageMedia;

		if (/\/dl\/RaiTV\/dirette\//.test(document.location.pathname)) {
			tags += '^Live';
		} else if (/\/dl\/RaiTV\/programmi\/media\//.test(document.location.pathname)) {
			tags += '^VOD';
		}

		// isPodcast, hasClosedCaption
		if (!!isPodcast) {
			tags += '^PODCAST';
		}
		if (!!hasClosedCaption) {
			tags += '^SOTTOTITOLATO';
		}

		if ($(".Specifiche .durata").attr("data-duration") != '00:00:00' && $(".Specifiche .durata").attr("data-duration") != ''){
			duration = "&duration="+escape($(".Specifiche .durata").attr("data-duration"));
			durationPost = $.trim($(".Specifiche .durata").attr("data-duration"));
		}

		try {
			logoEditore = $(".Player").attr("data-editore") || '';
			editore = "^Editore:"+logoEditore;
		} catch(e){
			logoEditore ="";
		}


		// $('script[src*="//secure-it.imrworldwide.com/"]:not([src*="//secure-it.imrworldwide.com/novms/"])').length == 0
		// verifica se e' gia' inclusa in pagina la chiamata nielsen: se manca, viene eseguita qui
		if (typeof(window._rsCI) == 'undefined' || (
				// riconosco varie versioni dello script nielsen
				$('script[src="//secure-it.imrworldwide.com/v52.js"]').length == 0 &&
				$('script[src="//secure-it.imrworldwide.com/v53.js"]').length == 0)) {
			var prevReloadBannersOnNielsen = reloadBannersOnNielsen;
			reloadBannersOnNielsen = false; // al caricamento dei banner ci pensa un altro script
			setNielsen(location.href+"&tags="+tags.replace(/Category:([^:]*:)?Category[a-z0-9-]*[\^]/g, '').replace(/TAG:([^:]*:)?Category[a-z0-9-]*[\^]/g, '')+"&editore="+logoEditore);
			reloadBannersOnNielsen = prevReloadBannersOnNielsen;
		}

		var vTypeMedia = $.trim($(".Player").attr("data-mediatype"));
		if(vTypeMedia === 'Fotogallery') {
			vTypeMedia = 'Foto';
		} else if(vTypeMedia === ''){
			vTypeMedia = 'altro';
		}

		var videoURL_MP4 = "";
		try {
			videoURL_MP4 = window.videoURL_MP4 || '';
		} catch (e) {
			videoURL_MP4 = "";
		}
		if (!videoURL_MP4) {
			if (!!videoUrl_M3U8) {
				videoURL_MP4 = videoUrl_M3U8;
			} else if (!!videoUrl_H264) {
				videoURL_MP4 = videoUrl_H264;
			}
		}

		if(uniquename != null && uniquename != "") {
			if (!increaseStatsDisabled) {
				var itemData = {
					action: "increaseVisits",
					domain: "RaiTv",
					localId: uniquename,
					tags: tags+editore,
					tagCloud: cloud,
					title: title,
					imagePath: pathImgStat,
					duration: durationPost,
					description: replaceMSWord(description.substr(0,1500)),
					publDate: dateMedia,
					url: videoURL_MP4,
					urlWeb: webLink,
					type: vTypeMedia
				};
				// videoUrl, videoUrl_H264, videoUrl_M3U8,
				// l'h264 viene inviato come "url" (legacy)
				// if (!!videoUrl_H264) {
				// 	itemData.videoUrl_H264 = videoUrl_H264;
				// }
				if (!!videoUrl_M3U8) {
					itemData.urlM3u8 = videoUrl_M3U8;
				}

				$.ajax({
				   type: "POST",
				   contentType: "application/x-www-form-urlencoded; charset=utf-8",
				   url: "http://"+document.domain+"/StatisticheProxy/proxyPost.jsp",
				   data: itemData
				 });
			}
		}
	};
$(function() { 

	if(typeof JsInfo == 'undefined' || JsInfo != 'disabled'){
		$(".boxOndemand>.top>h3>a").attr("target","_top");
		$(".boxOndemand .Info a").attr("target","_blank");
		$("#evidenzaSpalla .miniLink").hide();

		var linkBack = $(".boxOndemand>.top>h3>a").attr("href");
		var parentSetItem = (typeof $(".Player").attr("data-set") != 'undefined') ? $(".Player").attr("data-set") : "";
		var parentSetType = (typeof $(".Player").attr("data-mediatype") != 'undefined') ? $(".Player").attr("data-mediatype") : "";
		var linkProgramma = linkBack+"?set="+parentSetItem+"&type="+parentSetType.substr(0,1);

		if($("meta[name=programmaTV]").attr("content") != '') {
			$(".boxOndemand>.top>h3").html('<span>Vai all\'archivio di</span><a href="'+linkProgramma+'">'+ $(".Player").attr("data-prog")+'</a>');
			$(".boxOndemand>.mid>.Info").append('<a href="'+linkProgramma+'" target="_top">on demand - archivio completo</a>');
			$("#evidenzaSpalla .mini h3").html('<a href="'+linkProgramma+'">'+$(".Player").attr("data-prog")+'</a>');
		}


		var eventStatsLoaded = 'StatsLoaded';

		/*social buttons*/
		var contentId = $(".Player").attr("data-id");
		var contentUrl = 'http://www.rai.tv/dl/RaiTV/programmi/media/'+contentId+'.html';
		var getTweet = $.getScript('//platform.twitter.com/widgets.js'); /*fb e g+ già caricati in head*/
		var fbCount = '<div class="fb-like" data-href="'+contentUrl+'" data-send="false" data-layout="button_count" data-width="102" data-show-faces="true" data-font="segoe ui"></div>';
		var plusone = '<div class="g-plusone" data-size="medium" data-href="'+contentUrl+'"></div>';
		var tweet = '<a href="https://twitter.com/share" class="twitter-share-button twitter" data-count="horizontal" data-lang="it">Tweet</a>';

		var socialBar = $('<div class="socialNetwork">'+fbCount+plusone+tweet+'</div>'+
						'<div class="Opzioni">'+
							'<a href="#" class="Commenti"><em>Commenti</em> <strong><span>0</span></strong></a>'+
							'<span displayText="ShareThis" class="Share st_sharethis_custom st_button">Share</span>'+
						'</div>');

		var topBar = $(".boxOndemand .top");
		topBar.append(socialBar);

		socialBar.find('a.Commenti').click(function() {
			var c = $('.boxCommenti');
			if (c.length > 0) {
				$('body').animate({
					scrollTop: c.offset().top
				}, 500);
			}
			return false;
		});

		$(document).bind('StatsLoaded', function(e, data) {
			if (data.localId == contentId) {
				socialBar.find('a.Commenti strong span').text(data.commentsCount);
				topBar.find('ul.Specifiche li.visits').html('<span>Visualizzazioni:</span>' + data.visitCount);
			}
		});
		// load statistics

		var urlGetStats = '/StatisticheProxy/proxy.jsp?action=getContent' +
		  '&domain=RaiTv' +
		  '&xsl=rai_tv-statistiche-content-json' +
		  '&localId=' +
		  contentId;
		$.ajax({
			url: urlGetStats,
			type: 'GET',
			dataType: 'json',
			cache: false,
			success: function(data) {
				var i, li, addedCount, firstItem, commentsShown, msg, delta, id;
				data = data.items[0];
				data.commentsCount = parseInt(data.commentsCount || '0');
				$(document).trigger(eventStatsLoaded, data);
			}
		});
	}
	/*social buttons*/

	$('.scroll-pane').jScrollPane({animateTo:true,showArrows:false,scrollbarWidth:16, reset: true});

	$("#evidenzaSpalla .Categorie li").unbind('click').click(function(){
			$(".Categorie li").removeClass("selected");
			$(this).addClass("selected").siblings().removeClass("selected");

			var container = $(this).closest(".videoContainer");
			$(".listaVideo",container).hide();

			var statistics = '';
			if($("a",this).hasClass('Recenti')){
				statistics = '/StatisticheProxy/proxyPost.jsp?action=getLastContentByTag&numContents=24&tags=PageOB:'+$(".Player").attr("data-page")+'&domain=RaiTv&xsl=rai_tv-statisticheN';
			} else {
				statistics = '/StatisticheProxy/proxy.jsp?action=mostVisited&domain=RaiTv&days=7&state=1&records=24&order=&tags=PageOB:'+$(".Player").attr("data-page")+'&xsl=rai_tv-statisticheN';
			}
			loadExtra(statistics, $(".listaVideo",container));
			$(".listaVideo",container).show();

			/*

			*/
			//setNielsen(url);
			// slide to top
			//$('html,body').scrollTop('0');
			return false;
		}).data('inizializzato', true);
	$("#evidenzaSpalla .Categorie li:eq(0)").click();

	$(".opzVod>li.Corr").live("click",function(){
		itemsRelated(pageNum,completed);
		return false;
	});


	if (($('meta[notEmbeddable=notEmbeddable]').length > 0 || $('meta[name=programmaTV]').attr('content') == 'Rai Sport 2011')) {
		// disable embed
	} else {
		var embedCode = '<li class="Embed">'+
							'<a href="#">'+
								'<span>Embed</span>'+
							'</a>'+
							'<div class="infoEmbed">'+
								'<a href="#" class="close" title="Chiudi"></a>'+
								'<textarea>'+
									'<iframe src="'+contentUrl+'?iframe" style="border:0px; padding: 0px; margin:0px; width: 100%; height: 100%;" scrolling="no"></iframe>'+
								'</textarea>'+
							'</div>'+
						'</li>';
		$(".opzVod").append(embedCode);
	}

	$(".Embed").live("click",function(){
		$(this).addClass("show");
		$(".infoEmbed").show();
		return false;
	});
	$(".infoEmbed .close").live("click",function(){
		$(".Embed").removeClass("show");
		$(".infoEmbed").hide();
		return false;
	});

	$(".vodPanel .close").live("click",function(){
		$(".vodPanel").remove();

		if($('.Player').hasClass("small-ex")){
			$('.Player').removeClass("small-ex").addClass("small");
			$('.Player #silverlightControlHost').remove();
			$(".realRadio").show();
		}
		try {
			// mette in play uniplayer
			$('.Player object')[0].Content.UniPlayerController.TogglePlay(true);
		} catch(e) {
			// non e' uniplayer
		}


		return false;
	});
	/*increaseVisits+nielsen*/
	setStatsItem();
});
