/**
 * funciones.js
 *
 * funciones varias en javascript
 */

function igualarCuadro435() {
  var maxH=0;
  var padB=0;
  
  $('.cuadro435').each( function() {
    maxH = Math.max( $(this).height(), maxH );
  });
  $('.cuadro435').height(maxH + 'px');
  padB = $('.cuadro435').css('padding-bottom').replace('px','');
  $('.cuadro435').each( function() { 
    if( $(this).hasClass('nopadding_b'))
      $(this).height( (maxH*1+padB*1) + 'px' );
  });
}

function igualarCuadroClientes() {
  var maxH=0;
  var padB=0;
  var padC=0;
  
  $('.cuadro324').each( function() {
    maxH = Math.max( $(this).height(), maxH );
  });
  $('.cuadro324').height(maxH + 'px');
  padB = $('.cuadro324').css('padding-bottom').replace('px','');
  $('.cuadro324').each( function() { 
    if( $(this).hasClass('nopadding_b'))
      $(this).height( (maxH*1+padB*1) + 'px' );
  });
  padC=$('.contacto-cuadro-4').outerHeight() - $('.contacto-cuadro-4').height();
  $('.contacto-cuadro-4').height( ($('.cuadro324').outerHeight() - padC + 1) + 'px');
}

function igualarCuadroPrensa() {
  var maxH=0;
  var out273=0;
  var out596=0;
  
  var out273 = $('.cuadro273').outerHeight() - $('.cuadro273').height();
  var out596 = $('.cuadro596').outerHeight() - $('.cuadro596').height();
  maxH = Math.max( $('.cuadro273').outerHeight(), $('.cuadro596').outerHeight() );
  $('.cuadro273').height( (maxH - out273) + "px" );
  $('.cuadro596').height( (maxH - out596) + "px" );
}

function igualarCuadroTienda() {
  var maxH=0;
  var out=0;
  var out657=0;
  
  var out = $('.cuadro').outerHeight() - $('.cuadro').height();
  var out657 = $('.cuadro657').outerHeight() - $('.cuadro657').height();
  maxH = Math.max( $('.cuadro').outerHeight(), $('.cuadro657').outerHeight() );
  $('.cuadro').height( (maxH - out) + "px" );
  $('.cuadro657').height( (maxH - out657) + "px" );
}

function evalInputTxt() {
  var res=true;
  
  $('input.requerido-txt').each( function() {
    if ( $(this).attr('value') != '' ) {
      res = res && true;
      $(this).removeClass('error');
    } else {
      res = res && false;
      $(this).addClass('error');
    }
  });
  return res;
}

function evalInputCP() {
  var res=true;
  
  $('input.requerido-codpos').each( function() {
    if ( $(this).attr('value').match(/^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$/) && $(this).attr('value')!='' ) {
      res = res && true;
      $(this).removeClass('error');
    } else {
      res = res && false;
      $(this).addClass('error');
    }
  });
  return res;
}

function evalInputTel() {
  var res=true;
  
  $('input.requerido-tel').each( function() {
    if ( $(this).attr('value').match(/^([6,9])([0-9]{8})$/) && $(this).attr('value')!='' ) {
      res = res && true;
      $(this).removeClass('error');
    } else {
      res = res && false;
      $(this).addClass('error');
    }
  });
  return res;
}

function evalInputDNI() {
  var res=true;
  
  $('input.requerido-dni').each( function() {
    if ( $(this).attr('value')!='' ) {
      res = res && true;
      $(this).removeClass('error');
    } else {
      res = res && false;
      $(this).addClass('error');
    }
  });
  return res;
}

