// JavaScript Document
var Dialog = {
	dialogId:null,
	onCompleteFunc: null,
	callFunc: null, 
	parameters: null, 
	visible:false,
	exp:2,//for ff
	top:"0px",
	left:"0px",
	popup:function(content,parameters){
		if(navigator.appName.indexOf("Explorer") > -1){//ie
			this.exp = 1;
		}
		//
		this.parameters = {
			title:'',
			className:	'',
			width:		500,
			height:		300
		}
		this.visible = true;
		content = content || "";
		this.parameters = parameters || this.parameters;
		if(parameters.id)
			this.dialogId = parameters.id
		else{
			var t = new Date();
			this.dialogId = 'popup_' + t.getTime();
		}
		var content = "\
			<div class=\"title\">\
				<div class=\"close\" onclick=\"Dialog.closeInfo();\">close</div>\
				<div>" + parameters.title + "</div>\
			</div>\
			<div class='content'>" + content  + "</div>\
		";
		this.mask();
		var win = document.createElement('div');
		win.id = this.dialogId;
		win.className = parameters.className;
		win.innerHTML = content;
		document.body.appendChild(win);
		this.setDivStyle(win,this.dialogId,'0px','0px',this.parameters.width+'px',this.parameters.height+'px',"absolute");
		this.fixposition(win);
		this.addEvent(window, function(event){Dialog.move(event,win) },'scroll');
	},
	mask:function(){
		var div;
		this.reCalBodySize();
		if(!document.getElementById("MaskDiv")){
			div = document.createElement('div');
			div.id = "MaskDiv";
			div.style.visibility='visible';
			div.style.zIndex = "998";
			div.className = "mask";
			document.body.appendChild(div);
			this.setDivStyle(div,'MaskDiv',this.top,this.left,this.bodyScrollWidth+'px',this.bodyScrollHeight+'px',"absolute");
			if(this.exp==1) {
				div.style.filter="alpha(opacity=30)";
			}else{
				div.style.opacity=30/100;
			}
		}else{
			div = document.getElementById("MaskDiv");
			div.style.top = this.top;
			div.style.left = this.left;
			div.style.width = this.bodyScrollWidth;
			div.style.height = this.bodyScrollHeight;
			div.style.visibility='visible';
		}
	},
	reCalBodySize:function(){	//��ȡbody��С
		this.standardbody=document.documentElement;
		this.top=((this.exp==1)? this.standardbody.scrollTop : window.pageYOffset)+"px";
		this.left=((this.exp==1)? this.standardbody.scrollLeft : window.pageXOffset)+"px";
		this.bodyScrollWidth = document.documentElement.clientWidth;
		this.bodyScrollHeight= document.documentElement.clientHeight;
	},
	setDivStyle:function (obj,id,top,left,width,height,position,border,cursor,background) {		//��ʾ��
		var obj = obj;
		obj.id = id?id:null;
		obj.style.display = "";
		obj.style.top = top?top:'0px';
		obj.style.left = left?left:'0px';
		obj.style.width = width?width:'0px';
		obj.style.height = height?height:'0px';
		obj.style.position = position?position:"static";
		return obj;
	},
	setModal:function(obj,options){
		obj.id = this.dialogId;
		obj.style.display = "";
		obj.style.top = options.top + "px";
		obj.style.left = options.left + "px";
		obj.style.width = options.width + "px";
		obj.style.height = options.height?height:'0px';
		obj.style.position = options.position?position:"static";
	},
	//��div��λ����Ļ�м�
	fixposition:function(objDiv){
		objDiv.style.display='block';
		var styleWidth = objDiv.style.width.substring(0,objDiv.style.width.length-2);
		var clientHeight = objDiv.clientHeight;
		var objLeft = parseInt(document.documentElement.scrollLeft+(document.documentElement.clientWidth - styleWidth)/2)+'px';
		var relTop=(document.documentElement.clientHeight-clientHeight)/2 > 0 ? (document.documentElement.clientHeight-clientHeight)/2:0;
		var objTop = parseInt(document.documentElement.scrollTop+relTop)+'px';
		objDiv.style.top = objTop;
		objDiv.style.left = objLeft;
	},
	closeInfo:function(){
		if(this.visible){
			this.visible = false;
		}
		var obj = document.getElementById(this.dialogId);
		var mask = document.getElementById("MaskDiv");
		//obj.style.visibility='hidden';
		document.body.removeChild(obj);
		mask.style.visibility='hidden';
	},
	move:function(event,win){
		if(document.getElementById("MaskDiv")&&document.getElementById("MaskDiv").style.visibility=='visible'){
			this.mask();
		}
		this.fixposition(win);
	},
	addEvent:function(target, functionref, tasktype){
		var tasktype=(window.addEventListener)? tasktype : "on"+tasktype;
		if (target.addEventListener){
			target.addEventListener(tasktype, functionref, false);
		}else if(target.attachEvent){
			target.attachEvent(tasktype,functionref);
		}
	}
}