/**
 * js/mobles114.js
 *
 * funciones varias para Mobles 114
 */
 
// Menú desplegable "Productos"
function ocultarSubmenu() {
  $('#submenu-header').hide();
  $('#opc-menu-productos').click( function() {
    $('#submenu-header').slideToggle('fast');
  });
}

// Visor de fotos con lupa
jQuery.fn.visorLupa = function(opc) {
  var conf = {
    grande            : '_gran',
    classMarcadoItem  : 'a-marcado-2',
    classMarcadoFoto  : 'actual',
    lupa              : true
  }
  jQuery.extend(conf,opc);
  
  this.each(function(){
    var claseUnica = 'visorFoto_'+Math.floor(Math.random()*100000000);
    var e = $(this);
    var lupa = '';
    var menu = '';
    var topHidden;
    
    //añadimos la clase única
    e.addClass(claseUnica);
    
    //creamos la capa lupa
    if(conf.lupa) {
      lupa  = '<div class="lupa" id="'+claseUnica+'">';
      nFoto = 1;
      e.children('img').each( function() {
        var src = $(this).attr('src');
        var newSrc = src.substr(0, src.lastIndexOf('.')) + conf.grande + src.substr(src.lastIndexOf('.'));
        // lupa += '<img'+(nFoto==1?' class="actual"':'')+' src="'+newSrc+'" />';
        lupa += '<img class="actual'+(nFoto==1?' primero':'')+'" src="'+newSrc+'" />';
        nFoto++;
      });
      lupa += '<a class="cerrar"><img src="/img/cerrar.png" alt="Cerrar" /></a>';
      lupa += '<div class="paginacion">';
      lupa += '<div class="item-foto clearfix">';
      if(e.children('img').size()>1) {
        nFoto = 1;
        e.children('img').each(function() {
          lupa += '<a'+(nFoto==1?' class="'+conf.classMarcadoItem+'"':'')+'>'+nFoto+'</a>';
          nFoto++;
        });
      }
      lupa += '</div>';
      lupa += '</div>';
      lupa += '</div>';
      $('body').append(lupa);
      var eLupa = $('#'+claseUnica);
      
      // escalamos las fotos de la lupa
      wView = eLupa.width();
      hView = eLupa.height();
      rView = wView / hView;
      
      eLupa.children('img').load(function() {
        // escalado de la foto
        wFoto = $(this).attr('width');
        hFoto = $(this).attr('height');
        rFoto = wFoto / hFoto;
        
        if(!$(this).hasClass('primero')) {
          $(this).removeClass('actual');
        }
        
        if(rFoto > rView) {
          // Foto apaisada
          if(wFoto>wView) {
            $(this).css({
              'width'   : wView,
              'height'  : wView / rFoto
            });
          } else {
            $(this).css({
              'width'   : wFoto,
              'height'  : hFoto
            });
          }
        } else {
          // Foto vertical
          if(hFoto>hView) {
            $(this).css({
              'width'   : hView * rFoto,
              'height'  : hView
            });
          } else {
            $(this).css({
              'width'   : wFoto,
              'height'  : hFoto
            });
          }
        }
        // posicionado de la foto
        wFoto = $(this).css('width').replace('px','');
        hFoto = $(this).css('height').replace('px','');
        wOrig = (wView-wFoto) / 2;
        hOrig = (hView-hFoto) / 2;
        $(this).css('left', wOrig);
        $(this).css('top', hOrig);
      });
    }
    
    //añadimos el menú
    e.children('img').first().addClass(conf.classMarcadoFoto);
    menu += '<ul>';
    if(e.children('img').size()>1) {
      nFoto = 1;
      e.children('img').each(function(){
        menu += '<li><a'+(nFoto==1?' class="'+conf.classMarcadoItem+'"':'')+'>'+nFoto+'</a></li>';
        nFoto++;
      });
    }
    if(conf.lupa) {
      menu += '<li><a><img src="/imatges/bg_lupa.jpg" alt="" /></a></li>'
    }
    menu += '</ul>';
    e.append(menu);
    
    //activamos los items del menú
    function activaFoto(n) {
        e.children('img.'+conf.classMarcadoFoto).attr('src', e.children('img.'+conf.classMarcadoFoto).attr('srcOriginal'));
      e.find('ul li a').removeClass(conf.classMarcadoItem);
      e.find('ul li a:eq('+n+')').addClass(conf.classMarcadoItem);
      e.children('img').removeClass(conf.classMarcadoFoto);
      e.children('img:eq('+n+')').addClass(conf.classMarcadoFoto);
      eLupa.find('.paginacion a').removeClass(conf.classMarcadoItem);
      eLupa.find('.paginacion a:eq('+n+')').addClass(conf.classMarcadoItem);
      eLupa.children('img').removeClass(conf.classMarcadoFoto);
      eLupa.children('img:eq('+n+')').addClass(conf.classMarcadoFoto);
    }

    e.children('img').each(function(){ $(this).attr('srcOriginal', $(this).attr('src')); });

    if(conf.lupa) {
      e.find('ul li a').not(':last').click(function(){
        activaFoto(e.find('ul li a').index(this));
      });

      e.find('ul li a').not(':last').mouseenter(function(){
        var nn = e.find('ul li a').index(this);
        e.children('img.'+conf.classMarcadoFoto).attr('src', e.children('img:eq('+nn+')').attr('src'));
      });
      
      e.find('ul li a').not(':last').mouseleave(function(){
        var nn = e.find('ul li a').index(this);
        e.children('img.'+conf.classMarcadoFoto).attr('src', e.children('img.'+conf.classMarcadoFoto).attr('srcOriginal'));
      });


      e.find('ul li a:last').click(function(){
        eLupa.fadeIn('fast', function(){
          topHidden = $('body').scrollTop();
          $('.main').hide();
        });
      });
      eLupa.find('.paginacion a').click(function(){
        activaFoto(eLupa.find('.paginacion a').index(this));
      });
      eLupa.find('a.cerrar').click(function(){
        eLupa.fadeOut('fast', function(){
          $('.main').fadeIn('fast');
          $('body').scrollTop(topHidden);
        });
      });
    } else {
      e.find('ul li a').click(function(){
        activaFoto(e.find('ul li a').index(this));
      });
      
      e.find('ul li a').mouseenter(function(){
        var nn = e.find('ul li a').index(this);
        e.children('img.actual').attr('src', e.children('img:eq('+nn+')').attr('src'));
      });
      
      e.find('ul li a').mouseleave(function(){
        var nn = e.find('ul li a').index(this);
        e.children('img.actual').attr('src', e.children('img.actual').attr('srcOriginal'));
      });

      
    }
  });   
  return this;
};

