function ReferenceChanger(){
	
	var referenceObjects = new Array;
	var currentReference = null;
	var numberOfCurrentReference = 0;
	var numberOfNextReference = 0;
	var timer = null;
	
    this.init = function(){
    	(function($) {
    		if($('.referenceObjectHolder').length > 1){
	    		$('.referenceObjectHolder').each(function(k, v){
	    			referenceObjects.push($(v));
	    		});
	    		numberOfCurrentReference = 0;
	    		currentReference = referenceObjects[numberOfCurrentReference];
	    		
	    		self.registerOnclick();

    		}
    	})(jQuery);
    }
    
    this.registerOnclick = function(timer){
    	$('#allReferenceHolder ul').children(':not(:last)').each(function (i,v) {
			$(v).click(function() {
				referenceChanger.showReference(i);
			})
		});
    }
    
    this.showNextReference = function(){
    	
    	if(numberOfCurrentReference == (referenceObjects.length - 1)){
    		numberOfNextReference = 0;
    	}
    	else {
    		numberOfNextReference = numberOfCurrentReference + 1
    	}
    		
    	$(currentReference).fadeOut()
   
    	numberOfCurrentReference = numberOfNextReference;
    	currentReference = referenceObjects[numberOfCurrentReference];
    	
    	$(currentReference).fadeIn();
    	
    	timer = window.setTimeout("referenceChanger.showNextReference()", 5000);
    }
    
    
    this.showReference = function(key){
    	if(key != numberOfCurrentReference){
	    	window.clearTimeout(timer);
	      	$(currentReference).fadeOut()
	      	
	      	numberOfCurrentReference = key;
	    	currentReference = referenceObjects[numberOfCurrentReference];
	    	
	    	$(currentReference).fadeIn();
	    }
    }
    	
    var self = this;
}

var referenceChanger = new ReferenceChanger();

(function($) {
	$(document).ready(function(){
		referenceChanger.init();
	});

})(jQuery);
