﻿jQuery.expr[':'].Contains = function(a,i,m){
	return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0;
};

$(document).ready(function() {


if($("#slider").length) {
	$("#slider").cycle({
		fx: "fade",
		easing: "easeInOutQuad",
		continuous: 0,
		timeout: 0,
		speed: 800,
		speedIn: 720,
		speedOut: 480,
		prev: ".anterior",
		next: ".proximo",
		nowrap: 1,
		before: function(currentSlide, nextSlide, options, forward) {
			$(".navegador h5").text($(nextSlide).attr("alt"));
		}
	});
	
}


if($(".wrap-slide").length) {
	$(".wrap-slide div").hide();
	$(".wrap-slide div:first").show();
	
	$(".wrap-slide h5 a").click(function() {
		$(".wrap-slide div").slideUp();
		
		$cont = $(this).parent().next();
		if($cont.is(":visible")) {
			$cont.show();
		} else {
			$cont.slideDown();
		}
		return false;
	});
}

/*
if($(".accordion").length) {

	$(".accordion").accordion({
		header: "h5",
		animated: "slide",
		easing: "easeInOutQuad",
		autoHeight: false
	});
}
*/	
	
	//busca duvidas
	var list = ".duvidas-corpo";
	var input = ".duvidas-topo .input";
	$(".duvidas-corpo").append("<div id=\"nenhuma-resposta\"><h5>Nenhum artigo encontrado.</h5></div>"); // mensagem de erro
	$("#nenhuma-resposta").hide();
	
	$(input).change( function () {
		var filter = $(this).val();
		var valdef = $(this).attr("default");
		var $categ = "";
		
		var $liup = $("ul.categorias li.up");
		
		if( $liup.length && !($liup.children("a").hasClass("cat-todas")) ) {
			$categ = $("ul.categorias li.up").children("a").attr("class");
			$categ = "."+$categ;

			$(".wrap-slide").hide();
			
			if($(".wrap-slide"+$categ).length) { // se existe alguma duvida dessa categoria
				$(".wrap-slide"+$categ).show();
				$("#nenhuma-resposta").hide();
			} else { // mostra mensagem de erro
				$("#nenhuma-resposta").show();
			}
		}
		
		if(filter != valdef || filter == "") {
		  $e = $(list).find(".wrap-slide"+$categ+":not(:Contains(" + filter + "))");
		  $e.is(':visible') ? $e.slideUp() : $e.hide();
		  
		  $buscados = $(list).find(".wrap-slide"+$categ+":Contains(" + filter + ")");
		  if( $buscados.length ) { 
			$buscados.show();
			$("#nenhuma-resposta").hide();
		  } else {
			$("#nenhuma-resposta").show();
		  }
		} else {
		  $(list).find(".wrap-slide"+$categ).show();
		}
		return false;
	}).keyup( function () {
		// fire the above change event after every letter
		$(this).change();
	});
	
	// busca com categorias
	$("ul.categorias li a").live('click', function(){
		$("ul.categorias li").removeClass("up");
		$(this).parent().addClass("up");
		$(input).change();
		return false;
	});

	$u = window.location.href;
	
	if ( $u.indexOf("#inscreva-se") ) {
		height = $(document).height();
		$(window).scrollTop( height );
	}
	
	
	$(".suporte .suporte-cima a").click(function (event) {
		event.preventDefault();

		if ($(this).parent().hasClass("selected")) {
			return false;
		}

		$(".suporte .suporte-cima li").removeClass("selected");
		$(this).parent().addClass("selected");

		var suporteBaixo = $(".suporte .suporte-baixo");
		suporteBaixo.show();

		var h5 = $("h5", suporteBaixo);
		var p = $("p", suporteBaixo);

		var titulo = $(this).text();
		var descricao = $(this).parent().find("span").text();

		var tituloAnterior = h5.text();
		var descricaoAnterior = p.text();

		var heightAntigo = suporteBaixo.height();

		h5.text(titulo);
		p.text(descricao);

		suporteBaixo.css("height", "auto");
		var heightNovo = suporteBaixo.height();

		h5.text(tituloAnterior);
		p.text(descricaoAnterior);

		if (heightAntigo == 0) {
			h5.text(titulo);
			p.text(descricao);
			suporteBaixo.css("height", "0px");
			suporteBaixo.animate({ height: heightNovo + "px" }, 300, "easeOutQuad");
		} else {
			suporteBaixo.animate({ height: "0px" }, 200, "easeInQuad", function () {
				h5.text(titulo);
				p.text(descricao);
				suporteBaixo.animate({ height: heightNovo + "px" }, 400, "easeOutQuad");
			});
		}

		return false;
	});
	// abas
	$(".abas .suporte").click(function () {
		if ($(".suporte .suporte-cima .selected").length == 0) {
			var firstItem = $(".suporte .suporte-cima li :first");
			firstItem.parent().addClass("selected");

			var suporteBaixo = $(".suporte .suporte-baixo");

			var h5 = $("h5", suporteBaixo);
			var p = $("p", suporteBaixo);

			var titulo = firstItem.text();
			var descricao = firstItem.parent().find("span").text();

			h5.text(titulo);
			p.text(descricao);

			suporteBaixo.show();
			suporteBaixo.css("height", "auto");
		}
	});


// validate

if($("#form_contato").length) {
		//validação
		var validator = $("#form_contato").validate({
			rules: {
				cboDestino: "required",
				txtNome: "required",
				txtEmpresa: "required",
				txtEmail: { 
					required : true,
					email : true
				},
				txtMensagem: "required"
			},
			messages: {
				cboDestino: "*",
				txtNome: "*",
				txtEmpresa: "*",
				txtEmail: "*",
				txtMensagem: "*"
			},
			// the errorPlacement has to take the table layout into account
			errorPlacement: function(error, element) {
				if ( element.is(":radio") ) {
					error.appendTo( element.parent().next().next() );
				} else if ( element.is(":checkbox") ) {
				  error.appendTo ( element.next() );
				} else { error.appendTo( element.parent().next() ); }
				
				//exibir erro
				$(".input").each(function() {
					if($(this).hasClass("error")) {
						$(this).prev("label").addClass("errado");
					} 
				});
			
			},
			invalidHandler: function(form, validator) {
				// adicionar mensagem de erro
				if(!$("p.alert").length) {
					$("#form_contato fieldset").prepend("<p class=\"alert\">Os campos marcados são obrigatórios</p>");
				}
				if($("p.p_sucess").length) $("p.p_sucess").remove();
				//acrescentar classe nos labes
				var $slct_lab = $("#cboDestino_input").prev("label");
				if($("#cboDestino_input").val() == "Selecione") {
					$slct_lab.addClass("errado");
				} else {
					$slct_lab.removeClass("errado");
				}

				$(".input").each(function() {
					if($(this).hasClass("error")) {
						$(this).prev("label").addClass("errado");
					} else {
						$(this).prev("label").removeClass("errado");
					}
				});
			},
			// specifying a submitHandler prevents the default submit, good for the demo
			submitHandler: function() {
				document.forms["form_contato"].submit();
			},
			// set this class to error-labels to indicate valid fields
			success: function(label) {
				//$("label.errado").removeAttr("class");
				// set &nbsp; as text for IE
				label.html("&nbsp;").addClass("checked");
			}
		});

	}
	
	// form trabalhe conosco
	
	if($("#form_trabalhe").length) {
		
		var validator = $("#form_trabalhe").validate({
			rules: {
				txtNome: "required",
				txtEmail: { 
					required : true,
					email : true
				},
				txtObjetivo: "required",				
				lblArquivo: "required"
			},
			messages: {
				txtNome: "*",
				txtEmail: "*",
				txtObjetivo: "*",				
				lblArquivo: "*"
			},
			// the errorPlacement has to take the table layout into account
			errorPlacement: function(error, element) {
				if ( element.is(":radio") ) {
					error.appendTo( element.parent().next().next() );
				} else if ( element.is(":checkbox") ) {
				  error.appendTo ( element.next() );
				} else { error.appendTo( element.parent().next() ); }
				
				//exibir erro
				$(".input").each(function() {
					if($(this).hasClass("error")) {
						$(this).prev("label").addClass("errado");
					} 
				});
				
		
			},
			invalidHandler: function(form, validator) {
				// adicionar mensagem de erro
				if(!$("p.alert").length) {
					$("#form_trabalhe fieldset").prepend("<p class=\"alert\">Os campos marcados são obrigatórios</p>");
				}
				if($("p.p_sucess").length) $("p.p_sucess").remove();

				$(".input").each(function() {
					if($(this).hasClass("error")) {
						$(this).prev("label").addClass("errado");
					} else {
						$(this).prev("label").removeClass("errado");
					}
				});
			},
			// specifying a submitHandler prevents the default submit, good for the demo
			submitHandler: function() {
				document.forms["form_trabalhe"].submit();
			},
			// set this class to error-labels to indicate valid fields
			success: function(label) {
				//$("label.errado").removeAttr("class");
				// set &nbsp; as text for IE
				label.html("&nbsp;").addClass("checked");
			}
		});

	}
	
	// form newsletter
	
	if($("#form_newsletter").length) {
		$url = window.location.href;
		
		if($url.indexOf("#inscreva-se") != -1) {
			$("div.inscricao").slideDown();
		}
		
		
		var validator = $("#form_newsletter").validate({
			rules: {
				txtNome: "required",
				txtEmail: { 
					required : true,
					email : true
				}
			},
			messages: {
				txtNome: "*",
				txtEmail: "*"
			},
			// the errorPlacement has to take the table layout into account
			errorPlacement: function(error, element) {
				if ( element.is(":radio") ) {
					error.appendTo( element.parent().next().next() );
				} else if ( element.is(":checkbox") ) {
				  error.appendTo ( element.next() );
				} else { error.appendTo( element.parent().next() ); }
				
				//exibir erro
				$(".input").each(function() {
					if($(this).hasClass("error")) {
						$(this).prev("label").addClass("errado");
					} 
				});
				
		
			},
			invalidHandler: function(form, validator) {
				// adicionar mensagem de erro
				if(!$("p.alert").length) {
					$(".inscricao").prepend("<p class=\"alert\">Os campos marcados são obrigatórios</p>");
				}
				if($("p.p_sucess").length) $("p.p_sucess").remove();

				$(".input").each(function() {
					if($(this).hasClass("error")) {
						$(this).prev("label").addClass("errado");
					} else {
						$(this).prev("label").removeClass("errado");
					}
				});
			},
			// specifying a submitHandler prevents the default submit, good for the demo
			submitHandler: function() {
				document.forms["form_newsletter"].submit();
			},
			// set this class to error-labels to indicate valid fields
			success: function(label) {
				//$("label.errado").removeAttr("class");
				// set &nbsp; as text for IE
				label.html("&nbsp;").addClass("checked");
			}
		});

	}
	

});
