/*
 * sanoma microsite js
 *
 * Copyright (c), de tényleg!
 *
 * Date: 2009-05-05 
 *
 * Let's listen the jQuery Love Band now!
 *
 * See those tutorials. And you feel the power of JavaScript
 * http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery
 * http://docs.jquery.com/Selectors
 * http://docs.jquery.com/Events
 * http://docs.jquery.com/Plugins
 *
 * http://www.trirand.com/blog/ THE DATAGRID (!) plugin
 * http://pupunzi.wordpress.com/2009/01/18/mbmenu/ Amazing menu system
 * http://code.google.com/p/jqwebext/ Web Extensions Organizer
 * http://noteslog.com/chili/ Code highlight for authors
 * http://www.malsup.com/jquery/corner/ jQuery Corner
 * http://jqueryui.com/ User Interface
 */

var videoId = 0;
//var undefined_test;

// AJAX href variables
var block_site_videos = false;
var site_videos_pager_href = '';

var block_related_videos = false;
var related_videos_pager_href = '';

var block_search_result = false;
var search_result_pager_href = '';

var block_comment_list = false;
var comment_list_pager_href = '';

var timerGet = 1500;

var temp_comment_list_name = "";
var temp_comment_list_body = "";

var isPosted = false;
		

$(document).ready(
function()
{
	var videoId = $("#videoId").val();
	var homeUrl = $("#homeUrl").val();
	//alert(videoId);
	init();
});


function init()
{
	/* JQUERY CORNER*/

	if (typeof(need_to_reload) != "undefined" && need_to_reload)	
	{
		$("#message_box").html("<h3>A szolgáltatás jelenleg nem elérhető.</h3><p>A problémát hamarosan orvosoljuk. Kérjük nézzen vissza később!<p>").removeClass("hidden");
		setTimeout('window.location.reload()', 5000);
		return;
	}
	/* TODO unComment*/
	//setCorners();

	/* LIST VIEW CHANGE */
	bindViewTypeSelectors();
	/* LIST ITEM SELECTION */
	bindListItemSelection();
	/* CALL  PAGER SELECTION */
	bindPagerSelection();
	/* CALL  PAGER SELECTION */
	bindHovering();
	/* CALL CAPTCHA*/
	bindCaptcha();
	/* CALL LISTS */
	callLists();
	/* ALL COMMENTS*/
	allComments();
	/* COMMENT LIST BIND */
	bindCommentListSend();

	/* SELECTION DECORATION*/
	bindDecoration();

	$("#code_to_clipboard").click(
	function(event)
	{
		event.preventDefault();
		$.copy($("#input_code").val());
		//var item = $("#code_input_wrapper input").copy();
		//alert("Ez van a clipBoardon : " + $("#input_code").val());
	});

	/* SITE VIDEOS */
	
		/*
		$("#site_videos_content .site_videos_row").click(
		function(event)
		{
		   event.preventDefault();
		   alert("video selected");
		});
	*/

}

function bindDecoration()
{
;
/*	
	MENÜ HOVER

        var selectedMenuLi = $("#header_buttons li.selected");
	$("#header_buttons li").mouseenter(
	function(event)
	{
	   if ($(this) != selectedMenuLi && $("#header_buttons li.selected")) 
	   {
	   	selectedMenuLi.removeClass("selected");
	   }	
	   else
	   {
	   	selectedMenuLi.addClass("selected");
	   }
	   event.preventDefault();

	});

	$("#header_buttons li").mouseleave(
	function(event)
	{
   	   selectedMenuLi.addClass("selected");
	   event.preventDefault();

	});

*/
}

function bindHovering()
{
	// SITE VIDEO LIST ROW
	$('.site_videos_row').hover(function() { $(this).addClass('hovered'); }, function() {  $(this).removeClass('hovered');});
	$('.site_videos_mozaik_item').hover(function() { $(this).addClass('hovered'); }, function() {  $(this).removeClass('hovered');});
	// RELATED VIDEO LIST ROW
	$('.related_videos_row').hover(function() { $(this).addClass('hovered'); }, function() {  $(this).removeClass('hovered'); });
	$('.related_videos_mozaik_item').hover(function() { $(this).addClass('hovered'); }, function() {  $(this).removeClass('hovered'); });
	// SEARCH RESULT VIDEO LIST ROW
	$('.search_result_row').hover(function() { $(this).addClass('hovered'); }, function() {  $(this).removeClass('hovered'); });
	$('.search_result_mozaik_item').hover(function() { $(this).addClass('hovered'); }, function() {  $(this).removeClass('hovered'); });
	// COMMENT LIST ROW
	//$('.comment_list_row').hover(function()	{ $(this).addClass('hovered'); }, function() {  $(this).removeClass('hovered');	});

}

