lib.x({
	alert:lib.x({
		open:function() {
			var box = $('libDiv');
			if(box.firstChild) {
				if(lib.browser == 'ie6')
					$T('select').hide('v');
				$('libDivBack').style.display = box.style.display = '';
				lib.alert.align();
				$('libDivBack').style.visibility = box.style.visibility = 'visible';
			}
		},
		close:function() {
			var box = $('libDiv');
			if(box.firstChild) {
				if(lib.browser == 'ie6')
					$T('select').show();
				$('libDivBack').style.display = box.style.display = 'none';
				$('libDivBack').style.visibility = box.style.visibility = 'hidden';
			}
		}
	},function(_content) {
		if(!_content)
			throw 'Especifique um conteudo para exibir.';
		
		//Fundo
		var divBack = $('libDivBack') || lib.createElement('div',{
			style:'width:100%;height:100%;z-index:100;top:0;left:0;background-color:#000;' + (lib.browser=='ie6'?'position:absolute;':'position:fixed'),
			id:'libDivBack',
			opacity:0.5
		});
		
		//Div que possui o conteudo exibido
		var div = $('libDiv') || lib.createElement('div',{
			style:'top:50%;left:50%;z-index:200;float:left;' + (lib.browser=='ie6'?'position:absolute;':'position:fixed;'),
			id:'libDiv'
		});
		
		//Limpando o Div caso ele ja tenha algo
		lib.clearHTML(div);
		
		if(_content.nodeType && _content.nodeType === 1)//Caso seja um elemento
			div.appendChild(_content.cloneNode(true));//Os elementos criados nao podem ter seus atributos alterados dinamicamente antes
			
		else if(_content.charAt(0) == '#')//caso seja um ID
			div.appendChild($(_content.substr(1)).cloneNode(true));
			
		else if(_content.indexOf('http:') == 0)//caso seja uma URL
			lib.ajax(_content,{
				async:false,
				callBack:function(http) {
					div.innerHTML = http.responseText;
				}
			});
		else {//Caso seja HTML puro
			div.innerHTML = _content;
		}
		
		var align = lib.alert.align = lib.browser=='ie6'?function() {
			var de = document.documentElement,
				divS = div.style,
				divBackS = divBack.style;
			
			divBackS.width = de.clientWidth + 'px';
			divBackS.height = de.clientHeight + 'px';
			
			divBackS.top = de.scrollTop + 'px';
			divBackS.left = de.scrollLeft + 'px';
			
			divS.top = ((de.offsetHeight / 2) + de.scrollTop) + 'px';
			divS.left = ((de.offsetWidth / 2) + de.scrollLeft) + 'px';
			
			divS.marginLeft = '-' + (div.offsetWidth / 2 + 'px');
			divS.marginTop = '-' + (div.offsetHeight / 2 + 'px');
		}:function() {
			div.style.marginLeft = '-' + (div.offsetWidth / 2 + 'px');
			div.style.marginTop = '-' + (div.offsetHeight / 2 + 'px');
		};
		
		//Adicionando elemento antes para calcular o posicionamento
		divBack.style.visibility = div.style.visibility = 'hidden';
		document.body.appendChild(div);
		document.body.appendChild(divBack);
		
		align();
		if(lib.browser == 'ie6') {
			lib.addEvent(window,'resize',align);
			lib.addEvent(window,'scroll',align);
		}
		lib.alert.open();
	})
});