/*
 * Facebox
 */
function loginRequired() {
	$("embed").css({"visibility":"hidden"});
	$.facebox($("#facebox-loginRequired").html());
	$(document).bind('close.facebox', function() {
		$("embed").css({"visibility":"visible"});
	});
}
function report_mistake() {
	$("embed").css({"visibility":"hidden"});
	$.facebox($("#report_mistake").html());
	$(document).bind('close.facebox', function() {
		$("embed").css({"visibility":"visible"});
	});
}
function badForm() {
	$("embed").css({"visibility":"hidden"});
	$.facebox($("#facebox-badForm").html());
	$(document).bind('close.facebox', function() {
		$("embed").css({"visibility":"visible"});
	});
}
/*
 * Others
 */
function report_mistake_send() {
	jQuery(document).trigger('close.facebox');
	ajax_call({
		module:"Articles",
		action: "reportMistake",
		type: 0,
		args: {
			"url":REQUEST_URI,
			"text":$(".articleerror-content:last").val()
		}
	}, function(data) { 
		
	},"html");
}
function removeExchangeRate(name) {
	ajax_call({
		module:"ExchangeRate",
		action: "remove",
		type: 2,
		args: {
			"name":name
		}
	}, function(data) { 
		$("#kurzv_"+name).slideUp(function() {
			$(this).remove();
			$("#kv_"+name).attr("checked",false);
		});
	},"html");
}
function addExchangeRate(name) {
	ajax_call({
		module:"ExchangeRate",
		action: "add",
		type: 2,
		args: {
			"name":name
		}
	}, function(data) { 
		if(data!="unknown-country") {
			$("#panel_kurzvalut .panelin").append(data);
			$("#kurzv_"+name).slideDown();
		}
	},"html");
}
function editExchangeRate(name,state) {
	if(!state) {
		removeExchangeRate(name);
	}
	else {
		addExchangeRate(name);
	}
}
function Articles_initChart(data) {
	var d = new Date();
	
	document.write("<div class=\"embedgrafu\">\n");
	document.write("<strong>"+data.name+"</strong>\n");
	document.write("<div id=\"Articles_articleChart_"+data.ID+"\"></div>\n");
	document.write("<a href=\""+data.link+"\">Podrobnejšie informácie &raquo;</a>\n");
	document.write("</div>\n");
	
	$(document).ready(function() {
		$("#Articles_articleChart_"+data.ID).flash(
		{ 
			src: '/charts/charts.swf?library_path=/charts/charts_library&xml_source=/cache/charts/user-'+data.ID+'.xml?c='+d.getTime(),
			width: 520,
			height: 350,
			fullscreen: "false" 
		}, { 
			version: 8 
		});
	});
}
function Articles_requestEmail() {
	ajax_call({
		module:"Mailman",
		action: "requestEmail",
		type: 1,
		args: {
			"email":$("#asd").val(),
			"season":$("#Articles_mailing input:radio[name=season]:checked").val(),
			"type":$("#Articles_mailing input:radio[name=type]:checked").val(),
			"section":$("#Articles_mailingSection").val(),
		}
	}, function(data) { 
		if(data=="success")
			var text = "Zmeny boli úspešne uložené";
		else
			var text = "Vyskytla sa chyba pri Vašej požiadavke.";
		
		setTimeout("jQuery(document).trigger('close.facebox')",2000);
		$.facebox(text);
	},"html");
}
function fontsizePicker() {
	$("#fontsizePicker a").each(function(i) {
		$(this).click(function() {
			$(".vypisclanku p, #konkretnyclanok").css({
				fontSize: 9+(i*2)
			});
			var exdate = new Date();
			exdate.setDate(exdate.getDate()+365);
			document.cookie= "webnovinyFontSize="+escape(i)+";expires="+exdate.toGMTString();
			return false;
		});
	});
	
	fontmulti = 5;
	if (document.cookie.length>0) {
		name = "webnovinyFontSize";
		c_start=document.cookie.indexOf(name+"=");
		if (c_start!=-1)
		{
			c_start=c_start + name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
				fontmulti = parseInt(unescape(document.cookie.substring(c_start,c_end)));
		}
	}
	fontsize = 13;
	if(fontmulti!=5) {
		switch(fontmulti) {
			case 0:
				fontsize = 9;
				break;
			case 1:
				fontsize = 11;
				break;
			case 2:
				fontsize = 13;
				break;
			case 3:
				fontsize = 15;
				break;
			case 4:
				fontsize = 17;
				break;
		}
	}
	if(fontsize!=13) {
		$(".vypisclanku p, #konkretnyclanok").css({
			fontSize: fontsize
		});
	}
}
function menu_init() {
	$(".submenu_trigger").hover(function() {
		$(this).addClass("hover");
		$(".submenu").hide();
		$("#submenu"+$(this).attr("submenu")).show();
	}, function() {
		$(this).removeClass("hover");
		$(".submenu").hide();
	});
}
function savePanels(reloadPage) {
	if(document.getElementById("panels_center_left"))
	{
		
		var page_identificator = $("#panels_center_left").attr("pos");
		
		cleftraw = $("#panels_center_left").sortable("toArray");
		cleft = new Array();
		$.each(cleftraw,function(i,el) {
			t = el.split("panel_");
			cleft.push(t[1]);
		});
		
		crightraw = $("#panels_center_right").sortable("toArray");
		cright = new Array();
		$.each(crightraw,function(i,el) {
			t = el.split("panel_");
			cright.push(t[1]);
		});
		
		/*rightraw = $("#panels_right").sortable("toArray");
		right = new Array();
		$.each(rightraw,function(i,el) {
			t = el.split("panel_");
			if(t!="")
				right.push(t[1]);
		});
		*/
		
		data = {
			cleft: cleft.join(","),
			cright: cright.join(","),
			//right: right.join(","),
			page_identificator: page_identificator
		};
	}
	else
	{
		return;
		/*
		rightraw = $("#panels_right").sortable("toArray");
		right = new Array();
		$.each(rightraw,function(i,el) {
			t = el.split("panel_");
			right.push(t[1]);
		});
		
		data = {
			right: right.join(",")
		};
		*/
	}
	
	ajax_call({
		module:"Panels",
		action: "removePanel",
		type: 0,
		//rawargs: cleft,
		args: data
	}, function(data) { 
		if(typeof(reloadPage)!="undefined") {
			if(data=="loginRequired") {
				loginRequired();
				$(document).bind('close.facebox', function() {
					location.reload(true);
				});
			}
			else
				location.reload(true);
		}
		else {
			if(data=="loginRequired")
				loginRequired();
		}
	},"html");
	
}
function closePanel(name) {
	$("#"+name).fadeOut("slow", function() {
		$(this).remove();
		savePanels();
	});
}
function tagsearch_page(id,page) {
	$(".loadingPage").show();
	ajax_call({
		module:"Search",
		action: "loadPageFirst",
		type: 0,
		args: {
			"id":id,
			"page":page
		}
	}, function(data) { 
		$("#search_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function search_page(id,page) {
	$(".loadingPage").show();
	ajax_call({
		module:"Search",
		action: "loadSearchPageFirst",
		type: 0,
		args: {
			"pattern":id,
			"page":page
		}
	}, function(data) { 
		$("#search_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function weather_setDay(day) {
	$(".weather_days").removeClass("selected");
	$(".day_"+day).addClass("selected");
	$(".days").hide();
	$("#"+day).show();
}
function survey_voteinit(survey) {
	var vote = $(".survey_vote_option:checked").val();
	ajax_call({
		module:"Survey",
		action: "vote",
		type: 0,
		args: {
			"vote":vote,
			"survey":survey
		}
	}, function(data) { 
		$("#panel_survey").html(data);
	},"html");
}
function top24_setType(type) {
	$(".panelvyber24").hide();
	$(".top24type").removeClass("selected");
	$("#top24type_"+type).addClass("selected");
	$("#panelvyber24_"+type).show();
}
function discussion_page(id,page) {
	$(".loadingPage").show();
	ajax_call({
		module:"Discussions",
		action: "loadPage",
		type: 0,
		args: {
			"id":id,
			"page":page
		}
	}, function(data) { 
		$("#discussion_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function discussion_submitComment(article_id,page,type) {
	$(".addingComment").show();
	$("#discussion_comment_input").attr("disabled","disabled");
	ajax_call({
		module:"Discussions",
		action: "submitComment",
		type: 0,
		args: {
			text: $("#discussion_comment_input").val(),
			type: type,
			id: article_id,
			page: page
		}
	}, function(data) {
		if(typeof(data.error)!="undefined") {
			/**
			 * TODO: error message
			 */
			alert("Nastala chyba pri pridávaní komentáru.");
			$(".addingComment").fadeOut();
			$("#discussion_comment_input").attr("disabled",false);
			return;
		}
		
		$(".addingComment").fadeOut();
		$("#discussion_comment_input").attr("disabled",false).val("");
		
		$(".strankovanie").html(data.pagination);
		$("#discussion_nazorov").html(data.nazorov);
		$("#discussion_comments").append(data.comment);
		$("#commentrow_"+data.comment_id).hide().fadeIn("slow");
		
	},"json");
}
function contest_submitReply(contest_id) {
	var fullname 	= $("#contest-fullname").val();
	var address		= $("#contest-address").val();
	var email 		= $("#contest-email").val();
	var phone		= $("#contest-phone").val();
	
	if(fullname=="" || address=="" || email=="" || phone=="") {
		badForm();
		return;
	}
	
	$(".addingComment").show();
	$("#discussion_comment_input").attr("disabled","disabled");
	ajax_call({
		module:"Contests",
		action: "submitReply",
		type: 0,
		args: {
			text: $("#discussion_comment_input").val(),
			id: contest_id,
			fullname: fullname,
			address: address,
			email: email,
			phone: phone
		}
	}, function(data) {
		if(typeof(data.error)!="undefined") {
			/**
			 * TODO: error message
			 */
			alert("Nastala chyba pri pridávaní komentáru.");
			$(".addingComment").fadeOut();
			$("#discussion_comment_input").attr("disabled",false);
			return;
		}
		$("#contest_data").html(data.text);
		$(".addingComment").fadeOut();
	},"json");
}
function surveylist_page(page) {
	$(".loadingPage").show();
	ajax_call({
		module:"Survey",
		action: "loadPage",
		type: 0,
		args: {
			"page":page
		}
	}, function(data) { 
		$("#survey_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function gallerieslist_page(page) {
	$(".loadingPage").show();
	ajax_call({
		module:"Gallery",
		action: "loadPage",
		type: 0,
		args: {
			"page":page
		}
	}, function(data) { 
		$("#gallery_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function rssarticles_page(branch,page) {
	$(".loadingPage").show();
	ajax_call({
		module:"RSS_Articles",
		action: "loadPage",
		type: 0,
		args: {
			"id":id,
			"page":page
		}
	}, function(data) { 
		$("#rssarticles_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function newestarticles_page(page) {
	
}
function toparticles_page(page) {
	$(".loadingPage").show();
	ajax_call({
		module:"Articles",
		action: "top_loadPage",
		type: 0,
		args: {
			"page":page
		}
	}, function(data) { 
		$("#articles_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function newestarticles_page(page) {
	$(".loadingPage").show();
	ajax_call({
		module:"Articles",
		action: "newest_loadPage",
		type: 0,
		args: {
			"page":page
		}
	}, function(data) { 
		$("#articles_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function contests_page(page) {
	$(".loadingPage").show();
	ajax_call({
		module:"Contests",
		action: "loadPage",
		type: 0,
		args: {
			"page":page
		}
	}, function(data) { 
		$("#contests_data").html(data);
		$(".loadingPage").fadeOut();
	},"html");
}
function changeListingType(listing_type,id) {
	$(".loadingPage").show();
	ajax_call({
		module:"Articles",
		action: "changeListingType",
		type: 0,
		args: {
			"listing_type":listing_type,
			"id":id
		}
	}, function(data) { 
		$("#section_data").html(data);
		$('#nastav-spravodajstvo').toggle();
		$(".loadingPage").fadeOut();
		return false;
	},"html");
}
function changeTopSelected() {
	//$('#nastav-top').slideUp();
	
	selected = new Array();
	$.each($('input[name=topCheckbox]:checked'),function(i,el) {
		selected.push($(el).val());
	});
	
	ajax_call({
		module:"Articles",
		action: "changeTOPSelected",
		type: 0,
		args: {
			"chosen":selected.join(",")
		}
	}, function(data) {
		if(data=="doneloginRequired") {
			$('#nastav-top').slideUp();
			loginRequired();
			$(document).bind('close.facebox', function() {
				location.reload(true);
			});
		}
		else
			location.reload(true);
	},"html");
}
function client_logout() {
	ajax_call({
		module:"Clients",
		action: "logout",
		type: 1,
		args: {
		}
	}, function(data) { 
		location.reload(true);
	},"html");
}
function tvlistings_loadChannel(channel) {
	ajax_call({
		module:"TVListings",
		action: "loadChannel",
		type: 0,
		args: {
			channel: channel,
			dshift: $("#TVListings_channelData").data("day_shift"),
			tshift: $("#TVListings_channelData").data("time")
		}
	}, function(data) {
		if(data.error!="")
			alert(data.error);
		else {
			var count = $("#TVListings_channelData div.vsimni");
			if(isInt(count.length/4))
				$("#TVListings_channelData").append("<br class=\"tapredelimtykrasavec\" clear='left' />");
			
			$("#TVListings_channelData").append(data.data);
			tvlistings_typeCheck();
		}
	},"json");
}
function tvlistings_reload() {
	ajax_call({
		module:"TVListings",
		action: "reload",
		type: 0,
		args: {
			dshift: $("#TVListings_channelData").data("day_shift"),
			tshift: $("#TVListings_channelData").data("time")
		}
	}, function(data) {
		if(data.error!="")
			alert(data.error);
		else
			$("#TVListings_channelData").html(data.data);
		tvlistings_typeCheck();
	},"json");
}
function tvlistings_align() {
	$("#TVListings_channelData br.tapredelimtykrasavec").remove();
	$("#TVListings_channelData div.vsimni").each(function(i,el) {
		if(isInt((i+1)/4))
			$(this).after("<br class=\"tapredelimtykrasavec\" clear=\"left\"");
	});
}
function tvlistings_typeCheck() {
	$("#TVListings_typeChooser input").each(function() {
		if($(this).attr("checked"))
			$(".prog_"+$(this).attr("name")).fadeIn();
		else
			$(".prog_"+$(this).attr("name")).fadeOut();
	});
}
function tvlistings_init() {
	$("#TVListings_channelData").data("day_shift",0);
	$("#TVListings_channelData").data("time","now");
	
	$("#TVListings_typeChooser input").click(function() {
		if($(this).attr("checked"))
			$(".prog_"+$(this).attr("name")).fadeIn();
		else
			$(".prog_"+$(this).attr("name")).fadeOut();
	});
	
	$(".TVListings_TV").click(function() {
		if($(this).attr("checked")) {
			tvlistings_loadChannel($(this).attr("name"));
		}
		else {
			$(".TVListings_TV_"+$(this).attr("name")).fadeOut("slow",function() {
				$(this).remove();
				tvlistings_align();
			});
			ajax_call({
				module:"TVListings",
				action: "unloadChannel",
				type: 0,
				args: {
					channel: $(this).attr("name")
				}
			}, function(data) {
			},"html");
		}
	});
	
	$(".daypicker").each(function(i,el) {
		$(this).click(function () { 
			$(".daypicker").removeClass("selected");
			$(this).addClass("selected");
			$("#TVListings_channelData").data("day_shift",$(this).attr("ds"));
			tvlistings_reload();
			return false;
		});
	});
	
	$(".timepicker").each(function(i,el) {
		$(this).click(function () { 
			$(".timepicker").removeClass("selected");
			$(this).addClass("selected");
			$("#TVListings_channelData").data("time",$(this).attr("ts"));
			tvlistings_reload();
			return false;
		});
	});
	
	/*$("#channelData").data("day_shift",0);
	$("#channelData").data("active_item",0);
	
	$("#TVListings_channels a").each(function(i,el) {
		$(this).click(function() {
			tvlistings_loadData(i);
			//tvlistings_scrollto(i);
			return false;
		});
	});
	
	$(".daypicker").each(function(i,el) {
		$(this).click(function () { 
			$(".daypicker").removeClass("selected");
			$(this).addClass("selected");
			$("#channelData").data("day_shift",$(this).attr("ds"));
			tvlistings_loadData($("#channelData").data("active_item"));
			return false;
		});
	});
	
	$("#tvmarks li").each(function(i,el) {
		$(this).click(function () {
			$("#tvmarks li").removeClass("selected");
			$(this).addClass("selected");
			
			var scroll = 0;
			if(i==1)
				scroll = 6;
			if(i==2)
				scroll = 13;
			if(i==3)
				scroll = 26;
			if(i==4)
				scroll = 33;
			if(i==5)
				scroll = 36;
			
			tvlistings_scrollto(scroll);
			return false;
		});
	});*/
}
function tvlistings_scrollto(item) {
	var margin = item*60;
	if(margin<1600) {
		$("#TVListings_ul").animate({
			marginLeft: "-"+(item*60)+"px"
		}, 750);
	}
	else {
		$("#TVListings_ul").animate({
			marginLeft: "-1600px"
		}, 750);
	}
}
function tvlistings_loadData(item) {
	$("#channelData").data("active_item",item);
	ajax_call({
		module:"TVListings",
		action: "loadData",
		type: 0,
		args: {
			item: item,
			dshift: $("#channelData").data("day_shift")
		}
	}, function(data) {
		jQuery.each(data, function(i,el) {
			$("#channelData").html(el);
		});
	},"json");
}
function Recipes_vote(id,score) {
	ajax_call({
		module:"Recipes",
		action: "vote",
		type: 0,
		args: {
			id: id,
			score: score
		}
	}, function(data) {
		$("embed").css({"visibility":"hidden"});
		$.facebox(data.message);
		$(document).bind('close.facebox', function() {
			$("embed").css({"visibility":"visible"});
		});
		
		if(typeof(data.score)!="undefined")
			$("#Recipes_score").html(data.score);
	},"json");
	
	
	$("embed").css({"visibility":"hidden"});
	$.facebox($("#facebox-loginRequired").html());
	$(document).bind('close.facebox', function() {
		$("embed").css({"visibility":"visible"});
	});
}

/* 
 * **************************************
 * ********    R U N T I ME    **********
 * **************************************
 */
$(function() {
	menu_init();
	/*
	 * Init. of drag'n'drop for panels & enables settings and close
	 */
	//$("#panels_center_left, #panels_center_right, #panels_right").sortable({
	$("#panels_center_left, #panels_center_right").sortable({
		connectWith: '.panel_bar',
		tolerance: "pointer",
		handle: "li.nazov img.draghandle",
		cursor: "move",
		items: "div.panelsprav:not(.static)",
		
		update: function(event, ui) {
			savePanels();
		}
	});
	 
	$(".panelsprav").each(function(i,el) {
		var id = el.id;
		if(id!="" && id!="panel_regiony") {
			if(id!="panel_pocasie" && id!="panel_tv" && !$(this).hasClass("hardcodedpanel")) {
				$("#"+id+" li.nastav a").click(function() {
					//$("#"+id+" div.nastavenia").slideToggle();
					$("#"+id+" div.nastavenia").toggle();
					return false;
				});
				$("#"+id+" input.submitCardinality").click(function() { 
					var value = $("#"+id+" select.selectCardinality").val();
					ajax_call({
						module:"Panels",
						action: "changeCardinality",
						type: 0,
						args: {
							limit: value,
							id: id.split("panel_")[1]
						}
					}, function(data) { 
						/*if(data!="unknown-country") {
							$("#panel_kurzvalut .panelin").append(data);
							$("#kurzv_"+name).slideDown();
						}*/
						savePanels(true);
						//$("#"+id+" div.nastavenia").toggle();
					},"html");
				});
			}
			$("#"+id+" li.zavri a").click(function() {
				closePanel(id);
				return false;
			});
			$("#"+id+" li.txt").mouseover(function() {
				$("#"+id+" li.txt").removeClass("selected");
				$("#"+id+" li.obr").removeClass("ukazat");
				$(this).addClass("selected");
				$("#"+this.id+"ob").addClass("ukazat");
			});
		}
	});
	
	
	//$(".panel_bar").disableSelection();
	$(".paneli").mouseover(function() {
		$(this).find(".nazov img.draghandle").show();
	}).mouseout(function() {
		$(this).find(".nazov img.draghandle").hide();
	});
	
	
	/*
	 * Slidedown content editor
	 */
	$("#pridaj-obsah-trigger").bind("click", function() {
		//$("#pridaj-obsah").slideToggle();
		$("#pridaj-obsah").toggle();
		return false;
	});
	
	$("embed").attr("wmode","transparent");
});
