function rotate_image(img_dir, delay, pixelOffset){
	
	//PRELOAD ROTATING IMAGES
	image_preloader = new Image();
	for(i = 0; i < image.length; i++){ image_preloader.src = img_dir+image[i]; }
	
	//SET VARIABLES
	var rotate_delay = (parseInt(delay) * 1000);
	
	//TARGET HOLDER
	var img_holder = document.getElementById('img_rotate_target');
				
	//CHECK FOR ROTATION
	if(image.length == '0'){
		//REMOVE IMAGE HOLDER
		img_holder.parentNode.removeChild(img_holder);
	} else if(image.length > "1"){
				
		//LOOP VARS
		var loop = '0';
		var next_loop = '1';
		
		//PREPARE FADE IN IMAGE
		var fade_in_img_holder = document.createElement('img');
		fade_in_img_holder.id = 'img_rotate_replacement';
		fade_in_img_holder.style.opacity = "0";
		fade_in_img_holder.style.filter = "alpha(opacity=0)";
		fade_in_img_holder.style.position = "absolute";
		fade_in_img_holder.style.zIndex = "100";
		fade_in_img_holder.style.top = find_position_top(img_holder) + "px";
		fade_in_img_holder.style.left = (parseInt(find_position_left(img_holder)) - pixelOffset) + "px";
				
		//SPAWN BOX
		document.body.appendChild(fade_in_img_holder);
		
				
		//START IMAGE ROTATION
		setTimeout(function(){ rotate(); }, rotate_delay);
								
		function rotate(){
		
			fade_in_img_holder.src = img_dir+image[next_loop];
			
			//SET OPACITY
			var fade_out_factor = '100';
			var fade_in_factor = '0';
			fade_out_image();
			fade_in_image();
				
			function fade_out_image(){
				
				//SET TRANSPARENCY
				img_holder.style.opacity = (parseInt(fade_out_factor) / 100);
				img_holder.style.filter = "alpha(opacity="+fade_out_factor+")";
					
				//INCRIMENT
				fade_out_factor = (parseInt(fade_out_factor) - 5);
									
				//STOP INTERVAL WHEN FULLY FADED OUT AND SWITCH IMAGE
				if(fade_out_factor == '0'){ 
					//ROTATE IMAGE
					img_holder.src = img_dir+image[loop];
					
					//RESET OPACITY
					img_holder.style.opacity = "1";
					img_holder.style.filter = "alpha(opacity=100)";
					
					//SET OPACITY
					fade_out_factor = '100';
					
				} else {
					setTimeout(function(){ fade_out_image(); }, '15');
				}
			}
			
			function fade_in_image(){
				
				//SET TRANSPARENCY
				fade_in_img_holder.style.opacity = (parseInt(fade_in_factor) / 100);
				fade_in_img_holder.style.filter = "alpha(opacity="+fade_in_factor+")";
					
				//INCRIMENT
				fade_in_factor = (parseInt(fade_in_factor) + 5);
									
				//STOP INTERVAL WHEN FULLY FADED OUT AND SWITCH IMAGE
				if(fade_in_factor == '100'){ 
					//REMOVE IMAGE AND REPLACE ID
					fade_in_img_holder.id = 'img_rotate_target';
					
					//RESET OPACITY
					img_holder.style.opacity = "1";
					img_holder.style.filter = "alpha(opacity=100)";
					fade_in_img_holder.style.opacity = "0";
					fade_in_img_holder.style.filter = "alpha(opacity=0)";
					fade_in_img_holder.style.position = "absolute";
					fade_in_img_holder.style.zIndex = "100";
					fade_in_img_holder.style.top = find_position_top(img_holder) + "px";
					fade_in_img_holder.style.left = (parseInt(find_position_left(img_holder)) - pixelOffset) + "px";
														
					//SET OPACITY
					fade_in_factor = '0';
							
				} else {
					setTimeout(function(){ fade_in_image(); }, '15');
				}
				
			}
							
			//INCRIMENT LOOP
			if((parseInt(image.length) - 1) == loop){
				loop = '0';
			} else {
				loop++;
			}
			
			//INCRIMENT NEXT LOOP
			if((parseInt(image.length) - 1) == next_loop){
				next_loop = '0';
			} else {
				next_loop++;
			}
			
			setTimeout(function(){ rotate(); }, rotate_delay);
			
		}
		
	}
		
}

function find_position_left(obj) {
	var curleft = 0;
	if(obj.offsetParent){
		curleft = obj.offsetLeft
		while (obj = obj.offsetParent){
			curleft += obj.offsetLeft
		}
	}
	
	return (curleft);
}
 
function find_position_top(obj) {
	var curtop = 0;
	if(obj.offsetParent){
		curtop = obj.offsetTop
		while (obj = obj.offsetParent){
			curtop += obj.offsetTop
		}
	}
	
	return (curtop);
}
