function ajaxSubmit(form, url) {
	var successAction = null;
	if (arguments.length >= 3) successAction = arguments[2];
	
	var triggers = $(form).getElements('[rel=submit]');
	if (arguments.length == 4)
		trigger = triggers[arguments[3] - 1];
	else
		trigger = triggers[0];
	trigger.setStyle('display', 'none');
	var img = new Element('img', { src: '/images/ajax-loader.gif', border: '0' });
	trigger.getParent().grab(img);
	
	$(form).set('send', {
		method: 'post',
		url: url,
		onComplete: function(t) {
			img.dispose();
			trigger.setStyle('display', 'inline');
			
			var status = t.replace(/^\s+|\s+$/g, '');
			if (status == 'ok' && successAction != null) successAction();
			if (status != 'ok') alert(status);
		}
	});
	$(form).send();
}

function preload() {
	preloadImg = new Array();
	for (var i = 0; i < arguments.length; i++) {
		preloadImg[i] = new Image();
		preloadImg[i].src = arguments[i];
	}
}

function leveledHeight(selector) {
	var maxHeight = 0;
	$$(selector).each(function(elem) {
		if (maxHeight < elem.getSize().y)
			maxHeight = elem.getSize().y;
	});
	$$(selector).setStyle('height', maxHeight);
}

function ajaxLoading(id) {
	if ($(id) != null)
		$(id).set('html', '<img src="images/ajax-loader.gif" alt="loading...">');
}