/**
Projeto - (Techware) v: 0.1
Developer(s):
+ Diogo Silva (diogosilvaferreira@gmail.com)
*/

	function addFlashTitle(element, fontSize) {
		var els = $(element)
        
        
		if (els != null) {

			for (var i = 0; i < els.length; i++) {
				
				var el = els.eq(i);
				var text = $.trim(el.text().toUpperCase());
				var elID = el.attr('id');

				if (elID == "") {
					elID = "item-" + new Date().getTime();
					el.attr('id', elID);
				}

				var so = new SWFObject("../static/swf/shared/flash-title.swf?d=" + new Date().getTime(), "flash-title", '100%', '100%', "9.0", "");
				so.useExpressInstall('../static/swf/express-install.swf');
				so.addParam("quality", "high");
				so.addParam("wmode", "transparent");
				
				so.addVariable("text", text);
				so.addVariable("size", fontSize);
				so.addVariable("id", elID);
				so.addVariable("callback", "adjustHeight");
				so.addVariable("align", "left");
				
				so.write(elID);
			}
		}
	}

$(document).ready(function() {
    struture.init();
    
});

var struture = {

    /* ------------------------------------------
    * inicializando metodos
    * ------------------------------------------
    */
    init: function() {
        struture.search();
        struture.navFooter.init();
        struture.movieHome();
        struture.kitProdutosHome();
        $('.neo-hover').neoHover();
        $('#header .nav li a').neoHover();
    },

    /* ------------------------------------------
    * @add classe .last
    * ------------------------------------------
    */
    addClassLast: function(el) {
        $(el).addClass('last');
    },

    /* ------------------------------------------
    * @add search
    * ------------------------------------------
    */
    search: function() {
        $('.search-icon a').bind("click", function() {
            // trigger para esconder a busca 
            var intervalID = window.setTimeout(struture.intervalBusca, 25000);  
            
            $('.box-busca').show();
            $('.quick .field input').show();
            $('.search-icon,.search-icon a').hide();
//            $('.quick .field').animate({ width: 217 }, { queue: false, duration: 200 }, 'easeOutQuad');
            $('.quick .field').animate({
                   width:217, opacity: 1
                }, 400, "linear", function(){$('.txtSearchParams').eq(0).focus();} );
            
            
            //$('.bt-ok a').click();
        });

        $('.quick .field a.busca').click(function() {
            //clearInterval(window.intervalID);
            $('.search-icon,.search-icon a').show();
            $('.box-busca').hide();
            
        $('.quick .field').animate({
                   width:0, opacity: 0
            }, 300, "linear", function(){$(this).hide();});
        });

    },

    /* ------------------------------------------
    * @video home
    * ------------------------------------------
    */
    movieHome: function() {
        var viewportWidth = (self.innerWidth || (document.documentElement.clientWidth || (document.body.clientWidth || 0)));
        if (viewportWidth == 1024) { $(".main-video").css('width', '49%'); } else { $(".main-video").css('width', '44%'); }
    },

    kitProdutosHome: function() {
        $('.rhevolution').click(function() {
            $('.kit').addClass('kit-rhevolution');
            $('.kit').removeClass('kit-scorecard');
            $('.kit').removeClass('kit-outsourcing');
        });

        $('.scorecard').click(function() {
            $('.kit').removeClass('kit-rhevolution');
            $('.kit').addClass('kit-scorecard');
            $('.kit').removeClass('kit-outsourcing');
        });

        $('.outsourcing').click(function() {
            $('.kit').removeClass('kit-rhevolution');
            $('.kit').removeClass('kit-scorecard');
            $('.kit').addClass('kit-outsourcing');
        });
    },

    /* ------------------------------------------
    * @nav footer
    * ------------------------------------------
    */
    navFooter: {
        init: function() {
            $('.footer-group .nav .mn-produtos a').hover(function() { struture.navFooter.navOpen(); });
            $('.footer-group .nav .mn-produtos a').mouseout(function() { struture.navFooter.navCloseTime(); });

            $('.nav-footer').mouseover(function() { struture.navFooter.navCanceltime(); })
            $('.nav-footer').mouseout(function() { struture.navFooter.navCloseTime(); });
            //onclick = mclose
        },

        timeOut: 500,
        closeTimer: 0,
        navItem: 0,

        navOpen: function() {
            struture.navFooter.navCanceltime();

            if (this.navItem)
                this.navItem.hide();

            this.navItem = $('.nav-footer').fadeIn('slow');

            //add bg footer
            $('#footer .nav').addClass('bg-footer-secund');
            $('#footer .nav').removeClass('bg-footer-default');
            //hover bt produtos
            $('#footer .nav li.mn-produtos,#footer .nav li.mn-produtos a').css('backgroundPosition', '0 -16px');
        },

        navClose: function() {
            if (struture.navFooter.navItem)

            //add bg footer
                $('#footer .nav').removeClass('bg-footer-secund');
            $('#footer .nav').addClass('bg-footer-default');
            //hover bt produtos
            $('#footer .nav li.mn-produtos,#footer .nav li.mn-produtos a').css('backgroundPosition', '0 0');

            /*----------- funcionando
            $(struture.navFooter.navItem).animate({ opacity: 0}, 200,
            function(){ $(struture.navFooter.navItem).hide(); }
            )*/

            struture.navFooter.navItem.hide();
        },

        navCloseTime: function() {
            this.closeTimer = window.setTimeout(struture.navFooter.navClose, this.timeOut);
        },

        navCanceltime: function() {
            if (this.closeTimer) {
                window.clearTimeout(this.closeTimer);
                this.closeTimer = null;
            }
        }

    },

    /* ------------------------------------------
    * @validar email Regex
    * ------------------------------------------
    */
    validaMail: function(email) {
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!filter.test(email.val())) { return false; }
        return true;
    },

    /* ------------------------------------------
    * @ + e - Fonte
    * Paginas utilizadas
    *    /noticias
    *    /cases
    * ------------------------------------------
    */
    changeFont: {
        init: function() {
            $('.center-news .size-more a').click(function() { struture.changeFont.changeSelected("more"); });
            $('.center-news .size-less a').click(function() { struture.changeFont.changeSelected("less"); });
        },

        sizeTxt: 11,
        sizeTit: 17,
        changeSelected: function(type) {
            if (type == "more") {
                $('.center-news h3').css('lineHeight', '')
                if (this.sizeTit < 27) this.sizeTit += 1;
                if (this.sizeTxt < 21) this.sizeTxt += 1;
            } else {
                if (this.sizeTit > 14) this.sizeTit -= 1;
                if (this.sizeTit == 15 || this.sizeTit == 14) $('.center-news h3').css('lineHeight', '19px');
                if (this.sizeTxt > 9) this.sizeTxt -= 1;
            }
            $('.center-news p').css('fontSize', this.sizeTxt + 'px');
            $('.center-news h3').css('fontSize', this.sizeTit + 'px');
        }
    },

    /* ------------------------------------------
    * @ Produtos
    * Eventos nos campos Nome e Email
    * ------------------------------------------
    */
    inputEvents: function() {
        var yourName = $('.what-rhevolution .yourname');
        var name = $('.what-rhevolution .name');
        var email = $('.what-rhevolution .email');
        var erroNameFriend = $('span.name-friend');
        var erroYouName = $('span.you-name');
        var erroEmail = $('span.email-friend');
        var lblError = $('.lbl-msg');

        yourName.bind('focus', function(event) { if (this.value == 'Seu nome') this.value = ''; });
        yourName.blur(function() { if (this.value == '') this.value = 'Seu nome'; }); //erroYouName.removeClass('spanErro'); lblError.hide();

        name.bind('focus', function(event) { if (this.value == 'Nome do amigo') this.value = ''; });
        name.blur(function() { if (this.value == '') this.value = 'Nome do amigo'; }); //erroNameFriend.removeClass('spanErro'); lblError.hide();

        email.bind('focus', function(event) { if (this.value == 'E-mail do amigo') this.value = ''; });
        email.blur(function() { if (this.value == '') this.value = 'E-mail do amigo'; }); //erroEmail.removeClass('spanErro'); lblError.hide();

        $('.what-rhevolution .bt-ok,.what-rhevolution .bt-ok a').click(function() {
            if (yourName.val() == '' || yourName.val() == 'Seu nome') {
                lblError.show();
                erroYouName.addClass('spanErro');
                erroNameFriend.removeClass('spanErro');
                erroEmail.removeClass('spanErro');

                yourName.focus();
                return false;
            } else if (name.val() == '' || name.val() == 'Nome do amigo') {
                //alert('Por favor, digite o nome do amigo.');
                lblError.show();

                erroYouName.removeClass('spanErro');
                erroNameFriend.addClass('spanErro');
                erroEmail.removeClass('spanErro');

                name.focus();
                return false;
            } else if (email.val() == '' || email.val() == 'E-mail do amigo' || (!struture.validaMail(email))) {
                //alert('Por favor, digite um e-mail válido.');
                lblError.show().text('Por favor, digite um e-mail valido.');

                erroYouName.removeClass('spanErro');
                erroNameFriend.removeClass('spanErro');
                erroEmail.addClass('spanErro');

                email.focus();
                return false;
            } else {
                document.location.href = this.href;
                return false;
            }
        });
    },

    /* ------------------------------------------
    * @ Suporte
    * Validação formulario
    * ------------------------------------------
    */
    validaFormSuporte: function() {
        $(".area-customers .bt-ok").click(function() {
            var login = $(".login");
            var password = $(".password");

            if (login.val() == '' || login.val().length <= 5) {
                //alert('Login não informado!');
                login.focus();
                return false;
            }
            if (password.val() == '' || password.val().length <= 5) {
                alert('Senha não informado!');
                password.focus();
                return false;
            }
            window.location = 'Default.html';
        });
    },

    /* ------------------------------------------
    * @ Contato
    * Validação formulario !!Otimizar esta funcao
    * ------------------------------------------
    */
    validaFormContato: function() {
        var lblError = $('.lbl-msg');
        var name = $(".name");
        var email = $(".email");
        var msg = $(".msg");

        $(".form .bt-send").click(function() {
            if (name.val() == '' || name.val().length <= 3) {
                lblError.css('display', 'block');
                name.css('border', '1px solid red');
                email.css('border', '1px solid #000');
                msg.css('border', '1px solid #000');

                name.focus();
                return false;
            }
            if (email.val() == '' || email.val().length <= 5 || (!struture.validaMail(email))) {
                lblError.css('display', 'block').text('Por favor, digite um e-mail valido.');
                email.css('border', '1px solid red');
                name.css('border', '1px solid #000');
                msg.css('border', '1px solid #000');

                email.focus();
                return false;
            }
            if (msg.val() == '' || msg.val().length <= 5) {
                lblError.css('display', 'block');
                msg.css('border', '1px solid red');
                name.css('border', '1px solid #000');
                email.css('border', '1px solid #000');

                msg.focus();
                return false;
            }
            //$("form").submit();
        });
    },

    /* ------------------------------------------
    * @ Orçamento
    * Validação formulario !!Otimizar esta funcao
    * ------------------------------------------
    */
    validaFormOrcamento: function() {
        var lblError = $('.lbl-msg');
        var name = $(".name");
        var email = $(".email");
        //orcamento
        var funcionarios = $(".funcionarios");
        var end = $(".end");
        var site = $(".site");
        var nameCliente = $(".name-cliente");
        var cargo = $(".cargo");
        var termo = $(".termo");

        $(".form .bt-send").click(function() {
            if (name.val() == '' || name.val().length <= 3) {
                lblError.css('display', 'block');
                name.css('border', '1px solid red');
                email.css('border', '1px solid #000');

                funcionarios.css('border', '1px solid #000');
                end.css('border', '1px solid #000');
                site.css('border', '1px solid #000');
                nameCliente.css('border', '1px solid #000');
                cargo.css('border', '1px solid #000');
                termo.css('border', '1px solid #000');

                name.focus();
                return false;
            }

            if (funcionarios.val() == '' || funcionarios.val().length < 1) {
                lblError.css('display', 'block');

                funcionarios.css('border', '1px solid red');
                end.css('border', '1px solid #000');
                site.css('border', '1px solid #000');
                nameCliente.css('border', '1px solid #000');
                cargo.css('border', '1px solid #000');
                termo.css('border', '1px solid #000');

                name.css('border', '1px solid #000');
                email.css('border', '1px solid #000');

                funcionarios.focus();
                return false;
            }

            if (end.val() == '' || end.val().length <= 5) {
                lblError.css('display', 'block');

                funcionarios.css('border', '1px solid #000');
                end.css('border', '1px solid red');
                site.css('border', '1px solid #000');
                nameCliente.css('border', '1px solid #000');
                cargo.css('border', '1px solid #000');
                termo.css('border', '1px solid #000');
                name.css('border', '1px solid #000');
                email.css('border', '1px solid #000');

                end.focus();
                return false;
            }

            if (site.val() == '' || site.val().length <= 5) {
                lblError.css('display', 'block');

                funcionarios.css('border', '1px solid #000');
                end.css('border', '1px solid #000');
                site.css('border', '1px solid red');
                nameCliente.css('border', '1px solid #000');
                cargo.css('border', '1px solid #000');
                termo.css('border', '1px solid #000');
                name.css('border', '1px solid #000');
                email.css('border', '1px solid #000');

                site.focus();
                return false;
            }

            if (nameCliente.val() == '' || nameCliente.val().length <= 3) {
                lblError.css('display', 'block');

                funcionarios.css('border', '1px solid #000');
                end.css('border', '1px solid #000');
                site.css('border', '1px solid #000');
                nameCliente.css('border', '1px solid red');
                cargo.css('border', '1px solid #000');
                termo.css('border', '1px solid #000');
                name.css('border', '1px solid #000');
                email.css('border', '1px solid #000');

                nameCliente.focus();
                return false;
            }

            if (cargo.val() == '' || cargo.val().length <= 3) {
                lblError.css('display', 'block');

                funcionarios.css('border', '1px solid #000');
                end.css('border', '1px solid #000');
                site.css('border', '1px solid #000');
                nameCliente.css('border', '1px solid #000');
                cargo.css('border', '1px solid red');
                termo.css('border', '1px solid #000');
                name.css('border', '1px solid #000');
                email.css('border', '1px solid #000');

                cargo.focus();
                return false;
            }

            if (email.val() == '' || email.val().length <= 5 || (!struture.validaMail(email))) {
                lblError.css('display', 'block').text('Por favor, digite um e-mail valido.');

                email.css('border', '1px solid red');
                name.css('border', '1px solid #000');

                funcionarios.css('border', '1px solid #000');
                end.css('border', '1px solid #000');
                site.css('border', '1px solid #000');
                nameCliente.css('border', '1px solid #000');
                cargo.css('border', '1px solid #000');
                termo.css('border', '1px solid #000');

                email.focus();
                return false;
            }

            if (termo.val() == '' || termo.val().length <= 3) {
                lblError.css('display', 'block');

                funcionarios.css('border', '1px solid #000');
                end.css('border', '1px solid #000');
                site.css('border', '1px solid #000');
                nameCliente.css('border', '1px solid #000');
                cargo.css('border', '1px solid #000');
                termo.css('border', '1px solid red');
                name.css('border', '1px solid #000');
                email.css('border', '1px solid #000');

                termo.focus();
                return false;
            }

            //$("form").submit();
        });
    },
    checkHeigthGlossario: function() {

        if (parseInt($('.center-news').height()) < 500) {
            $('.center-news').css('height', '500px');
        }

    },
    /* ------------------------------------------
    * @ Produtos
    * Hide/Show Families
    * ------------------------------------------
    */
    showFamily: function(min, max, show) {
        this.min = min;
        this.max = max;
        this.show = show;

        var attrOp = '';

        if (show) {
            attrOp = 1;
        } else {
            attrOp = 0.3;


        }

        var containerLi = $('.list-products ul li');

        for (var i = this.min; i <= this.max; i++) {
            $(containerLi).eq(i).animate({
                opacity: attrOp
            }, 500);
        }

    },
    intervalBusca: function(){
        $('.search-icon,.search-icon a').show();
        $('.box-busca').hide();
            
        $('.quick .field').animate(
            {width:0, opacity: 0}, 300, "linear", 
            function(){
                $(this).hide();
            }
        );    
        
        
    }
};   //end struture
// debug
function debug(el,ar){
	ar = ar || false;
	console.groupCollapsed("Função : " , el.callee.name);
	console.log("Números de argumentos:", el.length);
	for(var i = 0; i < el.length; i++){
		if(typeof(el[i]) != 'string'){
			console.log('Argumento número: %s Valor do Argumento: %o', i+1, el[i]);
			console.groupCollapsed("Explorando um %s", typeof(el[i]));
			console.dir(el[i]);
			console.groupEnd();
		}else{
			console.log('Argumento número: %s Valor do Argumento: %o', i+1, el[i]);
		}
	}

	console.groupEnd();

	if(ar){
		console.groupCollapsed("Argumentos Extras da função: " , el.callee.name);
		for(var i = 0; i < ar.length; i++){
			if(typeof(ar[i]) != 'string'){
				console.log('Argumento número: %s Valor do Argumento: %o', i+1, ar[i]);
				console.groupCollapsed("Explorando um %s", typeof(ar[i]));
				console.dir(ar[i]);
				console.groupEnd();
			}else{
				console.log('Argumento número: %s Valor do Argumento: %o', i+1, ar[i]);
			}
		}                             
		console.groupEnd();
	}
}


// copyHeight
function copyHeight(obj){
	hMax = $(obj).eq(0).height();
	for (i=0; i<$(obj).length; i++){
		if(hMax < $(obj).eq(i).height()){
			hMax = $(obj).eq(i).height();
		}
	}
	$(obj).height(hMax);
}
