var fx = null;

function inicialitzar()
{
	//$('buffer').setStyle('opacity',0); 
	
}

function initializeContainer() {
	//new Ajax('/inc/citas.php?p=1', {update:'citas'}).request();
}

function ajaxRequest(div,div2,url,fade) 
{
	$('buffer').setStyle('opacity',0);

	fx = $(div).effects({duration: 1000,fps: 50});
	
	if(fade!=null) 
		fx.start({'opacity':0}).chain(updateContainer.pass([div,div2,url,fade]));
	else
		updateContainer(div,div2,url,fade);
}

function updateContainer(div,div2,url,fade) 
{
	if(fade!=null) 
	{
		new Ajax(url, {update:div2, onComplete:resizeContainer.pass([div,div2]), timeout:4000, onTimeout:fadeInContainer.pass([div,div])}).request();
	} 
	else 
	{
		//fx.start({'opacity':'0.3'});
		$(div).setStyle('opacity','0.1');
		$('loading').setStyle('display','block');
		new Ajax(url, {update:div, onComplete:conatainerUpdated.pass(div), timeout:4000, onTimeout:conatainerUpdated.pass(div)}).request();
	}
}

function resizeContainer(div,div2)
{
	var h2 = $(div2).getStyle('height');
	
	if ($(div).getStyle('height') == h2)
		fadeInContainer(div,div2);
	else
		fx.start({'height':h2}).chain(fadeInContainer.pass([div,div2]));
}
function fadeInContainer(div,div2) 
{
	$(div).innerHTML = $(div2).innerHTML;
	fx.start({'opacity':1})
}

function conatainerUpdated(div)
{
	$('loading').setStyle('display','none');
	//fx.clearTimer();
	fx.start({'opacity':1});
}

//window.addEvent('domready', inicialitzar);


Ajax = Ajax.extend({
    request: function(){
    if (this.options.timeout) {
        this.timeoutTimer=window.setTimeout(this.callTimeout.bindAsEventListener(this), this.options.timeout);
        this.addEvent('onComplete', this.removeTimer);
    }
    this.parent();
    },

    callTimeout: function () {
        this.transport.abort();
        this.onFailure();
        if (this.options.onTimeout) {
            this.options.onTimeout();
        }
    },

    removeTimer: function() {
        window.clearTimeout(this.timeoutTimer);
    }
});

