/* ------------------------------------------------------------------------
* Javascript Library main.js
* ------------------------------------------------------------------------
* Projeto Apoio Cursos
* ------------------------------------------------------------------------
* @author Jackson F. de Andrade Mafra �<jacksonfdam@gmail.com>
* @copyright �Copyright �(c) �2011, �Duogramma Ag�ncia Digital
* ------------------------------------------------------------------------
*/
var cacheObject = [];
var container = '';
var reg_email = /^[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z_+])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[0-9a-zA-Z]{2,9}$/;
var mouseX = 0;
var mouseY = 0;
var objSearch = '';
var xhr = '';
var inc = 0;
var chapterURL = '?post_type=capitulos&p=';
var linkLocation = '';

var COLORBOX_INTERNAL_LINK_PATTERN = /^#.*/;
var COLORBOX_IMG_PATTERN = /\.(?:jpe?g|gif|png|bmp)/i;
var COLORBOX_MANUAL = "colorbox-manual";
var COLORBOX_OFF_CLASS = ".colorbox-off";
var COLORBOX_LINK_CLASS = ".colorbox-link";
var COLORBOX_OFF = "colorbox-off";
var COLORBOX_CLASS_MATCH = "colorbox-[0-9]+";

var colorboxInline = true;
var colorboxIframe = false;
var colorboxGroupId;
var colorboxTitle;
var colorboxWidth = false;
var colorboxHeight = false;
var colorboxMaxWidth = false;
var colorboxMaxHeight = false;
var colorboxSlideshow = true;
var colorboxSlideshowAuto = true;
var colorboxScalePhotos = false;
var colorboxPreloading = true;
var colorboxOverlayClose = false;
var colorboxLoop = true;
var colorboxEscKey = false;
var colorboxArrowKey = true;
var colorboxScrolling = false;
var colorboxOpacity = "0.95";
var colorboxTransition = "elastic";
var colorboxSpeed = 350;
var colorboxSlideshowSpeed = 2500;
var colorboxClose = "fechar";
var colorboxNext = "próxima";
var colorboxPrevious = "anterior";
var colorboxSlideshowStart = "iniciar apresentação";
var colorboxSlideshowStop = "parar apresentação";
var colorboxCurrent = "Imagem {current} de {total}";

var colorboxImageMaxWidth = "800px";
var colorboxImageMaxHeight = false;
var colorboxImageHeight = false;
var colorboxImageWidth = false;

var colorboxLinkHeight = false;
var colorboxLinkWidth = false;

var colorboxInitialHeight = 100;
var colorboxInitialWidth = 300;

jQuery(document).ready(function() {
    colorboxSelector();
});

function replaceAll(string, token, newtoken) {
    while (string.indexOf(token) != -1) {
        string = string.replace(token, newtoken);
    }
    return string;
}
(function($) {
    colorboxSelector = function() {

        colorboxMaxWidth = colorboxImageMaxWidth;
        colorboxMaxHeight = colorboxImageMaxHeight;
        colorboxHeight = colorboxImageHeight;
        colorboxWidth = colorboxImageWidth;
        $("a:has(img):not(.colorbox-off)").each(function(index, obj) {
            if ($(obj).attr("href").match(COLORBOX_IMG_PATTERN)) {
                colorboxImage(index, obj)
            }
        });
        $(COLORBOX_LINK_CLASS).each(function(index, obj) {
            colorboxLink(index, obj)
        });
    }
})(jQuery);
(function($) {
    colorboxImage = function(index, obj) {
        var $image = $(obj).find("img:first");
        var $linkClasses = $(obj).attr("class");
        colorboxGroupId = $linkClasses.match(COLORBOX_CLASS_MATCH) || $linkClasses.match(COLORBOX_MANUAL);
        if (!colorboxGroupId) {
            var $imageClasses = $image.attr("class");
            if (!$imageClasses.match(COLORBOX_OFF)) {
                colorboxGroupId = $imageClasses.match(COLORBOX_CLASS_MATCH) || $imageClasses.match(COLORBOX_MANUAL);
            }
            if (colorboxGroupId) {
                colorboxGroupId = colorboxGroupId.toString().split('-')[1];
                if (colorboxGroupId == "manual") {
                    colorboxGroupId = "nofollow";
                }
                colorboxTitle = $image.attr("title");

                colorboxWrapper(obj);
            }
        }
    }
})(jQuery);
(function($) {
    colorboxLink = function(index, obj) {
        colorboxTitle = $(obj).attr("title");
        if ($(obj).attr("href").match(COLORBOX_INTERNAL_LINK_PATTERN)) {
            colorboxInline = true;
        } else {
            colorboxIframe = true;
        }
        colorboxGroupId = "nofollow";
        colorboxMaxWidth = false;
        colorboxMaxHeight = false;
        colorboxHeight = colorboxLinkHeight;
        colorboxWidth = colorboxLinkWidth;
        if ($(obj).attr("href").match(COLORBOX_IMG_PATTERN)) {
            colorboxIframe = false;
            colorboxMaxWidth = colorboxImageMaxWidth;
            colorboxMaxHeight = colorboxImageMaxHeight;
            colorboxHeight = colorboxImageHeight;
            colorboxWidth = colorboxImageWidth;
        }
        colorboxWrapper(obj);
    }
})(jQuery);

