

function initMenuImpl ()
{
	$("a[href^=#]").smoothScroll(200,10,0,0);	
}



/**
 * Slide show página inicial	
 *
 * @author Youzoom.com.br (2010)
 * http://www.youzoom.com.br
 */
function initSlidesImpl ()
{

	var INTERVALO_EFEITO = 400;
	var INTERVALO_AUTOSLIDE = 3500;
	var SLIDE_WIDTH = 940;

	

	var $this = $('#box-slideshow');

	var btSlideBack = $('#bt-slide-back');
	var slideBackFade = $('.aba-left');
	var btSlideForward = $('#bt-slide-forward');
	var slideForwardFade = $('.aba-right');
	var palco = $this.find('#palco-slideshow');
	var slides = palco.find('img');
	var numeroSlides = slides.length;
	var currentSlide = 1;
	var interval;
	
	
	palco.css('width', (SLIDE_WIDTH*numeroSlides)+'px');
	
	if (numeroSlides == 1)
	{
		btSlideForward.hide();
		slideBackFade.hide();
		
		btSlideBack.hide();
		slideForwardFade.hide();
		
		return;
	}
	
	btSlideForward.click(showNext);
	btSlideBack.click(showPrev);
	btSlideBack.hide();
	slideBackFade.hide();
	
	setIntervalo();
	
	function show (indice, toleft)
	{
		indice--;
		
		var left = Math.round(SLIDE_WIDTH * indice);
		
		
		if (toleft)
			palco.animate({left: '-'+(left+4)}, INTERVALO_EFEITO);
		else
			palco.animate({left: '-'+Math.abs(left-4)}, INTERVALO_EFEITO);

		palco.animate({left: '-'+(left)}, INTERVALO_EFEITO/3);
		
		
		return;
	}
	
	
	function showNext ()
	{
		unsetIntervalo();
		if (currentSlide == numeroSlides)
		{
			btSlideBack.hide();
			slideBackFade.hide();
			currentSlide = 1;
		}
		else
		{
			btSlideBack.show();
			slideBackFade.show();
			currentSlide++;
		}
		
		show(currentSlide, 1);
		
		setIntervalo();
		return false;
	}
	
	function showPrev ()
	{
		// alert(currentSlide + " " + INTERVALO_AUTOSLIDE);
		unsetIntervalo();
		if (!(currentSlide == 1))
		{
			currentSlide--;
			if (currentSlide == 1) btSlideBack.hide();
			show(currentSlide, 0);
		}
		
		setIntervalo();
		return false;
	}
	
	function setIntervalo () {interval = setInterval(showNext, INTERVALO_AUTOSLIDE);}
	function unsetIntervalo () {clearInterval(interval);}
	
	return this;
}

/**
 * Slide show dos portifolios
 *
 * @author Youzoom.com.br (2010)
 * http://www.youzoom.com.br
 */
function initSlidePortfolioImp ()
{

	var INTERVALO_EFEITO = 400;
	var INTERVALO_AUTOSLIDE = 8000;
	var SLIDE_WIDTH = 960;

	var $this = $('#box-slide-portifolio');

	var btSlideBack = $('#bt-portfolio-back');
	var btSlideForward = $('#bt-portfolio-forward');
	var palco = $('#palco-portfolio');
	var slides = $('ul.lista-portfolio');
	var numeroSlides = slides.length;
	var currentSlide = 1;
	// var interval;
	
	

	palco.css('width', (SLIDE_WIDTH*numeroSlides)+'px');
	
	
	// alert(palco.width());
	
	if (numeroSlides == 1)
	{
		btSlideForward.hide();
		btSlideBack.hide();
		return;
	}

	// $this.pngFix();
	btSlideForward.click(showNext);
	btSlideBack.click(showPrev);
	btSlideBack.hide();

	// setIntervalo();
	
	function show (indice, toleft)
	{
		indice--;
		
		var left = Math.round(SLIDE_WIDTH * indice);
		
		if (toleft)
			palco.animate({left: '-'+(left+4)}, INTERVALO_EFEITO);
		else
			palco.animate({left: '-'+Math.abs(left-4)}, INTERVALO_EFEITO);

		palco.animate({left: '-'+(left)}, INTERVALO_EFEITO/3);
		
		return;
	}
	
	
	function showNext ()
	{
		// unsetIntervalo();
		if (currentSlide == numeroSlides)
		{
			btSlideBack.hide();
			currentSlide = 1;
		}
		else
		{
			btSlideBack.show();
			currentSlide++;
		}
		
		show(currentSlide, 1);
		
		// setIntervalo();
		return false;
	}
	
	function showPrev ()
	{
		// alert(currentSlide + " " + INTERVALO_AUTOSLIDE);
		// unsetIntervalo();
		if (!(currentSlide == 1))
		{
			currentSlide--;
			if (currentSlide == 1) btSlideBack.hide();
			show(currentSlide, 0);
		}
		
		// setIntervalo();
		return false;
	}
	
	// function setIntervalo () {interval = setInterval(showNext, INTERVALO_AUTOSLIDE);}
	// function unsetIntervalo () {clearInterval(interval);}
	
	return this;
}

