var target;
var nextPos = 0;
var lenghtClicks = 0;
var posX;

/* Funcoes slider programacao da home */
function goTo(posInit) {
    var posXinit = (-920  * posInit);
    jQuery("#slider2 ul").animate({
        marginLeft:posXinit
    }, 1300)
    nextPos = posInit+1;
}

/* Funcoes slider programacao da home */
function goNext() {
    var totalQuadros = $("#slider2 ul li div").length;
    var totalLi = $("#slider2 ul li").length;
    var newPosx, res, penultimo;
    penultimo = totalLi-2;
    if( nextPos < lenghtClicks ) {
        posX = (-920  * (nextPos));
        jQuery("#slider2 ul").animate({
            marginLeft:posX
        }, 700);
    }
    if( nextPos == lenghtClicks ) {
        res = totalQuadros % 6;
        if(res != 0){
            newPosx = (-155  * res)+posX;
            jQuery("#slider2 ul").animate({
                marginLeft:newPosx
            }, 700);
            jQuery("#slider2 ul li:eq("+penultimo+")").attr("style", "float: left; padding-right: 10px");
            jQuery("#slider2 ul li:last").attr("style", "float: left; width: auto; padding-right: 10px");
        }else{
            posX = (-920  * (nextPos));
            jQuery("#slider2 ul").animate({
                marginLeft:posX
            }, 700);
        }
    }
    if( nextPos <= lenghtClicks ) {
        nextPos++;
    }
}

/* Funcoes slider programacao da home */
function goPrev() {
    if( nextPos >= 2 ) {
        nextPos--;
        var posX = (-920 * (nextPos-1));
        jQuery("#slider2 ul").animate({
            marginLeft:posX
        }, 700)
    }
}

/* onFocus('this.id','http:/* '); */
function onFocus(name,valorF) {
    var id = document.getElementById(name);
    if (id.value == '')	{
        id.value = valorF;
    }
}

/* onBlur('this.id','http:/* '); */
function onBlur(name,valorF) {
    var id = document.getElementById(name);
    if (id.value == valorF) {
        id.value = '';
    }
}

var formatoData = 'yyyy-mm-dd';
var mensagemErro = "Campos em destaque contém valores inválidos ou sem preenchimento";
var mensagemErroEmail = "E-mail inválido";

/* Validacao de formulario de contato entre outros */
(function($) {
    $.fn.validate = function(args) {
        var options = $.extend({}, $.fn.validate.defaults, args);
        var jQ = jQuery;
        return this.each(function() {
            jQ(this).submit(function() {
                var valid=true;
                var validEmail=true;
                jQ(this).find(".validate").each(function() {
                    el = jQ(this);
                    var filtro = false;
                    if('filtro_' == el[0].name.substr(0, 7)) {
                        filtro = true;
                    }
                    el[0].setAttribute("style", "color: #999999");
                    if(el.hasClass("email")) {
                        if(el.val() == el.prev("label").text()) {
                            add_error(el,filtro);
                            valid=false;
                        }else{
                            if(!valid_email(el.val())) {
                                add_error(el,filtro);
                                validEmail=false;
                                valid=false;
                            }
                        }
                    }
                    if(el.hasClass("date")) {
                        if(!valid_required(el.val())) {
                            add_error(el,filtro);
                            valid=false;
                        }else{
                            if(!valid_date(el.val(), formatoData)) {
                                add_error(el,filtro);
                                valid=false;
                            }
                        }
                    }
                    if(el.hasClass("number")) {
                        if(!valid_required(el.val())) {
                            add_error(el,filtro);
                            valid=false;
                        }else{
                            if(!valid_number(el.val())) {
                                add_error(el,filtro);
                                valid=false;
                            }
                        }
                    }
                    if(el.hasClass("required")) {
                        if(!valid_required(el.val())) {
                            add_error(el,filtro);
                            valid=false;
                        }else{
                            if(el.val() == el.prev("label").text()) {
                                add_error(el,filtro);
                                valid=false;
                            }
                        }
                    }
                });
                if(valid == false) {
                    if(validEmail == false) {
                        $("#mensagem_erro").html(mensagemErroEmail);
                        $("#mensagem_erro").attr("style", "display: block");
                    }else{
                        $("#mensagem_erro").html(mensagemErro);
                        $("#mensagem_erro").attr("style", "display: block");
                    }
                    $('html, body').animate({
                        scrollTop: $(".error").offset().top
                    }, 1500);
                }
                return valid;
            });
        });
    };
    /* Destaca campo com erro */
    function add_error(el,filtro) {
        if(!filtro) {
            el[0].setAttribute("style", "color: #CE0506");
        }
    }
    function valid_email(email) {
        var email_pattern  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if(email.match(email_pattern)) return true;
        if(email == '') {
            return false;
        }
        return false;
    }
    function valid_number(number) {
        var number_pattern = /^([0-9\s])+$/;
        if(number.match(number_pattern)) {
            return true;
        }
        if(number == '') {
            return true;
        }
        return false;
    }
    function valid_required(val) {
        if(val.length>0) {
            return true;
        }else{
            return false;
        }
    }
    function valid_date(date_passed, date_format) {
        var date_pattern = null;
        if(date_format == "m/d/Y") date_pattern  = /(0[1-9]|1[012])+\/(0[1-9]|[12][0-9]|3[01])+\/(19|20)\d\d/;
        if(date_format == "m-d-Y") date_pattern  = /(0[1-9]|1[012])+\/(0[1-9]|[12][0-9]|3[01])+\/(19|20)\d\d/;
        if(date_format == "d/m/Y") date_pattern  = /(0[1-9]|[12][0-9]|3[01])+\/(0[1-9]|1[012])+\/(19|20)\d\d/;
        if(date_format == "d-m-Y") date_pattern  = /(0[1-9]|[12][0-9]|3[01])+\/(0[1-9]|1[012])+\/(19|20)\d\d/;
        if(date_passed.match(date_pattern)) return true;
        if(date_passed == '') {
            return true;
        }
        return false;
    }
})(jQuery);

