jQuery(document).ready(function()
{
	if( false === jQuery.browser.msie || (jQuery.browser.msie && jQuery.browser["version"] > 6.0) )
	{
		var root = "/top100";
		var is_category = false;
		var current_category = false;
		
		if( -1 != location.pathname.search(/\/category\//) )
		{
			is_category = true;
			
			var pattern = /\/category\/([\d]{1,2})/;
			var result = pattern.exec(location.pathname);
			current_category = result[1];
		}
		
		/* select menu & slideout */
		
		if( false === jQuery.browser.msie || (jQuery.browser.msie && jQuery.browser["version"] > 6.0) )
		{
			$("body.sites #kategorija").width(323);
			$("body.home #kategorija, body.submit #kategorija").width(303);
			//$("body.page #kategorija").width(271);
			
			if( jQuery.browser.safari)
				$("body.home #kategorija, body.submit #kategorija").width(297);
	
			$("#kategorija").selectmenu({ style:'dropdown' });
			
			var resizeTimer = null;
			
			$(window).bind('resize', function()
			{
				if (resizeTimer)
					clearTimeout(resizeTimer);
				
				resizeTimer = setTimeout(rpsm, 100);
			});
			
			function rpsm()
			{
				var borders = $(".ui-selectmenu").css("border");
				
				$("select#kategorija").selectmenu("destroy");
				
				if(jQuery.browser.msie && jQuery.browser["version"] >= 7.0 && jQuery.browser["version"] < 8.0)
					$("body.submit #kategorija_wrap").css({"paddingLeft" : "20px", "marginTop" : "1px"});
				
				$("select#kategorija").selectmenu({ style:'dropdown' });
				
				if(jQuery.browser.msie && jQuery.browser["version"] >= 7.0 && jQuery.browser["version"] < 8.0)
					$(".ui-selectmenu").css({"paddingTop" : "3px", "paddingBottom" : "3px", "height" : "34px"});
					
				$(".ui-selectmenu").css({"border" : borders});
			};
		}
	
		$("#more_form").show();
		$("#sites_kategorija_form #submit, #sites_kategorija_form #submit_button").hide();
	
		var ori_height = $(".slideout").height();
		$(".slideout").css({"height" : 0}).hide();
		
		$("#link").bind("focus", function(){ slideout(); });
		$("#more_form").bind("click", function(){ slideout(); });
	
		$("#sites_kategorija_form #kategorija").change(function()
		{
			if( "" != $("#sites_kategorija_form #kategorija").val() )
			{
				$("#sites_kategorija_form #submit_form #submit").click();
				$("#sites_kategorija_form #ziri_cat_form #submit_button").click();
			}
		});
		
		$("#nominirani_home, #slider li").height(130);
		$("#slider li").css({"padding" : 0, "border" : "none"});
		
		$("#slider").easySlider(
		{
			nextText: 		'&gt;',	
			prevText: 		'&lt;',
			speed: 			600,
			auto:			false,
			pause:			3000,
			controlsFade:	false
		});
		
		function slideout()
		{
			$(".ui-selectmenu-menu").hide();
			$("#more_form").animate({"height" : 0, "opacity" : 0}, 300);
			$(".slideout").animate({"height" : ori_height}, 300);
			
			setTimeout('$("#more_form").remove();$(".ui-selectmenu-menu").show();', 300);
			
			if( !(jQuery.browser.msie && jQuery.browser["version"] >= 7.0 && jQuery.browser["version"] < 8.0) )
				setTimeout('$(".slideout").css({"height" : "auto"})', 300);
		}
		
		
		
		
			
		/* submit site */
		
		/* character counter */
	
		function count()
		{
			$("#counter_info").html("Broj preostalih znakova za opis: " + (1000 - $("#opis").val().length));
		};
		
		if( 0 < $("#opis").length )
		{
			count();
			$("#opis").bind("keyup blur focus change", function(){count()});
		}
			
		/* process form */
		
		$("#submit_form #submit").removeAttr("disabled");
		$("#submit_form input:not(#submit), #submit_form textarea, .ui-selectmenu").css({"border" : "1px solid #222222"});
		$("#autor, #autor_link").css({"padding" : "10px 16px"});
		
		$("#submit_form #submit").bind("click", function()
		{
			if( jQuery.browser.msie && jQuery.browser["version"] <= 6.0 )
				return true;
					
			if( $("#ajax_info").length == 0 )
				$("#submit_form").append('<div id="ajax_info">&nbsp;</div>');
			
			$c = $("#ajax_info");
			$c.hide().html('<p><img class="loading" src="' + root + '/images/loading.gif" alt="" />Molimo pričekajte trenutak...</p>').css({"height" : "auto"}).fadeIn(200);
			
			$data = $("#submit_form").serialize();
			
			$("#submit_form #submit").attr("disabled", true);
			$("#submit_form input:not(#submit), #submit_form textarea, .ui-selectmenu").css({"border" : "1px solid #222222"});
			
			$.post( $("#submit_form").attr("action") + "/ajax/", $data, function(json)
			{
				if( false !== json.errors && undefined != json.errors && "undefined" != json.errors )
				{
					var message = json.errors;
					
					if( -1 == message.search("Hm,") && -1 == message.search("promijenite") )
					{
						var errors = message.split("<!--");
						
						errors = errors[1].split("-->");
						errors = errors[0].split("###");
						
						var missing = errors[0];
						var invalid = errors[1];
						
						if( "none" != missing )
						{
							var m = missing;
							missing = new Array(m);
							
							if( -1 != m.search(",") )
								missing = m.split(", ");
	
							for( i=0; i<missing.length; i++ )
							{
								$this = "#" + missing[i];
								
								if("#kategorija" == $this)
									$this = ".ui-selectmenu";
								
								$($this).css({"border" : "1px solid #b31f24"}).hide().fadeIn(400);
							}
						}
						
						if( "none" != invalid )
						{
							var m = invalid;
							invalid = new Array(m);
							
							if( -1 != m.search(",") )
								invalid = m.split(", ");
							
							for( i=0; i<invalid.length; i++ )
							{
								$("#" + invalid[i]).css({"border" : "1px solid #b31f24"}).hide().fadeIn(400);
							}
						}
					}
					
					if( -1 != message.search("Hm,") )
						$(".ui-selectmenu").css({"border" : "1px solid #b31f24"}).hide().fadeIn(400);
					else if( -1 != message.search("promijenite") )
						$("#naslov").css({"border" : "1px solid #b31f24"}).hide().fadeIn(400);
	
					$c.hide().html("<p>" + message + "</p>").css({"height":"auto"}).fadeIn(200);
				}
				else if( undefined != json.message && "undefined" != json.message )
				{
					$c.hide().html("<p>" + json.message + "</p>").css({"height":"auto"}).fadeIn(200);
				}
				else
				{
					$("#content").fadeOut(200);
					$("#content").html(json.form).fadeIn(200);
					
					$("html head title").html("Hvala Vam na nominaciji! - VIDI Web Top 100 2009");
				}
				
				$("#submit_form #submit").removeAttr("disabled");
				
			}, "json");
	
			return false; 
		});
		
		
		
		
		
		/* vote */
		
		$("a.vote-link").live("click", function()
		{
			if( $working )
				return false;
	
			var $working = true;
			var message = "";
			var c = "ajax_info";
			var vlid = $(this).attr("id");
			var ts = 3000;
			var tf = 1000;
			var vlc = $(this).attr("class").replace(/vote-link /, "");
			vlc = vlc.replace(/\s/g, "");

			$(".vote-link").fadeOut(200);
			setTimeout("$('.vote-link').css({'visibility' : 'visible'})", 200);
			
			if( $("#" + c).length == 0 )
			{
				$("body").append('<div id="' + c + '"><p><img class="loading" src="' + root + '/images/loading.gif" alt="" />Molimo pričekajte trenutak...</p></div>');
				
				h = $("#" + c).height();
				w = $("#" + c).width();
				hn = "-" + (h/2) + "px";
				wn = "-" + (w/2) + "px";
				
				$("#" + c).css({"top" : "50%", "left" : "50%", "height" : h + "px", "width" : w + "px", "marginTop" : hn, "marginLeft" : wn }).fadeIn();
			}
			
			$.getJSON( $(this).attr("href") + "/ajax", function(json)
			{
				message = "Vaš glas je uspješno zabilježen! Hvala!";
	
				if( false !== json.error )
				{
					switch(json.error)
					{
						case "already_voted_site" : message = "Već ste glasovali za ovu stranicu"; break;
						case "already_voted_category" : message = "Već ste glasovali u ovoj kategoriji"; break;
						case "site_not_exist" : message = "Stranica kojoj želite dati glas ne postoji!"; break;
						case "logged_out" : message = "Morate biti prijavljeni kako biste mogli glasovati!"; break;
						default : message = json.error;
					}
	
					ts = 2000;
					tf = 500;
					
					if( "multiple_categories" == json.error )
					{
						message = "<p>Ova stranica je prijavljena u više kategorija, molimo kliknite na ime kategorije u kojoj želite glasovati. Hvala!</p>";
						message += "<p>" + json.sitecatslinks + "</p>";
						
						$(".box_link.ajax").live("click", function()
						{
							var pattern = /vote\/category\/([\d]{1,2})\/ajax/;
							var result = pattern.exec($(this).attr("href"));
							var votedcat = "category-" + result[1];
							
							$.getJSON( $(this).attr("href"), function(json)
							{							
								message = "Vaš glas je uspješno zabilježen! Hvala!";
								
								if( false !== json.error )
								{
									switch(json.error)
									{
										case "already_voted_site" : message = "Već ste glasovali za ovu stranicu"; break;
										case "already_voted_category" : message = "Već ste glasovali u ovoj kategoriji"; break;
										case "site_not_exist" : message = "Stranica kojoj želite dati glas ne postoji!"; break;
										case "logged_out" : message = "Morate biti prijavljeni kako biste mogli glasovati!"; break;
										default : message = json.error;
									}
								}
								else
								{
									json.error = false;
									$working = false;
								}
								
								$("#" + c).fadeOut(150).html("<p>" + message + "</p>").css({"width" : "auto", "height" : "auto"});
								
								h = $("#" + c).height();
								w = $("#" + c).width();
								hn = "-" + (h/2) + "px";
								wn = "-" + (w/2) + "px";
								
								$("#" + c).css({"top" : "50%", "left" : "50%", "marginTop" : hn, "marginLeft" : wn }).fadeIn(150);
								
								setTimeout("$('#" + c + "').fadeOut(" + tf + ");", ts);
	
								if( false == json.error || "" == json.error )
								{
									$("." + votedcat).removeClass().remove();
									setTimeout("$('.vote-link:not(." + votedcat + ")').css({'visibility' : ''}).fadeIn(200);", ts);
								}
								else if( !is_category )
								{
									setTimeout("$('.vote-link').css({'visibility' : ''}).fadeIn(200);", ts);
								}
								
								$working = false;							
							});
							
							return false;
						});
					}
				}
	
				$("#" + c).hide().html("<p>" + message + "</p>").css({"width" : "auto", "height" : "auto"});
				
				h = $("#" + c).height();
				w = $("#" + c).width();
				hn = "-" + (h/2) + "px";
				wn = "-" + (w/2) + "px";
				
				$("#" + c).css({"top" : "50%", "left" : "50%", "marginTop" : hn, "marginLeft" : wn }).fadeIn();
				
				if( "multiple_categories" != json.error )
					setTimeout("$('#" + c + "').fadeOut(" + tf + ");", ts);
				
				if( false == json.error || "" == json.error )
				{
					$(".vote-link." + vlc).removeClass().remove();
	
					if( !is_category )
						setTimeout("$('.vote-link:not(." + vlc + ")').css({'visibility' : ''}).fadeIn(200);", ts);
				}
				else if( "multiple_categories" != json.error )
				{
					setTimeout("$('.vote-link').css({'visibility' : ''}).fadeIn(200);", ts);
					$working = false;
				}
			});
	
			return false;
		});
	
	
	
	
	
		/* login & register */
		
		 $(".user_menu input")
			.bind("blur focus", function()
			{
				if (this.defaultValue == this.value)
					this.value = '';
				else if (this.value == '')
					this.value = this.defaultValue;
			})
		
		function show_form(a)
		{
			scroll_to_top();
			
			b = "register_form";
			
			if( "register_form" == a )
				b = "login_form";
	
			if( "none" == $("#" + a).css("display") && "none" == $("#" + b).css("display") )
			{
				$("#" + a).animate({"height" : "60px", "opacity" : 1}, 200);
			}
			else if( "none" == $("#" + a).css("display") )
			{
				$("#" + b).animate({'opacity' : 0},200);
				
				setTimeout("$('#" + b + "').hide();$('#" + a + "').css({'height' : '60px', 'opacity' : 1}).fadeIn(200);", 205);
			}
			
			return false;
		}
		
		/* login */
		
		$(".user_menu a.login, #action_login").live("click", function()
		{
			show_form("login_form");
			//setTimeout('$("#login_email").focus();', 200);
			return false;
		});
		
		$(".user_menu #login_form, .user_menu #register_form").bind("submit", function(){return false;});
	
		$(".user_menu #login_submit").bind("click", function()
		{
			$(".user_menu #login_submit").attr("disabled", true);
			
			$(".user_menu .inside .replace").fadeOut(50).html('<p><img class="loading" src="' + root + '/images/loading.gif" alt="" />Molimo pričekajte trenutak...</p>').fadeIn(50);
	
			$.post( $(".user_menu #login_form").attr("action"), $(".user_menu #login_form").serialize(), function(json)
			{
				if( "login_success" == json.message || "already_logged_in" == json.message )
				{
					$(".user_menu #login_form").animate({"height" : "0pt", "opacity" : 0}, 300);
					setTimeout('$(".user_menu #login_form").remove();', 295);
			
					the_html = '<p class="text">Dobrodošli natrag! Prijavljeni ste kao <span class="u">' + $(".user_menu #login_form #login_email").val() + '</span></p><p class="logout_link"><a href="' + root + '/logout/">odjavite se</a></p>';
					
					//display_voting_links();
					
					setTimeout("location.reload(true);", 150);
				}
				else
				{
					the_html = '<p>Greška pri prijavi - molimo probajte ponovno. Naputak: pripazite na velika i mala slova kada upisujete lozinku!</p>';
				}
			
				$(".user_menu .inside .replace").fadeOut(150).html(the_html).fadeIn(150);
			
			}, "json");
			
			$("#login_submit").removeAttr("disabled");
			
			return false;
		});
		
		
		
		
		function display_voting_links()
		{
			$(".entry").each( function()
			{
				var catif = "";
				var catclasses = "";
				var _id = $(this).attr("id");
				var id  = _id.split("_"); // site_ID_NAME;
				var cats = $(this).attr("class").replace("entry ", "").split(" "); // CATID1 CATID2
				var catnum = cats.length;
				var _catnum = catnum - 1;
				
				if( 2 > catnum )
				{
					catif = "category/" + cats[0];
					catclasses = "category-" + cats[0];
				}
				else
				{
					while( 0 <= _catnum )
					{
						catclasses += " category-" + cats[_catnum];
						_catnum--;
					}
				}
				
				if( is_category )
					catif = "category/" + current_category + "/";
				
				var votelink = '<a href="' + root + '/sites/' + id[2] + '/vote/' + catif + '" title="Daj svoj glas ovoj stranici" class="vote-link ' + catclasses + '" id="vote_' + id[1] + '">glasuj</a>';
				
				$("#" + _id + " span.votecount").before(votelink);
			});
		};
		
		
		
		
		/* register */
		
		$(".user_menu a.register, #action_register").live("click", function()
		{
			show_form("register_form");
			//setTimeout('$("#registration_email").focus();', 300);
			return false;
		});
		
		$(".user_menu #register_submit").bind("click", function()
		{
			$("#register_submit").attr("disabled", true);
			
			$(".user_menu .inside .replace").fadeOut(50).html('<p><img class="loading" src="' + root + '/images/loading.gif" alt="" />Molimo pričekajte trenutak...</p>').fadeIn(50);
			
			$.post( $(".user_menu #register_form").attr("action"), $(".user_menu #register_form").serialize(), function(json)
			{			
				if( "registration_success" == json.message )
				{
					$(".user_menu #register_form").animate({"height" : "0pt", "opacity" : 0}, 300);
					setTimeout('$(".user_menu #register_form").remove();', 295);
			
					the_html = '<p>Uspješno ste se registrirali!</p><p>Na vašu adresu poslan je e-mail koji sadrži aktivacijski link - molimo kliknite na taj link kako biste aktivirali Vaš korisnički račun. Hvala!</p>';
				}
				else if( "already_registered" == json.message )
				{
					the_html = '<p>Ta e-mail adresa je već iskorištena za registraciju. Ukoliko ste zaboravili lozinku, <a href="' + root + '/retrieve">možete zatražiti novu.</a></p>';
				}
				else if( "error_sending_mail" == json.message )
				{
					the_html = '<p>Greška pri slanju e-maila! Molimo probajte ponovno.</p>';
				}
				else
				{
					the_html = '<p>E-mail adresa koju ste unijeli nije valjana! Molimo, pokušajte ponovno.</p>';
				}
			
				$(".user_menu .inside .replace").fadeOut(150).html(the_html).fadeIn(150);
			
			}, "json");
			
			$("#register_submit").removeAttr("disabled");
			
			return false;
		});
	}
	
	function scroll_to_top()
	{
		var x = (document.all) ? window.screenLeft : window.screenX;
		window.scroll(x,0);
	}
	
	var scrolling = false;

	function scroll_to_top(time)
	{
		if( undefined == time || "undefined" == time )
			time = 500;
		
		if(scrolling == false)
		{
			scrolling = true;
			$('html,body')
				.animate(
					{
						scrollTop: $('#scrollToHere').offset().top
					},
					time,
					"linear",
					function()
					{
						scrolling = false;
					}
				);
		}
	}
	
	if( -1 !== bodyclass.search(/galerija/) )
		jQuery("a.colorbox").colorbox();
});