// JavaScript Document

var dBody = null;
function getBody()
{
if (!dBody)
dBody = (document.compatMode && document.compatMode.indexOf('CSS') > -1) ? document.documentElement : document.body;
return dBody;
}
function getScrollX()
{
return window.pageXOffset || window.scrollX || getBody().scrollLeft || 0;
}
function getScrollY()
{
return window.pageYOffset || window.scrollY || getBody().scrollTop || 0;
}
function getMouseX(e)
{
return e.clientX + getScrollX() - document.documentElement.clientLeft - document.body.clientLeft || e.pageX || 0;
}
function getMouseY(e)
{
return e.clientY + getScrollY() - document.documentElement.clientTop - document.body.clientTop || e.pageY || 0;
}
function getBodyWidth()
{
return window.innerWidth || getBody().clientWidth || 0;
}
function getBodyHeight()
{
return window.innerHeight || getBody().clientHeight || 0;
}

function getScrollWidth()
{
	return getBody().scrollWidth || 0;
}
function getScrollHeight()
{
	return getBody().scrollHeight || 0;
}
function getRect(o)
{
	try
	{
		var rect = o.getBoundingClientRect();
		var x = rect.left + getScrollX();;
		var y = rect.top + getScrollY();;
		var w = rect.right + getScrollX();
		var h = rect.bottom + getScrollY();
		x = (-1 == BrwVer.indexOf("ie6")) ? x : x - 2;
		y = (-1 == BrwVer.indexOf("ie6")) ? y : y - 2;
		w = (-1 == BrwVer.indexOf("ie6")) ? w : w - 2;
		h = (-1 == BrwVer.indexOf("ie6")) ? h : h - 2;
		return new Array(x, y, w, h);
	}
	catch(err)
	{
		var x = this.offsetLeft
		var y = this.offsetTop;
		var w = o.offsetWidth || o.clientWidth;
		var h = o.offsetHeight || o.clientHeight;
	}
	return new Array(x, y, x + w, y + h);
}
function getSize(o)
{
	try
	{
		var rect = o.getBoundingClientRect();
		var x = rect.left;
		var y = rect.top;
		var w = rect.right;
		var h = rect.bottom;
		return {"w" : w - x, "h" : h - y};
	}
	catch(err)
	{
		var w = o.offsetWidth || o.clientWidth;
		var h = o.offsetHeight || o.clientHeight;
		return {"w" : w, "h" : h };
	}
}
var UI = {
"input"			: null,
"initInput" : function(object)
{
	object = object || document;
	var input = object.getElementsByTagName("input");
	for (i = 0, n = input.length; i < n; i ++)
	{
		var type = input[i].getAttribute("type");
		if (("text" == type || "password" == type) && input[i].getAttribute("light"))
		{
			addEvent(input[i], "focus", function(e)
			{
				var o=e.target || e.srcElement;
				o.style.borderColor = "#31261e";
				o.style.backgroundColor = "#f2ece1";
			});
			addEvent(input[i], "blur", function(e)
			{
				var o=e.target || e.srcElement;
				o.style.borderColor = "#ccc";
				o.style.backgroundColor = "#fff";
			});
		}
		if("button" == type || "submit" == type)
		{
			addEvent(input[i], "mouseover", function(e)
			{
				var o=e.target || e.srcElement;
				o.className = o.className.replace(/_on$/, "") + "_on";
			});
			addEvent(input[i], "mouseout", function(e)
			{
				var o=e.target || e.srcElement;
				o.className = o.className.replace(/_on$/, "");
			});
		}
	}
}
};


