$(function(){
  // BANNER ANIMADO DA SECAO LOJAS EM DESTAQUE E DA HOME
  $('.foto_banners').after('<div id="nav">').cycle({
    fx:     'fade',
    speed:  1000,
    timeout: 12000,
    pager:  '#nav',
    pagerAnchorBuilder: function(index, e){ 
      return '<a class="png" href="#">'+(index+1)+"</a>"
    } // ADD CLASSE .PNG PARAR PNG FIX
  });
  $('.foto_banners').css('visibility','visible');


  // BANNER ANIMADO DA SECAO HOTEL
      $('.banner-hotel').cycle({
        fx:     'fade',
        speed:  1000,
        timeout: 12000,
        pager:  '#nav'
      });
      $('.banner-hotel').css('visibility','visible');
  // FIM

  // LINK DO BANNER ANIMADO DA SECAO LOJAS EM DESTAQUE
  $("#lojas_destaque_banner #moldura").click(function(){
    document.location = $("#lojas_destaque_banner #foto img:visible").attr('title');
  }).mouseover(function(){
    $(this).css('cursor','pointer');
  });
	
  // LINK DO BANNER ANIMADO DA HOME
  $("#home_meio_site #banner #moldura").click(function(){
    document.location = $("#home_meio_site #banner #foto img:visible").attr('title');
  }).mouseover(function(){
    $(this).css('cursor','pointer');
  });

  // BANNER ANIMADO DAS LOJAS EM DESTAQUE
  $('#imagem-destaque').cycle({
    fx:     'fade',
    speed:  1000,
    timeout: 5000,
    pager:  '#banner-nav',
    pagerAnchorBuilder: function(index, e){
      return '<a class="off">'+(index+1)+'</a>'
    } // ADD CLASSE .PNG PARAR PNG FIX
  }).css('display','block');
  $('.foto_banners').css('visibility','visible');
  $('#banner-nav a').css('cursor','pointer');

  // LINK BANNER ANIMADO LOJAS EM DESTAQUE
  $('#banner-destaque #moldura-destaque').click(function(){
      document.location = $("#banner-destaque #imagem-destaque img:visible").attr('title');
  }).css('cursor','pointer');

  // EFEITO NA LISTAGEM DE PRODUTOS DO HOTSITE
  $(".produto_loja").mouseover(function(){
    $(this).removeClass('prod_min_off');
    $(this).addClass('prod_min_on');
  }).mouseout(function(){
    $(this).removeClass('prod_min_on');
    $(this).addClass('prod_min_off');
  })
	
  // EFEITO PARA APARECER O NOME DA LOJA NOS THUMBS DOS PRODUTOS EM DESTAQUE
  $('.thumb_produto').mouseenter(function(){
    $(this).html('<div class="nome_loja" style="background: url(/images/lojas/fundo_nome_loja.png) no-repeat;"><table width="100%"><tr><td align="center" height="20"><a href="' + window.root_path +  '/'+ $(this).attr('rev') +'/">'+$(this).attr('title')+'</a></td></tr></table></div>');
  }).mouseleave(function(){
    $(this).html('');
  });

  // EFEITO PARA APARECER O NOME DA LOJA NOS THUMBS (LOJAS EM DESTAQUE)
  $('div.lojaDstcont div.prod-min').mouseenter(function(){
    $(this).find('div.nome-loja').css('display','block');
  }).mouseleave(function(){
    $(this).find('div.nome-loja').css('display','none');
  });

  // IMPLEMENTACAO DO MAPA DO SITE
  $('img.ico_mapa').click(function () {
    if ($("#mapasite").css("display") == 'none') {
      $("#mapasite").slideDown("slow");
      $.scrollTo("#mapa_clear", 800 );
    }
    else {
      $("#mapasite").slideUp("slow");
      $.scrollTo("#mapasite", 800);
    }
  });
	
  // IMPLEMENTACAO DO MENU DE SERVICOS
  $('#servicos.menu_servicos').click(function () {
    if ($("#servicos_lojas").css("display") == 'none') {
      $("#ico_servicos").removeClass("ico_mais");
      $("#ico_servicos").addClass("ico_menos");
      $("#servicos_lojas").slideDown("slow");
    }
    else {
      $("#ico_servicos").removeClass("ico_menos");
      $("#ico_servicos").addClass("ico_mais");
      $("#servicos_lojas").slideUp("slow");
    }
  }).mouseover(function(){
    $(this).css('cursor','pointer');
  });
	
  // IMPLEMENTACAO DO MENU DE LOJAS
  $('#menu_lojas.titulo_lojas').click(function () {
    if ($("#categorias.lojas_abrir").css("display") == 'none') {
      $("#ico_lojas").removeClass("ico_mais");
      $("#ico_lojas").addClass("ico_menos");
      $("#categorias.lojas_abrir").slideDown("slow");
    }
    else {
      $("#ico_lojas").removeClass("ico_menos");
      $("#ico_lojas").addClass("ico_mais");
      $("#categorias.lojas_abrir").slideUp("slow");
    }
  }).mouseover(function(){
    $(this).css('cursor','pointer');
  });
	
  // IMPLEMENTACAO DO MENU DE HORARIOS
  $('#menu_horarios').click(function () {
    if ($("#texto_horarios").css("display") == 'none') {
      $("#ico_horarios").removeClass("ico_mais");
      $("#ico_horarios").addClass("ico_menos");
      $("#texto_horarios").slideDown("slow");
    }
    else {
      $("#ico_horarios").removeClass("ico_menos");
      $("#ico_horarios").addClass("ico_mais");
      $("#texto_horarios").slideUp("slow");
    }
  }).mouseover(function(){
    $(this).css('cursor','pointer');
  });
	
  // IMPLEMENTACAO DO JCAROUSEL COM AS GALERIAS DE IMAGENS
  $(".carrousel").jCarouselLite({
    btnNext: ".ico_dir",
    btnPrev: ".ico_esq",
    visible: 5,
    circular: false
  });
	
  // IMPLEMENTACAO DO JCAROUSEL COM AS LOGOS DAS LOJAS EM DESTAQUE
  $(".carrousel_capa").jCarouselLite({
    btnNext: ".ico_dir",
    btnPrev: ".ico_esq",
    visible: 4,
    circular: false
  });
	
  // IMPLEMENTACAO DO JCAROUSEL COM AS LOGOS DAS LOJAS EM DESTAQUE
  $(".carrousel_produtos").jCarouselLite({
    btnNext: ".ico_dir",
    btnPrev: ".ico_esq",
    visible: 7,
    circular: false
  });
	
  // PLACEHOLDER
  $(".placeholder").focus(function(){
    if ($(this).attr('title') == $(this).attr('value')){
      $(this).attr('value','');
    }
  }).blur(function(){
    if ($(this).attr('value') == ''){
      $(this).attr('value',$(this).attr('title'));
    }
  })
	
  $('.submenu').each(function() {
    centralizaSubmenu(this, 25);
    $(this).css('visibility', '');
    $(this).hide();
  });

  // esconde todos os submenus inativos
  $('.submenu.active').each(function() {
      $(this).show();
  });

  // IMPLEMENTACAO DOS SUBMENUS DO SITE
  $('.item_menu').mouseover(function(){
		
    // esconde todos os submenus
    $('.submenu').each(function(){
      $(this).css('display','none');
    });
		
    // mostra o submenu correspondente
    $('#sub_menu_'+$(this).attr('rel')).css('display','inline-block');
		
    // muda a classe do link
    $('.item_menu').find('a').each(function(){
      $(this).removeClass($(this).attr('rel')+'_flecha');
      $(this).addClass($(this).attr('rel'));
    })
		
    $(this).find('a').each(function(){
      $(this).removeClass($(this).attr('rel'));
    });
		
    $(this).find('a').each(function(){
      $(this).addClass($(this).attr('rel')+'_flecha');
    });
		
  });
  
  // IMAGE GALLERY
  $('a.galeria').lightBox({
    imageLoading: window.root_path + '/images/lightbox-ico-loading.gif',
    imageBtnClose: window.root_path + '/images/lightbox-btn-close.gif',
    imageBtnPrev: window.root_path + '/images/lightbox-btn-prev.gif',
    imageBtnNext: window.root_path + '/images/lightbox-btn-next.gif',
    imageBlank: window.root_path + '/images/lightbox-blank.gif',
    containerResizeSpeed: 350,
    txtImage: $(this).attr('title'),
    txtOf: 'de'
  });

  // INICIALIZAÇÃO DO PRETTY PHOTO
  $("a[rel^='video']").prettyPhoto({
    showTitle: true
  });

  // FUNÇÃO PARA VALIDAR A BUSCA
  $('#form_pesquisa_loja_include').submit( function(){
    var query = $(this).find('#query1').val();

    if ((query.length < 3) || (query == 'Pesquisar...')){
      alert('Digite pelo menos 3 caracteres.');
      $(this).focus();

      return false;
    }

    return true;
  });
});