function bindCommentListSend()
{

	//alert("comment list binder");

	var videoId = $("#videoId").val();
	var homeUrl = $("#homeUrl").val();


	$("#comment_list_send").click(
	function(event)
	{
		event.preventDefault();
		authorVal = $("#comment_list_name").val();
		descriptionVal = $("#comment_list_body").val();
		captchaVal = $("#captcha").val();
		//temp_comment_list_name = $("#comment_list_name").val();
		//temp_comment_list_body = $("#comment_list_body").val();		

		// Ha nincs beírva szöveg el sem megy!
		$("#comment_list_name").removeClass("red_border");
		$("#comment_list_body").removeClass("red_border");
		$("#captcha").removeClass("red_border");

		if (!$("#comment_list_name").val() || !$("#comment_list_body").val() || !$("#captcha").val())
		{
			var hiany = "Hiányzó elemek :";
			if (!$("#comment_list_name").val())
			{
				$("#comment_list_name").addClass("red_border");
				hiany += "<br />&nbsp;-Név " ;
			}
			if(!$("#comment_list_body").val())
			{
				$("#comment_list_body").addClass("red_border");
				hiany += "<br />&nbsp;-Hozzászólás " ;
			}
			if(!$("#captcha").val())
			{
				$("#captcha").addClass("red_border");
				hiany += "<br />&nbsp;-Ellenőrző kód " ;
			}
			$("#comment_list_message").removeClass("invisible").html("Sikertelen küldés! Kérjük próbálja meg kitölteni az űrlapot!<br /> " + hiany);

			// FIX : leszedjem??, vagy jó, hogy eltűnik?
			//setTimeout('$("#comment_list_message").addClass("invisible")', 8000); // 10mp mulva eltunik
			return;		
		}

		//De mivel van szöveg, ezért elküldjük a VALIDÁLÁST
		$("#comment_list_loadinfo").removeClass("hidden");

		var hrefCaptchaValidate = $("#captcha_url").val();
		$.get(hrefCaptchaValidate, { captcha : captchaVal }, 
		function(data)
		{	
			if (data == 'true')
			{
		
				isPosted = true;
				$.post(homeUrl + "ajax/post_comment" , { author: authorVal, id: videoId, description: descriptionVal },
			 	function(data)
				{
					//alert("Data Loaded: " + data);
					if (data == "ok" || data == "OK")
					{
						var comment_offset;
						if (js_comment_list != null)
						{
							// 10 = js_comment_list.limit
							comment_page_num = Math.ceil((js_comment_list.total+1) / 10);
							// a 0 azt jelenti, hogy a php-kap ilyet, ott, meg +1-et
							comment_offset = (js_comment_list.total+1 > 10) ? (((comment_page_num-1) * 10)) : '0';
						}
						else
						{
							comment_offset = '0';
						}
					//alert(comment_offset);
					var href = homeUrl + "ajax/comment_list/list/"+videoId+"/10/"+comment_offset;
					//$.get(href, {}, commentListPagerHandler );
					setTimeout('commentListPagerHandler(null, null, "'+href+'", "delete")', 2000, 1);
					}
					else
					{
						$("#comment_list_loadinfo").addClass("hidden");
						$("#comment_list_message").removeClass("invisible").html("Sikertelen küldés! Kérjük próbálja meg még egyszer, hátha sikerül!");
					}
				 });
			}
			else
			{
				$("#comment_list_loadinfo").addClass("hidden");
				$("#captchaLabel").addClass("red");
				$("#captchaLabel").text("Kérem ismételje meg az ellenőrzőkódot!");
			}
 		});
	});
}