(function($) {
    colorboxWrapper = function(obj) {
        $(obj).colorbox({
            rel:colorboxGroupId,
            title:colorboxTitle,
            maxHeight:colorboxMaxHeight,
            maxWidth:colorboxMaxWidth,
            initialHeight:colorboxInitialHeight,
            initialWidth:colorboxInitialWidth,
            height:colorboxHeight,
            width:colorboxWidth,
            slideshow:colorboxSlideshow,
            slideshowAuto:colorboxSlideshowAuto,
            scalePhotos:colorboxScalePhotos,
            preloading:colorboxPreloading,
            overlayClose:colorboxOverlayClose,
            loop:colorboxLoop,
            escKey:colorboxEscKey,
            arrowKey:colorboxArrowKey,
            scrolling:colorboxScrolling,
            opacity:colorboxOpacity,
            transition:colorboxTransition,
            speed:colorboxSpeed,
            slideshowSpeed:colorboxSlideshowSpeed,
            close:colorboxClose,
            next:colorboxNext,
            previous:colorboxPrevious,
            slideshowStart:colorboxSlideshowStart,
            slideshowStop:colorboxSlideshowStop,
            current:colorboxCurrent,
            inline:colorboxInline,
            iframe:colorboxIframe
        });
    }
})(jQuery);
  
function implode (glue, pieces) {
    // Joins array elements placing glue string between items and return one string  
    // 
    // version: 1103.1210
    // discuss at: http://phpjs.org/functions/implode    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Waldo Malqui Silva
    // +   improved by: Itsacon (http://www.itsacon.net/)
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: implode(' ', ['Kevin', 'van', 'Zonneveld']);    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: implode(' ', {first:'Kevin', last: 'van Zonneveld'});
    // *     returns 2: 'Kevin van Zonneveld'
    var i = '',
    retVal = '',        tGlue = '';
    if (arguments.length === 1) {
        pieces = glue;
        glue = '';
    }
    if (typeof(pieces) === 'object') {
        if (pieces instanceof Array) {
            return pieces.join(glue);
        } else {
            for (i in pieces) {
                retVal += tGlue + pieces[i];
                tGlue = glue;
            }
            return retVal;
        }
    } else {
        return pieces;
    }
}
function array_search (needle, haystack) {
    // Searches the array for a given value and returns the corresponding key if successful  
    // 
    // version: 1103.1210
    // discuss at: http://phpjs.org/functions/array_search    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_search('zonneveld', {firstname: 'kevin', middle: 'van', surname: 'zonneveld'});
    // *     returns 1: 'surname'    var strict = !! argStrict;
    var key = '';
 
    for (key in haystack) {
        if ((haystack[key] === needle) || (haystack[key] == needle)) {
            return key;
        }
    }
 
    return false;
}
function in_array (needle, haystack, argStrict) {
    // Checks if the given value exists in the array  
    // 
    // version: 1103.1210
    // discuss at: http://phpjs.org/functions/in_array    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: vlado houba
    // +   input by: Billy
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);    // *     returns 1: true
    // *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
    // *     returns 2: false
    // *     example 3: in_array(1, ['1', '2', '3']);
    // *     returns 3: true    // *     example 3: in_array(1, ['1', '2', '3'], false);
    // *     returns 3: true
    // *     example 4: in_array(1, ['1', '2', '3'], true);
    // *     returns 4: false
    var key = '',        strict = !! argStrict;
 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    } 
    return false;
}
// INICIO CLEAR FORM //
$.fn.clearForm = function() {
    // iterate each matching form
    return this.each(function() {
        // iterate the elements within the form
        $(':input', this).each(function() {
            var type = this.type, tag = this.tagName.toLowerCase();
            if (type == 'text' || type == 'password' || tag == 'textarea')
                this.value = '';
            else if (type == 'checkbox' || type == 'radio')
                this.checked = false;
            else if (tag == 'select')
                this.selectedIndex = -1;
        });
    });
};
$.extend($.fn.disableTextSelect = function() {
    return this.each(function(){
        if($.browser.mozilla){//Firefox
            $(this).css('MozUserSelect','none');
        }else if($.browser.msie){//IE
            $(this).bind('selectstart',function(){
                return false;
            });
        }else{//Opera, etc.
            $(this).mousedown(function(){
                return false;
            });
        }
    });
});

