var maxZIndex;
var noteEls;
var isDragging = false;
var template = "<div class=\"post galleryimage\" id=\"#{id}\" style=\"z-index: #{zindex}\"> \
					<div class=\"close\" onclick=\"fadeOut($('#{id}'))\"></div> \
					<div class=\"entry\"></div> \
				</div>";

function init() {
	var note, divider, i, len;
	var delay = 2;
	
	setupGallery();
	
	noteEls = $$('.post');
	len = noteEls.length;
	noteEls.invoke('observe', 'mouseover', onMouseOver);
	
	$('sidebar').setStyle({ opacity: 0.0, visibility: 'visible' });
	Element.appear.delay(1, $('sidebar'));

	$('feat1').setStyle({ opacity: 0.0, visibility: 'visible' });
	Element.appear.delay(1, $('feat1'));

	$('feat2').setStyle({ opacity: 0.0, visibility: 'visible' });
	Element.appear.delay(1, $('feat2'));

	if (LANG == "en") {
		var enNotes = new Array();
		enNotes.push($('page-yhteys_contact'));
		enNotes.push($('page-palvelut_services'));
		enNotes.push($('page-ihmiset_people'));

		for (i = 0; i < enNotes.length; i++) {
			note = enNotes[i];
			divider = Math.pow(2, i);
			note.setStyle({ opacity: 0.0, visibility: 'visible' });
			note.setStyle({ display: 'none' });
			delay += (i / divider);
			Element.appear.delay(delay, note, { to: 1.0 });
		}
	} else {
		for (i = 0; i < len; i++) {
			note = noteEls[i];
			divider = Math.pow(2, i);
			note.setStyle({ opacity: 0.0, visibility: 'visible' });
			note.setStyle({ display: 'none' });
			delay += (i / divider);
			//Element.appear.delay(delay, note, { to: 1.0 });
		}
	}
}

function fadeOut(el) {
	el.appear({ from: 1.0, to: 0.0, duration: 0.5, afterFinish: function() { el.setStyle({ display: 'none' }); } });
}

function setupGallery() {
	var oA;
	var oDt = $('content').select('.gallery-icon');
	for (var i = 0; i < oDt.length; i++) {
		oA = oDt[i].down().down();
		oA.id = "gallerylink_" + i;
		oA.title = "";
		oA.onclick = function(e) { e.returnValue = false; return false; }.bindAsEventListener();
		oA.observe('click', galleryClickHandler);
	}
}

function galleryClickHandler(event) {
	var el = Event.findElement(event, 'A');
	var id = 'galleryimage_' + el.id.substring(el.id.indexOf("_") + 1);
	var oDiv = $(id);
	if (oDiv) {
		oDiv.setStyle({ zIndex: ++maxZIndex });
		oDiv.appear();
		return;
	}
	var myTemplate = new Template(template);
	var data = {id: id, zindex: ++maxZIndex};
	var html = myTemplate.evaluate(data);
	$('content').insert({ bottom: html });
	oDiv = $(id).select('.entry')[0];
	var dims = document.viewport.getDimensions();
	var x = Math.round(Math.random() * dims.width) - 320;
	var y = Math.round(Math.random() * dims.height) - 320;
	if (x < 0) x = 0;
	if (y < 0) y = 0;
	new Ajax.Updater(oDiv, el.href, { asynchronous:true, onComplete:function() { $(id).setStyle({ left: x + 'px', top: y + 'px', opacity: 0.0, visibility: 'visible' }); $(id).appear(); }, requestHeaders:['X-Update', id]});
	new Draggable(id, { scroll: window, onStart: function(){isDragging=true;}, onEnd: function(){isDragging=false;} });
	$(id).observe('mouseover', onMouseOver);
}

function onMouseOver(event) {
	if (isDragging) return false;
	
	this.setStyle({ zIndex: ++maxZIndex });
}

document.observe('dom:loaded', init);
//Event.observe(window, 'load', init);