// floating window frame
function fwloadpos(wndname) {
	eval("ssssFloatWindow"+wndname+".style.pixelLeft = getCookie(\"fw"+wndname+"left\");");
	eval("ssssFloatWindow"+wndname+".style.pixelTop = getCookie(\"fw"+wndname+"top\");");
}
function fwsavepos(wndname) {
	eval("setCookie(\"fw"+wndname+"left\", ssssFloatWindow"+wndname+".style.pixelLeft);");
	eval("setCookie(\"fw"+wndname+"top\", ssssFloatWindow"+wndname+".style.pixelTop);");
}

function ssFloatWindow(id, title) {
	this.id = id;
	this.name = title;
	document.write("<div id=ssssFloatWindow"+id+" style='position:absolute;display:none;cursor:default' " +
		"onselectstart='myonselectstart()' oncontextmenu='myoncontextmenu()'> " +
		"<table border=1 bordercolordark=#FFFFFF bordercolorlight=#444444 cellspacing=0 cellpadding=0>" +
		"<tr><td id="+id+"_title class=fwindowtitle align=center onmousedown=startMove(document.all.ssssFloatWindow"+id+") onmousemove=movIng(event) onmouseup=stopMove(\""+id+"\")>"+title+"</td></tr>" +
		"<tr><td id="+id+"_body class=fwindowbody align=center></td></tr>" +
		"</table></div>");
	fwloadpos(id);
}
ssFloatWindow.prototype.setTitle = function(titleHTML) { this.title = titleHTML; document.all[this.id+"_title"].innerHTML = titleHTML; };
ssFloatWindow.prototype.setBody = function(bodyHTML) { document.all[this.id+"_body"].innerHTML = bodyHTML; };

ssFloatWindow.prototype.show = function() { document.all['ssssFloatWindow'+this.id].style.display = ''; };
ssFloatWindow.prototype.hide = function() { document.all['ssssFloatWindow'+this.id].style.display = 'none'; };

ssFloatWindow.prototype.moveTo = function(x, y) {
	document.all['obj'+this.id].style.left = x;
	document.all['obj'+this.id].style.top = y;
};
ssFloatWindow.prototype.HTML = function() {
	return document.all.item('ssssFloatWindow'+this.id);
}
/// ÒÆ¶¯¶ÔÏó

var movingObject = null;
var moving = false;
var movingCapture = null;
var move_staring = false;
var fw_ox = 0, fw_oy = 0;
var fw_oldonmousemove, fw_oldonmouseup, fw_oldondragstart, fw_oldonclick;
var fw_toggle = false;
function startMove(obj, e) {
	if (!e) e = window.event;
	if (!e || movingObject) {
		return;
	}
	var o = e.srcElement;
	if (!o) o = obj;
	if(o.tagName == "A") return;
	if (!obj) obj = e.srcElement;
	if (obj.nodeName == "#text") obj = obj.parentNode;
	if (obj.tagName == "A") return;
	if ((e.button||e.which) != 1) return;
	movingObject = obj;
	fw_ox = e_getX(e); fw_oy = e_getY(e)
	movingCapture = o; if (o.setCapture) o.setCapture();
	fw_oldonmousemove = document.body.onmousemove;
	fw_oldonmouseup = document.body.onmouseup;
	fw_oldondragstart = document.body.ondragstart;
	fw_oldonclick = o.onclick;
	document.body.onmousemove = movIng;
	document.body.onmouseup = stopMove;
	document.body.ondragstart = f_cancelevent;
	move_starting = true;
	moving = false;
	if (!obj.style.position) {
		obj.style.position = 'absolute';
		fw_toggle = false;
	} else {
		fw_toggle = true;
	}
	e.cancelBubble = true;
	if (obj.tagName == 'IMG' && !obj.substImg){
		var p = obj.parentNode;
		var img = document.createElement('IMG');
		img.src = '/images/spacer.gif';
		img.width = obj.width;
		img.height = obj.height;
		obj.substImg = img;
		if (p.lastChild == obj) p.appendChild(img);
		else p.insertBefore(img, obj.nextSibling);
	}
}
function f_cancelevent() { return (false); }
function stopMove(savepos) {
	if (savepos != null && typeof savepos != "object")
		fwsavepos(savepos);
	if ((fw_toggle || moving) && movingObject) { movingObject.onclick = f_cancelevent; }
	setTimeout("move_stop()", 1);
	if (fw_toggle)
		movingObject.style.position = movingObject.style.position=='absolute'?'':'absolute';
	var obj = movingObject;
	if (obj.tagName == 'IMG' && obj.substImg && obj.style.position != 'absolute'){
		var p = obj.parentNode;
		p.removeChild(obj.substImg);
		obj.substImg = null
	}
	if (movingCapture&&movingCapture.releaseCapture)
		movingCapture.releaseCapture()
	document.body.onmousemove = fw_oldonmousemove;
	document.body.onmouseup = fw_oldonmouseup;
	document.body.ondragstart = fw_oldondragstart;
	movingCapture = null;
	moving = move_starting = false;
}
function move_stop()
{
	movingObject.onclick = fw_oldonclick;
	movingObject = null;

}
function movIng(e) {
	if (!e) e = window.event;
	if (moving && movingObject && movingObject.style) {
		var x, y, b = document.body, ex = e_getX(e), ey = e_getY(e);
		x = parseInt(movingObject.offsetLeft) + ex - fw_ox;
		y = parseInt(movingObject.offsetTop) + ey - fw_oy;
		fw_ox = ex; fw_oy = ey;
		try {
			var minx = b.scrollLeft + Math.min(0, b.offsetWidth - movingObject.offsetWidth - 20);
			var maxx = b.scrollLeft + Math.max(0, b.offsetWidth - movingObject.offsetWidth - 20);
			if (!isNaN(minx) && !isNaN(maxx)) x = Math.min(Math.max(x, minx), maxx);
		} catch(e){}
		try {
			var miny = b.scrollTop  + Math.min(0, b.offsetHeight -movingObject.offsetHeight - 20);
			var maxy = b.scrollTop  + Math.max(0, b.offsetHeight -movingObject.offsetHeight - 20);
			if (!isNaN(miny) && !isNaN(maxy)) y = Math.min(Math.max(y, miny), maxy);
		} catch(e){}
		movingObject.style.pixelLeft = movingObject.style.left = x
		movingObject.style.pixelTop = movingObject.style.top = y
		fw_toggle = false;
	} else if (move_starting) {
		if (Math.abs(fw_ox - e_getX(e)) > 5 || Math.abs(fw_oy - e_getY(e)) > 5)
		{
			move_starting = false;
			moving = true;
		}
	}
	e.cancelBubble = true;
}
function GetAbsoluteTop(elem)
{
	var topPosition = 0;
	while (elem && elem.tagName != 'BODY')
	{
		topPosition += elem.offsetTop;
		elem = elem.offsetParent;
	}
	return topPosition;
}
function GetAbsoluteLeft(elem)
{
	var leftPosition = 0;
	while (elem && elem.tagName != 'BODY')
	{
		leftPosition += elem.offsetLeft;
		elem = elem.offsetParent;
	}

	return leftPosition;
}