function setCorners()
{
	$("#search_line").corner("3px");
	//$("div").corner("3px");

	$("#videoplayer_header").corner("3px");
	$("#videoplayer_footer").corner("3px");

	$("#comment_list_header").corner("3px");
	$(".comment_list_row").corner("3px");
	$(".comment_list_search_row").corner("3px");
	$("#comment_list_name").corner("3px");
	$("#comment_list_body").corner("3px");


	$("#video_info_header").corner("3px");
	$("#info_row").corner("3px");
	$("#url_row").corner("3px");
	$("#url_input_wrapper").corner("3px");
	$("#code_row").corner("3px");
	$("#code_input_wrapper").corner("3px");
	$(".video_info_image").corner("3px tl");
	$(".video_info_image").corner("3px bl");
	$(".video_info_text").corner("3px tr");
	$(".video_info_text").corner("3px br");


	$("#site_videos_header").corner("3px");
	$(".site_videos_image").corner("3px tl");
	$(".site_videos_image").corner("3px bl");
	$(".site_videos_text").corner("3px tr");
	$(".site_videos_text").corner("3px br");
	$(".site_videos_search_row").corner("3px");

	$(".site_videos_mozaik_item").corner("3px");


	$("#related_videos_header").corner("3px");
	$(".related_videos_image").corner("3px tl");
	$(".related_videos_image").corner("3px bl");
	$(".related_videos_text").corner("3px tr");
	$(".related_videos_text").corner("3px br");
	$(".related_videos_search_row").corner("3px");

	$(".related_videos_mozaik_item").corner("3px");


	$("#search_result_header").corner("3px");
	$(".search_result_image").corner("3px tl");
	$(".search_result_image").corner("3px bl");
	$(".search_result_text").corner("3px tr");
	$(".search_result_text").corner("3px br");
	$(".search_result_search_row").corner("3px");

	$(".search_result_mozaik_item").corner("3px");


	$("#advert_header").corner("3px");

	//	$("#").corner("3px");
	//	$(".").corner("3px");

}

function bindViewTypeSelectors()
{

	/* SITE VIDEOS */
	$("#site_videos_mozaik_selector a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		$("#site_videos_loadinfo").fadeIn("fast");
		siteVideosPagerHandler(null, null, href);
		//$.get(href, {}, siteVideosPagerHandler );

	});    
	$("#site_videos_list_selector a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		$("#site_videos_loadinfo").fadeIn("fast");
//		$.get(href, {}, siteVideosPagerHandler );
		siteVideosPagerHandler(null, null, href);
	});

	/* RELATED VIDEOS */
	$("#related_videos_mozaik_selector a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		$("#related_videos_loadinfo").fadeIn("fast");
//		$.get(href, {}, relatedVideosPagerHandler );
		relatedVideosPagerHandler(null, null, href);

	});    
	$("#related_videos_list_selector a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		$("#related_videos_loadinfo").fadeIn("fast");
//		$.get(href, {}, relatedVideosPagerHandler );
		relatedVideosPagerHandler(null, null, href);
	});

	/* SEARCH RESULT */
	$("#search_result_mozaik_selector a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		$("#search_result_loadinfo").fadeIn("fast");
//		$.get(href, {}, searchResultPagerHandler );
		searchResultPagerHandler(null, null, href);	
	});    
	$("#search_result_list_selector a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		$("#search_result_loadinfo").fadeIn("fast");
//		$.get(href, {}, searchResultPagerHandler );
		searchResultPagerHandler(null, null, href);	
	});


}
/*
function bindCommentAnswer()
{
/ * COMMENT FORM SEND VIDEOS * /
	$(".comment_list_row .answer").click(
	function(event)
	{
		$("#comment_list_form_wrapper").toggleClass("hidden");
		$("#comment_list_content").toggleClass("hidden");

	});

	$("#comment_list_send").click(
	function(event)
	{
		/ * FIXME kell AJAX* /		
		event.preventDefault();
		$("#comment_list_form_wrapper").toggleClass("hidden");
		$("#comment_list_content").toggleClass("hidden");
		
	});
}
*/


function allComments()
{
	$("#comment_list_search_row a").click(
	function(event)
	{
		event.preventDefault();
		$(".comment_list_row").each( function() { $(this).removeClass("hidden");});

	});

}


function dump(arr,level) 
{
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}


/* LIST ITEM SELECTION */
function bindListItemSelection()
{
;
}


function commentListHandler(data)
{
	$("#comments_wrapper").html(data);
	/* CALL  PAGER SELECTION */
	bindPagerSelection();
	bindViewTypeSelectors();
	bindCommentListSend();
	bindHovering();
	// Hátha az első kicsit sok neki
	//bindCommentListSend();
}


