var rotator = (function(){
	var settings = {
		animationTime	: 1500,
		intervalTime	: 5000,
		imgages_selector: '#rotatorImages img',
		image_selector	: '#rotatorTop .img',
		bt_next 		: '#rotatorTop div.next',
		bt_prev 		: '#rotatorTop div.prev',
		container		: '#rotatorTop',
		slider  		: '#rotatorTop ul',
		v 				: '996',
		caption_selector: '#rotatorTop div.caption',
		bg_back_selector: '#rotatorTop div.bg_back',
		bg_front_selector: '#rotatorTop div.bg_front',
		bt_1: '#rotatorTop div.b1',
		bt_2: '#rotatorTop div.b2',
		bt_3: '#rotatorTop div.b3',
		bt_4: '#rotatorTop div.b4'
	};
	var pause = false;
	var currentEl = 0;
	var i;
	var container;
	var ul;
	var intervalId = false;
	var images;
	var img;
	var bg_front;
	var bg_back;
	var clouds;
	
	function show( i ) {
		var src = jQuery(images[i]).attr('src');
		var alt = jQuery(images[i]).attr('alt');
		
		if(jQuery.browser.msie) {
			bg_front.css('background-image', 'url(./template/default/gfx/x.gif)' );
			bg_back.css( {display: 'none'});	
			//jQuery.__supersleight.limitTo('rotFront');
			//jQuery.__supersleight.init();
			bg_front.css('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='crop')");
		}else {
			var previous = bg_front.css('background-image');
			bg_back.css('display', 'block').css('background-image', previous).css('opacity', 1);
			bg_front.css('background-image', 'url(' + src + ')' ).css('opacity', 0);
			bg_front.animate( {opacity : 1}, settings.animationTime, 'linear' );
			bg_back.animate( {opacity: 0}, settings.animationTime, 'linear' );		
		}

		
		var ce = i + 1;
		jQuery('#rotatorTop div.current').removeClass('current');
		jQuery('#rotatorTop div.b' + ce ).addClass('current');
		
		
		//caption
		//	.animate( {opacity: 0}, settings.animationTime, 'swing', function(){ img.attr('src', src); img.attr('alt', alt); caption.text(alt); } )
		//	.animate( {opacity: 1}, settings.animationTime, 'swing');
	}
	
	function clearMyInterval(){
		if( intervalId ) { 
			clearInterval(intervalId); 
			intervalId = setInterval('rotator.next();', settings.intervalTime ); 
		}
	}
	
	function moveClouds() {
		clouds.animate({backgroundPosition:"0px 0px"}, 1, 'linear');
		clouds.animate({backgroundPosition:"424px 0px"}, 29999, 'linear');
	}
	
	return {
		init : function( userSettings ) {
					settings 	= jQuery.extend(settings, userSettings);
					images 		= jQuery( settings['imgages_selector'] );
					img 		= jQuery( settings['image_selector'] );
					caption 	= jQuery( settings['caption_selector'] );
					ul 			= jQuery( settings['slider'] );
					bg_front 	= jQuery( settings['bg_front_selector'] );
					bg_back		= jQuery( settings['bg_back_selector'] );
					
					currentEl = 0;
					itemsNum = images.length;
					
					jQuery( settings['bt_next'] ).click( function() { rotator.next(); clearMyInterval(); } );
					jQuery( settings['bt_prev'] ).click( function() { rotator.prev(); clearMyInterval(); } );
					jQuery( settings['bt_1'] ).click( function() { currentEl = 0; show(currentEl); clearMyInterval(); } );
					jQuery( settings['bt_2'] ).click( function() { currentEl = 1; show(currentEl); clearMyInterval(); } );
					jQuery( settings['bt_3'] ).click( function() { currentEl = 2; show(currentEl); clearMyInterval(); } );
					jQuery( settings['bt_4'] ).click( function() { currentEl = 3; show(currentEl); clearMyInterval(); } );
					
					intervalId = setInterval('rotator.next();', settings.intervalTime ); 
					
					
					clouds = jQuery('.clouds');
					moveClouds();
					setInterval('rotator.clouds();', 30000 ); 
					
					show(0);
				},
		next : function() {  
					if( ++currentEl >= itemsNum ) {
						currentEl = 0;
					}
					show( currentEl ); 
				},
		prev : function() { 
					if( --currentEl < 0 ) {
						currentEl = itemsNum - 1;
					} 
					show( currentEl );
				},
		clouds : function() {
					moveClouds();
				}
		};
})();
		


