(function($) {

	var pollManager;
	var templateManager;
	
	var videoUrl = "http://extra.mtv.it/sky/top20italians/mediaplayer.asp?category=U&videoID=";
	var redirectUrl = "/mag/speciali_mag/mtv_italians_risultati.html";

	var init = function() {
		templateManager = new sky.api.TemplateManager({
			template: '<li>'+
				"<img src='/static/images/sezioni/mag/speciali_mag/MTV_italians/thumb/{$T.description.substring(0, $T.description.indexOf('@@')).toLowerCase().replace(/ /g,'_').replace(/&#39;/,'_')}.jpg' rel='{$T.video}'/>"+
				'<p class="description">'+
					'<b>{$T.description.substring(0, $T.description.indexOf("@@"))}</b><br/>'+
					'{$T.description.substring($T.description.indexOf("@@")+2)}<br/>'+
					//'<input type="checkbox" value="{$T.id}"/>Vota'+
				'</p>'+
				'<p class="related">'+
					'{#if $T.notes}<a href="{$T.notes.substring(0, $T.notes.indexOf("@@"))}">{$T.notes.substring($T.notes.indexOf("@@")+2)}</a>{#/if}'+
				'</p>'+
			'</li>',
			isArray: true,
			container: $("#sondaggio-mtv-container .question-container"),
			listeners: [{
				event: "click",
				callback: onImageClick,
				target: "img"
			}, {
				event: "click",
				callback: onLinkClick,
				target: "a"
			}]
		});
		pollManager = new sky.api.PollManager({
			pollId: 172,
			questionId: 191
		});
		pollManager.getAnswerList({
			randomize: true,
			callback: onAnswerList
		});
		$("img.submit").click(onSubmitClick);
	}

	var onAnswerList = function(success, questionList) {
		if(success) templateManager.apply(questionList);
		else showError("Problema server");
	}
	
	var onImageClick = function(event) {
		var rel = $(this).attr("rel");
		window.open(videoUrl+rel, "mtv", "height=400,width=680");
	}
	
	var onLinkClick = function(event) {
		event.preventDefault();
		window.open(this.href);
	}
	
	var onSubmitClick = function(event) {
		var input = $("#sondaggio-mtv-container input:checked");
		if(input.size() == 0) {
			showError("Seleziona almeno un artista");
			return
		}
		var ids = [];
		input.each(function() {
			ids.push(this.value);
		});
		pollManager.voteQuestion({
			answer: ids,
			callback: onVoteQuestion
		});
	}
	
	var onVoteQuestion = function(success) {
		if(success) document.location = redirectUrl;
		else showError("Errore nella votazione");
	}
	
	var showError = function(errorMessage) {
		$("#sondaggio-mtv-container p.error-container").html(errorMessage);
		window.setTimeout(function() {
			$("#sondaggio-mtv-container p.error-container").html("");
		}, 2000);
	}

	$(init);

})(jQuery);

