/*
CSS Browser Selector v0.3.5 (Feb 05, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',o='opera',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);

/*
 * 	loopedSlider 0.5.6 - jQuery plugin
 *	written by Nathan Searles	
 *	http://nathansearles.com/loopedslider/
 *
 *	Copyright (c) 2009 Nathan Searles (http://nathansearles.com/)
 *	Dual licensed under the MIT (MIT-LICENSE.txt)
 *	and GPL (GPL-LICENSE.txt) licenses.
 *
 *	Built for jQuery library
 *	http://jquery.com
 *	Compatible with jQuery 1.3.2+
 *
 */
if(typeof jQuery != 'undefined') {
	jQuery(function($) {
		$.fn.extend({
			loopedSlider: function(options) {
				var settings = $.extend({}, $.fn.loopedSlider.defaults, options);
			
				return this.each(
					function() {
					if($.fn.jquery < '1.3.2') {return;}
					var $t = $(this);
					var o = $.metadata ? $.extend({}, settings, $t.metadata()) : settings;
					
					var distance = 0;
					var times = 1;
					var slides = $(o.slides,$t).children().size();
					var width = $(o.slides,$t).children().outerWidth();
					var position = 0;
					var active = false;
					var number = 0;
					var interval = 0;
					var restart = 0;
					var pagination = $("."+o.pagination+" li a",$t);

					if(o.addPagination && !$(pagination).length){
						var buttons = slides;
						$($t).append("<ul class="+o.pagination+">");
						$(o.slides,$t).children().each(function(){
							if (number<buttons) {
								$("."+o.pagination,$t).append("<li><a rel="+(number+1)+" href=\"#\" >"+(number+1)+"</a></li>");
								number = number+1;
							} else {
								number = 0;
								return false;
							}
							$("."+o.pagination+" li a:eq(0)",$t).parent().addClass("active");
						});
						pagination = $("."+o.pagination+" li a",$t);
					} else {
						$(pagination,$t).each(function(){
							number=number+1;
							$(this).attr("rel",number);
							$(pagination.eq(0),$t).parent().addClass("active");
						});
					}

					if (slides===1) {
						$(o.slides,$t).children().css({position:"absolute",left:position,display:"block"});
						return;
					}

					$(o.slides,$t).css({width:(slides*width)});

					$(o.slides,$t).children().each(function(){
						$(this).css({position:"absolute",left:position,display:"block"});
						position=position+width;
					});

					$(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width});

					if (slides>3) {
						$(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width});
					}

					if(o.autoHeight){autoHeight(times);}

					$(".next",$t).click(function(){
						if(active===false) {
							animate("next",true);
							if(o.autoStart){
								if (o.restart) {autoStart();}
								else {clearInterval(sliderIntervalID);}
							}
						} return false;
					});

					$(".previous",$t).click(function(){
						if(active===false) {	
							animate("prev",true);
							if(o.autoStart){
								if (o.restart) {autoStart();}
								else {clearInterval(sliderIntervalID);}
							}
						} return false;
					});

					if (o.containerClick) {
						$(o.container,$t).click(function(){
							if(active===false) {
								animate("next",true);
								if(o.autoStart){
									if (o.restart) {autoStart();}
									else {clearInterval(sliderIntervalID);}
								}
							} return false;
						});
					}

					$(pagination,$t).click(function(){
						if ($(this).parent().hasClass("active")) {return false;}
						else {
							times = $(this).attr("rel");
							$(pagination,$t).parent().siblings().removeClass("active");
							$(this).parent().addClass("active");
							animate("fade",times);
							if(o.autoStart){
								if (o.restart) {autoStart();}
								else {clearInterval(sliderIntervalID);}
							}
						} return false;
					});

					if (o.autoStart) {
						sliderIntervalID = setInterval(function(){
							if(active===false) {animate("next",true);}
						},o.autoStart);
						function autoStart() {
							if (o.restart) {
							clearInterval(sliderIntervalID);
							clearInterval(interval);
							clearTimeout(restart);
								restart = setTimeout(function() {
									interval = setInterval(	function(){
										animate("next",true);
									},o.autoStart);
								},o.restart);
							} else {
								sliderIntervalID = setInterval(function(){
									if(active===false) {animate("next",true);}
								},o.autoStart);
							}
						};
					}

					function current(times) {
						if(times===slides+1){times = 1;}
						if(times===0){times = slides;}
						$(pagination,$t).parent().siblings().removeClass("active");
						$(pagination+"[rel='" + (times) + "']",$t).parent().addClass("active");
					};

					function autoHeight(times) {
						if(times===slides+1){times=1;}
						if(times===0){times=slides;}	
						var getHeight = $(o.slides,$t).children(":eq("+(times-1)+")",$t).outerHeight();
						$(o.container,$t).animate({height: getHeight},o.autoHeight);					
					};		

					function animate(dir,clicked){	
						active = true;	
						switch(dir){
							case "next":
								times = times+1;
								distance = (-(times*width-width));
								current(times);
								if(o.autoHeight){autoHeight(times);}
								if(slides<3){
									if (times===3){$(o.slides,$t).children(":eq(0)").css({left:(slides*width)});}
									if (times===2){$(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:width});}
								}
								$(o.slides,$t).animate({left: distance}, o.slidespeed,function(){
									if (times===slides+1) {
										times = 1;
										$(o.slides,$t).css({left:0},function(){$(o.slides,$t).animate({left:distance})});							
										$(o.slides,$t).children(":eq(0)").css({left:0});
										$(o.slides,$t).children(":eq("+(slides-1)+")").css({ position:"absolute",left:-width});				
									}
									if (times===slides) $(o.slides,$t).children(":eq(0)").css({left:(slides*width)});
									if (times===slides-1) $(o.slides,$t).children(":eq("+(slides-1)+")").css({left:(slides*width-width)});
									active = false;
								});					
								break; 
							case "prev":
								times = times-1;
								distance = (-(times*width-width));
								current(times);
								if(o.autoHeight){autoHeight(times);}
								if (slides<3){
									if(times===0){$(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:(-width)});}
									if(times===1){$(o.slides,$t).children(":eq(0)").css({position:"absolute",left:0});}
								}
								$(o.slides,$t).animate({left: distance}, o.slidespeed,function(){
									if (times===0) {
										times = slides;
										$(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:(slides*width-width)});
										$(o.slides,$t).css({left: -(slides*width-width)});
										$(o.slides,$t).children(":eq(0)").css({left:(slides*width)});
									}
									if (times===2 ) $(o.slides,$t).children(":eq(0)").css({position:"absolute",left:0});
									if (times===1) $(o.slides,$t).children(":eq("+ (slides-1) +")").css({position:"absolute",left:-width});
									active = false;
								});
								break;
							case "fade":
								times = [times]*1;
								distance = (-(times*width-width));
								current(times);
								if(o.autoHeight){autoHeight(times);}
								$(o.slides,$t).children().fadeOut(o.fadespeed, function(){
									$(o.slides,$t).css({left: distance});
									$(o.slides,$t).children(":eq("+(slides-1)+")").css({left:slides*width-width});
									$(o.slides,$t).children(":eq(0)").css({left:0});
									if(times===slides){$(o.slides,$t).children(":eq(0)").css({left:(slides*width)});}
									if(times===1){$(o.slides,$t).children(":eq("+(slides-1)+")").css({ position:"absolute",left:-width});}
									$(o.slides,$t).children().fadeIn(o.fadespeed);
									active = false;
								});
								break; 
							default:
								break;
							}					
						};
					}
				);
			}
		});
		$.fn.loopedSlider.defaults = {
			container: ".container", //Class/id of main container. You can use "#container" for an id.
			slides: ".slides", //Class/id of slide container. You can use "#slides" for an id.
			pagination: "pagination", //Class name of parent ul for numbered links. Don't add a "." here.
			containerClick: false, //Click slider to goto next slide? true/false
			autoStart: 0, //Set to positive number for true. This number will be the time between transitions.
			restart: 0, //Set to positive number for true. Sets time until autoStart is restarted.
			slidespeed: 700, //Speed of slide animation, 1000 = 1second.
			fadespeed: 400, //Speed of fade animation, 1000 = 1second.
			autoHeight: 0, //Set to positive number for true. This number will be the speed of the animation.
			addPagination: false //Add pagination links based on content? true/false
		};
	});
}

