$(function() {
	if (!$.browser.msie || $.browser.version > 7) {
		$("#cloud-holder").clouds({
			clouds: [
				{src:'cloud_1.png',x:-120,y:10,speedX:-1},
				{src:'cloud_3.png',x:150,y:150,speedX:-2.5}
			],
			folder: './images/',
			speed: 100,
			fader: !$.browser.msie
		});
	}
});

$.fn.clouds = function(settings) {
	settings = $.extend({
		clouds: [],
		folder: '/',
		speed: 1,
		opacityStep: 0.02,
		fader: true
	}, settings);
	return this.each(function(n, item) {
		var self = $(item);
		$.each(settings.clouds, function(c, cloud) {
			var cImg = new Image();
			$(cImg).load(function() {
				var cDiv = $('<div class="cloud"></div>');
				cDiv.css({
					top: cloud.y+"px",
					left: cloud.x+"px",
					width: cImg.width+"px",
					height: cImg.height+"px",
					backgroundImage: 'url('+this.src+')',
					zIndex: 2
				});
				self.append(cDiv);
				var o = settings.opacityStep;
				cloud.currentO = Math.random();
				cDiv.css({opacity: cloud.currentO});
				window.setInterval(function() {
					if (settings.fader) {
						if (cloud.currentO > 1.0) o = -settings.opacityStep;
						if (cloud.currentO < 0.3) o = +settings.opacityStep;
						cloud.currentO += o;
						cDiv.css({opacity: cloud.currentO});
					}
					var currentLeft = parseInt(cDiv.css("left"));
					cDiv.css({left: (currentLeft - cloud.speedX)+'px'});
					if (cDiv.offset().left > $(document).width() - self.offset().left) {
						var s = -cImg.width;
						cDiv.css({left: s+"px"});
					}
				}, settings.speed);
			});
			cImg.src = settings.folder + cloud.src;
		});
	});
}

$.fn.scrollBackground = function(settings) {
	settings = $.extend({
		speed: 13,
		factor: 60.0,
		defaultSpeed: -1,
		currentSpeed: -1
	}, settings);
	return this.each(function(n, item) {
		var currentLeft = 0;
		window.setInterval(function() {
			currentLeft += settings.currentSpeed;
			$(item).css({backgroundPosition:  currentLeft+'px center'});
		}, settings.speed);
		var w = $(this).width();
		$("#scroller").mousemove(function(e) {
			var x = e.pageX - $(this).offset().left;
			var speed = ((w/2-x) / settings.factor)|0; 
			settings.currentSpeed = (speed < 0 ? -Math.abs(speed): speed);
		});
		$("#scroller").mouseout(function(e) {
			settings.currentSpeed = settings.defaultSpeed;
		});
	});
}

