$ = function (e) { return document.getElementById(e); };

Element.prototype.css = function(property, value)
{
	if (value)
		this.style[property] = value;
	else
		return window.getComputedStyle(this, null).getPropertyValue(property);
}

// trigger
window.addEventListener('load', function() { goClouds( { 'c1' : 1, 'c2': 2, 'c3' : 3 } ) }, true);



var ObjectManager = function()
{
	var items = new Array(), _om = this;

	this.push = function(item, interval)
	{
		items.push({e:item, f:interval});
		return _om;
	}

	this.run = function ()
	{
		setInterval(_frame, 100);
	}

	var _frame = function ()
	{
		for (var i in items)
		{
			if (parseInt(items[i]['e'].css('left')) > document.body.offsetWidth)
				items[i]['e'].css('left', -3 * parseInt(items[i]['e'].css('width')) + 'px');
			else
				items[i]['e'].css('left', parseInt(items[i]['e'].css('left')) + items[i]['f'] + 'px');
		}
	}
}

function goClouds(items)
{
	_om = new ObjectManager();

	for (var i in items)
		if ($(i))
			_om.push($(i), items[i]);

	_om.run();
}


// konami code ;)

if (window.addEventListener)
{
	var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";

	window.addEventListener("keydown", function(e)
	{
		kkeys.push(e.keyCode);

		if (kkeys.toString().indexOf(konami) >= 0)
			alert('konami !');

	}, true);
}