var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return}f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return}if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return}}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return}var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return}var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return}AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();;function surroundText(text1,text2,textarea)
{if(typeof(textarea.caretPos)!="undefined"&&textarea.createTextRange)
{var caretPos=textarea.caretPos,temp_length=caretPos.text.length;caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==' '?text1+caretPos.text+text2+' ':text1+caretPos.text+text2;if(temp_length==0)
{caretPos.moveStart("character",-text2.length);caretPos.moveEnd("character",-text2.length);caretPos.select();}
else
textarea.focus(caretPos);}
else if(typeof(textarea.selectionStart)!="undefined")
{var begin=textarea.value.substr(0,textarea.selectionStart);var selection=textarea.value.substr(textarea.selectionStart,textarea.selectionEnd-textarea.selectionStart);var end=textarea.value.substr(textarea.selectionEnd);var newCursorPos=textarea.selectionStart;var scrollPos=textarea.scrollTop;textarea.value=begin+text1+selection+text2+end;if(textarea.setSelectionRange)
{if(selection.length==0)
textarea.setSelectionRange(newCursorPos+text1.length,newCursorPos+text1.length);else
textarea.setSelectionRange(newCursorPos,newCursorPos+text1.length+selection.length+text2.length);textarea.focus();}
textarea.scrollTop=scrollPos;}
else
{textarea.value+=text1+text2;textarea.focus(textarea.value.length-1);}}
function zprava()
{alert("pepoty kanče :-)");}
function replaceText(text,textarea)
{if(typeof(textarea.caretPos)!="undefined"&&textarea.createTextRange)
{var caretPos=textarea.caretPos;caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==' '?text+' ':text;caretPos.select();}
else if(typeof(textarea.selectionStart)!="undefined")
{var begin=textarea.value.substr(0,textarea.selectionStart);var end=textarea.value.substr(textarea.selectionEnd);var scrollPos=textarea.scrollTop;textarea.value=begin+text+end;if(textarea.setSelectionRange)
{textarea.focus();textarea.setSelectionRange(begin.length+text.length,begin.length+text.length);}
textarea.scrollTop=scrollPos;}
else
{textarea.value+=text;textarea.focus(textarea.value.length-1);}}
function initRequest()
{var httpRequest;if(window.XMLHttpRequest){httpRequest=new XMLHttpRequest();}
else if(window.ActiveXObject){try{httpRequest=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){try{httpRequest=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}}}
if(!httpRequest){alert('Giving up :( Cannot create an XMLHTTP instance');return false;}
return httpRequest;}
function makeRequest(actionid,sndtype,sndcontent,sndparams){var httpRequest;var url;var content;var type;var param;httpRequest=initRequest();type=sndtype;content=sndcontent;param=sndparams;url=actionid;if((type=='GET')&&(param!=''))
{url=url+'?'+param;param=null;}
if(param==''){param=null;}else{param=encodeURI(param);};httpRequest.onreadystatechange=function(){alertContents(httpRequest,content);};httpRequest.open(type,url,true)
httpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');httpRequest.setRequestHeader('Content-length',param.length);httpRequest.send(param);alert(httpRequest);}
function alertContents(httpRequest,sndcontent){var obsah;if(httpRequest.readyState==4)
{if(httpRequest.status==200)
{obsah=document.getElementById(sndcontent);obsah.innerHTML=httpRequest.responseText;alert(sndcontent);}else
{alert(httpRequest.status+' Problem se zpracovanim pozadavku');}}}
function show_hide(el){if(/(^| )hidden-js( |$)/.test(el.className)){el.className=el.className.replace(/(^| )hidden-js( |$)/,'$2');}else{el.className+=' hidden-js';}
return true;}
function openUrl(url){wasOpen=false;win=window.open(url);return(typeof(win)=='object')?true:false;}
function activate(id){$('.m-kat').removeClass('hover');$('#kat-'+id).addClass('hover');}
function odkryt(){if(document.getElementById("skryte").style.display=="block"){document.getElementById("skryte").style.display="none";document.getElementById("skryte_text").innerHTML="BBCode";}
else{document.getElementById("skryte").style.display="block";document.getElementById("skryte_text").innerHTML="Skrýt...";}}
function cdtime(container,targetdate){if(!document.getElementById||!document.getElementById(container))return
this.container=document.getElementById(container)
this.currentTime=new Date()
this.targetdate=new Date(targetdate)
this.timesup=false
this.updateTime()}
cdtime.prototype.updateTime=function(){var thisobj=this
this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()},1000)}
cdtime.prototype.displaycountdown=function(baseunit,functionref){this.baseunit=baseunit
this.formatresults=functionref
this.showresults()}
cdtime.prototype.showresults=function(){var thisobj=this
var timediff=(this.targetdate-this.currentTime)/1000
if(timediff<0){this.timesup=true
this.container.innerHTML=this.formatresults()
return}
var oneMinute=60
var oneHour=60*60
var oneDay=60*60*24
var dayfield=Math.floor(timediff/oneDay)
var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
if(this.baseunit=="hours"){hourfield=dayfield*24+hourfield
dayfield="n/a"}
else if(this.baseunit=="minutes"){minutefield=dayfield*24*60+hourfield*60+minutefield
dayfield=hourfield="n/a"}
else if(this.baseunit=="seconds"){var secondfield=timediff
dayfield=hourfield=minutefield="n/a"}
this.container.innerHTML=this.formatresults(dayfield,hourfield,minutefield,secondfield)
setTimeout(function(){thisobj.showresults()},1000)}
function formatresults2(){if(this.timesup==false){var displaystring="<span class='lcdstyle'>"+arguments[0]+" <sup>dni</sup> "+arguments[1]+" <sup>hodin</sup> "+arguments[2]+" <sup>minut</sup> "+arguments[3]+" <sup>vterin</sup> do konce Turnaje</span>"}
else{var displaystring=""}
return displaystring}
var currentyear=new Date().getFullYear()
var thischristmasyear=(new Date().getMonth()>=11&&new Date().getDate()>25)?currentyear+1:currentyear
function send_xmlhttprequest(state_change,method,url,content,headers){var xmlhttp=(window.XMLHttpRequest?new XMLHttpRequest():(window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):false));if(!xmlhttp){return false;}
xmlhttp.open(method,url);xmlhttp.onreadystatechange=function(){state_change(xmlhttp);};headers=headers||{};headers['X-Requested-With']=headers['X-Requested-With']||'XMLHttpRequest';for(var key in headers){xmlhttp.setRequestHeader(key,headers[key]);}
xmlhttp.send(content);return true;}
function post_xmlhttprequest(state_change,url,form,headers){var elements=form.elements;var content=[];for(var i=0;i<elements.length;i++){if(elements[i].attributes.name&&elements[i].attributes.name.specified&&!elements[i].disabled){if(/^(select)$/i.test(elements[i].tagName)){var options=elements[i].options;for(var j=0;j<options.length;j++){if(options[j].selected){var value=(options[j].attributes.value&&options[j].attributes.value.specified?options[j].value:options[j].text);content.push(encodeURIComponent(elements[i].name)+'='+encodeURIComponent(value));}}}else if(!/^(submit|reset|button|file|image)$/i.test(elements[i].type)&&(!/^(radio|checkbox)$/i.test(elements[i].type)||elements[i].checked)){content.push(encodeURIComponent(elements[i].name)+'='+encodeURIComponent(elements[i].value));}}}
if(!headers){headers={};}
headers['Content-Type']='application/x-www-form-urlencoded';return send_xmlhttprequest(state_change,'POST',url,content.join('&'),headers);}
function hlasovat(hlas,hlasu,stav,hlasoval){if(hlasoval==0){document.getElementById('hlasu').innerHTML=hlasu+1;if(hlas==1)document.getElementById('stav').innerHTML=stav+1;if(hlas==-1)document.getElementById('stav').innerHTML=stav-1;$.showMessage("Děkujeme za Váš hlas!",op);}
else{$.showMessage("Už jste hlasoval!",op);}
if(!send_xmlhttprequest("",'GET','?action=hlasuj&hodnota='+hlas)){return false;}
return true;}
function hlasovat2(hlas,stav,hlasoval,id){if(hlasoval==0){if(hlas==1)document.getElementById('stav'+id).innerHTML=stav+1;if(hlas==-1)document.getElementById('stav'+id).innerHTML=stav-1;$.showMessage("Děkujeme za Váš hlas!",op);}
else{$.showMessage("Už jste hlasoval!",op);}
if(!send_xmlhttprequest("",'GET','?action=hlasuj&hodnota='+hlas+'&id='+id)){return false;}
return true;}
function odeslat(form,avatar,pohlavi,sekce){document.getElementById('stav_odesilani').innerHTML='Odesílá se.<br /><img src=\'/images/ajax-'+sekce+'.gif\' alt=\'loader\' />';return post_xmlhttprequest(function(xmlhttp){if(xmlhttp.readyState==4){if(pohlavi==''&&form.autor.value==''){odeslano=0;}
else if(pohlavi==''&&form.spcontrol.value!='2'){odeslano=0;}
else{odeslano=1;}
if(avatar!='')obr_ava=avatar;else obr_ava='/images/avatar-none.gif';if(pohlavi=='')pohlavi='normal';if(odeslano==1&&form.text.value!=''){document.getElementById('stav_odesilani').innerHTML='<h3 class=\'prispevek\'>Váš Komentář byl vložen.</h3>';document.getElementById('odeslany').innerHTML='<h3 class=\'prispevek\'><a href=\'/video/profil/'+form.autor.value+'\'><span class=\''+pohlavi+'\'>'+form.autor.value+'</span></a><span class=\'normal\'> - Nyní</span></h3><div class=\'komentar\'><img class=\'avatar\' src=\''+obr_ava+'\' alt=\'avatar-none.gif\' title=\'avatar-none\' border=\'0\' height=\'63\' width=\'53\' /><p class=\'text-komentare\'>'+form.text.value+'</p><p class=\'break\'></p></div>';form.text.value=form.text.defaultValue;}
else if(form.text.value==''){document.getElementById('stav_odesilani').innerHTML='<b>Chyba: </b>Nezadal jste žádný text !';}
else if(form.spcontrol.value!='2'){document.getElementById('stav_odesilani').innerHTML='<b>Chyba: </b>Špatná odpověď na spamovací otázku !';}
else{document.getElementById('stav_odesilani').innerHTML='<b>Chyba: </b>Pro vytvoření komentáře je třeba zadat autora !';}}},'/ztest.php',form);};var Prototype={Version:'1.4.0',ScriptFragment:'(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',emptyFunction:function(){},K:function(x){return x}}
var Class={create:function(){return function(){this.initialize.apply(this,arguments);}}}
var Abstract=new Object();Object.extend=function(destination,source){for(property in source){destination[property]=source[property];}
return destination;}
Object.inspect=function(object){try{if(object==undefined)return'undefined';if(object==null)return'null';return object.inspect?object.inspect():object.toString();}catch(e){if(e instanceof RangeError)return'...';throw e;}}
Function.prototype.bind=function(){var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}}
Function.prototype.bindAsEventListener=function(object){var __method=this;return function(event){return __method.call(object,event||window.event);}}
Object.extend(Number.prototype,{toColorPart:function(){var digits=this.toString(16);if(this<16)return'0'+digits;return digits;},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;}});var Try={these:function(){var returnValue;for(var i=0;i<arguments.length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}}
var PeriodicalExecuter=Class.create();PeriodicalExecuter.prototype={initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback();}finally{this.currentlyExecuting=false;}}}}
function $(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')
element=document.getElementById(element);if(arguments.length==1)
return element;elements.push(element);}
return elements;}
Object.extend(String.prototype,{stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(eval);},escapeHTML:function(){var div=document.createElement('div');var text=document.createTextNode(this);div.appendChild(text);return div.innerHTML;},unescapeHTML:function(){var div=document.createElement('div');div.innerHTML=this.stripTags();return div.childNodes[0]?div.childNodes[0].nodeValue:'';},toQueryParams:function(){var pairs=this.match(/^\??(.*)$/)[1].split('&');return pairs.inject({},function(params,pairString){var pair=pairString.split('=');params[pair[0]]=pair[1];return params;});},toArray:function(){return this.split('');},camelize:function(){var oStringList=this.split('-');if(oStringList.length==1)return oStringList[0];var camelizedString=this.indexOf('-')==0?oStringList[0].charAt(0).toUpperCase()+oStringList[0].substring(1):oStringList[0];for(var i=1,len=oStringList.length;i<len;i++){var s=oStringList[i];camelizedString+=s.charAt(0).toUpperCase()+s.substring(1);}
return camelizedString;},inspect:function(){return"'"+this.replace('\\','\\\\').replace("'",'\\\'')+"'";}});String.prototype.parseQuery=String.prototype.toQueryParams;var $break=new Object();var $continue=new Object();var Enumerable={each:function(iterator){var index=0;try{this._each(function(value){try{iterator(value,index++);}catch(e){if(e!=$continue)throw e;}});}catch(e){if(e!=$break)throw e;}},all:function(iterator){var result=true;this.each(function(value,index){result=result&&!!(iterator||Prototype.K)(value,index);if(!result)throw $break;});return result;},any:function(iterator){var result=true;this.each(function(value,index){if(result=!!(iterator||Prototype.K)(value,index))
throw $break;});return result;},collect:function(iterator){var results=[];this.each(function(value,index){results.push(iterator(value,index));});return results;},detect:function(iterator){var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator){var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(pattern,iterator){var results=[];this.each(function(value,index){var stringValue=value.toString();if(stringValue.match(pattern))
results.push((iterator||Prototype.K)(value,index));})
return results;},include:function(object){var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inject:function(memo,iterator){this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.collect(function(value){return value[method].apply(value,args);});},max:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(value>=(result||value))
result=value;});return result;},min:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(value<=(result||value))
result=value;});return result;},partition:function(iterator){var trues=[],falses=[];this.each(function(value,index){((iterator||Prototype.K)(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value,index){results.push(value[property]);});return results;},reject:function(iterator){var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator){return this.collect(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.collect(Prototype.K);},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(typeof args.last()=='function')
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){iterator(value=collections.pluck(index));return value;});},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}}
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});var $A=Array.from=function(iterable){if(!iterable)return[];if(iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0;i<iterable.length;i++)
results.push(iterable[i]);return results;}}
Object.extend(Array.prototype,Enumerable);Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0;i<this.length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=undefined||value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(value.constructor==Array?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},indexOf:function(object){for(var i=0;i<this.length;i++)
if(this[i]==object)return i;return-1;},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},shift:function(){var result=this[0];for(var i=0;i<this.length-1;i++)
this[i]=this[i+1];this.length--;return result;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';}});var Hash={_each:function(iterator){for(key in this){var value=this[key];if(typeof value=='function')continue;var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},merge:function(hash){return $H(hash).inject($H(this),function(mergedHash,pair){mergedHash[pair.key]=pair.value;return mergedHash;});},toQueryString:function(){return this.map(function(pair){return pair.map(encodeURIComponent).join('=');}).join('&');},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';}}
function $H(object){var hash=Object.extend({},object||{});Object.extend(hash,Enumerable);Object.extend(hash,Hash);return hash;}
ObjectRange=Class.create();Object.extend(ObjectRange.prototype,Enumerable);Object.extend(ObjectRange.prototype,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;do{iterator(value);value=value.succ();}while(this.include(value));},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);}
var Ajax={getTransport:function(){return Try.these(function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')},function(){return new XMLHttpRequest()})||false;},activeRequestCount:0}
Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responderToAdd){if(!this.include(responderToAdd))
this.responders.push(responderToAdd);},unregister:function(responderToRemove){this.responders=this.responders.without(responderToRemove);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(responder[callback]&&typeof responder[callback]=='function'){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++;},onComplete:function(){Ajax.activeRequestCount--;}});Ajax.Base=function(){};Ajax.Base.prototype={setOptions:function(options){this.options={method:'post',asynchronous:true,parameters:''}
Object.extend(this.options,options||{});},responseIsSuccess:function(){return this.transport.status==undefined||this.transport.status==0||(this.transport.status>=200&&this.transport.status<300);},responseIsFailure:function(){return!this.responseIsSuccess();}}
Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{initialize:function(url,options){this.transport=Ajax.getTransport();this.setOptions(options);this.request(url);},request:function(url){var parameters=this.options.parameters||'';if(parameters.length>0)parameters+='&_=';try{this.url=url;if(this.options.method=='get'&&parameters.length>0)
this.url+=(this.url.match(/\?/)?'&':'?')+parameters;Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.options.method,this.url,this.options.asynchronous);if(this.options.asynchronous){this.transport.onreadystatechange=this.onStateChange.bind(this);setTimeout((function(){this.respondToReadyState(1)}).bind(this),10);}
this.setRequestHeaders();var body=this.options.postBody?this.options.postBody:parameters;this.transport.send(this.options.method=='post'?body:null);}catch(e){this.dispatchException(e);}},setRequestHeaders:function(){var requestHeaders=['X-Requested-With','XMLHttpRequest','X-Prototype-Version',Prototype.Version];if(this.options.method=='post'){requestHeaders.push('Content-type','application/x-www-form-urlencoded');if(this.transport.overrideMimeType)
requestHeaders.push('Connection','close');}
if(this.options.requestHeaders)
requestHeaders.push.apply(requestHeaders,this.options.requestHeaders);for(var i=0;i<requestHeaders.length;i+=2)
this.transport.setRequestHeader(requestHeaders[i],requestHeaders[i+1]);},onStateChange:function(){var readyState=this.transport.readyState;if(readyState!=1)
this.respondToReadyState(this.transport.readyState);},header:function(name){try{return this.transport.getResponseHeader(name);}catch(e){}},evalJSON:function(){try{return eval(this.header('X-JSON'));}catch(e){}},evalResponse:function(){try{return eval(this.transport.responseText);}catch(e){this.dispatchException(e);}},respondToReadyState:function(readyState){var event=Ajax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(event=='Complete'){try{(this.options['on'+this.transport.status]||this.options['on'+(this.responseIsSuccess()?'Success':'Failure')]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
if((this.header('Content-type')||'').match(/^text\/javascript/i))
this.evalResponse();}
try{(this.options['on'+event]||Prototype.emptyFunction)(transport,json);Ajax.Responders.dispatch('on'+event,this,transport,json);}catch(e){this.dispatchException(e);}
if(event=='Complete')
this.transport.onreadystatechange=Prototype.emptyFunction;},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Updater=Class.create();Object.extend(Object.extend(Ajax.Updater.prototype,Ajax.Request.prototype),{initialize:function(container,url,options){this.containers={success:container.success?$(container.success):$(container),failure:container.failure?$(container.failure):(container.success?null:$(container))}
this.transport=Ajax.getTransport();this.setOptions(options);var onComplete=this.options.onComplete||Prototype.emptyFunction;this.options.onComplete=(function(transport,object){this.updateContent();onComplete(transport,object);}).bind(this);this.request(url);},updateContent:function(){var receiver=this.responseIsSuccess()?this.containers.success:this.containers.failure;var response=this.transport.responseText;if(!this.options.evalScripts)
response=response.stripScripts();if(receiver){if(this.options.insertion){new this.options.insertion(receiver,response);}else{Element.update(receiver,response);}}
if(this.responseIsSuccess()){if(this.onComplete)
setTimeout(this.onComplete.bind(this),10);}}});Ajax.PeriodicalUpdater=Class.create();Ajax.PeriodicalUpdater.prototype=Object.extend(new Ajax.Base(),{initialize:function(container,url,options){this.setOptions(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(request){if(this.options.decay){this.decay=(request.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=request.responseText;}
this.timer=setTimeout(this.onTimerEvent.bind(this),this.decay*this.frequency*1000);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});document.getElementsByClassName=function(className,parentElement){var children=($(parentElement)||document.body).getElementsByTagName('*');return $A(children).inject([],function(elements,child){if(child.className.match(new RegExp("(^|\\s)"+className+"(\\s|$)")))
elements.push(child);return elements;});}
if(!window.Element){var Element=new Object();}
Object.extend(Element,{visible:function(element){return $(element).style.display!='none';},toggle:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);Element[Element.visible(element)?'hide':'show'](element);}},hide:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='none';}},show:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='';}},remove:function(element){element=$(element);element.parentNode.removeChild(element);},update:function(element,html){$(element).innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},10);},getHeight:function(element){element=$(element);return element.offsetHeight;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).include(className);},addClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).add(className);},removeClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).remove(className);},cleanWhitespace:function(element){element=$(element);for(var i=0;i<element.childNodes.length;i++){var node=element.childNodes[i];if(node.nodeType==3&&!/\S/.test(node.nodeValue))
Element.remove(node);}},empty:function(element){return $(element).innerHTML.match(/^\s*$/);},scrollTo:function(element){element=$(element);var x=element.x?element.x:element.offsetLeft,y=element.y?element.y:element.offsetTop;window.scrollTo(x,y);},getStyle:function(element,style){element=$(element);var value=element.style[style.camelize()];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css.getPropertyValue(style):null;}else if(element.currentStyle){value=element.currentStyle[style.camelize()];}}
if(window.opera&&['left','top','right','bottom'].include(style))
if(Element.getStyle(element,'position')=='static')value='auto';return value=='auto'?null:value;},setStyle:function(element,style){element=$(element);for(name in style)
element.style[name.camelize()]=style[name];},getDimensions:function(element){element=$(element);if(Element.getStyle(element,'display')!='none')
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;els.visibility='hidden';els.position='absolute';els.display='';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display='none';els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0;}}},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}},makeClipping:function(element){element=$(element);if(element._overflow)return;element._overflow=element.style.overflow;if((Element.getStyle(element,'overflow')||'visible')!='hidden')
element.style.overflow='hidden';},undoClipping:function(element){element=$(element);if(element._overflow)return;element.style.overflow=element._overflow;element._overflow=undefined;}});var Toggle=new Object();Toggle.display=Element.toggle;Abstract.Insertion=function(adjacency){this.adjacency=adjacency;}
Abstract.Insertion.prototype={initialize:function(element,content){this.element=$(element);this.content=content.stripScripts();if(this.adjacency&&this.element.insertAdjacentHTML){try{this.element.insertAdjacentHTML(this.adjacency,this.content);}catch(e){if(this.element.tagName.toLowerCase()=='tbody'){this.insertContent(this.contentFromAnonymousTable());}else{throw e;}}}else{this.range=this.element.ownerDocument.createRange();if(this.initializeRange)this.initializeRange();this.insertContent([this.range.createContextualFragment(this.content)]);}
setTimeout(function(){content.evalScripts()},10);},contentFromAnonymousTable:function(){var div=document.createElement('div');div.innerHTML='<table><tbody>'+this.content+'</tbody></table>';return $A(div.childNodes[0].childNodes[0].childNodes);}}
var Insertion=new Object();Insertion.Before=Class.create();Insertion.Before.prototype=Object.extend(new Abstract.Insertion('beforeBegin'),{initializeRange:function(){this.range.setStartBefore(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element);}).bind(this));}});Insertion.Top=Class.create();Insertion.Top.prototype=Object.extend(new Abstract.Insertion('afterBegin'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(true);},insertContent:function(fragments){fragments.reverse(false).each((function(fragment){this.element.insertBefore(fragment,this.element.firstChild);}).bind(this));}});Insertion.Bottom=Class.create();Insertion.Bottom.prototype=Object.extend(new Abstract.Insertion('beforeEnd'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.appendChild(fragment);}).bind(this));}});Insertion.After=Class.create();Insertion.After.prototype=Object.extend(new Abstract.Insertion('afterEnd'),{initializeRange:function(){this.range.setStartAfter(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element.nextSibling);}).bind(this));}});Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set(this.toArray().concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set(this.select(function(className){return className!=classNameToRemove;}).join(' '));},toString:function(){return this.toArray().join(' ');}}
Object.extend(Element.ClassNames.prototype,Enumerable);var Field={clear:function(){for(var i=0;i<arguments.length;i++)
$(arguments[i]).value='';},focus:function(element){$(element).focus();},present:function(){for(var i=0;i<arguments.length;i++)
if($(arguments[i]).value=='')return false;return true;},select:function(element){$(element).select();},activate:function(element){element=$(element);element.focus();if(element.select)
element.select();}}
var Form={serialize:function(form){var elements=Form.getElements($(form));var queryComponents=new Array();for(var i=0;i<elements.length;i++){var queryComponent=Form.Element.serialize(elements[i]);if(queryComponent)
queryComponents.push(queryComponent);}
return queryComponents.join('&');},getElements:function(form){form=$(form);var elements=new Array();for(tagName in Form.Element.Serializers){var tagElements=form.getElementsByTagName(tagName);for(var j=0;j<tagElements.length;j++)
elements.push(tagElements[j]);}
return elements;},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)
return inputs;var matchingInputs=new Array();for(var i=0;i<inputs.length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(input);}
return matchingInputs;},disable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.blur();element.disabled='true';}},enable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.disabled='';}},findFirstElement:function(form){return Form.getElements(form).find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){Field.activate(Form.findFirstElement(form));},reset:function(form){$(form).reset();}}
Form.Element={serialize:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter){var key=encodeURIComponent(parameter[0]);if(key.length==0)return;if(parameter[1].constructor!=Array)
parameter[1]=[parameter[1]];return parameter[1].map(function(value){return key+'='+encodeURIComponent(value);}).join('&');}},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter)
return parameter[1];}}
Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case'submit':case'hidden':case'password':case'text':return Form.Element.Serializers.textarea(element);case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element);}
return false;},inputSelector:function(element){if(element.checked)
return[element.name,element.value];},textarea:function(element){return[element.name,element.value];},select:function(element){return Form.Element.Serializers[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var value='',opt,index=element.selectedIndex;if(index>=0){opt=element.options[index];value=opt.value;if(!value&&!('value'in opt))
value=opt.text;}
return[element.name,value];},selectMany:function(element){var value=new Array();for(var i=0;i<element.length;i++){var opt=element.options[i];if(opt.selected){var optValue=opt.value;if(!optValue&&!('value'in opt))
optValue=opt.text;value.push(optValue);}}
return[element.name,value];}}
var $F=Form.Element.getValue;Abstract.TimedObserver=function(){}
Abstract.TimedObserver.prototype={initialize:function(element,frequency,callback){this.frequency=frequency;this.element=$(element);this.callback=callback;this.lastValue=this.getValue();this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}}}
Form.Element.Observer=Class.create();Form.Element.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create();Form.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=function(){}
Abstract.EventObserver.prototype={initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
this.registerFormCallbacks();else
this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){var elements=Form.getElements(this.element);for(var i=0;i<elements.length;i++)
this.registerCallback(elements[i]);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;case'password':case'text':case'textarea':case'select-one':case'select-multiple':Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}}
Form.Element.EventObserver=Class.create();Form.Element.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create();Form.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.serialize(this.element);}});if(!window.Event){var Event=new Object();}
Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(event){return event.target||event.srcElement;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},pointerX:function(event){return event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft));},pointerY:function(event){return event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop));},stop:function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}else{event.returnValue=false;event.cancelBubble=true;}},findElement:function(event,tagName){var element=Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase())))
element=element.parentNode;return element;},observers:false,_observeAndCache:function(element,name,observer,useCapture){if(!this.observers)this.observers=[];if(element.addEventListener){this.observers.push([element,name,observer,useCapture]);element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){this.observers.push([element,name,observer,useCapture]);element.attachEvent('on'+name,observer);}},unloadCache:function(){if(!Event.observers)return;for(var i=0;i<Event.observers.length;i++){Event.stopObserving.apply(this,Event.observers[i]);Event.observers[i][0]=null;}
Event.observers=false;},observe:function(element,name,observer,useCapture){var element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent))
name='keydown';this._observeAndCache(element,name,observer,useCapture);},stopObserving:function(element,name,observer,useCapture){var element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent))
name='keydown';if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element.detachEvent){element.detachEvent('on'+name,observer);}}});Event.observe(window,'unload',Event.unloadCache,false);var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},realOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return[valueL,valueT];},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return[valueL,valueT];},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){p=Element.getStyle(element,'position');if(p=='relative'||p=='absolute')break;}}while(element);return[valueL,valueT];},offsetParent:function(element){if(element.offsetParent)return element.offsetParent;if(element==document.body)return element;while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return element;return document.body;},within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=this.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=this.realOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=this.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},clone:function(source,target){source=$(source);target=$(target);target.style.position='absolute';var offsets=this.cumulativeOffset(source);target.style.top=offsets[1]+'px';target.style.left=offsets[0]+'px';target.style.width=source.offsetWidth+'px';target.style.height=source.offsetHeight+'px';},page:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}while(element=element.parentNode);return[valueL,valueT];},clone:function(source,target){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{})
source=$(source);var p=Position.page(source);target=$(target);var delta=[0,0];var parent=null;if(Element.getStyle(target,'position')=='absolute'){parent=Position.offsetParent(target);delta=Position.page(parent);}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)target.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)target.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)target.style.width=source.offsetWidth+'px';if(options.setHeight)target.style.height=source.offsetHeight+'px';},absolutize:function(element){element=$(element);if(element.style.position=='absolute')return;Position.prepare();var offsets=Position.positionedOffset(element);var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';;element.style.left=left+'px';;element.style.width=width+'px';;element.style.height=height+'px';;},relativize:function(element){element=$(element);if(element.style.position=='relative')return;Position.prepare();element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;}}
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){Position.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return[valueL,valueT];}};var fileLoadingImage="http://www.loupak.cz/lightbox/images/loading.gif";var fileBottomNavCloseImage="http://www.loupak.cz/lightbox/images/closelabel.gif";var overlayOpacity=0.8;var animate=true;var resizeSpeed=7;var borderSize=10;var imageArray=new Array;var activeImage;if(animate==true){overlayDuration=0.2;if(resizeSpeed>10){resizeSpeed=10;}
if(resizeSpeed<1){resizeSpeed=1;}
resizeDuration=(11-resizeSpeed)*0.15;}else{overlayDuration=0;resizeDuration=0;}
Object.extend(Element,{getWidth:function(element){element=$(element);return element.offsetWidth;},setWidth:function(element,w){element=$(element);element.style.width=w+"px";},setHeight:function(element,h){element=$(element);element.style.height=h+"px";},setTop:function(element,t){element=$(element);element.style.top=t+"px";},setLeft:function(element,l){element=$(element);element.style.left=l+"px";},setSrc:function(element,src){element=$(element);element.src=src;},setHref:function(element,href){element=$(element);element.href=href;},setInnerHTML:function(element,content){element=$(element);element.innerHTML=content;}});Array.prototype.removeDuplicates=function(){for(i=0;i<this.length;i++){for(j=this.length-1;j>i;j--){if(this[i][0]==this[j][0]){this.splice(j,1);}}}}
Array.prototype.empty=function(){for(i=0;i<=this.length;i++){this.shift();}}
var Lightbox=Class.create();Lightbox.prototype={initialize:function(){this.updateImageList();var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement("div");objOverlay.setAttribute('id','overlay');objOverlay.style.display='none';objOverlay.onclick=function(){myLightbox.end();}
objBody.appendChild(objOverlay);var objLightbox=document.createElement("div");objLightbox.setAttribute('id','lightbox');objLightbox.style.display='none';objLightbox.onclick=function(e){if(!e)var e=window.event;var clickObj=Event.element(e).id;if(clickObj=='lightbox'){myLightbox.end();}};objBody.appendChild(objLightbox);var objOuterImageContainer=document.createElement("div");objOuterImageContainer.setAttribute('id','outerImageContainer');objLightbox.appendChild(objOuterImageContainer);if(animate){Element.setWidth('outerImageContainer',250);Element.setHeight('outerImageContainer',250);}else{Element.setWidth('outerImageContainer',1);Element.setHeight('outerImageContainer',1);}
var objImageContainer=document.createElement("div");objImageContainer.setAttribute('id','imageContainer');objOuterImageContainer.appendChild(objImageContainer);var objLightboxImage=document.createElement("img");objLightboxImage.setAttribute('id','lightboxImage');objImageContainer.appendChild(objLightboxImage);var objHoverNav=document.createElement("div");objHoverNav.setAttribute('id','hoverNav');objImageContainer.appendChild(objHoverNav);var objPrevLink=document.createElement("a");objPrevLink.setAttribute('id','prevLink');objPrevLink.setAttribute('href','#');objHoverNav.appendChild(objPrevLink);var objNextLink=document.createElement("a");objNextLink.setAttribute('id','nextLink');objNextLink.setAttribute('href','#');objHoverNav.appendChild(objNextLink);var objLoading=document.createElement("div");objLoading.setAttribute('id','loading');objImageContainer.appendChild(objLoading);var objLoadingLink=document.createElement("a");objLoadingLink.setAttribute('id','loadingLink');objLoadingLink.setAttribute('href','#');objLoadingLink.onclick=function(){myLightbox.end();return false;}
objLoading.appendChild(objLoadingLink);var objLoadingImage=document.createElement("img");objLoadingImage.setAttribute('src',fileLoadingImage);objLoadingLink.appendChild(objLoadingImage);var objImageDataContainer=document.createElement("div");objImageDataContainer.setAttribute('id','imageDataContainer');objLightbox.appendChild(objImageDataContainer);var objImageData=document.createElement("div");objImageData.setAttribute('id','imageData');objImageDataContainer.appendChild(objImageData);var objImageDetails=document.createElement("div");objImageDetails.setAttribute('id','imageDetails');objImageData.appendChild(objImageDetails);var objCaption=document.createElement("span");objCaption.setAttribute('id','caption');objImageDetails.appendChild(objCaption);var objNumberDisplay=document.createElement("span");objNumberDisplay.setAttribute('id','numberDisplay');objImageDetails.appendChild(objNumberDisplay);var objBottomNav=document.createElement("div");objBottomNav.setAttribute('id','bottomNav');objImageData.appendChild(objBottomNav);var objBottomNavCloseLink=document.createElement("a");objBottomNavCloseLink.setAttribute('id','bottomNavClose');objBottomNavCloseLink.setAttribute('href','#');objBottomNavCloseLink.onclick=function(){myLightbox.end();return false;}
objBottomNav.appendChild(objBottomNavCloseLink);var objBottomNavCloseImage=document.createElement("img");objBottomNavCloseImage.setAttribute('src',fileBottomNavCloseImage);objBottomNavCloseLink.appendChild(objBottomNavCloseImage);},updateImageList:function(){if(!document.getElementsByTagName){return;}
var anchors=document.getElementsByTagName('a');var areas=document.getElementsByTagName('area');for(var i=0;i<anchors.length;i++){var anchor=anchors[i];var relAttribute=String(anchor.getAttribute('rel'));if(anchor.getAttribute('href')&&(relAttribute.toLowerCase().match('lightbox'))){anchor.onclick=function(){myLightbox.start(this);return false;}}}
for(var i=0;i<areas.length;i++){var area=areas[i];var relAttribute=String(area.getAttribute('rel'));if(area.getAttribute('href')&&(relAttribute.toLowerCase().match('lightbox'))){area.onclick=function(){myLightbox.start(this);return false;}}}},start:function(imageLink){hideSelectBoxes();hideFlash();var arrayPageSize=getPageSize();Element.setWidth('overlay',arrayPageSize[0]);Element.setHeight('overlay',arrayPageSize[1]);new Effect.Appear('overlay',{duration:overlayDuration,from:0.0,to:overlayOpacity});imageArray=[];imageNum=0;if(!document.getElementsByTagName){return;}
var anchors=document.getElementsByTagName(imageLink.tagName);if((imageLink.getAttribute('rel')=='lightbox')){imageArray.push(new Array(imageLink.getAttribute('href'),imageLink.getAttribute('title')));}else{for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute('href')&&(anchor.getAttribute('rel')==imageLink.getAttribute('rel'))){imageArray.push(new Array(anchor.getAttribute('href'),anchor.getAttribute('title')));}}
imageArray.removeDuplicates();while(imageArray[imageNum][0]!=imageLink.getAttribute('href')){imageNum++;}}
var arrayPageScroll=getPageScroll();var lightboxTop=arrayPageScroll[1]+(arrayPageSize[3]/10);var lightboxLeft=arrayPageScroll[0];Element.setTop('lightbox',lightboxTop);Element.setLeft('lightbox',lightboxLeft);Element.show('lightbox');this.changeImage(imageNum);},changeImage:function(imageNum){activeImage=imageNum;if(animate){Element.show('loading');}
Element.hide('lightboxImage');Element.hide('hoverNav');Element.hide('prevLink');Element.hide('nextLink');Element.hide('imageDataContainer');Element.hide('numberDisplay');imgPreloader=new Image();imgPreloader.onload=function(){Element.setSrc('lightboxImage',imageArray[activeImage][0]);myLightbox.resizeImageContainer(imgPreloader.width,imgPreloader.height);imgPreloader.onload=function(){};}
imgPreloader.src=imageArray[activeImage][0];},resizeImageContainer:function(imgWidth,imgHeight){this.widthCurrent=Element.getWidth('outerImageContainer');this.heightCurrent=Element.getHeight('outerImageContainer');var widthNew=(imgWidth+(borderSize*2));var heightNew=(imgHeight+(borderSize*2));this.xScale=(widthNew/this.widthCurrent)*100;this.yScale=(heightNew/this.heightCurrent)*100;wDiff=this.widthCurrent-widthNew;hDiff=this.heightCurrent-heightNew;if(!(hDiff==0)){new Effect.Scale('outerImageContainer',this.yScale,{scaleX:false,duration:resizeDuration,queue:'front'});}
if(!(wDiff==0)){new Effect.Scale('outerImageContainer',this.xScale,{scaleY:false,delay:resizeDuration,duration:resizeDuration});}
if((hDiff==0)&&(wDiff==0)){if(navigator.appVersion.indexOf("MSIE")!=-1){pause(250);}else{pause(100);}}
Element.setHeight('prevLink',imgHeight);Element.setHeight('nextLink',imgHeight);Element.setWidth('imageDataContainer',widthNew);this.showImage();},showImage:function(){Element.hide('loading');new Effect.Appear('lightboxImage',{duration:resizeDuration,queue:'end',afterFinish:function(){myLightbox.updateDetails();}});this.preloadNeighborImages();},updateDetails:function(){if(imageArray[activeImage][1]){Element.show('caption');Element.setInnerHTML('caption',imageArray[activeImage][1]);}
if(imageArray.length>1){Element.show('numberDisplay');Element.setInnerHTML('numberDisplay',"Foto "+eval(activeImage+1)+" z "+imageArray.length);}
new Effect.Parallel([new Effect.SlideDown('imageDataContainer',{sync:true,duration:resizeDuration,from:0.0,to:1.0}),new Effect.Appear('imageDataContainer',{sync:true,duration:resizeDuration})],{duration:resizeDuration,afterFinish:function(){var arrayPageSize=getPageSize();Element.setHeight('overlay',arrayPageSize[1]);myLightbox.updateNav();}});},updateNav:function(){Element.show('hoverNav');if(activeImage!=0){Element.show('prevLink');document.getElementById('prevLink').onclick=function(){myLightbox.changeImage(activeImage-1);return false;}}
if(activeImage!=(imageArray.length-1)){Element.show('nextLink');document.getElementById('nextLink').onclick=function(){myLightbox.changeImage(activeImage+1);return false;}}
this.enableKeyboardNav();},enableKeyboardNav:function(){document.onkeydown=this.keyboardAction;},disableKeyboardNav:function(){document.onkeydown='';},keyboardAction:function(e){if(e==null){keycode=event.keyCode;escapeKey=27;}else{keycode=e.keyCode;escapeKey=e.DOM_VK_ESCAPE;}
key=String.fromCharCode(keycode).toLowerCase();if((key=='x')||(key=='o')||(key=='c')||(keycode==escapeKey)){myLightbox.end();}else if((key=='p')||(keycode==37)){if(activeImage!=0){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage-1);}}else if((key=='n')||(keycode==39)){if(activeImage!=(imageArray.length-1)){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage+1);}}},preloadNeighborImages:function(){if((imageArray.length-1)>activeImage){preloadNextImage=new Image();preloadNextImage.src=imageArray[activeImage+1][0];}
if(activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=imageArray[activeImage-1][0];}},end:function(){this.disableKeyboardNav();Element.hide('lightbox');new Effect.Fade('overlay',{duration:overlayDuration});showSelectBoxes();showFlash();}}
function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll)
return arrayPageScroll;}
function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;}
function getKey(e){if(e==null){keycode=event.keyCode;}else{keycode=e.which;}
key=String.fromCharCode(keycode).toLowerCase();if(key=='x'){}}
function listenKey(){document.onkeypress=getKey;}
function showSelectBoxes(){var selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="visible";}}
function hideSelectBoxes(){var selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="hidden";}}
function showFlash(){var flashObjects=document.getElementsByTagName("object");for(i=0;i<flashObjects.length;i++){flashObjects[i].style.visibility="visible";}
var flashEmbeds=document.getElementsByTagName("embed");for(i=0;i<flashEmbeds.length;i++){flashEmbeds[i].style.visibility="visible";}}
function hideFlash(){var flashObjects=document.getElementsByTagName("object");for(i=0;i<flashObjects.length;i++){flashObjects[i].style.visibility="hidden";}
var flashEmbeds=document.getElementsByTagName("embed");for(i=0;i<flashEmbeds.length;i++){flashEmbeds[i].style.visibility="hidden";}}
function pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);}
function initLightbox(){myLightbox=new Lightbox();}
Event.observe(window,'load',initLightbox,false);;(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return!!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return!!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return+new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return!o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return-1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return!!T.firstChild},empty:function(T){return!T.firstChild},has:function(V,U,T){return!!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex"in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return!F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();;;(function($){$.fn.extend({autocomplete:function(urlOrData,options){var isUrl=typeof urlOrData=="string";options=$.extend({},$.Autocompleter.defaults,{url:isUrl?urlOrData:null,data:isUrl?null:urlOrData,delay:isUrl?$.Autocompleter.defaults.delay:10,max:options&&!options.scroll?10:150},options);options.highlight=options.highlight||function(value){return value;};options.formatMatch=options.formatMatch||options.formatItem;return this.each(function(){new $.Autocompleter(this,options);});},result:function(handler){return this.bind("result",handler);},search:function(handler){return this.trigger("search",[handler]);},flushCache:function(){return this.trigger("flushCache");},setOptions:function(options){return this.trigger("setOptions",[options]);},unautocomplete:function(){return this.trigger("unautocomplete");}});$.Autocompleter=function(input,options){var KEY={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var $input=$(input).attr("autocomplete","off").addClass(options.inputClass);var timeout;var previousValue="";var cache=$.Autocompleter.Cache(options);var hasFocus=0;var lastKeyPressCode;var config={mouseDownOnSelect:false};var select=$.Autocompleter.Select(options,input,selectCurrent,config);var blockSubmit;$.browser.opera&&$(input.form).bind("submit.autocomplete",function(){if(blockSubmit){blockSubmit=false;return false;}});$input.bind(($.browser.opera?"keypress":"keydown")+".autocomplete",function(event){hasFocus=1;lastKeyPressCode=event.keyCode;switch(event.keyCode){case KEY.UP:event.preventDefault();if(select.visible()){select.prev();}else{onChange(0,true);}break;case KEY.DOWN:event.preventDefault();if(select.visible()){select.next();}else{onChange(0,true);}break;case KEY.PAGEUP:event.preventDefault();if(select.visible()){select.pageUp();}else{onChange(0,true);}break;case KEY.PAGEDOWN:event.preventDefault();if(select.visible()){select.pageDown();}else{onChange(0,true);}break;case options.multiple&&$.trim(options.multipleSeparator)==","&&KEY.COMMA:case KEY.TAB:case KEY.RETURN:if(selectCurrent()){event.preventDefault();blockSubmit=true;return false;}break;case KEY.ESC:select.hide();break;default:clearTimeout(timeout);timeout=setTimeout(onChange,options.delay);break;}}).focus(function(){hasFocus++;}).blur(function(){hasFocus=0;if(!config.mouseDownOnSelect){hideResults();}}).click(function(){if(hasFocus++>1&&!select.visible()){onChange(0,true);}}).bind("search",function(){var fn=(arguments.length>1)?arguments[1]:null;function findValueCallback(q,data){var result;if(data&&data.length){for(var i=0;i<data.length;i++){if(data[i].result.toLowerCase()==q.toLowerCase()){result=data[i];break;}}}if(typeof fn=="function")fn(result);else $input.trigger("result",result&&[result.data,result.value]);}$.each(trimWords($input.val()),function(i,value){request(value,findValueCallback,findValueCallback);});}).bind("flushCache",function(){cache.flush();}).bind("setOptions",function(){$.extend(options,arguments[1]);if("data"in arguments[1])cache.populate();}).bind("unautocomplete",function(){select.unbind();$input.unbind();$(input.form).unbind(".autocomplete");});function selectCurrent(){var selected=select.selected();if(!selected)return false;var v=selected.result;previousValue=v;if(options.multiple){var words=trimWords($input.val());if(words.length>1){var seperator=options.multipleSeparator.length;var cursorAt=$(input).selection().start;var wordAt,progress=0;$.each(words,function(i,word){progress+=word.length;if(cursorAt<=progress){wordAt=i;return false;}progress+=seperator;});words[wordAt]=v;v=words.join(options.multipleSeparator);}v+=options.multipleSeparator;}$input.val(v);hideResultsNow();$input.trigger("result",[selected.data,selected.value]);return true;}function onChange(crap,skipPrevCheck){if(lastKeyPressCode==KEY.DEL){select.hide();return;}var currentValue=$input.val();if(!skipPrevCheck&&currentValue==previousValue)return;previousValue=currentValue;currentValue=lastWord(currentValue);if(currentValue.length>=options.minChars){$input.addClass(options.loadingClass);if(!options.matchCase)currentValue=currentValue.toLowerCase();request(currentValue,receiveData,hideResultsNow);}else{stopLoading();select.hide();}};function trimWords(value){if(!value)return[""];if(!options.multiple)return[$.trim(value)];return $.map(value.split(options.multipleSeparator),function(word){return $.trim(value).length?$.trim(word):null;});}function lastWord(value){if(!options.multiple)return value;var words=trimWords(value);if(words.length==1)return words[0];var cursorAt=$(input).selection().start;if(cursorAt==value.length){words=trimWords(value)}else{words=trimWords(value.replace(value.substring(cursorAt),""));}return words[words.length-1];}function autoFill(q,sValue){if(options.autoFill&&(lastWord($input.val()).toLowerCase()==q.toLowerCase())&&lastKeyPressCode!=KEY.BACKSPACE){$input.val($input.val()+sValue.substring(lastWord(previousValue).length));$(input).selection(previousValue.length,previousValue.length+sValue.length);}};function hideResults(){clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){var wasVisible=select.visible();select.hide();clearTimeout(timeout);stopLoading();if(options.mustMatch){$input.search(function(result){if(!result){if(options.multiple){var words=trimWords($input.val()).slice(0,-1);$input.val(words.join(options.multipleSeparator)+(words.length?options.multipleSeparator:""));}else{$input.val("");$input.trigger("result",null);}}});}};function receiveData(q,data){if(data&&data.length&&hasFocus){stopLoading();select.display(data,q);autoFill(q,data[0].value);select.show();}else{hideResultsNow();}};function request(term,success,failure){if(!options.matchCase)term=term.toLowerCase();var data=cache.load(term);if(data&&data.length){success(term,data);}else if((typeof options.url=="string")&&(options.url.length>0)){var extraParams={timestamp:+new Date()};$.each(options.extraParams,function(key,param){extraParams[key]=typeof param=="function"?param():param;});$.ajax({mode:"abort",port:"autocomplete"+input.name,dataType:options.dataType,url:options.url,data:$.extend({q:lastWord(term),limit:options.max},extraParams),success:function(data){var parsed=options.parse&&options.parse(data)||parse(data);cache.add(term,parsed);success(term,parsed);}});}else{select.emptyList();failure(term);}};function parse(data){var parsed=[];var rows=data.split("\n");for(var i=0;i<rows.length;i++){var row=$.trim(rows[i]);if(row){row=row.split("|");parsed[parsed.length]={data:row,value:row[0],result:options.formatResult&&options.formatResult(row,row[0])||row[0]};}}return parsed;};function stopLoading(){$input.removeClass(options.loadingClass);};};$.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(row){return row[0];},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(value,term){return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>");},scroll:true,scrollHeight:180};$.Autocompleter.Cache=function(options){var data={};var length=0;function matchSubset(s,sub){if(!options.matchCase)s=s.toLowerCase();var i=s.indexOf(sub);if(options.matchContains=="word"){i=s.toLowerCase().search("\\b"+sub.toLowerCase());}if(i==-1)return false;return i==0||options.matchContains;};function add(q,value){if(length>options.cacheLength){flush();}if(!data[q]){length++;}data[q]=value;}function populate(){if(!options.data)return false;var stMatchSets={},nullData=0;if(!options.url)options.cacheLength=1;stMatchSets[""]=[];for(var i=0,ol=options.data.length;i<ol;i++){var rawValue=options.data[i];rawValue=(typeof rawValue=="string")?[rawValue]:rawValue;var value=options.formatMatch(rawValue,i+1,options.data.length);if(value===false)continue;var firstChar=value.charAt(0).toLowerCase();if(!stMatchSets[firstChar])stMatchSets[firstChar]=[];var row={value:value,data:rawValue,result:options.formatResult&&options.formatResult(rawValue)||value};stMatchSets[firstChar].push(row);if(nullData++<options.max){stMatchSets[""].push(row);}};$.each(stMatchSets,function(i,value){options.cacheLength++;add(i,value);});}setTimeout(populate,25);function flush(){data={};length=0;}return{flush:flush,add:add,populate:populate,load:function(q){if(!options.cacheLength||!length)return null;if(!options.url&&options.matchContains){var csub=[];for(var k in data){if(k.length>0){var c=data[k];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub.push(x);}});}}return csub;}else
if(data[q]){return data[q];}else
if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var c=data[q.substr(0,i)];if(c){var csub=[];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub[csub.length]=x;}});return csub;}}}return null;}};};$.Autocompleter.Select=function(options,input,select,config){var CLASSES={ACTIVE:"ac_over"};var listItems,active=-1,data,term="",needsInit=true,element,list;function init(){if(!needsInit)return;element=$("<div/>").hide().addClass(options.resultsClass).css("position","absolute").appendTo(document.body);list=$("<ul/>").appendTo(element).mouseover(function(event){if(target(event).nodeName&&target(event).nodeName.toUpperCase()=='LI'){active=$("li",list).removeClass(CLASSES.ACTIVE).index(target(event));$(target(event)).addClass(CLASSES.ACTIVE);}}).click(function(event){$(target(event)).addClass(CLASSES.ACTIVE);select();input.focus();return false;}).mousedown(function(){config.mouseDownOnSelect=true;}).mouseup(function(){config.mouseDownOnSelect=false;});if(options.width>0)element.css("width",options.width);needsInit=false;}function target(event){var element=event.target;while(element&&element.tagName!="LI")element=element.parentNode;if(!element)return[];return element;}function moveSelect(step){listItems.slice(active,active+1).removeClass(CLASSES.ACTIVE);movePosition(step);var activeItem=listItems.slice(active,active+1).addClass(CLASSES.ACTIVE);if(options.scroll){var offset=0;listItems.slice(0,active).each(function(){offset+=this.offsetHeight;});if((offset+activeItem[0].offsetHeight-list.scrollTop())>list[0].clientHeight){list.scrollTop(offset+activeItem[0].offsetHeight-list.innerHeight());}else if(offset<list.scrollTop()){list.scrollTop(offset);}}};function movePosition(step){active+=step;if(active<0){active=listItems.size()-1;}else if(active>=listItems.size()){active=0;}}function limitNumberOfItems(available){return options.max&&options.max<available?options.max:available;}function fillList(){list.empty();var max=limitNumberOfItems(data.length);for(var i=0;i<max;i++){if(!data[i])continue;var formatted=options.formatItem(data[i].data,i+1,max,data[i].value,term);if(formatted===false)continue;var li=$("<li/>").html(options.highlight(formatted,term)).addClass(i%2==0?"ac_even":"ac_odd").appendTo(list)[0];$.data(li,"ac_data",data[i]);}listItems=list.find("li");if(options.selectFirst){listItems.slice(0,1).addClass(CLASSES.ACTIVE);active=0;}if($.fn.bgiframe)list.bgiframe();}return{display:function(d,q){init();data=d;term=q;fillList();},next:function(){moveSelect(1);},prev:function(){moveSelect(-1);},pageUp:function(){if(active!=0&&active-8<0){moveSelect(-active);}else{moveSelect(-8);}},pageDown:function(){if(active!=listItems.size()-1&&active+8>listItems.size()){moveSelect(listItems.size()-1-active);}else{moveSelect(8);}},hide:function(){element&&element.hide();listItems&&listItems.removeClass(CLASSES.ACTIVE);active=-1;},visible:function(){return element&&element.is(":visible");},current:function(){return this.visible()&&(listItems.filter("."+CLASSES.ACTIVE)[0]||options.selectFirst&&listItems[0]);},show:function(){var offset=$(input).offset();element.css({width:typeof options.width=="string"||options.width>0?options.width:$(input).width(),top:offset.top+input.offsetHeight,left:offset.left}).show();if(options.scroll){list.scrollTop(0);list.css({maxHeight:options.scrollHeight,overflow:'auto'});if($.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var listHeight=0;listItems.each(function(){listHeight+=this.offsetHeight;});var scrollbarsVisible=listHeight>options.scrollHeight;list.css('height',scrollbarsVisible?options.scrollHeight:listHeight);if(!scrollbarsVisible){listItems.width(list.width()-parseInt(listItems.css("padding-left"))-parseInt(listItems.css("padding-right")));}}}},selected:function(){var selected=listItems&&listItems.filter("."+CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);return selected&&selected.length&&$.data(selected[0],"ac_data");},emptyList:function(){list&&list.empty();},unbind:function(){element&&element.remove();}};};$.fn.selection=function(start,end){if(start!==undefined){return this.each(function(){if(this.createTextRange){var selRange=this.createTextRange();if(end===undefined||start==end){selRange.move("character",start);selRange.select();}else{selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}}else if(this.setSelectionRange){this.setSelectionRange(start,end);}else if(this.selectionStart){this.selectionStart=start;this.selectionEnd=end;}});}var field=this[0];if(field.createTextRange){var range=document.selection.createRange(),orig=field.value,teststring="<->",textLength=range.text.length;range.text=teststring;var caretAt=field.value.indexOf(teststring);field.value=orig;this.selection(caretAt,caretAt+textLength);return{start:caretAt,end:caretAt+textLength}}else if(field.selectionStart!==undefined){return{start:field.selectionStart,end:field.selectionEnd}}};})(jQuery);;$('#naseptavac').autocomplete('video.php');;if(typeof(nitobi)=="undefined"){nitobi=function(){};}
if(false){nitobi.lang=function(){};}
if(typeof(nitobi.lang)=="undefined"){nitobi.lang={};}
nitobi.lang.defineNs=function(_1){var _2=_1.split(".");var _3="";var _4="";for(var i=0;i<_2.length;i++){_3+=_4+_2[i];_4=".";if(eval("typeof("+_3+")")=="undefined"){eval(_3+"={}");}}};nitobi.lang.extend=function(_6,_7){function inheritance(){}
inheritance.prototype=_7.prototype;_6.prototype=new inheritance();_6.prototype.constructor=_6;_6.baseConstructor=_7;if(_7.base){_7.prototype.base=_7.base;}
_6.base=_7.prototype;};nitobi.lang.implement=function(_8,_9){for(var _a in _9.prototype){if(typeof(_8.prototype[_a])=="undefined"||_8.prototype[_a]==null){_8.prototype[_a]=_9.prototype[_a];}}};nitobi.lang.setJsProps=function(p,_c){for(var i=0;i<_c.length;i++){var _e=_c[i];p["set"+_e.n]=this.jSET;p["get"+_e.n]=this.jGET;p[_e.n]=_e.d;}};nitobi.lang.setXmlProps=function(p,_10){for(var i=0;i<_10.length;i++){var _12=_10[i];var s,g;switch(_12.t){case"i":s=this.xSET;g=this.xiGET;break;case"b":s=this.xbSET;g=this.xbGET;break;default:s=this.xSET;g=this.xGET;}
p["set"+_12.n]=s;p["get"+_12.n]=g;p["sModel"]+=_12.n+"\""+_12.d+"\" ";}};nitobi.lang.setEvents=function(p,_16){for(var i=0;i<_16.length;i++){var n=_16[i];p["set"+n]=this.eSET;p["get"+n]=this.eGET;var nn=n.substring(0,n.length-5);p["set"+nn]=this.eSET;p["get"+nn]=this.eGET;p["o"+n.substring(1)]=new nitobi.base.Event();}};nitobi.lang.isDefined=function(a){return(typeof(a)!="undefined");};nitobi.lang.getBool=function(a){if(null==a){return null;}
if(typeof(a)=="boolean"){return a;}
return a.toLowerCase()=="true";};nitobi.lang.type={XMLNODE:0,HTMLNODE:1,ARRAY:2,XMLDOC:3};nitobi.lang.typeOf=function(obj){var t=typeof(obj);if(t=="object"){if(obj.blur&&obj.innerHTML){return nitobi.lang.type.HTMLNODE;}
if(obj.nodeName&&obj.nodeName.toLowerCase()==="#document"){return nitobi.lang.type.XMLDOC;}
if(obj.nodeName){return nitobi.lang.type.XMLNODE;}
if(obj instanceof Array){return nitobi.lang.type.ARRAY;}}
return t;};nitobi.lang.toBool=function(_1e,_1f){if(typeof(_1f)!="undefined"){if((typeof(_1e)=="undefined")||(_1e=="")||(_1e==null)){_1e=_1f;}}
_1e=_1e.toString()||"";_1e=_1e.toUpperCase();if((_1e=="Y")||(_1e=="1")||(_1e=="TRUE")){return true;}else{return false;}};nitobi.lang.boolToStr=function(_20){if((typeof(_20)=="boolean"&&_20)||(typeof(_20)=="string"&&(_20.toLowerCase()=="true"||_20=="1"))){return"1";}else{return"0";}
return _20;};nitobi.lang.formatNumber=function(_21,_22,_23,_24){var n=nitobi.form.numberXslProc;n.addParameter("number",_21,"");n.addParameter("mask",_22,"");n.addParameter("group",_23,"");n.addParameter("decimal",_24,"");return nitobi.xml.transformToString(nitobi.xml.Empty,nitobi.form.numberXslProc);};nitobi.lang.close=function(_26,_27,_28){if(null==_28){return function(){return _27.apply(_26,arguments);};}else{return function(){return _27.apply(_26,_28);};}};nitobi.lang.after=function(_29,_2a,_2b,_2c){var _2d=_29[_2a];var _2e=_2b[_2c];if(_2c instanceof Function){_2e=_2c;}
_29[_2a]=function(){_2d.apply(_29,arguments);_2e.apply(_2b,arguments);};_29[_2a].orig=_2d;};nitobi.lang.before=function(_2f,_30,_31,_32){var _33=_2f[_30];var _34=function(){};if(_31!=null){_34=_31[_32];}
if(_32 instanceof Function){_34=_32;}
_2f[_30]=function(){_34.apply(_31,arguments);_33.apply(_2f,arguments);};_2f[_30].orig=_33;};nitobi.lang.forEach=function(arr,_36){var len=arr.length;for(var i=0;i<len;i++){_36.call(this,arr[i],i);}
_36=null;};nitobi.lang.throwError=function(_39,_3a){var msg=_39;if(_3a!=null){msg+="\n - because "+nitobi.lang.getErrorDescription(_3a);}
throw msg;};nitobi.lang.getErrorDescription=function(_3c){var _3d=(typeof(_3c.description)=="undefined")?_3c:_3c.description;return _3d;};nitobi.lang.newObject=function(_3e,_3f,_40){var a=_3f;if(null==_40){_40=0;}
var e="new "+_3e+"(";var _43="";for(var i=_40;i<a.length;i++){e+=_43+"a["+i+"]";_43=",";}
e+=")";return eval(e);};nitobi.lang.getLastFunctionArgs=function(_45,_46){var a=new Array(_45.length-_46);for(var i=_46;i<_45.length;i++){a[i-_46]=_45[i];}
return a;};nitobi.lang.getFirstHashKey=function(_49){for(var x in _49){return x;}};nitobi.lang.getFirstFunction=function(obj){for(var x in obj){if(obj[x]!=null&&typeof(obj[x])=="function"&&typeof(obj[x].prototype)!="undefined"){return{name:x,value:obj[x]};}}
return null;};nitobi.lang.copy=function(obj){var _4e={};for(var _4f in obj){_4e[_4f]=obj[_4f];}
return _4e;};nitobi.lang.dispose=function(_50,_51){try{if(_51!=null){var _52=_51.length;for(var i=0;i<_52;i++){if(typeof(_51[i].dispose)=="function"){_51[i].dispose();}
if(typeof(_51[i])=="function"){_51[i].call(_50);}
_51[i]=null;}}
for(var _54 in _50){if(_50[_54]!=null&&_50[_54].dispose instanceof Function){_50[_54].dispose();}
_50[_54]=null;}}
catch(e){}};nitobi.lang.parseNumber=function(val){var num=parseInt(val);return(isNaN(num)?0:num);};nitobi.lang.numToAlpha=function(num){if(typeof(nitobi.lang.numAlphaCache[num])==="string"){return nitobi.lang.numAlphaCache[num];}
var ck1=num%26;var ck2=Math.floor(num/26);var _5a=(ck2>0?String.fromCharCode(96+ck2):"")+String.fromCharCode(97+ck1);nitobi.lang.alphaNumCache[_5a]=num;nitobi.lang.numAlphaCache[num]=_5a;return _5a;};nitobi.lang.alphaToNum=function(_5b){if(typeof(nitobi.lang.alphaNumCache[_5b])==="number"){return nitobi.lang.alphaNumCache[_5b];}
var j=0;var num=0;for(var i=_5b.length-1;i>=0;i--){num+=(_5b.charCodeAt(i)-96)*Math.pow(26,j++);}
num=num-1;nitobi.lang.alphaNumCache[_5b]=num;nitobi.lang.numAlphaCache[num]=_5b;return num;};nitobi.lang.alphaNumCache={};nitobi.lang.numAlphaCache={};nitobi.lang.toArray=function(obj,_60){return Array.prototype.splice.call(obj,_60||0);};nitobi.lang.merge=function(_61,_62){var r={};for(var i=0;i<arguments.length;i++){var a=arguments[i];for(var x in arguments[i]){r[x]=a[x];}}
return r;};nitobi.lang.xor=function(){var b=false;for(var j=0;j<arguments.length;j++){if(arguments[j]&&!b){b=true;}else{if(arguments[j]&&b){return false;}}}
return b;};nitobi.lang.zeros="00000000000000000000000000000000000000000000000000000000000000000000";nitobi.lang.padZeros=function(num,_6a){_6a=_6a||2;num=num+"";return nitobi.lang.zeros.substr(0,Math.max(_6a-num.length,0))+num;};nitobi.lang.noop=function(){};nitobi.lang.isStandards=function(){var s=(document.compatMode=="CSS1Compat");if(nitobi.browser.SAFARI||nitobi.browser.CHROME){var _6c=document.createElement("div");_6c.style.cssText="width:0px;width:1";s=(parseInt(_6c.style.width)!=1);}
return s;};nitobi.lang.defineNs("nitobi.lang");nitobi.lang.Math=function(){};nitobi.lang.Math.sinTable=Array();nitobi.lang.Math.cosTable=Array();nitobi.lang.Math.rotateCoords=function(_6d,_6e,_6f){var _70=_6f*0.01745329277777778;if(nitobi.lang.Math.sinTable[_70]==null){nitobi.lang.Math.sinTable[_70]=Math.sin(_70);nitobi.lang.Math.cosTable[_70]=Math.cos(_70);}
var cR=nitobi.lang.Math.cosTable[_70];var sR=nitobi.lang.Math.sinTable[_70];var x=_6d*cR-_6e*sR;var y=_6e*cR+_6d*sR;return{x:x,y:y};};nitobi.lang.Math.returnAngle=function(_75,_76,_77,_78){return Math.atan2(_78-_76,_77-_75)/0.01745329277777778;};nitobi.lang.Math.returnDistance=function(x1,y1,x2,y2){return Math.sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));};nitobi.lang.defineNs("nitobi");nitobi.Object=function(){this.disposal=new Array();this.modelNodes={};};nitobi.Object.prototype.setValues=function(_7d){for(var _7e in _7d){if(this[_7e]!=null){if(this[_7e].subscribe!=null){}else{this[_7e]=_7d[_7e];}}else{if(this[_7e]instanceof Function){this[_7e](_7d[_7e]);}else{if(this["set"+_7e]instanceof Function){this["set"+_7e](_7d[_7e]);}else{this[_7e]=_7d[_7e];}}}}};nitobi.Object.prototype.xGET=function(){var _7f=null,_80="@"+arguments[0],val="";var _82=this.modelNodes[_80];if(_82!=null){_7f=_82;}else{_7f=this.modelNodes[_80]=this.modelNode.selectSingleNode(_80);}
if(_7f!=null){val=_7f.nodeValue;}
return val;};nitobi.Object.prototype.xSET=function(){var _83=null,_84="@"+arguments[0];var _85=this.modelNodes[_84];if(_85!=null){_83=_85;}else{_83=this.modelNodes[_84]=this.modelNode.selectSingleNode(_84);}
if(_83==null){this.modelNode.setAttribute(arguments[0],"");}
if(arguments[1][0]!=null&&_83!=null){if(typeof(arguments[1][0])=="boolean"){_83.nodeValue=nitobi.lang.boolToStr(arguments[1][0]);}else{_83.nodeValue=arguments[1][0];}}};nitobi.Object.prototype.eSET=function(_86,_87){var _88=_87[0];var _89=_88;var _8a=_86.substr(2);_8a=_8a.substr(0,_8a.length-5);if(typeof(_88)=="string"){_89=function(){return nitobi.event.evaluate(_88,arguments[0]);};}
if(this[_86]!=null){this.unsubscribe(_8a,this[_86]);}
var _8b=this.subscribe(_8a,_89);this.jSET(_86,[_8b]);return _8b;};nitobi.Object.prototype.eGET=function(){};nitobi.Object.prototype.jSET=function(_8c,val){this[_8c]=val[0];};nitobi.Object.prototype.jGET=function(_8e){return this[_8e];};nitobi.Object.prototype.xsGET=nitobi.Object.prototype.xGET;nitobi.Object.prototype.xsSET=nitobi.Object.prototype.xSET;nitobi.Object.prototype.xbGET=function(){return nitobi.lang.toBool(this.xGET.apply(this,arguments),false);};nitobi.Object.prototype.xiGET=function(){return parseInt(this.xGET.apply(this,arguments));};nitobi.Object.prototype.xiSET=nitobi.Object.prototype.xSET;nitobi.Object.prototype.xdGET=function(){};nitobi.Object.prototype.xnGET=function(){return parseFloat(this.xGET.apply(this,arguments));};nitobi.Object.prototype.xbSET=function(){this.xSET.call(this,arguments[0],[nitobi.lang.boolToStr(arguments[1][0])]);};nitobi.Object.prototype.fire=function(evt,_90){return nitobi.event.notify(evt+this.uid,_90);};nitobi.Object.prototype.subscribe=function(evt,_92,_93){if(this.subscribedEvents==null){this.subscribedEvents={};}
if(typeof(_93)=="undefined"){_93=this;}
var _94=nitobi.event.subscribe(evt+this.uid,nitobi.lang.close(_93,_92));this.subscribedEvents[_94]=evt+this.uid;return _94;};nitobi.Object.prototype.subscribeOnce=function(evt,_96,_97,_98){var _99=this;var _9a=function(){_96.apply(_97||this,_98||arguments);_99.unsubscribe(evt,_9b);};var _9b=this.subscribe(evt,_9a);return _9b;};nitobi.Object.prototype.unsubscribe=function(evt,_9d){return nitobi.event.unsubscribe(evt+this.uid,_9d);};nitobi.Object.prototype.dispose=function(){if(this.disposing){return;}
this.disposing=true;var _9e=this.disposal.length;for(var i=0;i<_9e;i++){if(disposal[i]instanceof Function){disposal[i].call(context);}
disposal[i]=null;}
for(var _a0 in this){if(this[_a0].dispose instanceof Function){this[_a0].dispose.call(this[_a0]);}
this[_a0]=null;}};if(false){nitobi.base=function(){};}
nitobi.lang.defineNs("nitobi.base");nitobi.base.uid=1;nitobi.base.getUid=function(){return"ntb__"+(nitobi.base.uid++);};nitobi.lang.defineNs("nitobi.browser");if(false){nitobi.browser=function(){};}
nitobi.browser.UNKNOWN=true;nitobi.browser.IE=false;nitobi.browser.IE6=false;nitobi.browser.IE7=false;nitobi.browser.IE8=false;nitobi.browser.MOZ=false;nitobi.browser.FF3=false;nitobi.browser.SAFARI=false;nitobi.browser.OPERA=false;nitobi.browser.AIR=false;nitobi.browser.CHROME=false;nitobi.browser.XHR_ENABLED;nitobi.browser.detect=function(){var _a1=[{string:navigator.vendor,subString:"Adobe",identity:"AIR"},{string:navigator.vendor,subString:"Google",identity:"Chrome"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"},{string:navigator.vendor,subString:"Camino",identity:"Camino"}];var _a2="Unknown";for(var i=0;i<_a1.length;i++){var _a4=_a1[i].string;var _a5=_a1[i].prop;if(_a4){if(_a4.indexOf(_a1[i].subString)!=-1){_a2=_a1[i].identity;break;}}else{if(_a5){_a2=_a1[i].identity;break;}}}
nitobi.browser.IE=(_a2=="Explorer");nitobi.browser.IE6=(nitobi.browser.IE&&!window.XMLHttpRequest);nitobi.browser.IE7=(nitobi.browser.IE&&window.XMLHttpRequest);nitobi.browser.MOZ=(_a2=="Netscape"||_a2=="Firefox"||_a2=="Camino");nitobi.browser.FF3=(_a2=="Firefox"&&parseInt(navigator.userAgent.substr(navigator.userAgent.indexOf("Firefox/")+8,3))==3);nitobi.browser.SAFARI=(_a2=="Safari");nitobi.browser.OPERA=(_a2=="Opera");nitobi.browser.AIR=(_a2=="AIR");nitobi.browser.CHROME=(_a2=="Chrome");if(nitobi.browser.SAFARI){nitobi.browser.OPERA=true;}
if(nitobi.browser.AIR){nitobi.browser.SAFARI=true;}
nitobi.browser.XHR_ENABLED=nitobi.browser.OPERA||nitobi.browser.SAFARI||nitobi.browser.MOZ||nitobi.browser.IE||nitobi.browser.CHROME;nitobi.browser.UNKNOWN=!(nitobi.browser.IE||nitobi.browser.MOZ||nitobi.browser.SAFARI||nitobi.browser.CHROME);};nitobi.browser.detect();if(nitobi.browser.IE6){try{document.execCommand("BackgroundImageCache",false,true);}
catch(e){}}
nitobi.lang.defineNs("nitobi.browser");nitobi.browser.Cookies=function(){};nitobi.lang.extend(nitobi.browser.Cookies,nitobi.Object);nitobi.browser.Cookies.get=function(id){var _a7,end;if(document.cookie.length>0){_a7=document.cookie.indexOf(id+"=");if(_a7!=-1){_a7+=id.length+1;end=document.cookie.indexOf(";",_a7);if(end==-1){end=document.cookie.length;}
return unescape(document.cookie.substring(_a7,end));}}
return null;};nitobi.browser.Cookies.set=function(id,_aa,_ab){var _ac=new Date();_ac.setTime(_ac.getTime()+(_ab*24*3600*1000));document.cookie=id+"="+escape(_aa)+((_ab==null)?"":"; expires="+_ac.toGMTString());};nitobi.browser.Cookies.remove=function(id){if(nitobi.browser.Cookies.get(id)){document.cookie=id+"="+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}};nitobi.lang.defineNs("nitobi.browser");nitobi.browser.History=function(){this.lastPage="";this.currentPage="";this.onChange=new nitobi.base.Event();this.iframeObject=nitobi.html.createElement("iframe",{"name":"ntb_history","id":"ntb_history"},{"display":"none"});document.body.appendChild(nitobi.xml.importNode(document,this.iframeObject,true));this.iframe=frames["ntb_history"];this.monitor();};nitobi.browser.History.prototype.add=function(_ae){this.lastPage=this.currentPage=_ae.substr(_ae.indexOf("#")+1);this.iframe.location.href=_ae;};nitobi.browser.History.prototype.monitor=function(){var _af=this.iframe.location.href.split("#");this.currentPage=_af[1];if(this.currentPage!=this.lastPage){this.onChange.notify(_af[0].substring(_af[0].lastIndexOf("/")+1),this.currentPage);this.lastPage=this.currentPage;}
window.setTimeout(nitobi.lang.close(this,this.monitor),1500);};nitobi.lang.defineNs("nitobi.xml");nitobi.xml=function(){};nitobi.xml.nsPrefix="ntb:";nitobi.xml.nsDecl="xmlns:ntb=\"http://www.nitobi.com\"";if(nitobi.browser.IE){var inUse=false;nitobi.xml.XslTemplate=new ActiveXObject("MSXML2.XSLTemplate.3.0");}
if(typeof XMLSerializer!="undefined"&&typeof DOMParser!="undefined"){nitobi.xml.Serializer=new XMLSerializer();nitobi.xml.DOMParser=new DOMParser();}
nitobi.xml.getChildNodes=function(_b0){if(nitobi.browser.IE){return _b0.childNodes;}else{return _b0.selectNodes("./*");}};nitobi.xml.indexOfChildNode=function(_b1,_b2){var _b3=nitobi.xml.getChildNodes(_b1);for(var i=0;i<_b3.length;i++){if(_b3[i]==_b2){return i;}}
return-1;};nitobi.xml.createXmlDoc=function(xml){if(xml!=null){xml=xml.substring(xml.indexOf("<?xml"));}
if(xml!=null&&xml.documentElement!=null){return xml;}
var doc=null;if(nitobi.browser.IE){doc=new ActiveXObject("Msxml2.DOMDocument.3.0");doc.setProperty("SelectionNamespaces","xmlns:ntb='http://www.nitobi.com'");}else{if(document.implementation&&document.implementation.createDocument){doc=document.implementation.createDocument("","",null);}}
if(xml!=null&&typeof xml=="string"){doc=nitobi.xml.loadXml(doc,xml);}
return doc;};nitobi.xml.loadXml=function(doc,xml,_b9){doc.async=false;if(nitobi.browser.IE){doc.loadXML(xml);}else{var _ba=nitobi.xml.DOMParser.parseFromString((xml.xml!=null?xml.xml:xml),"text/xml");if(_b9){while(doc.hasChildNodes()){doc.removeChild(doc.firstChild);}
for(var i=0;i<_ba.childNodes.length;i++){doc.appendChild(doc.importNode(_ba.childNodes[i],true));}}else{doc=_ba;}
_ba=null;}
return doc;};nitobi.xml.hasParseError=function(_bc){if(nitobi.browser.IE){return(_bc.parseError!=0);}else{if(_bc==null||_bc.documentElement==null){return true;}
var _bd=_bc.documentElement;if((_bd.tagName=="parserError")||(_bd.namespaceURI=="http://www.mozilla.org/newlayout/xml/parsererror.xml")){return true;}
return false;}};nitobi.xml.getParseErrorReason=function(_be){if(!nitobi.xml.hasParseError(_be)){return"";}
if(nitobi.browser.IE){return(_be.parseError.reason);}else{return(new XMLSerializer().serializeToString(_be));}};nitobi.xml.createXslDoc=function(xsl){var doc=null;if(nitobi.browser.IE){doc=new ActiveXObject("MSXML2.FreeThreadedDOMDocument.3.0");}else{doc=nitobi.xml.createXmlDoc();}
doc=nitobi.xml.loadXml(doc,xsl||"<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:ntb=\"http://www.nitobi.com\" />");return doc;};nitobi.xml.createXslProcessor=function(xsl){var _c2=null;var xt=null;if(typeof(xsl)!="string"){xsl=nitobi.xml.serialize(xsl);}
if(nitobi.browser.IE){_c2=new ActiveXObject("MSXML2.FreeThreadedDOMDocument.3.0");xt=new ActiveXObject("MSXML2.XSLTemplate.3.0");_c2.async=false;_c2.loadXML(xsl);xt.stylesheet=_c2;return xt.createProcessor();}else{if(XSLTProcessor){_c2=nitobi.xml.createXmlDoc(xsl);xt=new XSLTProcessor();xt.importStylesheet(_c2);xt.stylesheet=_c2;return xt;}}};nitobi.xml.parseHtml=function(_c4){if(typeof(_c4)=="string"){_c4=document.getElementById(_c4);}
var _c5=nitobi.html.getOuterHtml(_c4);var _c6="";if(nitobi.browser.IE){var _c7=new RegExp("(\\s+.[^=]*)='(.*?)'","g");_c5=_c5.replace(_c7,function(m,_1,_2){return _1+"=\""+_2.replace(/"/g,"&quot;")+"\"";});_c6=(_c5.substring(_c5.indexOf("/>")+2).replace(/(\s+.[^\=]*)\=\s*([^\"^\s^\>]+)/g,"$1=\"$2\" ")).replace(/\n/gi,"").replace(/(.*?:.*?\s)/i,"$1  ");var _cb=new RegExp("=\"([^\"]*)(<)(.*?)\"","gi");var _cc=new RegExp("=\"([^\"]*)(>)(.*?)\"","gi");while(true){_c6=_c6.replace(_cb,"=\"$1&lt;$3\" ");_c6=_c6.replace(_cc,"=\"$1&gt;$3\" ");var x=(_cb.test(_c6));if(!_cb.test(_c6)){break;}}}else{_c6=_c5;_c6=_c6.replace(/\n/gi,"").replace(/\>\s*\</gi,"><").replace(/(.*?:.*?\s)/i,"$1  ");_c6=_c6.replace(/\&/g,"&amp;");_c6=_c6.replace(/\&amp;gt;/g,"&gt;").replace(/\&amp;lt;/g,"&lt;").replace(/\&amp;apos;/g,"&apos;").replace(/\&amp;quot;/g,"&quot;").replace(/\&amp;amp;/g,"&amp;").replace(/\&amp;eq;/g,"&eq;");}
if(_c6.indexOf("xmlns:ntb=\"http://www.nitobi.com\"")<1){_c6=_c6.replace(/\<(.*?)(\s|\>|\\)/,"<$1 xmlns:ntb=\"http://www.nitobi.com\"$2");}
_c6=_c6.replace(/\&nbsp\;/gi," ");return nitobi.xml.createXmlDoc(_c6);};nitobi.xml.transform=function(xml,xsl,_d0){if(xsl.documentElement){xsl=nitobi.xml.createXslProcessor(xsl);}
if(nitobi.browser.IE){xsl.input=xml;xsl.transform();return xsl.output;}else{if(XSLTProcessor){var doc=xsl.transformToDocument(xml);var _d2=doc.documentlement;if(_d2&&_d2.nodeName.indexOf("ntb:")==0){_d2.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:ntb","http://www.nitobi.com");}
return doc;}}};nitobi.xml.transformToString=function(xml,xsl,_d5){var _d6=nitobi.xml.transform(xml,xsl,"text");if(nitobi.browser.MOZ){if(_d5=="xml"){_d6=nitobi.xml.Serializer.serializeToString(_d6);}else{if(_d6.documentElement.childNodes[0]==null){nitobi.lang.throwError("The transformToString fn could not find any valid output");}
if(_d6.documentElement.childNodes[0].data!=null){_d6=_d6.documentElement.childNodes[0].data;}else{if(_d6.documentElement.childNodes[0].textContent!=null){_d6=_d6.documentElement.childNodes[0].textContent;}else{nitobi.lang.throwError("The transformToString fn could not find any valid output");}}}}else{if(nitobi.browser.SAFARI||nitobi.browser.CHROME){if(_d5=="xml"){_d6=nitobi.xml.Serializer.serializeToString(_d6);}else{var _d7=_d6.documentElement;if(_d7.nodeName!="transformiix:result"){_d7=_d7.getElementsByTagName("pre")[0];}
try{_d6=_d7.childNodes[0].data;}
catch(e){_d6=(_d7.data);}}}}
return _d6;};nitobi.xml.transformToXml=function(xml,xsl){var _da=nitobi.xml.transform(xml,xsl,"xml");if(typeof _da=="string"){_da=nitobi.xml.createXmlDoc(_da);}else{if(_da.documentElement.nodeName=="transformiix:result"){_da=nitobi.xml.createXmlDoc(_da.documentElement.firstChild.data);}}
return _da;};nitobi.xml.serialize=function(xml){if(nitobi.browser.IE){return xml.xml;}else{return(new XMLSerializer()).serializeToString(xml);}};nitobi.xml.createXmlHttp=function(){if(nitobi.browser.IE){var _dc=null;try{_dc=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){try{_dc=new ActiveXObject("Microsoft.XMLHTTP");}
catch(ee){}}
return _dc;}else{return new XMLHttpRequest();}};nitobi.xml.createElement=function(_dd,_de,ns){ns=ns||"http://www.nitobi.com";var _e0=null;if(nitobi.browser.IE){_e0=_dd.createNode(1,nitobi.xml.nsPrefix+_de,ns);}else{if(_dd.createElementNS){_e0=_dd.createElementNS(ns,nitobi.xml.nsPrefix+_de);}}
return _e0;};function nitobiXmlDecodeXslt(xsl){return xsl.replace(/x:c-/g,"xsl:choose").replace(/x\:wh\-/g,"xsl:when").replace(/x\:o\-/g,"xsl:otherwise").replace(/x\:n\-/g," name=\"").replace(/x\:s\-/g," select=\"").replace(/x\:va\-/g,"xsl:variable").replace(/x\:v\-/g,"xsl:value-of").replace(/x\:ct\-/g,"xsl:call-template").replace(/x\:w\-/g,"xsl:with-param").replace(/x\:p\-/g,"xsl:param").replace(/x\:t\-/g,"xsl:template").replace(/x\:at\-/g,"xsl:apply-templates").replace(/x\:a\-/g,"xsl:attribute");}
if(!nitobi.browser.IE){Document.prototype.loadXML=function(_e2){changeReadyState(this,1);var p=new DOMParser();var d=p.parseFromString(_e2,"text/xml");while(this.hasChildNodes()){this.removeChild(this.lastChild);}
for(var i=0;i<d.childNodes.length;i++){this.appendChild(this.importNode(d.childNodes[i],true));}
changeReadyState(this,4);};Document.prototype.__defineGetter__("xml",function(){return(new XMLSerializer()).serializeToString(this);});Node.prototype.__defineGetter__("xml",function(){return(new XMLSerializer()).serializeToString(this);});XPathResult.prototype.__defineGetter__("length",function(){return this.snapshotLength;});if(XSLTProcessor){XSLTProcessor.prototype.addParameter=function(_e6,_e7,_e8){if(_e7==null){this.removeParameter(_e8,_e6);}else{this.setParameter(_e8,_e6,_e7);}};}
XMLDocument.prototype.selectNodes=function(_e9,_ea){try{if(this.nsResolver==null){this.nsResolver=this.createNSResolver(this.documentElement);}
var _eb=this.evaluate(_e9,(_ea?_ea:this),new MyNSResolver(),XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);var _ec=new Array(_eb.snapshotLength);_ec.expr=_e9;var j=0;for(i=0;i<_eb.snapshotLength;i++){var _ee=_eb.snapshotItem(i);if(_ee.nodeType!=3){_ec[j++]=_ee;}}
return _ec;}
catch(e){}};Document.prototype.selectNodes=XMLDocument.prototype.selectNodes;function MyNSResolver(){}
MyNSResolver.prototype.lookupNamespaceURI=function(_ef){switch(_ef){case"xsl":return"http://www.w3.org/1999/XSL/Transform";break;case"ntb":return"http://www.nitobi.com";break;case"d":return"http://exslt.org/dates-and-times";break;case"n":return"http://www.nitobi.com/exslt/numbers";break;default:return null;break;}};XMLDocument.prototype.selectSingleNode=function(_f0,_f1){var _f2=_f0.match(/\[\d+\]/ig);if(_f2!=null){var x=_f2[_f2.length-1];if(_f0.lastIndexOf(x)+x.length!=_f0.length){_f0+="[1]";}}
var _f4=this.selectNodes(_f0,_f1||null);return((_f4!=null&&_f4.length>0)?_f4[0]:null);};Document.prototype.selectSingleNode=XMLDocument.prototype.selectSingleNode;Element.prototype.selectNodes=function(_f5){var doc=this.ownerDocument;return doc.selectNodes(_f5,this);};Element.prototype.selectSingleNode=function(_f7){var doc=this.ownerDocument;return doc.selectSingleNode(_f7,this);};}
nitobi.xml.getLocalName=function(_f9){var _fa=_f9.indexOf(":");if(_fa==-1){return _f9;}else{return _f9.substr(_fa+1);}};nitobi.xml.importNode=function(doc,_fc,_fd){if(_fd==null){_fd=true;}
return(doc.importNode?doc.importNode(_fc,_fd):_fc);};nitobi.xml.encode=function(str){str+="";str=str.replace(/&/g,"&amp;");str=str.replace(/'/g,"&apos;");str=str.replace(/\"/g,"&quot;");str=str.replace(/</g,"&lt;");str=str.replace(/>/g,"&gt;");str=str.replace(/\n/g,"&#xa;");return str;};nitobi.xml.constructValidXpathQuery=function(_ff,_100){var _101=_ff.match(/(\"|\')/g);if(_101!=null){var _102="concat(";var _103="";var _104;for(var i=0;i<_ff.length;i++){if(_ff.substr(i,1)=="\""){_104="&apos;";}else{_104="&quot;";}
_102+=_103+_104+nitobi.xml.encode(_ff.substr(i,1))+_104;_103=",";}
_102+=_103+"&apos;&apos;";_102+=")";_ff=_102;}else{var quot=(_100?"'":"");_ff=quot+nitobi.xml.encode(_ff)+quot;}
return _ff;};nitobi.xml.removeChildren=function(_107){while(_107.firstChild){_107.removeChild(_107.firstChild);}};nitobi.xml.Empty=nitobi.xml.createXmlDoc("<root></root>");nitobi.lang.defineNs("nitobi.html");nitobi.html.Url=function(){};nitobi.html.Url.setParameter=function(url,key,_10a){var reg=new RegExp("(\\?|&)("+encodeURIComponent(key)+")=(.*?)(&|$)");if(url.match(reg)){return url.replace(reg,"$1$2="+encodeURIComponent(_10a)+"$4");}
if(url.match(/\?/)){url=url+"&";}else{url=url+"?";}
return url+encodeURIComponent(key)+"="+encodeURIComponent(_10a);};nitobi.html.Url.removeParameter=function(url,key){var reg=new RegExp("(\\?|&)("+encodeURIComponent(key)+")=(.*?)(&|$)");return url.replace(reg,function(str,p1,p2,p3,p4,_114,s){if(((p1)=="?")&&(p4!="&")){return"";}else{return p1;}});};nitobi.html.Url.normalize=function(url,file){if(file){if(file.indexOf("http://")==0||file.indexOf("https://")==0||file.indexOf("/")==0){return file;}}
var href=(url.match(/.*\//)||"")+"";if(file){return href+file;}
return href;};nitobi.html.Url.randomize=function(url){return nitobi.html.Url.setParameter(url,"ntb-random",(new Date).getTime());};nitobi.lang.defineNs("nitobi.base");nitobi.base.Event=function(type){this.type=type;this.handlers={};this.guid=0;this.setEnabled(true);};nitobi.base.Event.prototype.subscribe=function(_11b,_11c,guid){if(_11b==null){return;}
var func=_11b;if(typeof(_11b)=="string"){var s=_11b;s=s.replace(/\#\&lt\;\#/g,"<").replace(/\#\&gt\;\#/g,">").replace(/\#\&amp;lt\;\#/g,"<").replace(/\#\&amp;gt\;\#/g,">").replace(/\/\*EQ\*\//g,"=").replace(/\#\Q\#/g,"\"").replace(/\#\&amp\;\#/g,"&");s=s.replace(/eventArgs/g,"arguments[0]");_11b=nitobi.lang.close(_11c,function(){eval(s);});}
if(typeof _11c=="object"&&_11b instanceof Function){func=nitobi.lang.close(_11c,_11b);}
guid=guid||func.observer_guid||_11b.observer_guid||this.guid++;func.observer_guid=guid;_11b.observer_guid=guid;this.handlers[guid]=func;return guid;};nitobi.base.Event.prototype.subscribeOnce=function(_120,_121){var guid=null;var _123=this;var _124=function(){_120.apply(_121||null,arguments);_123.unSubscribe(guid);};guid=this.subscribe(_124);return guid;};nitobi.base.Event.prototype.unSubscribe=function(guid){if(guid instanceof Function){guid=guid.observer_guid;}
this.handlers[guid]=null;delete this.handlers[guid];};nitobi.base.Event.prototype.notify=function(_126){if(this.enabled){if(arguments.length==0){arguments=new Array();arguments[0]=new nitobi.base.EventArgs(null,this);arguments[0].event=this;arguments[0].source=null;}else{if(typeof(arguments[0].event)!="undefined"&&arguments[0].event==null){arguments[0].event=this;}}
var fail=false;for(var item in this.handlers){var _129=this.handlers[item];if(_129 instanceof Function){var rv=(_129.apply(this,arguments)==false);fail=fail||rv;}}
return!fail;}
return true;};nitobi.base.Event.prototype.dispose=function(){for(var _12b in this.handlers){this.handlers[_12b]=null;}
this.handlers={};};nitobi.base.Event.prototype.setEnabled=function(_12c){this.enabled=_12c;};nitobi.base.Event.prototype.isEnabled=function(){return this.enabled;};nitobi.lang.defineNs("nitobi.html");nitobi.html.Css=function(){};nitobi.html.Css.onPrecached=new nitobi.base.Event();nitobi.html.Css.swapClass=function(_12d,_12e,_12f){if(_12d.className){var reg=new RegExp("(\\s|^)"+_12e+"(\\s|$)");_12d.className=_12d.className.replace(reg,"$1"+_12f+"$2");}};nitobi.html.Css.replaceOrAppend=function(_131,_132,_133){if(nitobi.html.Css.hasClass(_131,_132)){nitobi.html.Css.swapClass(_131,_132,_133);}else{nitobi.html.Css.addClass(_131,_133);}};nitobi.html.Css.hasClass=function(_134,_135){if(!_135||_135===""){return false;}
return(new RegExp("(\\s|^)"+_135+"(\\s|$)")).test(_134.className);};nitobi.html.Css.addClass=function(_136,_137,_138){if(_138==true||!nitobi.html.Css.hasClass(_136,_137)){_136.className=_136.className?_136.className+" "+_137:_137;}};nitobi.html.Css.removeClass=function(_139,_13a,_13b){if(typeof _13a=="array"){for(var i=0;i<_13a.length;i++){this.removeClass(_139,_13a[i],_13b);}}
if(_13b==true||nitobi.html.Css.hasClass(_139,_13a)){var reg=new RegExp("(\\s|^)"+_13a+"(\\s|$)");_139.className=_139.className.replace(reg,"$2");}};nitobi.html.Css.addRule=function(_13e,_13f,_140){if(_13e.cssRules){var _141=_13e.insertRule(_13f+"{"+(_140||"")+"}",_13e.cssRules.length);return _13e.cssRules[_141];}else{_13e.addRule(_13f,_140||"nitobi:placeholder;");return _13e.rules[_13e.rules.length-1];}};nitobi.html.Css.getRules=function(_142){var _143=null;if(typeof(_142)=="number"){_143=document.styleSheets[_142];}else{_143=_142;}
if(_143==null){return null;}
try{if(_143.cssRules){return _143.cssRules;}
if(_143.rules){return _143.rules;}}
catch(e){}
return null;};nitobi.html.Css.getStyleSheetsByName=function(_144){var arr=new Array();var ss=document.styleSheets;var _147=new RegExp(_144.replace(".",".")+"($|\\?)");for(var i=0;i<ss.length;i++){arr=nitobi.html.Css._getStyleSheetsByName(_147,ss[i],arr);}
return arr;};nitobi.html.Css._getStyleSheetsByName=function(_149,_14a,arr){if(_149.test(_14a.href)){arr=arr.concat([_14a]);}
var _14c=nitobi.html.Css.getRules(_14a);if(_14a.href!=""&&_14a.imports){for(var i=0;i<_14a.imports.length;i++){arr=nitobi.html.Css._getStyleSheetsByName(_149,_14a.imports[i],arr);}}else{for(var i=0;i<_14c.length;i++){var s=_14c[i].styleSheet;if(s){arr=nitobi.html.Css._getStyleSheetsByName(_149,s,arr);}}}
return arr;};nitobi.html.Css.imageCache={};nitobi.html.Css.imageCacheDidNotify=false;nitobi.html.Css.trackPrecache=function(_14f){nitobi.html.Css.precacheArray[_14f]=true;var _150=false;for(var i in nitobi.html.Css.precacheArray){if(!nitobi.html.Css.precacheArray[i]){_150=true;}}
if((!nitobi.html.Css.imageCacheDidNotify)&&(!_150)){nitobi.html.Css.imageCacheDidNotify=true;nitobi.html.Css.isPrecaching=false;nitobi.html.Css.onPrecached.notify();}};nitobi.html.Css.precacheArray={};nitobi.html.Css.isPrecaching=false;nitobi.html.Css.precacheImages=function(_152){nitobi.html.Css.isPrecaching=true;if(!_152){var ss=document.styleSheets;for(var i=0;i<ss.length;i++){nitobi.html.Css.precacheImages(ss[i]);}
return;}
var _155=/.*?url\((.*?)\).*?/;var _156=nitobi.html.Css.getRules(_152);var url=nitobi.html.Css.getPath(_152);for(var i=0;i<_156.length;i++){var rule=_156[i];if(rule.styleSheet){nitobi.html.Css.precacheImages(rule.styleSheet);}else{var s=rule.style;var _15a=s?s.backgroundImage:null;if(_15a){_15a=_15a.replace(_155,"$1");_15a=nitobi.html.Url.normalize(url,_15a);if(!nitobi.html.Css.imageCache[_15a]){var _15b=new Image();_15b.src=_15a;nitobi.html.Css.precacheArray[_15a]=false;var _15c=nitobi.lang.close({},nitobi.html.Css.trackPrecache,[_15a]);_15b.onload=_15c;_15b.onerror=_15c;_15b.onabort=_15c;nitobi.html.Css.imageCache[_15a]=_15b;try{if(_15b.width>0){nitobi.html.Css.precacheArray[_15a]=true;}}
catch(e){}}}}}
if(_152.href!=""&&_152.imports){for(var i=0;i<_152.imports.length;i++){nitobi.html.Css.precacheImages(_152.imports[i]);}}};nitobi.html.Css.getPath=function(_15d){var href=_15d.href;href=nitobi.html.Url.normalize(href);if(_15d.parentStyleSheet&&href.indexOf("/")!=0&&href.indexOf("http://")!=0&&href.indexOf("https://")!=0){href=nitobi.html.Css.getPath(_15d.parentStyleSheet)+href;}
return href;};nitobi.html.Css.getSheetUrl=nitobi.html.Css.getPath;nitobi.html.Css.findParentStylesheet=function(_15f){var rule=nitobi.html.Css.getRule(_15f);if(rule){return rule.parentStyleSheet;}
return null;};nitobi.html.Css.findInSheet=function(_161,_162,_163){if(nitobi.browser.IE6&&typeof _163=="undefined"){_163=0;}else{if(_163>4){return null;}}
_163++;var _164=nitobi.html.Css.getRules(_162);for(var rule=0;rule<_164.length;rule++){var _166=_164[rule];var ss=_166.styleSheet;var _168=_166.selectorText;if(ss){var _169=nitobi.html.Css.findInSheet(_161,ss,_163);if(_169){return _169;}}else{if(_168!=null&&_168.toLowerCase().indexOf(_161)>-1){if(nitobi.browser.IE){_166={selectorText:_168,style:_166.style,readOnly:_166.readOnly,parentStyleSheet:_162};}
return _166;}}}
var _16a=_162.imports;if(_162.href!=""&&_16a){var _16b=_16a.length;for(var i=0;i<_16b;i++){var _169=nitobi.html.Css.findInSheet(_161,_16a[i],_163);if(_169){return _169;}}}
return null;};nitobi.html.Css.getClass=function(_16d,_16e){_16d=_16d.toLowerCase();if(_16d.indexOf(".")!==0){_16d="."+_16d;}
if(_16e){var rule=nitobi.html.Css.getRule(_16d);if(rule!=null){return rule.style;}}else{if(nitobi.html.Css.classCache[_16d]==null){var rule=nitobi.html.Css.getRule(_16d);if(rule!=null){nitobi.html.Css.classCache[_16d]=rule.style;}else{return null;}}
return nitobi.html.Css.classCache[_16d];}};nitobi.html.Css.classCache={};nitobi.html.Css.getStyleBySelector=function(_170){var rule=nitobi.html.Css.getRule(_170);if(rule!=null){return rule.style;}
return null;};nitobi.html.Css.getRule=function(_172){_172=_172.toLowerCase();if(_172.indexOf(".")!==0){_172="."+_172;}
var _173=document.styleSheets;for(var ss=0;ss<_173.length;ss++){try{var _175=nitobi.html.Css.findInSheet(_172,_173[ss]);if(_175){return _175;}}
catch(err){}}
return null;};nitobi.html.Css.getClassStyle=function(_176,_177){var _178=nitobi.html.Css.getClass(_176);if(_178!=null){return _178[_177];}else{return null;}};nitobi.html.Css.setStyle=function(el,rule,_17b){rule=rule.replace(/\-(\w)/g,function(_17c,p1){return p1.toUpperCase();});el.style[rule]=_17b;};nitobi.html.Css.getStyle=function(oElm,_17f){var _180="";if(document.defaultView&&document.defaultView.getComputedStyle){_17f=_17f.replace(/([A-Z])/g,function($1){return"-"+$1.toLowerCase();});strStyle=document.defaultView.getComputedStyle(oElm,null);_180=strStyle.getPropertyValue(_17f);}else{if(oElm.currentStyle){_17f=_17f.replace(/\-(\w)/g,function(_182,p1){return p1.toUpperCase();});_180=oElm.currentStyle[_17f];}}
return _180;};nitobi.html.Css.setOpacities=function(_184,_185){if(_184.length){for(var i=0;i<_184.length;i++){nitobi.html.Css.setOpacity(_184[i],_185);}}else{nitobi.html.Css.setOpacity(_184,_185);}};nitobi.html.Css.setOpacity=function(_187,_188){var s=_187.style;if(_188>100){_188=100;}
if(_188<0){_188=0;}
if(s.filter!=null){var _18a=s.filter.match(/alpha\(opacity=[\d\.]*?\)/ig);if(_18a!=null&&_18a.length>0){s.filter=s.filter.replace(/alpha\(opacity=[\d\.]*?\)/ig,"alpha(opacity="+_188+")");}else{s.filter+="alpha(opacity="+_188+")";}}else{s.opacity=(_188/100);}};nitobi.html.Css.getOpacity=function(_18b){if(_18b==null){nitobi.lang.throwError(nitobi.error.ArgExpected+" for nitobi.html.Css.getOpacity");}
if(nitobi.browser.IE){if(_18b.style.filter==""){return 100;}
var s=_18b.style.filter;s.match(/opacity=([\d\.]*?)\)/ig);if(RegExp.$1==""){return 100;}
return parseInt(RegExp.$1);}else{return Math.abs(_18b.style.opacity?_18b.style.opacity*100:100);}};nitobi.html.Css.getCustomStyle=function(_18d,_18e){if(nitobi.browser.IE){return nitobi.html.getClassStyle(_18d,_18e);}else{var rule=nitobi.html.Css.getRule(_18d);var re=new RegExp("(.*?)({)(.*?)(})","gi");var _191=rule.cssText.match(re);re=new RegExp("("+_18e+")(:)(.*?)(;)","gi");_191=re.exec(RegExp.$3);}};nitobi.html.Css.createStyleSheet=function(_192){var ss;if(nitobi.browser.IE){ss=document.createStyleSheet();}else{ss=document.createElement("style");ss.setAttribute("type","text/css");document.body.appendChild(ss);ss.appendChild(document.createTextNode(""));}
if(_192!=null){nitobi.html.Css.setStyleSheetValue(ss,_192);}
return ss;};nitobi.html.Css.setStyleSheetValue=function(ss,_195){if(nitobi.browser.IE){ss.cssText=_195;}else{ss.replaceChild(document.createTextNode(_195),ss.firstChild);}
return ss;};if(nitobi.browser.MOZ){HTMLStyleElement.prototype.__defineSetter__("cssText",function(_196){this.innerHTML=_196;});HTMLStyleElement.prototype.__defineGetter__("cssText",function(){return this.innerHTML;});}
nitobi.lang.defineNs("nitobi.drawing");if(false){nitobi.drawing=function(){};}
nitobi.drawing.Point=function(x,y){this.x=x;this.y=y;};nitobi.drawing.Point.prototype.toString=function(){return"("+this.x+","+this.y+")";};nitobi.drawing.rgb=function(r,g,b){return"#"+((r*65536)+(g*256)+b).toString(16);};nitobi.drawing.align=function(_19c,_19d,_19e,oh,ow,oy,ox){oh=oh||0;ow=ow||0;oy=oy||0;ox=ox||0;var a=_19e;var td,sd,tt,tb,tl,tr,th,tw,st,sb,sl,sr,sh,sw;if(_19d.getBoundingClientRect){td=_19d.getBoundingClientRect();sd=_19c.getBoundingClientRect();tt=td.top;tb=td.bottom;tl=td.left;tr=td.right;th=Math.abs(tb-tt);tw=Math.abs(tr-tl);st=sd.top;sb=sd.bottom;sl=sd.left;sr=sd.right;sh=Math.abs(sb-st);sw=Math.abs(sr-sl);}else{if(document.getBoxObjectFor){td=document.getBoxObjectFor(_19d);sd=document.getBoxObjectFor(_19c);tt=td.y;tl=td.x;tw=td.width;th=td.height;st=sd.y;sl=sd.x;sw=sd.width;sh=sd.height;}else{td=nitobi.html.getCoords(_19d);sd=nitobi.html.getCoords(_19c);tt=td.y;tl=td.x;tw=td.width;th=td.height;st=sd.y;sl=sd.x;sw=sd.width;sh=sd.height;}}
var s=_19c.style;if(a&268435456){s.height=(th+oh)+"px";}
if(a&16777216){s.width=(tw+ow)+"px";}
if(a&1048576){s.top=(nitobi.html.getStyleTop(_19c)+tt-st+oy)+"px";}
if(a&65536){s.top=(nitobi.html.getStyleTop(_19c)+tt-st+th-sh+oy)+"px";}
if(a&4096){s.left=(nitobi.html.getStyleLeft(_19c)-sl+tl+ox)+"px";}
if(a&256){s.left=(nitobi.html.getStyleLeft(_19c)-sl+tl+tw-sw+ox)+"px";}
if(a&16){s.top=(nitobi.html.getStyleTop(_19c)+tt-st+oy+Math.floor((th-sh)/2))+"px";}
if(a&1){s.left=(nitobi.html.getStyleLeft(_19c)-sl+tl+ox+Math.floor((tw-sw)/2))+"px";}};nitobi.drawing.align.SAMEHEIGHT=268435456;nitobi.drawing.align.SAMEWIDTH=16777216;nitobi.drawing.align.ALIGNTOP=1048576;nitobi.drawing.align.ALIGNBOTTOM=65536;nitobi.drawing.align.ALIGNLEFT=4096;nitobi.drawing.align.ALIGNRIGHT=256;nitobi.drawing.align.ALIGNMIDDLEVERT=16;nitobi.drawing.align.ALIGNMIDDLEHORIZ=1;nitobi.drawing.alignOuterBox=function(_1b3,_1b4,_1b5,oh,ow,oy,ox,show){oh=oh||0;ow=ow||0;oy=oy||0;ox=ox||0;if(nitobi.browser.moz){td=document.getBoxObjectFor(_1b4);sd=document.getBoxObjectFor(_1b3);var _1bb=parseInt(document.defaultView.getComputedStyle(_1b4,"").getPropertyValue("border-left-width"));var _1bc=parseInt(document.defaultView.getComputedStyle(_1b4,"").getPropertyValue("border-top-width"));var _1bd=parseInt(document.defaultView.getComputedStyle(_1b3,"").getPropertyValue("border-top-width"));var _1be=parseInt(document.defaultView.getComputedStyle(_1b3,"").getPropertyValue("border-bottom-width"));var _1bf=parseInt(document.defaultView.getComputedStyle(_1b3,"").getPropertyValue("border-left-width"));var _1c0=parseInt(document.defaultView.getComputedStyle(_1b3,"").getPropertyValue("border-right-width"));oy=oy+_1bd-_1bc;ox=ox+_1bf-_1bb;}
nitobi.drawing.align(_1b3,_1b4,_1b5,oh,ow,oy,ox,show);};nitobi.lang.defineNs("nitobi.html");if(false){nitobi.html=function(){};}
nitobi.html.createElement=function(_1c1,_1c2,_1c3){var elem=document.createElement(_1c1);for(var attr in _1c2){if(attr.toLowerCase().substring(0,5)=="class"){elem.className=_1c2[attr];}else{elem.setAttribute(attr,_1c2[attr]);}}
for(var _1c6 in _1c3){elem.style[_1c6]=_1c3[_1c6];}
return elem;};nitobi.html.createTable=function(_1c7,_1c8){var _1c9=nitobi.html.createElement("table",_1c7,_1c8);var _1ca=document.createElement("tbody");var _1cb=document.createElement("tr");var _1cc=document.createElement("td");_1c9.appendChild(_1ca);_1ca.appendChild(_1cb);_1cb.appendChild(_1cc);return _1c9;};nitobi.html.setBgImage=function(elem,src){var s=nitobi.html.Css.getStyle(elem,"background-image");if(s!=""&&nitobi.browser.IE){s=s.replace(/(^url\(")(.*?)("\))/,"$2");}};nitobi.html.fitWidth=function(_1d0,_1d1){var w;var C=nitobi.html.Css;if(nitobi.browser.IE&&!nitobi.lang.isStandards()){var _1d4=(parseInt(C.getStyle(_1d0,"width"))-parseInt(C.getStyle(_1d0,"paddingLeft"))-parseInt(C.getStyle(_1d0,"paddingRight"))-parseInt(C.getStyle(_1d0,"borderLeftWidth"))-parseInt(C.getStyle(_1d0,"borderRightWidth")));if(_1d4<0){_1d4=0;}
w=_1d4+"px";}else{if(nitobi.lang.isStandards()){if(nitobi.browser.IE){var _1d4=(parseInt(C.getStyle(_1d0,"width"))-(_1d1.offsetWidth-parseInt(C.getStyle(_1d1,"width"))));}else{var _1d4=(parseInt(_1d0.style.width)-(_1d1.offsetWidth-parseInt(_1d0.style.width)));}
if(_1d4<0){_1d4=0;}
w=_1d4+"px";}else{w=parseInt(_1d0.style.width)+"px";}}
_1d1.style.width=w;};nitobi.html.getDomNodeByPath=function(Node,Path){if(nitobi.browser.IE){}
var _1d7=Node;var _1d8=Path.split("/");var len=_1d8.length;for(var i=0;i<len;i++){if(_1d7.childNodes[Number(_1d8[i])]!=null){_1d7=_1d7.childNodes[Number(_1d8[i])];}else{alert("Path expression failed."+Path);}
var s="";}
return _1d7;};nitobi.html.indexOfChildNode=function(_1dc,_1dd){var _1de=_1dc.childNodes;for(var i=0;i<_1de.length;i++){if(_1de[i]==_1dd){return i;}}
return-1;};nitobi.html.evalScriptBlocks=function(node){for(var i=0;i<node.childNodes.length;i++){var _1e2=node.childNodes[i];if(_1e2.nodeName.toLowerCase()=="script"){eval(_1e2.text);}else{nitobi.html.evalScriptBlocks(_1e2);}}};nitobi.html.position=function(node){var pos=nitobi.html.getStyle($ntb(node),"position");if(pos=="static"){node.style.position="relative";}};nitobi.html.setOpacity=function(_1e5,_1e6){var _1e7=_1e5.style;_1e7.opacity=(_1e6/100);_1e7.MozOpacity=(_1e6/100);_1e7.KhtmlOpacity=(_1e6/100);_1e7.filter="alpha(opacity="+_1e6+")";};nitobi.html.highlight=function(o,x,end){end=end||o.value.length;if(o.createTextRange){o.focus();var r=o.createTextRange();r.move("character",0-end);r.move("character",x);r.moveEnd("textedit",1);r.select();}else{if(o.setSelectionRange){o.focus();o.setSelectionRange(x,end);}}};nitobi.html.setCursor=function(o,x){if(o.createTextRange){o.focus();var r=o.createTextRange();r.move("character",0-o.value.length);r.move("character",x);r.select();}else{if(o.setSelectionRange){o.setSelectionRange(x,x);}}};nitobi.html.getCursor=function(o){if(o.createTextRange){o.focus();var r=document.selection.createRange().duplicate();r.moveEnd("textedit",1);return o.value.length-r.text.length;}else{if(o.setSelectionRange){return o.selectionStart;}}
return-1;};nitobi.html.encode=function(str){str+="";str=str.replace(/&/g,"&amp;");str=str.replace(/\"/g,"&quot;");str=str.replace(/'/g,"&apos;");str=str.replace(/</g,"&lt;");str=str.replace(/>/g,"&gt;");str=str.replace(/\n/g,"<br>");return str;};nitobi.html.getElement=function(_1f2){if(typeof(_1f2)=="string"){return document.getElementById(_1f2);}
return _1f2;};if(typeof($)=="undefined"){$=nitobi.html.getElement;}
if(typeof($ntb)=="undefined"){$ntb=nitobi.html.getElement;}
if(typeof($F)=="undefined"){$F=function(id){var _1f4=$ntb(id);if(_1f4!=null){return _1f4.value;}
return"";};}
nitobi.html.getTagName=function(elem){if(nitobi.browser.IE&&elem.scopeName!=""){return(elem.scopeName+":"+elem.nodeName).toLowerCase();}else{return elem.nodeName.toLowerCase();}};nitobi.html.getStyleTop=function(elem){var top=elem.style.top;if(top==""){top=nitobi.html.Css.getStyle(elem,"top");}
return nitobi.lang.parseNumber(top);};nitobi.html.getStyleLeft=function(elem){var left=elem.style.left;if(left==""){left=nitobi.html.Css.getStyle(elem,"left");}
return nitobi.lang.parseNumber(left);};nitobi.html.getHeight=function(elem){return elem.offsetHeight;};nitobi.html.getWidth=function(elem){return elem.offsetWidth;};if(nitobi.browser.IE){nitobi.html.getBox=function(elem){var _1fd=nitobi.lang.parseNumber(nitobi.html.getStyle(document.body,"border-top-width"));var _1fe=nitobi.lang.parseNumber(nitobi.html.getStyle(document.body,"border-left-width"));var _1ff=nitobi.lang.parseNumber(document.body.scrollTop)-(_1fd==0?2:_1fd);var _200=nitobi.lang.parseNumber(document.body.scrollLeft)-(_1fe==0?2:_1fe);var rect=nitobi.html.getBoundingClientRect(elem);return{top:rect.top+_1ff,left:rect.left+_200,bottom:rect.bottom,right:rect.right,height:rect.bottom-rect.top,width:rect.right-rect.left};};}else{if(nitobi.browser.MOZ){nitobi.html.getBox=function(elem){var _203=0;var _204=0;var _205=elem.parentNode;while(_205.nodeType==1&&_205!=document.body){_203+=nitobi.lang.parseNumber(_205.scrollTop)-(nitobi.html.getStyle(_205,"overflow")=="auto"?nitobi.lang.parseNumber(nitobi.html.getStyle(_205,"border-top-width")):0);_204+=nitobi.lang.parseNumber(_205.scrollLeft)-(nitobi.html.getStyle(_205,"overflow")=="auto"?nitobi.lang.parseNumber(nitobi.html.getStyle(_205,"border-left-width")):0);_205=_205.parentNode;}
var _206=elem.ownerDocument.getBoxObjectFor(elem);var _207=nitobi.lang.parseNumber(nitobi.html.getStyle(elem,"border-left-width"));var _208=nitobi.lang.parseNumber(nitobi.html.getStyle(elem,"border-right-width"));var _209=nitobi.lang.parseNumber(nitobi.html.getStyle(elem,"border-top-width"));var top=nitobi.lang.parseNumber(_206.y)-_203-_209;var left=nitobi.lang.parseNumber(_206.x)-_204-_207;var _20c=left+nitobi.lang.parseNumber(_206.width);var _20d=top+_206.height;var _20e=nitobi.lang.parseNumber(_206.height);var _20f=nitobi.lang.parseNumber(_206.width);return{top:top,left:left,bottom:_20d,right:_20c,height:_20e,width:_20f};};nitobi.html.getBox.cache={};}else{if(nitobi.browser.SAFARI||nitobi.browser.CHROME){nitobi.html.getBox=function(elem){var _211=nitobi.html.getCoords(elem);return{top:_211.y,left:_211.x,bottom:_211.y+_211.height,right:_211.x+_211.width,height:_211.height,width:_211.width};};}}}
nitobi.html.getBox2=nitobi.html.getBox;nitobi.html.getUniqueId=function(elem){if(elem.uniqueID){return elem.uniqueID;}else{var t=(new Date()).getTime();elem.uniqueID=t;return t;}};nitobi.html.getChildNodeById=function(elem,_215,_216){return nitobi.html.getChildNodeByAttribute(elem,"id",_215,_216);};nitobi.html.getChildNodeByAttribute=function(elem,_218,_219,_21a){for(var i=0;i<elem.childNodes.length;i++){if(elem.nodeType!=3&&Boolean(elem.childNodes[i].getAttribute)){if(elem.childNodes[i].getAttribute(_218)==_219){return elem.childNodes[i];}}}
if(_21a){for(var i=0;i<elem.childNodes.length;i++){var _21c=nitobi.html.getChildNodeByAttribute(elem.childNodes[i],_218,_219,_21a);if(_21c!=null){return _21c;}}}
return null;};nitobi.html.getParentNodeById=function(elem,_21e){return nitobi.html.getParentNodeByAtt(elem,"id",_21e);};nitobi.html.getParentNodeByAtt=function(elem,att,_221){while(elem.parentNode!=null){if(elem.parentNode.getAttribute(att)==_221){return elem.parentNode;}
elem=elem.parentNode;}
return null;};if(nitobi.browser.IE){nitobi.html.getFirstChild=function(node){return node.firstChild;};}else{nitobi.html.getFirstChild=function(node){var i=0;while(i<node.childNodes.length&&node.childNodes[i].nodeType==3){i++;}
return node.childNodes[i];};}
nitobi.html.getScroll=function(){var _225,_226=0;if((nitobi.browser.OPERA==false)&&(document.documentElement.scrollTop>0)){_225=document.documentElement.scrollTop;_226=document.documentElement.scrollLeft;}else{_225=document.body.scrollTop;_226=document.body.scrollLeft;}
if(((_225==0)&&(document.documentElement.scrollTop>0))||((_226==0)&&(document.documentElement.scrollLeft>0))){_225=document.documentElement.scrollTop;_226=document.documentElement.scrollLeft;}
return{"left":_226,"top":_225};};nitobi.html.getCoords=function(_227){var ew,eh;try{var _22a=_227;ew=_227.offsetWidth;eh=_227.offsetHeight;for(var lx=0,ly=0;_227!=null;lx+=_227.offsetLeft,ly+=_227.offsetTop,_227=_227.offsetParent){}
for(;_22a!=document.body;lx-=_22a.scrollLeft,ly-=_22a.scrollTop,_22a=_22a.parentNode){}}
catch(e){}
return{"x":lx,"y":ly,"height":eh,"width":ew};};nitobi.html.scrollBarWidth=0;nitobi.html.getScrollBarWidth=function(_22d){if(nitobi.html.scrollBarWidth){return nitobi.html.scrollBarWidth;}
try{if(null==_22d){var _22e="ntb-scrollbar-width";var d=document.getElementById(_22e);if(null==d){d=nitobi.html.createElement("div",{"id":_22e},{width:"100px",height:"100px",overflow:"auto",position:"absolute",top:"-200px",left:"-5000px"});d.innerHTML="<div style='height:200px;'></div>";document.body.appendChild(d);}
_22d=d;}
if(nitobi.browser.IE){nitobi.html.scrollBarWidth=Math.abs(_22d.offsetWidth-_22d.clientWidth-(_22d.clientLeft?_22d.clientLeft*2:0));}else{if(nitobi.browser.MOZ){var b=document.getBoxObjectFor(_22d);nitobi.html.scrollBarWidth=Math.abs((b.width-_22d.clientWidth));}else{if(nitobi.browser.SAFARI||nitobi.browser.CHROME){var b=nitobi.html.getBox(_22d);nitobi.html.scrollBarWidth=Math.abs((b.width-_22d.clientWidth));}}}}
catch(err){}
return nitobi.html.scrollBarWidth;};nitobi.html.align=nitobi.drawing.align;nitobi.html.emptyElements={HR:true,BR:true,IMG:true,INPUT:true};nitobi.html.specialElements={TEXTAREA:true};nitobi.html.permHeight=0;nitobi.html.permWidth=0;nitobi.html.getBodyArea=function(){var _231,_232,_233,_234;var x,y;var _237=false;if(nitobi.lang.isStandards()){_237=true;}
var de=document.documentElement;var db=document.body;if(self.innerHeight){x=self.innerWidth;y=self.innerHeight;}else{if(de&&de.clientHeight){x=de.clientWidth;y=de.clientHeight;}else{if(db){x=db.clientWidth;y=db.clientHeight;}}}
_233=x;_234=y;if(self.pageYOffset){x=self.pageXOffset;y=self.pageYOffset;}else{if(de&&de.scrollTop){x=de.scrollLeft;y=de.scrollTop;}else{if(db){x=db.scrollLeft;y=db.scrollTop;}}}
_231=x;_232=y;var _23a=db.scrollHeight;var _23b=db.offsetHeight;if(_23a>_23b){x=db.scrollWidth;y=db.scrollHeight;}else{x=db.offsetWidth;y=db.offsetHeight;}
nitobi.html.permHeight=y;nitobi.html.permWidth=x;if(nitobi.html.permHeight<_234){nitobi.html.permHeight=_234;if(nitobi.browser.IE&&_237){_233+=20;}}
if(_233<nitobi.html.permWidth){_233=nitobi.html.permWidth;}
if(nitobi.html.permHeight>_234){_233+=20;}
var _23c,_23d;_23c=de.scrollHeight;_23d=de.scrollWidth;return{scrollWidth:_23d,scrollHeight:_23c,scrollLeft:_231,scrollTop:_232,clientWidth:_233,clientHeight:_234,bodyWidth:nitobi.html.permWidth,bodyHeight:nitobi.html.PermHeight};};nitobi.html.getOuterHtml=function(node){if(nitobi.browser.IE){return node.outerHTML;}else{var html="";switch(node.nodeType){case Node.ELEMENT_NODE:html+="<";html+=node.nodeName.toLowerCase();if(!nitobi.html.specialElements[node.nodeName]){for(var a=0;a<node.attributes.length;a++){if(node.attributes[a].nodeName.toLowerCase()!="_moz-userdefined"){html+=" "+node.attributes[a].nodeName.toLowerCase()+"=\""+node.attributes[a].nodeValue+"\"";}}
html+=">";if(!nitobi.html.emptyElements[node.nodeName]){html+=node.innerHTML;html+="</"+node.nodeName.toLowerCase()+">";}}else{switch(node.nodeName){case"TEXTAREA":for(var a=0;a<node.attributes.length;a++){if(node.attributes[a].nodeName.toLowerCase()!="value"){html+=" "+node.attributes[a].nodeName.toUpperCase()+"=\""+node.attributes[a].nodeValue+"\"";}else{var _241=node.attributes[a].nodeValue;}}
html+=">";html+=_241;html+="</"+node.nodeName+">";break;}}
break;case Node.TEXT_NODE:html+=node.nodeValue;break;case Node.COMMENT_NODE:html+="<!"+"--"+node.nodeValue+"--"+">";break;}
return html;}};nitobi.html.insertAdjacentText=function(_242,pos,s){if(nitobi.browser.IE){return _242.insertAdjacentText(pos,s);}
var node=document.createTextNode(s);nitobi.html.insertAdjacentElement(_242,pos,node);};nitobi.html.insertAdjacentHTML=function(_246,_247,_248,_249){if(nitobi.browser.IE){return _246.insertAdjacentHTML(_247,_248,_249);}
var df;var r=_246.ownerDocument.createRange();switch(String(_247).toLowerCase()){case"beforebegin":r.setStartBefore(_246);df=r.createContextualFragment(_248);_246.parentNode.insertBefore(df,_246);break;case"afterbegin":r.selectNodeContents(_246);r.collapse(true);df=r.createContextualFragment(_248);_246.insertBefore(df,_246.firstChild);break;case"beforeend":if(_249==true){_246.innerHTML=_246.innerHTML+_248;}else{r.selectNodeContents(_246);r.collapse(false);df=r.createContextualFragment(_248);_246.appendChild(df);}
break;case"afterend":r.setStartAfter(_246);df=r.createContextualFragment(_248);_246.parentNode.insertBefore(df,_246.nextSibling);break;}};nitobi.html.insertAdjacentElement=function(_24c,pos,node){if(nitobi.browser.IE){return _24c.insertAdjacentElement(pos,node);}
switch(pos){case"beforeBegin":_24c.parentNode.insertBefore(node,_24c);break;case"afterBegin":_24c.insertBefore(node,_24c.firstChild);break;case"beforeEnd":_24c.appendChild(node);break;case"afterEnd":if(_24c.nextSibling){_24c.parentNode.insertBefore(node,_24c.nextSibling);}else{_24c.parentNode.appendChild(node);}
break;}};nitobi.html.getClientRects=function(node,_250,_251){if(nitobi.browser.IE){return node.getClientRects();}
_250=_250||0;_251=_251||0;var td;if(nitobi.browser.SAFARI||nitobi.browser.CHROME){td=nitobi.html.getCoords(node);_250=0;_251=0;}else{var td=document.getBoxObjectFor(node);}
return new Array({top:(td.y-_250),left:(td.x-_251),bottom:(td.y+td.height-_250),right:(td.x+td.width-_251)});};nitobi.html.getBoundingClientRect=function(node,_254,_255){if(nitobi.browser.IE){return node.getBoundingClientRect();}
_254=_254||0;_255=_255||0;var td;if(nitobi.browser.SAFARI||nitobi.browser.CHROME){td=nitobi.html.getCoords(node);_254=0;_255=0;}else{td=document.getBoxObjectFor(node);}
var top=td.y-_254;var left=td.x-_255;return{top:top,left:left,bottom:(top+td.height),right:(left+td.width)};};nitobi.html.Event=function(){this.srcElement=null;this.fromElement=null;this.toElement=null;this.eventSrc=null;};nitobi.html.handlerId=0;nitobi.html.elementId=0;nitobi.html.elements=[];nitobi.html.unload=[];nitobi.html.unloadCalled=false;nitobi.html.attachEvents=function(_259,_25a,_25b){var _25c=[];for(var i=0;i<_25a.length;i++){var e=_25a[i];_25c.push(nitobi.html.attachEvent(_259,e.type,e.handler,_25b,e.capture||false));}
return _25c;};nitobi.html.attachEvent=function(_25f,type,_261,_262,_263,_264){if(type=="anyclick"){if(nitobi.browser.IE){nitobi.html.attachEvent(_25f,"dblclick",_261,_262,_263,_264);}
type="click";}
if(!(_261 instanceof Function)){nitobi.lang.throwError("Event handler needs to be a Function");}
_25f=$ntb(_25f);if(type.toLowerCase()=="unload"&&_264!=true){var _265=_261;if(_262!=null){_265=function(){_261.call(_262);};}
return this.addUnload(_265);}
var _266=this.handlerId++;var _267=this.elementId++;if(typeof(_261.ebaguid)!="undefined"){_266=_261.ebaguid;}else{_261.ebaguid=_266;}
if(typeof(_25f.ebaguid)=="undefined"){_25f.ebaguid=_267;nitobi.html.elements[_267]=_25f;}
if(typeof(_25f.eba_events)=="undefined"){_25f.eba_events={};}
if(_25f.eba_events[type]==null){_25f.eba_events[type]={};if(_25f.attachEvent){_25f["eba_event_"+type]=function(){nitobi.html.notify.call(_25f,window.event);};_25f.attachEvent("on"+type,_25f["eba_event_"+type]);if(_263&&_25f.setCapture!=null){_25f.setCapture(true);}}else{if(_25f.addEventListener){_25f["eba_event_"+type]=function(){nitobi.html.notify.call(_25f,arguments[0]);};_25f.addEventListener(type,_25f["eba_event_"+type],_263);}}}
_25f.eba_events[type][_266]={handler:_261,context:_262};return _266;};nitobi.html.notify=function(e){if(!nitobi.browser.IE){e.srcElement=e.target;e.fromElement=e.relatedTarget;e.toElement=e.relatedTarget;}
var _269=this;e.eventSrc=_269;nitobi.html.Event=e;for(var _26a in _269.eba_events[e.type]){var _26b=_269.eba_events[e.type][_26a];if(typeof(_26b.context)=="object"){_26b.handler.call(_26b.context,e,_269);}else{_26b.handler.call(_269,e,_269);}}};nitobi.html.detachEvents=function(_26c,_26d){for(var i=0;i<_26d.length;i++){var e=_26d[i];nitobi.html.detachEvent(_26c,e.type,e.handler);}};nitobi.html.detachEvent=function(_270,type,_272){_270=$ntb(_270);var _273=_272;if(_272 instanceof Function){_273=_272.ebaguid;}
if(type=="unload"){this.unload.splice(ebaguid,1);}
if(_270!=null&&_270.eba_events!=null&&_270.eba_events[type]!=null&&_270.eba_events[type][_273]!=null){var _274=_270.eba_events[type];_274[_273]=null;delete _274[_273];if(nitobi.collections.isHashEmpty(_274)){this.m_detach(_270,type,_270["eba_event_"+type]);_270["eba_event_"+type]=null;_270.eba_events[type]=null;_274=null;if(_270.nodeType==1){_270.removeAttribute("eba_event_"+type);}}}
return true;};nitobi.html.m_detach=function(_275,type,_277){if(_277!=null&&_277 instanceof Function){if(_275.detachEvent){_275.detachEvent("on"+type,_277);}else{if(_275.removeEventListener){_275.removeEventListener(type,_277,false);}}
_275["on"+type]=null;if(type=="unload"){for(var i=0;i<this.unload.length;i++){this.unload[i].call(this);this.unload[i]=null;}}}};nitobi.html.detachAllEvents=function(evt){for(var i=0;i<nitobi.html.elements.length;i++){if(typeof(nitobi.html.elements[i])!="undefined"){for(var _27b in nitobi.html.elements[i].eba_events){nitobi.html.m_detach(nitobi.html.elements[i],_27b,nitobi.html.elements[i]["eba_event_"+_27b]);if(typeof(nitobi.html.elements[i])!="undefined"&&nitobi.html.elements[i].eba_events[_27b]!=null){for(var _27c in nitobi.html.elements[i].eba_events[_27b]){nitobi.html.elements[i].eba_events[_27b][_27c]=null;}}
nitobi.html.elements[i]["eba_event_"+_27b]=null;}}}
nitobi.html.elements=null;};nitobi.html.addUnload=function(_27d){this.unload.push(_27d);return this.unload.length-1;};nitobi.html.cancelEvent=function(evt){nitobi.html.stopPropagation(evt);nitobi.html.preventDefault(evt);};nitobi.html.stopPropagation=function(evt){if(evt==null){return;}
if(nitobi.browser.IE){evt.cancelBubble=true;}else{evt.stopPropagation();}};nitobi.html.preventDefault=function(evt,v){if(evt==null){return;}
if(nitobi.browser.IE){evt.returnValue=false;}else{evt.preventDefault();}
if(v!=null){e.keyCode=v;}};nitobi.html.getEventCoords=function(evt){var _283={"x":evt.clientX,"y":evt.clientY};if(nitobi.browser.IE){_283.x+=document.documentElement.scrollLeft+document.body.scrollLeft;_283.y+=document.documentElement.scrollTop+document.body.scrollTop;}else{_283.x+=window.scrollX;_283.y+=window.scrollY;}
return _283;};nitobi.html.getEvent=function(_284){if(nitobi.browser.IE){return window.event;}else{_284.srcElement=_284.target;_284.fromElement=_284.relatedTarget;_284.toElement=_284.relatedTarget;return _284;}};nitobi.html.createEvent=function(_285,_286,_287,_288){if(nitobi.browser.IE){_287.target.fireEvent("on"+_286);}else{var _289=document.createEvent(_285);_289.initKeyEvent(_286,true,true,document.defaultView,_287.ctrlKey,_287.altKey,_287.shiftKey,_287.metaKey,_288.keyCode,_288.charCode);_287.target.dispatchEvent(_289);}};nitobi.html.unloadEventId=nitobi.html.attachEvent(window,"unload",nitobi.html.detachAllEvents,nitobi.html,false,true);nitobi.lang.defineNs("nitobi.event");nitobi.event=function(){};nitobi.event.keys={};nitobi.event.guid=0;nitobi.event.subscribe=function(key,_28b){ntbAssert(key.indexOf("undefined")==-1,"Something used nitobi.event with an invalid key. The key was "+key);nitobi.event.publish(key);var guid=this.guid++;this.keys[key].add(_28b,guid);return guid;};nitobi.event.unsubscribe=function(key,guid){ntbAssert(key.indexOf("undefined")==-1,"Something used nitobi.event with an invalid key. The key was "+key);if(this.keys[key]==null){return true;}
if(this.keys[key].remove(guid)){this.keys[key]=null;delete this.keys[key];}};nitobi.event.evaluate=function(func,_290){var _291=true;if(typeof func=="string"){func=func.replace(/eventArgs/gi,"arguments[1]");var _292=eval(func);_291=(typeof(_292)=="undefined"?true:_292);}
return _291;};nitobi.event.publish=function(key){ntbAssert(key.indexOf("undefined")==-1,"Something used nitobi.event with an invalid key. The key was "+key);if(this.keys[key]==null){this.keys[key]=new nitobi.event.Key();}};nitobi.event.notify=function(key,_295){ntbAssert(key.indexOf("undefined")==-1,"Something used nitobi.event with an invalid key. The key was "+key);if(this.keys[key]!=null){return this.keys[key].notify(_295);}else{return true;}};nitobi.event.dispose=function(){for(var key in this.keys){if(typeof(this.keys[key])=="function"){this.keys[key].dispose();}}
this.keys=null;};nitobi.event.Key=function(){this.handlers={};};nitobi.event.Key.prototype.add=function(_297,guid){ntbAssert(_297 instanceof Function,"EventKey.add requires a JavaScript function pointer as a parameter.","",EBA_THROW);this.handlers[guid]=_297;};nitobi.event.Key.prototype.remove=function(guid){this.handlers[guid]=null;delete this.handlers[guid];var i=true;for(var item in this.handlers){i=false;break;}
return i;};nitobi.event.Key.prototype.notify=function(_29c){var fail=false;for(var item in this.handlers){var _29f=this.handlers[item];if(_29f instanceof Function){var rv=(_29f.apply(this,arguments)==false);fail=fail||rv;}else{}}
return!fail;};nitobi.event.Key.prototype.dispose=function(){for(var _2a1 in this.handlers){this.handlers[_2a1]=null;}};nitobi.event.Args=function(src){this.source=src;};nitobi.event.Args.prototype.callback=function(){};nitobi.html.cancelBubble=nitobi.html.cancelEvent;nitobi.html.getCssRules=nitobi.html.Css.getRules;nitobi.html.findParentStylesheet=nitobi.html.Css.findParentStylesheet;nitobi.html.getClass=nitobi.html.Css.getClass;nitobi.html.getStyle=nitobi.html.Css.getStyle;nitobi.html.addClass=nitobi.html.Css.addClass;nitobi.html.removeClass=nitobi.html.Css.removeClass;nitobi.html.getClassStyle=nitobi.html.Css.getClassStyle;nitobi.html.normalizeUrl=nitobi.html.Url.normalize;nitobi.html.setUrlParameter=nitobi.html.Url.setParameter;nitobi.lang.defineNs("nitobi.base.XmlNamespace");nitobi.base.XmlNamespace.prefix="ntb";nitobi.base.XmlNamespace.uri="http://www.nitobi.com";nitobi.lang.defineNs("nitobi.collections");if(false){nitobi.collections=function(){};}
nitobi.collections.IEnumerable=function(){this.list=new Array();this.length=0;};nitobi.collections.IEnumerable.prototype.add=function(obj){this.list[this.getLength()]=obj;this.length++;};nitobi.collections.IEnumerable.prototype.insert=function(_2a4,obj){this.list.splice(_2a4,0,obj);this.length++;};nitobi.collections.IEnumerable.createNewArray=function(obj,_2a7){var _2a8;_2a7=_2a7||0;if(obj.count){_2a8=obj.count;}
if(obj.length){_2a8=obj.length;}
var x=new Array(_2a8-_2a7);for(var i=_2a7;i<_2a8;i++){x[i-_2a7]=obj[i];}
return x;};nitobi.collections.IEnumerable.prototype.get=function(_2ab){if(_2ab<0||_2ab>=this.getLength()){nitobi.lang.throwError(nitobi.error.OutOfBounds);}
return this.list[_2ab];};nitobi.collections.IEnumerable.prototype.set=function(_2ac,_2ad){if(_2ac<0||_2ac>=this.getLength()){nitobi.lang.throwError(nitobi.error.OutOfBounds);}
this.list[_2ac]=_2ad;};nitobi.collections.IEnumerable.prototype.indexOf=function(obj){for(var i=0;i<this.getLength();i++){if(this.list[i]===obj){return i;}}
return-1;};nitobi.collections.IEnumerable.prototype.remove=function(_2b0){var i;if(typeof(_2b0)!="number"){i=this.indexOf(_2b0);}else{i=_2b0;}
if(-1==i||i<0||i>=this.getLength()){nitobi.lang.throwError(nitobi.error.OutOfBounds);}
this.list[i]=null;this.list.splice(i,1);this.length--;};nitobi.collections.IEnumerable.prototype.getLength=function(){return this.length;};nitobi.collections.IEnumerable.prototype.each=function(func){var l=this.length;var list=this.list;for(var i=0;i<l;i++){func(list[i]);}};nitobi.lang.defineNs("nitobi.base");nitobi.base.ISerializable=function(_2b6,id,xml,_2b9){nitobi.Object.call(this);if(typeof(this.ISerializableInitialized)=="undefined"){this.ISerializableInitialized=true;}else{return;}
this.xmlNode=null;this.setXmlNode(_2b6);if(_2b6!=null){this.profile=nitobi.base.Registry.getInstance().getCompleteProfile({idField:null,tagName:_2b6.nodeName});}else{this.profile=nitobi.base.Registry.getInstance().getProfileByInstance(this);}
this.onDeserialize=new nitobi.base.Event();this.onSetParentObject=new nitobi.base.Event();this.factory=nitobi.base.Factory.getInstance();this.objectHash={};this.onCreateObject=new nitobi.base.Event();if(_2b6!=null){this.deserializeFromXmlNode(this.getXmlNode());}else{if(this.factory!=null&&this.profile.tagName!=null){this.createByProfile(this.profile,this.getXmlNode());}else{if(xml!=null&&_2b6!=null){this.createByXml(xml);}}}
this.disposal.push(this.xmlNode);};nitobi.lang.extend(nitobi.base.ISerializable,nitobi.Object);nitobi.base.ISerializable.guidMap={};nitobi.base.ISerializable.prototype.ISerializableImplemented=true;nitobi.base.ISerializable.prototype.getProfile=function(){return this.profile;};nitobi.base.ISerializable.prototype.createByProfile=function(_2ba,_2bb){if(_2bb==null){var xml="<"+_2ba.tagName+" xmlns:"+nitobi.base.XmlNamespace.prefix+"=\""+nitobi.base.XmlNamespace.uri+"\" />";var _2bd=nitobi.xml.createXmlDoc(xml);this.setXmlNode(_2bd.firstChild);this.deserializeFromXmlNode(this.xmlNode);}else{this.deserializeFromXmlNode(_2bb);this.setXmlNode(_2bb);}};nitobi.base.ISerializable.prototype.createByXml=function(xml){this.deserializeFromXml(xml);};nitobi.base.ISerializable.prototype.getParentObject=function(){return this.parentObj;};nitobi.base.ISerializable.prototype.setParentObject=function(_2bf){this.parentObj=_2bf;this.onSetParentObject.notify();};nitobi.base.ISerializable.prototype.addChildObject=function(_2c0){this.addToCache(_2c0);_2c0.setParentObject(this);var _2c1=_2c0.getXmlNode();if(!this.areGuidsGenerated(_2c1)){_2c1=this.generateGuids(_2c1);_2c0.setXmlNode(_2c1);}
_2c0.setXmlNode(this.xmlNode.appendChild(nitobi.xml.importNode(this.xmlNode.ownerDocument,_2c1,true)));};nitobi.base.ISerializable.prototype.insertBeforeChildObject=function(obj,_2c3){_2c3=_2c3?_2c3.getXmlNode():null;this.addToCache(obj);obj.setParentObject(this);var _2c4=obj.getXmlNode();if(!this.areGuidsGenerated(_2c4)){_2c4=this.generateGuids(_2c4);obj.setXmlNode(_2c4);}
_2c4=nitobi.xml.importNode(this.xmlNode.ownerDocument,_2c4,true);this.xmlNode.insertBefore(_2c4,_2c3);};nitobi.base.ISerializable.prototype.createElement=function(name){var _2c6;if(this.xmlNode==null||this.xmlNode.ownerDocument==null){_2c6=nitobi.xml.createXmlDoc();}else{_2c6=this.xmlNode.ownerDocument;}
if(nitobi.browser.IE){return _2c6.createNode(1,name,nitobi.base.XmlNamespace.uri);}else{if(_2c6.createElementNS){return _2c6.createElementNS(nitobi.base.XmlNamespace.uri,name);}else{nitobi.lang.throwError("Unable to create a new xml node on this browser.");}}};nitobi.base.ISerializable.prototype.deleteChildObject=function(id){this.removeFromCache(id);var e=this.getElement(id);if(e!=null){e.parentNode.removeChild(e);}};nitobi.base.ISerializable.prototype.addToCache=function(obj){this.objectHash[obj.getId()]=obj;};nitobi.base.ISerializable.prototype.removeFromCache=function(id){this.objectHash[id]=null;};nitobi.base.ISerializable.prototype.inCache=function(id){return(this.objectHash[id]!=null);};nitobi.base.ISerializable.prototype.flushCache=function(){this.objectHash={};};nitobi.base.ISerializable.prototype.areGuidsGenerated=function(_2cc){if(_2cc==null||_2cc.ownerDocument==null){return false;}
if(nitobi.browser.IE){var node=_2cc.ownerDocument.documentElement;if(node==null){return false;}else{var id=node.getAttribute("id");if(id==null||id==""){return false;}else{return(nitobi.base.ISerializable.guidMap[id]!=null);}}}else{return(_2cc.ownerDocument.generatedGuids==true);}};nitobi.base.ISerializable.prototype.setGuidsGenerated=function(_2cf,_2d0){if(_2cf==null||_2cf.ownerDocument==null){return;}
if(nitobi.browser.IE){var node=_2cf.ownerDocument.documentElement;if(node!=null){var id=node.getAttribute("id");if(id!=null&&id!=""){nitobi.base.ISerializable.guidMap[id]=true;}}}else{_2cf.ownerDocument.generatedGuids=true;}};nitobi.base.ISerializable.prototype.generateGuids=function(_2d3){nitobi.base.uniqueIdGeneratorProc.addParameter("guid",nitobi.component.getUniqueId(),"");var doc=nitobi.xml.transformToXml(_2d3,nitobi.base.uniqueIdGeneratorProc);this.saveDocument=doc;this.setGuidsGenerated(doc.documentElement,true);return doc.documentElement;};nitobi.base.ISerializable.prototype.deserializeFromXmlNode=function(_2d5){if(!this.areGuidsGenerated(_2d5)){_2d5=this.generateGuids(_2d5);}
this.setXmlNode(_2d5);this.flushCache();if(this.profile==null){this.profile=nitobi.base.Registry.getInstance().getCompleteProfile({idField:null,tagName:_2d5.nodeName});}
this.onDeserialize.notify();};nitobi.base.ISerializable.prototype.deserializeFromXml=function(xml){var doc=nitobi.xml.createXmlDoc(xml);var node=this.generateGuids(doc.firstChild);this.setXmlNode(node);this.onDeserialize.notify();};nitobi.base.ISerializable.prototype.getChildObject=function(id){var obj=null;obj=this.objectHash[id];if(obj==null){var _2db=this.getElement(id);if(_2db==null){return null;}else{obj=this.factory.createByNode(_2db);this.onCreateObject.notify(obj);this.addToCache(obj);}
obj.setParentObject(this);}
return obj;};nitobi.base.ISerializable.prototype.getChildObjectById=function(id){return this.getChildObject(id);};nitobi.base.ISerializable.prototype.getElement=function(id){try{var node=this.xmlNode.selectSingleNode("*[@id='"+id+"']");return node;}
catch(err){nitobi.lang.throwError(nitobi.error.Unexpected,err);}};nitobi.base.ISerializable.prototype.getFactory=function(){return this.factory;};nitobi.base.ISerializable.prototype.setFactory=function(_2df){this.factory=factory;};nitobi.base.ISerializable.prototype.getXmlNode=function(){return this.xmlNode;};nitobi.base.ISerializable.prototype.setXmlNode=function(_2e0){if(nitobi.lang.typeOf(_2e0)==nitobi.lang.type.XMLDOC&&_2e0!=null){this.ownerDocument=_2e0;_2e0=nitobi.html.getFirstChild(_2e0);}else{if(_2e0!=null){this.ownerDocument=_2e0.ownerDocument;}}
if(_2e0!=null&&nitobi.browser.MOZ&&_2e0.ownerDocument==null){nitobi.lang.throwError(nitobi.error.OrphanXmlNode+" ISerializable.setXmlNode");}
this.xmlNode=_2e0;};nitobi.base.ISerializable.prototype.serializeToXml=function(){return nitobi.xml.serialize(this.xmlNode);};nitobi.base.ISerializable.prototype.getAttribute=function(name,_2e2){if(this[name]!=null){return this[name];}
var _2e3=this.xmlNode.getAttribute(name);return _2e3===null?_2e2:_2e3;};nitobi.base.ISerializable.prototype.setAttribute=function(name,_2e5){this[name]=_2e5;this.xmlNode.setAttribute(name.toLowerCase(),_2e5!=null?_2e5.toString():"");};nitobi.base.ISerializable.prototype.setIntAttribute=function(name,_2e7){var n=parseInt(_2e7);if(_2e7!=null&&(typeof(n)!="number"||isNaN(n))){nitobi.lang.throwError(name+" is not an integer and therefore cannot be set. It's value was "+_2e7);}
this.setAttribute(name,_2e7);};nitobi.base.ISerializable.prototype.getIntAttribute=function(name,_2ea){var x=this.getAttribute(name,_2ea);if(x==null||x==""){return 0;}
var tx=parseInt(x);if(isNaN(tx)){nitobi.lang.throwError("ISerializable attempting to get "+name+" which was supposed to be an int but was actually NaN");}
return tx;};nitobi.base.ISerializable.prototype.setBoolAttribute=function(name,_2ee){_2ee=nitobi.lang.getBool(_2ee);if(_2ee!=null&&typeof(_2ee)!="boolean"){nitobi.lang.throwError(name+" is not an boolean and therefore cannot be set. It's value was "+_2ee);}
this.setAttribute(name,(_2ee?"true":"false"));};nitobi.base.ISerializable.prototype.getBoolAttribute=function(name,_2f0){var x=this.getAttribute(name,_2f0);if(typeof(x)=="string"&&x==""){return null;}
var tx=nitobi.lang.getBool(x);if(tx==null){nitobi.lang.throwError("ISerializable attempting to get "+name+" which was supposed to be a bool but was actually "+x);}
return tx;};nitobi.base.ISerializable.prototype.setDateAttribute=function(name,_2f4){this.setAttribute(name,_2f4);};nitobi.base.ISerializable.prototype.getDateAttribute=function(name,_2f6){if(this[name]){return this[name];}
var _2f7=this.getAttribute(name,_2f6);return _2f7?new Date(_2f7):null;};nitobi.base.ISerializable.prototype.getId=function(){return this.getAttribute("id");};nitobi.base.ISerializable.prototype.getChildObjectId=function(_2f8,_2f9){var _2fa=(typeof(_2f8.className)=="string"?_2f8.tagName:_2f8.getXmlNode().nodeName);var _2fb=_2fa;if(_2f9){_2fb+="[@instancename='"+_2f9+"']";}
var node=this.getXmlNode().selectSingleNode(_2fb);if(null==node){return null;}else{return node.getAttribute("id");}};nitobi.base.ISerializable.prototype.setObject=function(_2fd,_2fe){if(_2fd.ISerializableImplemented!=true){nitobi.lang.throwError(nitobi.error.ExpectedInterfaceNotFound+" ISerializable");}
var id=this.getChildObjectId(_2fd,_2fe);if(null!=id){this.deleteChildObject(id);}
if(_2fe){_2fd.setAttribute("instancename",_2fe);}
this.addChildObject(_2fd);};nitobi.base.ISerializable.prototype.getObject=function(_300,_301){var id=this.getChildObjectId(_300,_301);if(null==id){return id;}
return this.getChildObject(id);};nitobi.base.ISerializable.prototype.getObjectById=function(id){return this.getChildObject(id);};nitobi.base.ISerializable.prototype.isDescendantExists=function(id){var node=this.getXmlNode();var _306=node.selectSingleNode("//*[@id='"+id+"']");return(_306!=null);};nitobi.base.ISerializable.prototype.getPathToLeaf=function(id){var node=this.getXmlNode();var _309=node.selectSingleNode("//*[@id='"+id+"']");if(nitobi.browser.IE){_309.ownerDocument.setProperty("SelectionLanguage","XPath");}
var _30a=_309.selectNodes("./ancestor-or-self::*");var _30b=this.getId();var _30c=0;for(var i=0;i<_30a.length;i++){if(_30a[i].getAttribute("id")==_30b){_30c=i+1;break;}}
var arr=nitobi.collections.IEnumerable.createNewArray(_30a,_30c);return arr.reverse();};nitobi.base.ISerializable.prototype.isDescendantInstantiated=function(id){var node=this.getXmlNode();var _311=node.selectSingleNode("//*[@id='"+id+"']");if(nitobi.browser.IE){_311.ownerDocument.setProperty("SelectionLanguage","XPath");}
var _312=_311.selectNodes("ancestor::*");var _313=false;var obj=this;for(var i=0;i<_312.length;i++){if(_313){var _316=_312[i].getAttribute("id");instantiated=obj.inCache(_316);if(!instantiated){return false;}
obj=this.getObjectById(_316);}
if(_312[i].getAttribute("id")==this.getId()){_313=true;}}
return obj.inCache(id);};nitobi.lang.defineNs("nitobi.base");if(!nitobi.base.Registry){nitobi.base.Registry=function(){this.classMap={};this.tagMap={};};if(!nitobi.base.Registry.instance){nitobi.base.Registry.instance=null;}
nitobi.base.Registry.getInstance=function(){if(nitobi.base.Registry.instance==null){nitobi.base.Registry.instance=new nitobi.base.Registry();}
return nitobi.base.Registry.instance;};nitobi.base.Registry.prototype.getProfileByClass=function(_317){return this.classMap[_317];};nitobi.base.Registry.prototype.getProfileByInstance=function(_318){var _319=nitobi.lang.getFirstFunction(_318);var p=_319.value.prototype;var _31b=null;var _31c=0;for(var _31d in this.classMap){var _31e=this.classMap[_31d].classObject;var _31f=0;while(_31e&&_318 instanceof _31e){_31e=_31e.baseConstructor;_31f++;}
if(_31f>_31c){_31c=_31f;_31b=_31d;}}
if(_31b){return this.getProfileByClass(_31b);}else{return null;}};nitobi.base.Registry.prototype.getProfileByTag=function(_320){return this.tagMap[_320];};nitobi.base.Registry.prototype.getCompleteProfile=function(_321){if(nitobi.lang.isDefined(_321.className)&&_321.className!=null){return this.classMap[_321.className];}
if(nitobi.lang.isDefined(_321.tagName)&&_321.tagName!=null){return this.tagMap[_321.tagName];}
nitobi.lang.throwError("A complete class profile could not be found. Insufficient information was provided.");};nitobi.base.Registry.prototype.register=function(_322){if(!nitobi.lang.isDefined(_322.tagName)||null==_322.tagName){nitobi.lang.throwError("Illegal to register a class without a tagName.");}
if(!nitobi.lang.isDefined(_322.className)||null==_322.className){nitobi.lang.throwError("Illegal to register a class without a className.");}
this.tagMap[_322.tagName]=_322;this.classMap[_322.className]=_322;};}
nitobi.lang.defineNs("nitobi.base");nitobi.base.Factory=function(){this.registry=nitobi.base.Registry.getInstance();};nitobi.lang.extend(nitobi.base.Factory,nitobi.Object);nitobi.base.Factory.instance=null;nitobi.base.Factory.prototype.createByClass=function(_323){try{return nitobi.lang.newObject(_323,arguments,1);}
catch(err){nitobi.lang.throwError("The Factory (createByClass) could not create the class "+_323+".",err);}};nitobi.base.Factory.prototype.createByNode=function(_324){try{if(null==_324){nitobi.lang.throwError(nitobi.error.ArgExpected);}
if(nitobi.lang.typeOf(_324)==nitobi.lang.type.XMLDOC){_324=nitobi.xml.getChildNodes(_324)[0];}
var _325=this.registry.getProfileByTag(_324.nodeName).className;var _326=_324.ownerDocument;var _327=Array.prototype.slice.call(arguments,0);var obj=nitobi.lang.newObject(_325,_327,0);return obj;}
catch(err){nitobi.lang.throwError("The Factory (createByNode) could not create the class "+_325+".",err);}};nitobi.base.Factory.prototype.createByProfile=function(_329){try{return nitobi.lang.newObject(_329.className,arguments,1);}
catch(err){nitobi.lang.throwError("The Factory (createByProfile) could not create the class "+_329.className+".",err);}};nitobi.base.Factory.prototype.createByTag=function(_32a){var _32b=this.registry.getProfileByTag(_32a).className;var _32c=Array.prototype.slice.call(arguments,0);return nitobi.lang.newObject(_32b,_32c,1);};nitobi.base.Factory.getInstance=function(){if(nitobi.base.Factory.instance==null){nitobi.base.Factory.instance=new nitobi.base.Factory();}
return nitobi.base.Factory.instance;};nitobi.lang.defineNs("nitobi.base");nitobi.base.Profile=function(_32d,_32e,_32f,_330,_331){this.className=_32d;this.classObject=eval(_32d);this.schema=_32e;this.singleton=_32f;this.tagName=_330;this.idField=_331||"id";};nitobi.lang.defineNs("nitobi.base");nitobi.base.Declaration=function(){nitobi.base.Declaration.baseConstructor.call(this);this.xmlDoc=null;};nitobi.lang.extend(nitobi.base.Declaration,nitobi.Object);nitobi.base.Declaration.prototype.loadHtml=function(_332){try{_332=$ntb(_332);this.xmlDoc=nitobi.xml.parseHtml(_332);return this.xmlDoc;}
catch(err){nitobi.lang.throwError(nitobi.error.DeclarationParseError,err);}};nitobi.base.Declaration.prototype.getXmlDoc=function(){return this.xmlDoc;};nitobi.base.Declaration.prototype.serializeToXml=function(){return nitobi.xml.serialize(this.xmlDoc);};nitobi.lang.defineNs("nitobi.base");nitobi.base.DateMath={DAY:"d",WEEK:"w",MONTH:"m",YEAR:"y",ONE_DAY_MS:86400000};nitobi.base.DateMath._add=function(date,unit,_335){if(unit==this.DAY){date.setDate(date.getDate()+_335);}else{if(unit==this.WEEK){date.setDate(date.getDate()+7*_335);}else{if(unit==this.MONTH){date.setMonth(date.getMonth()+_335);}else{if(unit==this.YEAR){date.setFullYear(date.getFullYear()+_335);}}}}
return date;};nitobi.base.DateMath.add=function(date,unit,_338){return this._add(date,unit,_338);};nitobi.base.DateMath.subtract=function(date,unit,_33b){return this._add(date,unit,-1*_33b);};nitobi.base.DateMath.after=function(date,_33d){return(date-_33d)>0;};nitobi.base.DateMath.between=function(date,_33f,end){return(date-_33f)>=0&&(end-date)>=0;};nitobi.base.DateMath.before=function(date,_342){return(date-_342)<0;};nitobi.base.DateMath.clone=function(date){var n=new Date(date.toString());return n;};nitobi.base.DateMath.isLeapYear=function(date){var y=date.getFullYear();var _1=String(y/4).indexOf(".")==-1;var _2=String(y/100).indexOf(".")==-1;var _3=String(y/400).indexOf(".")==-1;return(_3)?true:(_1&&!_2)?true:false;};nitobi.base.DateMath.getMonthDays=function(date){return[31,(this.isLeapYear(date))?29:28,31,30,31,30,31,31,30,31,30,31][date.getMonth()];};nitobi.base.DateMath.getMonthEnd=function(date){return new Date(date.getFullYear(),date.getMonth(),this.getMonthDays(date));};nitobi.base.DateMath.getMonthStart=function(date){return new Date(date.getFullYear(),date.getMonth(),1);};nitobi.base.DateMath.isToday=function(date){var _34e=this.resetTime(new Date());var end=this.add(this.clone(_34e),this.DAY,1);return this.between(date,_34e,end);};nitobi.base.DateMath.isSameDay=function(date,_351){date=this.resetTime(this.clone(date));_351=this.resetTime(this.clone(_351));return date.valueOf()==_351.valueOf();};nitobi.base.DateMath.parse=function(str){};nitobi.base.DateMath.getWeekNumber=function(date){var _354=this.getJanuary1st(date);return Math.ceil(this.getNumberOfDays(_354,date)/7);};nitobi.base.DateMath.getNumberOfDays=function(_355,end){var _357=this.resetTime(this.clone(end)).getTime()-this.resetTime(this.clone(_355)).getTime();return Math.round(_357/this.ONE_DAY_MS)+1;};nitobi.base.DateMath.getJanuary1st=function(date){return new Date(date.getFullYear(),0,1);};nitobi.base.DateMath.resetTime=function(date){if(nitobi.base.DateMath.invalid(date)){return date;}
date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0);return date;};nitobi.base.DateMath.parseIso8601=function(date){return new Date(date.replace(/^(....).(..).(..)(.*)$/,"$1/$2/$3$4"));};nitobi.base.DateMath.toIso8601=function(date){if(nitobi.base.DateMath.invalid(date)){return"";}
var pz=nitobi.lang.padZeros;return date.getFullYear()+"-"+pz(date.getMonth()+1)+"-"+pz(date.getDate())+" "+pz(date.getHours())+":"+pz(date.getMinutes())+":"+pz(date.getSeconds());};nitobi.base.DateMath.invalid=function(date){return(!date)||(date.toString()=="Invalid Date");};nitobi.lang.defineNs("nitobi.base");nitobi.base.EventArgs=function(_35e,_35f){this.source=_35e;this.event=_35f||nitobi.html.Event;};nitobi.base.EventArgs.prototype.getSource=function(){return this.source;};nitobi.base.EventArgs.prototype.getEvent=function(){return this.event;};nitobi.lang.defineNs("nitobi.collections");nitobi.collections.IList=function(){nitobi.base.ISerializable.call(this);nitobi.collections.IEnumerable.call(this);};nitobi.lang.implement(nitobi.collections.IList,nitobi.base.ISerializable);nitobi.lang.implement(nitobi.collections.IList,nitobi.collections.IEnumerable);nitobi.collections.IList.prototype.IListImplemented=true;nitobi.collections.IList.prototype.add=function(obj){nitobi.collections.IEnumerable.prototype.add.call(this,obj);if(obj.ISerializableImplemented==true&&obj.profile!=null){this.addChildObject(obj);}};nitobi.collections.IList.prototype.insert=function(_361,obj){var _363=this.get(_361);nitobi.collections.IEnumerable.prototype.insert.call(this,_361,obj);if(obj.ISerializableImplemented==true&&obj.profile!=null){this.insertBeforeChildObject(obj,_363);}};nitobi.collections.IList.prototype.addToCache=function(obj,_365){nitobi.base.ISerializable.prototype.addToCache.call(this,obj);this.list[_365]=obj;};nitobi.collections.IList.prototype.removeFromCache=function(_366){nitobi.base.ISerializable.prototype.removeFromCache.call(this,this.list[_366].getId());};nitobi.collections.IList.prototype.flushCache=function(){nitobi.base.ISerializable.prototype.flushCache.call(this);this.list=new Array();};nitobi.collections.IList.prototype.get=function(_367){if(typeof(_367)=="object"){return _367;}
if(_367<0||_367>=this.getLength()){nitobi.lang.throwError(nitobi.error.OutOfBounds);}
var obj=null;if(this.list[_367]!=null){obj=this.list[_367];}
if(obj==null){var _369=nitobi.xml.getChildNodes(this.xmlNode)[_367];if(_369==null){return null;}else{obj=this.factory.createByNode(_369);this.onCreateObject.notify(obj);nitobi.collections.IList.prototype.addToCache.call(this,obj,_367);}
obj.setParentObject(this);}
return obj;};nitobi.collections.IList.prototype.getById=function(id){var node=this.xmlNode.selectSingleNode("*[@id='"+id+"']");var _36c=nitobi.xml.indexOfChildNode(node.parentNode,node);return this.get(_36c);};nitobi.collections.IList.prototype.set=function(_36d,_36e){if(_36d<0||_36d>=this.getLength()){nitobi.lang.throwError(nitobi.error.OutOfBounds);}
try{if(_36e.ISerializableImplemented==true){var obj=this.get(_36d);if(obj.getXmlNode()!=_36e.getXmlNode()){var _370=this.xmlNode.insertBefore(_36e.getXmlNode(),obj.getXmlNode());this.xmlNode.removeChild(obj.getXmlNode());obj.setXmlNode(_370);}}
_36e.setParentObject(this);nitobi.collections.IList.prototype.addToCache.call(this,_36e,_36d);}
catch(err){nitobi.lang.throwError(nitobi.error.Unexpected,err);}};nitobi.collections.IList.prototype.remove=function(_371){var i;if(typeof(_371)!="number"){i=this.indexOf(_371);}else{i=_371;}
var obj=this.get(i);nitobi.collections.IEnumerable.prototype.remove.call(this,_371);this.xmlNode.removeChild(obj.getXmlNode());};nitobi.collections.IList.prototype.getLength=function(){return nitobi.xml.getChildNodes(this.xmlNode).length;};nitobi.lang.defineNs("nitobi.collections");nitobi.collections.List=function(_374){nitobi.collections.List.baseConstructor.call(this);nitobi.collections.IList.call(this);};nitobi.lang.extend(nitobi.collections.List,nitobi.Object);nitobi.lang.implement(nitobi.collections.List,nitobi.collections.IList);nitobi.base.Registry.getInstance().register(new nitobi.base.Profile("nitobi.collections.List",null,false,"ntb:list"));nitobi.lang.defineNs("nitobi.collections");nitobi.collections.isHashEmpty=function(hash){var _376=true;for(var item in hash){if(hash[item]!=null&&hash[item]!=""){_376=false;break;}}
return _376;};nitobi.collections.hashLength=function(hash){var _379=0;for(var item in hash){_379++;}
return _379;};nitobi.collections.serialize=function(hash){var s="";for(var item in hash){var _37e=hash[item];var type=typeof(_37e);if(type=="string"||type=="number"){s+="'"+item+"':'"+_37e+"',";}}
s=s.substring(0,s.length-1);return"{"+s+"}";};nitobi.lang.defineNs("nitobi.ui");if(false){nitobi.ui=function(){};}
nitobi.ui.setWaitScreen=function(_380){if(_380){var sc=nitobi.html.getBodyArea();var me=nitobi.html.createElement("div",{"id":"NTB_waitDiv"},{"verticalAlign":"middle","color":"#000000","font":"12px Trebuchet MS, Georgia, Verdana","textAlign":"center","background":"#ffffff","border":"1px solid #000000","padding":"0px","position":"absolute","top":(sc.clientHeight/2)+sc.scrollTop-30+"px","left":(sc.clientWidth/2)+sc.scrollLeft-100+"px","width":"200px","height":"60px"});me.innerHTML="<table height=60 width=200><tr><td valign=center height=60 align=center>Please wait..</td></tr></table>";document.getElementsByTagName("body").item(0).appendChild(me);}else{var me=$ntb("NTB_waitDiv");try{document.getElementsByTagName("body").item(0).removeChild(me);}
catch(e){}}};nitobi.lang.defineNs("nitobi.ui");nitobi.ui.IStyleable=function(_383){this.htmlNode=_383||null;this.onBeforeSetStyle=new nitobi.base.Event();this.onSetStyle=new nitobi.base.Event();};nitobi.ui.IStyleable.prototype.getHtmlNode=function(){return this.htmlNode;};nitobi.ui.IStyleable.prototype.setHtmlNode=function(node){this.htmlNode=node;};nitobi.ui.IStyleable.prototype.setStyle=function(name,_386){if(this.onBeforeSetStyle.notify(new nitobi.ui.StyleEventArgs(this,this.onBeforeSetStyle,name,_386))&&this.getHtmlNode()!=null){nitobi.html.Css.setStyle(this.getHtmlNode(),name,_386);this.onSetStyle.notify(new nitobi.ui.StyleEventArgs(this,this.onSetStyle,name,_386));}};nitobi.ui.IStyleable.prototype.getStyle=function(name){return nitobi.html.Css.getStyle(this.getHtmlNode(),name);};nitobi.lang.defineNs("nitobi.ui");nitobi.ui.StyleEventArgs=function(_388,_389,_38a,_38b){nitobi.ui.ElementEventArgs.baseConstructor.apply(this,arguments);this.property=_38a||null;this.value=_38b||null;};nitobi.lang.extend(nitobi.ui.StyleEventArgs,nitobi.base.EventArgs);nitobi.lang.defineNs("nitobi.ui");nitobi.ui.IScrollable=function(_38c){this.scrollableElement=_38c;};nitobi.ui.IScrollable.prototype.setScrollableElement=function(el){this.scrollableElement=el;};nitobi.ui.IScrollable.prototype.getScrollableElement=function(){return this.scrollableElement;};nitobi.ui.IScrollable.prototype.getScrollLeft=function(){return this.scrollableElement.scrollLeft;};nitobi.ui.IScrollable.prototype.setScrollLeft=function(left){this.scrollableElement.scrollLeft=left;};nitobi.ui.IScrollable.prototype.scrollLeft=function(_38f){_38f=_38f||25;this.scrollableElement.scrollLeft-=_38f;};nitobi.ui.IScrollable.prototype.scrollRight=function(_390){_390=_390||25;this.scrollableElement.scrollLeft+=_390;};nitobi.ui.IScrollable.prototype.isOverflowed=function(_391){_391=_391||this.scrollableElement.childNodes[0];return!(parseInt(nitobi.html.getBox(this.scrollableElement).width)>=parseInt(nitobi.html.getBox(_391).width));};nitobi.lang.defineNs("nitobi.ui");if(false){nitobi.ui=function(){};}
nitobi.ui.startDragOperation=function(_392,_393,_394,_395,_396,_397){var ddo=new nitobi.ui.DragDrop(_392,_394,_395);ddo.onDragStop.subscribe(_397,_396);ddo.startDrag(_393);};nitobi.ui.DragDrop=function(_399,_39a,_39b){this.allowVertDrag=(_39a!=null?_39a:true);this.allowHorizDrag=(_39b!=null?_39b:true);if(nitobi.browser.IE){this.surface=document.getElementById("ebadragdropsurface_");if(this.surface==null){this.surface=nitobi.html.createElement("div",{"id":"ebadragdropsurface_"},{"filter":"alpha(opacity=1)","backgroundColor":"white","position":"absolute","display":"none","top":"0px","left":"0px","width":"100px","height":"100px","zIndex":"899"});document.body.appendChild(this.surface);}}
if(_399.nodeType==3){alert("Text node not supported. Use parent element");}
this.element=_399;this.zIndex=this.element.style.zIndex;this.element.style.zIndex=900;this.onMouseMove=new nitobi.base.Event();this.onDragStart=new nitobi.base.Event();this.onDragStop=new nitobi.base.Event();this.events=[{"type":"mouseup","handler":this.handleMouseUp,"capture":true},{"type":"mousemove","handler":this.handleMouseMove,"capture":true}];};nitobi.ui.DragDrop.prototype.startDrag=function(_39c){this.elementOriginTop=parseInt(this.element.style.top,10);this.elementOriginLeft=parseInt(this.element.style.left,10);if(isNaN(this.elementOriginLeft)){this.elementOriginLeft=0;}
if(isNaN(this.elementOriginTop)){this.elementOriginTop=0;}
var _39d=nitobi.html.getEventCoords(_39c);x=_39d.x;y=_39d.y;this.originX=x;this.originY=y;nitobi.html.attachEvents(document,this.events,this);nitobi.html.cancelEvent(_39c);this.onDragStart.notify();};nitobi.ui.DragDrop.prototype.handleMouseMove=function(_39e){var x,y;var _3a1=nitobi.html.getEventCoords(_39e);x=_3a1.x;y=_3a1.y;if(nitobi.browser.IE){this.surface.style.display="block";if(document.compat=="CSS1Compat"){var _3a2=nitobi.html.getBodyArea();var _3a3=0;if(document.compatMode=="CSS1Compat"){_3a3=25;}
this.surface.style.width=(_3a2.clientWidth-_3a3)+"px";this.surface.style.height=(_3a2.clientHeight)+"px";}else{this.surface.style.width=document.body.clientWidth;this.surface.style.height=document.body.clientHeight;}}
if(this.allowHorizDrag){this.element.style.left=(this.elementOriginLeft+x-this.originX)+"px";}
if(this.allowVertDrag){this.element.style.top=(this.elementOriginTop+y-this.originY)+"px";}
this.x=x;this.y=y;this.onMouseMove.notify(this);nitobi.html.cancelEvent(_39e);};nitobi.ui.DragDrop.prototype.handleMouseUp=function(_3a4){this.onDragStop.notify({"event":_3a4,"x":this.x,"y":this.y});nitobi.html.detachEvents(document,this.events);if(nitobi.browser.IE){this.surface.style.display="none";}
this.element.style.zIndex=this.zIndex;this.element.object=null;this.element=null;};if(typeof(nitobi.ajax)=="undefined"){nitobi.ajax=function(){};}
nitobi.ajax.createXmlHttp=function(){if(nitobi.browser.IE){var _3a5=null;try{_3a5=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){try{_3a5=new ActiveXObject("Microsoft.XMLHTTP");}
catch(ee){}}
return _3a5;}else{if(nitobi.browser.XHR_ENABLED){return new XMLHttpRequest();}}};nitobi.lang.defineNs("nitobi.ajax");nitobi.ajax.HttpRequest=function(){this.handler="";this.async=true;this.responseType=null;this.httpObj=nitobi.ajax.createXmlHttp();this.onPostComplete=new nitobi.base.Event();this.onGetComplete=new nitobi.base.Event();this.onRequestComplete=new nitobi.base.Event();this.onError=new nitobi.base.Event();this.timeout=0;this.timeoutId=null;this.params=null;this.data="";this.completeCallback=null;this.status="complete";this.preventCache=true;this.username="";this.password="";this.requestMethod="get";this.requestHeaders={};};nitobi.lang.extend(nitobi.ajax.HttpRequest,nitobi.Object);nitobi.ajax.HttpRequestPool_MAXCONNECTIONS=64;nitobi.ajax.HttpRequest.prototype.handleResponse=function(){var _3a6=null;var _3a7=null;if((this.httpObj.responseXML!=null&&this.httpObj.responseXML.documentElement!=null)&&this.responseType!="text"){_3a6=this.httpObj.responseXML;}else{if(this.responseType=="xml"){_3a6=nitobi.xml.createXmlDoc(this.httpObj.responseText);}else{_3a6=this.httpObj.responseText;}}
if(this.httpObj.status!=200){this.onError.notify({"source":this,"status":this.httpObj.status,"message":"An error occured retrieving the data from the server. "+"Expected response type was '"+this.responseType+"'."});}
return _3a6;};nitobi.ajax.HttpRequest.prototype.post=function(data,url){this.data=data;return this._send("POST",url,data,this.postComplete);};nitobi.ajax.HttpRequest.prototype.get=function(url){return this._send("GET",url,null,this.getComplete);};nitobi.ajax.HttpRequest.prototype.postComplete=function(){if(this.httpObj.readyState==4){this.status="complete";var _3ab={"response":this.handleResponse(),"params":this.params};this.responseXml=this.responseText=_3ab.response;this.onPostComplete.notify(_3ab);this.onRequestComplete.notify(_3ab);if(this.completeCallback){this.completeCallback.call(this,_3ab);}}};nitobi.ajax.HttpRequest.prototype.postXml=function(_3ac){this.setTimeout();if(("undefined"==typeof(_3ac.documentElement))||(null==_3ac.documentElement)||("undefined"==typeof(_3ac.documentElement.childNodes))||(1>_3ac.documentElement.childNodes.length)){ebaErrorReport("updategram is empty. No request sent. xmlData["+_3ac+"]\nxmlData.xml["+_3ac.xml+"]");return;}
if(null==_3ac.xml){var _3ad=new XMLSerializer();_3ac.xml=_3ad.serializeToString(_3ac);}
return this.post(_3ac.xml);};nitobi.ajax.HttpRequest.prototype._send=function(_3ae,url,data,_3b1){this.handler=url||this.handler;this.setTimeout();this.status="pending";this.httpObj.open(_3ae,(this.preventCache?this.cacheBust(this.handler):this.handler),this.async,this.username,this.password);if(this.async){this.httpObj.onreadystatechange=nitobi.lang.close(this,_3b1);}
for(var item in this.requestHeaders){this.httpObj.setRequestHeader(item,this.requestHeaders[item]);}
if(this.responseType=="xml"){this.httpObj.setRequestHeader("Content-Type","text/xml");}else{if(_3ae.toLowerCase()=="post"){this.httpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");}}
this.httpObj.send(data);if(!this.async){return this.handleResponse();}
return this.httpObj;};nitobi.ajax.HttpRequest.prototype.open=function(_3b3,url,_3b5,_3b6,_3b7){this.requestMethod=_3b3;this.async=_3b5;this.username=_3b6;this.password=_3b7;this.handler=url;};nitobi.ajax.HttpRequest.prototype.send=function(data){var _3b9=null;switch(this.requestMethod.toUpperCase()){case"POST":_3b9=this.post(data);break;default:_3b9=this.get();break;}
this.responseXml=this.responseText=_3b9;};nitobi.ajax.HttpRequest.prototype.setTimeout=function(){if(this.timeout>0){this.timeoutId=window.setTimeout(nitobi.lang.close(this,this.abort),this.timeout);}};nitobi.ajax.HttpRequest.prototype.getComplete=function(){if(this.httpObj.readyState==4){this.status="complete";var _3ba={"response":this.handleResponse(),"params":this.params,"status":this.httpObj.status,"statusText":this.httpObj.statusText};this.responseXml=this.responseText=_3ba.response;this.onGetComplete.notify(_3ba);this.onRequestComplete.notify(_3ba);if(this.completeCallback){this.completeCallback.call(this,_3ba);}}};nitobi.ajax.HttpRequest.prototype.setRequestHeader=function(_3bb,val){this.requestHeaders[_3bb]=val;};nitobi.ajax.HttpRequest.prototype.isError=function(code){return(code>=400&&code<600);};nitobi.ajax.HttpRequest.prototype.abort=function(){this.httpObj.onreadystatechange=function(){};this.httpObj.abort();};nitobi.ajax.HttpRequest.prototype.clear=function(){this.handler="";this.async=true;this.onPostComplete.dispose();this.onGetComplete.dispose();this.params=null;};nitobi.ajax.HttpRequest.prototype.cacheBust=function(url){var _3bf=url.split("?");var _3c0="nitobi_cachebust="+(new Date().getTime());if(_3bf.length==1){url+="?"+_3c0;}else{url+="&"+_3c0;}
return url;};nitobi.ajax.HttpRequestPool=function(_3c1){this.inUse=new Array();this.free=new Array();this.max=_3c1||nitobi.ajax.HttpRequestPool_MAXCONNECTIONS;this.locked=false;this.context=null;};nitobi.ajax.HttpRequestPool.prototype.reserve=function(){this.locked=true;var _3c2;if(this.free.length){_3c2=this.free.pop();_3c2.clear();this.inUse.push(_3c2);}else{if(this.inUse.length<this.max){try{_3c2=new nitobi.ajax.HttpRequest();}
catch(e){_3c2=null;}
this.inUse.push(_3c2);}else{throw"No request objects available";}}
this.locked=false;return _3c2;};nitobi.ajax.HttpRequestPool.prototype.release=function(_3c3){var _3c4=false;this.locked=true;if(null!=_3c3){for(var i=0;i<this.inUse.length;i++){if(_3c3==this.inUse[i]){this.free.push(this.inUse[i]);this.inUse.splice(i,1);_3c4=true;break;}}}
this.locked=false;return null;};nitobi.ajax.HttpRequestPool.prototype.dispose=function(){for(var i=0;i<this.inUse.length;i++){this.inUse[i].dispose();}
this.inUse=null;for(var j=0;j<this.free.length;j++){this.free[i].dispose();}
this.free=null;};nitobi.ajax.HttpRequestPool.instance=null;nitobi.ajax.HttpRequestPool.getInstance=function(){if(nitobi.ajax.HttpRequestPool.instance==null){nitobi.ajax.HttpRequestPool.instance=new nitobi.ajax.HttpRequestPool();}
return nitobi.ajax.HttpRequestPool.instance;};nitobi.lang.defineNs("nitobi.data");nitobi.data.UrlConnector=function(url,_3c9){this.url=url||null;this.transformer=_3c9||null;this.async=true;};nitobi.data.UrlConnector.prototype.get=function(_3ca,_3cb){this.request=nitobi.data.UrlConnector.requestPool.reserve();var _3cc=this.url;for(var p in _3ca){_3cc=nitobi.html.Url.setParameter(_3cc,p,_3ca[p]);}
this.request.handler=_3cc;this.request.async=this.async;this.request.responseType="xml";this.request.params={dataReadyCallback:_3cb};this.request.completeCallback=nitobi.lang.close(this,this.getComplete);this.request.get();};nitobi.data.UrlConnector.prototype.getComplete=function(_3ce){if(_3ce.params.dataReadyCallback){var _3cf=_3ce.response;var _3d0=_3ce.params.dataReadyCallback;var _3d1=_3cf;if(this.transformer){if(typeof(this.transformer)==="function"){_3d1=this.transformer.call(null,_3cf);}else{_3d1=nitobi.xml.transform(_3cf,this.transformer,"xml");}}
if(_3d0){_3d0.call(null,{result:_3d1,response:_3ce.response});}}
nitobi.data.UrlConnector.requestPool.release(this.request);};nitobi.data.UrlConnector.requestPool=new nitobi.ajax.HttpRequestPool();function ntbAssert(_3d2,_3d3,_3d4,_3d5){}
nitobi.lang.defineNs("console");nitobi.lang.defineNs("nitobi.debug");if(typeof(console.log)=="undefined"){console.log=function(s){nitobi.debug.addDebugTools();var t=$ntb("nitobi.log");t.value=s+"\n"+t.value;};console.evalCode=function(){var _3d8=(eval($ntb("nitobi.consoleEntry").value));};}
nitobi.debug.addDebugTools=function(){var sId="nitobi_debug_panel";var div=document.getElementById(sId);var html="<table width=100%><tr><td width=50%><textarea style='width:100%' cols=125 rows=25 id='nitobi.log'></textarea></td><td width=50%><textarea style='width:100%' cols=125 rows=25 id='nitobi.consoleEntry'></textarea><br/><button onclick='console.evalCode()'>Eval</button></td></tr></table>";if(div==null){var div=document.createElement("div");div.setAttribute("id",sId);div.innerHTML=html;document.body.appendChild(div);}else{if(div.innerHTML==""){div.innerHTML=html;}}};nitobi.debug.assert=function(){};EBA_EM_ATTRIBUTE_ERROR=1;EBA_XHR_RESPONSE_ERROR=2;EBA_DEBUG="debug";EBA_WARN="warn";EBA_ERROR="error";EBA_THROW="throw";EBA_DEBUG_MODE=false;EBA_ON_ERROR="";EBA_LAST_ERROR="";_ebaDebug=false;NTB_EM_ATTRIBUTE_ERROR=1;NTB_XHR_RESPONSE_ERROR=2;NTB_DEBUG="debug";NTB_WARN="warn";NTB_ERROR="error";NTB_THROW="throw";NTB_DEBUG_MODE=false;NTB_ON_ERROR="";NTB_LAST_ERROR="";_ebaDebug=false;function _ntbAssert(_3dc,_3dd){ntbAssert(_3dc,_3dd,"",DEBUG);}
function ebaSetOnErrorEvent(_3de){nitobi.debug.setOnErrorEvent.apply(this,arguments);}
nitobi.debug.setOnErrorEvent=function(_3df){NTB_ON_ERROR=_3df;};function ebaReportError(_3e0,_3e1,_3e2){nitobi.debug.errorReport("dude stop calling this method it is now called nitobi.debug.errorReport","");nitobi.debug.errorReport(_3e0,_3e1,_3e2);}
function ebaErrorReport(_3e3,_3e4,_3e5){nitobi.debug.errorReport.apply(this,arguments);}
nitobi.debug.errorReport=function(_3e6,_3e7,_3e8){_3e8=(_3e8)?_3e8:NTB_DEBUG;if(NTB_DEBUG==_3e8&&!NTB_DEBUG_MODE){return;}
var _3e9=_3e6+"\nerror code    ["+_3e7+"]\nerror Severity["+_3e8+"]";LastError=_3e9;if(eval(NTB_ON_ERROR||"true")){switch(_3e7){case NTB_EM_ATTRIBUTE_ERROR:confirm(_3e6);break;case NTB_XHR_RESPONSE_ERROR:confirm(_3e6);break;default:window.status=_3e6;break;}}
if(NTB_THROW==_3e8){throw(_3e9);}};if(false){nitobi.error=function(){};}
nitobi.lang.defineNs("nitobi.error");nitobi.error.onError=new nitobi.base.Event();if(nitobi){if(nitobi.testframework){if(nitobi.testframework.initEventError){nitobi.testframework.initEventError();}}}
nitobi.error.ErrorEventArgs=function(_3ea,_3eb,type){nitobi.error.ErrorEventArgs.baseConstructor.call(this,_3ea);this.description=_3eb;this.type=type;};nitobi.lang.extend(nitobi.error.ErrorEventArgs,nitobi.base.EventArgs);nitobi.error.isError=function(err,_3ee){return(err.indexOf(_3ee)>-1);};nitobi.error.OutOfBounds="Array index out of bounds.";nitobi.error.Unexpected="An unexpected error occurred.";nitobi.error.ArgExpected="The argument is null and not optional.";nitobi.error.BadArgType="The argument is not of the correct type.";nitobi.error.BadArg="The argument is not a valid value.";nitobi.error.XmlParseError="The XML did not parse correctly.";nitobi.error.DeclarationParseError="The HTML declaration could not be parsed.";nitobi.error.ExpectedInterfaceNotFound="The object does not support the properties or methods of the expected interface. Its class must implement the required interface.";nitobi.error.NoHtmlNode="No HTML node found with id.";nitobi.error.OrphanXmlNode="The XML node has no owner document.";nitobi.error.HttpRequestError="The HTML page could not be loaded.";nitobi.lang.defineNs("nitobi.html");nitobi.html.IRenderer=function(_3ef){this.setTemplate(_3ef);this.parameters={};};nitobi.html.IRenderer.prototype.renderAfter=function(_3f0,data){_3f0=$ntb(_3f0);var _3f2=_3f0.parentNode;_3f0=_3f0.nextSibling;return this._renderBefore(_3f2,_3f0,data);};nitobi.html.IRenderer.prototype.renderBefore=function(_3f3,data){_3f3=$ntb(_3f3);return this._renderBefore(_3f3.parentNode,_3f3,data);};nitobi.html.IRenderer.prototype._renderBefore=function(_3f5,_3f6,data){var s=this.renderToString(data);var _3f9=document.createElement("div");_3f9.innerHTML=s;var _3fa=new Array();if(_3f9.childNodes){var i=0;while(_3f9.childNodes.length){_3fa[i++]=_3f9.firstChild;_3f5.insertBefore(_3f9.firstChild,_3f6);}}else{}
return _3fa;};nitobi.html.IRenderer.prototype.renderIn=function(_3fc,data){_3fc=$ntb(_3fc);var s=this.renderToString(data);_3fc.innerHTML=s;return _3fc.childNodes;};nitobi.html.IRenderer.prototype.renderToString=function(data){};nitobi.html.IRenderer.prototype.setTemplate=function(_400){this.template=_400;};nitobi.html.IRenderer.prototype.getTemplate=function(){return this.template;};nitobi.html.IRenderer.prototype.setParameters=function(_401){for(var p in _401){this.parameters[p]=_401[p];}};nitobi.html.IRenderer.prototype.getParameters=function(){return this.parameters;};nitobi.lang.defineNs("nitobi.html");nitobi.html.XslRenderer=function(_403){nitobi.html.IRenderer.call(this,_403);};nitobi.lang.implement(nitobi.html.XslRenderer,nitobi.html.IRenderer);nitobi.html.XslRenderer.prototype.setTemplate=function(_404){if(typeof(_404)==="string"){_404=nitobi.xml.createXslProcessor(_404);}
this.template=_404;};nitobi.html.XslRenderer.prototype.renderToString=function(data){if(typeof(data)==="string"){data=nitobi.xml.createXmlDoc(data);}
if(nitobi.lang.typeOf(data)===nitobi.lang.type.XMLNODE){data=nitobi.xml.createXmlDoc(nitobi.xml.serialize(data));}
var _406=this.getTemplate();var _407=this.getParameters();for(var p in _407){_406.addParameter(p,_407[p],"");}
var s=nitobi.xml.transformToString(data,_406,"xml");for(var p in _407){_406.addParameter(p,"","");}
return s;};nitobi.lang.defineNs("nitobi.ui");NTB_CSS_HIDE="nitobi-hide";nitobi.ui.Element=function(id){nitobi.ui.Element.baseConstructor.call(this);nitobi.ui.IStyleable.call(this);if(id!=null){if(nitobi.lang.typeOf(id)==nitobi.lang.type.XMLNODE){nitobi.base.ISerializable.call(this,id);}else{if($ntb(id)!=null){var decl=new nitobi.base.Declaration();var _40c=decl.loadHtml($ntb(id));var _40d=$ntb(id);var _40e=_40d.parentNode;var _40f=_40e.ownerDocument.createElement("ntb:component");_40e.insertBefore(_40f,_40d);_40e.removeChild(_40d);this.setContainer(_40f);nitobi.base.ISerializable.call(this,_40c);}else{nitobi.base.ISerializable.call(this);this.setId(id);}}}else{nitobi.base.ISerializable.call(this);}
this.eventMap={};this.onCreated=new nitobi.base.Event("created");this.eventMap["created"]=this.onCreated;this.onBeforeRender=new nitobi.base.Event("beforerender");this.eventMap["beforerender"]=this.onBeforeRender;this.onRender=new nitobi.base.Event("render");this.eventMap["render"]=this.onRender;this.onBeforeSetVisible=new nitobi.base.Event("beforesetvisible");this.eventMap["beforesetvisible"]=this.onBeforeSetVisible;this.onSetVisible=new nitobi.base.Event("setvisible");this.eventMap["setvisible"]=this.onSetVisible;this.onBeforePropagate=new nitobi.base.Event("beforepropagate");this.onEventNotify=new nitobi.base.Event("eventnotify");this.onBeforeEventNotify=new nitobi.base.Event("beforeeventnotify");this.onBeforePropagateToChild=new nitobi.base.Event("beforepropogatetochild");this.subscribeDeclarationEvents();this.setEnabled(true);this.renderer=new nitobi.html.XslRenderer();};nitobi.lang.extend(nitobi.ui.Element,nitobi.Object);nitobi.lang.implement(nitobi.ui.Element,nitobi.base.ISerializable);nitobi.lang.implement(nitobi.ui.Element,nitobi.ui.IStyleable);nitobi.ui.Element.htmlNodeCache={};nitobi.ui.Element.prototype.setHtmlNode=function(_410){var node=$ntb(_410);this.htmlNode=node;};nitobi.ui.Element.prototype.getRootId=function(){var _412=this.getParentObject();if(_412==null){return this.getId();}else{return _412.getRootId();}};nitobi.ui.Element.prototype.getId=function(){return this.getAttribute("id");};nitobi.ui.Element.parseId=function(id){var ids=id.split(".");if(ids.length<=2){return{localName:ids[1],id:ids[0]};}
return{localName:ids.pop(),id:ids.join(".")};};nitobi.ui.Element.prototype.setId=function(id){this.setAttribute("id",id);};nitobi.ui.Element.prototype.notify=function(_416,id,_418,_419){try{_416=nitobi.html.getEvent(_416);if(_419!==false){nitobi.html.cancelEvent(_416);}
var _41a=nitobi.ui.Element.parseId(id).id;if(!this.isDescendantExists(_41a)){return false;}
var _41b=!(_41a==this.getId());var _41c=new nitobi.ui.ElementEventArgs(this,null,id);var _41d=new nitobi.ui.EventNotificationEventArgs(this,null,id,_416);_41b=_41b&&this.onBeforePropagate.notify(_41d);var _41e=true;if(_41b){if(_418==null){_418=this.getPathToLeaf(_41a);}
var _41f=this.onBeforeEventNotify.notify(_41d);var _420=(_41f?this.onEventNotify.notify(_41d):true);var _421=_418.pop().getAttribute("id");var _422=this.getObjectById(_421);var _41e=this.onBeforePropagateToChild.notify(_41d);if(_422.notify&&_41e&&_420){_41e=_422.notify(_416,id,_418,_419);}}else{_41e=this.onEventNotify.notify(_41d);}
var _423=this.eventMap[_416.type];if(_423!=null&&_41e){_423.notify(this.getEventArgs(_416,id));}
return _41e;}
catch(err){nitobi.lang.throwError(nitobi.error.Unexpected+" Element.notify encountered a problem.",err);}};nitobi.ui.Element.prototype.getEventArgs=function(_424,_425){var _426=new nitobi.ui.ElementEventArgs(this,null,_425);return _426;};nitobi.ui.Element.prototype.subscribeDeclarationEvents=function(){for(var name in this.eventMap){var ev=this.getAttribute("on"+name);if(ev!=null&&ev!=""){this.eventMap[name].subscribe(ev,this,name);}}};nitobi.ui.Element.prototype.getHtmlNode=function(name){var id=this.getId();id=(name!=null?id+"."+name:id);var node=nitobi.ui.Element.htmlNodeCache[name];if(node==null){node=$ntb(id);nitobi.ui.Element.htmlNodeCache[id]=node;}
return node;};nitobi.ui.Element.prototype.flushHtmlNodeCache=function(){nitobi.ui.Element.htmlNodeCache={};};nitobi.ui.Element.prototype.hide=function(_42c,_42d,_42e){this.setVisible(false,_42c,_42d,_42e);};nitobi.ui.Element.prototype.show=function(_42f,_430,_431){this.setVisible(true,_42f,_430,_431);};nitobi.ui.Element.prototype.isVisible=function(){var node=this.getHtmlNode();return node&&!nitobi.html.Css.hasClass(node,NTB_CSS_HIDE);};nitobi.ui.Element.prototype.setVisible=function(_433,_434,_435,_436){var _437=this.getHtmlNode();if(_437&&this.isVisible()!=_433&&this.onBeforeSetVisible.notify({source:this,event:this.onBeforeSetVisible,args:arguments})!==false){if(this.effect){this.effect.end();}
if(_433){if(_434){var _438=new _434(_437,_436);_438.callback=nitobi.lang.close(this,this.handleSetVisible,[_435]);this.effect=_438;_438.onFinish.subscribeOnce(nitobi.lang.close(this,function(){this.effect=null;}));_438.start();}else{nitobi.html.Css.removeClass(_437,NTB_CSS_HIDE);this.handleSetVisible(_435);}}else{if(_434){var _438=new _434(_437,_436);_438.callback=nitobi.lang.close(this,this.handleSetVisible,[_435]);this.effect=_438;_438.onFinish.subscribeOnce(nitobi.lang.close(this,function(){this.effect=null;}));_438.start();}else{nitobi.html.Css.addClass(this.getHtmlNode(),NTB_CSS_HIDE);this.handleSetVisible(_435);}}}};nitobi.ui.Element.prototype.handleSetVisible=function(_439){if(_439){_439();}
this.onSetVisible.notify(new nitobi.ui.ElementEventArgs(this,this.onSetVisible));};nitobi.ui.Element.prototype.setEnabled=function(_43a){this.enabled=_43a;};nitobi.ui.Element.prototype.isEnabled=function(){return this.enabled;};nitobi.ui.Element.prototype.render=function(_43b,_43c){this.flushHtmlNodeCache();_43c=_43c||this.getState();_43b=$ntb(_43b)||this.getContainer();if(_43b==null){var _43b=document.createElement("span");document.body.appendChild(_43b);this.setContainer(_43b);}
this.htmlNode=this.renderer.renderIn(_43b,_43c)[0];this.htmlNode.jsObject=this;};nitobi.ui.Element.prototype.getContainer=function(){return this.container;};nitobi.ui.Element.prototype.setContainer=function(_43d){this.container=$ntb(_43d);};nitobi.ui.Element.prototype.getState=function(){return this.getXmlNode();};nitobi.lang.defineNs("nitobi.ui");nitobi.ui.ElementEventArgs=function(_43e,_43f,_440){nitobi.ui.ElementEventArgs.baseConstructor.apply(this,arguments);this.targetId=_440||null;};nitobi.lang.extend(nitobi.ui.ElementEventArgs,nitobi.base.EventArgs);nitobi.lang.defineNs("nitobi.ui");nitobi.ui.EventNotificationEventArgs=function(_441,_442,_443,_444){nitobi.ui.EventNotificationEventArgs.baseConstructor.apply(this,arguments);this.htmlEvent=_444||null;};nitobi.lang.extend(nitobi.ui.EventNotificationEventArgs,nitobi.ui.ElementEventArgs);nitobi.lang.defineNs("nitobi.ui");nitobi.ui.Container=function(id){nitobi.ui.Container.baseConstructor.call(this,id);nitobi.collections.IList.call(this);};nitobi.lang.extend(nitobi.ui.Container,nitobi.ui.Element);nitobi.lang.implement(nitobi.ui.Container,nitobi.collections.IList);nitobi.base.Registry.getInstance().register(new nitobi.base.Profile("nitobi.ui.Container",null,false,"ntb:container"));nitobi.lang.defineNs("nitobi.ui");NTB_CSS_SMALL="ntb-effects-small";NTB_CSS_HIDE="nitobi-hide";if(false){nitobi.ui.Effects=function(){};}
nitobi.ui.Effects={};nitobi.ui.Effects.setVisible=function(_446,_447,_448,_449,_44a){_449=(_44a?nitobi.lang.close(_44a,_449):_449)||nitobi.lang.noop;_446=$ntb(_446);if(typeof _448=="string"){_448=nitobi.effects.families[_448];}
if(!_448){_448=nitobi.effects.families["none"];}
if(_447){var _44b=_448.show;}else{var _44b=_448.hide;}
if(_44b){var _44c=new _44b(_446);_44c.callback=_449;_44c.start();}else{if(_447){nitobi.html.Css.removeClass(_446,NTB_CSS_HIDE);}else{nitobi.html.Css.addClass(_446,NTB_CSS_HIDE);}
_449();}};nitobi.ui.Effects.shrink=function(_44d,_44e,_44f,_450){var rect=nitobi.html.getClientRects(_44e)[0];_44d.deltaHeight_Doctype=0-parseInt("0"+nitobi.html.getStyle(_44e,"border-top-width"))-parseInt("0"+nitobi.html.getStyle(_44e,"border-bottom-width"))-parseInt("0"+nitobi.html.getStyle(_44e,"padding-top"))-parseInt("0"+nitobi.html.getStyle(_44e,"padding-bottom"));_44d.deltaWidth_Doctype=0-parseInt("0"+nitobi.html.getStyle(_44e,"border-left-width"))-parseInt("0"+nitobi.html.getStyle(_44e,"border-right-width"))-parseInt("0"+nitobi.html.getStyle(_44e,"padding-left"))-parseInt("0"+nitobi.html.getStyle(_44e,"padding-right"));_44d.oldHeight=Math.abs(rect.top-rect.bottom)+_44d.deltaHeight_Doctype;_44d.oldWidth=Math.abs(rect.right-rect.left)+_44d.deltaWidth_Doctype;if(!(typeof(_44d.width)=="undefined")){_44d.deltaWidth=Math.floor(Math.ceil(_44d.width-_44d.oldWidth)/(_44f/nitobi.ui.Effects.ANIMATION_INTERVAL));}else{_44d.width=_44d.oldWidth;_44d.deltaWidth=0;}
if(!(typeof(_44d.height)=="undefined")){_44d.deltaHeight=Math.floor(Math.ceil(_44d.height-_44d.oldHeight)/(_44f/nitobi.ui.Effects.ANIMATION_INTERVAL));}else{_44d.height=_44d.oldHeight;_44d.deltaHeight=0;}
nitobi.ui.Effects.resize(_44d,_44e,_44f,_450);};nitobi.ui.Effects.resize=function(_452,_453,_454,_455){var rect=nitobi.html.getClientRects(_453)[0];var _457=Math.abs(rect.top-rect.bottom);var _458=Math.max(_457+_452.deltaHeight+_452.deltaHeight_Doctype,0);if(Math.abs(_457-_452.height)<Math.abs(_452.deltaHeight)){_458=_452.height;_452.deltaHeight=0;}
var _459=Math.abs(rect.right-rect.left);var _45a=Math.max(_459+_452.deltaWidth+_452.deltaWidth_Doctype,0);_45a=(_45a>=0)?_45a:0;if(Math.abs(_459-_452.width)<Math.abs(_452.deltaWidth)){_45a=_452.width;_452.deltaWidth=0;}
_454-=nitobi.ui.Effects.ANIMATION_INTERVAL;if(_454>0){window.setTimeout(nitobi.lang.closeLater(this,nitobi.ui.Effects.resize,[_452,_453,_454,_455]),nitobi.ui.Effects.ANIMATION_INTERVAL);}
var _45b=function(){_453.height=_458+"px";_453.style.height=_458+"px";_453.width=_45a+"px";_453.style.width=_45a+"px";if(_454<=0){if(_455){window.setTimeout(_455,0);}}};nitobi.ui.Effects.executeNextPulse.push(_45b);};nitobi.ui.Effects.executeNextPulse=new Array();nitobi.ui.Effects.pulse=function(){var p;while(p=nitobi.ui.Effects.executeNextPulse.pop()){p.call();}};nitobi.ui.Effects.PULSE_INTERVAL=20;nitobi.ui.Effects.ANIMATION_INTERVAL=40;window.setInterval(nitobi.ui.Effects.pulse,nitobi.ui.Effects.PULSE_INTERVAL);window.setTimeout(nitobi.ui.Effects.pulse,nitobi.ui.Effects.PULSE_INTERVAL);nitobi.ui.Effects.fadeIntervalId={};nitobi.ui.Effects.fadeIntervalTime=10;nitobi.ui.Effects.cube=function(_45d){return _45d*_45d*_45d;};nitobi.ui.Effects.cubeRoot=function(_45e){var T=0;var N=parseFloat(_45e);if(N<0){N=-N;T=1;}
var M=Math.sqrt(N);var ctr=1;while(ctr<101){var M=M*N;var M=Math.sqrt(Math.sqrt(M));ctr++;}
return M;};nitobi.ui.Effects.linear=function(_463){return _463;};nitobi.ui.Effects.fade=function(_464,_465,time,_467,_468){_468=_468||nitobi.ui.Effects.linear;var _469=(new Date()).getTime()+time;var id=nitobi.component.getUniqueId();var _46b=(new Date()).getTime();var el=_464;if(_464.length){el=_464[0];}
var _46d=nitobi.html.Css.getOpacity(el);var _46e=(_465-_46d<0?-1:0);nitobi.ui.Effects.fadeIntervalId[id]=window.setInterval(function(){nitobi.ui.Effects.stepFade(_464,_465,_46b,_469,id,_467,_468,_46e);},nitobi.ui.Effects.fadeIntervalTime);};nitobi.ui.Effects.stepFade=function(_46f,_470,_471,_472,id,_474,_475,_476){var ct=(new Date()).getTime();var _478=_472-_471;var nct=((ct-_471)/(_472-_471));if(nct<=0||nct>=1){nitobi.html.Css.setOpacities(_46f,_470);window.clearInterval(nitobi.ui.Effects.fadeIntervalId[id]);_474();return;}else{nct=Math.abs(nct+_476);}
var no=_475(nct);nitobi.html.Css.setOpacities(_46f,no*100);};nitobi.lang.defineNs("nitobi.component");if(false){nitobi.component=function(){};}
nitobi.loadComponent=function(el){var id=el;el=$ntb(el);if(el==null){nitobi.lang.throwError("nitobi.loadComponent could not load the component because it could not be found on the page. The component may not have a declaration, node, or it may have a duplicated id. Id: "+id);}
if(el.jsObject!=null){return el.jsObject;}
var _47d;var _47e=nitobi.html.getTagName(el);if(_47e=="ntb:grid"){_47d=nitobi.initGrid(el.id);}else{if(_47e==="ntb:combo"){_47d=nitobi.initCombo(el.id);}else{if(_47e=="ntb:treegrid"){_47d=nitobi.initTreeGrid(el.id);}else{if(el.jsObject==null){_47d=nitobi.base.Factory.getInstance().createByTag(_47e,el.id,nitobi.component.renderComponent);if(_47d.render&&!_47d.onLoadCallback){_47d.render();}}else{_47d=el.jsObject;}}}}
return _47d;};nitobi.component.renderComponent=function(_47f){_47f.source.render();};nitobi.getComponent=function(id){var el=$ntb(id);if(el==null){return null;}
return el.jsObject;};nitobi.component.uniqueId=0;nitobi.component.getUniqueId=function(){return"ntbcmp_"+(nitobi.component.uniqueId++);};nitobi.getComponents=function(_482,_483){if(_483==null){_483=[];}
if(nitobi.component.isNitobiElement(_482)){_483.push(_482);return;}
var _484=_482.childNodes;for(var i=0;i<_484.length;i++){nitobi.getComponents(_484[i],_483);}
return _483;};nitobi.component.isNitobiElement=function(_486){var _487=nitobi.html.getTagName(_486);if(_487.substr(0,3)=="ntb"){return true;}else{return false;}};nitobi.component.loadComponentsFromNode=function(_488){var _489=new Array();nitobi.getComponents(_488,_489);for(var i=0;i<_489.length;i++){nitobi.loadComponent(_489[i].getAttribute("id"));}};nitobi.lang.defineNs("nitobi.effects");if(false){nitobi.effects=function(){};}
nitobi.effects.Effect=function(_48b,_48c){this.element=$ntb(_48b);this.transition=_48c.transition||nitobi.effects.Transition.sinoidal;this.duration=_48c.duration||1;this.fps=_48c.fps||50;this.from=typeof(_48c.from)==="number"?_48c.from:0;this.to=typeof(_48c.from)==="number"?_48c.to:1;this.delay=_48c.delay||0;this.callback=typeof(_48c.callback)==="function"?_48c.callback:nitobi.lang.noop;this.queue=_48c.queue||nitobi.effects.EffectQueue.globalQueue;this.onBeforeFinish=new nitobi.base.Event();this.onFinish=new nitobi.base.Event();this.onBeforeStart=new nitobi.base.Event();};nitobi.effects.Effect.prototype.start=function(){var now=new Date().getTime();this.startOn=now+this.delay*1000;this.finishOn=this.startOn+this.duration*1000;this.deltaTime=this.duration*1000;this.totalFrames=this.duration*this.fps;this.frame=0;this.delta=this.from-this.to;this.queue.add(this);};nitobi.effects.Effect.prototype.render=function(pos){if(!this.running){this.onBeforeStart.notify(new nitobi.base.EventArgs(this,this.onBeforeStart));this.setup();this.running=true;}
this.update(this.transition(pos*this.delta+this.from));};nitobi.effects.Effect.prototype.step=function(now){if(this.startOn<=now){if(now>=this.finishOn){this.end();return;}
var pos=(now-this.startOn)/(this.deltaTime);var _491=Math.floor(pos*this.totalFrames);if(this.frame<_491){this.render(pos);this.frame=_491;}}};nitobi.effects.Effect.prototype.setup=function(){};nitobi.effects.Effect.prototype.update=function(pos){};nitobi.effects.Effect.prototype.finish=function(){};nitobi.effects.Effect.prototype.end=function(){this.onBeforeFinish.notify(new nitobi.base.EventArgs(this,this.onBeforeFinish));this.cancel();this.render(1);this.running=false;this.finish();this.callback();this.onFinish.notify(new nitobi.base.EventArgs(this,this.onAfterFinish));};nitobi.effects.Effect.prototype.cancel=function(){this.queue.remove(this);};nitobi.effects.factory=function(_493,_494,etc){var args=nitobi.lang.toArray(arguments,2);return function(_497){var f=function(){_493.apply(this,[_497,_494].concat(args));};nitobi.lang.extend(f,_493);return new f();};};nitobi.effects.families={none:{show:null,hide:null}};nitobi.lang.defineNs("nitobi.effects");if(false){nitobi.effects.Transition=function(){};}
nitobi.effects.Transition={};nitobi.effects.Transition.sinoidal=function(x){return(-Math.cos(x*Math.PI)/2)+0.5;};nitobi.effects.Transition.linear=function(x){return x;};nitobi.effects.Transition.reverse=function(x){return 1-x;};nitobi.lang.defineNs("nitobi.effects");nitobi.effects.Scale=function(_49c,_49d,_49e){nitobi.effects.Scale.baseConstructor.call(this,_49c,_49d);this.scaleX=typeof(_49d.scaleX)=="boolean"?_49d.scaleX:true;this.scaleY=typeof(_49d.scaleY)=="boolean"?_49d.scaleY:true;this.scaleFrom=typeof(_49d.scaleFrom)=="number"?_49d.scaleFrom:100;this.scaleTo=_49e;};nitobi.lang.extend(nitobi.effects.Scale,nitobi.effects.Effect);nitobi.effects.Scale.prototype.setup=function(){var _49f=this.element.style;var Css=nitobi.html.Css;this.originalStyle={"top":_49f.top,"left":_49f.left,"width":_49f.width,"height":_49f.height,"overflow":Css.getStyle(this.element,"overflow")};this.factor=(this.scaleTo-this.scaleFrom)/100;this.dims=[this.element.scrollWidth,this.element.scrollHeight];_49f.width=this.dims[0]+"px";_49f.height=this.dims[1]+"px";Css.setStyle(this.element,"overflow","hidden");};nitobi.effects.Scale.prototype.finish=function(){for(var s in this.originalStyle){this.element.style[s]=this.originalStyle[s];}};nitobi.effects.Scale.prototype.update=function(pos){var _4a3=(this.scaleFrom/100)+(this.factor*pos);this.setDimensions(Math.floor(_4a3*this.dims[0])||1,Math.floor(_4a3*this.dims[1])||1);};nitobi.effects.Scale.prototype.setDimensions=function(x,y){if(this.scaleX){this.element.style.width=x+"px";}
if(this.scaleY){this.element.style.height=y+"px";}};nitobi.lang.defineNs("nitobi.effects");nitobi.effects.EffectQueue=function(){nitobi.effects.EffectQueue.baseConstructor.call(this);nitobi.collections.IEnumerable.call(this);this.intervalId=0;};nitobi.lang.extend(nitobi.effects.EffectQueue,nitobi.Object);nitobi.lang.implement(nitobi.effects.EffectQueue,nitobi.collections.IEnumerable);nitobi.effects.EffectQueue.prototype.add=function(_4a6){nitobi.collections.IEnumerable.prototype.add.call(this,_4a6);if(!this.intervalId){this.intervalId=window.setInterval(nitobi.lang.close(this,this.step),15);}};nitobi.effects.EffectQueue.prototype.step=function(){var now=new Date().getTime();this.each(function(e){e.step(now);});};nitobi.effects.EffectQueue.globalQueue=new nitobi.effects.EffectQueue();nitobi.lang.defineNs("nitobi.effects");nitobi.effects.BlindUp=function(_4a9,_4aa){_4aa=nitobi.lang.merge({scaleX:false,duration:Math.min(0.2*(_4a9.scrollHeight/100),0.5)},_4aa||{});nitobi.effects.BlindUp.baseConstructor.call(this,_4a9,_4aa,0);};nitobi.lang.extend(nitobi.effects.BlindUp,nitobi.effects.Scale);nitobi.effects.BlindUp.prototype.setup=function(){nitobi.effects.BlindUp.base.setup.call(this);};nitobi.effects.BlindUp.prototype.finish=function(){nitobi.html.Css.addClass(this.element,NTB_CSS_HIDE);nitobi.effects.BlindUp.base.finish.call(this);this.element.style.height="";};nitobi.effects.BlindDown=function(_4ab,_4ac){nitobi.html.Css.swapClass(_4ab,NTB_CSS_HIDE,NTB_CSS_SMALL);_4ac=nitobi.lang.merge({scaleX:false,scaleFrom:0,duration:Math.min(0.2*(_4ab.scrollHeight/100),0.5)},_4ac||{});nitobi.effects.BlindDown.baseConstructor.call(this,_4ab,_4ac,100);};nitobi.lang.extend(nitobi.effects.BlindDown,nitobi.effects.Scale);nitobi.effects.BlindDown.prototype.setup=function(){nitobi.effects.BlindDown.base.setup.call(this);this.element.style.height="1px";nitobi.html.Css.removeClass(this.element,NTB_CSS_SMALL);};nitobi.effects.BlindDown.prototype.finish=function(){nitobi.effects.BlindDown.base.finish.call(this);this.element.style.height="";};nitobi.effects.families.blind={show:nitobi.effects.BlindDown,hide:nitobi.effects.BlindUp};nitobi.lang.defineNs("nitobi.effects");nitobi.effects.ShadeUp=function(_4ad,_4ae){_4ae=nitobi.lang.merge({scaleX:false,duration:Math.min(0.2*(_4ad.scrollHeight/100),0.3)},_4ae||{});nitobi.effects.ShadeUp.baseConstructor.call(this,_4ad,_4ae,0);};nitobi.lang.extend(nitobi.effects.ShadeUp,nitobi.effects.Scale);nitobi.effects.ShadeUp.prototype.setup=function(){nitobi.effects.ShadeUp.base.setup.call(this);var _4af=nitobi.html.getFirstChild(this.element);this.originalStyle.position=this.element.style.position;nitobi.html.position(this.element);if(_4af){var _4b0=_4af.style;this.fnodeStyle={position:_4b0.position,bottom:_4b0.bottom,left:_4b0.left};this.fnode=_4af;_4b0.position="absolute";_4b0.bottom="0px";_4b0.left="0px";_4b0.top="";}};nitobi.effects.ShadeUp.prototype.finish=function(){nitobi.effects.ShadeUp.base.finish.call(this);nitobi.html.Css.addClass(this.element,NTB_CSS_HIDE);this.element.style.height="";this.element.style.position=this.originalStyle.position;this.element.style.overflow=this.originalStyle.overflow;for(var x in this.fnodeStyle){this.fnode.style[x]=this.fnodeStyle[x];}};nitobi.effects.ShadeDown=function(_4b2,_4b3){nitobi.html.Css.swapClass(_4b2,NTB_CSS_HIDE,NTB_CSS_SMALL);_4b3=nitobi.lang.merge({scaleX:false,scaleFrom:0,duration:Math.min(0.2*(_4b2.scrollHeight/100),0.3)},_4b3||{});nitobi.effects.ShadeDown.baseConstructor.call(this,_4b2,_4b3,100);};nitobi.lang.extend(nitobi.effects.ShadeDown,nitobi.effects.Scale);nitobi.effects.ShadeDown.prototype.setup=function(){nitobi.effects.ShadeDown.base.setup.call(this);this.element.style.height="1px";nitobi.html.Css.removeClass(this.element,NTB_CSS_SMALL);var _4b4=nitobi.html.getFirstChild(this.element);this.originalStyle.position=this.element.style.position;nitobi.html.position(this.element);if(_4b4){var _4b5=_4b4.style;this.fnodeStyle={position:_4b5.position,bottom:_4b5.bottom,left:_4b5.left,right:_4b5.right,top:_4b5.top};this.fnode=_4b4;_4b5.position="absolute";_4b5.top="";_4b5.right="";_4b5.bottom="0px";_4b5.left="0px";}};nitobi.effects.ShadeDown.prototype.finish=function(){nitobi.effects.ShadeDown.base.finish.call(this);this.element.style.height="";this.element.style.position=this.originalStyle.position;this.element.style.overflow=this.originalStyle.overflow;for(var x in this.fnodeStyle){this.fnode.style[x]=this.fnodeStyle[x];}
this.fnode.style.top="0px";this.fnode.style.left="0px";this.fnode.style.bottom="";this.fnode.style.right="";return;this.fnode.style["position"]="";};nitobi.effects.families.shade={show:nitobi.effects.ShadeDown,hide:nitobi.effects.ShadeUp};nitobi.lang.defineNs("nitobi.lang");nitobi.lang.StringBuilder=function(_4b7){if(_4b7){if(typeof(_4b7)==="string"){this.strings=[_4b7];}else{this.strings=_4b7;}}else{this.strings=new Array();}};nitobi.lang.StringBuilder.prototype.append=function(_4b8){if(_4b8){this.strings.push(_4b8);}
return this;};nitobi.lang.StringBuilder.prototype.clear=function(){this.strings.length=0;};nitobi.lang.StringBuilder.prototype.toString=function(){return this.strings.join("");};var temp_ntb_uniqueIdGeneratorProc='<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" /> <x:p-x:n-guid"x:s-0"/><x:t- match="/"> <x:at-/></x:t-><x:t- match="node()|@*"> <xsl:copy> <xsl:if test="not(@id)"> <x:a-x:n-id" ><x:v-x:s-generate-id(.)"/><x:v-x:s-position()"/><x:v-x:s-$guid"/></x:a-> </xsl:if> <x:at-x:s-./* | text() | @*"> </x:at-> </xsl:copy></x:t-> <x:t- match="text()"> <x:v-x:s-."/></x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.base");nitobi.base.uniqueIdGeneratorProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_uniqueIdGeneratorProc));;if(typeof(nitobi)=="undefined"||typeof(nitobi.lang)=="undefined"){alert("The Nitobi framework source could not be found. Is it included before any other Nitobi components?");}
nitobi.lang.defineNs("nitobi.ui");nitobi.ui.Scrollbar=function(){this.uid="scroll"+nitobi.base.getUid();};nitobi.ui.Scrollbar.prototype.render=function(){};nitobi.ui.Scrollbar.prototype.attachToParent=function(_1,_2,_3){this.UiContainer=_1;this.element=_2||nitobi.html.getFirstChild(this.UiContainer);if(this.element==null){this.render();}
this.surface=_3||nitobi.html.getFirstChild(this.element);this.element.onclick="";this.element.onmouseover="";this.element.onmouseout="";this.element.onscroll="";nitobi.html.attachEvent(this.element,"scroll",this.scrollByUser,this);};nitobi.ui.Scrollbar.prototype.align=function(){var vs=document.getElementById("vscroll"+this.uid);var dx=-1;if(nitobi.browser.MOZ){dx=-3;}
nitobi.drawing.align(vs,this.UiContainer.childNodes[0],269484288,-42,0,24,dx,false);};nitobi.ui.Scrollbar.prototype.scrollByUser=function(){this.fire("ScrollByUser",this.getScrollPercent());};nitobi.ui.Scrollbar.prototype.setScroll=function(_6){};nitobi.ui.Scrollbar.prototype.getScrollPercent=function(){};nitobi.ui.Scrollbar.prototype.setRange=function(_7){};nitobi.ui.Scrollbar.prototype.getWidth=function(){return nitobi.html.getScrollBarWidth();};nitobi.ui.Scrollbar.prototype.getHeight=function(){return nitobi.html.getScrollBarWidth();};nitobi.ui.Scrollbar.prototype.fire=function(_8,_9){return nitobi.event.notify(_8+this.uid,_9);};nitobi.ui.Scrollbar.prototype.subscribe=function(_a,_b,_c){if(typeof(_c)=="undefined"){_c=this;}
return nitobi.event.subscribe(_a+this.uid,nitobi.lang.close(_c,_b));};nitobi.ui.VerticalScrollbar=function(){this.uid="vscroll"+nitobi.base.getUid();};nitobi.lang.extend(nitobi.ui.VerticalScrollbar,nitobi.ui.Scrollbar);nitobi.ui.VerticalScrollbar.prototype.setScrollPercent=function(_d){this.element.scrollTop=(this.surface.offsetHeight-this.element.offsetHeight)*_d;return false;};nitobi.ui.VerticalScrollbar.prototype.getScrollPercent=function(){return(this.element.scrollTop/(this.surface.offsetHeight-this.element.offsetHeight));};nitobi.ui.VerticalScrollbar.prototype.setRange=function(_e){var st=this.element.scrollTop;this.surface.style.height=Math.floor(this.element.offsetHeight/_e)+"px";this.element.scrollTop=st;this.element.scrollTop=this.element.scrollTop;};nitobi.lang.defineNs("nitobi.ui");nitobi.ui.HorizontalScrollbar=function(){this.uid="hscroll"+nitobi.base.getUid();};nitobi.lang.extend(nitobi.ui.HorizontalScrollbar,nitobi.ui.Scrollbar);nitobi.ui.HorizontalScrollbar.prototype.getScrollPercent=function(){return(this.element.scrollLeft/(this.surface.clientWidth-this.element.clientWidth));};nitobi.ui.HorizontalScrollbar.prototype.setScrollPercent=function(_10){this.element.scrollLeft=(this.surface.clientWidth-this.element.clientWidth)*_10;return false;};nitobi.ui.HorizontalScrollbar.prototype.setRange=function(_11){this.surface.style.width=Math.floor(this.element.offsetWidth/_11)+"px";};nitobi.lang.defineNs("nitobi.ui");nitobi.ui.IDataBoundList=function(){};nitobi.ui.IDataBoundList.prototype.getGetHandler=function(){return this.getHandler;};nitobi.ui.IDataBoundList.prototype.setGetHandler=function(_12){this.column.getModel().setAttribute("GetHandler",_12);this.getHandler=_12;};nitobi.ui.IDataBoundList.prototype.getDataSourceId=function(){return this.datasourceId;};nitobi.ui.IDataBoundList.prototype.setDataSourceId=function(_13){this.column.getModel().setAttribute("DatasourceId",_13);this.datasourceId=_13;};nitobi.ui.IDataBoundList.prototype.getDisplayFields=function(){return this.displayFields;};nitobi.ui.IDataBoundList.prototype.setDisplayFields=function(_14){this.column.getModel().setAttribute("DisplayFields",_14);this.displayFields=_14;};nitobi.ui.IDataBoundList.prototype.getValueField=function(){return this.valueField;};nitobi.ui.IDataBoundList.prototype.setValueField=function(_15){this.column.getModel().setAttribute("ValueField",_15);this.valueField=_15;};nitobi.lang.defineNs("nitobi.collections");nitobi.collections.CacheMap=function(){this.tail=null;this.debug=new Array();};nitobi.collections.CacheMap.prototype.insert=function(low,_17){low=Number(low);_17=Number(_17);this.debug.push("insert("+low+","+_17+")");var _18=new nitobi.collections.CacheNode(low,_17);if(this.head==null){this.debug.push("empty cache, adding first node");this.head=_18;this.tail=_18;}else{var n=this.head;while(n!=null&&low>n.high+1){n=n.next;}
if(n==null){this.debug.push("appending node to end");this.tail.next=_18;_18.prev=this.tail;this.tail=_18;}else{this.debug.push("inserting new node before "+n.toString());if(n.prev!=null){_18.prev=n.prev;n.prev.next=_18;}
_18.next=n;n.prev=_18;while(_18.mergeNext()){}
if(_18.prev==null){this.head=_18;}
if(_18.next==null){this.tail=_18;}}}};nitobi.collections.CacheMap.prototype.remove=function(low,_1b){low=Number(low);_1b=Number(_1b);this.debug.push("insert("+low+","+_1b+")");if(this.head==null){}else{if(_1b<this.head.low||low>this.tail.high){return;}
var _1c=this.head;while(_1c!=null&&low>_1c.high){_1c=_1c.next;}
if(_1c==null){this.debug.push("the range was not found");}else{var end=_1c;var _1e=null;while(end!=null&&_1b>end.high){if((end.next!=null&&_1b<end.next.low)||end.next==null){break;}
_1e=end.next;if(end!=_1c){this.removeNode(end);}
end=_1e;}
if(_1c!=end){if(_1b>=end.high){this.removeNode(end);}
if(low<=_1c.low){this.removeNode(_1c);}}else{if(_1c.low>=low&&_1c.high<=_1b){this.removeNode(_1c);return;}else{if(low>_1c.low&&_1b<_1c.high){var _1f=_1c.low;var _20=_1c.high;this.removeNode(_1c);this.insert(_1f,low-1);this.insert(_1b+1,_20);return;}}}
if(end!=null&&_1b<end.high){end.low=_1b+1;}
if(_1c!=null&&low>_1c.low){_1c.high=low-1;}}}};nitobi.collections.CacheMap.prototype.gaps=function(low,_22){var g=new Array();var n=this.head;if(n==null||n.low>_22||this.tail.high<low){g.push(new nitobi.collections.Range(low,_22));return g;}
var _25=0;while(n!=null&&n.high<low){_25=n.high+1;n=n.next;}
if(n!=null){do{if(g.length==0){if(low<n.low){g.push(new nitobi.collections.Range(Math.max(low,_25),Math.min(n.low-1,_22)));}}
if(_22>n.high){if(n.next==null||n.next.low>_22){g.push(new nitobi.collections.Range(n.high+1,_22));}else{g.push(new nitobi.collections.Range(n.high+1,n.next.low-1));}}
n=n.next;}while(n!=null&&n.high<_22);}else{g.push(new nitobi.collections.Range(this.tail.high+1,_22));}
return g;};nitobi.collections.CacheMap.prototype.ranges=function(low,_27){var g=new Array();var n=this.head;if(n==null||n.low>_27||this.tail.high<low){return g;}
while(n!=null&&n.high<low){minLow=n.high+1;n=n.next;}
if(n!=null){do{g.push(new nitobi.collections.Range(n.low,n.high));n=n.next;}while(n!=null&&n.high<_27);}
return g;};nitobi.collections.CacheMap.prototype.gapsString=function(low,_2b){var gs=this.gaps(low,_2b);var a=new Array();for(var i=0;i<gs.length;i++){a.push(gs[i].toString());}
return a.join(",");};nitobi.collections.CacheMap.prototype.removeNode=function(_2f){if(_2f.prev!=null){_2f.prev.next=_2f.next;}else{this.head=_2f.next;}
if(_2f.next!=null){_2f.next.prev=_2f.prev;}else{this.tail=_2f.prev;}
_2f=null;};nitobi.collections.CacheMap.prototype.toString=function(){var n=this.head;var s=new Array();while(n!=null){s.push(n.toString());n=n.next;}
return s.join(",");};nitobi.collections.CacheMap.prototype.flush=function(){var _32=this.head;while(Boolean(_32)){var _33=_32.next;delete(_32);_32=_33;}
this.head=null;this.tail=null;};nitobi.collections.CacheMap.prototype.insertIntoRange=function(_34){var n=this.head;var inc=0;while(n!=null){if(_34>=n.low&&_34<=n.high){inc=1;n.high+=inc;}else{n.low+=inc;n.high+=inc;}
n=n.next;}
if(inc==0){this.insert(_34,_34);}};nitobi.collections.CacheMap.prototype.removeFromRange=function(_37){var n=this.head;var inc=0;while(n!=null){if(_37>=n.low&&_37<=n.high){inc=-1;if(n.low==n.high){this.remove(_37,_37);}else{n.high+=inc;}}else{n.low+=inc;n.high+=inc;}
n=n.next;}
ntbAssert(inc!=0,"Tried to remove something from a range where the range does not exist");};nitobi.lang.defineNs("nitobi.collections");nitobi.collections.BlockMap=function(){this.head=null;this.tail=null;this.debug=new Array();};nitobi.lang.extend(nitobi.collections.BlockMap,nitobi.collections.CacheMap);nitobi.collections.BlockMap.prototype.insert=function(low,_3b){low=Number(low);_3b=Number(_3b);this.debug.push("insert("+low+","+_3b+")");if(this.head==null){var _3c=new nitobi.collections.CacheNode(low,_3b);this.debug.push("empty cache, adding first node");this.head=_3c;this.tail=_3c;}else{var n=this.head;while(n!=null&&low>n.high){n=n.next;}
if(n==null){var _3c=new nitobi.collections.CacheNode(low,_3b);this.debug.push("appending node to end");this.tail.next=_3c;_3c.prev=this.tail;this.tail=_3c;}else{this.debug.push("inserting new node into or before "+n.toString());if(low<n.low||_3b>n.high){if(low<n.low){var _3c=new nitobi.collections.CacheNode(low,_3b);_3c.prev=n.prev;_3c.next=n;if(n.prev!=null){n.prev.next=_3c;}
n.prev=_3c;_3c.high=Math.min(_3c.high,n.low-1);}else{var _3c=new nitobi.collections.CacheNode(n.high+1,_3b);_3c.prev=n;_3c.next=n.next;if(n.next!=null){n.next.prev=_3c;_3c.high=Math.min(_3b,_3c.next.low-1);}
n.next=_3c;}
if(_3c.prev==null){this.head=_3c;}
if(_3c.next==null){this.tail=_3c;}}}}};nitobi.collections.BlockMap.prototype.blocks=function(low,_3f){var g=new Array();var n=this.head;if(n==null||n.low>_3f||this.tail.high<low){g.push(new nitobi.collections.Range(low,_3f));return g;}
var _42=0;while(n!=null&&n.high<low){_42=n.high+1;n=n.next;}
if(n!=null){do{if(g.length==0){if(low<n.low){g.push(new nitobi.collections.Range(Math.max(low,_42),Math.min(n.low-1,_3f)));}}
if(_3f>n.high){if(n.next==null||n.next.low>_3f){g.push(new nitobi.collections.Range(n.high+1,_3f));}else{g.push(new nitobi.collections.Range(n.high+1,n.next.low-1));}}
n=n.next;}while(n!=null&&n.high<_3f);}else{g.push(new nitobi.collections.Range(this.tail.high+1,_3f));}
return g;};nitobi.lang.defineNs("nitobi.collections");nitobi.collections.CellSet=function(_43,_44,_45,_46,_47){this.owner=_43;if(_44!=null&&_45!=null&&_46!=null&&_47!=null){this.setRange(_44,_45,_46,_47);}else{this.setRange(0,0,0,0);}};nitobi.collections.CellSet.prototype.toString=function(){var str="";for(var i=this._topRow;i<=this._bottomRow;i++){str+="[";for(var j=this._leftColumn;j<=this._rightColumn;j++){str+="("+i+","+j+")";}
str+="]";}
return str;};nitobi.collections.CellSet.prototype.setRange=function(_4b,_4c,_4d,_4e){ntbAssert(_4b!=null&&_4c!=null&&_4d!=null&&_4e!=null,"nitobi.collections.CellSet.setRange requires startRow, startColumn, endRow, endColumn as integers",null,EBA_THROW);this._startRow=_4b;this._startColumn=_4c;this._endRow=_4d;this._endColumn=_4e;this._leftColumn=Math.min(_4c,_4e);this._rightColumn=Math.max(_4c,_4e);this._topRow=Math.min(_4b,_4d);this._bottomRow=Math.max(_4b,_4d);};nitobi.collections.CellSet.prototype.changeStartCell=function(_4f,_50){this._startRow=_4f;this._startColumn=_50;this._leftColumn=Math.min(_50,this._endColumn);this._rightColumn=Math.max(_50,this._endColumn);this._topRow=Math.min(_4f,this._endRow);this._bottomRow=Math.max(_4f,this._endRow);};nitobi.collections.CellSet.prototype.changeEndCell=function(_51,_52){this._endRow=_51;this._endColumn=_52;this._leftColumn=Math.min(_52,this._startColumn);this._rightColumn=Math.max(_52,this._startColumn);this._topRow=Math.min(_51,this._startRow);this._bottomRow=Math.max(_51,this._startRow);};nitobi.collections.CellSet.prototype.getRowCount=function(){return this._bottomRow-this._topRow+1;};nitobi.collections.CellSet.prototype.getColumnCount=function(){return this._rightColumn-this._leftColumn+1;};nitobi.collections.CellSet.prototype.getCoords=function(){return{"top":new nitobi.drawing.Point(this._leftColumn,this._topRow),"bottom":new nitobi.drawing.Point(this._rightColumn,this._bottomRow)};};nitobi.collections.CellSet.prototype.getCellObjectByOffset=function(_53,_54){return this.owner.getCellObject(this._topRow+_53,this._leftColumn+_54);};nitobi.lang.defineNs("nitobi.collections");nitobi.collections.CacheNode=function(low,_56){this.low=low;this.high=_56;this.next=null;this.prev=null;};nitobi.collections.CacheNode.prototype.isIn=function(val){return((val>=this.low)&&(val<=this.high));};nitobi.collections.CacheNode.prototype.mergeNext=function(){var _58=this.next;if(_58!=null&&_58.low<=this.high+1){this.high=Math.max(this.high,_58.high);this.low=Math.min(this.low,_58.low);var _59=_58.next;this.next=_59;if(_59!=null){_59.prev=this;}
_58.clear();return true;}else{return false;}};nitobi.collections.CacheNode.prototype.clear=function(){this.next=null;this.prev=null;};nitobi.collections.CacheNode.prototype.toString=function(){return"["+this.low+","+this.high+"]";};nitobi.lang.defineNs("nitobi.collections");nitobi.collections.Range=function(low,_5b){this.low=low;this.high=_5b;};nitobi.collections.Range.prototype.isIn=function(val){return((val>=this.low)&&(val<=this.high));};nitobi.collections.Range.prototype.toString=function(){return"["+this.low+","+this.high+"]";};nitobi.lang.defineNs("nitobi.grid");if(false){nitobi.grid=function(){};}
nitobi.grid.PAGINGMODE_NONE="none";nitobi.grid.PAGINGMODE_STANDARD="standard";nitobi.grid.PAGINGMODE_LIVESCROLLING="livescrolling";nitobi.grid.Grid=function(uid){nitobi.prepare();EBAAutoRender=false;this.disposal=[];this.uid=uid||nitobi.base.getUid();this.modelNodes={};this.cachedCells={};this.configureDefaults();if(nitobi.browser.IE6){nitobi.html.addUnload(nitobi.lang.close(this,this.dispose));}
this.subscribe("AttachToParent",this.initialize);this.subscribe("DataReady",this.layout);this.subscribe("AfterCellEdit",this.autoSave);this.subscribe("AfterRowInsert",this.autoSave);this.subscribe("AfterRowDelete",this.autoSave);this.subscribe("AfterPaste",this.autoSave);this.subscribe("AfterPaste",this.focus);this.subscribeOnce("HtmlReady",this.adjustHorizontalScrollBars);this.subscribe("AfterGridResize",this.adjustHorizontalScrollBars);this.events=[];this.scrollerEvents=[];this.cellEvents=[];this.headerEvents=[];this.keyEvents=[];};nitobi.lang.implement(nitobi.grid.Grid,nitobi.Object);var ntb_gridp=nitobi.grid.Grid.prototype;nitobi.grid.Grid.prototype.properties={id:{n:"ID",t:"",d:"",p:"j"},selection:{n:"Selection",t:"",d:null,p:"j"},bound:{n:"Bound",t:"",d:false,p:"j"},registeredto:{n:"RegisteredTo",t:"",d:true,p:"j"},licensekey:{n:"LicenseKey",t:"",d:true,p:"j"},columns:{n:"Columns",t:"",d:true,p:"j"},columnsdefined:{n:"ColumnsDefined",t:"",d:false,p:"j"},declaration:{n:"Declaration",t:"",d:"",p:"j"},datasource:{n:"Datasource",t:"",d:true,p:"j"},keygenerator:{n:"KeyGenerator",t:"",d:"",p:"j"},version:{n:"Version",t:"",d:3.01,p:"j"},cellclicked:{n:"CellClicked",t:"",d:false,p:"j"},uid:{n:"uid",t:"s",d:"",p:"x"},datasourceid:{n:"DatasourceId",t:"s",d:"",p:"x"},currentpageindex:{n:"CurrentPageIndex",t:"i",d:0,p:"x"},columnindicatorsenabled:{n:"ColumnIndicatorsEnabled",t:"b",d:true,p:"x"},rowindicatorsenabled:{n:"RowIndicatorsEnabled",t:"b",d:false,p:"x"},toolbarenabled:{n:"ToolbarEnabled",t:"b",d:true,p:"x"},toolbarheight:{n:"ToolbarHeight",t:"i",d:25,p:"x"},rowhighlightenabled:{n:"RowHighlightEnabled",t:"b",d:false,p:"x"},rowselectenabled:{n:"RowSelectEnabled",t:"b",d:false,p:"x"},gridresizeenabled:{n:"GridResizeEnabled",t:"b",d:false,p:"x"},widthfixed:{n:"WidthFixed",t:"b",d:false,p:"x"},heightfixed:{n:"HeightFixed",t:"b",d:false,p:"x"},minwidth:{n:"MinWidth",t:"i",d:20,p:"x"},minheight:{n:"MinHeight",t:"i",d:0,p:"x"},singleclickeditenabled:{n:"SingleClickEditEnabled",t:"b",d:false,p:"x"},autokeyenabled:{n:"AutoKeyEnabled",t:"b",d:false,p:"x"},tooltipsenabled:{n:"ToolTipsEnabled",t:"b",d:false,p:"x"},entertab:{n:"EnterTab",t:"s",d:"down",p:"x"},hscrollbarenabled:{n:"HScrollbarEnabled",t:"b",d:true,p:"x"},vscrollbarenabled:{n:"VScrollbarEnabled",t:"b",d:true,p:"x"},rowheight:{n:"RowHeight",t:"i",d:23,p:"x"},headerheight:{n:"HeaderHeight",t:"i",d:23,p:"x"},top:{n:"top",t:"i",d:0,p:"x"},left:{n:"left",t:"i",d:0,p:"x"},scrollbarwidth:{n:"scrollbarWidth",t:"i",d:22,p:"x"},scrollbarheight:{n:"scrollbarHeight",t:"i",d:22,p:"x"},freezetop:{n:"freezetop",t:"i",d:0,p:"x"},frozenleftcolumncount:{n:"FrozenLeftColumnCount",t:"i",d:0,p:"x"},rowinsertenabled:{n:"RowInsertEnabled",t:"b",d:true,p:"x"},rowdeleteenabled:{n:"RowDeleteEnabled",t:"b",d:true,p:"x"},asynchronous:{n:"Asynchronous",t:"b",d:true,p:"x"},autosaveenabled:{n:"AutoSaveEnabled",t:"b",d:false,p:"x"},columncount:{n:"ColumnCount",t:"i",d:0,p:"x"},rowsperpage:{n:"RowsPerPage",t:"i",d:20,p:"x"},forcevalidate:{n:"ForceValidate",t:"b",d:false,p:"x"},height:{n:"Height",t:"i",d:100,p:"x"},lasterror:{n:"LastError",t:"s",d:"",p:"x"},multirowselectenabled:{n:"MultiRowSelectEnabled",t:"b",d:false,p:"x"},multirowselectfield:{n:"MultiRowSelectField",t:"s",d:"",p:"x"},multirowselectattr:{n:"MultiRowSelectAttr",t:"s",d:"",p:"x"},gethandler:{n:"GetHandler",t:"s",d:"",p:"x"},savehandler:{n:"SaveHandler",t:"s",d:"",p:"x"},width:{n:"Width",t:"i",d:"",p:"x"},pagingmode:{n:"PagingMode",t:"s",d:"LiveScrolling",p:"x"},datamode:{n:"DataMode",t:"s",d:"Caching",p:"x"},rendermode:{n:"RenderMode",t:"s",d:"",p:"x"},copyenabled:{n:"CopyEnabled",t:"b",d:true,p:"x"},pasteenabled:{n:"PasteEnabled",t:"b",d:true,p:"x"},sortenabled:{n:"SortEnabled",t:"b",d:true,p:"x"},sortmode:{n:"SortMode",t:"s",d:"default",p:"x"},editmode:{n:"EditMode",t:"b",d:false,p:"x"},expanding:{n:"Expanding",t:"b",d:false,p:"x"},theme:{n:"Theme",t:"s",d:"nitobi",p:"x"},cellborder:{n:"CellBorder",t:"i",d:0,p:"x"},innercellborder:{n:"InnerCellBorder",t:"i",d:0,p:"x"},dragfillenabled:{n:"DragFillEnabled",t:"b",d:true,p:"x"},oncellclickevent:{n:"OnCellClickEvent",t:"",p:"e"},onbeforecellclickevent:{n:"OnBeforeCellClickEvent",t:"",p:"e"},oncelldblclickevent:{n:"OnCellDblClickEvent",t:"",p:"e"},ondatareadyevent:{n:"OnDataReadyEvent",t:"",p:"e"},onhtmlreadyevent:{n:"OnHtmlReadyEvent",t:"",p:"e"},ondatarenderedevent:{n:"OnDataRenderedEvent",t:"",p:"e"},oncelldoubleclickevent:{n:"OnCellDoubleClickEvent",t:"",p:"e"},onafterloaddatapageevent:{n:"OnAfterLoadDataPageEvent",t:"",p:"e"},onbeforeloaddatapageevent:{n:"OnBeforeLoadDataPageEvent",t:"",p:"e"},onafterloadpreviouspageevent:{n:"OnAfterLoadPreviousPageEvent",t:"",p:"e"},onbeforeloadpreviouspageevent:{n:"OnBeforeLoadPreviousPageEvent",t:"",p:"e"},onafterloadnextpageevent:{n:"OnAfterLoadNextPageEvent",t:"",p:"e"},onbeforeloadnextpageevent:{n:"OnBeforeLoadNextPageEvent",t:"",p:"e"},onbeforecelleditevent:{n:"OnBeforeCellEditEvent",t:"",p:"e"},onaftercelleditevent:{n:"OnAfterCellEditEvent",t:"",p:"e"},onbeforerowinsertevent:{n:"OnBeforeRowInsertEvent",t:"",p:"e"},onafterrowinsertevent:{n:"OnAfterRowInsertEvent",t:"",p:"e"},onbeforesortevent:{n:"OnBeforeSortEvent",t:"",p:"e"},onaftersortevent:{n:"OnAfterSortEvent",t:"",p:"e"},onbeforerefreshevent:{n:"OnBeforeRefreshEvent",t:"",p:"e"},onafterrefreshevent:{n:"OnAfterRefreshEvent",t:"",p:"e"},onbeforesaveevent:{n:"OnBeforeSaveEvent",t:"",p:"e"},onaftersaveevent:{n:"OnAfterSaveEvent",t:"",p:"e"},onhandlererrorevent:{n:"OnHandlerErrorEvent",t:"",p:"e"},onrowblurevent:{n:"OnRowBlurEvent",t:"",p:"e"},oncellfocusevent:{n:"OnCellFocusEvent",t:"",p:"e"},onfocusevent:{n:"OnFocusEvent",t:"",p:"e"},oncellblurevent:{n:"OnCellBlurEvent",t:"",p:"e"},onafterrowdeleteevent:{n:"OnAfterRowDeleteEvent",t:"",p:"e"},onbeforerowdeleteevent:{n:"OnBeforeRowDeleteEvent",t:"",p:"e"},oncellupdateevent:{n:"OnCellUpdateEvent",t:"",p:"e"},onrowfocusevent:{n:"OnRowFocusEvent",t:"",p:"e"},onbeforecopyevent:{n:"OnBeforeCopyEvent",t:"",p:"e"},onaftercopyevent:{n:"OnAfterCopyEvent",t:"",p:"e"},onbeforepasteevent:{n:"OnBeforePasteEvent",t:"",p:"e"},onafterpasteevent:{n:"OnAfterPasteEvent",t:"",p:"e"},onerrorevent:{n:"OnErrorEvent",t:"",p:"e"},oncontextmenuevent:{n:"OnContextMenuEvent",t:"",p:"e"},oncellvalidateevent:{n:"OnCellValidateEvent",t:"",p:"e"},onkeydownevent:{n:"OnKeyDownEvent",t:"",p:"e"},onkeyupevent:{n:"OnKeyUpEvent",t:"",p:"e"},onkeypressevent:{n:"OnKeyPressEvent",t:"",p:"e"},onmouseoverevent:{n:"OnMouseOverEvent",t:"",p:"e"},onmouseoutevent:{n:"OnMouseOutEvent",t:"",p:"e"},onmousemoveevent:{n:"OnMouseMoveEvent",t:"",p:"e"},onhitrowendevent:{n:"OnHitRowEndEvent",t:"",p:"e"},onhitrowstartevent:{n:"OnHitRowStartEvent",t:"",p:"e"},onafterdragfillevent:{n:"OnAfterDragFillEvent",t:"",p:"e"},onbeforedragfillevent:{n:"OnBeforeDragFillEvent",t:"",p:"e"},onafterresizeevent:{n:"OnAfterResizeEvent",t:"",p:"e"},onbeforeresizeevent:{n:"OnBeforeResizeEvent",t:"",p:"e"}};nitobi.grid.Grid.prototype.xColumnProperties={column:{align:{n:"Align",t:"s",d:"left"},classname:{n:"ClassName",t:"s",d:""},cssstyle:{n:"CssStyle",t:"s",d:""},columnname:{n:"ColumnName",t:"s",d:""},type:{n:"Type",t:"s",d:"text"},datatype:{n:"DataType",t:"s",d:"text"},editable:{n:"Editable",t:"b",d:true},initial:{n:"Initial",t:"s",d:""},label:{n:"Label",t:"s",d:""},gethandler:{n:"GetHandler",t:"s",d:""},datasource:{n:"DataSource",t:"s",d:""},template:{n:"Template",t:"s",d:""},templateurl:{n:"TemplateUrl",t:"s",d:""},maxlength:{n:"MaxLength",t:"i",d:255},sortdirection:{n:"SortDirection",t:"s",d:"Desc"},sortenabled:{n:"SortEnabled",t:"b",d:true},width:{n:"Width",t:"i",d:100},visible:{n:"Visible",t:"b",d:true},xdatafld:{n:"xdatafld",t:"s",d:""},value:{n:"Value",t:"s",d:""},xi:{n:"xi",t:"i",d:100},oncellclickevent:{n:"OnCellClickEvent"},onbeforecellclickevent:{n:"OnBeforeCellClickEvent"},oncelldblclickevent:{n:"OnCellDblClickEvent"},onheaderdoubleclickevent:{n:"OnHeaderDoubleClickEvent"},onheaderclickevent:{n:"OnHeaderClickEvent"},onbeforeresizeevent:{n:"OnBeforeResizeEvent"},onafterresizeevent:{n:"OnAfterResizeEvent"},oncellvalidateevent:{n:"OnCellValidateEvent"},onbeforecelleditevent:{n:"OnBeforeCellEditEvent"},onaftercelleditevent:{n:"OnAfterCellEditEvent"},oncellblurevent:{n:"OnCellBlurEvent"},oncellfocusevent:{n:"OnCellFocusEvent"},onbeforesortevent:{n:"OnBeforeSortEvent"},onaftersortevent:{n:"OnAfterSortEvent"},oncellupdateevent:{n:"OnCellUpdateEvent"},onkeydownevent:{n:"OnKeyDownEvent"},onkeyupevent:{n:"OnKeyUpEvent"},onkeypressevent:{n:"OnKeyPressEvent"},onchangeevent:{n:"OnChangeEvent"}},textcolumn:{},numbercolumn:{align:{n:"Align",t:"s",d:"right"},mask:{n:"Mask",t:"s",d:"#,###.00"},negativemask:{n:"NegativeMask",t:"s",d:""},groupingseparator:{n:"GroupingSeparator",t:"s",d:","},decimalseparator:{n:"DecimalSeparator",t:"s",d:"."},onkeydownevent:{n:"OnKeyDownEvent"},onkeyupevent:{n:"OnKeyUpEvent"},onkeypressevent:{n:"OnKeyPressEvent"},onchangeevent:{n:"OnChangeEvent"}},datecolumn:{mask:{n:"Mask",t:"s",d:"M/d/yyyy"},calendarenabled:{n:"CalendarEnabled",t:"b",d:true}},listboxeditor:{datasourceid:{n:"DatasourceId",t:"s",d:""},datasource:{n:"Datasource",t:"s",d:""},gethandler:{n:"GetHandler",t:"s",d:""},displayfields:{n:"DisplayFields",t:"s",d:""},valuefield:{n:"ValueField",t:"s",d:""},onkeydownevent:{n:"OnKeyDownEvent"},onkeyupevent:{n:"OnKeyUpEvent"},onkeypressevent:{n:"OnKeyPressEvent"},onchangeevent:{n:"OnChangeEvent"}},lookupeditor:{datasourceid:{n:"DatasourceId",t:"s",d:""},datasource:{n:"Datasource",t:"s",d:""},gethandler:{n:"GetHandler",t:"s",d:""},displayfields:{n:"DisplayFields",t:"s",d:""},valuefield:{n:"ValueField",t:"s",d:""},delay:{n:"Delay",t:"s",d:""},size:{n:"Size",t:"s",d:6},onkeydownevent:{n:"OnKeyDownEvent"},onkeyupevent:{n:"OnKeyUpEvent"},onkeypressevent:{n:"OnKeyPressEvent"},onchangeevent:{n:"OnChangeEvent"},forcevalidoption:{n:"ForceValidOption",t:"b",d:false},autocomplete:{n:"AutoComplete",t:"b",d:true},autoclear:{n:"AutoClear",t:"b",d:false},getonenter:{n:"GetOnEnter",t:"b",d:false},referencecolumn:{n:"ReferenceColumn",t:"s",d:""}},checkboxeditor:{datasourceid:{n:"DatasourceId",t:"s",d:""},datasource:{n:"Datasource",t:"s",d:""},gethandler:{n:"GetHandler",t:"s",d:""},displayfields:{n:"DisplayFields",t:"s",d:""},valuefield:{n:"ValueField",t:"s",d:""},checkedvalue:{n:"CheckedValue",t:"s",d:""},uncheckedvalue:{n:"UnCheckedValue",t:"s",d:""}},linkeditor:{openwindow:{n:"OpenWindow",t:"b",d:true}},texteditor:{maxlength:{n:"MaxLength",t:"i",d:255},onkeydownevent:{n:"OnKeyDownEvent"},onkeyupevent:{n:"OnKeyUpEvent"},onkeypressevent:{n:"OnKeyPressEvent"},onchangeevent:{n:"OnChangeEvent"}},numbereditor:{onkeydownevent:{n:"OnKeyDownEvent"},onkeyupevent:{n:"OnKeyUpEvent"},onkeypressevent:{n:"OnKeyPressEvent"},onchangeevent:{n:"OnChangeEvent"}},textareaeditor:{maxlength:{n:"MaxLength",t:"i",d:255},onkeydownevent:{n:"OnKeyDownEvent"},onkeyupevent:{n:"OnKeyUpEvent"},onkeypressevent:{n:"OnKeyPressEvent"},onchangeevent:{n:"OnChangeEvent"}},dateeditor:{mask:{n:"Mask",t:"s",d:"M/d/yyyy"},calendarenabled:{n:"CalendarEnabled",t:"b",d:true},onkeydownevent:{n:"OnKeyDownEvent"},onkeyupevent:{n:"OnKeyUpEvent"},onkeypressevent:{n:"OnKeyPressEvent"},onchangeevent:{n:"OnChangeEvent"}},imageeditor:{imageurl:{n:"ImageUrl",t:"s",d:""}},passwordeditor:{}};nitobi.grid.Grid.prototype.typeAccessorCreators={s:function(){},b:function(){},i:function(){},n:function(){}};nitobi.grid.Grid.prototype.createAccessors=function(_5e){var _5f=nitobi.grid.Grid.prototype.properties[_5e];nitobi.grid.Grid.prototype["set"+_5f.n]=function(){this[_5f.p+_5f.t+"SET"](_5f.n,arguments);};nitobi.grid.Grid.prototype["get"+_5f.n]=function(){return this[_5f.p+_5f.t+"GET"](_5f.n,arguments);};nitobi.grid.Grid.prototype["is"+_5f.n]=function(){return this[_5f.p+_5f.t+"GET"](_5f.n,arguments);};nitobi.grid.Grid.prototype[_5f.n]=_5f.d;};for(var name in nitobi.grid.Grid.prototype.properties){nitobi.grid.Grid.prototype.createAccessors(name);}
nitobi.grid.Grid.prototype.initialize=function(){this.fire("Preinitialize");this.initializeFromCss();this.createChildren();this.fire("AfterInitialize");this.fire("CreationComplete");};nitobi.grid.Grid.prototype.initializeFromCss=function(){this.CellHoverColor=this.getThemedStyle("ntb-cell-hover","backgroundColor")||"#C0C0FF";this.RowHoverColor=this.getThemedStyle("ntb-row-hover","backgroundColor")||"#FFFFC0";this.CellActiveColor=this.getThemedStyle("ntb-cell-active","backgroundColor")||"#F0C0FF";this.RowActiveColor=this.getThemedStyle("ntb-row-active","backgroundColor")||"#FFC0FF";var _60=this.getThemedStyle("ntb-row","height");if(_60!=null&&_60!=""){this.setRowHeight(parseInt(_60));}
var _61=this.getThemedStyle("ntb-grid-header","height");if(_61!=null&&_61!=""){this.setHeaderHeight(parseInt(_61));}
if(nitobi.browser.IE&&nitobi.lang.isStandards()){var _62=this.getThemedClass("ntb-cell-border");if(_62!=null){this.setCellBorder(parseInt(_62.borderLeftWidth+0)+parseInt(_62.borderRightWidth+0)+parseInt(_62.paddingLeft+0)+parseInt(_62.paddingRight+0));}}
if(nitobi.browser.MOZ){var _62=this.getThemedClass("ntb-cell");if(_62!=null){this.setInnerCellBorder(parseInt(_62.borderLeftWidth+0)+parseInt(_62.borderRightWidth+0)+parseInt(_62.paddingLeft+0)+parseInt(_62.paddingRight+0));}}};nitobi.grid.Grid.prototype.getThemedClass=function(_63){var C=nitobi.html.Css;var r=C.getRule("."+this.getTheme()+" ."+_63)||C.getRule("."+_63);var ret=null;if(r!=null&&r.style!=null){ret=r.style;}
return ret;};nitobi.grid.Grid.prototype.getThemedStyle=function(_67,_68){return nitobi.html.Css.getClassStyle("."+this.getTheme()+" ."+_67,_68);};nitobi.grid.Grid.prototype.connectRenderersToDataSet=function(_69){this.TopLeftRenderer.xmlDataSource=_69;this.TopCenterRenderer.xmlDataSource=_69;this.MidLeftRenderer.xmlDataSource=_69;this.MidCenterRenderer.xmlDataSource=_69;};nitobi.grid.Grid.prototype.connectToDataSet=function(_6a,_6b){this.data=_6a;if(this.TopLeftRenderer){this.connectRenderersToDataSet(_6a);}
this.connectToTable(_6b);};nitobi.grid.Grid.prototype.connectToTable=function(_6c){if(typeof(_6c)=="string"){this.datatable=this.data.getTable(_6c);}else{if(typeof(_6c)=="object"){this.datatable=_6c;}else{if(this.data.getTable("_default")+""!="undefined"){this.datatable=this.data.getTable("_default");}else{return false;}}}
this.connected=true;this.updateStructure();var dt=this.datatable;var L=nitobi.lang;dt.subscribe("DataReady",L.close(this,this.handleHandlerError));dt.subscribe("DataReady",L.close(this,this.syncWithData));dt.subscribe("DataSorted",L.close(this,this.syncWithData));dt.subscribe("RowInserted",L.close(this,this.syncWithData));dt.subscribe("RowDeleted",L.close(this,this.syncWithData));dt.subscribe("RowCountChanged",L.close(this,this.setRowCount));dt.subscribe("PastEndOfData",L.close(this,this.adjustRowCount));dt.subscribe("RowCountKnown",L.close(this,this.finalizeRowCount));dt.subscribe("StructureChanged",L.close(this,this.updateStructure));dt.subscribe("ColumnsInitialized",L.close(this,this.updateStructure));this.dataTableId=this.datatable.id;this.datatable.setOnGenerateKey(this.getKeyGenerator());this.fire("TableConnected",this.datatable);return true;};nitobi.grid.Grid.prototype.ensureConnected=function(){if(this.data==null){this.data=new nitobi.data.DataSet();this.data.initialize();this.datatable=new nitobi.data.DataTable(this.getDataMode(),this.getPagingMode()==nitobi.grid.PAGINGMODE_LIVESCROLLING,{GridId:this.getID()},{GridId:this.getID()},this.isAutoKeyEnabled());this.datatable.initialize("_default",this.getGetHandler(),this.getSaveHandler());this.data.add(this.datatable);this.connectToDataSet(this.data);}
if(this.datatable==null){this.datatable=this.data.getTable("_default");if(this.datatable==null){this.datatable=new nitobi.data.DataTable(this.getDataMode(),this.getPagingMode()==nitobi.grid.PAGINGMODE_LIVESCROLLING,{GridId:this.getID()},{GridId:this.getID()},this.isAutoKeyEnabled());this.datatable.initialize("_default",this.getGetHandler(),this.getSaveHandler());this.data.add(this.datatable);}
this.connectToDataSet(this.data);}
this.connected=true;};nitobi.grid.Grid.prototype.updateStructure=function(){if(this.inferredColumns){this.defineColumns(this.datatable);}
this.mapColumns();if(this.TopLeftRenderer){this.defineColumnBindings();this.defineColumnsFinalize();}};nitobi.grid.Grid.prototype.mapColumns=function(){this.fieldMap=this.datatable.fieldMap;};nitobi.grid.Grid.prototype.configureDefaults=function(){this.initializeModel();this.displayedFirstRow=0;this.displayedRowCount=0;this.localFilter=null;this.columns=[];this.fieldMap={};this.frameRendered=false;this.connected=false;this.inferredColumns=true;this.selectedRows=[];this.minHeight=20;this.minWidth=20;this.setRowCount(0);this.layoutValid=false;this.oldVersion=false;this.frameCssXslProc=nitobi.grid.frameCssXslProc;this.frameXslProc=nitobi.grid.frameXslProc;};nitobi.grid.Grid.prototype.attachDomEvents=function(){ntbAssert(this.UiContainer!=null&&nitobi.html.getFirstChild(this.UiContainer)!=null,"The Grid has not been attached to the DOM yet using attachToDom method. Therefore, attachDomEvents cannot proceed.",null,EBA_THROW);var _6f=this.getGridContainer();var he=this.headerEvents;he.push({type:"mousedown",handler:this.handleHeaderMouseDown});he.push({type:"mouseup",handler:this.handleHeaderMouseUp});he.push({type:"mousemove",handler:this.handleHeaderMouseMove});nitobi.html.attachEvents(this.getHeaderContainer(),he,this);var ce=this.cellEvents;ce.push({type:"mousedown",handler:this.handleCellMouseDown});ce.push({type:"mousemove",handler:this.handleCellMouseMove});nitobi.html.attachEvents(this.getDataContainer(),ce,this);var ge=this.events;ge.push({type:"contextmenu",handler:this.handleContextMenu});ge.push({type:"mousedown",handler:this.handleMouseDown});ge.push({type:"mouseup",handler:this.handleMouseUp});ge.push({type:"mousemove",handler:this.handleMouseMove});ge.push({type:"mouseout",handler:this.handleMouseOut});ge.push({type:"mouseover",handler:this.handleMouseOver});if(!nitobi.browser.MOZ){ge.push({type:"mousewheel",handler:this.handleMouseWheel});}else{nitobi.html.attachEvent($ntb("vscrollclip"+this.uid),"mousedown",this.focus,this);nitobi.html.attachEvent($ntb("hscrollclip"+this.uid),"mousedown",this.focus,this);ge.push({type:"DOMMouseScroll",handler:this.handleMouseWheel});}
nitobi.html.attachEvents(_6f,ge,this,false);if(nitobi.browser.IE){_6f.onselectstart=function(){var id=window.event.srcElement.id;if(id.indexOf("selectbox")==0||id.indexOf("cell")==0){return false;}};}
if(nitobi.browser.IE){this.keyNav=this.getScrollerContainer();}else{this.keyNav=$ntb("ntb-grid-keynav"+this.uid);}
this.keyEvents=[{type:"keydown",handler:this.handleKey},{type:"keyup",handler:this.handleKeyUp},{type:"keypress",handler:this.handleKeyPress}];nitobi.html.attachEvents(this.keyNav,this.keyEvents,this);var _74=$ntb("ntb-grid-resizeright"+this.uid);var _75=$ntb("ntb-grid-resizebottom"+this.uid);if(_74!=null){nitobi.html.attachEvent(_74,"mousedown",this.beforeResize,this);nitobi.html.attachEvent(_75,"mousedown",this.beforeResize,this);}};nitobi.grid.Grid.prototype.hoverCell=function(_76){var h=this.hovered;if(h){var hs=h.style;if(hs.backgroundColor==this.CellHoverColor){hs.backgroundColor=this.hoveredbg;}}
if(_76==null||_76==this.activeCell){return;}
var cs=_76.style;this.hoveredbg=cs.backgroundColor;this.hovered=_76;cs.backgroundColor=this.CellHoverColor;};nitobi.grid.Grid.prototype.hoverRow=function(row){if(!this.isRowHighlightEnabled()){return;}
var C=nitobi.html.Css;if(this.leftrowhovered&&this.leftrowhovered!=this.leftActiveRow){this.leftrowhovered.style.backgroundColor=this.leftrowhoveredbg;}
if(this.midrowhovered&&this.midrowhovered!=this.midActiveRow){this.midrowhovered.style.backgroundColor=this.midrowhoveredbg;}
if(row==this.activeRow||row==null){return;}
var _7c=-1;var _7d=nitobi.html.getFirstChild(row);var _7e=nitobi.grid.Row.getRowNumber(row);var _7f=nitobi.grid.Row.getRowElements(this,_7e);if(_7f.left!=null&&_7f.left!=this.leftActiveRow){this.leftrowhoveredbg=_7f.left.style.backgroundColor;this.leftrowhovered=_7f.left;_7f.left.style.backgroundColor=this.RowHoverColor;}
if(_7f.mid!=null&&_7f.mid!=this.midActiveRow){this.midrowhoveredbg=_7f.mid.style.backgroundColor;this.midrowhovered=_7f.mid;_7f.mid.style.backgroundColor=this.RowHoverColor;}};nitobi.grid.Grid.prototype.clearHover=function(){this.hoverCell();this.hoverRow();};nitobi.grid.Grid.prototype.handleMouseOver=function(evt){this.fire("MouseOver",evt);};nitobi.grid.Grid.prototype.handleMouseOut=function(evt){this.clearHover();this.fire("MouseOut",evt);};nitobi.grid.Grid.prototype.handleMouseDown=function(evt){};nitobi.grid.Grid.prototype.handleHeaderMouseDown=function(evt){var _84=this.findActiveCell(evt.srcElement);if(_84==null){return;}
var _85=nitobi.grid.Cell.getColumnNumber(_84);if(this.headerResizeHover(evt,_84)){var col=this.getColumnObject(_85);var _87=new nitobi.grid.OnBeforeColumnResizeEventArgs(this,col);if(!nitobi.event.evaluate(col.getOnBeforeResizeEvent(),_87)){return;}
this.columnResizer.startResize(this,_85,_84,evt);return false;}else{this.headerClicked(_85);this.fire("HeaderDown",_85);}};nitobi.grid.Grid.prototype.handleCellMouseDown=function(evt){var _89=this.findActiveCell(evt.srcElement)||this.activeCell;if(_89==null){return;}
if(!evt.shiftKey){var _8a=this.getSelectedColumnObject();var _8b=new nitobi.grid.OnCellClickEventArgs(this,this.getSelectedCellObject());if(!this.fire("BeforeCellClick",_8b)||(!!_8a&&!nitobi.event.evaluate(_8a.getOnBeforeCellClickEvent(),_8b))){return;}
this.waitt=true;this.setCellClicked(true);this.setActiveCell(_89,evt.ctrlKey||evt.metaKey);if(this.waitt==true){this.selection.selecting=true;}
var _8a=this.getSelectedColumnObject();var _8b=new nitobi.grid.OnCellClickEventArgs(this,this.getSelectedCellObject());this.fire("CellClick",_8b);if(!!_8a){nitobi.event.evaluate(_8a.getOnCellClickEvent(),_8b);}}};nitobi.grid.Grid.prototype.handleMouseUp=function(_8c){this.getSelection().handleSelectionMouseUp(_8c);};nitobi.grid.Grid.prototype.handleHeaderMouseUp=function(evt){var _8e=this.findActiveCell(evt.srcElement);if(!_8e){this.focus();return;}
var _8f=parseInt(_8e.getAttribute("xi"));this.fire("HeaderUp",_8f);};nitobi.grid.Grid.prototype.handleMouseMove=function(evt){this.fire("MouseMove",evt);};nitobi.grid.Grid.prototype.handleHeaderMouseMove=function(evt){var _92=this.findActiveCell(evt.srcElement);if(_92==null){return;}
if(this.headerResizeHover(evt,_92)){_92.style.cursor="w-resize";}else{(nitobi.browser.IE?_92.style.cursor="hand":_92.style.cursor="pointer");}};nitobi.grid.Grid.prototype.headerResizeHover=function(evt,_94){var x=evt.clientX;var _96=nitobi.html.getBoundingClientRect(_94,0,(nitobi.grid.Cell.getColumnNumber(_94)>this.getFrozenLeftColumnCount()?this.scroller.getScrollLeft():0));return(x<_96.right&&x>_96.right-10);};nitobi.grid.Grid.prototype.handleHeaderMouseOver=function(e){e.className=e.className.replace(/(ntb-column-indicator-border)(.*?)(\s|$)/g,function(){return arguments[1]+arguments[2]+"hover ";});};nitobi.grid.Grid.prototype.handleHeaderMouseOut=function(e){e.className=e.className.replace(/(ntb-column-indicator-border)(.*?)(\s|$)/g,function(){return arguments[0].replace("hover","");});};nitobi.grid.Grid.prototype.handleCellMouseMove=function(evt){this.setCellClicked(false);var _9a=this.findActiveCell(evt.srcElement);if(_9a==null){return;}
var sel=this.selection;if(sel.selecting){var _9c=evt.button;var _9d=nitobi.html.getEventCoords(evt);var x=_9d.x,y=_9d.y;if(nitobi.browser.IE){x=evt.clientX,y=evt.clientY;}
if(_9c==1||(_9c==0&&!nitobi.browser.IE)){if(!sel.expanding){sel.redraw(_9a);}else{var _a0=sel.expandStartCoords;var _a1=0;if(x>_a0.right){_a1=Math.abs(x-_a0.right);}else{if(x<_a0.left){_a1=Math.abs(x-_a0.left);}}
var _a2=0;if(y>_a0.bottom){_a2=Math.abs(y-_a0.bottom);}else{if(y<_a0.top){_a2=Math.abs(y-_a0.top);}}
if(_a2>_a1){expandDir="vert";}else{expandDir="horiz";}
sel.expand(_9a,expandDir);}
this.ensureCellInView(_9a);}else{this.selection.selecting=false;}}else{this.hoverCell(_9a);this.hoverRow(_9a.parentNode);}};nitobi.grid.Grid.prototype.handleMouseWheel=function(_a3){this.focus();var _a4=0;if(_a3.wheelDelta){_a4=_a3.wheelDelta/120;}else{if(_a3.detail){_a4=-_a3.detail/3;}}
this.scrollVerticalRelative(-20*_a4);nitobi.html.cancelEvent(_a3);};nitobi.grid.Grid.prototype.setActiveCell=function(_a5,_a6){if(!_a5){return;}
this.blurActiveCell(this.activeCell);this.focus();this.activateCell(_a5);var _a7=this.activeColumnObject;this.selection.collapse(this.activeCell);if(!this.isCellClicked()){this.ensureCellInView(this.activeCell);this.setCellClicked(false);}
var row=_a5.parentNode;this.setActiveRow(row,_a6);var _a9=new nitobi.grid.OnCellFocusEventArgs(this,this.getSelectedCellObject());this.fire("CellFocus",_a9);if(!!_a7){nitobi.event.evaluate(_a7.getOnCellFocusEvent(),_a9);}};nitobi.grid.Grid.prototype.activateCell=function(_aa){this.activeCell=_aa;this.activeCellObject=new nitobi.grid.Cell(this,_aa);this.activeColumnObject=this.getSelectedColumnObject();};nitobi.grid.Grid.prototype.blurActiveCell=function(_ab){this.oldCell=_ab;var _ac=this.activeColumnObject;var _ad=new nitobi.grid.OnCellBlurEventArgs(this,this.getSelectedCellObject());if(!!_ac){if(!this.fire("CellBlur",_ad)||!nitobi.event.evaluate(_ac.getOnCellBlurEvent(),_ad)){return;}}};nitobi.grid.Grid.prototype.getRowNodes=function(row){return nitobi.grid.Row.getRowElements(this,nitobi.grid.Row.getRowNumber(row));};nitobi.grid.Grid.prototype.setActiveRow=function(row,_b0){var Row=nitobi.grid.Row;var _b2=Row.getRowNumber(row);var _b3=-1;if(this.oldCell!=null){_b3=Row.getRowNumber(this.oldCell);}
if(this.selectedRows[0]!=null){_b3=Row.getRowNumber(this.selectedRows[0]);}
if(!_b0||!this.isMultiRowSelectEnabled()){if(_b2!=_b3&&_b3!=-1){var _b4=new nitobi.grid.OnRowBlurEventArgs(this,this.getRowObject(_b3));if(!this.fire("RowBlur",_b4)||!nitobi.event.evaluate(this.getOnRowBlurEvent(),_b4)){return;}}
this.clearActiveRows();}
if(this.isRowSelectEnabled()){var _b5=Row.getRowElements(this,_b2);this.midActiveRow=_b5.mid;this.leftActiveRow=_b5.left;if(row.getAttribute("select")=="1"){this.clearActiveRow(row);}else{this.selectedRows.push(row);if(this.leftActiveRow!=null){this.leftActiveRow.setAttribute("select","1");this.applyRowStyle(this.leftActiveRow);}
if(this.midActiveRow!=null){this.midActiveRow.setAttribute("select","1");this.applyRowStyle(this.midActiveRow);}}}
if(_b2!=_b3){var _b6=new nitobi.grid.OnRowFocusEventArgs(this,this.getRowObject(_b2));this.fire("RowFocus",_b6);nitobi.event.evaluate(this.getOnRowFocusEvent(),_b6);}};nitobi.grid.Grid.prototype.getSelectedRows=function(){return this.selectedRows;};nitobi.grid.Grid.prototype.clearActiveRows=function(){for(var i=0;i<this.selectedRows.length;i++){var row=this.selectedRows[i];this.clearActiveRow(row);}
this.selectedRows=[];};nitobi.grid.Grid.prototype.selectAllRows=function(){this.clearActiveRows();for(var i=0;i<this.getDisplayedRowCount();i++){var _ba=this.getCellElement(i,0);if(_ba!=null){var row=_ba.parentNode;this.setActiveRow(row,true);}}
return this.selectedRows;};nitobi.grid.Grid.prototype.clearActiveRow=function(row){var _bd=nitobi.grid.Row.getRowNumber(row);var _be=nitobi.grid.Row.getRowElements(this,_bd);if(_be.left!=null){_be.left.removeAttribute("select");this.removeRowStyle(_be.left);}
if(_be.mid!=null){_be.mid.removeAttribute("select");this.removeRowStyle(_be.mid);}};nitobi.grid.Grid.prototype.applyCellStyle=function(_bf){if(_bf==null){return;}
_bf.style.background=this.CellActiveColor;};nitobi.grid.Grid.prototype.removeCellStyle=function(_c0){if(_c0==null){return;}
_c0.style.background="";};nitobi.grid.Grid.prototype.applyRowStyle=function(row){if(row==null){return;}
row.style.background=this.RowActiveColor;};nitobi.grid.Grid.prototype.removeRowStyle=function(row){if(row==null){return;}
row.style.background="";};nitobi.grid.Grid.prototype.findActiveCell=function(_c3){var _c4=5;_c3==null;for(var i=0;i<_c4&&_c3.getAttribute;i++){var t=_c3.getAttribute("ebatype");if(t=="cell"||t=="columnheader"){return _c3;}
_c3=_c3.parentNode;}
return null;};nitobi.grid.Grid.prototype.attachToParentDomElement=function(_c7){this.UiContainer=_c7;this.fire("AttachToParent");};nitobi.grid.Grid.prototype.getToolbars=function(){return this.toolbars;};nitobi.grid.Grid.prototype.adjustHorizontalScrollBars=function(){var _c8=this.calculateWidth();var _c9=$ntb("ntb-grid-hscrollshow"+this.uid);if((_c8<=parseInt(this.getWidth()))){_c9.style.display="none";}else{_c9.style.display="block";this.resizeScroller();var _ca=this.getWidth()/this.calculateWidth();this.hScrollbar.setRange(_ca);}};nitobi.grid.Grid.prototype.createChildren=function(){var L=nitobi.lang;ntbAssert((this.UiContainer!=null),"Grid must have a UI Container");if(this.UiContainer!=null&&this.getGridContainer()==null){this.renderFrame();}
this.generateFrameCss();var ls=this.loadingScreen=new nitobi.grid.LoadingScreen(this);this.subscribe("Preinitialize",L.close(ls,ls.show));this.subscribe("HtmlReady",L.close(ls,ls.hide));this.subscribe("AfterGridResize",L.close(ls,ls.resize));ls.initialize();ls.attachToElement($ntb("ntb-grid-overlay"+this.uid));ls.show();var cr=new nitobi.grid.ColumnResizer(this);cr.onAfterResize.subscribe(L.close(this,this.afterColumnResize));this.columnResizer=cr;var gr=new nitobi.grid.GridResizer(this);gr.widthFixed=this.isWidthFixed();gr.heightFixed=this.isHeightFixed();gr.minWidth=this.getMinWidth();gr.minHeight=Math.max(this.getMinHeight(),(this.getHeaderHeight()+this.getscrollbarHeight()));gr.onAfterResize.subscribe(L.close(this,this.afterResize));this.gridResizer=gr;var sc=this.Scroller=this.scroller=new nitobi.grid.Scroller3x3(this,this.getHeight(),this.getDisplayedRowCount(),this.getColumnCount(),this.getfreezetop(),this.getFrozenLeftColumnCount());sc.setRowHeight(this.getRowHeight());sc.setHeaderHeight(this.getHeaderHeight());sc.onHtmlReady.subscribe(this.handleHtmlReady,this);this.subscribe("TableConnected",L.close(sc,sc.setDataTable));sc.setDataTable(this.datatable);this.initializeSelection();this.createRenderers();var sv=this.Scroller.view;sv.midleft.rowRenderer=this.MidLeftRenderer;sv.midcenter.rowRenderer=this.MidCenterRenderer;sv.topleft.rowRenderer=this.TopLeftRenderer;sv.topcenter.rowRenderer=this.TopCenterRenderer;this.mapToHtml();var vs=this.vScrollbar=new nitobi.ui.VerticalScrollbar();vs.attachToParent(this.element,$ntb("vscroll"+this.uid));vs.subscribe("ScrollByUser",L.close(this,this.scrollVertical));this.subscribe("PercentHeightChanged",L.close(vs,vs.setRange));this.subscribe("ScrollVertical",L.close(vs,vs.setScrollPercent));this.setscrollbarWidth(vs.getWidth());var hs=this.hScrollbar=new nitobi.ui.HorizontalScrollbar();hs.attachToParent(this.element,$ntb("hscroll"+this.uid));hs.subscribe("ScrollByUser",L.close(this,this.scrollHorizontal));this.subscribe("PercentWidthChanged",L.close(hs,hs.setRange));this.subscribe("ScrollHorizontal",L.close(hs,hs.setScrollPercent));this.setscrollbarHeight(hs.getHeight());};nitobi.grid.Grid.prototype.createToolbars=function(_d3){var tb=this.toolbars=new nitobi.ui.Toolbars(this,(this.isToolbarEnabled()?_d3:0));var _d5=document.getElementById("toolbarContainer"+this.uid);tb.setWidth(this.getWidth());tb.setHeight(this.getToolbarHeight());tb.setRowInsertEnabled(this.isRowInsertEnabled());tb.setRowDeleteEnabled(this.isRowDeleteEnabled());tb.attachToParent(_d5);var L=nitobi.lang;tb.subscribe("InsertRow",L.close(this,this.insertAfterCurrentRow));tb.subscribe("DeleteRow",L.close(this,this.deleteCurrentRow));tb.subscribe("Save",L.close(this,this.save));tb.subscribe("Refresh",L.close(this,this.refresh));this.subscribe("AfterGridResize",L.close(this,this.resizeToolbars));};nitobi.grid.Grid.prototype.resizeToolbars=function(){this.toolbars.setWidth(this.getWidth());this.toolbars.resize();};nitobi.grid.Grid.prototype.scrollVerticalRelative=function(_d7){var st=this.scroller.getScrollTop()+_d7;var mc=this.Scroller.view.midcenter;percent=st/(mc.container.offsetHeight-mc.element.offsetHeight);this.scrollVertical(percent);};nitobi.grid.Grid.prototype.scrollVertical=function(_da){this.focus();this.clearHover();var _db=this.scroller.getScrollTopPercent();this.scroller.setScrollTopPercent(_da);this.fire("ScrollVertical",_da);if(_da>0.99&&_db<0.99){this.fire("ScrollHitBottom",_da);}
if(_da<0.01){this.fire("ScrollHitTop",_da);}};nitobi.grid.Grid.prototype.scrollHorizontalRelative=function(_dc){var sl=this.scroller.getScrollLeft()+_dc;var mc=this.scroller.view.midcenter;percent=sl/(mc.container.offsetWidth-mc.element.offsetWidth);this.scrollHorizontal(percent);};nitobi.grid.Grid.prototype.scrollHorizontal=function(_df){this.focus();this.clearHover();this.scroller.setScrollLeftPercent(_df);this.fire("ScrollHorizontal",_df);if(_df>0.99){this.fire("ScrollHitRight",_df);}
if(_df<0.01){this.fire("ScrollHitLeft",_df);}};nitobi.grid.Grid.prototype.getScrollSurface=function(){if(this.Scroller!=null){return this.Scroller.view.midcenter.element;}};nitobi.grid.Grid.prototype.getActiveView=function(){var C=nitobi.grid.Cell;return this.Scroller.getViewportByCoords(C.getRowNumber(this.activeCell),C.getColumnNumber(this.activeCell));};nitobi.grid.Grid.prototype.ensureCellInView=function(_e1){var SS=this.getScrollSurface();var AC=_e1||this.activeCell;if(AC==null){return;}
var sct=0;var scl=0;if(!nitobi.browser.IE){sct=SS.scrollTop;scl=SS.scrollLeft;}
var R1=nitobi.html.getBoundingClientRect(AC);var R2=nitobi.html.getBoundingClientRect(SS);var B=EBA_SELECTION_BUFFER||0;var up=R1.top-R2.top-B-sct;var _ea=R1.bottom-R2.bottom+B-sct;var _eb=R1.left-R2.left-B-scl;var _ec=R1.right-R2.right+B-scl;if(up<0){this.scrollVerticalRelative(up);}
if(_ea>0){this.scrollVerticalRelative(_ea);}
if(nitobi.grid.Cell.getColumnNumber(AC)>this.getFrozenLeftColumnCount()-1){if(_eb<0){this.scrollHorizontalRelative(_eb);}
if(_ec>0){this.scrollHorizontalRelative(_ec);}}
this.fire("CellCoordsChanged",R1);};nitobi.grid.Grid.prototype.updateCellRanges=function(){if(this.frameRendered){var _ed=this.getRowCount();this.Scroller.updateCellRanges(this.getColumnCount(),_ed,this.getFrozenLeftColumnCount(),this.getfreezetop());this.measure();this.resizeScroller();var _ee=this.isToolbarEnabled()?this.getHeight()-this.getToolbarHeight():this.getHeight();var _ef=$ntb("ntb-grid-hscrollshow"+this.uid);_ee=_ee-_ef.clientHeight;this.fire("PercentHeightChanged",(_ee)/this.calculateHeight());this.fire("PercentWidthChanged",this.getWidth()/this.calculateWidth());}};nitobi.grid.Grid.prototype.measure=function(){this.measureViews();this.sizeValid=true;};nitobi.grid.Grid.prototype.measureViews=function(){this.measureRows();this.measureColumns();};nitobi.grid.Grid.prototype.measureColumns=function(){var fL=this.getFrozenLeftColumnCount();var wL=0;var wT=0;var _f3=this.getColumnDefinitions();var _f4=_f3.length;for(var i=0;i<_f4;i++){if(_f3[i].getAttribute("Visible")=="1"||_f3[i].getAttribute("visible")=="1"){var w=Number(_f3[i].getAttribute("Width"));wT+=w;if(i<fL){wL+=w;}}}
this.setleft(wL);};nitobi.grid.Grid.prototype.measureRows=function(){var _f7=this.isColumnIndicatorsEnabled()?this.getHeaderHeight():0;this.settop(this.calculateHeight(0,this.getfreezetop()-1)+_f7);};nitobi.grid.Grid.prototype.resizeScroller=function(){var _f8=(this.getToolbars()!=null&&this.isToolbarEnabled()?this.getToolbarHeight():0);var _f9=this.isColumnIndicatorsEnabled()?this.getHeaderHeight():0;var _fa=$ntb("ntb-grid-hscrollshow"+this.uid);var _fb=_fa.clientHeight;this.Scroller.resize(this.getHeight()-_f8-_f9-_fb);};nitobi.grid.Grid.prototype.resize=function(_fc,_fd){this.setWidth(_fc);this.setHeight(_fd);this.generateCss();this.fire("AfterGridResize",{source:this,width:_fc,height:_fd});};nitobi.grid.Grid.prototype.beforeResize=function(evt){var _ff=new nitobi.base.EventArgs(this);if(!nitobi.event.evaluate(this.getOnBeforeResizeEvent(),_ff)){return;}
this.gridResizer.startResize(this,evt);};nitobi.grid.Grid.prototype.afterResize=function(){this.resize(this.gridResizer.newWidth,this.gridResizer.newHeight);this.syncWithData();};nitobi.grid.Grid.prototype.afterColumnResize=function(_100){var col=this.getColumnObject(_100.column);var _102=col.getWidth();this.columnResize(col,_102+_100.dx);};nitobi.grid.Grid.prototype.columnResize=function(_103,_104){if(isNaN(_104)){return;}
_103=(typeof _103=="object"?_103:this.getColumnObject(_103));var _105=_103.getWidth();_103.setWidth(_104);this.updateCellRanges();if(nitobi.browser.IE7){this.generateCss();}else{var _106=_103.column;var dx=_104-_105;var C=nitobi.html.Css;if(_106<this.getFrozenLeftColumnCount()){var _109=C.getClass(".ntb-grid-leftwidth"+this.uid);_109.width=(parseInt(_109.width)+dx)+"px";var _10a=C.getClass(".ntb-grid-centerwidth"+this.uid);_10a.width=(parseInt(_10a.width)-dx)+"px";}else{var _10b=C.getClass(".ntb-grid-surfacewidth"+this.uid);_10b.width=(parseInt(_10b.width)+dx)+"px";}
var _10c=C.getClass(".ntb-column"+this.uid+"_"+(_106+1));_10c.width=(parseInt(_10c.width)+dx)+"px";this.adjustHorizontalScrollBars();}
this.Selection.collapse(this.activeCell);var _10d=new nitobi.grid.OnAfterColumnResizeEventArgs(this,_103);nitobi.event.evaluate(_103.getOnAfterResizeEvent(),_10d);};nitobi.grid.Grid.prototype.initializeModel=function(){this.model=nitobi.xml.createXmlDoc(nitobi.xml.serialize(nitobi.grid.modelDoc));this.modelNode=this.model.documentElement.selectSingleNode("//nitobi.grid.Grid");var _10e=nitobi.html.getScrollBarWidth();if(_10e){this.setscrollbarWidth(_10e);this.setscrollbarHeight(_10e);}
var xDec=this.model.selectSingleNode("state/nitobi.grid.Columns");if(xDec==null){var xDec=this.model.createElement("nitobi.grid.Columns");this.model.documentElement.appendChild(nitobi.xml.importNode(this.model,xDec,true));}
var cols=this.getColumnCount();if(cols>0){this.defineColumns(cols);}else{this.columnsDefined=false;this.inferredColumns=true;}
this.model.documentElement.setAttribute("ID",this.uid);this.model.documentElement.setAttribute("uniqueID",this.uid);};nitobi.grid.Grid.prototype.clearDefaultData=function(rows){for(var i=0;i<rows;i++){var e=this.model.createElement("e");e.setAttribute("xi",i+1);xDec.appendChild(e);}};nitobi.grid.Grid.prototype.createRenderers=function(){var _114=this.uid;var _115=this.getRowHeight();var _116=["TopLeftRenderer","TopCenterRenderer","MidLeftRenderer","MidCenterRenderer"];for(var i=0;i<4;i++){this[_116[i]]=new nitobi.grid.RowRenderer(this.data,null,_115,null,null,_114);}};nitobi.grid.Grid.prototype.bind=function(){if(this.isBound()){this.clear();this.datatable.descriptor.reset();}};nitobi.grid.Grid.prototype.dataBind=function(){this.bind();};nitobi.grid.Grid.prototype.getDataSource=function(_118){var _119=this.dataTableId||"_default";if(_118){_119=_118;}
return this.data.getTable(_119);};nitobi.grid.Grid.prototype.getChangeLogXmlDoc=function(_11a){return this.getDataSource(_11a).getChangeLogXmlDoc();};nitobi.grid.Grid.prototype.getComplete=function(_11b){if(null==_11b.dataSource.xmlDoc){ebaErrorReport("evtArgs.dataSource.xmlDoc is null or not defined. Likely the gethandler failed use fiddler to check the response","",EBA_ERROR);this.fire("LoadingError");return;}
var _11c=_11b.dataSource.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+_11b.dataSource.id+"']");ntbAssert((null!=_11c),"Datasource is not avialable in bindComplete handler.\n");};nitobi.grid.Grid.prototype.bindComplete=function(){if(this.inferredColumns&&!this.columnsDefined){this.defineColumns(this.datatable);}
this.setRowCount(this.datatable.remoteRowCount);this.setBound(true);this.syncWithData();};nitobi.grid.Grid.prototype.syncWithData=function(_11d){if(this.isBound()){this.Scroller.render(true);this.fire("DataReady",{"source":this});}};nitobi.grid.Grid.prototype.finalizeRowCount=function(rows){this.rowCountKnown=true;this.setRowCount(rows);};nitobi.grid.Grid.prototype.adjustRowCount=function(pct){this.scrollVertical(pct);};nitobi.grid.Grid.prototype.setRowCount=function(rows){this.xSET("RowCount",arguments);if(this.getPagingMode()==nitobi.grid.PAGINGMODE_STANDARD){if(this.getDataMode()==nitobi.data.DATAMODE_LOCAL){this.setDisplayedRowCount(this.getRowsPerPage());}}else{this.setDisplayedRowCount(rows);}
this.rowCount=rows;this.updateCellRanges();};nitobi.grid.Grid.prototype.getRowCount=function(){return this.rowCount;};nitobi.grid.Grid.prototype.layout=function(_121){if(this.prevHeight!=this.getHeight()||this.prevWidth!=this.getWidth()){this.prevHeight=this.getHeight();this.prevWidth=this.getWidth();this.layoutValid=false;}
if(!this.layoutValid&&this.frameRendered){this.layoutFrame();this.generateFrameCss();this.layoutValid=true;}};nitobi.grid.Grid.prototype.layoutFrame=function(_122){if(!this.frameRendered){return;}
if(!this.Scroller){return;}
this.minHeight=this.getMinHeight();this.minWidth=this.getMinWidth();var _123=false;var _124=false;var tbH=this.getToolbarHeight();var rowH=this.getRowHeight();var colW=20;var sbH=this.getscrollbarHeight();var sbW=this.getscrollbarWidth();var hdrH=this.getHeaderHeight();tbH=this.isToolbarEnabled()?tbH:0;hdrH=this.isColumnIndicatorsEnabled?hdrH:0;var minH=Math.max(this.minHeight,tbH+rowH+sbH+hdrH);var maxH=this.Height;var minW=Math.max(this.minWidth,colW+sbW);var maxW=this.Width;if(_123){var _12f=this.Scroller.minSurfaceWidth;var _130=this.Scroller.maxSurfaceWidth;}else{var _12f=this.Scroller.SurfaceWidth;var _130=_12f;}
if(_124){var _131=this.Scroller.minSurfaceHeight;var _132=this.Scroller.maxSurfaceHeight;}else{var _131=this.Scroller.SurfaceHeight;var _132=_131;}
var _133=_131+(tbH)+(hdrH);var _134=_12f;var _135=(_133>maxH);var _136=(_134>maxW);var _135=(_136&&((_133+20)>maxH))||_135;var _136=(_135&&((_134+20)>maxW))||_136;sbH=_136?sbH:0;sbV=_135?sbV:0;var vpH=_133-hdrH-tbH-sbH;var vpW=_134-sbW;this.resize();};nitobi.grid.Grid.prototype.defineColumns=function(_139){this.fire("BeforeColumnsDefined");this.resetColumns();var _13a=null;var _13b=nitobi.lang.typeOf(_139);this.inferredColumns=false;switch(_13b){case"string":_13a=this.defineColumnsFromString(_139);break;case nitobi.lang.type.XMLNODE:case nitobi.lang.type.XMLDOC:case nitobi.lang.type.HTMLNODE:_13a=this.defineColumnsFromXml(_139);break;case nitobi.lang.type.ARRAY:_13a=this.defineColumnsFromArray(_139);break;case"object":this.inferredColumns=true;_13a=this.defineColumnsFromData(_139);break;case"number":_13a=this.defineColumnsCollection(_139);break;default:}
this.fire("AfterColumnsDefined");this.defineColumnsFinalize();return _13a;};nitobi.grid.Grid.prototype.defineColumnsFromXml=function(_13c){if(_13c==null||_13c.childNodes.length==0){return this.defineColumnsCollection(0);}
if(_13c.childNodes[0].nodeName==nitobi.xml.nsPrefix+"columndefinition"){var _13d=nitobi.grid.declarationConverterXslProc;_13c=nitobi.xml.transformToXml(_13c,_13d);}
var wL=0,wT=0,wR=0;var _141=this.model.selectSingleNode("/state/Defaults/nitobi.grid.Column");var _142=this.getColumnDefinitions().length;var cols=_13c.childNodes.length;var xDec=this.model.selectSingleNode("state/nitobi.grid.Columns");ntbAssert((_13c&&_13c.xml!=""),"There are either no column definitions defined in the HTML declaration or they could not be parsed as valid XML.","",EBA_DEBUG);var _145=_13c.childNodes;var fL=this.getFrozenLeftColumnCount();if(_142==0){var cols=_145.length;for(var i=0;i<cols;i++){var col=_145[i];var _149="";var _14a=col.nodeName;var _14b=col.selectSingleNode("ntb:texteditor|ntb:numbereditor|ntb:textareaeditor|ntb:imageeditor|ntb:linkeditor|ntb:dateeditor|ntb:lookupeditor|ntb:listboxeditor|ntb:checkboxeditor|ntb:passwordeditor");var _14c="TEXT";var _14d={"ntb:textcolumn":"EBATextColumn","ntb:numbercolumn":"EBANumberColumn","ntb:datecolumn":"EBADateColumn"};var _149=_14d[_14a].replace("EBA","").replace("Column","").toLowerCase();var _14e={"ntb:numbereditor":"EBANumberEditor","ntb:textareaeditor":"EBATextareaEditor","ntb:imageeditor":"EBAImageEditor","ntb:linkeditor":"EBALinkEditor","ntb:dateeditor":"EBADateEditor","ntb:lookupeditor":"EBALookupEditor","ntb:listboxeditor":"EBAListboxEditor","ntb:passwordeditor":"EBAPasswordEditor","ntb:checkboxeditor":"EBACheckboxEditor"};if(_14b!=null){_14c=_14e[_14b.nodeName]||_14c;}else{_14c=_14d[_14a]||_14c;}
_14c=_14c.replace("EBA","").replace("Editor","").replace("Column","").toUpperCase();var e=this.model.selectSingleNode("/state/Defaults/nitobi.grid.Column[@DataType='"+(_149)+"' and @type='"+_14c+"' and @editor='"+_14c+"']").cloneNode(true);this.setModelValues(e,col);var _150=_14d[col.nodeName]||"EBATextColumn";this.defineColumnDatasource(e);this.defineColumnBinding(e);xDec.appendChild(e);var _151=e.getAttribute("GetHandler");if(_151){var _152=e.getAttribute("DatasourceId");if(!_152||_152==""){_152="columnDatasource_"+i+"_"+this.uid;e.setAttribute("DatasourceId",_152);}
var dt=new nitobi.data.DataTable("local",this.getPagingMode()==nitobi.grid.PAGINGMODE_LIVESCROLLING,{GridId:this.getID()},{GridId:this.getID()},this.isAutoKeyEnabled());dt.initialize(_152,_151,null);dt.async=false;this.data.add(dt);var _154=[];_154[0]=e;var _155=e.getAttribute("editor");var _156=null;var _157=null;if(e.getAttribute("editor")=="LOOKUP"){_156=0;_157=1;dt.async=true;}
dt.get(_156,_157,this,nitobi.lang.close(this,this.editorDataReady,[e]),function(){ntbAssert(false,"Datasource for "+e.getAttribute("ColumnName"),"",EBA_WARN);});}}
this.measureColumns();this.setColumnCount(cols);}
var _158;_158=_13c.selectSingleNode("/"+nitobi.xml.nsPrefix+"grid/"+nitobi.xml.nsPrefix+"datasources");if(_158){this.Declaration.datasources=nitobi.xml.createXmlDoc(_158.xml);}
return xDec;};nitobi.grid.Grid.prototype.defineColumnsFinalize=function(){this.setColumnsDefined(true);if(this.connected){if(this.frameRendered){this.makeXSL();this.generateColumnCss();this.renderHeaders();}}};nitobi.grid.Grid.prototype.defineColumnDatasource=function(_159){var val=_159.getAttribute("Datasource");if(val!=null){var ds=new Array();try{ds=eval(val);}
catch(e){var _15c=val.split(",");if(_15c.length>0){for(var i=0;i<_15c.length;i++){var item=_15c[i];ds[i]={text:item.split(":")[0],display:item.split(":")[1]};}}
return;}
if(typeof(ds)=="object"&&ds.length>0){var _15f=new nitobi.data.DataTable("unbound",this.getPagingMode()==nitobi.grid.PAGINGMODE_LIVESCROLLING,{GridId:this.getID()},{GridId:this.getID()},this.isAutoKeyEnabled());var _160="columnDatasource"+new Date().getTime();_15f.initialize(_160);_159.setAttribute("DatasourceId",_160);var _161="";for(var item in ds[0]){_161+=item+"|";}
_161=_161.substring(0,_161.length-1);_15f.initializeColumns(_161);for(var i=0;i<ds.length;i++){_15f.createRecord(null,i);for(var item in ds[i]){_15f.updateRecord(i,item,ds[i][item]);}}
this.data.add(_15f);this.editorDataReady(_159);}}};nitobi.grid.Grid.prototype.defineColumnsFromData=function(_162){if(_162==null){_162=this.datatable;}
var _163=_162.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasourcestructure");if(_163==null){return this.defineColumnsCollection(0);}
var _164=_163.getAttribute("FieldNames");if(_164.length==0){return this.defineColumnsCollection(0);}
var _165=_163.getAttribute("defaults");var _166=this.defineColumnsFromString(_164);for(var i=0;i<_166.length;i++){if(_165&&i<_165.length){_166[i].setAttribute("initial",_165[i]||"");}
_166[i].setAttribute("width",100);}
this.inferredColumns=true;return _166;};nitobi.grid.Grid.prototype.defineColumnsFromString=function(_168){return this.defineColumnsFromArray(_168.split("|"));};nitobi.grid.Grid.prototype.defineColumnsFromArray=function(_169){var cols=_169.length;var _16b=this.defineColumnsCollection(cols);for(var i=0;i<cols;i++){var col=_16b[i];if(typeof(_169[i])=="string"){col.setAttribute("ColumnName",_169[i]);col.setAttribute("xdatafld_orig",_169[i]);col.setAttribute("DataField_orig",_169[i]);col.setAttribute("Label",_169[i]);if(typeof(this.fieldMap[_169[i]])!="undefined"){col.setAttribute("xdatafld",this.fieldMap[_169[i]]);col.setAttribute("DataField",this.fieldMap[_169[i]]);}else{col.setAttribute("xdatafld","unbound");col.setAttribute("DataField","unbound");}}else{if(_169[i].name!="_xk"){col.setAttribute("ColumnName",col.name);col.setAttribute("xdatafld_orig",col.name);col.setAttribute("DataField_orig",col.name);col.setAttribute("xdatafld",this.fieldMap[_169[i].name]);col.setAttribute("DataField",this.fieldMap[_169[i].name]);col.setAttribute("Width",col.width);col.setAttribute("Label",col.label);col.setAttribute("Initial",col.initial);col.setAttribute("Mask",col.mask);}}}
this.setColumnCount(cols);return _16b;};nitobi.grid.Grid.prototype.defineColumnBindings=function(){var xslt=nitobi.grid.rowXslProc.stylesheet;var cols=this.getColumnDefinitions();for(var i=0;i<cols.length;i++){var e=cols[i];this.defineColumnBinding(e,xslt);e.setAttribute("xi",i);}
nitobi.grid.rowXslProc=nitobi.xml.createXslProcessor(xslt);};nitobi.grid.Grid.prototype.defineColumnBinding=function(_172,xslt){if(this.fieldMap==null){return;}
var _174=_172.getAttribute("xdatafld");var _175=_172.getAttribute("xdatafld_orig");if(_175==null||_175==""){_172.setAttribute("xdatafld_orig",_174);_172.setAttribute("DataField_orig",_174);}else{_174=_172.getAttribute("xdatafld_orig");}
_172.setAttribute("ColumnName",_174);var _176=this.fieldMap[_174];if(typeof(_176)!="undefined"){_172.setAttribute("xdatafld",_176);_172.setAttribute("DataField",_176);}
this.formatBinding(_172,"CssStyle",xslt);this.formatBinding(_172,"ClassName",xslt);this.formatBinding(_172,"Value",xslt);};nitobi.grid.Grid.prototype.formatBinding=function(_177,_178,xslt){var _17a=_177.getAttribute(_178);var _17b=_177.getAttribute(_178+"_orig");if(_17a==null||_17a==""){return;}
if(_17b==null||_17b==""){_177.setAttribute(_178+"_orig",_17a);}
_17a=_177.getAttribute(_178+"_orig");var re=new RegExp("\\{.[^}]*}","gi");var _17d=_17a.match(re);if(_17d==null){return;}
for(var i=0;i<_17d.length;i++){var _17f=_17d[i];var _180=_17f;var _181=new RegExp("\\$.*?[^0-9a-zA-Z_]","gi");var _182=_180.match(_181);for(var j=0;j<_182.length;j++){var _184=_182[j];var _185=_184.substring(0,_184.length-1);var _186=_185.substring(1);var _187=this.fieldMap[_186]+"";_180=_180.replace(_185,_187.substring(1)||"");}
_180=_180.substring(1,_180.length-1);_17a=_17a.replace(_17f,_180).replace(/\{\}/g,"");}
_177.setAttribute(_178,_17a);};nitobi.grid.Grid.prototype.defineColumnsCollection=function(cols){var xDec=this.model.selectSingleNode("state/nitobi.grid.Columns");var _18a=xDec.childNodes;var _18b=this.model.selectSingleNode("/state/Defaults/nitobi.grid.Column");for(var i=0;i<cols;i++){var e=_18b.cloneNode(true);xDec.appendChild(e);e.setAttribute("xi",i);e.setAttribute("title",(i>25?String.fromCharCode(Math.floor(i/26)+65):"")+(String.fromCharCode(i%26+65)));}
this.setColumnCount(cols);var _18a=xDec.selectNodes("*");return _18a;};nitobi.grid.Grid.prototype.resetColumns=function(){this.fire("BeforeClearColumns");this.inferredColumns=true;this.columnsDefined=false;var _18e=this.model.selectSingleNode("state/nitobi.grid.Columns");var xDec=this.model.createElement("nitobi.grid.Columns");if(_18e==null){this.model.documentElement.appendChild(xDec);}else{this.model.documentElement.replaceChild(xDec,_18e);}
this.setColumnCount(0);this.fire("AfterClearColumns");};nitobi.grid.Grid.prototype.renderHeaders=function(){if(this.getColumnDefinitions().length>0){this.Scroller.clearSurfaces(false,true);var _190=0;endRow=this.getfreezetop()-1;var tl=this.Scroller.view.topleft;tl.top=this.getHeaderHeight();tl.left=0;tl.renderGap(_190,endRow,false,"*");var tc=this.Scroller.view.topcenter;tc.top=this.getHeaderHeight();tc.left=0;tc.renderGap(_190,endRow,false);}};nitobi.grid.Grid.prototype.initializeSelection=function(){var sel=new nitobi.grid.Selection(this,this.isDragFillEnabled());sel.setRowHeight(this.getRowHeight());sel.onAfterExpand.subscribe(this.afterExpandSelection,this);sel.onBeforeExpand.subscribe(this.beforeExpandSelection,this);sel.onMouseUp.subscribe(this.handleSelectionMouseUp,this);this.selection=this.Selection=sel;};nitobi.grid.Grid.prototype.beforeExpandSelection=function(evt){this.setExpanding(true);this.fire("BeforeDragFill",new nitobi.base.EventArgs(this,evt));};nitobi.grid.Grid.prototype.afterExpandSelection=function(evt){var sel=this.selection;var _197=sel.getCoords();var _198=_197.top.y;var _199=_197.bottom.y;var _19a=_197.top.x;var _19b=_197.bottom.x;var _19c=this.getTableForSelection({top:{x:sel.expandStartLeftColumn,y:sel.expandStartTopRow},bottom:{x:sel.expandStartRightColumn,y:sel.expandStartBottomRow}});var data="",_19e=this.getClipboard();if(sel.expandingVertical){if(sel.expandStartBottomRow>_199&&_198>=sel.expandStartTopRow){for(var i=sel.expandStartLeftColumn;i<=sel.expandStartRightColumn;i++){for(var j=_199+1;j<sel.expandStartBottomRow+1;j++){this.getCellObject(j,i).setValue("");}}}else{var _1a1=(sel.expandStartBottomRow<_199);var _1a2=(sel.expandStartTopRow>_198);var _1a3=(_1a1||_1a2);if(_1a3){if(_19c.lastIndexOf("\n")==_19c.length-1){_19c=_19c.substring(0,_19c.length-1);}
var rep=(Math.floor((sel.getHeight()-!_1a3)/sel.expandStartHeight));for(var i=0;i<rep;i++){data+=_19c+(!nitobi.browser.IE?"\n":"");}
_1a5=_19c.split("\n");var mod=(sel.getHeight()-!_1a3)%sel.expandStartHeight;var val="";if(_1a1){_1a5.splice(mod,_1a5.length-mod);val=data+_1a5.join("\n")+(_1a5.length>0?"\n":"");}else{_1a5.splice(0,_1a5.length-mod);val=_1a5.join("\n")+(_1a5.length>0?"\n":"")+data;}
_19e.value=val;this.pasteDataReady(_19e);}}}else{if(sel.expandStartRightColumn>_19b&&_19a>=sel.expandStartLeftColumn){for(var i=_19a+1;i<=sel.expandStartRightColumn+1;i++){for(var j=sel.expandStartTopRow;j<sel.expandStartBottomRow;j++){this.getCellObject(j,i).setValue("");}}}else{var _1a8=sel.expandStartRightColumn<_19b;var _1a9=sel.expandStartLeftColumn>_19a;var _1a3=(_1a8||_1a9);if(_1a3){var mod=(sel.getWidth()-!_1a3)%sel.expandStartWidth;var _1aa=(!nitobi.browser.IE?"\n":"\r\n");if(_19c.lastIndexOf(_1aa)==_19c.length-_1aa.length){_19c=_19c.substring(0,_19c.length-_1aa.length);}
var _1a5=_19c.replace(/\r/g,"").split("\n");var data=new Array(_1a5.length);var rep=(Math.floor((sel.getWidth()-!_1a3)/sel.expandStartWidth));for(var i=0;i<_1a5.length;i++){var _1ab=_1a5[i].split("\t");for(var j=0;j<rep;j++){data[i]=(data[i]==null?[]:data[i]).concat(_1ab);}
if(mod!=0){if(_1a8){data[i]=data[i].concat(_1ab.splice(0,mod));}else{data[i]=_1ab.splice(mod,_1ab.length-mod).concat(data[i]);}}
data[i]=data[i].join("\t");}
_19e.value=data.join("\n")+"\n";this.pasteDataReady(_19e);}}}
this.setExpanding(false);this.fire("AfterDragFill",new nitobi.base.EventArgs(this,evt));};nitobi.grid.Grid.prototype.calculateHeight=function(_1ac,end){_1ac=(_1ac!=null)?_1ac:0;var _1ae=this.getDisplayedRowCount();end=(end!=null)?end:_1ae-1;return(end-_1ac+1)*this.getRowHeight();};nitobi.grid.Grid.prototype.calculateWidth=function(_1af,end){var _1b1=this.getColumnDefinitions();var cols=_1b1.length;_1af=_1af||0;end=(end!=null)?Math.min(end,cols):cols;var wT=0;for(var i=_1af;i<end;i++){if(_1b1[i].getAttribute("Visible")=="1"||_1b1[i].getAttribute("visible")=="1"){wT+=Number(_1b1[i].getAttribute("Width"));}}
return(wT);};nitobi.grid.Grid.prototype.maximize=function(){var x,y;var _1b7=this.element.offsetParent;x=_1b7.clientWidth;y=_1b7.clientHeight;this.resize(x,y);};nitobi.grid.Grid.prototype.editorDataReady=function(_1b8){var _1b9=_1b8.getAttribute("DisplayFields").split("|");var _1ba=_1b8.getAttribute("ValueField");var _1bb=this.data.getTable(_1b8.getAttribute("DatasourceId"));var _1bc=_1b8.getAttribute("Initial");if(_1bc==""){var _1bd=_1b8.getAttribute("type").toLowerCase();switch(_1bd){case"checkbox":case"listbox":var _1be=_1bb.fieldMap[_1ba].substring(1);var data=_1bb.getDataXmlDoc();if(data!=null){var val=data.selectSingleNode("//"+nitobi.xml.nsPrefix+"e[@"+_1be+"='"+_1bc+"']");if(val==null){var _1c1=data.selectSingleNode("//"+nitobi.xml.nsPrefix+"e");if(_1c1!=null){_1bc=_1c1.getAttribute(_1be);}}}
break;}
_1b8.setAttribute("Initial",_1bc);}
if((_1b9.length==1&&_1b9[0]=="")&&(_1ba==null||_1ba=="")){for(var item in _1bb.fieldMap){_1b9[0]=_1bb.fieldMap[item].substring(1);break;}}else{for(var i=0;i<_1b9.length;i++){_1b9[i]=_1bb.fieldMap[_1b9[i]].substring(1);}}
var _1c4=_1b9.join("|");if(_1ba==null||_1ba==""){_1ba=_1b9[0];}else{_1ba=_1bb.fieldMap[_1ba].substring(1);}
_1b8.setAttribute("DisplayFields",_1c4);_1b8.setAttribute("ValueField",_1ba);};nitobi.grid.Grid.prototype.headerClicked=function(_1c5){var _1c6=this.getColumnObject(_1c5);var _1c7=new nitobi.grid.OnHeaderClickEventArgs(this,_1c6);if(!this.fire("HeaderClick",_1c7)||!nitobi.event.evaluate(_1c6.getOnHeaderClickEvent(),_1c7)){return;}
this.sort(_1c5);};nitobi.grid.Grid.prototype.addFilter=function(){this.dataTable.addFilter(arguments);};nitobi.grid.Grid.prototype.clearFilter=function(){this.dataTable.clearFilter();};nitobi.grid.Grid.prototype.setSortStyle=function(_1c8,_1c9,_1ca){var _1cb=this.getColumnObject(_1c8);if(_1ca){this.sortColumn=null;this.sortColumnCell=null;this.Scroller.setSort(_1c8,"");this.setColumnSortOrder(_1c8,"");}else{_1cb.setSortDirection(_1c9);this.setColumnSortOrder(_1c8,_1c9);this.sortColumn=_1cb;this.sortColumnCell=_1cb.getHeaderElement();this.Scroller.setSort(_1c8,_1c9);}};nitobi.grid.Grid.prototype.sort=function(_1cc,_1cd){ntbAssert(typeof(_1cc)!="undefined","No column to sort.");var _1ce=this.getColumnObject(_1cc);if(_1ce==null||!_1ce.isSortEnabled()||(!this.isSortEnabled())){return;}
var _1cf=new nitobi.grid.OnBeforeSortEventArgs(this,_1ce);if(!this.fire("BeforeSort",_1cf)||!nitobi.event.evaluate(_1ce.getOnBeforeSortEvent(),_1cf)){return;}
if(_1cd==null||typeof(_1cd)=="undefined"){_1cd=(_1ce.getSortDirection()=="Asc")?"Desc":"Asc";}
this.setSortStyle(_1cc,_1cd);var _1d0=_1ce.getColumnName();var _1d1=_1ce.getDataType();var _1d2=this.getSortMode()=="local"||(this.getDataMode()=="local"&&this.getSortMode()!="remote");this.datatable.sort(_1d0,_1cd,_1d1,_1d2);if(!_1d2){this.datatable.flush();}
this.clearSurfaces();this.scrollVertical(0);if(!_1d2){this.loadDataPage(0);}
this.subscribeOnce("HtmlReady",this.handleAfterSort,this,[_1ce]);};nitobi.grid.Grid.prototype.handleAfterSort=function(_1d3){var _1d4=new nitobi.grid.OnAfterSortEventArgs(this,_1d3);this.fire("AfterSort",_1d4);nitobi.event.evaluate(_1d3.getOnAfterSortEvent(),_1d4);};nitobi.grid.Grid.prototype.handleDblClick=function(evt){var cell=this.activeCellObject;var col=this.activeColumnObject;var _1d8=new nitobi.grid.OnCellDblClickEventArgs(this,cell);return this.fire("CellDblClick",_1d8)&&nitobi.event.evaluate(col.getOnCellDblClickEvent(),_1d8);};nitobi.grid.Grid.prototype.clearData=function(){if(this.getDataMode()!="local"){this.datatable.flush();}};nitobi.grid.Grid.prototype.clearColumnHeaderSortOrder=function(){if(this.sortColumn){var _1d9=this.sortColumn;var _1da=_1d9.getHeaderElement();var css=_1da.className;css=css.replace(/ascending/gi,"").replace(/descending/gi,"");_1da.className=css;this.sortColumn=null;}};nitobi.grid.Grid.prototype.setColumnSortOrder=function(_1dc,_1dd){this.clearColumnHeaderSortOrder();var _1de=this.getColumnObject(_1dc);var _1df=_1de.getHeaderElement();var C=nitobi.html.Css;var css=_1df.className;if(_1dd==""){_1df.className=css.replace(/(ntb-column-indicator-border)(.*?)(\s|$)/g,"")+" ntb-column-indicator-border";_1dd="Desc";}else{_1df.className=css.replace(/(ntb-column-indicator-border)(.*?)(\s|$)/g,function(m){var repl=(_1dd=="Desc"?"descending":"ascending");return(m.indexOf("hover")>0?m.replace("hover",repl+"hover"):m+repl);});}
_1de.setSortDirection(_1dd);this.sortColumn=_1de;this.sortColumnCell=_1df;};nitobi.grid.Grid.prototype.initializeState=function(){};nitobi.grid.Grid.prototype.mapToHtml=function(_1e4){if(_1e4==null){_1e4=this.UiContainer;}
this.Scroller.mapToHtml(_1e4);this.element=document.getElementById("grid"+this.uid);this.element.jsObject=this;};nitobi.grid.Grid.prototype.generateCss=function(){this.generateFrameCss();};nitobi.grid.Grid.prototype.generateColumnCss=function(){this.generateCss();};nitobi.grid.Grid.prototype.generateFrameCss=function(){var _1e5=nitobi.xml.serialize(this.model);if(this.oldModel==_1e5){return;}
this.oldModel=nitobi.xml.serialize(this.model);if(nitobi.browser.IE&&document.compatMode=="CSS1Compat"){this.frameCssXslProc.addParameter("IE","true","");}
var _1e6=nitobi.xml.transformToString(this.model,this.frameCssXslProc);if(!nitobi.browser.SAFARI&&!nitobi.browser.CHROME&&this.stylesheet==null){this.stylesheet=nitobi.html.Css.createStyleSheet();}
var ss=this.getScrollSurface();var _1e8=0;var _1e9=0;if(ss!=null){_1e8=ss.scrollTop;_1e9=ss.scrollLeft;}
if(this.oldFrameCss!=_1e6){this.oldFrameCss=_1e6;if(nitobi.browser.SAFARI||nitobi.browser.CHROME){this.generateFrameCssSafari();}else{try{this.stylesheet.cssText=_1e6;}
catch(e){}
if(ss!=null){if(nitobi.browser.MOZ){this.scrollVerticalRelative(_1e8);this.scrollHorizontalRelative(_1e9);}
ss.style.top="0px";ss.style.left="0px";}}}};nitobi.grid.Grid.prototype.generateFrameCssSafari=function(){var ss=document.styleSheets[0];var u=this.uid;var t=this.getTheme();var _1ed=this.getWidth();var _1ee=this.getHeight();var _1ef=(this.isVScrollbarEnabled()?1:0);var _1f0=(this.isHScrollbarEnabled()?1:0);var _1f1=(this.isToolbarEnabled()?1:0);var _1f2=this.calculateWidth(0,this.getFrozenLeftColumnCount());var _1f3=this.calculateWidth(this.getFrozenLeftColumnCount(),this.getColumnCount());var _1f4=_1f2+_1f3;var _1f5=_1ee-this.getscrollbarHeight()*_1f0-this.getToolbarHeight()*_1f1;var _1f6=_1ed-this.getscrollbarWidth()*_1ef;var _1f7=_1f5-this.gettop();var _1f8=nitobi.html.Css.addRule;var p="ntb-grid-";if(this.rules==null){this.rules={};this.rules[".ntb-grid-datablock"]=_1f8(ss,".ntb-grid-datablock","table-layout:fixed;width:100%;");this.rules[".ntb-grid-headerblock"]=_1f8(ss,".ntb-grid-headerblock","table-layout:fixed;width:100%;");_1f8(ss,"."+p+"overlay"+u,"position:relative;z-index:1000;top:0px;left:0px;");_1f8(ss,"."+p+"scroller"+u,"overflow:hidden;text-align:left;");_1f8(ss,".ntb-grid","padding:0px;margin:0px;border:1px solid #cccccc;");_1f8(ss,".ntb-scroller","padding:0px;");_1f8(ss,".ntb-scrollcorner","padding:0px;");_1f8(ss,".ntb-input-border","table-layout:fixed;overflow:hidden;position:absolute;z-index:2000;top:-2000px;left:-2000px;;");_1f8(ss,".ntb-column-resize-surface","filter:alpha(opacity=1);background-color:white;position:absolute;visibility:hidden;top:0;left:0;width:100;height:100;z-index:800;");_1f8(ss,".ntb-column-indicator","overflow:hidden;white-space: nowrap;");}
this.rules["#grid"+u]=_1f8(ss,"#grid"+u,"overflow:hidden;text-align:left;-moz-user-select: none;-khtml-user-select: none;user-select: none;"+(nitobi.browser.IE?"position:relative;":""));this.rules["#grid"+u].style.height=_1ee+"px";this.rules["#grid"+u].style.width=_1ed+"px";_1f8(ss,".hScrollbarRange"+u,"width:"+_1f4+"px;");_1f8(ss,".vScrollbarRange"+u,"");_1f8(ss,"."+t+" .ntb-cell","overflow:hidden;white-space:nowrap;");_1f8(ss,"."+t+" .ntb-cell-border","overflow:hidden;white-space:nowrap;"+(nitobi.browser.IE?"height:auto;":"")+";");_1f8(ss,".ntb-grid-headershow"+u,"padding:0px;"+(this.isColumnIndicatorsEnabled()?"display:none;":"")+"");_1f8(ss,".ntb-grid-vscrollshow"+u,"padding:0px;"+(_1ef?"":"display:none;")+"");_1f8(ss,"#ntb-grid-hscrollshow"+u,"padding:0px;"+(_1f0?"":"display:none;")+"");_1f8(ss,".ntb-grid-toolbarshow"+u,""+(_1f1?"":"display:none;")+"");_1f8(ss,".ntb-grid-height"+u,"height:"+_1ee+"px;overflow:hidden;");_1f8(ss,".ntb-grid-width"+u,"width:"+_1ed+"px;overflow:hidden;");_1f8(ss,".ntb-grid-overlay"+u,"position:relative;z-index:1000;top:0px;left:0px;");_1f8(ss,".ntb-grid-scroller"+u,"overflow:hidden;text-align:left;");_1f8(ss,".ntb-grid-scrollerheight"+u,"height:"+(_1f4>_1ed?_1f5:_1f5+this.getscrollbarHeight())+"px;");_1f8(ss,".ntb-grid-scrollerwidth"+u,"width:"+_1f6+"px;");_1f8(ss,".ntb-grid-topheight"+u,"height:"+this.gettop()+"px;overflow:hidden;"+(this.gettop()==0?"display:none;":"")+"");_1f8(ss,".ntb-grid-midheight"+u,"overflow:hidden;height:"+(_1f4>_1ed?_1f7:_1f7+this.getscrollbarHeight())+"px;");_1f8(ss,".ntb-grid-leftwidth"+u,"width:"+this.getleft()+"px;overflow:hidden;text-align:left;");_1f8(ss,".ntb-grid-centerwidth"+u,"width:"+(_1ed-this.getleft()-this.getscrollbarWidth()*_1ef)+"px;");_1f8(ss,".ntb-grid-scrollbarheight"+u,"height:"+this.getscrollbarHeight()+"px;");_1f8(ss,".ntb-grid-scrollbarwidth"+u,"width:"+this.getscrollbarWidth()+"px;");_1f8(ss,".ntb-grid-toolbarheight"+u,"height:"+this.getToolbarHeight()+"px;");_1f8(ss,".ntb-grid-surfacewidth"+u,"width:"+_1f3+"px;");_1f8(ss,".ntb-grid-surfaceheight"+u,"height:100px;");_1f8(ss,".ntb-hscrollbar"+u,(_1f4>_1ed?"display:block;":"display:none;"));_1f8(ss,".ntb-row"+u,"height:"+this.getRowHeight()+"px;margin:0px;line-height:"+this.getRowHeight()+"px;");_1f8(ss,".ntb-header-row"+u,"height:"+this.getHeaderHeight()+"px;");var cols=this.getColumnDefinitions();for(var i=1;i<=cols.length;i++){var col=cols[i-1];var _1fd=this.rules[".ntb-column"+u+"_"+(i)];if(_1fd==null){_1fd=this.rules[".ntb-column"+u+"_"+(i)]=_1f8(ss,".ntb-column"+u+"_"+(i));}
_1fd.style.width=col.getAttribute("Width")+"px";var _1fe=this.rules[".ntb-column-data"+u+"_"+(i)];if(_1fe==null){this.rules[".ntb-column-data"+u+"_"+(i)]=_1f8(ss,".ntb-column-data"+u+"_"+(i),"text-align:"+col.getAttribute("Align")+";");}}};nitobi.grid.Grid.prototype.clearSurfaces=function(){this.selection.clearBoxes();this.Scroller.clearSurfaces();this.updateCellRanges();this.cachedCells={};};nitobi.grid.Grid.prototype.renderFrame=function(){var _1ff="IE";if(nitobi.browser.MOZ){_1ff="MOZ";}else{if(nitobi.browser.SAFARI||nitobi.browser.CHROME){_1ff="SAFARI";}}
this.frameXslProc.addParameter("browser",_1ff,"");this.UiContainer.innerHTML=nitobi.xml.transformToString(this.model,this.frameXslProc);this.attachDomEvents();this.frameRendered=true;this.fire("AfterFrameRender");};nitobi.grid.Grid.prototype.renderMiddle=function(){this.Scroller.view.midleft.flushCache();this.Scroller.view.midcenter.flushCache();};nitobi.grid.Grid.prototype.refresh=function(){var _200=null;if(!this.fire("BeforeRefresh",_200)){return;}
ntbAssert(this.datatable!=null,"The Grid must be conntected to a DataTable to call refresh.","",EBA_THROW);this.selectedRows=[];this.clearSurfaces();if(this.getDataMode()!="local"){this.datatable.clearData();}
this.syncWithData();this.subscribeOnce("HtmlReady",this.handleAfterRefresh,this);};nitobi.grid.Grid.prototype.handleAfterRefresh=function(){var _201=null;this.fire("AfterRefresh",_201);};nitobi.grid.Grid.prototype.clear=function(){this.selectedRows=[];this.clearData();this.clearSurfaces();};nitobi.grid.Grid.prototype.handleContextMenu=function(evt,obj){var _204=this.getOnContextMenuEvent();if(_204==null){return true;}else{if(this.fire("ContextMenu")){return true;}else{evt.cancelBubble=true;evt.returnValue=false;return false;}}};nitobi.grid.Grid.prototype.handleKeyPress=function(evt){if(this.activeCell==null){return;}
var col=this.activeColumnObject;this.fire("KeyPress",new nitobi.base.EventArgs(this,evt));nitobi.event.evaluate(col.getOnKeyPressEvent(),evt);nitobi.html.cancelEvent(evt);return false;};nitobi.grid.Grid.prototype.handleKeyUp=function(evt){if(this.activeCell==null){return;}
var col=this.activeColumnObject;this.fire("KeyUp",new nitobi.base.EventArgs(this,evt));nitobi.event.evaluate(col.getOnKeyUpEvent(),evt);};nitobi.grid.Grid.prototype.handleKey=function(evt,obj){if(this.activeCell!=null){var col=this.activeColumnObject;var _20c=new nitobi.base.EventArgs(this,evt);if(!this.fire("KeyDown",_20c)||!nitobi.event.evaluate(col.getOnKeyDownEvent(),_20c)){return;}}
var k=evt.keyCode;k=k+(evt.shiftKey?256:0)+(evt.ctrlKey?512:0)+(evt.metaKey?1024:0);switch(k){case 529:break;case 35:break;case 36:break;case 547:break;case 548:break;case 34:this.page(1);break;case 33:this.page(-1);break;case 45:this.insertAfterCurrentRow();break;case 46:if(this.getSelectedRows().length>1){this.deleteSelectedRows();}else{this.deleteCurrentRow();}
break;case 292:this.selectHome();break;case 290:this.pageSelect(1);break;case 289:this.pageSelect(-1);break;case 296:this.reselect(0,1);break;case 294:this.reselect(0,-1);break;case 293:this.reselect(-1,0);break;case 295:this.reselect(1,0);break;case 577:break;case 579:case 557:this.copy(evt);return true;case 1091:this.copy(evt);return true;case 600:case 302:break;case 598:case 301:this.paste(evt);return true;break;case 1110:this.paste(evt);return true;case 35:break;case 36:break;case 547:break;case 548:break;case 13:var et=this.getEnterTab().toLowerCase();var _20f=0;var vert=1;if(et=="left"){_20f=-1;vert=0;}else{if(et=="right"){_20f=1;vert=0;}else{if(et=="down"){_20f=0;vert=1;}else{if(et=="up"){_20f=0;vert=-1;}}}}
this.move(_20f,vert);break;case 40:this.move(0,1);break;case 269:case 38:this.move(0,-1);break;case 265:case 37:this.move(-1,0);break;case 9:case 39:this.move(1,0);break;case 577:break;case 595:this.save();break;case 594:this.refresh();break;case 590:this.insertAfterCurrentRow();break;default:this.edit(evt);}};nitobi.grid.Grid.prototype.reselect=function(x,y){var S=this.selection;var row=nitobi.grid.Cell.getRowNumber(S.endCell)+y;var _215=nitobi.grid.Cell.getColumnNumber(S.endCell)+x;if(_215>=0&&_215<this.columnCount()&&row>=0){var _216=this.getCellElement(row,_215);if(!_216){return;}
S.changeEndCellWithDomNode(_216);S.alignBoxes();this.ensureCellInView(_216);}};nitobi.grid.Grid.prototype.pageSelect=function(dir){};nitobi.grid.Grid.prototype.selectHome=function(){var S=this.selection;var row=nitobi.grid.Cell.getRowNumber(S.endCell);this.reselect(0,-row);};nitobi.grid.Grid.prototype.edit=function(evt){if(this.activeCell==null){return;}
var cell=this.activeCellObject;var col=this.activeColumnObject;var _21d=new nitobi.grid.OnBeforeCellEditEventArgs(this,cell);if(!this.fire("BeforeCellEdit",_21d)||!nitobi.event.evaluate(col.getOnBeforeCellEditEvent(),_21d)){return;}
var _21e=null;var _21f=null;var ctrl=null;if(evt){_21e=evt.keyCode||null;_21f=evt.shiftKey||null;ctrl=evt.ctrlKey||null;}
var _221="";var _222=null;if((_21f&&(_21e>64)&&(_21e<91))||(!_21f&&((_21e>47)&&(_21e<58)))){_222=0;}
if(!_21f){if((_21e>64)&&(_21e<91)){_222=32;}else{if(_21e>95&&_21e<106){_222=-48;}else{if((_21e==189)||(_21e==109)){_221="-";}else{if((_21e>186)&&(_21e<188)){_222=-126;}}}}}else{}
if(_222!=null){_221=String.fromCharCode(_21e+_222);}
if((!ctrl)&&(""!=_221)||(_21e==113)||(_21e==0)||(_21e==null)||(_21e==32)){if(col.isEditable()){this.cellEditor=nitobi.form.ControlFactory.instance.getEditor(this,col);if(this.cellEditor==null){return;}
this.cellEditor.setEditCompleteHandler(this.editComplete);this.cellEditor.attachToParent(this.getToolsContainer());this.cellEditor.bind(this,cell,_221);this.cellEditor.mimic();this.setEditMode(true);nitobi.html.cancelEvent(evt);return false;}}else{return;}};nitobi.grid.Grid.prototype.editComplete=function(_223){var cell=_223.cell;var _225=cell.getColumnObject();var _226=_223.databaseValue;var _227=_223.displayValue;var _228=new nitobi.grid.OnCellValidateEventArgs(this,cell,_226,cell.getValue());if(!this.fire("CellValidate",_228)||!nitobi.event.evaluate(_225.getOnCellValidateEvent(),_228)){return false;}
cell.setValue(_226,_227);_223.editor.hide();this.setEditMode(false);var _229=new nitobi.grid.OnAfterCellEditEventArgs(this,cell);this.fire("AfterCellEdit",_229);nitobi.event.evaluate(_225.getOnAfterCellEditEvent(),_229);try{this.focus();}
catch(e){}};nitobi.grid.Grid.prototype.autoSave=function(){if(this.isAutoSaveEnabled()){return this.save();}
return false;};nitobi.grid.Grid.prototype.selectCellByCoords=function(row,_22b){this.setPosition(row,_22b);};nitobi.grid.Grid.prototype.setPosition=function(row,_22d){if(row>=0&&_22d>=0){this.setActiveCell(this.getCellElement(row,_22d));}};nitobi.grid.Grid.prototype.save=function(){if(this.datatable.log.selectNodes("//"+nitobi.xml.nsPrefix+"data/*").length==0){return;}
if(!this.fire("BeforeSave")){return;}
this.datatable.save(nitobi.lang.close(this,this.saveCompleteHandler),this.getOnBeforeSaveEvent());};nitobi.grid.Grid.prototype.saveCompleteHandler=function(_22e){if(this.getDataSource().getHandlerError()){this.fire("HandlerError",_22e);}
this.fire("AfterSave",_22e);};nitobi.grid.Grid.prototype.focus=function(){try{this.keyNav.focus();this.fire("Focus",new nitobi.base.EventArgs(this));if(!nitobi.browser.SAFARI&&!nitobi.browser.CHROME){nitobi.html.cancelEvent(nitobi.html.Event);return false;}}
catch(e){}};nitobi.grid.Grid.prototype.blur=function(){this.clearActiveRows();this.selection.clear();this.blurActiveCell(null);this.activateCell(null);this.fire("Blur",new nitobi.base.EventArgs(this));};nitobi.grid.Grid.prototype.getRendererForColumn=function(col){var _230=this.getColumnCount();if(col>=_230){col=_230-1;}
var _231=this.getFrozenLeftColumnCount();if(col<frozenLeft){return this.MidLeftRenderer;}else{return this.MidCenterRenderer;}};nitobi.grid.Grid.prototype.getColumnOuterTemplate=function(col){return this.getRendererForColumn(col).xmlTemplate.selectSingleNode("//*[@match='ntb:e']/div/div["+col+"]");};nitobi.grid.Grid.prototype.getColumnInnerTemplate=function(col){return this.getColumnOuterXslTemplate(col).selectSingleNode("*[2]");};nitobi.grid.Grid.prototype.makeXSL=function(){var fL=this.getFrozenLeftColumnCount();var cs=this.getColumnCount();var rh=this.isRowHighlightEnabled();var _237="_default";if(this.datatable!=null){_237=this.datatable.id;}
var _238=0;var _239=fL;var _23a=this.model.selectSingleNode("state/nitobi.grid.Columns");this.TopLeftRenderer.generateXslTemplate(_23a,null,_238,_239,this.isColumnIndicatorsEnabled(),this.isRowIndicatorsEnabled(),rh,this.isToolTipsEnabled());this.TopLeftRenderer.dataTableId=_237;_238=fL;_239=cs-fL;this.TopCenterRenderer.generateXslTemplate(_23a,null,_238,_239,this.isColumnIndicatorsEnabled(),this.isRowIndicatorsEnabled(),rh,this.isToolTipsEnabled());this.TopCenterRenderer.dataTableId=_237;this.MidLeftRenderer.generateXslTemplate(_23a,null,0,fL,0,this.isRowIndicatorsEnabled(),rh,this.isToolTipsEnabled(),"left");this.MidLeftRenderer.dataTableId=_237;this.MidCenterRenderer.generateXslTemplate(_23a,null,fL,cs-fL,0,0,rh,this.isToolTipsEnabled());this.MidCenterRenderer.dataTableId=_237;this.fire("AfterMakeXsl");};nitobi.grid.Grid.prototype.render=function(){this.generateCss();this.updateCellRanges();};nitobi.grid.Grid.prototype.refilter=nitobi.grid.Grid.prototype.render;nitobi.grid.Grid.prototype.getColumnDefinitions=function(){return this.model.selectNodes("state/nitobi.grid.Columns/*");};nitobi.grid.Grid.prototype.getVisibleColumnDefinitions=function(){return this.model.selectNodes("state/nitobi.grid.Columns/*[@Visible='1']");};nitobi.grid.Grid.prototype.initializeModelFromDeclaration=function(){var _23b=this.Declaration.grid.documentElement.attributes;var len=_23b.length;for(var i=0;i<len;i++){var _23e=_23b[i];var _23f=this.properties[_23e.nodeName];if(_23f!=null){this["set"+_23f.n](_23e.nodeValue);}}
this.model.documentElement.setAttribute("ID",this.uid);this.model.documentElement.setAttribute("uniqueID",this.uid);};nitobi.grid.Grid.prototype.setModelValues=function(_240,_241){var _242=_240.getAttribute("DataType");var _243=_240.getAttribute("type").toLowerCase();var _244=_241.attributes;for(var j=0;j<_244.length;j++){var _246=_244[j];var _247=_246.nodeName.toLowerCase();var _248=this.xColumnProperties[_242+"column"][_247]||this.xColumnProperties["column"][_247];var _249=_246.nodeValue;if(_248.t=="b"){_249=nitobi.lang.boolToStr(nitobi.lang.toBool(_249));}
_240.setAttribute(_248.n,_249);}
var _24a=_241.selectSingleNode("./ntb:"+_243+"editor");if(_24a==null){return;}
var _24b=_24a.attributes;for(var j=0;j<_24b.length;j++){var _246=_24b[j];var _247=_246.nodeName.toLowerCase();var _248=this.xColumnProperties[_243+"editor"][_247];var _249=_246.nodeValue;if(_248.t=="b"){_249=nitobi.lang.boolToStr(nitobi.lang.toBool(_249));}
_240.setAttribute(_248.n,_249);}};nitobi.grid.Grid.prototype.getNewRecordKey=function(){var _24c;var key;var _24e;do{_24c=new Date();key=(_24c.getTime()+"."+Math.round(Math.random()*99));_24e=this.datatable.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"e[@xk = '"+key+"']");}while(_24e!=null);return key;};nitobi.grid.Grid.prototype.insertAfterCurrentRow=function(){if(this.activeCell){var _24f=nitobi.grid.Cell.getRowNumber(this.activeCell);this.insertRow(_24f+1);}else{this.insertRow();}};nitobi.grid.Grid.prototype.insertRow=function(_250){var rows=parseInt(this.getDisplayedRowCount());var xi=0;if(_250!=null){xi=parseInt((_250==null?rows:parseInt(_250)));xi--;}
var _253=new nitobi.grid.OnBeforeRowInsertEventArgs(this,this.getRowObject(xi));if(!this.isRowInsertEnabled()||!this.fire("BeforeRowInsert",_253)){return;}
var _254=this.datatable.getTemplateNode();for(var i=0;i<this.columnCount();i++){var _256=this.getColumnObject(i);var _257=_256.getInitial();if(_257==null||_257==""){var _258=_256.getDataType();if(_258==null||_258==""){_258="text";}
switch(_258){case"text":_257="";break;case"number":_257=0;break;case"date":_257="1900-01-01";break;}}
var att=_256.getxdatafld().substr(1);if(att!=null&&att!=""){_254.setAttribute(att,_257);}}
this.clearSurfaces();this.datatable.createRecord(_254,xi);this.subscribeOnce("HtmlReady",this.handleAfterRowInsert,this,[xi]);};nitobi.grid.Grid.prototype.handleAfterRowInsert=function(xi){this.fire("AfterRowInsert",new nitobi.grid.OnAfterRowInsertEventArgs(this,this.getRowObject(xi)));this.setActiveCell(this.getCellElement(xi,0));};nitobi.grid.Grid.prototype.deleteCurrentRow=function(){if(this.activeCell){this.deleteRow(nitobi.grid.Cell.getRowNumber(this.activeCell));}else{alert("First select a record to delete.");}};nitobi.grid.Grid.prototype.deleteSelectedRows=function(){var _25b=new nitobi.grid.OnBeforeRowDeleteEventArgs(this,this.getSelectedRows());if(!this.isRowDeleteEnabled()||!this.fire("BeforeRowDelete",_25b)){return;}
var _25c=this.getSelectedRows();var _25d=[];for(row in _25c){_25d.push(parseInt(_25c[row].getAttribute("xi")));}
_25d.sort(function(a,b){return a-b;});this.clearSurfaces();var rows=this.getDisplayedRowCount();try{this.datatable.deleteRecordsArray(_25d);if(rows<=0){this.activeCell=null;}
this.subscribeOnce("HtmlReady",this.handleAfterRowDelete,this,_25d);}
catch(err){this.dataBind();}};nitobi.grid.Grid.prototype.deleteRow=function(_261){ntbAssert(_261>=0,"Must specify a row to delete.");var _262=new nitobi.grid.OnBeforeRowDeleteEventArgs(this,this.getRowObject(_261));if(!this.isRowDeleteEnabled()||!this.fire("BeforeRowDelete",_262)){return;}
this.clearSurfaces();var rows=this.getDisplayedRowCount();try{this.datatable.deleteRecord(_261);rows--;if(rows<=0){this.activeCell=null;}
this.subscribeOnce("HtmlReady",this.handleAfterRowDelete,this,[_261]);}
catch(err){this.dataBind();}};nitobi.grid.Grid.prototype.handleAfterRowDelete=function(xi){this.fire("AfterRowDelete",new nitobi.grid.OnBeforeRowDeleteEventArgs(this,this.getRowObject(xi)));this.setActiveCell(this.getCellElement(xi,0));};nitobi.grid.Grid.prototype.page=function(dir){};nitobi.grid.Grid.prototype.move=function(h,v){if(this.activeCell!=null){var hs=1;var vs=1;h=(h*hs);v=(v*vs);var cell=nitobi.grid.Cell;var _26b=cell.getColumnNumber(this.activeCell);var _26c=cell.getRowNumber(this.activeCell);this.selectCellByCoords(_26c+v,_26b+h);var _26d=new nitobi.grid.CellEventArgs(this,this.activeCell);if(_26b+1==this.getVisibleColumnDefinitions().length&&h==1){this.fire("HitRowEnd",_26d);}else{if(_26b==0&&h==-1){this.fire("HitRowStart",_26d);}}}};nitobi.grid.Grid.prototype.handleSelectionMouseUp=function(evt){if(this.isCellClicked()){this.ensureCellInView(this.activeCell);}
this.setCellClicked(false);if(this.isSingleClickEditEnabled()){this.edit(evt);}else{if(!nitobi.browser.IE){this.focus();}}};nitobi.grid.Grid.prototype.loadNextDataPage=function(){this.loadDataPage(this.getCurrentPageIndex()+1);};nitobi.grid.Grid.prototype.loadPreviousDataPage=function(){this.loadDataPage(this.getCurrentPageIndex()-1);};nitobi.grid.Grid.prototype.GetPage=function(_26f){ebaErrorReport("GetPage is deprecated please use loadDataPage instead","",EBA_DEBUG);this.loadDataPage(_26f);};nitobi.grid.Grid.prototype.loadDataPage=function(_270){};nitobi.grid.Grid.prototype.getSelectedRow=function(rel){try{var nRow=-1;var AC=this.activeCell;if(AC!=null){nRow=nitobi.grid.Cell.getRowNumber(AC);if(rel){nRow-=this.getfreezetop();}}
return nRow;}
catch(err){_ntbAssert(false,err.message);}};nitobi.grid.Grid.prototype.handleHandlerError=function(){var _274=this.getDataSource().getHandlerError();if(_274){this.fire("HandlerError");}};nitobi.grid.Grid.prototype.getRowObject=function(_275,_276){var _277=_276;if(_276==null&&_275!=null){_277=_275;}
return new nitobi.grid.Row(this,_277);};nitobi.grid.Grid.prototype.getSelectedColumn=function(rel){try{var nCol=-1;var AC=this.activeCell;if(AC!=null){nCol=parseInt(AC.getAttribute("col"));if(rel){nCol-=this.getFrozenLeftColumnCount();}}
return nCol;}
catch(err){_ntbAssert(false,err.message);}};nitobi.grid.Grid.prototype.getSelectedColumnName=function(){var _27b=this.getSelectedColumnObject();return _27b.getColumnName();};nitobi.grid.Grid.prototype.getSelectedColumnObject=function(){return this.getColumnObject(this.getSelectedColumn());};nitobi.grid.Grid.prototype.columnCount=function(){try{var _27c=this.getColumnDefinitions();return _27c.length;}
catch(err){_ntbAssert(false,err.message);}};nitobi.grid.Grid.prototype.getCellObject=function(row,col){var _27f=col;var cell=this.cachedCells[row+"_"+col];if(cell==null){if(typeof(col)=="string"){var node=this.model.selectSingleNode("state/nitobi.grid.Columns/nitobi.grid.Column[@xdatafld_orig='"+col+"']");if(node!=null){col=parseInt(node.getAttribute("xi"));}}
if(typeof(col)=="number"){cell=new nitobi.grid.Cell(this,row,col);}else{cell=null;}
this.cachedCells[row+"_"+col]=this.cachedCells[row+"_"+_27f]=cell||"";}else{if(cell==""){cell=null;}}
return cell;};nitobi.grid.Grid.prototype.getCellText=function(row,col){return this.getCellObject(row,col).getHtml();};nitobi.grid.Grid.prototype.getCellValue=function(row,col){return this.getCellObject(row,col).getValue();};nitobi.grid.Grid.prototype.getCellElement=function(row,_287){return document.getElementById("cell_"+row+"_"+_287+"_"+this.uid);};nitobi.grid.Grid.prototype.getSelectedRowObject=function(xi){var obj=null;var r=nitobi.grid.Cell.getRowNumber(this.activeCell);obj=new nitobi.grid.Row(this,r);return obj;};nitobi.grid.Grid.prototype.getColumnObject=function(_28b){ntbAssert(_28b>=0,"Invalid column accessed.");var _28c=null;if(_28b>=0&&_28b<this.getColumnDefinitions().length){_28c=this.columns[_28b];if(_28c==null){var _28d=this.getColumnDefinitions()[_28b].getAttribute("DataType");switch(_28d){case"number":_28c=new nitobi.grid.NumberColumn(this,_28b);break;case"date":_28c=new nitobi.grid.DateColumn(this,_28b);break;default:_28c=new nitobi.grid.TextColumn(this,_28b);break;}
this.columns[_28b]=_28c;}}
if(_28c==null||_28c.getModel()==null){return null;}else{return _28c;}};nitobi.grid.Grid.prototype.getSelectedCellObject=function(){var obj=this.activeCellObject;if(obj==null){obj=this.activeCell;if(obj!=null){var Cell=nitobi.grid.Cell;var r=Cell.getRowNumber(obj);var c=Cell.getColumnNumber(obj);obj=this.getCellObject(r,c);}}
return obj;};nitobi.grid.Grid.prototype.autoAddRow=function(){if(this.activeCell.innerText.replace(/\s/g,"")!=""&&this.autoAdd){this.deactivateCell();if(this.active=="Y"){this.freezeCell();}
eval(this.getOnRowBlurEvent());this.insertRow();this.go("HOME");this.editCell();}};nitobi.grid.Grid.prototype.setDisplayedRowCount=function(_292){ntbAssert(!isNaN(_292),"displayed row was set to nan");if(this.Scroller){this.Scroller.view.midcenter.rows=_292;this.Scroller.view.midleft.rows=_292;}
this.displayedRowCount=_292;};nitobi.grid.Grid.prototype.getDisplayedRowCount=function(){ntbAssert(!isNaN(this.displayedRowCount),"displayed row count return nan");return this.displayedRowCount;};nitobi.grid.Grid.prototype.getToolsContainer=function(){this.toolsContainer=this.toolsContainer||document.getElementById("ntb-grid-toolscontainer"+this.uid);return this.toolsContainer;};nitobi.grid.Grid.prototype.getHeaderContainer=function(){return document.getElementById("ntb-grid-header"+this.uid);};nitobi.grid.Grid.prototype.getDataContainer=function(){return document.getElementById("ntb-grid-data"+this.uid);};nitobi.grid.Grid.prototype.getScrollerContainer=function(){return document.getElementById("ntb-grid-scroller"+this.uid);};nitobi.grid.Grid.prototype.getGridContainer=function(){return nitobi.html.getFirstChild(this.UiContainer);};nitobi.grid.Grid.prototype.copy=function(){var _293=this.selection.getCoords();var data=this.getTableForSelection(_293);var _295=new nitobi.grid.OnCopyEventArgs(this,data,_293);if(!this.isCopyEnabled()||!this.fire("BeforeCopy",_295)){return;}
if(!nitobi.browser.IE){var _296=this.getClipboard();_296.onkeyup=nitobi.lang.close(this,this.focus);_296.value=data;_296.focus();_296.setSelectionRange(0,_296.value.length);}else{window.clipboardData.setData("Text",data);}
this.fire("AfterCopy",_295);};nitobi.grid.Grid.prototype.getTableForSelection=function(_297){var _298=this.getColumnMap(_297.top.x,_297.bottom.x);var _299=nitobi.data.FormatConverter.convertEbaXmlToTsv(this.getDataSource().getDataXmlDoc(),_298,_297.top.y,_297.bottom.y);return _299;};nitobi.grid.Grid.prototype.getColumnMap=function(_29a,_29b){var _29c=this.getColumnDefinitions();_29a=(_29a==null)?0:_29a;_29b=(_29b==null)?_29c.length-1:_29b;var map=new Array();for(var i=_29a;i<=_29b&&(null!=_29c[i]);i++){map.push(_29c[i].getAttribute("xdatafld").substr(1));}
return map;};nitobi.grid.Grid.prototype.paste=function(){if(!this.isPasteEnabled()){return;}
var _29f=this.getClipboard();_29f.onkeyup=nitobi.lang.close(this,this.pasteDataReady,[_29f]);_29f.focus();return _29f;};nitobi.grid.Grid.prototype.pasteDataReady=function(_2a0){_2a0.onkeyup=null;var _2a1=this.selection;var _2a2=_2a1.getCoords();var _2a3=_2a2.top.x;var _2a4=_2a3+nitobi.data.FormatConverter.getDataColumns(_2a0.value)-1;var _2a5=true;for(var i=_2a3;i<=_2a4;i++){var _2a7=this.getColumnObject(i);if(_2a7){if(!_2a7.isEditable()){_2a5=false;break;}}}
if(!_2a5){this.fire("PasteFailed",new nitobi.base.EventArgs(this));this.handleAfterPaste();return;}else{var _2a8=this.getColumnMap(_2a3,_2a4);var _2a9=_2a2.top.y;var _2aa=Math.max(_2a9+nitobi.data.FormatConverter.getDataRows(_2a0.value)-1,0);this.getSelection().selectWithCoords(_2a9,_2a3,_2aa,_2a3+_2a8.length-1);var _2ab=new nitobi.grid.OnPasteEventArgs(this,_2a0.value,_2a2);if(!this.fire("BeforePaste",_2ab)){return;}
var _2ac=_2a0.value;var _2ad=null;if(_2ac.substr(0,1)=="<"){_2ad=nitobi.data.FormatConverter.convertHtmlTableToEbaXml(_2ac,_2a8,_2a9);}else{_2ad=nitobi.data.FormatConverter.convertTsvToEbaXml(_2ac,_2a8,_2a9);}
if(_2ad.documentElement!=null){this.datatable.mergeFromXml(_2ad,nitobi.lang.close(this,this.pasteComplete,[_2ad,_2a9,_2aa,_2ab]));}}};nitobi.grid.Grid.prototype.pasteComplete=function(_2ae,_2af,_2b0,_2b1){this.Scroller.reRender(_2af,_2b0);this.subscribeOnce("HtmlReady",this.handleAfterPaste,this,[_2b1]);};nitobi.grid.Grid.prototype.handleAfterPaste=function(_2b2){this.fire("AfterPaste",_2b2);};nitobi.grid.Grid.prototype.getClipboard=function(){var _2b3=document.getElementById("ntb-clipboard"+this.uid);_2b3.onkeyup=null;_2b3.value="";return _2b3;};nitobi.grid.Grid.prototype.getSelection=function(){return this.selection;};nitobi.grid.Grid.prototype.handleHtmlReady=function(_2b4){this.fire("HtmlReady",new nitobi.base.EventArgs(this));};nitobi.grid.Grid.prototype.fire=function(evt,args){return nitobi.event.notify(evt+this.uid,args);};nitobi.grid.Grid.prototype.subscribe=function(evt,func,_2b9){if(this.subscribedEvents==null){this.subscribedEvents={};}
if(typeof(_2b9)=="undefined"){_2b9=this;}
var guid=nitobi.event.subscribe(evt+this.uid,nitobi.lang.close(_2b9,func));this.subscribedEvents[guid]=evt+this.uid;return guid;};nitobi.grid.Grid.prototype.subscribeOnce=function(evt,func,_2bd,_2be){var guid=null;var _2c0=this;var _2c1=function(){func.apply(_2bd||this,_2be||arguments);_2c0.unsubscribe(evt,guid);};guid=this.subscribe(evt,_2c1);};nitobi.grid.Grid.prototype.unsubscribe=function(evt,guid){return nitobi.event.unsubscribe(evt+this.uid,guid);};nitobi.grid.Grid.prototype.dispose=function(){try{this.element.jsObject=null;editorXslProc=null;var H=nitobi.html;H.detachEvents(this.getGridContainer(),this.events);H.detachEvents(this.getHeaderContainer(),this.headerEvents);H.detachEvents(this.getDataContainer(),this.cellEvents);H.detachEvents(this.getScrollerContainer(),this.scrollerEvents);H.detachEvents(this.keyNav,this.keyEvents);for(var item in this.subscribedEvents){var _2c6=this.subscribedEvents[item];this.unsubscribe(_2c6.substring(0,_2c6.length-this.uid.length),item);}
this.UiContainer.parentNode.removeChild(this.UiContainer);for(var item in this){if(this[item]!=null){if(this[item].dispose instanceof Function){this[item].dispose();}
this[item]=null;}}
nitobi.form.ControlFactory.instance.dispose();}
catch(e){}};nitobi.Grid=nitobi.grid.Grid;nitobi.grid.Cell=function(grid,row,_2c9){if(row==null||grid==null){return null;}
this.grid=grid;var _2ca=null;if(typeof(row)=="object"){var cell=row;row=Number(cell.getAttribute("xi"));_2c9=cell.getAttribute("col");_2ca=cell;}else{_2ca=this.grid.getCellElement(row,_2c9);}
this.DomNode=_2ca;this.row=Number(row);this.Row=this.row;this.column=Number(_2c9);this.Column=this.column;this.dataIndex=this.Row;};nitobi.grid.Cell.prototype.getData=function(){if(this.DataNode==null){this.DataNode=this.grid.datatable.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"e[@xi="+this.dataIndex+"]/"+this.grid.datatable.fieldMap[this.getColumnObject().getColumnName()]);}
return this.DataNode;};nitobi.grid.Cell.prototype.getModel=function(){if(this.ModelNode==null){this.ModelNode=this.grid.model.selectSingleNode("//nitobi.grid.Columns/nitobi.grid.Column[@xi='"+this.column+"']");}
return this.ModelNode;};nitobi.grid.Cell.prototype.setRow=function(){this.jSET("Row",arguments);};nitobi.grid.Cell.prototype.getRow=function(){return this.Row;};nitobi.grid.Cell.prototype.setColumn=function(){this.jSET("Column",arguments);};nitobi.grid.Cell.prototype.getColumn=function(){return this.Column;};nitobi.grid.Cell.prototype.setDomNode=function(){this.jSET("DomNode",arguments);};nitobi.grid.Cell.prototype.getDomNode=function(){return this.DomNode;};nitobi.grid.Cell.prototype.setDataNode=function(){this.jSET("DataNode",arguments);};nitobi.grid.Cell.prototype.setValue=function(_2cc,_2cd){if(_2cc==this.getValue()){return;}
var _2ce=this.getColumnObject();var _2cf="";switch(_2ce.getType()){case"PASSWORD":for(var i=0;i<_2cc.length;i++){_2cf+="*";}
break;case"NUMBER":if(this.numberXsl==null){this.numberXsl=nitobi.form.numberXslProc;}
if(_2cc==""){_2cc=_2ce.getEditor().defaultValue||0;}
if(this.DomNode!=null){if(_2cc<0){nitobi.html.Css.addClass(this.DomNode,"ntb-cell-negativenumber");}else{nitobi.html.Css.removeClass(this.DomNode,"ntb-cell-negativenumber");}}
var mask=_2ce.getMask();var _2d2=_2ce.getNegativeMask();var _2d3=_2cc;if(_2cc<0&&_2d2!=""){mask=_2d2;_2d3=(_2cc+"").replace("-","");}
this.numberXsl.addParameter("number",_2d3,"");this.numberXsl.addParameter("mask",mask,"");this.numberXsl.addParameter("group",_2ce.getGroupingSeparator(),"");this.numberXsl.addParameter("decimal",_2ce.getDecimalSeparator(),"");_2cf=nitobi.xml.transformToString(nitobi.xml.Empty,this.numberXsl);if(""==_2cf&&_2cc!=""){_2cf=nitobi.html.getFirstChild(this.DomNode).innerHTML;_2cc=this.getValue();}
break;case"DATE":if(this.dateXsl==null){this.dateXsl=nitobi.form.dateXslProc.stylesheet;}
var d=new Date();var _2d5=nitobi.xml.createXmlDoc("<root><date>"+_2cc+"</date><year>"+(d.getFullYear())+"</year><mask>"+this.columnObject.getMask()+"</mask></root>");_2cf=nitobi.xml.transformToString(_2d5,this.dateXsl);if(""==_2cf){_2cf=nitobi.html.getFirstChild(this.DomNode).innerHTML;_2cc=this.getValue();}
break;case"TEXTAREA":_2cf=nitobi.html.encode(_2cc);break;case"LOOKUP":var _2d6=_2ce.getModel();var _2d7=_2d6.getAttribute("DatasourceId");var _2d8=this.grid.data.getTable(_2d7);var _2d9=_2d6.getAttribute("DisplayFields");var _2da=_2d6.getAttribute("ValueField");var _2db=_2d8.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"e[@"+_2da+"='"+_2cc+"']/@"+_2d9);if(_2db!=null){_2cf=_2db.nodeValue;}else{_2cf=_2cc;}
break;case"CHECKBOX":var _2d6=_2ce.getModel();var _2d7=_2d6.getAttribute("DatasourceId");var _2d8=this.grid.data.getTable(_2d7);var _2d9=_2d6.getAttribute("DisplayFields");var _2da=_2d6.getAttribute("ValueField");var _2dc=_2d6.getAttribute("CheckedValue");if(_2dc==""||_2dc==null){_2dc=0;}
var _2dd=_2d8.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"e[@"+_2da+"='"+_2cc+"']/@"+_2d9).nodeValue;var _2de=(_2cc==_2dc)?"checked":"unchecked";_2cf="<div style=\"overflow:hidden;\"><div class=\"ntb-checkbox ntb-checkbox-"+_2de+"\" checked=\""+_2cc+"\">&nbsp;</div><div class=\"ntb-checkbox-text\">"+nitobi.html.encode(_2dd)+"</div></div>";break;case"LISTBOX":var _2d6=_2ce.getModel();var _2d7=_2d6.getAttribute("DatasourceId");var _2d8=this.grid.data.getTable(_2d7);var _2d9=_2d6.getAttribute("DisplayFields");var _2da=_2d6.getAttribute("ValueField");_2cf=_2d8.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"e[@"+_2da+"='"+_2cc+"']/@"+_2d9).nodeValue;break;case"IMAGE":_2cf=nitobi.html.getFirstChild(this.DomNode).innerHTML;if(nitobi.lang.typeOf(_2cc)==nitobi.lang.type.HTMLNODE){_2cf="<img border=\"0\" src=\""+_2cc.getAttribute("src")+"\" />";}else{if(typeof(_2cc)=="string"){_2cf="<img border=\"0\" src=\""+_2cc+"\" />";}}
break;default:_2cf=_2cc;}
_2cf=_2cf||"&nbsp;";if(this.DomNode!=null){var elem=nitobi.html.getFirstChild(this.DomNode);elem.innerHTML=_2cf||"&nbsp;";elem.setAttribute("title",_2cc);this.DomNode.setAttribute("value",_2cc);}
this.grid.datatable.updateRecord(this.dataIndex,_2ce.getColumnName(),_2cc);};nitobi.grid.Cell.prototype.getValue=function(){var _2e0=this.getColumnObject();var val=this.GETDATA();switch(_2e0.getType()){case"NUMBER":val=parseFloat(val);break;default:}
return val;};nitobi.grid.Cell.prototype.getHtml=function(){return nitobi.html.getFirstChild(this.DomNode).innerHTML;};nitobi.grid.Cell.prototype.edit=function(){this.grid.setActiveCell(this.DomNode);this.grid.edit();};nitobi.grid.Cell.prototype.GETDATA=function(){var node=this.getData();if(node!=null){return node.value;}};nitobi.grid.Cell.prototype.xGETMETA=function(){if(this.MetaNode==null){return null;}
var node=this.MetaNode;node=node.selectSingleNode("@"+arguments[0]);if(node!=null){return node.value;}};nitobi.grid.Cell.prototype.xSETMETA=function(){var node=this.MetaNode;if(node!=null){node.setAttribute(arguments[0],arguments[1][0]);}else{alert("Cannot set property: "+arguments[0]);}};nitobi.grid.Cell.prototype.xSETCSS=function(){var node=this.DomNode;if(node!=null){node.style.setAttribute(arguments[0],arguments[1][0]);}else{alert("Cannot set property: "+arguments[0]);}};nitobi.grid.Cell.prototype.xGET=function(){var node=this.getModel();node=node.selectSingleNode(arguments[0]);if(node!=null){return node.value;}};nitobi.grid.Cell.prototype.xSET=function(){var node=this.getModel();node=node.selectSingleNode(arguments[0]);if(node!=null){node.nodeValue=arguments[1][0];}};nitobi.grid.Cell.prototype.getStyle=function(){return this.DomNode.style;};nitobi.grid.Cell.prototype.getColumnObject=function(){if(typeof(this.columnObject)=="undefined"){this.columnObject=this.grid.getColumnObject(this.getColumn());}
return this.columnObject;};nitobi.grid.Cell.getCellElement=function(grid,row,_2ea){return $ntb("cell_"+row+"_"+_2ea+"_"+grid.uid);};nitobi.grid.Cell.getRowNumber=function(_2eb){return parseInt(_2eb.getAttribute("xi"));};nitobi.grid.Cell.getColumnNumber=function(_2ec){return parseInt(_2ec.getAttribute("col"));};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.CellEventArgs=function(_2ed,cell){nitobi.grid.CellEventArgs.baseConstructor.call(this,_2ed);this.cell=cell;};nitobi.lang.extend(nitobi.grid.CellEventArgs,nitobi.base.EventArgs);nitobi.grid.CellEventArgs.prototype.getCell=function(){return this.cell;};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.RowEventArgs=function(_2ef,row){this.grid=_2ef;this.row=row;this.event=nitobi.html.Event;};nitobi.grid.RowEventArgs.prototype.getSource=function(){return this.grid;};nitobi.grid.RowEventArgs.prototype.getRow=function(){return this.row;};nitobi.grid.RowEventArgs.prototype.getEvent=function(){return this.event;};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.SelectionEventArgs=function(_2f1,data,_2f3){this.source=_2f1;this.coords=_2f3;this.data=data;};nitobi.grid.SelectionEventArgs.prototype.getSource=function(){return this.source;};nitobi.grid.SelectionEventArgs.prototype.getCoords=function(){return this.coords;};nitobi.grid.SelectionEventArgs.prototype.getData=function(){return this.data;};nitobi.grid.Column=function(grid,_2f5){this.grid=grid;this.column=_2f5;this.uid=nitobi.base.getUid();this.modelNodes={};};nitobi.grid.Column.prototype={setAlign:function(){this.xSET("Align",arguments);},getAlign:function(){return this.xGET("Align",arguments);},getWrap:function(){return parseInt(this.xGET("Wrap",arguments));},setClassName:function(){this.xSET("ClassName",arguments);},getClassName:function(){return this.xGET("ClassName",arguments);},setCssStyle:function(){this.xSET("CssStyle",arguments);},getCssStyle:function(){return this.xGET("CssStyle",arguments);},setColumnName:function(){this.xSET("ColumnName",arguments);},getColumnName:function(){return this.xGET("ColumnName",arguments);},setType:function(){this.xSET("type",arguments);},getType:function(){return this.xGET("type",arguments);},setDataType:function(){this.xSET("DataType",arguments);},getDataType:function(){return this.xGET("DataType",arguments);},setEditable:function(){this.xSET("Editable",arguments);},isEditable:function(){return nitobi.lang.toBool(this.xGET("Editable",arguments),true);},setInitial:function(){this.xSET("Initial",arguments);},getInitial:function(){return this.xGET("Initial",arguments);},setLabel:function(){this.xSET("Label",arguments);},getLabel:function(){return this.xGET("Label",arguments);},setGetHandler:function(){this.xSET("GetHandler",arguments);},getGetHandler:function(){return this.xGET("GetHandler",arguments);},setDatasourceId:function(){this.xSET("DatasourceId",arguments);},getDatasourceId:function(){return this.xGET("DatasourceId",arguments);},setTemplate:function(){this.xSET("Template",arguments);},getTemplate:function(){return this.xGET("Template",arguments);},setTemplateUrl:function(){this.xSET("TemplateUrl",arguments);},getTemplateUrl:function(){return this.xGET("TemplateUrl",arguments);},setMaxLength:function(){this.xSET("maxlength",arguments);},getMaxLength:function(){return Number(this.xGET("maxlength",arguments));},setSortDirection:function(){this.xSET("SortDirection",arguments);},getSortDirection:function(){return this.xGET("SortDirection",arguments);},setSortEnabled:function(){this.xSET("SortEnabled",arguments);},isSortEnabled:function(){return nitobi.lang.toBool(this.xGET("SortEnabled",arguments),true);},setWidth:function(){this.xSET("Width",arguments);},getWidth:function(){return Number(this.xGET("Width",arguments));},setSize:function(){this.xSET("Size",arguments);},getSize:function(){return Number(this.xGET("Size",arguments));},setVisible:function(){this.xSET("Visible",arguments);},isVisible:function(){return nitobi.lang.toBool(this.xGET("Visible",arguments),true);},setxdatafld:function(){this.xSET("xdatafld",arguments);},getxdatafld:function(){return this.xGET("xdatafld",arguments);},setValue:function(){this.xSET("Value",arguments);},getValue:function(){return this.xGET("Value",arguments);},setxi:function(){this.xSET("xi",arguments);},getxi:function(){return Number(this.xGET("xi",arguments));},setEditor:function(){this.xSET("Editor",arguments);},getEditor:function(){return this.xGET("Editor",arguments);},setDisplayFields:function(){this.xSET("DisplayFields",arguments);},getDisplayFields:function(){return this.xGET("DisplayFields",arguments);},setValueField:function(){this.xSET("ValueField",arguments);},getValueField:function(){return this.xGET("ValueField",arguments);},setDelay:function(){this.xSET("Delay",arguments);},getDelay:function(){return Number(this.xGET("Delay",arguments));},setReferenceColumn:function(){this.xSET("ReferenceColumn",arguments);},getReferenceColumn:function(){return this.xGET("ReferenceColumn",arguments);},setOnCellClickEvent:function(){this.xSET("OnCellClickEvent",arguments);},getOnCellClickEvent:function(){return this.xGET("OnCellClickEvent",arguments);},setOnBeforeCellClickEvent:function(){this.xSET("OnBeforeCellClickEvent",arguments);},getOnBeforeCellClickEvent:function(){return this.xGET("OnBeforeCellClickEvent",arguments);},setOnCellDblClickEvent:function(){this.xSET("OnCellDblClickEvent",arguments);},getOnCellDblClickEvent:function(){return this.xGET("OnCellDblClickEvent",arguments);},setOnHeaderDoubleClickEvent:function(){this.xSET("OnHeaderDoubleClickEvent",arguments);},getOnHeaderDoubleClickEvent:function(){return this.xGET("OnHeaderDoubleClickEvent",arguments);},setOnHeaderClickEvent:function(){this.xSET("OnHeaderClickEvent",arguments);},getOnHeaderClickEvent:function(){return this.xGET("OnHeaderClickEvent",arguments);},setOnBeforeResizeEvent:function(){this.xSET("OnBeforeResizeEvent",arguments);},getOnBeforeResizeEvent:function(){return this.xGET("OnBeforeResizeEvent",arguments);},setOnAfterResizeEvent:function(){this.xSET("OnAfterResizeEvent",arguments);},getOnAfterResizeEvent:function(){return this.xGET("OnAfterResizeEvent",arguments);},setOnCellValidateEvent:function(){this.xSET("OnCellValidateEvent",arguments);},getOnCellValidateEvent:function(){return this.xGET("OnCellValidateEvent",arguments);},setOnBeforeCellEditEvent:function(){this.xSET("OnBeforeCellEditEvent",arguments);},getOnBeforeCellEditEvent:function(){return this.xGET("OnBeforeCellEditEvent",arguments);},setOnAfterCellEditEvent:function(){this.xSET("OnAfterCellEditEvent",arguments);},getOnAfterCellEditEvent:function(){return this.xGET("OnAfterCellEditEvent",arguments);},setOnCellBlurEvent:function(){this.xSET("OnCellBlurEvent",arguments);},getOnCellBlurEvent:function(){return this.xGET("OnCellBlurEvent",arguments);},setOnCellFocusEvent:function(){this.xSET("OnCellFocusEvent",arguments);},getOnCellFocusEvent:function(){return this.xGET("OnCellFocusEvent",arguments);},setOnBeforeSortEvent:function(){this.xSET("OnBeforeSortEvent",arguments);},getOnBeforeSortEvent:function(){return this.xGET("OnBeforeSortEvent",arguments);},setOnAfterSortEvent:function(){this.xSET("OnAfterSortEvent",arguments);},getOnAfterSortEvent:function(){return this.xGET("OnAfterSortEvent",arguments);},setOnCellUpdateEvent:function(){this.xSET("OnCellUpdateEvent",arguments);},getOnCellUpdateEvent:function(){return this.xGET("OnCellUpdateEvent",arguments);},setOnKeyDownEvent:function(){this.xSET("OnKeyDownEvent",arguments);},getOnKeyDownEvent:function(){return this.xGET("OnKeyDownEvent",arguments);},setOnKeyUpEvent:function(){this.xSET("OnKeyUpEvent",arguments);},getOnKeyUpEvent:function(){return this.xGET("OnKeyUpEvent",arguments);},setOnKeyPressEvent:function(){this.xSET("OnKeyPressEvent",arguments);},getOnKeyPressEvent:function(){return this.xGET("OnKeyPressEvent",arguments);},setOnChangeEvent:function(){this.xSET("OnChangeEvent",arguments);},getOnChangeEvent:function(){return this.xGET("OnChangeEvent",arguments);},setGetOnEnter:function(){this.xbSET("GetOnEnter",arguments);},isGetOnEnter:function(){return nitobi.lang.toBool(this.xGET("GetOnEnter",arguments),true);},setAutoComplete:function(){this.xbSET("AutoComplete",arguments);},isAutoComplete:function(){return nitobi.lang.toBool(this.xGET("AutoComplete",arguments),true);},setAutoClear:function(){this.xbSET("AutoClear",arguments);},isAutoClear:function(){return nitobi.lang.toBool(this.xGET("AutoClear",arguments),true);}};nitobi.grid.Column.prototype.getModel=function(){if(this.ModelNode==null){var _2f6=this.column;this.ModelNode=this.grid.model.selectNodes("//state/nitobi.grid.Columns/nitobi.grid.Column")[_2f6];}
return this.ModelNode;};nitobi.grid.Column.prototype.getHeaderElement=function(){return nitobi.grid.Column.getColumnHeaderElement(this.grid,this.column);};nitobi.grid.Column.prototype.getEditor=function(){};nitobi.grid.Column.prototype.getStyle=function(){var _2f7=this.getClassName();return nitobi.html.getClass(_2f7);};nitobi.grid.Column.prototype.getHeaderStyle=function(){var _2f8="acolumnheader"+this.grid.uid+"_"+this.column;return nitobi.html.getClass(_2f8);};nitobi.grid.Column.prototype.getDataStyle=function(){var _2f9="ntb-column-data"+this.grid.uid+"_"+this.column;return nitobi.html.getClass(_2f9);};nitobi.grid.Column.prototype.getEditor=function(){return nitobi.form.ControlFactory.instance.getEditor(this.grid,this);};nitobi.grid.Column.prototype.hide=function(){var _2fa=this.getWidth();var _2fb="ntb-column"+this.grid.uid+"_"+String(this.column+1);var _2fc=nitobi.html.getClass(_2fb);_2fc.display="none";this.grid.resizePanes(-_2fa,this.column);this.grid.adjustHorizontalScrollBars();};nitobi.grid.Column.prototype.show=function(){var _2fd=this.getWidth();var _2fe="ntb-column"+this.grid.uid+"_"+String(this.column+1);var _2ff=nitobi.html.getClass(_2fe);_2ff.display="";this.grid.resizePanes(_2fd,this.column);};nitobi.grid.Column.prototype.toggleVis=function(){var _300="ntb-column"+this.grid.uid+"_"+String(this.column+1);var _301=nitobi.html.getClass(_300,true);if(_301.display=="none"){this.show();}else{this.hide();}};nitobi.grid.Column.prototype.xGET=function(){var node=null,_303="@"+arguments[0],val="";var _305=this.modelNodes[_303];if(_305!=null){node=_305;}else{node=this.modelNodes[_303]=this.getModel().selectSingleNode(_303);}
if(node!=null){val=node.nodeValue;}
return val;};nitobi.grid.Column.prototype.xSET=function(){var node=this.getModel();if(node!=null){node.setAttribute(arguments[0],arguments[1][0]);}};nitobi.grid.Column.prototype.xbSETMODEL=function(){var node=this.getModel();if(node!=null){node.setAttribute(arguments[0],nitobi.lang.boolToStr(arguments[1][0]));}};nitobi.grid.Column.prototype.eSET=function(name,_309){var _30a=_309[0];var _30b=_30a;var _30c=name.substr(2);_30c=_30c.substr(0,_30c.length-5);if(typeof(_30a)=="string"){_30b=function(_30d){return eval(_30a);};}
if(typeof(this[name])!="undefined"){alert("unsubscribe");this.unsubscribe(_30c,this[name]);}
var guid=this.subscribe(_30c,_30b);this.jSET(name,[guid]);};nitobi.grid.Column.prototype.jSET=function(name,val){this[name]=val[0];};nitobi.grid.Column.prototype.fire=function(evt,args){return nitobi.event.notify(evt+this.uid,args);};nitobi.grid.Column.prototype.subscribe=function(evt,func,_315){if(typeof(_315)=="undefined"){_315=this;}
return nitobi.event.subscribe(evt+this.uid,nitobi.lang.close(_315,func));};nitobi.grid.Column.prototype.unsubscribe=function(evt,func){return nitobi.event.unsubscribe(evt+this.uid,func);};nitobi.grid.Column.getColumnHeaderElement=function(grid,_319){return $ntb("columnheader_"+_319+"_"+grid.uid);};nitobi.grid.Column.prototype.inRange=function(x){var left=this.getHeaderElement().offsetLeft;var _31c=left+this.getWidth();return left<x&&x<_31c;};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.ColumnEventArgs=function(_31d,_31e){this.grid=_31d;this.column=_31e;this.event=nitobi.html.Event;};nitobi.grid.ColumnEventArgs.prototype.getSource=function(){return this.grid;};nitobi.grid.ColumnEventArgs.prototype.getColumn=function(){return this.column;};nitobi.grid.ColumnEventArgs.prototype.getEvent=function(){return this.event;};nitobi.grid.ColumnEventArgs.prototype.getDirection=function(){};nitobi.grid.ColumnResizer=function(grid){this.grid=grid;this.hScrollClass=null;this.grid_id=this.grid.UiContainer.parentid;this.line=document.getElementById("ntb-column-resizeline"+this.grid.uid);this.lineStyle=this.line.style;if(nitobi.browser.IE){this.surface=document.getElementById("ebagridresizesurface_");if(this.surface==null){this.surface=document.createElement("div");this.surface.id="ebagridresizesurface_";this.surface.className="ntb-column-resize-surface";this.grid.UiContainer.appendChild(this.surface);}}
this.column;this.onAfterResize=new nitobi.base.Event();};nitobi.grid.ColumnResizer.prototype.startResize=function(grid,_321,_322,evt){this.grid=grid;this.column=_321;var x=nitobi.html.getEventCoords(evt).x;if(nitobi.browser.IE){this.surface.style.display="block";nitobi.drawing.align(this.surface,this.grid.element,nitobi.drawing.align.SAMEHEIGHT|nitobi.drawing.align.SAMEWIDTH|nitobi.drawing.align.ALIGNTOP|nitobi.drawing.align.ALIGNLEFT);}
this.x=x;this.lineStyle.display="block";var _325=nitobi.html.getBoundingClientRect(this.grid.UiContainer).left;this.lineStyle.left=x-_325+"px";this.lineStyle.height=this.grid.Scroller.scrollSurface.offsetHeight+"px";nitobi.drawing.align(this.line,_322,nitobi.drawing.align.ALIGNTOP,0,0,nitobi.html.getHeight(_322)+1);nitobi.ui.startDragOperation(this.line,evt,false,true,this,this.endResize);};nitobi.grid.ColumnResizer.prototype.endResize=function(_326){var x=_326.x;var Y=_326.y;if(nitobi.browser.IE){this.surface.style.display="none";}
var ls=this.lineStyle;ls.display="none";ls.top="-3000px";ls.left="-3000px";this.dx=x-this.x;this.onAfterResize.notify(this);};nitobi.grid.ColumnResizer.prototype.dispose=function(){this.grid=null;this.line=null;this.lineStyle=null;this.surface=null;};nitobi.grid.GridResizer=function(grid){this.grid=grid;this.widthFixed=false;this.heightFixed=false;this.minHeight=0;this.minWidth=0;this.box=document.getElementById("ntb-grid-resizebox"+grid.uid);this.onAfterResize=new nitobi.base.Event();};nitobi.grid.GridResizer.prototype.startResize=function(grid,_32c){this.grid=grid;var _32d=null;var x,y;var _330=nitobi.html.getEventCoords(_32c);x=_330.x;y=_330.y;this.x=x;this.y=y;var w=grid.getWidth();var h=grid.getHeight();var L=grid.element.offsetLeft;var T=grid.element.offsetTop;this.resizeW=!this.widthFixed;this.resizeH=!this.heightFixed;if(this.resizeW||this.resizeH){this.box.style.cursor=(this.resizeW&&this.resizeH)?"nw-resize":(this.resizeW)?"w-resize":"n-resize";this.box.style.display="block";var _335=nitobi.drawing.align.SAMEWIDTH|nitobi.drawing.align.SAMEHEIGHT|nitobi.drawing.align.ALIGNTOP|nitobi.drawing.align.ALIGNLEFT;nitobi.drawing.align(this.box,this.grid.element,_335,0,0,0,0,false);this.dd=new nitobi.ui.DragDrop(this.box,false,false);this.dd.onDragStop.subscribe(this.endResize,this);this.dd.onMouseMove.subscribe(this.resize,this);this.dd.startDrag(_32c);}};nitobi.grid.GridResizer.prototype.resize=function(){var x=this.dd.x;var y=this.dd.y;var rect=nitobi.html.getBoundingClientRect(this.grid.UiContainer);var L=rect.left;var T=rect.top;this.box.style.display="block";if((x-L)>this.minWidth){this.box.style.width=(x-L)+"px";}
if((y-T)>this.minHeight){this.box.style.height=(y-T)+"px";}};nitobi.grid.GridResizer.prototype.endResize=function(){var x=this.dd.x;var y=this.dd.y;this.box.style.display="none";var _33d=this.grid.getWidth();var _33e=this.grid.getHeight();this.newWidth=Math.max(parseInt(_33d)+(x-this.x),this.minWidth);this.newHeight=Math.max(parseInt(_33e)+(y-this.y),this.minHeight);if(isNaN(this.newWidth)||isNaN(this.newHeight)){return;}
this.onAfterResize.notify(this);};nitobi.grid.GridResizer.prototype.dispose=function(){this.grid=null;};nitobi.data.FormatConverter={};nitobi.data.FormatConverter.convertHtmlTableToEbaXml=function(_33f,_340,_341){var s="<xsl:stylesheet version=\"1.0\" xmlns:ntb=\"http://www.nitobi.com\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"><xsl:output encoding=\"UTF-8\" method=\"xml\" omit-xml-declaration=\"no\" />";s+="<xsl:template match=\"//TABLE\"><ntb:data id=\"_default\">";s+="<xsl:apply-templates /></ntb:data> </xsl:template>";s+="<xsl:template match = \"//TR\">  <xsl:element name=\"ntb:e\"> <xsl:attribute name=\"xi\"><xsl:value-of select=\"position()-1+"+parseInt(_341)+"\"/></xsl:attribute>";for(var _343=0;_343<_340.length;_343++){s+="<xsl:attribute name=\""+_340[_343]+"\" ><xsl:value-of select=\"TD["+parseInt(_343+1)+"]\"/></xsl:attribute>";}
s+="</xsl:element></xsl:template>";s+="</xsl:stylesheet>";var _344=nitobi.xml.createXmlDoc(_33f);var _345=nitobi.xml.createXslProcessor(s);var _346=nitobi.xml.transformToXml(_344,_345);return _346;};nitobi.data.FormatConverter.convertTsvToEbaXml=function(tsv,_348,_349){if(!nitobi.browser.IE&&tsv[tsv.length-1]!="\n"){tsv=tsv+"\n";}
var _34a="<TABLE><TBODY>"+tsv.replace(/[\&\r]/g,"").replace(/([^\t\n]*)[\t]/g,"<TD>$1</TD>").replace(/([^\n]*?)\n/g,"<TR>$1</TR>").replace(/\>([^\<]*)\<\/TR/g,"><TD>$1</TD></TR")+"</TBODY></TABLE>";if(_34a.indexOf("<TBODY><TR>")==-1){_34a=_34a.replace(/TBODY\>(.*)\<\/TBODY/,"TBODY><TR><TD>$1</TD></TR></TBODY");}
return nitobi.data.FormatConverter.convertHtmlTableToEbaXml(_34a,_348,_349);};nitobi.data.FormatConverter.convertTsvToJs=function(tsv){var _34c="["+tsv.replace(/[\&\r]/g,"").replace(/([^\t\n]*)[\t]/g,"$1\",\"").replace(/([^\n]*?)\n/g,"[\"$1\"],")+"]";return _34c;};nitobi.data.FormatConverter.convertEbaXmlToHtmlTable=function(_34d,_34e,_34f,_350){var s="<xsl:stylesheet version=\"1.0\" xmlns:ntb=\"http://www.nitobi.com\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"><xsl:output encoding=\"UTF-8\" method=\"html\" omit-xml-declaration=\"yes\" /><xsl:template match = \"*\"><xsl:apply-templates /></xsl:template><xsl:template match = \"/\">";s+="<TABLE><TBODY><xsl:for-each select=\"//ntb:e[@xi>"+parseInt(_34f-1)+" and @xi &lt; "+parseInt(_350+1)+"]\" ><TR>";for(var _352=0;_352<_34e.length;_352++){s+="<TD><xsl:value-of select=\"@"+_34e[_352]+"\" /></TD>";}
s+="</TR></xsl:for-each></TBODY></TABLE></xsl:template></xsl:stylesheet>";var _353=nitobi.xml.createXslProcessor(s);return nitobi.xml.transformToXml(_34d,_353).xml.replace(/xmlns:ntb="http:\/\/www.nitobi.com"/,"");};nitobi.data.FormatConverter.convertEbaXmlToTsv=function(_354,_355,_356,_357){var s="<xsl:stylesheet version=\"1.0\" xmlns:ntb=\"http://www.nitobi.com\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"><xsl:output encoding=\"UTF-8\" method=\"text\" omit-xml-declaration=\"yes\" /><xsl:template match = \"*\"><xsl:apply-templates /></xsl:template><xsl:template match = \"/\">";s+="<xsl:for-each select=\"//ntb:e[@xi>"+parseInt(_356-1)+" and @xi &lt; "+parseInt(_357+1)+"]\" >\n";for(var _359=0;_359<_355.length;_359++){s+="<xsl:value-of select=\"@"+_355[_359]+"\" />";if(_359<_355.length-1){s+="<xsl:text>&#x09;</xsl:text>";}}
s+="<xsl:text>&#xa;</xsl:text></xsl:for-each></xsl:template></xsl:stylesheet>";var _35a=nitobi.xml.createXslProcessor(s);return nitobi.xml.transformToString(_354,_35a).replace(/xmlns:ntb="http:\/\/www.nitobi.com"/,"");};nitobi.data.FormatConverter.getDataColumns=function(data){var _35c=0;if(data!=null&&data!=""){if(data.substr(0,1)=="<"){_35c=data.toLowerCase().substr(0,data.toLowerCase().indexOf("</tr>")).split("</td>").length-1;}else{_35c=data.substr(0,data.indexOf("\n")).split("\t").length;}}else{_35c=0;}
return _35c;};nitobi.data.FormatConverter.getDataRows=function(data){var _35e=0;if(data!=null&&data!=""){if(data.substr(0,1)=="<"){_35e=data.toLowerCase().split("</tr>").length-1;}else{retValArray=data.split("\n");_35e=retValArray.length;if(retValArray[retValArray.length-1]==""){_35e--;}}}else{_35e=0;}
return _35e;};nitobi.grid.DateColumn=function(grid,_360){nitobi.grid.DateColumn.baseConstructor.call(this,grid,_360);};nitobi.lang.extend(nitobi.grid.DateColumn,nitobi.grid.Column);var ntb_datep=nitobi.grid.DateColumn.prototype;nitobi.grid.DateColumn.prototype.setMask=function(){this.xSET("Mask",arguments);};nitobi.grid.DateColumn.prototype.getMask=function(){return this.xGET("Mask",arguments);};nitobi.grid.DateColumn.prototype.setCalendarEnabled=function(){this.xSET("CalendarEnabled",arguments);};nitobi.grid.DateColumn.prototype.isCalendarEnabled=function(){return nitobi.lang.toBool(this.xGET("CalendarEnabled",arguments),false);};nitobi.lang.defineNs("nitobi.grid.Declaration");nitobi.grid.Declaration.parse=function(_361){var _362={};_362.grid=nitobi.xml.parseHtml(_361);ntbAssert(!nitobi.xml.hasParseError(_362.grid),"The framework was not able to parse the declaration.\n"+"\n\nThe parse error was: "+nitobi.xml.getParseErrorReason(_362.grid)+"The declaration contents where:\n"+nitobi.html.getOuterHtml(_361),"",EBA_THROW);var _363=_361.firstChild;while(_363!=null){if(typeof(_363.tagName)!="undefined"){var tag=_363.tagName.replace(/ntb\:/gi,"").toLowerCase();if(tag=="inlinehtml"){_362[tag]=_363;}else{var _365="http://www.nitobi.com";if(tag=="columndefinition"){var sXml;if(nitobi.browser.IE){sXml=("<"+nitobi.xml.nsPrefix+"grid xmlns:ntb=\""+_365+"\"><"+nitobi.xml.nsPrefix+"columns>"+_363.parentNode.innerHTML.substring(31).replace(/\=\s*([^\"^\s^\>]+)/g,"=\"$1\" ")+"</"+nitobi.xml.nsPrefix+"columns></"+nitobi.xml.nsPrefix+"grid>");}else{sXml="<"+nitobi.xml.nsPrefix+"grid xmlns:ntb=\""+_365+"\"><"+nitobi.xml.nsPrefix+"columns>"+_363.parentNode.innerHTML.replace(/\=\s*([^\"^\s^\>]+)/g,"=\"$1\" ")+"</"+nitobi.xml.nsPrefix+"columns></"+nitobi.xml.nsPrefix+"grid>";}
sXml=sXml.replace(/\&nbsp\;/gi," ");_362["columndefinitions"]=nitobi.xml.createXmlDoc();_362["columndefinitions"].validateOnParse=false;_362["columndefinitions"]=nitobi.xml.loadXml(_362["columndefinitions"],sXml);break;}else{_362[tag]=nitobi.xml.parseHtml(_363);}}}
_363=_363.nextSibling;}
return _362;};nitobi.grid.Declaration.loadDataSources=function(_367,grid){var _369=new Array();if(_367["datasources"]){_369=_367.datasources.selectNodes("//"+nitobi.xml.nsPrefix+"datasources/*");}
if(_369.length>0){for(var i=0;i<_369.length;i++){var id=_369[i].getAttribute("id");if(id!="_default"){var _36c=_369[i].xml.replace(/fieldnames=/g,"FieldNames=").replace(/keys=/g,"Keys=");_36c="<ntb:grid xmlns:ntb=\"http://www.nitobi.com\"><ntb:datasources>"+_36c+"</ntb:datasources></ntb:grid>";var _36d=new nitobi.data.DataTable("local",grid.getPagingMode()!=nitobi.grid.PAGINGMODE_NONE,{GridId:grid.getID()},{GridId:grid.getID()},grid.isAutoKeyEnabled());_36d.initialize(id,_36c);_36d.initializeXml(_36c);grid.data.add(_36d);var _36e=grid.model.selectNodes("//nitobi.grid.Column[@DatasourceId='"+id+"']");for(var j=0;j<_36e.length;j++){grid.editorDataReady(_36e[j]);}}}}};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.EditCompleteEventArgs=function(obj,_371,_372,cell){this.editor=obj;this.cell=cell;this.databaseValue=_372;this.displayValue=_371;};nitobi.grid.EditCompleteEventArgs.prototype.dispose=function(){this.editor=null;this.cell=null;this.metadata=null;};nitobi.data.GetCompleteEventArgs=function(_374,_375,_376,_377,_378,_379,obj,_37b,_37c){this.firstRow=_374;this.lastRow=_375;this.callback=_37b;this.dataSource=_379;this.context=obj;this.ajaxCallback=_378;this.startXi=_376;this.pageSize=_377;this.lastPage=false;this.numRowsReturned=_37c;this.lastRowReturned=_375;};nitobi.data.GetCompleteEventArgs.prototype.dispose=function(){this.callback=null;this.context=null;this.dataSource=null;this.ajaxCallback.clear();this.ajaxCallback==null;};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.MODE_STANDARDPAGING="standard";nitobi.grid.MODE_LOCALSTANDARDPAGING="localstandard";nitobi.grid.MODE_LIVESCROLLING="livescrolling";nitobi.grid.MODE_LOCALLIVESCROLLING="locallivescrolling";nitobi.grid.MODE_NONPAGING="nonpaging";nitobi.grid.MODE_LOCALNONPAGING="localnonpaging";nitobi.grid.MODE_PAGEDLIVESCROLLING="pagedlivescrolling";nitobi.grid.RENDERMODE_ONDEMAND="ondemand";nitobi.lang.defineNs("nitobi.GridFactory");nitobi.GridFactory.createGrid=function(_37d,_37e,_37f){var _380="";var _381="";var _382="";_37f=nitobi.html.getElement(_37f);if(_37f!=null){xDeclaration=nitobi.grid.Declaration.parse(_37f);_37d=xDeclaration.grid.documentElement.getAttribute("mode").toLowerCase();var _383=nitobi.GridFactory.isGetHandler(xDeclaration);var _384=nitobi.GridFactory.isDatasourceId(xDeclaration);var _385=false;if(_37d==nitobi.grid.MODE_LOCALLIVESCROLLING){ntbAssert(_384||_383,"To use local LiveScrolling mode a DatasourceId must also be specified.","",EBA_THROW);_380=nitobi.grid.PAGINGMODE_LIVESCROLLING;_381=nitobi.data.DATAMODE_LOCAL;}else{if(_37d==nitobi.grid.MODE_LIVESCROLLING){ntbAssert(_383,"To use LiveScrolling mode a GetHandler must also be specified.","",EBA_THROW);_380=nitobi.grid.PAGINGMODE_LIVESCROLLING;_381=nitobi.data.DATAMODE_CACHING;}else{if(_37d==nitobi.grid.MODE_NONPAGING){ntbAssert(_383,"To use NonPaging mode a GetHandler must also be specified.","",EBA_THROW);_385=true;_380=nitobi.grid.PAGINGMODE_NONE;_381=nitobi.data.DATAMODE_LOCAL;}else{if(_37d==nitobi.grid.MODE_LOCALNONPAGING){ntbAssert(_384,"To use local LiveScrolling mode a DatasourceId must also be specified.","",EBA_THROW);_380=nitobi.grid.PAGINGMODE_NONE;_381=nitobi.data.DATAMODE_LOCAL;}else{if(_37d==nitobi.grid.MODE_LOCALSTANDARDPAGING){_380=nitobi.grid.PAGINGMODE_STANDARD;_381=nitobi.data.DATAMODE_LOCAL;}else{if(_37d==nitobi.grid.MODE_STANDARDPAGING){_380=nitobi.grid.PAGINGMODE_STANDARD;_381=nitobi.data.DATAMODE_PAGING;}else{if(_37d==nitobi.grid.MODE_PAGEDLIVESCROLLING){_380=nitobi.grid.PAGINGMODE_STANDARD;_381=nitobi.data.DATAMODE_PAGING;_382=nitobi.grid.RENDERMODE_ONDEMAND;}else{}}}}}}}}
var id=_37f.getAttribute("id");_37d=(_37d||nitobi.grid.MODE_STANDARDPAGING).toLowerCase();var grid=null;if(_37d==nitobi.grid.MODE_LOCALSTANDARDPAGING){grid=new nitobi.grid.GridLocalPage(id);}else{if(_37d==nitobi.grid.MODE_LIVESCROLLING){grid=new nitobi.grid.GridLiveScrolling(id);}else{if(_37d==nitobi.grid.MODE_LOCALLIVESCROLLING){grid=new nitobi.grid.GridLiveScrolling(id);}else{if(_37d==nitobi.grid.MODE_NONPAGING||_37d==nitobi.grid.MODE_LOCALNONPAGING){grid=new nitobi.grid.GridNonpaging(id);}else{if(_37d==nitobi.grid.MODE_STANDARDPAGING||_37d==nitobi.grid.MODE_PAGEDLIVESCROLLING){grid=new nitobi.grid.GridStandard(id);}}}}}
grid.setPagingMode(_380);grid.setDataMode(_381);grid.setRenderMode(_382);nitobi.GridFactory.processDeclaration(grid,_37f,xDeclaration);_37f.jsObject=grid;return grid;};nitobi.GridFactory.processDeclaration=function(grid,_389,_38a){if(_38a!=null){grid.setDeclaration(_38a);if(typeof(_38a.inlinehtml)=="undefined"){var _38b=document.createElement("ntb:inlinehtml");_38b.setAttribute("parentid","grid"+grid.uid);nitobi.html.insertAdjacentElement(_389,"beforeEnd",_38b);grid.Declaration.inlinehtml=_38b;}
if(this.data==null||this.data.tables==null||this.data.tables.length==0){var _38c=new nitobi.data.DataSet();_38c.initialize();grid.connectToDataSet(_38c);}
grid.initializeModelFromDeclaration();var _38d=grid.Declaration.columndefinitions||grid.Declaration.columns;if(typeof(_38d)!="undefined"&&_38d!=null&&_38d.childNodes.length!=0&&_38d.childNodes[0].childNodes.length!=0){grid.defineColumns(_38d.documentElement);}
nitobi.grid.Declaration.loadDataSources(_38a,grid);grid.attachToParentDomElement(grid.Declaration.inlinehtml);var _38e=grid.getDataMode();var _38f=grid.getDatasourceId();var _390=grid.getGetHandler();if(_38f!=null&&_38f!=""){grid.connectToTable(grid.data.getTable(_38f));}else{grid.ensureConnected();if(grid.mode.toLowerCase()==nitobi.grid.MODE_LIVESCROLLING&&_38a!=null&&_38a.datasources!=null){var _391=_38a.datasources.selectNodes("//ntb:datasource[@id='_default']/ntb:data/ntb:e").length;if(_391>0){var _392=grid.data.getTable("_default");_392.initializeXmlData(_38a.grid.xml);_392.initializeXml(_38a.grid.xml);_392.descriptor.leap(0,_391*2);_392.syncRowCount();}}}
window.setTimeout(function(){grid.bind();},50);}};nitobi.GridFactory.isLocal=function(_393){var _394=_393.grid.documentElement.getAttribute("datasourceid");var _395=_393.grid.documentElement.getAttribute("gethandler");if(_395!=null&&_395!=""){return false;}else{if(_394!=null&&_394!=""){return true;}else{throw("Non-paging grid requires either a gethandler or a local datasourceid to be specified.");}}};nitobi.GridFactory.isGetHandler=function(_396){var _397=_396.grid.documentElement.getAttribute("gethandler");if(_397!=null&&_397!=""){return true;}
return false;};nitobi.GridFactory.isDatasourceId=function(_398){var _399=_398.grid.documentElement.getAttribute("datasourceid");if(_399!=null&&_399!=""){return true;}
return false;};nitobi.grid.hover=function(_39a,_39b,_39c){if(!_39c){return;}
var id=_39a.getAttribute("id");var _39e=id.replace(/__/g,"||");var _39f=_39e.split("_");var row=_39f[3];var uid=_39f[5].replace(/\|\|/g,"__");var _3a2=document.getElementById("cell_"+row+"_0_"+uid);var _3a3=_3a2.parentNode;var _3a4=_3a3.childNodes[_3a3.childNodes.length-1];var id=_3a4.getAttribute("id");var _39f=id.split("_");var _3a5=document.getElementById("cell_"+row+"_"+(Number(_39f[4])+1)+"_"+uid);var _3a6=null;if(_3a5!=null){_3a6=_3a5.parentNode;}
if(_39b){var _3a7=nitobi.grid.RowHoverColor||"white";_3a3.style.backgroundColor=_3a7;if(_3a6){_3a6.style.backgroundColor=_3a7;}}else{_3a3.style.backgroundColor="";if(_3a6){_3a6.style.backgroundColor="";}}
if(_39b){nitobi.html.addClass(_39a,"ntb-cell-hover");}else{nitobi.html.removeClass(_39a,"ntb-cell-hover");}};initEBAGrids=function(){nitobi.initComponents();};nitobi.initGrids=function(){var _3a8=[];var _3a9=document.getElementsByTagName(!nitobi.browser.IE?"ntb:grid":"grid");for(var i=0;i<_3a9.length;i++){if(_3a9[i].jsObject==null){nitobi.initGrid(_3a9[i].id);_3a8.push(_3a9[i].jsObject);}}
return _3a8;};nitobi.initGrid=function(id){var grid=nitobi.html.getElement(id);if(grid!=null){grid.jsObject=nitobi.GridFactory.createGrid(null,null,grid);}
return grid.jsObject;};nitobi.initComponents=function(){nitobi.initGrids();};nitobi.getGrid=function(_3ad){return document.getElementById(_3ad).jsObject;};nitobi.base.Registry.getInstance().register(new nitobi.base.Profile("nitobi.initGrid",null,false,"ntb:grid"));nitobi.grid.GridLiveScrolling=function(uid){nitobi.grid.GridLiveScrolling.baseConstructor.call(this,uid);this.mode="livescrolling";this.setPagingMode(nitobi.grid.PAGINGMODE_LIVESCROLLING);this.setDataMode(nitobi.data.DATAMODE_CACHING);};nitobi.lang.extend(nitobi.grid.GridLiveScrolling,nitobi.grid.Grid);nitobi.grid.GridLiveScrolling.prototype.createChildren=function(){var args=arguments;nitobi.grid.GridLiveScrolling.base.createChildren.call(this,args);nitobi.grid.GridLiveScrolling.base.createToolbars.call(this,nitobi.ui.Toolbars.VisibleToolbars.STANDARD);};nitobi.grid.GridLiveScrolling.prototype.bind=function(){nitobi.grid.GridStandard.base.bind.call(this);if(this.getGetHandler()!=""){this.ensureConnected();var rows=this.getRowsPerPage();if(this.datatable.mode=="local"){rows=null;}
this.datatable.get(0,rows,this,this.getComplete);}else{this.finalizeRowCount(this.datatable.getRemoteRowCount());this.bindComplete();}};nitobi.grid.GridLiveScrolling.prototype.getComplete=function(_3b1){nitobi.grid.GridLiveScrolling.base.getComplete.call(this,_3b1);if(!this.columnsDefined){this.defineColumnsFinalize();}
this.bindComplete();};nitobi.grid.GridLiveScrolling.prototype.pageSelect=function(dir){var _3b3=this.Scroller.getUnrenderedBlocks();var rows=_3b3.last-_3b3.first;this.reselect(0,rows*dir);};nitobi.grid.GridLiveScrolling.prototype.page=function(dir){var _3b6=this.Scroller.getUnrenderedBlocks();var rows=_3b6.last-_3b6.first;this.move(0,rows*dir);};nitobi.grid.LoadingScreen=function(grid){this.loadingScreen=null;this.grid=grid;this.loadingImg=null;};nitobi.grid.LoadingScreen.prototype.initialize=function(){this.loadingScreen=document.createElement("div");var _3b9=this.findCssUrl();var msg="";if(_3b9==null){msg="Loading...";}else{msg="<img src='"+_3b9+"loading.gif'  class='ntb-loading-Icon' valign='absmiddle'></img>";}
this.loadingScreen.innerHTML="<table style='padding:0px;margin:0px;' border='0' width='100%' height='100%'><tr style='padding:0px;margin:0px;'><td id='ntb-loading-cell"+this.grid.uid+"' style='padding:0px;margin:0px;text-align:center;font:verdana;font-size:10pt;'>"+msg+"</td></tr></table>";this.loadingScreen.className="ntb-loading";var lss=this.loadingScreen.style;lss.verticalAlign="middle";lss.visibility="hidden";lss.position="absolute";lss.top="0px";lss.left="0px";};nitobi.grid.LoadingScreen.prototype.attachToElement=function(_3bc){_3bc.appendChild(this.loadingScreen);};nitobi.grid.LoadingScreen.prototype.findCssUrl=function(){var _3bd=nitobi.html.findParentStylesheet(".ntb-loading-Icon");if(_3bd==null){return null;}
var _3be=nitobi.html.normalizeUrl(_3bd.href);if(nitobi.browser.IE){while(_3bd.parentStyleSheet){_3bd=_3bd.parentStyleSheet;_3be=nitobi.html.normalizeUrl(_3bd.href)+_3be;}}
return _3be;};nitobi.grid.LoadingScreen.prototype.show=function(){try{this.resize();this.loadingScreen.style.visibility="visible";this.loadingScreen.style.display="block";}
catch(e){}};nitobi.grid.LoadingScreen.prototype.resize=function(){this.loadingScreen.style.width=this.grid.getWidth()+"px";this.loadingScreen.style.height=this.grid.getHeight()+"px";};nitobi.grid.LoadingScreen.prototype.hide=function(){this.loadingScreen.style.display="none";};nitobi.grid.GridLocalPage=function(uid){nitobi.grid.GridLocalPage.baseConstructor.call(this,uid);this.mode="localpaging";this.setPagingMode(nitobi.grid.PAGINGMODE_STANDARD);this.setDataMode("local");};nitobi.lang.extend(nitobi.grid.GridLocalPage,nitobi.grid.Grid);nitobi.grid.GridLocalPage.prototype.createChildren=function(){var args=arguments;nitobi.grid.GridLocalPage.base.createChildren.call(this,args);nitobi.grid.GridLiveScrolling.base.createToolbars.call(this,nitobi.ui.Toolbars.VisibleToolbars.STANDARD|nitobi.ui.Toolbars.VisibleToolbars.PAGING);this.subscribe("EndOfData",function(pct){this.toolbars.pagingToolbar.getUiElements()["nextPage"+this.toolbars.uid].disable();});this.subscribe("TopOfData",function(pct){this.toolbars.pagingToolbar.getUiElements()["previousPage"+this.toolbars.uid].disable();});this.subscribe("NotTopOfData",function(pct){this.toolbars.pagingToolbar.getUiElements()["previousPage"+this.toolbars.uid].enable();});this.subscribe("NotEndOfData",function(pct){this.toolbars.pagingToolbar.getUiElements()["nextPage"+this.toolbars.uid].enable();});};nitobi.grid.GridLocalPage.prototype.pagePrevious=function(){this.fire("BeforeLoadPreviousPage");this.loadDataPage(Math.max(this.getCurrentPageIndex()-1,0));this.fire("AfterLoadPreviousPage");};nitobi.grid.GridLocalPage.prototype.pageNext=function(){this.fire("BeforeLoadNextPage");this.loadDataPage(this.getCurrentPageIndex()+1);this.fire("AfterLoadNextPage");};nitobi.grid.GridLocalPage.prototype.loadDataPage=function(_3c5){this.fire("BeforeLoadDataPage");if(_3c5>-1){this.setCurrentPageIndex(_3c5);this.setDisplayedRowCount(this.getRowsPerPage());var _3c6=this.getCurrentPageIndex()*this.getRowsPerPage();var rows=this.getRowsPerPage()-this.getfreezetop();this.setDisplayedRowCount(rows);var _3c8=_3c6+rows;if(_3c8>=this.getRowCount()){this.fire("EndOfData");}else{this.fire("NotEndOfData");}
if(_3c6==0){this.fire("TopOfData");}else{this.fire("NotTopOfData");}
this.clearSurfaces();this.updateCellRanges();this.scrollVertical(0);}
this.fire("AfterLoadDataPage");};nitobi.grid.GridLocalPage.prototype.setRowsPerPage=function(rows){this.setDisplayedRowCount(this.getRowsPerPage());this.data.table.pageSize=this.getRowsPerPage();};nitobi.grid.GridLocalPage.prototype.pageStartIndexChanges=function(){};nitobi.grid.GridLocalPage.prototype.hitFirstPage=function(){this.fire("FirstPage");};nitobi.grid.GridLocalPage.prototype.hitLastPage=function(){this.fire("LastPage");};nitobi.grid.GridLocalPage.prototype.bind=function(){nitobi.grid.GridLocalPage.base.bind.call(this);this.finalizeRowCount(this.datatable.getRemoteRowCount());this.bindComplete();};nitobi.grid.GridLocalPage.prototype.pageUpKey=function(){this.pagePrevious();};nitobi.grid.GridLocalPage.prototype.pageDownKey=function(){this.pageNext();};nitobi.grid.GridLocalPage.prototype.renderMiddle=function(){nitobi.grid.GridLocalPage.base.renderMiddle.call(this,arguments);var _3ca=this.getfreezetop();endRow=this.getRowsPerPage()-1;this.Scroller.view.midcenter.renderGap(_3ca,endRow,false);};nitobi.grid.GridNonpaging=function(uid){nitobi.grid.GridNonpaging.baseConstructor.call(this);this.mode="nonpaging";this.setPagingMode(nitobi.grid.PAGINGMODE_NONE);this.setDataMode(nitobi.data.DATAMODE_LOCAL);};nitobi.lang.extend(nitobi.grid.GridNonpaging,nitobi.grid.Grid);nitobi.grid.GridNonpaging.prototype.createChildren=function(){var args=arguments;nitobi.grid.GridNonpaging.base.createChildren.call(this,args);nitobi.grid.GridNonpaging.base.createToolbars.call(this,nitobi.ui.Toolbars.VisibleToolbars.STANDARD);};nitobi.grid.GridNonpaging.prototype.bind=function(){nitobi.grid.GridStandard.base.bind.call(this);if(this.getGetHandler()!=""){this.ensureConnected();this.datatable.get(0,null,this,this.getComplete);}else{this.finalizeRowCount(this.datatable.getRemoteRowCount());this.bindComplete();}};nitobi.grid.GridNonpaging.prototype.getComplete=function(_3cd){nitobi.grid.GridNonpaging.base.getComplete.call(this,_3cd);this.finalizeRowCount(_3cd.numRowsReturned);this.defineColumnsFinalize();this.bindComplete();};nitobi.grid.GridNonpaging.prototype.renderMiddle=function(){nitobi.grid.GridNonpaging.base.renderMiddle.call(this,arguments);var _3ce=this.getfreezetop();endRow=this.getRowCount();this.Scroller.view.midcenter.renderGap(_3ce,endRow,false);};nitobi.grid.GridStandard=function(uid){nitobi.grid.GridStandard.baseConstructor.call(this,uid);this.mode="standard";this.setPagingMode(nitobi.grid.PAGINGMODE_STANDARD);this.setDataMode(nitobi.data.DATAMODE_PAGING);};nitobi.lang.extend(nitobi.grid.GridStandard,nitobi.grid.Grid);nitobi.grid.GridStandard.prototype.createChildren=function(){var args=arguments;nitobi.grid.GridStandard.base.createChildren.call(this,args);nitobi.grid.GridStandard.base.createToolbars.call(this,nitobi.ui.Toolbars.VisibleToolbars.STANDARD|nitobi.ui.Toolbars.VisibleToolbars.PAGING);this.toolbars.subscribe("FirstPage",nitobi.lang.close(this,this.pageFirst));this.toolbars.subscribe("LastPage",nitobi.lang.close(this,this.pageLast));this.toolbars.subscribe("NextPage",nitobi.lang.close(this,this.pageNext));this.toolbars.subscribe("PreviousPage",nitobi.lang.close(this,this.pagePrevious));this.toolbars.subscribe("InputTextPage",nitobi.lang.close(this,this.pageTextInput));this.subscribe("EndOfData",this.disableNextPage);this.subscribe("TopOfData",this.disablePreviousPage);this.subscribe("NotTopOfData",this.enablePreviousPage);this.subscribe("NotEndOfData",this.enableNextPage);this.subscribe("TableConnected",nitobi.lang.close(this,this.subscribeToRowCountReady));};nitobi.grid.GridStandard.prototype.connectToTable=function(_3d1){if(nitobi.grid.GridStandard.base.connectToTable.call(this,_3d1)!=false){this.datatable.subscribe("RowInserted",nitobi.lang.close(this,this.incrementDisplayedRowCount));this.datatable.subscribe("RowDeleted",nitobi.lang.close(this,this.decrementDisplayedRowCount));}};nitobi.grid.GridStandard.prototype.incrementDisplayedRowCount=function(_3d2){this.setDisplayedRowCount(this.getDisplayedRowCount()+(_3d2||1));this.updateCellRanges();};nitobi.grid.GridStandard.prototype.decrementDisplayedRowCount=function(_3d3){this.setDisplayedRowCount(this.getDisplayedRowCount()-(_3d3||1));this.updateCellRanges();};nitobi.grid.GridStandard.prototype.subscribeToRowCountReady=function(){};nitobi.grid.GridStandard.prototype.updateDisplayedRowCount=function(_3d4){this.setDisplayedRowCount(_3d4.numRowsReturned);};nitobi.grid.GridStandard.prototype.disableNextPage=function(){this.disableButton("nextPage");};nitobi.grid.GridStandard.prototype.disablePreviousPage=function(){this.disableButton("previousPage");};nitobi.grid.GridStandard.prototype.disableButton=function(_3d5){var t=this.getToolbars().pagingToolbar;if(t!=null){t.getUiElements()[_3d5+this.toolbars.uid].disable();}};nitobi.grid.GridStandard.prototype.enableNextPage=function(){this.enableButton("nextPage");};nitobi.grid.GridStandard.prototype.enablePreviousPage=function(){this.enableButton("previousPage");};nitobi.grid.GridStandard.prototype.enableButton=function(_3d7){var t=this.getToolbars().pagingToolbar;if(t!=null){t.getUiElements()[_3d7+this.toolbars.uid].enable();}};nitobi.grid.GridStandard.prototype.pageFirst=function(){this.fire("BeforeLoadPreviousPage");this.loadDataPage(0);this.fire("AfterLoadPreviousPage");};nitobi.grid.GridStandard.prototype.pagePrevious=function(){this.fire("BeforeLoadPreviousPage");this.loadDataPage(Math.max(this.getCurrentPageIndex()-1,0));this.fire("AfterLoadPreviousPage");};nitobi.grid.GridStandard.prototype.pageNext=function(){this.fire("BeforeLoadNextPage");this.loadDataPage(this.getCurrentPageIndex()+1);this.fire("AfterLoadNextPage");};nitobi.grid.GridStandard.prototype.pageLast=function(){this.fire("BeforeLoadNextPage");var _3d9=Math.ceil(this.datatable.totalRowCount/this.getRowsPerPage());this.loadDataPage(_3d9-1);this.fire("AfterLoadNextPage");};nitobi.grid.GridStandard.prototype.pageTextInput=function(){this.fire("BeforeLoadNextPage");var _3da=$ntb("startPage"+this.toolbars.uid);if(_3da){var val=parseInt(_3da.value);this.loadDataPage(val-1);}
this.fire("AfterLoadNextPage");};nitobi.grid.GridStandard.prototype.loadDataPage=function(_3dc){this.fire("BeforeLoadDataPage");if(_3dc>-1){if(this.sortColumn){if(this.datatable.sortColumn){for(var i=0;i<this.getColumnCount();i++){var _3de=this.getColumnObject(i);if(_3de.getColumnName()==this.datatable.sortColumn){this.setSortStyle(i,this.datatable.sortDir);break;}}}else{this.setSortStyle(this.sortColumn.column,"",true);}}
this.setCurrentPageIndex(_3dc);var _3df=this.getCurrentPageIndex()*this.getRowsPerPage();var rows=this.getRowsPerPage()-this.getfreezetop();this.datatable.flush();this.datatable.get(_3df,rows,this,this.afterLoadDataPage);}
this.fire("AfterLoadDataPage");};nitobi.grid.GridStandard.prototype.afterLoadDataPage=function(_3e1){this.setDisplayedRowCount(_3e1.numRowsReturned);this.setRowCount(_3e1.numRowsReturned);if(_3e1.numRowsReturned!=this.getRowsPerPage()){this.fire("EndOfData");}else{this.fire("NotEndOfData");}
if(this.getCurrentPageIndex()==0){this.fire("TopOfData");}else{this.fire("NotTopOfData");}
this.clearSurfaces();this.updateCellRanges();this.scrollVertical(0);};nitobi.grid.GridStandard.prototype.bind=function(){nitobi.grid.GridStandard.base.bind.call(this);this.setCurrentPageIndex(0);this.disablePreviousPage();this.enableNextPage();this.ensureConnected();this.datatable.get(0,this.getRowsPerPage(),this,this.getComplete);};nitobi.grid.GridStandard.prototype.getComplete=function(_3e2){this.afterLoadDataPage(_3e2);nitobi.grid.GridStandard.base.getComplete.call(this,_3e2);this.defineColumnsFinalize();this.bindComplete();};nitobi.grid.GridStandard.prototype.renderMiddle=function(){nitobi.grid.GridStandard.base.renderMiddle.call(this,arguments);var _3e3=this.getfreezetop();endRow=this.getRowsPerPage()-1;this.Scroller.view.midcenter.renderGap(_3e3,endRow,false);};nitobi.grid.NumberColumn=function(grid,_3e5){nitobi.grid.NumberColumn.baseConstructor.call(this,grid,_3e5);};nitobi.lang.extend(nitobi.grid.NumberColumn,nitobi.grid.Column);var ntb_numberp=nitobi.grid.NumberColumn.prototype;nitobi.grid.NumberColumn.prototype.setAlign=function(){this.xSET("Align",arguments);};nitobi.grid.NumberColumn.prototype.getAlign=function(){return this.xGET("Align",arguments);};nitobi.grid.NumberColumn.prototype.setMask=function(){this.xSET("Mask",arguments);};nitobi.grid.NumberColumn.prototype.getMask=function(){return this.xGET("Mask",arguments);};nitobi.grid.NumberColumn.prototype.setNegativeMask=function(){this.xSET("NegativeMask",arguments);};nitobi.grid.NumberColumn.prototype.getNegativeMask=function(){return this.xGET("NegativeMask",arguments);};nitobi.grid.NumberColumn.prototype.setGroupingSeparator=function(){this.xSET("GroupingSeparator",arguments);};nitobi.grid.NumberColumn.prototype.getGroupingSeparator=function(){return this.xGET("GroupingSeparator",arguments);};nitobi.grid.NumberColumn.prototype.setDecimalSeparator=function(){this.xSET("DecimalSeparator",arguments);};nitobi.grid.NumberColumn.prototype.getDecimalSeparator=function(){return this.xGET("DecimalSeparator",arguments);};nitobi.grid.NumberColumn.prototype.setOnKeyDownEvent=function(){this.xSET("OnKeyDownEvent",arguments);};nitobi.grid.NumberColumn.prototype.getOnKeyDownEvent=function(){return this.xGET("OnKeyDownEvent",arguments);};nitobi.grid.NumberColumn.prototype.setOnKeyUpEvent=function(){this.xSET("OnKeyUpEvent",arguments);};nitobi.grid.NumberColumn.prototype.getOnKeyUpEvent=function(){return this.xGET("OnKeyUpEvent",arguments);};nitobi.grid.NumberColumn.prototype.setOnKeyPressEvent=function(){this.xSET("OnKeyPressEvent",arguments);};nitobi.grid.NumberColumn.prototype.getOnKeyPressEvent=function(){return this.xGET("OnKeyPressEvent",arguments);};nitobi.grid.NumberColumn.prototype.setOnChangeEvent=function(){this.xSET("OnChangeEvent",arguments);};nitobi.grid.NumberColumn.prototype.getOnChangeEvent=function(){return this.xGET("OnChangeEvent",arguments);};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnCopyEventArgs=function(_3e6,data,_3e8){nitobi.grid.OnCopyEventArgs.baseConstructor.apply(this,arguments);};nitobi.lang.extend(nitobi.grid.OnCopyEventArgs,nitobi.grid.SelectionEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnPasteEventArgs=function(_3e9,data,_3eb){nitobi.grid.OnPasteEventArgs.baseConstructor.apply(this,arguments);};nitobi.lang.extend(nitobi.grid.OnPasteEventArgs,nitobi.grid.SelectionEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnAfterCellEditEventArgs=function(_3ec,cell){nitobi.grid.OnAfterCellEditEventArgs.baseConstructor.call(this,_3ec,cell);};nitobi.lang.extend(nitobi.grid.OnAfterCellEditEventArgs,nitobi.grid.CellEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnAfterColumnResizeEventArgs=function(_3ee,_3ef){nitobi.grid.OnAfterColumnResizeEventArgs.baseConstructor.call(this,_3ee,_3ef);};nitobi.lang.extend(nitobi.grid.OnAfterColumnResizeEventArgs,nitobi.grid.ColumnEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnAfterRowDeleteEventArgs=function(_3f0,row){nitobi.grid.OnAfterRowDeleteEventArgs.baseConstructor.call(this,_3f0,row);};nitobi.lang.extend(nitobi.grid.OnAfterRowDeleteEventArgs,nitobi.grid.RowEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnAfterRowInsertEventArgs=function(_3f2,row){nitobi.grid.OnAfterRowInsertEventArgs.baseConstructor.call(this,_3f2,row);};nitobi.lang.extend(nitobi.grid.OnAfterRowInsertEventArgs,nitobi.grid.RowEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnAfterSortEventArgs=function(_3f4,_3f5,_3f6){nitobi.grid.OnAfterSortEventArgs.baseConstructor.call(this,_3f4,_3f5);this.direction=_3f6;};nitobi.lang.extend(nitobi.grid.OnAfterSortEventArgs,nitobi.grid.ColumnEventArgs);nitobi.grid.OnAfterSortEventArgs.prototype.getDirection=function(){return this.direction;};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnBeforeCellEditEventArgs=function(_3f7,cell){nitobi.grid.OnBeforeCellEditEventArgs.baseConstructor.call(this,_3f7,cell);};nitobi.lang.extend(nitobi.grid.OnBeforeCellEditEventArgs,nitobi.grid.CellEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnBeforeColumnResizeEventArgs=function(_3f9,_3fa){nitobi.grid.OnBeforeColumnResizeEventArgs.baseConstructor.call(this,_3f9,_3fa);};nitobi.lang.extend(nitobi.grid.OnBeforeColumnResizeEventArgs,nitobi.grid.ColumnEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnBeforeRowDeleteEventArgs=function(_3fb,row){nitobi.grid.OnBeforeRowDeleteEventArgs.baseConstructor.call(this,_3fb,row);};nitobi.lang.extend(nitobi.grid.OnBeforeRowDeleteEventArgs,nitobi.grid.RowEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnBeforeRowInsertEventArgs=function(_3fd,row){nitobi.grid.OnBeforeRowInsertEventArgs.baseConstructor.call(this,_3fd,row);};nitobi.lang.extend(nitobi.grid.OnBeforeRowInsertEventArgs,nitobi.grid.RowEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnBeforeSortEventArgs=function(_3ff,_400,_401){nitobi.grid.OnBeforeSortEventArgs.baseConstructor.call(this,_3ff,_400);this.direction=_401;};nitobi.lang.extend(nitobi.grid.OnBeforeSortEventArgs,nitobi.grid.ColumnEventArgs);nitobi.grid.OnBeforeSortEventArgs.prototype.getDirection=function(){return this.direction;};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnBeforeCellClickEventArgs=function(_402,cell){nitobi.grid.OnBeforeCellClickEventArgs.baseConstructor.call(this,_402,cell);};nitobi.lang.extend(nitobi.grid.OnBeforeCellClickEventArgs,nitobi.grid.CellEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnCellBlurEventArgs=function(_404,cell){nitobi.grid.OnCellBlurEventArgs.baseConstructor.call(this,_404,cell);};nitobi.lang.extend(nitobi.grid.OnCellBlurEventArgs,nitobi.grid.CellEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnCellClickEventArgs=function(_406,cell){nitobi.grid.OnCellClickEventArgs.baseConstructor.call(this,_406,cell);};nitobi.lang.extend(nitobi.grid.OnCellClickEventArgs,nitobi.grid.CellEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnCellDblClickEventArgs=function(_408,cell){nitobi.grid.OnCellDblClickEventArgs.baseConstructor.call(this,_408,cell);};nitobi.lang.extend(nitobi.grid.OnCellDblClickEventArgs,nitobi.grid.CellEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnCellFocusEventArgs=function(_40a,cell){nitobi.grid.OnCellFocusEventArgs.baseConstructor.call(this,_40a,cell);};nitobi.lang.extend(nitobi.grid.OnCellFocusEventArgs,nitobi.grid.CellEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnCellValidateEventArgs=function(_40c,cell,_40e,_40f){nitobi.grid.OnCellValidateEventArgs.baseConstructor.call(this,_40c,cell);this.oldValue=_40f;this.newValue=_40e;};nitobi.lang.extend(nitobi.grid.OnCellValidateEventArgs,nitobi.grid.CellEventArgs);nitobi.grid.OnCellValidateEventArgs.prototype.getOldValue=function(){return this.oldValue;};nitobi.grid.OnCellValidateEventArgs.prototype.getNewValue=function(){return this.newValue;};nitobi.grid.OnContextMenuEventArgs=function(){};nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnHeaderClickEventArgs=function(_410,_411){nitobi.grid.OnHeaderClickEventArgs.baseConstructor.call(this,_410,_411);};nitobi.lang.extend(nitobi.grid.OnHeaderClickEventArgs,nitobi.grid.ColumnEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnRowBlurEventArgs=function(_412,row){nitobi.grid.OnRowBlurEventArgs.baseConstructor.call(this,_412,row);};nitobi.lang.extend(nitobi.grid.OnRowBlurEventArgs,nitobi.grid.RowEventArgs);nitobi.lang.defineNs("nitobi.grid");nitobi.grid.OnRowFocusEventArgs=function(_414,row){nitobi.grid.OnRowFocusEventArgs.baseConstructor.call(this,_414,row);};nitobi.lang.extend(nitobi.grid.OnRowFocusEventArgs,nitobi.grid.RowEventArgs);nitobi.grid.Row=function(grid,row){this.grid=grid;this.row=row;this.Row=row;this.DomNode=nitobi.grid.Row.getRowElement(grid,row);};nitobi.grid.Row.prototype.getData=function(){if(this.DataNode==null){this.DataNode=this.grid.datatable.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e[@xi="+this.Row+"]");}
return this.DataNode;};nitobi.grid.Row.prototype.getStyle=function(){return this.DomNode.style;};nitobi.grid.Row.prototype.getCell=function(_418){return this.grid.getCellObject(this.row,_418);};nitobi.grid.Row.prototype.getKey=function(_419){return this.grid.getCellObject(this.row,_419);};nitobi.grid.Row.getRowElement=function(grid,row){return nitobi.grid.Row.getRowElements(grid,row).mid;};nitobi.grid.Row.getRowElements=function(grid,row){var _41e=grid.getFrozenLeftColumnCount();if(!_41e){return{left:null,mid:$ntb("row_"+row+"_"+grid.uid)};}
var C=nitobi.grid.Cell;var rows={};try{rows.left=C.getCellElement(grid,row,0).parentNode;var cell=C.getCellElement(grid,row,_41e);rows.mid=cell?cell.parentNode:null;return rows;}
catch(e){}};nitobi.grid.Row.getRowNumber=function(_422){return parseInt(_422.getAttribute("xi"));};nitobi.grid.Row.prototype.xGETMETA=function(){var node=this.MetaNode;node=node.selectSingleNode("@"+arguments[0]);if(node!=null){return node.value;}};nitobi.grid.Row.prototype.xSETMETA=function(){var node=this.MetaNode;if(null==node){var meta=this.grid.data.selectSingleNode("//root/gridmeta");var _426=this.MetaNode=this.grid.data.createNode(1,"r","");_426.setAttribute("xi",this.row);meta.appendChild(_426);node=this.MetaNode=_426;}
if(node!=null){node.setAttribute(arguments[0],arguments[1][0]);}else{alert("Cannot set property: "+arguments[0]);}};nitobi.grid.RowRenderer=function(_427,_428,_429,_42a,_42b,_42c){this.rowHeight=_429;this.xmlDataSource=_427;this.dataTableId="";this.firstColumn=_42a;this.columns=_42b;this.firstColumn=_42a;this.uniqueId=_42c;this.mergeDoc=nitobi.xml.createXmlDoc("<ntb:root xmlns:ntb=\"http://www.nitobi.com\"><ntb:columns><ntb:stub/></ntb:columns><ntb:data><ntb:stub/></ntb:data></ntb:root>");this.mergeDocCols=this.mergeDoc.selectSingleNode("//ntb:columns");this.mergeDocData=this.mergeDoc.selectSingleNode("//ntb:data");};nitobi.grid.RowRenderer.prototype.render=function(_42d,rows,_42f,_430,_431,_432){var _42d=Number(_42d)||0;var rows=Number(rows)||0;var xt=nitobi.grid.rowXslProc;xt.addParameter("start",_42d,"");xt.addParameter("end",_42d+rows,"");xt.addParameter("sortColumn",_431,"");xt.addParameter("sortDirection",_432,"");xt.addParameter("dataTableId",this.dataTableId,"");xt.addParameter("showHeaders",this.showHeaders+0,"");xt.addParameter("firstColumn",this.firstColumn,"");xt.addParameter("lastColumn",this.lastColumn,"");xt.addParameter("uniqueId",this.uniqueId,"");xt.addParameter("rowHover",this.rowHover,"");xt.addParameter("frozenColumnId",this.frozenColumnId,"");xt.addParameter("toolTipsEnabled",this.toolTipsEnabled,"");var data=this.xmlDataSource.xmlDoc();if(data.documentElement.firstChild==null){return"";}
var root=this.mergeDoc;this.mergeDocCols.replaceChild((!nitobi.browser.IE?root.importNode(this.definitions,true):this.definitions.cloneNode(true)),this.mergeDocCols.firstChild);this.mergeDocData.replaceChild((!nitobi.browser.IE?root.importNode(data.documentElement,true):data.documentElement.cloneNode(true)),this.mergeDocData.firstChild);s2=nitobi.xml.transformToString(root,xt,"xml");s2=s2.replace(/ATOKENTOREPLACE/g,"&nbsp;");s2=s2.replace(/\#\&lt\;\#/g,"<").replace(/\#\&gt\;\#/g,">").replace(/\#\&amp;lt\;\#/g,"<").replace(/\#\&amp;gt\;\#/g,">").replace(/\#EQ\#/g,"=").replace(/\#\Q\#/g,"\"").replace(/\#\&amp\;\#/g,"&");return s2;};nitobi.grid.RowRenderer.prototype.generateXslTemplate=function(_436,_437,_438,_439,_43a,_43b,_43c,_43d,id){this.definitions=_436;this.showIndicators=_43b;this.showHeaders=_43a;this.firstColumn=_438;this.lastColumn=_438+_439;this.rowHover=_43c;this.frozenColumnId=(id?id:"");this.toolTipsEnabled=_43d;return;try{var path=(typeof(gApplicationPath)=="undefined"?window.location.href.substr(0,window.location.href.lastIndexOf("/")+1):gApplicationPath);var imp=this.xmlTemplate.selectNodes("//xsl:import");for(var i=0;i<imp.length;i++){imp[i].setAttribute("href",path+"xsl/"+imp[i].getAttribute("href"));}}
catch(e){}};nitobi.grid.RowRenderer.prototype.dispose=function(){this.xslTemplate=null;this.xmlDataSource=null;};EBAScroller_RENDERTIMEOUT=100;EBAScroller_VIEWPANES=new Array("topleft","topcenter","midleft","midcenter");nitobi.grid.Scroller3x3=function(_442,_443,rows,_445,_446,_447){this.disposal=[];this.height=_443;this.rows=rows;this.columns=_445;this.freezetop=_446;this.freezeleft=_447;this.lastScrollTop=-1;this.uid=nitobi.base.getUid();this.onRenderComplete=new nitobi.base.Event();this.onRangeUpdate=new nitobi.base.Event();this.onHtmlReady=new nitobi.base.Event();this.owner=_442;var VP=nitobi.grid.Viewport;this.view={topleft:new VP(this.owner,0),topcenter:new VP(this.owner,1),midleft:new VP(this.owner,3),midcenter:new VP(this.owner,4)};this.view.midleft.onHtmlReady.subscribe(this.handleHtmlReady,this);this.setCellRanges();this.scrollSurface=null;this.startRow=_446;this.headerHeight=23;this.rowHeight=23;this.lastTimeoutId=0;this.scrollTopPercent=0;this.dataTable=null;this.cacheMap=new nitobi.collections.CacheMap(-1,-1);};nitobi.grid.Scroller3x3.prototype.updateCellRanges=function(cols,rows,frzL,frzT){this.columns=cols;this.rows=rows;this.freezetop=frzT;this.freezeleft=frzL;this.setCellRanges();};nitobi.grid.Scroller3x3.prototype.setCellRanges=function(){var _44d=null;if(this.implementsStandardPaging()){_44d=this.getDisplayedRowCount();}
this.view.topleft.setCellRanges(0,this.freezetop,0,this.freezeleft);this.view.topcenter.setCellRanges(0,this.freezetop,this.freezeleft,this.columns-this.freezeleft);this.view.midleft.setCellRanges(this.freezetop,(_44d?_44d:this.rows)-this.freezetop,0,this.freezeleft);this.view.midcenter.setCellRanges(this.freezetop,(_44d?_44d:this.rows)-this.freezetop,this.freezeleft,this.columns-this.freezeleft);};nitobi.grid.Scroller3x3.prototype.resize=function(_44e){this.height=_44e;};nitobi.grid.Scroller3x3.prototype.setScrollLeftRelative=function(_44f){this.setScrollLeft(this.scrollLeft+_44f);};nitobi.grid.Scroller3x3.prototype.setScrollLeftPercent=function(_450){this.setScrollLeft(Math.round((this.view.midcenter.element.scrollWidth-this.view.midcenter.element.clientWidth)*_450));};nitobi.grid.Scroller3x3.prototype.setScrollLeft=function(_451){this.view.midcenter.element.scrollLeft=_451;this.view.topcenter.element.scrollLeft=_451;};nitobi.grid.Scroller3x3.prototype.getScrollLeft=function(){return this.scrollSurface.scrollLeft;};nitobi.grid.Scroller3x3.prototype.setScrollTopRelative=function(_452){this.setScrollTop(this.getScrollTop()+_452);};nitobi.grid.Scroller3x3.prototype.setScrollTopPercent=function(_453){ntbAssert(!isNaN(_453),"scrollPercent isNaN");this.setScrollTop(Math.round((this.view.midcenter.element.scrollHeight-this.view.midcenter.element.clientHeight)*_453));};nitobi.grid.Scroller3x3.prototype.getScrollTopPercent=function(){return this.scrollSurface.scrollTop/(this.view.midcenter.element.scrollHeight-this.view.midcenter.element.clientHeight);};nitobi.grid.Scroller3x3.prototype.setScrollTop=function(_454){this.view.midcenter.element.scrollTop=_454;this.view.midleft.element.scrollTop=_454;this.render();};nitobi.grid.Scroller3x3.prototype.getScrollTop=function(){return this.scrollSurface.scrollTop;};nitobi.grid.Scroller3x3.prototype.clearSurfaces=function(_455,_456,_457,_458){this.flushCache();_457=true;if(_455){_456=true;_457=true;_458=true;}
if(_456){this.view.topleft.clear(true);this.view.topcenter.clear(true);}
if(_457){this.view.midleft.clear(true,true,false,false);this.view.midcenter.clear(false,false,true);}
if(_458){}};nitobi.grid.Scroller3x3.prototype.mapToHtml=function(_459){var uid=this.owner.uid;for(var i=0;i<4;i++){var node=$ntb("gridvp_"+i+"_"+uid);this.view[EBAScroller_VIEWPANES[i]].mapToHtml(node,nitobi.html.getFirstChild(node),null);}
this.scrollSurface=$ntb("gridvp_3_"+uid);};nitobi.grid.Scroller3x3.prototype.getUnrenderedBlocks=function(){var pair={first:this.freezetop,last:this.rows-1-this.freezetop};if(!this.implementsShowAll()){var _45e=this.getScrollTop()+this.getTop()-this.headerHeight;var MC=this.view.midcenter;var b0=MC.findBlockAtCoord(_45e);var b1=MC.findBlockAtCoord(_45e+this.height);var _462=null;var _463=null;if(b0==null){return;}
_462=b0.top+Math.floor((_45e-b0.offsetTop)/this.rowHeight);if(b1){_463=b1.top+Math.floor((_45e+this.height-b1.offsetTop)/this.rowHeight);}else{_463=_462+Math.floor(this.height/this.rowHeight);}
_463=Math.min(_463,this.rows);if(this.implementsStandardPaging()){var _464=0;if(this.owner.getRenderMode()==nitobi.grid.RENDERMODE_ONDEMAND){var _465=_462+_464;var last=Math.min(_463+_464,_464+this.getDisplayedRowCount()-1);pair={first:_465,last:last};}else{var _465=_464;var last=_465+this.getDisplayedRowCount()-1;pair={first:_465,last:last};}}else{pair={first:_462,last:_463};}
this.onRangeUpdate.notify(pair);}
return pair;};nitobi.grid.Scroller3x3.prototype.render=function(_467){if(this.owner.isBound()&&(this.getScrollTop()!=this.lastScrollTop||_467||this.scrollTopPercent>0.9)){var _468=nitobi.lang.close(this,this.performRender,[]);window.clearTimeout(this.lastTimeoutId);this.lastTimeoutId=window.setTimeout(_468,EBAScroller_RENDERTIMEOUT);}};nitobi.grid.Scroller3x3.prototype.performRender=function(){var _469=this.getUnrenderedBlocks();if(_469==null){return;}
var _46a=this.getScrollTop();var mc=this.view.midcenter;var ml=this.view.midleft;var _46d=this.getDataTable();var _46e=_469.first;var last=_469.last;if(last>=_46d.remoteRowCount-1&&!_46d.rowCountKnown){last+=2;}
var gaps=this.cacheMap.gaps(_46e,last);var _471=(this.owner.mode.toLowerCase()==nitobi.grid.MODE_LIVESCROLLING?(_46e+last<=0):(_46e+last<=-1));if(_471){this.onHtmlReady.notify();}else{if(gaps[0]!=null){var low=gaps[0].low;var high=gaps[0].high;var rows=high-low+1;if(!_46d.inCache(low,rows)){if(low==null||rows==null){alert("low or rows =null");}
if(this.implementsStandardPaging()){var _475=this.getCurrentPageIndex()*this.getRowsPerPage();var _476=_475+this.getRowsPerPage();_46d.get(_475,_476);}else{_46d.get(low,rows);}
var _477=_46d.cachedRanges(low,high);for(var i=0;i<_477.length;i++){var _479=this.cacheMap.gaps(_477[i].low,_477[i].high);for(var j=0;j<_479.length;j++){_469.first=_479[j].low;_469.last=_479[j].high;this.renderGap(_479[j].low,_479[j].high);}}
return false;}else{this.renderGap(low,high);}}}
this.onRenderComplete.notify();};nitobi.grid.Scroller3x3.prototype.renderGap=function(low,high){var gaps=this.cacheMap.gaps(low,high);var mc=this.view.midcenter;var ml=this.view.midleft;if(gaps[0]!=null){var low=gaps[0].low;var high=gaps[0].high;var rows=high-low+1;this.cacheMap.insert(low,high);mc.renderGap(low,high);ml.renderGap(low,high);}};nitobi.grid.Scroller3x3.prototype.renderSpecified=function(low,high){var rows=high-low+1;var _484=this.getUnrenderedBlocks();var _485=this.getDataTable();if(!_485.inCache(low,rows)){if(low==null||rows==null){alert("low or rows =null");}
if(this.implementsStandardPaging()){var _486=this.getCurrentPageIndex()*this.getRowsPerPage();var _487=_486+this.getRowsPerPage();_485.get(_486,_487);}else{_485.get(low,rows);}
var _488=_485.cachedRanges(low,high);for(var i=0;i<_488.length;i++){var _48a=this.cacheMap.gaps(_488[i].low,_488[i].high);for(var j=0;j<_48a.length;j++){_484.first=_48a[j].low;_484.last=_48a[j].high;this.renderGap(_48a[j].low,_48a[j].high);}}
return false;}else{this.renderGap(low,high);}};nitobi.grid.Scroller3x3.prototype.flushCache=function(){if(Boolean(this.cacheMap)){this.cacheMap.flush();}};nitobi.grid.Scroller3x3.prototype.reRender=function(_48c,_48d){var _48e=this.view.midleft.clearBlocks(_48c,_48d);this.view.midcenter.clearBlocks(_48c,_48d);this.cacheMap.remove(_48e.top,_48e.bottom);this.render();};nitobi.grid.Scroller3x3.prototype.getViewportByCoords=function(row,_490){var _491=0;if(row>=_491&&row<this.owner.getfreezetop()&&_490>=0&&_490<this.owner.frozenLeftColumnCount()){return this.view.topleft;}
if(row>=_491&&row<this.owner.getfreezetop()&&_490>=this.owner.getFrozenLeftColumnCount()&&_490<this.owner.getColumnCount()){return this.view.topcenter;}
if(row>=this.owner.getfreezetop()+_491&&row<this.owner.getDisplayedRowCount()+_491&&_490>=0&&_490<this.owner.getFrozenLeftColumnCount()){return this.view.midleft;}
if(row>=this.owner.getfreezetop()+_491&&row<this.owner.getDisplayedRowCount()+_491&&_490>=this.owner.getFrozenLeftColumnCount()&&_490<this.owner.getColumnCount()){return this.view.midcenter;}};nitobi.grid.Scroller3x3.prototype.getRowsPerPage=function(){return this.owner.getRowsPerPage();};nitobi.grid.Scroller3x3.prototype.getDisplayedRowCount=function(){return this.owner.getDisplayedRowCount();};nitobi.grid.Scroller3x3.prototype.getCurrentPageIndex=function(){return this.owner.getCurrentPageIndex();};nitobi.grid.Scroller3x3.prototype.implementsStandardPaging=function(){return Boolean(this.owner.getPagingMode().toLowerCase()=="standard");};nitobi.grid.Scroller3x3.prototype.implementsShowAll=function(){return Boolean(this.owner.getPagingMode().toLowerCase()==nitobi.grid.PAGINGMODE_NONE);};nitobi.grid.Scroller3x3.prototype.setDataTable=function(_492){this.dataTable=_492;};nitobi.grid.Scroller3x3.prototype.getDataTable=function(){return this.dataTable;};nitobi.grid.Scroller3x3.prototype.handleHtmlReady=function(){this.onHtmlReady.notify();};nitobi.grid.Scroller3x3.prototype.getTop=function(){return this.freezetop*this.rowHeight+this.headerHeight;};nitobi.grid.Scroller3x3.prototype.setSort=function(col,dir){this.view.topleft.setSort(col,dir);this.view.topcenter.setSort(col,dir);this.view.midleft.setSort(col,dir);this.view.midcenter.setSort(col,dir);};nitobi.grid.Scroller3x3.prototype.setRowHeight=function(_495){this.rowHeight=_495;this.setViewportProperty("RowHeight",_495);};nitobi.grid.Scroller3x3.prototype.setHeaderHeight=function(_496){this.headerHeight=_496;this.setViewportProperty("HeaderHeight",_496);};nitobi.grid.Scroller3x3.prototype.setViewportProperty=function(_497,_498){var sv=this.view;for(var i=0;i<EBAScroller_VIEWPANES.length;i++){sv[EBAScroller_VIEWPANES[i]]["set"+_497](_498);}};nitobi.grid.Scroller3x3.prototype.fire=function(evt,args){return nitobi.event.notify(evt+this.uid,args);};nitobi.grid.Scroller3x3.prototype.subscribe=function(evt,func,_49f){if(typeof(_49f)=="undefined"){_49f=this;}
return nitobi.event.subscribe(evt+this.uid,nitobi.lang.close(_49f,func));};nitobi.grid.Scroller3x3.prototype.dispose=function(){try{(this.cacheMap!=null?this.cacheMap.flush():"");this.cacheMap=null;var _4a0=this.disposal.length;for(var i=0;i<_4a0;i++){if(typeof(this.disposal[i])=="function"){this.disposal[i].call(this);}
this.disposal[i]=null;}
for(var v in this.view){this.view[v].dispose();}
for(var item in this){if(this[item]!=null&&this[item].dispose instanceof Function){this[item].dispose();}}}
catch(e){}};nitobi.grid.Selection=function(_4a4,_4a5){nitobi.grid.Selection.baseConstructor.call(this,_4a4);this.owner=_4a4;var t=new Date();this.selecting=false;this.expanding=false;this.resizingRow=false;this.created=false;this.freezeTop=this.owner.getfreezetop();this.freezeLeft=this.owner.getFrozenLeftColumnCount();this.rowHeight=23;this.onAfterExpand=new nitobi.base.Event();this.onBeforeExpand=new nitobi.base.Event();this.onMouseUp=new nitobi.base.Event();this.expandEndCell=null;this.expandStartCell=null;this.dragFillEnabled=_4a5||false;};nitobi.lang.extend(nitobi.grid.Selection,nitobi.collections.CellSet);nitobi.grid.Selection.prototype.setRange=function(_4a7,_4a8,_4a9,_4aa){nitobi.grid.Selection.base.setRange.call(this,_4a7,_4a8,_4a9,_4aa);this.startCell=this.owner.getCellElement(_4a7,_4a8);this.endCell=this.owner.getCellElement(_4a9,_4aa);};nitobi.grid.Selection.prototype.setRangeWithDomNodes=function(_4ab,_4ac){this.setRange(nitobi.grid.Cell.getRowNumber(_4ab),nitobi.grid.Cell.getColumnNumber(_4ab),nitobi.grid.Cell.getRowNumber(_4ac),nitobi.grid.Cell.getColumnNumber(_4ac));};nitobi.grid.Selection.prototype.createBoxes=function(){if(!this.created){var uid=this.owner.uid;var H=nitobi.html;var _4af=H.createElement("div",{"class":"ntb-grid-selection-grabby"});this.expanderGrabbyEvents=[{type:"mousedown",handler:this.handleGrabbyMouseDown},{type:"mouseup",handler:this.handleGrabbyMouseUp},{type:"click",handler:this.handleGrabbyClick}];H.attachEvents(_4af,this.expanderGrabbyEvents,this);this.boxexpanderGrabby=_4af;this.box=this.createBox("selectbox"+uid);this.boxl=this.createBox("selectboxl"+uid);this.events=[{type:"mousemove",handler:this.shrink},{type:"mouseup",handler:this.handleSelectionMouseUp},{type:"mousedown",handler:this.handleSelectionMouseDown},{type:"click",handler:this.handleSelectionClick},{type:"dblclick",handler:this.handleDblClick}];H.attachEvents(this.box,this.events,this);H.attachEvents(this.boxl,this.events,this);var sv=this.owner.Scroller.view;sv.midcenter.surface.appendChild(this.box);sv.midleft.surface.appendChild(this.boxl);this.clear();this.created=true;}};nitobi.grid.Selection.prototype.createBox=function(id){var _4b2;var cell;if(nitobi.browser.IE){cell=_4b2=document.createElement("div");}else{_4b2=nitobi.html.createTable({"cellpadding":0,"cellspacing":0,"border":0},{"backgroundColor":"transparent"});cell=_4b2.rows[0].cells[0];}
_4b2.className="ntb-grid-selection ntb-grid-selection-border";_4b2.setAttribute("id","ntb-grid-selection-"+id);var _4b4=nitobi.html.createElement("div",{"id":id,"class":"ntb-grid-selection-background"});cell.appendChild(_4b4);return _4b2;};nitobi.grid.Selection.prototype.clearBoxes=function(){if(this.box!=null){this.clearBox(this.box);}
if(this.boxl!=null){this.clearBox(this.boxl);}
this.created=false;delete this.box;delete this.boxl;this.box=null;this.boxl=null;};nitobi.grid.Selection.prototype.clearBox=function(box){nitobi.html.detachEvents(box,this.events);if(box.parentNode!=null){box.parentNode.removeChild(box);}
box=null;};nitobi.grid.Selection.prototype.handleGrabbyMouseDown=function(evt){this.selecting=true;this.setExpanding(true,"vert");var _4b7=this.getTopLeftCell();var _4b8=this.getBottomRightCell();this.expandStartCell=_4b7;this.expandEndCell=_4b8;var _4b9=this.owner.getScrollSurface();this.expandStartCoords=nitobi.html.getBoundingClientRect(this.box,_4b9.scrollTop+document.body.scrollTop,_4b9.scrollLeft+document.body.scrollLeft);this.expandStartHeight=Math.abs(_4b7.getRow()-_4b8.getRow())+1;this.expandStartWidth=Math.abs(_4b7.getColumn()-_4b8.getColumn())+1;this.expandStartTopRow=_4b7.getRow();this.expandStartBottomRow=_4b8.getRow();this.expandStartLeftColumn=_4b7.getColumn();this.expandStartRightColumn=_4b8.getColumn();var Cell=nitobi.grid.Cell;if(Cell.getRowNumber(this.startCell)>Cell.getRowNumber(this.endCell)){var _4bb=this.startCell;this.startCell=this.endCell;this.endCell=_4bb;}
this.onBeforeExpand.notify(this);};nitobi.grid.Selection.prototype.handleGrabbyMouseUp=function(evt){if(this.expanding){this.selecting=false;(this._startRow==this._endRow)?this.setExpanding(false,"horiz"):this.setExpanding(false);this.onAfterExpand.notify(this);}};nitobi.grid.Selection.prototype.handleGrabbyClick=function(evt){};nitobi.grid.Selection.prototype.expand=function(cell,dir){this.setExpanding(true,dir);var Cell=nitobi.grid.Cell;var _4c1;var _4c2=this.expandStartTopRow,_4c3=this.expandStartLeftColumn;var _4c4=this.expandStartBottomRow,_4c5=this.expandStartRightColumn;var _4c6=Cell.getRowNumber(this.endCell),_4c7=Cell.getColumnNumber(this.endCell);var _4c8=Cell.getRowNumber(this.startCell),_4c9=Cell.getColumnNumber(this.startCell);var _4ca=Cell.getColumnNumber(cell);var _4cb=Cell.getRowNumber(cell);var _4cc=_4c9,_4cd=_4c8;var o=this.owner;if(dir=="horiz"){if(_4c9<_4c7&_4ca<_4c9){this.changeEndCellWithDomNode(o.getCellElement(_4c4,_4ca));this.changeStartCellWithDomNode(o.getCellElement(_4c2,_4c5));}else{if(_4c9>_4c7&&_4ca>_4c9){this.changeEndCellWithDomNode(o.getCellElement(_4c4,_4ca));this.changeStartCellWithDomNode(o.getCellElement(_4c2,_4c3));}else{this.changeEndCellWithDomNode(o.getCellElement((_4c8==_4c4?_4c2:_4c4),_4ca));}}}else{if(_4c8<_4c6&_4cb<_4c8){this.changeEndCellWithDomNode(o.getCellElement(_4cb,_4c5));this.changeStartCellWithDomNode(o.getCellElement(_4c4,_4c3));}else{if(_4c8>_4c6&&_4cb>_4c8){this.changeEndCellWithDomNode(o.getCellElement(_4cb,_4c5));this.changeStartCellWithDomNode(o.getCellElement(_4c2,_4c3));}else{this.changeEndCellWithDomNode(o.getCellElement(_4cb,(_4c9==_4c5?_4c3:_4c5)));}}}
this.alignBoxes();};nitobi.grid.Selection.prototype.shrink=function(evt){if(nitobi.html.Css.hasClass(evt.srcElement,"ntb-grid-selection-border")||nitobi.html.Css.hasClass(evt.srcElement,"ntb-grid-selection-grabby")){return;}
if(this.endCell!=this.startCell&&this.selecting){var _4d0=this.owner.getScrollSurface();var Cell=nitobi.grid.Cell;var _4d2=Cell.getRowNumber(this.endCell),_4d3=Cell.getColumnNumber(this.endCell);var _4d4=Cell.getRowNumber(this.startCell),_4d5=Cell.getColumnNumber(this.startCell);var _4d6=nitobi.html.getEventCoords(evt);var evtY=_4d6.y,evtX=_4d6.x;if(nitobi.browser.IE||document.compatMode=="BackCompat"){evtY=evt.clientY,evtX=evt.clientX;}
var _4d9=nitobi.html.getBoundingClientRect(this.endCell,_4d0.scrollTop+document.body.scrollTop,_4d0.scrollLeft+document.body.scrollLeft);var _4da=_4d9.top,_4db=_4d9.left;if(_4d2>_4d4&&evtY<_4da){_4d2=_4d2-Math.floor(((_4da-4)-evtY)/this.rowHeight)-1;}else{if(evtY>_4d9.bottom){_4d2=_4d2+Math.floor((evtY-_4da)/this.rowHeight);}}
if(_4d3>_4d5&&evtX<_4db){_4d3--;}else{if(evtX>_4d9.right){_4d3++;}}
if(this.expanding){var _4dc=this.expandStartCell.getRow(),_4dd=this.expandStartCell.getColumn();var _4de=this.expandEndCell.getRow(),_4df=this.expandEndCell.getColumn();if(_4d3>=this.expandStartLeftColumn&&_4d3<=this.expandStartRightColumn){if(_4d3>=_4d5&&_4d3<_4df){_4d3=_4df;}else{if(_4d3<=_4d5&&_4d3>_4dd){_4d3=_4dd;}}
if(_4d3>=_4d5&&_4d3<=this.expandStartRightColumn){_4d3=this.expandStartRightColumn;}}
if(_4d2>=this.expandStartTopRow&&_4d2<=this.expandStartBottomRow){if(_4d4<_4d2&&_4d2<=_4de){_4d2=_4de;}else{if(_4d4>_4d2&&_4d2>=_4dc){_4d2=_4dc;}else{if(_4d4==_4d2){_4d2=(_4d4==_4dc?_4de:_4dc);}}}}}
var _4e0=this.owner.getCellElement(_4d2,_4d3);var _4e1=this.owner.getCellElement(_4d4,_4d5);if(_4e0!=null&&_4e0!=this.endCell||_4e1!=null&&_4e1!=this.startCell){this.changeEndCellWithDomNode(_4e0);this.changeStartCellWithDomNode(_4e1);this.alignBoxes();this.owner.ensureCellInView(_4e0);}}};nitobi.grid.Selection.prototype.getHeight=function(){var rect=nitobi.html.getBoundingClientRect(this.box);return rect.top-rect.bottom;};nitobi.grid.Selection.prototype.collapse=function(cell){if(!cell){cell=this.startCell;}
if(!cell){return;}
this.setRangeWithDomNodes(cell,cell);if((this.box==null)||(this.box.parentNode==null)||(this.boxl==null)||(this.boxl.parentNode==null)){this.created=false;this.createBoxes();}
this.alignBoxes();this.selecting=false;};nitobi.grid.Selection.prototype.startSelecting=function(_4e4,_4e5){this.selecting=true;this.setRangeWithDomNodes(_4e4,_4e5);this.shrink();};nitobi.grid.Selection.prototype.clearSelection=function(cell){this.collapse(cell);};nitobi.grid.Selection.prototype.resizeSelection=function(cell){this.endCell=cell;this.shrink();};nitobi.grid.Selection.prototype.moveSelection=function(cell){this.collapse(cell);};nitobi.grid.Selection.prototype.alignBoxes=function(){var _4e9=this.endCell||this.startCell;var sc=this.getCoords();var _4eb=sc.top.y;var _4ec=sc.top.x;var _4ed=sc.bottom.y;var _4ee=sc.bottom.x;var _4ef=nitobi.lang.isStandards();var ox=oy=(nitobi.browser.IE?-1:0);var ow=oh=(nitobi.browser.IE&&_4ef?-1:1);if(nitobi.browser.SAFARI||nitobi.browser.CHROME){oy=ox=-1;if(_4ef){oh=ow=-1;}}
if(_4ee>=this.freezeLeft&&_4ed>=this.freezeTop){var e=this.box;e.style.display="block";this.align(e,this.startCell,_4e9,286265344,oh,ow,oy,ox);if(this.dragFillEnabled){(e.rows!=null?e.rows[0].cells[0]:e).appendChild(this.boxexpanderGrabby);}}else{this.box.style.display="none";}
if(_4ee<this.freezeLeft||_4ec<this.freezeLeft){var e=this.boxl;e.style.display="block";this.align(e,this.startCell,_4e9,286265344,oh,ow,oy,ox);if(this.box.style.display=="none"){if(this.dragFillEnabled){(e.rows!=null?e.rows[0].cells[0]:e).appendChild(this.boxexpanderGrabby);}}}else{this.boxl.style.display="none";}};nitobi.grid.Selection.prototype.redraw=function(cell){if(!this.selecting){this.setRangeWithDomNodes(cell,cell);}else{this.changeEndCellWithDomNode(cell);}
this.alignBoxes();};nitobi.grid.Selection.prototype.changeStartCellWithDomNode=function(cell){this.startCell=cell;var Cell=nitobi.grid.Cell;this.changeStartCell(Cell.getRowNumber(cell),Cell.getColumnNumber(cell));};nitobi.grid.Selection.prototype.changeEndCellWithDomNode=function(cell){this.endCell=cell;var Cell=nitobi.grid.Cell;this.changeEndCell(Cell.getRowNumber(cell),Cell.getColumnNumber(cell));};nitobi.grid.Selection.prototype.init=function(cell){this.createBoxes();var t=new Date();this.selecting=true;this.setRangeWithDomNodes(cell,cell);};nitobi.grid.Selection.prototype.clear=function(){if(!this.box){return;}
var bs=this.box.style;bs.display="none";bs.top="-1000px";bs.left="-1000px";bs.width="1px";bs.height="1px";var bls=this.boxl.style;bls.display="none";bls.top="-1000px";bls.left="-1000px";bls.width="1px";bls.height="1px";this.selecting=false;};nitobi.grid.Selection.prototype.handleSelectionClick=function(evt){if(!this.selected()){if(NTB_SINGLECLICK==null){if(nitobi.browser.IE){evt=nitobi.lang.copy(evt);}
NTB_SINGLECLICK=window.setTimeout(nitobi.lang.close(this,this.edit,[evt]),400);}}else{this.collapse();this.owner.focus();}};nitobi.grid.Selection.prototype.handleDblClick=function(evt){if(!this.selected()){window.clearTimeout(NTB_SINGLECLICK);NTB_SINGLECLICK=null;if(this.owner.handleDblClick(evt)){this.edit(evt);}}else{this.collapse();}};nitobi.grid.Selection.prototype.edit=function(evt){NTB_SINGLECLICK=null;this.owner.edit(evt);};nitobi.grid.Selection.prototype.select=function(_4ff,_500){this.selectWithCoords(_4ff.getRowNumber(),_4ff.getColumnNumber(),_500.getRowNumber(),_500.getColumnNumber());};nitobi.grid.Selection.prototype.selectWithCoords=function(_501,_502,_503,_504){this.setRange(_501,_502,_503,_504);this.createBoxes();this.alignBoxes();};nitobi.grid.Selection.prototype.handleSelectionMouseUp=function(evt){if(this.expanding){this.handleGrabbyMouseUp(evt);}
this.stopSelecting(evt);this.onMouseUp.notify(this);};nitobi.grid.Selection.prototype.handleSelectionMouseDown=function(evt){};nitobi.grid.Selection.prototype.stopSelecting=function(evt){this.owner.waitt=false;this.selecting=true;if(!this.selected()){var cell=this.owner.findActiveCell(evt.srcElement)||this.startCell;this.collapse(cell);}
this.selecting=false;};nitobi.grid.Selection.prototype.getStartCell=function(){return this.startCell;};nitobi.grid.Selection.prototype.getEndCell=function(){return this.endCell;};nitobi.grid.Selection.prototype.getTopLeftCell=function(){var _509=this.getCoords();return new nitobi.grid.Cell(this.owner,_509.top.y,_509.top.x);};nitobi.grid.Selection.prototype.getBottomRightCell=function(){var _50a=this.getCoords();return new nitobi.grid.Cell(this.owner,_50a.bottom.y,_50a.bottom.x);};nitobi.grid.Selection.prototype.getHeight=function(){var _50b=this.getCoords();return _50b.bottom.y-_50b.top.y+1;};nitobi.grid.Selection.prototype.getWidth=function(){var _50c=this.getCoords();return _50c.bottom.x-_50c.top.x+1;};nitobi.grid.Selection.prototype.getRowByCoords=function(_50d){return(_50d.parentNode.offsetTop/_50d.parentNode.offsetHeight);};nitobi.grid.Selection.prototype.getColumnByCoords=function(_50e){var _50f=(this.indicator?-2:0);if(_50e.parentNode.parentNode.getAttribute("id").substr(0,6)!="freeze"){_50f+=2-(this.freezeColumn*3);}else{_50f+=2;}
return Math.floor((_50e.sourceIndex-_50e.parentNode.sourceIndex-_50f)/3);};nitobi.grid.Selection.prototype.selected=function(){return(this.endCell==this.startCell)?false:true;};nitobi.grid.Selection.prototype.setRowHeight=function(_510){this.rowHeight=_510;};nitobi.grid.Selection.prototype.getRowHeight=function(){return this.rowHeight;};nitobi.grid.Selection.prototype.setExpanding=function(val,dir){if(val&&this.expanding){return;}
this.expanding=val;this.expandingVertical=(dir=="horiz"?false:true);var C=nitobi.html.Css;var _514="ntb-grid-selection-border";var _515=_514+"-active";if(val){C.swapClass(this.box,_514,_515);C.swapClass(this.boxl,_514,_515);}else{C.swapClass(this.box,_515,_514);C.swapClass(this.boxl,_515,_514);}};nitobi.grid.Selection.prototype.dispose=function(){};nitobi.grid.Selection.prototype.align=function(_516,_517,_518,_519,oh,ow,oy,ox,show){oh=oh||0;ow=ow||0;oy=oy||0;ox=ox||0;var a=_519;var td,sd,tt,tb,tl,tr,th,tw,st,sb,sl,sr,sh,sw;if(!_517||(nitobi.lang.typeOf(_517)!=nitobi.lang.type.HTMLNODE)){return;}
ntbAssert(Boolean(_517.parentNode)&&Boolean(_518.parentNode)&&Boolean(_516.parentNode),"Couldn't align selection. The parentnode has vanished. Most likely this is due to refilter.");ad=nitobi.html.getBoundingClientRect(_517);bd=nitobi.html.getBoundingClientRect(_518);sd=nitobi.html.getBoundingClientRect(_516);at=ad.top;ab=ad.bottom;al=ad.left;ar=ad.right;bt=bd.top;bb=bd.bottom;bl=bd.left;br=bd.right;tt=ad.top;tb=bd.bottom;tl=ad.left;tr=bd.right;th=Math.abs(tb-tt);tw=Math.abs(tr-tl);st=sd.top;sb=sd.bottom;sl=sd.left;sr=sd.right;sh=Math.abs(sb-st);sw=Math.abs(sr-sl);var H=nitobi.html;if(a&268435456){_516.style.height=(Math.max(bb-at,ab-bt)+oh)+"px";}
if(a&16777216){_516.style.width=(Math.max(br-al,ar-bl)+ow)+"px";}
if(a&1048576){_516.style.top=(H.getStyleTop(_516)+Math.min(tt,bt)-st+oy)+"px";}
if(a&65536){_516.style.top=(H.getStyleTop(_516)+tt-st+th-sh+oy)+"px";}
if(a&4096){_516.style.left=(H.getStyleLeft(_516)-sl+Math.min(tl,bl)+ox)+"px";}
if(a&256){_516.style.left=(H.getStyleLeft(_516)-sl+tl+tw-sw+ox)+"px";}
if(a&16){_516.style.top=(H.getStyleTop(_516)+tt-st+oy+Math.floor((th-sh)/2))+"px";}
if(a&1){_516.style.left=(H.getStyleLeft(_516)-sl+tl+ox+Math.floor((tw-sw)/2))+"px";}};nitobi.grid.Surface=function(_52f,_530,_531){this.height=_530;this.width=_52f;this.element=_531;};nitobi.grid.Surface.prototype.dispose=function(){this.element=null;};nitobi.grid.TextColumn=function(grid,_533){nitobi.grid.TextColumn.baseConstructor.call(this,grid,_533);};nitobi.lang.extend(nitobi.grid.TextColumn,nitobi.grid.Column);nitobi.lang.defineNs("nitobi.ui");nitobi.ui.Toolbars=function(_534,_535){this.grid=_534;this.uid="nitobiToolbar_"+nitobi.base.getUid();this.toolbars={};this.visibleToolbars=_535;};nitobi.ui.Toolbars.VisibleToolbars={};nitobi.ui.Toolbars.VisibleToolbars.STANDARD=1;nitobi.ui.Toolbars.VisibleToolbars.PAGING=1<<1;nitobi.ui.Toolbars.prototype.initialize=function(){this.enabled=true;this.toolbarXml=nitobi.xml.createXmlDoc(nitobi.xml.serialize(nitobi.grid.toolbarDoc));this.toolbarPagingXml=nitobi.xml.createXmlDoc(nitobi.xml.serialize(nitobi.grid.pagingToolbarDoc));};nitobi.ui.Toolbars.prototype.attachToParent=function(_536){this.initialize();this.container=_536;if(this.standardToolbar==null&&this.visibleToolbars){this.makeToolbar();this.render();}};nitobi.ui.Toolbars.prototype.setWidth=function(_537){this.width=_537;};nitobi.ui.Toolbars.prototype.getWidth=function(){return this.width;};nitobi.ui.Toolbars.prototype.setHeight=function(_538){this.height=_538;};nitobi.ui.Toolbars.prototype.getHeight=function(){return this.height;};nitobi.ui.Toolbars.prototype.setRowInsertEnabled=function(_539){this.rowInsertEnabled=_539;};nitobi.ui.Toolbars.prototype.isRowInsertEnabled=function(){return this.rowInsertEnabled;};nitobi.ui.Toolbars.prototype.setRowDeleteEnabled=function(_53a){this.rowDeleteEnabled=_53a;};nitobi.ui.Toolbars.prototype.isRowDeleteEnabled=function(){return this.rowDeleteEnabled;};nitobi.ui.Toolbars.prototype.makeToolbar=function(){var _53b=this.findCssUrl();this.toolbarXml.documentElement.setAttribute("id","toolbar"+this.uid);this.toolbarXml.documentElement.setAttribute("image_directory",_53b);var _53c=this.toolbarXml.selectNodes("/toolbar/items/*");for(var i=0;i<_53c.length;i++){if(_53c[i].nodeType!=8){_53c[i].setAttribute("id",_53c[i].getAttribute("id")+this.uid);}}
this.standardToolbar=new nitobi.ui.Toolbar(this.toolbarXml,"toolbar"+this.uid);this.toolbarPagingXml.documentElement.setAttribute("id","toolbarpaging"+this.uid);this.toolbarPagingXml.documentElement.setAttribute("image_directory",_53b);_53c=(this.toolbarPagingXml.selectNodes("/toolbar/items/*"));for(var i=0;i<_53c.length;i++){if(_53c[i].nodeType!=8){_53c[i].setAttribute("id",_53c[i].getAttribute("id")+this.uid);}}
this.pagingToolbar=new nitobi.ui.Toolbar(this.toolbarPagingXml,"toolbarpaging"+this.uid);};nitobi.ui.Toolbars.prototype.getToolbar=function(id){return eval("this."+id);};nitobi.ui.Toolbars.prototype.findCssUrl=function(){var _53f=nitobi.html.Css.findParentStylesheet(".ntb-toolbar");if(_53f==null){_53f=nitobi.html.Css.findParentStylesheet(".ntb-grid");if(_53f==null){nitobi.lang.throwError("The CSS for the toolbar could not be found.  Try moving the nitobi.grid.css file to a location accessible to the browser's javascript or moving it to the top of the stylesheet list. findParentStylesheet returned "+_53f);}}
return nitobi.html.Css.getPath(_53f);};nitobi.ui.Toolbars.prototype.isToolbarEnabled=function(){return this.enabled;};nitobi.ui.Toolbars.prototype.render=function(){var _540=this.container;_540.style.visibility="hidden";var xsl=nitobi.ui.ToolbarXsl;if(xsl.indexOf("xsl:stylesheet")==-1){xsl="<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"><xsl:output method=\"xml\" version=\"4.0\" />"+xsl+"</xsl:stylesheet>";}
var _542=nitobi.xml.createXslDoc(xsl);xsl=nitobi.ui.pagingToolbarXsl;if(xsl.indexOf("xsl:stylesheet")==-1){xsl="<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"><xsl:output method=\"xml\" version=\"4.0\" />"+xsl+"</xsl:stylesheet>";}
var _543=nitobi.xml.createXslDoc(xsl);var _544=nitobi.xml.transformToString(this.standardToolbar.getXml(),_542,"xml");_540.innerHTML=_544;_540.style.zIndex="1000";var _545=nitobi.xml.transformToString(this.pagingToolbar.getXml(),_543,"xml");_540.innerHTML+=_545;_542=null;xmlDoc=null;this.standardToolbar.attachToTag();this.pagingToolbar.attachToTag();this.resize();var _546=this;var _547=this.standardToolbar.getUiElements();for(eachbutton in _547){if(_547[eachbutton].m_HtmlElementHandle==null){continue;}
_547[eachbutton].toolbar=this;_547[eachbutton].grid=this.grid;if(nitobi.browser.IE&&_547[eachbutton].m_HtmlElementHandle.onbuttonload!=null){var x=function(item,grid,tbar,iDom){eval(_547[eachbutton].m_HtmlElementHandle.onbuttonload);};x(_547[eachbutton],this.grid,this,_547[eachbutton].m_HtmlElementHandle);}else{if(!nitobi.browser.IE&&_547[eachbutton].m_HtmlElementHandle.hasAttribute("onbuttonload")){var x=function(item,grid,tbar,iDom){eval(_547[eachbutton].m_HtmlElementHandle.getAttribute("onbuttonload"));};x(_547[eachbutton],this.grid,this,_547[eachbutton].m_HtmlElementHandle);}}
switch(eachbutton){case"save"+this.uid:_547[eachbutton].onClick=function(){_546.fire("Save");};break;case"newRecord"+this.uid:_547[eachbutton].onClick=function(){_546.fire("InsertRow");};if(!this.isRowInsertEnabled()){_547[eachbutton].disable();}
break;case"deleteRecord"+this.uid:_547[eachbutton].onClick=function(){_546.fire("DeleteRow");};if(!this.isRowDeleteEnabled()){_547[eachbutton].disable();}
break;case"refresh"+this.uid:_547[eachbutton].onClick=function(){var _551=confirm("Refreshing will discard any changes you have made. Is it OK to refresh?");if(_551){_546.fire("Refresh");}};break;case"showhide"+this.uid:this.show_hide_btn=_547[eachbutton];_547[eachbutton].onClick=function(){grid=_546.grid;element=_546.show_hide_btn;var menu=$ntb("ntb-grid-showhide"+grid.uid);if(menu.style.display=="none"){menu.style.position="absolute";menu.style.left="-5000";menu.style.display="";var _553=menu.clientHeight;menu.style.display="none";menu.style.top=(element.m_HtmlElementHandle.parentNode.offsetTop-_553)+"px";menu.style.left=(element.m_HtmlElementHandle.offsetLeft+element.m_HtmlElementHandle.offsetWidth)+"px";menu.style.display="";}else{menu.style.position="relative";menu.style.display="none";}};break;default:}}
var _554=this.pagingToolbar.getUiElements();var _546=this;for(eachPbutton in _554){if(_554[eachPbutton].m_HtmlElementHandle==null){continue;}
_554[eachPbutton].toolbar=this;_554[eachPbutton].grid=this.grid;if(nitobi.browser.IE&&_554[eachPbutton].m_HtmlElementHandle.onbuttonload!=null){var x=function(item,grid,tbar,iDom){eval(_554[eachPbutton].m_HtmlElementHandle.onbuttonload);};x(_554[eachPbutton],this.grid,this,_554[eachPbutton].m_HtmlElementHandle);}else{if(!nitobi.browser.IE&&_554[eachPbutton].m_HtmlElementHandle.hasAttribute("onbuttonload")){var x=function(item,grid,tbar,iDom){eval(_554[eachPbutton].m_HtmlElementHandle.getAttribute("onbuttonload"));};x(_554[eachPbutton],this.grid,this,_554[eachPbutton].m_HtmlElementHandle);}}
switch(eachPbutton){case"firstPage"+this.uid:_554[eachPbutton].onClick=function(){_546.fire("FirstPage");_546.resetCounter();};break;case"previousPage"+this.uid:_554[eachPbutton].onClick=function(){_546.fire("PreviousPage");_546.decrementCounter();};_554[eachPbutton].disable();break;case"nextPage"+this.uid:_554[eachPbutton].onClick=function(){_546.fire("NextPage");_546.incrementCounter();};break;case"lastPage"+this.uid:_554[eachPbutton].onClick=function(){_546.fire("LastPage");_546.maxCounter();};break;case"startPage"+this.uid:_554[eachPbutton].onBlur=function(){_546.inputCounter();};break;default:}}
if(this.visibleToolbars&nitobi.ui.Toolbars.VisibleToolbars.STANDARD){this.standardToolbar.show();}else{this.standardToolbar.hide();}
if(this.visibleToolbars&nitobi.ui.Toolbars.VisibleToolbars.PAGING){this.pagingToolbar.show();}else{this.pagingToolbar.hide();}
_540.style.visibility="visible";};nitobi.ui.Toolbars.prototype.resetCounter=function(){var _55d=$ntb("startPage"+this.uid);if(_55d){_55d.value=String(1);}};nitobi.ui.Toolbars.prototype.maxCounter=function(){var _55e=$ntb("startPage"+this.uid);var _55f=this.grid.datatable.totalRowCount/this.grid.getRowsPerPage();if(_55e){_55e.value=String(Math.ceil(_55f));}};nitobi.ui.Toolbars.prototype.incrementCounter=function(){var _560=$ntb("startPage"+this.uid);if(_560){var val=parseInt(_560.value);_560.value=String(++val);}};nitobi.ui.Toolbars.prototype.decrementCounter=function(){var _562=$ntb("startPage"+this.uid);if(_562){var val=parseInt(_562.value);_562.value=String(--val);}};nitobi.ui.Toolbars.prototype.inputCounter=function(){var _564=$ntb("startPage"+this.uid);if(_564){var _565=Math.ceil(this.grid.datatable.totalRowCount/this.grid.getRowsPerPage());var val=parseInt(_564.value);var _567=isNaN(_564.value);if(val<0||val>_565||_567){alert("Please enter a value within the ranges of 1 and "+_565);}else{this.fire("InputTextPage");}}};nitobi.ui.Toolbars.prototype.calculateRange=function(){var _568=1;var _569=this.grid.datatable.totalRowCount/this.grid.getRowsPerPage();var _56a=$ntb("endPage"+this.uid);if(_56a){_56a.innerHTML="&nbsp;"+Math.ceil(_569);}};nitobi.ui.Toolbars.prototype.resize=function(){var _56b=this.getWidth();if(this.visibleToolbars&nitobi.ui.Toolbars.VisibleToolbars.PAGING){this.standardToolbar.setHeight(this.getHeight());}
if(this.visibleToolbars&nitobi.ui.Toolbars.VisibleToolbars.STANDARD){this.standardToolbar.setHeight(this.getHeight());}};nitobi.ui.Toolbars.prototype.fire=function(evt,args){return nitobi.event.notify(evt+this.uid,args);};nitobi.ui.Toolbars.prototype.subscribe=function(evt,func,_570){if(typeof(_570)=="undefined"){_570=this;}
return nitobi.event.subscribe(evt+this.uid,nitobi.lang.close(_570,func));};nitobi.ui.Toolbars.prototype.dispose=function(){this.toolbarXml=null;this.toolbarPagingXml=null;if(this.toolbar&&this.toolbar.dispose){this.toolbar.dispose();this.toolbar=null;}
if(this.toolbarPaging&&this.toolbarPaging.dispose){this.toolbarPaging.dispose();this.toolbarPaging=null;}};var EBA_SELECTION_BUFFER=15;var NTB_SINGLECLICK=null;nitobi.grid.Viewport=function(grid,_572){this.disposal=[];this.surface=null;this.element=null;this.rowHeight=23;this.headerHeight=23;this.sortColumn=0;this.sortDir=1;this.uid=nitobi.base.getUid();this.region=_572;this.scrollIncrement=0;this.grid=grid;this.startRow=0;this.rows=0;this.startColumn=0;this.columns=0;this.rowRenderer=null;this.onHtmlReady=new nitobi.base.Event();};nitobi.grid.Viewport.prototype.mapToHtml=function(_573,_574,_575){this.surface=_574;this.element=_573;this.container=nitobi.html.getFirstChild(_574);this.makeLastBlock(0,this.grid.getRowsPerPage()*5);};nitobi.grid.Viewport.prototype.makeLastBlock=function(low,high){if(this.lastEmptyBlock==null&&this.grid&&this.region>2&&this.region<5&&this.container){if(this.container.lastChild){low=Math.max(low,this.container.lastChild.bottom);}
this.lastEmptyBlock=this.renderEmptyBlock(low,high);}};nitobi.grid.Viewport.prototype.setCellRanges=function(_578,rows,_57a,_57b){this.startRow=_578;this.rows=rows;this.startColumn=_57a;this.columns=_57b;this.makeLastBlock(this.startRow,this.startRow+rows-1);if(this.lastEmptyBlock!=null&&this.region>2&&this.region<5&&this.rows>0){var _57c=this.startRow+this.rows-1;if(this.lastEmptyBlock.top>_57c){this.container.removeChild(this.lastEmptyBlock);this.lastEmptyBlock=null;}else{this.lastEmptyBlock.bottom=_57c;this.lastEmptyBlock.style.height=(this.rowHeight*(this.lastEmptyBlock.bottom-this.lastEmptyBlock.top+1))+"px";if(this.lastEmptyBlock.bottom<this.lastEmptyBlock.top){throw"blocks are miss aligned.";}}}};nitobi.grid.Viewport.prototype.clear=function(_57d,_57e,_57f,_580){var uid=this.grid.uid;if(this.surface&&_57d){this.surface.innerHTML="<div id=\"gridvpcontainer_"+this.region+"_"+uid+"\"></div>";}
if(this.element&&_580){this.element.innerHTML="<div id=\"gridvpsurface_"+this.region+"_"+uid+"\"><div id=\"gridvpcontainer_"+this.region+"_"+uid+"\"></div></div>";}
if(this.surface&&_57f){this.surface.innerHTML="<div id=\"gridvpcontainer_"+this.region+"_"+uid+"\"></div>";}
this.surface=nitobi.html.getFirstChild(this.element);this.container=nitobi.html.getFirstChild(this.surface);if(this.grid&&this.region>2&&this.region<5){this.lastEmptyBlock=null;}
this.makeLastBlock(0,this.grid.getRowsPerPage()*5);};nitobi.grid.Viewport.prototype.setSort=function(_582,_583){this.sortColumn=_582;this.sortDir=_583;};nitobi.grid.Viewport.prototype.renderGap=function(top,_585){var _586=activeRow=null;var _587=this.findBlock(top);var o=this.renderInsideEmptyBlock(top,_585,_587);if(o==null){return;}
o.setAttribute("rendered","true");var rows=_585-top+1;o.innerHTML=this.rowRenderer.render(top,rows,_586,activeRow,this.sortColumn,this.sortDir);this.onHtmlReady.notify(this);};nitobi.grid.Viewport.prototype.findBlock=function(row){var blk=this.container.childNodes;for(var i=0;i<blk.length;i++){if(row>=blk[i].top&&row<=blk[i].bottom){return blk[i];}}};nitobi.grid.Viewport.prototype.findBlockAtCoord=function(top){var blk=this.container.childNodes;for(var i=0;i<blk.length;i++){var rt=blk[i].offsetTop;var rb=rt+blk[i].offsetHeight;if(top>=rt&&top<=rb){return blk[i];}}};nitobi.grid.Viewport.prototype.getBlocks=function(_592,_593){var _594=[];var _595=this.findBlock(_592);var _596=_595;_594.push(_595);while(_593>_596.bottom){var _597=_596.nextSibling;if(_597!=null){_596=_597;}else{break;}
_594.push(_596);}
return _594;};nitobi.grid.Viewport.prototype.clearBlocks=function(_598,_599){var _59a=this.getBlocks(_598,_599);var len=_59a.length;var top=_59a[0].top;var _59d=_59a[len-1].bottom;var _59e=_59a[len-1].nextSibling;for(var i=0;i<len;i++){_59a[i].parentNode.removeChild(_59a[i]);}
this.renderEmptyBlock(top,_59d,_59e);return{"top":top,"bottom":_59d};};nitobi.grid.Viewport.prototype.renderInsideEmptyBlock=function(top,_5a1,_5a2){if(_5a2==null){return this.renderBlock(top,_5a1);}
if(top==_5a2.top&&_5a1>=_5a2.bottom){var _5a3=this.renderBlock(top,_5a1,_5a2);this.container.replaceChild(_5a3,_5a2);if(_5a2.bottom<_5a2.top){throw"Render error";}
return _5a3;}
if(top==_5a2.top&&_5a1<_5a2.bottom){_5a2.top=_5a1+1;_5a2.style.height=(this.rowHeight*(_5a2.bottom-_5a2.top+1))+"px";_5a2.rows=_5a2.bottom-_5a2.top+1;if(_5a2.bottom<_5a2.top){throw"Render error";}
return this.renderBlock(top,_5a1,_5a2);}
if(top>_5a2.top&&_5a1>=_5a2.bottom){_5a2.bottom=top-1;_5a2.style.height=(this.rowHeight*(_5a2.bottom-_5a2.top+1))+"px";if(_5a2.bottom<_5a2.top){throw"Render error";}
return this.renderBlock(top,_5a1,_5a2.nextSibling);}
if(top>_5a2.top&&_5a1<_5a2.bottom){var _5a4=this.renderEmptyBlock(_5a2.top,top-1,_5a2);_5a2.top=_5a1+1;_5a2.style.height=(this.rowHeight*(_5a2.bottom-_5a2.top+1))+"px";if(_5a2.bottom<_5a2.top){throw"Render error";}
return this.renderBlock(top,_5a1,_5a2);}
throw"Could not insert "+top+"-"+_5a1+_5a2.outerHTML;};nitobi.grid.Viewport.prototype.renderEmptyBlock=function(top,_5a6,_5a7){var o=this.renderBlock(top,_5a6,_5a7);o.setAttribute("id","eba_grid_emptyblock_"+this.region+"_"+top+"_"+_5a6+"_"+this.grid.uid);if(top==0&&_5a6==99){crash;}
o.setAttribute("rendered","false");o.style.height=Math.max(((_5a6-top+1)*this.rowHeight),0)+"px";return o;};nitobi.grid.Viewport.prototype.renderBlock=function(top,_5aa,_5ab){var o=document.createElement("div");o.setAttribute("id","eba_grid_block_"+this.region+"_"+top+"_"+_5aa+"_"+this.grid.uid);o.top=top;o.bottom=_5aa;o.left=this.startColumn;o.right=this.startColumn+this.columns;o.rows=_5aa-top+1;o.columns=this.columns;if(_5ab){this.container.insertBefore(o,_5ab);}else{this.container.insertBefore(o,null);}
return o;};nitobi.grid.Viewport.prototype.setHeaderHeight=function(_5ad){this.headerHeight=_5ad;};nitobi.grid.Viewport.prototype.setRowHeight=function(_5ae){this.rowHeight=_5ae;};nitobi.grid.Viewport.prototype.dispose=function(){this.element=null;this.container=null;nitobi.lang.dispose(this,this.disposal);return;};nitobi.grid.Viewport.prototype.fire=function(evt,args){return nitobi.event.notify(evt+this.uid,args);};nitobi.grid.Viewport.prototype.subscribe=function(evt,func,_5b3){if(typeof(_5b3)=="undefined"){_5b3=this;}
return nitobi.event.subscribe(evt+this.uid,nitobi.lang.close(_5b3,func));};nitobi.grid.Viewport.prototype.attach=function(evt,func,_5b6){return nitobi.html.attachEvent(_5b6,evt,nitobi.lang.close(this,func));};nitobi.lang.defineNs("nitobi.data");if(false){nitobi.data=function(){};}
nitobi.data.DATAMODE_UNBOUND="unbound";nitobi.data.DATAMODE_LOCAL="local";nitobi.data.DATAMODE_REMOTE="remote";nitobi.data.DATAMODE_CACHING="caching";nitobi.data.DATAMODE_STATIC="static";nitobi.data.DATAMODE_PAGING="paging";nitobi.data.DataSet=function(){var _5b7="http://www.nitobi.com";this.doc=nitobi.xml.createXmlDoc("<"+nitobi.xml.nsPrefix+"datasources xmlns:ntb=\""+_5b7+"\"></"+nitobi.xml.nsPrefix+"datasources>");};nitobi.data.DataSet.prototype.initialize=function(){this.tables=new Array();};nitobi.data.DataSet.prototype.add=function(_5b8){ntbAssert(!this.tables[_5b8.id],"This table data source has already been added.","",EBA_THROW);this.tables[_5b8.id]=_5b8;};nitobi.data.DataSet.prototype.getTable=function(_5b9){return this.tables[_5b9];};nitobi.data.DataSet.prototype.xmlDoc=function(){var root=this.doc.documentElement;while(root.hasChildNodes()){root.removeChild(root.firstChild);}
for(var i in this.tables){if(this.tables[i].xmlDoc&&this.tables[i].xmlDoc.documentElement){var _5bc=this.tables[i].xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource").cloneNode(true);this.doc.selectSingleNode("/"+nitobi.xml.nsPrefix+"datasources").appendChild(nitobi.xml.importNode(this.doc,_5bc,true));}}
return this.doc;};nitobi.data.DataSet.prototype.dispose=function(){for(var _5bd in this.tables){this.tables[_5bd].dispose();}};nitobi.lang.defineNs("nitobi.data");nitobi.data.DataTable=function(mode,_5bf,_5c0,_5c1,_5c2){if(_5bf==null){ntbAssert(false,"Table needs estimateRowCount param");}
this.estimateRowCount=_5bf;this.version=3;this.uid=nitobi.base.getUid();this.mode=mode||"caching";this.setAutoKeyEnabled(_5c2);this.columns=new Array();this.keys=new Array();this.types=new Array();this.defaults=new Array();this.columnsConfigured=false;this.pagingConfigured=false;this.id="_default";this.fieldMap={};if(_5c0){this.saveHandlerArgs=_5c0;}else{this.saveHandlerArgs={};}
if(_5c1){this.getHandlerArgs=_5c1;}else{this.getHandlerArgs={};}
this.setGetHandlerParameter("RequestType","GET");this.setSaveHandlerParameter("RequestType","SAVE");this.batchInsert=false;this.batchInsertRowCount=0;};nitobi.data.DataTable.DEFAULT_LOG="<"+nitobi.xml.nsPrefix+"grid "+nitobi.xml.nsDecl+"><"+nitobi.xml.nsPrefix+"datasources id='id'><"+nitobi.xml.nsPrefix+"datasource id=\"{id}\"><"+nitobi.xml.nsPrefix+"datasourcestructure /><"+nitobi.xml.nsPrefix+"data id=\"_default\"></"+nitobi.xml.nsPrefix+"data></"+nitobi.xml.nsPrefix+"datasource></"+nitobi.xml.nsPrefix+"datasources></"+nitobi.xml.nsPrefix+"grid>";nitobi.data.DataTable.DEFAULT_DATA="<"+nitobi.xml.nsPrefix+"datasource "+nitobi.xml.nsDecl+" id=\"{id}\"><"+nitobi.xml.nsPrefix+"datasourcestructure FieldNames=\"{fields}\" Keys=\"{keys}\" types=\"{types}\" defaults=\"{defaults}\"></"+nitobi.xml.nsPrefix+"datasourcestructure><"+nitobi.xml.nsPrefix+"data id=\"{id}\"></"+nitobi.xml.nsPrefix+"data></"+nitobi.xml.nsPrefix+"datasource>";nitobi.data.DataTable.prototype.initialize=function(_5c3,_5c4,_5c5,_5c6,_5c7,sort,_5c9,_5ca,_5cb){this.setGetHandlerParameter("TableId",_5c3);this.setSaveHandlerParameter("TableId",_5c3);this.id=_5c3;this.datastructure=null;this.descriptor=new nitobi.data.DataTableDescriptor(this,nitobi.lang.close(this,this.syncRowCount),this.estimateRowCount);this.pageFirstRow=0;this.pageRowCount=0;this.pageSize=_5c7;this.minPageSize=10;this.requestCache=new nitobi.collections.CacheMap(-1,-1);this.dataCache=new nitobi.collections.CacheMap(-1,-1);this.flush();this.sortColumn=sort;this.sortDir=_5c9||"Asc";this.filter=new Array();this.onGenerateKey=_5ca;this.remoteRowCount=0;this.setRowCountKnown(false);if(_5c6==null){_5c6=0;}
if(this.mode!="unbound"){ntbAssert(_5c4!=null&&typeof(_5c4)!="undefined","getHandler is not specified for the nitobi.data.DataTable","",EBA_THROW);if(_5c4!=null){this.ajaxCallbackPool=new nitobi.ajax.HttpRequestPool(nitobi.ajax.HttpRequestPool_MAXCONNECTIONS);this.ajaxCallbackPool.context=this;this.setGetHandler(_5c4);this.setSaveHandler(_5c5);}
this.ajaxCallback=new nitobi.ajax.HttpRequest();this.ajaxCallback.responseType="xml";}else{if(_5c4!=null&&typeof(_5c4)!="string"){this.initializeXml(_5c4);}}
this.sortXslProc=nitobi.xml.createXslProcessor(nitobi.data.sortXslProc.stylesheet);this.requestQueue=new Array();this.async=true;};nitobi.data.DataTable.prototype.setOnGenerateKey=function(_5cc){this.onGenerateKey=_5cc;};nitobi.data.DataTable.prototype.getOnGenerateKey=function(){return this.onGenerateKey;};nitobi.data.DataTable.prototype.setAutoKeyEnabled=function(val){this.autoKeyEnabled=val;};nitobi.data.DataTable.prototype.isAutoKeyEnabled=function(){return this.autoKeyEnabled;};nitobi.data.DataTable.prototype.initializeXml=function(oXml){this.replaceData(oXml);var rows=this.xmlDoc.selectNodes("//"+nitobi.xml.nsPrefix+"e").length;if(rows>0){var s=this.xmlDoc.xml;s=nitobi.xml.transformToString(this.xmlDoc,this.sortXslProc,"xml");this.xmlDoc=nitobi.xml.loadXml(this.xmlDoc,s);this.dataCache.insert(0,rows-1);if(this.mode=="local"){this.setRowCountKnown(true);}}
this.setRemoteRowCount(rows);this.fire("DataInitalized");};nitobi.data.DataTable.prototype.initializeXmlData=function(oXml){var sXml=oXml;if(typeof(oXml)=="object"){sXml=oXml.xml;}
sXml=sXml.replace(/fieldnames=/g,"FieldNames=").replace(/keys=/g,"Keys=");this.xmlDoc=nitobi.xml.loadXml(this.xmlDoc,sXml);this.datastructure=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"datasourcestructure");};nitobi.data.DataTable.prototype.replaceData=function(oXml){this.initializeXmlData(oXml);var _5d4=this.datastructure.getAttribute("FieldNames");var keys=this.datastructure.getAttribute("Keys");var _5d6=this.datastructure.getAttribute("Defaults");var _5d7=this.datastructure.getAttribute("Types");this.initializeColumns(_5d4,keys,_5d7,_5d6);};nitobi.data.DataTable.prototype.initializeSchema=function(){var _5d8=this.columns.join("|");var keys=this.keys.join("|");var _5da=this.defaults.join("|");var _5db=this.types.join("|");this.dataCache.flush();this.xmlDoc=nitobi.xml.loadXml(this.xmlDoc,nitobi.data.DataTable.DEFAULT_DATA.replace(/\{id\}/g,this.id).replace(/\{fields\}/g,_5d8).replace(/\{keys\}/g,keys).replace(/\{defaults\}/g,_5da).replace(/\{types\}/g,_5db));this.datastructure=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"datasourcestructure");};nitobi.data.DataTable.prototype.initializeColumns=function(_5dc,keys,_5de,_5df){if(null!=_5dc){var _5e0=this.columns.join("|");if(_5e0==_5dc){return;}
this.columns=_5dc.split("|");}
if(null!=keys){this.keys=keys.split("|");}
if(null!=_5de){this.types=_5de.split("|");}
if(null!=_5df){this.defaults=_5df.split("|");}
if(this.xmlDoc.documentElement==null){this.initializeSchema();}
this.datastructure=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"datasourcestructure");var ds=this.datastructure;if(_5dc){ds.setAttribute("FieldNames",_5dc);}
if(keys){ds.setAttribute("Keys",keys);}
if(_5df){ds.setAttribute("Defaults",_5df);}
if(_5de){ds.setAttribute("Types",_5de);}
this.makeFieldMap();this.fire("ColumnsInitialized");};nitobi.data.DataTable.prototype.getTemplateNode=function(_5e2){var _5e3=null;if(_5e2==null){_5e2=this.defaults;}
_5e3=nitobi.xml.createElement(this.xmlDoc,"e");for(var i=0;i<this.columns.length;i++){var _5e5=(i>25?String.fromCharCode(Math.floor(i/26)+97):"")+(String.fromCharCode(i%26+97));if(this.defaults[i]==null){_5e3.setAttribute(_5e5,"");}else{_5e3.setAttribute(_5e5,this.defaults[i]);}}
return _5e3;};nitobi.data.DataTable.prototype.flush=function(){this.flushCache();this.flushLog();this.xmlDoc=nitobi.xml.createXmlDoc();};nitobi.data.DataTable.prototype.clearData=function(){this.flushCache();this.flushLog();if(this.xmlDoc){var _5e6=this.xmlDoc.selectSingleNode("//ntb:data");nitobi.xml.removeChildren(_5e6);}};nitobi.data.DataTable.prototype.flushCache=function(){if(this.mode=="caching"||this.mode=="paging"){this.dataCache.flush();}
if(this.mode!="unbound"){this.requestCache.flush();}};nitobi.data.DataTable.prototype.join=function(_5e7,_5e8,_5e9,_5ea){};nitobi.data.DataTable.prototype.merge=function(xd){};nitobi.data.DataTable.prototype.getField=function(_5ec,_5ed){var r=this.getRecord(_5ec);var a=this.fieldMap[_5ed];if(a&&r){return r.getAttribute(a.substring(1));}else{return null;}};nitobi.data.DataTable.prototype.getRecord=function(_5f0){var data=this.xmlDoc.selectNodes("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e[@xi='"+_5f0+"']");if(data.length==0){return null;}
return data[0];};nitobi.data.DataTable.prototype.beginBatchInsert=function(){this.batchInsert=true;this.batchInsertRowCount=0;};nitobi.data.DataTable.prototype.commitBatchInsert=function(){this.batchInsert=false;var _5f2=this.batchInsertRowCount;this.batchInsertRowCount=0;this.setRemoteRowCount(this.remoteRowCount+_5f2);if(_5f2>0){this.fire("RowInserted",_5f2);}};nitobi.data.DataTable.prototype.createRecord=function(_5f3,_5f4){var xi=_5f4;this.adjustXi(parseInt(xi),1);var data=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");var _5f7=_5f3||this.getTemplateNode();var _5f8=nitobi.component.getUniqueId();var _5f9=_5f7.cloneNode(true);_5f9.setAttribute("xi",xi);_5f9.setAttribute("xid",_5f8);_5f9.setAttribute("xac","i");if(this.onGenerateKey){var _5fa=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasourcestructure").getAttribute("Keys").split("|");var xml=null;for(var j=0;j<_5fa.length;j++){var _5fd=this.fieldMap[_5fa[j]].substring(1);var _5fe=_5f9.getAttribute(_5fd);if(!_5fe||_5fe==""){if(!xml){xml=eval(this.onGenerateKey);}
if(typeof(xml)=="string"||typeof(xml)=="number"){_5f9.setAttribute(_5fd,xml);}else{try{var ck1=j%26;var ck2=Math.floor(j/26);var _601=(ck2>0?String.fromCharCode(96+ck2):"")+String.fromCharCode(97+ck1);_5f9.setAttribute(_5fd,xml.selectSingleNode("//"+nitobi.xml.nsPrefix+"e").getAttribute(_601));}
catch(e){ntbAssert(false,"Key generation failed.","",EBA_THROW);}}}}}
data.appendChild(nitobi.xml.importNode(data.ownerDocument,_5f9,true));if(this.log!=null){var _602=_5f9.cloneNode(true);_602.setAttribute("xac","i");_602.setAttribute("xid",_5f8);this.logData.appendChild(nitobi.xml.importNode(this.logData.ownerDocument,_602,true));}
this.dataCache.insertIntoRange(_5f4);this.batchInsertRowCount++;if(!this.batchInsert){this.commitBatchInsert();}
return _5f9;};nitobi.data.DataTable.prototype.updateRecord=function(xi,_604,_605){var _606=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"e[@xi='"+xi+"']");ntbAssert((null!=_606),"Could not find the specified node in the data source.\nTableDataSource: "+this.id+"\nRow: "+xi,"",EBA_THROW);var xid=_606.getAttribute("xid")||"error - unknown xid";ntbAssert(("error - unknown xid"!=xid),"Could not find the specified node in the update log.\nTableDataSource: "+this.id+"\nRow: "+xi,"",EBA_THROW);var _608=(_606.getAttribute(_604)!=_605);if(!_608){return;}
var _609="";var _60a=_604;if(_606.getAttribute(_604)==null&&this.fieldMap[_604]!=null){_60a=this.fieldMap[_604].substring(1);}
_609=_606.getAttribute(_60a);_606.setAttribute(_60a,_605);var _60b="u";var _60c="u";if(null==this.log){this.flushLog();}
var _60d=_606.cloneNode(true);_60d.setAttribute("xac","u");this.logData=this.log.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");var _60e=this.logData.selectSingleNode("./"+nitobi.xml.nsPrefix+"e[@xid='"+xid+"']");_60d=nitobi.xml.importNode(this.logData.ownerDocument,_60d,true);if(null==_60e){_60d=nitobi.xml.importNode(this.logData.ownerDocument,_60d,true);this.logData.appendChild(_60d);_60d.setAttribute("xid",xid);}else{_60d.setAttribute("xac",_60e.getAttribute("xac"));this.logData.replaceChild(_60d,_60e);}
if((true==this.AutoSave)){this.save();}
this.fire("RowUpdated",{"field":_604,"newValue":_605,"oldValue":_609,"record":_60d});};nitobi.data.DataTable.prototype.deleteRecord=function(_60f){var data=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");this.logData=this.log.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");var _611=data.selectSingleNode("*[@xi = '"+_60f+"']");this.removeRecordFromXml(_60f,_611,data);this.setRemoteRowCount(this.remoteRowCount-1);this.fire("RowDeleted");};nitobi.data.DataTable.prototype.deleteRecordsArray=function(_612){var data=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");this.logData=this.log.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");var _614=null;var _615=null;for(var i=0;i<_612.length;i++){var data=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");_615=_612[i]-i;_614=data.selectSingleNode("*[@xi = '"+_615+"']");this.removeRecordFromXml(_615,_614,data);}
this.setRemoteRowCount(this.remoteRowCount-_612.length);this.fire("RowDeleted");};nitobi.data.DataTable.prototype.removeRecordFromXml=function(_617,_618,data){if(_618==null){throw"Index out of bounds in delete.";}
var xid=_618.getAttribute("xid");var xDel=this.logData.selectSingleNode("*[@xid='"+xid+"']");var sTag="";if(xDel!=null){sTag=xDel.getAttribute("xac");this.logData.removeChild(xDel);}
if(sTag!="i"){var _61d=_618.cloneNode(true);_61d.setAttribute("xac","d");this.logData.appendChild(_61d);}
data.removeChild(_618);this.adjustXi(parseInt(_617)+1,-1);this.dataCache.removeFromRange(_617);};nitobi.data.DataTable.prototype.adjustXi=function(_61e,_61f){nitobi.data.adjustXiXslProc.addParameter("startingIndex",_61e,"");nitobi.data.adjustXiXslProc.addParameter("adjustment",_61f,"");this.xmlDoc=nitobi.xml.loadXml(this.xmlDoc,nitobi.xml.transformToString(this.xmlDoc,nitobi.data.adjustXiXslProc,"xml"));if(this.log!=null){this.log=nitobi.xml.loadXml(this.log,nitobi.xml.transformToString(this.log,nitobi.data.adjustXiXslProc,"xml"));this.logData=this.log.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");}};nitobi.data.DataTable.prototype.setGetHandler=function(val){this.getHandler=val;for(var name in this.getHandlerArgs){this.setGetHandlerParameter(name,this.getHandlerArgs[name]);}};nitobi.data.DataTable.prototype.getGetHandler=function(){return this.getHandler;};nitobi.data.DataTable.prototype.setSaveHandler=function(val){this.postHandler=val;for(var name in this.saveHandlerArgs){this.setSaveHandlerParameter(name,this.saveHandlerArgs[name]);}};nitobi.data.DataTable.prototype.getSaveHandler=function(){return this.postHandler;};nitobi.data.DataTable.prototype.save=function(_624,_625){ntbAssert(this.postHandler!=null&&this.postHandler!="","A postHandler must be defined on the DataTable for saving to work.","",EBA_THROW);if(!eval(_625||"true")){return;}
try{if(this.version==2.8){var _626=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasourcestructure").getAttribute("FieldNames").split("|");var _627=this.log.selectNodes("//"+nitobi.xml.nsPrefix+"e[@xac = 'i']");for(var i=0;i<_627.length;i++){for(var j=0;j<_626.length;j++){var _62a=_627[i].getAttribute(this.fieldMap[_626[j]].substring(1));if(!_62a){_627[i].setAttribute(this.fieldMap[_626[j]].substring(1),"");}}
_627[i].setAttribute("xf",this.parentValue);}
var _62b=this.log.selectNodes("//"+nitobi.xml.nsPrefix+"e[@xac = 'u']");for(var i=0;i<_62b.length;i++){for(var j=0;j<_626.length;j++){var _62a=_62b[i].getAttribute(this.fieldMap[_626[j]].substring(1));if(!_62a){_62b[i].setAttribute(this.fieldMap[_626[j]].substring(1),"");}}}
nitobi.data.updategramTranslatorXslProc.addParameter("xkField",this.fieldMap["_xk"].substring(1),"");nitobi.data.updategramTranslatorXslProc.addParameter("fields",_626.join("|").replace(/\|_xk/,""));nitobi.data.updategramTranslatorXslProc.addParameter("datasourceId",this.id,"");this.log=nitobi.xml.transformToXml(this.log,nitobi.data.updategramTranslatorXslProc);}
var _62c=this.getSaveHandler();(_62c.indexOf("?")==-1)?_62c+="?":_62c+="&";_62c+="TableId="+this.id;_62c+="&uid="+(new Date().getTime());this.ajaxCallback=this.ajaxCallbackPool.reserve();ntbAssert(Boolean(this.ajaxCallback),"The datasource is serving too many connections. Please try again later. # current connections: "+this.ajaxCallbackPool.inUse.length);this.ajaxCallback.handler=_62c;this.ajaxCallback.responseType="xml";this.ajaxCallback.context=this;this.ajaxCallback.completeCallback=nitobi.lang.close(this,this.saveComplete);this.ajaxCallback.params=new nitobi.data.SaveCompleteEventArgs(_624);if(this.version>2.8&&this.log.selectNodes("//"+nitobi.xml.nsPrefix+"e[@xac='i']").length>0&&this.isAutoKeyEnabled()){this.ajaxCallback.async=false;}
if(this.log.documentElement.nodeName=="root"){this.log=nitobi.xml.loadXml(this.log,this.log.xml.replace(/xmlns:ntb=\"http:\/\/www.nitobi.com\"/g,""));var _626=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasourcestructure").getAttribute("FieldNames").split("|");_626.splice(_626.length-1,1);_626=_626.join("|");this.log.documentElement.setAttribute("fields",_626);this.log.documentElement.setAttribute("keys",_626);}
if(this.isAutoKeyEnabled()&&this.version<3){}
this.ajaxCallback.post(this.log);this.flushLog();}
catch(err){throw err;}};nitobi.data.DataTable.prototype.flushLog=function(){this.log=nitobi.xml.createXmlDoc(nitobi.data.DataTable.DEFAULT_LOG.replace(/\{id\}/g,this.id).replace(/\{fields\}/g,this.columns).replace(/\{keys\}/g,this.keys).replace(/\{defaults\}/g,this.defaults).replace(/\{types\}/g,this.types));this.logData=this.log.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data");};nitobi.data.DataTable.prototype.updateAutoKeys=function(_62d){try{var _62e=_62d.selectNodes("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e[@xac='i']");if(typeof(_62e)=="undefined"||_62e==null){nitobi.lang.throwError("When updating keys from the server for AutoKey support, the inserts could not be parsed.");}
var keys=_62d.selectNodes("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"datasourcestructure")[0].getAttribute("keys").split("|");if(typeof(keys)=="undefined"||keys==null||keys.length==0){nitobi.lang.throwError("When updating keys from the server for AutoKey support, no keys could be found. Ensure that the keys are sent in the request response.");}
for(var i=0;i<_62e.length;i++){var _631=this.getRecord(_62e[i].getAttribute("xi"));for(var j=0;j<keys.length;j++){var att=this.fieldMap[keys[j]].substring(1);_631.setAttribute(att,_62e[i].getAttribute(att));}}}
catch(err){nitobi.lang.throwError("When updating keys from the server for AutoKey support, the inserts could not be parsed.",err);}};nitobi.data.DataTable.prototype.saveComplete=function(_634){var xd=_634.response;var _634=_634.params;try{if(this.isAutoKeyEnabled()&&this.version>2.8){this.updateAutoKeys(xd);}
if(this.version==2.8&&!this.onGenerateKey){var rows=xd.selectNodes("//insert");for(var i=0;i<rows.length;i++){var xk=rows[i].getAttribute("xk");if(xk!=null){var _639=this.findWithoutMap("xid",rows[i].getAttribute("xid"))[0];var key=this.fieldMap["_xk"].substring(1);var _63b=this.fieldMap[this.primaryField].substring(1);_639.setAttribute(key,xk);_639.setAttribute(_63b,xk);}}}
if(null!=_634.result){ntbAssert((null==errorMessage),"Data Save Error:"+errorMessage,EBA_EM_ATTRIBUTE_ERROR,EBA_ERROR);}
var node=xd.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource")||xd.selectSingleNode("/root");var e=null;if(node){e=node.getAttribute("error");}
if(e){this.setHandlerError(e);}else{this.setHandlerError(null);}
this.ajaxCallbackPool.release(this.ajaxCallback);var _63e=new nitobi.data.OnAfterSaveEventArgs(this,xd);_634.callback.call(this,_63e);}
catch(err){this.ajaxCallbackPool.release(this.ajaxCallback);ebaErrorReport(err,"",EBA_ERROR);}};nitobi.data.DataTable.prototype.makeFieldMap=function(){var _63f=this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource");var cf=0;var ck=0;this.fieldMap=new Array();var cF=this.columns.length;for(var i=0;i<cF;i++){var _644=this.columns[i];this.fieldMap[_644]=this.getFieldName(ck);ck++;}};nitobi.data.DataTable.prototype.getFieldName=function(_645){var ck1=_645%26;var ck2=Math.floor(_645/26);return"@"+(ck2>0?String.fromCharCode(96+ck2):"")+String.fromCharCode(97+ck1);};nitobi.data.DataTable.prototype.find=function(_648,_649){var _64a=this.fieldMap[_648];if(_64a){return this.findWithoutMap(_64a,_649);}else{return new Array();}};nitobi.data.DataTable.prototype.findWithoutMap=function(_64b,_64c){if(_64b.charAt(0)!="@"){_64b="@"+_64b;}
return this.xmlDoc.selectNodes("//"+nitobi.xml.nsPrefix+"e["+_64b+"=\""+_64c+"\"]");};nitobi.data.DataTable.prototype.sort=function(_64d,dir,type,_650){if(_650){_64d=this.fieldMap[_64d];_64d=_64d.substring(1);dir=(dir=="Desc")?"descending":"ascending";type=(type=="number")?"number":"text";this.sortXslProc.addParameter("column",_64d,"");this.sortXslProc.addParameter("dir",dir,"");this.sortXslProc.addParameter("type",type,"");this.xmlDoc=nitobi.xml.loadXml(this.xmlDoc,nitobi.xml.transformToString(this.xmlDoc,this.sortXslProc,"xml"));this.fire("DataSorted");}else{this.sortColumn=_64d;this.sortDir=dir||"Asc";}};nitobi.data.DataTable.prototype.syncRowCount=function(){this.setRemoteRowCount(this.descriptor.estimatedRowCount);};nitobi.data.DataTable.prototype.setRemoteRowCount=function(rows){var _652=this.remoteRowCount;this.remoteRowCount=rows;if(this.remoteRowCount!=_652){this.fire("RowCountChanged",rows);}};nitobi.data.DataTable.prototype.getRemoteRowCount=function(){return this.remoteRowCount;};nitobi.data.DataTable.prototype.getRows=function(){return this.xmlDoc.selectNodes("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e").length;};nitobi.data.DataTable.prototype.getXmlDoc=function(){return this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']");};nitobi.data.DataTable.prototype.getRowNodes=function(){return this.xmlDoc.selectNodes("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e");};nitobi.data.DataTable.prototype.getColumns=function(){return this.fieldMap.length;};nitobi.data.DataTable.prototype.setGetHandlerParameter=function(name,_654){if(this.getHandler!=null&&this.getHandler!=""){this.getHandler=nitobi.html.setUrlParameter(this.getHandler,name,_654);}
this.getHandlerArgs[name]=_654;};nitobi.data.DataTable.prototype.setSaveHandlerParameter=function(name,_656){if(this.postHandler!=null&&this.postHandler!=""){this.postHandler=nitobi.html.setUrlParameter(this.getSaveHandler(),name,_656);}
this.saveHandlerArgs[name]=_656;};nitobi.data.DataTable.prototype.getChangeLogSize=function(){if(null==this.log){return 0;}
return this.log.selectNodes("//"+nitobi.xml.nsPrefix+"e").length;};nitobi.data.DataTable.prototype.getChangeLogXmlDoc=function(){return this.log;};nitobi.data.DataTable.prototype.getDataXmlDoc=function(){return this.xmlDoc;};nitobi.data.DataTable.prototype.dispose=function(){this.flush();this.ajaxCallbackPool.context=null;for(var item in this){if(this[item]!=null&&this[item].dispose instanceof Function){this[item].dispose();}
this[item]=null;}};nitobi.data.DataTable.prototype.getTable=function(_658,_659,_65a){this.errorCallback=_65a;var _65b=this.ajaxCallbackPool.reserve();ntbAssert(Boolean(_65b),"The datasource is serving too many connections. Please try again later. # current connections: "+this.ajaxCallbackPool.inUse.length);var _65c=this.getGetHandler();_65b.handler=_65c;_65b.responseType="xml";_65b.context=this;_65b.completeCallback=nitobi.lang.close(this,this.getComplete);_65b.async=this.async;_65b.params=new nitobi.data.GetCompleteEventArgs(null,null,0,null,_65b,this,_658,_659);if(typeof(_659)!="function"||this.async==false){_65b.async=false;return this.getComplete({"response":_65b.get(),"params":_65b.params});}else{_65b.get();}};nitobi.data.DataTable.prototype.getComplete=function(_65d){var xd=_65d.response;var _65f=_65d.params;if(this.mode!="caching"){this.xmlDoc=nitobi.xml.createXmlDoc();}
if(null==xd||null==xd.xml||""==xd.xml){var _660="No parse error.";if(nitobi.xml.hasParseError(xd)){if(xd==null){_660="Blank Response was Given";}else{_660=nitobi.xml.getParseErrorReason(xd);}}
ntbAssert(null!=this.errorCallback,"The server returned either an error or invalid XML but there is no error handler in the DataTable.\nThe parse error content was:\n"+_660);if(this.errorCallback){this.errorCallback.call(this.context);}
this.fire("DataReady",_65f);return _65f;}else{if(typeof(this.successCallback)=="function"){this.successCallback.call(this.context);}}
if(!this.configured){this.configureFromData(xd);}
xd=this.parseResponse(xd,_65f);xd=this.assignRowIds(xd);var _661=null;_661=xd.selectNodes("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e");var _662;var _663=_661.length;if(_65f.pageSize==null){_65f.pageSize=_663;_65f.lastRow=_65f.startXi+_65f.pageSize-1;_65f.firstRow=_65f.startXi;}
if(0!=_663){ntbAssert(_661[0].getAttribute("xi")==(_65f.startXi),"The gethandler returned a different first row than requested.");_662=parseInt(_661[_661.length-1].getAttribute("xi"));if(this.mode=="paging"){this.dataCache.insert(0,_65f.pageSize-1);}else{this.dataCache.insert(_65f.firstRow,_662);}}else{_662=-1;_65f.pageSize=0;if(this.totalRowCount==null){var pct=this.descriptor.lastKnownRow/this.descriptor.estimatedRowCount||0;this.fire("PastEndOfData",pct);}}
_65f.numRowsReturned=_663;_65f.lastRowReturned=_662;var _665=_65f.startXi;var _666=_65f.pageSize;if(!isNaN(_665)&&!isNaN(_666)&&_665!=0){this.requestCache.remove(_665,_665+_666-1);}
if(this.mode!="caching"){this.replaceData(xd);}else{this.mergeData(xd);}
if(!this.totalRowCount){var _667=this.xmlDoc.selectSingleNode("//ntb:datasource").getAttribute("totalrowcount");_667=parseInt(_667);if(!isNaN(_667)){this.totalRowCount=_667;}
this.fire("TotalRowCountReady",this.totalRowCount);}
var _668=this.xmlDoc.selectSingleNode("//ntb:datasource").getAttribute("parentfield");var _669=this.xmlDoc.selectSingleNode("//ntb:datasource").getAttribute("primaryfield");var _66a=this.xmlDoc.selectSingleNode("//ntb:datasource").getAttribute("parentvalue");this.parentField=_668||"";this.parentValue=_66a||"";this.primaryField=_669||"";this.updateFromDescriptor(_65f);this.fire("RowCountReady",_65f);if(null!=_65f.ajaxCallback){this.ajaxCallbackPool.release(_65f.ajaxCallback);}
this.executeRequests();var node=xd.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource");var e=null;if(node){e=node.getAttribute("error");}
if(e){this.setHandlerError(e);}else{this.setHandlerError(null);}
this.fire("DataReady",_65f);if(null!=_65f.callback&&null!=_65f.context){_65f.callback.call(_65f.context,_65f);_65f.dispose();_65f=null;}else{return _65f;}};nitobi.data.DataTable.prototype.executeRequests=function(){var _66d=this.requestQueue;this.requestQueue=new Array();for(var i=0;i<_66d.length;i++){_66d[i].call();}};nitobi.data.DataTable.prototype.updateFromDescriptor=function(_66f){if(this.totalRowCount==null){this.descriptor.update(_66f);}
if(this.mode=="paging"){this.setRemoteRowCount(_66f.numRowsReturned);}else{if(this.totalRowCount!=null){this.setRemoteRowCount(this.getTotalRowCount());}else{this.setRemoteRowCount(this.descriptor.estimatedRowCount);}}
this.setRowCountKnown(this.descriptor.isAtEndOfTable);};nitobi.data.DataTable.prototype.setRowCountKnown=function(_670){var _671=this.rowCountKnown;this.rowCountKnown=_670;if(_670&&this.rowCountKnown!=_671){this.fire("RowCountKnown",this.remoteRowCount);}};nitobi.data.DataTable.prototype.getRowCountKnown=function(){return this.rowCountKnown;};nitobi.data.DataTable.prototype.configureFromData=function(xd){this.version=this.inferDataVersion(xd);if(this.mode=="unbound"){}
if(this.mode=="static"){}
if(this.mode=="paging"){}
if(this.mode=="caching"){}};nitobi.data.DataTable.prototype.mergeData=function(xd){if(this.xmlDoc.xml==""){this.initializeXml(xd);return;}
var p=nitobi.xml.nsPrefix;var _675="//"+p+"datasource[@id = '"+this.id+"']/"+p+"data";var _676=xd.selectNodes(_675+"//"+p+"e");var _677=this.xmlDoc.selectSingleNode(_675);var len=_676.length;for(var i=0;i<len;i++){if(this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e[@xi='"+_676[i].getAttribute("xi")+"']")){continue;}
_677.appendChild(nitobi.xml.importNode(_677.ownerDocument,_676[i],true));}};nitobi.data.DataTable.prototype.assignRowIds=function(xd){nitobi.data.addXidXslProc.addParameter("guid",nitobi.component.getUniqueId(),"");var doc=nitobi.xml.loadXml(xd,nitobi.xml.transformToString(xd,nitobi.data.addXidXslProc,"xml"));return doc;};nitobi.data.DataTable.prototype.inferDataVersion=function(xd){if(xd.selectSingleNode("/root")){return 2.8;}
return 3;};nitobi.data.DataTable.prototype.parseResponse=function(xd,_67e){if(this.version==2.8){return this.parseLegacyResponse(xd,_67e);}else{return this.parseStructuredResponse(xd,_67e);}};nitobi.data.DataTable.prototype.parseLegacyResponse=function(xd,_680){var _681=this.mode=="paging"?0:_680.startXi;nitobi.data.dataTranslatorXslProc.addParameter("start",_681,"");nitobi.data.dataTranslatorXslProc.addParameter("id",this.id,"");var _682=xd.selectSingleNode("/root").getAttribute("fields");var _683=_682.split("|");var i=_683.length;var _685=(i>25?String.fromCharCode(Math.floor(i/26)+96):"")+(String.fromCharCode(i%26+97));nitobi.data.dataTranslatorXslProc.addParameter("xkField",_685,"");xd=nitobi.xml.transformToXml(xd,nitobi.data.dataTranslatorXslProc);return xd;};nitobi.data.DataTable.prototype.parseStructuredResponse=function(xd,_687){xd=nitobi.xml.loadXml(xd,"<ntb:grid xmlns:ntb=\"http://www.nitobi.com\"><ntb:datasources>"+xd.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']").xml+"</ntb:datasources></ntb:grid>");var _688=xd.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.id+"']/"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e");var _689=this.mode=="paging"?0:_687.startXi;if(_688){ntbAssert(Boolean(_688.getAttribute("xi")),"No xi was returned in the data from the server. Server must return xi's in the new format.","",EBA_THROW);ntbAssert(_689>=0,"startXI is incorrect.");if(_688.getAttribute("xi")!=_689){nitobi.data.adjustXiXslProc.addParameter("startingIndex","0","");nitobi.data.adjustXiXslProc.addParameter("adjustment",_689,"");xd=nitobi.xml.loadXml(xd,nitobi.xml.transformToString(xd,nitobi.data.adjustXiXslProc,"xml"));}}
return xd;};nitobi.data.DataTable.prototype.forceGet=function(_68a,_68b,_68c,_68d,_68e,_68f){this.errorCallback=_68e;this.successCallback=_68f;this.context=_68c;var _690=this.getGetHandler();(_690.indexOf("?")==-1)?_690+="?":_690+="&";_690+="StartRecordIndex=0&start=0&PageSize="+_68b+"&SortColumn="+(this.sortColumn||"")+"&SortDirection="+this.sortDir+"&TableId="+this.id+"&uid="+(new Date().getTime());var _691=this.ajaxCallbackPool.reserve();ntbAssert(Boolean(_691),"The datasource is serving too many connections. Please try again later. # current connections: "+this.ajaxCallbackPool.inUse.length);_691.handler=_690;_691.responseType="xml";_691.context=this;_691.completeCallback=nitobi.lang.close(this,this.getComplete);_691.params=new nitobi.data.GetCompleteEventArgs(0,_68b-1,0,_68b,_691,this,_68c,_68d);_691.get();return;};nitobi.data.DataTable.prototype.getPage=function(_692,_693,_694,_695,_696,_697){ntbAssert(this.getHandler.indexOf("GridId")!=-1,"The gethandler has not gridId specified on it.");var _698=_692+_693-1;var _699=this.dataCache.gaps(0,_693-1);var _69a=_699.length;if(_69a){var _69b=this.requestCache.gaps(_692,_698);if(_69b.length==0){var _69c=nitobi.lang.close(this,this.get,arguments);this.requestQueue.push(_69c);return;}
this.getFromServer(_692,_698,_692,_698,_694,_695,_696);}else{this.getFromCache(_692,_693,_694,_695,_696);}};nitobi.data.DataTable.prototype.get=function(_69d,_69e,_69f,_6a0,_6a1){this.errorCallback=_6a1;var _6a2=null;if(this.mode=="caching"){_6a2=this.getCached(_69d,_69e,_69f,_6a0,_6a1);}
if(this.mode=="local"||this.mode=="static"){_6a2=this.getTable(_69f,_6a0,_6a1);}
if(this.mode=="paging"){_6a2=this.getPage(_69d,_69e,_69f,_6a0,_6a1);}
return _6a2;};nitobi.data.DataTable.prototype.inCache=function(_6a3,_6a4){if(this.mode=="local"){return true;}
var _6a5=_6a3,_6a6=_6a3+_6a4-1;var _6a7=this.getRemoteRowCount()-1;if(this.getRowCountKnown()&&_6a7<_6a6){_6a6=_6a7;}
var _6a8=this.dataCache.gaps(_6a5,_6a6);var _6a9=_6a8.length;return!(_6a9>0);};nitobi.data.DataTable.prototype.cachedRanges=function(_6aa,_6ab){return this.dataCache.ranges(_6aa,_6ab);};nitobi.data.DataTable.prototype.getCached=function(_6ac,_6ad,_6ae,_6af,_6b0,_6b1){if(_6ad==null){return this.getFromServer(_6b2,null,_6ac,null,_6ae,_6af,_6b0);}
var _6b2=_6ac,_6b3=_6ac+_6ad-1;var _6b4=this.dataCache.gaps(_6b2,_6b3);var _6b5=_6b4.length;ntbAssert(_6b5==_6b4.length,"numCacheGaps != gaps.length despite setting it so. Concurrency problem has arisen.");if(this.mode!="unbound"&&_6b5>0){var low=_6b4[_6b5-1].low;var high=_6b4[_6b5-1].high;var _6b8=this.requestCache.gaps(low,high);if(_6b8.length==0){var _6b9=nitobi.lang.close(this,this.get,arguments);this.requestQueue.push(_6b9);return;}
return this.getFromServer(_6b2,_6b3,low,high,_6ae,_6af,_6b0);}else{this.getFromCache(_6ac,_6ad,_6ae,_6af,_6b0);}};nitobi.data.DataTable.prototype.getFromServer=function(_6ba,_6bb,low,high,_6be,_6bf,_6c0){ntbAssert(this.getHandler!=null&&typeof(this.getHandler)!="undefined","getHandler not defined in table eba.datasource",EBA_THROW);this.requestCache.insert(low,high);var _6c1=(_6bb==null?null:(high-low+1));var _6c2=(_6c1==null?"":_6c1);var _6c3=this.getGetHandler();(_6c3.indexOf("?")==-1)?_6c3+="?":_6c3+="&";_6c3+="StartRecordIndex="+low+"&start="+low+"&PageSize="+(_6c2)+"&SortColumn="+(this.sortColumn||"")+"&SortDirection="+this.sortDir+"&uid="+(new Date().getTime());var _6c4=this.ajaxCallbackPool.reserve();ntbAssert(Boolean(_6c4),"The datasource is serving too many connections. Please try again later. # current connections: "+this.ajaxCallbackPool.inUse.length);_6c4.handler=_6c3;_6c4.responseType="xml";_6c4.context=this;_6c4.completeCallback=nitobi.lang.close(this,this.getComplete);_6c4.async=this.async;_6c4.params=new nitobi.data.GetCompleteEventArgs(_6ba,_6bb,low,_6c1,_6c4,this,_6be,_6bf);return _6c4.get();};nitobi.data.DataTable.prototype.getFromCache=function(_6c5,_6c6,_6c7,_6c8,_6c9){var _6ca=_6c5,_6cb=_6c5+_6c6-1;if(_6ca>0||_6cb>0){if(typeof(_6c8)=="function"){var _6cc=new nitobi.data.GetCompleteEventArgs(_6ca,_6cb,_6ca,_6cb-_6ca+1,null,this,_6c7,_6c8);_6cc.callback.call(_6cc.context,_6cc);}}};nitobi.data.DataTable.prototype.mergeFromXml=function(_6cd,_6ce){var _6cf=Number(_6cd.documentElement.firstChild.getAttribute("xi"));var _6d0=Number(_6cd.documentElement.lastChild.getAttribute("xi"));var _6d1=this.dataCache.gaps(_6cf,_6d0);if(this.mode=="local"&&_6d1.length==1){this.dataCache.insert(_6d1[0].low,_6d1[0].high);this.mergeFromXmlGetComplete(_6cd,_6ce,_6cf,_6d0);this.batchInsertRowCount=(_6d1[0].high-_6d1[0].low+1);this.commitBatchInsert();return;}
if(_6d1.length==0){this.mergeFromXmlGetComplete(_6cd,_6ce,_6cf,_6d0);}else{if(_6d1.length==1){this.get(_6d1[0].low,_6d1[0].high-_6d1[0].low+1,this,nitobi.lang.close(this,this.mergeFromXmlGetComplete,[_6cd,_6ce,_6cf,_6d0]));}else{this.forceGet(_6cf,_6d0,this,nitobi.lang.close(this,this.mergeFromXmlGetComplete,[_6cd,_6ce,_6cf,_6d0]));}}};nitobi.data.DataTable.prototype.mergeFromXmlGetComplete=function(_6d2,_6d3,_6d4,_6d5){var _6d6=nitobi.xml.createElement(this.xmlDoc,"newdata");_6d6.appendChild(_6d2.documentElement.cloneNode(true));this.xmlDoc.documentElement.appendChild(nitobi.xml.importNode(this.xmlDoc,_6d6,true));nitobi.data.mergeEbaXmlXslProc.addParameter("startRowIndex",_6d4,"");nitobi.data.mergeEbaXmlXslProc.addParameter("endRowIndex",_6d5,"");nitobi.data.mergeEbaXmlXslProc.addParameter("guid",nitobi.component.getUniqueId(),"");this.xmlDoc=nitobi.xml.loadXml(this.xmlDoc,nitobi.xml.transformToString(this.xmlDoc,nitobi.data.mergeEbaXmlXslProc,"xml"));_6d6=nitobi.xml.createElement(this.log,"newdata");var _6d7=_6d2.selectNodes("//"+nitobi.xml.nsPrefix+"e");var _6d8=0;for(var i=0;i<_6d7.length;i++){_6d8=_6d7[i].attributes.getNamedItem("xi").value;_6d6.appendChild(this.xmlDoc.selectSingleNode("/"+nitobi.xml.nsPrefix+"grid/"+nitobi.xml.nsPrefix+"datasources/"+nitobi.xml.nsPrefix+"datasource/"+nitobi.xml.nsPrefix+"data/"+nitobi.xml.nsPrefix+"e[@xi="+_6d8+"]").cloneNode(true));}
this.log.documentElement.appendChild(nitobi.xml.importNode(this.log,_6d6,true));nitobi.data.mergeEbaXmlToLogXslProc.addParameter("defaultAction","u","");this.log=nitobi.xml.loadXml(this.log,nitobi.xml.transformToString(this.log,nitobi.data.mergeEbaXmlToLogXslProc,"xml"));this.xmlDoc.documentElement.removeChild(this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"newdata"));this.log.documentElement.removeChild(this.log.selectSingleNode("//"+nitobi.xml.nsPrefix+"newdata"));_6d3.call();};nitobi.data.DataTable.prototype.fillColumn=function(_6da,_6db){nitobi.data.fillColumnXslProc.addParameter("column",this.fieldMap[_6da].substring(1));nitobi.data.fillColumnXslProc.addParameter("value",_6db);this.xmlDoc.loadXML(nitobi.xml.transformToString(this.xmlDoc,nitobi.data.fillColumnXslProc,"xml"));var _6dc=parseFloat((new Date()).getTime());var _6dd=nitobi.xml.createElement(this.log,"newdata");this.log.documentElement.appendChild(nitobi.xml.importNode(this.log,_6dd,true));_6dd.appendChild(this.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"data").cloneNode(true));nitobi.data.mergeEbaXmlToLogXslProc.addParameter("defaultAction","u");this.log.loadXML(nitobi.xml.transformToString(this.log,nitobi.data.mergeEbaXmlToLogXslProc,"xml"));nitobi.data.mergeEbaXmlToLogXslProc.addParameter("defaultAction","");this.log.documentElement.removeChild(this.log.selectSingleNode("//"+nitobi.xml.nsPrefix+"newdata"));};nitobi.data.DataTable.prototype.getTotalRowCount=function(){return this.totalRowCount;};nitobi.data.DataTable.prototype.setHandlerError=function(_6de){this.handlerError=_6de;};nitobi.data.DataTable.prototype.getHandlerError=function(){return this.handlerError;};nitobi.data.DataTable.prototype.dispose=function(){this.sortXslProc=null;this.requestQueue=null;this.fieldMap=null;};nitobi.data.DataTable.prototype.fire=function(evt,args){return nitobi.event.notify(evt+this.uid,args);};nitobi.data.DataTable.prototype.subscribe=function(evt,func,_6e3){if(typeof(_6e3)=="undefined"){_6e3=this;}
return nitobi.event.subscribe(evt+this.uid,nitobi.lang.close(_6e3,func));};nitobi.lang.defineNs("nitobi.data");nitobi.data.DataTableDescriptor=function(_6e4,_6e5,_6e6){this.disposal=[];this.estimatedRowCount=0;this.leapMultiplier=2;this.estimateRowCount=(_6e6==null?true:_6e6);this.lastKnownRow=0;this.isAtEndOfTable=false;this.table=_6e4;this.lowestEmptyRow=0;this.tableProjectionUpdatedEvent=_6e5;this.disposal.push(this.tableProjectionUpdatedEvent);};nitobi.data.DataTableDescriptor.prototype.startPeek=function(){this.enablePeek=true;this.peek();};nitobi.data.DataTableDescriptor.prototype.peek=function(){var _6e7;if(this.lowestEmptyRow>0){var _6e8=this.lowestEmptyRow-this.lastKnownRow;_6e7=this.lastKnownRow+Math.round(_6e8/2);}else{_6e7=(this.estimatedRowCount*this.leapMultiplier);}
this.table.get(Math.round(_6e7),1,this,this.peekComplete);};nitobi.data.DataTableDescriptor.prototype.peekComplete=function(_6e9){if(this.enablePeek){window.setTimeout(nitobi.lang.close(this,this.peek),1000);}};nitobi.data.DataTableDescriptor.prototype.stopPeek=function(){this.enablePeek=false;};nitobi.data.DataTableDescriptor.prototype.leap=function(_6ea,_6eb){if(this.lowestEmptyRow>0){var _6ec=this.lowestEmptyRow-this.lastKnownRow;this.estimatedRowCount=this.lastKnownRow+Math.round(_6ec/2);}else{if(_6ea==null||_6eb==null){this.estimatedRowCount=0;}else{if(this.estimateRowCount){this.estimatedRowCount=(this.estimatedRowCount*_6ea)+_6eb;}}}
this.fireProjectionUpdatedEvent();};nitobi.data.DataTableDescriptor.prototype.update=function(_6ed,_6ee){if(null==_6ee){_6ee=false;}
if(this.isAtEndOfTable&&!_6ee){return false;}
var _6ef=(_6ed!=null&&_6ed.numRowsReturned==0&&_6ed.startXi==0);var _6f0=(_6ed!=null&&_6ed.lastRow!=_6ed.lastRowReturned);if(null==_6ed){_6ed={lastPage:false,pageSize:1,firstRow:0,lastRow:0,startXi:0};}
var _6f1=(_6ef)||(_6f0)||(this.isAtEndOfTable)||((this.lastKnownRow==this.estimatedRowCount-1)&&(this.estimatedRowCount==this.lowestEmptyRow));if(_6ed.pageSize==0&&!_6f1){this.lowestEmptyRow=this.lowestEmptyRow>0?Math.min(_6ed.startXi,this.lowestEmptyRow):_6ed.startXi;this.leap();return true;}
this.lastKnownRow=Math.max(_6ed.lastRowReturned,this.lastKnownRow);if(_6f1&&!_6ee){if(_6ed.lastRowReturned>=0){this.estimatedRowCount=_6ed.lastRowReturned+1;this.isAtEndOfTable=true;}else{if(_6ef){this.estimatedRowCount=0;this.isAtEndOfTable=true;}else{this.estimatedRowCount=this.lastKnownRow+Math.ceil((_6ed.lastRow-this.lastKnownRow)/2);}}
this.fireProjectionUpdatedEvent();this.stopPeek();return true;}
if(!this.estimateRowCount){this.estimatedRowCount=this.lastKnownRow+1;}
if(this.estimatedRowCount==0){this.estimatedRowCount=(_6ed.lastRow+1)*(this.estimateRowCount?2:1);}
if((this.estimatedRowCount>(_6ed.lastRow+1)&&!_6ee)||!this.estimateRowCount){return false;}
if(!this.isAtEndOfTable){this.leap(this.leapMultiplier,0);return true;}
return false;};nitobi.data.DataTableDescriptor.prototype.reset=function(){this.estimatedRowCount=0;this.leapMultiplier=2;this.lastKnownRow=0;this.isAtEndOfTable=false;this.lowestEmptyRow=0;this.fireProjectionUpdatedEvent();};nitobi.data.DataTableDescriptor.prototype.fireProjectionUpdatedEvent=function(_6f2){if(this.tableProjectionUpdatedEvent!=null){this.tableProjectionUpdatedEvent(_6f2);}};nitobi.data.DataTableDescriptor.prototype.dispose=function(){nitobi.lang.dispose(this,this.disposal);};nitobi.lang.defineNs("nitobi.data");if(false){nitobi.data=function(){};}
nitobi.data.DataTableEventArgs=function(_6f3){this.source=_6f3;this.event=nitobi.html.Event;};nitobi.data.DataTableEventArgs.prototype.getSource=function(){return this.source;};nitobi.data.DataTableEventArgs.prototype.getEvent=function(){return this.event;};nitobi.data.GetCompleteEventArgs=function(_6f4,_6f5,_6f6,_6f7,_6f8,_6f9,obj,_6fb){this.firstRow=_6f4;this.lastRow=_6f5;this.callback=_6fb;this.dataSource=_6f9;this.context=obj;this.ajaxCallback=_6f8;this.startXi=_6f6;this.pageSize=_6f7;this.lastPage=false;this.status="success";};nitobi.data.GetCompleteEventArgs.prototype.dispose=function(){this.callback=null;this.context=null;this.dataSource=null;this.ajaxCallback.clear();this.ajaxCallback==null;};nitobi.data.SaveCompleteEventArgs=function(_6fc){this.callback=_6fc;};nitobi.data.SaveCompleteEventArgs.prototype.initialize=function(){};nitobi.data.OnAfterSaveEventArgs=function(_6fd,_6fe,_6ff){nitobi.data.OnAfterSaveEventArgs.baseConstructor.call(this,_6fd);this.success=_6ff;this.responseData=_6fe;};nitobi.lang.extend(nitobi.data.OnAfterSaveEventArgs,nitobi.data.DataTableEventArgs);nitobi.data.OnAfterSaveEventArgs.prototype.getResponseData=function(){return this.responseData;};nitobi.data.OnAfterSaveEventArgs.prototype.getSuccess=function(){return this.success;};nitobi.lang.defineNs("nitobi.form");if(false){nitobi.form=function(){};}
nitobi.form.Control=function(){this.owner=null;this.placeholder=null;var div=nitobi.html.createElement("div");div.innerHTML="<table border='0' cellpadding='0' cellspacing='0' class='ntb-input-border'><tr><td></td></tr></table>";var ph=this.placeholder=div.firstChild;this.cell=null;this.ignoreBlur=false;this.editCompleteHandler=function(){};this.onKeyUp=new nitobi.base.Event();this.onKeyDown=new nitobi.base.Event();this.onKeyPress=new nitobi.base.Event();this.onChange=new nitobi.base.Event();this.onCancel=new nitobi.base.Event();this.onTab=new nitobi.base.Event();this.onEnter=new nitobi.base.Event();};nitobi.form.Control.prototype.initialize=function(){};nitobi.form.Control.prototype.mimic=function(){};nitobi.form.Control.prototype.deactivate=function(evt){if(this.ignoreBlur){return false;}
this.ignoreBlur=true;};nitobi.form.Control.prototype.bind=function(_703,cell){this.owner=_703;this.cell=cell;this.ignoreBlur=false;};nitobi.form.Control.prototype.hide=function(){this.placeholder.style.left="-2000px";};nitobi.form.Control.prototype.attachToParent=function(_705){_705.appendChild(this.placeholder);};nitobi.form.Control.prototype.show=function(){this.placeholder.style.display="block";};nitobi.form.Control.prototype.focus=function(){this.control.focus();this.ignoreBlur=false;};nitobi.form.Control.prototype.align=function(){var oY=1,oX=1,oH=1,oW=1;if(nitobi.browser.MOZ&&!nitobi.browser.FF3){var _70a=this.owner.getScrollSurface();var _70b=this.owner.getActiveView().region;if(_70b==3||_70b==4){oY=_70a.scrollTop-nitobi.form.EDITOR_OFFSETY;}
if(_70b==1||_70b==4){oX=_70a.scrollLeft-nitobi.form.EDITOR_OFFSETX;}}
nitobi.drawing.align(this.placeholder,this.cell.getDomNode(),286265344,oH,oW,-oY,-oX);};nitobi.form.Control.prototype.selectText=function(){this.focus();if(this.control&&this.control.createTextRange){var _70c=this.control.createTextRange();_70c.collapse(false);_70c.select();}};nitobi.form.Control.prototype.checkValidity=function(evt){var _70e=this.deactivate(evt);if(_70e==false){nitobi.html.cancelBubble(evt);return false;}
return true;};nitobi.form.Control.prototype.handleKey=function(evt){var k=evt.keyCode;if(this.onKeyDown.notify(evt)==false){return;}
var K=nitobi.form.Keys;var y=0;var x=0;if(k==K.UP){y=-1;}else{if(k==K.DOWN){y=1;}else{if(k==K.TAB){x=1;if(evt.shiftKey){x=-1;}
if(nitobi.browser.IE){evt.keyCode="";}}else{if(k==K.ENTER){y=1;}else{if(k==K.ESC){this.ignoreBlur=true;this.hide();this.owner.focus();this.onCancel.notify(this);}
return;}}}}
if(!this.checkValidity(evt)){return;}
this.owner.move(x,y);nitobi.html.cancelBubble(evt);};nitobi.form.Control.prototype.handleKeyUp=function(evt){this.onKeyUp.notify(evt);};nitobi.form.Control.prototype.handleKeyPress=function(evt){this.onKeyPress.notify(evt);};nitobi.form.Control.prototype.handleChange=function(evt){this.onChange.notify(evt);};nitobi.form.Control.prototype.setEditCompleteHandler=function(_717){this.editCompleteHandler=_717;};nitobi.form.Control.prototype.eSET=function(name,args){var _71a=args[0];var _71b=_71a;var _71c=name.substr(2);_71c=_71c.substr(0,_71c.length-5);if(typeof(_71a)=="string"){_71b=function(){return nitobi.event.evaluate(_71a,arguments[0]);};}
if(this[_71c]!=null){this[name].unSubscribe(this[_71c]);}
var guid=this[name].subscribe(_71b);this.jSET(_71c,[guid]);return guid;};nitobi.form.Control.prototype.afterDeactivate=function(text,_71f){_71f=_71f||text;if(this.editCompleteHandler!=null){var _720=new nitobi.grid.EditCompleteEventArgs(this,text,_71f,this.cell);var _721=this.editCompleteHandler.call(this.owner,_720);if(!_721){this.ignoreBlur=false;}
return _721;}};nitobi.form.Control.prototype.jSET=function(name,val){this[name]=val[0];};nitobi.form.Control.prototype.dispose=function(){for(var item in this){}};nitobi.form.IBlurable=function(_725,_726){this.selfBlur=false;this.elements=_725;var H=nitobi.html;for(var i=0;i<this.elements.length;i++){var e=this.elements[i];H.attachEvent(e,"mousedown",this.handleMouseDown,this);H.attachEvent(e,"blur",this.handleBlur,this);H.attachEvent(e,"focus",this.handleFocus,this);H.attachEvent(e,"mouseup",this.handleMouseUp,this);}
this.blurFunc=_726;this.lastFocus=null;};nitobi.form.IBlurable.prototype.removeBlurable=function(){for(var i=0;i<elems.length;i++){nitobi.html.detachEvent(elems[i],"mousedown",this.handleMouseDown,this);}};nitobi.form.IBlurable.prototype.handleMouseDown=function(evt){if(this.lastFocus!=evt.srcElement){this.selfBlur=true;}else{this.selfBlur=false;}
this.lastFocus=evt.srcElement;};nitobi.form.IBlurable.prototype.handleBlur=function(evt){if(!this.selfBlur){this.blurFunc(evt);}
this.selfBlur=false;};nitobi.form.IBlurable.prototype.handleFocus=function(){this.selfBlur=false;};nitobi.form.IBlurable.prototype.handleMouseUp=function(){this.selfBlur=false;};nitobi.form.Text=function(){nitobi.form.Text.baseConstructor.call(this);var ph=this.placeholder;ph.setAttribute("id","text_span");ph.style.top="0px";ph.style.left="-5000px";var tc=this.control=nitobi.html.createElement("input",{"id":"ntb-textbox"},{"style":"width: 100px;"});tc.setAttribute("maxlength",255);this.events=[{type:"keydown",handler:this.handleKey},{type:"keyup",handler:this.handleKeyUp},{type:"keypress",handler:this.handleKeyPress},{type:"change",handler:this.handleChange},{type:"blur",handler:this.deactivate}];};nitobi.lang.extend(nitobi.form.Text,nitobi.form.Control);nitobi.form.Text.prototype.initialize=function(){var _72f=this.placeholder.rows[0].cells[0];_72f.appendChild(this.control);nitobi.html.attachEvents(this.control,this.events,this);};nitobi.form.Text.prototype.bind=function(_730,cell,_732){nitobi.form.Text.base.bind.apply(this,arguments);if(_732!=null&&_732!=""){this.control.value=_732;}else{this.control.value=cell.getValue();}
var _733=this.cell.getColumnObject().getModel();this.eSET("onKeyPress",[_733.getAttribute("OnKeyPressEvent")]);this.eSET("onKeyDown",[_733.getAttribute("OnKeyDownEvent")]);this.eSET("onKeyUp",[_733.getAttribute("OnKeyUpEvent")]);this.eSET("onChange",[_733.getAttribute("OnChangeEvent")]);this.control.setAttribute("maxlength",_733.getAttribute("MaxLength"));nitobi.html.Css.addClass(this.control,"ntb-column-data"+this.owner.uid+"_"+(this.cell.getColumn()+1));};nitobi.form.Text.prototype.mimic=function(){if(nitobi.browser.MOZ||nitobi.browser.SAFARI){var _734=this.cell.getDomNode();this.control.style.width=_734.clientWidth+"px";}
this.align();nitobi.html.fitWidth(this.placeholder,this.control);this.selectText();};nitobi.form.Text.prototype.focus=function(){this.control.focus();};nitobi.form.Text.prototype.deactivate=function(evt){if(nitobi.form.Text.base.deactivate.apply(this,arguments)==false){return;}
nitobi.html.Css.removeClass(this.control,"ntb-column-data"+this.owner.uid+"_"+(this.cell.getColumn()+1));return this.afterDeactivate(this.control.value);};nitobi.form.Text.prototype.dispose=function(){nitobi.html.detachEvents(this.control,this.events);var _736=this.placeholder.parentNode;_736.removeChild(this.placeholder);this.control=null;this.owner=null;this.cell=null;};nitobi.form.Checkbox=function(){};nitobi.lang.extend(nitobi.form.Checkbox,nitobi.form.Control);nitobi.form.Checkbox.prototype.mimic=function(){if(false==eval(this.owner.getOnCellValidateEvent())){return;}
this.toggle();this.deactivate();};nitobi.form.Checkbox.prototype.deactivate=function(){this.afterDeactivate(this.value);};nitobi.form.Checkbox.prototype.attachToParent=function(){};nitobi.form.Checkbox.prototype.toggle=function(){var _737=this.cell.getColumnObject();var _738=_737.getModel();var _739=_738.getAttribute("CheckedValue");if(_739==""||_739==null){_739=1;}
var _73a=_738.getAttribute("UnCheckedValue");if(_73a==""||_73a==null){_73a=0;}
this.value=(this.cell.getData().value==_739)?_73a:_739;};nitobi.form.Checkbox.prototype.hide=function(){};nitobi.form.Checkbox.prototype.dispose=function(){this.metadata=null;this.owner=null;this.context=null;};nitobi.form.Date=function(){nitobi.form.Date.baseConstructor.call(this);};nitobi.lang.extend(nitobi.form.Date,nitobi.form.Text);nitobi.lang.defineNs("nitobi.form");nitobi.form.EDITOR_OFFSETX=0;nitobi.form.EDITOR_OFFSETY=0;nitobi.form.ControlFactory=function(){this.editors={};};nitobi.form.ControlFactory.prototype.getEditor=function(_73b,_73c,_73d){var _73e=null;if(null==_73c){ebaErrorReport("getEditor: column parameter is null","",EBA_DEBUG);return _73e;}
var _73f=_73c.getType();var _740=_73c.getType();var _741="nitobi.Grid"+_73f+_740+"Editor";_73e=this.editors[_741];if(_73e==null||_73e.control==null){switch(_73f){case"LINK":case"HYPERLINK":_73e=new nitobi.form.Link;break;case"IMAGE":return null;case"BUTTON":return null;case"LOOKUP":_73e=new nitobi.form.Lookup();break;case"LISTBOX":_73e=new nitobi.form.ListBox();break;case"PASSWORD":_73e=new nitobi.form.Password();break;case"TEXTAREA":_73e=new nitobi.form.TextArea();break;case"CHECKBOX":_73e=new nitobi.form.Checkbox();break;default:if(_740=="DATE"){if(_73c.isCalendarEnabled()){_73e=new nitobi.form.Calendar();}else{_73e=new nitobi.form.Date();}}else{if(_740=="NUMBER"){_73e=new nitobi.form.Number();}else{_73e=new nitobi.form.Text();}}
break;}
_73e.initialize();}
this.editors[_741]=_73e;return _73e;};nitobi.form.ControlFactory.prototype.dispose=function(){for(var _742 in this.editors){this.editors[_742].dispose();}};nitobi.form.ControlFactory.instance=new nitobi.form.ControlFactory();nitobi.form.Link=function(){};nitobi.lang.extend(nitobi.form.Link,nitobi.form.Control);nitobi.form.Link.prototype.initialize=function(){this.url="";};nitobi.form.Link.prototype.bind=function(_743,cell){nitobi.form.Link.base.bind.apply(this,arguments);this.url=this.cell.getValue();};nitobi.form.Link.prototype.mimic=function(){if(false==eval(this.owner.getOnCellValidateEvent())){return;}
this.click();this.deactivate();};nitobi.form.Link.prototype.deactivate=function(){this.afterDeactivate(this.value);};nitobi.form.Link.prototype.click=function(){this.control=window.open(this.url);this.value=this.url;};nitobi.form.Link.prototype.hide=function(){};nitobi.form.Link.prototype.attachToParent=function(){};nitobi.form.Link.prototype.dispose=function(){this.metadata=null;this.owner=null;this.context=null;};nitobi.form.ListBox=function(){nitobi.form.ListBox.baseConstructor.call(this);var ph=this.placeholder;ph.setAttribute("id","listbox_span");ph.style.top="0px";ph.style.left="-5000px";this.metadata=null;this.keypress=false;this.typedString=null;this.events=[{type:"change",handler:this.deactivate},{type:"keydown",handler:this.handleKey},{type:"keyup",handler:this.handleKeyUp},{type:"keypress",handler:this.handleKeyPress},{type:"blur",handler:this.deactivate}];};nitobi.lang.extend(nitobi.form.ListBox,nitobi.form.Control);nitobi.form.ListBox.prototype.initialize=function(){};nitobi.form.ListBox.prototype.bind=function(_746,cell){nitobi.form.ListBox.base.bind.apply(this,arguments);var _748=cell.getColumnObject().getModel();var _749=_748.getAttribute("DatasourceId");this.dataTable=this.owner.data.getTable(_749);this.eSET("onKeyPress",[_748.getAttribute("OnKeyPressEvent")]);this.eSET("onKeyDown",[_748.getAttribute("OnKeyDownEvent")]);this.eSET("onKeyUp",[_748.getAttribute("OnKeyUpEvent")]);this.eSET("onChange",[_748.getAttribute("OnChangeEvent")]);this.bindComplete(cell.getValue());};nitobi.form.ListBox.prototype.bindComplete=function(_74a){var _74b=this.dataTable.xmlDoc.selectSingleNode("//"+nitobi.xml.nsPrefix+"datasource[@id='"+this.dataTable.id+"']");var _74c=this.cell.getColumnObject();var _74d=_74c.getModel();var _74e=_74d.getAttribute("DisplayFields");var _74f=_74d.getAttribute("ValueField");var xsl=nitobi.form.listboxXslProc;xsl.addParameter("DisplayFields",_74e,"");xsl.addParameter("ValueField",_74f,"");xsl.addParameter("val",_74a,"");this.listXml=nitobi.xml.transformToXml(nitobi.xml.createXmlDoc(_74b.xml),xsl);this.placeholder.rows[0].cells[0].innerHTML=nitobi.xml.serialize(this.listXml);var tc=this.control=nitobi.html.getFirstChild(this.placeholder.rows[0].cells[0]);tc.style.width="100%";tc.style.height=(this.cell.DomNode.offsetHeight-2)+"px";nitobi.html.attachEvents(tc,this.events,this);nitobi.html.Css.addClass(tc.className,this.cell.getDomNode().className);this.align();this.focus();if(typeof(_74a)!="undefined"&&_74a!=null&&_74a!=""){return this.searchComplete(_74a);}};nitobi.form.ListBox.prototype.deactivate=function(ok){if(this.keypress){this.keypress=false;return;}
if(nitobi.form.ListBox.base.deactivate.apply(this,arguments)==false){return;}
if(this.onChange.notify(this)==false){return;}
var c=this.control;var text="",_755="";if(ok||ok==null){text=c.options[c.selectedIndex].text;_755=c.options[c.selectedIndex].value;}else{_755=this.cell.getValue();var len=c.options.length;for(var i=0;i<len;i++){if(c.options[i].value==_755){text=c.options[i].text;}}}
this.typedString=null;return this.afterDeactivate(nitobi.html.encode(text),_755);};nitobi.form.ListBox.prototype.handleKey=function(evt){var k=evt.keyCode;this.keypress=false;var K=nitobi.form.Keys;switch(k){case K.DOWN:if(this.control.selectedIndex<this.control.options.length-1){this.keypress=true;}
break;case K.UP:if(this.control.selectedIndex>0){this.keypress=true;}
break;case K.ENTER:case K.TAB:case K.ESC:return nitobi.form.ListBox.base.handleKey.call(this,evt);default:nitobi.html.cancelEvent(evt);return this.searchComplete(String.fromCharCode(k));}};nitobi.form.ListBox.prototype.searchComplete=function(_75b,_75c){if(typeof(_75c)!="undefined"&&_75c!=""){this.typedString=_75c;this.maxLinearSearch=500;}else{this.typedString=this.typedString+_75b;}
var c=this.control;var _75e=c.options.length;if(_75e>this.maxLinearSearch){var _75f=this.searchBinary(this.typedString,0,(_75e-1));if(_75f){for(i=_75f;i>0;i--){if(c.options[i].text.toLowerCase().substr(0,this.typedString.length)!=this.typedString.toLowerCase()){c.selectedIndex=i+1;break;}}}}else{for(i=1;i<_75e;i++){if(c.options[i].text.toLowerCase().substr(0,this.typedString.length)==this.typedString.toLowerCase()){c.selectedIndex=i;break;}}}
clearTimeout(this.timerid);var _760=this;this.timerid=setTimeout(function(){_760.typedString="";},1000);return false;};nitobi.form.ListBox.prototype.searchBinary=function(_761,low,high){if(low>high){return null;}
var c=this.control;var mid=Math.floor((high+low)/2);var _766=c.options[mid].text.toLowerCase().substr(0,_761.length);var _767=_761.toLowerCase();if(_767==_766){return mid;}else{if(_767<_766){return this.searchBinary(_761,low,(mid-1));}else{if(_767>_766){return this.searchBinary(_761,(mid+1),high);}else{return null;}}}};nitobi.form.ListBox.prototype.dispose=function(){nitobi.html.detachEvents(this.control,this.events);this.placeholder=null;this.control=null;this.listXml=null;this.element=null;this.metadata=null;this.owner=null;};nitobi.form.Lookup=function(){nitobi.form.Lookup.baseConstructor.call(this);this.selectClicked=false;this.bVisible=false;var div=nitobi.html.createElement("div");div.innerHTML="<table class='ntb-input-border' border='0' cellpadding='0' cellspacing='0'><tr><td class=\"ntb-lookup-text\"></td></tr><tr><td style=\"position:relative;\"><div style=\"position:relative;top:0px;left:0px;\"></div></td></tr></table>";var ph=this.placeholder=div.firstChild;ph.setAttribute("id","lookup_span");ph.style.top="-0px";ph.style.left="-5000px";var tc=this.control=nitobi.html.createElement("input",{autocomplete:"off"},{zIndex:"2000",width:"100px"});tc.setAttribute("id","ntb-lookup-text");this.textEvents=[{type:"keydown",handler:this.handleKey},{type:"keyup",handler:this.filter},{type:"keypress",handler:this.handleKeyPress},{type:"change",handler:this.handleChange},{type:"blur",handler:function(){}},{type:"focus",handler:function(){}}];ph.rows[0].cells[0].appendChild(tc);this.selectPlaceholder=ph.rows[1].cells[0].firstChild;this.selectEvents=[{"type":"click","handler":this.handleSelectClicked}];this.firstKeyup=false;this.autocompleted=false;this.referenceColumn=null;this.autoComplete=null;this.autoClear=null;this.getOnEnter=null;this.listXml=null;this.listXmlLower=null;this.editCompleteHandler=null;this.delay=0;this.timeoutId=null;var xsl="<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">";xsl+="<xsl:output method=\"text\" version=\"4.0\"/><xsl:param name='searchValue'/>";xsl+="<xsl:template match=\"/\"><xsl:apply-templates select='//option[starts-with(.,$searchValue)][1]' /></xsl:template>";xsl+="<xsl:template match=\"option\"><xsl:value-of select='@rn' /></xsl:template></xsl:stylesheet>";var _76c=nitobi.xml.createXslDoc(xsl);this.searchXslProc=nitobi.xml.createXslProcessor(_76c);_76c=null;};nitobi.lang.extend(nitobi.form.Lookup,nitobi.form.Control);nitobi.lang.implement(nitobi.form.Lookup,nitobi.ui.IDataBoundList);nitobi.lang.implement(nitobi.form.Lookup,nitobi.form.IBlurable);nitobi.form.Lookup.prototype.initialize=function(){this.firstKeyup=false;nitobi.html.attachEvents(this.control,this.textEvents,this);nitobi.html.attachEvents(this.selectPlaceholder,this.selectEvents,this);};nitobi.form.Lookup.prototype.hideSelect=function(){this.selectControl.style.display="none";this.bVisible=false;};nitobi.form.Lookup.prototype.bind=function(_76d,cell,_76f){nitobi.form.Lookup.base.bind.apply(this,arguments);var col=this.column=this.cell.getColumnObject();var _771=this.column.getModel();this.datasourceId=col.getDatasourceId();this.getHandler=col.getGetHandler();this.delay=col.getDelay();this.size=col.getSize();this.referenceColumn=col.getReferenceColumn();this.autoComplete=col.isAutoComplete();this.autoClear=col.isAutoClear();this.getOnEnter=col.isGetOnEnter();this.displayFields=col.getDisplayFields();this.valueField=col.getValueField();this.eSET("onKeyPress",[col.getOnKeyPressEvent()]);this.eSET("onKeyDown",[col.getOnKeyDownEvent()]);this.eSET("onKeyUp",[col.getOnKeyUpEvent()]);this.eSET("onChange",[col.getOnChangeEvent()]);var _772=nitobi.form.listboxXslProc;_772.addParameter("DisplayFields",this.displayFields,"");_772.addParameter("ValueField",this.valueField,"");this.dataTable=this.owner.data.getTable(this.datasourceId);this.dataTable.setGetHandler(this.getHandler);this.dataTable.async=false;if(_76f.length<=0){_76f=this.cell.getValue();}
this.get(_76f,true);};nitobi.form.Lookup.prototype.getComplete=function(_773){var _774=this.dataTable.getXmlDoc();var _775=nitobi.form.listboxXslProc;_775.addParameter("DisplayFields",this.displayFields,"");_775.addParameter("ValueField",this.valueField,"");_775.addParameter("val",nitobi.xml.constructValidXpathQuery(this.cell.getValue(),false),"");if(nitobi.browser.IE&&document.compatMode=="CSS1Compat"){_775.addParameter("size",6,"");}
this.listXml=nitobi.xml.transformToXml(nitobi.xml.createXmlDoc(_774.xml),nitobi.form.listboxXslProc);this.listXmlLower=nitobi.xml.createXmlDoc(this.listXml.xml.toLowerCase());if(nitobi.browser.IE&&document.compatMode=="CSS1Compat"){_775.addParameter("size","","");}
this.selectPlaceholder.innerHTML=nitobi.xml.serialize(this.listXml);var tc=this.control;var sc=this.selectControl=nitobi.html.getFirstChild(this.selectPlaceholder);sc.setAttribute("id","ntb-lookup-options");sc.setAttribute("size",this.size);sc.style.display="none";if(nitobi.browser.IE6&&document.compatMode!="CSS1Compat"){sc.style.height="100%";}
nitobi.form.IBlurable.call(this,[tc,sc],this.deactivate);this.selectClicked=false;this.bVisible=false;this.align();nitobi.html.fitWidth(this.placeholder,this.control);if(this.autoComplete){var rn=this.search(_773);if(rn>0){sc.selectedIndex=rn-1;tc.value=sc[sc.selectedIndex].text;nitobi.html.highlight(tc,tc.value.length-(tc.value.length-_773.length));this.autocompleted=true;}else{var row=_774.selectSingleNode("//"+nitobi.xml.nsPrefix+"e[@"+this.valueField+"='"+_773+"']");if(row!=null){tc.value=row.getAttribute(this.displayFields);var rn=this.search(tc.value);sc.selectedIndex=parseInt(rn)-1;}else{tc.value=_773;sc.selectedIndex=-1;}}}else{tc.value=_773;sc.selectedIndex=-1;}
tc.parentNode.style.height=nitobi.html.getHeight(this.cell.getDomNode())+"px";sc.style.display="inline";tc.focus();};nitobi.form.Lookup.prototype.handleSelectClicked=function(evt){this.control.value=this.selectControl.selectedIndex!=-1?this.selectControl.options[this.selectControl.selectedIndex].text:"";this.deactivate(evt);};nitobi.form.Lookup.prototype.focus=function(evt){this.control.focus();};nitobi.form.Lookup.prototype.deactivate=function(evt){if(nitobi.form.Lookup.base.deactivate.apply(this,arguments)==false){return;}
var sc=this.selectControl;var tc=this.control;var text="",_780="";if(evt!=null&&evt!=false){if(sc.selectedIndex>=0){_780=sc.options[sc.selectedIndex].value;text=sc.options[sc.selectedIndex].text;}else{if(this.column.getModel().getAttribute("ForceValidOption")!="true"){_780=tc.value;text=_780;}else{if(this.autoClear){_780="";text="";}else{_780=this.cell.getValue();var len=sc.options.length;for(var i=0;i<len;i++){if(sc.options[i].value==_780){text=sc.options[i].text;}}}}}}else{_780=this.cell.getValue();var len=sc.options.length;var _783=false;for(var i=0;i<len;i++){if(sc.options[i].value==_780){text=sc.options[i].text;_783=true;break;}}
if(!_783&&this.autoClear){_780="";text="";}}
nitobi.html.detachEvents(sc,this.textEvents);window.clearTimeout(this.timeoutId);return this.afterDeactivate(nitobi.html.encode(text),_780);};nitobi.form.Lookup.prototype.handleKey=function(evt,_785){var k=evt.keyCode;if(k!=40&&k!=38){nitobi.form.Lookup.base.handleKey.call(this,evt);}};nitobi.form.Lookup.prototype.search=function(_787){_787=nitobi.xml.constructValidXpathQuery(_787,false);this.searchXslProc.addParameter("searchValue",_787.toLowerCase(),"");var _788=nitobi.xml.transformToString(this.listXmlLower,this.searchXslProc);if(""==_788){_788=0;}else{_788=parseInt(_788);}
return _788;};nitobi.form.Lookup.prototype.filter=function(evt,o){var k=evt.keyCode;if(this.onKeyUp.notify(evt)==false){return;}
if(!this.firstKeyup&&k!=38&&k!=40){this.firstKeyup=true;return;}
var tc=this.control;var sc=this.selectControl;switch(k){case 38:if(sc.selectedIndex==-1){sc.selectedIndex=0;}
if(sc.selectedIndex>0){sc.selectedIndex--;}
tc.value=sc.options[sc.selectedIndex].text;nitobi.html.highlight(tc,tc.value.length);tc.select();break;case 40:if(sc.selectedIndex<(sc.length-1)){sc.selectedIndex++;}
tc.value=sc.options[sc.selectedIndex].text;nitobi.html.highlight(tc,tc.value.length);tc.select();break;default:if((!this.getOnEnter&&((k<193&&k>46)||k==8||k==32))||(this.getOnEnter&&k==13)){var _78e=tc.value;this.get(_78e);}}};nitobi.form.Lookup.prototype.get=function(_78f,_790){if(this.getHandler!=null&&this.getHandler!=""){if(_790||!this.delay){this.doGet(_78f);}else{if(this.timeoutId){window.clearTimeout(this.timeoutId);this.timeoutId=null;}
this.timeoutId=window.setTimeout(nitobi.lang.close(this,this.doGet,[_78f]),this.delay);}}else{this.getComplete(_78f);}};nitobi.form.Lookup.prototype.doGet=function(_791){if(_791){this.dataTable.setGetHandlerParameter("SearchString",_791);}
if(this.referenceColumn!=null&&this.referenceColumn!=""){var _792=this.owner.getCellValue(this.cell.row,this.referenceColumn);this.dataTable.setGetHandlerParameter("ReferenceColumn",_792);}
this.dataTable.get(null,this.pageSize,this);this.timeoutId=null;this.getComplete(_791);};nitobi.form.Lookup.prototype.dispose=function(){this.placeholder=null;nitobi.html.detachEvents(this.textEvents,this);this.selectControl=null;this.control=null;this.dataTable=null;this.owner=null;};nitobi.form.Number=function(){nitobi.form.Number.baseConstructor.call(this);this.defaultValue=0;};nitobi.lang.extend(nitobi.form.Number,nitobi.form.Text);nitobi.form.Number.prototype.handleKey=function(evt){nitobi.form.Number.base.handleKey.call(this,evt);var k=evt.keyCode;if(!this.isValidKey(k)){nitobi.html.cancelEvent(evt);return false;}};nitobi.form.Number.prototype.isValidKey=function(k){if((k<48||k>57)&&(k<37||k>40)&&(k<96||k>105)&&k!=190&&k!=110&&k!=189&&k!=109&&k!=9&&k!=45&&k!=46&&k!=8){return false;}
return true;};nitobi.form.Number.prototype.bind=function(_796,cell,_798){var _799=_798.charCodeAt(0);if(_799>=97){_799=_799-32;}
var k=this.isValidKey(_799)?_798:"";nitobi.form.Number.base.bind.call(this,_796,cell,k);};nitobi.form.Password=function(){nitobi.form.Password.baseConstructor.call(this,true);this.control.type="password";};nitobi.lang.extend(nitobi.form.Password,nitobi.form.Text);nitobi.form.TextArea=function(){nitobi.form.TextArea.baseConstructor.call(this);var div=nitobi.html.createElement("div");div.innerHTML="<table border='0' cellpadding='0' cellspacing='0' class='ntb-input-border'><tr><td></td></table>";var ph=this.placeholder=div.firstChild;ph.style.top="-3000px";ph.style.left="-3000px";this.control=nitobi.html.createElement("textarea",{},{width:"100px"});};nitobi.lang.extend(nitobi.form.TextArea,nitobi.form.Text);nitobi.form.TextArea.prototype.initialize=function(){this.placeholder.rows[0].cells[0].appendChild(this.control);document.body.appendChild(this.placeholder);nitobi.html.attachEvents(this.control,this.events,this);};nitobi.form.TextArea.prototype.mimic=function(){nitobi.form.TextArea.base.mimic.call(this);var phs=this.placeholder.style;};nitobi.form.TextArea.prototype.handleKey=function(evt){var k=evt.keyCode;if(k==40||k==38||k==37||k==39||(k==13&&evt.shiftKey)){}else{nitobi.form.TextArea.base.handleKey.call(this,evt);}};nitobi.form.Calendar=function(){nitobi.form.Calendar.baseConstructor.call(this);var div=nitobi.html.createElement("div");div.innerHTML="<table border='0' cellpadding='0' cellspacing='0' style='table-layout:fixed;' class='ntb-input-border'><tr><td>"+"<input id='ntb-datepicker-input' type='text' maxlength='255' style='width:100%;' />"+"</td><td class='ntb-datepicker-button'><a id='ntb-datepicker-button' href='#' onclick='return false;'></a></td></tr><tr><td colspan='2' style='width:1px;height:1px;position:relative;'><!-- --></td></tr><colgroup><col></col><col style='width:20px;'></col></colgroup></table>";this.control=div.getElementsByTagName("input")[0];var ph=this.placeholder=div.firstChild;ph.setAttribute("id","calendar_span");ph.style.top="-3000px";ph.style.left="-3000px";var pd=this.pickerDiv=nitobi.html.createElement("div",{},{position:"absolute"});this.isPickerVisible=false;nitobi.html.Css.addClass(pd,NTB_CSS_HIDE);ph.rows[1].cells[0].appendChild(pd);};nitobi.lang.extend(nitobi.form.Calendar,nitobi.form.Control);nitobi.form.Calendar.prototype.initialize=function(){var dp=this.datePicker=new nitobi.calendar.DatePicker(nitobi.component.getUniqueId());dp.setAttribute("theme","flex");dp.setObject(new nitobi.calendar.Calendar());dp.onDateSelected.subscribe(this.handlePick,this);dp.setContainer(this.pickerDiv);var tc=this.control;var H=nitobi.html;H.attachEvent(tc,"keydown",this.handleKey,this,false);H.attachEvent(tc,"blur",this.deactivate,this,false);H.attachEvent(this.pickerDiv,"mousedown",this.handleCalendarMouseDown,this);H.attachEvent(this.pickerDiv,"mouseup",this.handleCalendarMouseUp,this);var a=this.placeholder.getElementsByTagName("a")[0];H.attachEvent(a,"mousedown",this.handleClick,this);H.attachEvent(a,"mouseup",this.handleMouseUp,this);};nitobi.form.Calendar.prototype.bind=function(_7a7,cell,_7a9){this.isPickerVisible=false;nitobi.html.Css.addClass(this.pickerDiv,NTB_CSS_HIDE);nitobi.form.Calendar.base.bind.apply(this,arguments);if(_7a9!=null&&_7a9!=""){this.control.value=_7a9;}else{this.control.value=cell.getValue();}
this.column=this.cell.getColumnObject();this.control.maxlength=this.column.getModel().getAttribute("MaxLength");};nitobi.form.Calendar.prototype.mimic=function(){this.align();var _7aa=this.placeholder.offsetWidth;var _7ab=this.placeholder.rows[0].cells[1].offsetWidth;this.control.style.width=_7aa-_7ab-(document.compatMode=="BackCompat"?0:8)+"px";this.selectText();};nitobi.form.Calendar.prototype.deactivate=function(){if(nitobi.form.Calendar.base.deactivate.apply(this,arguments)==false){return;}
this.afterDeactivate(this.control.value);};nitobi.form.Calendar.prototype.handleClick=function(evt){if(!this.isPickerVisible){var dp=this.datePicker;dp.setSelectedDate(nitobi.base.DateMath.parseIso8601(this.control.value));dp.render();dp.getCalendar().getHtmlNode().style.width="";nitobi.html.Css.setStyle(dp.getCalendar().getHtmlNode(),"position","absolute");}
this.ignoreBlur=true;nitobi.ui.Effects.setVisible(this.pickerDiv,!this.isPickerVisible,"none",this.setVisibleComplete,this);};nitobi.form.Calendar.prototype.handleMouseUp=function(evt){this.control.focus();this.ignoreBlur=false;};nitobi.form.Calendar.prototype.handleCalendarMouseDown=function(evt){this.ignoreBlur=true;};nitobi.form.Calendar.prototype.handleCalendarMouseUp=function(evt){this.handleMouseUp(evt);};nitobi.form.Calendar.prototype.setVisibleComplete=function(){this.isPickerVisible=!this.isPickerVisible;};nitobi.form.Calendar.prototype.handlePick=function(){var date=this.datePicker.getSelectedDate();var _7b2=nitobi.base.DateMath.toIso8601(date);this.control.value=_7b2;this.datePicker.hide();};nitobi.form.Calendar.prototype.dispose=function(){nitobi.html.detachEvent(this.control,"keydown",this.handleKey);nitobi.html.detachEvent(this.control,"blur",this.deactivate);var _7b3=this.placeholder.parentNode;_7b3.removeChild(this.placeholder);this.control=null;this.placeholder=null;this.owner=null;this.cell=null;};nitobi.lang.defineNs("nitobi.form");nitobi.form.Keys={UP:38,DOWN:40,ENTER:13,TAB:9,ESC:27,RIGHT:39,LEFT:37};nitobi.ui.UiElement=function(xml,xsl,id){if(arguments.length>0){this.initialize(xml,xsl,id);}};nitobi.ui.UiElement.prototype.initialize=function(xml,xsl,id){this.m_Xml=xml;this.m_Xsl=xsl;this.m_Id=id;this.m_HtmlElementHandle=null;};nitobi.ui.UiElement.prototype.getHeight=function(){return this.getHtmlElementHandle().style.height;};nitobi.ui.UiElement.prototype.setHeight=function(_7ba){this.getHtmlElementHandle().style.height=_7ba+"px";};nitobi.ui.UiElement.prototype.getId=function(){return this.m_Id;};nitobi.ui.UiElement.prototype.setId=function(id){this.m_Id=id;};nitobi.ui.UiElement.prototype.getWidth=function(){return this.getHtmlElementHandle().style.width;};nitobi.ui.UiElement.prototype.setWidth=function(_7bc){if(_7bc>0){this.getHtmlElementHandle().style.width=_7bc+"px";}};nitobi.ui.UiElement.prototype.getXml=function(){return this.m_Xml;};nitobi.ui.UiElement.prototype.setXml=function(xml){this.m_Xml=xml;};nitobi.ui.UiElement.prototype.getXsl=function(){return this.m_Xsl;};nitobi.ui.UiElement.prototype.setXsl=function(xsl){this.m_Xsl=xsl;};nitobi.ui.UiElement.prototype.getHtmlElementHandle=function(){if(!this.m_HtmlElementHandle){this.m_HtmlElementHandle=document.getElementById(this.m_Id);}
return this.m_HtmlElementHandle;};nitobi.ui.UiElement.prototype.setHtmlElementHandle=function(_7bf){this.m_HtmlElementHandle=_7bf;};nitobi.ui.UiElement.prototype.hide=function(){var tag=this.getHtmlElementHandle();tag.style.visibility="hidden";tag.style.position="absolute";};nitobi.ui.UiElement.prototype.show=function(){var tag=this.getHtmlElementHandle();tag.style.visibility="visible";};nitobi.ui.UiElement.prototype.isVisible=function(){var tag=this.getHtmlElementHandle();return tag.style.visibility=="visible";};nitobi.ui.UiElement.prototype.beginFloatMode=function(){var tag=this.getHtmlElementHandle();tag.style.position="absolute";};nitobi.ui.UiElement.prototype.isFloating=function(){var tag=this.getHtmlElementHandle();return tag.style.position=="absolute";};nitobi.ui.UiElement.prototype.setX=function(x){var tag=this.getHtmlElementHandle();tag.style.left=x+"px";};nitobi.ui.UiElement.prototype.getX=function(){var tag=this.getHtmlElementHandle();return tag.style.left;};nitobi.ui.UiElement.prototype.setY=function(y){var tag=this.getHtmlElementHandle();tag.style.top=y+"px";};nitobi.ui.UiElement.prototype.getY=function(){var tag=this.getHtmlElementHandle();return tag.style.top;};nitobi.ui.UiElement.prototype.render=function(_7cb,_7cc,_7cd){var xsl=this.m_Xsl;if(xsl!=null&&xsl.indexOf("xsl:stylesheet")==-1){xsl="<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"><xsl:output method=\"html\" version=\"4.0\" />"+xsl+"</xsl:stylesheet>";}
if(null==_7cc){_7cc=nitobi.xml.createXslDoc(xsl);}
if(null==_7cd){_7cd=nitobi.xml.createXmlDoc(this.m_Xml);}
Eba.Error.assert(nitobi.xml.isValidXml(_7cd),"Tried to render invalid XML according to Mozilla. The XML is "+_7cd.xml);var html=nitobi.xml.transform(_7cd,_7cc);if(html.xml){html=html.xml;}
if(null==_7cb){nitobi.html.insertAdjacentHTML(document.body,"beforeEnd",html);}else{_7cb.innerHTML=html;}
this.attachToTag();};nitobi.ui.UiElement.prototype.attachToTag=function(){var _7d0=this.getHtmlElementHandle();if(_7d0!=null){_7d0.object=this;_7d0.jsobject=this;_7d0.javascriptObject=this;}};nitobi.ui.UiElement.prototype.dispose=function(){var _7d1=this.getHtmlElementHandle();if(_7d1!=null){_7d1.object=null;}
this.m_Xml=null;this.m_Xsl=null;this.m_HtmlElementHandle=null;};nitobi.ui.InteractiveUiElement=function(_7d2){this.enable();};nitobi.lang.extend(nitobi.ui.InteractiveUiElement,nitobi.ui.UiElement);nitobi.ui.InteractiveUiElement.prototype.enable=function(){this.m_Enabled=true;};nitobi.ui.InteractiveUiElement.prototype.disable=function(){this.m_Enabled=false;};nitobi.ui.ButtonXsl="<xsl:template match=\"button\">"+"<div class=\"ntb-button\" onmousemove=\"return false;\" onmousedown=\"if (this.object.m_Enabled) this.className='ntb-button-down';\" onmouseup=\"this.className='ntb-button';\" onmouseover=\"if (this.object.m_Enabled) this.className='ntb-button-highlight';\" onmouseout=\"this.className='ntb-button';\" align=\"center\">"+"<xsl:attribute name=\"image_disabled\">"+"<xsl:choose>"+"<xsl:when test=\"../../@image_directory and not(starts-with(@image_disabled,'/'))\">"+"<xsl:value-of select=\"concat(../../@image_directory,@image_disabled)\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"@image_disabled\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"<xsl:attribute name=\"image_enabled\">"+"<xsl:choose>"+"<xsl:when test=\"../../@image_directory and not(starts-with(@image,'/'))\">"+"<xsl:value-of select=\"concat(../../@image_directory,@image)\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"@image\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"<xsl:attribute name=\"title\">"+"<xsl:value-of select=\"@tooltip_text\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"onclick\">"+"<xsl:value-of select='concat(&quot;v&quot;,&quot;a&quot;,&quot;r&quot;,&quot; &quot;,&quot;e&quot;,&quot;=&quot;,&quot;&apos;&quot;,@onclick_event,&quot;&apos;&quot;,&quot;;&quot;,&quot;e&quot;,&quot;v&quot;,&quot;a&quot;,&quot;l&quot;,&quot;(&quot;,&quot;t&quot;,&quot;h&quot;,&quot;i&quot;,&quot;s&quot;,&quot;.&quot;,&quot;o&quot;,&quot;b&quot;,&quot;j&quot;,&quot;e&quot;,&quot;c&quot;,&quot;t&quot;,&quot;.&quot;,&quot;o&quot;,&quot;n&quot;,&quot;C&quot;,&quot;l&quot;,&quot;i&quot;,&quot;c&quot;,&quot;k&quot;,&quot;H&quot;,&quot;a&quot;,&quot;n&quot;,&quot;d&quot;,&quot;l&quot;,&quot;e&quot;,&quot;r&quot;,&quot;(&quot;,&quot;e&quot;,&quot;)&quot;,&quot;)&quot;,&quot;;&quot;,&apos;&apos;)' />"+"</xsl:attribute>"+"<xsl:attribute name=\"id\">"+"<xsl:value-of select=\"@id\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"style\">"+"<xsl:choose>"+"<xsl:when test=\"../../@height\">"+"<xsl:value-of select=\"concat('float:left;width:',../../@height,'px;height:',../../@height - 1,'px')\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"concat('float:left;width:',@width,'px;height:',@height,'px')\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"<img border=\"0\">"+"<xsl:attribute name=\"src\">"+"<xsl:choose>"+"<xsl:when test=\"../../@image_directory and not(starts-with(@image,'/'))\">"+"<xsl:value-of select=\"concat(../../@image_directory,@image)\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"@image\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"<xsl:attribute name=\"style\">"+"<xsl:variable name=\"top_offset\">"+"<xsl:choose>"+"<xsl:when test=\"@top_offset\">"+"<xsl:value-of select=\"@top_offset\" />"+"</xsl:when>"+"<xsl:otherwise>"+"0"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:variable>"+"<xsl:choose>"+"<xsl:when test=\"../../@height\">"+"<xsl:value-of select=\"concat('MARGIN-TOP:',((../../@height - @height) div 2) - 1 + number($top_offset),'px;MARGIN-BOTTOM:0px')\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"concat('MARGIN-TOP:',(@height - @image_height) div 2,'px;MARGIN-BOTTOM:0','px')\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"</img><![CDATA[ ]]>"+"</div>"+"</xsl:template>";nitobi.ui.Button=function(xml,id){this.initialize(xml,nitobi.ui.ButtonXsl,id);this.enable();};nitobi.lang.extend(nitobi.ui.Button,nitobi.ui.InteractiveUiElement);nitobi.ui.Button.prototype.onClickHandler=function(_7d5){if(this.m_Enabled){eval(_7d5);}};nitobi.ui.Button.prototype.disable=function(){nitobi.ui.Button.base.disable.call(this);var _7d6=this.getHtmlElementHandle();_7d6.childNodes[0].src=_7d6.getAttribute("image_disabled");};nitobi.ui.Button.prototype.enable=function(){nitobi.ui.Button.base.enable.call(this);var _7d7=this.getHtmlElementHandle();_7d7.childNodes[0].src=_7d7.getAttribute("image_enabled");};nitobi.ui.Button.prototype.dispose=function(){nitobi.ui.Button.base.dispose.call(this);};nitobi.ui.BinaryStateButtonXsl="<xsl:template match=\"binarystatebutton\">"+"<div class=\"ntb-binarybutton\" onmousemove=\"return false;\" onmousedown=\"if (this.object.m_Enabled) this.className='ntb-button-down';\" onmouseup=\"(this.object.isChecked()?this.object.check():this.object.uncheck())\" onmouseover=\"if (this.object.m_Enabled) this.className='ntb-button-highlight';\" onmouseout=\"(this.object.isChecked()?this.object.check():this.object.uncheck())\" align=\"center\">"+"<xsl:attribute name=\"image_disabled\">"+"<xsl:choose>"+"<xsl:when test=\"../../@image_directory\">"+"<xsl:value-of select=\"concat(../../@image_directory,@image_disabled)\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"@image_disabled\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"<xsl:attribute name=\"image_enabled\">"+"<xsl:choose>"+"<xsl:when test=\"../../@image_directory\">"+"<xsl:value-of select=\"concat(../../@image_directory,@image)\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"@image\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"<xsl:attribute name=\"title\">"+"<xsl:value-of select=\"@tooltip_text\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"onclick\">"+"<xsl:value-of select='concat(\"this.object.toggle();\",&quot;v&quot;,&quot;a&quot;,&quot;r&quot;,&quot; &quot;,&quot;e&quot;,&quot;=&quot;,&quot;&apos;&quot;,@onclick_event,&quot;&apos;&quot;,&quot;;&quot;,&quot;e&quot;,&quot;v&quot;,&quot;a&quot;,&quot;l&quot;,&quot;(&quot;,&quot;t&quot;,&quot;h&quot;,&quot;i&quot;,&quot;s&quot;,&quot;.&quot;,&quot;o&quot;,&quot;b&quot;,&quot;j&quot;,&quot;e&quot;,&quot;c&quot;,&quot;t&quot;,&quot;.&quot;,&quot;o&quot;,&quot;n&quot;,&quot;C&quot;,&quot;l&quot;,&quot;i&quot;,&quot;c&quot;,&quot;k&quot;,&quot;H&quot;,&quot;a&quot;,&quot;n&quot;,&quot;d&quot;,&quot;l&quot;,&quot;e&quot;,&quot;r&quot;,&quot;(&quot;,&quot;e&quot;,&quot;)&quot;,&quot;)&quot;,&quot;;&quot;,&apos;&apos;)' />"+"</xsl:attribute>"+"<xsl:attribute name=\"id\">"+"<xsl:value-of select=\"@id\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"style\">"+"<xsl:choose>"+"<xsl:when test=\"../../@height\">"+"<xsl:value-of select=\"concat('float:left;width:',../../@height,'px;height:',../../@height - 1,'px')\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"concat('float:left;width:',@width,'px;height:',@height,'px')\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"<img border=\"0\">"+"<xsl:attribute name=\"src\">"+"<xsl:choose>"+"<xsl:when test=\"../../@image_directory\">"+"<xsl:value-of select=\"concat(../../@image_directory,@image)\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"@image\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"<xsl:attribute name=\"style\">"+"<xsl:variable name=\"top_offset\">"+"<xsl:choose>"+"<xsl:when test=\"@top_offset\">"+"<xsl:value-of select=\"@top_offset\" />"+"</xsl:when>"+"<xsl:otherwise>"+"0"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:variable>"+"<xsl:choose>"+"<xsl:when test=\"../../@height\">"+"<xsl:value-of select=\"concat('MARGIN-TOP:',((../../@height - @height) div 2) - 1 + number($top_offset),'px;MARGIN-BOTTOM:0px')\" />"+"</xsl:when>"+"<xsl:otherwise>"+"<xsl:value-of select=\"concat('MARGIN-TOP:',(@height - @image_height) div 2,'px;MARGIN-BOTTOM:0','px')\" />"+"</xsl:otherwise>"+"</xsl:choose>"+"</xsl:attribute>"+"</img><![CDATA[ ]]>"+"</div>"+"</xsl:template>";nitobi.ui.BinaryStateButton=function(xml,id){this.initialize(xml,nitobi.ui.BinaryStateButtonXsl,id);this.m_Checked=false;};nitobi.lang.extend(nitobi.ui.BinaryStateButton,nitobi.ui.Button);nitobi.ui.BinaryStateButton.prototype.isChecked=function(){return this.m_Checked;};nitobi.ui.BinaryStateButton.prototype.check=function(){var _7da=this.getHtmlElementHandle();_7da.className="ntb-button-checked";this.m_Checked=true;};nitobi.ui.BinaryStateButton.prototype.uncheck=function(){var _7db=this.getHtmlElementHandle();_7db.className="ntb-button";this.m_Checked=false;};nitobi.ui.BinaryStateButton.prototype.toggle=function(){var _7dc=this.getHtmlElementHandle();if(_7dc.className=="ntb-button-checked"){this.uncheck();}else{this.check();}};nitobi.ui.ToolbarDivItemXsl="<xsl:template match=\"div\"><xsl:copy-of select=\".\"/></xsl:template>";nitobi.ui.ToolbarXsl="<xsl:template match=\"//toolbar\">"+"<div style=\"z-index:800\">"+"<xsl:attribute name=\"id\">"+"<xsl:value-of select=\"@id\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"style\">float:left;position:relative;"+"<xsl:value-of select=\"concat('height:',@height,'px')\" />"+"</xsl:attribute>"+"<xsl:apply-templates />"+"</div>"+"</xsl:template>"+nitobi.ui.ToolbarDivItemXsl+nitobi.ui.ButtonXsl+nitobi.ui.BinaryStateButtonXsl+"<xsl:template match=\"separator\">"+"<div align='center'>"+"<xsl:attribute name=\"style\">"+"<xsl:value-of select=\"concat('float:left;width:',@width,';height:',@height)\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"id\">"+"<xsl:value-of select=\"@id\" />"+"</xsl:attribute>"+"<img border='0'>"+"<xsl:attribute name=\"src\">"+"<xsl:value-of select=\"concat(//@image_directory,@image)\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"style\">"+"<xsl:value-of select=\"concat('MARGIN-TOP:3','px;MARGIN-BOTTOM:0','px')\" />"+"</xsl:attribute>"+"</img>"+"</div>"+"</xsl:template>";nitobi.ui.pagingToolbarXsl="<xsl:template match=\"//toolbar\">"+"<div style=\"z-index:800\">"+"<xsl:attribute name=\"id\">"+"<xsl:value-of select=\"@id\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"style\">float:right;position:relative;"+"<xsl:value-of select=\"concat('height:',@height,'px')\" />"+"</xsl:attribute>"+"<xsl:apply-templates />"+"</div>"+"</xsl:template>"+nitobi.ui.ToolbarDivItemXsl+nitobi.ui.ButtonXsl+nitobi.ui.BinaryStateButtonXsl+"<xsl:template match=\"separator\">"+"<div align='center'>"+"<xsl:attribute name=\"style\">"+"<xsl:value-of select=\"concat('float:right;width:',@width,';height:',@height)\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"id\">"+"<xsl:value-of select=\"@id\" />"+"</xsl:attribute>"+"<img border='0'>"+"<xsl:attribute name=\"src\">"+"<xsl:value-of select=\"concat(//@image_directory,@image)\" />"+"</xsl:attribute>"+"<xsl:attribute name=\"style\">"+"<xsl:value-of select=\"concat('MARGIN-TOP:3','px;MARGIN-BOTTOM:0','px')\" />"+"</xsl:attribute>"+"</img>"+"</div>"+"</xsl:template>";nitobi.ui.Toolbar=function(xml,id){nitobi.ui.Toolbar.baseConstructor.call(this);this.initialize(xml,nitobi.ui.ToolbarXsl,id);};nitobi.lang.extend(nitobi.ui.Toolbar,nitobi.ui.InteractiveUiElement);nitobi.ui.Toolbar.prototype.getUiElements=function(){return this.m_UiElements;};nitobi.ui.Toolbar.prototype.setUiElements=function(_7df){this.m_UiElements=_7df;};nitobi.ui.Toolbar.prototype.attachButtonObjects=function(){if(!this.m_UiElements){this.m_UiElements=new Array();var tag=this.getHtmlElementHandle();var _7e1=tag.childNodes;for(var i=0;i<_7e1.length;i++){var _7e3=_7e1[i];if(_7e3.nodeType!=3){var _7e4;switch(_7e3.className){case("ntb-button"):_7e4=new nitobi.ui.Button(null,_7e3.id);break;case("ntb-binarybutton"):_7e4=new nitobi.ui.BinaryStateButton(null,_7e3.id);break;default:_7e4=new nitobi.ui.UiElement(null,null,_7e3.id);break;}
_7e4.attachToTag();this.m_UiElements[_7e3.id]=_7e4;}}}};nitobi.ui.Toolbar.prototype.render=function(_7e5){nitobi.ui.Toolbar.base.base.render.call(this,_7e5);this.attachButtonObjects();};nitobi.ui.Toolbar.prototype.disableAllElements=function(){for(var i in this.m_UiElements){if(this.m_UiElements[i].disable){this.m_UiElements[i].disable();}}};nitobi.ui.Toolbar.prototype.enableAllElements=function(){for(var i in this.m_UiElements){if(this.m_UiElements[i].enable){this.m_UiElements[i].enable();}}};nitobi.ui.Toolbar.prototype.attachToTag=function(){nitobi.ui.Toolbar.base.base.attachToTag.call(this);this.attachButtonObjects();};nitobi.ui.Toolbar.prototype.dispose=function(){if(typeof(this.m_UiElements)!="undefined"){for(var _7e8 in this.m_UiElements){this.m_UiElements[_7e8].dispose();}
this.m_UiElements=null;}
nitobi.ui.Toolbar.base.dispose.call(this);};if(typeof(nitobi)=="undefined"||typeof(nitobi.lang)=="undefined"){alert("The Nitobi framework source could not be found. Is it included before any other Nitobi components?");}
nitobi.prepare=function(){};nitobi.lang.defineNs("nitobi.calendar");nitobi.calendar.Calendar=function(_7e9){nitobi.calendar.Calendar.baseConstructor.call(this,_7e9);this.selectedDate;this.renderer=new nitobi.calendar.CalRenderer();this.onHide=new nitobi.base.Event();this.eventMap["hide"]=this.onHide;this.onShow=new nitobi.base.Event();this.eventMap["show"]=this.onShow;this.onDateClicked=new nitobi.base.Event();this.eventMap["dateclicked"]=this.onDateClicked;this.onMonthChanged=new nitobi.base.Event();this.eventMap["monthchanged"]=this.onMonthChanged;this.onYearChanged=new nitobi.base.Event();this.eventMap["yearchanged"]=this.onYearChanged;this.onRenderComplete=new nitobi.base.Event();this.onSetVisible.subscribe(this.handleToggle,this);this.showEffect=(this.isEffectEnabled()?nitobi.effects.families["shade"].show:null);this.hideEffect=(this.isEffectEnabled()?nitobi.effects.families["shade"].hide:null);this.htmlEvents={"body":[],"nav":[],"navconfirm":[],"navcancel":[],"navpanel":[],"nextmonth":[],"prevmonth":[]};this.subscribeDeclarationEvents();};nitobi.lang.extend(nitobi.calendar.Calendar,nitobi.ui.Element);nitobi.calendar.Calendar.profile=new nitobi.base.Profile("nitobi.calendar.Calendar",null,false,"ntb:calendar");nitobi.base.Registry.getInstance().register(nitobi.calendar.Calendar.profile);nitobi.calendar.Calendar.prototype.render=function(){this.detachEvents();this.setContainer(this.getHtmlNode());nitobi.calendar.Calendar.base.render.call(this);this.selectedDate=this.getParentObject().getSelectedDate();var he=this.htmlEvents;var H=nitobi.html;var _7ec=this.getHtmlNode("body");H.attachEvent(_7ec,"click",this.handleBodyClick,this);H.attachEvent(_7ec,"mousedown",this.handleMouseDown,this);he.body.push({type:"click",handler:this.handleBodyClick});he.body.push({type:"mousedown",handle:this.handleMouseDown});var nav=this.getHtmlNode("nav");var _7ee=this.getHtmlNode("navconfirm");var _7ef=this.getHtmlNode("navcancel");H.attachEvent(nav,"click",this.showNav,this);H.attachEvent(_7ef,"click",this.handleNavCancel,this);H.attachEvent(_7ee,"click",this.handleNavConfirm,this);H.attachEvent(this.getHtmlNode("navpanel"),"keypress",this.handleNavKey,this);he.nav.push({type:"click",handler:this.showNav});he.navcancel.push({type:"click",handler:this.handleNavCancel});he.navconfirm.push({type:"click",handler:this.handleNavConfirm});he.navpanel.push({type:"keypress",handler:this.handleNavKey});H.attachEvent(this.getHtmlNode("nextmonth"),"click",this.nextMonth,this);H.attachEvent(this.getHtmlNode("prevmonth"),"click",this.prevMonth,this);he.nextmonth.push({type:"click",handler:this.nextMonth});he.prevmonth.push({type:"click",handler:this.prevMonth});var _7f0=this.getHtmlNode();var shim=this.getHtmlNode("shim");var Css=nitobi.html.Css;if(shim){var _7f3=Css.hasClass(_7f0,"nitobi-hide");if(_7f3){Css.removeClass(_7f0,"nitobi-hide");_7f0.style.top="-1000px";}
var _7f4=_7f0.offsetWidth;var _7f5=_7f0.offsetHeight;shim.style.height=_7f5+"px";shim.style.width=_7f4-1+"px";if(_7f3){Css.addClass(_7f0,"nitobi-hide");_7f0.style.top="";}}
this.onRenderComplete.notify(new nitobi.ui.ElementEventArgs(this,this.onRenderComplete));};nitobi.calendar.Calendar.prototype.detachEvents=function(){var he=this.htmlEvents;for(var name in he){var _7f8=he[name];var node=this.getHtmlNode(name);nitobi.html.detachEvents(node,_7f8);}};nitobi.calendar.Calendar.prototype.handleMouseDown=function(_7fa){var _7fb=this.getParentObject();var _7fc=this.findActiveDate(_7fa.srcElement);if(_7fc&&nitobi.html.Css.hasClass(_7fc,"ntb-calendar-thismonth")){_7fb.blurInput=false;}else{_7fb.blurInput=true;}};nitobi.calendar.Calendar.prototype.handleBodyClick=function(_7fd){var _7fe=this.findActiveDate(_7fd.srcElement);if(!_7fe||nitobi.html.Css.hasClass(_7fe,"ntb-calendar-lastmonth")||nitobi.html.Css.hasClass(_7fe,"ntb-calendar-nextmonth")){return;}
var _7ff=this.getParentObject();var day=_7fe.getAttribute("ebadate");var _801=_7fe.getAttribute("ebamonth");var year=_7fe.getAttribute("ebayear");var date=new Date(year,_801,day);var _804=_7ff.getEventsManager();if(_804.isDisabled(date)){return;}
_7ff._setSelectedDate(date);this.onDateClicked.notify(new nitobi.ui.ElementEventArgs(this,this.onDateClicked));this.toggle();};nitobi.calendar.Calendar.prototype.handleNavKey=function(e){var code=e.keyCode;if(code==27){this.handleNavCancel();}
if(code==13){this.handleNavConfirm();}};nitobi.calendar.Calendar.prototype.handleToggleClick=function(e){this.toggle();};nitobi.calendar.Calendar.prototype.clearHighlight=function(){if(this.selectedDate){var _808=this.findDateElement(this.selectedDate);if(_808){nitobi.html.Css.removeClass(_808,"ntb-calendar-currentday");}
this.selectedDate=null;}};nitobi.calendar.Calendar.prototype.highlight=function(date){this.selectedDate=date;var _80a=this.findDateElement(date);if(_80a){nitobi.html.Css.addClass(_80a,"ntb-calendar-currentday");}};nitobi.calendar.Calendar.prototype.findDateElement=function(date){var _80c=this.getHtmlNode(date.getMonth()+"."+date.getFullYear());var dm=nitobi.base.DateMath;if(_80c){var _80e=dm.getMonthStart(dm.clone(date));_80e=dm.subtract(_80e,"d",_80e.getDay());var days=dm.getNumberOfDays(_80e,date)-1;if(days>=0&&days<42){var row=1+Math.floor(days/7);var col=days%7;var _812=nitobi.html.getFirstChild(_80c.rows[row].cells[col]);return _812;}}
return null;};nitobi.calendar.Calendar.prototype.showNav=function(){var _813=this.getParentObject();var _814=_813.getStartDate();var _815=this.getHtmlNode("months");_815.selectedIndex=_814.getMonth();this.getHtmlNode("year").value=_814.getFullYear();this.getHtmlNode("warning").style.display="none";var _816=this.getHtmlNode("overlay");var _817=this.getHtmlNode("navpanel");var _818=new nitobi.effects.BlindDown(_817,{duration:0.3});var _819=this.getHtmlNode("nav");this.fitOverlay();_816.style.display="block";var D=nitobi.drawing;D.align(_817,_819,D.align.ALIGNMIDDLEHORIZ);D.align(_817,this.getHtmlNode("body"),D.align.ALIGNTOP);D.align(_816,this.getHtmlNode("body"),D.align.ALIGNTOP|D.align.ALIGNLEFT);_818.callback=function(){_815.focus();};_818.start();};nitobi.calendar.Calendar.prototype.hideNav=function(_81b){var _81c=this.getHtmlNode("navpanel");var _81d=new nitobi.effects.BlindUp(_81c,{duration:0.2});_81d.callback=_81b||nitobi.lang.noop();_81d.start();};nitobi.calendar.Calendar.prototype.hideOverlay=function(){var _81e=this.getHtmlNode("overlay");_81e.style.display="none";};nitobi.calendar.Calendar.prototype.fitOverlay=function(){var _81f=this.getHtmlNode("body");var _820=this.getHtmlNode("overlay");var _821=_81f.offsetWidth;var _822=_81f.offsetHeight;_820.style.height=_822+"px";_820.style.width=_821+"px";};nitobi.calendar.Calendar.prototype.handleNavConfirm=function(_823){var _824=this.getParentObject();var _825=this.getHtmlNode("months");var _826=_825.options[_825.selectedIndex].value;var year=this.getHtmlNode("year").value;if(isNaN(year)){var _828=this.getHtmlNode("warning");_828.style.display="block";_828.innerHTML=_824.getNavInvalidYearText();return;}
year=parseInt(year);var _829=new Date(year,_826,1);if(_824.isOutOfRange(_829)){var _828=this.getHtmlNode("warning");_828.style.display="block";_828.innerHTML=_824.getNavOutOfRangeText();return;}
var _82a=_824.getStartDate();var _82b=false;var _82c=false;if(year!=_82a.getFullYear()){_82c=true;}
if(parseInt(_826)!=_82a.getMonth()){_82b=true;}
_824.setStartDate(_829);var _82d=nitobi.lang.close(this,this.render);this.onRenderComplete.subscribeOnce(nitobi.lang.close(this,function(){if(_82b){this.onMonthChanged.notify(new nitobi.ui.ElementEventArgs(this,this.onMonthChanged));}
if(_82c){this.onYearChanged.notify(new nitobi.ui.ElementEventArgs(this,this.onYearChanged));}}));this.hideNav(_82d);};nitobi.calendar.Calendar.prototype.handleNavCancel=function(_82e){var _82f=nitobi.lang.close(this,this.hideOverlay);this.hideNav(_82f);};nitobi.calendar.Calendar.prototype.findActiveDate=function(_830){var _831=5;for(var i=0;i<_831&&_830.getAttribute;i++){var t=_830.getAttribute("ebatype");if(t=="date"){return _830;}
_830=_830.parentNode;}
return null;};nitobi.calendar.Calendar.prototype.getState=function(){return this;};nitobi.calendar.Calendar.prototype.nextMonth=function(){var _834=this.getParentObject();if(!_834.disNext){var _835=this.getMonthColumns()*this.getMonthRows();this.changeMonth(_835);}};nitobi.calendar.Calendar.prototype.prevMonth=function(){if(!this.getParentObject().disPrev){var _836=this.getMonthColumns()*this.getMonthRows();this.changeMonth(0-_836);}};nitobi.calendar.Calendar.prototype.changeMonth=function(unit){var _838=this.getParentObject();var date=_838.getStartDate();var dm=nitobi.base.DateMath;date=dm._add(dm.clone(date),"m",unit);var _83b=_838.getStartDate();var _83c=false;if(_83b.getFullYear()!=date.getFullYear()){_83c=true;}
_838.setStartDate(date);this.render();this.onMonthChanged.notify(new nitobi.ui.ElementEventArgs(this,this.onMonthChanged));if(_83c){this.onYearChanged.notify(new nitobi.ui.ElementEventArgs(this,this.onYearChanged));}};nitobi.calendar.Calendar.prototype.toggle=function(_83d){var _83e=this.getParentObject();if(_83e.getInput()){this.setVisible(!this.isVisible(),(this.isVisible()?this.hideEffect:this.showEffect),_83d,{duration:0.3});}};nitobi.calendar.Calendar.prototype.show=function(_83f){var _840=this.getParentObject();if(_840.getInput()){this.setVisible(true,this.showEffect,_83f,{duration:0.3});}};nitobi.calendar.Calendar.prototype.hide=function(_841){var _842=this.getParentObject();if(_842.getInput()){this.setVisible(false,this.hideEffect,_841,{duration:0.3});}};nitobi.calendar.Calendar.prototype.handleToggle=function(){if(this.isVisible()){this.onShow.notify(new nitobi.ui.ElementEventArgs(this,this.onShow));}else{this.onHide.notify(new nitobi.ui.ElementEventArgs(this,this.onHide));}};nitobi.calendar.Calendar.prototype.getMonthColumns=function(){return this.getIntAttribute("monthcolumns",1);};nitobi.calendar.Calendar.prototype.setMonthColumns=function(_843){this.setAttribute("monthcolumns",_843);};nitobi.calendar.Calendar.prototype.getMonthRows=function(){return this.getIntAttribute("monthrows",1);};nitobi.calendar.Calendar.prototype.setMonthRows=function(rows){this.setAttribute("monthrows",rows);};nitobi.calendar.Calendar.prototype.isEffectEnabled=function(){return this.getBoolAttribute("effectenabled",true);};nitobi.calendar.Calendar.prototype.setEffectEnabled=function(_845){this.setAttribute("effectenabled",isEffectEnabled);};nitobi.lang.defineNs("nitobi.calendar");if(false){nitobi.calendar={};}
nitobi.calendar.DatePicker=function(id){nitobi.calendar.DatePicker.baseConstructor.call(this,id);this.renderer.setTemplate(nitobi.calendar.datePickerTemplate);this.blurInput=true;this.onDateSelected=new nitobi.base.Event();this.eventMap["dateselected"]=this.onDateSelected;this.onSetInvalidDate=new nitobi.base.Event();this.eventMap["setinvaliddate"]=this.onSetInvalidDate;this.onSetDisabledDate=new nitobi.base.Event();this.eventMap["setdisableddate"]=this.onSetDisabledDate;this.onSetOutOfRangeDate=new nitobi.base.Event();this.eventMap["setoutofrangedate"]=this.onSetOutOfRangeDate;this.onEventDateSelected=new nitobi.base.Event();this.eventMap["eventdateselected"]=this.onEventDateSelected;this.eventsManager=new nitobi.calendar.EventsManager(this.getEventsUrl());this.eventsManager.onDataReady.subscribe(this.renderChildren,this);var _847=this.getSelectedDate();if(_847&&!this.isOutOfRange(_847)&&!nitobi.base.DateMath.invalid(_847)){this.setStartDate(nitobi.base.DateMath.getMonthStart(_847));}else{this.setDateAttribute("selecteddate",null);var _848=this.getMinDate();var _849;if(_848){_849=_848;}else{_849=new Date();}
this.setStartDate(nitobi.base.DateMath.getMonthStart(_849));}
this.subscribeDeclarationEvents();};nitobi.lang.extend(nitobi.calendar.DatePicker,nitobi.ui.Element);nitobi.base.Registry.getInstance().register(new nitobi.base.Profile("nitobi.calendar.DatePicker",null,false,"ntb:datepicker"));nitobi.calendar.DatePicker.prototype.render=function(){var _84a=this.getInput();if(_84a){_84a.detachEvents();}
nitobi.calendar.DatePicker.base.render.call(this);if(_84a){_84a.attachEvents();}
if(nitobi.browser.IE&&_84a){var _84b=_84a.getHtmlNode("input");var _84c=nitobi.html.Css.getStyle(_84b,"height");nitobi.html.Css.setStyle(_84b,"height",parseInt(_84c)-2+"px");}
if(this.eventsManager){this.eventsManager.getFromServer();}else{this.renderChildren();}};nitobi.calendar.DatePicker.prototype.renderChildren=function(){var cal=this.getCalendar();var _84e=this.getInput();if(cal){cal.render();if(!_84e){var C=nitobi.html.Css;var _850=cal.getHtmlNode();var body=cal.getHtmlNode("body");C.swapClass(_850,"nitobi-hide",NTB_CSS_SMALL);cal.getHtmlNode().style.width=body.offsetWidth+"px";C.removeClass(_850,NTB_CSS_SMALL);}}
if(this.getSelectedDate()&&_84e){_84e.setValue(this.formatDate(this.getSelectedDate(),_84e.getDisplayMask()));}
if(this.getSelectedDate()){var _852=this.getHtmlNode("value");if(_852){_852.value=this.formatDate(this.getSelectedDate(),this.getSubmitMask());}}
this.enableButton();};nitobi.calendar.DatePicker.prototype.getCalendar=function(){return this.getObject(nitobi.calendar.Calendar.profile);};nitobi.calendar.DatePicker.prototype.getInput=function(){return this.getObject(nitobi.calendar.DateInput.profile);};nitobi.calendar.DatePicker.prototype.getSelectedDate=function(){return this.getDateAttr("selecteddate");};nitobi.calendar.DatePicker.prototype.getDateAttr=function(attr){var _854=this.getAttribute(attr,null);if(_854){if(typeof(_854)=="string"){return this.parseLanguage(_854);}else{return new Date(_854);}}
return null;};nitobi.calendar.DatePicker.prototype.setSelectedDate=function(date){if(typeof(date)!="object"){date=new Date(date);}
if(this.validate(date)){this._setSelectedDate(date);}};nitobi.calendar.DatePicker.prototype._setSelectedDate=function(date,_857){this.setDateAttribute("selecteddate",date);var _858=this.getHtmlNode("value");if(_858){_858.value=this.formatDate(date,this.getSubmitMask());}
var _859=this.getInput();if(_859){var _85a=_859.getDisplayMask();var _85b=this.formatDate(date,_85a);_859.setValue(_85b);_859.setInvalidStyle(false);}
var _85c=this.getCalendar();if(_85c){_85c.clearHighlight(date);var dm=nitobi.base.DateMath;var _85e=dm.getMonthStart(this.getStartDate());var _85f=_85c.getMonthColumns()*_85c.getMonthRows()-1;var _860=dm.getMonthEnd(dm.add(dm.clone(_85e),"m",_85f));if(dm.between(date,_85e,_860)){_85c.highlight(date);}
if(_857){this.setStartDate(dm.getMonthStart(dm.clone(date)));_85c.render();}}
var _861=this.getEventsManager();if(_861.isEvent(date)){var _85e=_861.eventsCache[date.valueOf()];var _862=this.eventsManager.getEventInfo(_85e);this.onEventDateSelected.notify({events:_862});}
this.onDateSelected.notify(new nitobi.ui.ElementEventArgs(this,this.onDateSelected));};nitobi.calendar.DatePicker.prototype.validate=function(_863){var E=nitobi.ui.ElementEventArgs;if(nitobi.base.DateMath.invalid(_863)){this.onSetInvalidDate.notify(new E(this,this.onSetInvalidDate));return false;}
if(this.isOutOfRange(_863)){this.onSetOutOfRangeDate.notify(new E(this,this.onSetOutOfRangeDate));return false;}
if(this.isDisabled(_863)){this.onSetDisabledDate.notify(new E(this,this.onSetDisabledDate));return false;}
return true;};nitobi.calendar.DatePicker.prototype.isDisabled=function(date){return this.getEventsManager().isDisabled(date);};nitobi.calendar.DatePicker.prototype.disableButton=function(){var _866=this.getHtmlNode("button");var cal=this.getCalendar();if(_866){nitobi.html.Css.swapClass(_866,"ntb-calendar-button","ntb-calendar-button-disabled");nitobi.html.detachEvent(_866,"click",cal.handleToggleClick,cal);}};nitobi.calendar.DatePicker.prototype.enableButton=function(){var _868=this.getHtmlNode("button");var cal=this.getCalendar();if(_868){nitobi.html.Css.swapClass(_868,"ntb-calendar-button-disabled","ntb-calendar-button");nitobi.html.attachEvent(_868,"click",cal.handleToggleClick,cal);}};nitobi.calendar.DatePicker.prototype.isOutOfRange=function(date){var dm=nitobi.base.DateMath;var _86c=this.getMinDate();var _86d=this.getMaxDate();var _86e=false;if(_86c&&_86d){_86e=!dm.between(date,_86c,_86d);}else{if(_86c&&_86d==null){_86e=dm.before(date,_86c);}else{if(_86c==null&&_86d){_86e=dm.after(date,_86d);}}}
return _86e;};nitobi.calendar.DatePicker.prototype.clear=function(){var _86f=this.getHtmlNode("value");if(_86f){_86f.value="";}
this.setDateAttribute("selecteddate",null);};nitobi.calendar.DatePicker.prototype.getTheme=function(){return this.getAttribute("theme","");};nitobi.calendar.DatePicker.prototype.getSubmitMask=function(){return this.getAttribute("submitmask","yyyy-MM-dd");};nitobi.calendar.DatePicker.prototype.setSubmitMask=function(mask){this.setAttribute("submitmask",mask);};nitobi.calendar.DatePicker.prototype.getStartDate=function(){return this.getDateAttribute("startdate");};nitobi.calendar.DatePicker.prototype.setStartDate=function(date){this.setDateAttribute("startdate",date);};nitobi.calendar.DatePicker.prototype.getEventsUrl=function(){return this.getAttribute("eventsurl","");};nitobi.calendar.DatePicker.prototype.setEventsUrl=function(url){this.setAttribute("eventsurl",url);};nitobi.calendar.DatePicker.prototype.getEventsManager=function(){return this.eventsManager;};nitobi.calendar.DatePicker.prototype.isShimEnabled=function(){return this.getBoolAttribute("shimenabled",false);};nitobi.calendar.DatePicker.prototype.getMinDate=function(){return this.getDateAttr("mindate");};nitobi.calendar.DatePicker.prototype.setMinDate=function(_873){this.setAttribute("mindate",_873);};nitobi.calendar.DatePicker.prototype.getMaxDate=function(){return this.getDateAttr("maxdate");};nitobi.calendar.DatePicker.prototype.setMaxDate=function(_874){this.setAttribute("maxdate",_874);};nitobi.calendar.DatePicker.prototype.parseLanguage=function(date){var dm=nitobi.base.DateMath;var _877=Date.parse(date);if(_877&&typeof(_877)=="object"&&!isNaN(_877)&&!dm.invalid(_877)){return _877;}
if(date==""||date==null){return null;}
date=date.toLowerCase();var _878=dm.resetTime(new Date());switch(date){case"today":date=_878;break;case"tomorrow":date=dm.add(_878,"d",1);break;case"yesterday":date=dm.subtract(_878,"d",1);break;case"last week":date=dm.subtract(_878,"d",7);break;case"next week":date=dm.add(_878,"d",7);break;case"last year":date=dm.subtract(_878,"y",1);break;case"last month":date=dm.subtract(_878,"m",1);break;case"next month":date=dm.add(_878,"m",1);break;case"next year":date=dm.add(_878,"y",1);break;default:date=dm.resetTime(new Date(date));break;}
if(dm.invalid(date)){return null;}else{return date;}};nitobi.calendar.DatePicker.longDayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];nitobi.calendar.DatePicker.shortDayNames=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];nitobi.calendar.DatePicker.minDayNames=["S","M","T","W","T","F","S"];nitobi.calendar.DatePicker.longMonthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];nitobi.calendar.DatePicker.shortMonthNames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];nitobi.calendar.DatePicker.navConfirmText="OK";nitobi.calendar.DatePicker.navCancelText="Cancel";nitobi.calendar.DatePicker.navOutOfRangeText="That date is out of range.";nitobi.calendar.DatePicker.navInvalidYearText="You must enter a valid year.";nitobi.calendar.DatePicker.quickNavTooltip="Click to change month and/or year";nitobi.calendar.DatePicker.navSelectMonthText="Choose Month";nitobi.calendar.DatePicker.navSelectYearText="Enter Year";nitobi.calendar.DatePicker.prototype.getQuickNavTooltip=function(){return this.initLocaleAttr("quickNavTooltip");};nitobi.calendar.DatePicker.prototype.getMinDayNames=function(){return this.initJsAttr("minDayNames");};nitobi.calendar.DatePicker.prototype.getLongDayNames=function(){return this.initJsAttr("longDayNames");};nitobi.calendar.DatePicker.prototype.getShortDayNames=function(){return this.initJsAttr("shortDayNames");};nitobi.calendar.DatePicker.prototype.getLongMonthNames=function(){return this.initJsAttr("longMonthNames");};nitobi.calendar.DatePicker.prototype.getShortMonthNames=function(){return this.initJsAttr("shortMonthNames");};nitobi.calendar.DatePicker.prototype.getNavConfirmText=function(){return this.initLocaleAttr("navConfirmText");};nitobi.calendar.DatePicker.prototype.getNavCancelText=function(){return this.initLocaleAttr("navCancelText");};nitobi.calendar.DatePicker.prototype.getNavOutOfRangeText=function(){return this.initLocaleAttr("navOutOfRangeText");};nitobi.calendar.DatePicker.prototype.getNavInvalidYearText=function(){return this.initLocaleAttr("navInvalidYearText");};nitobi.calendar.DatePicker.prototype.getNavSelectMonthText=function(){return this.initLocaleAttr("navSelectMonthText");};nitobi.calendar.DatePicker.prototype.getNavSelectYearText=function(){return this.initLocaleAttr("navSelectYearText");};nitobi.calendar.DatePicker.prototype.initJsAttr=function(_879){if(this[_879]){return this[_879];}
var attr=this.getAttribute(_879.toLowerCase(),"");if(attr!=""){attr=eval("("+attr+")");return this[_879]=attr;}
return this[_879]=nitobi.calendar.DatePicker[_879];};nitobi.calendar.DatePicker.prototype.initLocaleAttr=function(_87b){if(this[_87b]){return this[_87b];}
var text=this.getAttribute(_87b.toLowerCase(),"");if(text!=""){return this[_87b]=text;}else{return this[_87b]=nitobi.calendar.DatePicker[_87b];}};nitobi.calendar.DatePicker.prototype.parseDate=function(date,mask){var _87f={};while(mask.length>0){var c=mask.charAt(0);var _881=new RegExp(c+"+");var _882=_881.exec(mask)[0];if(c!="d"&&c!="y"&&c!="M"&&c!="N"&&c!="E"){mask=mask.substring(_882.length);date=date.substring(_882.length);}else{var _883=mask.charAt(_882.length);var _884=(_883==""?date:date.substring(0,date.indexOf(_883)));var _885=this.validateFormat(_884,_882);if(_885.valid){_87f[_885.unit]=_885.value;}else{return null;}
mask=mask.substring(_882.length);date=date.substring(_884.length);}}
var date=new Date(_87f.y,_87f.m,_87f.d);return date;};nitobi.calendar.DatePicker.prototype.validateFormat=function(_886,_887){var _888={valid:false,unit:"",value:""};switch(_887){case"d":case"dd":var _889=parseInt(_886);var _88a;if(_887=="d"){_88a=!isNaN(_886)&&_886.charAt(0)!="0"&&_886.length<=2;}else{_88a=!isNaN(_886)&&_886.length==2;}
if(_88a){_888.valid=true;_888.unit="d";_888.value=_886;}else{_888.valid=false;}
break;case"y":case"yyyy":if(isNaN(_886)){_888.valid=false;}else{_888.valid=true;_888.unit="y";_888.value=_886;}
break;case"M":case"MM":var _889=parseInt(_886,10);var _88a;if(_887=="M"){_88a=!isNaN(_886)&&_886.charAt(0)!="0"&&_886.length<=2&&_889>=1&&_889<=12;}else{_88a=!isNaN(_886)&_886.length==2&&_889>=1&&_889<=12;}
if(_88a){_888.valid=true;_888.unit="m";_888.value=_889-1;}else{_888.valid=false;}
break;case"MMM":case"NNN":case"E":case"EE":var _88b;if(_887=="MMM"){_88b=this.getLongMonthNames();}else{if(_887=="NNN"){_88b=this.getShortMonthNames();}else{if(_887=="E"){_88b=this.getShortDayNames();}else{_88b=this.getLongDayNames();}}}
var i;for(i=0;i<_88b.length;i++){var _88d=_88b[i];if(_886.toLowerCase()==_88d.toLowerCase()){break;}}
if(i<_88b.length){_888.valid=true;if(_887=="MMM"||_887=="NNN"){_888.unit="m";}else{_888.unit="dl";}
_888.value=i;}else{_888.valid=false;}
break;}
return _888;};nitobi.calendar.DatePicker.prototype.formatDate=function(date,mask){var _890={};var year=date.getFullYear()+"";var _892=date.getMonth()+1+"";var _893=date.getDate()+"";var day=date.getDay();_890["y"]=_890["yyyy"]=year;_890["yy"]=year.substring(2,4);_890["M"]=_892+"";_890["MM"]=nitobi.lang.padZeros(_892,2);_890["MMM"]=this.getLongMonthNames()[_892-1];_890["NNN"]=this.getShortMonthNames()[_892-1];_890["d"]=_893;_890["dd"]=nitobi.lang.padZeros(_893,2);_890["EE"]=this.getLongDayNames()[day];_890["E"]=this.getShortDayNames()[day];var _895="";while(mask.length>0){var c=mask.charAt(0);var _897=new RegExp(c+"+");var _898=_897.exec(mask)[0];_895+=_890[_898]||_898;mask=mask.substring(_898.length);}
return _895;};nitobi.lang.defineNs("nitobi.calendar");nitobi.calendar.DateInput=function(_899){nitobi.calendar.DateInput.baseConstructor.call(this,_899);this.onBlur=new nitobi.base.Event();this.eventMap["blur"]=this.onBlur;this.onFocus=new nitobi.base.Event();this.eventMap["focus"]=this.onFocus;this.htmlEvents=[];this.subscribeDeclarationEvents();};nitobi.lang.extend(nitobi.calendar.DateInput,nitobi.ui.Element);nitobi.calendar.DateInput.profile=new nitobi.base.Profile("nitobi.calendar.DateInput",null,false,"ntb:dateinput");nitobi.base.Registry.getInstance().register(nitobi.calendar.DateInput.profile);nitobi.calendar.DateInput.prototype.attachEvents=function(){var he=this.htmlEvents;he.push({type:"focus",handler:this.handleOnFocus});he.push({type:"blur",handler:this.handleOnBlur});he.push({type:"keydown",handler:this.handleOnKeyDown});nitobi.html.attachEvents(this.getHtmlNode("input"),he,this);};nitobi.calendar.DateInput.prototype.detachEvents=function(){nitobi.html.detachEvents(this.getHtmlNode("input"),this.htmlEvents);};nitobi.calendar.DateInput.prototype.setValue=function(_89b){var _89c=this.getHtmlNode("input");_89c.value=_89b;};nitobi.calendar.DateInput.prototype.getValue=function(){var _89d=this.getHtmlNode("input");return _89d.value;};nitobi.calendar.DateInput.prototype.handleOnFocus=function(){var _89e=this.getEditMask();var _89f=this.getParentObject();var _8a0=_89f.getSelectedDate();if(_8a0){var _8a1=_89f.formatDate(_8a0,_89e);this.setValue(_8a1);var _89f=this.getParentObject();_89f.blurInput=true;}
this.onFocus.notify(new nitobi.ui.ElementEventArgs(this,this.onFocus));};nitobi.calendar.DateInput.prototype.handleOnBlur=function(){var _8a2=this.getParentObject();var _8a3=_8a2.getCalendar();if(_8a2.blurInput){var _8a4=this.getEditMask();var _8a5=this.getValue();_8a5=_8a2.parseDate(_8a5,_8a4);if(_8a2.validate(_8a5)){_8a2._setSelectedDate(_8a5,true);if(_8a3){_8a3.hide();}}else{if(_8a3){_8a3.clearHighlight();}
_8a2.clear();this.setInvalidStyle(true);}}
this.onBlur.notify(new nitobi.ui.ElementEventArgs(this,this.onBlur));};nitobi.calendar.DateInput.prototype.handleOnKeyDown=function(_8a6){var key=_8a6.keyCode;if(key==13){this.getHtmlNode("input").blur();}};nitobi.calendar.DateInput.prototype.setInvalidStyle=function(_8a8){var Css=nitobi.html.Css;var _8aa=this.getHtmlNode("container");if(_8a8){Css.swapClass(_8aa,"ntb-inputcontainer","ntb-invalid");}else{Css.swapClass(this.getHtmlNode("container"),"ntb-invalid","ntb-inputcontainer");}
var _8ab=Css.getStyle(_8aa,"backgroundColor");var _8ac=this.getHtmlNode("input");Css.setStyle(_8ac,"backgroundColor",_8ab);};nitobi.calendar.DateInput.prototype.getEditMask=function(){return this.getAttribute("editmask",this.getDisplayMask());};nitobi.calendar.DateInput.prototype.setEditMask=function(mask){this.setAttribute("editmask",mask);};nitobi.calendar.DateInput.prototype.getDisplayMask=function(){return this.getAttribute("displaymask","MMM dd yyyy");};nitobi.calendar.DateInput.prototype.setDisplayMask=function(mask){this.setAttribute("displaymask",mask);};nitobi.calendar.DateInput.prototype.isEditable=function(){this.getBoolAttribute("editable",true);};nitobi.calendar.DateInput.prototype.setEditable=function(dis){this.setBoolAttribute("editable",dis);this.getHtmlNode("input").disabled=dis;};nitobi.calendar.DateInput.prototype.getWidth=function(){this.getIntAttribute("width");};nitobi.calendar.DateInput.prototype.setWidth=function(_8b0){this.setAttribute("width",_8b0);};nitobi.lang.defineNs("nitobi.calendar");nitobi.calendar.CalRenderer=function(){nitobi.html.IRenderer.call(this);};nitobi.lang.implement(nitobi.calendar.CalRenderer,nitobi.html.IRenderer);nitobi.calendar.CalRenderer.prototype.renderToString=function(_8b1){var _8b2=_8b1.getParentObject();var _8b3=_8b2.getEventsManager();var dm=nitobi.base.DateMath;var sb=new nitobi.lang.StringBuilder();var id=_8b1.getId();var _8b7=_8b1.getMonthColumns();var _8b8=_8b1.getMonthRows();var _8b9=_8b7>1||_8b8>1;var _8ba=dm.resetTime(dm.clone(_8b2.getStartDate()));var _8bb=_8b2.getSelectedDate();if(_8bb!=null){_8bb=dm.resetTime(_8b2.getSelectedDate());}
var _8bc=dm.resetTime(new Date());var _8bd=_8b2.getMinDate();var _8be=_8b2.getMaxDate();var _8bf=dm.subtract(dm.clone(_8ba),"d",1);var _8c0=dm.add(dm.clone(_8ba),"m",_8b7*_8b8);_8b2.disPrev=(_8bd&&dm.before(_8bf,_8bd)?true:false);_8b2.disNext=(_8be&&dm.after(_8c0,_8be)?true:false);var _8c1=_8b2.getLongMonthNames();var _8c2=_8b2.getLongDayNames();var _8c3=_8b2.getMinDayNames();var _8c4=_8b2.getQuickNavTooltip();var _8c5=(((nitobi.browser.MOZ&&!document.getElementsByClassName&&navigator.platform.indexOf("Mac")>=0)||nitobi.browser.IE6)&&_8b2.isShimEnabled())?true:false;if(_8c5){sb.append("<iframe id=\""+id+".shim\" style='position:absolute;top:0px;z-index:19999;'><!-- dummy --></iframe>");}
sb.append("<div id=\""+id+".calendar\" style=\""+(_8c5?"position:relative;z-index:20000;":"")+"\">");sb.append("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>");if(_8b9){sb.append("<tr id=\""+id+".header\"><td>");var _8c6=_8c1[_8ba.getMonth()];var _8c7=_8ba.getFullYear();var _8c8=dm.add(dm.clone(_8ba),"m",(_8b7*_8b8)-1);var _8c9=_8c1[_8c8.getMonth()];var _8ca=_8c8.getFullYear();sb.append("<div class=\"ntb-calendar-header\">");sb.append("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"height:100%;width:100%;\"><tbody>");sb.append("<tr><td><a id=\""+id+".prevmonth\" onclick=\"return false;\" href=\"#\" class=\"ntb-calendar-prev"+(_8b2.disPrev?" ntb-calendar-prevdis":"")+"\"></a</td>");sb.append("<td style=\"width:70%;\"><span class=\"ntb-calendar-title\" title=\""+_8c4+"\" id=\""+id+".nav\">"+_8c6+" "+_8c7+" - "+_8c9+" "+_8ca+"</span></td>");sb.append("<td><a id=\""+id+".nextmonth\" onclick=\"return false;\" href=\"#\" class=\"ntb-calendar-next"+(_8b2.disNext?" ntb-calendar-nextdis":"")+"\"></a></td></tr>");sb.append("</tbody></table></div></td></tr>");}
sb.append("<tr id=\""+id+".body\"><td>");sb.append("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>");for(var i=0;i<_8b8;i++){sb.append("<tr>");for(var j=0;j<_8b7;j++){var _8cd=dm.subtract(dm.clone(_8ba),"d",_8ba.getDay());var _8ce=_8ba.getMonth();var _8cf=_8ba.getFullYear();sb.append("<td>");sb.append("<div class=\"ntb-calendar\">");sb.append("<div><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"width:100%;\"><tbody>");sb.append("<tr class=\"ntb-calendar-monthheader\">");if(!_8b9){sb.append("<td><a id=\""+id+".prevmonth\" onclick=\"return false;\" href=\"#\" class=\"ntb-calendar-prev"+(_8b2.disPrev?" ntb-calendar-prevdis":"")+"\"></a></td>");}
sb.append("<td style=\"width:70%;\"><span title=\""+_8c4+"\" "+(!_8b9?"id=\""+id+".nav\"":"")+"><a onclick=\"return false;\" href=\"#\" style=\""+(_8b9?"cursor:default;":"")+"\" class=\"ntb-calendar-month\">"+_8c1[_8ce]+"</a>");sb.append("<a onclick=\"return false;\" href=\"#\" style=\""+(_8b9?"cursor:default;":"")+"\" class=\"ntb-calendar-year\">"+" "+_8cf+"</a></span></td>");if(!_8b9){sb.append("<td><a id=\""+id+".nextmonth\" onclick=\"return false;\" href=\"#\" class=\"ntb-calendar-next"+(_8b2.disNext?" ntb-calendar-nextdis":"")+"\"></a></td>");}
sb.append("</tbody></table></div>");sb.append("<div><table id=\""+id+"."+_8ce+"."+_8cf+"\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"width: 100%;\"><tbody>");sb.append("<tr>");for(var k=0;k<7;k++){sb.append("<th class=\"ntb-calendar-dayheader\">"+_8c3[k]+"</th>");}
sb.append("</tr>");for(var m=0;m<6;m++){sb.append("<tr>");for(var n=0;n<7;n++){sb.append("<td>");var _8d3=_8c2[_8cd.getDay()]+", "+_8c1[_8cd.getMonth()]+" "+_8cd.getDate()+", "+_8cd.getFullYear();var _8d4=null;var _8d5="";if(_8b3&&_8cd.getMonth()==_8ba.getMonth()){var _8d4=_8b3.dates.events[_8cd.valueOf()];if(_8d4!=null){var nt="";for(var p=0;p<_8d4.length;p++){if(_8d4[p].tooltip!=null){nt+=_8d4[p].tooltip+"\n";}else{if(_8d4[p].location!=null){nt+=_8d4[p].location+"\n";if(_8d4[p].description!=null){nt+=_8d4[p].description;}}}
if(_8d4[p].cssStyle!=null){_8d5+=_8d4[p].cssStyle;}}
if(nt.length!=0){_8d3=nt;}}}
sb.append("<a ebatype=\"date\" ebamonth=\""+_8cd.getMonth()+"\" ebadate=\""+_8cd.getDate()+"\" ebayear=\""+_8cd.getFullYear()+"\" title=\""+_8d3+"\" href=\"#\" onclick=\"return false;\" style=\"display:block;text-decoration:none;"+_8d5+"\" class=\"");if(_8bb&&_8cd.valueOf()==_8bb.valueOf()&&_8cd.getMonth()==_8ba.getMonth()){sb.append("ntb-calendar-currentday ");}
if(_8cd.getMonth()<_8ba.getMonth()||(_8bd&&_8cd.valueOf()<_8bd.valueOf())){sb.append("ntb-calendar-lastmonth ");}else{if(_8cd.getMonth()>_8ba.getMonth()||(_8be&&_8cd.valueOf()>_8be.valueOf())){sb.append("ntb-calendar-nextmonth ");}else{if(_8cd.getMonth()==_8ba.getMonth()){sb.append("ntb-calendar-thismonth ");}}}
if(_8b3&&_8b3.isDisabled(_8cd)&&_8cd.getMonth()==_8ba.getMonth()){sb.append("ntb-calendar-disabled ");}else{if(_8b3&&_8b3.isEvent(_8cd)&&_8cd.getMonth()==_8ba.getMonth()){sb.append("ntb-calendar-event ");}}
if(_8bc.valueOf()==_8cd.valueOf()){sb.append("ntb-calendar-today");}
sb.append(" ntb-calendar-day");if(_8d4!=null){for(var p=0;p<_8d4.length;p++){if(_8d4[p].cssClass!=null){sb.append(" "+_8d4[p].cssClass+" ");}}}
sb.append("\">"+_8cd.getDate()+"</a></td>");_8cd=dm.add(_8cd,"d",1);}
sb.append("</tr>");}
sb.append("</tbody></table></div></div></td>");_8ba=dm.resetTime(dm.add(_8ba,"m",1));}
sb.append("</tr>");}
sb.append("</tbody></table></td></tr></tbody></table></div></div>");sb.append("</tbody><colgroup span=\"7\" style=\"width:17%\"></colgroup></table></div>");sb.append("<div id=\""+id+".overlay\" class=\"ntb-calendar-overlay\" style=\""+(_8c5?"z-index:20001;":"")+"top:0px;left:0px;display:none;position:absolute;background-color:gray;filter:alpha(opacity=40);-moz-opacity:.50;opacity:.50;\"></div>");sb.append(this.renderNavPanel(_8b1));sb.append("</div></div>");return sb.toString();};nitobi.calendar.CalRenderer.prototype.renderNavPanel=function(_8d8){var sb=new nitobi.lang.StringBuilder();var _8da=_8d8.getParentObject();var _8db=_8da.getLongMonthNames();var id=_8d8.getId();var _8dd=(nitobi.browser.MOZ&&!nitobi.browser.MOZ3)||(nitobi.browser.IE6&&!nitobi.browser.IE7)?true:false;sb.append("<div id=\""+id+".navpanel\" style=\""+(_8dd?"z-index:20002;":"")+"position:absolute;top:0px;left:0px;overflow:hidden;\" class=\"ntb-calendar-navcontainer nitobi-hide\">");sb.append("<div class=\"ntb-calendar-monthcontainer\">");sb.append("<label style=\"display:block;\" for=\""+id+".months\">"+_8da.getNavSelectMonthText()+"</label>");sb.append("<select id=\""+id+".months\" class=\"ntb-calendar-navms\" style=\"\" tabindex=\"1\">");for(var i=0;i<_8db.length;i++){sb.append("<option value=\""+i+"\">"+_8db[i]+"</option>");}
sb.append("</select>");sb.append("</div>");sb.append("<div class=\"ntb-calendar-yearcontainer\">");sb.append("<label style=\"display:block;\" for=\""+id+".year\">"+_8da.getNavSelectYearText()+"</label>");sb.append("<input size=\"4\" maxlength=\"4\" id=\""+id+".year\" class=\"ntb-calendar-navinput\" style=\"-moz-user-select: normal;\" tabindex=\"2\"/>");sb.append("</div>");sb.append("<div class=\"ntb-calendar-controls\">");sb.append("<button id=\""+id+".navconfirm\" type=\"button\">"+_8da.getNavConfirmText()+"</button>");sb.append("<button id=\""+id+".navcancel\" type=\"button\">"+_8da.getNavCancelText()+"</button>");sb.append("</div>");sb.append("<div id=\""+id+".warning\" style=\"display:none;\" class=\"ntb-calendar-navwarning\">You must enter a valid year.</div>");sb.append("</div>");return sb.toString();};nitobi.lang.defineNs("nitobi.calendar");nitobi.calendar.EventsManager=function(url){this.connector=new nitobi.data.UrlConnector(url);this.onDataReady=new nitobi.base.Event();this.dates={events:{},disabled:{}};this.eventsCache={};this.disabledCache={};};nitobi.calendar.EventsManager.prototype.isEvent=function(date){return(this.eventsCache[date.valueOf()]?true:false);};nitobi.calendar.EventsManager.prototype.isDisabled=function(date){return(this.disabledCache[date.valueOf()]?true:false);};nitobi.calendar.EventsManager.prototype.getFromServer=function(){if(this.connector.url!=null){this.connector.get({},nitobi.lang.close(this,this.getComplete));}else{this.onDataReady.notify();}};nitobi.calendar.EventsManager.prototype.getComplete=function(_8e2){var data=_8e2.result;var dm=nitobi.base.DateMath;var root=data.documentElement;var _8e6=nitobi.xml.getChildNodes(root);for(var i=0;i<_8e6.length;i++){var _8e8=_8e6[i];var type=_8e8.getAttribute("e");var _8ea={};if(type=="event"){var _8eb=_8e8.getAttribute("a");_8eb=dm.parseIso8601(_8eb);_8ea.startDate=_8eb;var _8ec=_8e8.getAttribute("b");if(_8ec){_8ec=dm.parseIso8601(_8ec);}else{_8ec=null;}
_8ea.endDate=_8ec;_8ea.location=_8e8.getAttribute("c");_8ea.description=_8e8.getAttribute("d");_8ea.tooltip=_8e8.getAttribute("f");_8ea.cssClass=_8e8.getAttribute("g");_8ea.cssStyle=_8e8.getAttribute("h");var _8ed=this.dates.events[dm.resetTime(dm.clone(_8eb)).valueOf()];if(_8ed){_8ed.push(_8ea);}else{_8ed=[_8ea];this.dates.events[dm.resetTime(dm.clone(_8eb)).valueOf()]=_8ed;}
this.addEventDate(_8eb,_8ec);}else{var _8eb=dm.parseIso8601(_8e8.getAttribute("a"));_8ea.date=_8eb;this.addDisabledDate(dm.clone(_8eb));}}
this.onDataReady.notify();};nitobi.calendar.EventsManager.prototype.addEventDate=function(_8ee,end){var dm=nitobi.base.DateMath;var _8f1=dm.clone(_8ee);_8f1=dm.resetTime(_8f1);if(!end){return this.eventsCache[_8f1.valueOf()]=_8ee;}
end=dm.clone(end);end=dm.resetTime(end);while(_8f1.valueOf()<=end.valueOf()){this.eventsCache[_8f1.valueOf()]=_8ee;_8f1=dm.add(_8f1,"d",1);}};nitobi.calendar.EventsManager.prototype.addDisabledDate=function(date){date=nitobi.base.DateMath.resetTime(date);return this.disabledCache[date.valueOf()]=true;};nitobi.calendar.EventsManager.prototype.getEventInfo=function(date){var dm=nitobi.base.DateMath;var _8f5=this.dates.events;date=dm.resetTime(date);return _8f5[date.valueOf()];};var temp_ntb_modelDoc='<state  xmlns:ntb="http://www.nitobi.com" ID="mySheet" Version="3.01"  element="grid"   uniqueID="_hkj342">    <nitobi.grid.Grid     Theme="nitobi"     CellBorder="0"   Height="300"  Width="700"  skin="default"  RowHeight="23"     indicatorHeight="23"  HeaderHeight="23"  scrollbarWidth="26"  scrollbarHeight="26"  ToolbarHeight="25"    top="23"    left="100"    bottom="23"  minHeight="60"  minWidth="250"  PrimaryDatasourceSize="0"   containerHeight=""  containerWidth=""  columnsdefined="0"  renderframe="0"  renderindicators="0"  renderheader="0"  renderfooter="0"  renderleft="0"  renderright="0"  rendercenter="0"  selected="1"  activeView=""  highlightCell=""  scrolling="0"  EditMode="0"  prevCell=""  prevText=""  prevData=""  FrozenLeftColumnCount="0"  DatasourceSizeEstimate="0"     DatasourceId=""    freezeright="0"  freezetop="0"  ToolbarEnabled="1"     Expanding="0"   GridResizeEnabled="0"  RowHighlightEnabled="0"  RowSelectEnabled="0"  MultiRowSelectEnabled="0"  AutoKeyEnabled="0"   ToolbarContainerEmpty="false"   ToolTipsEnabled="1"  RowIndicatorsEnabled="0"  ColumnIndicatorsEnabled="1"  HScrollbarEnabled="1"  VScrollbarEnabled="1"  rowselect="0"  AutoSaveEnabled="0"  autoAdd="0"  remoteSort="0"  ForceValidate="1"  showErrors="0"  columnGraying="0"  keymode=""   keyboardPaging="0"  RowInsertEnabled="1"  RowDeleteEnabled="1"  allowEdit="1"  allowFormula="1"  PasteEnabled="1"  CopyEnabled="1"    expandRowsOnPaste="1"  expandColumnsOnPast="1"  datalog="myXMLLog"  xselect="//root"  xorder="@a"  asynchronous="1"  fieldMap=""     GetHandler=""   getHandler=""  SaveHandler=""  lastSaveHandlerResponse=""  sortColumn="0"  curSortColumn="0"  descending="0"  curSortColumnDesc="0"  RowCount="0"  ColumnCount="0"  nextXK="32"  CurrentPageIndex="0"  PagingMode="standard"  DataMode="caching"  RenderMode=""     LiveScrollingMode="Leap"  RowsPerPage="20"  pageStart="0"  normalColor="#FFFFFF"  normalColor2="#FFFFFF"  activeColor="#FFFFFF"  selectionColor="#FFFFFF"  highlightColor="#FFFFFF"  columnGrayingColor="#FFFFFF"  SingleClickEditEnabled="0"  LastError=""  SortEnabled="1"     SortMode="default"     EnterTab="down"          WidthFixed="0"      HeightFixed="0"     MinWidth="20"      MinHeight="0"     DragFillEnabled="1"  RightClickCopyEnabled="0" >    </nitobi.grid.Grid>    <nitobi.grid.Columns>    </nitobi.grid.Columns>    <Defaults>     <nitobi.grid.Grid></nitobi.grid.Grid>  <nitobi.grid.Column    Width="100"   type="TEXT"   Visible="1"   SortEnabled="1"   />     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." type="TEXT" editor="TEXT"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." type="NUMBER" editor="NUMBER"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." type="TEXTAREA" editor="TEXTAREA"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." ImageUrl="" type="IMAGE" editor="IMAGE"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." OpenWindow="1" type="LINK" editor="LINK"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" NegativeMask="" GroupingSeparator="," DecimalSeparator="." CalendarEnabled="1" type="DATE" editor="DATE"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." DatasourceId="" Datasource="" DisplayFields="" ValueField="" Delay="" Size="6" ForceValidOption="0" AutoComplete="1" AutoClear="0" GetOnEnter="0" ReferenceColumn="" type="LOOKUP" editor="LOOKUP"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." DatasourceId="" Datasource="" DisplayFields="" ValueField="" type="LISTBOX" editor="LISTBOX"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." type="PASSWORD" editor="PASSWORD"/>     <nitobi.grid.Column Align="right" ClassName="" CssStyle="" ColumnName="" DataType="number" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="#,###.00" NegativeMask="" GroupingSeparator="," DecimalSeparator="." DatasourceId="" Datasource="" DisplayFields="" ValueField="" CheckedValue="" UnCheckedValue="" type="CHECKBOX" editor="CHECKBOX"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" type="TEXT" editor="TEXT"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" type="NUMBER" editor="NUMBER"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" type="TEXTAREA" editor="TEXTAREA"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" ImageUrl="" type="IMAGE" editor="IMAGE"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" OpenWindow="1" type="LINK" editor="LINK"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" type="DATE" editor="DATE"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" DatasourceId="" Datasource="" DisplayFields="" ValueField="" Delay="" Size="6" ForceValidOption="0" AutoComplete="1" AutoClear="0" GetOnEnter="0" ReferenceColumn="" type="LOOKUP" editor="LOOKUP"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" DatasourceId="" Datasource="" DisplayFields="" ValueField="" type="LISTBOX" editor="LISTBOX"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" type="PASSWORD" editor="PASSWORD"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="date" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" DatasourceId="" Datasource="" DisplayFields="" ValueField="" CheckedValue="" UnCheckedValue="" type="CHECKBOX" editor="CHECKBOX"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" type="TEXT" editor="TEXT"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" type="NUMBER" editor="NUMBER"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" type="TEXTAREA" editor="TEXTAREA"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" ImageUrl="" type="IMAGE" editor="IMAGE"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" OpenWindow="1" type="LINK" editor="LINK"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" Mask="M/d/yyyy" CalendarEnabled="1" type="DATE" editor="DATE"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" DatasourceId="" Datasource="" DisplayFields="" ValueField="" Delay="" Size="6" ForceValidOption="0" AutoComplete="1" AutoClear="0" GetOnEnter="0" ReferenceColumn="" type="LOOKUP" editor="LOOKUP"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" DatasourceId="" Datasource="" DisplayFields="" ValueField="" type="LISTBOX" editor="LISTBOX"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" type="PASSWORD" editor="PASSWORD"/>     <nitobi.grid.Column Align="left" ClassName="" CssStyle="" ColumnName="" DataType="text" Editable="1" Initial="" Label="" GetHandler="" DataSource="" Template="" TemplateUrl="" MaxLength="255" SortDirection="Desc" SortEnabled="1" Width="100" Visible="1" xdatafld="" Value="" xi="100" DatasourceId="" Datasource="" DisplayFields="" ValueField="" CheckedValue="" UnCheckedValue="" type="CHECKBOX" editor="CHECKBOX"/>  <nitobi.grid.Row></nitobi.grid.Row>  <nitobi.grid.Cell></nitobi.grid.Cell>  <ntb:e />    </Defaults>     <declaration> </declaration> <columnDefinitions> </columnDefinitions></state>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.modelDoc=nitobi.xml.createXmlDoc(temp_ntb_modelDoc);var temp_ntb_toolbarDoc='<?xml version="1.0" encoding="utf-8"?><toolbar id="toolbarthis.uid" title="Grid" height="25" width="110" image_directory="http://localhost/vss/EBALib/v13/Common/Toolbar/Styles/default"> <items>  <button id="save" onclick_event="this.onClick()" height="14" width="14" image="save.gif"   image_disabled="save_disabled.gif" tooltip_text="Save Changes" />  <!-- <button id="discardChanges" onclick_event="testclick(this);" height="17" width="16" top_offset="-2"   image="cancelsave.gif" image_disabled="cancelsave_disabled.gif" tooltip_text="Discard Changes" /> -->  <separator id="toolbar1_separator1" height="20" width="5" image="separator.jpg" />  <button id="newRecord" onclick_event="this.onClick()" height="11" width="14" image="newrecord.gif"   image_disabled="newrecord_disabled.gif" tooltip_text="New Record" />  <button id="deleteRecord" onclick_event="this.onClick()" height="11" width="14" image="deleterecord.gif"   image_disabled="deleterecord_disabled.gif" tooltip_text="Delete Record" />  <separator id="toolbar1_separator2" height="20" width="5" image="separator.jpg" />  <button id="refresh" onclick_event="this.onClick()" height="14" width="16" image="refresh.gif"   image_disabled="refresh_disabled.gif" tooltip_text="Refresh" />  <!--<separator id="toolbar1_separator3" height="20" width="5" image="separator.jpg" />  <button id="toolbar1_button4" onclick_event="testclick(this);" height="11" width="10" image="left.gif"   image_disabled="left_disabled.gif" tooltip_text="Previous Page" />  <button id="toolbar1_button5" onclick_event="testclick(this);" height="11" width="10" image="right.gif"   image_disabled="right_disabled.gif" tooltip_text="Next Page" />  --> </items></toolbar>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.toolbarDoc=nitobi.xml.createXmlDoc(temp_ntb_toolbarDoc);var temp_ntb_pagingToolbarDoc='<?xml version="1.0" encoding="utf-8"?><toolbar id="toolbarpagingthis.uid" title="Paging" height="25" width="60" image_directory="http://localhost/vss/EBALib/v13/Common/Toolbar/Styles/default"> <items>  <button id="previousPage" onclick_event="this.onClick()" height="14" width="14" image="left.gif"   image_disabled="left_disabled.gif" tooltip_text="Previous Page" />  <button id="nextPage" onclick_event="this.onClick()" height="14" width="16" image="right.gif"   image_disabled="right_disabled.gif" tooltip_text="Next Page" /> </items></toolbar>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.pagingToolbarDoc=nitobi.xml.createXmlDoc(temp_ntb_pagingToolbarDoc);var temp_ntb_addXidXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <x:p-x:n-guid"x:s-0"/><x:t- match="/"> <x:at-/></x:t-><x:t- match="node()|@*"> <xsl:copy> <xsl:if test="not(@xid)"> <x:a-x:n-xid" ><x:v-x:s-generate-id(.)"/><x:v-x:s-position()"/><x:v-x:s-$guid"/></x:a-> </xsl:if> <x:at-x:s-./* | text() | @*"> </x:at-> </xsl:copy></x:t-> <x:t- match="text()"> <x:v-x:s-."/></x:t-></xsl:stylesheet> ';nitobi.lang.defineNs("nitobi.data");nitobi.data.addXidXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_addXidXslProc));var temp_ntb_adjustXiXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="yes" /> <x:p-x:n-startingIndex"x:s-5"></x:p-> <x:p-x:n-startingGroup"x:s-5"></x:p-> <x:p-x:n-adjustment"x:s--1"></x:p-> <x:t- match="*|@*"> <xsl:copy> <x:at-x:s-@*|node()" /> </xsl:copy> </x:t-> <!--[@id=\'_default\']--> <x:t- match="//ntb:data/ntb:e|@*"> <x:c-> <x:wh- test="number(@xi) &gt;= number($startingIndex)"> <xsl:copy> <x:at-x:s-@*|node()" /> <x:ct-x:n-increment-xi" /> </xsl:copy> </x:wh-> <x:o-> <xsl:copy> <x:at-x:s-@*|node()" /> </xsl:copy> </x:o-> </x:c-> </x:t-> <x:t-x:n-increment-xi"> <x:a-x:n-xi"> <x:v-x:s-number(@xi) + number($adjustment)" /> </x:a-> </x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.data");nitobi.data.adjustXiXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_adjustXiXslProc));var temp_ntb_dataTranslatorXslProc='<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="yes" /> <x:p-x:n-start"x:s-0"></x:p-> <x:p-x:n-id"x:s-\'_default\'"></x:p-> <x:p-x:n-xkField"x:s-\'a\'"></x:p-> <x:t- match="//root"> <ntb:grid xmlns:ntb="http://www.nitobi.com"> <ntb:datasources> <ntb:datasource id="{$id}"> <xsl:if test="@error"> <x:a-x:n-error"><x:v-x:s-@error" /></x:a-> </xsl:if> <ntb:datasourcestructure id="{$id}"> <x:a-x:n-FieldNames"><x:v-x:s-@fields" />|_xk</x:a-> <x:a-x:n-Keys">_xk</x:a-> </ntb:datasourcestructure> <ntb:data id="{$id}"> <xsl:for-eachx:s-//e"> <x:at-x:s-."> <x:w-x:n-xi"x:s-position()-1"></x:w-> </x:at-> </xsl:for-each> </ntb:data> </ntb:datasource> </ntb:datasources> </ntb:grid> </x:t-> <x:t- match="e"> <x:p-x:n-xi"x:s-0"></x:p-> <ntb:e> <xsl:copy-ofx:s-@*[not(name() = \'xk\')]"></xsl:copy-of> <xsl:if test="not(@xi)"><x:a-x:n-xi"><x:v-x:s-$start + $xi" /></x:a-></xsl:if> <x:a-x:n-{$xkField}"><x:v-x:s-@xk" /></x:a-> </ntb:e> </x:t-> <x:t- match="lookups"></x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.data");nitobi.data.dataTranslatorXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_dataTranslatorXslProc));var temp_ntb_dateFormatTemplatesXslProc='<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com" xmlns:d="http://exslt.org/dates-and-times" xmlns:n="http://www.nitobi.com/exslt/numbers" extension-element-prefixes="d n"> <!-- http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html --><d:ms> <d:m i="1" l="31" a="Jan">January</d:m> <d:m i="2" l="28" a="Feb">February</d:m> <d:m i="3" l="31" a="Mar">March</d:m> <d:m i="4" l="30" a="Apr">April</d:m> <d:m i="5" l="31" a="May">May</d:m> <d:m i="6" l="30" a="Jun">June</d:m> <d:m i="7" l="31" a="Jul">July</d:m> <d:m i="8" l="31" a="Aug">August</d:m> <d:m i="9" l="30" a="Sep">September</d:m> <d:m i="10" l="31" a="Oct">October</d:m> <d:m i="11" l="30" a="Nov">November</d:m> <d:m i="12" l="31" a="Dec">December</d:m></d:ms><d:ds> <d:d a="Sun">Sunday</d:d> <d:d a="Mon">Monday</d:d> <d:d a="Tue">Tuesday</d:d> <d:d a="Wed">Wednesday</d:d> <d:d a="Thu">Thursday</d:d> <d:d a="Fri">Friday</d:d> <d:d a="Sat">Saturday</d:d></d:ds><x:t-x:n-d:format-date"> <x:p-x:n-date-time" /> <x:p-x:n-mask"x:s-\'MMM d, yy\'"/> <x:p-x:n-date-year" /> <x:va-x:n-formatted"> <x:va-x:n-date-time-length"x:s-string-length($date-time)" /> <x:va-x:n-timezone"x:s-\'\'" /> <x:va-x:n-dt"x:s-substring($date-time, 1, $date-time-length - string-length($timezone))" /> <x:va-x:n-dt-length"x:s-string-length($dt)" /> <x:c-> <x:wh- test="substring($dt, 3, 1) = \':\' and substring($dt, 6, 1) = \':\'"> <!--that means we just have a time--> <x:va-x:n-hour"x:s-substring($dt, 1, 2)" /> <x:va-x:n-min"x:s-substring($dt, 4, 2)" /> <x:va-x:n-sec"x:s-substring($dt, 7)" /> <xsl:if test="$hour &lt;= 23 and $min &lt;= 59 and $sec &lt;= 60"> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-\'NaN\'" /> <x:w-x:n-month"x:s-\'NaN\'" /> <x:w-x:n-day"x:s-\'NaN\'" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$min" /> <x:w-x:n-second"x:s-$sec" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </xsl:if> </x:wh-> <x:wh- test="substring($dt, 2, 1) = \'-\' or substring($dt, 3, 1) = \'-\'"> <x:c-> <x:wh- test="$dt-length = 5 or $dt-length = 6"> <!--D-MMM,DD-MMM--> <x:va-x:n-year"x:s-$date-year" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-after($dt,\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:wh- test="$dt-length = 8 or $dt-length = 9"> <!--D-MMM-YY,DD-MMM-YY--> <x:va-x:n-year"x:s-concat(\'20\',substring-after(substring-after($dt,\'-\'),\'-\'))" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-before(substring-after($dt,\'-\'),\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:o-> <!--D-MMM-YYYY,DD-MMM-YYYY--> <x:va-x:n-year"x:s-substring-after(substring-after($dt,\'-\'),\'-\')" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-before(substring-after($dt,\'-\'),\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:o-> </x:c-> </x:wh-> <x:o-> <!--($neg * -2)--> <x:va-x:n-year"x:s-substring($dt, 1, 4) * (0 + 1)" /> <x:va-x:n-month"x:s-substring($dt, 6, 2)" /> <x:va-x:n-day"x:s-substring($dt, 9, 2)" /> <x:c-> <x:wh- test="$dt-length = 10"> <!--that means we just have a date--> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:wh- test="substring($dt, 14, 1) = \':\' and substring($dt, 17, 1) = \':\'"> <!--that means we have a date + time--> <x:va-x:n-hour"x:s-substring($dt, 12, 2)" /> <x:va-x:n-min"x:s-substring($dt, 15, 2)" /> <x:va-x:n-sec"x:s-substring($dt, 18)" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$min" /> <x:w-x:n-second"x:s-$sec" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> </x:c-> </x:o-> </x:c-> </x:va-> <x:v-x:s-$formatted" /> </x:t-><x:t-x:n-d:_format-date"> <x:p-x:n-year" /> <x:p-x:n-month"x:s-1" /> <x:p-x:n-day"x:s-1" /> <x:p-x:n-hour"x:s-0" /> <x:p-x:n-minute"x:s-0" /> <x:p-x:n-second"x:s-0" /> <x:p-x:n-timezone"x:s-\'Z\'" /> <x:p-x:n-mask"x:s-\'\'" /> <x:va-x:n-char"x:s-substring($mask, 1, 1)" /> <x:c-> <x:wh- test="not($mask)" /> <!--replaced escaping with \' here/--> <x:wh- test="not(contains(\'GyMdhHmsSEDFwWakKz\', $char))"> <x:v-x:s-$char" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$minute" /> <x:w-x:n-second"x:s-$second" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-substring($mask, 2)" /> </x:ct-> </x:wh-> <x:o-> <x:va-x:n-next-different-char"x:s-substring(translate($mask, $char, \'\'), 1, 1)" /> <x:va-x:n-mask-length"> <x:c-> <x:wh- test="$next-different-char"> <x:v-x:s-string-length(substring-before($mask, $next-different-char))" /> </x:wh-> <x:o-> <x:v-x:s-string-length($mask)" /> </x:o-> </x:c-> </x:va-> <x:c-> <!--took our the era designator--> <x:wh- test="$char = \'M\'"> <x:c-> <x:wh- test="$mask-length >= 3"> <x:va-x:n-month-node"x:s-document(\'\')/*/d:ms/d:m[number($month)]" /> <x:c-> <x:wh- test="$mask-length >= 4"> <x:v-x:s-$month-node" /> </x:wh-> <x:o-> <x:v-x:s-$month-node/@a" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$mask-length = 2"> <x:v-x:s-format-number($month, \'00\')" /> </x:wh-> <x:o-> <x:v-x:s-$month" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'E\'"> <x:va-x:n-month-days"x:s-sum(document(\'\')/*/d:ms/d:m[position() &lt; $month]/@l)" /> <x:va-x:n-days"x:s-$month-days + $day + boolean(((not($year mod 4) and $year mod 100) or not($year mod 400)) and $month &gt; 2)" /> <x:va-x:n-y-1"x:s-$year - 1" /> <x:va-x:n-dow"x:s-(($y-1 + floor($y-1 div 4) - floor($y-1 div 100) + floor($y-1 div 400) + $days) mod 7) + 1" /> <x:va-x:n-day-node"x:s-document(\'\')/*/d:ds/d:d[number($dow)]" /> <x:c-> <x:wh- test="$mask-length >= 4"> <x:v-x:s-$day-node" /> </x:wh-> <x:o-> <x:v-x:s-$day-node/@a" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'a\'"> <x:c-> <x:wh- test="$hour >= 12">PM</x:wh-> <x:o->AM</x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'z\'"> <x:c-> <x:wh- test="$timezone = \'Z\'">UTC</x:wh-> <x:o->UTC<x:v-x:s-$timezone" /></x:o-> </x:c-> </x:wh-> <x:o-> <x:va-x:n-padding"x:s-\'00\'" /> <!--removed padding--> <x:c-> <x:wh- test="$char = \'y\'"> <x:c-> <x:wh- test="$mask-length &gt; 2"><x:v-x:s-format-number($year, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(substring($year, string-length($year) - 1), $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'d\'"> <x:v-x:s-format-number($day, $padding)" /> </x:wh-> <x:wh- test="$char = \'h\'"> <x:va-x:n-h"x:s-$hour mod 12" /> <x:c-> <x:wh- test="$h"><x:v-x:s-format-number($h, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(12, $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'H\'"> <x:v-x:s-format-number($hour, $padding)" /> </x:wh-> <x:wh- test="$char = \'k\'"> <x:c-> <x:wh- test="$hour"><x:v-x:s-format-number($hour, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(24, $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'K\'"> <x:v-x:s-format-number($hour mod 12, $padding)" /> </x:wh-> <x:wh- test="$char = \'m\'"> <x:v-x:s-format-number($minute, $padding)" /> </x:wh-> <x:wh- test="$char = \'s\'"> <x:v-x:s-format-number($second, $padding)" /> </x:wh-> <x:wh- test="$char = \'S\'"> <x:v-x:s-format-number(substring-after($second, \'.\'), $padding)" /> </x:wh-> <x:wh- test="$char = \'F\'"> <x:v-x:s-floor($day div 7) + 1" /> </x:wh-> <x:o-> <x:va-x:n-month-days"x:s-sum(document(\'\')/*/d:ms/d:m[position() &lt; $month]/@l)" /> <x:va-x:n-days"x:s-$month-days + $day + boolean(((not($year mod 4) and $year mod 100) or not($year mod 400)) and $month &gt; 2)" /> <x:v-x:s-format-number($days, $padding)" /> <!--removed week in year--> <!--removed week in month--> </x:o-> </x:c-> </x:o-> </x:c-> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$minute" /> <x:w-x:n-second"x:s-$second" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-substring($mask, $mask-length + 1)" /> </x:ct-> </x:o-> </x:c-></x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.dateFormatTemplatesXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_dateFormatTemplatesXslProc));var temp_ntb_dateXslProc='<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com" xmlns:d="http://exslt.org/dates-and-times" extension-element-prefixes="d"> <xsl:output method="text" version="4.0" omit-xml-declaration="yes" /> <!-- http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html --><d:ms> <d:m i="1" l="31" a="Jan">January</d:m> <d:m i="2" l="28" a="Feb">February</d:m> <d:m i="3" l="31" a="Mar">March</d:m> <d:m i="4" l="30" a="Apr">April</d:m> <d:m i="5" l="31" a="May">May</d:m> <d:m i="6" l="30" a="Jun">June</d:m> <d:m i="7" l="31" a="Jul">July</d:m> <d:m i="8" l="31" a="Aug">August</d:m> <d:m i="9" l="30" a="Sep">September</d:m> <d:m i="10" l="31" a="Oct">October</d:m> <d:m i="11" l="30" a="Nov">November</d:m> <d:m i="12" l="31" a="Dec">December</d:m></d:ms><d:ds> <d:d a="Sun">Sunday</d:d> <d:d a="Mon">Monday</d:d> <d:d a="Tue">Tuesday</d:d> <d:d a="Wed">Wednesday</d:d> <d:d a="Thu">Thursday</d:d> <d:d a="Fri">Friday</d:d> <d:d a="Sat">Saturday</d:d></d:ds><x:t-x:n-d:format-date"> <x:p-x:n-date-time" /> <x:p-x:n-mask"x:s-\'MMM d, yy\'"/> <x:p-x:n-date-year" /> <x:va-x:n-formatted"> <x:va-x:n-date-time-length"x:s-string-length($date-time)" /> <x:va-x:n-timezone"x:s-\'\'" /> <x:va-x:n-dt"x:s-substring($date-time, 1, $date-time-length - string-length($timezone))" /> <x:va-x:n-dt-length"x:s-string-length($dt)" /> <x:c-> <x:wh- test="substring($dt, 3, 1) = \':\' and substring($dt, 6, 1) = \':\'"> <!--that means we just have a time--> <x:va-x:n-hour"x:s-substring($dt, 1, 2)" /> <x:va-x:n-min"x:s-substring($dt, 4, 2)" /> <x:va-x:n-sec"x:s-substring($dt, 7)" /> <xsl:if test="$hour &lt;= 23 and $min &lt;= 59 and $sec &lt;= 60"> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-\'NaN\'" /> <x:w-x:n-month"x:s-\'NaN\'" /> <x:w-x:n-day"x:s-\'NaN\'" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$min" /> <x:w-x:n-second"x:s-$sec" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </xsl:if> </x:wh-> <x:wh- test="substring($dt, 2, 1) = \'-\' or substring($dt, 3, 1) = \'-\'"> <x:c-> <x:wh- test="$dt-length = 5 or $dt-length = 6"> <!--D-MMM,DD-MMM--> <x:va-x:n-year"x:s-$date-year" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-after($dt,\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:wh- test="$dt-length = 8 or $dt-length = 9"> <!--D-MMM-YY,DD-MMM-YY--> <x:va-x:n-year"x:s-concat(\'20\',substring-after(substring-after($dt,\'-\'),\'-\'))" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-before(substring-after($dt,\'-\'),\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:o-> <!--D-MMM-YYYY,DD-MMM-YYYY--> <x:va-x:n-year"x:s-substring-after(substring-after($dt,\'-\'),\'-\')" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-before(substring-after($dt,\'-\'),\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:o-> </x:c-> </x:wh-> <x:o-> <!--($neg * -2)--> <x:va-x:n-year"x:s-substring($dt, 1, 4) * (0 + 1)" /> <x:va-x:n-month"x:s-substring($dt, 6, 2)" /> <x:va-x:n-day"x:s-substring($dt, 9, 2)" /> <x:c-> <x:wh- test="$dt-length = 10"> <!--that means we just have a date--> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:wh- test="substring($dt, 14, 1) = \':\' and substring($dt, 17, 1) = \':\'"> <!--that means we have a date + time--> <x:va-x:n-hour"x:s-substring($dt, 12, 2)" /> <x:va-x:n-min"x:s-substring($dt, 15, 2)" /> <x:va-x:n-sec"x:s-substring($dt, 18)" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$min" /> <x:w-x:n-second"x:s-$sec" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> </x:c-> </x:o-> </x:c-> </x:va-> <x:v-x:s-$formatted" /> </x:t-><x:t-x:n-d:_format-date"> <x:p-x:n-year" /> <x:p-x:n-month"x:s-1" /> <x:p-x:n-day"x:s-1" /> <x:p-x:n-hour"x:s-0" /> <x:p-x:n-minute"x:s-0" /> <x:p-x:n-second"x:s-0" /> <x:p-x:n-timezone"x:s-\'Z\'" /> <x:p-x:n-mask"x:s-\'\'" /> <x:va-x:n-char"x:s-substring($mask, 1, 1)" /> <x:c-> <x:wh- test="not($mask)" /> <!--replaced escaping with \' here/--> <x:wh- test="not(contains(\'GyMdhHmsSEDFwWakKz\', $char))"> <x:v-x:s-$char" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$minute" /> <x:w-x:n-second"x:s-$second" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-substring($mask, 2)" /> </x:ct-> </x:wh-> <x:o-> <x:va-x:n-next-different-char"x:s-substring(translate($mask, $char, \'\'), 1, 1)" /> <x:va-x:n-mask-length"> <x:c-> <x:wh- test="$next-different-char"> <x:v-x:s-string-length(substring-before($mask, $next-different-char))" /> </x:wh-> <x:o-> <x:v-x:s-string-length($mask)" /> </x:o-> </x:c-> </x:va-> <x:c-> <!--took our the era designator--> <x:wh- test="$char = \'M\'"> <x:c-> <x:wh- test="$mask-length >= 3"> <x:va-x:n-month-node"x:s-document(\'\')/*/d:ms/d:m[number($month)]" /> <x:c-> <x:wh- test="$mask-length >= 4"> <x:v-x:s-$month-node" /> </x:wh-> <x:o-> <x:v-x:s-$month-node/@a" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$mask-length = 2"> <x:v-x:s-format-number($month, \'00\')" /> </x:wh-> <x:o-> <x:v-x:s-$month" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'E\'"> <x:va-x:n-month-days"x:s-sum(document(\'\')/*/d:ms/d:m[position() &lt; $month]/@l)" /> <x:va-x:n-days"x:s-$month-days + $day + boolean(((not($year mod 4) and $year mod 100) or not($year mod 400)) and $month &gt; 2)" /> <x:va-x:n-y-1"x:s-$year - 1" /> <x:va-x:n-dow"x:s-(($y-1 + floor($y-1 div 4) - floor($y-1 div 100) + floor($y-1 div 400) + $days) mod 7) + 1" /> <x:va-x:n-day-node"x:s-document(\'\')/*/d:ds/d:d[number($dow)]" /> <x:c-> <x:wh- test="$mask-length >= 4"> <x:v-x:s-$day-node" /> </x:wh-> <x:o-> <x:v-x:s-$day-node/@a" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'a\'"> <x:c-> <x:wh- test="$hour >= 12">PM</x:wh-> <x:o->AM</x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'z\'"> <x:c-> <x:wh- test="$timezone = \'Z\'">UTC</x:wh-> <x:o->UTC<x:v-x:s-$timezone" /></x:o-> </x:c-> </x:wh-> <x:o-> <x:va-x:n-padding"x:s-\'00\'" /> <!--removed padding--> <x:c-> <x:wh- test="$char = \'y\'"> <x:c-> <x:wh- test="$mask-length &gt; 2"><x:v-x:s-format-number($year, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(substring($year, string-length($year) - 1), $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'d\'"> <x:v-x:s-format-number($day, $padding)" /> </x:wh-> <x:wh- test="$char = \'h\'"> <x:va-x:n-h"x:s-$hour mod 12" /> <x:c-> <x:wh- test="$h"><x:v-x:s-format-number($h, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(12, $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'H\'"> <x:v-x:s-format-number($hour, $padding)" /> </x:wh-> <x:wh- test="$char = \'k\'"> <x:c-> <x:wh- test="$hour"><x:v-x:s-format-number($hour, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(24, $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'K\'"> <x:v-x:s-format-number($hour mod 12, $padding)" /> </x:wh-> <x:wh- test="$char = \'m\'"> <x:v-x:s-format-number($minute, $padding)" /> </x:wh-> <x:wh- test="$char = \'s\'"> <x:v-x:s-format-number($second, $padding)" /> </x:wh-> <x:wh- test="$char = \'S\'"> <x:v-x:s-format-number(substring-after($second, \'.\'), $padding)" /> </x:wh-> <x:wh- test="$char = \'F\'"> <x:v-x:s-floor($day div 7) + 1" /> </x:wh-> <x:o-> <x:va-x:n-month-days"x:s-sum(document(\'\')/*/d:ms/d:m[position() &lt; $month]/@l)" /> <x:va-x:n-days"x:s-$month-days + $day + boolean(((not($year mod 4) and $year mod 100) or not($year mod 400)) and $month &gt; 2)" /> <x:v-x:s-format-number($days, $padding)" /> <!--removed week in year--> <!--removed week in month--> </x:o-> </x:c-> </x:o-> </x:c-> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$minute" /> <x:w-x:n-second"x:s-$second" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-substring($mask, $mask-length + 1)" /> </x:ct-> </x:o-> </x:c-></x:t-> <x:t- match="/"> <x:ct-x:n-d:format-date"> <x:w-x:n-date-time"x:s-//date" /> <x:w-x:n-date-year"x:s-//year" /> <x:w-x:n-mask"x:s-//mask" /> </x:ct-></x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.form");nitobi.form.dateXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_dateXslProc));var temp_ntb_declarationConverterXslProc='<?xml version="1.0" encoding="utf-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="yes" /> <x:t- match="/"> <ntb:grid xmlns:ntb="http://www.nitobi.com"> <ntb:columns> <x:at-x:s-//ntb:columndefinition" mode="columndef" /> </ntb:columns> <ntb:datasources> <x:at-x:s-//ntb:columndefinition" mode="datasources" /> </ntb:datasources> </ntb:grid> </x:t-> <x:t- match="ntb:columndefinition" mode="columndef"> <x:c-> <x:wh- test="@type=\'TEXT\' or @type=\'TEXTAREA\' or @type=\'LISTBOX\' or @type=\'LOOKUP\' or @type=\'CHECKBOX\' or @type=\'LINK\' or @type=\'IMAGE\' or @type=\'\' or not(@type)"> <ntb:textcolumn> <xsl:copy-ofx:s-@*" /> <x:c-> <x:wh- test="@type=\'TEXT\'"> <ntb:texteditor><xsl:copy-ofx:s-@*" /></ntb:texteditor> </x:wh-> <x:wh- test="@type=\'TEXTAREA\'"> <ntb:textareaeditor><xsl:copy-ofx:s-@*" /></ntb:textareaeditor> </x:wh-> <x:wh- test="@type=\'LISTBOX\'"> <ntb:listboxeditor> <xsl:copy-ofx:s-@*" /> <x:a-x:n-DatasourceId">id_<x:v-x:s-position()"/></x:a-> <x:a-x:n-DisplayFields"> <x:c-> <x:wh- test="@show=\'value\'">b</x:wh-> <x:wh- test="@show=\'key\'">a</x:wh-> <x:o-></x:o-> </x:c-> </x:a-> <x:a-x:n-ValueField"> <x:c-> <x:wh- test="@show">a</x:wh-> <x:o-></x:o-> </x:c-> </x:a-> </ntb:listboxeditor> </x:wh-> <x:wh- test="@type=\'CHECKBOX\'"> <ntb:checkboxeditor> <xsl:copy-ofx:s-@*" /> <x:a-x:n-DatasourceId">id_<x:v-x:s-position()"/></x:a-> <x:a-x:n-DisplayFields"> <x:c-> <x:wh- test="@show=\'value\'">b</x:wh-> <x:wh- test="@show=\'key\'">a</x:wh-> <x:o-></x:o-> </x:c-></x:a-> <x:a-x:n-ValueField">a</x:a-> </ntb:checkboxeditor> </x:wh-> <x:wh- test="@type=\'LOOKUP\'"> <ntb:lookupeditor> <xsl:copy-ofx:s-@*" /> <x:a-x:n-DatasourceId">id_<x:v-x:s-position()"/></x:a-> <x:a-x:n-DisplayFields"> <x:c-> <x:wh- test="@show=\'key\'">a</x:wh-> <x:wh- test="@show=\'value\'">b</x:wh-> <x:o-></x:o-> </x:c-></x:a-> <x:a-x:n-ValueField"> <x:c-> <x:wh- test="@show">a</x:wh-> <x:o-></x:o-> </x:c-> </x:a-> </ntb:lookupeditor> </x:wh-> <x:wh- test="@type=\'LINK\'"> <ntb:linkeditor><xsl:copy-ofx:s-@*" /></ntb:linkeditor> </x:wh-> <x:wh- test="@type=\'IMAGE\'"> <ntb:imageeditor><xsl:copy-ofx:s-@*" /></ntb:imageeditor> </x:wh-> </x:c-> </ntb:textcolumn> </x:wh-> <x:wh- test="@type=\'NUMBER\'"> <ntb:numbercolumn><xsl:copy-ofx:s-@*" /></ntb:numbercolumn> </x:wh-> <x:wh- test="@type=\'DATE\' or @type=\'CALENDAR\'"> <ntb:datecolumn> <xsl:copy-ofx:s-@*" /> <x:c-> <x:wh- test="@type=\'DATE\'"> <ntb:dateeditor><xsl:copy-ofx:s-@*" /></ntb:dateeditor> </x:wh-> <x:wh- test="@type=\'CALENDAR\'"> <ntb:calendareditor><xsl:copy-ofx:s-@*" /></ntb:calendareditor> </x:wh-> </x:c-> </ntb:datecolumn> </x:wh-> </x:c-> </x:t-> <x:t- match="ntb:columndefinition" mode="datasources"> <xsl:if test="@values and @values!=\'\'"> <ntb:datasource> <x:a-x:n-id">id_<x:v-x:s-position()" /></x:a-> <ntb:datasourcestructure> <x:a-x:n-id">id_<x:v-x:s-position()" /></x:a-> <x:a-x:n-FieldNames">a|b</x:a-> <x:a-x:n-Keys">a</x:a-> </ntb:datasourcestructure> <ntb:data> <x:a-x:n-id">id_<x:v-x:s-position()" /></x:a-> <x:ct-x:n-values"> <x:w-x:n-valuestring"x:s-@values" /> </x:ct-> </ntb:data> </ntb:datasource> </xsl:if> </x:t-> <x:t-x:n-values"> <x:p-x:n-valuestring" /> <x:va-x:n-bstring"> <x:c-> <x:wh- test="contains($valuestring,\',\')"><x:v-x:s-substring-after(substring-before($valuestring,\',\'),\':\')" /></x:wh-> <x:o-><x:v-x:s-substring-after($valuestring,\':\')" /></x:o-> </x:c-> </x:va-> <ntb:e> <x:a-x:n-a"><x:v-x:s-substring-before($valuestring,\':\')" /></x:a-> <x:a-x:n-b"><x:v-x:s-$bstring" /></x:a-> </ntb:e> <xsl:if test="contains($valuestring,\',\')"> <x:ct-x:n-values"> <x:w-x:n-valuestring"x:s-substring-after($valuestring,\',\')" /> </x:ct-> </xsl:if> </x:t-> </xsl:stylesheet>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.declarationConverterXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_declarationConverterXslProc));var temp_ntb_frameCssXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:user="http://mycompany.com/mynamespace" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="text" omit-xml-declaration="yes"/><x:p-x:n-IE"x:s-\'false\'"/><x:va-x:n-g"x:s-//state/nitobi.grid.Grid"></x:va-><x:va-x:n-u"x:s-//state/@uniqueID"></x:va-><xsl:keyx:n-style" match="//s" use="@k" /><x:t- match = "/"> <x:va-x:n-t"x:s-$g/@Theme"></x:va-> <x:va-x:n-showvscroll"><x:c-><x:wh- test="($g/@VScrollbarEnabled=\'true\' or $g/@VScrollbarEnabled=1)">1</x:wh-><x:o->0</x:o-></x:c-></x:va-> <x:va-x:n-showhscroll"><x:c-><x:wh- test="($g/@HScrollbarEnabled=\'true\' or $g/@HScrollbarEnabled=1)">1</x:wh-><x:o->0</x:o-></x:c-></x:va-> <x:va-x:n-showtoolbar"><x:c-><x:wh- test="($g/@ToolbarEnabled=\'true\' or $g/@ToolbarEnabled=1)">1</x:wh-><x:o->0</x:o-></x:c-></x:va-> <x:va-x:n-frozen-columns-width"> <x:ct-x:n-get-pane-width"> <x:w-x:n-start-column"x:s-number(1)"/> <x:w-x:n-end-column"x:s-number($g/@FrozenLeftColumnCount)"/> <x:w-x:n-current-width"x:s-number(0)"/> </x:ct-> </x:va-> <x:va-x:n-unfrozen-columns-width"> <x:ct-x:n-get-pane-width"> <x:w-x:n-start-column"x:s-number($g/@FrozenLeftColumnCount)+1"/> <x:w-x:n-end-column"x:s-number($g/@ColumnCount)"/> <x:w-x:n-current-width"x:s-number(0)"/> </x:ct-> </x:va-> <x:va-x:n-total-columns-width"> <x:v-x:s-number($frozen-columns-width) + number($unfrozen-columns-width)"/> </x:va-> <x:va-x:n-scrollerHeight"x:s-number($g/@Height)-(number($g/@scrollbarHeight)*$showhscroll)-(number($g/@ToolbarHeight)*$showtoolbar)" /> <x:va-x:n-scrollerWidth"x:s-number($g/@Width)-(number($g/@scrollbarWidth)*number($g/@VScrollbarEnabled))" /> <x:va-x:n-midHeight"x:s-number($g/@Height)-(number($g/@scrollbarHeight)*$showhscroll)-(number($g/@ToolbarHeight)*$showtoolbar)-number($g/@top)"/> #grid<x:v-x:s-$u" /> { height:<x:v-x:s-$g/@Height" />px; width:<x:v-x:s-$g/@Width" />px; overflow:hidden;text-align:left; <xsl:if test="$IE=\'true\'"> position:relative; </xsl:if> } .hScrollbarRange<x:v-x:s-$u" /> { width:<x:v-x:s-$total-columns-width"/>px; } .vScrollbarRange<x:v-x:s-$u" /> {} .ntb-grid-datablock, .ntb-grid-headerblock { table-layout:fixed; <xsl:if test="$IE=\'true\'"> width:0px; </xsl:if> } .<x:v-x:s-$t"/> .ntb-cell {overflow:hidden;white-space:nowrap;} .<x:v-x:s-$t"/> .ntb-cell, x:-moz-any-link, x:default {display: -moz-box;} .<x:v-x:s-$t"/> .ntb-column-indicator, x:-moz-any-link, x:default {display: -moz-box;} .<x:v-x:s-$t"/> .ntb-cell-border {overflow:hidden;white-space:nowrap;<xsl:if test="$IE=\'true\'">height:auto;</xsl:if>} .ntb-grid-headershow<x:v-x:s-$u" /> {padding:0px;<xsl:if test="not($g/@ColumnIndicatorsEnabled=1)">display:none;</xsl:if>} .ntb-grid-vscrollshow<x:v-x:s-$u" /> {padding:0px;<xsl:if test="not($g/@VScrollbarEnabled=1)">display:none;</xsl:if>} #ntb-grid-hscrollshow<x:v-x:s-$u" /> {padding:0px;<xsl:if test="not($g/@HScrollbarEnabled=1)">display:none;</xsl:if>} .ntb-grid-toolbarshow<x:v-x:s-$u" /> {<xsl:if test="not($g/@ToolbarEnabled=1) and not($g/@ToolbarEnabled=\'true\')">display:none;</xsl:if>} .ntb-grid-height<x:v-x:s-$u" /> {height:<x:v-x:s-$g/@Height" />px;overflow:hidden;} .ntb-grid-width<x:v-x:s-$u" /> {width:<x:v-x:s-$g/@Width" />px;overflow:hidden;} .ntb-grid-overlay<x:v-x:s-$u" /> {position:relative;z-index:1000;top:0px;left:0px;} .ntb-grid-scroller<x:v-x:s-$u" /> { overflow:hidden; text-align:left; -moz-user-select: none; -webkit-user-select: none; -khtml-user-select: none; user-select: none; } .ntb-grid-scrollerheight<x:v-x:s-$u" /> {height: <x:c-><x:wh- test="($total-columns-width &gt; $g/@Width)"><x:v-x:s-$scrollerHeight"/></x:wh-><x:o-><x:v-x:s-number($scrollerHeight) + number($g/@scrollbarHeight)"/></x:o-></x:c->px;} .ntb-grid-scrollerwidth<x:v-x:s-$u" /> {width:<x:v-x:s-$scrollerWidth"/>px;} .ntb-grid-topheight<x:v-x:s-$u" /> {height:<x:v-x:s-$g/@top" />px;overflow:hidden;<xsl:if test="$g/@top=0">display:none;</xsl:if>} .ntb-grid-midheight<x:v-x:s-$u" /> {overflow:hidden;height:<x:c-><x:wh- test="($total-columns-width &gt; $g/@Width)"><x:v-x:s-$midHeight"/></x:wh-><x:o-><x:v-x:s-number($midHeight) + number($g/@scrollbarHeight)"/></x:o-></x:c->px;} .ntb-grid-leftwidth<x:v-x:s-$u" /> {width:<x:v-x:s-$g/@left" />px;overflow:hidden;text-align:left;} .ntb-grid-centerwidth<x:v-x:s-$u" /> {width:<x:v-x:s-number($g/@Width)-number($g/@left)-(number($g/@scrollbarWidth)*$showvscroll)" />px;} .ntb-grid-scrollbarheight<x:v-x:s-$u" /> {height:<x:v-x:s-$g/@scrollbarHeight" />px;} .ntb-grid-scrollbarwidth<x:v-x:s-$u" /> {width:<x:v-x:s-$g/@scrollbarWidth" />px;} .ntb-grid-toolbarheight<x:v-x:s-$u" /> {height:<x:v-x:s-$g/@ToolbarHeight" />px;} .ntb-grid-surfacewidth<x:v-x:s-$u" /> {width:<x:v-x:s-number($unfrozen-columns-width)"/>px;} .ntb-grid-surfaceheight<x:v-x:s-$u" /> {height:100px;} .ntb-grid {padding:0px;margin:0px;border:1px solid #cccccc} .ntb-scroller {padding:0px;} .ntb-scrollcorner {padding:0px;} .ntb-hscrollbar<x:v-x:s-$u" /> {<x:c-><x:wh- test="($total-columns-width &gt; $g/@Width)">display:block;</x:wh-><x:o->display:none;</x:o-></x:c->} .ntb-input-border { table-layout:fixed; overflow:hidden; position:absolute; z-index:2000; top:-2000px; left:-2000px; } .ntb-column-resize-surface { filter:alpha(opacity=1); background-color:white; position:absolute; display:none; top:-1000px; left:-5000px; width:100px; height:100px; z-index:800; } .<x:v-x:s-$t"/> .ntb-column-indicator { overflow:hidden; white-space: nowrap; } .ntb-row<x:v-x:s-$u" /> {height:<x:v-x:s-$g/@RowHeight" />px;line-height:<x:v-x:s-$g/@RowHeight" />px;margin:0px;} .ntb-header-row<x:v-x:s-$u" /> {height:<x:v-x:s-$g/@HeaderHeight" />px;} <x:at-x:s-state/nitobi.grid.Columns" /></x:t-><x:t-x:n-get-pane-width"> <x:p-x:n-start-column"/> <x:p-x:n-end-column"/> <x:p-x:n-current-width"/> <x:c-> <x:wh- test="$start-column &lt;= $end-column"> <x:ct-x:n-get-pane-width"> <x:w-x:n-start-column"x:s-$start-column+1"/> <x:w-x:n-end-column"x:s-$end-column"/> <x:w-x:n-current-width"x:s-number($current-width) + number(//state/nitobi.grid.Columns/nitobi.grid.Column[$start-column]/@Width)"/> </x:ct-> </x:wh-> <x:o-> <x:v-x:s-$current-width"/> </x:o-> </x:c-> </x:t-><x:t- match="nitobi.grid.Columns"> <xsl:for-eachx:s-*"> <x:va-x:n-p"><x:v-x:s-position()"/></x:va-> <x:va-x:n-w"><x:v-x:s-@Width"/></x:va-> <x:va-x:n-colw"><x:v-x:s-number($w)-number($g/@CellBorder)"/></x:va-> <x:va-x:n-coldataw"><x:v-x:s-number($w)-number($g/@InnerCellBorder)"/></x:va-> #grid<x:v-x:s-$u" /> .ntb-column<x:v-x:s-$u" />_<xsl:number value="$p" /> {width:<x:v-x:s-$colw" />px;} #grid<x:v-x:s-$u" /> .ntb-column-data<x:v-x:s-$u" />_<xsl:number value="$p" /> {width:<x:v-x:s-$coldataw" />px;text-align:<x:v-x:s-@Align"/>;} </xsl:for-each></x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.frameCssXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_frameCssXslProc));var temp_ntb_frameXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:ntb="http://www.nitobi.com" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="text" omit-xml-declaration="yes"/><x:p-x:n-browser"x:s-\'IE\'"/><x:p-x:n-scrollbarWidth"x:s-17" /><x:t- match = "/"><x:va-x:n-u"x:s-state/@uniqueID" /><x:va-x:n-Id"x:s-state/@ID" /><x:va-x:n-resizeEnabled"x:s-state/nitobi.grid.Grid/@GridResizeEnabled" /><x:va-x:n-frozenLeft"x:s-state/nitobi.grid.Grid/@FrozenLeftColumnCount" /><x:va-x:n-offset"> <x:c-> <x:wh- test="$browser=\'IE\'">1</x:wh-> <x:o->0</x:o-> </x:c-></x:va-> &lt;div id="grid<x:v-x:s-$u" />" class="ntb-grid ntb-grid-reset <x:v-x:s-state/nitobi.grid.Grid/@Theme" />" style="overflow:visible;"&gt; &lt;div style="height:0px;width:0px;position:relative;"&gt; &lt;div id="ntb-grid-overlay<x:v-x:s-$u" />" class="ntb-grid-overlay<x:v-x:s-$u" />"&gt;&lt;/div&gt; <!-- Firefox or IE just uses a hidden div for keynav since on Mac at least it doesn\'t capture the paste event on an input --> <xsl:if test="not($browser=\'SAFARI\')">&lt;div id="ntb-grid-keynav<x:v-x:s-$u" />" tabindex="1" style="position:absolute;left:-3000px;width:1px;height:1px;border:0px;background-color:transparent;"&gt;&lt;/div&gt;</xsl:if> <!-- Safari can\'t capture key events on divs so need to use an input --> <xsl:if test="$browser=\'SAFARI\'">&lt;input type="text" id="ntb-grid-keynav<x:v-x:s-$u" />" tabindex="1" style="position:absolute;left:-3000px;width:1px;height:1px;border:0px;background-color:transparent;"&gt;&lt;/input&gt;</xsl:if> &lt;/div&gt; &lt;table cellpadding="0" cellspacing="0" border="0"&gt; &lt;tr&gt; &lt;td id="ntb-grid-scroller<x:v-x:s-$u" />" class="ntb-grid-scrollerheight<x:v-x:s-$u" /> ntb-grid-scrollerwidth<x:v-x:s-$u" />" &gt; &lt;div id="ntb-grid-scrollerarea<x:v-x:s-$u" />" class="ntb-grid-scrollerheight<x:v-x:s-$u" />" style="overflow:hidden;" &gt; &lt;div tabindex="2" class="ntb-grid-scroller<x:v-x:s-$u" /> ntb-grid-scrollerheight<x:v-x:s-$u" />" &gt; &lt;table class="ntb-grid-scroller" cellpadding="0" cellspacing="0" border="0" &gt; &lt;tr id="ntb-grid-header<x:v-x:s-$u" />" class="ntb-grid-topheight<x:v-x:s-$u" /> " &gt; &lt;td class="ntb-scroller ntb-grid-topheight<x:v-x:s-$u" /> ntb-grid-leftwidth<x:v-x:s-$u" />" &gt; &lt;div id="gridvp_0_<x:v-x:s-$u" />" class="ntb-grid-topheight<x:v-x:s-$u" /> ntb-grid-leftwidth<x:v-x:s-$u" /> ntb-grid-header"&gt; &lt;div id="gridvpsurface_0_<x:v-x:s-$u" />" &gt; &lt;div id="gridvpcontainer_0_<x:v-x:s-$u" />" &gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/td&gt; &lt;td class="ntb-scroller" &gt; &lt;div id="gridvp_1_<x:v-x:s-$u" />" class="ntb-grid-topheight<x:v-x:s-$u" /> ntb-grid-centerwidth<x:v-x:s-$u" /> ntb-grid-header"&gt; &lt;div id="gridvpsurface_1_<x:v-x:s-$u" />" class="ntb-grid-surfacewidth<x:v-x:s-$u" />" &gt; &lt;div id="gridvpcontainer_1_<x:v-x:s-$u" />" &gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr id="ntb-grid-data<x:v-x:s-$u" />"class="ntb-grid-scroller" &gt; &lt;td class="ntb-scroller ntb-grid-leftwidth<x:v-x:s-$u" />" &gt; &lt;div style="position:relative;"&gt; <xsl:if test="not($browser=\'IE\') and not($frozenLeft=\'0\')"> &lt;div style="z-index:100;position:absolute;height:100%;top:0px;overflow:hidden;" id="ntb-frozenshadow<x:v-x:s-$u" />" class="ntb-frozenshadow"&gt;&lt;/div&gt; </xsl:if> &lt;div id="gridvp_2_<x:v-x:s-$u" />" class="ntb-grid-midheight<x:v-x:s-$u" /> ntb-grid-leftwidth<x:v-x:s-$u" />" style="position:relative;"&gt; &lt;div id="gridvpsurface_2_<x:v-x:s-$u" />" &gt; &lt;div id="gridvpcontainer_2_<x:v-x:s-$u" />" &gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/td&gt; &lt;td class="ntb-scroller" &gt; &lt;div id="gridvp_3_<x:v-x:s-$u" />" class="ntb-grid-midheight<x:v-x:s-$u"/> ntb-grid-centerwidth<x:v-x:s-$u" />" style="position:relative;"&gt; &lt;div id="gridvpsurface_3_<x:v-x:s-$u" />" class="ntb-grid-surfacewidth<x:v-x:s-$u" />" &gt; &lt;div id="gridvpcontainer_3_<x:v-x:s-$u" />" &gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;/div&gt; &lt;/td&gt; &lt;td id="ntb-grid-vscrollshow<x:v-x:s-$u" />" class="ntb-grid-scrollerheight<x:v-x:s-$u" />"&gt;&lt;div id="vscrollclip<x:v-x:s-$u" />" class="ntb-grid-scrollerheight<x:v-x:s-$u" /> ntb-grid-scrollbarwidth<x:v-x:s-$u"/> ntb-scrollbar" style="overflow:hidden;" &gt;&lt;div id="vscroll<x:v-x:s-$u" />" class="ntb-scrollbar" style="height:100%;width:<x:v-x:s-number($offset)+number(state/nitobi.grid.Grid/@scrollbarWidth)"/>px;position:relative;top:0px;left:-<x:v-x:s-$offset"/>px;overflow-x:hidden;overflow-y:scroll;" &gt;&lt;div class="vScrollbarRange<x:v-x:s-$u" />" style="WIDTH:1px;overflow:hidden;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr id="ntb-grid-hscrollshow<x:v-x:s-$u" />" &gt; &lt;td &gt;&lt;div id="hscrollclip<x:v-x:s-$u" />" class="ntb-grid-scrollbarheight<x:v-x:s-$u" /> ntb-grid-scrollerwidth<x:v-x:s-$u" /> ntb-hscrollbar<x:v-x:s-$u" />" style="overflow:hidden;" &gt; &lt;div id="hscroll<x:v-x:s-$u" />" class="ntb-grid-scrollbarheight<x:v-x:s-$u" /> ntb-grid-scrollerwidth<x:v-x:s-$u" /> ntb-scrollbar" style="overflow-x:scroll;overflow-y:hidden;height:<x:v-x:s-number($offset)+number(state/nitobi.grid.Grid/@scrollbarHeight)"/>px;position:relative;top:-<x:v-x:s-$offset"/>px;left:0px;" &gt; &lt;div class="hScrollbarRange<x:v-x:s-$u" />" style="HEIGHT:1px;overflow:hidden;"&gt; &lt;/div&gt; &lt;/td&gt; &lt;td class="ntb-grid-vscrollshow<x:v-x:s-$u" /> ntb-scrollcorner" &gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div id="toolbarContainer<x:v-x:s-$u" />" style="overflow:hidden;" class="ntb-grid-toolbarshow<x:v-x:s-$u" /> ntb-grid-toolbarheight<x:v-x:s-$u" /> ntb-grid-width<x:v-x:s-$u" /> ntb-toolbar<x:v-x:s-$u" /> ntb-toolbar"&gt;&lt;/div&gt; &lt;div id="ntb-grid-toolscontainer<x:v-x:s-$u"/>" style="height:0px;position:relative;"&gt; <!-- In IE quirks the textarea has a forced height so need it to have a relative positioned container --> &lt;div style="position:relative;overflow:hidden;height:0px;"&gt; &lt;textarea id="ntb-clipboard<x:v-x:s-$u"/>" class="ntb-clipboard" &gt;&lt;/textarea&gt; &lt;/div&gt; &lt;div style="position:relative;"&gt; &lt;div id="ntb-column-resizeline<x:v-x:s-$u" />" class="ntb-column-resizeline"&gt;&lt;/div&gt; &lt;div id="ntb-grid-resizebox<x:v-x:s-$u" />" class="ntb-grid-resizebox"&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; <xsl:if test="$resizeEnabled = 1"> &lt;div id="ntb-grid-resizecontainer<x:v-x:s-$u"/>" style="height:0px;position:relative;"&gt; &lt;div id="ntb-grid-resizeright<x:v-x:s-$u" />" class="ntb-resize-indicator-right"&gt;&lt;/div&gt; &lt;div id="ntb-grid-resizebottom<x:v-x:s-$u" />" class="ntb-resize-indicator-bottom"&gt;&lt;/div&gt; &lt;/div&gt; </xsl:if> &lt;/div&gt;</x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.frameXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_frameXslProc));var temp_ntb_listboxXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="yes"/> <x:p-x:n-size"></x:p-> <x:p-x:n-DisplayFields"x:s-\'\'"></x:p-> <x:p-x:n-ValueField"x:s-\'\'"></x:p-> <x:p-x:n-val"x:s-\'\'"></x:p-> <x:t- match="/"> <!--<x:va-x:n-cell"x:s-/root/metadata/r[@xi=$row]/*[@xi=$col]"></x:va->--> <select id="ntb-listbox" class="ntb-input ntb-lookup-options"> <xsl:if test="$size"> <x:a-x:n-size">6</x:a-> </xsl:if> <!--<x:c-> <x:wh- test="$DatasourceId">--> <xsl:for-eachx:s-/ntb:datasource/ntb:data/*"> <xsl:sortx:s-@*[name(.)=substring-before($DisplayFields,\'|\')]" data-type="text" order="ascending" /> <option> <x:a-x:n-value"> <x:v-x:s-@*[name(.)=$ValueField]"></x:v-> </x:a-> <x:a-x:n-rn"> <x:v-x:s-position()"></x:v-> </x:a-> <xsl:if test="@*[name(.)=$ValueField and .=$val]"> <x:a-x:n-selected">true</x:a-> </xsl:if> <x:ct-x:n-print-displayfields"> <x:w-x:n-field"x:s-$DisplayFields" /> </x:ct-> </option> </xsl:for-each> <!--</x:wh-> <x:o-> </x:o-> </x:c->--> </select> </x:t-> <x:t-x:n-print-displayfields"> <x:p-x:n-field" /> <x:c-> <x:wh- test="contains($field,\'|\')" > <!-- Here we hardcode a spacer \', \' - this should probably be moved elsewhere. --> <x:v-x:s-concat(@*[name(.)=substring-before($field,\'|\')],\', \')"></x:v-> <x:ct-x:n-print-displayfields"> <x:w-x:n-field"x:s-substring-after($field,\'|\')" /> </x:ct-> </x:wh-> <x:o-> <x:v-x:s-@*[name(.)=$field]"></x:v-> </x:o-> </x:c-> </x:t-> </xsl:stylesheet>';nitobi.lang.defineNs("nitobi.form");nitobi.form.listboxXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_listboxXslProc));var temp_ntb_mergeEbaXmlToLogXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="yes"/> <x:p-x:n-defaultAction"></x:p-> <x:p-x:n-startXid"x:s-100" ></x:p-> <xsl:keyx:n-newData" match="/ntb:grid/ntb:newdata/ntb:e" use="@xid" /> <xsl:keyx:n-oldData" match="/ntb:grid/ntb:datasources/ntb:datasource/ntb:data/ntb:e" use="@xid" /> <x:t- match="@* | node()" > <xsl:copy> <x:at-x:s-@*|node()" /> </xsl:copy> </x:t-> <x:t- match="/ntb:grid/ntb:datasources/ntb:datasource/ntb:data/ntb:e"> <xsl:if test="not(key(\'newData\',@xid))"> <xsl:copy> <xsl:copy-ofx:s-@*" /> </xsl:copy> </xsl:if> </x:t-> <x:t- match="/ntb:grid/ntb:datasources/ntb:datasource/ntb:data"> <xsl:copy> <x:at-x:s-@*|node()" /> <xsl:for-eachx:s-/ntb:grid/ntb:newdata/ntb:e"> <xsl:copy> <xsl:copy-ofx:s-@*" /> <xsl:if test="$defaultAction"> <x:va-x:n-oldNode"x:s-key(\'oldData\',@xid)" /> <x:c-> <x:wh- test="$oldNode"> <x:va- name=\'xid\'x:s-@xid" /> <x:a-x:n-xac"><x:v-x:s-$oldNode/@xac" /></x:a-> </x:wh-> <x:o-> <x:a-x:n-xac"><x:v-x:s-$defaultAction" /></x:a-> </x:o-> </x:c-> </xsl:if> </xsl:copy> </xsl:for-each> </xsl:copy> </x:t-></xsl:stylesheet> ';nitobi.lang.defineNs("nitobi.data");nitobi.data.mergeEbaXmlToLogXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_mergeEbaXmlToLogXslProc));var temp_ntb_mergeEbaXmlXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="no" /> <x:p-x:n-startRowIndex"x:s-100" ></x:p-> <x:p-x:n-endRowIndex"x:s-200" ></x:p-> <x:p-x:n-guid"x:s-1"></x:p-> <xsl:keyx:n-newData" match="/ntb:grid/ntb:newdata/ntb:data/ntb:e" use="@xi" /> <xsl:keyx:n-oldData" match="/ntb:grid/ntb:datasources/ntb:datasource/ntb:data/ntb:e" use="@xi" /> <x:t- match="@* | node()" > <xsl:copy> <x:at-x:s-@*|node()" /> </xsl:copy> </x:t-> <x:t- match="/ntb:grid/ntb:datasources/ntb:datasource/ntb:data/ntb:e"> <x:c-> <x:wh- test="(number(@xi) &gt;= $startRowIndex) and (number(@xi) &lt;= $endRowIndex)"> <xsl:copy> <xsl:copy-ofx:s-@*" /> <xsl:copy-ofx:s-key(\'newData\',@xi)/@*" /> </xsl:copy> </x:wh-> <x:o-> <xsl:copy> <x:at-x:s-@*|node()" /> </xsl:copy> </x:o-> </x:c-> </x:t-> <x:t- match="/ntb:grid/ntb:datasources/ntb:datasource/ntb:data"> <xsl:copy> <x:at-x:s-@*|node()" /> <xsl:for-eachx:s-/ntb:grid/ntb:newdata/ntb:data/ntb:e"> <xsl:if test="not(key(\'oldData\',@xi))"> <xsl:elementx:n-ntb:e" namespace="http://www.nitobi.com"> <xsl:copy-ofx:s-@*" /> <x:a-x:n-xid"><x:v-x:s-generate-id(.)"/><x:v-x:s-position()"/><x:v-x:s-$guid"/></x:a-> </xsl:element> </xsl:if> </xsl:for-each> </xsl:copy> </x:t-> <x:t- match="/ntb:grid/ntb:newdata/ntb:data/ntb:e"> <xsl:copy> <xsl:copy-ofx:s-@*" /> <x:va-x:n-oldData"x:s-key(\'oldData\',@xi)"/> <x:c-> <x:wh- test="$oldData"> <xsl:copy-ofx:s-$oldData/@*" /> <xsl:copy-ofx:s-@*" /> <x:a-x:n-xac">u</x:a-> <xsl:if test="$oldData/@xac=\'i\'"> <x:a-x:n-xac">i</x:a-> </xsl:if> </x:wh-> <x:o-> <x:a-x:n-xid"><x:v-x:s-generate-id(.)"/><x:v-x:s-position()"/><x:v-x:s-$guid"/></x:a-> <x:a-x:n-xac">i</x:a-> </x:o-> </x:c-> </xsl:copy> </x:t-> </xsl:stylesheet> ';nitobi.lang.defineNs("nitobi.data");nitobi.data.mergeEbaXmlXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_mergeEbaXmlXslProc));var temp_ntb_numberFormatTemplatesXslProc='<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com" xmlns:d="http://exslt.org/dates-and-times" xmlns:n="http://www.nitobi.com/exslt/numbers" extension-element-prefixes="d n"> <!--http://www.w3schools.com/xsl/func_formatnumber.asp--><!-- <xsl:decimal-formatx:n-name" decimal-separator="char" grouping-separator="char" infinity="string" minus-sign="char" NaN="string" percent="char" per-mille="char" zero-digit="char" digit="char" pattern-separator="char"/> --><xsl:decimal-formatx:n-NA" decimal-separator="." grouping-separator="," /><xsl:decimal-formatx:n-EU" decimal-separator="," grouping-separator="." /><x:t-x:n-n:format"> <x:p-x:n-number"x:s-0" /> <x:p-x:n-mask"x:s-\'#.00\'" /> <x:p-x:n-group"x:s-\',\'" /> <x:p-x:n-decimal"x:s-\'.\'" /> <x:va-x:n-formattedNumber"> <x:c-> <x:wh- test="$group=\'.\' and $decimal=\',\'"> <x:v-x:s-format-number($number, $mask, \'EU\')" /> </x:wh-> <x:o-> <x:v-x:s-format-number($number, $mask, \'NA\')" /> </x:o-> </x:c-> </x:va-> <xsl:if test="not(string($formattedNumber) = \'NaN\')"> <x:v-x:s-$formattedNumber" /> </xsl:if></x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.numberFormatTemplatesXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_numberFormatTemplatesXslProc));var temp_ntb_numberXslProc='<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com" xmlns:d="http://exslt.org/dates-and-times" xmlns:n="http://www.nitobi.com/exslt/numbers" extension-element-prefixes="d n"><xsl:output method="text" version="4.0" omit-xml-declaration="yes" /><x:p-x:n-number"x:s-0" /><x:p-x:n-mask"x:s-\'#.00\'" /><x:p-x:n-group"x:s-\',\'" /><x:p-x:n-decimal"x:s-\'.\'" /> <!--http://www.w3schools.com/xsl/func_formatnumber.asp--><!-- <xsl:decimal-formatx:n-name" decimal-separator="char" grouping-separator="char" infinity="string" minus-sign="char" NaN="string" percent="char" per-mille="char" zero-digit="char" digit="char" pattern-separator="char"/> --><xsl:decimal-formatx:n-NA" decimal-separator="." grouping-separator="," /><xsl:decimal-formatx:n-EU" decimal-separator="," grouping-separator="." /><x:t-x:n-n:format"> <x:p-x:n-number"x:s-0" /> <x:p-x:n-mask"x:s-\'#.00\'" /> <x:p-x:n-group"x:s-\',\'" /> <x:p-x:n-decimal"x:s-\'.\'" /> <x:va-x:n-formattedNumber"> <x:c-> <x:wh- test="$group=\'.\' and $decimal=\',\'"> <x:v-x:s-format-number($number, $mask, \'EU\')" /> </x:wh-> <x:o-> <x:v-x:s-format-number($number, $mask, \'NA\')" /> </x:o-> </x:c-> </x:va-> <xsl:if test="not(string($formattedNumber) = \'NaN\')"> <x:v-x:s-$formattedNumber" /> </xsl:if></x:t-><x:t- match="/"> <x:ct-x:n-n:format"> <x:w-x:n-number"x:s-$number" /> <x:w-x:n-mask"x:s-$mask" /> <x:w-x:n-group"x:s-$group" /> <x:w-x:n-decimal"x:s-$decimal" /> </x:ct-></x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.form");nitobi.form.numberXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_numberXslProc));var temp_ntb_rowXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com" xmlns:d="http://exslt.org/dates-and-times" xmlns:n="http://www.nitobi.com/exslt/numbers" extension-element-prefixes="d n"><xsl:output method="xml" omit-xml-declaration="yes"/> <x:p-x:n-showHeaders"x:s-\'0\'" /><x:p-x:n-firstColumn"x:s-\'0\'" /><x:p-x:n-lastColumn"x:s-\'0\'" /><x:p-x:n-uniqueId"x:s-\'0\'" /><x:p-x:n-rowHover"x:s-\'0\'" /><x:p-x:n-frozenColumnId"x:s-\'\'" /><x:p-x:n-start" /><x:p-x:n-end" /><x:p-x:n-activeColumn"x:s-\'0\'" /><x:p-x:n-activeRow"x:s-\'0\'" /><x:p-x:n-sortColumn"x:s-\'0\'" /><x:p-x:n-toolTipsEnabled"x:s-\'0\'" /><x:p-x:n-sortDirection"x:s-\'Asc\'" /><x:p-x:n-dataTableId"x:s-\'_default\'" /><x:p-x:n-columns"x:s-/ntb:root/ntb:columns/*/*" /><xsl:keyx:n-data-source" match="//ntb:datasources/ntb:datasource" use="@id" /><xsl:keyx:n-group" match="ntb:e" use="@a" /><!-- <xsl:for-eachx:s-ntb:e[count(. | key(\'group\', @a)[1]) = 1]"> <xsl:sortx:s-@a" /> <x:v-x:s-@a" />,<br /> <xsl:for-eachx:s-key(\'group\', @a)"> <xsl:sortx:s-@b" /> <x:v-x:s-@b" /> (<x:v-x:s-@c" />)<br /> </xsl:for-each> </xsl:for-each>--><!--This is an incude for the date fromatting XSLT that gets replaced at compile time--> <!-- http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html --><d:ms> <d:m i="1" l="31" a="Jan">January</d:m> <d:m i="2" l="28" a="Feb">February</d:m> <d:m i="3" l="31" a="Mar">March</d:m> <d:m i="4" l="30" a="Apr">April</d:m> <d:m i="5" l="31" a="May">May</d:m> <d:m i="6" l="30" a="Jun">June</d:m> <d:m i="7" l="31" a="Jul">July</d:m> <d:m i="8" l="31" a="Aug">August</d:m> <d:m i="9" l="30" a="Sep">September</d:m> <d:m i="10" l="31" a="Oct">October</d:m> <d:m i="11" l="30" a="Nov">November</d:m> <d:m i="12" l="31" a="Dec">December</d:m></d:ms><d:ds> <d:d a="Sun">Sunday</d:d> <d:d a="Mon">Monday</d:d> <d:d a="Tue">Tuesday</d:d> <d:d a="Wed">Wednesday</d:d> <d:d a="Thu">Thursday</d:d> <d:d a="Fri">Friday</d:d> <d:d a="Sat">Saturday</d:d></d:ds><x:t-x:n-d:format-date"> <x:p-x:n-date-time" /> <x:p-x:n-mask"x:s-\'MMM d, yy\'"/> <x:p-x:n-date-year" /> <x:va-x:n-formatted"> <x:va-x:n-date-time-length"x:s-string-length($date-time)" /> <x:va-x:n-timezone"x:s-\'\'" /> <x:va-x:n-dt"x:s-substring($date-time, 1, $date-time-length - string-length($timezone))" /> <x:va-x:n-dt-length"x:s-string-length($dt)" /> <x:c-> <x:wh- test="substring($dt, 3, 1) = \':\' and substring($dt, 6, 1) = \':\'"> <!--that means we just have a time--> <x:va-x:n-hour"x:s-substring($dt, 1, 2)" /> <x:va-x:n-min"x:s-substring($dt, 4, 2)" /> <x:va-x:n-sec"x:s-substring($dt, 7)" /> <xsl:if test="$hour &lt;= 23 and $min &lt;= 59 and $sec &lt;= 60"> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-\'NaN\'" /> <x:w-x:n-month"x:s-\'NaN\'" /> <x:w-x:n-day"x:s-\'NaN\'" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$min" /> <x:w-x:n-second"x:s-$sec" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </xsl:if> </x:wh-> <x:wh- test="substring($dt, 2, 1) = \'-\' or substring($dt, 3, 1) = \'-\'"> <x:c-> <x:wh- test="$dt-length = 5 or $dt-length = 6"> <!--D-MMM,DD-MMM--> <x:va-x:n-year"x:s-$date-year" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-after($dt,\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:wh- test="$dt-length = 8 or $dt-length = 9"> <!--D-MMM-YY,DD-MMM-YY--> <x:va-x:n-year"x:s-concat(\'20\',substring-after(substring-after($dt,\'-\'),\'-\'))" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-before(substring-after($dt,\'-\'),\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:o-> <!--D-MMM-YYYY,DD-MMM-YYYY--> <x:va-x:n-year"x:s-substring-after(substring-after($dt,\'-\'),\'-\')" /> <x:va-x:n-month"x:s-document(\'\')/*/d:ms/d:m[@a = substring-before(substring-after($dt,\'-\'),\'-\')]/@i" /> <x:va-x:n-day"x:s-substring-before($dt,\'-\')" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:o-> </x:c-> </x:wh-> <x:o-> <!--($neg * -2)--> <x:va-x:n-year"x:s-substring($dt, 1, 4) * (0 + 1)" /> <x:va-x:n-month"x:s-substring($dt, 6, 2)" /> <x:va-x:n-day"x:s-substring($dt, 9, 2)" /> <x:c-> <x:wh- test="$dt-length = 10"> <!--that means we just have a date--> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> <x:wh- test="substring($dt, 14, 1) = \':\' and substring($dt, 17, 1) = \':\'"> <!--that means we have a date + time--> <x:va-x:n-hour"x:s-substring($dt, 12, 2)" /> <x:va-x:n-min"x:s-substring($dt, 15, 2)" /> <x:va-x:n-sec"x:s-substring($dt, 18)" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$min" /> <x:w-x:n-second"x:s-$sec" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-$mask" /> </x:ct-> </x:wh-> </x:c-> </x:o-> </x:c-> </x:va-> <x:v-x:s-$formatted" /> </x:t-><x:t-x:n-d:_format-date"> <x:p-x:n-year" /> <x:p-x:n-month"x:s-1" /> <x:p-x:n-day"x:s-1" /> <x:p-x:n-hour"x:s-0" /> <x:p-x:n-minute"x:s-0" /> <x:p-x:n-second"x:s-0" /> <x:p-x:n-timezone"x:s-\'Z\'" /> <x:p-x:n-mask"x:s-\'\'" /> <x:va-x:n-char"x:s-substring($mask, 1, 1)" /> <x:c-> <x:wh- test="not($mask)" /> <!--replaced escaping with \' here/--> <x:wh- test="not(contains(\'GyMdhHmsSEDFwWakKz\', $char))"> <x:v-x:s-$char" /> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$minute" /> <x:w-x:n-second"x:s-$second" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-substring($mask, 2)" /> </x:ct-> </x:wh-> <x:o-> <x:va-x:n-next-different-char"x:s-substring(translate($mask, $char, \'\'), 1, 1)" /> <x:va-x:n-mask-length"> <x:c-> <x:wh- test="$next-different-char"> <x:v-x:s-string-length(substring-before($mask, $next-different-char))" /> </x:wh-> <x:o-> <x:v-x:s-string-length($mask)" /> </x:o-> </x:c-> </x:va-> <x:c-> <!--took our the era designator--> <x:wh- test="$char = \'M\'"> <x:c-> <x:wh- test="$mask-length >= 3"> <x:va-x:n-month-node"x:s-document(\'\')/*/d:ms/d:m[number($month)]" /> <x:c-> <x:wh- test="$mask-length >= 4"> <x:v-x:s-$month-node" /> </x:wh-> <x:o-> <x:v-x:s-$month-node/@a" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$mask-length = 2"> <x:v-x:s-format-number($month, \'00\')" /> </x:wh-> <x:o-> <x:v-x:s-$month" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'E\'"> <x:va-x:n-month-days"x:s-sum(document(\'\')/*/d:ms/d:m[position() &lt; $month]/@l)" /> <x:va-x:n-days"x:s-$month-days + $day + boolean(((not($year mod 4) and $year mod 100) or not($year mod 400)) and $month &gt; 2)" /> <x:va-x:n-y-1"x:s-$year - 1" /> <x:va-x:n-dow"x:s-(($y-1 + floor($y-1 div 4) - floor($y-1 div 100) + floor($y-1 div 400) + $days) mod 7) + 1" /> <x:va-x:n-day-node"x:s-document(\'\')/*/d:ds/d:d[number($dow)]" /> <x:c-> <x:wh- test="$mask-length >= 4"> <x:v-x:s-$day-node" /> </x:wh-> <x:o-> <x:v-x:s-$day-node/@a" /> </x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'a\'"> <x:c-> <x:wh- test="$hour >= 12">PM</x:wh-> <x:o->AM</x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'z\'"> <x:c-> <x:wh- test="$timezone = \'Z\'">UTC</x:wh-> <x:o->UTC<x:v-x:s-$timezone" /></x:o-> </x:c-> </x:wh-> <x:o-> <x:va-x:n-padding"x:s-\'00\'" /> <!--removed padding--> <x:c-> <x:wh- test="$char = \'y\'"> <x:c-> <x:wh- test="$mask-length &gt; 2"><x:v-x:s-format-number($year, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(substring($year, string-length($year) - 1), $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'d\'"> <x:v-x:s-format-number($day, $padding)" /> </x:wh-> <x:wh- test="$char = \'h\'"> <x:va-x:n-h"x:s-$hour mod 12" /> <x:c-> <x:wh- test="$h"><x:v-x:s-format-number($h, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(12, $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'H\'"> <x:v-x:s-format-number($hour, $padding)" /> </x:wh-> <x:wh- test="$char = \'k\'"> <x:c-> <x:wh- test="$hour"><x:v-x:s-format-number($hour, $padding)" /></x:wh-> <x:o-><x:v-x:s-format-number(24, $padding)" /></x:o-> </x:c-> </x:wh-> <x:wh- test="$char = \'K\'"> <x:v-x:s-format-number($hour mod 12, $padding)" /> </x:wh-> <x:wh- test="$char = \'m\'"> <x:v-x:s-format-number($minute, $padding)" /> </x:wh-> <x:wh- test="$char = \'s\'"> <x:v-x:s-format-number($second, $padding)" /> </x:wh-> <x:wh- test="$char = \'S\'"> <x:v-x:s-format-number(substring-after($second, \'.\'), $padding)" /> </x:wh-> <x:wh- test="$char = \'F\'"> <x:v-x:s-floor($day div 7) + 1" /> </x:wh-> <x:o-> <x:va-x:n-month-days"x:s-sum(document(\'\')/*/d:ms/d:m[position() &lt; $month]/@l)" /> <x:va-x:n-days"x:s-$month-days + $day + boolean(((not($year mod 4) and $year mod 100) or not($year mod 400)) and $month &gt; 2)" /> <x:v-x:s-format-number($days, $padding)" /> <!--removed week in year--> <!--removed week in month--> </x:o-> </x:c-> </x:o-> </x:c-> <x:ct-x:n-d:_format-date"> <x:w-x:n-year"x:s-$year" /> <x:w-x:n-month"x:s-$month" /> <x:w-x:n-day"x:s-$day" /> <x:w-x:n-hour"x:s-$hour" /> <x:w-x:n-minute"x:s-$minute" /> <x:w-x:n-second"x:s-$second" /> <x:w-x:n-timezone"x:s-$timezone" /> <x:w-x:n-mask"x:s-substring($mask, $mask-length + 1)" /> </x:ct-> </x:o-> </x:c-></x:t-><!--This is an incude for the number fromatting XSLT that gets replaced at compile time--> <!--http://www.w3schools.com/xsl/func_formatnumber.asp--><!-- <xsl:decimal-formatx:n-name" decimal-separator="char" grouping-separator="char" infinity="string" minus-sign="char" NaN="string" percent="char" per-mille="char" zero-digit="char" digit="char" pattern-separator="char"/> --><xsl:decimal-formatx:n-NA" decimal-separator="." grouping-separator="," /><xsl:decimal-formatx:n-EU" decimal-separator="," grouping-separator="." /><x:t-x:n-n:format"> <x:p-x:n-number"x:s-0" /> <x:p-x:n-mask"x:s-\'#.00\'" /> <x:p-x:n-group"x:s-\',\'" /> <x:p-x:n-decimal"x:s-\'.\'" /> <x:va-x:n-formattedNumber"> <x:c-> <x:wh- test="$group=\'.\' and $decimal=\',\'"> <x:v-x:s-format-number($number, $mask, \'EU\')" /> </x:wh-> <x:o-> <x:v-x:s-format-number($number, $mask, \'NA\')" /> </x:o-> </x:c-> </x:va-> <xsl:if test="not(string($formattedNumber) = \'NaN\')"> <x:v-x:s-$formattedNumber" /> </xsl:if></x:t-><x:t- match = "/"> <div> <xsl:if test="$showHeaders = 1"> <table cellpadding="0" cellspacing="0" border="0" class="ntb-grid-headerblock"> <tr> <x:a-x:n-class">ntb-header-row<x:v-x:s-$uniqueId" /></x:a-> <xsl:for-eachx:s-$columns"> <xsl:if test="@Visible = \'1\' and (position() &gt; $firstColumn and position() &lt;= $lastColumn)"> <td ebatype="columnheader" xi="{position()-1}" col="{position()-1}"> <x:a-x:n-id">columnheader_<x:v-x:s-position()-1"/>_<x:v-x:s-$uniqueId" /></x:a-> <x:a-x:n-onmouseover">$ntb(\'grid<x:v-x:s-$uniqueId" />\').jsObject.handleHeaderMouseOver(this);</x:a-> <x:a-x:n-onmouseout">$ntb(\'grid<x:v-x:s-$uniqueId" />\').jsObject.handleHeaderMouseOut(this);</x:a-> <!-- note that the ntb-columnUID_POSITION class is for a safari bug --> <x:a-x:n-class">ntb-column-indicator-border<x:c-><x:wh- test="$sortColumn=position()-1 and $sortDirection=\'Asc\'">ascending</x:wh-><x:wh- test="$sortColumn=position()-1 and $sortDirection=\'Desc\'">descending</x:wh-><x:o-></x:o-></x:c-><xsl:text> </xsl:text>ntb-column<x:v-x:s-$uniqueId"/>_<x:v-x:s-position()" /></x:a-> <div class="ntb-column-indicator"> <x:c-> <x:wh- test="@Label and not(@Label = \'\') and not(@Label = \' \')"><x:v-x:s-@Label" /></x:wh-> <x:wh- test="ntb:label and not(ntb:label = \'\') and not(ntb:label = \' \')"><x:v-x:s-ntb:label" /></x:wh-> <x:o->ATOKENTOREPLACE</x:o-> </x:c-> </div> </td> </xsl:if> </xsl:for-each> </tr> <x:ct-x:n-colgroup" /> </table> </xsl:if> <table cellpadding="0" cellspacing="0" border="0" class="ntb-grid-datablock"> <x:at-x:s-key(\'data-source\', $dataTableId)/ntb:data/ntb:e[@xi &gt;= $start and @xi &lt; $end]" > <xsl:sortx:s-@xi" data-type="number" /> </x:at-> <x:ct-x:n-colgroup" /> </table> </div></x:t-><x:t-x:n-colgroup"> <colgroup> <xsl:for-eachx:s-$columns"> <xsl:if test="@Visible = \'1\' and (position() &gt; $firstColumn and position() &lt;= $lastColumn)"> <col> <x:a-x:n-class">ntb-column<x:v-x:s-$uniqueId"/>_<x:v-x:s-position()" /><xsl:text> </xsl:text><xsl:if test="not(@Editable=\'1\')">ntb-column-readonly</xsl:if></x:a-> </col> </xsl:if> </xsl:for-each> </colgroup></x:t-><x:t- match="ntb:e"> <x:va-x:n-rowClass"> <xsl:if test="@xi mod 2 = 0">ntb-row-alternate</xsl:if> <!-- <xsl:if test="<x:v-x:s-@rowselectattr=1"/>">ebarowselected</xsl:if> --> </x:va-> <x:va-x:n-xi"x:s-@xi" /> <x:va-x:n-row"x:s-." /> <tr class="ntb-row {$rowClass} ntb-row{$uniqueId}" xi="{$xi}"> <x:a-x:n-id">row_<x:v-x:s-$xi" /><x:v-x:s-$frozenColumnId"/>_<x:v-x:s-$uniqueId" /></x:a-> <xsl:for-eachx:s-$columns"> <xsl:if test="@Visible = \'1\' and (position() &gt; $firstColumn and position() &lt;= $lastColumn)"> <x:ct-x:n-render-cell"> <x:w-x:n-row"x:s-$row"/> <x:w-x:n-xi"x:s-$xi"/> </x:ct-> </xsl:if> </xsl:for-each> </tr></x:t-> <x:t-x:n-render-cell"> <x:p-x:n-row" /> <x:p-x:n-xi" /> <x:va-x:n-xdatafld"x:s-substring-after(@xdatafld,\'@\')"/> <x:va-x:n-pos"x:s-position()-1"/> <x:va-x:n-value"><x:c-><x:wh- test="not(@xdatafld = \'\')"><x:v-x:s-$row/@*[name()=$xdatafld]" /></x:wh-><!-- @Value will actuall have some escaped XSLT in it like any other bound property --><x:o-><x:v-x:s-@Value" /></x:o-></x:c-></x:va-> <td ebatype="cell" style="vertical-align:middle;" id="cell_{$xi}_{$pos}_{$uniqueId}" xi="{$xi}" col="{$pos}"> <x:a-x:n-style"><x:ct-x:n-CssStyle"><x:w-x:n-row"x:s-$row"/></x:ct-></x:a-> <!-- note the use of the ntb-column<x:v-x:s-$uniqueId"/>_<x:v-x:s-position()" /> class ... that is for a safari bug --> <x:a-x:n-class">ntb-cell-border<xsl:text> </xsl:text>ntb-column-data<x:v-x:s-$uniqueId"/>_<x:v-x:s-position()" /><xsl:text> </xsl:text>ntb-column-<x:c-><x:wh- test="$sortColumn=$pos and $sortDirection=\'Asc\'">ascending</x:wh-><x:wh- test="$sortColumn=$pos and $sortDirection=\'Desc\'">descending</x:wh-><x:o-></x:o-></x:c-><xsl:text> </xsl:text>ntb-column-<x:v-x:s-@DataType"/><xsl:text> </xsl:text><x:ct-x:n-ClassName"><x:w-x:n-row"x:s-$row"/></x:ct-><xsl:text> </xsl:text><xsl:if test="@type = \'NUMBER\' and $value &lt; 0">ntb-cell-negativenumber</xsl:if><xsl:text> </xsl:text>ntb-column<x:v-x:s-$uniqueId"/>_<x:v-x:s-position()" /></x:a-> <div style="overflow:hidden;white-space:nowrap;"> <x:a-x:n-class">ntb-row<x:v-x:s-$uniqueId"/><xsl:text> </xsl:text>ntb-column-data<x:v-x:s-$uniqueId"/>_<x:v-x:s-position()" /><xsl:text> </xsl:text>ntb-cell</x:a-> <xsl:if test="$toolTipsEnabled=\'1\'"> <x:a-x:n-title"> <x:v-x:s-$value" /> </x:a-> </xsl:if> <x:at-x:s-."> <x:w-x:n-value"x:s-$value"/> </x:at-> </div> </td> </x:t-> <x:t- match="*[@type=\'TEXT\' or @type=\'\']"> <x:p-x:n-value" /> <x:ct-x:n-replaceblank"> <x:w-x:n-value"x:s-$value" /> </x:ct-> </x:t-> <x:t- match="*[@type=\'NUMBER\']"> <x:p-x:n-value" /> <x:va-x:n-number-mask"> <x:c-> <x:wh- test="@Mask"><x:v-x:s-@Mask" /></x:wh-> <x:o->#,###.00</x:o-> </x:c-> </x:va-> <x:va-x:n-negative-number-mask"> <x:c-> <x:wh- test="@NegativeMask and not(@NegativeMask=\'\')"><x:v-x:s-@NegativeMask" /></x:wh-> <x:o-><x:v-x:s-@NegativeMask" /></x:o-> </x:c-> </x:va-> <x:va-x:n-number"> <x:c-> <x:wh- test="$value &lt; 0"> <x:ct-x:n-n:format"> <x:w-x:n-number"x:s-translate($value,\'-\',\'\')" /> <x:w-x:n-mask"x:s-$negative-number-mask" /> <x:w-x:n-group"x:s-@GroupingSeparator" /> <x:w-x:n-decimal"x:s-@DecimalSeparator" /> </x:ct-> </x:wh-> <x:o-> <x:ct-x:n-n:format"> <x:w-x:n-number"x:s-$value" /> <x:w-x:n-mask"x:s-$number-mask" /> <x:w-x:n-group"x:s-@GroupingSeparator" /> <x:w-x:n-decimal"x:s-@DecimalSeparator" /> </x:ct-> </x:o-> </x:c-> </x:va-> <x:ct-x:n-replaceblank"> <x:w-x:n-value"x:s-$number" /> </x:ct-> </x:t-> <x:t- match="*[@type=\'LOOKUP\']"> <x:p-x:n-value" /> <x:va-x:n-valueField"x:s-@ValueField" /> <x:va-x:n-displayFields"x:s-@DisplayFields" /> <x:c-> <x:wh- test="$valueField = $displayFields"> <x:ct-x:n-replaceblank"> <x:w-x:n-value"x:s-$value" /> </x:ct-> </x:wh-> <x:o-> <x:ct-x:n-replaceblank"> <x:w-x:n-value"> <x:c-> <x:wh- test="@DatasourceId"> <x:va-x:n-preset-value" > <xsl:for-eachx:s-key(\'data-source\',@DatasourceId)//*"> <xsl:if test="@*[name(.)=$valueField and .=$value]"> <x:ct-x:n-print-displayfields"> <x:w-x:n-field"x:s-$displayFields" /> </x:ct-> </xsl:if> </xsl:for-each> </x:va-> <x:c-> <x:wh- test="$preset-value=\'\'"> <x:v-x:s-$value"/> </x:wh-> <x:o-> <x:v-x:s-$preset-value"/> </x:o-> </x:c-> </x:wh-> <x:o-> <x:v-x:s-$value"/> </x:o-> </x:c-> </x:w-> </x:ct-> </x:o-> </x:c-> </x:t-> <x:t- match="*[@type=\'LISTBOX\']"> <x:p-x:n-value" /> <x:va-x:n-valueField"x:s-@ValueField" /> <x:va-x:n-displayFields"x:s-@DisplayFields" /> <x:c-> <x:wh- test="@DatasourceId"> <x:va-x:n-temp-value"> <xsl:for-eachx:s-key(\'data-source\',@DatasourceId)//*"> <xsl:if test="@*[name(.)=$valueField and .=$value]"> <x:ct-x:n-replaceblank"> <x:w-x:n-value"> <x:ct-x:n-print-displayfields"> <x:w-x:n-field"x:s-$displayFields" /> </x:ct-> </x:w-> </x:ct-> </xsl:if> </xsl:for-each> </x:va-> <x:c-> <x:wh- test="not($temp-value = \'\')"> <x:v-x:s-$temp-value"/> </x:wh-> <x:o-> <x:ct-x:n-replaceblank"> <x:w-x:n-value"x:s-$value" /> </x:ct-> </x:o-> </x:c-> </x:wh-> <x:o-> <x:ct-x:n-replaceblank"> <x:w-x:n-value"x:s-$value" /> </x:ct-> </x:o-> </x:c-> </x:t-> <x:t- match="*[@type=\'CHECKBOX\']"> <x:p-x:n-value" /> <x:va-x:n-valueField"x:s-@ValueField" /> <x:va-x:n-displayFields"x:s-@DisplayFields" /> <x:va-x:n-checkedValue"x:s-@CheckedValue" /> <xsl:for-eachx:s-key(\'data-source\',@DatasourceId)//*"> <xsl:if test="@*[name(.)=$valueField and .=$value]"> <x:va-x:n-checkString"> <x:c-> <x:wh- test="$value=$checkedValue">checked</x:wh-> <x:o->unchecked</x:o-> </x:c-> </x:va-> <div style="overflow:hidden;"> <div class="ntb-checkbox ntb-checkbox-{$checkString}" checked="{$value}" width="10" >ATOKENTOREPLACE</div> <div class="ntb-checkbox-text"><x:v-x:s-@*[name(.)=$displayFields]" /></div> </div> </xsl:if> </xsl:for-each> </x:t-> <x:t- match="*[@type=\'IMAGE\']"> <x:p-x:n-value" /> <x:va-x:n-url"> <x:c-> <x:wh- test="@ImageUrl and not(@ImageUrl=\'\')"><x:v-x:s-@ImageUrl" /></x:wh-> <x:o-><x:v-x:s-$value" /></x:o-> </x:c-> </x:va-> <!-- image editor --> <div style="background-image:url(\'{$url}\');background-repeat:no-repeat;" class="ntb-image"> <img border="0" src="{$url}" align="middle" style="visibility:hidden;" /> </div> </x:t-> <x:t- match="*[@type=\'DATE\']"> <x:p-x:n-value" /> <x:va-x:n-date-mask"> <x:c-> <x:wh- test="@Mask"><x:v-x:s-@Mask" /></x:wh-> <x:o->MMM d, yy</x:o-> </x:c-> </x:va-> <x:va-x:n-date"> <x:ct-x:n-d:format-date"> <x:w-x:n-date-time"x:s-$value" /> <x:w-x:n-mask"x:s-$date-mask" /> </x:ct-> </x:va-> <x:ct-x:n-replaceblank"> <x:w-x:n-value"x:s-$date" /> </x:ct-> </x:t-> <x:t- match="*[@type=\'TEXTAREA\']"> <x:p-x:n-value" /> <x:ct-x:n-replace-break"> <x:w-x:n-text"> <x:ct-x:n-replaceblank"> <x:w-x:n-value"x:s-$value" /> </x:ct-> </x:w-> </x:ct-> </x:t-> <x:t- match="*[@type=\'PASSWORD\']">********</x:t-> <x:t- match="*[@type=\'LINK\']"> <x:p-x:n-value" /> <span class="ntb-hyperlink-editor"> <x:ct-x:n-replaceblank"> <x:w-x:n-value"x:s-$value" /> </x:ct-> </span> </x:t-> <x:t-x:n-placeholder"/><x:t-x:n-replaceblank"> <x:p-x:n-value" /> <x:c-> <x:wh- test="not($value) or $value = \'\' or $value = \' \'">ATOKENTOREPLACE</x:wh-> <x:o-><x:v-x:s-$value" /></x:o-> </x:c-></x:t-><x:t-x:n-replace"> <x:p-x:n-text"/> <x:p-x:n-search"/> <x:p-x:n-replacement"/> <x:c-> <x:wh- test="contains($text, $search)"> <x:v-x:s-substring-before($text, $search)"/> <x:v-x:s-$replacement"/> <x:ct-x:n-replace"> <x:w-x:n-text"x:s-substring-after($text,$search)"/> <x:w-x:n-search"x:s-$search"/> <x:w-x:n-replacement"x:s-$replacement"/> </x:ct-> </x:wh-> <x:o-> <x:v-x:s-$text"/> </x:o-> </x:c-></x:t-><x:t-x:n-print-displayfields"> <x:p-x:n-field" /> <x:c-> <x:wh- test="contains($field,\'|\')" > <!-- Here we hardcode a spacer \', \' - this should probably be moved elsewhere. --> <x:v-x:s-concat(@*[name(.)=substring-before($field,\'|\')],\', \')" /> <x:ct-x:n-print-displayfields"> <x:w-x:n-field"x:s-substring-after($field,\'|\')" /> </x:ct-> </x:wh-> <x:o-> <x:v-x:s-@*[name(.)=$field]" /> </x:o-> </x:c-></x:t-><x:t-x:n-replace-break"> <x:p-x:n-text"/> <x:ct-x:n-replace"> <x:w-x:n-text"x:s-$text"/> <x:w-x:n-search"x:s-\'&amp;amp;#xa;\'"/> <x:w-x:n-replacement"x:s-\'&amp;lt;br/&amp;gt;\'"/> </x:ct-></x:t-><x:t-x:n-ClassName"> <x:p-x:n-row"/> <x:va-x:n-class"x:s-@ClassName"/> <x:va-x:n-value"x:s-$row/@*[name()=$class]"/> <x:c-> <x:wh- test="$value"><x:v-x:s-$value"/></x:wh-> <x:o-><x:v-x:s-$class"/></x:o-> </x:c-></x:t-><x:t-x:n-CssStyle"> <x:p-x:n-row"/> <x:va-x:n-style"x:s-@CssStyle"/> <x:va-x:n-value"x:s-$row/@*[name()=$style]"/> <x:c-> <x:wh- test="$value"><x:v-x:s-$value"/></x:wh-> <x:o-><x:v-x:s-$style"/></x:o-> </x:c-></x:t-><!--This can be used as an insertion point for column templates--> <!--COLUMN-TYPE-TEMPLATES--></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.grid");nitobi.grid.rowXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_rowXslProc));var temp_ntb_sortXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="yes" /> <x:p-x:n-column"x:s-@xi"> </x:p-> <x:p-x:n-dir"x:s-\'ascending\'"> </x:p-> <x:p-x:n-type"x:s-\'text\'"> </x:p-> <x:t- match="*|@*"> <xsl:copy> <x:at-x:s-@*|node()" /> </xsl:copy> </x:t-> <x:t- match="ntb:data"> <xsl:copy> <x:at-x:s-@*"/> <xsl:for-eachx:s-ntb:e"> <xsl:sortx:s-@*[name() =$column]" order="{$dir}" data-type="{$type}"/> <xsl:copy> <x:a-x:n-xi"> <x:v-x:s-position()-1" /> </x:a-> <x:at-x:s-@*" /> </xsl:copy> </xsl:for-each> </xsl:copy> </x:t-><x:t- match="@xi" /></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.data");nitobi.data.sortXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_sortXslProc));var temp_ntb_fillColumnXslProc='<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="no" /> <x:p-x:n-startRowIndex"x:s-0" ></x:p-> <x:p-x:n-endRowIndex"x:s-10000" ></x:p-> <x:p-x:n-value"x:s-test"></x:p-> <x:p-x:n-column"x:s-a"></x:p-> <x:t- match="@* | node()" > <xsl:copy> <x:at-x:s-@*|node()" /> </xsl:copy> </x:t-> <x:t- match="/ntb:grid/ntb:datasources/ntb:datasource/ntb:data/ntb:e"> <x:c-> <x:wh- test="(number(@xi) &gt;= $startRowIndex) and (number(@xi) &lt;= $endRowIndex)"> <xsl:copy> <xsl:copy-ofx:s-@*" /> <x:a-x:n-{$column}"><x:v-x:s-$value" /></x:a-> </xsl:copy> </x:wh-> <x:o-> <xsl:copy> <x:at-x:s-@*|node()" /> </xsl:copy> </x:o-> </x:c-> </x:t-></xsl:stylesheet> ';nitobi.lang.defineNs("nitobi.data");nitobi.data.fillColumnXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_fillColumnXslProc));var temp_ntb_updategramTranslatorXslProc='<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes"/> <x:p-x:n-datasource-id"x:s-\'_default\'"></x:p-> <x:p-x:n-xkField" ></x:p-> <x:t- match="/"> <root> <x:at-x:s-//ntb:datasource[@id=$datasource-id]/ntb:data/ntb:e" /> </root> </x:t-> <x:t- match="ntb:e"> <x:c-> <x:wh- test="@xac=\'d\'"> <delete xi="{@xi}" xk="{@*[name() = $xkField]}"></delete> </x:wh-> <x:wh- test="@xac=\'i\'"> <insert><xsl:copy-ofx:s-@*[not(name() = $xkField) and not(name() = \'xac\')]" /><x:a-x:n-xk"><x:v-x:s-@*[name() = $xkField]" /></x:a-></insert> </x:wh-> <x:wh- test="@xac=\'u\'"> <update><xsl:copy-ofx:s-@*[not(name() = $xkField) and not(name() = \'xac\')]" /><x:a-x:n-xk"><x:v-x:s-@*[name() = $xkField]" /></x:a-></update> </x:wh-> </x:c-> </x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.data");nitobi.data.updategramTranslatorXslProc=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_updategramTranslatorXslProc));var temp_ntb_datePickerTemplate='<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="yes" /> <xsl:strip-space elements="*"/> <x:t- match="ntb:datepicker"> <div id="{@id}"> <x:a-x:n-class"> ntb-calendar-reset <x:v-x:s-@theme"/> </x:a-> <x:at-x:s-ntb:dateinput"/> <xsl:if test="ntb:calendar and ntb:dateinput"> <div id="{@id}.button" style="float:left;" class="ntb-calendar-button"> <x:ct-x:n-dummy"></x:ct-> </div> </xsl:if> <div style="display:block;clear:both;float:none;height:0px;width:auto;overflow:hidden;"><xsl:comment>dummy</xsl:comment></div> <x:at-x:s-ntb:calendar"/> <input id="{@id}.value" type="hidden" value=""x:n-{@id}"/> </div> </x:t-> <x:t- match="ntb:dateinput"> <x:va-x:n-width"> <x:c-> <x:wh- test="contains(@width, \'px\')"> <x:v-x:s-substring-before(@width, \'px\')"/> </x:wh-> <x:o-> <x:v-x:s-@width" /> </x:o-> </x:c-> </x:va-> <div id="{@id}" style="float:left;"> <div id="{@id}.container" class="ntb-inputcontainer"> <x:a-x:n-style"> <xsl:if test="@width">width:<x:v-x:s-$width"/>px;</xsl:if> </x:a-> <input id="{@id}.input" type="text" class="ntb-dateinput"> <x:a-x:n-style"> font-size:100%;<xsl:if test="@cssstyle"><x:v-x:s-@cssstyle"/></xsl:if>; <xsl:if test="@width">width: <x:v-x:s-number($width) - 10"/>px;</xsl:if> </x:a-> <xsl:if test="@editable = \'false\'"> <x:a-x:n-disabled">true</x:a-> </xsl:if> </input> </div> </div> </x:t-> <x:t- match="ntb:calendar"> <div id="{@id}" onselectstart="return false;"> <x:a-x:n-style"> <xsl:if test="../ntb:dateinput">position:absolute;z-index:1000;</xsl:if>overflow:hidden; </x:a-> <x:a-x:n-class"> ntb-calendar-container nitobi-hide </x:a-> <x:ct-x:n-dummy"/> </div> </x:t-> <x:t-x:n-dummy"> <xsl:comment>dummy</xsl:comment> </x:t-></xsl:stylesheet>';nitobi.lang.defineNs("nitobi.calendar");nitobi.calendar.datePickerTemplate=nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_datePickerTemplate));
