/**
/* ajax modul action 
*/
function ajax(url, params, method, onSuccessFunction)
{
	if (!params) var params = new Object();
	if (!method) var method = 'get';
	
	activateProcessingIcon();
	
	new Ajax.Request(url, {
				 				method:method,
								parameters:params,
								onSuccess: onAjaxSuccess.bind(null, onSuccessFunction)
					 		}
						);
}

function onAjaxSuccess(runFunction, transport)
{
	runFunction(transport);
	deactivateProcessingIcon();
}

var processingIconActive = false;
function activateProcessingIcon()
{
	processingIconActive = true;
	updateProcessingIconPosition();
	$('processing_icon').show();
}

function deactivateProcessingIcon()
{
	processingIconActive = false;
	$('processing_icon').hide();
}

function observeMouseMove()
{
	$('body').observe('mousemove', onMouseMove);	
}

var mouseX;
var mouseY;
function onMouseMove(e)
{
	mouseX = Event.pointerY(e) + 10;
	mouseY = Event.pointerX(e) + 15;
	if(processingIconActive)
	{
		updateProcessingIconPosition();
	}

}
function updateProcessingIconPosition()
{
	$('processing_icon').style.top = mouseX + "px";
	$('processing_icon').style.left = mouseY + "px";
}

/**
 * Custom ajax functions
 */
function getCitySchedule(id)
{
	$('schedule').hide();
	$('loading').show();
	var params = new Object();
	params['cityId'] = id;
	Cookies.create('cinema_schedule_city_id', id, 365);
	ajax("/get-city-schedule", params, "post", getCityScheduleOnSuccess);
}

function getCityScheduleOnSuccess(transport)
{
	$('schedule').update(transport.responseText);	
	runAutoFunctions();
	$('loading').hide();
	$('schedule').show();
	
}