var Site = {
    Init: function() {

        Cufon.replace('#header .language li a, #header .quick-nav li a, #header fieldset label, #header .nav li a, #content h2, #site .areas-atuacao-cases ul li table thead td, #site .areas-atuacao div.fl fieldset.fr label, #site .portfolios-e-cases-busca .lista-cases li table thead td', { fontFamily: 'Helvetica Neue LT Std', hover: true });
        Cufon.replace('.historia .year-navigation li a, .home .hold ul li h1, #content h1, .webcontrols h3, #site .areas-atuacao-home .destaques li h3, #site .imprensa-e-noticias .hold #main .destaques li h2, #site .busca .hold ul li a.expandable, #site .imprensa-e-noticias .hold .assessoria h3', { fontFamily: 'Helvetica LT Std', hover: true });

        setTimeout(function() { Site.Generics.Menu(); }, 1000);

        // Busca por todos os links que possuem a classe '.external-modal' para abrir janela modal
        $('.external-modal').click(function() {
            var id = $(this).attr('id');
            var source = $(this).attr('href');
            var dimensoes = $(this).attr('rel');
            dimensoes = dimensoes.split('x');
            var w = dimensoes[0];
            var h = dimensoes[1];
            Site.Generics.OpenExternalModal(id, source, w, h);
            return false;
        });

        $('.internal-modal').click(function() {
            var id = $(this).attr('href');
            var openmodal = function(hash) { hash.o.fadeIn('700', function() { hash.w.fadeIn('300'); }); };
            var closemodal = function(hash) { hash.w.fadeOut('300', function() { hash.o.fadeOut('700'); }); };
            $(id).jqm({ toTop: true, onShow: openmodal, onHide: closemodal });
            Site.Generics.OpenInternalModal(id);
            return false;
        });

        // String Format
        function _StringFormatInline() {
            var txt = this;
            for (var i = 0; i < arguments.length; i++) {
                var exp = new RegExp('\\{' + (i) + '\\}', 'gm');
                txt = txt.replace(exp, arguments[i]);
            }
            return txt;
        }
        function _StringFormatStatic() {
            for (var i = 1; i < arguments.length; i++) {
                var exp = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
                arguments[0] = arguments[0].replace(exp, arguments[i]);
            }
            return arguments[0];
        }
        if (!String.prototype.format) {
            String.prototype.format = _StringFormatInline;
        }
        if (!String.format) {
            String.format = _StringFormatStatic;
        }
    },
    Generics: {
        Menu: function() {
            var $el, leftPos, newWidth, $mainNav = $("#nav")

            $mainNav.append("<li id='magic-line'></li>");

            var $magicLine = $("#magic-line");

            $magicLine.css('background', $(".current_page_item a").attr("rel"));

            $magicLine
                    .width($(".current_page_item").width())
                    .css("left", $(".current_page_item a").position().left)
                    .data("origLeft", $magicLine.position().left)
                    .data("origWidth", $magicLine.width())

            $("#nav li").find("a").hover(function() {
                $el = $(this);
                leftPos = $el.position().left;
                newWidth = $el.parent().width();
                $magicLine.stop().animate({
                    left: leftPos,
                    width: newWidth
                }),
                $magicLine.css('background', $el.attr("rel"));
            }, function() {
                $magicLine.stop().animate({
                    left: $magicLine.data("origLeft"),
                    width: $magicLine.data("origWidth")
                }),
                $magicLine.css('background', $(".current_page_item a").attr("rel"));
            });

            // Controles do Menu Principal    
            $('#nav li.quem-somos a').hover(function() {
                $(this).next('ul').slideDown(500);
            });
            $('#nav li a:not(.quem-somos a)').hover(function() {
                $('#nav li ul').slideUp(500);
            });
            $('#nav li ul').mouseenter(function() {
                $(this).show();
            }).mouseleave(function() {
                $(this).slideUp(500);
            }
            );
        },
        OpenExternalModal: function(id, source, w, h) {
            ModalWindow.windowId = id;
            ModalWindow.width = w;
            ModalWindow.height = h;
            ModalWindow.content = '<iframe width=\"' + w + '\" height=\"' + h + '\" frameborder=\"0\" scrolling=\"no\" allowtransparency=\"true\" src=\"' + source + '\"></iframe>';
            ModalWindow.Open();
        },
        OpenInternalModal: function(id) {
            $(id).jqmShow({ toTop: true });
        },
        FormsEffects: function() {
            $('input[type=text], textarea, select').focus(function() {
                $(this).addClass('on');
            });
            $('input[type=text], textarea, select').blur(function() {
                $(this).removeClass('on');
            });
        },
        ChangeFonts: function() {
            var elements = "#content #main p, #content #main p strong, #content #main p strong span, #content #main li, #content #main a, #content #main h1, #content #main h2, #content #main h3, #content #main h4, #content #main h5, #content #main h6";
            $('.aumentar-fonte').unbind().bind('click', function() {
                var currentFontSize = $(elements).css('font-size');
                var currentFontSizeNum = parseFloat(currentFontSize, 2000);
                var newFontSize = currentFontSizeNum * 1.2;
                $(elements).css('font-size', newFontSize);
                return false;
            });
            $('.diminuir-fonte').unbind().bind('click', function() {
                var currentFontSize = $(elements).css('font-size');
                var currentFontSizeNum = parseFloat(currentFontSize, 2000);
                var newFontSize = currentFontSizeNum * 0.9;
                $(elements).css('font-size', newFontSize);
                return false;
            });
        },
        Texts: {
        }
    },
    Home: function(idioma,rnd) {

        var flashvars = {
            idioma: 'xml/destaques-' + idioma + '.xml'
        };
        var params = {};

        var flashVarsRotativo =
        {
            lingua: idioma,
            rndnumber: rnd
        };


        var attributes = {};
        swfobject.embedSWF("swf/bannerRotativo.swf", "main-flash", "100%", "325", "9.0.0", "swf/expressInstall.swf", flashVarsRotativo, { wmode: 'opaque' }, false);
        swfobject.embedSWF("swf/bannerSanfona.swf", "left-flash", "588", "200", "9.0.0", "swf/expressInstall.swf", flashvars, params, attributes);


        var flashvars = {
            idioma3d: 'xml/textos3d-' + idioma + '.xml'
        };

        swfobject.embedSWF("swf/banner3D.swf", "right-flash", "372", "200", "9.0.0", "swf/expressInstall.swf", flashvars, params, attributes);
    },
    Historia: function() {
        function formatText(index, panel) {
            return index + "";
        };
        $('.anythingSlider').anythingSlider({
            easing: "easeInOutExpo",        // Anything other than "linear" or "swing" requires the easing plugin
            autoPlay: false,
            delay: 3000,                    // How long between slide transitions in AutoPlay mode
            startStopped: false,            // If autoPlay is on, this can force it to start stopped
            animationTime: 600,             // How long the slide transition takes
            hashTags: true,                 // Should links change the hashtag in the URL?
            buildNavigation: false,          // If true, builds and list of anchor links to link to each slide
            pauseOnHover: true,             // If true, and autoPlay is enabled, the show will pause on hover
            startText: "Go",                // Start text
            stopText: "Stop",               // Stop text
            navigationFormatter: formatText // Details at the top of the file on this use (advanced use)
        });

        $('.year-navigation li a').unbind().bind('click', function() {

            var slide = $(this).attr('rel');
            slide = parseInt(slide);

            $('.year-navigation li a').removeClass('on');
            $(this).addClass('on');

            $('.anythingSlider').anythingSlider(slide);
            return false;
        });
    },
    AreasDeAtuacao: function(idArea, Linguagem) {

        var flashvars = {
            area: idArea,
            idioma: Linguagem
        };
        var params = {
            wmode: 'opaque'
        };

        //alert(flashvars.area);

        var attributes = {};
        swfobject.embedSWF("swf/bannerRotativoInterno.swf", "flash", "950", "325", "9.0.0", "swf/expressInstall.swf", flashvars, params, attributes);


        $('#site .areas-atuacao div ul li:last').css('border', '0');
        var Item;

        ShowImage = function(Item) {
            $('#site .areas-atuacao .hold ul.lista-areas-atuacao li a').removeClass('on');
            $('#site .areas-atuacao .hold ul.lista-areas-atuacao li a[rel=' + Item + ']').addClass('on');
            $('#site .areas-atuacao .hold .areas-atuacao-details img').hide();
            //$('#site .areas-atuacao .hold .areas-atuacao-details img.' + Item).animate({ width: '950px', height: '826px' }, { duration: 700, queue: true });
            $('#site .areas-atuacao .hold .areas-atuacao-details img.' + Item).show();
        }

        HideImage = function() {
            //$('#site .areas-atuacao .hold .areas-atuacao-details img').animate({ width: '950px', height: '0' }, { duration: 1500, queue: false });
            $('#site .areas-atuacao .hold .areas-atuacao-details img').hide();
        }

        $('#site .areas-atuacao .hold ul.lista-areas-atuacao li a').hover(
                    function() {
                        Item = $(this).attr('rel');
                        HideImage();
                        ShowImage(Item);
                    }
                );
        /*
        $('#site .areas-atuacao .hold .areas-atuacao-details').mouseenter(function() {
        $('#site .areas-atuacao .hold ul.lista-areas-atuacao li a[rel=' + Item + ']').addClass('on');
        $('#site .areas-atuacao .hold .areas-atuacao-details img').show();
        }).mouseleave(function() {
        HideImage();
        });
        */
    },
    AreasDeAtuacaoCases: function() {
        $('#site .areas-atuacao-cases .lista-cases li').hover(
                        function() {
                            $(this).css('background', '#f2f2f2');
                        }, function() {
                            $(this).css('background', '#fff');
                        }
                    );
    },
    PortfoliosECases: function() {

        var flashvars = { idioma: 'xml/destaques-pt.xml' };
        var params = {};
        var attributes = {};
        swfobject.embedSWF("swf/bannerCases.swf", "main-flash", "950", "340", "9.0.0", "swf/expressInstall.swf", false, { wmode: 'opaque' }, false);
        swfobject.embedSWF("swf/bannerSanfona.swf", "left-flash", "588", "200", "9.0.0", "swf/expressInstall.swf", flashvars, params, attributes);

        flashvars = { idioma: 'xml/textos3d-pt.xml' };
        swfobject.embedSWF("swf/banner3D.swf", "right-flash", "372", "200", "9.0.0", "swf/expressInstall.swf", flashvars, params, attributes);

        $('.carrossel').anythingSlider({
            stopAtEnd: false,
            autoPlay: false,
            animationTime: 700,
            buildNavigation: false,
            pauseOnHover: false
        });

    },
    PortfoliosECasesBusca: function() {
        $('#site .portfolios-e-cases-busca .lista-cases li').hover(
                        function() {
                            $(this).css('background', '#f2f2f2');
                        }, function() {
                            $(this).css('background', '#fff');
                        }
                    );
    },
    PortfoliosECasesCases: function() {
        $('.carrossel .hold ul').jcarousel({
            start: 0,
            scroll: 1,
            size: 4,
            easing: 'easeOutBack',
            animation: 700
        });

        $('a[rel=galeria-cases]').fancybox({
            'transitionIn': 'none',
            'transitionOut': 'none',
            'titlePosition': 'over',
            'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
                return '<span id="fancybox-title-over">' + (title.length ? ' &nbsp; ' + title : '') + '</span>';
            }
        });

        $('.jcarousel-item img').reflect({ height: 22 });

    },
    RelatoriosAnuais: function() {
        $('.carrossel .hold ul').jcarousel({
            start: 0,
            scroll: 1,
            size: 5,
            easing: 'easeOutBack',
            animation: 700
        });
    },
    RevistaConcremat: function() {
        $('.carrossel .hold ul').jcarousel({
            start: 0,
            scroll: 1,
            size: 5,
            easing: 'easeOutBack',
            animation: 700
        });
    },
    ImprensaENoticias: function() {
        var flashvars = {};
        var params = {
            wmode: 'opaque'
        };
        var attributes = {};
        swfobject.embedSWF("swf/bannerNoticias.swf", "flash", "600", "250", "9.0.0", "swf/expressInstall.swf", flashvars, params, attributes);
    },
    Contato: function() {
        $('#ctl00_content_telefone').change(function() {

           var cidade = $('#ctl00_content_telefone option:selected').val();

           if (cidade != 0) {
              $('#site .telefones div').slideUp(500);
              $('#site .telefones .' + cidade).slideDown(700);
           } else {
               alert('Selecione uma opção.');
           }
       });
    },
    Carreira_Cadastro: function(){
        
//        $('form').validate({
//            errorPlacement: function(error, element) {
//			    error.appendTo( element.parent() );
//		    },
//			success: function(label) {
//				label.text("").addClass("sucesso");
//			},
//			groups: {
//                periodo_inicio: "ctl00$content$inicio_mes ctl00$content$inicio_ano",
//                periodo_fim: "ctl00$content$fim_mes ctl00$content$fim_ano",
//                conclusao_curso: "ctl00$content$conclusao_mes ctl00$content$conclusao_ano"
//            },
//		});
//		$('.cpf').mask('999.999.999-99');
//		$('.cep').mask('99999-999');
//		
//		$('.empresa_atual_check').click( function(){
//		    if( $(this).children('input').attr('checked') ){
//		        $('.fim_mes').removeClass('required');
//		        $('.fim_ano').removeClass('required');
//		    } else {
//		        $('.fim_mes').addClass('required');
//		        $('.fim_ano').addClass('required');
//		    }
//		} );
    }
}
