var windowControl = {
	
	init: function (modulePath, tmpPath, imageDelButText, optSeledText, ImpDelText) {
		this.modulePath = modulePath;
		this.tmpPath = tmpPath;
		this.imageDelButText = imageDelButText;
		this.optSeledText = optSeledText;
		this.ImpDelText = ImpDelText;
		this.dragMoveObject = null;
		this.dragObjectId = '';
		this.moveTarget = null;
		this.dragObjectX = 0;
		this.dragObjectY = 0;
		this.dragMouseX = 0;
		this.dragMouseY = 0; 
		this.cusX = 0;
		this.cusY = 0;

		this.windowId = 0;
		this.windowNum = 1;
		this.windowStartX = 30;
		this.windowStartY = 50;
		this.windowSpaceX = 30;
		this.windowSpaceY = 30;
		this.windowFoucs;
		this.windowTopCus = 60;
	},

	dragOnMouseDown: function (e) {
		windowControl.changeFocus();
		try {
			windowControl.dragMoveObject=window.event.srcElement
		}
		catch(E) {
			windowControl.dragMoveObject=e.target
		}
		windowControl.moveTarget = document.getElementById(windowControl.windowFoucs);
		var pos = XMLHttp.getObjectPos(windowControl.moveTarget);
		
		if (windowControl.dragMoveObject.className.indexOf("window_") >= 0) {
			//dragMoveObject.style.cursor="move";
			try{
				windowControl.dragObjectX=window.event.x-windowControl.dragMoveObject.offsetLeft;
			}
			catch(E) {
				windowControl.dragObjectX=e.pageX-windowControl.dragMoveObject.offsetLeft;
			}
			try {
				windowControl.dragObjectY=window.event.y-windowControl.dragMoveObject.offsetTop;
			}
			catch(E) {
				windowControl.dragObjectY=e.pageY-windowControl.dragMoveObject.offsetTop;
			}
		}
		else {
			windowControl.dragMoveObject=null;
			windowControl.dragstop();
		}

		windowControl.cusX = pos[0];
		windowControl.cusY = pos[1];
	},

	dragOnMouseMove: function (e){
		if (windowControl.dragMoveObject==null) return false;
		try {
			windowControl.dragMouseX=window.event.x;
		}
		catch(E) {
			windowControl.dragMouseX=e.pageX;
		}
		try {
			windowControl.dragMouseY=window.event.y
		}
		catch(E) {
			windowControl.dragMouseY=e.pageY;
		}
		windowControl.moveTarget.style.left=windowControl.dragMouseX-windowControl.dragObjectX+windowControl.cusX+"px";
		windowControl.moveTarget.style.top=windowControl.dragMouseY-windowControl.dragObjectY+windowControl.cusY+"px";
	},
	
	dragOnMouseUp: function () {
		if (windowControl.dragMoveObject==null) return false;
		//drag_move_object.style.cursor="auto";
		windowControl.dragMoveObject=null;
	},
	
	dragstart: function () {
		document.onmousedown=windowControl.dragOnMouseDown;
		document.onmousemove=windowControl.dragOnMouseMove;
		document.onmouseup=windowControl.dragOnMouseUp;
	},
	
	dragstop: function () {
		document.onmousedown=null;
		document.onmousemove=null;
		document.onmouseup=null;
	},

	windowOpen: function (windowId, linkPath, formValue, setLocal, callBack) {
		try {
			eval('document.getElementById("'+windowId+'").style.display = "block";');
			this.dragObjectId = windowId;
			this.changeFocus();
		}
		catch(E) {
			this.windowSpaceNum = this.windowNum % 10;
			this.windowX = this.windowStartX + this.windowSpaceX * this.windowSpaceNum;
			this.windowY = this.windowStartY + this.windowSpaceY * this.windowSpaceNum;
			this.windowZ = 20+this.windowNum;

			var newWindow = document.createElement('DIV');
			newWindow.style.display="block";
			newWindow.style.position="absolute";
			newWindow.className="window_bg";
			newWindow.style.zIndex=this.windowZ;
			if (setLocal) {
				newWindow.style.top=parseInt(setLocal[1]+this.windowX)+"px";
				newWindow.style.left=parseInt(setLocal[0]+this.windowY)+"px";
			} else {
				newWindow.style.top=this.windowX+"px";
				newWindow.style.left=this.windowY+"px";
			}
			eval("var window"+windowId+" = newWindow;");
			eval("window"+windowId+".setAttribute('id', '"+windowId+"');");
			eval("showWindow.appendChild(window"+windowId+");");
			try {
				eval("document.getElementById('"+windowId+"').addEventListener('mousedown', function () {windowControl.dragObjectId = '"+windowId+"'}, false);");
				eval("document.getElementById('"+windowId+"').addEventListener('mousedown', this.dragstart, false);");
				eval("document.getElementById('"+windowId+"').addEventListener('mouseup', this.dragstop, false);");
			} catch(error) {
				eval("document.getElementById('"+windowId+"').attachEvent('onmousedown', function () {windowControl.dragObjectId = '"+windowId+"'});");
				eval("document.getElementById('"+windowId+"').attachEvent('onmousedown', this.dragstart);");
				eval("document.getElementById('"+windowId+"').attachEvent('onmouseup', this.dragstop);");
			}
			
			this.windowNum++;
			eval("this.windowFoucs = '"+windowId+"';");
		}
		eval("XMLHttp.sendReq('POST', linkPath, formValue, callBack, '"+windowId+"', 'windowOpen');");
	},
	
	windowClose: function (windowId) {
		//var docs = document.getElementById('showWindow');
		eval("var windowDiv = document.getElementById('"+windowId+"');");
		//docs.removeChild(windowDiv);
		windowDiv.style.display = "none";
	},
	
	changeFocus: function () {
		if (windowControl.dragObjectId != windowControl.windowFoucs) {
			eval("tmp_z = document.getElementById('"+windowControl.dragObjectId+"').style.zIndex;");
			eval("document.getElementById('"+windowControl.dragObjectId+"').style.zIndex = document.getElementById('"+windowControl.windowFoucs+"').style.zIndex;");
			eval("document.getElementById('"+windowControl.windowFoucs+"').style.zIndex = tmp_z");
			eval("windowControl.dragMoveObject = document.getElementById('"+windowControl.windowFoucs+"')");
			eval("windowControl.moveTarget = document.getElementById('"+windowControl.dragObjectId+"')");
			windowControl.windowFoucs = windowControl.dragObjectId;
		}
	},
	
	selectMenu: function (formName, curr, target) {
		
	},

	end: function () {
	}
};