﻿dialog.names = new Array();
function dialog()
{
	this.id = dialog.names.length;
	dialog.names[this.id] = this;
	this.divID		=	"WM_DIALOG_" + arguments[0]; //第一个参数：被操作蒙板窗体的ID
	this.contentID	=	"WM_DIALOG_CHILD_" + arguments[0]; //内容窗体的ID
	this.frmID		=	"WM_DIALOG_FRM_" + arguments[0]; //FRM窗体的ID
	this.width		=	arguments[1];//第三个参数：div的宽度
	this.height		=	arguments[2];//第二个参数：div的高度
	this.color      =	arguments[3];  //第四个参数：div的颜色
	this.content	=	arguments[4];  //第五个参数：div的内容
	this.type		=	arguments[5]?arguments[5]:0;  //第六个参数：div的类型(alert,...)
	
	this.i = 0; //循环的计数器
	this.isOpen = false;
	this.Create();
	return this;
}

dialog.prototype.setContent = function(inputContent)
{
	this.content = inputContent;
	var objChild   = $(this.contentID+"1");
	if(objChild)
		objChild.innerHTML = this.content;
}

dialog.prototype.show = function()
{
	var objDialog = 	$(this.divID);
	var objFrm      = $(this.frmID);
	var objChild   = $(this.contentID);
	if(objDialog && objFrm && objChild)
	{
		objDialog.style.display = "block";
		objFrm.style.display = "block";
		objChild.style.display = "block";
		
		var iWidth  = window.document.body.scrollWidth;
		var iHeight = window.document.body.scrollHeight;
		var objW = window.document.body.scrollWidth;
		var objH = window.document.body.scrollHeight;
		
		if(iWidth < objChild.clientWidth)
		{
			iWidth = objChild.clientWidth;
			iWidth += objW-this.width-(objW-this.width)*(1/2);
		}	
		if(iHeight < objChild.clientHeight)
		{
			iHeight = objChild.clientHeight;
			iHeight+= objH-this.height-(objH-this.height)*(2/3);
			}
		
		objFrm.style.width = iWidth ;
		objFrm.style.height= iHeight;
		objDialog.style.width = iWidth ;
		objDialog.style.height= iHeight;
		
		
		this.isOpen = true;
		this.setPoint();
	}
}

dialog.prototype.setPoint = function()
{
	var objChild = $(this.contentID);
	
	var objW = window.document.body.clientWidth;
	var objH = window.document.body.clientHeight;
	
	if(objChild)
	{	
		objChild.style.top  = objH-this.height-(objH-this.height)*(2/3);
		objChild.style.left = objW-this.width-(objW-this.width)*(1/2);
		}
}

dialog.prototype.hide = function()
{
	var objDialog = 	$(this.divID);
	var objFrm      = $(this.frmID);
	var objChild   = $(this.contentID);
	if(objDialog && objFrm && objChild)
	{
		objDialog.style.display = "none";
		objFrm.style.display = "none";
		objChild.style.display = "none";
		this.isOpen = false;
	}
}

dialog.prototype.Create = function()
{
	var objW = objH = 0;
	var objDialog = null;
	objDialog = document.createElement("div");
	objDialog.id = this.divID;
	objDialog.style.display = "none";
	objDialog.style.position= "absolute";
	objDialog.style.left = 0;
	objDialog.style.top = 0;
	objDialog.align       = "left";
	objDialog.tabIndex = 10000;
	
	objW = window.document.body.clientWidth;
	objH = window.document.body.clientHeight;

	objDialog.style.height = objH;
	objDialog.style.width = objW;
	objDialog.style.background = this.color;
	objDialog.style.filter = "Alpha(opacity=80)";
	document.body.appendChild(objDialog);
	this.CreateFrm();
	return objDialog;
}

