var w = window, d = document, CbOS, GPA, gpa = {};
if (!w.top)
	w.top = w;
(
	function(aTypes)
	{
		for(var j, i = 0; i < aTypes.length; ++i)
			for(j = 0; j < aTypes.length; ++j)
				window[aTypes[i]].prototype["is" + aTypes[j]] = window[aTypes[i]].prototype[aTypes[j].charAt(0).toLowerCase()]  = i == j;
	}(["Array", "Date", "String", "Boolean", "Number"])
);
Function.prototype.Run = function()
{
	return this.apply(window, arguments);
};
String.prototype.Trim = function()
{
	var method = {
		L : new RegExp().compile(/^\s*/g),
		R : new RegExp().compile(/\s*$/g),
		A : new RegExp().compile(/(^\s*)|(\s*$)/g)
	};
	return function(aMethod)
	{
		return this.replace(method[aMethod || "A"], "");
	};
}();
Date.prototype.DateFormat = function()
{
	return (this.getMonth() + 1).PadL(2) + "/" + this.getDate().PadL(2) + "/" + this.getFullYear().PadL(4);
};
Number.prototype.DateFormat = function()
{
	return new Date(this).DateFormat();
};
Number.prototype.TimeFormat = function()
{
	var i = Math.floor(this / 60);
	return (i > 12 ? i - 12 : i).PadL(2) + ":" + (this % 60).PadL(2) + " " + (i > 12 ? "PM" : "AM");
};
String.prototype.TimeFormat = function()
{
	var i = this.split(":");
	return i[0].Trim().PadL(2) + ":" + i[1].substring(0, 2).Trim().PadL(2) + i[1].substring(2, 5).toUpperCase();
};
Number.prototype.Between = function(aMin, aMax)
{
	return this >= aMin && this <= aMax;
};
String.prototype.PadL = function(aLength, aValue)
{
	if (this.length >= aLength)
		return this;
	var	value = [];
	aValue = String(top.CbOS.is.Null(aValue, 0));
	aLength -= this.length;
	while (value.length < aLength)
		value.push(aValue);
	value.push(this);
	return value.join("");
};
Number.prototype.PadL = function(aLength, aValue)
{
	return this.toString().PadL(aLength, aValue);
};
String.prototype.toArray = function(aSplit)
{
	return this.split(top.CbOS.is.Null(aSplit, ","));
};
Array.prototype.toArray = function()
{
	return this;
};
Array.prototype.Prefix = function(aPrefix)
{
	for(var i = 0; i < this.length; ++i)
		this[i] = aPrefix + this[i];
	return this;
};
Array.prototype.Suffix = function(aSuffix)
{
	for(var i = 0; i < this.length; ++i)
		this[i] += aSuffix;
	return this;
};
Array.prototype.GV = function(aIndex, aParam)/*get value*/
{
	return (
			top.CbOS.is.Def(aParam = (aParam && !top.CbOS.is.Def(this[aIndex]))
			?
			this.GV(aIndex - 1, aParam)
			:
			this[aIndex]) && !aParam.isArray
		)
		?
		String(aParam)
		:
		aParam;
};
Array.prototype.toNumber = function()
{
	var o = [];
	for(var i = 0; i < this.length; ++i)
		o.push(top.CbOS.to.Float(this[i]));
	return o;
};
Boolean.prototype.GV = Number.prototype.GV = function()/*get value*/
{
	return this.toString();
};
String.prototype.GV = function()/*get value*/
{
	return String(this);
};
dump = function(aObj, aNames, aCount)
{
	if(typeof aObj == "object" || typeof aObj == "function")
	{
		var out = [], listProp = new String(",innerHTML,outerHTML,innerText,outerText,");
		if (!aCount)
			aCount = 7;
		if(aNames)
			aNames = aNames.join(",").toLowerCase().split(",");
		for(var name in aObj)
		{
			if(aNames)
			{
				var lowerName = name.toLowerCase();
				for (var j = 0; j < aNames.length; ++j)
				{
					if (aNames[j] == lowerName)
					{
						lowerName = null;
						break;
					}
				};
				if(lowerName)
					continue;
			};
			if (new RegExp("^," + name + ",{1}.*$", "i").test(listProp))
				alert(name + " = " + aObj[name]);
			else
			{
				out.push(name + " (" + typeof(aObj[name]) + ") ");
				var err;
				try
				{
					out[out.length - 1] += "= " + aObj[name];
				}
				catch(err)
				{
					out[out.length - 1] += "[dump error]";
				};
				if( out.length == aCount)
				{
					alert(out.join("\n"));
					out = [];
				};
			};
		};
		if (out.length)
			alert(out.join("\n"));
	}
	else
		alert("(" + typeof(aObj) + ") " + aObj);
};

