var yd=YAHOO.util.Dom;
var ye=YAHOO.util.Event;
var t_window=function(){
	this.loadWindowContent=function(){
		if (this.o.href!=''){
			this.bg=document.createElement('div');
			yd.setStyles(this.bg,{backgroundColor:'#000',position:'absolute',opacity:'0.4',
					width:yd.getDocumentWidth()+'px',height:yd.getDocumentHeight()+'px',top:'0px',left:'0px'});
			//document.body.insertBefore(this.bg,document.body.firstChild);
			document.body.appendChild(this.bg);
			this.mDiv=cr('div');
			this.mDiv.style.width=this.o.width;
			this.mDiv.className=this.o.classN;
			this.content=cr('div');
			this.content.className='w_content';
			this.mDiv.appendChild(this.content);
			this.title=cr('div');
			this.titleText=cr('div');
			this.titleText.innerHTML=this.o.title;
			yd.setStyles(this.titleText,{float:'left',height:'1%'});
			this.closeDiv=cr('div');
			this.closeDiv.innerHTML='X';
			yd.setStyles(this.closeDiv,{float:'right',cursor:'pointer'});
			ye.addListener(this.closeDiv,'click',this.close,this,true);
			this.title.className='title';
			this.title.appendChild(this.titleText);
			this.title.appendChild(this.closeDiv);
			//this.tBg=cr('div');
			//this.tBg.className='titleBg';
			var table=cr('table');
			yd.setStyles(table,{width:'100%'});
			this.content.appendChild(this.title);
			//this.content.appendChild(this.tBg);
			
			this.main=cr('div');
			this.content.appendChild(this.main);
			document.body.appendChild(this.mDiv);
			this.loader=new YAHOO.util.loadIndicator({mainNode:this.mDiv});
			yd.absolutize(this.mDiv);
			
			this.reload();
		}
	}
	this.reload=function(){
		this.loader.show();
		YAHOO.util.Connect.asyncRequest('GET',this.o.href+'&r='+new Date().getMilliseconds(),{
			success:function(r){
				var html=r.responseText;
				this.main.innerHTML=html;
				yd.absolutize(this.mDiv);
				this.loader.hide();
				extractScripts(r.responseText).map(function(t){eval('var curWindow=this;'+t)},this);
				
			},
			scope:this
		});
	}
	this.close=function(){
		document.body.removeChild(this.mDiv);
		document.body.removeChild(this.bg);
	};
	
	this.o=Object.extend({
		title:'window',
		href:'',
		classN:'t_window',
		width:'100%'
	},arguments[0]);
	
	this.loadWindowContent();
}