jQuery(document).ready (function() {
	//Create xhtml strict friendly iframe (Megaminas)
	$('#megaminas').replaceWith('<iframe src="http://megaminas.globo.com/barra_megaminas.php?parceiro=TvIntegracao" width="100%" height="33" frameborder="0" scrolling="no" allowfullscreen></iframe>');
	//Remove Skype Phone Number Detection
	window.setTimeout(function() {
		$('.skype_pnh_container').html('');
		$('.skype_pnh_print_container').removeClass('skype_pnh_print_container');
	}, 800);
    //Abre links com rel="external" em outro janela do navegador
    jQuery('a[rel=external]').attr('target','_blank');
    //Menu
    jQuery('.header .nav').superfish();
    jQuery('.header .nav li:last, .rodape .nav li:last, .programacao li div:last, .aside .nav li:last').addClass('last');
    jQuery('.header .submenu_geral').after('<div class="container"></div>');
    jQuery('.header .nav .submenu').before('<div class="canto_left"></div>');
    jQuery('.header .nav .submenu').after('<div class="canto_right"></div>');
    jQuery('.header .nav li:first + li').addClass('segundo');
    //Hover menu
    jQuery(".header .nav li").mouseover(function() {
        $(this).addClass('ativo');
    }).mouseout(function() {
        $(this).removeClass("ativo");
    });
    //Sliders
    jQuery("#slider").easySlider({
        auto: true,
        continuous: true,
        numeric: true,
        pause:12000
    });
    jQuery("#slider2").easySlider({
        prevId: 'prevBtn',
        nextId: 'nextBtn'
    });
    jQuery("#sliderMGTV").easySlider({
        prevId: 'prevBtn',
        nextId: 'nextBtn',
        nextText: 'Próximo',
        prevText: 'Anterior',
        auto: true,
        pause:12000
    });
    jQuery("#galeriaEventos").easySlider({
        prevId: 'prevBtn',
        nextId: 'nextBtn',
        nextText: '>',
        prevText: '<'
    });
    //Fancybox
    jQuery("ul.galeria a").fancybox({
        'transitionIn'	: 'none',
        'transitionOut'	: 'none',
        'titleShow'	: true
    });
    //Page Glossario
    $('dl.glossario dd').append('<a href="javascript:void(0);" class="subir">Subir</a>');
    $('dl.glossario a').click(function(){
        $('html, body').animate({
            scrollTop:180
        }, 'slow');
    });
    //Accordion
    $('div.acord, .aside .nav li ul').css('display' , 'none');
    $('div.acord:first').css('display' , 'block');
    $('.duvidas div.acord:first').css('display' , 'none');
    $('.accordion h2').click(function(){
        $(this).parent().find('div.acord').slideToggle('slow');
        $(this).parent().find('em').toggleClass('menos');
    });
    $('.accordion .acord').append('<div class="cantos_bottom"></div>');
    $('.aside .nav li a').click(function(){
        $(this).parent().find('ul').slideToggle('slow');
        $(this).parent().find('span').toggleClass('menos');
    });
    //Fale Conosco
    jQuery('.forms p .textfield').after('<span class="cantos">&nbsp;</span>');
    //Ativa a validacao do formulario
    jQuery("form.validate").validate();
    //Colora mascara no campo telefone */
    jQuery("#tel_fax").setMask('phone');
    jQuery("#telefone").setMask('phone');
    jQuery(".forms p .textfield").each(function(e) {
        jQuery(this).attr("value", jQuery(this).prev("label").text());
        jQuery(this).focus(function() {
            if( jQuery(this).prev("label").text() == jQuery(this).attr("value") ) {
                jQuery(this).attr("value", "");
            }
        });
        jQuery(this).blur(function() {
            if( jQuery(this).attr("value") == "" )
                jQuery(this).attr("value", jQuery(this).prev("label").text());
        });
    });
    //Funcoes de inicializacao slider programacao da home
    jQuery("#slider2 ul li").each(function(e)
    {
        if( jQuery(this).children("div").children(".no_ar").length != 0 )
        {
            target = e;
        }
        lenghtClicks = e;
    });
    jQuery("#nextBtn a").click(function()
    {
        goNext();
    });
    jQuery("#prevBtn a").click(function()
    {
        goPrev();
    });
    goTo(target);
    //Grade programacao
    $('.grade_programacao div.acord:first').css('display' , 'none');
    $('.hoje').css('display' , 'block');
    $(".abas_programacao li:eq(0)").click(function()
    {
        openAba(0);
        pos = 0;
    });
    $(".abas_programacao li:eq(1)").click(function()
    {
        openAba(1);
        pos = 1;
    });
    $(".abas_programacao li:eq(2)").click(function()
    {
        openAba(2);
        pos = 2;
    });
    $(".abas_programacao li:eq(3)").click(function()
    {
        openAba(3);
        pos = 3;
    });
    $(".abas_programacao li:eq(4)").click(function()
    {
        openAba(4);
        pos = 4;
    });
    $(".abas_programacao li:eq(5)").click(function()
    {
        openAba(5);
        pos = 5;
    });
    $(".abas_programacao li:eq(6)").click(function()
    {
        openAba(6);
        pos = 6;
    });
    $(".abas_programacao li:eq(7)").click(function()
    {
        openAba(7);
        pos = 7;
    });
    //Open aba
    function openAba(num)
    {
        $(".abas_programacao li.ativo").removeClass("ativo");
        $(".abas_programacao li:eq("+num+")").addClass("ativo");
        $(".grade_programacao:visible").hide();
        $(".grade_programacao:eq("+num+")").fadeIn();
    }
	//Carousel
    $("#carousel").CloudCarousel({
        xPos:370,
        yPos:50,
        yRadius:80,
        xRadius:300,
        buttonLeft: $("#left-but"),
        buttonRight: $("#right-but"),
        speed:0.15,
        autoRotate: 'right',
        autoRotateDelay: 5500,
        mouseWheel:true
    });
    //Carousel-2
    $("#carousel2").CloudCarousel({
        xPos:370,
        yPos:50,
        yRadius:90,
        xRadius:320,
        buttonLeft: $("#left-but"),
        buttonRight: $("#right-but"),
        speed:0.15,
        autoRotate: 'right',
        autoRotateDelay: 5500,
        mouseWheel:true
    });
    $(function() {
        $('#carousel2 a').tooltip({
            track: true,
            delay: 0,
            showURL: false,
            showBody: " - ",
            fade: 250
        });
    });
    //Oculta os botoes proximo e anterior da pagina de eventos
    var liLenghtEvt = $(".paginacao ul li").length - 2;
    $(".paginacao ul li:eq(0)").css("display", "none");
    $(".paginacao ul li:eq(1)").css("display", "none");
    $(".paginacao ul li:last").css("display", "none");
    $(".paginacao ul li:eq("+liLenghtEvt+")").css("display", "none");
    //Evento click proximo da grade de programacao
    $("#nextBtn1").click(function()
    {
        nextAbaProg();
    });
    //Evento click anterior da grade de programacao
    $("#prevBtn1").click(function()
    {
        prevAbaProg();
    });
    jQuery(".abas_programacao ul li").each(function(e)
    {
        if($(this).hasClass("ativo")){
            pos = e;
        }
    });
    //funcao proximo da grade de programacao
    function nextAbaProg() {
        if(pos == 6){
            pos=0;
            openAba(pos);
        }else{
            ++pos;
            openAba(pos);
        }
    }
    //funcao anterior da grade de programacao
    function prevAbaProg() {
        if(pos == 0){
            pos=6;
            openAba(pos);
        }else{
            --pos;
            openAba(pos);
        }
    }
});

$().ready(function(){
	$("#popup .fechar").click(function(){$("#popup").fadeOut('slow');});
});