/**
 * centraliza os submenus abaixo da imagem dos itens de menu 
 * 
 * @author valdir bruxel junior <hagnat@gmail.com>
 * @param string  el A referencia para o submenu
 * @param integer minOffset O numero minimo de pixels reservado à esquerda 
 */
function centralizaSubmenu(el, minOffset)
{
    // atalhos para o item do menu
    menuSelector = ".item_menu[rel='" + $(el).attr('rel') + "']";
    
    // determina o ponto mediado do item do menu
    middleMenu = $(menuSelector).attr('offsetLeft') + ($(menuSelector).attr('offsetWidth')/2);
    
    // determina quanto espaço à esquerda deve ser deixado para centralizar o submenu abaixo do menu
    offset = middleMenu - $(el).parent().attr('offsetLeft') - ($(el).attr('offsetWidth')/2) + minOffset - 20;

    
    // ajusta o offset para o MSIE 7 ou inferior
    if(getIEVersionNumber() <= 7 && getIEVersionNumber()) {
        // pega a largura do container de menus, menos a largura do menu principal, mais o offset left do LI 
        adjustOffset = $(menuSelector).parent().parent().parent().attr('offsetWidth')
            - $(menuSelector).parent().parent().attr('offsetWidth')
            + $(el).parent().attr('offsetLeft');
        offset = offset + adjustOffset;
    }
    
    // se o resultado final for menor que zero, corrige para zero
    if(offset < minOffset)
        offset = minOffset;
    
    if(offset + $(el).attr('offsetWidth') > $(el).parent().attr('offsetWidth'))
        // se o resultado final do offset + width for maior que a largura do container, faz flutuar a direita 
        $(el).css('float', 'right');
    else
        // se o espaçamento é suficiente, adiciona ele à esquerda do submenu
        $(el).css('left', parseInt(offset) + 'px');
}