function siteVideosPagerHandler(data)
{
	//alert();
	if (typeof(arguments[2]) != 'undefined')
	{
		site_videos_pager_href = arguments[2];
		$.get(site_videos_pager_href, {}, siteVideosPagerHandler );
	}
	else if (data != "")
	{
		$("#site_videos_wrapper").html(data);
		// CALL  PAGER SELECTION 
		bindPagerSelection();
		bindViewTypeSelectors();
		bindHovering();
	}
	else
	{
		//alert("ERROR jött és typeof(site_videos_pager_href) : " + site_videos_pager_href);
		if (site_videos_pager_href != '' && !block_site_videos)
		{	
			block_site_videos = true;
			setTimeout('$.get("'+site_videos_pager_href+'", {}, siteVideosPagerHandler )', timerGet);
			setTimeout('block_site_videos = false', timerGet);
			return;	
		}
	}
}

function relatedVideosPagerHandler(data)
{
	/*
	$("#related_videos_wrapper").html(data);
	// CALL  PAGER SELECTION 
	bindPagerSelection();
	bindViewTypeSelectors();
	bindHovering();
	*/

	//alert();
	if (typeof(arguments[2]) != 'undefined')
	{
		related_videos_pager_href = arguments[2];
		$.get(related_videos_pager_href, {},  relatedVideosPagerHandler );
	}
	else if (data != "")
	{
		$("#related_videos_wrapper").html(data);
		// CALL  PAGER SELECTION 
		bindPagerSelection();
		bindViewTypeSelectors();
		bindHovering();
	}
	else
	{
		//alert("ERROR jött és typeof(related_videos_pager_href) : " + related_videos_pager_href);
		if (related_videos_pager_href != '' && !block_related_videos)
		{	
			block_related_videos = true;
			setTimeout('$.get("'+related_videos_pager_href+'", {},  relatedVideosPagerHandler )', timerGet);
			setTimeout('block_related_videos = false', timerGet);
			return;	
		}
	}
}

function searchResultPagerHandler(data)
{
	//alert();
	if (typeof(arguments[2]) != 'undefined')
	{
		search_result_pager_href = arguments[2];
		$.get(search_result_pager_href, {}, searchResultPagerHandler );
	}
	else if (data != "")
	{
		$("#search_result_wrapper").html(data);
		// CALL  PAGER SELECTION 
		bindPagerSelection();
		bindViewTypeSelectors();
		bindHovering();
	}
	else
	{
		//alert("ERROR jött és typeof(search_result_pager_href) : " + search_result_pager_href);
		if (search_result_pager_href != '' && !block_search_result)
		{	
			block_search_result = true;
			setTimeout('$.get("'+search_result_pager_href+'", {}, searchResultPagerHandler )', timerGet);
			setTimeout('block_search_result = false', timerGet);
			return;	
		}
	}
/*
	$("#search_result_wrapper").html(data);
	// CALL  PAGER SELECTION 
	bindPagerSelection();
	bindViewTypeSelectors();
	bindHovering();
*/
}

