var start_rotation = function(id, path){};

jQuery(document).ready(function(){
//(function($) {
	// ROTATION
	var rotationInerval = 0.5;
	var rotationTimers = {};
	var rotationList = {};
	var curentImage = {};
	var stoppingTimer = null;
	start_rotation = function(id, path) {
		if ( !rotationTimers[id] || !rotationTimers[id][0] ) {
			for (i in rotationTimers) {
				do_stop_rotation(i);
			}
			if ( !rotationList[id] ) {
				curentImage[id] = 0;
				rotationList[id] = [
    	      		path + 'standard.jpg',
    	      		path + 'pussy.jpg',
    	      		path + 'tits.jpg',
    	      		path + 'face.jpg'
    			];
				// rotation enabled, timerId
				rotationTimers[id] = [false,null];
			}
			rotationTimers[id][0] = true;
			schedule_rotation(id);
		}
		if ( stoppingTimer ) {
			clearTimeout( stoppingTimer );
			stoppingTimer = null;
		}
	};
	stop_rotation = function(id) {
		stoppingTimer = setTimeout(do_stop_rotation, 500, id);
	};
	do_stop_rotation = function(id) {
		if ( rotationTimers[id] && rotationTimers[id][1] ) {
			clearTimeout( rotationTimers[id][1] );
			rotationTimers[id][1] = null;
		}
		if ( rotationTimers[id] ) {
			rotationTimers[id][0] = false;
		}
		stoppingTimer = null;
	};
	schedule_rotation = function(id) {
		// если переменная rotationInerval выставлен в 0 или false, то прерываем ротацию,
		// если она была удалена, то применим значение по-умолчанию
		if ( !rotationTimers[id][0] ) return false;
		if ( rotationTimers[id][1] ) return false;
		if ( ( rotationInerval != 'undefined' ) && !rotationInerval ) return false;
		rotationTimers[id][1] = setTimeout(do_rotation, rotationInerval ? rotationInerval*1000 : 10000, id);
	};
	do_rotation = function(id) {
		var list = rotationList[id];
		if (!list) return false;
		if ( !rotationTimers[id][0] ) return false;
		rotationTimers[id][1] = null;
		// увеличим счетчик текущего изображения
		curentImage[id]++;
		if ( curentImage[id] > list.length - 1 ) {
			curentImage[id] = 0;
		}
		var ident = '#setImg'+id;
		var setImg = $(ident);
		// предзагрузка изображения
		var tmpImage = new Image();
		// обработка события завершенной предзагрузки
		tmpImage.onload = function(){
			// создадим временное изображение, которое будет появляться
			var setImgTmp = $('<img/>').css({
					display: 'none',
					position: 'absolute',
					top: 0,
					left: 0
				})
				//.attr( 'id', 'setImgTmp' )
				.appendTo( setImg.parent() );
			setImgTmp.attr( 'src', this.src );

			// запустим появление ноого изображения
			setImgTmp.fadeIn( 'fast' );
			// запустим исчезание старого изображения
			setImg.fadeOut( 'fast', function(){
				// по завершению "обменяемся" адресами картинок
				setImg.attr( 'src', setImgTmp.attr( 'src' ) )
				// покажем старое изображение (но уже с новым адресом)
				setImg.show();
				// и удалим временное
				setImgTmp.remove();
				// запустим таймер ротации картинки
				schedule_rotation(id);
			});
		};
		// обработка события ошибки предзагрузки
		tmpImage.onerror = function() {
			// запустим таймер ротации картинки
			schedule_rotation(id);
		};
		// установим путь к картинке и начнем предзагрузку
		tmpImage.src = list[curentImage[id]];
	}
	// /ROTATION
});
//})(jQuery);