// JavaScript Document
jQuery(function()
{
	Rotator.init();
});

(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)


var Rotator = {
	
	container:null,
	triggers:null,
	timeout:500,
	
	init: function(){
		Rotator.container = jQuery("#image-switch");
		Rotator.triggers = jQuery("img.switch");
		Rotator.triggers.bind('click', Rotator.onClick);
		
		jQuery.each(Rotator.triggers, function(key, value) { 
		  jQuery.preLoadImages(jQuery(value).attr('rel'));
		});
	},
	
	doFade: function(imgSrc){
		Rotator.container.fadeOut( Rotator.timeout, function(){ 
				jQuery("img", Rotator.container).attr('src',imgSrc);
				Rotator.container.fadeIn( Rotator.timeout);
		});
	},
	
	onClick: function(evt){
		if(evt){
			evt.preventDefault();
			evt.stopPropagation();
		}
		
		var elem = jQuery(this);
		if(elem.hasClass('triggered')){
			return;
		}
		
		Rotator.triggers.removeClass('triggered');
		
		var source = elem.attr('rel');
		Rotator.doFade(source);
		elem.addClass('triggered');
	}
	
}