$(document).ready( function() {
  // Intro de la home
  $('.intro img').ready(function(){
    $('.intro').delay(2000).fadeOut(1000);  
  });
  
  // Altura del content
  /*
  var hHeight = $('#header').height() + Math.floor($('#header').css('margin-top').replace('px','')) + Math.floor($('#header').css('margin-bottom').replace('px','')) + Math.floor($('#header').css('padding-top').replace('px','')) + Math.floor($('#header').css('padding-bottom').replace('px','')) + Math.floor($('#header').css('border-bottom-width').replace('px','')) + Math.floor($('#header').css('border-top-width').replace('px',''));
  var fHeight = $('#footer').height() + Math.floor($('#footer').css('margin-top').replace('px','')) + Math.floor($('#footer').css('margin-bottom').replace('px','')) + Math.floor($('#footer').css('padding-top').replace('px','')) + Math.floor($('#footer').css('padding-bottom').replace('px','')) + Math.floor($('#footer').css('border-bottom-width').replace('px','')) + Math.floor($('#footer').css('border-top-width').replace('px',''));
  var cHeight = Math.floor($('#content').css('margin-top').replace('px','')) + Math.floor($('#content').css('margin-bottom').replace('px','')) + Math.floor($('#content').css('padding-top').replace('px','')) + Math.floor($('#content').css('padding-bottom').replace('px','')) + Math.floor($('#content').css('border-top-height').replace('px','')) + Math.floor($('#content').css('border-bottom-height').replace('px',''));
  $('#content').css('min-height', ($(window).height() - hHeight - fHeight - cHeight));
  */

  // Item parrilla  
  $('.parrilla-item a .zindex2').hide();
  $('.parrilla-item a').mouseenter( function() {
    $(this).children('.zindex1').fadeOut('fast');
    $(this).children('.zindex2').fadeIn('fast');
  });
  $('.parrilla-item a').mouseleave( function() {
    $(this).children('.zindex1').fadeIn('fast');
    $(this).children('.zindex2').fadeOut('fast');
  });
  
  // buscador
  $('.img-buscar').click(function(){
    $('form#buscador').submit();
  });
});