var myTitleBox;
var myTitleTextBox;
var myTitleIsShow = false;
var bodyWidthNow;
var bodyHeightNow;
function getMytitle(o)
{
	try{
		var t = o.getAttribute("mytitle");
		if (null != t && "undefined" != typeof(t) && "" != t)
		{
			return t;
		}
		return getMytitle(o.parentNode);
	}
	catch(e){}
}
function initMyTitle(object)
{
	object = object || document;
	var defaultWidht = (arguments[2]) ? arguments[2] : 300;
	myTitleBox = $("mytitle");
//	myTitleBox1 = myTitleBox.getElementsByTagName("div")[0];
	myTitleBox.style.width = defaultWidht + "px"
	myTitleTextBox = myTitleBox.getElementsByTagName("div")[0].getElementsByTagName("p")[0];
	var tags = new Array("a", "label", "input", "img");
	for (i = 0, n = tags.length; i < n; i++)
	{
		var o = object.getElementsByTagName(tags[i]);
		for (j = 0, n1 = o.length; j < n1; j++)
		{
			if (null != o[j].getAttribute("mytitle"))
			{
				addEvent(o[j], "mousemove", function(e)
				{
					e = e || event;
					var om = e.target || e.srcElement;
					var ti = getMytitle(om);
					if ("" == ti || null == ti)
					{
						return;
					}
					om.setAttribute("title", "");
					if ("none" == ti)
					{
						myTitleBox.style.display = "none";
						myTitleIsShow = false;
						return 
					}
					if (!myTitleIsShow)
					{
						myTitleTextBox.innerHTML = ti;
						myTitleBox.style.display = "block";
/*						var temp = getRect(myTitleBox1);
						myTitleBox1.style.height = (temp[3] - temp[1])+ "px";*/
					}
					myTitleIsShow = true;
					var x = getMouseX(e);;
					var y = getMouseY(e);
					var xsp = 0;
					
					if ("input" == om.tagName.toLowerCase())
					{
						if ("text" == om.getAttribute("type").toLowerCase() || "password" == om.getAttribute("type").toLowerCase())
						{
							x -= 4;
							y -= 11;
						}
					}
					var tempRect = getRect(myTitleTextBox);
					var tempWidth = tempRect[2] - tempRect[0];

					if (getBodyWidth() - x + getScrollX() < tempWidth + 16)
					{
						x -= tempWidth + 10;
					}
					x = x - 290 + tempWidth;
					myTitleBox.style.left = x + "px";
					myTitleBox.style.top = (y + 23) + "px";
				});
				addEvent(o[j], "mouseout", function()
				{
					myTitleBox.style.display = "none";;
					myTitleIsShow = false;
				});
			}
		}
	}
}


function ctrolSize(o, a, b)
{
	var top = 0;
	var right = 0;
	addEvent(o, "focus", function(e)
	{
		
	});
}
function changeInputSize(o, editer, hMax)
{
	var hStart = 0;
	var yStart = 0;
	var hNow = 0;
	var start = false;
	var hDefault = editer.height;
	document.body.onselectstart = document.body.ondrag = function()
	{
		
		if (start)
		{
			return false
		}
	}
	o.ondblclick = function()
	{
		var h = (hNow == hMax) ? hDefault : hMax;
		hNow = h;
		editer.reSize(h - 2, true);
	};
	o.onmousedown = function(e)
	{
		document.body.onselectstart = function(){return false;}
		e = e || event;
		yStart = getMouseY(e);
		hStart = editer.height;
		start = true;
		window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
		this.className = o.className = this.className.replace('_on', '') + "_on";
		return false;
	};
	addEvent(document, "mousemove", function(e)
	{
		if (start)
		{
			e = e || event;
			var y = getMouseY(e);
			hNow = hStart + (y - yStart);
			hNow = (hNow < hDefault) ? hDefault : hNow;
			hNow = (hNow > hMax) ? hMax : hNow;
			editer.reSize(hNow - 2);
		}
	});
	addEvent(document, "mouseup", function(e)
	{
		document.body.onselectstart = function(){return true;}
		try
		{
			o.className = o.className.replace('_on', '');
			editer.reSize(hNow - 2, true);
		}
		catch(e){}
		start = false;
	});
}

function initHotBar(o, maxNumText, ttl)
{
	var olen = o.length;
	var n = 0;
	var div = new Array();
	o = o.getElementsByTagName("span");
	var oLen = o.length;
	var minNum = 500000000;
	var maxNum = 0;
	var minNumText = maxNumText;
	ttl = ttl / 10;
	
	for (i = 0; i < oLen; i++)
	{
		var t = o[i].getAttribute("num");
		
		if (null != t && "undefined" != typeof(t))
		{
			var num = parseInt(t);
			var rect = getRect(o[i]);
			var widthNow = rect[2] - rect[0] - 13
			minNum = minNum > num ? num : minNum;
			maxNum = maxNum < num ? num : maxNum;
			minNumText = minNumText > widthNow ? widthNow : minNumText;
			div[n++] = {"num" : num, "begin" : widthNow, "o" : o[i], "step" : 0};
		}
	}
	for (i = 0; i < n; i++)
	{
		var end = (maxNumText - minNumText) / (maxNum - minNum) * (div[i].num - minNum) + minNumText;
		end = end < div[i].begin ? div[i].begin : end;
		div[i].step = (end - div[i].begin)  /  ttl * 5;
	}
	

	var times = ttl / 5;

	
	function showBar()
	{
		var n = div.length
		for (i = 0; i < n; i++)
		{
			if (div[i].step)
			{
				div[i].begin += div[i].step;
				div[i].o.style.width = div[i].begin + "px";
			}
		}
		times --;
		if (times > 0)
		{
			setTimeout(function(){showBar()}, 30);
		}
		
	}
	showBar();
}