dialog.prototype.CreateFrm = function()
{
	var objFrm = null;
	var objParent = $(this.divID);
	objFrm = document.createElement("iframe");
	objFrm.id=this.frmID;
	objFrm.name = this.frmID;
	objFrm.tabIndex = 1;
	objFrm.style.left = 0;
	objFrm.style.top = 0;
	objFrm.align       = "center";
	objFrm.style.height = objParent.style.height;
	objFrm.style.width = objParent.style.width;
	objFrm.style.background = objParent.style.background;
	objFrm.style.filter = objParent.style.filter;
	
	objParent.appendChild(objFrm);
	
	/* 添加标题栏 */
	
	
	/* 添加内容栏 */
	var objC = document.createElement("div");
//	objC.innerHTML = this.content ;
	objC.id=this.contentID;
	objC.style.position= "absolute";
	objC.style.width = this.width;
	objC.style.height= this.height;
	objC.style.left= 5;
	objC.style.top= 5;
	objC.tabIndex = 10002;
	objC.style.background = "#FFFFFF";
	objC.style.border="1px solid #999";
	objC.style.padding = 5;
	objC.style.filter = "progid:DXImageTransform.Microsoft.Gradient(startColorStr='#F1F1F1', endColorStr='#FFCCCC', gradientType='1')";
	document.body.appendChild(objC);
	
	if(this.type != 0)
	{
		var strContent = "";
		var objCHH = document.createElement("div");

		strContent = "<div onmousedown=\"moveStart(event,\'" + this.contentID + "\');\" id='"+ this.contentID + "H' style='font-weight:bold;'>";
		strContent += "<img src='/admin/css/campus_menu.gif' /> 中国计量[www.chinajl.com.cn]";
		strContent += "</div>";
		
		objCHH.style.width = this.width;
		objCHH.innerHTML = strContent;
		objCHH.style.height= "20";
		objC.appendChild(objCHH);
		
		var objCH = $(this.contentID + "H");
		objCH.id=this.contentID + "H";
		objCH.style.width = "100%";
		objCH.style.height= "16";
		objCH.style.cursor= "move";
		objCH.style.background = "#CCCCFF";
	//	objCH.style.border="1px solid #999";
		objCH.style.padding = 5;
		objCH.style.color = "#FFFFFF";
		objCH.style.float = "left";
		objCH.style.filter = "progid:DXImageTransform.Microsoft.Gradient(startColorStr='#CC0000', endColorStr='#f1f1f1', gradientType='1')";
	}
	var objC1 = document.createElement("div");
	objC1.innerHTML = this.content;
	objC1.id=this.contentID + "1";
	objC1.style.width = this.width;
	objC1.style.height= this.height;
	objC1.style.background = "#FFFFFF";
	// objC1.style.border="1px solid #999";
	objC1.style.padding = 5;
	objC.appendChild(objC1);	
}

function moveStart(e,id)
{	
	var oObj = 	$(id);
	oObj.onmousemove = mousemove;
	oObj.onmouseup = mouseup;
	oObj.setCapture ? oObj.setCapture() : function(){};
	oEvent = window.event ? window.event : event;
	var dragData = {x : oEvent.clientX, y : oEvent.clientY};
	var backData = {x : parseInt(oObj.style.top), y : parseInt(oObj.style.left)};
	function mousemove(){
		var oEvent = window.event ? window.event : event;
		var iLeft = oEvent.clientX - dragData["x"] + parseInt(oObj.style.left);
		var iTop = oEvent.clientY - dragData["y"] + parseInt(oObj.style.top);
		oObj.style.left = iLeft;
		oObj.style.top = iTop;
//		$('dialogBoxShadow').style.left = iLeft + 6;
//		$('dialogBoxShadow').style.top = iTop + 6;
		dragData = {x: oEvent.clientX, y: oEvent.clientY};
		}
	function mouseup(){
		var oEvent = window.event ? window.event : event;
		oObj.onmousemove = null;
		oObj.onmouseup = null;
		if(oEvent.clientX < 1 || oEvent.clientY < 1 || oEvent.clientX > document.body.clientWidth || oEvent.clientY > document.body.clientHeight){
		oObj.style.left = backData.y;
		oObj.style.top = backData.x;
//		$('dialogBoxShadow').style.left = backData.y + 6;
//		$('dialogBoxShadow').style.top = backData.x + 6;
		}
			oObj.releaseCapture ? oObj.releaseCapture() : function(){};
		}	
}