$(function(){
	
	/**
	 * Esteira de clientes home
	 */
	$('.zitem').hover(
		function(){$(this).find('div.caption').stop(true,true).fadeIn(200);},
		function(){$(this).find('div.caption').stop(true,true).fadeOut(200);}
	);
	
	/**
	 * LoopedSlider
	 */
	$('#loopedSlider').loopedSlider({autoStart: 18000, restart: 5000});
	
	/**
	 * Função para criar slide no menu do topo
	 */
	$('.submenu').hover(function(){
		$(this).find('ul').stop(true, true).slideToggle();
	});
	
	/**
	 * Função ao passar o mouse sobre o item no portfólio
	 */
	$('#portfolio li').live({
		mouseover: function(){
			$(this).children('span').stop(true, true).animate({bottom: 0}, 200);
		}, 
		mouseout: function(){
			$(this).children('span').delay(10).animate({bottom: '-101px'}, 200);
		}
	});
	
	/**
	 * Função para criar o target _blank de acordo com as normas W3C
	 * Colocar class css .blank no links que devem receber este atributo target
	 */
	$('.blank').click(function(){
		$(this).attr('target', '_blank');
	});
	
	/**
	 * Função para link falso para páginas em desenvolvimento e tooltip informando que o mesmo está em construção
	 */
	$('a[title="Em desenvolvimento"]').bind({
		click: function(){
			return false;
		},
		mousemove: function(mouse){
			$('#tooltip').offset({top: mouse.pageY + 25, left: mouse.pageX - 60}).stop(true, true).fadeIn(0);
		},
		mouseout: function(){
			$('#tooltip').fadeOut(50);	
		}
	});
	
	/**
	 * Link falso para itens da esteira de clientes que não possuirem links
	 */
	$('.zitem a').click(function(){
		if($(this).attr('href') == '#') return false;
	});
	
	/**
	 * Funções para paginação via ajax do porfólio
	 */
	$('#paginacao a:not(.anterior, .proximo)').click(function(){
		if($(this).hasClass('ativo')) return false; //Verifica se a pessoa clicou no link atual evitando assim a requisição ajax
		$('#paginacao a.ativo').removeClass('ativo');
		$(this).addClass('ativo');
		var destino = $(this).attr('href')+' #portfolio';
		scroll('.conteudo_verde', 300);
		$('#portfolio').fadeOut(200).load(destino, function(){$(this).fadeIn(300);});
		return false;
	});
	
	$('#carregando').ajaxStart(function(){
		$(this).stop(true, true).fadeIn(100);		
	}).ajaxStop(function(){
		$(this).fadeOut(100);
	});
	
	$('#paginacao .anterior').click(function(){
		var atual = $('#paginacao a.ativo');
		var totalAnterior = atual.parent().prevAll('li').length;
		if(totalAnterior != 1){
			atual.removeClass('ativo');
			$('#paginacao a').eq(totalAnterior-1).addClass('ativo');
		}
		return false;
	});
	
	/**
	 * Função para animar scroll da página
	 */
	function scroll(local, tempo) {
		$('html, body').animate({
			scrollTop : $(local).offset().top
		}, tempo);
	}
	
	/**
	 * Função de validação do formulário
	 */
	$('#frmContato').submit(function(){ 
		if($.trim($('#txtNome').val()) == ''){
			alert("Por favor, preencha o campo nome");
			$('#txtNome').focus();
			return false;
		}else if(/^[a-z0-9\._-]{1,30}@([a-z0-9_-]{1,30}\.){1,5}[a-z]{2,4}$/i.test($('#txtEmail').val()) == false){
			alert("Por favor, informe um email válido");
			$('#txtEmail').focus();
			return false;
		}else if($.trim($('#txtTelefone').val()) == ''){
			alert("Por favor, informe um telefone de contato");
			$('#txtTelefone').focus();
			return false;
		}else if($.trim($('#txtMensagem').val()) == ''){
			alert("Por favor, informe sua mensagem");
			$('#txtMensagem').focus();
			return false;
		}
	});
	
	/**
	 * Função de redimensionamento de fundo
	 */
	function adaptImage(targetimg) {
		var wheight = $(window).height(); // altura da janela do navegador
		var wwidth = $(window).width(); // largura da janela do navegador
		 
		// removemos os atributos de largura e altura da imagem
		targetimg.removeAttr("width").removeAttr("height").css({ width: "", height: "" }); // removemos possíveis regras css também
		 
		var imgwidth = targetimg.width(); // largura da imagem
		var imgheight = targetimg.height(); // altura da imagem
		 
		var destwidth = wwidth; // largura que a imagem deve ter
		var destheight = wheight; // altura que a imagem deve ter
		 
		// aqui vamos determinar o tamanho final da imagem
		if(imgheight < wheight) {
			// se a altura da imagem for menor que a altura da tela, fazemos um cálculo
			// para redefinir a largura da imagem para bater com a altura que queremos
			destwidth = (imgwidth * wheight)/imgheight;
			 
			$('#fundo img').height(destheight);
			$('#fundo img').width(destwidth);
		}
	 
		// aqui utilizamos um cálculo simples para determinar o posicionamento da imagem
		// para que a mesma fique no meio da tela
		// posição = dimensão da imagem/2 - dimensão da tela/2
		destheight = $('#fundo img').height();
		var posy = (destheight/2 - wheight/2);
		var posx = (destwidth/2 - wwidth/2);
		 
		//se o cálculo das posições der resultado positivo, trocamos para negativo
		if(posy > 0) {
			posy *= -1;
		}
		if(posx > 0) {
			posx *= -1;
		}
	 
		// colocamos através da função css() do jquery o posicionamento da imagem
		$('#fundo').css({'top': posy + 'px', 'left': posx + 'px'});
	}
	 
	//quando a janela for redimensionada, adaptamos a imagem
	$(window).resize(function() {adaptImage($('#fundo img'));});
	 
	//quando a página carregar, fazemos o mesmo
	$(window).load(function() {$(window).resize();});
});

