TOPS = {
  init : function(clase, clase_active) {
    $(clase).each(function(){
      $(this).click(function(e){
        e.preventDefault();
        TOPS.reset(clase);
        $("#more_" + this.id).addClass(clase_active);
        $("#"+this.id).addClass(clase_active);
        }); // click
        }); // each
      },
      reset: function(clase, clase_active){
        $(clase).each(function(){

          $(".more_lists li#" +this.id).removeClass(clase_active);
          $("#more_" + this.id).attr("class", "more_box");
        });
      }
    };
    $(function(){

      // Condenast main gallery slideshow

      $('div.navigation').css({'width' : '300px', 'float' : 'left'});
      $('div.content').css('display', 'block');
      $('.photoset_box .caption').css('display', 'block');
      $('.photoset_box div.loader').css('display', 'block');
      $('.photoset_box .accesible_title').css('display', 'none');
      $('.photoset_box #gallery img').css('display', 'none');
      var onMouseOutOpacity = 0.67;
      $('#thumbs ul.thumbs li').css('opacity', onMouseOutOpacity)
      .hover(
        function () {
          $(this).not('.selected').fadeTo('fast', 1.0);
        }, 
        function () {
          $(this).not('.selected').fadeTo('fast', onMouseOutOpacity);
        }
      );

      // Initialize Advanced Galleriffic Gallery	
     
      var galleryAdv = $('#gallery').galleriffic('#thumbs', {
        delay:                  2000,
        numThumbs:              6,
        preloadAhead:           10,
        imageContainerSel:      '#slideshow',
        loadingContainerSel:    '#loading',
        captionContainerSel:    '#caption',
        renderSSControls:       true,
        enableHistory:          true,
        autoStart:              false,
        onChange:               function(prevIndex, nextIndex) {
          $('#thumbs ul.thumbs').children()
          .eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
          .eq(nextIndex).fadeTo('fast', 1.0);
        },
        onTransitionOut:        function(callback) {
          $('#caption').fadeTo('fast', 0.0);
          $('#slideshow').fadeTo('fast', 0.0, callback);
        },
        onTransitionIn:         function() {
          $('#slideshow').fadeTo('fast', 1.0);
          $('#caption').fadeTo('fast', 1.0);
        },
        onPageTransitionOut:    function(callback) {
          $('#thumbs ul.thumbs').fadeTo('fast', 0.0, callback);
        },
        onPageTransitionIn:     function() {
          $('#thumbs ul.thumbs').fadeTo('fast', 1.0);
        }
      });

      // Condenast related/articles box tab selectors
      
      TOPS.init(".related_box .more_lists li", "active");
      TOPS.init(".articles_box .more_lists li", "active");
      TOPS.init("#notices.more_lists li", "active");

      // Condenast register strength password validation

      $(".register_box button").click(function () { 
        $(".strength_box").hide();
        $(".register_box p.data").addClass("error_container")
      });

      $("#input_password").passStrength();

      // Condenast home tooltips

      $(".send").simpletip({ 
        content: 'Enviar por Email', 
        fixed: true, 
        position: 'bottom',
        offset: [-390, -315]
      });

      $(".print").simpletip({ 
        content: 'Imprimir', 
        fixed: true, 
        position: 'bottom',
        offset: [-389, -315]
      });

      $(".favorite").simpletip({ 
        content: 'Favoritizar', 
        fixed: true, 
        position: 'bottom',
        offset: [-388, -315]
      });

      $(".feed").simpletip({ 
        content: 'Agregar a feeds', 
        fixed: true, 
        position: 'bottom',
        offset: [-387, -315]
      });

       // Condenast register live validation

        $(".register_box").validate({
          onfocusout: false,
          onkeyup: false,
          messages: {
          	"user_signin[email]": {
              required: 'Tu correo electrónico es obligatorio'
            },
            "user_signin[password]": {
              required: 'Tu contraseña es obligatoria'
            },
            "user_signin[check_pass]":{
              required: 'Debes seleccionar una opción de ingreso. '
            },
            "user_register[password]":{
              required: 'Tu contraseña es obligatoria',
              equalTo: '<strong>La contraseñas no son iguales</strong>.<br /> Por favor, asegurate que introduces el mismo texto en los dos campos'
            },
            "user_password_reminder[email]": {
              required: 'Tu correo electrónico es obligatorio'
            },
            "user_register[first_name]": {
              required: 'Tu nombre es obligatorio'
            },
            "user_register[last_name]": {
              required: 'Tu apellido es obligatorio'
            },
            "user_register[zip_code]": {
              required: 'Tu código postal es obligatorio'
            },
            "user_register[country]": {
              required: 'Tu país es obligatorio'
            },
            "user_register[birth_date][day]": {
              required: 'Día de nacimiento obligatorio'
            },
            "user_register[birth_date][month]": {
              required: 'Mes de nacimiento obligatorio'
            },
            "user_register[birth_date][year]": {
              required: 'Año de nacimiento obligatorio'
            },
            "user_contact[name]": {
              required: 'Nombre de contacto obligatorio'
            },
            "user_contact[email]": {
              required: 'Email de contacto obligatorio'
            },
						"user_contact[topic]": {
              required: 'Asunto de contacto obligatorio'
            },
						"user_contact[message]": {
              required: 'Mensaje obligatorio'
            },
            "user_profile[password]":{
              equalTo: '<strong>La contraseñas no son iguales</strong>.<br /> Por favor, asegurate que introduces el mismo texto en los dos campos'
            },
            "user_profile[first_name]": {
              required: 'Tu nombre es obligatorio'
            },
            "user_profile[last_name]": {
              required: 'Tu apellido es obligatorio'
            },
            "user_profile[zip_code]": {
              required: 'Tu código postal es obligatorio'
            },
            "user_profile[country]": {
              required: 'Tu país es obligatorio'
            },
            "user_profile[birth_date][day]": {
              required: 'Día de nacimiento obligatorio'
            },
            "user_profile[birth_date][month]": {
              required: 'Mes de nacimiento obligatorio'
            },
            "user_profile[birth_date][year]": {
              required: 'Año de nacimiento obligatorio'
            },
            have_pass: {
              required: '<strong>La contraseña no es correcta</strong>.<br /> Por favor revisa que esté escrita correctamente<br /><small><a href="#">olvidé mi contraseña</small></a>'
            },
            input_password: {
              required: 'Los campos no pueden estar vacíos',
              equalTo: '<strong>La contraseñas no son iguales</strong>.<br /> Por favor, asegurate que introduces el mismo texto en los dos campos'
            },
            repeat_password: { 
              required: '&nbsp;',
              equalTo: "&nbsp;"
            },
            username: {
              required: 'Ya existe un usuario con ese nombre<br />Por favor, elige otro nombre de usuario'
            },
            email: {
              required: '<strong>La dirección de email usuario@gmail.com no se encuentra en nuestra base de datos</strong><br />Por favor, revisa que esté escrita correctamente'
            }
          },
          rules: {
            "user_register[password]": {
              equalTo: "#user_register_password_again"
            },
            "user_profile[password]": {
              equalTo: "#user_profile_password_again"
            },
          	password: {
              equalTo: "#repeat_password"
            },
            repeat_password: {
              equalTo: "#password"
            }
          }
        });
    });
