function xAddClass(e,c){if ((e=xGetElementById(e))!=null){var s = '';if (e.className.length && e.className.charAt(e.className.length - 1) != ' '){s = ' ';}if (!xHasClass(e,c)){e.className += s + c;return true;}}return false;}
function xAddEventListener(e,eT,eL,cap){if(!(e=xGetElementById(e)))return;eT=eT.toLowerCase();if(e.addEventListener)e.addEventListener(eT,eL,cap||false);else if(e.attachEvent)e.attachEvent('on'+eT,eL);else e['on'+eT]=eL;}
function xAddEventListener(e,eT,eL,cap){if(!(e=xGetElementById(e)))return;eT=eT.toLowerCase();if(e.addEventListener)e.addEventListener(eT,eL,cap||false);else if(e.attachEvent)e.attachEvent('on'+eT,eL);else{var o=e['on'+eT];e['on'+eT]=typeof o=='function' ? function(v){o(v);eL(v);}: eL;}}
function xAddEventListener2(e,eT,eL,cap){if(!(e=xGetElementById(e))) return;eT=eT.toLowerCase();if (e==window && !e.opera && !document.all){if(eT=='resize'){e.xPCW=xClientWidth();e.xPCH=xClientHeight();e.xREL=eL;xResizeEvent();return;}if(eT=='scroll'){e.xPSL=xScrollLeft();e.xPST=xScrollTop();e.xSEL=eL;xScrollEvent();return;}}if(e.addEventListener) e.addEventListener(eT,eL,cap||false);else if(e.attachEvent) e.attachEvent('on'+eT,eL);else e['on'+eT]=eL;}
function xAddEventListener3(e,eT,eL,cap){if(!(e=xGetElementById(e))) return;eT=eT.toLowerCase();if (e==window && !e.opera && !document.all){if(eT=='resize'){e.xPCW=xClientWidth();e.xPCH=xClientHeight();var pREL = e.xREL;e.xREL= pREL ? function(){eL();pREL();}: eL;xResizeEvent();return;}if(eT=='scroll'){e.xPSL=xScrollLeft();e.xPST=xScrollTop();var pSEL = e.xSEL;e.xSEL=pSEL ? function(){eL();pSEL();}: eL;xScrollEvent();return;}}if(e.addEventListener) e.addEventListener(eT,eL,cap);else if(e.attachEvent) e.attachEvent('on'+eT,eL);else{var pev = e['on'+eT];e['on'+eT]= pev ? function(){eL();typeof(pev) == 'string' ? eval(pev) : pev();}: eL;}}
function xAppendChild(oParent,oChild){if (oParent.appendChild) return oParent.appendChild(oChild);else return null;}
function xBackground(e,c,i){if(!(e=xGetElementById(e))) return '';var bg='';if(e.style){if(xStr(c)){e.style.backgroundColor=c;}if(xStr(i)){e.style.backgroundImage=(i!='')? 'url('+i+')' : null;}bg=e.style.backgroundColor;}return bg;}
function xCamelize(cssPropStr){var i,c,a = cssPropStr.split('-');var s = a[0];for (i=1;i<a.length;++i){c = a[i].charAt(0);s += a[i].replace(c,c.toUpperCase());}return s;}
function xCapitalize(str){var i,c,wd,s='',cap = true;for (i = 0;i < str.length;++i){c = str.charAt(i);wd = isWordDelim(c);if (wd){cap = true;}if (cap && !wd){c = c.toUpperCase();cap = false;}s += c;}return s;function isWordDelim(c){return c == ' ' || c == '\n' || c == '\t';}}
function xCardinalPosition(e,cp,margin,outside){if(!(e=xGetElementById(e))) return;if (typeof(cp)!='string'){window.status='xCardinalPosition error: cp=' + cp + ', id=' + e.id;return;}var x=xLeft(e),y=xTop(e),w=xWidth(e),h=xHeight(e);var pw,ph,p = e.offsetParent;if (p == document || p.nodeName.toLowerCase() == 'html'){pw = xClientWidth();ph = xClientHeight();}else{pw=xWidth(p);ph=xHeight(p);}var sx=xScrollLeft(p),sy=xScrollTop(p);var right=sx + pw,bottom=sy + ph;var cenLeft=sx + Math.floor((pw-w)/2),cenTop=sy + Math.floor((ph-h)/2);if (!margin) margin=0;else{if (outside) margin=-margin;sx +=margin;sy +=margin;right -=margin;bottom -=margin;}switch (cp.toLowerCase()){case 'n': x=cenLeft;if (outside) y=sy - h;else y=sy;break;case 'ne': if (outside){x=right;y=sy - h;}else{x=right - w;y=sy;}break;case 'e': y=cenTop;if (outside) x=right;else x=right - w;break;case 'se': if (outside){x=right;y=bottom;}else{x=right - w;y=bottom - h}break;case 's': x=cenLeft;if (outside) y=sy - h;else y=bottom - h;break;case 'sw': if (outside){x=sx - w;y=bottom;}else{x=sx;y=bottom - h;}break;case 'w': y=cenTop;if (outside) x=sx - w;else x=sx;break;case 'nw': if (outside){x=sx - w;y=sy - h;}else{x=sx;y=sy;}break;case 'cen': x=cenLeft;y=cenTop;break;case 'cenh': x=cenLeft;break;case 'cenv': y=cenTop;break;}var o = new Object();o.x = x;o.y = y;return o;}
function xClientHeight(){var v=0,d=document,w=window;if((!d.compatMode || d.compatMode == 'CSS1Compat') && !w.opera && d.documentElement && d.documentElement.clientHeight){v=d.documentElement.clientHeight;}else if(d.body && d.body.clientHeight){v=d.body.clientHeight;}else if(xDef(w.innerWidth,w.innerHeight,d.width)){v=w.innerHeight;if(d.width>w.innerWidth) v-=16;}return v;}
function xClientWidth(){var v=0,d=document,w=window;if((!d.compatMode || d.compatMode == 'CSS1Compat') && !w.opera && d.documentElement && d.documentElement.clientWidth){v=d.documentElement.clientWidth;}else if(d.body && d.body.clientWidth){v=d.body.clientWidth;}else if(xDef(w.innerWidth,w.innerHeight,d.height)){v=w.innerWidth;if(d.height>w.innerHeight) v-=16;}return v;}
function xColor(e,s){if(!(e=xGetElementById(e))) return '';var c='';if(e.style && xDef(e.style.color)){if(xStr(s)) e.style.color=s;c=e.style.color;}return c;}
function xCreateElement(sTag){if (document.createElement) return document.createElement(sTag);else return null;}
function xDef(){for(var i=0;i<arguments.length;++i){if(typeof(arguments[i])=='undefined') return false;}return true;}
function xDeleteCookie(name,path){if (xGetCookie(name)){document.cookie = name + "=" +"; path=" + ((!path) ? "/" : path) +"; expires=" + new Date(0).toGMTString();}}
function xDialog(sPos1,sPos2,sPos3,sStyle,sId,sUrl,bHidden){if (document.getElementById && document.createElement &&document.body && document.body.appendChild){var e = document.createElement('IFRAME');this.ele = e;e.id = sId;e.name = sId;e.style.position = 'absolute';e.style.zIndex = '1000';e.className = sStyle;e.src = sUrl;document.body.appendChild(e);e.style.visibility = 'visible';this.open = false;this.margin = 10;this.pos1 = sPos1;this.pos2 = sPos2;this.pos3 = sPos3;this.slideTime = 400;if (bHidden) xGetElementById(sId).style.visibility = 'hidden';else this.show();}}xDialog.prototype.show = function(){if (!this.open){var e = this.ele;var pos = xCardinalPosition(e,this.pos1,this.margin,true);xMoveTo(e,pos.x,pos.y);e.style.visibility = 'visible';pos = xCardinalPosition(e,this.pos2,this.margin,false);xSlideTo(e,pos.x,pos.y,this.slideTime);this.open = true;}};xDialog.prototype.hide = function(){if (this.open){var e = this.ele;var pos = xCardinalPosition(e,this.pos3,this.margin,true);xSlideTo(e,pos.x,pos.y,this.slideTime);setTimeout("xGetElementById('" + e.id + "').style.visibility = 'hidden'",this.slideTime);this.open = false;}};xDialog.prototype.setUrl = function(sUrl){this.ele.src = sUrl;};xDialog.prototype.resize = function(w,h){xResizeTo(this.ele,w,h);if (this.open){var pos = xCardinalPosition(this.ele,this.pos2,this.margin,true);xSlideTo(this.ele,pos.x,pos.y,this.slideTime);}};
function xDisplay(e,s){if ((e=xGetElementById(e)) && e.style && xDef(e.style.display)){if (xStr(s)){try{e.style.display = s;}catch (ex){e.style.display = '';}}return e.style.display;}return null;}
function xDocSize(){var b=document.body,e=document.documentElement;var esw=0,eow=0,bsw=0,bow=0,esh=0,eoh=0,bsh=0,boh=0;if (e){esw = e.scrollWidth;eow = e.offsetWidth;esh = e.scrollHeight;eoh = e.offsetHeight;}if (b){bsw = b.scrollWidth;bow = b.offsetWidth;bsh = b.scrollHeight;boh = b.offsetHeight;}return{w:Math.max(esw,eow,bsw,bow),h:Math.max(esh,eoh,bsh,boh)};}
function xEach(c,f,s){var l = c.length;for (var i=(s || 0);i < l;i++){f(c[i],i,l);}};
function xEachUntilReturn(c,f,s){var r,l = c.length;for (var i=(s || 0);i < l;i++){r = f(c[i],i,l);if (r !== undefined)break;}return r;};
function xEditable(container,trigger){var editElement = null;var container = xGetElementById(container);var trigger = xGetElementById(trigger);var newID = container.id + "_edit";xAddEventListener(container,'click',BeginEdit);function BeginEdit(){if(!editElement){editElement = document.createElement('input');editElement.setAttribute('id',newID);editElement.setAttribute('name',newID);editElement.setAttribute('value',container.innerHTML);editElement.setAttribute('autocomplete','OFF');xAddEventListener(editElement,'blur',EndEditClick);xAddEventListener(editElement,'keypress',EndEditKey);container.innerHTML = '';container.appendChild(editElement);editElement.select();editElement.focus();}else{editElement.select();editElement.focus();}}function EndEditClick(){container.innerHTML = editElement.value;editElement = null;}function EndEditKey(evt){var e = new xEvent(evt);if(e.keyCode == 13){container.innerHTML = editElement.value;editElement = null;}}}
function xEvalTextarea(){var f = document.createElement('FORM');f.onsubmit = 'return false';var t = document.createElement('TEXTAREA');t.id='xDebugTA';t.name='xDebugTA';t.rows='20';t.cols='60';var b = document.createElement('INPUT');b.type = 'button';b.value = 'Evaluate';b.onclick = function(){eval(this.form.xDebugTA.value);};f.appendChild(t);f.appendChild(b);document.body.appendChild(f);}
function xEvent(evt){var e = evt || window.event;if (!e) return;this.type = e.type;this.target = e.target || e.srcElement;this.relatedTarget = e.relatedTarget;if (xDef(e.pageX)){this.pageX = e.pageX;this.pageY = e.pageY;}else if (xDef(e.clientX)){this.pageX = e.clientX + xScrollLeft();this.pageY = e.clientY + xScrollTop();}if (xDef(e.offsetX)){this.offsetX = e.offsetX;this.offsetY = e.offsetY;}else if (xDef(e.layerX)){this.offsetX = e.layerX;this.offsetY = e.layerY;}else{this.offsetX = this.pageX - xPageX(this.target);this.offsetY = this.pageY - xPageY(this.target);}this.keyCode = e.keyCode || e.which || 0;this.shiftKey = e.shiftKey;this.ctrlKey = e.ctrlKey;this.altKey = e.altKey;if (typeof e.type == 'string'){if (e.type.indexOf('click') != -1){this.button = 0;}else if (e.type.indexOf('mouse') != -1){this.button = e.button;}}}
function xFindAfterByClassName( ele,clsName ){var re = new RegExp('\\b'+clsName+'\\b','i');return xWalkToLast( ele,function(n){if(n.className.search(re) != -1)return n;});}
function xFindBeforeByClassName( ele,clsName ){var re = new RegExp('\\b'+clsName+'\\b','i');return xWalkToFirst( ele,function(n){if(n.className.search(re) != -1)return n;});}
function xFirstChild(e,t){e = xGetElementById(e);var c = e ? e.firstChild : null;while (c){if (c.nodeType == 1 && (!t || c.nodeName.toLowerCase() == t.toLowerCase())){break;}c = c.nextSibling;}return c;}
function xGetComputedStyle(e,p,i){if(!(e=xGetElementById(e))) return null;var s,v = 'undefined',dv = document.defaultView;if(dv && dv.getComputedStyle){s = dv.getComputedStyle(e,'');if (s) v = s.getPropertyValue(p);}else if(e.currentStyle){v = e.currentStyle[xCamelize(p)];}else return null;return i ? (parseInt(v) || 0) : v;}
function xGetCookie(name){var value=null,search=name+"=";if (document.cookie.length > 0){var offset = document.cookie.indexOf(search);if (offset != -1){offset += search.length;var end = document.cookie.indexOf(";",offset);if (end == -1) end = document.cookie.length;value = unescape(document.cookie.substring(offset,end));}}return value;}
function xGetCSSRules(ss){return ss.rules ? ss.rules : ss.cssRules;}
function xGetEleAtPoint(x,y){var he = null,z,hz = 0;var i,list = xGetElementsByTagName('*');for (i = 0;i < list.length;++i){if (xHasPoint(list[i],x,y)){z = parseInt(list[i].style.zIndex);z = z || 0;if (z >= hz){hz = z;he = list[i];}}}return he;}
function xGetElementById(e){if(typeof(e)=='string'){if(document.getElementById) e=document.getElementById(e);else if(document.all) e=document.all[e];else e=null;}return e;}
function xGetElementsByAttribute(sTag,sAtt,sRE,fn){var a,list,found = new Array(),re = new RegExp(sRE,'i');list = xGetElementsByTagName(sTag);for (var i = 0;i < list.length;++i){a = list[i].getAttribute(sAtt);if (!a){a = list[i][sAtt];}if (typeof(a)=='string' && a.search(re) != -1){found[found.length] = list[i];if (fn) fn(list[i]);}}return found;}
function xGetElementsByClassName(c,p,t,f){var r = new Array();var re = new RegExp("(^|\\s)"+c+"(\\s|$)");var e = xGetElementsByTagName(t,p);for (var i = 0;i < e.length;++i){if (re.test(e[i].className)){r[r.length] = e[i];if (f) f(e[i]);}}return r;}
function xGetElementsByTagName(t,p){var list = null;t = t || '*';p = p || document;if (typeof p.getElementsByTagName != 'undefined'){list = p.getElementsByTagName(t);if (t=='*' && (!list || !list.length)) list = p.all;}else{if (t=='*') list = p.all;else if (p.all && p.all.tags) list = p.all.tags(t);}return list || new Array();}
function xGetElePropsArray(ele,eleName){var u = 'undefined';var i = 0,a = new Array();nv('Element',eleName);nv('id',(xDef(ele.id) ? ele.id : u));nv('tagName',(xDef(ele.tagName) ? ele.tagName : u));nv('xWidth()',xWidth(ele));nv('style.width',(xDef(ele.style) && xDef(ele.style.width) ? ele.style.width : u));nv('offsetWidth',(xDef(ele.offsetWidth) ? ele.offsetWidth : u));nv('scrollWidth',(xDef(ele.offsetWidth) ? ele.offsetWidth : u));nv('clientWidth',(xDef(ele.clientWidth) ? ele.clientWidth : u));nv('xHeight()',xHeight(ele));nv('style.height',(xDef(ele.style) && xDef(ele.style.height) ? ele.style.height : u));nv('offsetHeight',(xDef(ele.offsetHeight) ? ele.offsetHeight : u));nv('scrollHeight',(xDef(ele.offsetHeight) ? ele.offsetHeight : u));nv('clientHeight',(xDef(ele.clientHeight) ? ele.clientHeight : u));nv('xLeft()',xLeft(ele));nv('style.left',(xDef(ele.style) && xDef(ele.style.left) ? ele.style.left : u));nv('offsetLeft',(xDef(ele.offsetLeft) ? ele.offsetLeft : u));nv('style.pixelLeft',(xDef(ele.style) && xDef(ele.style.pixelLeft) ? ele.style.pixelLeft : u));nv('xTop()',xTop(ele));nv('style.top',(xDef(ele.style) && xDef(ele.style.top) ? ele.style.top : u));nv('offsetTop',(xDef(ele.offsetTop) ? ele.offsetTop : u));nv('style.pixelTop',(xDef(ele.style) && xDef(ele.style.pixelTop) ? ele.style.pixelTop : u));nv('','');nv('xGetComputedStyle()','');nv('top');nv('right');nv('bottom');nv('left');nv('width');nv('height');nv('color');nv('background-color');nv('font-family');nv('font-size');nv('text-align');nv('line-height');nv('content');nv('float');nv('clear');nv('margin');nv('padding');nv('padding-top');nv('padding-right');nv('padding-bottom');nv('padding-left');nv('border-top-width');nv('border-right-width');nv('border-bottom-width');nv('border-left-width');nv('position');nv('overflow');nv('visibility');nv('display');nv('z-index');nv('clip');nv('cursor');return a;function nv(name,value){a[i] = new Object();a[i].name = name;a[i].value = typeof(value)=='undefined' ? xGetComputedStyle(ele,name) : value;++i;}}
function xGetElePropsString(ele,eleName,newLine){var s = '',a = xGetElePropsArray(ele,eleName);for (var i = 0;i < a.length;++i){s += a[i].name + ' = ' + a[i].value + (newLine || '\n');}return s;}
function xGetStyleSheetFromLink(cl){return cl.styleSheet ? cl.styleSheet : cl.sheet;}
function xGetURLArguments(){var idx = location.href.indexOf('?');var params = new Array();if (idx != -1){var pairs = location.href.substring(idx+1,location.href.length).split('&');for (var i=0;i<pairs.length;i++){nameVal = pairs[i].split('=');params[i] = nameVal[1];params[nameVal[0]] = nameVal[1];}}return params;}
function xHasClass(e,c){e = xGetElementById(e);if (!e || e.className=='') return false;var re = new RegExp("(^|\\s)"+c+"(\\s|$)");return re.test(e.className);}
function xHasPoint(e,x,y,t,r,b,l){if (!xNum(t)){t=r=b=l=0;}else if (!xNum(r)){r=b=l=t;}else if (!xNum(b)){l=r;b=t;}var eX = xPageX(e),eY = xPageY(e);return (x >= eX + l && x <= eX + xWidth(e) - r &&y >= eY + t && y <= eY + xHeight(e) - b );}
function xHasStyleSelector(ss){if (! xHasStyleSheets()) return undefined;function testSelector(cr){return cr.selectorText.indexOf(ss) >= 0;}return xTraverseDocumentStyleSheets(testSelector);}
function xHasStyleSheets(){return document.styleSheets ? true : false;}
function xHeight(e,h){if(!(e=xGetElementById(e))) return 0;if (xNum(h)){if (h<0) h = 0;else h=Math.round(h);}else h=-1;var css=xDef(e.style);if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body'){h = xClientHeight();}else if(css && xDef(e.offsetHeight) && xStr(e.style.height)){if(h>=0){var pt=0,pb=0,bt=0,bb=0;if (document.compatMode=='CSS1Compat'){var gcs = xGetComputedStyle;pt=gcs(e,'padding-top',1);if (pt !== null){pb=gcs(e,'padding-bottom',1);bt=gcs(e,'border-top-width',1);bb=gcs(e,'border-bottom-width',1);}else if(xDef(e.offsetHeight,e.style.height)){e.style.height=h+'px';pt=e.offsetHeight-h;}}h-=(pt+pb+bt+bb);if(isNaN(h)||h<0) return;else e.style.height=h+'px';}h=e.offsetHeight;}else if(css && xDef(e.style.pixelHeight)){if(h>=0) e.style.pixelHeight=h;h=e.style.pixelHeight;}return h;}
function xHex(n,digits,prefix){var p = '',n = Math.ceil(n);if (prefix) p = prefix;n = n.toString(16);for (var i=0;i < digits - n.length;++i){p += '0';}return p + n;}
function xHide(e){return xVisibility(e,0);}
function xHttpRequest(){var _i = this;var _r = null;var _t = null;var _f = null;var _x = false;var _o = null;_i.OK = 0;_i.NOXMLOBJ = 1;_i.REQERR = 2;_i.TIMEOUT = 4;_i.RSPERR = 8;_i.NOXMLCT = 16;_i.status = _i.OK;_i.busy = false;function _oc(){if (_r.readyState == 4){if (_t){clearTimeout(_t);}if (_r.status != 200) _i.status = _i.RSPERR;if (_x){var ct = _r.getResponseHeader('Content-Type');if (ct && ct.indexOf('xml') == -1){_i.status |= _i.NOXMLCT;}}if (_f) _f(_r,_i.status,_o);_i.busy = false;}}function _ot(){_r.onreadystatechange = function(){};_r.abort();_i.status |= _i.TIMEOUT;if (_f) _f(_r,_i.status,_o);_i.busy = false;}this.send = function(m,u,d,t,r,x,o,f){if (!_r || _i.busy){return false;}m = m.toUpperCase();if (m != 'POST'){if (d){d = '?' + d;if (r){d += '&' + r + '=' + Math.round(10000*Math.random());}}else{d = '';}}_x = x;_o = o;_f = f;_i.busy = true;_i.status = _i.OK;if (t){_t = setTimeout(_ot,t);}try{if (m == 'GET'){_r.open(m,u + d,true);d = null;_r.setRequestHeader('Cache-Control','no-cache');var ct = 'text/' + (x ? 'xml':'plain');if (_r.overrideMimeType){_r.overrideMimeType(ct);}_r.setRequestHeader('Content-Type',ct);}else if (m == 'POST'){_r.open(m,u,true);_r.setRequestHeader('Method','POST ' + u + ' HTTP/1.1');_r.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}else{_r.open(m,u + d,true);d = null;}_r.onreadystatechange = _oc;_r.send(d);}catch(e){if (_t){clearTimeout(_t);}_f = null;_i.busy = false;_i.status = _i.REQERR;_i.error = e;return false;}return true;};try{_r = new XMLHttpRequest();}catch (e){try{_r = new ActiveXObject('Msxml2.XMLHTTP');}catch (e){try{_r = new ActiveXObject('Microsoft.XMLHTTP');}catch (e){_r = null;}}}if (!_r){_i.status = _i.NOXMLOBJ;}}
function xHttpRequest2(){this.xmlDoc = null;this.busy = false;this.err ={};var _i = this;var _r = null;var _t = null;var _f = null;function _oc(){if (_r.readyState == 4){if (_t){clearTimeout(_t);}_i.busy = false;if (_f){if (_i.xmlDoc == 1 && _r.status == 200){_i.xmlDoc = _r.responseXML;}_f(_i,_r);}}}function _ot(){_i.err.name = 'Timeout';_r.abort();_i.busy = false;if (_f) _f(_i,null);}this.send = function(m,u,d,t,r,x,f){if (!_r){return false;}if (_i.busy){_i.err.name = 'Busy';return false;}m = m.toUpperCase();if (m != 'POST'){if (d){d = '?' + d;if (r){d += '&' + r + '=' + Math.round(10000*Math.random());}}else{d = '';}}_f = f;_i.xmlDoc = null;_i.err.name = _i.err.message = '';_i.busy = true;if (t){_t = setTimeout(_ot,t);}try{if (m == 'GET'){_r.open(m,u + d,true);d = null;_r.setRequestHeader('Cache-Control','no-cache');if (x){if (_r.overrideMimeType){_r.overrideMimeType('text/xml');}_r.setRequestHeader('Content-Type','text/xml');_i.xmlDoc = 1;}}else if (m == 'POST'){_r.open(m,u,true);_r.setRequestHeader('Method','POST ' + u + ' HTTP/1.1');_r.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}else{_r.open(m,u + d,true);d = null;}_r.onreadystatechange = _oc;_r.send(d);}catch(e){if (_t){clearTimeout(_t);}_f = null;_i.busy = false;_i.err.name = e.name;_i.err.message = e.message;return false;}return true;};try{_r = new XMLHttpRequest();}catch (e){try{_r = new ActiveXObject('Msxml2.XMLHTTP');}catch (e){try{_r = new ActiveXObject('Microsoft.XMLHTTP');}catch (e){_r = null;}}}if (!_r){_i.err.name = 'Unsupported';}}
function xInnerHtml(e,h){if(!(e=xGetElementById(e)) || !xStr(e.innerHTML)) return null;var s = e.innerHTML;if (xStr(h)){e.innerHTML = h;}return s;}
function xInsertRule(ss,sel,rule,idx){if (!(ss=xGetElementById(ss))) return false;if (ss.insertRule){ss.insertRule(sel + "{" + rule + "}",(idx>=0?idx:ss.cssRules.length));}else if (ss.addRule){ss.addRule(sel,rule,idx);}else return false;return true;}
function xIntersection(e1,e2,o){var ix1,iy2,iw,ih,intersect = true;var e1x1 = xPageX(e1);var e1x2 = e1x1 + xWidth(e1);var e1y1 = xPageY(e1);var e1y2 = e1y1 + xHeight(e1);var e2x1 = xPageX(e2);var e2x2 = e2x1 + xWidth(e2);var e2y1 = xPageY(e2);var e2y2 = e2y1 + xHeight(e2);if (e1x1 <= e2x1){ix1 = e2x1;if (e1x2 < e2x1) intersect = false;else iw = Math.min(e1x2,e2x2) - e2x1;}else{ix1 = e1x1;if (e2x2 < e1x1) intersect = false;else iw = Math.min(e1x2,e2x2) - e1x1;}if (e1y2 >= e2y2){iy2 = e2y2;if (e1y1 > e2y2) intersect = false;else ih = e2y2 - Math.max(e1y1,e2y1);}else{iy2 = e1y2;if (e2y1 > e1y2) intersect = false;else ih = e1y2 - Math.max(e1y1,e2y1);}if (intersect && typeof(o)=='object'){o.x = ix1;o.y = iy2 - ih;o.w = iw;o.h = ih;}return intersect;}
function xLeft(e,iX){if(!(e=xGetElementById(e))) return 0;var css=xDef(e.style);if (css && xStr(e.style.left)){if(xNum(iX)) e.style.left=iX+'px';else{iX=parseInt(e.style.left);if(isNaN(iX)) iX=xGetComputedStyle(e,'left',1);if(isNaN(iX)) iX=0;}}else if(css && xDef(e.style.pixelLeft)){if(xNum(iX)) e.style.pixelLeft=iX;else iX=e.style.pixelLeft;}return iX;}xLibrary={version:'4.17',license:'GNU LGPL',url:'http://cross-browser.com/'};
function xLinearScale(val,iL,iH,oL,oH){var m=(oH-oL)/(iH-iL);var b=oL-(iL*m);return m*val+b;}
function xLoadScript(url){if (document.createElement && document.getElementsByTagName){var s = document.createElement('script');var h = document.getElementsByTagName('head');if (s && h.length){s.src = url;h[0].appendChild(s);}}}
function xMoveTo(e,x,y){xLeft(e,x);xTop(e,y);}
function xName(e){try{if (!e) return e;else if (e.id && e.id != "") return e.id;else if (e.name && e.name != "") return e.name;else if (e.nodeName && e.nodeName != "") return e.nodeName;else if (e.tagName && e.tagName != "") return e.tagName;else return e;}catch (err){return e;}}
function xNextSib(e,t){e = xGetElementById(e);var s = e ? e.nextSibling : null;while (s){if (s.nodeType == 1 && (!t || s.nodeName.toLowerCase() == t.toLowerCase())){break;}s = s.nextSibling;}return s;}
function xNum(){for(var i=0;i<arguments.length;++i){if(isNaN(arguments[i]) || typeof(arguments[i])!='number') return false;}return true;}
function xOffsetLeft(e){if (!(e=xGetElementById(e))) return 0;if (xDef(e.offsetLeft)) return e.offsetLeft;else return 0;}
function xOffsetTop(e){if (!(e=xGetElementById(e))) return 0;if (xDef(e.offsetTop)) return e.offsetTop;else return 0;}
function xOpacity(e,o){var set = xDef(o);if(!(e=xGetElementById(e))) return 2;if (xStr(e.style.opacity)){if (set) e.style.opacity = o + '';else o = parseFloat(e.style.opacity);}else if (xStr(e.style.filter)){if (set) e.style.filter = 'alpha(opacity=' + (100 * o) + ')';else if (e.filters && e.filters.alpha){o = e.filters.alpha.opacity / 100;}}else if (xStr(e.style.MozOpacity)){if (set) e.style.MozOpacity = o + '';else o = parseFloat(e.style.MozOpacity);}else if (xStr(e.style.KhtmlOpacity)){if (set) e.style.KhtmlOpacity = o + '';else o = parseFloat(e.style.KhtmlOpacity);}return isNaN(o) ? 1 : o;}
function xPad(s,len,c,left){if(typeof s != 'string') s=s+'';if(left){for(var i=s.length;i<len;++i) s=c+s;}else{for (var i=s.length;i<len;++i) s+=c;}return s;}
function xPageX(e){var x = 0;e = xGetElementById(e);while (e){if (xDef(e.offsetLeft)) x += e.offsetLeft;e = xDef(e.offsetParent) ? e.offsetParent : null;}return x;}
function xPageY(e){var y = 0;e = xGetElementById(e);while (e){if (xDef(e.offsetTop)) y += e.offsetTop;e = xDef(e.offsetParent) ? e.offsetParent : null;}return y;}
function xParaEq(e,xExpr,yExpr,totalTime){if (!(e=xGetElementById(e))) return;e.t = 0;e.tStep = .008;if (!e.timeout) e.timeout = 25;e.xExpr = xExpr;e.yExpr = yExpr;e.slideTime = totalTime;var d = new Date();e.C = d.getTime();if (!e.moving){e.stop=false;_xParaEq(e);}}function _xParaEq(e){if (!(e=xGetElementById(e))) return;var now = new Date();var et = now.getTime() - e.C;e.t += e.tStep;t = e.t;if (e.stop){e.moving = false;}else if (!e.slideTime || et < e.slideTime){setTimeout("_xParaEq('"+e.id+"')",e.timeout);var p = e.offsetParent,centerX,centerY;centerX = (xWidth(p)/2)-(xWidth(e)/2);centerY = (xHeight(p)/2)-(xHeight(e)/2);e.xTarget = Math.round((eval(e.xExpr) * centerX) + centerX) + xScrollLeft(p);e.yTarget = Math.round((eval(e.yExpr) * centerY) + centerY) + xScrollTop(p);xMoveTo(e,e.xTarget,e.yTarget);e.moving = true;}else{e.moving = false;if (e.onslideend) e.onslideend();}}
function xParent(e,bNode){if (!(e=xGetElementById(e))) return null;var p=null;if (!bNode && xDef(e.offsetParent)) p=e.offsetParent;else if (xDef(e.parentNode)) p=e.parentNode;else if (xDef(e.parentElement)) p=e.parentElement;return p;}
function xParentChain(e,delim,bNode){if (!(e=xGetElementById(e))) return;var lim=100,s = "",d = delim || "\n";while(e){s += xName(e) + ', ofsL:'+e.offsetLeft + ', ofsT:'+e.offsetTop + d;e = e.parentNode;if (!lim--) break;}return s;}
function xParentNode( ele,n ){while(ele&&n--){ele=ele.parentNode;}return ele;}
function xParseColor(c){var o ={};if (xStr(c)){if (c.indexOf('rgb')!=-1){var a = c.match(/(\d*)\s*,\s*(\d*)\s*,\s*(\d*)/);o.r = parseInt(a[1]) || 0;o.g = parseInt(a[2]) || 0;o.b = parseInt(a[3]) || 0;o.n = (o.r << 16) | (o.g << 8) | o.b;}else{pn(parseInt(c.substr(1),16));}}else{pn(c);}o.s = xHex(o.n,6,'#');return o;function pn(n){o.n = n || 0;o.r = (o.n & 0xFF0000) >> 16;o.g = (o.n & 0xFF00) >> 8;o.b = o.n & 0xFF;}}
function xPopup(sTmrType,uTimeout,sPos1,sPos2,sPos3,sStyle,sId,sUrl){if (document.getElementById && document.createElement &&document.body && document.body.appendChild){var e = document.createElement('IFRAME');this.ele = e;e.id = sId;e.style.position = 'absolute';e.className = sStyle;e.src = sUrl;document.body.appendChild(e);e.style.visibility = 'visible';this.tmr = xTimer.set(sTmrType,this,sTmrType,uTimeout);this.open = false;this.margin = 10;this.pos1 = sPos1;this.pos2 = sPos2;this.pos3 = sPos3;this.slideTime = 500;this.interval();}}xPopup.prototype.show = function(){this.interval();};xPopup.prototype.hide = function(){this.timeout();};xPopup.prototype.timeout = function(){if (this.open){var e = this.ele;var pos = xCardinalPosition(e,this.pos3,this.margin,true);xSlideTo(e,pos.x,pos.y,this.slideTime);setTimeout("xGetElementById('" + e.id + "').style.visibility='hidden'",this.slideTime);this.open = false;}};xPopup.prototype.interval = function(){if (!this.open){var e = this.ele;var pos = xCardinalPosition(e,this.pos1,this.margin,true);xMoveTo(e,pos.x,pos.y);e.style.visibility = 'visible';pos = xCardinalPosition(e,this.pos2,this.margin,false);xSlideTo(e,pos.x,pos.y,this.slideTime);this.open = true;}};
function xPreventDefault(e){if (e && e.preventDefault) e.preventDefault();else if (window.event) window.event.returnValue = false;}
function xPrevSib(e,t){e = xGetElementById(e);var s = e ? e.previousSibling : null;while (s){if (s.nodeType == 1 && (!t || s.nodeName.toLowerCase() == t.toLowerCase())){break;}s = s.previousSibling;}return s;}
function xRemoveClass(e,c){if(!(e=xGetElementById(e))) return false;e.className = e.className.replace(new RegExp("(^|\\s)"+c+"(\\s|$)",'g'),function(str,p1,p2){return (p1 == ' ' && p2 == ' ') ? ' ' : '';});return true;}
function xRemoveEventListener(e,eT,eL,cap){if(!(e=xGetElementById(e)))return;eT=eT.toLowerCase();if(e.removeEventListener)e.removeEventListener(eT,eL,cap||false);else if(e.detachEvent)e.detachEvent('on'+eT,eL);else e['on'+eT]=null;}
function xRemoveEventListener2(e,eT,eL,cap){if(!(e=xGetElementById(e))) return;eT=eT.toLowerCase();if(e==window){if(eT=='resize' && e.xREL){e.xREL=null;return;}if(eT=='scroll' && e.xSEL){e.xSEL=null;return;}}if(e.removeEventListener) e.removeEventListener(eT,eL,cap||false);else if(e.detachEvent) e.detachEvent('on'+eT,eL);else e['on'+eT]=null;}
function xResizeEvent(){if (window.xREL) setTimeout('xResizeEvent()',250);var w=window,cw=xClientWidth(),ch=xClientHeight();if (w.xPCW != cw || w.xPCH != ch){w.xPCW = cw;w.xPCH = ch;if (w.xREL) w.xREL();}}
function xResizeTo(e,w,h){xWidth(e,w);xHeight(e,h);}
function xRgbToHex(r,g,b){return xHex((r << 16) | (g << 8) | b,6,'#');}
function xScrollEvent(){if (window.xSEL) setTimeout('xScrollEvent()',250);var w=window,sl=xScrollLeft(),st=xScrollTop();if (w.xPSL != sl || w.xPST != st){w.xPSL = sl;w.xPST = st;if (w.xSEL) w.xSEL();}}
function xScrollLeft(e,bWin){var offset=0;if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body'){var w = window;if (bWin && e) w = e;if(w.document.documentElement && w.document.documentElement.scrollLeft) offset=w.document.documentElement.scrollLeft;else if(w.document.body && xDef(w.document.body.scrollLeft)) offset=w.document.body.scrollLeft;}else{e = xGetElementById(e);if (e && xNum(e.scrollLeft)) offset = e.scrollLeft;}return offset;}
function xScrollTop(e,bWin){var offset=0;if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body'){var w = window;if (bWin && e) w = e;if(w.document.documentElement && w.document.documentElement.scrollTop) offset=w.document.documentElement.scrollTop;else if(w.document.body && xDef(w.document.body.scrollTop)) offset=w.document.body.scrollTop;}else{e = xGetElementById(e);if (e && xNum(e.scrollTop)) offset = e.scrollTop;}return offset;}
function xSelect(sId,fnSubOnChange,sMainName,sSubName,bUnder,iMargin){function s1OnChange(){var io,s2 = this.xSelSub;for (io=0;io<s2.options.length;++io){s2.options[io] = null;}var a = this.xSelData,ig = this.selectedIndex;for (io=1;io<a[ig].length;++io){op = new Option(a[ig][io]);s2.options[io-1] = op;}}var s0 = xGetElementById(sId);if (!s0 || !s0.firstChild || !s0.nodeName || !document.createElement || !s0.form || !s0.form.appendChild){return null;}var s1 = document.createElement('SELECT');s1.id = s1.name = sMainName ? sMainName : sId + '_main';s1.display = 'block';s1.style.position = 'absolute';s1.xSelObj = this;s1.xSelData = new Array();s0.form.appendChild(s1);var ig=0,io,op,og,a = s1.xSelData;og = s0.firstChild;while (og){if (og.nodeName.toLowerCase() == 'optgroup'){io = 0;a[ig] = new Array();a[ig][io] = og.label;op = og.firstChild;while (op){if (op.nodeName.toLowerCase() == 'option'){io++;a[ig][io] = op.innerHTML;}op = op.nextSibling;}ig++;}og = og.nextSibling;}for (ig=0;ig<a.length;++ig){op = new Option(a[ig][0]);s1.options[ig] = op;}var s2 = document.createElement('SELECT');s2.id = s2.name = sSubName ? sSubName : sId + '_sub';s2.display = 'block';s2.style.position = 'absolute';s2.xSelMain = s1;s1.xSelSub = s2;s0.form.appendChild(s2);s1.onchange = s1OnChange;s2.onchange = fnSubOnChange || null;s0.style.visibility = 'hidden';xMoveTo(s1,s0.offsetLeft,s0.offsetTop);s1.style.visibility = 'visible';iMargin = iMargin || 0;if (bUnder){xMoveTo(s2,s0.offsetLeft,s0.offsetTop + xHeight(s1) + iMargin);}else{xMoveTo(s2,s0.offsetLeft + xWidth(s1) + iMargin,s0.offsetTop);}s2.style.visibility = 'visible';s1.onchange();}
function xSetCookie(name,value,expire,path){document.cookie = name + "=" + escape(value) +((!expire) ? "" : ("; expires=" + expire.toGMTString())) +"; path=" + ((!path) ? "/" : path);}
function xSetIETitle(){var ua = navigator.userAgent.toLowerCase();if (!window.opera && navigator.vendor!='KDE' && document.all && ua.indexOf('msie')!=-1 && !document.layers){var i = ua.indexOf('msie') + 1;var v = ua.substr(i + 4,3);document.title = 'IE ' + v + ' - ' + document.title;}}
function xShow(e){return xVisibility(e,1);}
function xSmartLoad(what,url){var loadedBefore = false;var s;for (var i=0;i<xSmartLoad.list.length;i++){if (xSmartLoad.list[i].url == url){loadedBefore = true;s = xSmartLoad.list[i].node;break;}}if (document.createElement && document.getElementsByTagName && !loadedBefore){s = document.createElement(what);var h = document.getElementsByTagName('head');if (s && h.length){switch (what.toUpperCase()){case 'SCRIPT':s.src = url;break;case 'LINK':s.rel = 'stylesheet';s.type = 'text/css';s.href = url;break;default:s = null;break;}h[0].appendChild(s);xSmartLoad.list[xSmartLoad.list.length] ={url:url,node:s};}}return s;}xSmartLoad.list = [];
function xSmartLoad2(what,url1,url2,url3,etc){var u,i,j,s,h,loaded,c = 0,e = what.toLowerCase();if (document.createElement && document.getElementsByTagName){h = document.getElementsByTagName('head');if (h.length && h[0].appendChild){for (i = 1;i < arguments.length;++i){loaded = false;u = arguments[i];for (j = 0;j < xSmartLoad2.list.length;j++){if (xSmartLoad2.list[j] == u){loaded = true;break;}}if (!loaded){s = document.createElement(e);if (s){switch (e){case 'script':s.type = 'text/javascript';s.src = u;break;case 'link':s.rel = 'stylesheet';s.type = 'text/css';s.href = u;break;default:continue;}h[0].appendChild(s);xSmartLoad2.list[xSmartLoad2.list.length] = u;++c;}}}}}return c;}xSmartLoad2.list = [];
function xSmartLoadScript(url){xSmartLoad('script',url);}
function xSplitter(sSplId,uSplX,uSplY,uSplW,uSplH,bHorizontal,uBarW,uBarPos,uBarLimit1,uBarLimit2,bBarEnabled,uSplBorderW,oSplChild1,oSplChild2){var pane1,pane2,splW,splH;var splEle,barPos,barLim1,barLim2,barEle;function barOnDrag(ele,dx,dy){var bp;if (bHorizontal){bp = barPos + dx;if (bp < barLim1 || bp > splW - barLim2){return;}xWidth(pane1,xWidth(pane1) + dx);xLeft(barEle,xLeft(barEle) + dx);xWidth(pane2,xWidth(pane2) - dx);xLeft(pane2,xLeft(pane2) + dx);barPos = bp;}else{bp = barPos + dy;if (bp < barLim1 || bp > splH - barLim2){return;}xHeight(pane1,xHeight(pane1) + dy);xTop(barEle,xTop(barEle) + dy);xHeight(pane2,xHeight(pane2) - dy);xTop(pane2,xTop(pane2) + dy);barPos = bp;}if (oSplChild1){oSplChild1.paint(xWidth(pane1),xHeight(pane1));}if (oSplChild2){oSplChild2.paint(xWidth(pane2),xHeight(pane2));}}this.paint = function(uNewW,uNewH,uNewBarPos,uNewBarLim1,uNewBarLim2){if (uNewW == 0){return;}var w1,h1,w2,h2;splW = uNewW;splH = uNewH;barPos = uNewBarPos || barPos;barLim1 = uNewBarLim1 || barLim1;barLim2 = uNewBarLim2 || barLim2;xMoveTo(splEle,uSplX,uSplY);xResizeTo(splEle,uNewW,uNewH);if (bHorizontal){w1 = barPos;h1 = uNewH - 2 * uSplBorderW;w2 = uNewW - w1 - uBarW - 2 * uSplBorderW;h2 = h1;xMoveTo(pane1,0,0);xResizeTo(pane1,w1,h1);xMoveTo(barEle,w1,0);xResizeTo(barEle,uBarW,h1);xMoveTo(pane2,w1 + uBarW,0);xResizeTo(pane2,w2,h2);}else{w1 = uNewW - 2 * uSplBorderW;;h1 = barPos;w2 = w1;h2 = uNewH - h1 - uBarW - 2 * uSplBorderW;xMoveTo(pane1,0,0);xResizeTo(pane1,w1,h1);xMoveTo(barEle,0,h1);xResizeTo(barEle,w1,uBarW);xMoveTo(pane2,0,h1 + uBarW);xResizeTo(pane2,w2,h2);}if (oSplChild1){pane1.style.overflow = 'hidden';oSplChild1.paint(w1,h1);}if (oSplChild2){pane2.style.overflow = 'hidden';oSplChild2.paint(w2,h2);}};splEle = xGetElementById(sSplId);pane1 = xFirstChild(splEle,'DIV');pane2 = xNextSib(pane1,'DIV');barEle = xNextSib(pane2,'DIV');pane1.style.zIndex = 2;pane2.style.zIndex = 2;barEle.style.zIndex = 1;barPos = uBarPos;barLim1 = uBarLimit1;barLim2 = uBarLimit2;this.paint(uSplW,uSplH);if (bBarEnabled){xEnableDrag(barEle,null,barOnDrag,null);barEle.style.cursor = bHorizontal ? 'e-resize' : 'n-resize';}splEle.style.visibility = 'visible';}
function xStopPropagation(evt){if (evt && evt.stopPropagation) evt.stopPropagation();else if (window.event) window.event.cancelBubble = true;}
function xStr(s){for(var i=0;i<arguments.length;++i){if(typeof(arguments[i])!='string') return false;}return true;}
function xStrEndsWith( s,end ){if( !xStr(s,end) ) return false;var l = s.length;var r = l - end.length;if( r > 0 ) return s.substring( r,l ) == end;return s == end;}
function xStrReplaceEnd( s,newEnd ){if( !xStr(s,newEnd) ) return s;var l = s.length;var r = l - newEnd.length;if( r > 0 ) return s.substring( 0,r )+newEnd;return newEnd;}
function xStrStartsWith( s,beg ){if( !xStr(s,beg) ) return false;var l = s.length;var r = beg.length;if( r > l ) return false;if( r < l ) return s.substring( 0,r ) == beg;return s == beg;}
function xStyle(sProp,sVal){var i,e;for (i = 2;i < arguments.length;++i){e = xGetElementById(arguments[i]);if (e.style){try{e.style[sProp] = sVal;}catch (err){e.style[sProp] = '';}}}}
function xTable(sTableId,sRoot,sCC,sFR,sFRI,sRCell,sFC,sFCI,sCCell,sTC,sCellT){var i,ot,cc=null,fcw,frh,root,fr,fri,fc,fci,tc;var e,t,tr,a,alen,tmr=null;ot = xGetElementById(sTableId);if (!ot || !document.createElement || !document.appendChild || !ot.deleteCaption || !ot.deleteTHead){return null;}fcw = xWidth(ot.rows[1].cells[0]);frh = xHeight(ot.rows[0]);root = document.createElement('div');root.className = sRoot;fr = document.createElement('div');fr.className = sFR;fri = document.createElement('div');fri.className = sFRI;fr.appendChild(fri);root.appendChild(fr);fc = document.createElement('div');fc.className = sFC;fci = document.createElement('div');fci.className = sFCI;fc.appendChild(fci);root.appendChild(fc);tc = document.createElement('div');tc.className = sTC;root.appendChild(tc);if (ot.caption){cc = document.createElement('div');cc.className = sCC;cc.appendChild(ot.caption.firstChild);root.appendChild(cc);ot.deleteCaption();}a = ot.rows[0].cells;alen = a.length;for (i = 1;i < alen;++i){e = document.createElement('div');e.className = sRCell;t = document.createElement('table');t.className = sCellT;tr = t.insertRow(0);tr.appendChild(a[1]);e.appendChild(t);fri.appendChild(e);}if (ot.tHead){ot.deleteTHead();}a = ot.rows;alen = a.length;for (i = 0;i < alen;++i){e = document.createElement('div');e.className = sCCell;t = document.createElement('table');t.className = sCellT;tr = t.insertRow(0);tr.appendChild(a[i].cells[0]);e.appendChild(t);fci.appendChild(e);}ot = ot.parentNode.replaceChild(root,ot);tc.appendChild(ot);resize();root.style.visibility = 'visible';xAddEventListener(tc,'scroll',onScroll,false);xAddEventListener(window,'resize',onResize,false);function onScroll(){xLeft(fri,-tc.scrollLeft);xTop(fci,-tc.scrollTop);}function onResize(){if (!tmr){tmr = setTimeout(function(){resize();tmr=null;},500);}}function resize(){var sum = 0,cch = 0,w,h;if (cc){cch = xHeight(cc);xMoveTo(cc,0,0);xWidth(cc,xWidth(root));}xMoveTo(fr,fcw,cch);xResizeTo(fr,xWidth(root) - fcw,frh);xMoveTo(fri,0,0);xResizeTo(fri,xWidth(ot),frh);xMoveTo(fc,0,cch + frh);xResizeTo(fc,fcw,xHeight(root) - cch);xMoveTo(fci,0,0);xResizeTo(fci,fcw,xHeight(ot));xMoveTo(tc,fcw,cch + frh);xWidth(tc,xWidth(root) - fcw - 1);xHeight(tc,xHeight(root) - cch - frh - 1);a = ot.rows[0].cells;e = xFirstChild(fri,'div');for (i = 0;i < a.length;++i){xMoveTo(e,sum,0);w = xWidth(e,xWidth(a[i]));h = xHeight(e,frh);sum += w;xResizeTo(xFirstChild(e,'table'),w,h);e = xNextSib(e,'div');}sum = 0;a = ot.rows;e = xFirstChild(fci,'div');for (i = 0;i < a.length;++i){xMoveTo(e,0,sum);w = xWidth(e,fcw);h = xHeight(e,xHeight(a[i]));sum += h;xResizeTo(xFirstChild(e,'table'),w,h);e = xNextSib(e,'div');}onScroll();}}
function xTableCellVisibility(bShow,sec,nRow,nCol){sec = xGetElementById(sec);if (sec && nRow < sec.rows.length && nCol < sec.rows[nRow].cells.length){sec.rows[nRow].cells[nCol].style.visibility = bShow ? 'visible' : 'hidden';}}
function xTableColDisplay(bShow,sec,nCol){var r;sec = xGetElementById(sec);if (sec && nCol < sec.rows[0].cells.length){for (r = 0;r < sec.rows.length;++r){sec.rows[r].cells[nCol].style.display = bShow ? '' : 'none';}}}
function xTableCursor(tblId,rowStyle,cellStyle){xTableIterate(tblId,function(obj,isRow){if (!isRow){obj.onmouseover = tdOver;obj.onmouseout = tdOut;}});function tdOver(e){xAddClass(this,cellStyle);var tr = this.parentNode;for (var i = 0;i < tr.cells.length;++i){if (this != tr.cells[i]) xAddClass(tr.cells[i],rowStyle);}}function tdOut(e){xRemoveClass(this,cellStyle);var tr = this.parentNode;for (var i = 0;i < tr.cells.length;++i){xRemoveClass(tr.cells[i],rowStyle);}}this.unload = function(){xTableIterate(tblId,function(o){o.onmouseover = o.onmouseout = null;});};}
function xTableHeaderFixed(fixedContainerId,fixedTableClass,fakeBodyId,tableBorder,thBorder){var tables = [];function onEvent(e){e = e || window.event;var r = e.type == 'resize' ? true : false;for (var i = 0;i < tables.length;++i){scroll(tables[i],r);}}function scroll(t,bResize){if (!t){return;}var fhc = xGetElementById(fixedContainerId);var fh = xGetElementById(t.fixedHeaderId);var thead = t.tHead;var st,sl,thy = xPageY(thead);st = xScrollTop();sl = xScrollLeft();var th = xHeight(t);var tw = xWidth(t);var ty = xPageY(t);var tx = xPageX(t);var fhh = xHeight(fh);if (bResize){xWidth(fh,tw + 2*tableBorder);var th1 = xGetElementsByTagName('th',t);var th2 = xGetElementsByTagName('th',fh);for (var i = 0;i < th1.length;++i){xWidth(th2[i],xWidth(th1[i]) + thBorder);}}xLeft(fh,tx - sl);if (st <= thy || st > ty + th - fhh){if (fh.style.visibility != 'hidden'){fh.style.visibility = 'hidden';fhc.style.visibility = 'hidden';}}else{if (fh.style.visibility != 'visible'){fh.style.visibility = 'visible';fhc.style.visibility = 'visible';}}}function init(){var i,tbl,h,t,con;if (null == (con = xGetElementById(fixedContainerId))){con = document.createElement('div');con.id = fixedContainerId;document.body.appendChild(con);}for (i = 0;i < tables.length;++i){tbl = tables[i];h = tbl.tHead;if (h){t = document.createElement('table');t.className = fixedTableClass;t.appendChild(h.cloneNode(true));t.id = tbl.fixedHeaderId = 'xtfh' + i;con.appendChild(t);}else{tables[i] = null;}}con.style.visibility = 'hidden';}this.unload = function(){for (var i = 0;i < tables.length;++i){tables[i] = null;}};var i,j,lst;if (arguments.length > 5){i = 5;lst = arguments;}else{i = 0;lst = xGetElementsByTagName('table');}for (j = 0;i < lst.length;++i,++j){tables[j] = xGetElementById(lst[i]);}init();onEvent({type:'resize'});xAddEventListener(window,'scroll',onEvent,false);xAddEventListener(window,'resize',onEvent,false);}
function xTableIterate(sec,fnCallback,data){var r,c;sec = xGetElementById(sec);if (!sec || !fnCallback){return;}for (r = 0;r < sec.rows.length;++r){if (false == fnCallback(sec.rows[r],true,r,c,data)){return;}for (c = 0;c < sec.rows[r].cells.length;++c){if (false == fnCallback(sec.rows[r].cells[c],false,r,c,data)){return;}}}}
function xTableRowDisplay(bShow,sec,nRow){sec = xGetElementById(sec);if (sec && nRow < sec.rows.length){sec.rows[nRow].style.display = bShow ? '' : 'none';}}
function xTableSync(sT1Id,sT2Id,sEvent,fn){var t1 = xGetElementById(sT1Id);var t2 = xGetElementById(sT2Id);sEvent = 'on' + sEvent.toLowerCase();t1[sEvent] = t2[sEvent] = function(e){e = e || window.event;var t = e.target || e.srcElement;while (t && t.nodeName.toLowerCase() != 'td'){t = t.parentNode;}if (t){var r = t.parentNode.sectionRowIndex,c = t.cellIndex;var tbl = xGetElementById(this.id == sT1Id ? sT2Id : sT1Id);fn(t,tbl.rows[r].cells[c]);}};t1 = t2 = null;}
function xTabPanelGroup(id,w,h,th,clsTP,clsTG,clsTD,clsTS){function onClick(){paint(this);return false;}function onFocus(){paint(this);}function paint(tab){tab.className = clsTS;tab.style.zIndex = highZ++;panels[tab.xTabIndex].style.display = 'block';if (selectedIndex != tab.xTabIndex){panels[selectedIndex].style.display = 'none';tabs[selectedIndex].className = clsTD;selectedIndex = tab.xTabIndex;}}var panelGrp,tabGrp,panels,tabs,highZ,selectedIndex;this.select = function(n){if (n && n <= tabs.length){var t = tabs[n-1];if (t.focus) t.focus();else t.onclick();}};this.onUnload = function(){if (!window.opera) for (var i = 0;i < tabs.length;++i){tabs[i].onfocus = tabs[i].onclick = null;}};this.onResize = function(newW,newH){var x = 0,i;if (newW){w = newW;xWidth(panelGrp,w);}else w = xWidth(panelGrp);if (newH){h = newH;xHeight(panelGrp,h);}else h = xHeight(panelGrp);xResizeTo(tabGrp[0],w,th);xMoveTo(tabGrp[0],0,0);w -= 2;var tw = w / tabs.length;for (i = 0;i < tabs.length;++i){xResizeTo(tabs[i],tw,th);xMoveTo(tabs[i],x,0);x += tw;tabs[i].xTabIndex = i;tabs[i].onclick = onClick;tabs[i].onfocus = onFocus;panels[i].style.display = 'none';xResizeTo(panels[i],w,h - th - 2);xMoveTo(panels[i],0,th);}highZ = i;tabs[selectedIndex].onclick();};panelGrp = xGetElementById(id);if (!panelGrp){return null;}panels = xGetElementsByClassName(clsTP,panelGrp);tabs = xGetElementsByClassName(clsTD,panelGrp);tabGrp = xGetElementsByClassName(clsTG,panelGrp);if (!panels || !tabs || !tabGrp || panels.length != tabs.length || tabGrp.length != 1){return null;}selectedIndex = 0;this.onResize(w,h);}
function xTimerMgr(){this.tmr = null;this.timers = new Array();}xTimerMgr.prototype.set = function(type,obj,sMethod,uTime,data){return (this.timers[this.timers.length] = new xTimerObj(type,obj,sMethod,uTime,data));};xTimerMgr.prototype.run = function(){var i,t,d = new Date(),now = d.getTime();for (i = 0;i < this.timers.length;++i){t = this.timers[i];if (t && t.running){t.elapsed = now - t.time0;if (t.elapsed >= t.preset){t.obj[t.mthd](t);if (t.type.charAt(0) == 'i'){t.time0 = now;}else{t.stop();}}}}};xTimerMgr.prototype.tick = function(t){if (this.tmr) clearInterval(this.tmr);this.tmr = setInterval('xTimer.run()',t);};
function xTimerObj(type,obj,mthd,preset,data){this.data = data;this.type = type;this.obj = obj;this.mthd = mthd;this.preset = preset;this.reset();}xTimerObj.prototype.stop = function(){this.running = false;};xTimerObj.prototype.start = function(){this.running = true;};xTimerObj.prototype.reset = function(){var d = new Date();this.time0 = d.getTime();this.elapsed = 0;this.running = true;};var xTimer = new xTimerMgr();xTimer.tmr = setInterval('xTimer.run()',25);
function xTimes(n,f,s){s = s || 0;n = n + s;for (var i=s;i < n;i++)f(i);};
function xToggleClass(e,c){if (!(e = xGetElementById(e)))return null;if (!xRemoveClass(e,c) && !xAddClass(e,c))return false;return true;}
function xTooltipGroup(grpClassOrIdList,tipClass,origin,xOffset,yOffset,hideDelay,sticky,textList){this.c = tipClass;this.o = origin;this.x = xOffset;this.y = yOffset;this.s = sticky;this.hd = hideDelay || 0;var i,tips;if (xStr(grpClassOrIdList)){tips = xGetElementsByClassName(grpClassOrIdList);for (i = 0;i < tips.length;++i){tips[i].xTooltip = this;tips[i].xTooltipText = tips[i].title;tips[i].title = '';}}else{tips = new Array();for (i = 0;i < grpClassOrIdList.length;++i){tips[i] = xGetElementById(grpClassOrIdList[i]);if (!tips[i]){alert('Element not found for id = ' + grpClassOrIdList[i]);}else{tips[i].xTooltip = this;tips[i].xTooltipText = textList[i];}}}if (!xTooltipGroup.tipEle){var te = document.createElement("div");if (te){te.id = 'xTooltipElement';xTooltipGroup.tipEle = te = document.body.appendChild(te);xAddEventListener(document,'mousemove',xTooltipGroup.docOnMousemove,false);}}}xTooltipGroup.tmr = null;xTooltipGroup.trgEle = null;xTooltipGroup.tipEle = null;xTooltipGroup.docOnMousemove = function(oEvent){var t = null,e = new xEvent(oEvent);if (e.target){t = e.target;while (t && !t.xTooltip){t = t.offsetParent;}if (t){t.xTooltip.show(t,e.pageX,e.pageY);}else if (xTooltipGroup.trgEle){t = xTooltipGroup.trgEle.xTooltip;if (t && !t.s && !xTooltipGroup.tmr){xTooltipGroup.tHide();}}}};xTooltipGroup.teOnClick = function(){xTooltipGroup.hide();};xTooltipGroup.tHide = function(){xTooltipGroup.tmr = setTimeout("xTooltipGroup.hide()",xTooltipGroup.trgEle.xTooltip.hd);};xTooltipGroup.hide = function(){xMoveTo(xTooltipGroup.tipEle,-1000,-1000);xTooltipGroup.trgEle = null;};xTooltipGroup.prototype.show = function(trigEle,mx,my){if (xTooltipGroup.tmr){clearTimeout(xTooltipGroup.tmr);xTooltipGroup.tmr = null;}if (xTooltipGroup.trgEle != trigEle){xTooltipGroup.tipEle.className = trigEle.xTooltip.c;xTooltipGroup.tipEle.innerHTML = trigEle.xTooltipText;xTooltipGroup.trgEle = trigEle;}if (this.s){xTooltipGroup.tipEle.title = 'Click To Close';xTooltipGroup.tipEle.onclick = xTooltipGroup.teOnClick;}var x,y,tipW,trgW,trgX;tipW = xWidth(xTooltipGroup.tipEle);trgW = xWidth(trigEle);trgX = xPageX(trigEle);switch(this.o){case 'right':if (trgX + this.x + trgW + tipW < xClientWidth()){x = trgX + this.x + trgW;}else{x = trgX - tipW - this.x;}y = xPageY(trigEle) + this.y;break;case 'top':x = trgX + this.x;y = xPageY(trigEle) - xHeight(trigEle) + this.y;break;case 'mouse':if (mx + this.x + tipW < xClientWidth()){x = mx + this.x;}else{x = mx - tipW - this.x;}y = my + this.y;break;}xMoveTo(xTooltipGroup.tipEle,x,y);xTooltipGroup.tipEle.style.visibility = 'visible';};
function xTop(e,iY){if(!(e=xGetElementById(e))) return 0;var css=xDef(e.style);if(css && xStr(e.style.top)){if(xNum(iY)) e.style.top=iY+'px';else{iY=parseInt(e.style.top);if(isNaN(iY)) iY=xGetComputedStyle(e,'top',1);if(isNaN(iY)) iY=0;}}else if(css && xDef(e.style.pixelTop)){if(xNum(iY)) e.style.pixelTop=iY;else iY=e.style.pixelTop;}return iY;}
function xTraverseDocumentStyleSheets(cb){var ssList = document.styleSheets;if (!ssList) return undefined;for (i = 0;i < ssList.length;i++){var ss = ssList[i];if (! ss) continue;if (xTraverseStyleSheet(ss,cb)) return true;}return false;}
function xTraverseStyleSheet(ss,cb){if (!ss) return false;var rls = xGetCSSRules(ss);if (!rls) return undefined;var result;for (var j = 0;j < rls.length;j++){var cr = rls[j];if (cr.selectorText){result = cb(cr);if (result) return true;}if (cr.type && cr.type == 3 && cr.styleSheet) xTraverseStyleSheet(cr.styleSheet,cb);}if (ss.imports){for (var j = 0;j < ss.imports.length;j++){if (xTraverseStyleSheet(ss.imports[j],cb)) return true;}}return false;}
function xTrim(s){return s.replace(/^\s+|\s+$/g,'');}
function xTriStateImage(idOut,urlOver,urlDown,fnUp){var img;if (typeof Image != 'undefined' && document.getElementById){img = document.getElementById(idOut);if (img){var urlOut = img.src;var i = new Image();i.src = urlOver;i = new Image();i.src = urlDown;img.onmouseover = function(){this.src = urlOver;};img.onmouseout = function(){this.src = urlOut;};img.onmousedown = function(){this.src = urlDown;};img.onmouseup = function(){this.src = urlOver;if (fnUp){fnUp();}};}}this.onunload = function(){if (!window.opera && img){img.onmouseover = img.onmouseout = img.onmousedown = null;img = null;}};}
function xVisibility(e,bShow){if(!(e=xGetElementById(e))) return null;if(e.style && xDef(e.style.visibility)){if (xDef(bShow)) e.style.visibility = bShow ? 'visible' : 'hidden';return e.style.visibility;}return null;}
function xWalkToFirst( oNode,fnVisit,skip,data ){var r = null;while(oNode){if(oNode.nodeType==1&&oNode!=skip){r=fnVisit(oNode,data);if(r)return r;}var n=oNode;while(n=n.previousSibling){if(n!=skip){r=xWalkTreeRev(n,fnVisit,skip,data);if(r)return r;}}oNode=oNode.parentNode;}return r;}
function xWalkToLast( oNode,fnVisit,skip,data ){var r = null;if( oNode ){r=xWalkTree2(oNode,fnVisit,skip,data);if(r)return r;while(oNode){var n=oNode;while(n=n.nextSibling){if(n!=skip){r=xWalkTree2(n,fnVisit,skip,data);if(r)return r;}}oNode=oNode.parentNode;}}return r;}
function xWalkTree(n,f){f(n);for (var c = n.firstChild;c;c = c.nextSibling){if (c.nodeType == 1) xWalkTree(c,f);}}
function xWalkTree2( oNode,fnVisit,skip,data ){var r=null;if(oNode){if(oNode.nodeType==1&&oNode!=skip){r=fnVisit(oNode,data);if(r)return r;}for(var c=oNode.firstChild;c;c=c.nextSibling){if(c!=skip)r  =xWalkTree2(c,fnVisit,skip,data);if(r)return r;}}return r;}
function xWalkTree3(n,f,d,l,b){if (typeof l == 'undefined') l = 0;if (typeof b == 'undefined') b = 0;var v = f(n,l,b,d);if (!v) return 0;if (v == 1){for (var c = n.firstChild;c;c = c.nextSibling){if (c.nodeType == 1){if (!l) ++b;if (!xWalkTree3(c,f,d,l+1,b)) return 0;}}}return 1;}
function xWalkTreeRev( oNode,fnVisit,skip,data ){var r=null;if(oNode){if(oNode.nodeType==1&&oNode!=skip){r=fnVisit(oNode,data);if(r)return r;}for(var c=oNode.lastChild;c;c=c.previousSibling){if(c!=skip)r=xWalkTreeRev(c,fnVisit,skip,data);if(r)return r;}}return r;}
function xWalkUL(pu,d,f,lv){var r,cu,li=xFirstChild(pu);if (!lv){lv=0;}while(li){cu=xFirstChild(li,'ul');r=f(pu,li,cu,d,lv);if(cu){if(!r||!xWalkUL(cu,d,f,lv+1)){return 0;};}li=xNextSib(li);}return 1;}
function xWidth(e,w){if(!(e=xGetElementById(e))) return 0;if (xNum(w)){if (w<0) w = 0;else w=Math.round(w);}else w=-1;var css=xDef(e.style);if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body'){w = xClientWidth();}else if(css && xDef(e.offsetWidth) && xStr(e.style.width)){if(w>=0){var pl=0,pr=0,bl=0,br=0;if (document.compatMode=='CSS1Compat'){var gcs = xGetComputedStyle;pl=gcs(e,'padding-left',1);if (pl !== null){pr=gcs(e,'padding-right',1);bl=gcs(e,'border-left-width',1);br=gcs(e,'border-right-width',1);}else if(xDef(e.offsetWidth,e.style.width)){e.style.width=w+'px';pl=e.offsetWidth-w;}}w-=(pl+pr+bl+br);if(isNaN(w)||w<0) return;else e.style.width=w+'px';}w=e.offsetWidth;}else if(css && xDef(e.style.pixelWidth)){if(w>=0) e.style.pixelWidth=w;w=e.style.pixelWidth;}return w;}
function xWinClass(clsName,winName,w,h,x,y,loc,men,res,scr,sta,too){var thisObj = this;var e='',c=',',xf='left=',yf='top=';this.n = name;if (document.layers){xf='screenX=';yf='screenY=';}this.f = (w?'width='+w+c:e)+(h?'height='+h+c:e)+(x>=0?xf+x+c:e)+(y>=0?yf+y+c:e)+'location='+loc+',menubar='+men+',resizable='+res+',scrollbars='+scr+',status='+sta+',toolbar='+too;this.opened = function(){return this.w && !this.w.closed;};this.close = function(){if(this.opened()) this.w.close();};this.focus = function(){if(this.opened()) this.w.focus();};this.load = function(sUrl){if (this.opened()) this.w.location.href = sUrl;else this.w = window.open(sUrl,this.n,this.f);this.focus();return false;};function onClick(){return thisObj.load(this.href);}xGetElementsByClassName(clsName,document,'*',bindOnClick);function bindOnClick(e){e.onclick = onClick;}}
function xWindow(name,w,h,x,y,loc,men,res,scr,sta,too){var e='',c=',',xf='left=',yf='top=';this.n = name;if (document.layers){xf='screenX=';yf='screenY=';}this.f = (w?'width='+w+c:e)+(h?'height='+h+c:e)+(x>=0?xf+x+c:e)+(y>=0?yf+y+c:e)+'location='+loc+',menubar='+men+',resizable='+res+',scrollbars='+scr+',status='+sta+',toolbar='+too;this.opened = function(){return this.w && !this.w.closed;};this.close = function(){if(this.opened()) this.w.close();};this.focus = function(){if(this.opened()) this.w.focus();};this.load = function(sUrl){if (this.opened()) this.w.location.href = sUrl;else this.w = window.open(sUrl,this.n,this.f);this.focus();return false;};}var xChildWindow = null;
function xWinOpen(sUrl){var features = "left=0,top=0,width=600,height=500,location=0,menubar=0," +"resizable=1,scrollbars=1,status=0,toolbar=0";if (xChildWindow && !xChildWindow.closed){xChildWindow.location.href  = sUrl;}else{xChildWindow = window.open(sUrl,"myWinName",features);}xChildWindow.focus();return false;}var xWinScrollWin = null;
function xWinScrollTo(win,x,y,uTime){var e = win;if (!e.timeout) e.timeout = 25;var st = xScrollTop(e,1);var sl = xScrollLeft(e,1);e.xTarget = x;e.yTarget = y;e.slideTime = uTime;e.stop = false;e.yA = e.yTarget - st;e.xA = e.xTarget - sl;if (e.slideLinear) e.B = 1/e.slideTime;else e.B = Math.PI / (2 * e.slideTime);e.yD = st;e.xD = sl;var d = new Date();e.C = d.getTime();if (!e.moving){xWinScrollWin = e;_xWinScrollTo();}}function _xWinScrollTo(){var e = xWinScrollWin || window;var now,s,t,newY,newX;now = new Date();t = now.getTime() - e.C;if (e.stop){e.moving = false;}else if (t < e.slideTime){setTimeout("_xWinScrollTo()",e.timeout);s = e.B * t;if (!e.slideLinear) s = Math.sin(s);newX = Math.round(e.xA * s + e.xD);newY = Math.round(e.yA * s + e.yD);e.scrollTo(newX,newY);e.moving = true;}else{e.scrollTo(e.xTarget,e.yTarget);xWinScrollWin = null;e.moving = false;if (e.onslideend) e.onslideend();}}
function xZIndex(e,uZ){if(!(e=xGetElementById(e))) return 0;if(e.style && xDef(e.style.zIndex)){if(xNum(uZ)) e.style.zIndex=uZ;uZ=parseInt(e.style.zIndex);}return uZ;}


var xb =
{
   evtHash: [],

   ieGetUniqueID: function(_elem)
   {
      if (_elem === window) { return 'theWindow'; }
      else if (_elem === document) { return 'theDocument'; }
      else { return _elem.uniqueID; }
   },

   addEvent: function(_elem, _evtName, _fn, _useCapture)
   {
      if (typeof _elem.addEventListener != 'undefined')
      { _elem.addEventListener(_evtName, _fn, _useCapture); }
      else if (typeof _elem.attachEvent != 'undefined')
      {
         var key = '{FNKEY::obj_' + xb.ieGetUniqueID(_elem) +
               '::evt_' + _evtName + '::fn_' + _fn + '}';
         var f = xb.evtHash[key];
         if (typeof f != 'undefined')
            { return; }

         f = function()
         {
            _fn.call(_elem);
         };

         xb.evtHash[key] = f;
         _elem.attachEvent('on' + _evtName, f);

         // attach unload event to the window to clean up possibly IE memory leaks
         window.attachEvent('onunload', function()
         {
			try
			{
				_elem.detachEvent('on' + _evtName, f);
			}
			catch (e)
			{
			
			}
         });

         key = null;
         //f = null;   /* DON'T null this out, or we won't be able to detach it */
      }
      else
         { _elem['on' + _evtName] = _fn; }
   },

   removeEvent: function(_elem, _evtName, _fn, _useCapture)
   {
      if (typeof _elem.removeEventListener != 'undefined')
         { _elem.removeEventListener(_evtName, _fn, _useCapture); }
      else if (typeof _elem.detachEvent != 'undefined')
      {
         var key = '{FNKEY::obj_' + xb.ieGetUniqueID(_elem) +
               '::evt' + _evtName + '::fn_' + _fn + '}';
         var f = xb.evtHash[key];
         if (typeof f != 'undefined')
         {
            _elem.detachEvent('on' + _evtName, f);
            delete xb.evtHash[key];
         }

         key = null;
         //f = null;   /* DON'T null this out, or we won't be able to detach it */
      }
   }
};