function evalInputMail() {
  var res=true;
  
  $('input.requerido-email').each( function() {
    if ( $(this).attr('value').match(/^([0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/) && $(this).attr('value')!='' ) {
      res = res && true;
      $(this).removeClass('error');
    } else {
      res = res && false;
      $(this).addClass('error');
    }
  });
  return res;
}

function evalInputCheck() {
  var res=true;
  
  $('input.requerido-check').each( function() {
    if ( $(this).attr('checked') ) {
      res = res && true;
      $('label[for='+$(this).attr('id')+']').removeClass('error');
    } else {
      res = res && false;
      $('label[for='+$(this).attr('id')+']').addClass('error');
    }
  });
  return res;
}

function evalInputCajas() {
  var res=true;
  
  if( $('select.cajas_cabernet').attr('value')==0 && $('select.cajas_xarello').attr('value')==0 ) {
    $('span.msg-cajas').addClass('error');
    res = false;
  } else {
    $('span.msg-cajas').removeClass('error');
  }
  return res;
}

function formatea2digitos( n ) {
  s = n.toString();
  if( s.length==1 ) {
    return "0"+s;
  } else {
    return s;
  }
}

function inicioTienda() {
  $('.page-tienda p.condiciones a.btn').click( function() {
    var res;
    
    res = evalInputTxt();
    res = evalInputCP() && res;
    res = evalInputTel() && res;
    res = evalInputDNI() && res;
    res = evalInputMail() && res;
    res = evalInputCheck() && res;
    res = evalInputCajas() && res;
    
    if( res ) {
      $(".trazas").append("entra en el if<br />");
      d = new Date();
      
      dDia = formatea2digitos(d.getDate());
      dMes = formatea2digitos(d.getMonth()+1);
      dAny = d.getFullYear();
      dHor = formatea2digitos(d.getHours());
      dMin = formatea2digitos(d.getMinutes());
      dSec = formatea2digitos(d.getSeconds());
      
      $('#formTienda input[name=fecha]').val(dDia+'/'+dMes+'/'+dAny);
      $('#formTienda input[name=hora]').val(dHor+':'+dMin+':'+dSec);
      $('#formTienda').submit();
    }
  });
}

function enlaceMail(usr,host) {
  document.write('<a href="mailto:'+usr+'@'+host+'">'+usr+'@'+host+'</a>');
}

/**
 * banners bodega-finca
 */

var fondoBodega = new Array();
var originalBodega = new Array();

function generaArrayBodega() {
  var i;
  $('.fondo-bodega-img').each( function() {
    originalBodega.push( $(this) );
    $(this).hide();
  });
  while( originalBodega.length > 0 ) {
    i = Math.floor( Math.random() * originalBodega.length );
    fondoBodega.push( originalBodega[i] );
    originalBodega.splice(i,1);
  }
  $('.titulo-1 h1').css('z-index', '100');
}

function mueveBannersBodega( numBanner ) {
  var act, ant, sig;
  var eAct, eAnt;
  
  act = numBanner-1;
  if(numBanner==1) { ant=fondoBodega.length-1; } else { ant=numBanner-2; }
  if(numBanner==fondoBodega.length) { sig=1;  } else { sig=numBanner+1; }
  eAct = $(fondoBodega[act]);
  eAnt = $(fondoBodega[ant]);
  eAct.fadeIn('slow');
  eAnt.fadeOut('slow');
  setTimeout('mueveBannersBodega('+sig+')',8000);
}

/**
 * igualarCuadros
 */
function igualarCuadros() {
  var todos=true;
  
  $('#content img').each( function() {
    todos = todos && $(this).attr('complete');
  });

  if (todos) {
    switch( pagina ) {
      case 'clientes' :
        igualarCuadroClientes();
        break;
      case 'bodega-vendimia' :
      case 'bodega-historia' :
      case 'bodega-penedes' :
      case 'caldos-cabernet' :
      case 'caldos-xarello' :
      case 'tienda-condiciones' :
      case 'aviso-legal' :
        igualarCuadro435();
        break;
      case 'prensa' :
        igualarCuadroPrensa();
        break;
      case 'tienda' :
        igualarCuadroTienda();
        break;
    }
  }
}

/**
 * document.ready
 */

$(document).ready( function() {

  if($('#content img').size()==0) {
    igualarCuadros();
  } else {
    $('#content img').each( function() {
      if ($(this).attr('complete')==true) igualarCuadros();
      else $(this).load(igualarCuadros);
    });
  }
  
  switch( pagina ) {
    case 'tienda' :
      inicioTienda();
      break;
    case 'bodega' :
    case 'bodega-finca' :
    case 'bodega-historia' :
    case 'bodega-vendimia' :
    case 'bodega-penedes' :
    case 'enoturismo' :
      generaArrayBodega();
      mueveBannersBodega(1);
      break;
  }
  
  $('.caldos-titulo-cab a, .caldos-titulo-xar a').click(function(){
    if(!$(this).hasClass('actual')){
      var cl = $(this).attr('activar');
      $(this).siblings('a').removeClass('actual');
      $(this).addClass('actual');
      $('.cosecha-1, .cosecha-2, .cosecha-3').hide();
      $('.'+cl).show();
    }
  });

});
