/**
 * Objeto auxiliar do "CARREGANDO"
 */
Carregando	= {
	reference : 'wrapper',
	referenceDefault : 'wrapper',
	
	resize : function(reference){
		if(!$(reference) || $(reference).style.display == 'none'){
			reference	= Carregando.reference;
		}
		var position	= Position.positionedOffset($(reference));
		var dimensions	= $(reference).getDimensions();
		
		dimensions.height	= (dimensions.height ? dimensions.height : 30);
		
		$('loadingOverlay_iframe_malditoIE').style.width	= dimensions.width + 'px';
		$('loadingOverlay_iframe_malditoIE').style.height	= dimensions.height + 'px';
		
		$('loadingOverlay').style.left		= position[0] + 'px';
		$('loadingOverlay').style.top		= position[1] + 'px';
		$('loadingOverlay').style.width		= dimensions.width + 'px';
		$('loadingOverlay').style.height	= dimensions.height + 'px';
		
		//Carregando.reference	= Carregando.referenceDefault;
	},

	make : function(reference){
		$('loadingOverlay').show();
		this.resize(reference);
	},
	
	remove : function(reference, fast){
		Element.hide($('loadingOverlay'));
		Carregando.reference	= Carregando.referenceDefault;
	}
};

/**
 * Sobrescreve ajax.request para aparecer "CARREGANDO"
 */
Ajax.Request.prototype.onStateChange	= function() {
    var readyState = this.transport.readyState;
    if (readyState > 1 && !((readyState == 4) && this._complete))
      this.respondToReadyState(this.transport.readyState);
    if(readyState == 4){
        if (this.success()) {
          if (this.onComplete) this.onComplete.bind(this).defer();
        }
    	Carregando.remove();
    }
    else {//if(readyState == 1 || readyState == 2){
    	if(this.container){
    		var reference	= this.container[this.success() ? 'success' : 'failure'];
    	}
    	else{
    		var reference	= $('ContentHolder');
    	}
    	Carregando.make(reference);
    }
};