$(document).ready(function(){
    //EXECUTA OS SLIDER DO BANNER
    $('#banner').slides({
        preload: true,
        start: 1,
        preloadImage: templateUrl + '/images/loading.gif',
        play: 5000,
        pause: 2500,
        slideSpeed: 600,
        hoverPause: true
    });
    
    //VERIFICA SE JA CONFIRMOU NA MODAL
    var alreadyAccept = jQuery.cookie( 'portochopp-adult-content' );
    if ( !alreadyAccept ) {
        $.colorbox({
            width:"100%",
            height:"100%",
            inline:true, 
            href:"#aviso",
            transition:'fade', 
            speed:200,
            onLoad: function() {
                $('#cboxClose').remove();
            }
        });
    }
    //CONFIRMACAO DA MODAL
    jQuery( '#lightbox-button-ok' ).click( function() {
        jQuery.cookie( 'portochopp-adult-content', true, {
            path: '/'
        } );
        $.colorbox.close();
        
    });

//CRIA A TRANSICAO DE CONTEUDO
    $('#product-list li').click(function(){
        var listItem = $(this);
        $('div.detalhe div')
        .fadeOut('fast',function(){
            $(this).html('');
        }).fadeIn('fast', function(){
            $(this).html($(listItem).html());
            prepare_calc();
        });
        
    });
    
    //CARREGA O PRIMEIRO PRODUTO DA LISTA
    $('body.produtos div.detalhe div').html($('#product-list li:first-child').html());
    
    //FIX DOS ALTS E TITLES DAS IMAGENS
    $('ul#product-list li').each(function(){
        $('img',$(this)).attr('alt',$('h3',$(this)).html());
        $('img',$(this)).attr('title',$('h3',$(this)).html());
    });
    
    //FIX DOS TITLES E TARGETS
    $('ul.iconsub li').each(function(){
        $('a',$(this)).attr('title',$('a',$(this)).html());
    });
    $('body.clientes table.content-table p').each(function(){
        $('a',$(this)).attr('title',$('a',$(this)).html());
        $('a',$(this)).attr('target','_blank');
    });
    
    //PREPARA O CALCULO DO CHOPP
    prepare_calc();
    function prepare_calc(){
        if($('body').hasClass('Chopp')){
            var obj = $.parseJSON(replaceAll($("form#calc div.detalhe div input.dados_barril").val(),'\'','"'));
            var choppItens = $("form#calc div.detalhe fieldset ul.choppList");
            var choppOptions = $("form#calc div.detalhe fieldset ul.choppOptions");
            var boxTotal = $("form#calc div.detalhe fieldset ul.choppOptions li.total");
            var litros = obj.litro;
            var preco_litro = 0;
            var total_gelo = 0;
            var valor_gelo = 0;
            var valor_total_gelo = 0;
            var valor_total_litros = 0;
            $("input[name=tipo_chopp]").attr('checked', false);
            $("input[name=valor_entrega]").attr('checked', false);
            $("input[name=aluguel_choppeira]").attr('checked', false);
            boxTotal.html('');
            $("form#calc div.detalhe fieldset ul.choppList li i").remove();
            $("ul.choppOptions li.gelo").remove();
        
            if(obj.total_gelo!=''){
                total_gelo = obj.total_gelo;
            }
            if(obj.valor_gelo!=''){
                valor_gelo = obj.valor_gelo;
            }
            
            if(obj.inclui_gelo == '1'){
                valor_total_gelo = parseFloat(parseFloat(total_gelo) * parseFloat(valor_gelo));
                choppOptions.prepend('<li class="gelo"><i>*incluso 10Kg de Gelo</i></li>');
            }
            
            if(obj.inclui_choppeira == "1"){
                $('li.aluguel_choppeira',choppOptions).show();
            }else{
                $('li.aluguel_choppeira',choppOptions).hide();
            }
            
            if(obj.valor_litro_01 == '1'){
                $('li:eq(0)',choppItens).show();
                preco_litro = parseFloat($('li:eq(0) input[name=tipo_chopp]',choppItens).val().replace(",", ".")).toFixed(2);
                valor_total_litros = (preco_litro * litros) + valor_total_gelo;
                if(litros >= 30){
                    $('li:eq(0)',choppItens).append('<i> R$ ' + valor_total_litros.toFixed(2).toString().replace(".", ",") + '<br/> (Valor do litro: R$' + preco_litro.toString().replace(".", ",") + ') </i>');
                }else{
                    $('li:eq(0)',choppItens).append('<i> R$ ' + valor_total_litros.toFixed(2).toString().replace(".", ",") + '</i>');
                }
            }else{
                $('li:eq(0)',choppItens).hide();
            }
            if(obj.valor_litro_02 == '1'){
                $('li:eq(1)',choppItens).show();
                preco_litro = parseFloat($('li:eq(1) input[name=tipo_chopp]',choppItens).val().replace(",", ".")).toFixed(2);
                valor_total_litros = (preco_litro * litros) + valor_total_gelo;
                $('li:eq(1)',choppItens).append('<i> R$ ' + valor_total_litros.toFixed(2).toString().replace(".", ",") + '<br/> (Valor do litro: R$' + preco_litro.toString().replace(".", ",") + ') </i>');
            }else{
                $('li:eq(1)',choppItens).hide();
            }
            if(obj.valor_litro_03 == '1'){
                $('li:eq(2)',choppItens).show();
                preco_litro = parseFloat($('li:eq(2) input[name=tipo_chopp]',choppItens).val().replace(",", ".")).toFixed(2);
                valor_total_litros = (preco_litro * litros) + valor_total_gelo;
                $('li:eq(2)',choppItens).append('<i> R$ ' + valor_total_litros.toFixed(2).toString().replace(".", ",") + '<br/> (Valor do litro: R$' + preco_litro.toString().replace(".", ",") + ') </i>');
            }else{
                $('li:eq(2)',choppItens).hide();
            }
            preco_litro = 0;
            valor_total_litros = 0;
        }    
    }
    //CALCULA O VALOR DO CHOPP
    function exec_calc(){
        if($('body').hasClass('Chopp')){
            var obj = $.parseJSON(replaceAll($("form#calc div.detalhe div input.dados_barril").val(),'\'','"'));
            var boxTotal = $("form#calc div.detalhe fieldset ul.choppOptions li.total");
            boxTotal.html('');
            var choppItens = $("form#calc div.detalhe fieldset ul.choppList");
            var choppOptions = $("form#calc div.detalhe fieldset ul.choppOptions");
            var valorTotal = 0;
            var litros = obj.litro;
            var total_gelo = 0;
            var valor_gelo = 0;
            var valor_total_gelo = 0;
            var preco_litro = 0;
            var valor_entrega = 0;
            var aluguel_choppeira = 0;
            var valor_total_litros = 0;
        
            if(obj.inclui_choppeira == "1"){
                $('li:eq(2)',choppOptions).show();
            }else{
                $('li:eq(2)',choppOptions).hide();
            }

            if(obj.total_gelo != undefined || obj.total_gelo.length > 0){
                total_gelo =  parseFloat(obj.total_gelo).toFixed(2);
            }
            if(obj.valor_gelo != undefined || obj.valor_gelo.length > 0){
                valor_gelo = parseFloat(obj.valor_gelo).toFixed(2);
            }
            if(obj.inclui_gelo == "1"){
                valor_total_gelo = parseFloat(parseFloat(total_gelo) * parseFloat(valor_gelo));
            }
            if($("input[name=tipo_chopp]").is(':checked')){
                preco_litro = parseFloat($("input[name=tipo_chopp]:checked").val().replace(",", ".")).toFixed(2);
            } 
            valor_total_litros = (preco_litro * litros);
        
            if($("input[name=valor_entrega]").is(':checked')){
                valor_entrega = parseFloat($("input[name=valor_entrega]:checked").val().replace(",", ".")).toFixed(2);
            } 
        
            if($("input[name=aluguel_choppeira]").is(':checked')){
                aluguel_choppeira = parseFloat($("input[name=aluguel_choppeira]:checked").val().replace(",", ".")).toFixed(2);
            } 
        
            valorTotal = parseFloat( parseFloat(valor_total_litros) + parseFloat(valor_entrega) + parseFloat(aluguel_choppeira)+ parseFloat(valor_total_gelo));
        
            if(valorTotal > 0 && $("input[name=tipo_chopp]").is(':checked')){
                boxTotal.html('<strong>Valor Total: R$ ' + valorTotal.toFixed(2).toString().replace(".", ",") + '</strong>');
            }
        } 
    } 
    //EFETUA O CALCULO DO CHOPP
    $("input.sendCalc").live('click',function(){
        exec_calc();
    });
    
    //CALCULO DE CHOPP
    $('#form-consume .LnkSend').click(function(){
        var homens = 0;	   
        var mulheres = 0;
        var horas = 0;
        var sim = 0;
        var total = 0;
	
        var homens = parseFloat($("input[name=homens]").val(), 10);
        var mulheres = parseFloat($("input[name=mulheres]").val(), 10);
        var horas = parseFloat($("select[name=horas]").val(), 10);
        var sim = parseFloat($("select[name=sim]").val(), 10);
	      
        if(parseFloat($("select[name=horas]").val()) == '1'){
            homem = homens * 1;
            mulher = mulheres * 1;
            total_a = homem + mulher;
            total = total_a * sim;
        }else if(parseFloat($("select[name=horas]").val()) == '2'){
            homem = homens * 1.7;
            mulher = mulheres * 1;
            total_a = homem + mulher;
            total = total_a * sim;
        }else if(parseFloat($("select[name=horas]").val()) == '3'){
            homem = homens * 2;
            mulher = mulheres * 1;
            total_a = homem + mulher;
            total = total_a * sim;
        }else if(parseFloat($("select[name=horas]").val()) == '4'){
            homem = homens * 2;
            mulher = mulheres * 2;
            total_a = homem + mulher;
            total = total_a * sim;
        }
        $(".resultado").slideToggle('slow');
        $("span.total").html(total);
        return true;
    }); 
    //HACK DO FLASH
    $('body.home #flash').queue(function(){
        setTimeout(function(){
            $('body.home #flash').dequeue();
            $('body.home img.chopps').fadeIn();
            $('body.home img.badge').fadeIn();
            $('body.home #flash').css({
                opacity: 0
            }).remove();
        }, 4000);
    });
    //HACK DO BANNER
    $('div.slides_container').show();
    
    // INICIO NEWSLETTER //
    jQuery("#form-newsletter .LnkSend").click(function(e){
        e.preventDefault();
        jQuery("#form-newsletter").submit();
    });
    
    jQuery("#form-newsletter").submit(function(e){
        e.preventDefault();
        var email = jQuery('#your_email').val();
        var form = jQuery(this);
        var validacao = true;
        if(!reg_email.test(jQuery("input[name='your_email']",form).val()) ||jQuery("input[name='your_email']",form).val().length <= '1'){
            jQuery('span.error',form).html('Campo Obrigat&oacute;rio').fadeIn('slow');
            validacao = false;
        }else{
            jQuery('span.error',form).html('Campo Obrigat&oacute;rio').fadeOut('slow');
        }

        if(!validacao)
            jQuery('span.error',form).html('Informe seu email').fadeIn('slow');
        else{
            var dadosForm = form.serialize();
            $.ajax({
                type: "post",
                url: ajaxUrl,
                dataType:'json',
                cache:false,
                data: "action=newsletter&" + dadosForm,
                beforeSend: function(){
                    jQuery('span.error',form).html('');
                },
                success: function(data) {
                    jQuery('span.error',form).html(data.mensagem).fadeIn('slow');
                },
                error:function (xhr, ajaxOptions, thrownError){
                //
                }
            });

        }
    });
    // FIM NEWSLETTER //
    
});


