$(document).ready(function() {

	//separadores da homepage
	$(function() {
		$('#hometabs-left > ul').tabs({ fx: { opacity: 'toggle' } });
		$('#hometabs-right > ul').tabs({ fx: { opacity: 'toggle' } });
	});

	//slideshow da homepage
	$('#one').slideShow({
		ease: null,
		speed:0,
		height: 230,
		width: 950,
		direction : 'vertical'
	});
  
	//corrige as imagens png no IE
	$(function ()  {
		var arVersion = navigator.appVersion.split("MSIE")
	    var version = parseFloat(arVersion[1])
	    if ((version >= 5.5) && (version < 7) && (document.body.filters)){
	      for(var i=0; i<document.images.length; i++){
	        var img = document.images[i]
	        var imgName = img.src.toUpperCase()
	        if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
	          var imgID = (img.id) ? "id='" + img.id + "' " : ""
	          var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	          var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	          var imgStyle = "display:inline-block;" + img.style.cssText
	          if (img.align == "left") imgStyle = "float:left;" + imgStyle
	          if (img.align == "right") imgStyle = "float:right;" + imgStyle
	          if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
	          var strNewHTML = "<span " + imgID + imgClass + imgTitle
	          + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	          + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	          + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
	          img.outerHTML = strNewHTML
	          i = i-1
	        }
	      }
	    }
	});
	
  	//campo telefonico de formularios permite apenas numeros, - e +
  	$(".numerico").numeric({allow:"-+"});
  
	//não permite pesquisas com o campo vazio
	$("#searchBtn").click(function(){
		if ($("#query_string").val().length == 0){
			return false;
		} 
		$("#form1").submit();
	});
	
	//rollover das imagens do footer	
	$(".logo-img").hover(
	 function()
	 {
	  this.src = this.src.replace("-off","-on");
	 },
	 function()
	 {
	  this.src = this.src.replace("-on","-off");
	 }
	);
	
	// validação do formulário de contacto
	$("#form3").submit(function(){
		
		$('#erros-placeholder').html('');
		
		var valido = true;
		
		var camposErros = new Array();
		
		$("#form3 .obg").each(function(){
			if (this.value != 'Nome' && this.value != 'Empresa' && this.value != 'Telemóvel' && this.value != 'Email') {
				if (this.id == 'email1' && ! isEmail(this.value)){
					existeCampoErro (camposErros, 'Email');
					valido = false;
				}
			} else {
				existeCampoErro (camposErros, this.value);
				valido = false;
			}
		});
		
		if (valido){
			var form = $('#form3');

			$.ajax({
				type: "POST",
				url: "/ajaxProxy.php",
				data: form.serialize(),
				success: function(msg){
					if (msg == 1){
						var mensagem = "Envio de contacto efectuado com sucesso";
					} else {
						var mensagem = "Envio de contacto não foi possível";
					}
					oldHtml = $('#form-contact-placeholder').html();
					$('#form-contact-placeholder').fadeOut(200,function(){
						$('#form-contact-placeholder').css("height","174px").html(mensagem).fadeIn();
						setTimeout('$(\'#form-contact-placeholder\').fadeOut(200,function(){$(\'#form-contact-placeholder\').html(oldHtml).fadeIn();});',5000);
					});
				}	
			});
		} else {
			$('#erros-placeholder').append('<span class="modal-title">Ocorreu um erro no preenchimento do formulário.</span>');
			for (i = 0; i < camposErros.length; i++){
				if (camposErros[i] == 'Email'){
					$('#erros-placeholder').append('<li class="lista-alerta">' + camposErros[i] + ' (Email não válido) </li>');
				} else {
					$('#erros-placeholder').append('<li class="lista-alerta">' + camposErros[i] + ' (Campo obrigatório) </li>');
				}
			}
			$("li.lista-alerta").wrapAll("<ul></ul>");
			$('#modal').popupBlock();
			return false;
		}
		
		return false;
	});
	
	//validação do campo da inscrição da newsletter
	$("#formNewsletter").submit(function(){
		var valido = true;
		
		if ($("#email_newsletter").val().length == 0 || !isEmail($("#email_newsletter").val())){
			$("#erros-placeholder").html('Por favor introduza um email válido');
			valido = false;
		} 
		
		if (valido){
			var form = $('#formNewsletter');

			$.ajax({
				type: "POST",
				url: "/ajaxProxy.php",
				data: form.serialize(),
				success: function(msg){
					if (msg == 1){
						var mensagem = "<h6>Newsletter</h6>Obrigado pela sua subscrição.";
					} else {
						var mensagem = "<h6>Newsletter</h6>Ocorreu um erro no envio de pedido de subscrição.";
					}
					oldHtml = $('#footer-newsletter').html();
					$('#footer-newsletter').fadeOut(200,function(){
						$('#footer-newsletter').html(mensagem).fadeIn();
						setTimeout('$(\'#footer-newsletter\').fadeOut(200,function(){$(\'#footer-newsletter\').html(oldHtml).fadeIn();});',5000);
					});
				}
			});
		} else {
			$('#modal').popupBlock();
		}
		return false;
	});
	
	// validação do formulário de canditatura
	$("#formCandi").submit(function(){
		//limpa o campo de avisos
		$('#erros-placeholder').html('');
		
		var valido = true;
		var error_msg = '<span class="modal-title">Ocorreu um erro no preenchimento do formulário.</span>';
			error_msg += '<ul>';
		
		if ( $("#cv_nome").val().length == 0){
			valido = false;
			error_msg += '<li class="lista-alerta">Por favor introduza o seu Nome</li>';
		}
	
		if ( $("#cv_contacto").val().length == 0){
			valido = false;
			error_msg += '<li class="lista-alerta">Por favor introduza o seu Contacto</li>';
		}
	
		if ( ! isEmail($("#cv_email").val()) ){
			valido = false;
			error_msg +='<li class="lista-alerta">O seu email não é válido</li>';
		}
	
		if ( $("#cv_tipoTrabalho").val().length == 0) {
			valido = false;
			error_msg +='<li class="lista-alerta">Por favor introduza a área a que se candidata</li>';
		}
	
		if ( $("#cv_cv").val().length == 0){
			valido = false;
			error_msg += '<li class="lista-alerta">Por favor introduza o seu CV</li>';
		}

		  
		var dot = $("#cv_cv").val().lastIndexOf(".");
		var extension = $("#cv_cv").val().substr(dot,$("#cv_cv").val().length);
	
		if(extension != ".pdf" && extension != ".doc" && extension != ".odt") {
			valido = false;
		    error_msg += '<li class="lista-alerta">Por favor introduza o seu CV em DOC, PDF ou ODT</li>';
		}
		
		error_msg += '</ul>';
		
		if ( valido ){
			this.submit();
		} else {
			$('#erros-placeholder').html(error_msg);
			$('#modal').popupBlock();
		}
		return false;
	});	
	
	//fecha o modal popup
	$(".close").click( function() {
		$('#modal').popupClose();
	});
	
	//altera o campo de inserir um ficheiro com um estilo mais costumizável
	$("input.input-img").filestyle({ 
		image: "/imagens/textbox-job-browse-btn.gif",
		imageheight : 23,
		imagewidth : 112,
		width : 294
	});

});

/* função para validação do campo de email
***********************************************************************************************************/

function isEmail(who) {
  var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
  return(email.test(who));
}

/* função para juntar a lista de erros de formularios
 **********************************************************************************************************/ 
function existeCampoErro (camposErros, nome){
	var campoNExiste = true;
	for (i = 0; i < camposErros.length; i++){		
		if (camposErros[i] == nome + 'Label'){
			campoNExiste = false;
		}
	}
	if (campoNExiste){
		camposErros.push(nome);
	}
}