function commentListPagerHandler(data)
{
	//alert();

	if (typeof(arguments[3]) != 'undefined' && arguments[3] == 'delete')
	{
		temp_comment_list_name = $("#comment_list_name").val();
		temp_comment_list_body = $("#comment_list_body").val();
     		$("#comment_list_name").val('');
		$("#comment_list_body").val('');
	}

	if (typeof(arguments[2]) != 'undefined')
	{
		temp_comment_list_name = $("#comment_list_name").val();
		temp_comment_list_body = $("#comment_list_body").val();

		comment_list_pager_href = arguments[2];
		$.get(comment_list_pager_href, {},  commentListPagerHandler );
	}
	else if (data != "" && data != null)
	{
		//alert("data nem üres  : '"+data+"'");
		$("#comments_wrapper").html(data);

		$("#comment_list_message").addClass("invisible");
		if (typeof(setCommentReset) != 'undefined' && isPosted && (setCommentReset > 1))
		{
			$("#comment_list_message").removeClass("invisible").html("Sikertelen küldés! Kérjük próbálja meg újra!");
	     		$("#comment_list_name").val(temp_comment_list_name);
			$("#comment_list_body").val(temp_comment_list_body);
		}
		else if ( isPosted )
		{
			$("#comment_list_message").removeClass("invisible").html("Hozzászólása megérkezett.");
		}
		else
		{
	     		$("#comment_list_name").val(temp_comment_list_name);
			$("#comment_list_body").val(temp_comment_list_body);
		}

//		setTimeout('$("#comment_list_message").fadeOut("slow")', 2000); // 10mp mulva eltunik
		setTimeout('$("#comment_list_message").addClass("invisible")', 8000); // 10mp mulva eltunik

		setCommentReset = 0;
		isPosted = false;
		// CALL  PAGER SELECTION 
	
		bindPagerSelection();
		bindViewTypeSelectors();
		bindCommentListSend();
		bindLoadinfo();
		bindHovering();
		bindCaptcha();
	}
	else
	{	
		//alert("ERROR jött és typeof(comment_list_pager_href) : " + comment_list_pager_href);
		if (comment_list_pager_href != '' && !block_comment_list)
		{	
			block_comment_list = true;
			if (typeof(setCommentReset) == 'undefined' ) 
			{
				setCommentReset = 0;
			}
			setCommentReset++;
			setTimeout('$.get("'+comment_list_pager_href+'", {},  commentListPagerHandler )', timerGet);
			setTimeout('block_comment_list = false', timerGet);
			return;	
		}
	}
/*
	$("#comments_wrapper").html(data);
	// CALL  PAGER SELECTION 
	bindPagerSelection();
	bindViewTypeSelectors();
	bindCommentListSend();
*/
}


function bindLoadinfo()
{
/*
	width = $("#comment_list_content").css("width");
	height = $("#comment_list_content").css("height");
	$("#comment_list_loadinfo").css("width",width).css("height",height);
*/
}

/* CALL  PAGER SELECTION */
function bindPagerSelection()
{

	/* SITE VIDEOS */
	$("#site_videos_pager a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		//Ettől megfájdul a szemem:
		$("#site_videos_loadinfo").fadeIn("fast");

		siteVideosPagerHandler(null, null, href);
	});



	/* RELATED VIDEOS */
	$("#related_videos_pager a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');

		$("#related_videos_loadinfo").removeClass("hidden");
		//$.get(href, {}, relatedVideosPagerHandler );
		relatedVideosPagerHandler(null, null, href);
	});


	/* SEARCH_RESULT */
	$("#search_result_pager a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		$("#search_result_loadinfo").removeClass("hidden");
		//$.get(href, {}, searchResultPagerHandler );
		searchResultPagerHandler(null, null, href);
	});


	/* COMMENT LIST */
	$("#comment_list_pager a").click(
	function(event)
	{
  	        event.preventDefault();
		var href = $(this).attr('href');
		$("#comment_list_loadinfo").removeClass("hidden");
		//$.get(href, {}, commentListPagerHandler );
		commentListPagerHandler(null, null, href);
	});


}


/* CALL LISTS */
function callLists()
{
 ;
}



/* CAPTCHA functions */
function bindCaptcha()
{
	
	
	$("#refreshimg").click(
	function(event)
	{
		event.preventDefault();		
//		alert("itt és amott, de mindig ott, ahol rengeteg arany csillog");
		var hrefCaptcha = $("#refreshimg").attr('href');
//		alert(hrefCaptcha);
		//$.post('newsession.php');
		// A PHP cucc a sessionba is garázdálkodik, ezért tök fölösleges, a newsession elküldése
		$.get(hrefCaptcha , { } , 
		function(data)
		{
			//alert(data);
			$("#captchaimage").html(data);
			bindCaptcha();
		});
		
		return false;
	});

/*
// Ez így nem jó

	$("#comment_list_form_form").validate(
	{
		rules: {
			captcha: {
				required: true,
				remote: "process.php"
			}
		},
		messages: {
			captcha: "Kérem ismételje meg az ellenőrzőkódot."	
		},
		submitHandler: function() {
			// TODO leszedni
			alert("Sikeres ellenőrzés!");
		},
		success: function(label) {
			// TODO leszedni
			label.addClass("valid").text("Sikeres ellenőrzés!")
		},
		onkeyup: false
	});
*/
}

/*

 $("#feeds").load("feeds.php", {limit: 25}, function(){
   alert("The last 25 entries in the feed have been loaded");
 });

*/