function _init ()
{
	$('.open-modal').lightBox({imageBtnPrev : null, imageBtnNext : null});
	

    youzoom.widget.selectController();
	youzoom.widget.initMenu();
	youzoom.widget.initSlides();
	youzoom.widget.initSlidesPortfolio();
    youzoom.widget.orcamentoController();
}


var youzoom =
{ 
	main: _init,
	widget: {
		initMenu: initMenuImpl,
		initSlides: initSlidesImpl,
		initSlidesPortfolio: initSlidePortfolioImp
	}
};

function sendMensagemContato() {


    var erro = false;
    var nome = $("#input-nome");
    var email = $("#input-email");
	var telefone = $("#input-telefone");
    var mensagem = $("#input-msg");
    var boxForm = $("#box-form-contato");
    var httpReferer = $("#input-http-referer");

    $("#info_nome").removeClass().text("");
    $("#info_email").removeClass().text("");
    $("#info_mensagem").removeClass().text("");
    $("#info_status").removeClass().text("");
	
    if(jQuery.trim(nome.val()).length < 2) {
        
        $("#info_nome").addClass("box-validator").text("* Campo obrigatório");
            erro = true;

            nome.blur(function(){

            if(jQuery.trim(this.value).length < 2) {
                $("#info_nome").addClass("box-validator").text("* Campo obrigatório");
            }
        });

        nome.focus(function(){

            $("#info_nome").removeClass().text("");
        });
    }

    if(jQuery.trim(email.val()).length < 1 || (new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/)).test(email.val()) == false) {

        if(jQuery.trim(email.val()).length < 1) {
            $("#info_email").addClass("box-validator").text("* Campo obrigatório");
        } else {
            $("#info_email").addClass("box-validator").text("* E-mail inválido");
        }

        erro = true;

        email.blur(function(){

            if(jQuery.trim(this.value).length < 1) {
                $("#info_email").addClass("box-validator").text("* Campo obrigatório");
                
            } else if((new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/)).test(this.value) == false) {
                $("#info_email").addClass("box-validator").text("* E-mail inválido");
            }
        });

        email.focus(function(){

            $("#info_email").removeClass().text("");
        });

    }        

    if(jQuery.trim(mensagem.val()).length < 2) {
        
        $("#info_mensagem").addClass("box-validator").text("* Campo obrigatório");
        erro = true;

        mensagem.blur(function(){

            if(jQuery.trim(this.value).length < 2) {
                $("#info_mensagem").addClass("box-validator").text("* Campo obrigatório");
            }
        });

        mensagem.focus(function(){

            $("#info_mensagem").removeClass().text("");
                       
        });
    }

        
    if(erro == false) {

        var $ajaxLoader = $('<div class="ajax-loader"><img src="/_imagens/ajax-loader-bert.gif" width="128" height="15" alt="Processando..."/></div>');
        boxForm.append($ajaxLoader);

        $("#btn_enviar").attr("disabled", true);

        $(document).ajaxError(function (event, XMLHttpRequest, ajaxOptions, thrownError) {
            alert(XMLHttpRequest.responseText);
        });

        var ajaxURL = "/_ajax/ger_faleconosco.php";

        $.post(ajaxURL, {acao: "adicionar", fcon_nome: nome.val(), fcon_email: email.val(), fcon_telefone: telefone.val(), fcon_texto: mensagem.val(), yz_http_referer: httpReferer.val()}, function(jsonReturn) {

            $ajaxLoader.remove();
            
            if(jsonReturn.status == "sucesso") {

                $("#info_status").addClass("box-msgstatus").text("Mensagem enviada com sucesso!");

                nome.val("");
                email.val("");
                telefone.val("");
                mensagem.val("");

                $("#btn_enviar").removeAttr("disabled");

            } else {

                $("#info_status").addClass("box-msgstatus msg-erro").html(jsonReturn.msg);
                $("#btn_enviar").removeAttr("disabled");
            }

        }, "json");
    }
}

