function favorites_add(url, title, msg) {   
    if ((navigator.appName == "Microsoft Internet Explorer") &&
            (parseInt(navigator.appVersion) >= 4)) {
        window.external.AddFavorite(url,title);
    } else {
        if(navigator.appName == "Netscape") {
            alert(msg);
        }
    }
}

// Class swapper
function swapClass(obj) {
  links = obj.parentNode.parentNode.getElementsByTagName('a');
  for (i = 0; i < links.length; i++) {
      links[i].className = '';
  }
  obj.className = 'th_active';
}

// ImageViewer: Reemplaza la imágen principal
function replaceImgSrc(imgId, newSrc) {
  i = document.getElementById(imgId);
  i.src = newSrc;

  //add description
  $('p.title_camera').html($('#desc_' + currentIndex).html());
  return false;  
}

// ImageViewer: Imágen anterior
function prevImage(imgId) {
  currentIndex = currentIndex - 1;
  if (currentIndex < 0) {
      currentIndex = allImages.length - 1;
  }
  replaceImgSrc(imgId, allImages[currentIndex]);
}

// ImageViewer: Imágen Siguiente
function nextImage(imgId) {
  currentIndex = (currentIndex + 1) % allImages.length;
  replaceImgSrc(imgId, allImages[currentIndex]);
}

// ImageViewer: paginador de páginas para ImageViewer (jQuery)
(function($) {
  $.fn.Slider = function(options) {
    // config
    var defaults = {
      itemsPerPage: 4,
      speed: 40
    };
  
    var options = $.extend(defaults, options);
  
    this.each(function() {
      var obj          = $(this);
      var numThumbs  = $('li', obj).length;
      var sliderWidth  = $('li', obj).width();
      var sliderHeight = $('li', obj).height();      
      obj.width(sliderWidth);
      obj.height(sliderHeight * options.itemsPerPage);
      obj.css('overflow', 'hidden');      
      var currentPage = 0;
      var totalPages = Math.ceil(numThumbs / options.itemsPerPage);
      
      $('#switcher_pagination').html(1 + ' - ' + options.itemsPerPage  + ' de ' + numThumbs);
  
      $('#switcher_prev').click(function(){
          currentPage = changePage('prev', currentPage);
      });
  
      $('#switcher_next').click(function(){
          currentPage = changePage('next', currentPage);
      });
 
      function changePage(direction, currentPage) {
          var onPage = currentPage;
          switch (direction) {
              case 'next':
                  currentPage = (onPage >= totalPages - 1) ? 0 : currentPage + 1;
                  break;
              case 'prev':
                  currentPage = (currentPage <= 0) ? totalPages - 1 : currentPage - 1;
                  break;
              default:
                  break;
          };

          var diff = Math.abs(onPage - currentPage);
          var speed = diff * options.speed;
  
          topPosition = (currentPage * sliderHeight * options.itemsPerPage * -1);          
          $('ul', obj).animate({marginTop:topPosition}, speed);

          offset   = currentPage * options.itemsPerPage;
          totStart = offset + 1;
          totEnd   = offset + options.itemsPerPage;

          if (totStart > numThumbs) {
              totStart = numThumbs;
          }

          if (totEnd > numThumbs) {
              totEnd = numThumbs;
          }


          $('#switcher_pagination').html(totStart + ' - ' + totEnd  + ' de ' + numThumbs);

          return currentPage;
      };
    });
  };// fin Slider  

})(jQuery);

