document.Request = function(Item)
{
	var tmp = this.location.search.substr(1).split("&");
	var ret = new Array();
	var mm;
	if(tmp == "")
	{
		return ret;
	}
	if(arguments.length > 0)
	{
		for(var i=0; i<tmp.length; i++)
		{
			mm = tmp[i].split("=");
			if(mm[0] == Item)
			{
				ret[ret.length] = mm[1];
			}
		}
	}
	else
	{
		ret.length = 0;
		for(var i=0; i<tmp.length; i++)
		{
			mm = tmp[i].split("=");
			if(typeof(ret[mm[0]]) == "undefined")
			{
				ret[mm[0]] = new Array();
				ret.length++;
			}
			ret[mm[0]][ret[mm[0]].length] = mm[1];
		}
	}
	return ret;
}
Number.prototype.PadFix = function(width)
	{
		// 
		var cPad = ',';
		var re = new RegExp(".{1," + width + "}","g");
		var ret = new String("");
		var tmp = this.toString().split('.');
		if(tmp[0].length > width)
		{		
			var vAry = new Array();
			if((tmp[0].length % width) > 0)
			{
				vAry[0] = tmp[0].substr(0,tmp[0].length % width);
			}
			tmp[0] = vAry.concat(tmp[0].substr(tmp[0].length % width).match(re)).join(cPad);
		}
		ret = tmp.join('.');
		return ret;
	}
String.prototype.PadLeft = function(width, Char)
	{
		// .Net String.PadLeft
		var ret = new String("");
		var tmp = (arguments.length > 1) ? Char.substr(0,1) : ' ';
		var len = width - this.length;
		if (len > 0)
		{
			for(var i=0; i<len; i++)
			{
				ret = ret + tmp;
			}
		}
		return ret + this;
	}
Date.prototype.GetFullDateTime = function()
	{
		var vYear = new String(this.getFullYear());
		var vMonth = new String(this.getMonth() + 1);
		var vDate = new String(this.getDate());
		var vHours = new String(this.getHours());
		var vMin = new String(this.getMinutes());
		var vSec = new String(this.getSeconds());
		var ret = vYear.PadLeft(4, '0')
			+ "/"
			+ vMonth.PadLeft(2, '0')
			+ "/"
			+ vDate.PadLeft(2, '0')
			+ " "
			+ vHours.PadLeft(2, '0')
			+ ":"
			+ vMin.PadLeft(2, '0')
			+ ":"
			+ vSec.PadLeft(2, '0');
		return ret;
	}
Date.prototype.GetFullDate = function()
	{
		var vYear = new String(this.getFullYear());
		var vMonth = new String(this.getMonth() + 1);
		var vDate = new String(this.getDate());
		var ret = vYear.PadLeft(4, '0')
			+ "/"
			+ vMonth.PadLeft(2, '0')
			+ "/"
			+ vDate.PadLeft(2, '0')
		return ret;
	}
	function clsAcl()
	{
		this.AceFlag = new clsAceFlag();
		this.GetDocRight = GetDocRight;
		this.HasRight = HasRight;

		function clsAceFlag()
		{
			this.AccessDenided = 0;
			this.List = 1;
			this.Read = 2;
			this.Create = 4;
			this.Write = 8;
			this.Delete = 32;
			this.Permission = 128;
			this.FullControl = 65535;
		}
		
		function GetDocRight(xRoles, xAcls)
		{
			var ret = 0;
			var roles;
			var acls;
			var acl;
			var role;
			roles = xRoles.selectNodes("*");
			acls = xAcls.selectNodes("*");
			var oid;

			for(var i=0; i<roles.length; i++)
			{
				role = roles[i];
				oid = role.selectSingleNode("@oid").text;
				acl = xAcls.selectSingleNode("*[@oid='" + oid + "']");
				if(acl != null)
				{
					ret = parseInt(acl.selectSingleNode("@ace").text) | ret;
				}
			}
			return ret;
		}
		function HasRight(xRoles, xAcls, ace)
		{
			var ret = 1;
			ret = GetDocRight(xRoles, xAcls);
			ret = ret & ace ^ ace;
			return (ret == 0) ? true : false;
		}
	}
	function doSelectDate()
	{
		var obj = event.srcElement;
		var feature= "resizable:yes;center:yes;dialogWidth:180px;dialogHeight:220px;status:no;";
		feature =  feature + "dialogLeft:" + event.screenX +";";
		feature =  feature + "dialogTop:" + event.screenY +";";
		var result = window.showModalDialog('../Scripts/calendar.aspx','calendar',feature)
		obj.value = (result==null) ? obj.value:result;
	}