function mostra_menu(item)
{
  // esconde todos os submenus
  $('.submenu').each(function(){
    $(this).css('display','none');
  });

  $('.item_menu a').each(function(){
    $(this).addClass($(this).attr('rel'));
    $(this).removeClass($(this).attr('rel') + '_flecha');
  });

  $("#menu ul").find("li[rel=" + item + "] a").each(function(){
    $(this).addClass($(this).attr("rel") + '_flecha');
    $('#sub_menu_'+ item).css('display','block');
  });
}

//FUNÇÕES PARA ARRUMAR MÉTODO ONMOUSEOUT PARA NAO SER DISPARADO COM ELEMENTOS FILHOS
function is_child_of(parent, child) {
  if( child != null ) {
    while( child.parentNode ) {
      if( (child = child.parentNode) == parent ) {
        return true;
      }
    }
  }
  return false;
}
function fixOnMouseOut(element, event, JavaScript_code) {
  var current_mouse_target = null;
  if( event.toElement ) {
    current_mouse_target 			 = event.toElement;
  } else if( event.relatedTarget ) {
    current_mouse_target 			 = event.relatedTarget;
  }
  if( !is_child_of(element, current_mouse_target) && element != current_mouse_target ) {
    eval(JavaScript_code);
  }
}

/**
 * retorna a versão do Microsoft Internet Explorer
 * 
 * @see http://www.java2s.com/Code/JavaScript/Development/GetIEVersionNumber.htm
 * @return integer
 */
function getIEVersionNumber() {
    var ua = navigator.userAgent;
    var MSIEOffset = ua.indexOf("MSIE ");
    
    if (MSIEOffset == -1)
        return 0;
    else
        return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
}