CbOS={
	TimeZoneInfo: function(aShift, aDate)
	{
		var year = new Date().getFullYear(), r1 = Date.UTC(year, 0, 0, 0), r3 = Date.UTC(year + 1, 0, 0, 0, -1), r2 = r1 + (r3 - r1) / 2;
		var shift = new Date(r2).getTimezoneOffset() -  new Date(r1).getTimezoneOffset();
		var res = [year, ", ", new Date(year, 0).getTimezoneOffset() + Math.max(0, shift)];
		if (shift != 0)
		{
			var d1 = new Date(aShift(r1, r2, aShift)), d2 = new Date(aShift(r2, r3, aShift));
			aDate(res, shift < 0 ? d2 : d1, year);
			aDate(res, shift < 0 ? d1 : d2, year);
		};
		return res.join("")
	}
	(
		function(aStart, aEnd, aShift)
		{
			if (aEnd - aStart <= 1000)
				return aStart;
			var midd = aStart + (aEnd - aStart) / 2, offset = new Date(midd).getTimezoneOffset();
			if (offset - new Date(aStart).getTimezoneOffset())
				return aShift(aStart, midd, aShift);
			if (new Date(aEnd).getTimezoneOffset() - offset)
				return aShift(midd, aEnd, aShift);
			return midd;
		},
		function(aArray, aTime, aYear)
		{
			aArray.push(", ", aTime.getMonth() + 1, "/", aTime.getDate(), "/", aYear, " ", aTime.getHours(), ":", aTime.getMinutes())
		}
	),
	Messages:
	{
		InternalError: new String("Internal error was occurred!")
	},
	BgImg: {},
	EVENTS: {},
	TEMP: {},
	Session: {},
	del: function(aObj, aName, aRun)
	{
		with (CbOS)
			if (aRun)
			{
				if (aObj.getAttribute && is.Def(aObj.getAttribute(aName)))
					aObj.removeAttribute(aName);
				if (is.Def(aObj[aName]))
				{
					aObj[aName] = null;
					delete aObj[aName];
				};
			}
			else
				run.Recursion.a1(del, aObj, aName);
	},
	Title: function(aObj, aHint)
	{
		aObj.hideFocus = true;
		CbOS.Hint.Create(aObj, aHint);
	},
	rem: function(aObj, aAll)
	{
		if(aObj)
		{
			var obj;
			if (aAll)
			{
				obj = aObj;
				while (aObj.hasChildNodes())
					aObj.removeChild(aObj.firstChild);
			}
			else
				(obj = aObj.parentNode).removeChild(aObj);
			return obj;
		}
	},
	IE: function(aIE, aMoz, aOpera)
	{
		with (CbOS.is)
			return ie ? aIE : (op9 ? Null(aOpera, aMoz) : aMoz);
	},
	label: function(aEvent, aObj)
	{
		if (aObj.htmlFor)
			with (CbOS)
			{
				Fcs(aObj = get.Obj(aObj.htmlFor, aObj));
				var objType = aObj.type;
				if (objType != "radio" && objType != "checkbox")
				{
					run.Event(aObj, aObj, "onclick");
					return set.CBubble(aEvent);
				}
			}
	},
	Fcs: function(aObj, aFlag)
	{
		if (aObj)
			with (CbOS)
			{
				if (aObj.cbosFcsObj)
					Fcs(aObj.cbosFcsObj, aObj.sel);
				else if (is.Enabled(aObj))
				{
					SM.run.Event(aObj, aObj);
					aObj.setAttribute("autocomplete", "off");
					mask.Edit(aObj);
					var err;
					try
					{
						aObj.focus();
						if ((aFlag || is.Cls(aObj, "empty")) && aObj.value)
						{
							var o = aObj.createTextRange();
							o.collapse(true);
							o.moveStart('textedit', aFlag ? -1 : 1);
							o.moveEnd('textedit', 1);
							o.select();
						}
					}
					catch (err)
					{
						if (is.Tag(aObj = aObj.parentNode, ["A", "LI"]))
							Fcs(aObj);
					}
				}
			}
	},
	Boot: {
		TaskBar: function(aObj, aClass, aEvent, aHint, aId)
		{
			var obj;
			with (CbOS)
			{
				create.Element("DIV", obj = create.Element("LI", aObj, null, aId),  aClass).innerHTML = "&nbsp;";
				Hint.Create(
					SM.set.Event(obj,
						_.y,
						"return CbOS.SM.on." + aEvent
					),
					aHint
				);
			};
			obj.disabled = true;
		},
		Init: function()
		{
			with (CbOS)
			{
				if(wd.ScreenInit && !wd.Stop)
				{
					SM.set.Event(
						create.Element('DIV', null, 'wins', wd.wins = get.PK()),
						"onscroll",
						"CbOS.SM.on.WinsScroll(this)"
					);
					wd.modal = {};
					wd.del = {};
					create.Element('DIV', null, 'space', wd.space = get.PK());
					with (wd.taskbar = {
							Panel: get.PK(),
							ShowHide: get.PK(),
							Cascade: get.PK(),
							Prev: get.PK(),
							Next: get.PK(),
							PNS: get.PK()
						}
					)
					{
						var obj = create.Element("UL", create.Element('DIV', null, 'ql', Panel));
						this.TaskBar(obj, "qlShowHide", "ShowDesktop(event)", "Show Desktop", ShowHide);
						this.TaskBar(obj, "qlCascade", "CascadeWindows(event)", "Cascade Windows", Cascade);
						create.Element("LI", obj, "qlS").innerHTML = "&nbsp";
						this.TaskBar(obj, "qlPrev", "qlPrev(event,this)", "Previous", Prev);
						this.TaskBar(obj, "qlNext", "qlNext(event,this)", "Next", Next);
						SM.set.Event(obj.parentNode,
							_.y,
							"with (CbOS) if (is.Tag(get.eObj(event), 'DIV')) set.CBubble(event); else SM.on.Focus()"
						);
						create.Element("LI", obj, "qlS").innerHTML = "&nbsp";
						create.Element("LI", obj, "qlS", PNS).innerHTML = "&nbsp";
					}
					create.Window(wd.Template.Screen, wd.ScreenInit);
					del(wd, "ScreenInit");
					SM.set.Event(
						SM.set.Event(w,
							"onresize",
							"top.CbOS.SM.on.Resize()"
						),
						"onscroll",
						"w.scrollTo(0, 0)"
					);
					create.Element('DIV',
						create.Element('DIV',
							create.Element('DIV',
								create.Element('DIV',
									null,
									"menu0",
									Hint.Box = get.PK()
								),
								"menu1"
							),
							"menu3"
						),
						"hint0",
						Hint.Content = get.PK()
					);
					SM.on.Resize();
				};
				delete Boot;
			}
		}
	}
};
/*to*/
CbOS.to = {
	Xml: function(aObj)
	{
		var list = [];
		for (var i in aObj)
			if (CbOS.is.Def(aObj[i]))
				list.push('<', i, '>', CbOS.set.HTMLEncode(aObj[i]), '</', i, '>');
		return list.join("");
	},
	CamelCase: function(aStyle)
	{
		var list = [(aStyle = aStyle.split('-'))[0]];
		for(var i = 1; i < aStyle.length; ++i)
			list.push(aStyle[i].charAt(0).toUpperCase(), aStyle[i].substring(1));
		return list.join("");
	},
	Int: function(aValue)
	{
		return isNaN(aValue = parseInt(aValue, 10)) ? 0 : aValue;
	},
	Float: function(aValue)
	{
		return isNaN(aValue = parseFloat(aValue, 10)) ? 0 : aValue;
	},
	Precision: function(aValue)
	{
		aValue = CbOS.to.Float(aValue);
		var entered = true, fixed = 0, nDigits = 16, valStr = "" + aValue;
		if (valStr.indexOf("N") >= 0 || (aValue == 2 * aValue && aValue == 1 + aValue))
			return 0;/* Error */
		var i = valStr.indexOf("e");
		if (i >= 0)
		{
			var expStr = valStr.substring(i + 1, valStr.length);
			if (i > nDigits - 5)
				i = nDigits - 5;
			valStr = valStr.substring(0, i);
			if (valStr.indexOf(".") < 0)
				valStr += ".";
			valStr += " " + expStr;
		}
		else
		{
			var valNeg = false;
			if (aValue < 0)
			{
				aValue = -aValue;
				valNeg = true;
			};
			var expval = Math.log(aValue) * Math.LOG10E;
			if (aValue == 0)
				expval = 0;
			else if (expval > nDigits - 5)
				aValue /= Math.pow(10, expval = Math.floor(expval));
			else if (-expval > nDigits - 5)
				aValue /= Math.pow(10, expval = Math.ceil(expval));
			else
				expval = 0;
			var valInt = Math.floor(aValue), valFrac = aValue - valInt, prec = nDigits - ("" + valInt).length - 1;
			if (prec < 0)
				return 0;/*"Error"*/
			if (!entered && fixed > 0)
				prec = fixed;
			var mult = " 1000000000000000000".substring(1,prec + 2), frac = Math.floor(valFrac * mult + .5);
			valStr = (valNeg ? "-" : "") + (valInt = Math.floor(Math.floor(aValue * mult + .5) / mult));
			var fracStr = "00000000000000" + frac;
			i = (fracStr = fracStr.substring(fracStr.length - prec, fracStr.length)).length - 1;
			if (entered || fixed == 0)
			{
				while (i >= 0 && fracStr.charAt(i) == "0")
					--i;
				fracStr = fracStr.substring(0, i + 1);
			};
			if (i >= 0)
				valStr += "." + fracStr;
			if (expval != 0)
				valStr += " " + expval;
		};
		return valStr;
	},
	Fixed: function()
	{
		var method = new RegExp().compile(/^(-0){1}[.]*[0]*$/);
		return function(aNumber, aCount)
		{
			return method.test(aNumber = CbOS.to.Float(CbOS.to.Precision(aNumber)).toFixed(aCount)) ? (0).toFixed(aCount) : aNumber;
		};
	}()
};
CbOS.get={
	Unique:function(aList, aObj)
	{
		var flag, obj1, obj2;
		do
		{
			flag = false;
			for (var i, j = 0; !flag && j < aList.length - 1; ++j)
				for (i = j + 1; !flag && i < aList.length; ++i)
					if ((flag = aList[j] == aList[i] || CbOS.is.Child(obj1 = CbOS.get.Obj(aList[j], aObj), obj2 = CbOS.get.Obj(aList[i], aObj))))
						aList.splice(j, 1);
					else if ((flag = CbOS.is.Child(obj2, obj1)))
						aList.splice(i, 1);
		}
		while(flag);
		return aList;
	},
	ValueByAttr: function(aObj, aAttr)
	{
		for (var i; CbOS.is.Obj(aObj); aObj = aObj.parentNode)
			if ((i = aObj.getAttribute(aAttr)))
				return i;
	},
	VSAtr: function(aObj, aData)
	{
		if (!aData)
			aData = [];
		if (aObj && !CbOS.is.Tag(aObj, "FORM"))
			aObj = CbOS.get.node.Child(aObj, "FORM") || CbOS.get.node.Parent(aObj, "FORM");
		if (aObj){
			var i = aObj.__VIEWSTATE;
			if (i)
			{
				aData.push([i.name, i.value]);
				if ((i = aObj.__VIEWSTATE_KEY))
					aData.push([i.name, i.value]);
				if ((i = aObj.__EVENTVALIDATION))
					aData.push([i.name, i.value]);
			}
		};
		if (aData.length)
			return {Attributes: aData};
	},
	Ajax: function(aObj)
	{
		if (aObj.getAttribute)
			for (var i; CbOS.is.Obj(aObj); aObj = aObj.parentNode)
				if  ((i = aObj.getAttribute("ajax")))
				{
					if (!aObj.id)
						aObj.id = CbOS.get.PK();
					return {o: aObj, ajax: i == "true"};
				};
	},
	Url: function(aObj)
	{
		return CbOS.get.Win(aObj).location.href.split("?")[0];
	},
	Element: function(aForm, aValue)
	{
		for (var elm = aForm.elements, data, i = 0; i < aForm.length; ++i)
		{
			data = elm[i].name.split(":");
			if (data[data.length - 1] == aValue)
				return elm[i];
		}
	},
	Root: function(aObj)
	{
		with(CbOS)
		{
			var skin = ((aObj = get.Win(aObj)) == w || !(aObj = wd.win[aObj.name]) || !aObj.A) ? Skin : aObj.A.Skin;
			return jsROOT + (skin ? "company/" + skin + "/" : "");
		}
	},
	Modal: function(aWin)
	{
		with(CbOS)
			for(var i in wd.modal)
				if (!aWin || aWin.A.Created < wd.win[i].A.Created)
					aWin = wd.win[i];
		return aWin;
	},
	Press: function(aText, aBegin, aEnd)
	{
		aText = String(aText);
		if (!aBegin)
			aBegin = 0;
		return aText.substring(aBegin, CbOS.is.Null(aEnd, aText.length - aBegin) + aBegin).replace(/ /g,"");
	},
	Name: function(aObj)
	{
		aObj = aObj.className.split(" ")[0];
		return aObj.substring(0, aObj.length - 1);
		/*+(CbOS.is.Cls(o.parentNode,["btn2Shadow1","btn2Shadow0"])?"/2":"")*/
	},
	bgImage: function(aObj, aCount)
	{
		if (aObj && (aObj = CbOS.get.Style(aObj, "background-image").replace(/"/g,"")) != "none")
			return aObj.substring(4, aObj.length - 5 - (aCount || 0));
	},
	Index: function(aValue, aArray)
	{
		for (var i = 0; i < aArray.length; ++i)
			if (aArray[i] == aValue)
				return i;
	},
	Position: function(aObj)
	{
		if (CbOS.is.ie)
		{
			aObj = CbOS.get.Doc(aObj).selection.createRange();
			var i = {t: aObj.text, o: aObj.duplicate()};
			aObj.moveStart('textedit', -1);
			i.p = aObj.text.length;
			return i;
		}
	},
	Time: function(aObj)
	{
		if(!CbOS.is.Def(aObj) || aObj.isDate  || !CbOS.is.Time(aObj))
			return aObj || null;
		var i = aObj.split(":");
		if (i[1].length > 2)
			i[1] = i[1].substring(0, i[1].length - 2);
		if ((i = i.toNumber())[1] < 60
			&&
			i[0] < ((i[3] = (i[4] = (i[2] = aObj.charAt(aObj.length - 2).toUpperCase()) == "P") || i[2] == "A") ? 13 : 25)
		)
			return (((i[3] && i[0] == 12) ? 0 : i[0]) + (i[4] ? 12 : 0)) * 60 + i[1];
	},
	Date:function(aObj)
	{
		if(!CbOS.is.Def(aObj) || aObj.isDate || !(aObj = CbOS.is.Date(aObj)))
			return aObj || null;
		var a = aObj.toArray("/").toNumber();
		if (a[2] > 1752
			&&
			(a[3] = CbOS._.Month[a[0] = Math.max(--a[0], 0)])
			&&
			(a[4] = new Date(a[3] = a[3][0] + " " + a[1] + ", " + a[2]))
			&&
			a[4].getMonth() == a[0]
			&&
			a[4].getDate() == a[1]
			&&
			a[4].getFullYear() == a[2]
		)
			return a[4];
	},
	Win: function(aObj)
	{
		return (aObj = CbOS.get.Doc(aObj)) && (aObj.defaultView || aObj.parentWindow || aObj);
	},
	Doc: function(aObj)
	{
		return aObj && (aObj.ownerDocument || aObj.document || aObj);
	},
	iWin: function(aObj)
	{
		return this.Win(this.iDoc(aObj));
	},
	iDoc: function(aObj)
	{
		return aObj && (aObj.contentDocument ? aObj.contentDocument : (aObj.contentWindow ? aObj.contentWindow.document : ((aObj = CbOS.get.Win(aObj).frames[aObj.name]) && aObj.document)));
	},
	PK: function()
	{
		var pk = "p" + (new Date() * 1).toString(32), pkn = 0;
		return function(aName)
		{
			if (aName)
				return aName;
			if (pkn > 99999)
			{
				pkn = 0;
				pk = "p" + (new Date() * 1).toString(32);
			};
			return pk + (++pkn).toString(32);
		}
	}(),
	Base: function(aUrl)
	{
		if (CbOS.is.URL(aUrl))
			return aUrl;
		var o = d.getElementsByTagName("BASE");
		return (o.length ? o[0].href : '') + (aUrl || "");
	},
	iURL:function(o,i){with(CbOS.get) if(o.a){for(i=0;i<o.length;i++) o[i]=iURL(o[i]); return o}else return o=="none"?o:"url("+Base(o)+")"},
	Obj:function(o,p){return (!o||!o.s)?o:CbOS.get.Doc(p||d).getElementById(o)},
	eObj:function(o){if(!o||o.nodeName||!(o=o.srcElement||o.target)) return o; if(!o.nodeName) return; while(CbOS.is.Tag(o,["#TEXT","OPTION"])) o=o.parentNode; return o},
	X:function(o){return (o.clientX||o.pageX||0)+CbOS.get.sLeft(CbOS._.O(o))},
	Y:function(o){return (o.clientY||o.pageY||0)+CbOS.get.sTop(CbOS._.O(o))},
	Left:function(o,i,k){with(CbOS) for(i=get.Diff(o,'left')-get.sLeft(o);o;o=o.offsetParent) i+=o.offsetLeft-o.scrollLeft; return i},
	Top:function(o,i){with(CbOS) for(i=get.Diff(o,'top')-get.sTop(o);o;o=o.offsetParent) i+=o.offsetTop-o.scrollTop; return i},
	eLeft:function(e,o,k){with(CbOS) if((o=_.O(e))) return (is.ie&&is.Win(o))?e.clientX-e.offsetX-_.G(o,"border-left-width",1)+get.Diff(o,"left"):(get.Left(o)+get.sLeft(o))},
	eTop:function(e,o,k){with(CbOS) if((o=_.O(e))) return (is.ie&&is.Win(o))?e.clientY-e.offsetY-_.G(o,"border-top-width",1)+get.Diff(o,"top"):(get.Top(o)+get.sTop(o))},
	sLeft:function(o){return CbOS.get.Doc(o).body.scrollLeft},
	sTop:function(o){return CbOS.get.Doc(o).body.scrollTop},
	Diff:function(o,n,k,i,a){with(CbOS){
			k=(k=is.Win(o))?(n=="top"?get.Top(_.F(k.F)):get.Left(_.F(k.F))):0;
			while((o=_.T(o,"DIV"))&&is.Absolute(o))	k+=_.G(o,"border-"+n+"-width",1);
			return k
		}
	},
	Width:function(o){return o.offsetWidth},
	Height:function(o){return o.offsetHeight},
	sWidth:function(){with(CbOS) return Math.max(100,is.ie?_.W(d.body):innerWidth)},
	sHeight:function(){with(CbOS) return Math.max(100,is.ie?_.H(d.body):innerHeight)},
	Value:function(o,t){
		with(CbOS) if(is.Tag(o,"UL"))
			return get.Value(is.Tag(o.firstChild.firstChild,"INPUT")||_.C(o,"INPUT",null,"text"),t);
		else if(is.Tag(o,"A")&&(is.CheckBox(o)||is.RadioBox(o)))
			return o.lastChild.value;
		else if(is.In(o.type,["text","password","textarea","hidden","file"]))
			return t?o.value.Trim(t):o.value;
		else if(o.type=="select-one")
			return o.selectedIndex<0?"":o.options[o.selectedIndex].value;
		else return o.checked;
	},
	Style:function(o,s,n,r){
		if(o) with(CbOS){
			if(!(r=o.style[to.CamelCase(s)])){
				if((r=get.Doc(o)).defaultView)
					r=r.defaultView.getComputedStyle(o,"").getPropertyValue(s);
				else
					if(o.currentStyle)
						r=o.currentStyle[to.CamelCase(s)]
			};
			return n?to.Int(r):r
		};
		return 0
	},
	node:{
		Child:function(o,n,c,t,i){
			if(!o) return;
			o=o.getElementsByTagName(n);
			for(i=0;i<o.length; i++)
				if((!c||CbOS.is.Cls(o[i],c))&&(!t||CbOS.is.In(o[i].type,t)))
					return o[i]
		},
		Parent:function(o,n,c,t){
			with(CbOS.is)
				if(o&&(!t||Tag(o,t)))
					for(o=o.parentNode;o;o=o.parentNode)
						if(Tag(o,n)&&(!c||Cls(o,c))) return o
		},
		First:function(o,n){with(CbOS.is) for(o=o.firstChild;o;o=o.nextSibling) if(Tag(o,n)) return o},
		Last:function(o,n){with(CbOS.is) for(o=o.lastChild;o;o=o.previousSibling) if(Tag(o,n)) return o},
		Prev:function(o,n,i){if(i){do{o=CbOS.get.node.Prev(o,n)}while(o&&--i);return o}else with(CbOS.is) for(o=o.previousSibling;o;o=o.previousSibling) if(Tag(o,n)) return o},
		Next:function(o,n,i){if(i){do{o=CbOS.get.node.Next(o,n)}while(o&&--i);return o}else with(CbOS.is) for(o=o.nextSibling;o;o=o.nextSibling) if(Tag(o,n)) return o},
		Sibling:function(o,n,i){for(i=0;i<Math.abs(n);i++) if(n>0&&o.nextSibling) o=o.nextSibling; else if(n<0&&o.previousSibling) o=o.previousSibling; else break; return o}
	}
};
/*is*/
(function(o,a,b,c,i,v,k,e){
	i=CbOS.get.node.Child(d,"SCRIPT");
	v=i.getAttribute("src").replace(/^.*(JavaScript\.ashx\?file=){1}/,"")
	CbOS.jsROOT=v?v.substring(0,v.length-12):"";
	CbOS.Skin=i.getAttribute("Company");
	CbOS.ProjectName=i.getAttribute("projectname");
	k=false;
	if(navigator.plugins&&navigator.plugins.length){
		for(var x=0,l=navigator.plugins.length;x<l;++x)
			if(navigator.plugins[x].description.indexOf('Adobe Acrobat')!=-1){
				k.installed=true;
				break;
			}
	}else if(w.ActiveXObject){
		for(var x=2;x<10;++x)
			try
			{
				i=new ActiveXObject('PDF.PdfCtrl.'+x);
				if(i) k=true;
			}catch(e){}
		if(!k)
		{
			try
			{
				i=new ActiveXObject('PDF.PdfCtrl.1');
				if(i) k=true;
			}catch(e){}
			if(!k)
				try
				{
					i=new ActiveXObject('AcroPDF.PDF.1');
					if(i) k=true;
				}catch(e){}
		}
	}
	o.AdobeReader=k;
	for(i=0;i<c.length;i++)
		if(a.indexOf(c[i][0])>=0){
			k=c[i][1];
			o.Substr=function(a,b,i){return i<(i=a.indexOf(b))?"":a.substring(i+b.length,a.length)};
			v=(o.Substr(a,c[i][0])+(k=="ns"?o.Substr(a,"mozilla"):"")).Trim("L").replace(/ /g,"/").split("/");
			delete o.Substr;
			v=CbOS.to.Float(v[(k=="ns"||v[0]=="")?1:0]);
			o.ns6=k=="ns"&&v>=5;
			o.mz5=k=="mz"&&v>=5;
			o.op9=k=="op"&&v>=9;
			o.ie6=(o.ie55=((o.ie5=((o.ie=(k=="ie"&&v>=4))&&v>=5))&&v>=5.5))&&v>=6;
			o.dom=d.createElement&&d.appendChild&&d.getElementsByTagName;
			o.support=o.ns6||o.mz5||o.ie55||o.op9;
			o.platform=a.indexOf("win")<0?(a.indexOf("mac")<1?"other":"mac"):"win32";
			break
		}
})(CbOS.is={
	Modified:function(aObj)
	{
		if (aObj)
		{
			if (CbOS.is.Tag(aObj, "INPUT"))
				return aObj.value != aObj.defaultValue;
			var input = aObj.getElementsByTagName("INPUT");
			for (var j = 0; j < input.length; ++j)
				if(input[j].value != input[j].defaultValue)
					return true
		}
	},
	EditMode: function (aObj)
	{
		with(CbOS)
		{
			o = aObj;
			if (o.getAttribute && o.getAttribute("EditMode"))
				return o.getAttribute("EditMode") == "true";
			if(o.getAttribute)
			{
				while (is.Obj(o))
				{
					if (o.getAttribute("ajax") && o.getAttribute("EditMode"))
						return o.getAttribute("EditMode") == "true";
					if (is.Tag(o, "FORM"))
						return (o.getAttribute("EditMode") || "true") == "true";
					o=o.parentNode
				}
			};
			if ((o = get.Doc(aObj)) && (o = get.node.Child(o,"FORM")))
				return (o.getAttribute("EditMode") || "true") == "true"
		}
	},
	Child:function(s,d){
		while(s){
			if(s==d)
				return true;
			s=s.parentNode
		}
	},
	Absolute:function(o){with(CbOS)if(is.ie){if(get.Win(o)==w)while(is.Obj(o)){if(_.G(o,"position")=="absolute")return true;o=o.parentNode}}else return true},
	Null:function(a,b,c){with(CbOS) return (_.D(a)||!_.D(b)&&!_.D(c))?a:_.N(b,c)},
	Def:function(n){return n!=null&&typeof n!="undefined"},
	In:function(o,n,i){return i?o==n:CbOS.run.Recursion.a1(CbOS.is.In,o,n)},
	Cls:function(o,n,i){if(o){
			if(i)
				return o==n;
			else if((o=o.className&&o.className.toArray(" ")))
				for(i=0;i<o.length;i++)
					if(CbOS.run.Recursion.a1(CbOS.is.In,o[i],n))
						return true
		}
	},
	Enabled:function(o,i){
		with(CbOS) return i ?
			(
				(
						_.D(o.disabled)
					?
						!o.disabled
					:
					(
							!o.getAttribute
						||
							!is.In(o.getAttribute("disabled"), ["true", "disabled"])
					)
				)
				&&
				(
					(
							is.Tag(o, "A")
						&&
						(
								!o.href
							||
								is.Href(o)
						)
					)
					?
							!(i = o.className)
						||
							!/0{1}$|0\s{1}/.test(i)
						||
						(
								/1{1}$|1\s{1}/.test(i)
							&&
								is.Href(o)
						)
					:
						true
				)
			)
			:
				run.Recursion.a3(is.Enabled, o)
	},
	InXY: function(aX, aY, aData)
	{
		if (aData[0].isArray)
		{
			for (var i = 0; i < aData.length; i++)
				if (aX.Between(aData[i][0], aData[i][1]) && aY.Between(aData[i][2], aData[i][3]))
					return true;
		}
		else
			return aX.Between(aData[0], aData[1]) && aY.Between(aData[2], aData[3]);
	},
	Tag: function(aObj, aTag, aFlag)
	{
		return aFlag ?
			aObj && aObj.nodeName && aObj.nodeName.toUpperCase() == aTag && aObj
			:
			CbOS.run.Recursion.a1(CbOS.is.Tag, aObj, aTag)
	},
	NotASPNet: function()
	{
		var text = new RegExp().compile(/^(__){1}(VIEWSTATE_KEY|VIEWSTATE|EVENTVALIDATION|EVENTUPDATE|WPPS){1}$/i);
		return function(aName)
		{
			return !(aName = String(aName)) || !text.test(aName);
		};
	}(),
	NotASPNetETA: function()
	{
		var text = new RegExp().compile(/^(__){1}(EVENTTARGET|EVENTARGUMENT){1}$/i);
		return function(aName)
		{
			return !(aName = String(aName)) || !text.test(aName);
		};
	}(),
	URL:function(o){return this._URL.test(String(o).toLowerCase())},
	_URL:new RegExp("^(http|https|ftp)\://{1}.*$"),
	PX:function(o){return this._PX.test(String(o).toLowerCase())},
	_PX:new RegExp("^[0-9]+(px|pt){1}$"),
	CheckBox:function(o){return o&&this._CheckBox.test(o.className)},
	_CheckBox:new RegExp("^clsCheckBox{1}.*$"),
	MSB:function(o){return o&&this._MSB.test(o.className)},
	_MSB:new RegExp("^msb{1}.*$"),
	ChTree:function(o){return o&&this._ChTree.test(o.className)},
	_ChTree:new RegExp("^chtr{1}.*$"),
	Link:function(o){return o&&this._Link.test(o.className)},
	_Link:new RegExp("^(toolBarBtn|clsRadioBox|btn|wbtn|tab|tabBtn|clsCheckBox){1}[0-9]+$"),
	RadioBox:function(o){return o&&this._RadioBox.test(o.className)},
	_RadioBox:new RegExp("^clsRadioBox{1}.*$"),
	Int:function(o){return this._Int.test(String(o))},
	_Int:new RegExp(/^[-]?\d{1,10}$/),
	Href:function(o){if(this._Href.test(o.href))o.href="javascript:void(0)";return o.href=="javascript:void(0)"},
	_Href:new RegExp("^.*#{1}$"),
	Tree:function(o){return this._Tree.test(o.parentNode.className)},
	_Tree:new RegExp("^tree_{1}.*$"),
	GTree:function(o){return this._GTree.test(o.className)},
	_GTree:new RegExp("^gtree{1}.*$"),
	GTreeNode:function(o){return this._GTreeNode.test(o.className)},
	_GTreeNode:new RegExp('^(gtreeNode|gtreeLNode){1}[0-1]?$'),
	Date:function(o,i){return this._Date.test(i=CbOS.get.Press(o,0,10))&&i},
	_Date:new RegExp(/^[\s\d]{1,2}\/[\s\d]{1,2}\/[\s\d]{1,4}$/),
	Time:function(o){return this._Time.test(o)},
	_Time:new RegExp(/^((([\s0][1-9])|([\s1][0-2])):[\s0-5][\s\d]\s?[AP]M)|((([\s01]\d)|([2][0-3])):[\s0-5]\d)$/),
	DTime:function(o){return this._DTime.test(String(o))},
	_DTime:new RegExp('^[\\s0-9]{2}/[\\s0-9]{2}/[\\s0-9]{4}\\s[\\s0-9]{2}\:[\\s0-9]{2}(\:[\\s0-9]{2})?(\\s(PM|pm|AM|am))?$'),
	Float:function(o){return this._Float.test(String(o))},
	_Float:new RegExp(/^[-]?\d{0,10}[.]?\d{0,10}$/),
	EQ:function(a,b,i){if(a.a&&b.a&&a.length==b.length){for(i=0;i<a.length;i++) if(!CbOS.is.EQ(a[i],b[i])) return; return true}; return a==b},
	Complete:function(o){return o&&(!o.readyState||o.readyState=="complete")},
	wBtn:function(o,e,i,k){with(CbOS)
		if(this.Tag(o,"LI")&&this.Cls(o,this._wBtn)){
			set.BgImg(o,[i=(_.H(o)<_.W(o)+get.Left(o)-get.X(e)?0:1),0].Prefix(get.Root(o)+"images/window/btn/bg").Suffix(".gif"),o.parentNode);
			if(i){
				k=get.bgImage(o).toArray("/");
				o.CbOSHint=_.Title[k[k.length-1]];
				Hint.Show(e,o)
			}else
				Hint.Hide()
		};
		return i
	},
	_wBtn:["Help","Close","Max","Min","Shade"].Prefix("win"),
	Obj:function(o){return o&&!this.Tag(o,"BODY")&&o!=CbOS.get.Doc(o)&&o!=CbOS.get.Win(o)},
	Win:function(o){with(CbOS)return (o=get.Win(o))==w?null:wd.win[o.name]}
},navigator.userAgent.toLowerCase(),navigator.appName.toLowerCase(),[["safari","sf"],["opera","op"],["netscape","ns"],["msie","ie"],["mozilla","mz"]]);
/*set*/
CbOS.set={
	ValueWitoutExecute:function(aObj, aValue)
	{
		with (CbOS)
		{
			var execute = aObj.getAttribute("execute");
			if (execute)
			{
				aObj.removeAttribute("execute");
				execute = get.Win(aObj).CbOS.set.Event(execute)
			}
			else if((execute = aObj.Exec))
				aObj.Exec = null;
			var executeOnChange = aObj.getAttribute("executeOnChange");
			if (executeOnChange)
			{
				aObj.removeAttribute("executeOnChange");
				executeOnChange = get.Win(aObj).CbOS.set.Event(executeOnChange);
			}
			else if((executeOnChange = aObj.ExecOnChange))
				aObj.ExecOnChange = null;
			set.Value(aObj, aValue);
			if(execute)
				aObj.Exec = execute;
			if(executeOnChange)
				aObj.ExecOnChange = executeOnChange
		}
	},
	DisableAfterSubmit:function(aObj)
	{
		if (aObj.getAttribute && aObj.getAttribute("DisableAfterSubmit"))
			with (CbOS)
			{
				var list = [aObj.id], obj = get.node.Parent(aObj, "DIV", ["btnBoxC","btnBoxCT","btnBoxCB","btnBoxT","btnBoxB","toolBarMain","toolBarDmc"]);
				if (obj)
				{
					var a = obj.id.replace(/(_Bottom|_Top)$/,"");
					var id = a == obj.id ? [a] : [a + "_Bottom", a + "_Top"];
					for (var i = 0; i < id.length; ++i)
						if ((obj = get.Obj(id[i], aObj)))
						{
							a = obj.getElementsByTagName("A");
							for (var j = 0; j < a.length; ++j)
								if (a[j].getAttribute("DisableAfterSubmit"))
									list.push(a[j].id)
						};
				};
				btn.State(aObj, list)
			}
	},
	FormElementUpdate:function(aName, aValue, aObj)
	{
		with(CbOS)
		{
			if (!is.Tag(aObj, "FORM"))
				aObj = get.node.Child(aObj, "FORM");
			(aObj.elements[aName] || _.E("INPUT", aObj, null, aName, "hidden")).value = aValue;
		}
	},
	FormElementMirror: function(aIDs, aObj)
	{
		with (CbOS)
			for (var i = 0; i < aIDs.length; i = i + 2)
			{
				var input = get.Obj(aIDs[i], aObj), output = get.Obj(aIDs[i + 1], aObj);
				if (is.Tag(input, "UL"))
				{
					var inputObjects = input.getElementsByTagName("INPUT");
					var outputObjects = output.getElementsByTagName("INPUT");
					for (var k = 0; k < inputObjects.length; ++k)
						set.Value(outputObjects[k], get.Value(inputObjects[k]), true);
				}
				else
					set.Value(output, get.Value(input), true);
			}
	},
	Pass:function(o,i,k){
		if(!o.CbOSPass){
			if(o.type=='text')
				o.CbOSPass=true;
			o=o.parentNode.parentNode.parentNode.getElementsByTagName("INPUT")
			k=false
			for(i=0;i<o.length;i++)
				if(o[i].type=='password'&&!o[i].CbOSPass){
					if(k) with(o[i].parentNode.previousSibling||o[i].parentNode.parentNode.previousSibling)className="tblCCaptR";
					k=true;
					o[i].CbOSPass=true;
					CbOS.set.Value(o[i],"")
				}
		}
	},
	EditedMode:function(c,i,o,f){
		with(CbOS)
			if(is.Tag(o=_.F(i||c,c),"FORM"))
				o.setAttribute("CbOSEditMode","1");
			else if((c=get.Ajax(o)))
				set._EditMode(_.T(o,"FORM"),c.o.id,'true');
			else if((o=_.T(o,"FORM")))
				o.setAttribute("CbOSEditMode","1")
	},
	_EditMode:function(f,i,q){
		with(CbOS)if(_.D(q)){
			if(!f._EditMode)
				f._EditMode=create.Obj(f);
			f._EditMode[i]=String(q)
		}else if(f._EditMode){
			del(f._EditMode,i);
			for(i in f._EditMode)
				return;
			del(f,"_EditMode")
		}
	},
	EditMode:function(o,i,f,r,c){
		with(CbOS){
			r=is.RadioBox(o)
			if(i&&!r)_.S(o,_.r);
			if(!i){
				if(!r&&o.type!='checkbox'&&o.type!='hidden'&&o.type!='radio') _.S(o,_.r,_.G(get.Doc(o).body,_.k[0]));
				if(is.EditMode(o)&&(f=_.T(o,"FORM")||(is.Obj(o)&&get.node.Child(o,"FORM"))||get.node.Child(get.Doc(o),"FORM"))&&f.getAttribute("EditMode")!="false"){
					if(!(c=get.Ajax(o)))
						f.setAttribute("CbOSEditMode","1");
					else if(is.EditMode(c.o))
						set._EditMode(f,c.o.id,'true')
				}
			}
		};
		return o
	},
	Within:function(e,o,k){
		with(CbOS){
			if(e.keyCode==9){
				if(get.Win(o=_.O(e))==w) k=_.T(o,"DIV",["winBody","menu3"]).getElementsByTagName('A');
				if(e.shiftKey&&o.id=="Within0")
					(k?k[k.length-1]:_.F("Within1",o)).focus();
				else if(!e.shiftKey&&o.id=="Within1")
					(k?k[0]:_.F("Within0",o)).focus();
			}
		}
	},
	ClearTitle:function(o,e){with(CbOS)while(CbOS.is.Obj(o=o.parentNode))if(o.title)del(o,"title")},
	DBLClick:function(o){if(!o.CbOSondblclick)CbOS._.M(o,"ondblclick","return top.CbOS.run.Event(event,this,'onclick')")},
	bgImage:function(o,n,i){if(o) with(CbOS) if(i){n=""+_.N(n,""); if((i=get.bgImage(o,n.length))) _.S(o,_.b,get.iURL(i+n+".gif"))}else run.Recursion.a4(set.bgImage,o,n)},
	HTMLEncode:function(t,b,c,r,i){
		with(CbOS){
			r="";
			t=_.N(t,"")
			if(t.a){
				for(i=0;i<t.length;i++)
					r+=(i?',':'')+set.HTMLEncode(t[i],b);
				return r
			};
			if(!t||b||!t.s) return String(t);
			t=String(t);
			for(i=0;i<t.length;i++)
				r+=_.D(b=get.Index(c=t.charAt(i),_.HTMLin))?_.HTMLout[b]:c;
			return r
		}
	},
	Navigator:function(f,l,o){
		with(CbOS) with(wd.taskbar) if((f=get.node.Next(_.F(PNS),"LI"))){
			if(_.G(l=_.F(Panel).lastChild.lastChild,_.d)=='none') _.S(l,_.d);
			o=_.F(Next);
			set.bgImage(o.firstChild,(o.disabled=(l==f)||(get.Left(l)+_.W(l))<get.sWidth())?0:1);
			o=_.F(Prev);
			set.bgImage(o.firstChild,(o.disabled=(l==f)||(_.G(f,"display")!='none'))?0:1)
		}
	},
	Position:function(o,k,P,i,L){
		with(CbOS){
			P=_.N(P,get.Position(o));
			if((L=o.CbOSMask)&&(L=L.L)){
				if(k){
					if(o.value.length==P.p)
						P.p--
					while(P.p>0&&L[P.p]&&L[P.p].s)
						P.p--
					if(P.p==0)
						while(o.value.length>P.p&&L[P.p]&&L[P.p].s)
							P.p++
				}else{
					while(o.value.length>P.p&&L[P.p]&&L[P.p].s)
						P.p++
					if(P.p==o.value.length){
						P.p--
						while(P.p>0&&L[P.p]&&L[P.p].s)
							P.p--
					}
				}
				o=o.createTextRange();
				o.collapse(true);
				o.moveStart('character',P.p);
				o.moveEnd('character',1);
				o.select()
			}
		}
	},
	Attr:function(a,o){for(var i=0;i<a.length;i++) if(CbOS._.D(a[i][0])&&CbOS._.D(a[i][1])) o.setAttribute(a[i][0],String(a[i][1])); return o},
	Param:function(a,o,i){
		o=o?o:{};
		if(a){
			if(a.a)
				for(i=0;i<a.length;i++) o[a[i].GV(0)]=a[i].a?a[i][1]:a[1+i++];
			else
				for(i in a)
					if(i=="Attributes"&&o[i]&&o[i].a)
						o[i]=o[i].concat(a[i])
					else
						o[i]=a[i];
		};
		return o},
	nParam:function(a,o,i){
		o=o?o:{};
		if(a){
			if(a.a){
				for(i=0;i<a.length;i++)
					if(CbOS._.D(a[i].a?a[i][1]:a[1+i]))
						o[a[i].GV(0)]=a[i].a?a[i][1]:a[1+i++];
			}else
				for(i in a)
					if(CbOS._.D(a[i]))
						o[i]=a[i];
		};
		return o},
	Event:new Function("s",CbOS.get.Event="return typeof s=='string'?new Function("+(top.CbOS.is.ie?'':"'event',")+"s):s"),
	CBubble:function(e,f){
		if(!e) return;
		if(CbOS._.D(e.cancelable)){
			if(e.preventDefault&&e.cancelable)
				e.preventDefault();
			if(e.stopPropagation)
				e.stopPropagation();
		}else
			if(e.keyCode!=17&&e.keyCode!=16){e.cancelBubble=true; try{e.keyCode=0}catch(f){} return e.returnValue=false}
	},
	Status:function(){w.status=w.defaultStatus; return true},
	mValue:function(o,t,i){
		with(CbOS){
			mask.Edit(o);
			if(o.CbOSMask&&o.CbOSMask.L){
				t=String(t);
				while(t.length<o.maxLength)
					t=((i=o.CbOSMask.L[o.maxLength-t.length-1])?i.GV(0):_.N(i," "))+t
			}
		};
		return t
	},
	DisableChilds:function(aObj,aEnable)
	{
		with(CbOS)
		{
			var oScope = aObj.parentNode.parentNode.childNodes;
			for (var i = 0; i < oScope.length; ++ i)
			{
				var chld = oScope.item(i);
				if (chld.className == 'tblCCheckbox2')
				{
					var ob = chld.firstChild;
					if (is.RadioBox(ob))
					{
						ob.disabled = ob.lastChild.disabled = !aEnable;
						ob.className = "clsRadioBox" + ob.lastChild.checked * 1 + aEnable * 1;
						if (aEnable&&ob.lastChild.checked || !aEnable)
						{
							set.DisableChilds(ob.lastChild, aEnable);
						}
						ob.cbosevent = aEnable;
					};
				};
			};
		};
	},
	Value:function(o,t,c,f,j,i){
		with(CbOS) if(o){
			SM.run.Event(o,o);
			if(is.Tag(o,"UL")){
				j=_.C(o,"INPUT",null,"text");
				if(is.Cls(o,"combof")) _.S(o.firstChild,_.b,get.iURL(get.Root(o)+t.GV(2)+"1.gif")); else set.Value(j,t.GV(0),c)
				if(is.Tag(i=o.firstChild.firstChild,"INPUT")&&i!=j) set.Value(i,t.GV(1),c)
				if(!f)set.Focus(j)
			}else if(is.Tag(o,"A")){
				if(is.CheckBox(o)&&o.lastChild.value!=String(t))
				{
					o.className="clsCheckBox"+(t=='undefined'?"":(String(t)=="true"?1:(o.getAttribute("allowX")?2:0)))+(_.I(o)?1:0);
					set.Value(o.lastChild,t,c);
					o.firstChild.innerHTML=t=='undefined'?"?":"";
					set.EditMode(o,c==2);
					if(!f)Fcs(o);
				}
				else
				if(is.RadioBox(o)&&!o.lastChild.checked)
				{
					f=o.lastChild.form.elements[o.lastChild.name];
					if(!_.D(o.lastChild.CbOSValue)) for(i=0;i<f.length;i++) f[i].CbOSValue=f[i].checked;
					o.lastChild.checked=true;
					for(i=0;i<f.length;i++)
					{
						j=f[i]==o.lastChild;
						set.DisableChilds(f[i],j)
						f[i].checked=j;
						f[i].parentNode.className="clsRadioBox"+j*1+_.I(f[i])*1;
						run.Execute(f[i])
					}
					set.EditMode(o);
					if(!f)Fcs(o);
				}
			}else switch (o.type){
				case "text":
				case "password":
				case "hidden":
				case "textarea":
					if(c==2)o.CbOSignore=true;
					mask.Edit(o);
					i=o.CbOSValue;
					if(o.value!=(o.value=(t=set.mValue(o,t)))&&i!=get.Value(o)&&!c){
						set.EditMode(o);
						if(!o.CbOSonpropertychangeCHANGE)
							mask.Change(o)
					}
					if(c==2){_.S(o,_.r).CbOSValue=o.value;del(o,"CbOSignore")};
					break;
				case "radio":
				case "checkbox":
					if(o.checked!=(o.checked=t))
						run.Execute(set.EditMode(o));
					break;
			};
			return o
		}
	},
	iCache:function(u,i){
		with(CbOS)
			if(u.a)
				for(i=0;i<u.length;i++)
					set.iCache(u[i]);
			else
				with(CbOS[_.K()]=new Image()) src=get.Base(u)
	},
	CancelEnter:function(e,o){
		with(CbOS) if(e.keyCode==13&&is.Tag(o=_.O(e),"INPUT")){
			if(!run.Enter(o, e))
			{
				o.blur();
				o.focus()
			};
			_.B(e)
		}
	},
	Lock:function(o,e){
		if(e) CbOS._.B(e);
		return (o.L=(o.L||0)+1)==1
	},
	pStatus:function(o,s){
		with(CbOS)
			if((o=wd.win[get.Win(o).name])){
				if(o.Status)o.Status.innerHTML=s;
				_.S(o.ProgressBar,_.b,s?null:"none")
			}
	},
	wStatus:function(o,T,W){
		with(CbOS){
			W=get.Win(o);
			T=set.HTMLEncode(T||W.title||get.Doc(o).title);
			if(W==get.iWin(_.F(_.F("DESKTOP").F))) d.title=w.title=T;
			set.pStatus(o,"")
			if((o=wd.win[o.name])&&o.Caption&&o.A.Caption!=T){
				with(o.Caption)	Hint.Create(o.Caption,o.A.Caption=innerHTML=T);
				create.QLCaption(o);
				_.U(o)
			}
		}
	},
	Style:function(o,s,v,e){
		with(CbOS){
			if(s&&s.a) for(var i=0;i<s.length;i++) _.S(o,s[i],v); else
			if(o&&o.a) for(var i=0;i<o.length;i++) _.S(o[i],s,v); else if(s&&o){
				var a=get.Win(o).CbOS
				var n=to.CamelCase(s)
				if(!o.CbOSStyle)
					o.CbOSStyle=create.Obj(o);
				if(!o.CbOSStyle[n])
						o.CbOSStyle[n]=_.G(o,s);
				if((v=String(_.N(v,o.CbOSStyle[n])))!=_.G(o,s)){
					try{
						o.style[n]=v
					}catch(e){
						if(w.DebugMode)
							alert(n+"\n"+v+"\n"+o.outerHTML)
					}
				}
			}
		};
		return o
	},
	Size:function(o,W,H,i){if(o) with(CbOS) i?_.S(_.S(o,_.h,Math.max(H-(!is.ie?_.G(o,"border-top-width",1)+_.G(o,"border-bottom-width",1):0),1)),_.w,Math.max(W-(!is.ie?_.G(o,"border-left-width",1)+_.G(o,"border-right-width",1):0),1)):run.Recursion.a2(set.Size,o,W,H); return o},
	DelBgImg:function(o){
		with(CbOS)
			if(o.BgImg){
				del(get.Win(o).CbOS.BgImg,o.BgImg);
				del(BgImg,o.BgImg);
				del(o,"BgImg")
			}
	},
	Focus:function(o,e){
		with(CbOS) if(o){
			mask.Edit(o);
			Fcs(o);
			if(is.ie)
			try{
				o=o.createTextRange();
				o.collapse(false);
				o.moveStart('textedit',is.Cls(o,"empty")?1:-1);
				o.moveEnd('textedit',1);
				o.select()
			}catch(e){}
		}
	},
	_FocusFrm:function(o,n,a,i,e){
		with(CbOS)
			if((a=get.node.Child(get.Doc(o),"FORM"))){
				if((n=_.F(n,o))&&!is.Child(n,a))
					n=null;
				if(n&&is.Tag(n,["INPUT","SELECT","TEXTAREA"])&&(!is.Cls(n,"empty") || !n.readOnly)){
					try{
						n.focus();
						set.Focus(n);
						return
					}catch(e){
					}
				};
				a=a.elements
				for(i=0;i<a.length;i++){
					o=a[i]
					if(!o.disabled){
						if((o.type=="hidden"||_.G(o,"display")=="none")&&(is.Tag(o.parentNode,"A")||is.Tag(o.parentNode.parentNode,"A")))
							o=o.parentNode;
						else if(o.type=="text"||o.type=="file"||o.type=="textarea"){
							mask.Edit(o);
							SM.run.Event(o,o);
							o.setAttribute("autocomplete","off");
							mask.Edit(o)
						}else continue;
						if((!n||is.Child(o,n)) && (!is.Cls(o,"empty") || !o.readOnly)){
							try{
								o.focus();
								set.Focus(o);
								return
							}catch(e){
							}
						}
					}
				}
				if((o = _.F("Within0", o)))
				{
					mask.Edit(o);
					SM.run.Event(o,o);
					try
					{
						o.focus();
					}catch(e)
					{
					}
				}
			}
	},
	FocusFrm:function(o,i){CbOS.get.Win(o).setTimeout(CbOS._.Security+"top.CbOS.set._FocusFrm(d"+(i?",'"+i+"'":"")+")",50)},
	BgImg:function(o,u,b,i,W,e,a){
		with(CbOS){
			if(u){
				u=get.iURL(u);
				if((b=_.N(b,o)).a)
					for(i=0; i<b.length; i++)
						_.S(b[i],_.b,u[i]);
				else
					_.S(b,_.b,u[0]);
				i=o.a?o[0]:o;
				if(!BgImg[i.BgImg=_.K(i.BgImg)]){
					BgImg[i.BgImg]=(W=get.Win(i)).name;
					W.CbOS.BgImg[i.BgImg]={o:o,b:b,u:u.slice(Math.ceil(u.length/2))}
				}
			}else{
				for(i in BgImg){
					W=((W=BgImg[i])&&W.s)?get.iWin((W=wd.win[W])&&(W=_.F(W.F))):w
					try{
						if((b=W&&W.CbOS&&W.CbOS.BgImg[i])){
							if(!is.In(o,b.o)){
								if(b.o.a)
								{
									var obj = b.o[b.o.length-1];
									if(obj.CbOSStyle && obj.CbOSStyle.color)
										_.S(obj,"color")
								};
								if(b.b.a)
									for(a=0; a<b.b.length; a++)
									{
										_.S(b.b[a],_.b,b.u[a]);
										if(b.b[a].BgImgStyleRollBack)
											del(_.S(b.b[a],b.b[a].BgImgStyleRollBack),"BgImgStyleRollBack")
									}
								else
								{
									_.S(b.b,_.b,b.u[0]);
									if(b.b.BgImgStyleRollBack)
										del(_.S(b.b,b.b.BgImgStyleRollBack),"BgImgStyleRollBack")
								}
								set.DelBgImg(b.o.a?b.o[0]:b.o)
							}
						}else
							del(BgImg,i)
					}catch(e){del(BgImg,i)}
				}
			}
		}
	}
}
CbOS.Hint={
	Create:function(o,n){
		with(CbOS)if(n){
			if(!o.CbOSonmouseoverHINT) _.M(o,["onmousemove","onmouseover"],"top.CbOS.Hint.Show(event,this)","HINT")
			o.CbOSHint=n
		}
	},
	Show:function(e,o,m){
		with(CbOS){
			if((m=Hint.Obj!=(o=o||this)))
				Hint.Hide()
			_.Q(Hint.Play,{o:o,x:get.eLeft(e)+(e.offsetX||e.layerX||0)+5,y:get.eTop(e)+(e.offsetY||e.layerY||0),i:Hint.iObj=_.K(),m:m},5)
		}
	},
	Hide:function(o){
		with(CbOS){
			Hint.Obj=Hint.Obj?o:null;
			Hint.iObj=null;
			SM.set.XY(_.S(_.F(Hint.Box),_.w,10),-1000,-1000);
			_.S(_.F(Hint.Content),_.h,10)
		}
	},
	Play:function(a,b,H){
		with(CbOS){
			if(Hint.iObj!=a.i) return true;
			if(a.m&&5==(b.k=(b.k||0)+1))
				with(_.F(Hint.Content)){
					className="hint0";
					innerHTML=a.o.CbOSHint
				}
			else if(a.m&&10==b.k){
				H=_.F(Hint.Content);
				_.S(_.S(_.F(Hint.Box),_.z,wd.zIndex+1),_.w,Math.min(H.scrollWidth+4,400));
				H.className="hint1"
			}else if(!a.m||20==b.k){
				Hint.Obj=a.o;
				b=_.F(Hint.Content);
				_.S(b,_.h,H=b.scrollHeight);
				b=_.F(Hint.Box);
				SM.set.XY(b,Math.max(Math.min(get.sWidth()-_.W(b),a.x),0),Math.max(a.y<get.sHeight()-H-22?a.y+22:a.y-9-H,0));
				return true
			}
		}
	}
}
CbOS.run={
	_Draw:function(a){
		if(a.i==a.o.i)CbOS._.S(a.o,"visibility","visible");
		return true
	},
	Draw:function(o,i){
		with(CbOS) if(!is.ie){
			_.S(o,"visibility","hidden");
			if(_.D(i))_.Q(run._Draw,{o:o,i:o.i=_.K()},5)
		}
		return o
	},
	DrawBorder:function(o){
		with(CbOS)
			if(_.I(o))
			{
				if(o.type!="hidden"&&o.type!="checkbox"&&o.type!="radio"&&!is.Cls(o,"empty"))
					_.S(o,_.k,_.G(get.Doc(o).body,"border-right-color"));
				if(!is.CheckBox(o))
					while(is.Tag(o=o.parentNode,["LI","UL"]))
						if(_.G(o,_.r)!="transparent")
							_.S(o,[_.r,_.k],_.G(get.Doc(o).body,"border-right-color"))
			}
	},
	RestoreBorder:function(o){
		with(CbOS){
			if(o.type!="hidden"&&o.type!="checkbox"&&o.type!="radio"&&!is.Cls(o,"empty"))
				_.S(o,_.k);
			if(!is.CheckBox(o))
				while(is.Tag(o=o.parentNode,["LI","UL"]))
					_.S(o,[_.r,_.k])
		}
	},
	HoldValidate:function(aData, aParam)
	{
		var obj = aData.obj;
		if (!obj.getAttribute || (obj.getAttribute("timeHoldValidate") != aData.time))
			return true;
		var input = obj;
		if ((
				obj.getAttribute("service")
				||
				(obj.nextSibling || obj.nextSibling.getAttribute("service"))
				||
				(obj.previousSibling || obj.previousSibling.getAttribute("service"))
			)
			&&
			(
				obj.getAttribute("validate")
				||
				(
					(input = obj.previousSibling || obj.nextSibling)
					&&
					input.getAttribute("validate")
				)
			)
		)
		{
			CbOS.get.Win(obj).CbOS.Validation.ErrorHide(input || obj);
			return true
		}
		if ((aParam.counter = (aParam.counter || 0) + 1) == 30)
		{
			obj.removeAttribute("timeHoldValidate");
			CbOS.run.Validate(obj, null, true);
			return true
		}
	},
	Validate: function(aObj, aValidate, aSkip)
	{
		if (aObj.getAttribute && aObj.getAttribute("validate") && CbOS.is.Enabled(aObj))
		{
			if (!aValidate)
				return CbOS.get.Win(aObj).CbOS.Validation.ValueValidate(aObj, aSkip)
			else
				for (var i = 0; i < aValidate.length; ++i)
					if (aValidate[i] && CbOS.is.Child(aObj, aValidate[i]))
						return CbOS.get.Win(aObj).CbOS.Validation.ValueValidate(aObj, aSkip)
		}
	},
	Execute:function(o,i,k,p){
		if(o&&!o.CbOSignore)with(CbOS){
			if(!i)
			{
				i=o;
				p=get.Doc(o);
				while(!is.Tag(i,"BODY")){
					if((k=i.getAttribute("setAccess"))) btn.State(p,k,true);
					if(i.getAttribute("noAccess")=="true") break;
					i=i.parentNode
				};
			}
			o.setAttribute("timeHoldValidate", i = get.PK());
			SM.set.Queue(run.HoldValidate, {obj: o, time: i}, 10);
			if((i=o.getAttribute("execute"))){
				o.removeAttribute("execute");
				o.Exec=get.Win(o).CbOS.set.Event(i);
			};
			if((i=o.getAttribute("executeOnChange"))){
				o.removeAttribute("executeOnChange");
				o.ExecOnChange=get.Win(o).CbOS.set.Event(i);
			};
			if(o.CbOSExec) o.CbOSExec();
			if(o.Exec) o.Exec();
			if(o.ExecOnChange) o.ExecOnChange()
		}
	},
	Enter:function(i){
		with(CbOS){
			var isSetEnter=true, k, cancelFocus;
			while(!is.Tag(i,"BODY")){
				if(isSetEnter && (k=i.getAttribute("setEnter")) && _.I(k=_.F(k,i)))
				{
					if(k.type=='button') _.M(k,"onclick");
					run.Event(k,k,"onclick");
					isSetEnter=false
				};
				if((k=i.getAttribute("enter"))){
					i.removeAttribute("enter")
					i.Entr=get.Win(i).CbOS.set.Event(k);
				};
				if(i.Entr)
					cancelFocus = i.Entr(event) || cancelFocus;
				i=i.parentNode
			}
			return cancelFocus
		}
	},
	Event:function(e,o,m,b){with(CbOS.SM.run){Event(e||o,o,b);Event(e||o,o,m,b)}},
	__Click:function(o,c,a){
		if(c=='Yes')
		{
			var obj=CbOS.get.Win(o);
			CbOS.SM.on.DeSelect(o,true);
			obj.CbOSEditModeWarning=o.CbOSEditModeWarning || !a;
			o.onclick2();
			obj.CbOSEditModeWarning=null
		}
	},
	_Click:function(o,c){
		with(CbOS)
			if(c=='Yes'&&run.EditMode(o,run.__Click,o))
				run.__Click(o,"Yes",true)
	},
	Click:function(aEvent, aObj){
		with(CbOS)
		{
			if (_.I(aObj))
				if (
					!SM.Warning(aObj) &&
					aObj.onclick2 &&
					MsgBox.Show(aObj,
						aObj.getAttribute("Question"),
						null,
						['Yes','No'],
						'Question',
						1,
						run._Click,
						aObj
					)
				)
					run._Click(aObj,"Yes");
			return _.B(aEvent);
		}
	},
	_EditMode:function(o,f,i,m){
		with(CbOS)
			for(i in f)
				if(i!=o.id&&(m=_.F(i,o))&&is.EditMode(m)&&is.Child(m,o))
					return true
	},
	DmcEditMode:function(aObj, aCName){
		with (CbOS)
		{
			aObj.CbOSEditModeWarning=true;
			var obj=get.node.Parent(aObj, "DIV", "toolBarDmc");
			obj = get.node.Child(obj ? obj.parentNode : aObj.parentNode.parentNode, "TABLE", "dmc");
			var filters = get.node.Child(obj, "TR", "dmcFilter").getElementsByTagName("TH");
			var sort = get.node.Child(obj, "TR", "dmcSort");
			aCName = aCName.toArray();
			var scan = eval(aCName.shift());
			aObj.setAttribute("arg", "reset");
			for (var i = 0; i < filters.length; ++i)
			{
				var cell = filters[i].cellIndex;
				if (is.In(sort.cells[cell].getAttribute("cname"), aCName) && is.Modified(filters[i]))
				{
					if(scan)
					{
						for (var c, k = sort.rowIndex + 1; k < obj.rows.length; ++k)
							if (is.Modified(obj.rows[k].cells[cell]))
								return
					}
					else
						return
				}
			};
			del(aObj, "arg");
			return true
		}
	},
	EditMode:function(o,r,a,f,c,i){
		with(CbOS){
			return !is.EditMode(o)
			||
			!(f=_.T(o,"FORM")||(is.Obj(o)&&get.node.Child(o,"FORM"))||get.node.Child(get.Doc(o),"FORM"))
				||
			(
				(o.getAttribute && (i = o.getAttribute("dmcEditMode")))
				?
					run.DmcEditMode(o, i)
				:
					(
						!(
							(c=get.Ajax(o))
								?
							((i=f._EditMode)&&(i[c.o.id]=="true"||run._EditMode(c.o,i)))
								:
							(f.getAttribute("CbOSEditMode")||f._EditMode)
						)
					)
			)
				||
			MsgBox.Show(o,f.getAttribute("EditModeWarning")||_.l,null,['Yes','No'],'Warning',1,r,a)
		}
	},
	Recursion:{
		a1: function(aFunction, aData, aObj)
		{
			if (aObj && aObj.isArray)
			{
				for (var i = 0; i < aObj.length; ++i)
					if (this.a1(aFunction, aData, aObj[i]))
						return true;
			}else
				return aFunction(aData, aObj, true);
		},
		a2: function(aFunction, aObj0, aObj1, aObj2)
		{
			if (aObj0 && aObj0.isArray)
				for (var i = 0; i < aObj0.length; ++i)
					this.a2(aFunction, aObj0[i], aObj1, aObj2);
			else if (aObj1 && aObj1.isArray)
				for (var i = 0; i < aObj1.length; ++i)
					this.a2(aFunction, aObj0, aObj1[i], aObj2);
			else if (aObj2 && aObj2.isArray)
				for (var i = 0; i < aObj2.length; ++i)
					this.a2(aFunction, aObj0, aObj1, aObj2[i]);
			else
				aFunction(aObj0, aObj1, aObj2, true);
		},
		a3: function(aFunction, aObj)
		{
			if (aObj && aObj.isArray)
			{
				for (var i = 0; i < aObj.length; ++i)
					if (!this.a3(aFunction, aObj[i]))
						return;
				return true;
			}
			else
				return aFunction(aObj, true)
		},
		a4: function(aFunction, aObj0, aObj1){
			if (aObj0 && aObj0.isArray)
			{
				for (var i = 0; i < aObj0.length; ++i)
					this.a4(aFunction, aObj0[i], aObj1);
			}else if(aObj1 && aObj1.isArray){
				for (var i = 0; i < aObj1.length; ++i)
					this.a4(aFunction, aObj0, aObj1[i]);
			}else
				aFunction(aObj0, aObj1, true);
		}
	},
	Del: function(aObj, aParam, aIndex)
	{
		if (aObj && aObj[aIndex])
		{
			aObj[aIndex].Run(aParam);
			delete aObj[aIndex];
		}
	}
};
/*create*/
CbOS.create={
	Soap:function(n,a,s){with(CbOS)return '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><'+n+' xmlns="'+_.N(s,_.Soap)+'">'+to.Xml(a)+'</'+n+'></soap:Body></soap:Envelope>'},
	Obj:function(o){with(CbOS.get.Win(o||w)) return new Object()},
	Arr:function(o){with(CbOS.get.Win(o||w)) return new Array()},
	Xml:w.ActiveXObject?function(o){
		with(CbOS.get.Win(o||w)) return new ActiveXObject(top.CbOS.create.XmlHttpProgID())}:function(o){with(CbOS.get.Win(o||w)) return new XMLHttpRequest()},
	XmlHttpProgID:function(p,i,o,e){
		if(CbOS.create._XmlHttpProgID) return CbOS.create._XmlHttpProgID;
		p=["MSXML2.XMLHTTP.7.0","MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
		for(i=0;i<p.length;i++)
			try{
				o=new ActiveXObject(p[i]);
				return CbOS.create._XmlHttpProgID=p[i]
			}catch(e){}
    },
	CSS:function(d,n,i){with(CbOS)	if(jsROOT)d.write('<link type=text/css rel=stylesheet href="'+get.Root(d)+"css/"+(n||'')+(is.ie?"ie":(is.op9?"op":"nc"))+'.css">')},
	_Attach:function(o,l,i){
		with(CbOS)if(is.Complete(i=get.iDoc(_.F(o.F)))&&5==(l.k=(l.k||0)+1)){
			i=get.Win(i);
			i.noCbOSData=true;
			SM.Submit(i,o.u,o.a,null,{target:"_blank",unload:o.h});
			return true
		}
	},
	__Attach:function(k){
		with(CbOS)
			if(TEMP[k]){
				TEMP[k].a=TEMP[k].F=null;
				rem(TEMP[k]);
				del(TEMP,k)
			}
	},
	Attach:function(u,o,a,k,h){
		with(CbOS){
			k=_.K(k);
			_.M(get.Win(o),"onunload",h="top.CbOS.create.__Attach('"+k+"')");
			d.body.insertBefore(o=TEMP[k]=_.E("DIV"),d.body.firstChild);
			o.h=h;
			o.u=u;
			o.a=a;
			o.F=create.IFrame(o,"win",k).id=_.K();
		}
	},
	_SpaceBox:function(a,t,o){
		with(CbOS){
			o=_.F(wd.space);
			if(o.i!=a.i)
				return true;
			if((t.k=(t.k||0)+1)==2){
				if((o=o.firstChild))
					_.S(o,"visibility","visible");
				return true
			}
		}
	},
	SpaceBox:function(o){
		with(CbOS){
			o=_.E("DIV",_.S(_.S(rem(_.F(wd.space),1),_.b,_.x),_.z,wd.zIndex+1),"spaceBox");
			_.Q(create._SpaceBox,{i:_.F(wd.space).i=_.K()});
			return o
		}
	},
	Element:function(aNode, aParent, aClass, aId, aType, aValue)
	{
		if (!aParent)
			aParent = d.body;
		var obj;
		with(CbOS)
			if (aClass && aClass.isArray)
				for(var j = 0; j < aClass.length; ++j)
					obj = create.Element(aNode, aParent, aClass[j], aId, aType, aValue);
			else
				obj = aParent.appendChild(
						set.nParam([
							['type', aType],
							['id', aId],
							['name', aId],
							['value', aValue],
							['className', aClass]
						],
						get.Doc(aParent).createElement(aNode)
					)
				);
		return obj;
	},
	IFrame:function(p,c,i,u,e){/*parentNode,id,className*/
		c=c||"win";
		with(CbOS)
			if(is.ie)
				e=p.appendChild(get.Doc(p).createElement("<iframe class="+c+_.A(["name"],i)+" src='"+jsROOT+"html/iframe"+(u||'')+".html' frameborder=0>"))
			else{
				e=_.E('IFRAME',p,c,i);
				e.src=jsROOT+"html/iframe"+(u||'')+".html";
			}
		 return e
	},
	_Window:function(o,l){
		if(2==(l.k=(l.k||0)+1)){
			CbOS.SM.on.Complete(CbOS.wd.win[o]);
			return true
		}
	},
	Window:function(o,z,b,u,i,p){
		with(CbOS){
			if(wd.Stop)	return;
			i=wd.Template;
			with(set) o=Param(u,Param(b,Param(z,Param(o||i.Popup,Param(i.Base)))));
			if(o.Template=="Report"&&!is.AdobeReader)
				return MsgBox.Show(o,'Adobe Reader or Adobe Acrobat plugin is Not Installed.<br>See Adobe for instructions and install Acrobat from <a class="link" target="_blank" href="http://www.adobe.com/prodindex/acrobat/readstep.html">Adobe\'s Web site</a>.',null,'OK','Error');
			if(!o.Skin) o.Skin=(o.Opener&&wd.win[o.Opener]&&wd.win[o.Opener].A)?wd.win[o.Opener].A.Skin:Skin;
			u=o.Template=="Report"&&('pdf'+IE("ie","nc"));
			if(o.Height&&o.MinHeight) o.MinHeight=Math.min(o.Height,o.MinHeight);
			if(o.Width&&o.MinWidth) o.MinWidth=Math.min(o.Width,o.MinWidth);
			if((p=wd.win[o.ID=_.K(o.ID)])){
				ajax.Loading.Hide(o.ID);
				SM.on.Focus(p);
				if(p.A.Shaded)SM.on.Shade(p);
				i=_.E("DIV",_.F(p.Content)||p);
				i.appendChild(i.previousSibling);
				i.parentNode.removeChild(i);
				p.F=create.IFrame(_.F(p.Content)||p,"win",o.ID,u).id=_.K();
			}else{
				o.Created=o.Created||((new Date()*1).PadL(15)+(++wd.zIndex).PadL(7));
				var v=_.F(wd.wins);
				if(o.Modal){
					_.M(wd.modal[o.ID]=_.S(_.E('DIV',v,"space"),_.b,_.x),_.y,"CbOS.SM.on.Focus()").innerHTML=_.n;
					o.MinimizeIcon=o.Minimized=o.ShadeIcon=o.Shaded=null
				};
				z=_.E('DIV',v,"win",o.ID);
				z.A=o;
				run.Del(o,z,"onPreload");
				wd.win[o.ID]=z;
				i=get.Modal();
				with(wd.taskbar){
					var S,C;
					set.bgImage((S=_.F(ShowHide)).firstChild,i?0:1);
					set.bgImage((C=_.F(Cascade)).firstChild,i?0:1);
					S.disabled=C.disabled=!!i
				};
				if(o.URL)
					z.F=create.IFrame(_.F(z.Content)||z,"win",o.ID,u).id=_.K();
				else
					_.Q(create._Window,o.ID,5)
			}
		}
	},
	QL:function(o,q){
		with(CbOS){
			_.S(_.E("DIV",_.M(q=_.E("LI",_.C(_.F(wd.taskbar.Panel),"UL"),"qlTB",o.QL=_.K()),"onclick","return CbOS.SM.on.QL(event,this)")),_.b,_.G(_.C(o.firstChild.firstChild.firstChild,"DIV"),_.b));
			if(!_.QLc) _.QLc=[_.G(q,_.k[0]),_.G(q,_.k[1]),_.G(q.firstChild,_.k[0]),_.G(q.firstChild,_.k[1])];
			q.Win=o.id;
			this.QLCaption(o);
			SM.on.Resize()
		}
	},
	QLCaption:function(o,q){
		with(CbOS)if(o.QL){
			q=_.F(o.QL);
			Hint.Create(q,q.firstChild.innerHTML=o.A.Caption);
			run.Draw(q,10)
		}
	},
	Popup:function(o,i,j,E){
		with(CbOS){
			E=_.E;
			o.className="win0";
			_.M(i=E("DIV",j=E("DIV",E("DIV",o,"win1"),"win3"),"winATB"),["onmouseover","onmousemove"],"CbOS.is.wBtn(CbOS._.O(event),event)")
			if(o.A.CloseIcon) i=E("LI",E("UL",i),"winClose");
			if(o.A.MaximizeIcon) i=E("LI",E("UL",i),"winMax");
			if(o.A.MinimizeIcon) i=E("LI",E("UL",i),"winMin");
			if(o.A.ShadeIcon) i=E("LI",E("UL",i),"winShade");
			if(o.A.HelpIcon) i=E("LI",E("UL",i),"winHelp");
			with(o.Caption=_.M(E("DIV",i),"onmouseover","CbOS.set.ClearTitle(this)")){
				if(o.A.Icon){
					style.backgroundImage=get.iURL(o.A.Icon);
					style.paddingLeft=22;
				};
				Hint.Create(o.Caption,innerHTML=o.A.Caption)
			}
			E("DIV",j,"winBody",o.Content=_.K());
			if(o.A.StatusBar){
				i=E("DIV",j,"winStatus");
				if(o.A.ProgressBar) i=o.ProgressBar=E("LI",E("UL",E("DIV",i)),"winProgressBar");
				i=o.Status=E("DIV",E("LI",E("UL",E("DIV",i))),"winStatusText")
			};
			if(_.M(o,["onkeydown","onmousedown"],"CbOS.SM.on.Focus(this)").A.Resizable)
				_.M(o,["onmouseover","onmousemove"],"CbOS.SM.on.BResize(event,this)").Resize=E("DIV",j,"winResize");
			if(o.A.TaskBarButton)
				create.QL(o)
		}
	},
	Empty:function(o,r){with(CbOS) return _.P(["readOnly",r,"hideFocus",true],_.E('INPUT',o,"empty"))}
};
(function(o){
	with(CbOS){
		with(set){
			o.S=Style;
			o.P=Param;
			o.B=CBubble
		};
		with(is){
			o.N=Null;
			o.D=Def;
			o.I=Enabled
		};
		o.E=create.Element;
		with(get){
			o.G=Style;
			o.W=Width;
			o.H=Height;
			o.T=node.Parent;
			o.C=node.Child;
			o.O=eObj;
			o.K=PK;
			o.x=iURL(get.Root(d)+"images/1x1.gif"),
			o.F=Obj
		};
	}
})(CbOS._={
	A:function(n,v,b,s,i){with(CbOS){
			if(!_.D(v)) return "";
			if(v&&v.a){
				v=set.HTMLEncode(v,b);
				b=true
			};
			if(n&&n.a){
				s="";
				for(i=0;i<n.length;i++)
					s+=_.A(n[i],v,b);
				return s
			};
			return ' '+n+'="'+set.HTMLEncode(v,b)+'"'
		}
	},
	Month:[["January",0],["February",1],["March",2],["April",3],["May",4],["June",5],["July",6],["August",7],["September",8],["October",9],["November",10],["December",11]],
	Week:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
	f:["menuDef","menuAdv","msbDef","msbAdv"],
	a:["btn0","btn1","wbtn0","wbtn1","tab0","tab1","tabBtn0","tabBtn1","fld0","fld1"],
	n:"&nbsp;",
	b:"background-image",
	r:"background-color",
	k:["border-top-color","border-right-color","border-bottom-color","border-left-color"],
	z:"z-index",
	d:"display",
	c:"cursor",
	w:"width",
	h:"height",
	y:["ondblclick","onclick"],
	s:"<a href=# onkeydown='top.CbOS.set.Within(event)' EditMode=false hidefocus=true id=Within",
	l:"Would you like to exit and lose your changes?",
	Soap:"http://services.framework/web/data",
	HTMLin:["&",'"',"<",">"],
	HTMLout:["&amp;","&quot;","&lt;","&gt;"],
	Title:{
		shade1:"Shade Window",
		shade0:"Unshade Window",
		min:"Minimize Window",
		max1:"Maximize Window",
		max0:"Restore Down Window",
		close:"Close Window",
		help:"Help"
	},
	Security:"if(window.top&&window!=top&&top.CbOS&&(top.CbOS.wd.win[window.name]||top.CbOS.TEMP[window.name]))"
});
CbOS.SM={
	Queue:{l:{},L:0,T:0},
	ETA:function(o,z,n){
		z=z?[].concat(z):[];
		if(o&&o.nodeName&&(n=o.getAttribute("name")||o.name)&&n.length){
			z.push(['__EVENTTARGET',n]);
			z.push(['__EVENTARGUMENT',o.getAttribute("arg")||''])
		};
		return z
	},
	Redirect:function(aObj, aUrl, aAttr, aData){
		with(CbOS){
			aAttr = SM.ETA(aObj, aAttr);
			if(!aUrl)
				get.VSAtr((is.Tag(aObj, "FORM") ? aObj: _.T(aObj, "FORM")), aAttr);
			SM.Submit(get.Win(aObj),aUrl || ajax.Url(aObj), aAttr, aData);
		}
	},
	Warning:function(o,i){
		with(CbOS)
			if((i=get.Win(o).CbOSStop))
				return true;//!MsgBox.Show(o,'Your request is currently being processed.<br>Please wait...',null,'OK','Warning');
		return i
	},
	_GoTo:function(o,c){if(c=='Yes') CbOS.SM.Submit(o.o,null,o.i)},
	GoTo:function(o,i){with(CbOS)if(run.EditMode(o,SM._GoTo,i={i:i,o:o})) SM._GoTo(i,"Yes")},
	_Submit:function(m,a,o){
		with(CbOS){
			if((o=wd.win[m.n])&&(o=get.iWin(_.F(o.F)))&&o.CbOSStop2==m.p){
				if(100==(a.k=(a.k||0)+1)){
					o.CbOSStop=o.CbOSStop2=null;
					if(is.Complete(a=get.Doc(o))){
						a=a.getElementsByTagName("FORM")
						if(a.length){
							a=a[a.length-1].elements;
							for(m=0;m<a.length;m++)
								if(a[m].type=="file"&&a[m].value){
									MsgBox.Show(o,'Form submit action was canceled.<br>Please check data to submit and try again.',null,'OK','Warning');
									set.pStatus(a[m],"")
									break
								}
						}
					}
					return true
				}
			}else
				return true
		}
	},
	__Submit:function(aObj, aEl)
	{
		with(CbOS)
		{
			aObj = _.F(aObj, aEl);
			if(!aObj.__EVENTTARGET)
			{
				if((aEl = aObj.__VIEWSTATE))
					aEl.disabled = true;
				if((aEl = aObj.__VIEWSTATE_KEY))
					aEl.disabled = true;
				if((aEl = aObj.__EVENTVALIDATION))
					aEl.disabled = true;
			};
			if(get.Win(aObj) == w)
				set.FormElementUpdate("TimeZoneInfo", TimeZoneInfo, aObj);
			aObj.submit();
		}
	},
	Submit:function(o,u,z,m,g,f,t,W,i){
		with(CbOS)if(o){
			z=SM.ETA(o,z);
			set.DisableAfterSubmit(o);
			W=get.Win(o);
			if(W==w&&w.name!="CBOS")w.name="CBOS";
			if((f=is.Tag(o,"FORM")?o:_.T(o,"FORM"))){
				if(o.getAttribute && o.getAttribute("validation") == "true")
				{
					var isError = false;
					for (var j = 0; j < f.elements.length; ++j)
						if (run.Validate(f.elements[j]) && !isError)
							Fcs(f.elements[j], isError = true);
					if (isError)
						return;
				};
				if(g){
					if(g.target)
						f.target=g.target;
					if(g.unload)
						_.M(get.Win(f),"onunload",g.unload)
				};
				if(SM.Warning(f)) return;
				W.CbOSStop=true;
				if (!u)
					u = ajax.Url(o);
				set.nParam([['method',m||"POST"],["action",u=u&&get.Base(u).toLowerCase()]],f);
				if(!u || !/^.*html{1}$/.test(u)){
					if(w != W && !W.noCbOSData)
						set.FormElementUpdate("CbOSData", "ID="+W.name, f);
					for(i in Session) set.FormElementUpdate(i, Session[i], f)
					for(t=0;z&&t<z.length;t++) set.FormElementUpdate(z[t][0], z[t][1], f);
				};

				if(!f.action) f.action=get.Url(W);
				_.Q(SM._Submit,{n:W.name,p:W.CbOSStop2=get.PK()},5);
				set.pStatus(f,"Loading...")
				W.setTimeout("try{top.CbOS.SM.__Submit('"+(f.id||(f.id=_.K()))+"',document)}catch(o){}",2)
			}else{
				o=get.Doc(o).body;
				if(W!=w&&W.CbOS){
					i=W.nodeName?W:W.CbOS.EVENTS;
					i.CbOSonload=create.Obj(o);
					i.CbOSonresize=create.Obj(o);
					i.CbOSonscroll=create.Obj(o);
					o.innerHTML="";
				}
				SM.Submit(_.S(_.E("FORM",o),_.d,"none"),u,z,m,g);
			}
		}
	},
	run:{
		Queue:function(g,e,i){
			with(CbOS.SM)with(Queue){
				if(T){w.clearTimeout(T); T=0};
				if(!L++){
					for(i in l){
						try{
							g=l[i].f(l[i].a,l[i])
						}catch(e){
							delete l[i];
							continue
						};
						if(g){
							delete l[i];
							if(g.n)	break
						}
					};
					for(i in l){
						if(T) w.clearTimeout(T);
						T=w.setTimeout("CbOS.SM.run.Queue()",10);
						break
					}
				};
				L--
			}
		},
		Event:function(event,o,m,aDebug,p,r,R,i,n,E,W,P,v){
			with(CbOS){
				W=get.Win(o)
				if(w!=(W=get.Win(o))&&(!W||!(P=wd.win[W.name])))return;
				E=o.nodeName?o:W.CbOS.EVENTS
				if(m){
					if((n="CbOS"+m)=="CbOSonload"&&W.GPA){
						if(w!=W&&P.A.Active&&!P.A.Shaded&&!P.A.Minimized&&(p=_.F("Within0",W))&&!p.getAttribute("cbosevnt")){
							SM.run.Event(p,p);
							try{p.focus()}catch(i){}
						}
					};
					var ev = [event];
					if(aDebug)
					{
						if(E["_"+n])
							if(confirm("Do you want to run function?\n\n"+E["_"+n]))
								r = E["_" + n].apply(E, ev);
						for(p in E[n])
							if (E[n+p])
							{
								if(confirm("Do you want to run function?\n\n"+E[n+p]))
								{	  
									var tmp = E[n + p].apply(E, ev);
									if (!is.Def(r))
										r = tmp;
								}
							}
							else
								del(E[n], p)
					}
					else
					{
						if(E["_"+n])
							r = E["_" + n].apply(E, ev);
						for(p in E[n])
							if (E[n+p])
							{
									var tmp = E[n + p].apply(E, ev);
									if (!is.Def(r))
										r = tmp;
							}
							else
								del(E[n], p)
					}
					if(n=="CbOSonload"){
						if(E["_"+n]) del(E,"_"+n);
						for(p in E[n]) del(E,n+p);
						del(E,n);
						i=get.Doc(o).getElementsByTagName("SCRIPT");
						for(var j=0;j<i.length;j++)
							if(i[j].getAttribute("cbos"))
								rem(i[j]);
						if(w!=W&&P.A&&P.A.AutoResize){
							delete P.A.AutoResize;
							i=get.Doc(W).body;
							if(i.scrollWidth>i.offsetWidth||i.scrollHeight>i.offsetHeight){
								v=_.F(wd.wins);
								SM.set.Size(P,E=Math.max(Math.min(_.G(v,_.w,1),i.scrollWidth+P.offsetWidth-i.offsetWidth),i.offsetWidth),i=Math.max(Math.min(_.G(v,_.h,1),i.scrollHeight+P.offsetHeight-i.offsetHeight),i.offsetHeight));
								if(P.A.Centered){
									P.A.Left=Math.max(0,Math.ceil((_.G(v,_.w,1)-E)/2));
									P.A.Top=Math.max(0,Math.ceil((_.G(v,_.h,1)-i)/2))
								}
							}
							SM.set.XY(P,P.A.Left,P.A.Top);
							if(P.A.Left+P.A.Width>_.W(v=_.F(wd.wins))||P.A.Top+P.A.Height>_.H(v)){
								v=P.A.MaximizeIcon;
								P.A.MaximizeIcon=true
								SM.on.Maximize(P,1)
								P.A.MaximizeIcon=v
							}
						}
					}
				};
				if(!(i=_.O(event))) return;
				if(is.Tag(i,"LABEL")){
					if(!i.CbOSonclick) _.M(i,_.y,"top.CbOS.label(event,this)");
					if(i.htmlFor) i=_.F(i.htmlFor,i)
				}else if(m!="onpropertychange"&&is.Tag(i,["INPUT","TEXTAREA"])&&!i.CbOSonfocusBORDER){
					_.M(_.M(i,"onfocus","top.CbOS.run.DrawBorder(this)","BORDER"),"onblur","top.CbOS.run.RestoreBorder(this)");
					if(m=="onkeyup") SM.run.Event(event,i,"onfocus")
				}
				if(i&&!i.cbosevnt){
					i.cbosevnt=true
					if(i&&(is.Tag(i,"A")||is.Cls(i,_.f)||is.Tag(i=i.parentNode,"A")||is.Cls(i,_.f)||is.Tag(i=i&&i.parentNode,"A")||is.Tag(i=i&&i.parentNode,"A"))&&!i.CbOSonmouseover){
						if(set.Lock(i)){
							if((E=i.getAttribute("hint"))){Title(i,E);i.removeAttribute("hint")};
							if(!_.M(i,["onfocus","onmouseover"],"return top.CbOS.set.Status()","Status").CbOSonclick){
								if((E=is.Tag(i,"A")&&is.Href(i))) _.M(i,["onkeydown","onkeyup"]);
								if(is.CheckBox(i))
									_.M(_.M(_.M(i,[_.y,"onkeydown"],"top.CbOS.checkbox.Click(event,this)"),"onfocus","top.CbOS.run.DrawBorder(this)","BORDER"),"onblur","top.CbOS.run.RestoreBorder(this)").hideFocus=true;
								else if(is.RadioBox(i))
									_.M(i,[_.y,"onkeydown"],"top.CbOS.radiobox.Click(event,this)");
								else if(is.Tree(i))
									Title(_.M(_.M(_.M(i,_.y,"top.CbOS.Tree.Item(event,this)"),'onfocus','top.CbOS.Tree.Focus(event,this)'),'onblur','top.CbOS.Tree.Blur(event,this)'),i.innerHTML);
								else if(is.Cls(i,["menuDef","menuAdv"])&&i.getAttribute("N"))
								{
									_.M(_.M(_.M(i,_.y,"top.CbOS.menu.Click(event,this)"),["onfocus","onmouseover"],"top.CbOS.menu.Focus(this)"),"onmouseover","top.CbOS.menu.setFocus(this)");
									if(!is.Cls(i,["menuUp","menuDown"]))
										with(i.parentNode.parentNode.M.a[i.getAttribute("N")*1])Title(i,GV(3)||GV(0));
								}
								else if(is.Cls(i,["msbDef","msbAdv"])&&i.id)
									with(W.CbOS.TEMP[_.T(i,"DIV","msb").id].M[i.id])Title(_.M(_.M(i,_.y,"top.CbOS.msb.Click(event,this)"),"onfocus","top.CbOS.msb.Focus(this)"),GV(3)||GV(0));
								else if(is.ChTree(i))
									_.M(_.M(_.M(i,[_.y,"onkeydown"],"top.CbOS.chtree.lClick(event,this)"),"onfocus","top.CbOS.chtree.Focus(this)"),"onblur","top.CbOS.chtree.Blur(this)").hideFocus=true;
								else if(is.GTree(i.parentNode))
									_.M(_.M(_.M(i,[_.y,"onkeydown"],"top.CbOS.gtree.KDown(event,this)"),"onfocus","top.CbOS.gtree.Focus(this)"),"onblur","top.CbOS.gtree.Blur(this)").hideFocus=true;
								else{
									if(i.onclick){
										[i][0].onclick2=i.onclick;
										i.onclick=null
									};
									W=is.Cls(i,_.a);
									if((E&&W)||E||i.onclick2)
										_.M(i,_.y,"top.CbOS.run.Click(event,this)")
									if(CbOS.btn)
									{
										if(W)
											_.M(_.M(_.M(_.M(_.M(i,"onfocus","top.CbOS.btn.Focus(this)"),"onblur","top.CbOS.btn.Blur(this)"),"onmouseover","top.CbOS.btn.Over(this)"),"onmousedown","top.CbOS.btn.Down(this)"),"onmouseup","top.CbOS.btn.Up(this)")
										else if(is.Cls(i,["toolBarBtn0","toolBarBtn1"]))
											_.M(_.M(i,["onfocus","onmouseover"],"top.CbOS.btn.ToolBarOver(this,event)"), "onblur", "top.CbOS.btn.ToolBarBlur(this)")
									}
								}
							};
							if(m){
								if(m=="onkeyup") SM.run.Event(event,i,"onfocus");
								SM.run.Event(event,i,m);
								if(m!="onmouseover"&&!is.Cls(i,_.a)) SM.run.Event(event,i,"onmouseover")
							}
						};
						i.L--
					}
				}
			}
		}
	},
	set:{
		/*function,attributes,time*/
		Queue:CbOS._.Q=function(f,a,t,g,o){
			with(CbOS)with(SM.Queue){
				o={f:f,a:a};
				if(!t&&(g=o.f(a,o))){if(g.s&&w.DebugMode)alert(g);return};
				l[_.K()]=o;
				if(!L){
					if(T) w.clearTimeout(T);
					T=w.setTimeout("CbOS.SM.run.Queue()",t||10);
				}
			}
		},
		/*object,event,functionJS,pk,value*/
		Event:CbOS._.M=function(o,e,f,p,v,n,E,i,k,q,W){
			with(CbOS)
			if (is.support)
			{
				if(o.a)
				{
					for(i=0;i<o.length;++i)
						_.M(o[i],e,f,p);
					return o
				};
				if((W=get.Win(o))&&(q=W.CbOS))
				{
					if(e.a){for(i=0;i<e.length;++i) _.M(o,e[i],f,p); return o};
					p=_.K(p);
					E=o.nodeName?o:q.EVENTS
					if(!E[n="CbOS"+e]){
						E[n]=create.Obj(o);
						if(o[e]) E["_"+n]=o[e];
						if ((e == "onkeyup" || e == "onkeydown") && is.Tag(o, "A"))
							SM.set.Attach(o,e,q.set.Event("if(window.top&&top.CbOS&&top.CbOS.SM){var a = top.CbOS.SM.run.Event(event,this,'"+e+"');if(top.CbOS.is.In(event.keyCode,[32,37,38,39,40])) top.CbOS.set.CBubble(event); return a}"))
						else
							SM.set.Attach(o,e,q.set.Event("if(window.top&&top.CbOS&&top.CbOS.SM) return top.CbOS.SM.run.Event(event,this,'"+e+"')"))
					};
					if(f){
						E[n][p]=v;
						E[n+p]=q.set.Event(f)
					}else if(E[n+p]){
						del(E[n],p);
						del(E,n+p)
					};
					return o
				}
			}
		},
		Attach:function(o,e,f){
			if(o[e]||w.attachEvent)
				o[e]=f;
			else if(o.addEventListener)
				o.addEventListener(e.substring(2,e.length),f,false);
		},
		Init:function(o,m,e){
			with(CbOS){
				if(w.name!="CBOS"){
					wd.Stop=true;
					return _.M(o,"onload","CbOS.SM.Submit(top)")
				};
				if(o == w)
					_.M(o,"onload","CbOS.Boot.Init()");
				else {
					_.M(_.M(o,"onload","CbOS.LOAD()"),"onunload","top.CbOS.ajax.Loading.Hide(w);top.CbOS.Hint.Hide();top.CbOS.menu.Cache(w.name)").d.write('<base href="'+get.Base()+'"/>');
					create.CSS(o.d);
					_.Q(MsgBox.Close,TEMP[o.name],1);
					if(!get.node.Child(o.d,"SCRIPT").getAttribute("redirect")&&(e=wd.win[o.name])&&e.F&&_.G(_.F(e.F),"visibility")=="hidden"){
						_.S(_.F(e.Content)||e,_.b,"none");
						_.S(_.F(e.F),"visibility","visible")
					}
				};
				_.M(o.d,["onkeydown","onkeyup","onmousedown"],"top.CbOS.menu.Identity(event)");
				m=["MOver","MDown","MUp","Click","DClick","KDown","KUp"];
				e=["mouseover","mousedown","mouseup","click","dblclick","keydown","keyup"];
				for(var i=0;i<e.length;i++)
					_.M(o.d,"on"+e[i],"top.CbOS.SM.on."+m[i]+"(event)");
				_.M(o,is.op9?"onresize":["onscroll","onresize"],"top.CbOS.menu.Clear()", "MENUCLEAR");
				o.hideFocus=true;
				if(is.ie)
					_.M(o, "onload", "top.CbOS.SM.set.Event(d.body, 'ondragover', 'top.CbOS.mask.Edit(top.CbOS.get.eObj(event))')");
				else{
					_.M(o, "onload", "top.CbOS.SM.set.Event(d.body, 'ondragdrop', 'top.CbOS.mask.Change(this,event)')");
					if(o!=w)_.M(o,"onresize","top.CbOS.SM.set.Scroll(w,d)")
				}
			}
		},
		Wait:function(o){
			with(CbOS)if((o=wd.win[get.Win(o).name])){
				_.S(_.F(o.Content)||o,_.b,get.iURL(get.Root(o)+"images/window/wait.gif"))
				_.S(_.F(o.F),"visibility","hidden")
			}
		},
		_Scroll:function(a,t,o,i){
			with(CbOS){
				if((o=wd.win[a.n])&&(i=get.iWin(_.F(o.F)).CbOSScroll==a.i)&&(t.k=(t.k||0)+1)==3){
					_.S(get.iDoc(_.F(o.F)).body,"overflow","auto");
					return i
				}else
					return !i
			}
		},
		Scroll:function(W,D){
			with(CbOS) _.Q(SM.set._Scroll,{n:W.name,i:W.CbOSScroll=_.K()},5)
		},
		Size:function(o,W,H){
			with(CbOS){
				var wns=_.F(wd.wins)
				var j = get.Height(wns);
				if(j + 1 < Math.max(H,o.A.MinHeight))
					o.A.MinHeight = Math.min(H=o.A.Height=j, o.A.MinHeight);
				if((j = get.Width(wns)) < Math.max(W,o.A.MinWidth))
					o.A.MinWidth = Math.min(W=o.A.Width=j, o.A.MinWidth);
				if(!o.A.Maximized){
					o.A.Width=W;
					if(!o.A.Shaded) o.A.Height=H
				};
				if(o.A.Shaded)
					_.S(o,_.w,Math.max(W,o.A.MinWidth));
				else{
					var c=_.F(o.Content);
					_.S(c, _.h ,Math.max(H,o.A.MinHeight) - _.H(c.previousSibling) - (o.A.StatusBar ? _.H(c.nextSibling) : 0) - IE(3,5));
					_.S(c.nextSibling,_.d,"none");
					_.S(o, _.w, Math.max(W, o.A.MinWidth));
					if(o.F) _.S(_.F(o.F),_.h,_.G(c,_.h,1)-IE(2,0));
					_.S(c.nextSibling,_.d)
				};
				return o
			}
		},
		XY:function(o,X,Y){
			if(o)with(CbOS){
				if(o.A&&!o.A.Maximized&&!o.A.Minimized){
					o.A.Left=X;
					o.A.Top=Y
				};
				return _.S(_.S(o,"left",X-_.G(o.firstChild,"left",1)*2),"top",Y-_.G(o.firstChild,"top",1)*2)
			}
		},
		Sort:function(a,f,k,i){
			with(CbOS) while((k=true)){
				for(i=0;i<a.length-1;i++)
					if(a[i].A.zIndex>a[i+1].A.zIndex){
						f=a[i];
						a[i]=a[i+1];
						a[i+1]=f;
						k=false
					}
				if(k) return a
			}
		},
		Width:function(o){
			with(CbOS) if(is.Tag(o=o.body.firstChild,'DIV')) _.S(_.S(o,_.w,'100%'),_.w,Math.max(o.parentNode.scrollWidth&&o.offsetWidth))
		}
	},
	on:{
		WinsScroll:function(o,i,m){
			with(CbOS)
				for(i in wd.win){
					m=wd.win[i];
					if(m.A.Active){
						if(m.A.Left<1&&m.A.Top<1){
							i=m.A.MaximizeIcon;
							m.A.MaximizeIcon=true;
							this.Maximize(m);
							m.A.MaximizeIcon=i
						}else
							SM.set.XY(m,Math.max(0,m.A.Left-o.scrollLeft),Math.max(0,m.A.Top-o.scrollTop));
					}
				}
			o.scrollTop=o.scrollLeft=0
		},
		QL:function(e,o,i,k,q){
			with(CbOS){
				q=_.F(o.Win);
				if(!(k=get.Modal())||k.A.Created<=q.A.Created){
					if(q.A.Active)
						SM.on.Minimize(q);
					else
						SM.on.Focus(q)
				}else
					SM.on.Focus(k);
				return _.B(e)
			}
		},
		ShowDesktop:function(e,m,g,j,k,i){
			with(CbOS){
				m=[];
				for(k in wd.win)
					if(is.Cls(i=wd.win[k],"win0")&&i.A.Hidden)
						m.push(i);
				m=SM.set.Sort(m);
				j=[];
				for(k in wd.win)
					if(is.Cls(i=wd.win[k],"win0")&&!i.A.AlwaysOnTop&&i.A.zIndex>0)
						j.push(i);
				j=SM.set.Sort(j);
				if(j.length){
					for(i=0;i<j.length&&(k=j[i]);i++){
						k.A.Hidden=k.A.Minimized=true;
						_.S(k,_.z,k.A.zIndex=-wd.zIndex++);
						_.U(k);
					};
					for(i=0;i<m.length;i++){
						del(m[i].A,"Hidden");
						_.U(m[i]);
					}
					SM.on.Focus()
				}else{
					for(i=m.length-1;i>=0&&(k=m[i]);i--){
						del(k.A,["Minimized","Hidden"]);
						_.S(k,_.z,k.A.zIndex=wd.zIndex++);
						_.U(k);
					};
					SM.on.Focus(m[0])
				};
				return _.B(e)
			}
		},
		CascadeWindows:function(e,j,k,i){
			with(CbOS){
				j=[];
				for(k in wd.win) if(is.Cls(i=wd.win[k],"win0")&&i.A.Movable) j.push(i);
				j=SM.set.Sort(j);
				for(i=0;i<j.length&&(k=j[i]);i++){
					del(k.A,"Hidden");
					_.S(k,_.z,k.A.zIndex=wd.zIndex++);
					if(k.A.Maximized) this.Maximize(k);	else if(k.A.Minimized) this.Minimize(k);
					SM.set.XY(k,i*10+10,i*23+10);
					_.U(k)
				};
				SM.on.Focus(j[(j.length||1)-1]);
				return _.B(e)
			}
		},
		qlNext:function(e,o){
			with(CbOS){if(_.I(o)){
				o=_.F(wd.taskbar.PNS).nextSibling;
				while(o&&_.G(o,"display")=='none') o=o.nextSibling;
				_.S(o,"display",'none');
				set.Navigator()
			}; return _.B(e)}
		},
		qlPrev:function(e,o){
			with(CbOS){if(_.I(o)){
				o=_.F(wd.taskbar.Panel).lastChild.lastChild;
				while(o&&_.G(o,"display")!='none') o=o.previousSibling;
				_.S(o,"display");
				set.Navigator()
			}; return _.B(e)}
		},
		_Init:function(p,l,o){
			with(CbOS)
				if((o=wd.win[p.n])){
					if(5==(l.k=(l.k||0)+1)){
						o=get.iWin(_.S(_.F(o.F),"visibility","visible"))
						try
						{
							with(get.Obj("winActive",o))
							{
								focus();
								blur()
							}
						}
						catch(l){};
						SM.Submit(o,p.u,p.a,p.m);
						return true
					}
				}else return true
		},
		Init:function(o){
			with(CbOS){
				if(TEMP[o.name]&&!wd.win[o.name])
					_.Q(create._Attach,TEMP[o.name],5);
				else if((o=wd.win[o.name])){
					if(o.Status) o.Status.innerHTML="Loading...";
					_.Q(SM.on._Init,{n:o.name,m:o.A.Method,u:o.A.URL,a:[["CbOSData",exchange.Descr(o.A)]].concat(o.A.Attributes||[])},5);
					SM.on.Complete(o);
				}
			}
		},
		Complete:function(o,v,b){
			with(CbOS)if(o)with(o){
				run.Del(A,o,"onCreate");
				v=_.F(wd.wins);
				var j = get.Height(v);
				if(j < Math.max(A.Height,A.MinHeight))
					A.MinHeight = Math.min(A.Height=j, A.MinHeight);
				if((j = get.Width(v)) < Math.max(A.Width,A.MinWidth))
					A.MinWidth = Math.min(A.Width=j, A.MinWidth);
				if(A.Centered){
					A.Left=Math.max(0,Math.ceil((_.G(v,_.w,1)-Math.max(A.Width,A.MinWidth||0))/2));
					A.Top=Math.max(0,Math.ceil((_.G(v,_.h,1)-Math.max(A.Height,A.MinHeight||0))/2));
					del(A,"Cascaded")
				}else if((!_.D(A.Left)||!_.D(A.Top))){
					v=0;
					for(b in wd.win)
						with(wd.win[b])
							if(A.Cascaded&&A.Left&&is.Cls(wd.win[b],"win0"))
								v=Math.max(v,A.Left);
					A.Left=v+10
					A.Top=v?23*v/10+10:10
				};
				b=wd.modal[A.ID];
				_.S(wd.win[o.id],_.z,A.zIndex=A.zIndex||(wd.zIndex=(wd.zIndex+(b?1:2))));
				if(b) _.S(b,_.z,Math.abs(A.zIndex)-1);
				if(o!=_.F("DESKTOP")){
					SM.set.Size(o,A.Width,A.Height);
					if(A.Maximized)
						SM.on.Maximize(o,1);
					else{
						if(A.Left+A.Width>_.W(v=_.F(wd.wins))||A.Top+A.Height>_.H(v)){
							v=A.MaximizeIcon;
							A.MaximizeIcon=true
							SM.on.Maximize(o,1)
							A.MaximizeIcon=v
							A.AutoResize=false
						}else if(!A.AutoResize)
							SM.set.XY(o,A.Left,A.Top);
						else if(w.DebugMode)
						{
							var tmpLeft = o.A.Left, tmpTop = o.A.Top;
							SM.set.XY(o, 0, 0);
							o.A.Left = tmpLeft;
							o.A.Top = tmpTop;
						}
						if(A.Minimized) SM.on.Minimize(o,1);
						if(A.Shaded) SM.on.Shade(o,1);
					};
				}
				if(b) SM.on.Resize()
			}
		},
		MOver:function(e,o){
			with(CbOS) if((o=_.O(e))){
				mask.Edit(o);
				SM.on.DeSelect(o);
				if(wd.RZ&&!wd.RZ.c&&_.T(o.firstChild||o,"DIV","win0")!=wd.RZ){
					_.S(wd.RZ.o.Resize,_.d);
					_.M(d.body,"onmousemove",null,"MMOVE");
					del(wd,"RZ")
				};
				set.BgImg(o);
				Hint.Hide()
			}
		},
		MMove:function(e,o,j){
			with(CbOS)if((o=_.O(e))){
				SM.on.DeSelect(o);
				if((j=wd.MOVE)&&_.D(j.x)){
					with(j) SM.set.XY(j.k||(j.k=set.Size(create.SpaceBox(),_.W(o),_.H(o))),Math.min(Math.max(get.X(e),0),_.W(_.F(wd.wins))-1)-x,Math.min(Math.max(get.Y(e),0),_.H(_.F(wd.wins))-1)-y);
					_.B(e)
				}else if((j=wd.RZ)&&_.D(j.x))
					with(j){
						if(!j.k) j.k=SM.set.XY(create.SpaceBox(),x,y);
						j=[Math.min(Math.max(get.X(e)+X,0),_.W(_.F(wd.wins))-1),Math.min(Math.max(o.A.Shaded?y:get.Y(e)+Y,0),_.H(_.F(wd.wins))-1),o.A.MinWidth,o.A.Shaded?22:o.A.MinHeight];
						if(l&&t) set.Size(k,Math.max(j[2],j[0]-x),Math.max(j[3],j[1]-y)); else{
							if(!l) j[4]=Math.min(w+x-j[2],j[0]);
							if(!t) j[5]=Math.min(h+y-j[3],j[1]);
							if(l) _.S(set.Size(k,Math.max(j[2],j[0]-x),y+h-j[5]),"top",j[5]);
							else if(t) _.S(set.Size(k,x+w-j[4],Math.max(j[3],j[1]-y)),"left",j[4]);
							else _.S(_.S(set.Size(k,x+w-j[4],y+h-j[5]),"left",j[4]),"top",j[5]);
						};
						_.B(e)
					}
			}
		},
		MDown:function(e,o,i,j){
			with(CbOS) if((o=_.O(e))){
				for(i in wd.del)if(wd.del[i]++==4){
					rem(_.F(i));
					del(wd.del,i)
				}
				mask.Edit(o);
				if(!is.wBtn(o,e)&&(i=_.T(_.T(o.firstChild||o,"DIV","winATB"),"DIV","win0"))){
					if(i.A.Movable&&!i.A.Maximized&&!wd.MOVE){
						x=get.X(e)-get.Left(j=i.firstChild.firstChild);
						y=get.Y(e)-get.Top(j);
						if(x.Between(0,_.W(i))&&y.Between(0,_.H(i))){
							wd.MOVE={o:i,c:_.S([o,_.F(wd.space)],_.c,"move"),x:x,y:y}
							_.M(d.body,"onmousemove","top.CbOS.SM.on.MMove(event)","MMOVE");
						}
					}
				}else if((j=wd.RZ)&&!j.c){
						with(j){
							j=o.firstChild.firstChild;
							var x,X,y,Y,H,W;
							x=get.Left(j);
							X=get.X(e);
							y=get.Top(j);
							Y=get.Y(e);
							H=_.H(o);
							W=_.W(o);
							if((X-x).Between(0,W)&&(Y-y).Between(0,H)){
								with((wd.RZ=_.P(["o",o,"c",1,"x",x,"y",y,"X",X,"Y",Y,"w",W,"h",H],wd.RZ))){
									X=x-X+(l?w:0);
									Y=y-Y+(t?h:0)
								}
								_.M(d.body,"onmousemove","top.CbOS.SM.on.MMove(event)","MMOVE");
							}
						}
				}else if(get.Win(o)!=w)
					SM.on.Focus(get.Win(o).name);
				if((j=_.T(o,"DIV","menu3"))&&j.M&&j.M.c){
					menu.Clear(j.M.c);
					del(j.M,"c")
				};
				Hint.Hide()
			}
		},
		MUp:function(e,o,i,j){
			with(CbOS) if((o=_.O(e))){
				if(get.Win(o).CbOS.mnWin&&!is.Cls(o,[1,0].Prefix("mnFolder")))
					mn.Clear(o);
				mask.Edit(o);
				SM.on.DeSelect(o);
				if((i=wd.MOVE)){
					with(i){
						if(i.k){
							_.U(SM.set.XY(o,get.Left(k),get.Top(k)));
							del(o.A,["Cascaded","Centered"])
						};
						_.S([c,_.S(rem(_.F(wd.space),1),_.z)],_.c)
					};
					_.M(d.body,"onmousemove",null,"MMOVE");
					del(wd,"MOVE")
				}else if((i=wd.RZ)){
					with(i){
						if(i.k){
							_.U(SM.set.Size(SM.set.XY(o,get.Left(k),get.Top(k)),_.W(k),_.H(k)));
							del(o.A,"Cascaded")
						};
						_.S(rem(_.F(wd.space),1),[_.z,_.c]);
						i=o
					};
					_.M(d.body,"onmousemove",null,"MMOVE");
					del(wd,"RZ");
					SM.on.BResize(e,i)
				}
			}
		},
		Click:function(e,o,p,i){
			with(CbOS) if((o=_.O(e))&&is.wBtn(o,e)){
				p=_.T(o,"DIV","win0","LI");
				i=o.className;
				if(i=="winClose"){
					if(p.A.MsgBoxFunc)
						MsgBox.Click(_.F(p.Content).lastChild.previousSibling.lastChild);
					else if(!p.F||p.A.Template=="Report"||!(o=get.iWin(_.F(p.F)))||!o.CbOS||(!SM.Warning(o)&&run.EditMode(o,SM.on._Close,p)))
						this.Close(p,null,true)
				}else if(i=="winMax")
					this.Maximize(p);
				else if(i=="winMin")
					this.Minimize(p);
				else if(i=="winShade")
					this.Shade(p);
				else if(i=="winHelp")
					create.Window(wd.Template.Help,{Caption:'Help',URL:'modules/help/help.aspx'})
			}
		},
		DClick:function(e,o,i){
			with(CbOS) if((o=_.O(e))){
				if(is.wBtn(o,e))
					this.Click(e);
				else if((i=_.T(_.T(o.firstChild||o,"DIV","winATB"),"DIV","win0"))&&i.A.MaximizeIcon)
					SM.on.Maximize(i)
			}
		},
		KDown:function(e,o,i,m,k){
			with(CbOS) if((o=_.O(e))){
				if(get.Win(o).CbOS.mnWin)
					mn.Clear(o);
				if((m=is.Win(o))&&(k=get.Modal())&&k.A.Created>m.A.Created){if(w.focus)w.focus();return _.B(e)};
				if((i=e.keyCode)==27)
					_.B(e)
				else if(i==116){
					_.B(e)
					SM.Submit(top)
				}else if(i==13&&is.Tag(o,"INPUT"))
					run.Enter(o, e);
			}
		},
		KUp:function(e,o,m,k){
			with(CbOS) if((o=_.O(e))){
				if((m=is.Win(o))&&(k=get.Modal())&&k.A.Created>m.A.Created){if(w.focus)w.focus();return _.B(e)};
				mask.Edit(o);
			}
		},
		CloseChildWindows:function(aId)
		{
			with (CbOS)
				for (var i in wd.win)
					if (wd.win[i].A.Opener == aId)
						SM.on.Close(wd.win[wd.win[i].A.ID])
		},
		Reload:function(o,i){
			with(CbOS)if(o&&(o=wd.win[o])&&(i=_.F(o.F))) SM.Submit(get.node.Child(get.iDoc(i),"FORM")||get.iWin(o))
		},
		OnClosure:function(h,o){
			with(CbOS)if(o&&h&&(o=wd.win[o])&&(i=_.F(o.F))&&(h=_.F(h,get.iDoc(i)))&&_.I(h))
			{
				run.Execute(h,true);
				h.disabled=true
			}
		},
		Closure:function(o,a,e,i){
		    with(CbOS)if((i=wd.win[o.name])&&(o=wd.win[i.A.Opener])&&(o=_.F(o.F))&&(o=_.F(i.A.OnClosure,get.iDoc(o)))){
		    	o.disabled=false;
		    	if(e){
		    	    o.Exec=null;
		    	    o.setAttribute("execute",e);
		    	}
				if(a)
					for(e=o.form.elements,o=o.parentNode,i=0;i<a.length;i=i+2)
						(e[a[i]]||_.E("INPUT",o,null,a[i],"hidden")).value=a[i+1];
		    }
		},
		_Close:function(o,c){if(c=='Yes') CbOS.SM.on.Close(o)},
		Close:function(o,p,n,i,j,m){
			with(CbOS)if(o){
				if(o.A.Template=="Screen")return location.replace(get.Base("default.aspx"));
				del(TEMP,o.A.TEMP);
				if(w.focus)w.focus();
				menu.Cache(o.A.ID);
				for(i in BgImg)if(BgImg[i]==o.name)del(BgImg,i);
				if(_.S(o,"top",-99999).QL){
					i=_.F(o.QL);
					i.parentNode.removeChild(i)
				};
				SM.on.OnClosure(o.A.OnClosure,o.A.Opener);
				SM.on.Reload(o.A.Reload);
				if(o.A.CloseChildWindows)
					SM.on.CloseChildWindows(o.A.ID);
				i=o.A.ID;
				m=o.A.Template!="MsgBox"?"CbOSData="+escape("Deleted="+i+"&Created="+o.A.Created+(o.A.WizardID?"&WizardID="+escape(o.A.WizardID):"")):0;
				del(wd,["RZ","MOVE","LU"]);
				del(wd.win,i);
				if(wd.modal[i]){
					rem(wd.modal[i]);
					del(wd.modal,i);
					if(!get.Modal())with(wd.taskbar){
						set.bgImage((j=_.F(ShowHide)).firstChild,1);
						set.bgImage((i=_.F(Cascade)).firstChild,1);
						j.disabled=i.disabled=false
					};
				};
				o.A.Active=false
				ajax.Loading.Hide(o.A.ID);
				if(n||o.A.Template=="Report")
					rem(_.F(o.id));
				else
					wd.del[o.id=_.K()]=0;
				if(!p){
					o=null;
					for(i in wd.win) with(j=wd.win[i]) if(className=="win0"&&_.G(o||_.F("DESKTOP"),_.z,1)<_.G(j,_.z,1)) o=j;
					SM.on.Focus(o);
					SM.on.Resize()
				};
				if(m)exchange.Post(m)
			}
		},
		Resize:function(i,W,H,f,D,F){
			with(CbOS){
				i=_.F(wd.taskbar.PNS).nextSibling;
				if(!is.ie){
					if(i&&!wd.sep)
						wd.sep=_.S(_.E("IFRAME",0,"win"),_.z,-99);
					else if(wd.sep&&!i){
						d.body.removeChild(wd.sep)
						del(wd,"sep")
					}
				};
				set.Size([_.F(wd.space),wd.sep,F=_.F((D=_.F("DESKTOP")).F)],W=get.sWidth(),H=get.sHeight());
				set.Size([_.F(wd.wins),D],W,H-(i?24:0));
				set.Size(F,W-2,H-(i?24:0)-1);
				_.S(_.F(wd.taskbar.Panel),"top",(i?H:0)-24);
				for(f in wd.modal) set.Size(wd.modal[f],W,H-(i?24:0));
				for(i in wd.win) with(W=wd.win[i]) if(className=="win0"&&A.Maximized) SM.on.Maximize(W,1);
				set.Navigator();
				menu.Clear()
			}
		},
		BResize:function(e,o,x,y,l,t,v,i,W,H,R,f,k){
			with(CbOS){
				if(wd.RZ&&wd.RZ.c) return;
				W=_.W(o);
				H=_.H(o);
				R=o.Resize;
				i=is.InXY;
				if(wd.RZ&&o!=wd.RZ.o) _.S(wd.RZ.o.Resize,_.d);
				f=o.firstChild.firstChild;
				if(!o.A.Maximized&&i(x=get.X(e)-get.Left(f),y=get.Y(e)-get.Top(f),v=[[0,3,0,10],[0,10,0,3],[W-2,W,0,10],[W-10,W,0,3],[W-2,W,H-10,H],[W-10,W,H-2,H],[0,3,H-10,H],[0,10,H-2,H]])){
					_.S(_.S(_.S(_.S(R,"border-width",""+(i(x,y,[v[0],v[1],v[2],v[3]])?2:0)+"px "+(i(x,y,[v[2],v[3],v[4],v[5]])?2:0)+"px "+(i(x,y,[v[4],v[5],v[6],v[7]])?2:0)+"px "+(i(x,y,[v[6],v[7],v[0],v[1]])?2:0)+"px"),"left",(l=i(x,y,[v[0],v[1],v[6],v[7]])?0:(W-IE(10,12)))-1),"top",(t=i(x,y,[v[0],v[1],v[2],v[3]])?0:(H-IE(10,12)))-1),_.d,"block");
					wd.RZ={o:o,l:l,t:t};
					_.S([R,k=_.F(wd.space)],_.c,(o.A.Shaded?"e":(((l||t)&&!(l&&t))?"ne":"nw"))+"-resize");
					rem(k,1);
					_.B(e)
				}else{
					_.S(R,_.d);
					del(wd,"RZ")
				}
			}
		},
		Minimize:function(o,i,j){
			with(CbOS)if(o.A.MinimizeIcon){
				del(o.A,"Hidden");
				if(o.A.Minimized&&!i){
					_.S(_.S(o,"visibility"),_.z,o.A.zIndex=wd.zIndex++);
					if(o.A.Template=="Report")SM.set.XY(o,o.A.Maximized?0:o.A.Left,o.A.Maximized?0:o.A.Top);
					del(o.A,"Minimized");
				}else{
					o.A.Minimized=true;
					_.S(_.S(o,"visibility","hidden"),_.z,o.A.zIndex=-wd.zIndex++);
					if(o.A.Template=="Report")SM.set.XY(o,-99999,-99999);
					_.U(o);
					o=null;
					for(i in wd.win) with(j=wd.win[i]) if(className=="win0"&&_.G(o||_.F("DESKTOP"),_.z,1)<_.G(j,_.z,1)&&!A.Minimized) o=j;
				}
				SM.on.Focus(o);
				_.U(o)
			}
		},
		Maximize:function(o,i){
			with(CbOS)if(o.A.MaximizeIcon||o.A.Template=="Report"){
				if(o.A.Maximized&&!i){
					SM.set.Size(SM.set.XY(o,o.A.Left,o.A.Top),o.A.Width,o.A.Height)
					del(o.A,"Maximized");
				}else{
					if(o.A.Shaded) this.Shade(o);
					o.A.Maximized=true;
					SM.set.Size(o,_.W(o.parentNode),_.H(o.parentNode)+1)
					SM.set.XY(o,0,0);
				}
				set.bgImage(_.C(o,"LI","winMax"),o.A.Maximized?0:1);
				_.U(o);
			}
		},
		Shade:function(o,i,c,f){
			with(CbOS)if(o.A.ShadeIcon){
				c=_.F(o.Content);
				f=c.nextSibling;
				if(o.A.Shaded&&!i){
					del(o.A,"Shaded");
					_.S(f,["display","overflow"]);
					_.S(_.S(_.S(c,["display","position","overflow",_.h]),_.w,"auto"),["left","top"],0);
					if(o.F){
						del(_.F(o.F),"CbOSStyle");
						SM.set.Size(o,o.A.Width,o.A.Height)
					}
				}else{
					if(o.A.Maximized) this.Maximize(o);
					o.A.Shaded=true;
					del(f,"CbOSStyle");
					_.S(f,"display","none");
					_.S(_.S(_.S(c,"overflow","hidden"),"position","absolute"),["left","top",_.w,_.h],2)
				};
				set.bgImage(_.C(o,"LI","winShade"),o.A.Shaded?0:1);
				_.U(o);
			}
		},
		Load:function(o){
			with(CbOS) with(SM.on)
				if(_.D(o.A.zIndex)){
					wd.zIndex=Math.max(wd.zIndex,Math.abs(o.A.zIndex));
					if(o.A.Active) Focus(o)
				}else if(o.A.Minimized)
					Minimize(o,del(o.A,"Minimized"));
				else
					Focus(o)
		},
		Focus:function(o,l,v,i,D){
			with(CbOS){
				D=_.F("DESKTOP");
				if((o=o||D)&&o.s) o=wd.win[o];
				if(!o) return;
				if(D==o&&(v=get.Modal()))
					SM.on.Focus(v);
				else if(wd.LU!=o){
					if((l=wd.LU)&&l!=o){
						l.A.Active=false;
						v=l;
						if((l=l.QL))_.S(_.S(_.S(_.S(_.F(l),[_.k[0],_.k[3]],_.QLc[0]),[_.k[1],_.k[2]],_.QLc[1]).firstChild,[_.k[0],_.k[3]],_.QLc[2]),[_.k[1],_.k[2]],_.QLc[3]);
						if((l=is.Tag(wd.LU.firstChild,"DIV"))) l.className="win1";
						del(wd,"LU");
					};
					wd.LU=o;
					if(o!=D){
						_.S(wd.win[o.id],_.z,o.A.zIndex=wd.zIndex++);
						if((l=wd.LU.QL) && (l=_.F(l)))
							_.S(_.S(_.S(_.S(l,[_.k[0],_.k[3]],_.QLc[1]),[_.k[1],_.k[2]],_.QLc[0]).firstChild,[_.k[0],_.k[3]],_.QLc[3]),[_.k[1],_.k[2]],_.QLc[2]);
						if((l=is.Tag(o.firstChild,"DIV"))){
							l.className="win2";
							if(o.A.Minimized) SM.on.Minimize(o);
							else _.S(o,_.z,o.A.zIndex=wd.zIndex++)
						};
					}
					o.A.Active=true;
					if(o.A.Template!="Screen") for(l in wd.win) if(is.Cls(i=wd.win[l],"win0")&&i!=o&&i.A.Template=="Report") SM.on.Minimize(i,1);
					_.U(o);
					_.U(v)
				}
			}
		},
		DeSelect:function(e,s,o,D,n){
			with(CbOS)
				try{
					if(!is.Complete(e=e&&get.Win(e))||!is.Complete(D=get.Doc(e))||(e!=w&&!s)) return
					else if(e.getSelection||(e=D).getSelection){
						e.getSelection().removeAllRanges();
					}else if(D.selection&&(o=D.selection.createRange())&&o.text.length&&(s||!is.Tag(D.activeElement,["INPUT","TEXTAREA"])))
						D.selection.empty()
				}catch(n){}
		}
	}
}
CbOS.exchange={
	RQ:{},
	oQ:{},
	_Queue:function(o,l){
		if(o.i!=CbOS.exchange.iQ) return true;
		if(100==(l.k=(l.k||0)+1)) return CbOS.exchange.Run();
	},
	Queue:CbOS._.U=function(o,i,t){
		if(o) with(CbOS){
			del(t=exchange,"iQ");
			if(o.a) for(i=0;i<o.length;i++) t.oQ[o[i].A.ID]=true;
			else t.oQ[o.A.ID]=true;
			_.Q(t._Queue,{i:t.iQ=_.K()},5)
		}
	},
	Run:function(i,n,m,o){
		with(CbOS){
			i=0;
			m="";
			for(n in this.oQ){
				if((o=wd.win[n])&&o.A.Template!="MsgBox")
					m+=(m.length?"&":"")+"CbOSData"+(i++)+"="+escape(this.Descr(o.A,1));
				del(this.oQ,n)
			};
			if(m) exchange.Post(m)
			return true
		}
	},
	XML:function(s,u,c,f,n){
		with(CbOS){
			n=_.K();
			return this.RQ[n]={
				n:n,
				XML:create.Xml(w),
				URL:u,
				data:s,
				obj:f,
				c:_.N(c,1)
			}
		}
	},
	Post:function(s,u,c,f,o,i){
		with(CbOS){
			o=this.XML(s,u=get.Base(u||"cbos\/default.aspx"),c,f);
			o.XML.open("POST",u,true);
			o.XML.onreadystatechange=Function("CbOS.exchange.Complete('"+o.n+"')");
			o.XML.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			s=s||"";
			for(i in Session) s+=(s.length?"&":"")+i+"="+escape(Session[i]);
			o.XML.send(s);
		}
	},
	Complete:function(n,f,o,e,k){
		with(CbOS)
			if((f=this.RQ[n])&&(o=f.XML)&&o.readyState==4){
				if(o.status==200||o.status==500)
					try{
						k=new Function("o","f","e","with(CbOS)try{"+o.responseText+"}catch(e){}")
						k(o,f)
					}catch(e){}
				else if(f.c<2)
					this.Post(f.data,f.URL,f.c+1,f.obj);
				del(this.RQ,n)
			}
	},
	rDescr:["ID","Template","Created","Active","Stamp","Minimized","Maximized","Shaded","Centered","Cascaded","AlwaysOnTop","Top","Left","Width","Height","Hidden","zIndex","Caption"],
	sDescr:["ID","Template","Active","Stamp"],
	iDescr:["onPreload","onCreate","Attributes","URL","AutoResize"],
	Descr:function(o,a,s,n,i,t,r){
		with(CbOS){
			s=n="";
			o.Stamp=1*new Date();
			r=o.Template=="Screen"?this.sDescr:this.rDescr;
			for(i=0;i<r.length;i++){
				if(_.D(o[t=r[i]]))
					s+=(s.length?"&":"")+t+"="+escape(String(o[t]));
				else
					n+=(n.length?",":"")+t
			}
			if(!a) for(i in o)
				if(!is.In(i,this.iDescr)&&!is.In(i,r)){
					if(_.D(o[i]))
						s+=(s.length?"&":"")+i+"="+escape(String(o[i]));
					else
						n+=(n.length?",":"")+i
				}
			return s+(n?"&Nulls="+n:"")
		}
	}
};
CbOS.btn={
	ToolBarBlur:function(aObj){
		this.ToolBarOver(aObj);
		CbOS.set.BgImg(d.body)
	},
	ToolBarOver:function(o, aEvent){
		with(CbOS)
			if(_.I(o)&&!o.BgImg)
			{
				_.S(_.S(o,"border-width",1),"padding",""+((o.pb||(o.pt=_.G(o,"padding-top",1)))-1)+"px "+((o.pr||(o.pr=_.G(o,"padding-right",1)))-1)+"px "+((o.pb||(o.pb=_.G(o,"padding-top",1)))-1)+"px "+((o.pl||(o.pl=_.G(o,"padding-left",1)))-1)+"px")
				set.BgImg([o,o.firstChild],[get.Root(o)+"images/dmc/toolbar/over.gif",get.Root(o)+"images/1x1.gif"],[o])
				if (!aEvent || aEvent.type != 'keyup')
					o.BgImgStyleRollBack=["border-width","padding"];
				else
					set.DelBgImg(o)
			}
	},
	Over:function(o){
		with(CbOS)
			if(_.I(o)&&!o.BgImg&&_.G(o,_.b)!='none')
				set.BgImg([o,_.C(o,"UL"),_.C(o,"LI"),_.C(o,"DIV")],["over0","over1","over2","up0","up1","up2"].Prefix(get.bgImage(o).replace(/\/{1}[0-9a-zA-Z]*$/,"")+"/").Suffix(".gif"),[o,_.C(o,"UL"),_.C(o,"LI")])
	},
	Down:function(o){
		with(CbOS){
			set.DelBgImg(o);
			if(_.I(o)&&_.C(o,"UL")&&_.G(o,_.b)!='none')
				set.BgImg([o,_.C(o,"UL"),_.C(o,"LI"),_.S(_.C(o,"DIV"),"color",_.G(o,_.k[0]))],["down0","down1","down2","up0","up1","up2"].Prefix(get.bgImage(o).replace(/\/{1}[0-9a-zA-Z]*$/,"")+"/").Suffix(".gif"),[o,_.C(o,"UL"),_.C(o,"LI")]);
		}
	},
	Blur:function(o,p){
		with(CbOS){
			_.S(_.S(o=_.C(o,"DIV"),"border-width",0),"padding",""+(o.pb||(o.pt=_.G(o,"padding-top",1)))+"px "+(o.pr||(o.pr=_.G(o,"padding-right",1)))+"px "+(o.pb||(o.pb=_.G(o,"padding-top",1)))+"px "+(o.pl||(o.pl=_.G(o,"padding-left",1)))+"px")
			if(!is.ie&&_.G(o,_.b)!='none'&&is.PX(p=_.G(o,"background-position-x")))
				_.S(o,"background-position-x",""+(o.ppx||(o.ppx=to.Int(p)))+"px")
		}
	},
	Focus:function(o,p){
		with(CbOS)if(_.I(o)){
			_.S(_.S(o=_.C(o,"DIV"),"border-width",1),"padding",""+((o.pt||(o.pt=_.G(o,"padding-top",1)))-1)+"px "+((o.pr||(o.pr=_.G(o,"padding-right",1)))-1)+"px "+((o.pb||(o.pb=_.G(o,"padding-top",1)))-1)+"px "+((o.pl||(o.pl=_.G(o,"padding-left",1)))-1)+"px")
			if(!is.ie&&_.G(o,_.b)!='none'&&is.PX(p=_.G(o,"background-position-x")))
				_.S(o,"background-position-x",""+((o.ppx||(o.ppx=to.Int(p)))-1)+"px")
		}
	},
	Position:function(o,i){
		with(CbOS)
			_.S(_.S(_.S(o,"position",i?"relative":"absolute"),"visibility",i?"visible":"hidden"),["left","top"],i?_.G(o.firstChild,"top",true)*-2:-99999)
	},
	Cnt:function(o,i,j){
		with(CbOS){
			i=_.C(o,"DIV")
			with(_.T(o,"DIV").parentNode){
				j=_.G(childNodes[1],"position")=="absolute"
				childNodes[1].className=j?"cnt20":"cnt2";
				set.bgImage(i,j*1);
				set.Value(o.nextSibling,j)
			};
			o=get.Win(o);
			SM.run.Event(o,o,"onresize")
		}
	},
	Tab:function(o,i,j,n,O){
		with(CbOS) with(_.T(o,"DIV","cnt1")){
			i=firstChild;
			if(i.value!=o.id) {
				j=_.F("_"+o.id,o);
				if(j){
					o.blur()
					set.DelBgImg(o);
					n=get.Name(o);
					O=_.F(i.value,o);
					O.className=n+1;
					if(_.G(O,_.b)!='none')
						set.BgImg([O,_.C(O,"UL"),_.C(O,"LI"),_.C(O,"DIV")],[0,1,2,0,1,2].Prefix(get.bgImage(o).replace(/\/{1}[0-9a-zA-Z]*$/,"")+"/up").Suffix(".gif"),[O,_.C(O,"UL"),_.C(O,"LI")]);
					O.href=''
					btn.Position(_.F("_"+i.value,i));
					o.href="javascript:void(0)";
					o.hideFocus=true;
					o.className=n+2
					if(_.G(o,_.b)!='none')
						set.BgImg([o,_.C(o,"UL"),_.C(o,"LI"),_.C(o,"DIV")],[0,1,2,0,1,2].Prefix(get.Root(o)+"images/"+n+"/sel").Suffix(".gif"),[o,_.C(o,"UL"),_.C(o,"LI")]);
					i.value=o.id
					btn.Position(j,1);
					o=get.Win(o);
					SM.run.Event(o,o,"onresize")
				}else{
					i.value=o.id;
					SM.Submit(i)
				}
			}
		}
	},
	State:function(p,l,t,i,o,k){
		with(CbOS)if(l){
			l=l.toArray()
			t=!t;
			for(i=0;i<l.length;i++)
				if((o=_.F(l[i],p))&&_.I(o)==t){
					if(t) run.Event(o,o,"onblur");
					o.href=t?"":"javascript:void(0)";
					o.className=o.className.replace((t?"1":"0"),(t?"0":"1"));
					if(_.C(o,"UL")&&_.G(o,_.b)!='none')
					{
						set.BgImg([o,_.C(o,"UL"),_.C(o,"LI"),_.C(o,"DIV")],[0,1,2,0,1,2].Prefix(get.bgImage(o).replace(/\/{1}[0-9a-zA-Z]*$/,"")+(t?"/ds":"/up")).Suffix(".gif"),[o,_.C(o,"UL"),_.C(o,"LI")]);
						set.DelBgImg(o);
					}
					set.bgImage(_.C(o,"DIV"),t?0:1)
				}
		}
	},
	Create:function(f,c,E,W){return "<a onclick='"+f+"' href=# class=btn"+(E?1:0)+" hidefocus=true><ul><li"+(W?" style='width:"+W+"px'":"")+"><div"+(W?" style='width:100%'":"")+">"+c+"</div></li></ul></a>"},
	Up:function(o){
		with(top.CbOS){
			set.DelBgImg(o);
			SM.run.Event(o,o,'onmouseover')
		}
	}
};
CbOS.radiobox={
	State:function(p,l,t,i,o,c){
		with(CbOS){
			if(l.toArray)l=l.toArray();
			for(i=0;i<l.length;i++)
				if(is.RadioBox(o=get.Obj(l[i],p))&&is.Enabled(o)!=t){
					c=o.className;
					o.className=c.substring(0,c.length-1)+t*1;
					o.lastChild.disabled=!t;
				}
		}
	},
	Click:function(e,o,s){
		with(CbOS){

			if(e.keyCode==13)
				run.Enter(o, e);
			else if(_.I(o)&&(!e.keyCode||e.keyCode==32)&&!o.readOnly&&!o.checked)
				set.Value(o)
			if(!e.keyCode||e.keyCode==13)
				return _.B(e)
		}
	},
	Required:function(o,s,i){
		with(CbOS){
			s=o.disabled=!s
			if(is.Cls(i=_.T(o,"DIV"),"tblCellColon"))
				i=i.parentNode;
			if(is.Cls(i=i.previousSibling,["tblCCaptR","tblCCaptD"]))
				i.className="tblCCapt"+(s?"D":"R")
			else if(is.Cls(i,["tblCCaptRBtn","tblCCaptDBtn"]))
				i.className="tblCCapt"+(s?"D":"R")+"Btn"
		}
	},
	Input:function(o,s,i){
		o=o.parentNode.parentNode.nextSibling.getElementsByTagName("INPUT")
		for(i=0;i<o.length;i++)
			this.Required(o[i],s)
	},
	NextInput:function(o,s,m,h,i,k){
		m=m||-1;
		for(o=h?o:o.parentNode.parentNode.parentNode.nextSibling;o;o=o.nextSibling){
			if(m--==0)return;
			k=o.getElementsByTagName("INPUT")
			for(i=0;i<k.length;i++)
				this.Required(k[i],s)
		}
	},
	Hide:function(o,t,i,k){
		k=o.checked
		t=o.parentNode.parentNode.parentNode.childNodes;
		with(CbOS)
			for(i=2;i<t.length;i++)
				_.S(_.S(_.S(t[i],"visibility",k?"hidden":"visible"),["left","top"],k?-9999:0),"position",k?"absolute":"relative");
	},

	ShowNext:function(o){with(CbOS)_.S(_.S(_.S(o.parentNode.parentNode.nextSibling,"visibility",o.checked?"visible":"hidden"),["left","top"],o.checked?0:-9999),"position",o.checked?"relative":"absolute")}

};
CbOS.gtree={
	Class:function(k,i,q){
		i=k.className;
		q=i.charAt(i.length-1)=='1'?0:1;
		k.className=i.substring(0,i.length-1)+q;
		return q
	},
	Click:function(e,o,i,k,m,h,b){
		with(CbOS){
			if(is.GTreeNode(k=_.O(e))&&(e.offsetY||e.layerY||0).Between(3,17)&&(e.offsetX||e.layerX||0).Between(0,14)){
				m=o.previousSibling;
				b=k.firstChild.firstChild.getAttribute('pk');
				if(gtree.Class(k)){
					b="("+b+"){1}";
					eval("m.value=m.value.replace(\/(^"+b+"$)|(^"+b+",)|(,"+b+"$)\/,'').replace(\/,"+b+",\/,',')")
				}else
					m.value+=(m.value?',':'')+b;
				m=[];
				while(is.Tag(b=k.parentNode.parentNode,"DIV")){
					h=0;
					while((k=k.previousSibling))
						h++
					m[m.length]=h
					k=b
				}
				for(k=1;k<b.cells.length;k++){
					e=b.cells[k].firstChild;
					for(i=m.length-1;i>=0;i--)
						e=e.childNodes[m[i]];
					gtree.Class(e)
				}

			}
		}
	},
	Focus:function(e,o){
	},
	Blur:function(e,o){
	},
	KDown:function(e,o){

	}
};
CbOS.chtree={
    Click:function(e,t){
		with(CbOS)
			if(is.Tag(t=_.O(e),"DIV")&&is.ChTree(t)&&is.Tag(t.firstChild,"A")&&is.ChTree(t.firstChild)&&(e.offsetY||e.layerY||0).Between(3,17)&&(e.offsetX||e.layerX||0).Between(0,14))
				this.dClick(t)
    },
	Focus:function(t,i,m){
		with(CbOS){
			m=get.bgImage(t=t.parentNode);
			i=m.toArray("/");
			set.bgImage(t,"1"+i[i.length-1].substring(1))
			t.setAttribute("cbosfocus","1")
		}
	},
	Blur:function(t){
		with(CbOS){
			m=get.bgImage(t=t.parentNode);
			i=m.toArray("/");
			set.bgImage(t,"0"+i[i.length-1].substring(1))
			del(t,"cbosfocus")
		}
	},
	lClick:function(e,o){
		with(CbOS){
			if(_.I(o)&&(!e||!e.keyCode||e.keyCode==32)&&is.Href(o))
				this.dClick(o.parentNode,!e)
			if(e&&(!e.keyCode||e.keyCode==13)){
				if(e.keyCode==13)
					run.Enter(o, e);
				return _.B(e)
			}
		}
	},
	Img:function(o,l,K){
		with(CbOS){
			K=get.bgImage(o).toArray("/");
			K[K.length-1]=(o.getAttribute("cbosfocus")||"0")+(l==0?"":(l==1?11:12));
			return _.S(o,_.b,get.iURL(K.join("/")+".gif"))
		}
	},
	dClick:function(o,e,c,k,l,i,n,j,O,K,J,m,v){
		with(CbOS){
			m=_.T(o,"DIV","chtr0")
			if(set.Lock(m=_.T(o,"DIV","chtr0"))){
				if(!e)
					Fcs(v=o.firstChild);
				c=o.className;
				k=!(c.charAt(5)*1);
				v=o.firstChild;
				K=k*1
				n=chtree.Img(o,K).className="chtr1"+K;
				l=o.getElementsByTagName("A");
				for(i=0;i<l.length;i++) if(is.ChTree(l[i])){
					chtree.Img(l[i].parentNode,K).className=n;
					if((j=_.C(l[i],"INPUT")))
						set.Value(j,k)
				};
				l=o.getElementsByTagName("INPUT");
				for(i=0;i<l.length;i++)
					if(!is.ChTree(O=l[i].parentNode)){
						if(is.RadioBox(O))
							radiobox.State(O,O.id,k);
						else if(is.CheckBox(O))
							checkbox.State(O,O.id,k);
						else if(is.MSB(O))
							msb.State(O,_.T(l[i],"DIV","msb").id,k);
						else
							l[i].disabled=!k
					};
				l=o.getElementsByTagName("TEXTAREA");
				for(i=0;i<l.length;i++)
					l[i].disabled=!k
				j=[0,1,2].Prefix("chtr1");
				K=k*1;
				while((O=_.T(o,"DIV",j))){
					if(K<2)
					{
						var obj=O.getElementsByTagName("DIV");
						for(i=0;i<obj.length;++i)
							if(is.Cls(obj[i],j) && obj[i].className.charAt(5)*1!=K)
							{
								K=2
								break
							}
					};
					chtree.Img(O,K).className="chtr1"+K
					if((J=_.C(l[i],"INPUT")))
						set.Value(j,!!k);
					o=O
				}
				if(!m.getAttribute("chtrLock")&&((o=_.F(n=m.getAttribute("chtrDetailedID"),m))||(o=_.F(m.getAttribute("chtrGeneralizedID"),m)))){
					m.setAttribute("chtrLock","true")
					o.setAttribute("chtrLock","true")
					if(n){
						n=o.getElementsByTagName("A")
						j=v.innerText;
						l=v.firstChild.value;
						for(i=0;i<n.length;++i)
							if(n[i].innerText==j&&n[i].firstChild.value!=l)
								this.lClick(null,n[i])
					}
					m.removeAttribute("chtrLock")
					o.removeAttribute("chtrLock")
				};
				run.Execute(m)
			}
			m.L--
		}
	}
}
CbOS.checkbox={
	Click:function(e,o,aFocus){
		with(CbOS)
		{
			var c, i = (new Date())*1;
			if((!(c = w.CbOSLastTimeClick) || 3000 < (i - c)) && (!(c = o.CbOSLastTimeClick) || 50 < (i - c)))
			{
				o.CbOSLastTimeClick = i;
				if(e&&e.keyCode==13)
					run.Enter(o, e);
				else if(_.I(o)&&(!e||!e.keyCode||e.keyCode==32)&&!o.readOnly)
					set.Value(o,(is.Cls(o,["01",21].Prefix("clsCheckBox"))&&((o.getAttribute('allowUnknown')&&'undefined')||true))||o.className=="clsCheckBox1",null,aFocus)
				if(e&&(!e.keyCode||e.keyCode==13))
					return _.B(e)
			}
		}
	},
	State:function(p,l,t,i,o,c){
		with(CbOS){
			if(l.toArray)l=l.toArray();
			for(i=0;i<l.length;i++)
				if(is.CheckBox(o=_.F(l[i],p))&&_.I(o)!=t){
					c=o.className;
					o.className=c.substring(0,c.length-1)+t*1;
					o.disabled=o.lastChild.disabled=!t;
					o.href=t?"javascript:void(0)":""
				}
		}
	},
	Tree:function(e,o,k,i,t){
		with(CbOS)if((o=_.O(e))&&(o=_.T(o.firstChild||o,"A"))&&_.I(o)&&(!e.keyCode||e.keyCode==32)&&!o.readOnly){
			if(is.Cls(o.parentNode,"divTreeCheckBox")){
				k=o.parentNode.parentNode.getElementsByTagName("A");
				_.S(set.Value(k[0],t=get.Value(k[1]),0,1).firstChild,_.r,"transparent");
				for(i=2;i<k.length;i++)
					if(get.Value(k[i])!=t)
						return _.S(set.Value(k[0],true,0,1).firstChild,_.r,"#aeadad")
			}else{
				k=o.parentNode.getElementsByTagName("A");
				t=get.Value(o);
				_.S(o.firstChild,_.r,"transparent");
				for(i=1;i<k.length;i++)
					set.Value(k[i],t,0,1)
			}
		}
	}
};
CbOS.MsgBox={
	Btn:function(o,s,i){with(CbOS){s="";for(i=0;i<o.length;i++)s+=btn.Create("CbOS.MsgBox.Click(this)",o[i],1,65);return s}},
	Init:function(o,i){
		with(CbOS){
			i=_.F(o.Content).childNodes[1];
			o.A.Height=Math.min(get.sHeight(),i.offsetHeight<i.scrollHeight?i.scrollHeight+71:o.A.Height)
			_.S(i,_.h,o.A.Height-71)
			o.A.Width=Math.min(get.sWidth(),Math.max(o.A.MsgBoxBtn.length*77+24,i.offsetWidth<i.scrollWidth?o.offsetWidth+i.scrollWidth-i.offsetWidth+(is.op9?_.G(i,"padding-right",1):0):o.A.Width));
			_.S(i,"overflow","auto")
		}
	},
	Close:function(o){CbOS.SM.on.Close(CbOS.wd.win[o]);return true},
	_Click:function(o,l){
		if(2==(l.k=(l.k||0)+1)){
			o.f(o.a,o.c);
			return true
		}
	},
	Click:function(o,m){
		with(CbOS)with(m=_.T(o,"DIV","win0")){
			if(A.MsgBoxFunc){
				_.Q(MsgBox._Click,{f:A.MsgBoxFunc,a:A.MsgBoxAttributes,c:_.C(o,"DIV").innerHTML});
				del(A,"MsgBoxFunc")
			};
			SM.on.Close(m)
		}
	},
	Show:function(o,t,c,b,i,s,f,a,n){
		with(CbOS){
			if(!_.D(t))return true;
			if(TEMP[n=get.Win(o).name])
				MsgBox.Close(TEMP[n])
			create.Window(wd.Template.MsgBox,{ID:TEMP[n]=_.K(),TEMP:n,MsgBoxText:t,Caption:_.N(c,ProjectName),MsgBoxBtn:b.toArray(),MsgBoxIcon:i,MsgBoxSelected:s||0,MsgBoxFunc:f,MsgBoxAttributes:a})
		}
	}
}
/*window*/

CbOS.wd={
	win:{},
	Cache:[],
	zIndex:10,
	_MsgBox:function(o,l){if(3==(l.k=(l.k||0)+1)){CbOS.Fcs(o);return true}},
	Template:{
		Base:{
			Active:true,
			Icon:CbOS.get.Root(d)+"images/window/icon/default.gif",
			Width:936,
			Height:650,
			MinWidth:100,
			MinHeight:100,
			TaskBarButton:false,
			onPreload:CbOS.create.Popup
		},
		Screen:{
			ID:"DESKTOP",
			Template:"Screen",
			Top:0,
			Left:0,
			zIndex:1,
			onPreload:null
		},
		MsgBox:{
			Template:"MsgBox",
			Icon:null,
			Modal:true,
			HelpIcon:false,
			Movable:true,
			Centered:true,
			CloseIcon:true,
			Width:155,
			Height:131,
			onPreload:function(o,i,k,g){
				with(CbOS){
					create.Popup(o);
					_.F(o.Content).innerHTML=_.s+"0>&nbsp;</a><div class=msg"+o.A.MsgBoxIcon+">"+o.A.MsgBoxText+"</div><div class=btnBoxCB>"+MsgBox.Btn(o.A.MsgBoxBtn)+"</div>"+_.s+"1>&nbsp;</a>"
				}
			},
			onCreate:function(o){with(CbOS){MsgBox.Init(o);SM.on.Load(o);_.Q(wd._MsgBox,_.F(o.Content).lastChild.previousSibling.childNodes[o.A.MsgBoxSelected],5)}}
		},
		Popup:{
			Template:"Popup",
			ShadeIcon:true,
			MinimizeIcon:true,
			MaximizeIcon:true,
			CloseIcon:true,
			ProgressBar:true,
			StatusBar:true,
			Resizable:true,
			Movable:true,
			Cascaded:true,
			TaskBarButton:true,
			onCreate:CbOS.SM.on.Load
		},
		Help:{
			ID:"CbOSHelp",
			Template:"Help",
			ShadeIcon:true,
			MinimizeIcon:true,
			MaximizeIcon:true,
			CloseIcon:true,
			Resizable:true,
			ProgressBar:true,
			StatusBar:true,
			Movable:true,
			Cascaded:true,
			MinWidth:500,
			MinHeight:350,
			TaskBarButton:true,
			onCreate:CbOS.SM.on.Load
		},
		Report:{
			Template:"Report",
			MinimizeIcon:true,
			CloseIcon:true,
			Maximized:true,
			TaskBarButton:true,
			onCreate:CbOS.SM.on.Load
		}
	}
};
CbOS.menu={
	cWidth:function(o,k,D,i,e){
		if(!o && !w.DebugMode)
			return;
		with(CbOS){
			if(o.getDoc)
				D=o.getDoc()
			else{
				D=get.Doc(o)
				o=[o]
			}
			e=0
			for(i=0;i<o.length;i++){
				k=_.F(o[i],D);
				o[i]=k=is.Tag(k,"UL")?_.C(k,"INPUT",null,"text"):(k.nextSibling||k);
				if(!k.CbOSw)
					k.CbOSw=_.W(k);
				else
					_.S(k,_.w,k.CbOSw)
				e=Math.max(e,k.scrollWidth)
			}
			for(i=0;i<o.length;i++) _.S(o[i],_.w,e)
			dmc.Scroll(o[0])
		}
	},
	box:{},
	Identity:function(aEven){
		with(CbOS)
		{
			var obj
			if(!(obj=_.O(aEven))||!_.T(obj.firstChild||obj,"DIV","menu3"))
			{
				if(obj&&obj.getAttribute("servicemethod")){
					var e=obj.parentNode.parentNode;
					if(!e.id)
						e.id=_.K();
					var o=menu.box;
					for(var i in o)
						if(!o[i].openers||!o[i].openers[e.id])
							this.Clear(o[i])
				}else
					this.Clear();
				dmc.ToolBarHide(obj)
			}
		}
	},
	Clear:function(n,i,o){
		with(CbOS){
			o=menu.box;
			for(i in o){
				if((!n||n==o[i])&&o[i].m){
					run.Draw(SM.set.XY(run.Draw(o[i].m),-99999,-99999),0);
					if(o[i].m.W){
						o[i].o.scrollTop=0;
						if(o[i].o.S){
							_.S(o[i].o.S,_.b);
							del(o[i].o,"S")
						};
						menu.Restore(o[i].o.CbOSsel,o[i].o.CbOSsel);
						_.S(o[i].o,"overflow","hidden");
						_.S(o[i].m,_.w,o[i].m.W);
						_.S(_.S(o[i].o,_.h,o[i].m.H),"overflow","auto").previousSibling.childNodes[1].value="";
						o[i].m.firstChild.className="menu1";
					};
					del(o,i)
				}
			}
		}
	},
	Click:function(e,o,v,M,i,j,t,k){
		with(CbOS){
			M=o.parentNode.parentNode.M;
			v=M.a[o.getAttribute("N")*1]
			if(!is.Cls(o,["menuUp","menuDown"]))
				menu.Clear(M);
			if(is.Tag(M.p,"TD")&&is.Cls(M.p.parentNode,"dmcSort")){
				if(M.p.sortValue!=v[1]){
					t=_.T(M.p,'TABLE');
					i=t.getAttribute("name");
					k=t.getAttribute("containerID");
					j=i+":sort_"+M.p.getAttribute("cname");
					var attr;
					if(!M.p.getAttribute("EditMode")&&(attr=t.getAttribute("EditMode"))) M.p.setAttribute("EditMode",attr);
					if(!M.p.getAttribute("validation")&&(attr=t.getAttribute("validation"))) M.p.setAttribute("validation",attr);
					if(!k)
						SM.GoTo(M.p,[['__EVENTTARGET',i+':SORT'],['__EVENTARGUMENT',j],[j,v[1]]])
					else if(run.EditMode(M.p,ajax._Update,i={Obj:M.p,Id:{EVENTTARGET:i+':SORT',EVENTARGUMENT:j,CONTAINERID:k},Data:[j+"="+v[1]]}))
						ajax._Update(i,"Yes")
				}
			}else{
				t=_.C(M.p,"INPUT",null,'text');
				if(!is.Cls(o,["menuUp","menuDown"]))
				{
					if(t.getAttribute("servicemethod"))
						t.CbOSExec=null;
					set.Value(M.p,v)
					var input = M.p.getElementsByTagName("INPUT");
					for (var n = 0; n < input.length; ++n)
						input[n].cbosServiceValue = input[n].value;
				}
				else if(e.type != "keyup")
					menu.Service(t, t.aPart, false, t.aPage + (is.Cls(o,"menuUp") ? -1 : 1), is.Cls(o,"menuUp") ? "menuUp" : "menuDown");
			}
			_.B(e)
		}
	},
	Restore:function(o,i){
		with(CbOS)
		if(o&&(i||((i=o.parentNode.CbOSsel)&&i!=o))){
			_.S(_.S(_.S(i,"padding",is.Cls(i,"menuDef")?"6px 5px 5px 26px":1),"border-width",0),_.r);
			if(!is.Cls(i,["menuUp","menuDown"]))
				_.S(i,"background-position","1px 1px")
			del(o.parentNode,"CbOSsel")
		}
	},
	Focus:function(o){
		with(CbOS){
			menu.Restore(o);
			_.S(_.S(_.S(o.parentNode.CbOSsel=o,"padding",is.Cls(o,"menuDef")?"5px 4px 4px 25px":0),"border-width",1),_.r,_.G(get.Doc(o).body,_.k[3]));
			if(!is.Cls(o,["menuUp","menuDown"]))
				_.S(o,"background-position","0px 0px")
			if(o.parentNode.firstChild==o) o.parentNode.parentNode.scrollTop=0;
			o.blur()
			Fcs(o.parentNode.previousSibling.childNodes[1]);
			if(is.Tag(o,"A"))
				o.href="";
			else
				o.tabIndex=-1
		}
	},
	Close:function(M){
		with(CbOS){
			del(M.o.previousSibling,"i");
			set.Focus(_.C(M.p,"INPUT",null,"text"));
			menu.Clear(M)
		}
	},
	KeyDown:function(e,o,M,i,j){
		M=o.M;
		o=o.lastChild;
		with(CbOS){
			if(is.In(i=e.keyCode,[27,37,39]))
				menu.Close(M);
			else if((j=o.CbOSsel)&&!e.altKey&&!e.ctrlKey){
				if(is.In(i,[33,34,35,36,38,40])){
					menu.setFocus(j.parentNode.childNodes[menu.Move(M.a,j.getAttribute("N")*1,i==38?-1:(i==40?1:(i==33?-6:(i==34?6:(i==36?-1:1)*M.a.length))))]);
					_.B(e)
				}else if(i==13)
					SM.run.Event(e,j,'onclick')
			}
		}
	},
	Search:function(a,v,i){for(i=0;i<a.length;i++)if(a[i].GV(1)==v) return i},
	Move:function(a,b,k,j,i){
		if(k<0){
			for(j=i=b;i>=0&&i>=b+k;i--)
				if(!CbOS._.D(a[i])) k--; else j=i;
		}else{
			for(j=i=b;i<a.length&&i<=b+k;i++)
				if(!CbOS._.D(a[i])) k++; else j=i;
		};
		return j
	},
	_Service:function(aWin, aXml, aData, aPart, aFocus, aUpDown)
	{
		with (CbOS)
		{
			if(aData.XML.status==200)
			{
				var pair = aXml.getElementsByTagName("soap:Body")[0].firstChild.lastChild.childNodes;
				var s = _.F(aData.id, aWin);
				if(!s)
					return ajax.Loading.Hide(aWin);
				s.cbosDataPart = null;
				var hidden = s.firstChild.firstChild, input = hidden.nextSibling;
				if(pair.length || !aPart)
				{
					var n, data = [], v = input.value.toLowerCase();
					for(var i = 0; i < pair.length; ++i)
					{
						data[i] = [ n = pair[i].lastChild.text, pair[i].firstChild.text];
						if(n.toLowerCase() == v)
						{
							var execute;
							if (pair[i].firstChild.text == hidden.cbosServicePrevValue){
								execute = hidden.getAttribute("execute")
								if (execute)
								{
									hidden.removeAttribute("execute");
									execute = get.Win(hidden).CbOS.set.Event(execute);
								} else if (hidden.Exec)
								{
									execute = hidden.Exec;
									hidden.Exec = null
								};
							}
							set.Value(hidden, pair[i].firstChild.text);
							if (execute)
								hidden.Exec = execute;
						}
					};
					if (input.aPage > 1)
					{
						if(data.length)
							data.unshift(null);
						else
							return menu.Service(input, input.aPart, false, input.aPage - 1);
					};
					if(aXml.getElementsByTagName("soap:Body")[0].firstChild.firstChild.text == 'true')
						data.push(null);
					if(aPart)
						s.cbosDataPart=data;
					else
						s.cbosDataAll=data;
					if((!aPart || data.length != 1 || String(data[0].GV(1)) != hidden.value) && _.D(s.cbosX) && _.D(s.cbosY))
					{
						if (!data.length)
							data.push(null);
						Fcs(input);
						var m = input.parentNode.parentNode.M;
						if(m){
							var c = menu[aWin.name];
							for(var i in c)
								if(c[i].a == m.a && !c[i].A)
									menu._Cache(c,i);
						};
						menu.Show(s.cbosX,
							s.cbosY,
							menu.cCombo(data, s.id, aWin),
							hidden.value,
							aFocus,
							aUpDown
						)
					}
					hidden.removeAttribute("timeHoldValidate");
					run.Validate(hidden, null, true);
				}
				else if(run.Validate(hidden))
					Fcs(input);
			}
			else if (w.DebugMode)
				alert(Messages.InternalError);
			ajax.Loading.Hide(aWin);
		}
	},
	Service:function(aObj, aPart, aFocus, aPage, aUpDown){
		with(CbOS)
		{
			aObj.tmpkey = _.K();
			var obj = aObj.parentNode.parentNode, hidden = aObj.previousSibling, winobj = get.Win(aObj);
			aObj.aPart = aPart;
			if (!aPage && ((aPart && obj.cbosDataPart && aObj.cbosServiceValue == aObj.value) || (!aPart && obj.cbosDataAll)))
			{
				if(obj.M){
					del(obj.M, "p");
					del(obj, "M")
				};
				if(!aPart || obj.cbosDataPart.length != 1 || String(obj.cbosDataPart[0].GV(1)) != hidden.value)
					menu.Show(obj.cbosX,
						obj.cbosY,
						menu.cCombo(aPart ? obj.cbosDataPart : obj.cbosDataAll, obj.id, winobj),
						hidden.value,
						aFocus,
						aUpDown
					);
				return
			};
			var sm = aObj.getAttribute("serviceMethod"), ul = aObj.parentNode.parentNode;
			aObj.cbosServiceValue = aObj.value;
			if(!aObj.id)
				aObj.id = _.K();
			if(!ul.id)
				ul.id = _.K();
			if(!aPage)
			{
				var m = aObj.parentNode.parentNode.M;
				if(m){
					var c = menu[winobj.name];
					for(var i in c)
						if(c[i].a == m.a && !c[i].A)
							menu._Cache(c,i);
				}
			};
			ajax.Post(aObj,
				aObj.getAttribute("service"),
				{
					id:ul.id,
					ContentType:'text/xml; charset=utf-8',
					SOAPAction:_.Soap+'/'+sm,
					run:winobj.CbOS.set.Event("top.CbOS.menu._Service(arguments[0],arguments[1],arguments[2],"+aPart+","+aFocus+(aUpDown?",'"+aUpDown+"'":"")+")")
				},
				create.Soap(sm,
					{
						aPrefix:aPart ? aObj.value : "",
						aCount:aObj.getAttribute("rowsCount"),
						aPage:aObj.aPage = Math.max(1, aPage || 1),
						aSID:Session.sid,
						aPairKey:aObj.getAttribute("pairKey")
					}
				)
			);
		}
	},
	_ServiceWait:function(aObj, aAttr)
	{
		if (aObj.tmpkey != aObj.Obj.tmpkey)
			return true;
		if ((aAttr.k = (aAttr.k || 0) + 1) == 30)
		{
			CbOS.menu.Service(aObj.Obj, true, true);
			return true
		}
	},
	ServiceCleareValue:function(aObj, aNewValue){
		with(CbOS)
		{
			var execute = aObj.getAttribute("execute");
			if (execute)
			{
				aObj.removeAttribute("execute");
				aObj.Exec = get.Win(aObj).CbOS.set.Event(execute);
				execute = null;
			};
			if(aNewValue != aObj.value)
			{
				if (aObj.Exec)
				{
					execute = aObj.Exec;
					aObj.Exec = null;
				}
				aObj.cbosServicePrevValue = aObj.value;
				set.Value(aObj, aNewValue);
				if (execute)
					aObj.Exec = execute;
			}
		}
	},
	ServiceWait:function(aObj)
	{
		with(CbOS)
		{
			_.Q(menu._ServiceWait,
				{
					Obj:aObj,
					tmpkey:aObj.tmpkey = _.K()
				},
				5
			);
			var hidden = aObj.previousSibling, emptyValue = hidden.getAttribute("EmptyValue") || "";
			aObj.parentNode.parentNode.cbosDataAll=null;
			this.ServiceCleareValue(hidden, (!aObj.parentNode.parentNode.cbosDataPart || aObj.cbosServiceValue != aObj.value) ? emptyValue : is.Null(hidden.cbosServicePrevValue, emptyValue));
			if (!aObj.value)
				run.Execute(hidden)
		}
	},
	KDown:function(e,o,p,i,j){
		with(CbOS)
			if(_.I(o=_.O(e))&&(i=e.keyCode)!=9&&(p=_.T(o,"UL"))&&!p.readOnly){
				if(o.getAttribute("servicemethod")){
					if(!o.CbOSExec)
						o.CbOSExec=get.Win(o).CbOS.set.Event("top.CbOS.menu.ServiceWait(this)");
					p.cbosX=get.eLeft(e);
					p.cbosY=get.eTop(e);
					if(is.In(i,[38,40]))
						menu.Service(o, i!=40 || !e.altKey, false)
					return
				};
				if(!p.M) SM.run.Event(e,_.M(p,"onclick"),'onclick');
				if(i==40&&e.altKey&&!is.Cls(o.parentNode.parentNode,"combos")){
					SM.run.Event(e,_.M(p,"onclick"),'onclick')
				}else if(!e.altKey&&!e.ctrlKey){
					if(o.readOnly){
						if(p.M&&p.M.a&&is.In(i,[33,34,35,36,38,40])){
							if(!_.D(o.CbOSsel)||p.M.a[o.CbOSsel].GV(1)!=get.Value(p))o.CbOSsel=menu.Search(p.M.a,get.Value(p));
							if(!_.D(o.CbOSsel))set.Value(p,p.M.a[o.CbOSsel=0]);else if(_.D(j=menu.Move(p.M.a,o.CbOSsel,i==38?-1:(i==40?1:(i==33?-6:(i==34?6:(i==36?-1:1)*p.M.a.length)))))&&o.CbOSsel!=j) set.Value(p,p.M.a[o.CbOSsel=j]);
							_.B(e)
						};
						set.Focus(o);
					}else if(is.In(i,[38,40])&&is.Cls(o.parentNode,["combos","combom"])){
						i=set.mValue(o,to.Float(o.value)+(i==38?1:-1));
						if(!o.CbOSMask||(o.CbOSMask.R&&o.CbOSMask.R.test(i))) set.Value(o,i);
						set.Focus(o)
					}
				}
			}
	},
	_Cache:function(o,i,k){
		with(CbOS){
			if(o[i].o&&o[i].o.S){
				del(o[i].o.S.parentNode,"M");
				del(o[i].o,"S")
			};
			del(o[i],"E")
			k=o[i].m;
			del(o[i],"m");
			rem(k);
			k=null;
			if(o[i].p)
				del(o[i].p,"M");
			del(o[i],"a");
			del(o[i],"p");
			del(o,i)
		}
	},
	Cache:function(n,m,o,i,f,k){
		with(CbOS){
			if(!m)
				menu.Clear()
			if(menu.calendar&&menu.calendar.p)
				with(menu.calendar){
					if(p.M)
						p.M=null
					p=null
				}
			if((o=menu[n])){
				if(m)
					f=_.F(m,get.iDoc(wd.win[n]));
				for(i in o)
					if(!m)
						menu._Cache(o,i);
					else if(f){
						for(k in o[i].openers)
							if(is.Child(_.F(k,f),f)){
								delete o[i].openers[k];
								k=null;
								for(k in o[i].openers)
									break;
								if(!k){
									menu.Clear(o[i]);
									menu._Cache(o,i)
								};
								break
							}
					}
				if(!m)
					del(menu,n)
			}
		}
	},
	_QSearch:function(a,t,M){
		with(CbOS)with(a){
			if(i!=o.i||!o.value) return true;
			if((t.k=(t.k||0)+1)==20){
				M=o.parentNode.parentNode.M;
				t=o.parentNode.nextSibling.CbOSsel
				while(o.value){
					for(i=t;i;i=i.nextSibling)
						if(M.a[i.getAttribute("N")*1].GV(0).toLowerCase().indexOf(o.value.toLowerCase())==0){
							Fcs(i);
							o.value="";
							return true
						};
					for(i=t.parentNode.firstChild;i!=t;i=i.nextSibling)
						if(M.a[i.getAttribute("N")*1].GV(0).toLowerCase().indexOf(o.value.toLowerCase())==0){
							Fcs(i);
							o.value="";
							return true
						};
					o.value=o.value.substring(0,o.value.length-1)
				};
				return true
			}
		}
	},
	QSearch:function(o,e){
		with(CbOS)
			if(is.In(e.keyCode,[27,13])){
				menu.KeyDown(e,o.parentNode.parentNode);
				_.B(e)
			}else if(o.parentNode.nextSibling.CbOSsel){
				if(e.keyCode.Between(33,40)) o.value="";
				if(is.ie){
					o.blur();
					o.readOnly=true;
					Fcs(o)
				};
				o.i=null;
				if(o.value) _.Q(menu._QSearch,{o:o,i:o.i=_.K()},5)
			}
	},
	cCombo:function(a,p,o,i,k,n,j,c,E,S){
		if(p)
		with(CbOS){
			if(p.s){
				if(!(p=_.F(p,o)))
					return
				if(set.Lock(p))
					menu.cCombo(a,p);
				p.L--
			}else if(!p.M){
				if(!p.id)p.id=_.K();
				i=get.Win(p).name;
				c=menu[i]=menu[i]||{};
				for(i in c)if(c[i].a==a&&!c[i].A){
					c[i].openers[p.id]=true;
					return p.M=_.P(["p",p],c[i])
				};
				set.DBLClick(p);
				_.M(p,_.y);
				with(_.M(create.Empty(k=_.E('DIV',o=_.E('DIV',_.M(_.E('FORM',_.E('DIV',m=_.E('DIV',0,"menu0"),"menu1")),"onkeydown","CbOS.set.CancelEnter(event)"),"menu3"),"empty"),true),"onfocus","CbOS.menu.Close(this.parentNode.parentNode.M)").form)
				{
					setAttribute("autocomplete","off");
					setAttribute("EditMode","false")
				};
				_.M(E=create.Empty(k,is.ie),"onkeyup","CbOS.menu.QSearch(this,event)");
				if(is.ie)
					_.M(_.M(E,"onkeydown","if(this.parentNode.parentNode.M.a){this.blur(); this.readOnly=event.altKey; top.CbOS.Fcs(this)}"),"onblur","this.readOnly=true");
				_.M(_.M(_.M(E=create.Empty(k,is.ie),"onkeydown",IE("if(this.parentNode.parentNode.M.a){this.blur(); this.readOnly=event.altKey; top.CbOS.Fcs(this)}")),"onkeyup","CbOS.menu.QSearch(this,event)"),"onblur",IE("this.readOnly=true"));
				_.M(create.Empty(k,true),"onfocus","CbOS.menu.Close(this.parentNode.parentNode.M)");
				o=_.E('DIV',_.M(o,"onkeydown","CbOS.menu.KeyDown(event,this)"),"menu4");
				if(a)
				{
					S=[];
					for(i=0;i<a.length;i++){
						if(_.D(a[i]) && !a[i].isEmptyValue)
							S.push(menu.Item(a[i],i,1));
						else if(a.length == 1)
							S.push("<",IE("div","a")," class=menuDef>&nbsp;</",IE("div","a"),">");
						else
						{
							a[i]=new String();
							a[i].isEmptyValue=true
							S.push("<",IE("div","a")," N=",i," class='menuDef menu",i?"Down":"Up","'>&nbsp</",IE("div","a"),">")
						}
					};
					S = S.join("");
				}
				else
					S="<"+IE("div","a")+" class=menuDef>&nbsp;</"+IE("div","a")+">";
				o.innerHTML=S;
				_.S(m,_.w,m.W=Math.min(o.scrollWidth+4,300));
				m.firstChild.className="menu2";
				m.H=_.H(m)-4;
				c[_.K()]=p.M=o.parentNode.M={m:m,o:o,a:a,E:E,openers:{}};
				p.M.openers[p.id]=true
				m.firstChild.className="menu1";
			};
			if((c=_.T(p,"DIV","menu3"))) c.M.c=p.M;
			return p.M&&_.P(["p",p],p.M)
		}
	},
	Show:function(l,t,q,v,f,aUpDown,H,k,i,V){
		if(q) with(CbOS) with(q){
			menu.box[_.K()]=p.M;
			p.M.E.value="";
			H=m.H;
			if((i=p.getAttribute('DropDownRows'))) H=Math.min(H,i=i*21+1);
			q=_.H(p);
			if(!(W=(i=get.sHeight())>t+q+H+5)&&t<H+5){
				H=Math.max((V=Math.max(i-t-q,t))-5,22);
				W=V!=t
			}
			k=m.W;
			if(m.className!=(i="menu0"+(W?"":0))) m.className=i;
			if((i=o.offsetWidth-o.scrollWidth)) _.S(m,_.w,k=Math.min(Math.max(300,_.W(p)),k+i));
			m.firstChild.className="menu1";
			_.S(o,_.h,Math.min(_.H(_.S(o,[_.h,"overflow"],"auto")),H-IE(0,1)));
			i=_.T(p,"TR","dmcFilter");
			if(!_.T(p,"TR","dmcSort"))
				_.S(m,_.w,k=Math.max(m.W,Math.max(k,_.W(p))));
			o.scrollTop=0;
			_.S(m,_.w,_.W(m))
			while(o.clientWidth<o.scrollWidth)_.S(m,_.w,++k);
			m.firstChild.className="menu2";
			run.Draw(SM.set.XY(run.Draw(m),Math.max(0,Math.min(i?l+_.W(p)-k:l,get.sWidth()-k)),Math.max(0,(W?t+q-1:(t-_.H(m)+1)))),0);
			if(!a||!a.length) return Fcs(o.previousSibling.childNodes[1]);
			V=v.Trim();
			for(i=0;i<a.length;i++)if(_.D(a[i])&&is.In(String(a[i].GV(1,1)),[V,v]))break;
			i=o.S=o.childNodes[(V=i<a.length)?i:0];
			v=_.C(p,"INPUT",null,"text");
			run.Event(v,v,"onblur");
			V=(V&&!is.Cls(i, ["menuUp", "menuDown"]))?_.S(i,_.b,get.iURL(get.Root(o)+"images/menu/"+(_.C(i,"DIV")?"sel":"tick")+"1.gif")):i;
			if(!f)
			{
				v=V.parentNode.lastChild;
				if(aUpDown && ((is.Cls(v, aUpDown)) || (!is.Cls(V, "menuUp") && is.Cls(v, "menuDown"))))
					V=v;
				menu.setFocus(V)
			}
		}
	},
	setFocus:function(o){
		with(CbOS){
			if(is.Tag(o,"A"))
				o.href="javascript:void(0)";
			else
				o.tabIndex=0;
			o.hideFocus=true;
			Fcs(o)
		}
	},
	Item:function(a,i,E){
		with(CbOS)
			return "<"+IE("div","a")+" N="+i+" class=menu"+((a.a&&a[2])?'Adv><div style="background-image:'+get.iURL(get.Root(d)+a[2]+E+'.gif')+'">':"Def>")+(a.GV(0).length?set.HTMLEncode(a.GV(0)):_.n)+((a.a&&a[2])?"</div>":"")+"</"+IE("div","a")+">"
	},
	Combo:function(e,o,a,l,t,c,p,i){
		with(CbOS){
			set.DBLClick(o);
			if((l=_.O(e))&&_.I(t=_.C(o,"INPUT",null,"text"))&&!t.parentNode.parentNode.readOnly&&(e.keyCode||((l==t&&t.parentNode.parentNode==o&&t.readOnly)||((l==o||l.parentNode==o)&&(t.readOnly||_.W(t)<(e.offsetX||e.layerX||0)))))){
				if(t.parentNode.parentNode==o&&t.getAttribute("servicemethod")){
					o=t.parentNode.parentNode;
					o.cbosX=get.eLeft(e);
					o.cbosY=get.eTop(e);
					return top.CbOS.menu.Service(t,false,false)
				};
				if(set.Lock(o,(c=e.keyCode&&!o.M)?null:e)){
					if(c)
						menu.cCombo(a,o);
					else{
						if((c=o.className)=="combom") c=is.Tag(l,"LI")?"combos":"combo";
						if(c=="combos"){
							mask.Edit(t)
							if(t.readOnly){
								p=_.T(o.firstChild||o,"UL");
								if(!p.M){
									e.keyCode=40;
									o.L--;
									SM.run.Event(e,_.M(p,"onclick"),'onclick');
									o.L++
								};
								if(p.M&&p.M.a){
									if(!_.D(o.CbOSsel)||p.M.a[o.CbOSsel].GV(1)!=get.Value(p))o.CbOSsel=menu.Search(p.M.a,get.Value(p));
									if(!_.D(o.CbOSsel))set.Value(p,p.M.a[o.CbOSsel=0]);else if(_.D(j=menu.Move(p.M.a,o.CbOSsel,(e.offsetY||e.layerY||0)<10?-1:1))&&o.CbOSsel!=j)set.Value(p,p.M.a[o.CbOSsel=j])
								}
							}else{
								i=set.mValue(t,to.Float(t.value)+((e.offsetY||e.layerY||0)<10?1:-1));
								if(!t.CbOSMask||(t.CbOSMask.R&&t.CbOSMask.R.test(i)))
									set.Value(t,i)
							}
							set.Focus(t);
						}else if(is.In(c,["combo","combof"])) menu.Show(get.eLeft(e),get.eTop(e),menu.cCombo(a||'',o),get.Value(o));
						else if(c=="comboc") DTime.Show(e,o,t);
						else if(c=="combop") CbOS.Path.Show(o)
					}
				};
				o.L--
			}
		}
	},
	Create:function(o,c,v,a,r,W,i,j){
		with(CbOS){
			i=_.E('LI',_.M(j=_.E('UL',o,c),_.y,"top.CbOS.menu.Combo(event,this,this.data)"),c)
			j.data=a;
			if(c=="combof"||r) _.E('INPUT',i,null,null,"hidden",v&&v.GV(1,1));
			_.S(_.M(_.E('INPUT',i,"clsText",null,"text",v&&v.GV(0)),"onkeydown","top.CbOS.menu.KDown(event)"),_.w,W).readOnly=r||false;
			return j
		}
	}
};
with(CbOS){_.M(w,"onresize","top.CbOS.menu.Clear()","MENUCLEAR")};
CbOS.Path={
	Show:function(o,i){with(CbOS){_.M(_.E("INPUT",_.S(i=_.E("FORM",get.Doc(o).body),_.d,"none"),null,null,'file'),"onchange","top.CbOS.Path.Update(this,'"+(o.id||(o.id=_.K()))+"')").click();rem(i)}},
	Update:function(o,n){with(CbOS)set.Value(_.F(n,o),o.value.substring(0,o.value.lastIndexOf("\\")+1))}
}
CbOS.DTime={
	Today:function(o,i,k){
		i=o.parentNode.nextSibling.nextSibling;
		with(CbOS){
			k=_.C(o.parentNode.parentNode.nextSibling.firstChild,"INPUT");
			if((k.disabled=!(i.disabled=o.value=="false"))){
				set.Value(i,o=(new Date()).DateFormat());
				set.Value(k,o)
			}
		}
	},
	MOver:function(t,k,o,i){
		with(CbOS){
			if(is.Tag(t=_.O(t),["UL","LI"])) return;
			while(t.firstChild&&is.Tag(t.firstChild,"DIV")) t=t.firstChild;
			if(t.innerHTML){
				t=t.parentNode;
				if((i=(o=_.T(t,"DIV","menu3")).CbOSsel)&&i!=t){
					if(o.M.c){
						menu.Clear(o.M.c)
						del(o.M,"c")
					};
					_.S([i,i.firstChild],[_.r,_.k]);
					del(o,"CbOSsel")
				};
				_.S(_.S([t.firstChild,o.CbOSsel=t],_.r,DTime.COLOR[3])[0],_.k,_.G(get.Doc(t).body,_.k[1]))
				if(k) Fcs(o.day)
			}
		}
	},
	KDown:function(e,o,i,t,j,M){
		i=e.keyCode;
		with(CbOS) if(i==27) DTime.Clear(o);
		else if(i==13&&!is.Tag(_.O(e),"INPUT"))
			DTime.Enter(o.day)
		else if(i.Between(35,40)&&!is.In(_.O(e).parentNode.parentNode,[o.year,o.month])&&(j=o.CbOSsel)){
			if(i==38){
				if((e=j.parentNode.previousSibling)) j=e.childNodes[j.getAttribute("i")*1];
			}else if(i==40){
				if((e=j.parentNode.nextSibling)) j=e.childNodes[j.getAttribute("i")*1];
			}else if(i==37){
				j=j.previousSibling;
			}else if(i==39)
				j=j.nextSibling;
			else if(i==36)
				j=j.parentNode.parentNode.firstChild.firstChild;
			else if(i==35){
				j=j.parentNode.parentNode.lastChild;
				while(_.G(j,"display")=="none") j=j.previousSibling;
				j=j.lastChild;
			};
			if(e&&is.In(i,[38,36,40,35])) while(j&&!j.firstChild.innerHTML) j=(i==40||i==35)?j.previousSibling:j.nextSibling;
			if(j) this.MOver(j);
		}
	},
	Init:function(t,M){
		with(CbOS){
			M.n=get.Date(t.value.substring(0,Math.max(10,t.value.length)))||new Date();
			M.f=new Date(M.n);
			M.f.setDate(1);
			set.Value(M.o.year,M.n.getFullYear().PadL(4),2)
			del(_.C(M.o.month,"INPUT",null,"text"),"CbOSsel")
			set.Value(M.o.month,_.Month[M.n.getMonth()],2)
			return this.Set(M)
		}
	},
	Month:function(o,M){
		M=CbOS.menu.calendar;
		M.f.setMonth(o.value*1)
		this.Set(M)
		if(M.d.parentNode.CbOSsel) this.MOver(M.d.parentNode.CbOSsel);
	},
	Year:function(o,M){
		M=CbOS.menu.calendar;
		M.f.setYear(o.value*1)
		this.Set(M)
		if(M.d.parentNode.CbOSsel) this.MOver(M.d.parentNode.CbOSsel);
	},
	Set:function(M,t,i,j,s,m,n,r,v){
		with(CbOS){
			if(M.c){
				menu.Clear(M.c)
				del(M,"c")
			};
			M.l=new Date(M.f);
			M.l.setDate(1);
			M.l.setMonth(M.l.getMonth()+1);
			M.l.setDate(0);
			t=new Date();
			del(M.d.parentNode,"CbOSsel");
			s="";
			M.d.parentNode.CbOSsel=null;
			for(i=0;i<6;i++){
				for(j=1;j<8;j++){
					m=t.getFullYear()==M.f.getFullYear()&&t.getMonth()==M.f.getMonth()&&t.getDate()==i*7+j-M.f.getDay();
					r=(n=M.n.getFullYear()==M.f.getFullYear()&&M.n.getMonth()==M.f.getMonth()&&M.n.getDate()==i*7+j-M.f.getDay())?M.d.parentNode.CbOSsel=_.K():null;
					if(i==0&&i*7+j-1<M.f.getDay()){
						v="";
					}else if(i*7+j-1-M.f.getDay()<M.l.getDate()){
						if(!M.d.parentNode.CbOSsel)
							r=M.d.parentNode.CbOSsel=_.K()
						v=i*7+j-M.f.getDay();
						k=true;
					}else{
						if(i==5&&j==1) break;
						v="";
					}
					s+=(j>1?"":"<LI>")+"<div"+_.A("id",r)+_.A("i",j-1)+"><div"+_.A("class",j>1?null:"calSunday")+" style='border-color:"+(m?DTime.COLOR[0]:(n?DTime.COLOR[1]:DTime.COLOR[2]))+"'>"+v+"</div></div>"+(j<7?"":"</LI>")
				}
			};
			M.d.innerHTML=s
			if((r=M.d.parentNode.CbOSsel))
				M.d.parentNode.CbOSsel=_.F(r)
			return M
		}
	},
	Show:function(e,o,M,t,l,W){
		with(CbOS){
			menu.box[_.K()]=M=this.Init(M,DTime.Create(o))
			l=get.eLeft(e);
			if(M.m.className!=(i="menu0"+((W=get.sHeight()>=(_.H(M.m)+(t=get.eTop(e))+(q=_.H(M.p))-1))?"":0))) M.m.className=i;
			run.Draw(SM.set.XY(run.Draw(M.m),Math.max(0,l+_.W(M.p)-_.W(M.m)),Math.max(0,W?t+q-1:(t-_.H(M.m)+1))),0);
			l=_.C(o,"INPUT",null,"text");
			run.Event(l,l,"onblur");
			Fcs(_.C(M.d.parentNode.month,"INPUT",null,"text"))
			if((t=M.d.parentNode.CbOSsel)) this.MOver(t);
		}
	},
	Clear:function(o){
		with(CbOS){
			Fcs(_.C(_.T(o.firstChild||o,"DIV","menu3").M.p,"INPUT",null,"text"));
			menu.Clear();
		}
	},
	Create:function(p,o,m,k,i,a,j,D,s){
		with(CbOS){
			if((o=menu.calendar)){o.p=p;return p.M=o};
			with (_.M(create.Empty(_.M(o=_.E('DIV',_.M(_.E('FORM',_.E('DIV',_.S(m=_.E('DIV',0,"menu0 calSetting"),_.w,189),"menu1")),"onkeydown","CbOS.set.CancelEnter(event)"),"menu3"),"onkeydown","CbOS.DTime.KDown(event,this)"),true),"onfocus","CbOS.DTime.Clear(this)").form)
			{
				setAttribute("autocomplete","off");
				setAttribute("EditMode","false")
			};
			if(!DTime.COLOR) DTime.COLOR=[_.G(m,_.k[0]),_.G(m,_.k[1]),_.G(m,_.k[2]),_.G(m,_.k[3])];
			with(_.C(o.month=menu.Create(k=_.E("DIV",o,"calLine"),"combom",null,_.Month,true,96),"INPUT",null,"text")){
				previousSibling.setAttribute("execute","CbOS.DTime.Month(this)");
				setAttribute("enter","CbOS.DTime.Enter(this)")
			};
			with(_.C(o.year=_.S(menu.Create(k,"combos",'',null,false,40),"left",1),"INPUT",null,"text")){
				setAttribute("mask","0000");
				setAttribute("execute","CbOS.DTime.Year(this)");
				setAttribute("enter","CbOS.DTime.Enter(this)");
				maxLength=4
			};
			(o.day=create.Empty(i=_.E('DIV',o,"empty"),true)).setAttribute("enter","CbOS.DTime.Enter(this)");
			_.M(create.Empty(i,true),"onfocus","CbOS.DTime.Clear(this)");
			k=_.M(_.E("DIV",o,"calWeek"),_.y,"CbOS.Fcs(this.parentNode.day)");
			a=["S","M","T","W","T","F","S"];
			s="";
			for(i=0;i<7;i++) s+="<div"+_.A("class",i?null:"calSunday")+">"+a[i]+"</div>";
			k.innerHTML=s;
			_.M(_.M(D=_.E("UL",o,"calDays"),_.y,"CbOS.DTime.Click(event,this)"),"onmouseover","CbOS.DTime.MOver(event,this)");
			return menu.calendar=p.M=o.M={m:m,o:o,p:p,A:true,d:D}
		}
	},
	Click:function(e,o,k){
		with(CbOS){
			if((k=_.O(e))!=o){
				while(k.firstChild&&is.Tag(k.firstChild,"DIV")) k=k.firstChild;
				if(k.innerHTML) return DTime.Enter(k);
			};
			CbOS.Fcs(_.T(o,"DIV","menu3").day)
		}
	},
	Enter:function(o){
		with(CbOS) if((is.Tag(o,"INPUT")||o.innerHTML)&&(o=_.T(o,"DIV","menu3")).CbOSsel){
			var i=get.Value(o.M.p);
			i=i.length>10?i.substring(10):"";
			set.Value(o.M.p,(get.Value(o.month)*1+1).PadL(2)+"/"+o.CbOSsel.firstChild.innerHTML.PadL(2)+"/"+get.Value(o.year).PadL(4)+i,null,true);
			set.FocusFrm(o.M.p, o.M.p.id || (o.M.p.id = get.PK()));
			menu.Clear()
		}
	}
}
CbOS.dmc={
	GridResize:{
		MOver: function(aEvent, aObj)
		{
			with (CbOS)
			{
				var obj = get.eObj(aEvent);
				if (is.Tag(obj, "DIV"))
					obj = obj.parentNode;
				if (is.Cls(obj, "dmcResize") && !obj.CbOSonmousemoveGridResize)
					run.Event(
						aEvent,
						_.M(
							_.M(
								_.M(
									obj,
									"onmousedown",
									"top.CbOS.dmc.GridResize.MDown(event, this)"
								),
								"ondblclick",
								"top.CbOS.dmc.GridResize.DblClick(event, this)"
							),
							"onmousemove",
							"top.CbOS.dmc.GridResize.MMove(event, this)",
							"GridResize"
						),
						"onmousemove"
					);
			}
		},
		MMove: function(aEvent, aObj)
		{
			CbOS.set.Style(aObj, "cursor", this.AllowResize(aEvent, aObj) ? "w-resize" : null);
		},
		DblClick: function(aEvent, aObj)
		{
			if (this.AllowResize(aEvent, aObj))
				this.SetWidth(aObj)
		},
		SetWidth: function(aObj, aWidth){
			with (CbOS){
				var table, obj = get.node.Child(table = get.node.Parent(aObj,"TABLE"),"COLGROUP").getElementsByTagName("COL")[aObj.cellIndex], width = get.Width(obj);
				if (width != (aWidth || (obj.CbOSStyle && to.Int(obj.CbOSStyle["width"] || 0)) || width))
				{
					set.Style(table, "visibility", "hidden")
					set.Style(obj, "width", aWidth);
					dmc.Scroll(aObj);
					obj=get.node.Parent(aObj, "TABLE").getElementsByTagName("TABLE");
					for (var i = 0; i < obj.length; ++i)
						if (get.Width(obj[i]))
							dmc.Scroll(obj[i].firstChild);
					set.Style(table, "visibility")
					
				}
			}
		},
		MDown: function(aEvent, aObj)
		{
			if (this.AllowResize(aEvent, aObj))
			{
				with (CbOS)
				{
					var table = get.node.Parent(aObj, "TABLE"), border = get.Style(aObj, "border-right-width", true);
					this.RESIZE = {
						obj: aObj,
						space: set.Style(_.F(wd.space), "cursor", "w-resize"),
						xMin: get.eLeft(aEvent),
						widthMin: 20,
						x: get.eLeft(aEvent) + get.Width(aObj) - border,
						y: get.eTop(aEvent),
						width: border,
						height: get.Height(table) - 2
					}
					for (var i=0; i< aObj.parentNode.rowIndex; ++i){
						var obj = table.rows[i].cells[aObj.cellIndex];
						this.RESIZE.y -= get.Height(obj) +1;
						if((obj = get.node.Child(obj, "INPUT", null, "text")))
						{
							this.RESIZE.widthMin = 24;
							do
								this.RESIZE.widthMin += get.Style(obj.parentNode, "padding-right", true) +  get.Style(obj.parentNode, "border-right-width", true) +  get.Style(obj.parentNode.parentNode, "padding-right", true) +  get.Style(obj.parentNode.parentNode, "border-right-width", true);
							while (is.Tag(obj = obj.parentNode.parentNode, "UL"));
						}
					}
					_.M(_.M([d.body, get.Doc(aObj).body], "onmouseup", "top.CbOS.dmc.GridResize.MUp(event)","MMOVE"), "onmousemove", "top.CbOS.dmc.GridResize.Resize(event)","MMOVE");
				}
			}
		},
		MUp: function(){
			with (CbOS) with (this.RESIZE)
			{
				_.M([d.body, get.Doc(obj).body], ["onmousemove", "onmouseup"], null,"MMOVE");
				if(this.RESIZE.line)
				{
					this.SetWidth(obj, get.Left(line) - xMin + width);
					set.Style([
							obj,
							set.Style(rem(get.Obj(wd.space), true), "z-index")
						],
						"cursor"
					);
					del(this, "RESIZE")
				}
			}
		},
		Resize: function(aEvent)
		{
			if (this.RESIZE)
				with (CbOS) with (this.RESIZE)
				{
					if(this.RESIZE.line)
						set.Style(line, "left", Math.min(Math.max(get.X(aEvent), xMin + widthMin)));
					else
						SM.set.XY(this.RESIZE.line = set.Size(create.SpaceBox(), width, height), x, y);
				}
		},
		AllowResize: function(aEvent, aObj)
		{
			return CbOS.is.Cls(aObj, "dmcResize") && (aEvent.offsetX||aEvent.layerX||0) >= CbOS.get.Width(aObj) - CbOS.get.Style(aObj, "border-right-width", true)
		}
	},
	Scroll:function(o,i,e){
		with(CbOS)
		{
			e=_.T(o,"TABLE");
			if((i=_.T(o,"DIV","dmcBox"))&&_.C(i,"TABLE")==e){
				_.S(i,"background-color")
				_.S(i,_.w,"100%")
				if((i=_.T(e,"DIV","dmcScroll")))
					i.style.overflowX=i.style.overflowY="hidden";
			};
			dmc.iFilter(e)
		}
	},
	ImgResize:function(o,w,h,W,H,a,b,p,q){
		w=o.width;
		h=o.height;
		o.style.display="none";
		q=CbOS._.G(p=o.parentNode,"border-top-width",1)*2;
		W=p.offsetWidth-q;
		H=p.offsetHeight-q;
		a=(W-w>H-h)?h/H:w/W;
		w=w/a;
		h=h/a;
		o.parentNode.innerHTML='<img src="'+o.src+'" style="border:0px;width:'+Math.min(W,Math.ceil(w))+'px;height:'+Math.min(H,Math.ceil(h))+'px;top:'+Math.ceil((H-h)/2)+'px;left:'+Math.ceil((W-w)/2)+'px">'
	},
	__MQ:function(o){
		with(CbOS)
			if(o.u)
				create.Window(null,o.u,{Attributes:o.a})
			else
				SM.Submit(o.o,null,o.a);
	},
	_MQ:function(o,c){
		if(c=='Yes'||c=='OK')
			CbOS.dmc.__MQ(o);
	},
	MQ:function(o,m,a,u,q,i,t,s){
		with(CbOS) if(_.I(i=o)&&!SM.Warning(o)){
			if(q)u=set.Param(u,q);
			if(a&&a.URL){u=a;a=null};
			while((i=_.T(i,"DIV")))
				if(i.getAttribute("RowID")){
					t=_.T(i,"DIV","tscTbl");
					if(MsgBox.Show(o,(s=t.getAttribute("question"+m))&&eval(s),null,['Yes','No'],'Question',1,dmc._MQ,u={o:o,a:[['__EVENTTARGET',t.getAttribute("name")+":ROWCOMMAND:"+m],['__EVENTARGUMENT',i.getAttribute("RowID")]],u:u})&&MsgBox.Show(o,(s=t.getAttribute("message"+m))&&eval(s),null,'OK','Info',1,dmc._MQ,u))
					   dmc.__MQ(u);
					return
				}
		}
	},
	_Alignment:function(o,D,i,k,m){
		with(CbOS)
		for(i=0;i<o.length;i++){
			m=0;
			for(k=0;k<o[i].length;k++)
				m=Math.max(m,_.F(o[i][k],D).offsetHeight)
			for(k=0;k<o[i].length;k++)
				_.S(_.F(o[i][k],D),_.h,m)
		}
	},
	Alignment:function(o,W,e){
		with(CbOS){
			W=(o.getDoc&&get.Win(o.getDoc()))||w;
			e=W.nodeName?W:W.CbOS.EVENTS;
			if(!e.CbOSonloadDMCAlignment){
				W.CbOS.TEMP.DMCAlignment=create.Arr();
				_.M(W,"onload","top.CbOS.dmc._Alignment(CbOS.TEMP.DMCAlignment,d)","DMCAlignment")
			};
			W.CbOS.TEMP.DMCAlignment[W.CbOS.TEMP.DMCAlignment.length]=o;
		}
	},
	CheckAll:function(t,o,b,i,c,j,m){
		with(CbOS){
			b=_.T(o=_.T(t,["TD","TH"]),"TABLE");
			if((m=b.getAttribute("counterBox"))){
				m=m.toArray();
				c=_.F(m[0],t)
			}
			j=(c&&(c.innerHTML*1))||0;
			n=_.F(b.getAttribute("btnMove"),t)
			for(i=o.parentNode.rowIndex+1;i<b.rows.length;i++)
				if(is.CheckBox(k=b.rows[i].cells[o.cellIndex].firstChild)&&get.Value(k)!=t.value){
					j+=t.value=="true"?1:-1
					set.Value(k,t.value=="true",null,true)
				}
			for(i=0;m&&i<m.length;i++)
				if((c=_.F(m[i],t)))
					c.innerHTML=j;
			btn.State(t,b.getAttribute("btnMove"),j)
		}
	},
	Check:function(t,i,b,c,j,m){
		with(CbOS){
			b=_.T(t,"TABLE");
			if((m=b.getAttribute("counterBox"))){
				m=m.toArray();
				c=_.F(m[0],t)
			}
			j=(c&&(c.innerHTML*1))||0;
			j+=t.value=="true"?1:-1
			for(i=0;m&&i<m.length;i++)
				if((c=_.F(m[i],t)))
					c.innerHTML=j;
			btn.State(t,b.getAttribute("btnMove"),j)
		}
	},
	PS:function(e,p,r,i,c,k,o,M,l,W,t,q,f,F){
		with(CbOS){
			if(set.Lock(p)){
				F=_.T(p,"FORM").elements

				if(r.captions.s) r.captions=[r.captions];
				if(!r.buttons) r.buttons=['Ok','Cancel'];
				if(!p.M){
					set.DBLClick(p);
					_.M(p,_.y);
					i=get.Win(p).name;
					_.S(o=_.E('DIV',_.M(f=_.E('FORM',_.E('DIV',m=_.S(_.E('DIV',0,"menu0"),_.w,200),"menu1")),"onkeydown","CbOS.set.CancelEnter(event)"),"menu3 menu3PS"),"padding",5);
					f.setAttribute("autocomplete","off")
					f.setAttribute("setAccess",c=_.K());
					f.setAttribute("setEnter",c);
					f.setAttribute("EditMode","false");
					t=[];

					for(i=0;i<r.captions.length;i++){
						q=_.K();
						t[t.length]='<div class=tblCCheckbox2><a id='+q+' href=# tabindex=0 class=cls'+(r.type=='Check'?'CheckBox01><div></div><input type=hidden value=false':('RadioBox01><div></div><input type=radio value="'+r.values[i]+'"'))+' name="'+r.names.GV(i)+'"></a><label for='+q+'>'+r.captions.GV(i)+'</label></div>';
					};
					var tmp=get.node.Parent(p,"DIV","toolBarDmc")
					if (tmp)
						tmp = tmp.parentNode;
					else
					{
						if(get.Ajax(p))
							p.parentNode.setAttribute("ajax","true")
						tmp = p.parentNode.parentNode
					}
					tmp=get.node.Child(tmp, "TABLE", "dmc");
					tmp=get.node.Child(tmp ? tmp.parentNode : p.parentNode.parentNode, "TABLE", "dmc");
					o.innerHTML=_.s+"0>&nbsp;</a>"+t.join("")+"<DIV class=btnBoxCB><A class=btn0 id="+c+(p.getAttribute("validation")?" validation=true":"")+" hidefocus=true onclick=CbOS.dmc.PSSave(this,'"+(tmp.getAttribute("name")||tmp.name)+"'"+(r.fileExport?",'Export'":"")+") href=#><UL><LI style='WIDTH: 65px'><DIV>"+r.buttons[0]+"</DIV></LI></UL></A><A class=btn1 hidefocus=true onclick=CbOS.dmc.PSClose(this) href=#><UL><LI style='WIDTH: 65px'><DIV>"+r.buttons[1]+"</DIV></LI></UL></A></DIV>"+_.s+"1>&nbsp;</a>";
					q=menu[i]=menu[i]||{};
					q[_.K()]=p.M=m.M={m:m,f:f,n:c,p:p}
				}
				M=menu.box[_.K()]=p.M
				l=get.eLeft(e);
				t=get.eTop(e);
				if(M.m.className!=(i="menu0"+((W=get.sHeight()>=(_.H(M.m)+t+(q=_.H(M.p))+2))?"":0))) M.m.className=i;
				run.Draw(SM.set.XY(run.Draw(M.m),Math.max(0,l+_.W(M.p)-_.W(M.m)),Math.max(0,W?t+q+2:(t-_.H(M.m)-2))),0);
				o=M.m.getElementsByTagName("A");
				_.Q(wd._MsgBox,o[o.length-2],5);
				for(i=0;i<p.M.f.elements.length;i++){
					o=p.M.f.elements[i];
					if(r.type=="Check"){
						if(F.elements[o.name].value!=o.value) set.Value(o.parentNode,o.value=="false");
						_.S(o.parentNode,_.r);
					}
					else
						if(F.elements[o.name].value==o.value)
							set.Value(o.parentNode)
				}
				btn.State(p.M.f,p.M.n,r.btnEnabled);
			};
			p.L--
		}
	},
	PSClose:function(o){
		with(CbOS){
			_.Q(wd._MsgBox,_.T(o,"DIV",['menu0','menu00']).M.p,5)
			menu.Clear();
		}
	},
	PSSave:function(o,aDmc, e,f,i,j,p,m,a,u){
		with(CbOS){
			menu.Clear();
			f=_.T(o,"FORM")
			var validation = o.getAttribute("validation") == "true";
			if((a=get.Ajax(p=f.parentNode.parentNode.M.p)))
				u=[]
			m=_.T(p,"FORM");
			o=m.elements;
			f=f.elements;
			if(e=="Export"){
				_.Q(wd._MsgBox,p,5)
				j=[["__EVENTTARGET",p.getAttribute("name") || p.name],["__EVENTARGUMENT",""],["CbOSData","ID="+get.Win(p).name]]
				if(validation)
				{
					var isError = false;
					for(i=0;i<o.length;i++)
						if(!o[i].disabled && is.NotASPNetETA(o[i].name))
						{
							if (run.Validate(o[i]) && !isError)
								Fcs(o[i], isError = true);
							else if(!isError)
								j[j.length]=[o[i].name,o[i].value];
						}
					if (isError)
						return;
				}
				else
					for(i=0;i<o.length;i++)
						if(!o[i].disabled && is.NotASPNetETA(o[i].name))
							j[j.length]=[o[i].name,o[i].value];
				for(i=0;i<f.length;i++)
					with(f[i])if(type=="radio"&&checked){
						o[name].value=value
						j[j.length]=[name,value];
					}
				create.Attach(ajax.Url(o.id,p), p, j);
				return;
			}
			for(i=0;i<f.length;i++)
				with(f[i])if(type=="hidden"||(type=="radio"&&checked)){
					o[name].value=value
					if(a)
						u[u.length]=escape(name)+"="+escape(value)
				}
			if(a)
			{
				u[u.length]=escape(a.o.id + ":" + "RenderRequire") + "=false";
				ajax.Update(a.o,{EVENTTARGET:p.name,CONTAINERID:a.o.id},null,u,{onload:"top.CbOS.ajax.Loading.Hide(w)"});
			}
			else{
				m.name=p.name;
				SM.Submit(m);
			}
		}
	},
	MOver:function(e,t,o){
		with(CbOS)if((o=dmc.Access(e,t))&&is.Tag(o,"TH")&&is.Cls(o.parentNode,["dmc1","dmc0"])&&!is.Cls(o,["dmcRCDrag","dmcRC"])){
			if(!o.CbOSonmouseout) _.M(o,"onmouseout","top.CbOS._.S(this,top.CbOS._.k)");
			_.S(o,_.k,_.G(get.Doc(o).body,_.k[1]))
		}
	},
	MDown:function(e,t,o,m,i,c,n,k,B){
		with(CbOS)if((o=dmc.Access(e,t))&&is.Tag(o,"TH")&&!is.Cls(o,["dmcRCDrag","dmcRC"])&&is.Cls(o.parentNode,["dmc1","dmc0"])&&_.S(o,_.k)&&is.Cls(_.S(_.S(o,[_.k[0],_.k[3]],o.CbOSStyle.borderRightColor),[_.k[1],_.k[2]],o.CbOSStyle.borderTopColor),"dmcRCDrag")&&(B=get.Doc(t))&&!B.getElementById('dmcDrag')){
			m=k="";
			c=o.parentNode.cells;
			for(i=0;i<c.length;i++){
				n=c[i];
				m+="<"+n.nodeName+(n.className?" class='"+n.className+"'":"")+" style='text-align:"+_.G(n,"text-align")+"'>"+n.innerHTML+"</"+n.nodeName+">"
				k+="<td style='padding:0px;'><div style='width:"+_.W(n)+"px'></div></td>"
			};
			_.S(_.S(_.E("DIV",B=B.body,null,'dmcDrag'),_.w,_.W(t)),_.h,_.H(o)+2).innerHTML="<TABLE class=dmc cellspacing=1 cellpadding=0><TR class="+o.parentNode.className+">"+m+"</TR><TR>"+k+"</TR></TABLE>"
			_.M(_.M(B,"onmousemove", "top.CbOS.dmc.DDMMove(event,this)","DragDrop"),"top.CbOS.dmc.DDMUp(event,this)","DragDrop")
		}
	},
	DDMMove:function(e,t,i,B,L,T){
		with(CbOS){
			B=get.Doc(t);
			if((i=B.getElementById('dmcDrag'))){
				L=B.documentElement.scrollLeft+B.body.scrollLeft;
				T=B.documentElement.scrollTop+B.body.scrollTop;
				SM.set.XY(i,Math.min(e.clientX+L,B.body.scrollWidth-i.offsetWidth),Math.min(e.clientY+T+10,B.body.scrollHeight-i.offsetHeight))
				B.selection.empty()
			}
		}
	},
	DDMUp:function(e,t){
	},
	MUp:function(e,t,o){
		with(CbOS) if((o=dmc.Access(e,t))){
			if((is.Tag(o,"TH")||is.Tag(o=o.parentNode,"TH"))&&is.Cls(o.parentNode,["dmc1","dmc0"])) _.S(o,_.k);
		}
	},
	aSort:[['None','none','images/dmc/sort/none'],['Ascending','asc','images/dmc/sort/asc'],['Descending','desc','images/dmc/sort/desc']],
	Question:function(o,i,c,t,k){
		with(CbOS){
			t=_.C(_.T(o,"TABLE"),"TR","dmcSort").cells;
			for(k=0;k<t.length;k++)
				if(t[k].getAttribute("cname")==i){
					o=_.T(o,"TR").cells[k];
					if(c) return o;
					var obj = get.node.Child(o,"INPUT");
					if(obj)
						return obj.value
					if(is.Tag(o.firstChild,"A"))o=o.firstChild;
					return o.innerHTML
				}
			return ""
		}
	},
	Access:function(e,t,o){
		with(CbOS) if((o=_.O(e))&&t!=o&&t==_.T(o,"TABLE")){
			if(!t.CbOSonclick) dmc.Events(t);
			while(is.Tag(o,"DIV")) o=o.parentNode;
			return o
		}
	},
	ExpandCollapse:function(aTable, aCommand, aTh, aObj)
	{
		with(CbOS)
		{
			aCommand = "dmcRC" + aCommand;
			var  clsList = ["dmc0", "dmc1"];
			if (aTh.s)
			{
				if ((aTable = get.Obj(aTable, aObj)))
					for(var i = 0, cell = _.C(aTable, "TR", "dmcSort").cells; i < cell.length; ++i)
						if(cell[i].getAttribute("cname") == aTh)
						{
							aTh = [];
							for (var k = 1; k < aTable.rows.length; ++k)
								if (is.Cls(cell = aTable.rows[k], clsList) && is.Tag(cell = cell.cells[i], "TH") && is.Cls(cell, aCommand))
									aTh.push(cell);
							break
						};
				if (aTh.s)
					return
			}
			else
				aTh = [aTh];
			var expand = aCommand == "dmcRCExpand";
			for (var i = 0; i < aTh.length; ++i)
			{
				aTh[i].className = expand ? "dmcRCCollapse" : "dmcRCExpand";
				var tr = aTh[i].parentNode;
				var obj = aTable.rows[tr.rowIndex + 1];
				obj.cells[0].style.display = obj.cells[1].style.display = obj.style.display = expand ? "block" : "none";
				if(aTh.length - 1 == i && !is.Cls(aTable,"dmcFixed")) dmc.Scroll(aTh[i]);
				if ((obj = get.node.Child(obj, "TABLE", "dmc")))
					dmc.iFilter(obj);
				var e = _.F(aTable.getAttribute("name")+"_childNodesState", aTable), obj = [tr.getAttribute("RowID")+":true",tr.getAttribute("RowID")+":false"], s = [obj[expand ? 0 : 1]]
				if (e&&e.value)
					for(var j = 0, g = e.value.toArray(); j < g.length; ++j)
						if(!is.In(g[j], obj))
							s.push(g[j]);
				set.Value(e, s.join(","))
			}
			if(aTh.length)
			{
				var obj = get.node.Child(aTable, "TR", "dmcSort").cells[aTh[0].cellIndex];
				if (obj.getAttribute("btnCollapse"))
				{
					var collapse = expand = true, i = aTh[0].cellIndex;
					for (var k = 1; (collapse || expand) && k < aTable.rows.length; ++k)
						if (is.Cls(cell = aTable.rows[k], clsList) && is.Tag(cell = cell.cells[i], "TH"))
							if (is.Cls(cell, "dmcRCCollapse"))
								collapse = false;
							else if (is.Cls(cell, "dmcRCExpand"))
								expand = false;
					btn.State(aTh[0], obj.getAttribute("btnCollapse"), !collapse);
					btn.State(aTh[0], obj.getAttribute("btnExpand"), !expand)
				}
			}
		}
	},
	_MClick1:function(a,c){
		if(a.drn){
			if(CbOS.is.In(c,a.drv))
				CbOS.SM.Submit(a.o,null,a.a.push([a.drn,c])&&a.a)
		}else if(c=='Yes') CbOS.SM.Submit(a.o,null,a.a)},
	_MClick2:function(a,c){if(c=='Yes') CbOS.create.Window(null,a)},
	_MClick3:function(a,c){
		if(a.drn){
			if(CbOS.is.In(c,a.drv))
			{
				var m = [[a.drn,c]];
				if(a.pageId)
					m = m.concat(a.pageID);
				CbOS.ajax.Update(a.t,{EVENTTARGET:a.e[0][1],EVENTARGUMENT:a.e[1][1],CONTAINERID:a.k},null,m)
			}
		}else if(c=='Yes')
			CbOS.ajax.Update(a.t,{EVENTTARGET:a.e[0][1],EVENTARGUMENT:a.e[1][1],CONTAINERID:a.k}, null, a.pageID)
	},
	_MClickSelectOrder: function(aAttrib, aCommand)
	{
		
		if (CbOS.is.In(aCommand, aAttrib.btn))
			CbOS.dmc.MClick(aAttrib.obj, aAttrib.table, aCommand)
	},
	MClick:function(aEvent,t,aCommand){
		var o;
		with(CbOS) if((o=dmc.Access(aEvent,t))){
			var i,g,j,s,p,k,m,h,e;
			if(is.Tag(o,"TH")&&is.Cls(o.parentNode,["dmc1","dmc0"])&&(e=_.C(t,"TR","dmcSort"))){
				if((s=o.className.substring(5)))
				{
					var choice = o.getAttribute("ProcedureChoice");
					if(choice)
					{
						choice = eval("get.Win(o)."+choice);
						var btns = choice.btn;
						if (aCommand)
						{
							if (choice.value)
							{
								for (i = 0; i < btns.length; ++i)
									if (aCommand == btns[i])
									{
										aCommand = [[choice.name, choice.value[i]]];
										break;
									};
							}
							else
								aCommand = [[choice.name, aCommand]];
						}
						else
						{
							if (!is.In("Cancel", btns))
								btns = btns.concat(["Cancel"])
							return MsgBox.Show(t, choice.question, null, btns, 'Question', choice.selected, dmc._MClickSelectOrder, {obj: o, table: t, btn: choice.btn});
						};
					};
					var thCellGPA = o.getAttribute("CellGPA")
					if (thCellGPA)
					{
						thCellGPA = eval("get.Win(o)." + thCellGPA);
						if (aCommand)
							thCellGPA = thCellGPA.concat(aCommand);
					}
					else
						thCellGPA = aCommand;
					h=e.getElementsByTagName("TD");
					if(!h.length) h=_.C(t=_.C(_.T(t,"DIV","dmcBox"),"TABLE","dmc"),"TR","dmcSort").getElementsByTagName("TD");
					var td=h[o.cellIndex];
					if(td){
						p=o.parentNode.getAttribute("RowID");
						var pageID = td.getAttribute("PageID") || t.getAttribute("PageID");
						if (pageID)
							pageID = [["PageID", pageID]];
						if((i=td.getAttribute("question"+s)||td.getAttribute("question")))
							i=eval(i)
						if((g=td.getAttribute("CellGPA"))){
							e=set.Param({Attributes:[['ID',p]]},set.Param(eval("get.Win(e)."+g)));
							if (pageID)
								e=set.Param({Attributes:pageID},e);
							if(thCellGPA)
								e=set.Param({Attributes:thCellGPA},e);
							if(!e.Opener) e.Opener=get.Win(t).name;
							if(MsgBox.Show(t,i,null,['Yes','No'],'Question',1,dmc._MClick2,e)){
								var tmpl=td.getAttribute("Template");
								if(tmpl=="Download")
									create.Attach(e.URL, t, e.Attributes);
								else
									create.Window(tmpl&&wd.Template[tmpl],e)
							}
						}else if((g=td.getAttribute("jsFunction")))
							eval("get.Win(e)."+g+"s,p,o,thCellGPA)");
						else if(is.In(s,["Expand","Collapse"]))
							dmc.ExpandCollapse(t, s, o);
						else if(s=="Drag"){

						}else if((s=="Up"||s=="Down")&&is.Cls(o.parentNode.cells[0],"dmcRCDrag")){
							e=_.T(o,"TR");
							if((s=="Up"&&is.Cls(t.rows[e.rowIndex-1],["dmc0","dmc1"]))||(s=="Down"&&t.rows.length>e.rowIndex+1))
								dmc.Move(t,e.rowIndex,e.rowIndex+(s=="Up"?-1:1),s=="Up");
						}else{
							e=[['__EVENTTARGET',t.getAttribute("name")+":ROWCOMMAND:"+s],['__EVENTARGUMENT',p||'']];
							if(thCellGPA)
								e=e.concat(thCellGPA);
							h=td.getAttribute("dialogresult");
							var ha = h ? h.toArray() : ['Yes', 'No'];
							if(h) h=(h+",Cancel").toArray();
							var sel=(td.getAttribute("questionBtnDefault")||(h ? ha.length : 1))*1


							if((k=t.getAttribute("containerID"))){
								if(thCellGPA)
									pageID = pageID ? pageID.concat(thCellGPA) : thCellGPA;
								if((j=td.getAttribute("relatedContainerIDs")))
									k+=","+j;
								if(i&&h)
									MsgBox.Show(t,i,null,h,'Question',sel,dmc._MClick3,{t:t,k:k,e:e,drn:t.getAttribute("name")+":ROWCOMMAND:DIALOGRESULT",drv:ha,pageId:pageID});
								else if(MsgBox.Show(t,i,null,ha,'Question',sel,dmc._MClick3,{t:t,k:k,e:e,pageId:pageID}))
									ajax.Update(t,{EVENTTARGET:e[0][1],EVENTARGUMENT:e[1][1],CONTAINERID:k}, null, pageID)
							}
							else
							{
								if (pageID)
									e = e.concat(pageID);
								if(i&&h)
									MsgBox.Show(t,i,null,h,'Question',sel,dmc._MClick1,{o:o,a:e,drn:t.getAttribute("name")+":ROWCOMMAND:DIALOGRESULT", drv:ha});
								else if(MsgBox.Show(t,i,null,ha,'Question',sel,dmc._MClick1,{o:o,a:e}))
										SM.Submit(o,null,e);
							}
						}
					}
				}
			}else if(is.Cls(o.parentNode,"dmcSort") && !dmc.GridResize.AllowResize(aEvent, o) && is.In((i=o.className.split(" ")[0]),[0,1,2].Prefix("dmcSort")))
			{
				h=_.O(aEvent);
				menu.Show(get.eLeft(aEvent),get.eTop(aEvent)-(o==h?0:((_.H(o)-_.H(h))/2)),menu.cCombo(dmc.aSort,o),o.sortValue=dmc.aSort[i.charAt(i.length-1)*1][1])
			}
		}
	},
	Move:function(t,e,i,j,l,k,m,o){
		with(CbOS){
			run.Execute(t);
			l=t.rows[t.rows.length-1].cells[0].innerHTML*1;
			for(k=0;k<t.rows[i].cells.length;k++)
				if(is.Cls(t.rows[i].cells[k],["dmcRCUp","dmcRCDown"])){
					o=t.rows[i].cells[k]
					o.insertAdjacentElement("beforeBegin",t.rows[e].cells[k])
					o.insertAdjacentElement("beforeBegin",t.rows[e].cells[k])
					t.rows[e].cells[k].insertAdjacentElement("beforeBegin",t.rows[i].cells[o.cellIndex+1])
					t.rows[e].cells[k].insertAdjacentElement("beforeBegin",o)
					break
				}
			t.rows[i].insertAdjacentElement(j?"beforeBegin":"afterEnd",t.rows[e]);
			j="";
			for(e=t.rows.length-1;is.Cls(t.rows[e],["dmc0","dmc1"]);e--){
				j=t.rows[e].getAttribute("RowID")+(j?",":"")+j;
				t.rows[e].cells[0].innerHTML=l;
				t.rows[e].className="dmc"+--l%2
			};
			set.EditMode((e=_.T(t,"FORM")).elements[i=t.getAttribute("name")+":SortedRows"]||_.E("INPUT",t.parentNode,null,i,"hidden")).value=j
		}
	},
	Events:function(o){
		with(CbOS) if(!o.CbOSonclick){
			set.DBLClick(o);
			_.M(_.M(_.M(o,[_.y,"onmouseover"]),"onmousedown","top.CbOS.dmc.MDown(event,this)"),"onmouseup","top.CbOS.dmc.MUp(event,this)")
		}
	},
	iFilter:function(t,o,i,j,f){
		if(t)
			with(CbOS)
			{
				if((f=_.C(t,"TR","dmcFilter"))&&_.T(f,"TABLE")==t){
					o=f.getElementsByTagName("TH");
					for(i=0;i<o.length;i++){
						if(!(j=_.C(o[i],"INPUT",null,"text")))
							with(_.E("IMG",rem(o[i],1)).style){
								width=height=1;
								borderWidth=0;
								visibility="hidden"
							}
						else if(!o[i].W){
							o[i].W=_.G(j,"width")=="100%"?27:_.W(j)
						}
					};
					dmc.eFilter(f)
				}else
					dmc.bFilter(t)
			}
	},
	bFilter:function(t,i,o,m){
		if(t)
			with(CbOS)
			{
				if((m=(i=_.T(t,"DIV","dmcBox"))&&_.C(i,"TABLE")==t&&_.W(t))&&m-2<_.W(i)-(o=_.G(i,"border-left-width",1)*2))
					_.S(i,_.w,m+o);
				if((o=_.T(t,"DIV","dmcScroll"))&&_.C(o,"TABLE")==t){
					o.style.overflowX = o.clientWidth < o.scrollWidth ? "scroll" : "visible";
					o.style.overflowY = o.clientHeight < o.clientHeight ? "scroll" : "visible";
				};
				if(m&&!is.Cls(t,"dmcScroll0"))
				{
					t.className+=" dmcScroll0";
					i.className+=" dmcScroll1"
				};
				dmc.ToolBarShow(m ? _.S(i,"background-color",_.G(i,"border-top-color")) : t)
			}
	},
	ToolBarShow:function(aObj, aDoc)
	{
		with(CbOS)
		if((aObj = get.Obj(aObj, aDoc)))
		{
			var obj = is.Cls(aObj, "toolBarMain") ? aObj : aObj.previousSibling;
			if (obj && is.Cls(obj, ["toolBarDmc", "toolBarMain"]))
			{
				var o = get.Width(aObj);
				if (!o) return;
				if (is.Cls(obj, "toolBarDmc")) _.S(obj, _.w, o);
				var cnt = get.node.Child(obj, "DIV", "toolBar");
				_.S(cnt, "padding-left");
				o = obj.lastChild;
				if (o != obj.firstChild)
				{
					var cnt = obj.firstChild.firstChild;
					do
						cnt.appendChild(o.firstChild);
					while (o.firstChild);
					rem(o)
				};
				var wdth = 0;
				for (var j = 0; j < cnt.childNodes.length; ++j)
				{
					var o = cnt.childNodes[j];
					if (is.Cls(o, "toolBarItem"))
					{
						var k=0;
						for (var i = 0; i < o.childNodes.length; ++i)
							if (o.childNodes[i].type != "hidden")
								k += get.Width(o.childNodes[i]);
						set.Style(o, "width", k)
					};
					if (o.type != "hidden")
						wdth += get.Width(o);
				};
				var o = cnt.parentNode;
				var isScroll = cnt.scrollHeight > get.Height(cnt);
				var align = _.G(cnt, "text-align");
				if (align != "left")
				{
					cntW = get.Width(cnt);
					var cntL = _.G(cnt, "padding-left", true);
					var cntR = _.G(cnt, "padding-right", true);
					if (wdth < cntW + cntL + cntR)
						_.S(cnt, "padding-left", align == "center" ? Math.ceil((cntW - wdth)/2) + cntL : (wdth - cntL - wdth))
				};
				_.S([obj, cnt], "visibility", "visible");
				
				_.M(
					_.M(
						_.M(_.S(cnt = cnt.parentNode, _.b, isScroll ? get.iURL(get.Root(cnt) + "images/dmc/toolbar/scroll0.gif") : "none"),
							["onmouseover", "onmousemove"],
							isScroll ? "top.CbOS.dmc.ToolBarOver(this,event)" : null,
							"TOOLBAR"
						),
						"onmouseout",
						isScroll ? "top.CbOS.dmc.ToolBarOver(this)" : null,
						"TOOLBAR"
					),
					["onclick", "ondblclick"],
					isScroll ? "top.CbOS.dmc.ToolBarClick(this,event)" : null,
					"TOOLBAR"
				)
				if (isScroll)
					dmc.ToolBarClick(cnt)
				
			}
		}
	},
	ToolBarHide:function(aObj)
	{
		with (CbOS)
			if(dmc.TOOLBAR)
			{
				var o
				o=(o=wd.win[dmc.TOOLBAR.win])&&(o=_.F(o.F))&&_.F(dmc.TOOLBAR.id, get.iDoc(o));
				if (!o || !aObj || !is.Child(aObj, o))
				{
					if(o) set.Style(o, ["visibility", "left"]);
					delete dmc.TOOLBAR
				}
			}
	},
	IsToolBarScroll:function(aObj, aEvent)
	{
		with (CbOS)
			return aEvent && get.eObj(aEvent) == aObj && get.Width(aObj) - get.Style(aObj, "border-left-width", true) * 2 - (aEvent.offsetX || aEvent.layerX || 0) <= get.Style(aObj, "padding-right", true)
	},
	ToolBarClick:function(aObj, aEvent)
	{
		with (CbOS)
		{
			dmc.ToolBarHide();
			if (!aEvent || dmc.IsToolBarScroll(aObj, aEvent))
			{
				var cnt = aObj.nextSibling || create.Element("DIV", aObj.parentNode, "toolBarMenu", get.PK());
				if (!cnt.firstChild)
				{
					var wdth = get.Style(cnt, "border-left-width", true) * 2 + get.Style(cnt, "padding-left", true)*2;
					var obj = aObj.firstChild;
					var hgt = get.Height(obj);
					do
					{
						var o = obj.lastChild;
						if (o.type != "hidden")
							set.Style(cnt, "width", (wdth += get.Width(o)))
						if (cnt.firstChild)
							cnt.insertBefore(o, cnt.firstChild)
						else
							cnt.appendChild(o);
					}
					while (obj.scrollHeight > hgt);
				};
				if (!aEvent)
					return;
				var i = get.Width(aObj) - get.Style(aObj, "border-left-width", true) - get.Style(aObj, "padding-right", true);
				var bd = get.Doc(aObj).body;
				var j = Math.max(bd.scrollWidth, bd.offsetWidth) - (get.eLeft(aEvent) + get.sLeft(aObj) + i + get.Width(cnt));
				set.Style(set.Style(cnt, "visibility", "visible"), "left", j < 0 ? Math.max(0, i - j): i);
				dmc.TOOLBAR={
					id: cnt.id,
					win: get.Win(cnt).name
				}
			}
		}
	},
	ToolBarOver:function(aObj, aEvent)
	{
		with(CbOS)
			set.Style(aObj,
				"background-image",
				get.iURL(get.Root(aObj) + "images/dmc/toolbar/scroll" + (dmc.IsToolBarScroll(aObj, aEvent) ? 1 : 0) + ".gif"))
	},
	Clone:function(t,n,i,o,r,c,s,R,N,C,m){
		with(CbOS){
			i=_.T(t,"DIV","dmcBox")
			o=get.Doc(t).createElement("DIV");
			o.className='dmcClone'
			i.insertBefore(o,i.firstChild);
			_.S(_.S(o,_.w,get.Width(t.rows[0].cells[0])+1),_.h,get.Height(t)-2)
			s='<table class=dmc cellspacing=1 cellpadding=0 onMouseOver="_.dMO(event,this)" onClick="_.dMC(event,this)" name="'+t.getAttribute("name")+'">'
			for(r=0;r<t.rows.length;r++){
				R=t.rows[r]
				s+="<tr"
				if((m=R.className))
					s+=' class="'+m+'"';
				if((m=R.getAttribute("RowID")))
					s+=' RowID='+m;
				s+=">"
				for(c=0;c<n;c++){
					C=R.cells[c]
					N=C.nodeName;
					s+="<"+N
					if((m=C.className))
						s+=' class="'+m+'"';
					if((m=C.getAttribute("cname")))
						s+=' cname='+m;
					s+=" style='height:"+get.Height(C)+"px'>"+C.innerHTML+"</"+N+">"
				}
				s+="</tr>"
			}
			o.innerHTML=s+'</table>'
		}
	},
	Width:function(t,o,i,k,v,h){with(CbOS){
			if((o=t&&_.C(h=_.T(t,"DIV","dmcHeader0").nextSibling,"TR","dmcSort"))){
				o=o.getElementsByTagName("TH")
				k=t.rows[t.rows.length-1].cells;
				v=[];
				for(i=0;i<o.length;i++){
					with((o[i].dmcI=_.E("IMG",rem(o[i],1))).style){
							width=height=1;
							borderWidth=0;
							visibility="hidden"
						};
					v[i]=Math.max(_.W(k[i]),_.W(o[i]))-2
				}
				for(i=0;i<o.length;i++){
					_.S(o[i].dmcI,_.w,v[i]);
					_.S(k[i],_.w,v[i]-_.G(k[i],"padding-left",1)-_.G(k[i],"padding-right",1));
				}
				o=h.firstChild;
				if(!(t.CbOSHeight=_.N(t.CbOSHeight,_.G(o,_.h,1)))){
					while(o.clientHeight<o.scrollHeight) _.S(o,_.h,_.H(o)+1);
				}else if(o.clientHeight<o.scrollHeight)
					_.S(_.S(h.previousSibling,"padding-right",o.offsetWidth-o.clientWidth-3).firstChild,"border-right-width",1)
				o.CbOSdmcHeader=_.C(h.previousSibling,"DIV","dmcHeader2")
				_.M(o,"onscroll","this.CbOSdmcHeader.scrollLeft=this.scrollLeft")
			};
			dmc.iFilter(t)
		}
	},
	_eFilter:function(a,l){
		if(a.i!=a.o.i)
			return true;
		if(5==(l.k=(l.k||0)+1))
		{
			CbOS.dmc.rFilter(a.o);
			return true
		}
	},
	eFilter:function(o,i){with(CbOS) if(o){_.Q(dmc._eFilter,{o:o,i:o.i=_.K()},5)}},
	rFilter:function(aTr, j,u,k,m){
		with(CbOS)
		{
			var th = aTr.getElementsByTagName("TH"), table = get.node.Parent(aTr, 'TABLE');
			var dmcHasNoBox = get.node.Child(get.node.Parent(table, "DIV", "dmcBox"), "TABLE") != table;
			if(_.W(table))
			{
				var obj = [], count = 0, widths = [], flag;
				for(var i = 0; i < th.length; ++i)
					set.Style(obj[i] = get.node.Child(th[i], "INPUT", null, "text") || get.node.Child(th[i], "IMG"), "width", "100%");
				do
				{
					flag = false;
					for(var i = 0; i < th.length; ++i)
						widths[i] = obj[i].type == "text" ? Math.max(th[i].W, get.Width(obj[i].parentNode) - get.Style(obj[i].parentNode, "padding-right", true) - get.Style(obj[i].parentNode, "border-right", true)+get.Width(th[i])-get.Width(th[i].firstChild)) : get.Width(th[i]);
					for(var i = 0; i < th.length; ++i)
						if (get.Width(obj[i]) != widths[i] || _.G(obj[i],_.w) != widths[i] + "px")
							flag = set.Style(obj[i], "width", widths[i]);
				}
				while (flag && 100 > ++count);
				if (count < 100)
				{
					var colgroup = get.node.Child(table, "COLGROUP");
					if(colgroup && get.node.Parent(colgroup, 'TABLE') == table)
					{
						var cel = colgroup.getElementsByTagName("COL");
						for(i = 0; i < th.length; ++i)
						{
							th[i].W = 27;
							cel[th[i].cellIndex].width = get.Width(th[i].firstChild)
						}
					}
				};
			}
			dmc.bFilter(table);
		}
	},
	PClick:function(e,o,p,i,k,f){
		with(CbOS){
			p=o.parentNode;
			if((k=p.getAttribute("containerID")))
				ajax.Update(p,{EVENTTARGET:p.getAttribute("arg"),EVENTARGUMENT:o.getAttribute("arg")||o.innerHTML,CONTAINERID:k})
			else
				SM.GoTo(o,[["__EVENTTARGET",p.getAttribute("arg")],["__EVENTARGUMENT",o.getAttribute("arg")||o.innerHTML]])
			return _.B(e)
		}
	},
	PMOver:function(e,o){with(CbOS) _.S(_.S(_.S(o,_.r,_.G(get.Doc(o).body,_.k[2])),"border","1px solid "+_.G(get.Doc(o).body,_.k[1])),"padding","0px 3px 0px 3px")},
	PMOut:function(e,o){with(CbOS) _.S(_.S(_.S(o,_.r),"border","0px"),"padding","1px 4px 1px 4px")},
	Paging:function(e,o,j,m){
		if(o.onmouseover) with(CbOS){
			o.onmouseover=o.onkeyup=null;
			e=_.O(e);
			m=o.getAttribute("EditMode")
			for(j=o.firstChild;j;j=j.nextSibling)
				if(is.Tag(j,"A")){
					if(is.Href(j)){
						_.M(_.M(_.M(j,["onmouseover","onfocus"],"top.CbOS.dmc.PMOver(event,this)"),["onmouseout","onblur"],"top.CbOS.dmc.PMOut(event,this)"),_.y,"top.CbOS.dmc.PClick(event,this)").hideFocus=true;
						if(m) j.setAttribute("EditMode",m);
						if(j==e) run.Event(j,j,"onmouseover");
					}else
						j.style.fontWeight="bold"
				}
		}
	}
}
CbOS.ajax={
	Loading:{
		Wins:{},
		Show:function(o,l){
			with(CbOS){
				if(!wd.winLoading)
					_.E('DIV',0,'winLoading',wd.winLoading=_.K()).innerHTML="<div>Loading...</div>";
				_.S(_.S(_.F(wd.winLoading),_.z,wd.zIndex+1000),_.d);
				ajax.Loading.Wins[get.Win(o).name]=true
			}
		},
		Hide:function(o){
			with(CbOS)
			{
				Hint.Hide()
				del(ajax.Loading.Wins, typeof o == "string" ? o : get.Win(o).name);
				for(o in ajax.Loading.Wins) return;
				_.S(_.F(wd.winLoading),_.d,"none")
			}
		}
	},
	Data:function(m,o,z,aViewState,aValidate,i,k,a,q,s,e,u,r){
		with(CbOS){
			z=z||[];
			s=[];
			var isError = false;
			var validateRequire = o.getAttribute && o.getAttribute("validation") == "true";
			if(validateRequire && aValidate)
				for (i = 0; i < aValidate.length; ++i)
					aValidate[i]=get.Obj(aValidate[i], o);
			for(i=0;i<z.length;i++)
				s[s.length]=z[i].a?escape(z[i][0])+"="+escape(_.N(z[i][1],'')):z[i];
			if((o=is.Tag(o,"FORM")?o:_.T(o,"FORM"))){
				if(!aViewState && (q=o.__VIEWSTATE)){
					s[s.length]=q.name+"="+escape(q.value).replace(/\+/g,'%2b');
					if((q=o.__VIEWSTATE_KEY))
						s[s.length]=q.name+"="+escape(q.value).replace(/\+/g,'%2b');
					if((q=o.__EVENTVALIDATION))
						s[s.length]=q.name+"="+escape(q.value).replace(/\+/g,'%2b');
				}
				a=["SELECT","TEXTAREA","INPUT"];
				m = get.Unique(m.toArray(), o);
				for (i = 0; i < m.length; ++i)
					if ((k = _.F(m[i], o)))
						for (q = 0; q < a.length; ++q)
						{
							var M = is.Tag(k,a);
							z = M ? [k] : k.getElementsByTagName(a[q]);
							for (r = 0; r < z.length; ++r)
								if (_.I(u = z[r]) && is.NotASPNet(e = u.name))
								{
									if (u.type == "radio")
									{
										var l = u.form.elements[e];
										if (!l.length)
											l = [l];
										for(var j = 0; j < l.length; ++j)
										{
											var obj = l[j];
											if(obj.checked)
											{
												if(!is.In(j = escape(e) + "=" + escape(obj.value), s))
												{
													if (validateRequire && run.Validate(obj, aValidate) && !isError)
														Fcs(obj, isError = true);
													s.push(j);
												}
												break;
											}
										}
									}
									else
									{
										if (validateRequire && run.Validate(u, aValidate) && !isError)
											Fcs(u, isError = true);
										if(u.type=="checkbox")
											s.push(escape(e)+"="+escape(u.value&&u.checked?u.value:get.Value(u)));
										else
											s.push(escape(e)+"="+(mask.IsMaskDefaultValue(u)?"":escape(u.value&&get.Value(u))));
									}
								}
							if(M)
								break
						}
			}
			if (!isError)
				return s.join("&");
		}
	},
	Rollback:function(o){
		with(CbOS)
		if(o){
			if (o.getAttribute("backgroundWait"))
				_.S(o, "background-image", "none").removeAttribute("backgroundWait");
			ajax.Loading.Hide(_.S(_.S(o,'overflow','visible'),_.h,(o.CbOSStyle && o.CbOSStyle.height)=="100%"?"100%":IE(0,"auto")))
		}
	},
	InnerXml:function(aWin, aXml, aData)
	{
		with(CbOS)
		{
			if(aData.XML.getResponseHeader('Content-type').indexOf("xml")<0){
				menu.Cache(aWin.name, aData.id);
				return ajax.InnerHtml(aWin, aData.XML.responseText, aData);
			};
			var id, obj, code = [], objects = [], divs = aXml.getElementsByTagName('CONTAINER');
			for (var i = 0; i < divs.length; ++i)
				if ((obj = objects[i] = _.F(id = divs[i].getAttribute("id"), aWin)))
				{
					if (obj.getAttribute("backgroundWait"))
						_.S(obj, "background-image", "none").removeAttribute("backgroundWait");
					menu.Cache(aWin.name, id);
					code.push("ajax.Rollback(_.F('" + id + "',d));");
					_.S(_.S(obj, _.h, _.H(obj)), "overflow", "hidden").innerHTML = "";
					ajax.GPACleaner(id, aWin);
				};
			_.Q(ajax.InnerXmlStep2,
				{
					aWin:aWin,
					divs:divs,
					objects:objects,
					code:code,
					wait:((obj = aXml.getElementsByTagName('LINKER')[0])) && ajax.CSSParser(ajax.JSParser(obj.text, aWin), aWin)
				}
			)
		}
	},
	InnerXmlStep2:function(a,t)
	{
		if(!a.wait || (t.k=(t.k||0)+1)== 3){
			with(CbOS) with(a)
			{
				var e;
				for (var i = 0; i < divs.length; ++i)
					if(objects[i])
						try
						{
							ajax.CSSParser(objects[i].innerHTML = ajax.JSParser(divs[i].text, aWin), aWin);
						}
						catch (e)
						{
							ajax.Rollback(objects[i]);
							alert(Messages.InternalError);
						}
				aWin.setTimeout("with(top.CbOS){"+code.join("\n")+"\nrun.Event(w,w,'onload')}", 2);
				if(!divs.length)
					ajax.Loading.Hide(aWin);
			};
			return true
		}
	},
	InnerHtml:function(aWin, aHtml, aData)
	{
		with(CbOS)
		{
			var obj = _.F(aData.id, aWin);
			if (obj.getAttribute("backgroundWait"))
				_.S(obj, "background-image", "none").removeAttribute("backgroundWait");
			try{
				if (!aHtml && aData.XML.status == 500)
				{
					ajax.GPACleaner(aData.id, aWin);
					obj.innerHTML = "<div class=error>"+Messages.InternalError+"</div>";
				}
				else
				{
					var code = ajax.JSParser(aHtml, aWin).Trim();
					if(code)
					{
						obj.innerHTML = "";
						ajax.GPACleaner(aData.id, aWin);
						ajax.CSSParser(obj.innerHTML = code, aWin)
					}
				};
				aWin.setTimeout("with(top.CbOS){ajax.Rollback(_.F('"+aData.id+"',d));run.Event(w,w,'onload')}",2);
				if (aData.XML.status == 500)
					ajax.Loading.Hide(aWin);
			}catch(e){
				ajax.Rollback(obj);
				ajax.Loading.Hide(aWin);
				alert(Messages.InternalError);
			}
		}
	},
	GPACleaner:function(aId, aWin)
	{
		if (aId && aWin.gpa)
		with (CbOS)
		{
			var o, obj = get.Obj(aId, aWin);
			del(aWin.gpa, aId);
			for(var i in aWin.gpa)
				if(!(o = get.Obj(i, aWin)) || is.Child(o, obj))
					del(aWin.gpa, i)
		}
	},
	CSSParser:function(aHtm, aWin)
	{
		if(!CbOS.is.ie)
			return;
		aHtm = aHtm.replace(/\<STYLE/g, "<style").replace(/<\/STYLE/g, "<\/style").split("<style");
		for (var i = 0; i < aHtm.length; ++i)
		{
			var source = aHtm[i].split("<\/style>");
			if (source.length > 1)
				aHtm[i] = source[0].replace(/^((>{1})|(.*>{1}))/, "");
			else
				aHtm[i] = "";
		};
		if (aHtm.length > 1 && aWin.CbOS.TEMP.styleSheets != (aHtm = aHtm.join("")))
		{
			aWin.CbOS.TEMP.styleSheets = aHtm;
			var doc = CbOS.get.Doc(aWin), ruleLines = aHtm.split('}'), css = [];
			for (var j = 0; j < ruleLines.length-1; ++j)
			{
				var rule = ruleLines[j].split('{');
				if(rule.length == 2 && (rule[0] = rule[0].Trim()) && (rule[1] = rule[1].Trim()))
					css.push(rule[0], rule[1])
			};
			if (css.length)
			{
				doc = doc.styleSheets[doc.styleSheets.length-1];
				for (var j = 0; j < css.length-1; j+=2)
					doc.addRule(css[j], css[j + 1]);
				return true
			}
		}
	},
	JSParser:function(aHtm, aWin)
	{
		aHtm = aHtm.replace(/\<SCRIPT/g, "<script").replace(/<\/SCRIPT/g, "<\/script").split("<script");
		for (var i = 0; i < aHtm.length; ++i)
		{
			var source = aHtm[i].split("<\/script>");
			if (source.length > 1)
			{
				var txt;
				if ((txt = source[0].replace(/^((>{1}(\n|\r)*(<!--){1})|(>{1}(\n|\r)*)|(>{1})|(.*>{1}(\n|\r)*(<!--){1})|(.*>{1}(\n|\r)*)|(.*>{1}))/, "")))
					aHtm[i] = (aWin.CbOS.set.Event(txt).Run() || "") + source[1];
				else
				{
					aHtm[i] = source[1];
					txt = source[0].toLowerCase().toArray(".js");
					if(txt.length != 1)
					{
						txt=txt[0].toArray("/");
						with (CbOS)
							if (!is.In(txt = txt[txt.length-1],["page", "common"]))
							{
								var name = txt + "_AjaxJSFile", doc = get.Doc(aWin);
								rem(_.F(name, doc));
								doc.getElementsByTagName('HEAD').item(0).appendChild(
									_.P(
										[
											"src", jsROOT+"js/"+txt+'.js',
											"id", name,
											"type", "text/javascript",
											"defer", true
										],
										doc.createElement('SCRIPT')
									)
								);
							};
					};
				};
			};
		};
		return aHtm.join("")
	},
	Url:function(aID, aObj, r)
	{
		with(CbOS)
			return get.ValueByAttr(
					r = _.F(aID, aObj),
					"ajaxPostURL"
				)
				||
				(
					(r = _.T(r.firstChild || r, "FORM"))
					&&
					r.action
				)
				||
				get.Url(aObj || aID);
	},
	_Post:function(a,c){if(c=='Yes')CbOS.ajax.Post(a.o,a.u,a.p,a.s)},
	Post:function(o,u,p,s,m,t,e,k,r){
		with(CbOS)if(MsgBox.Show(o,m,null,['Yes','No'],'Question',1,ajax._Post,{o:o,u:u,p:p,s:s})){
			ajax.Loading.Show(o=get.Win(o));
			t=o.CbOS;
			if(!t.ajax){t.ajax=create.Obj(o);if(!t.ajax.RQ)t.ajax.RQ=create.Obj(o)};
			t=t.ajax.RQ;
			if(t[p.id])
				try{t[p.id].abort()}catch(e){};
			t=t[p.id]=set.Param(create.Obj(o),p);
			k=t.XML=create.Xml(o);
			k.open("POST",get.Base(u||ajax.Url(p.id,o)),true);
			k.onreadystatechange=o.CbOS.set.Event("top.CbOS.ajax.Complete(w,'"+t.id+"')");
			k.setRequestHeader("Content-Type",p.ContentType||"application/x-www-form-urlencoded");
			if(p.SOAPAction)
				k.setRequestHeader("SOAPAction",p.SOAPAction);
			if(p.ContentType)
				k.send(s||"")
			else{
				s=s||"";
				for(i in Session) s+=(s.length?"&":"")+i+"="+escape(Session[i]);
					k.send(s+(s?"&":"")+"CbOSData=ID%3D"+escape(o.name))
			}
		}
	},
	PageManager:function(o,g,i,a,n,m,k){
		with(CbOS){
			a=o.parentNode.getElementsByTagName("A");
			n=o.className.substring(0,o.className.length-1)
			m=_.F(g.ID,o);
			for(i=0;i<a.length;i++)
				if(a[i]!=o&&a[i].className.charAt(n.length)=="2"){
					a[i].className=n+1;
					if((k=_.F(a[i].id+"_Page",o)))
						_.S(k,"display","none")
				}
			o.className=n+2;
			if(!(k=_.F(o.id+"_Page",o)))
				k=_.E("DIV",m,null,o.id+"_Page")
			k.innerHTML=""
			_.S(k,"display","block")
			m=""
			if((n=g.Attributes))
				for(i=0;i<n.length;i++)
					m+=(m&&"&")+escape(n[i][0])+"="+escape(String(n[i][1]))
			ajax.Post(k,g.URL,{
				id:k.id,
				pk:k.id,
				run:get.Win(o).CbOS.set.Event("top.CbOS.ajax.InnerXml(arguments[0],arguments[1],arguments[2])")
			},m)
		}
	},
	Complete:function(o,p,m,t){
		if((m=o.CbOS)&&(m=m.ajax)&&(m=m.RQ)&&(m=m[p])&&(t=m.XML)&&t.readyState==4)with(CbOS){
			del(o.CbOS.ajax.RQ,p);
			if(t.status==200||(w.DebugMode&&t.status==500))
				return m.run(o,t.responseXML,m);
			ajax.Loading.Hide(o)
			if(t.status==500)
				alert(Messages.InternalError)
		}
	},
	Redirect:function(o,k,u,m){CbOS.ajax.Update(o,k,u,m,{redirect:true})},
	_Update:function(a,c){
		with(CbOS)
		{
			var o = a.Obj;
			if (c == 'Yes')
				ajax.Update(o, a.Id, a.Url, a.Data, a.Pram);
			else if(is.Tag(o, "INPUT") && is.Cls(o.parentNode, ["combo", "combom", "combof", "combos", "comboc"]))
				for (o = o.parentNode.firstChild; o; o = o.nextSibling)
					if (is.Tag(o, "INPUT"))
					{
						set.ValueWitoutExecute(o, o.defaultValue);
						if (o.type == "text")
							Fcs(o)
					}
		}
	},
	_UpdateChoice: function(aData, aCommand)
	{
		var btns = aData.choice.btn;
		if (CbOS.is.In(aCommand, btns))
		{
			var data = aData.data;
			data = data ? CbOS.create.Arr(aData.obj).concat(data) : CbOS.create.Arr(aData.obj);
			if (aData.choice.value)
			{
				for (var i = 0; i < btns.length; ++i)
					if (aCommand == btns[i])
					{
						data = data.concat([[aData.choice.name, aData.choice.value[i]]]);
						break;
					};
			}
			else
				data = data.concat([[aData.choice.name, aCommand]]);
			CbOS.ajax.Update(aData.obj, aData.param, aData.url, data, aData.attrib);
		};
	},
	Update:function(aObj, aParam, aUrl, aData, r, t,a,i,j,e,c,h){
		with(CbOS){
			var editModeWarning, validateList, notRefresh, aId, choice;
			if(aParam.s)
				aId = aParam.toArray();
			else
			{
				aParam = set.Param(create.Obj(aObj), aParam)
				editModeWarning = is.Def(aParam.EditModeWarning) && !get.Win(aObj).CbOSEditModeWarning && aParam.EditModeWarning.toArray();
				t=aParam.EVENTTARGET;
				a=aParam.EVENTARGUMENT;
				h=aParam.AJAXIDS;
				validateList=is.Def(aParam.Validate)&&aParam.Validate.toArray();
				notRefresh=aParam.NotRefresh&&aParam.NotRefresh.toArray();
				aId=aParam.CONTAINERID.toArray();
				choice = aParam.PROCEDURECHOICE;
			};
			if(!aParam.EDITMODE && editModeWarning && !is.EditMode(aObj))
			{
				editModeWarning = null;
				delete aParam.EditModeWarning;
			}
			var obj = _.F(aId[0], aObj);
			if(obj){
				var frm = _.T(obj, "FORM")||_.C(obj, "FORM")
				if (frm && editModeWarning && frm._EditMode)
				{
					for (i = 0; i < editModeWarning.length; ++i)
						editModeWarning[i] = _.F(editModeWarning[i], obj);
					for (j = 0; j < editModeWarning.length; ++j)
						if(editModeWarning[j])
							for(i in frm._EditMode)
								if(is.Child(_.F(i, obj), editModeWarning[j])){
										var question = aParam.QUESTION;
										del(aParam,["QUESTION","EditModeWarning","EDITMODE"]);
										return MsgBox.Show(aObj, question || frm.getAttribute("EditModeWarning") || _.l,null,aParam.BNTS || ['Yes','No'],'Warning',1,ajax._Update,{
											Obj:aObj,
											Id:aParam,
											Url:aUrl,
											Data:aData,
											Pram:r
										})
								}
				};
				if(choice)
				{
					var btns = choice.btn;
					if (!is.In("Cancel", btns))
						btns = btns.concat(["Cancel"]);
					del(aParam, "PROCEDURECHOICE");
					return MsgBox.Show(aObj, choice.question, null, btns, 'Question', choice.selected, ajax._UpdateChoice, {obj: aObj, param: aParam, url: aUrl, data: aData, attrib: r, choice: choice});
				};
				aData = aData?create.Arr(aObj).concat(aData):create.Arr(aObj);
				if(!t){
					c=SM.ETA(aObj);
					t=c[0]&&c[0][1];
					a=c[1]&&c[1][1]
				};
				c=get.Win(aObj);
				if(r&&r.redirect)
					i=[];
				else
				{
					i = (h || []).toArray().concat(aId);
					var pk = get.PK(), listBox = [];
					for (var k = 0; k < aId.length; ++k)
					{
						if((h = _.F(aId[k], aObj)) && (h = h.getAttribute("ajaxIDs")))
							i = i.concat(h.toArray());
						for (var n, m = _.F(aId[k], aObj); is.Obj(m); m = m.parentNode)
							if ((n = m.getAttribute("ajaxEditedIDs")) && !is.In(m.id, listBox))
							{
								n = get.Unique(n.toArray(), aObj);
								listBox.push(m.id);
								m.setAttribute("ajaxEditedKey", pk);
								aData.push([m.id + '_reloadKey',pk],[m.id + '_reloadContainerIDs', n.join(",")])
								i = i.concat(n);
							}
					}
				};
				var evUpdate = get.Unique(aId, aObj);
				aData.push(["__EVENTUPDATE",String(evUpdate)]);
				if(t)
					aData.push(['__EVENTTARGET',t],['__EVENTARGUMENT',a]);
				i.push(aObj);
				if (notRefresh)
				{
					h=[];
					for (var n = 0; n < i.length; ++n)
						if(is.In(j = i[n].s ? i[n] : i[n].id, notRefresh) && !is.In(j, h))
						{
							h.push(j);
							aData.push([j+":RenderRequire", 'false'])
						}
				};
				if (_.D(aData=ajax.Data(i, aObj, aData, !t&&r&&r.redirect, validateList)))
				{
					var cntModifData = [];
					if(frm&&frm._EditMode)
					{
						for(i in frm._EditMode)
						{
							var div = get.Obj(i, aObj), name = i, o;
							while ((o = get.Ajax(div.parentNode)))
								name = (div = o.o).id + ":" + name;
							cntModifData.push(name);
						}
						evUpdate.push(obj);
						evUpdate = get.Unique(evUpdate, aObj);
						for(var k=0; k<evUpdate.length; ++k)
						{
							evUpdate[k] = _.F(evUpdate[k], obj);
							for(i in frm._EditMode)
								if(is.Child(_.F(i, obj), evUpdate[k]))
									set._EditMode(frm,i);
						}
					};
					if (cntModifData.length)
						aData += (aData.length ? "&" : "" ) + "ContainersWithModifiedData=" + escape(cntModifData.join(","));
					if(aParam.WAIT)
					{
						var o;
						for(i = 0; i< obj.childNodes.length; ++i){
							if(_.G(o = obj.childNodes[i], "position") == "relative")
								_.S(o,["top","left"],"-99999px")
							_.S(o,"visibility","hidden")
						}
						_.S(_.S(_.S(obj, "background-repeat", "no-repeat"), "background-position", "50% 50%"), _.b, get.iURL(get.Root(obj)+"images/window/wait.gif")).setAttribute("backgroundWait","true");
					};
					set.DisableAfterSubmit(aObj);
					ajax.Post(aObj,
						aUrl,
						{
							id:aId[0],
							run:c.CbOS.set.Event((r&&r.onload)||"top.CbOS.ajax.InnerXml(arguments[0],arguments[1],arguments[2])")
						},
						aData
					);
				};
			}
		}
	},
	Setting:function(p,aId,a,o,f,m){
		with(CbOS)
		{
			if (aId.isSring)
				aId = aId.toArray();
			else if (!aId.isArray)
				aId = [aId];
			for (var i = 0; i < aId.length; ++i)
				if((o=_.F(aId[i], p))&&(f=_.T(o.firstChild||o,"FORM")||get.node.Child(get.Doc(o),"FORM")))
				{
					if(_.D(m=a.NavBarEditMode))
					{
						var obj = o.firstChild.getElementsByTagName("A");
						m = String(m);
						for (var j = 0; j < obj.length; ++j)
							obj[j].setAttribute("EditMode",m);
					};
					if(_.D(m=a.EditMode))
						o.setAttribute("EditMode",String(m));
					if(a.CbOSEditMode)
						set.EditedMode(f, aId[i]);
					if((m=a.ajaxPostURL))
						o.setAttribute("ajaxPostURL",m);
					if((m=a.formPostURL))
						f.action=m;
					if((m=a.formEditMode))
						f.setAttribute("EditMode",m);
					if(a.formCbOSEditMode)
						set.EditedMode(f);
					if((m=a.ajaxIDs))
						o.setAttribute("ajaxIDs",String(m))
				}
		}
	}
}
CbOS.mask={
	MaskParse : function(aValue)
	{
		return aValue.charAt(1);
	},
	MaskDefaultValue : function(aMask)
	{
		return aMask.replace(/\[.+\]/g, this.MaskParse).replace(/[9]/g, ' ');
	},
	IsMaskDefaultValue:function(aObj, aMask)
	{
		return (aMask = aObj.getAttribute("mask")) && this.MaskDefaultValue(aMask) == aObj.value;
	},
	Edit:function(o){
		with(CbOS){
			if(is.Tag(o,"LABEL")&&is.Cls(o,"clsRadio")) o=_.F(o.htmlFor,o);
			if(is.Tag(o,["INPUT","TEXTAREA"])){
				if(!_.D(o.CbOSValue)){
					o.CbOSPreviousValue=o.CbOSValue=get.Value(o);
					if (o.getAttribute("maskId") || o.getAttribute("maxLen"))
					{
						SM.set.Event(o, "onkeydown", "top.CbOS.MaskInput.HandleBS(event)");
						SM.set.Event(o, "onkeypress", "top.CbOS.MaskInput.AllowType(this, event)");
						SM.set.Event(o, "onpaste", "top.CbOS.MaskInput.AllowPaste(this, event)");
						//SM.set.Event(o, "onblur", "top.CbOS.MaskInput.ValidateValue(this)");
						SM.set.Event(o, "ondrop", "top.CbOS.MaskInput.AllowDrop(this, event)");
					};
					var m = o.getAttribute("mask");
					if (m && is.ie)
					{
						if (!o.CbOSMask)
						{
							o.CbOSMask={L:[],R:"",r:""};
							for(i=0;i<m.length;i++){
								j=m.charAt(i)
									if(j=="["){
										var k=""
										u=o.CbOSMask.L[o.CbOSMask.L.length]=[]
										while((j=m.charAt(++i))!="]"){
											u[u.length]=j
											k+=is.In(j,["\\","^","$","*","+","?","."])?"\\"+j:j
										}
										o.CbOSMask.R+="["+k+"]{1}";
										o.CbOSMask.r+="["+k+"]{1}";
									}else{
										j=_.P(this.Range(k=j));
										o.CbOSMask.R+="["+j.R+"]{1}";
										o.CbOSMask.r+="["+(j.r||j.R)+"]{1}";
										o.CbOSMask.L[o.CbOSMask.L.length]=k=="0"?0:j.L;
									}
								}
								o.CbOSMask.R=new RegExp("^"+o.CbOSMask.R+"$");
								o.CbOSMask.r=new RegExp("^"+o.CbOSMask.r+"$");
								_.M(_.M(_.M(_.M(_.M(_.M(o,"onkeydown","top.CbOS.mask.KDown(event,this)"),"onkeyup","top.CbOS.mask.KUp(event,this)"),"onmouseup","top.CbOS.mask.MUp(event,this)"),"onblur","top.CbOS.mask.Blur(event,this)"),["onpaste","oncut"],"top.CbOS.mask.Clip(event,this)"),"onfocus","top.CbOS.Fcs(this,true)")
						}
					}
					else
						_.M(o,IE("onpropertychange",["onkeyup","onmouseup","ondragdrop","oninput"]),"top.CbOS.mask.Change(this,event)","CHANGE");
				}
			}
		}
	},
	_Change:function(o){if(3==o.i++){CbOS.mask.Change(o.e); return true}},
	Change:function(o,e){
		with(CbOS){
			if(o.CbOSValue!= get.Value(o)){
				if(o.type=="radio")
					run.Execute(o);
				else
					mask.BGColor(o)
			};
			if(!is.ie&&e&&(e=e.relatedTarget)&&e!=o){mask.Edit(e);_.Q(mask._Change,{e:e,i:0},5)}}},
	_MUp:function(a,t){
		if(a.i!=a.o.i) return true;
		if((t.k=(t.k||0)+1)==30){
			if(!CbOS.get.Position(a.o).t) CbOS.set.Position(a.o);
			return true
		}
	},
	MUp:function(e,o,P){
		o.i=null;
		with(CbOS) if(_.I(o)&&_.O(e)==o){
			P=get.Position(o);
			if(P.t.length){
				if(P.t.length>1)
					_.Q(mask._MUp,{o:o,i:o.i=_.K()},5)
				else{
					if(P.p<o.value.length&&P.p>0)
						P.p--
					set.Position(o,1,P);
				}
			}else
				set.Position(o);
		}
	},
	_Clip:function(o){
		CbOS.mask.KUp(null,o);
		return true
	},
	Clip:function(e,o,P){
		o.i=null;
		CbOS._.Q(this._Clip,o,5)
	},
	Range:function(i){return  i=="L"?["R","A-Za-z\\s","r","A-Za-z"]:(i=="l"?["R","A-Za-z\\s"]:(i=="A"?["R","A-Za-z0-9\\s","r","A-Za-z0-9"]:(i=="a"?["R","A-Za-z0-9\\s"]:(i=="C"?["R","\\."]:(i=="0"?["R","0-9"]:(i=="9"?["R","0-9\\s"]:(i=="#"?["R","+-\\s"]:(i==" "?["R","\\s","L",i]:["R",CbOS.is.In(i,["\\","^","$","*","+","?","."])?"\\"+i:i,"L",i]))))))))},
	Blur:function(e,o,P,i){
		o.i=null;
		with(CbOS) if(_.I(o)){
			if(set.Lock(o)&&!o.CbOSMask.R.test(o.value)&&o.P)
				o.value=o.P.v
			o.L--
		}
	},
	KUp:function(e,o,P,i){
		o.i=null;
		with(CbOS) if(_.I(o)){
			if(set.Lock(o)&&o.P){
				if(!o.CbOSMask.R.test(o.value)){
					//alert(o.value+"\n"+o.P.v+"\n"+o.value.charAt(get.Position(o).p-1))
					if(o.P.t.length==1)
					{
						//alert(o.P.t)
					}
					if(o.value.length>=o.P.v.length){
						o.value=o.P.v
						set.Position(o,1,_.P(["p",o.P.p-1],get.Position(o)))
					}else{
						P=i=get.Position(o).p;
						while(o.value.length != o.maxLength){
							o.value=o.value.substring(0,i)+(o.CbOSMask.L[i]?o.CbOSMask.L[i].GV(0):_.N(o.CbOSMask.L[i]," "))+o.value.substring(i++,o.value.length);
							run.Execute(o)
						}
						o.L--
						this.KUp(e,o)
						set.Position(o,1,_.P(["p",P],get.Position(o)))
						return
					}
				}else if(e){
					P=get.Position(o);
					switch(e.keyCode){
						case 37:
							if(!e.shiftKey){P.p=Math.max(0,P.p-1);set.Position(o,1,P)};
							break;
						case 39:
							if(!e.shiftKey)
								set.Position(o)
							break;
						default:
							if(!P.t)
								set.Position(o)
					}
				}
			}
			o.L--
			this.BGColor(o)
		}
	},
	KDown:function(e,o,i){
		o.i=null;
		with(CbOS) if(_.I(o)){
			i=e.keyCode;
			if(set.Lock(o)&&(!e.repeat||is.In(i,[37,39]))){
				if(is.In(i,[38,40])){
					del(o,"P")
					_.B(e)
				}else if(o.CbOSMask.R.test(o.value)){
					o.P=_.P(["v",o.value],get.Position(o));
					if(i==8&&o.P.p>1){
						o.P.p-=2
						while(o.P.p>0&&o.CbOSMask.L[o.P.p]&&o.CbOSMask.L[o.P.p].s)
							o.P.p--
						set.Position(o,0,o.P)
						o.P=_.P(["v",o.value],get.Position(o));
					}
				}
			}else if(i!=9)_.B(e)
			o.L--
		}
	},
	BGColor:function(o){
		with(CbOS)
			if(o.CbOSValue!=(o.CbOSValue=get.Value(o))){
				if(o.type=="textarea"&&(m=o.getAttribute("maxlength"))&&o.value.length>m*1)
					o.value=o.value.substring(0,m)
				else
					run.Execute(o.type=="hidden"?o:set.EditMode(o))
			}
	}
}
CbOS.cookie={
	get:function(n,a,i,k){a=d.cookie.split("; "); for(i=0;i<a.length;i++){k=a[i].split("="); if(n==k[0]) return unescape(k[1])}},
	set:function(n,v,p,m,s){d.cookie=n+"="+escape(v)+"; expires="+escape(new Date()+14)+(p?"; path="+p:"")+(m?"; domain="+m:"")+(s?"; secure":"")},
	del:function(n,p,m){if(CbOS.cookie.get(n)) d.cookie=n+"="+(p?"; path="+p:"")+(m?"; domain="+m:"")+"; expires="+escape(new Date()-10)}
};
CbOS.tbl={
	Caption:function(D,O,o,i,k,m,j){
		with(CbOS){
			O=O.toArray();
			k=0;
			m=[];
			for(j=0;j<O.length;j++)
				if ((o = _.F(O[j],D)) && (o=get.node.First(o,"DIV")))
					while(o)
					{
						if(is.Cls(i=get.node.First(o,"DIV"),["","R","D","Btn","RBtn","DBtn"].Prefix("tblCCapt")))
						{
							m.push(i);
							k=Math.max(k,_.W(i))
						};
						o=get.node.Next(o,"DIV")
					};
			for(i=0;i<m.length;i++) _.S(m[i],_.w,k)
		}
	}
}
CbOS.msb={
	State:function(o,n,b,O,i,m){
		with(CbOS){
			O=get.Win(o).CbOS.TEMP[n];
			o=_.F(n,o);
			if(!O.A.disabled==!b){
				O.A.disabled=!b;
				m=o.getElementsByTagName('INPUT')
				for(i=0;i<m.length;i++)m[i].disabled=!b;
				m=[];
				for(i in O.M) m[m.length]=O.M[i];
				o.lastChild.className="msb"+b*1;
				o.lastChild.lastChild.innerHTML=msb.Item(msb.Sort(O,m),O,b*1)
				msb.Ready(O,o);
			}
		}
	},
	_QSearch:function(a,t,p,i,v){
		if(a.i!=a.o.i||!a.o.value) return true;
		if((t.k=(t.k||0)+1)==20) with(CbOS){
			v=a.o.value.toLowerCase();
			a.o.value="";
			p=get.Win(a.o).CbOS.TEMP[a.o.parentNode.id];
			while(v){
				for(i=p.Sel;i;i=i.nextSibling)
					if(p.M[i.id].GV(0).toLowerCase().indexOf(v)==0){
						p.Sel=msb.Select(msb.Restore(i,p),p,1);
						msb.Value(a.o.parentNode);
						return true
					};
				for(i=p.Sel.parentNode.firstChild;i!=p.Sel;i=i.nextSibling)
					if(p.M[i.id].GV(0).toLowerCase().indexOf(v)==0){
						p.Sel=msb.Select(msb.Restore(i,p),p,1);
						msb.Value(a.o.parentNode);
						return true
					};
				v=v.substring(0,v.length-1);
			};
			return true
		}
	},
	QSearch:function(o,e,p){
		with(CbOS) if((p=get.Win(o).CbOS.TEMP[o.parentNode.id])&&!p.A.readonly&&(p.Sel||(p.Sel=o.nextSibling.lastChild.firstChild))){
			if(e.keyCode.Between(33,40)) o.value="";
			if(is.ie){
				o.blur();
				o.readOnly=true;
				Fcs(o)
			};
			_.Q(msb._QSearch,{o:o,i:o.i=_.K()},5)
		}
	},
	Create:function(D,N,W,H,a,s,A,S,t,z,E,m,o){
		with(CbOS){
			A=_.P(A);
			t=A.id=_.K(A.id);
			o=get.Win(D);
			A=o.CbOS.TEMP[t]={A:A,S:s};
			S=msb.Item(a,A,E=A.A.disabled?0:1);
			z=E?'':" disabled=disabled";
			m=_.N(A.A.EditMode,true)?"":" EditMode=false";
			m='<div'+m+' onkeyup="top.CbOS.SM.on.DeSelect(this,1)" onmouseup="with(top.CbOS){Fcs(this.firstChild);SM.on.DeSelect(this,1)}"'+_.A("id",t)+' class=msb style="width:'+(W-2)+'px" onkeydown="top.CbOS.msb.KDown(event,this)"><input onfocus="top.CbOS.msb.onFocus(this)" '+m+' onkeyup="top.CbOS.msb.QSearch(this,event)" '+IE(' onkeydown="this.blur(); this.readOnly=event.altKey; top.CbOS.Fcs(this)" readonly')+z+' onblur="top.CbOS.msb.onBlur(this)" type=text hidefocus=true class=empty><div class=msb'+E+' style="width:'+(W-4)+'px; height:'+(H-4)+'px">'+(A.P?'<INPUT'+m+' type=hidden'+_.A("execute",A.A.execute,1)+'>':'')+'<INPUT'+m+' type=hidden'+(A.P?'':_.A("execute",A.A.execute,1))+z+_.A("name",N)+_.A("value",A.P||A.S)+'><div class=msb2>'+S+'</div></div></div>'
			del(A,["P","S"]);
			return m
		}
	},
	Item:function(b,A,E,a,k,s,S,i){
		with(CbOS){
			S="";
			A.M={};
			A.V={};
			if(A.A.SendAll) A.P=[];
			for(i=0;b&&i<b.length;i++){
				A.M[t=_.K()]=a=b[i];
				if(A.A.SendAll)
					A.P[A.P.length]=a.GV(1);
				if((k=is.In(a.GV(1),A.S))){
					if(!_.D(A.Scroll))A.Scroll=i;
					A.V[t]=a
				};
				s=a.a&&a[2];
				S+="<div id="+t+(k?' style="padding:'+(s?0:'5px 4px 4px 25')+'px; border-width:1px; background:'+get.iURL(get.Root(d)+"images/msb/"+(s?"sel":"tick")+E+".gif")+' 0px 0px '+_.G(d.body,_.k[3])+' no-repeat;" ':"")+" class=msb"+(s?'Adv><div style="background-image:'+get.iURL(get.Root(d)+s+E+'.gif')+'">':"Def>")+ (a.GV(0).length?set.HTMLEncode(a.GV(0)):_.n)+(s?"</div></div>":"</div>")
			};
			return S
		}
	},
	Sort:function(o,a,i,k,b){
		if(o.A.sorted) do{
			k=false;
			for(i=1;i<a.length;i++)
				if(String(a[i].GV(0)).toLowerCase()<String(a[i-1].GV(0)).toLowerCase()){
					k=true;
					b=a[i];
					a[i]=a[i-1];
					a[i-1]=b
				}
		}while(k);
		return a
	},
	Move:function(a,b,W,m,s,A,B,I,U,i,o,D,j,k){
		with(CbOS)if((A=_.F(a,W))&&(B=_.F(b,W))){
			I=W.CbOS.TEMP[a];
			U=W.CbOS.TEMP[b];
			o=[];
			D=[];
			k=0;
			for(i=A.lastChild.lastChild.firstChild;i;i=i.nextSibling){
				j=I.M[i.id];
				if(m||I.V[i.id]){
					if(I.A.locked&&j.a&&j[2]&&is.In(j[2],I.A.locked)){
						k++;
						D[D.length]=j;
					}else
						o[o.length]=j
				}else
					D[D.length]=j;
			};
			if(o.length){
				for(i=B.lastChild.lastChild.firstChild;i;i=i.nextSibling)o.unshift(U.M[i.id]);
				I.S=A.lastChild.firstChild.value.toArray();
				A.lastChild.lastChild.innerHTML=msb.Item(msb.Sort(I,D),I,I.A.disabled?0:1);
				msb.Ready(I,A);
				U.S=B.lastChild.firstChild.value.toArray();
				B.lastChild.lastChild.innerHTML=msb.Item(msb.Sort(U,o),U,U.A.disabled?0:1);
				msb.Ready(U,B)
				btn.State(W,s,true)
				set.EditedMode(B)
			};
			if(k)
				MsgBox.Show(w,(k>1?"Some i":"I")+"tem"+(k>1?"s are":" is")+" locked and cannot be removed",null,'Ok','Warning')
		}
	},
	Ready:function(U,B){
		with(CbOS){
			del(U,["P","S","Sel"]);
			U.C=true;
			msb.Value(B);
			msb.SendAll(B);
			if(_.S(B.lastChild.lastChild,_.w).firstChild) _.Q(msb._Resize,B,5);
			run.Execute(B.lastChild.firstChild)
		}
	},
	onFocus:function(o){
		with(CbOS) del(_.S(o.parentNode,_.k,_.G(get.Doc(o).body,_.k[1])),"i")
	},
	_onBlur:function(a,t){
		if(a.i==a.o.i) CbOS._.S(a.o,CbOS._.k);
		return true
	},
	onBlur:function(o){
		with(CbOS){
			o.readOnly=is.ie;
			o=o.parentNode;
			_.Q(msb._onBlur,{o:o,i:o.i=_.K()},5)
		}
	},
	Restore:function(o,p,m,n,i){
		with(CbOS){
			if(n){
				i=_.F(n,o);
				if(!m&&o==i) return
				_.S(_.S(_.S(_.S(_.S(i,"padding",is.Cls(i,"msbDef")?"6px 5px 5px 26px":1),"border-width",0),"background-position","1px 1px"),_.r,"transparent"),_.b,"none");
				del(p.V,n)
				p.C=true
			}else for(n in p.V)
				msb.Restore(o,p,m,n);
			return o
		}
	},
	Select:function(o,p,i){
		with(CbOS){
			if(!_.D(p.V[o.id])){
				p.C=true
				p.V[o.id]=p.M[o.id];
				_.S(_.S(_.S(_.S(_.S(o,"padding",is.Cls(o,"msbDef")?"5px 4px 4px 25px":0),"border-width",1),"background-position","0px 0px"),_.r,_.G(get.Doc(o).body,_.k[3])),_.b,get.iURL(get.Root(d)+"images/msb/"+(is.Cls(o,"msbDef")?"tick":"sel")+"1.gif"));
			};
			if(i){
				o.tabIndex=0;
				Fcs(o)
			};
			return o
		}
	},
	_Resize:function(o,t){if((t.k=(t.k||0)+1)==3){CbOS.msb.Resize(o,o.id);return true}},
	Resize:function(D,n,i,o,A){
		with(CbOS) if((i=_.W(o=_.F(n,D).lastChild.lastChild))){
			A=get.Win(_.S(o,_.w,i)).CbOS.TEMP[n];
			if(_.D(A.Scroll)){
				A.Sel=o.childNodes[A.Scroll];
				o.parentNode.scrollTop=A.Sel.offsetTop+1;
				del(A,"Scroll")
			};
		}
	},
	KDown:function(e,o,i,p,k){
		with(CbOS) if(is.In(i=e.keyCode,[33,34,35,36,38,40])&&_.I(o.firstChild)){
			p=get.Win(o).CbOS.TEMP[o.id];
			if(!p.A.readonly&&(p.Sel||(p.Sel=o.lastChild.lastChild.firstChild))){
				k=_.F(p.Sel,o)
				if(!_.D(p.V[k.id]))
					msb.Select(k,p,1);
				else{
					if(p.A.multiple&&e.shiftKey) k=p.U||k;
					k=i==35?k.parentNode.lastChild:(i==36?k.parentNode.firstChild:get.node.Sibling(k,i==38?-1:(i==40?1:(i==34?6:-6))));
					if(p.A.multiple&&e.shiftKey){
						msb.MSelect(p,k);
						p.U=k
					}else{
						p.Sel=msb.Select(msb.Restore(k,p,0),p,1);
						del(p,"U")
					}
				}
				msb.Value(o)
			}
			_.B(e)
		}
	},
	Value:function(t,p,v){
		with(CbOS){
			p=get.Win(t).CbOS.TEMP[t.id];
			if(p.C){
				set.EditMode(t);
				v=[];
				for(n in p.V) v.push(p.V[n].GV(1));
				set.Value(t.lastChild.firstChild,v);
				del(p,"C")
			}
		}
	},
	Click:function(e,o,t,p){
		with(CbOS){
			if(set.Lock(t=_.T(o,"DIV","msb"))&&_.I(h=t.firstChild)){
				p=get.Win(t).CbOS.TEMP[t.id];
				if(p.A.readonly)
					Fcs(h);
				else if(p.Sel||(p.Sel=t.lastChild.lastChild.firstChild)){
					del(p,"U");
					if(p.A.multiple&&e.shiftKey)
						msb.MSelect(p,p.U=o);
					else if(p.A.multiple&&e.ctrlKey){
						if(_.D(p.V[o.id]))
							p.Sel=msb.Restore(o,p,1,o.id);
						else
							p.Sel=msb.Select(o,p,1);
					}else
						p.Sel=msb.Select(msb.Restore(o,p),p,1);
					msb.Value(t)
				}
			};
			t.L--
		}
	},
	MSelect:function(p,o,s,i,j){
		with(CbOS){
			msb.Restore(o,p,1);
			if((s=_.F(p.Sel,o))!=o){
				j=0
				for(i=o.parentNode.firstChild;i;i=i.nextSibling){
					if(i==s||i==o) j++;
					if(j) msb.Select(i,p);
					if(j==2) break;
				}
			}
			msb.Select(o,p,1);
		}
	},
	Focus:function(o,t){
		with(CbOS)
			if(_.I(t=_.T(o,"DIV","msb").firstChild)){
				Fcs(o);
				if(o.parentNode.firstChild==o) o.parentNode.parentNode.scrollTop=0;
				set.Focus(t);
				o.tabIndex=-1
			}
	},
	Del:function(o,D,i,j){
		with(CbOS){
			o=_.F(o,D);
			del(D=get.Win(o).CbOS.TEMP[o.id],"Sel");
			for(i in D.V){
				del(D.V,i);
				del(D.M,i);
				j=_.F(i,o);
				rem(j)
			};
			msb.Ready(D,o)
		}
	},
	SendAll:function(o,t,s){
		with(CbOS){
			t=get.Win(o).CbOS.TEMP[o.id];
			if(t.A.SendAll){
				s="";
				for(i=o.lastChild.lastChild.firstChild;i;i=i.nextSibling) s+=(s?",":"")+t.M[i.id].GV(1);
				o.lastChild.lastChild.previousSibling.value=s;
			}
		}
	}
};

(function(t,o){
	t.onload=(w.XSLTProcessor&&(o=new XSLTProcessor())&&o.importStylesheet)?function(n,p,r){
		with(CbOS.Tree)with(Trash[n])if(i++){
			p=new XSLTProcessor();
			p.importStylesheet(s);
			r=new XMLSerializer();
			(r=r.serializeToString(p.transformToDocument(x)))==''?jsTrans(n):Update(n,r)
		}
	}:((w.ActiveXObject)?function(n,k){with(CbOS.Tree)with((k=Trash[n]))
		if(k.x&&k.s&&(x.readyState.s||x.readyState==4)&&s.readyState==4)
			Update(n,x.transformNode(s))
	}:t.jsTrans)
})(CbOS.Tree={
	Trash:{},
	Create:function(o){with(CbOS) Tree.Load(_.E("DIV",o,"tree"))},
	jsTrans:function(n,k,i){
		with(CbOS)with(Tree)with((k=Trash[n]))
			if(k.x&&((_.D(x.readyState)&&(x.readyState.s||x.readyState==4))||!_.D(x.readyState))){
				if(k.o.previousSibling) k=x.firstChild;
				else k=x.documentElement;
				i=Items(k);
				if(i){
					i=Source(i,k.getAttribute("expanded"));
					Trash[n].o.parentNode.nextSibling.value=i.a;
					Update(n,i.s)
				}
			}
	},
	Source:function(o,e,p,i,c,s,b,a){
		s=a='';
		for(i=0;i<o.length;i++){
			c=this.Items(o[i]);
			s+="<div class=tree"+(i<o.length-1?"":"L")+"Node"+(b=(o[i].getAttribute('xmlTree')&&1)||(c&&(o[i].getAttribute('expanded')||e))||2)+">"
			if(c){
				c=this.Source(c,e,o[i]);
				if(b=="0"){
					if(a) a+=",";
					a+="'"+o[i].getAttribute("pk")+"'";
					if(c.a) a+=",["+c.a+"]"
				};
				s+=c.s
			}else
				s+=this.Attr(o[i]);
			s+="</div>"
		};
		if(p) s=this.Attr(p,a,e)+s;
		return {s:'<div class=treeVLine>'+s+"</div>",a:a}
	},
	Items:function(o,a,i){
		for(o=o.firstChild;o;o=o.nextSibling){
			if(o.nodeName=="ITEM"){
				if(!a) a=new Array();
				a[a.length]=o
			}
		};
		return a
	},
	Attr:function(o,a,e,t){t=o.getAttribute('xmlTree'); with(CbOS) return "<div class=tree_"+((t&&1)||o.getAttribute('expanded')||e||"")+"><a href='javascript:void(0)'"+_.A("title",o.getAttribute("title"))+_.A("pk",o.getAttribute("pk"))+_.A("CbOSsel",a||null)+_.A("js",o.getAttribute("js"))+_.A("key",o.getAttribute("key"))+_.A("xmlTree",t)+">"+set.HTMLEncode(o.getAttribute("name"))+"</a></div>"},
	Click:function(e,o,i){
		with(CbOS)with(Tree) if((i=_.O(e))&&i!=o){
			if(Test(e,i,"_Root",[0,8,4,12]))
				Root(i);
			else if(Test(e,i,"_Item",[0,14,2,15]))
				Item(e,_.C(i,'A'));
			else if(Test(e,i,"_Group",[0,14,2,15]))
				Item(e,_.C(i,'A'))
			_.B(e)
		}
	},
	Focus:function(e,o,t){
		with(CbOS){
			t=Tree.Tree(o);
			if((e=Tree.Search(t,t.previousSibling.value))&&e!=o){
				set.bgImage([o.parentNode,(t=Tree.Group(o.parentNode,_.T))&&(t=_.C(t,"A"))!=o&&t.parentNode],0);
				_.S(_.S(o,_.k,'#dcdcdc'),_.r,'#dcdcdc');
			}
	}},
	Blur:function(e,o,i){with(CbOS)with(Tree){
		e=Tree(o);
		if((e=Search(e,e.previousSibling.value))&&e!=o){
			_.S(o,[_.k,_.r])
			if((e=Group(e.parentNode,_.T)))
				e=_.C(e,"A");
			if(e!=o)
				set.bgImage(o.parentNode,1);
			if((i=Group(o.parentNode,_.T))&&(i=_.C(i,"A"))!=e&&i!=o)
				set.bgImage(i.parentNode,1);
		}
	}},
	Item:function(e,o,j,k,x){
		with(CbOS)with(Tree){
			Fcs(o);
			if((j=o.getAttribute("js"))){
			}
			if((k=o.getAttribute("pk"))){
			}
			if((x=o.getAttribute("xmlTree"))){
				if(w.DebugMode)
					alert('Downloading tree...')
			}
			if(j||k||x)
				Active(o);
			else if(Test(e,o.parentNode,"_Group")){ Root(Group(o,_.T)); }
		}
	},
	Root:function(o,i,k,j,l,e){
		with(CbOS)with(Tree)if(o){
			l=o.className;
			o.className=l.substring(0,l.length-1)+CbOS._.N(i,(!(l.charAt(l.length-1)*1))*1);
			o=o.firstChild.firstChild;
			if(!o.className){
				return
			}
			l=o.className.toArray("_");
			o.className=l[0]+"_"+(j=CbOS._.N(i,(!(l[1].charAt(0)*1))*1))+l[1].substring(1,l[1].length);
			if(!_.D(i)||k){
				set.bgImage(_.C(o,"A").parentNode,""+j+0);
				Fcs(_.C(o,"A"))
			};
			while((e=Group(o,_.T))) o=e;
			e=UpdPath(o);
			if(e) _.C(o,"A").setAttribute('CbOSsel',e); else _.C(o,"A").removeAttribute('CbOSsel');
			OpItems(o)
		}
	},
	UpdPath:function(o,l,e,s,a){
		with(CbOS)with(Tree){
			s='';
			l=o.className;
			if(!(l.charAt(l.length-1)*1)) for(e=Group(o,_.C);e;e=e.nextSibling){
				l=e.className;
				if(l.charAt(l.length-1)*1){_.C(e,"A").removeAttribute('CbOSsel'); continue};
				if(s) s+=",";
				s+="'"+_.C(e,"A").getAttribute('pk')+"'";
				if((a=UpdPath(e))){
					_.C(e,"A").setAttribute('CbOSsel',a);
					s+=",["+a+"]"
				}else _.C(e,"A").removeAttribute('CbOSsel')
			};
			return s
		}
	},
	_Update:function(a,t,o){
		if((t.k=(t.k||0)+1)==20) with(CbOS.Tree){
			o=Tree(a);
			if(!o.previousSibling.CbOSDone){
				m=o.getElementsByTagName("A");
				for(i=0;i<m.length;i++){
					if(m[i].getAttribute('pk')==o.previousSibling.value){
						Expand(m[i]);
						Active(m[i]);
						break
					}
				}
			};
			return true
		}
	},
	Update:function(n,q){
		with(CbOS)with(this.Trash[n]){
			o.innerHTML=q;
			_.Q(Tree._Update,o,5);
			if(x==o.previousSibling)
				o.parentNode.removeChild(x)
			del(this.Trash,n)
		}
	},
	OpItems:function(o,e,s,a,c){
		with(CbOS)with(Tree){
			o=Tree(o);
			s='';
			for(e=Node(o,_.C);e;e=e.nextSibling){
				c=e.className;
				if(c.charAt(c.length-1)*1) continue;
				a=_.C(e,"A");
				if(s) s+=",";
				s+="'"+a.getAttribute("pk")+"'";
				if((c=a.getAttribute("CbOSsel"))) s+=",["+c+"]"
			};
			o.nextSibling.value=s
		}
	},
	Tree:function(o,j){o=o.firstChild; do j=o; while((o=CbOS._.T(j,"DIV","tree")));return j.parentNode},
	Expand:function(o){with(CbOS) while(o) Tree.Root(o=Tree.Group(o,_.T),0)},
	Search:function(o,s,i){
		with(CbOS){
			if(s){
				s=s.toArray(".")
				for(i=0;i<s.length;i++){
					o=Tree.Node(o,_.C);
					while(o&&_.C(o,'A').getAttribute('pk')!=s[i])
						o=o.nextSibling;
					if(!o) return
				};
			}
			return _.C(o,'A')
		}
	},
	Active:function(o,T,t,h,i){
		with(CbOS)if(!o.getAttribute("nopage"))with(Tree){
			T=Tree(o);
			h=T.previousSibling;
			h.CbOSDone=true;
			_.S((t=Search(T,h.value)),[_.k,_.r]);
			if(t)
				set.bgImage([t.parentNode,(i=Group(t.parentNode,_.T))&&(i=_.C(i,"A"))!=t&&i.parentNode],1);

			set.bgImage([o.parentNode,(i=Group(o.parentNode,_.T))&&(i=_.C(i,"A"))!=o&&i.parentNode],0);
			_.S(_.S(o,_.k,'#c7cedf'),_.r,'#c7cedf');
			exchange.Post("ID="+o.getAttribute("pk")+"&CbOSData="+escape(exchange.Descr(wd.win[get.Win(h).name].A)),_.C(T,"DIV","treeVLine").getAttribute("url"),null,o);
			t="";
			while((o=Node(o,_.T)))
				t=_.C(o,"A").getAttribute("pk")+(t?".":"")+t;
			h.value=t;
		}
	},
	Test:function(e,o,n,a){return this[n].test(o.className)&&(!a||CbOS.is.InXY(e.offsetX||e.layerX||0,e.offsetY||e.layerY||0,a))},
	_Group:new RegExp("^tree_[0,1]{1}[a-zA-Z]*$"),
	_Item:new RegExp("^tree_{1}[a-zA-Z]*$"),
	_Root:new RegExp("^tree{1}L?Node{1}[0,1]{1}$"),

	Group:function(o,f){return f(o,"DIV",["LNode0","LNode1","Node0","Node1"].Prefix("tree"))},
	Node:function(o,f){return f(o,"DIV",["LNode0","LNode1","LNode2","Node0","Node1","Node2",].Prefix("tree"))},
	KDown:function(e,t,o,i){
		with(CbOS)with(Tree){
			o=_.O(e);
			if(!is.Tag(o,"A")) o=_.T(o,"A");
			if(o&&is.In(i=e.keyCode,[32,33,34,35,36,38,40,37,39,109,107])){
				if(is.In(i,[107,109,32])&&Test(e,o.parentNode,"_Group")){
					t=(o=Node(o,_.T)).className;
					t=t.charAt(t.length-1)*1;
					if(i==32||(t&&i==107)||(!t&&i==109))
						Root(o,(!t)*1,1)
				}else if(i==0){/*pdown,pup,home,end*/
				}else{
					o=Node(o,_.T);
					o=(i==38?Up(e,o):(i==40?Down(e,o):(i==37?Group(o,_.T)||o.parentNode:(i==39?Right(e,o):o))));
					if(o) Fcs(_.C(o,"A"))
				};
				_.B(e)
			};

		}
	},
	Right:function(e,o,i){
		with(CbOS)with(Tree)if(Test(e,o,"_Root")){
			c=o.className;
			if((i=c.charAt(c.length-1))=='1')Root(o,0);
			if(i=='0'||i=='1')return Node(o,_.C)
		};
		return o.nextSibling
	},
	Up:function(e,o,c){
		with(CbOS)with(Tree)
			if((o=o.previousSibling)){
				c=o.className;
				if(Test(e,o,"_Root")&&c.charAt(c.length-1)=='0'){
					while(e=Node(o,_.C)){
						o=e;
						while(e=o.nextSibling)o=e;
						c=o.className;
						if(Test(e,o,"_Root")&&c.charAt(c.length-1)=='1') return o
					}
				}
				return o
			}
	},
	Down:function(e,o,c){
		with(CbOS)with(Tree){
			c=o.className;
			if(Test(e,o,"_Root")&&c.charAt(c.length-1)=='0') return Node(o,_.C);
			if(!(e=o.nextSibling))
				while((o=Group(o,_.T))) if((o.nextSibling)) return o.nextSibling;
			return e
		}
	},
	Load:function(o,n){
		with(CbOS)with(Tree){
			if(is.Cls(o,"tree"))
				_.M(_.M(o,_.y,'top.CbOS.Tree.Click(event,this)'),"onkeydown",'top.CbOS.Tree.KDown(event,this)');
			else if(w.DebugMode)
				alert("create loading...")
			n=_.K();
			n=Trash[n]={n:n,i:0,o:o}
			if((n.x=o.previousSibling)){
				n.i++;
				if(onload==jsTrans) onload(n.n)
			}else Download(n,o.parentNode.getAttribute("xmlTree"));
			if(onload!=jsTrans) Download(n)
		}
	},
	Download:(w.ActiveXObject?function(o,u,k){
			k=o[u?"x":"s"]= new ActiveXObject("Microsoft.XMLDOM");
			k.async=true;
			k.onreadystatechange=Function("CbOS.Tree.onload('"+o.n+"')");
			k.load(CbOS.get.Base(CbOS.jsROOT+"xsl/"+(u||"tree.xsl")));
			return o
		}:function(o,u,k){
			k=o[u?"x":"s"]=d.implementation.createDocument("",u?"x":"s",null);
			eval("k.addEventListener('load',function(){CbOS.Tree.onload('"+o.n+"')},false)");
			k.load(CbOS.get.Base(CbOS.jsROOT+"xsl/"+(u||"tree.xsl")));
			return o
		}
	)
});
if((function(u,i,n,q){
		with(CbOS){
			u=u.toLowerCase().toArray("?")
			if(i||(n=u[0].indexOf(get.Base())!=0)||(q=(u[0].substring(u[0].length-5)!=".aspx"))){
				location.replace((n?get.Base("default.aspx"):(u[0]+(q?(u[0].charAt(u[0].length-1)!="/"?"/":"")+"default.aspx":"")))+(u[1]?"?"+u[1]:""));
				return is.support=false
			}
			if(is.support) create.CSS(d); else alert('Please use IE5.5+, Netscape 7+, Mozilla 1+, Firefox 1+ or Opera 9+');
			return true
		}
	})(location.href,w.top!=w)) CbOS.SM.set.Init(w);
onbeforeunload=function(){
	w.CbOSStop=null;
	for(i=d.body.firstChild;i;i=i.nextSibling)
		if(CbOS.is.Tag(i,"DIV"))
			CbOS.rem(i)
	onresize=onbeforeunload=onload=null
};
CbOS.MaskInput = {
	masks:
	{
		phoneNum: 	
		{
			rExp: new RegExp().compile(/^((\(){0,1}\d{0,3}(\)){0,1}){0,1}(-| ){0,1}\d{0,3}(-| ){0,1}\d{0,4}$/),
			doneExp: new RegExp().compile(/^((((\(\d{3}\))|(\d{3})){0,1}(-| ){0,1}\d{3})(-| ){0,1}\d{4}|(\d{7})|(\d{10}))$/),
			ex: "4567890|(123)4567890|1234567890"
		},
		intNumber:	
		{
			rExp: new RegExp().compile(/^(\+|-){0,1}\d{0,10}$/),
			doneExp: new RegExp().compile(/^(\+|-){0,1}\d{0,10}$/),
			ex: "-1234567890"
		},	
		currency:
		{
			rExp: new RegExp().compile(/^(\+|-){0,1}((\d{0,10})|(\d{0,9}\.\d{0,1})|(\d{0,8}\.\d{1,2}))$/),
			doneExp: new RegExp().compile(/^(\+|-){0,1}((\d{0,10})|(\d{0,9}\.\d{1})|(\d{0,8}\.\d{1,2}))$/), 
			ex: "-12345678.90" 
		},
		floatNumber:
		{
			rExp: new RegExp().compile(/^(\+|-){0,1}((\d{0,10}\.)|(\d{0,9}\.\d{0,1})|(\d{0,8}\.\d{0,2})|(\d{0,7}\.\d{0,3})|(\d{0,6}\.\d{0,4})|(\d{0,5}\.\d{0,5})|(\d{0,4}\.\d{0,6})|(\d{0,3}\.\d{0,7})|(\d{0,2}\.\d{0,8})|(\d{0,1}\.\d{0,9})|(\.\d{0,10})|(\d{0,10}))$/), 
			doneExp: new RegExp().compile(/^(\+|-){0,1}((\d{0,10}\.)|(\d{0,9}\.\d{0,1})|(\d{0,8}\.\d{0,2})|(\d{0,7}\.\d{0,3})|(\d{0,6}\.\d{0,4})|(\d{0,5}\.\d{0,5})|(\d{0,4}\.\d{0,6})|(\d{0,3}\.\d{0,7})|(\d{0,2}\.\d{0,8})|(\d{0,1}\.\d{0,9})|(\.\d{0,10})|(\d{0,10}))$/), 
			ex: "-12345678.90" 
		},
		timeString:	
		{
			rExp: new RegExp().compile(/^((((([01]{0,1}[0-9])|(2[0-3])){0,1})(:|(:[012345]{0,1}[0-9])){0,1}) {0,1}|(((0|(0{0,1}[1-9])|(1[012])){0,1})(:|(:([012345]{0,1}[0-9]){0,1} {0,1}([ap]|[ap]m|m){0,1})){0,1}))$/i), 
			doneExp: new RegExp().compile(/^(((([01]{0,1}[0-9])|(2[0-3])):[012345]{0,1}[0-9] {0,1})|(((0{0,1}[1-9])|(1[012])):[012345]{0,1}[0-9] {0,1}([ap]m){0,1}))$/i),
			ex: "23:59 | 11:59 PM"
		},		
		dateString: 
		{
			rExp: new RegExp().compile(/^((0{0,1}[1-9])|([12]{0,1}[0-9])|(3[01])){0,1}(\/|\/(0{0,1}|(0{0,1}[1-9])|(1[012]))((\/)|(\/[0-9]{0,4})){0,1}){0,1}$/), 
			doneExp: new RegExp().compile(/^((0{0,1}[1-9])|([12][0-9])|(3[01]))\/((0{0,1}[1-9])|(1[012]))\/(([0-9]{1,2})|([0-9]{4}))$/), 
			ex: "DD/MM/(YYYY|YY)"
		}	
	},
	GetCaretPos: function (aObj)
	{		
		if (aObj.selectionStart)
			return aObj.selectionStart;
		if (document.selection)
		{
			var doc = CbOS.get.Doc(aObj);
			var t = false;
			var oldElem = doc.activeElement;
			if (oldElem != aObj)
			{
				aObj.focus();
				t = true;
			};
			var sel = doc.selection.createRange();
			if (aObj.type == 'textarea')
			{
				var clone = sel.duplicate();
				sel.collapse(true);
				clone.moveToElementText(aObj);
				clone.setEndPoint('EndToEnd', sel);
				if (t)
					oldElem.focus();
				return clone.text.length;
			}
			else 
			{
				sel.collapse(true);
				sel.moveStart("textedit", -1);
				if (t)
					oldElem.focus();
				return sel.text.length;
			}
		};
		return 0;
	},
	GetSelectedText: function(aObj)
	{
		if(aObj.selectionStart)
			return aObj.value.substring(aObj.selectionStart, aObj.selectionEnd);
		if (document.selection)
			return CbOS.get.Doc(aObj).selection.createRange().text;
		return "";
	},
	InsertString: function(aString, aChar, aPos)
	{
		return aString.substr(0, aPos) + aChar + aString.substr(aPos);
	},
	DeleteString: function(aString, aPos, aDirection, aSelLen)
	{
		if (aSelLen == 0)
			aSelLen = 1;
		return  aDirection > 0
			?
			aString.substr(0, aPos) + aString.substr(aPos + aSelLen)/*delete*/
			:
			(aString.substr(0, aPos - aSelLen) + aString.substr(aPos)); /*backspace*/
	},
	AllowType: function (aObj, aEvent)
	{
		var selLen = this.GetSelectedText(aObj).length;
		var caretPos = this.GetCaretPos(aObj);
		if (aEvent.preventDefault) 
		{
			if ( aEvent.charCode == 0 && !(aEvent.keyCode == 46 || aEvent.keyCode == 8))
				return;			
			if (aEvent.charCode == 0 && aEvent.keyCode == 46 && aEvent.type == "keypress" ) 
				return;
		}
		var newValue, keyCode = aEvent.charCode || aEvent.keyCode;
		if (keyCode == 8)
			newValue = this.DeleteString(aObj.value, caretPos, -1, selLen)
		else if (keyCode == 46 && aEvent.type == "keydown")
			newValue = this.DeleteString(aObj.value, caretPos, 1, selLen)
		else
		{
			newValue = aObj.value;
			if (selLen > 0)
				newValue = this.DeleteString(newValue, caretPos, 1, selLen);
			newValue = this.InsertString(newValue, String.fromCharCode(keyCode), caretPos);
		};
		var rExp = this.masks[aObj.getAttribute("maskId")] ? this.masks[aObj.getAttribute("maskId")].rExp : null;
		if  (newValue.length != 0 && !this.TestData(aObj, newValue, rExp))
			CbOS.set.CBubble(aEvent);
	},
	HandleBS: function(aEvent)
	{
		if (aEvent.keyCode == 8 || aEvent.keyCode == 46)
			this.AllowType(aEvent.srcElement || aEvent.target, aEvent);
	},
	OldCBValue: "",
	AllowPaste: function(aObj, aEvent)
	{
		var wn = CbOS.get.Win(aObj);
		var cbValue = this.OldCBValue = wn.clipboardData.getData('Text');
		var objValue = aObj.value, selLen = this.GetSelectedText(aObj).length;
		var caretPos = this.GetCaretPos(aObj);
		var rExp = this.masks[aObj.getAttribute("maskId")] ? this.masks[aObj.getAttribute("maskId")].rExp : null;
		if (selLen > 0)
			objValue = this.DeleteString(objValue, caretPos, 1, selLen);
		for (var i = aObj.getAttribute("maxLen") || Math.min(cbValue.length, 250); i >= 0; --i)
		{
			cbValue = cbValue.substr(0, i);
			newValue = this.InsertString(objValue, cbValue, caretPos);
			if (this.TestData(aObj, newValue, rExp))
				break;
		};
		if (cbValue.length == 0)
		{
			aEvent.returnValue = false;
			wn.clipboardData.setData('Text', this.OldCBValue);
		}
		else
		{
			wn.clipboardData.setData('Text', cbValue);
			wn.setTimeout("top.CbOS.MaskInput.RestoreCBValue(w)", 100);
		};
	},
	AllowDrop: function(aObj, aEvent)
	{
		var cbValue = aEvent.dataTransfer.getData('Text');
		var objValue = aObj.value, caretPos = this.GetCaretPos(aObj);
		var rExp = (this.masks[aObj.getAttribute("maskId")] ? this.masks[aObj.getAttribute("maskId")].rExp : null);
		for (var i = aObj.getAttribute("maxLen") || Math.min(cbValue.length, 250); i >= 0; --i)
		{
			cbValue = cbValue.substr(0, i);
			newValue = this.InsertString(objValue, cbValue, caretPos);
			if (this.TestData(aObj, newValue, rExp))
				break;
		};
		aEvent.dataTransfer.setData('Text', cbValue);
	},
	TestData: function(aObj, aNewValue, aRegExp)
	{
		return aRegExp ? aRegExp.test(aNewValue) : aNewValue.length <= aObj.getAttribute("maxLen");
	},
	RestoreCBValue: function(aWin)
	{
		aWin.clipboardData.setData('Text',this.OldCBValue);
	},
	ValidateValue: function(aObj)
	{
		if (aObj.getAttribute("maskId") && !this.masks[aObj.getAttribute("maskId")].doneExp.test(aObj.value))
			aObj.style.backgroundColor="red";
	}
};
