$(document).ready(function() {

	/* links externos */
	$(function() {
		$('a[rel*=external]').click(function(e) {
			window.open($(this).attr("href"));
			e.preventDefault();
			e.stopPropagation();
		});
	});


	/* hovers nas imagens */
	$(".hover").hover(function() {
		var file = $(this).attr('src');
		var hover = file.replace(".png","-hover.png");
		$(this).attr('src',hover);
	}, function() {
		var file = $(this).attr('src');
		var hover = file.replace("-hover.png",".png");
		$(this).attr('src',hover);
	});


	/* preload das imagens de hover */
	$(".hover").each(function() {
		var img = this.src;
		$("body").append('<img id="deleteMe" src="'+img.replace("-off.png","-on.png")+'" class="invisible">');
		$("#deleteMe").remove();
	});

	var o_color = null;
	$(".hoverbg").hover(function() {
		var file = $(this).css("background-image");
		file = file.replace('"','');
		file = file.replace('"','');
		file = file.replace('url(','');
		file = file.replace(')','');
		file = file.replace(file.substr(file.length-4,file.length), '-hover'+file.substr(file.length-4,file.length));
		$(this).css({"background-image":"url('"+file+"')"});

		/* cor de <a href>, se existir */
		o_color = $(this).find("a").css("color");
		if(o_color) {
			o_color = o_color.replace('#','');
			n_color = $(this).find("a").attr("class").split(" ");
			for(key in n_color) {
				if(n_color[key].search('color') == 0) {
					var color = n_color[key].replace("color_","");
				}
			}
		}

		if(color)
			$(this).find("a").css({"color":"#"+color});

	}, function() {
		var file = $(this).css("background-image");
		file = file.replace('-hover.','.');
		$(this).css({"background-image":file});
		$(this).find("a").css({"color":o_color});
	});

	$(".hoverbgcolor").hover(function() {
		color = null;
		o_color = $(this).css("background-color");
		o_color = o_color.replace('#','');
		n_color = $(this).attr("class").split(" ");
		for(key in n_color) {
			if(n_color[key].search('color') == 0) {
				var color = n_color[key].replace("color_","");
			}
		}

		/* cor de <a href>, se existir */
		o_acolor = $(this).find("a").css("color");
		if(o_acolor) {
			o_acolor = o_acolor.replace('#','');
			n_acolor = $(this).find("a").attr("class").split(" ");
			for(key in n_acolor) {
				if(n_acolor[key].search('color') == 0) {
					var acolor = n_acolor[key].replace("color_","");
				}
			}
		}

		if(color)
			$(this).css({"background-color":"#"+color});

		if(acolor)
			$(this).find("a").css({"color":"#"+acolor});

	}, function() {
		$(this).css({"background-color":o_color});
		$(this).find("a").css({"color":o_acolor});
	});

	$(".hoverbg, .hoverbgcolor, #Top .menu .standard").click(function(e) {
		var link = $(this).find("a").attr("href");
		e.preventDefault();
		e.stopPropagation();

		if(link)
			window.location=link;
	});


	$("#frmNewsletter .button").click(function(e) {
		newsletter();
		e.preventDefault();
	});

	$("#frmNewsletter .email").keypress(function(e) {
		if(e.which == 13) {
			newsletter();
			e.preventDefault();
		}
	});

	newsletter = function() {
		var email = $("#frmNewsletter .email").attr("value");

		$.ajax({
			type: "get",
			url: "/requests.php?r=newsletter_signup&email="+email,
			success: function(status) {
				if(status == "empty") {
					$.prompt("Preencha com um endereço de email");
				}
				else if(status == "incorrect") {
					$.prompt("Não é um endereço de email correcto");
				}
				else if(status == "duplicate") {
					$.prompt("Este endereço já está registado");
				}
				else if(status == "success") {
					$.prompt("Obrigado por subscrever à nossa Newsletter!");
				}
			}
		});
	}


	/* up & down notícias */
	$("#ementas .up, #ementas .down").livequery('click', function(event) { 
		var move = $(this).attr("class");
		var lang_id = $('#getLatestNews input[name="lang_id"]').val();
		var news_id = $('#getLatestNews input[name="news_id"]').val();
		var lang_url = $('#getLatestNews input[name="lang_url"]').val();

		$.ajax({
			dataType: "json",
			contentType: "application/json; charset=utf-8",
			url: "/requests.php",
			data: "r=get_news_up_down&move="+move+"&lang_id="+lang_id+"&news_id="+news_id+"&lang_url="+lang_url,
			success: function(content) {
				if(content != null) {
					$('#Body .home-column .noticias a').attr({"href":content.permalink});
					$('#Body .home-column .noticias a').html(content.title);
					$('#Body .home-column .noticias .time').html(content.time);
					$('#Body .home-column .noticias .summary').html(content.small_text);
					$('#getLatestNews input[name="news_id"]').attr({"value":content.id});
				}
			}
		});
	});

	/* slideshow na homepage */
	var actual = 0;
	$(".slideshow-wrapper .prev").click(function(e) {
		len = $(".slideshow img").size() - 1;
		actual--;

		if(actual < 0)
			actual = len;

		gallery_switcher(actual);
		e.preventDefault();
	});
	$(".slideshow-wrapper .next").click(function(e) {
		len = $(".slideshow img").size() - 1;
		actual++;

		if(actual > len)
			actual = 0;

		gallery_switcher(actual);
		e.preventDefault();
	});

	$(".slideshow-wrapper .selectors img").click(function(e) {
		actual= $(this).attr("class");

		gallery_switcher(actual);
		e.preventDefault();
	});

	gallery_switcher = function(val) {
		/* esconder todos, mostrar o actual */
		var obj = $(".slideshow img")[val];
		$(".slideshow img").css({"visibility":"hidden"});
		$(obj).css({"visibility":"visible"});

		var file = $(".slideshow-wrapper .selectors img").attr('src');
		var disable = file.replace("-selected.png","-blank.png");
		$(".slideshow-wrapper .selectors img").attr('src', disable);

		var current = $(".slideshow-wrapper .selectors ." + val);
		var enable = current.attr("src").replace("-blank.png","-selected.png");
		$(current).attr('src', enable);
	}

	/* drop downs manhosos */
	$(".select .dropdown li").hover(function() {
		o_color = $(this).parent().css("background-color");
		$(this).css({"background-color":"#00B2DB"});
		$(this).css({"color":"#FFF"});
	}, function() {
		$(this).css({"background-color":o_color});
		$(this).css({"color":"#333"});
	});

	var dropDownOpen = false;
	$(".select").click(function() {
		var dropdown = $(this).children().children(".dropdown");
		$(".dropdown").slideUp("normal");

		if(dropDownOpen == false) {
			dropdown.slideDown("normal");
			dropDownOpen = true;
		}
		else {
			dropdown.slideUp("normal");
			dropDownOpen = false;
		}
	});

	$(".select .dropdown li").click(function() {
		class_val = $(this).attr("class");
		$(this).parent().parent().children("input").attr({"value":class_val});

		picked_name = $(this).html();
		$(this).parent().parent().children(".status").html(picked_name);
	});

	/* voltar ao topo */
	$("#Body .returntop").click(function(e) {
		$.scrollTo(0, 800 );
		e.preventDefault();
	});

	/* HTML 5 :: input placeholder */
	if (!Modernizr.input.placeholder) {
		$('input').each(function() {
			var obj = $(this);
			var placeholder = obj.attr('placeholder');
			if(placeholder) {
				obj.val(placeholder);
				obj.focus(function() {
					var obj2 = $(this);
					if(obj2.val() == obj2.attr('placeholder'))
						obj2.val('');
				});
				obj.blur(function() {
					var obj2 = $(this);
					if (obj2.val() == '')
						obj2.val(obj2.attr('placeholder'));
				});
			}
		});
	}

	/* up and down na ementa */
	var SlideTimeUpDown = 300;
	MoveUp = function(obj, ul_obj) {
		var ul = ul_obj;
		var ul_height = parseInt(ul.attr("scrollHeight"));
		var ul_height_visible = parseInt(ul.height());
		var ul_scrollTop = parseInt(ul.attr("scrollTop"));
		if((ul_scrollTop+ul_height_visible) <= 0) return false;
		
		$(ul).animate({
			scrollTop: ul_scrollTop-ul_height_visible
		}, SlideTimeUpDown);
	};
	MoveDown = function(obj, ul_obj) {
		var ul = ul_obj;
		var ul_height = parseInt(ul.attr("scrollHeight"));
		var ul_height_visible = parseInt(ul.height());
		var ul_scrollTop = parseInt(ul.attr("scrollTop"));
		if((ul_scrollTop+ul_height_visible) >= ul_height) return false;

		$(ul).animate({
			scrollTop: ul_scrollTop+ul_height_visible
		}, SlideTimeUpDown);
	};

	$(".up").click(function() {
		MoveUp(this, $("#slider"));
	});
	$(".down").click(function() {
		MoveDown(this, $("#slider"));
	});

	/* formulário de contacto */
	$("#frmContacto .button").click(function(e) {
		contactos();
		e.preventDefault();
	});

	$("#frmContacto input").keypress(function(e) {
		if(e.which == 13) {
			contactos();
			e.preventDefault();
		}
	});

	contactos = function() {
		var nome = $('#frmContacto input[type="text"]').attr("value");
		var email = $('#frmContacto input[type="email"]').attr("value");
		var lang = $('#frmContacto input[type="hidden"]').attr("value");
		var msg = $('#frmContacto textarea').attr("value");
		var active = $('#frmContacto input[type="checkbox"]').is(':checked');

		$.ajax({
			type: "get",
			url: "/requests.php?r=comments&email="+email+"&nome="+nome+"&msg="+msg+"&lang="+lang+"&active="+active,
			success: function(status) {
				if(status == "empty") {
					$.prompt("Preencha os dados correctamente");
				}
				else if(status == "incorrect") {
					$.prompt("Excedeu o número de caractéres permitidos na mensagem");
				}
				else if(status == "success") {
					$.prompt("Obrigado pela sua participação!");
				}
			}
		});
	}
});