function showGoogleMaps() {

    $.fn.colorbox({href: '/onde-estamos', width:"711px", height:"537px", iframe:true});

    return false;
}


/**
 * Controlador da página de orçamento
 */
youzoom.widget.orcamentoController = function () {

    var elementos = {
        $inptTipo: $("#orc_tipo_cli"),
        $inptNome: $("#orc_cli_nome"), // Input para o usuário digitar o nome
        $inptNomeEmpresa: $("#orc_cli_nome_empresa"),
        $inptCidade: $("#orc_cli_cidade"),
        $slctEstado: $("#orc_cli_estado"),
        $inptTelefone: $("#orc_cli_telefone"), // Input para o usuário digitar o telefone
        $inptEmail: $("#orc_cli_email"), // Input para o usuário digitar o email
        $inptPossuiSite: $("#orc_possui_site"), // Input para o usuário digitar o assunto
        $inptSite: $("#orc_site"), // Input para o usuário digitar a cidade
        $inptSiteReferencia: $("#orc_site_referencia"), // Input para o usuário selecionar o estado
        $slctTipoSite: $("#tpproj_id"),
        $inptObjetivos: $("#orc_objetivos"), // Input para o usuário digitar a mensagem
        $inptNegocio: $("#orc_descricao_negocio"), // Input para o usuário informar o departamento
        $btnEnviar: $("#btn-enviar-orcamento"), // Botão para enviar o formulário de orçamento
        $boxFeedback: $("#box-feedback-orcamento"), // Box para feedback para o usuário
        $formOrcamento: $("#form-orcamento"),
        $inptHttpReferer: $("#input-http-referer"),
        $inptConteudo: $("#orc_conteudo"),
        $inptInvestimento: $("#orc_investimento"),
        $inptComentario: $("#orc_comentario"),
        $rowNomeEmpresa: $("#row-orc_cli_nome_empresa"),
        $labelNome: $("#label-orc_cli_nome"),
        $rowSite: $("#row-orc_site")
    };

    var atributos = {
        processing: false
    }

    elementos.$btnEnviar.click(function() {

        if(atributos.processing == false) {

            sendOrcamento();
        }
    })

    /**
     * Método para enviar a pedido de orçamento
     */
    function sendOrcamento() {

        elementos.$boxFeedback.removeClass().empty().hide();

        if(isValidOrcamento() == true) {

            scrollToFeedback();
            
            atributos.processing = true;

            var htmlFeedback = '<div class="box-ok">Enviando. Por favor, aguarde... <img class="loader" src="/_imagens/ajax-loader-bert-2.gif" alt="" width="16" height="11" /></div>';

            elementos.$boxFeedback.html(htmlFeedback).removeClass();
            elementos.$boxFeedback.slideDown(500);

            var dataList = {
                acao: "adicionarSite",
                orc_tipo_cli: elementos.$inptTipo.val(),
                orc_cli_nome_empresa: elementos.$inptNomeEmpresa.val(),
                orc_cli_nome: elementos.$inptNome.val(),
                orc_cli_cidade: elementos.$inptCidade.val(),
                est_id: elementos.$slctEstado.val(),
                orc_cli_telefone: elementos.$inptTelefone.val(),
                orc_cli_email: elementos.$inptEmail.val(),
                orc_possui_site: elementos.$inptPossuiSite.val(),
                orc_site: elementos.$inptSite.val(),
                orc_site_referencia: elementos.$inptSiteReferencia.val(),
                tpproj_id: elementos.$slctTipoSite.val(),
                orc_objetivos: elementos.$inptObjetivos.val(),
                orc_descricao_negocio: elementos.$inptNegocio.val(),
                orc_conteudo: elementos.$inptConteudo.val(),
                orc_investimento: elementos.$inptInvestimento.val(),
                orc_comentario: elementos.$inptComentario.val(),
                yz_http_referer: elementos.$inptHttpReferer.val()
            };

            $(document).ajaxError(function (event, XMLHttpRequest, ajaxOptions, thrownError) {
                alert(XMLHttpRequest.responseText);
            });

            var ajaxURL = '/_ajax/ger_orcamento.php';

            $.post(ajaxURL, dataList, function(jsonReturn) {

                if(jsonReturn.status == "sucesso") {

                    elementos.$boxFeedback.html("Solicitação enviada com sucesso. Em breve entraremos em contato.").removeClass().addClass("box-ok");
                    elementos.$boxFeedback.slideDown(500);

                    // Limpa o formulário
                    elementos.$formOrcamento.get(0).reset();
                    
                    $.get(ajaxURL, {"acao": "enviarEmailResposta"});
                    
                    trackSendOrcamentoOk();

                } else {

                    var msgFeedback = jsonReturn.msg;

                    if($.trim(msgFeedback) == "") {

                        msgFeedback = "Desculpe, não foi possível enviar sua mensagem. Tente novamente...";
                    }

                    elementos.$boxFeedback.html(msgFeedback).removeClass().addClass("box-erro");
                    elementos.$boxFeedback.slideDown(500);
                    
                    trackSendOrcamentoError();
                }

                atributos.processing = false;

            }, "json");
        }
    }

    function updateLayoutOrcamento() {

        elementos.$inptTipo.change(function() {

            if(this.value == "PJ") {
                elementos.$rowNomeEmpresa.show();
                elementos.$labelNome.text("Nome completo p/ Contato");
            } else {
                elementos.$rowNomeEmpresa.hide();
                elementos.$labelNome.text("Nome completo");
            }
        });

        elementos.$inptPossuiSite.change(function() {

            if(this.value == "1") {
                elementos.$rowSite.show();
            } else {
                elementos.$rowSite.hide();
            }
        });
    }

    /**
     * Método para verificar se o formulário de orçamento está completo
     */
    function isValidOrcamento() {

        var isValidContato = true;
        var messageList = new Array();
        elementos.$formOrcamento.find(".erroInput").removeClass("erroInput");

        var orc_cli_tipo = elementos.$inptTipo.val();
        var orc_possui_site = elementos.$inptPossuiSite.val();

        if($.trim(elementos.$inptNome.val()) == "") {

            messageList[messageList.length] = orc_cli_tipo == "PJ" ? "Informe o nome p/ contato." : "Informe o nome completo.";
            isValidContato = false;

            elementos.$inptNome.addClass("erroInput");
        } else if(orc_cli_tipo != "PJ" && $.trim(elementos.$inptNome.val()).split(" ").length < 2) {
        
            messageList[messageList.length] = "Informe o nome completo.";
            isValidContato = false;

            elementos.$inptNome.addClass("erroInput");
        }

        if(isValidContato == true && orc_cli_tipo == "PJ" && $.trim(elementos.$inptNomeEmpresa.val()) == "") {

            messageList[messageList.length] = "Informe o nome da empresa.";
            isValidContato = false;

            elementos.$inptNomeEmpresa.addClass("erroInput");
        }
        
        if(isValidContato == true && $.trim(elementos.$inptCidade.val()) == "") {

            messageList[messageList.length] = "Informe a cidade.";
            isValidContato = false;

            elementos.$inptCidade.addClass("erroInput");
        }

        if(isValidContato == true && $.trim(elementos.$inptTelefone.val()) == "") {

            messageList[messageList.length] = "Informe o telefone.";
            isValidContato = false;

            elementos.$inptTelefone.addClass("erroInput");
        }
        
        if(isValidContato == true && $.trim(elementos.$inptEmail.val()) == "") {

            messageList[messageList.length] = "Informe o e-mail.";
            isValidContato = false;

            elementos.$inptEmail.addClass("erroInput");
        }
               
        if(isValidContato == true && orc_possui_site == "1" && $.trim(elementos.$inptSite.val()) == "") {

            messageList[messageList.length] = "Informe o endereço do site atual.";
            isValidContato = false;

            elementos.$inptSite.addClass("erroInput");
        }

        if(isValidContato == true && $.trim(elementos.$slctTipoSite.val()) == "") {

            messageList[messageList.length] = "Informe o tipo de site.";
            isValidContato = false;

            elementos.$slctTipoSite.addClass("erroInput");
        }

        if(isValidContato == true && $.trim(elementos.$inptObjetivos.val()) == "") {

            messageList[messageList.length] = "Informe qual o objetivo pretendido com o site.";
            isValidContato = false;

            elementos.$inptObjetivos.addClass("erroInput");
        }

        if(isValidContato == true && $.trim(elementos.$inptNegocio.val()) == "") {

            messageList[messageList.length] = "Descreva sobre seu negócio.";
            isValidContato = false;

            elementos.$inptNegocio.addClass("erroInput");
        }
        
        if(isValidContato == true && $.trim(elementos.$inptConteudo.val()) == "") {

            messageList[messageList.length] = "Informe o conteúdo do site.";
            isValidContato = false;

            elementos.$inptConteudo.addClass("erroInput");
        }
        
        if(isValidContato == true && $.trim(elementos.$inptInvestimento.val()) == "") {

            messageList[messageList.length] = "Informe a previsão de investimento.";
            isValidContato = false;

            elementos.$inptInvestimento.addClass("erroInput");
        }
                       
        if(isValidContato == false) {

            scrollToFeedback();
            //elementos.$boxFeedback.html("&rarr; "+messageList.join("<br />&rarr; ")).addClass("box-erro");
            elementos.$boxFeedback.html('&rarr; '+messageList[0]).removeClass().addClass("box-erro");
            elementos.$boxFeedback.slideDown(500);
        }

        return isValidContato;
    }
    
    function scrollToFeedback() {

        $('html, body').animate({
            scrollTop: ($("#form-orcamento").offset().top - 100)
        }, 1000);

        return false;
    }

    function showFormOrcamento() {

        var confs = {};
        confs.btOrcamento = $('#area-orcamento').find('.bt-orcamento');
        confs.btFecharOrcamento = $('#modal-orcamento .btn-fechar-orcamento');
        confs.modal = $('#modal-orcamento');
        confs.conteudo = confs.modal.find('.modal-content');

        confs.btOrcamento.click(function(){
            
            confs.conteudo.css('left', ($('body').width() - 720) / 2);
            confs.modal.height($('body').height()).fadeIn(function() {
                scrollToFeedback();
                trackOpenOrcamento();
            });
        });
                        
        confs.btFecharOrcamento.click(function() {
            confs.modal.fadeOut();
        });
        
        
        if(window.location.href.indexOf("#orcamento") > 0) {
        
            confs.conteudo.css('left', ($('body').width() - 720) / 2);
            confs.modal.height($('body').height()).fadeIn(function() {
                scrollToFeedback();
                trackOpenOrcamento();
            });
        }
    }
    
    function trackOpenOrcamento() {
        
        try {
            
            pageTracker._trackPageview('/orcamento/enviar');
                                    
        } catch(e) {
            
        }
    }
    
    function trackSendOrcamentoError() {
        
        try {
            
            pageTracker._trackPageview('/orcamento/enviar/falha');
            
        } catch(e) {
            
        }
    }
    
    function trackSendOrcamentoOk() {
        
        try {
            
            pageTracker._trackPageview('/orcamento/enviar/sucesso');
            
        } catch(e) {
            
        }
    }
    
    function initTooltip() {
    
        var tooltipObj = new DHTMLgoodies_formTooltip();
        tooltipObj.setTooltipPosition('bottom');
        tooltipObj.setPageBgColor('#999');
        tooltipObj.setTooltipCornerSize(10);
        tooltipObj.initFormFieldTooltip();
    }

    function __init() {

        elementos.$rowNomeEmpresa.hide();
        //elementos.$rowSite.hide();
        
        showFormOrcamento();
        updateLayoutOrcamento();
        
        initTooltip();
    }
    
     __init();
}

/**
 * Controlador co campo Select
 **/
youzoom.widget.selectController = function() {
    
	$('.std-select').each(function(){
		var label = $(this).find('.label');
		var menu = $(this).find('select').unbind();
		label.html(menu.find('option:selected').text());
		menu.change(function(){
				label.html(menu.find('option:selected').text());
		});
	});
}
