//crear un caja sobre un elemento dado
var loading = {
	show: function(el,justBox,content){
		if(!loadingBox){
			loadingBox = new Element('div',{'id':'loadingBox','class':'hidden'}).inject(document.body);
			if(!justBox){
				loadingBox.setHTML('<p><span>'+'Espere por favor...' +'</span></p>');
			}else{
				 if(content) content.inject(loadingBox,'after');
			}
		}
		var sizes = el.getCoordinates();
		loadingBox.setStyles({width:sizes.width+'px', height:sizes.height+'px', left:sizes.left+'px', top:sizes.top+'px', opacity:0.8}).removeClass('hidden');
		if (content)  {
			//var sizesw = loadingBox.getSize();
			content.setStyles({width:'437px', height:'164px', left:((sizes.left)+110)+'px', top:'300px',opacity:0});
			content.removeClass('hidden');
			new Fx.Tween(content,'opacity').start(1);
			
			content.fade('in');
			
			content.getElement('div.winTitle').addEvent('click',function(){
				loading.remove();
				content.remove();
			})
		}
	},
	remove: function(){
		if(loadingBox){
			loadingBox.remove();
			loadingBox=false;
		}
	}
}, loadingBox=false;

String.implement({
	isName: function(){
		return this.test(/^[\w\dáéíóúñÁÉÍÓÚÑ ]{3,128}$/);
	},
	isMail: function(){
		return this.test(/^([\w\d_\.\-])+\@(([\w\dáéíóúñ\-])+\.)+([\w\d]{2,4})+$/);
	},
	isPassword: function(){
		return this.test(/^[\w\s]{4,16}$/);
	}
});

var onError = function(){
	alert('Error: '+this.status+'\nPor favor, comunique al administrador.\nGracias');
}

function alertInfo(msg,klass){
	$('alertInfo').set('html','<p>'+(msg||'')+'</p>').className = klass||'';
	window.scroll(0,$('alertInfo').getTop()-32);
}