$(function() {
	if (!$.browser.msie || $.browser.version > 7) {
		$("#cloud-holder").clouds({
			clouds: [
				{src:'cloud_1.png',x:-120,y:450,speedX:-1},
				{src:'cloud_2.png',x:-250,y:250,speedX:-2},
				{src:'cloud_3.png',x:150,y:600,speedX:-2.5},
				{src:'cloud_4.png',x:320,y:350,speedX:-1},
				{src:'cloud_5.png',x:820,y:390,speedX:-2.5},
				{src:'cloud_6.png',x:720,y:400,speedX:-1.5},
				{src:'cloud_7.png',x:1000,y:550,speedX:-1}
			],
			folder: 'styles/img/',
			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;
		});
	});
}
