function ImageChanger() {
	
	var allImagesArray = new Array();
	var contentHeight = 0;
	var imageHeight = 0;
	var imageWidth = 0;
	var currentIndex = new Array();
	var numberOfContainer = 0;
	var currentContainer = 0;
	var halfImage = false;
	var nextImage = false;
	var dontChange = 0;
	
    this.init = function() {
    	(function($) {
    		
    		if($.browser.msie && $.browser.version < 8){
		    }
		    else
		    {
    		
	    		if($('#contentImages > img').length > 0) {
		    		$('#contentImages > img').each(function(k, v){
		    			allImagesArray[k] = $(v).attr('src');
						
		    			imageHeight = $(v).height();
		    			imageWidth = $(v).width();
		    		});
					
					nextImage = allImagesArray[0];
		    		
		    	
		    		if($('#ObjectContentHolder').length > 0) {
		    			contentHeight = $('#ObjectContentHolder').height();
		    		}
		    		else {
		    			contentHeight = $('#contentHolder').height();
		    		}
		    		
		    		numberOfContainer = Math.ceil(contentHeight/imageHeight);
		    		$('#contentImages > img').remove();
		    		
		    		dontChange = numberOfContainer;
					
		    		for (var i=1; i <= numberOfContainer; i++) {
		    			$('#contentImages').append('<div class="imageChangerBox" id="imageChangerBox_' + i + '"></div>');
		    		}
		    		
		    		$('.imageChangerBox').each(function(k, v) {
		    			$(v).html('<div class="box_1 box"></div><div class="box_2 box"></div>');
		    		});
					
					$('.preloader').css('display', 'block');
					$('.preloader').css('position', 'absolute');
					$('.preloader').css('top', '10');
					$('.preloader').css('left', '10');

		    		
		    		currentContainer = 1;
		    		
		    		var correctHeight = $('#main').height();
		    		
		    		if($('.imageChangerBox').length > 0) {
			    		var dividableBy = $('.imageChangerBox').height() / 2
			    		correctHeight = Math.ceil(correctHeight / dividableBy) * dividableBy;
			    		$('#main').height(correctHeight -5);
			    		$('#subNavigationHolder').height(correctHeight -30 -5);
			    		$('#content').height(correctHeight -5);
			    		$('#ObjectContentHolder').height(correctHeight -5);
			    		$('#overlayChanger').css('height', correctHeight -5);
		    		}
		    		
		    		
		    		
		    		och = $('#overlayChanger').height();
		    		icbh = $('.imageChangerBox').height();
		    		icblength = $('.imageChangerBox').length;
		    		
		    		
		    		
		    		if(((och+5) / icbh) < icblength ){
		    			
		    			halfImage = true; 
		    			changerboxAmount = numberOfContainer-1;
		    			numberOfContainer = changerboxAmount;
		    			$('#imageChangerBox_' + icblength).children('.box').remove();
		    			$('#imageChangerBox_' + icblength).css('background-image', 'url(themes/wbl/images/wbl-slogan.jpg)');
		    		}
		    		else{
		    			changerboxAmount = numberOfContainer;
		    		}
		    		var tmp = 0;
		    		var tmp2 = 0;
		    		$('.box_1').each(function(k,v){
		    			
		    			tmp = tmp + (tmp2*2);
		    			if(tmp > allImagesArray.length){
		    				tmp2=0;
		    				tmp = 0;
		    			}
		    			
		    					    			
		    			//console.log(tmp);
		    			if(tmp != allImagesArray.length) {
		    				$(v).css('background-image','url(' + allImagesArray[tmp] + ')');
		    				$(v).css('height', imageHeight);
		    				$(v).css('width', imageWidth);
		    				currentIndex[k+1] = tmp;
		    			}
		    			else {
		    				$(v).css('background-image','url(' + allImagesArray[0] + ')');
		    				$(v).css('height', imageHeight);
		    				$(v).css('width', imageWidth);
		    				currentIndex[k+1] = 0;
		    			}	
		    			tmp2++;	    
		    		});
		    		
		    		$('.box_2').each(function(k,v){
		    			currentIndex[k+1] = imageChanger.getNextIndex(allImagesArray.length, currentIndex[k+1], changerboxAmount);
	    				$(v).css('background-image','url(' + allImagesArray[currentIndex[k+1]] + ')');
	    				$(v).css('height', imageHeight);
	    				$(v).css('width', imageWidth);
		    		});
		    		
		    		window.setTimeout(imageChanger.switchBoxes, 3000);
	    		}
    		}
    	})(jQuery);
    }
    
    this.getNextIndex = function(picAmount, currentIndex, changerboxAmount){
    	// cause starting at 0
    	//picAmount = picAmount-1;
    	var nextIndex = currentIndex + 1;
    	if(nextIndex >= picAmount){
    		nextIndex = nextIndex - picAmount;    		
    	}
		return nextIndex;    		
    }
    
    this.changeImages = function(firstTime) {
		
    	(function($) {
			imageChanger.newImages();
		    imageChanger.switchBoxes();
  	
    	})(jQuery);
    }
	
	
	
	this.switchBoxes= function() {
		
    	(function($) {
			
			if(($('#imageChangerBox_'+currentContainer+' .box_1').css('display')) == 'block'){
				$('#imageChangerBox_'+currentContainer+' .box_1').fadeOut(2000);
				$('#imageChangerBox_'+currentContainer+' .box_2').fadeIn(2000);
				currentContainer ++;
			}else{
				$('#imageChangerBox_'+currentContainer+' .box_2').fadeOut(2000);
				$('#imageChangerBox_'+currentContainer+' .box_1').fadeIn(2000);
				currentContainer ++;
			}
			
			if(currentContainer > numberOfContainer){
				currentContainer = 1;
			}			
			
		    window.setTimeout(imageChanger.changeImages , 3000);
		    	    	
    	
    	})(jQuery);
    }
	
	
	
	this.newImages = function() {
		
    	(function($) {
    		//if(currentContainer == 1)
		 	//console.log('ImagesAmount '+allImagesArray.length+' currentIndex '+currentIndex[currentContainer]+ ' boxAmount '+changerboxAmount+' Container '+currentContainer);
		 	if (($('#imageChangerBox_' + currentContainer + ' .box_1').css('display')) == 'block') {
		 		currentIndex[currentContainer] = imageChanger.getNextIndex(allImagesArray.length, currentIndex[currentContainer], changerboxAmount);
				$('#imageChangerBox_' + currentContainer + ' .box_2').css('background-image', 'url(' + allImagesArray[currentIndex[currentContainer]] + ')');
		 	}
		 	else {
		 		currentIndex[currentContainer] = imageChanger.getNextIndex(allImagesArray.length, currentIndex[currentContainer], changerboxAmount);
				$('#imageChangerBox_' + currentContainer + ' .box_1').css('background-image', 'url(' + allImagesArray[currentIndex[currentContainer]] + ')');
		 	}
    	//console.log(' Index '+currentIndex[currentContainer]);
    	//if(currentContainer == 1)
    	//console.log(allImagesArray[currentIndex[currentContainer]]);
    	})(jQuery);
    }
	
	
	
	
	
	
    var self = this;
}

var imageChanger = new ImageChanger();

(function($) {
	$(document).ready(function(){
		//imageChanger.init();
	});

})(jQuery);
