/*
	Copyright (c) 2004-2006, The TurboAjax Group
	All Rights Reserved.

	TurboWidgets are free free to use for noncommercial web pages and 
	applications. A commercial license is required to use TurboWidgets 
	in a commercial web page or application. The TurboWidgest commercial 
	license is per developer and requires no royalty fees.

	http://turboajax.com/turbowidgets/license.html
*/

/*
	This package requires inclusion of the Dojo Toolkit.
	
	Ensure that Dojo Toolkit is loaded or use a TurboWidgets build
	that includes Dojo.
	
	http://dojotoolkit.org
	Copyright (c) 2004-2006, The Dojo Foundation
	All Rights Reserved.
*/
/*
	Copyright (c) 2004-2005, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/community/licensing.shtml
*/

/*
	This is a compiled version of Dojo, built for deployment and not for
	development. To get an editable version, please visit:

		http://dojotoolkit.org

	for documentation and information on getting the source.
*/

if(this["dojo"]){
dojo.provide("turbo.turbo");
dojo.require("dojo.dom");
dojo.require("dojo.style");
try{
dojo.require("dojo.string.extras");
}
catch(e){
dojo.require("dojo.string");
}
dojo.setModulePrefix("turbo","../turbo");
}else{
turbo={};
dojo={provide:function(){
},require:function(){
}};
}
turbo.global=this;
turbo.bind=function(_1,_2){
if(_2){
if(dojo.lang.isString(_2)){
_2=_1[_2];
}
return function(){
return _2.apply(_1,arguments);
};
}else{
dojo.debug("turbo.bind called with null method");
return function(){
};
}
};
turbo.cloneArguments=function(_3,_4){
var l=_3.length;
var s=(_4?_4:0);
var _7=new Array(l-s);
for(var i=s,j=0;i<l;i++,j++){
_7[j]=_3[i];
}
return _7;
};
turbo.bindArgs=function(_9,_a){
if(!_a){
dojo.debug("turbo.bindArgs called with null method");
return function(){
};
}
if(dojo.lang.isString(_a)){
_a=_9[_a];
}
var _b=turbo.cloneArguments(arguments,2);
return function(){
var _c=_b.slice(0);
for(var i=0;i<arguments.length;i++){
_c.push(arguments[i]);
}
return _a.apply(_9,_c);
};
};
turbo.$=function(_e,_f){
return (!_e?null:(!dojo.lang.isString(_e)?_e:(_f?_f:document).getElementById(_e)));
};
turbo.getTagName=function(_10){
var _11=turbo.$(_10);
return (_11&&_11.tagName?_11.tagName.lowerCase():"");
};
turbo.getSelectValue=function(_12){
var s=turbo.$(_12);
if(!s){
return "";
}
with(s.options[s.selectedIndex]){
return (value?value:innerHTML);
}
};
turbo.defer=function(_14,_15){
window.setTimeout(_14,_15);
};
turbo.marshall=function(){
var id="";
var _17=dj_global;
for(var i=0;i<arguments.length;i++){
id=arguments[i];
if(i==0&&!dojo.lang.isString(i)){
_17=id;
}else{
if(!_17[id]){
_17[id]=turbo.$(id);
}
}
}
return dj_global[id];
};
turbo.cat=function(){
turbo.cloneArguments(arguments).join("");
};
turbo.stringOf=function(_19,_1a){
if(_19<=0){
return "";
}
var _1b=new Array(_19);
for(var i=0;i<_19;i++){
_1b[i]=_1a;
}
return _1b.join("");
};
turbo.getCellIndex=function(_1d){
if(_1d.cellIndex){
return _1d.cellIndex;
}
var _1e=_1d.parentNode.cells;
var l=_1e.length;
for(var i=0;i<l;i++){
if(_1d==_1e[i]){
return i;
}
}
return -1;
};
turbo.getRowIndex=function(_21){
if(_21.rowIndex&&_21.rowIndex>=0){
return _21.rowIndex;
}
var _22=_21.parentNode.childNodes;
for(var i=0,l=_22.length;i<l;i++){
if(_21==_22[i]){
return i;
}
}
return -1;
};
turbo.getTableRow=function(_24,_25){
if(_24.rows.length>0){
return _24.rows[_25];
}else{
if(_24.childNodes.length>_25){
return _24.childNodes[_25];
}else{
return null;
}
}
};
turbo.filter=function(_26,_27,_28){
if(!_28){
_28=dj_global;
}
var _29=[];
for(var i=0,elt;i<_26.length;i++){
elt=_27.call(_28,_26[i]);
if(elt!==undefined){
_29.push(elt);
}
}
return _29;
};
turbo.getWindowSize=function(){
if(window.innerWidth){
return {w:window.innerWidth,h:window.innerHeight};
}else{
return {w:document.documentElement.clientWidth,h:document.documentElement.clientHeight};
}
};
turbo.getContentSize=function(_2b){
if(_2b&&_2b!=document.body){
return {w:dojo.style.getContentBoxWidth(_2b),h:dojo.style.getContentBoxHeight(_2b)};
}else{
return turbo.getWindowSize();
}
};
turbo.getInnerSize=function(_2c){
if(_2c&&_2c!=document.body){
return {w:dojo.style.getBorderBoxWidth(_2c),h:dojo.style.getBorderBoxHeight(_2c)};
}else{
return turbo.getWindowSize();
}
};
turbo.getOuterSize=function(_2d){
if(_2d&&_2d!=document.body){
return {w:dojo.style.getMarginBoxWidth(_2d),h:dojo.style.getMarginBoxHeight(_2d)};
}else{
return turbo.getWindowSize();
}
};
turbo.setContentSize=function(_2e,inW,inH){
var siz=turbo.getContentSize(_2e);
if(inW>0&&inW!=siz.w){
_2e.style.width=inW+"px";
}
if(inH>0&&inH!=siz.h){
_2e.style.height=inH+"px";
}
};
turbo.setOuterSize=function(_32,inW,inH){
dojo.style.setMarginBoxWidth(_32,inW);
dojo.style.setMarginBoxHeight(_32,inH);
};
turbo.setBounds=function(_35,inL,inT,inW,inH){
if(_35){
with(_35.style){
if(inL>=0){
left=inL+"px";
}
if(inT>=0){
top=inT+"px";
}
}
turbo.setOuterSize(_35,inW,inH);
}
};
turbo.setStyle=function(_3a,_3b,_3c){
if(_3a&&_3a.style[_3b]!=_3c){
_3a.style[_3b]=_3c;
}
};
turbo.setStyleLeftPx=function(_3d,_3e){
turbo.setStyle(_3d,"left",_3e+"px");
};
turbo.setStyleTopPx=function(_3f,_40){
turbo.setStyle(_3f,"top",_40+"px");
};
turbo.setStyleWidthPx=function(_41,_42){
if(_42>=0){
turbo.setStyle(_41,"width",_42+"px");
}
};
turbo.setStyleHeightPx=function(_43,_44){
if(_44>=0){
turbo.setStyle(_43,"height",_44+"px");
}
};
turbo.setStyleSizePx=function(_45,_46,_47){
turbo.setStyleWidthPx(_45,_46);
turbo.setStyleHeightPx(_45,_47);
};
turbo.setStyleBoundsPx=function(_48,_49,_4a,_4b,_4c){
turbo.setVisibility(_48,false);
turbo.setStyleLeftPx(_48,_49);
turbo.setStyleTopPx(_48,_4a);
turbo.setStyleWidthPx(_48,_4b);
turbo.setStyleHeightPx(_48,_4c);
turbo.setVisibility(_48,true);
};
turbo.setOuterStyleWidthPx=function(_4d,_4e){
if(_4d){
dojo.style.setMarginBoxWidth(_4d,_4e);
}
};
turbo.setOuterStyleHeightPx=function(_4f,_50){
if(_4f){
dojo.style.setMarginBoxHeight(_4f,_50);
}
};
turbo.capture=function(_51){
if(_51.setCapture){
_51.setCapture();
}else{
document.addEventListener("mousemove",_51.onmousemove,true);
document.addEventListener("mouseup",_51.onmouseup,true);
}
};
turbo.release=function(_52){
if(_52.releaseCapture){
_52.releaseCapture();
}else{
document.removeEventListener("mousemove",_52.onmousemove,true);
document.removeEventListener("mouseup",_52.onmouseup,true);
}
};
turbo.time=function(){
return new Date().getTime();
};
turbo.profile=function(_53,_54){
var t=turbo.time();
if(_54){
_53.call(_54);
}else{
_53();
}
return turbo.time()-t;
};
turbo.profiles={};
turbo.profileStart=function(_56){
turbo.profiles[_56]=turbo.time();
};
turbo.profileEnd=function(_57){
t=turbo.time()-turbo.profiles[_57];
turbo.debug(_57+": "+t+"ms");
};
turbo.array_swap=function(_58,inI,inJ){
var _5b=_58[inI];
_58[inI]=_58[inJ];
_58[inJ]=_5b;
};
turbo._swiss=function(_5c,_5d){
for(var i in _5c){
_5d[i]=_5c[i];
}
return _5d;
};
turbo.swiss=function(_5f,_60){
if(!_5f||!_60){
return;
}
if(!dojo.lang.isArray(_5f)){
turbo._swiss(_5f,_60);
}else{
for(var i=0,l=_5f.length;i<l;i++){
turbo._swiss(_5f[i],_60);
}
}
return _60;
};
turbo.supplant=function(s,o){
var i,j;
for(;;){
i=s.lastIndexOf("{");
if(i<0){
break;
}
j=s.indexOf("}",i);
if(i+1>=j){
break;
}
s=s.substring(0,i)+o[s.substring(i+1,j)]+s.substring(j+1);
}
return s;
};
turbo.printf=function(s){
for(var a=1,i=0,r;a<arguments.length;){
i=s.indexOf("%",i)+1;
if(i==0){
break;
}
if(s.charAt(i)=="%"){
r="%";
}else{
r=arguments[a++];
}
s=s.substring(0,i-1)+r+s.substring(i+1);
}
return s;
};
turbo.debugOut=function(_67){
dojo.debug(_67);
};
turbo.debugTop=function(_68){
for(var _69 in _68){
var obj=_68[_69];
s=_69;
if(obj!=null&&typeof (obj)=="object"){
turbo.debugOut(s+" = ("+(obj instanceof Array?"array":"object")+")");
}else{
turbo.debugOut(s+" = "+obj);
}
}
};
turbo.debugArray=function(_6b){
for(var i=0,l=_6b.length;i<l;i++){
if(_6b[i]){
turbo.debug(i+":",_6b[i]);
}
}
};
turbo.debugObject=function(_6d,_6e){
if(_6e==undefined){
_6e="";
}
if(_6e.length>6*5){
turbo.debugOut(_6e+"too deep");
}
for(var _6f in _6d){
var obj=_6d[_6f];
s=_6e+"| "+_6f;
if(obj!=null&&typeof (obj)=="object"){
turbo.debugOut(s+" = ("+(obj instanceof Array?"array":"object")+")");
turbo.debugObject(obj,_6e+"......");
}else{
turbo.debugOut(s+" = "+obj);
}
}
};
turbo.debug=function(){
var c=arguments.length;
for(var i=0;i<c;i++){
if(dojo.lang.isArray(arguments[i])){
turbo.debugArray(arguments[i]);
}else{
if(dojo.lang.isObject(arguments[i])){
turbo.debugObject(arguments[i]);
}else{
turbo.debugOut(arguments[i]);
}
}
}
};
turbo.escapeText=function(_73){
return dojo.string.escapeXml(String(_73)).replace(/\n/g,"<br />");
};
turbo.stringReplace=function(_74,_75,_76){
if(!dojo.render.html.safari){
return _74.replace(_75,_76);
}
var str=_74;
var _78=_76;
var reg=_75;
var _7a=[];
var _7b=reg.lastIndex;
var re;
while((re=reg.exec(str))!=null){
var idx=re.index;
var _7e=re.concat(idx,str);
_7a.push(str.slice(_7b,idx),_78.apply(null,_7e).toString());
if(!reg.global){
_7b+=(RegExp.lastMatch?RegExp.lastMatch.length:0);
break;
}else{
_7b=reg.lastIndex;
}
}
_7a.push(str.slice(_7b));
return _7a.join("");
};
turbo.getScrollbarWidth=function(){
if(turbo["_scrollBarWidth"]){
return turbo._scrollBarWidth;
}
turbo._scrollBarWidth=18;
try{
var e=document.createElement("div");
with(e.style){
top="0px";
left="0px";
width="100px";
height="100px";
overflow="scroll";
position="absolute";
visibility="hidden";
}
document.body.appendChild(e);
turbo._scrollBarWidth=e.offsetWidth-e.clientWidth;
document.body.removeChild(e);
delete e;
}
catch(ex){
}
return turbo._scrollBarWidth;
};
turbo.preloads=[];
turbo.preloadImage=function(_80){
var i=new Image();
i.src=_80;
turbo.preloads.push(i);
};
turbo.setCursor=function(_82){
document.body.style.cursor=_82;
};
turbo.setBusyCursor=function(){
turbo.setCursor("wait");
};
turbo.setDefaultCursor=function(){
turbo.setCursor("default");
};
turbo.addBodyNode=function(_83){
document.body.appendChild(_83);
};
turbo.addHeadNode=function(_84){
document.getElementsByTagName("head").item(0).appendChild(_84);
};
turbo.remove=function(_85){
if(dojo.lang.isString(_85)){
_85=turbo.$(_85);
}
if(_85&&_85.parentNode){
_85.parentNode.removeChild(_85);
}
};
turbo.setShowing=function(_86,_87){
if(dojo.lang.isString(_86)){
_86=turbo.$(_86);
}
if(_86&&_86.style){
_86.style.display=(_87?"":"none");
}
};
turbo.showHide=function(){
var l=arguments.length-1;
var _89=arguments[l];
if(_89!==true&&_89!==false){
_89=true;
l++;
}
for(var i=0;i<l;i++){
turbo.setShowing(arguments[i],_89);
}
};
turbo.show=turbo.showHide;
turbo.hide=function(){
var l=arguments.length;
for(var i=0;i<l;i++){
turbo.setShowing(arguments[i],false);
}
};
turbo.showing=function(_8d){
if(!_8d||(_8d["style"]&&dojo.style.getComputedStyle(_8d,"display")=="none")){
return false;
}else{
if(_8d["parentNode"]&&_8d.parentNode&&_8d.parentNode!=document.body){
return turbo.showing(_8d.parentNode);
}else{
return true;
}
}
};
turbo.setVisibility=function(_8e,_8f){
if(dojo.lang.isString(_8e)){
_8e=turbo.$(_8e);
}
if(_8e&&_8e.style){
_8e.style.visibility=(_8f?"":"hidden");
}
};
turbo.pathpop=function(_90,_91){
var _92=_90.lastIndexOf((_91==undefined?"/":_91));
return (_92>=0?_90.substring(0,_92):"");
};
turbo.clean=function(_93){
if(!_93){
return;
}
var _94=function(inW){
return inW.domNode&&dojo.dom.isDescendantOf(inW.domNode,_93,true);
};
var ws=dojo.widget.byFilter(_94);
for(var i=0;i<ws.length;i++){
var w=ws[i];
if(dojo.widget.widgetIds[w.widgetId]==w){
w.destroy();
}
}
dojo.event.browser.clean(_93);
};
turbo.scripts=[];
turbo.loadScript=function(_99){
if(turbo.scripts[_99]){
return;
}
turbo.scripts[_99]=true;
var _9a=document.createElement("script");
_9a.type="text/javascript";
_9a.language="JavaScript";
turbo.addHeadNode(_9a);
_9a.src=_99;
};
turbo.getFunction=function(_9b){
var obj=turbo.global;
var _9d=_9b.split(".");
var _9e=_9d.pop();
while(_9d.length&&obj){
obj=obj[_9d.shift()];
}
return (obj?obj[_9e]:null);
};
dojo.provide("turbo.lib.align");
dojo.require("turbo.turbo");
turbo.aligner=new function(){
this.enabled=false;
this.targets=[];
this.getAlignment=function(_9f){
return _9f.getAttribute("turboAlign")||_9f.getAttribute("turboalign");
};
this.visible=function(_a0){
return (dojo.style.getComputedStyle(_a0,"display")!="none");
};
this.listChildrenByAlignment=function(_a1,_a2){
var _a3=[];
var _a4=_a1.firstChild;
while(_a4){
if(_a4.nodeType==1&&this.getAlignment(_a4)==_a2&&this.visible(_a4)){
_a3.push(_a4);
}
_a4=_a4.nextSibling;
}
return _a3;
};
this.listAlignedChildren=function(_a5){
var _a6={none:[],top:[],left:[],client:[],right:[],bottom:[]};
var _a7=_a5.firstChild;
while(_a7){
if(_a7.nodeType==1&&this.visible(_a7)){
var _a8=this.getAlignment(_a7);
if(_a8){
if(_a6[_a8]){
_a6[_a8].push(_a7);
}else{
_a6[_a8]=[_a7];
}
}
}
_a7=_a7.nextSibling;
}
return _a6;
};
this.normalizeAlignedElement=function(_a9){
if(_a9.style.position!="absolute"){
_a9.style.position="absolute";
}
};
this.alignElement=function(_aa,inL,inT,inW,inH){
this.normalizeAlignedElement(_aa);
turbo.setBounds(_aa,inL,inT,inW,inH);
this.alignChildren(_aa);
};
this.alignChildren=function(_af){
var _b0=this.listAlignedChildren(_af);
var siz=turbo.getContentSize(_af);
var top=dojo.style.getPixelValue(_af,"padding-top",true);
var _b3=dojo.style.getPixelValue(_af,"padding-left",true);
var l,r,t,b,w,h,c,aligns;
aligns=_b0.top;
t=top;
for(var i=0;i<aligns.length;i++){
this.alignElement(aligns[i],_b3,t,siz.w);
t+=aligns[i].offsetHeight;
}
aligns=_b0.bottom;
b=siz.h+top;
c=aligns.length;
for(var i=c-1;i>=0;i--){
b-=aligns[i].offsetHeight;
this.alignElement(aligns[i],_b3,b,siz.w);
}
h=b-t;
aligns=_b0.left;
l=_b3;
for(var i=0;i<aligns.length;i++){
this.alignElement(aligns[i],l,t,-1,h);
l+=aligns[i].offsetWidth;
}
aligns=_b0.right;
r=siz.w+_b3;
c=aligns.length;
for(var i=c-1;i>=0;i--){
r-=aligns[i].offsetWidth;
this.alignElement(aligns[i],r,t,-1,h);
}
w=r-l;
aligns=_b0.client;
for(var i=0;i<aligns.length;i++){
this.alignElement(aligns[i],l,t,w,h);
break;
}
aligns=_b0.none;
for(var i=0;i<aligns.length;i++){
this.alignChildren(aligns[i]);
}
};
this.alignTargets=function(){
for(var i=0,l=turbo.aligner.targets.length;i<l;i++){
turbo.aligner.alignChildren(turbo.aligner.targets[i]);
}
};
this.alignFrom=function(_b7){
turbo.aligner.alignChildren(_b7);
};
this.alignNow=function(){
turbo.aligner.alignFrom(document.body);
turbo.aligner.alignTargets();
};
this.lastAlign=0;
this.align=function(){
if(!turbo.aligner.enabled){
return;
}
turbo.aligner.alignNow();
};
this.alignLater=function(_b8){
turbo.defer(turbo.aligner.align,(_b8?_b8:200));
};
this.enable=function(_b9){
turbo.aligner.enabled=(_b9!==false);
};
this.start=function(){
turbo.aligner.enable();
turbo.aligner.alignLater(500);
};
this.addTarget=function(_ba){
var e=(dojo.lang.isString(_ba)?turbo.$(_ba):_ba);
e.style.position="relative";
turbo.aligner.targets.push(e);
};
};
dojo.provide("turbo.lib.app");
dojo.require("turbo.lib.align");
dojo.require("dojo.event.*");
turbo.app={marshall:function(){
var id="";
var _bd=dj_global;
for(var i=0;i<arguments.length;i++){
id=arguments[i];
if(!_bd[id]){
_bd[id]=turbo.$(id);
}
}
return _bd[id];
},onresize:function(){
},alignerAlign:function(){
this.onresize();
},resize:function(){
turbo.aligner.align();
},_windowResize:function(){
turbo.app.resize();
turbo.app.resizePending=null;
},windowResize:function(){
if(this.resizePending){
return;
}
this.resizePending=turbo.defer(turbo.app._windowResize,250);
},display:function(){
turbo.aligner.enable();
this._windowResize();
turbo.defer(turbo.app.windowResize,500);
turbo.remove("turboCurtain");
},encurtain:function(){
var d=document.createElement("div");
d.innerHTML=turbo.app.curtainHtml;
d.id="turboCurtain";
with(d.style){
position="absolute";
zIndex=9999;
width="9000px";
height="9000px";
backgroundColor="white";
padding="16px";
}
document.body.insertBefore(d,document.body.firstChild);
document.body.style.display="block";
},init:function(){
},initialize:function(){
this.encurtain();
try{
this.init();
}
catch(e){
dojo.debug("turbo.app.init failed: "+e);
turbo.debug(e);
}
turbo.defer(turbo.bind(this,this.display),100);
dojo.event.connect(turbo.aligner,"align",this,"alignerAlign");
dojo.event.connect(window,"onresize",this,"windowResize");
}};
turbo.app.curtainHtml="";
dojo.addOnLoad(turbo.app,"initialize");
if(false){
dojo.addOnLoad(function(){
showHideGrids=function(_c0){
var _c1=dojo.widget.getWidgetsByType("TurboGrid");
for(var i=0;i<_c1.length;i++){
turbo.showHide(_c1[i].domNode,_c0);
}
};
hideGrids=function(){
showHideGrids(false);
};
showGrids=function(){
showHideGrids(true);
};
dojo.event.connect("before",turbo.aligner,"align","hideGrids");
dojo.event.connect("after",turbo.aligner,"align","showGrids");
});
}
dojo.event.topic.registerPublisher("turboresize",turbo.app,"onresize");
dojo.provide("turbo.lib.theme");
dojo.require("dojo.io.*");
dojo.require("dojo.html");
dojo.require("turbo.turbo");
turbo.stylesheet={cssFiles:[],links:[],rules:0,loadCost:0,processCost:0,dummy:0};
turbo.stylesheet.create=function(_c3){
var l=document.createElement("link");
l.setAttribute("rel","stylesheet");
l.setAttribute("type","text/css");
l.setAttribute("href",_c3+"/base.css");
return l;
};
turbo.stylesheet.getLink=function(_c5){
var l=turbo.stylesheet.links[_c5];
if(!l){
l=turbo.stylesheet.create(_c5);
turbo.addHeadNode(l);
turbo.stylesheet.links[_c5]=l;
}
return l;
};
turbo.stylesheet.getLinkSheet=function(_c7){
var s=null;
if(!_c7.addRule){
turbo.debug("stylesheet has no addRule method");
if(_c7.styleSheet){
s=_c7.styleSheet;
}else{
turbo.debug("turbo.stylesheet.getLinkSheet: link has no .styleSheet property");
}
}
return s;
};
turbo.stylesheet.loaded=function(_c9){
if(!_c9||turbo.stylesheet.cssFiles[_c9]){
return true;
}
turbo.stylesheet.cssFiles[_c9]=true;
return false;
};
turbo.stylesheet.append=function(_ca){
if(turbo.stylesheet.loaded(_ca)){
return;
}
var t=turbo.time();
dojo.io.bind({url:_ca,sync:true,load:function(_cc,_cd){
turbo.stylesheet._append(_ca,_cd);
},error:function(e,m){
turbo.debug(m.message+": "+_ca);
}});
};
turbo.stylesheet._append=function(_d0,_d1){
var s=turbo.stylesheet.getLink(turbo.pathpop(_d0)).styleSheet;
if(!s||!s.addRule){
return;
}
var _d3=/(\/\*[\s\S]*?\*\/)/g;
_d1=_d1.replace(_d3,"");
var _d3=/[\s]*([^{]*)({[^}]*})/g;
while((result=_d3.exec(_d1))!=null){
var _d4=result[2];
var _d5=result[1].split(",");
for(var i in _d5){
s.addRule(_d5[i],_d4);
}
}
};
turbo.stylesheet.importStyleSheet=function(_d7){
if(turbo.stylesheet.loaded(_d7)){
return;
}
dojo.style.insertCssFile(_d7);
};
turbo.stylesheet.importThemeFile=function(_d8){
if(djConfig["turbo_hand_css"]){
return;
}
if(djConfig["turbo_fine_css"]){
if(dojo.render.html.ie){
turbo.stylesheet.append(_d8);
}else{
turbo.stylesheet.importStyleSheet(_d8);
}
}else{
turbo.stylesheet.importStyleSheet(turbo.pathpop(_d8)+"/theme.css");
}
};
turbo.themes=new function(){
this.theme="";
this.themeable=[];
this.addThemeable=function(_d9){
this.themeable.push(_d9);
};
this.setTheme=function(_da){
this.theme=(_da?_da:"default");
for(var i in this.themeable){
this.themeable[i].setTheme(this.theme);
}
if(turbo["aligner"]){
turbo.defer(turbo.aligner.align,250);
turbo.defer(turbo.aligner.align,1000);
}
};
};
dojo.provide("turbo.widgets.TurboWidget");
dojo.require("dojo.widget.*");
dojo.require("turbo.turbo");
dojo.require("turbo.lib.theme");
dojo.require("turbo.lib.align");
turbo.widgetRoot="../turbo/widgets/";
turbo.templateRoot=turbo.widgetRoot+"templates/";
turbo.themeRoot=turbo.widgetRoot+"themes/";
turbo.themePath=dojo.hostenv.getBaseScriptUri()+turbo.themeRoot;
turbo.loadJs=function(_dc){
turbo.loadScript(dojo.hostenv.getBaseScriptUri()+_dc);
};
turbo.loadCss=function(_dd){
turbo.stylesheet.importThemeFile(dojo.hostenv.getBaseScriptUri()+_dd);
};
turbo.setWidgetType=function(_de,_df){
if(_de.widgetType=="HtmlWidget"){
_de.widgetType=_df;
}
};
dojo.widget.HtmlTurboWidget=function(){
dojo.widget.HtmlWidget.call(this);
this.themeRoot=turbo.themeRoot;
this.templateRoot=turbo.templateRoot;
this.templatePath=dojo.uri.dojoUri(this.templateRoot+this.widgetType+".html");
this.styleRoot=this.widgetType;
this.isContainer=false;
this.debuggable=true;
this.style="";
this.theme="";
this.themeable=true;
this.turboalign="";
this.themeJs=false;
this.onCreate=function(){
};
this.initialize=function(){
if(this.widgetId.substr(-2,1)!="_"&&this.widgetId.substr(-3,1)!="_"){
dj_global[this.widgetId]=this;
}
if(this.extraArgs["turboAlign"]){
this.turboalign=this.extraArgs.turboAlign;
}
if(this.turboalign){
this.domNode.setAttribute("turboalign",this.turboalign);
}
if(this.extraArgs["class"]){
this.domNode.className=this.extraArgs["class"];
}
this.domNode.id=this.widgetId;
if(this.themeable){
turbo.themes.addThemeable(this);
if(!this.theme){
this.theme=turbo.themes.theme;
}
this.setTheme(this.theme);
}
};
this.bindArgEvent=function(_e0,_e1){
if(_e1[_e0]){
this[_e0]=turbo.getFunction(_e1[_e0]);
}
};
this.bindArgEvents=function(_e2){
var _e3=[];
for(var arg in _e2){
if(!_e3[arg]&&dojo.lang.isFunction(this[arg])){
_e3[arg]=true;
var _e5=_e2[arg];
if(_e5.search(/[^\w\.]+/i)==-1){
var _e6=turbo.getFunction(_e5);
if(_e6){
this[arg]=_e6;
}else{
this.debug("bindArgEvents","could not bind \""+arg+"\" to \""+_e5+"\"");
}
}
}
}
};
this.getWidgetFragment=function(_e7){
return _e7["dojo:"+this.widgetType.toLowerCase()]["nodeRef"];
};
this.parseContent=function(_e8){
var _e9=this.getWidgetFragment(_e8);
return dojo.widget.getParser().createComponents(_e9);
};
this.installChildren=function(_ea,_eb){
var _ec=(_eb?_eb:this.domNode);
dojo.dom.moveChildren(this.getWidgetFragment(_ea),_ec);
var _ed=new dojo.xml.Parse().parseElement(_ec);
dojo.widget.getParser().createComponents(_ed);
};
this.getStylePath=function(_ee){
return this.themeRoot+(_ee?_ee:"default")+"/"+this.styleRoot+_ee;
};
this.loadStyle=function(_ef){
var p=this.getStylePath(_ef);
turbo.loadCss(p+".css");
if(this.themeJs){
turbo.loadJs(p+"Theme.js");
}
};
this.setStyle=function(_f1){
this.style=(_f1=="default"?"":_f1);
this.loadStyle(this.style);
this.styleChanged();
};
this.setTheme=function(_f2){
this.loadStyle("");
if(!this.themeable){
return;
}
if(_f2&&(_f2.charAt(0)=="+")){
this.themeable=false;
_f2=_f2.substring(1);
}
this.setStyle(_f2);
};
this.styleChanged=function(){
};
this.setStyledClass=function(_f3,_f4){
if(!_f4){
_f4="";
}
_f3.className=this.classTag+_f4+(this.style?" "+this.classTag+this.style+_f4:"");
};
this.setClassName=this.setStyledClass;
this.debug=function(_f5,_f6){
if(this.debuggable){
turbo.debug(this.widgetId+" ["+this.widgetType+"]: "+_f5+": "+_f6);
}
};
this.showHide=function(_f7){
if(_f7){
this.show();
}else{
this.hide();
}
};
};
dojo.widget.HtmlTurboValueWidget=function(){
dojo.widget.HtmlTurboWidget.call(this);
this.defaultValue=null;
this.value="";
this.fillInTemplate=function(){
if(this.value){
eval("this.defaultValue = "+this.value);
}
if(this.setValue){
this.setValue(this.defaultValue);
}
};
};
dojo.widget.HtmlTurboNotifier=function(){
dojo.widget.HtmlWidget.call(this);
this.widgetType="TurboNotifier";
this.templateString="<div dojoAttachPoint=\"div\" style=\"display:none;\"></div>";
this.notify="";
this.div=null;
this.fillInTemplate=function(){
if(this.notify){
eval(this.notify+"(this);");
}
};
};
dojo.inherits(dojo.widget.HtmlTurboNotifier,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbonotifier");
dojo.provide("turbo.widgets.TurboButton");
dojo.provide("turbo.widgets.HtmlTurboButton");
dojo.require("turbo.widgets.TurboWidget");
turbo.button=new function(){
this.groups=[];
this.states={normal:0,down:1,disabled:2,over:3,selected:1};
this.resetGroup=function(_f8){
var g=turbo.button.groups[_f8];
for(var i in g){
if(g[i].state!=this.states.disabled){
g[i].setState(this.states.normal);
}
}
};
};
dojo.widget.TurboButtonBase=function(){
dojo.widget.HtmlTurboWidget.call(this);
this.states=turbo.button.states;
this.state="normal";
this.group="";
this.toggle="";
this.value="";
this.width="";
this.event=null;
this.type="button";
this.btn=null;
this.onClick=function(_fb){
};
this.initButton=function(_fc){
this.bindArgEvents(_fc);
if(this.state){
if(parseInt(this.state)){
this.state=parseInt(this.state);
}else{
this.state=this.states[this.state];
}
}
if(this.btn&&this.width){
this.btn.style.width=this.width+"px";
}
if(this.btn){
this.btn.setAttribute("autocomplete","off");
}
this.setGroup(this.group);
};
this.styleChanged=function(){
this.updateButton();
};
this.updateButton=function(_fd){
dojo.debug("abstract function TurboButtonBase.updateButton invoked.");
};
this.setGroup=function(_fe){
if(_fe){
this.group=_fe;
this.toggle=true;
if(!turbo.button.groups[this.group]){
turbo.button.groups[this.group]=[this];
}else{
turbo.button.groups[this.group].push(this);
}
}
};
this.show=function(){
turbo.show(this.domNode);
};
this.hide=function(){
turbo.hide(this.domNode);
};
this.blur=function(){
if(this.btn){
this.btn.blur();
}
};
this.setState=function(_ff){
if(dojo.lang.isString(_ff)){
_ff=(_ff?this.states[_ff]:this.states.normal);
}
if(this.group&&_ff==this.states.down){
turbo.button.resetGroup(this.group);
}
this.state=_ff;
this.delayedState=this.state;
this.updateButton();
};
this.delayedSetState=function(){
if(this.state!=this.delayedState){
this.setState(this.delayedState);
}
this.delayedState=this.state;
};
this.onMouseOver=function(){
if((!this.toggle&&this.state!=this.states.disabled)||(this.state!=this.states.down)){
this.setState(this.states.over);
}
};
this.onMouseOut=function(){
if((!this.toggle&&this.state!=this.states.disabled)||(this.state!=this.states.down)){
this.delayedState=this.states.normal;
window.setTimeout(turbo.bind(this,this.delayedSetState),1);
}
};
this.onMouseDown=function(_100){
if(!this.toggle&&this.state!=this.states.disabled){
this.setState(this.states.down);
}
var btn=this.btn;
this.clicked=true;
if(_100){
dojo.event.browser.stopEvent(_100);
}
};
this.onMouseUp=function(){
if(!this.toggle&&this.state!=this.states.disabled){
this.setState(this.states.normal);
}
};
this.onMouseClick=function(_102){
if(!this.clicked){
this.onMouseDown(null);
window.setTimeout(turbo.bind(this,this.onMouseUp),100);
}else{
this.blur();
this.clicked=false;
}
if(this.toggle&&(!this.group||this.state!=this.states.down)){
this.setState(this.state!=this.states.down?this.states.down:this.states.normal);
}
this.event=_102;
this.onClick(_102);
};
};
dojo.widget.HtmlTurboButton=function(){
turbo.setWidgetType(this,"TurboButton");
dojo.widget.TurboButtonBase.call(this);
this.templatePath=null;
this.templateString="<div></div>";
this.classTag="turbo-button";
this.hideLeft="";
this.hideRight="";
this.themeJs=true;
this.btn=null;
this.btnLeft=null;
this.btnRight=null;
this.fillInTemplate=function(_103,_104){
this.createButtons();
this.initButton(_103);
if(this.hideLeft){
this.btnLeft.style.display="none";
}
if(this.hideRight){
this.btnRight.style.display="none";
}
if(!this.value){
var node=this.getWidgetFragment(_104);
if(node.innerHTML){
this.value=node.innerHTML;
}
}
if(this.value){
this.setCaption(this.value);
}
};
this.createButtons=function(){
var html="<button disabled=\"disabled\">&#160;</button><button type=\""+this.type+"\">Caption</button><button disabled=\"disabled\">&#160;</button>";
this.domNode.innerHTML=html;
this.setStyledClass(this.domNode,"");
this.btnLeft=this.domNode.childNodes[0];
this.btn=this.domNode.childNodes[1];
this.btnRight=this.domNode.childNodes[2];
dojo.event.connect(this.btn,"onmouseover",this,"onMouseOver");
dojo.event.connect(this.btn,"onmouseout",this,"onMouseOut");
dojo.event.connect(this.btn,"onmousedown",this,"onMouseDown");
dojo.event.connect(this.btn,"onmouseup",this,"onMouseUp");
dojo.event.connect(this.btn,"onclick",this,"onMouseClick");
};
this.getButtonClass=function(){
return ["","-down","","-over"][this.state];
};
this.setButtonClasses=function(){
var cn=this.getButtonClass();
this.btnLeft.className=this.classTag+"-left"+cn;
this.btn.className=this.classTag+"-mid"+cn;
this.btnRight.className=this.classTag+"-right"+cn;
};
this.updateButton=function(){
this.setStyledClass(this.domNode,"");
this.btn.disabled=(this.state==this.states.disabled?"disabled":"");
this.setButtonClasses();
};
this.setCaption=function(_108){
this.btn.innerHTML=_108;
};
this.set=function(_109,_10a){
var h=_109;
if(_10a){
h="<img src=\""+_10a+"\" align=\"absmiddle\">&#160;"+h;
}
this.btn.innerHTML=h;
};
};
dojo.inherits(dojo.widget.HtmlTurboButton,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turboButton");
dojo.widget.HtmlTurboTab=function(){
this.widgetType="TurboTab";
dojo.widget.HtmlTurboButton.call(this);
this.classTag="turbo-tab";
this.themeJs=true;
this.getButtonClass=function(){
return ["","-down","","-over"][this.state];
};
};
dojo.inherits(dojo.widget.HtmlTurboTab,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turboTab");
dojo.widget.HtmlTurboToolbtn=function(){
this.widgetType="TurboToolbtn";
dojo.widget.TurboButtonBase.call(this);
this.templatePath=null;
this.templateString="<button dojoAttachPoint=\"btn\" dojoAttachEvent=\"onMouseDown; onMouseOver; onMouseOut; onclick: onMouseClick;\"><div dojoAttachPoint=\"div\"><img dojoAttachPoint=\"img\"></div></button>";
this.classTag="turbo_toolbtn";
this.glyph="";
this.image="";
this.caption="";
this.btn=null;
this.span=null;
this.div=null;
this.img=null;
this.fillInTemplate=function(_10c){
this.initButton(_10c);
this.setCaption(this.caption?this.caption:this.value);
this.setGlyph(this.image?this.image:this.glyph);
if(!dojo.render.html.ie&&!dojo.render.html.moz){
this.btn.style.paddingLeft="2px";
this.btn.style.paddingRight="2px";
}
};
this.updateButton=function(){
this.btn.disabled=(this.state==this.states.disabled?"disabled":"");
this.setStyledClass(this.btn,["","_down","","_over"][this.state]);
};
this.setCaption=function(_10d){
if(!_10d){
return;
}
if(!this.span){
this.span=document.createElement("span");
this.btn.appendChild(this.span);
}
this.span.innerHTML=_10d;
};
this.setGlyph=function(_10e){
if(_10e){
this.img.src=_10e;
}else{
this.img.style.display="none";
}
};
this.set=function(_10f,_110){
this.setCaption(_10f);
this.setGlyph(_110);
};
};
dojo.inherits(dojo.widget.HtmlTurboToolbtn,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbotoolbtn");
dojo.widget.HtmlTurboSimpleButton=function(){
this.widgetType="TurboSimpleButton";
dojo.widget.TurboButtonBase.call(this);
this.classTag="turbo_sbtn";
this.btn=null;
this.fillInTemplate=function(_111){
this.initButton(_111);
if(this.value){
this.btn.innerHTML=this.value;
}
};
this.updateButton=function(){
this.btn.disabled=(this.state==this.states.disabled?"disabled":"");
var a=["","Down","","Over"];
this.btn.className=this.classTag+[this.state];
};
};
dojo.inherits(dojo.widget.HtmlTurboSimpleButton,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbosimplebutton");
dojo.widget.HtmlTurboCheckbox=function(){
turbo.setWidgetType(this,"TurboCheckbox");
dojo.widget.TurboButtonBase.call(this);
this.templatePath=null;
this.templateString="<div></div>";
this.classTag="turbo_cbox";
this.btn=null;
this.span=null;
this.fillInTemplate=function(_113){
this.toggle=true;
this.createButtons();
this.initButton(_113);
if(this.value){
this.span.innerHTML=this.value;
}
};
this.blur=function(){
};
this.createButtons=function(){
var html="<button type=\""+this.type+"\"><span>Checkbox</span></button>";
this.domNode.innerHTML=html;
this.setStyledClass(this.domNode,"");
this.btn=this.domNode.childNodes[0];
this.span=this.btn.childNodes[0];
dojo.event.connect(this.btn,"onmouseover",this,"onMouseOver");
dojo.event.connect(this.btn,"onmouseout",this,"onMouseOut");
dojo.event.connect(this.btn,"onclick",this,"onMouseClick");
};
this.updateButton=function(){
this.setClassName(this.domNode,"");
var a=["Off","Down","Off","Over"];
this.setClassName(this.btn,a[this.state]);
this.btn.disabled=(this.state==this.states.disabled?"disabled":"");
this.setClassName(this.span,"Span"+a[this.state]);
};
};
dojo.inherits(dojo.widget.HtmlTurboCheckbox,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbocheckbox");
dojo.widget.HtmlTurboRadio=function(){
this.widgetType="TurboRadio";
dojo.widget.HtmlTurboCheckbox.call(this);
this.classTag="turbo_radio";
};
dojo.inherits(dojo.widget.HtmlTurboRadio,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turboradio");
dojo.provide("turbo.widgets.TurboTableBox");
dojo.provide("turbo.widgets.HtmlTurboTableBox");
dojo.require("turbo.widgets.TurboWidget");
dojo.widget.HtmlTurboTableBox=function(){
this.widgetType="TurboTableBox";
dojo.widget.HtmlTurboWidget.call(this);
this.boxTable=null;
this.boxCaption=null;
this.boxContent=null;
this.classTag="turbo_box";
this.width="";
this.color="Yellow";
this.imageRoot=dojo.uri.dojoUri(this.themeRoot+"default/tablebox/");
this.makeContainer=function(_116,_117){
dojo.dom.moveChildren(this.getWidgetFragment(_116),_117);
var frag=new dojo.xml.Parse().parseElement(_117);
dojo.widget.getParser().createComponents(frag);
};
this.fillInTemplate=function(_119,_11a){
if(this.width){
this.boxTable.style.width=this.width+"px";
}
this.setColor(this.color);
this.makeContainer(_11a,this.boxContent);
this.boxCaption.appendChild(this.boxContent.removeChild(this.boxContent.firstChild));
this.boxTable.rows[0].cells[0].height="33";
this.boxTable.rows[0].cells[1].height="33";
this.boxTable.rows[0].cells[2].height="33";
};
this.setBg=function(_11b,_11c){
_11b.style.backgroundImage="url("+this.imageRoot+"box"+this.color+"_0"+_11c+".gif)";
};
this.setColor=function(_11d){
this.color=_11d;
var r=this.boxTable.rows[0];
this.setBg(r.cells[0],1);
this.setBg(r.cells[1],2);
this.setBg(r.cells[2],3);
r=this.boxTable.rows[1];
this.setBg(r.cells[0],4);
this.setBg(r.cells[2],6);
r=this.boxTable.rows[2];
this.setBg(r.cells[0],7);
this.setBg(r.cells[1],8);
this.setBg(r.cells[2],9);
};
};
dojo.inherits(dojo.widget.HtmlTurboTableBox,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbotablebox");
dojo.provide("turbo.widgets.TurboToolbar");
dojo.provide("turbo.widgets.HtmlTurboToolbar");
dojo.require("turbo.widgets.TurboWidget");
dojo.require("turbo.widgets.TurboButton");
dojo.widget.HtmlTurboToolbar=function(){
turbo.setWidgetType(this,"TurboToolbar");
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.list=false;
this.classTag="turbo-toolbar";
this.fillInTemplate=function(_11f,_120){
var frag=new dojo.xml.Parse().parseElement(this.domNode);
dojo.widget.getParser().createComponents(frag);
};
this.styleChanged=function(){
this.setStyledClass(this.domNode,(this.list?"-list":""));
};
};
dojo.inherits(dojo.widget.HtmlTurboToolbar,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbotoolbar");
dojo.provide("turbo.widgets.TurboTabbar");
dojo.provide("turbo.widgets.HtmlTurboTabbar");
dojo.require("turbo.widgets.TurboWidget");
dojo.require("turbo.widgets.TurboButton");
dojo.widget.HtmlTurboTabbar=function(){
turbo.setWidgetType(this,"TurboTabbar");
dojo.widget.HtmlTurboWidget.call(this);
this.isContainer=true;
this.templatePath=null;
this.templateString="<div dojoAttachPoint=\"containerNode\"></div>";
this.containerNode=null;
this.classTag="turbo_tabbar";
this.tabIndex=0;
this.lastIndex=-1;
this.canSelectTab=function(_122){
};
this.onSelectTab=function(){
};
this.fillInTemplate=function(_123){
this.bindArgEvents(_123);
};
this.styleChanged=function(){
this.setStyledClass(this.domNode,"");
for(var i in this.children){
this.children[i].setTheme(this.style);
}
};
this.inheritedRegisterChild=this.registerChild;
this.registerChild=function(_125,_126){
_125.tabIndex=this.children.length;
_125.onClick=this._tabClick;
_125.setGroup(this.widgetId);
_125.setTheme(this.style);
return this.inheritedRegisterChild(_125,_126);
};
var self=this;
this._tabClick=function(){
self.tabClick(this);
};
this.getTab=function(_128){
return this.children[_128];
};
this.tabClick=function(_129){
if(this.canSelectTab(_129.inTabIndex)===false){
return this.selectTab(this.tabIndex);
}
this.lastIndex=this.tabIndex;
this.tabIndex=_129.tabIndex;
this.onSelectTab();
};
this.selectTab=function(_12a){
this.tabIndex=_12a;
this.getTab(this.tabIndex).setState("down");
};
};
dojo.inherits(dojo.widget.HtmlTurboTabbar,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbotabbar");
dojo.provide("turbo.widgets.TurboModule");
dojo.provide("turbo.widgets.HtmlTurboModule");
dojo.require("turbo.widgets.TurboWidget");
dojo.require("dojo.io.*");
turbo.onloads=[];
turbo.doOnLoad=function(){
for(var i=0;i<turbo.onloads.length;i++){
turbo.onloads[i]();
}
turbo.onloads=[];
};
dojo.addOnLoad(function(){
dojo.addOnLoad=function(_12c){
turbo.onloads.push(_12c);
};
});
dojo.widget.HtmlTurboModule=function(){
this.widgetType="TurboModule";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.classTag="turbo-module";
this.form="";
this.src="";
this.loaded=false;
this.sync=true;
this.delayed=false;
this.themeable=false;
this.manageIds=false;
this.prefix="";
this._counter=0;
this.fillInTemplate=function(){
dojo.html.prependClass(this.domNode,this.classTag);
if(!this.delayed){
this.request();
}
};
this.setSrc=function(_12d){
this.loaded=false;
this.src=_12d;
if(!this.delayed){
this.request();
}
};
this.clear=function(){
turbo.clean(this.domNode);
dojo.dom.removeChildren(this.domNode);
};
this.load=function(_12e){
if(!_12e){
this.request();
}else{
this.delayed=false;
this.setSrc(_12e);
}
};
this.request=function(){
if(this.loaded||!this.src){
return;
}
var _12f={url:this.src,formNode:(dojo.lang.isString(this.form)?turbo.$(this.form):this.form),sync:this.sync,load:turbo.bind(this,this.receive),error:turbo.bind(this,this.error)};
turbo.setBusyCursor();
try{
if(dojo.io.bind(_12f)===false){
this.status="unspecified bind error";
turbo.debug(this.status);
}
}
catch(e){
this.status=e;
turbo.debug(e);
}
finally{
turbo.setDefaultCursor();
}
};
this.error=function(type,_131){
turbo.debug(_131);
};
this.receive=function(type,data,evt){
this.loaded=true;
turbo.clean(this.domNode);
if(this.manageIds){
data=this.uniquifyIds(data);
}
this.domNode.innerHTML=this.extractScript(data);
if(dojo.render.html.ie&&this.turboalign){
turbo.setStyleSizePx(this.domNode,1,1);
}
this.executeScript();
this.parseWidgets();
turbo.aligner.alignFrom(this.domNode.parentNode);
turbo.doOnLoad();
};
this.getIdPrefix=function(){
return (!this.manageIds?"":(this.prefix?this.prefix:this.widgetId)+"_"+this._counter+".");
};
this.byId=function(inId){
return turbo.$(this.getIdPrefix()+inId);
};
this.$=this.byId;
this.uniquifyIds=function(_136){
this._counter++;
var idp=this.getIdPrefix();
return turbo.stringReplace(_136,/(<[^>]*id=")([^"]*)/ig,function(w,pre,id){
return pre+idp+id;
});
};
this.extractScript=function(_13b){
var _13c=[];
var xml=turbo.stringReplace(_13b,/<script[^>]*src="([^"]*)"[^>]*>[\s\S]*?<\/script>/ig,function(w,_13f){
_13c.push(_13f);
return "";
});
this.sources=_13c;
var _140=[];
var id=this.widgetId;
var xml=turbo.stringReplace(_13b,/<script[^>]*>([\s\S]*?)<\/script>/ig,function(w,_143){
_143=turbo.stringReplace(_143,/%%module%%/ig,id);
_140.push(_143);
return "";
});
this.scripts=_140;
return xml;
};
this.executeScript=function(){
for(var i=0;i<this.sources.length;i++){
turbo.loadScript(this.sources[i]);
}
for(var i=0;i<this.scripts.length;i++){
var _145="with (turbo.global) { "+this.scripts[i]+" }";
try{
eval(_145);
}
catch(e){
turbo.debug("TurboModule: exception evaluating module script");
turbo.debug("message = "+e.message,"fileName = "+e.fileName,"lineNumber = "+e.lineNumber);
dojo.debug("script = ["+_145+"]");
}
}
};
this.parseWidgets=function(){
var frag=new dojo.xml.Parse().parseElement(this.domNode);
dojo.widget.getParser().createComponents(frag);
};
};
dojo.inherits(dojo.widget.HtmlTurboModule,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbomodule");
dojo.provide("turbo.widgets.TurboNotebook");
dojo.provide("turbo.widgets.HtmlTurboNotebook");
dojo.require("turbo.widgets.TurboWidget");
dojo.require("dojo.io.*");
dojo.widget.HtmlTurboNotebook=function(){
this.widgetType="TurboNotebook";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.templateString="<div turboalign=\"client\"></div>";
this.themeable=false;
this.src="";
this.sync=true;
this.delayed=false;
this.classTag="turbo_notebook";
this.count=0;
this.pages=[];
this.modules=[];
this.selected=-1;
this.fillInTemplate=function(_147,_148){
var _149=this.getWidgetFragment(_148);
var i=0;
while(i<_149.childNodes.length){
var n=_149.childNodes[i];
if(n.tagName&&n.tagName.toLowerCase()=="div"){
this.addPage(n,true);
}else{
i++;
}
}
this.count=this.pages.length;
this._selectPage(0);
};
this.addPage=function(_14c,_14d){
var _14e=null;
if(_14d){
var _14f=document.createElement("div");
_14f.appendChild(_14c);
var frag=new dojo.xml.Parse().parseElement(_14f);
var _151=dojo.widget.getParser().createComponents(frag);
if(_151&&_151.length>1&&_151[1]&&_151[1].length>0&&_151[1][0].widgetType=="TurboModule"){
_14e=_151[1][0];
}
_14c=_14f.firstChild;
}
this.modules.push(_14e);
this.pages.push(_14c);
if(this.pages.length>1){
turbo.hide(_14c);
}else{
this.selected=0;
}
this.domNode.appendChild(_14c);
};
this.goodPage=function(_152){
return (_152>=0&&_152<this.pages.length);
};
this.requestModule=function(_153){
if(_153&&_153.delayed){
_153.request();
}
};
this.hidePage=function(_154){
if(this.goodPage(_154)){
turbo.hide(this.pages[_154]);
}
};
this.showPage=function(_155){
if(!this.goodPage(_155)){
return;
}
this.requestModule(this.modules[_155]);
turbo.show(this.pages[_155]);
};
this.showHidePage=function(_156,_157){
if(_157){
this.showPage(_156);
}else{
this.hidePage(_156);
}
};
this._selectPage=function(_158){
this.showPage(_158);
if(this.selected!=_158){
this.hidePage(this.selected);
}
this.selected=_158;
};
this.selectPage=function(_159){
var page=this.pages[_159];
if(!page["turboNotebookShown"]){
turbo.setVisibility(page,false);
}
this._selectPage(_159);
var _15b=function(){
turbo.aligner.align();
turbo.setVisibility(page,true);
page.turboNotebookShown=true;
};
turbo.defer(_15b,200);
};
};
dojo.inherits(dojo.widget.HtmlTurboNotebook,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbonotebook");
dojo.provide("turbo.widgets.TurboPagebar");
dojo.provide("turbo.widgets.HtmlTurboPagebar");
dojo.require("turbo.widgets.TurboWidget");
dojo.require("turbo.widgets.TurboButton");
dojo.require("turbo.widgets.TurboTabbar");
dojo.require("turbo.widgets.TurboNotebook");
dojo.widget.HtmlTurboPagebar=function(){
this.widgetType="TurboPagebar";
dojo.widget.HtmlTurboTabbar.call(this);
this.templateString="<div turboalign=\"client\"><div dojoAttachPoint=\"containerNode\" turboalign=\"top\" class=\"turbo-pagebar-tabs\"></div><div dojoAttachPoint=\"pages\" turboAlign=\"client\" class=\"turbo-pagebar-pages\"></div></div>";
this.pages=null;
this.classTag="turbo-pagebar";
this.contentId="";
this.inheritedFillInTemplate=this.fillInTemplate;
this.fillInTemplate=function(_15c,_15d){
this.inheritedFillInTemplate(_15c,_15d);
turbo.defer(turbo.bind(this,this.installPages),100);
};
this.installPages=function(){
if(this.contentId){
this.content=turbo.$(this.contentId);
}
if(!this.content){
this.content=this.domNode.nextSibling;
}
if(this.content){
this.content.parentNode.removeChild(this.content);
this.pages.appendChild(this.content);
}else{
this.debug("installPages","BAD content - contentId: ("+this.contentId+")");
}
};
};
dojo.inherits(dojo.widget.HtmlTurboPagebar,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbopagebar");
dojo.provide("turbo.widgets.TurboPageButtons");
dojo.provide("turbo.widgets.HtmlTurboPageButtons");
dojo.require("turbo.widgets.TurboWidget");
dojo.widget.HtmlTurboPageButtons=function(){
this.widgetType="TurboPageButtons";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.pagesNode=null;
this.classTag="turbo-page-buttons";
this.className="";
this.buttonClass=this.classTag+"-button";
this.buttonHighlightClass=this.buttonClass+" "+this.classTag+"-highlight";
this.buttonSelectedClass=this.buttonClass+" "+this.classTag+"-selected";
this.buttonDisabledClass=this.buttonClass+" "+this.classTag+"-disabled";
this.buttonSeparatorClass=this.classTag+"-separator";
this.numPages=1;
this.numButtons=3;
this.onPageChange=function(){
};
this.buttonWidth=30;
this.buttonHeight=20;
this.buttonMargin=6;
this._x=0;
this._i=0;
this.lastValue=1;
this.buttonList="prevN, prev, innerFirst, pages, innerLast, next, nextN";
this.buttonLabels={first:"|&lt;",prevN:"&lt;&lt;",prev:"&lt;",next:"&gt;",nextN:"&gt;&gt;",last:"&gt;|",sep:"..."};
this.page=1;
this.installChildren=function(_15e){
dojo.dom.moveChildren(this.getWidgetFragment(_15e),this.domNode);
var frag=new dojo.xml.Parse().parseElement(this.domNode);
dojo.widget.getParser().createComponents(frag);
};
this.fillInTemplate=function(_160,_161){
this.bindArgEvents(_160);
dojo.html.disableSelection(this.domNode);
dojo.event.connect(this.domNode,"onclick",this,"pageClick");
dojo.event.connect(this.domNode,"onmouseover",this,"pageOver");
dojo.event.connect(this.domNode,"onmouseout",this,"pageOut");
dojo.event.topic.subscribe("turboresize",this,"turboresize");
this.setButtonList(this.buttonList);
this.createPagesNode();
this.initBuild();
};
this.styleChanged=function(){
this.setStyledClass(this.domNode);
};
this.turboresize=function(){
if(turbo.showing(this.domNode)){
this.build();
}
};
this.build=function(){
this.createPages();
};
this.setNumPages=function(_162){
if(_162!=undefined){
this.numPages=Number(_162);
}
this.numPages=(this.numPages<1)?1:this.numPages;
this.build();
};
this.setButtonList=function(_163){
this.buttonList={};
var list=_163.replace(/ /g,"").split(",");
for(var i in list){
if(!Array.prototype[i]){
this.buttonList[list[i]]=true;
}
}
};
this.initBuild=function(_166,_167){
window.setTimeout(turbo.bindArgs(this,this._initBuild,_166,_167),10);
};
this._initBuild=function(_168,_169){
if(_168!=undefined){
this.numPages=Number(_168);
}
this.setPage(_169!=undefined?_169:1);
};
this.getNumPages=function(){
return this.numPages;
};
this.getPage=function(){
return this.page;
};
this.setPage=function(_16a){
_16a=Number(_16a);
if(!_16a||_16a<1||_16a>this.numPages){
return;
}
this.lastValue=this.page;
this.page=_16a;
this.build();
};
this.doResize=function(){
this.build();
};
this.pageClick=function(_16b){
var node=_16b.target;
if(node.disabled||!node.page){
return;
}
this.setPage(node.page);
this.onPageChange(this.page);
};
this.pageOver=function(_16d){
var node=_16d.target;
if(node==this.domNode||node.disabled||!node.page||node.page==this.page){
return;
}
node.className=this.buttonHighlightClass;
};
this.pageOut=function(_16f){
var node=_16f.target;
if(node==this.domNode||node.disabled||!node.page){
return;
}
node.className=this.getDefaultButtonClass(node);
};
this.getDefaultButtonClass=function(_171){
return (_171.disabled?this.buttonDisabledClass:(_171.page==this.page&&!isNaN(_171.innerHTML)?this.buttonSelectedClass:this.buttonClass));
};
this.getPageRange=function(_172){
var _172=(_172!=undefined?_172:this.numButtons);
if(this.numPages<=_172){
return {start:1,end:Math.max(1,this.numPages)};
}
var rp=Math.floor(Number(_172)/2);
var _174={};
_174.start=Math.max(1,Number(this.page)-rp);
if(this.numPages-_174.start<_172){
_174.start=this.numPages-(_172-1);
}
_174.end=_174.start+_172-1;
return _174;
};
this.inPageRange=function(_175,_176){
var _177=this.getPageRange(_176);
return (_175>=_177.start&&_175<=_177.end);
};
this.numFixedButtons=function(_178){
var w=0;
for(var i in _178){
if(i!="pages"&&i!="innerFirst"&&i!="innerLast"){
w++;
}
}
return w;
};
this.calcFixedButtonsWidth=function(_17b){
var w=0;
for(var i in _17b){
w+=(i!="pages"&&i!="innerFirst"&&i!="innerLast")?this.buttonWidth+this.buttonMargin:0;
}
return w;
};
this.calcNumButtons=function(_17e){
var s=turbo.getContentSize(this.domNode);
var w=this.calcFixedButtonsWidth(_17e);
var bs=this.buttonWidth+this.buttonMargin;
var _182=function(){
return Math.floor((s.w-w)/bs);
};
var _183=_17e["innerFirst"];
var _184=(_183==true)&&this.inPageRange(1,_182());
if(_183&&!_184){
w+=bs+bs;
}
if(_17e["innerLast"]&&!this.inPageRange(this.numPages,_182())){
w+=bs+bs;
}
if(_184&&!this.inPageRange(1,_182())){
w+=bs+bs;
}
return _182(_17e);
};
this.attachButton=function(_185){
this.pagesNode.appendChild(_185);
};
this.createPageButton=function(_186,_187,_188,_189){
var node=(this._i<this.oldNumButtons)?this.pagesNode.childNodes[this._i]:document.createElement("div");
node.page=_186;
node.disabled=(_188?true:false);
node.innerHTML=(_187?_187:_186);
node.className=this.getDefaultButtonClass(node);
var w=(_189!=undefined?_189:this.buttonWidth);
node.style.lineHeight=this.buttonHeight+"px";
turbo.setStyleBoundsPx(node,this._x,0,w,this.buttonHeight);
this._x+=w+this.buttonMargin;
this._i++;
if(this._i>=this.oldNumButtons){
this.attachButton(node);
}
};
this.createSep=function(){
var sep=(this._i<this.oldNumButtons)?this.pagesNode.childNodes[this._i]:document.createElement("div");
sep.page=undefined;
sep.disabled=undefined;
sep.className=this.buttonSeparatorClass;
sep.innerHTML=this.buttonLabels.sep;
turbo.setStyleBoundsPx(sep,this._x,0,this.buttonWidth,this.buttonHeight);
this._x+=this.buttonWidth+this.buttonMargin;
this._i++;
if(this._i>=this.oldNumButtons){
this.attachButton(sep);
}
};
this.create_first=function(){
this.createPageButton(1,this.buttonLabels.first,(this.page==1));
};
this.create_last=function(){
this.createPageButton(this.numPages,this.buttonLabels.last,(this.page==this.numPages));
};
this.create_pages=function(){
var _18d=this.getPageRange();
for(var i=_18d.start;i<=_18d.end;i++){
this.createPageButton(i);
}
};
this.create_prev=function(){
var _18f=Math.max(1,Number(this.page)-1);
this.createPageButton(_18f,this.buttonLabels.prev,(this.page==1));
};
this.create_next=function(){
var _190=Math.min(this.numPages,Number(this.page)+1);
this.createPageButton(_190,this.buttonLabels.next,(this.page==this.numPages));
};
this.create_prevN=function(){
var _191=Math.max(1,Number(this.page)-this.numButtons);
this.createPageButton(_191,this.buttonLabels.prevN,(this.page==1));
};
this.create_nextN=function(){
var _192=Math.min(this.numPages,Number(this.page)+this.numButtons);
this.createPageButton(_192,this.buttonLabels.nextN,(this.page==this.numPages));
};
this.create_innerFirst=function(){
if(!this.inPageRange(1)){
this.createPageButton(1,"1");
this.createSep();
}
};
this.create_innerLast=function(){
if(!this.inPageRange(this.numPages)){
this.createSep();
this.createPageButton(this.numPages,this.numPages);
}
};
this.getButtonList=function(){
var x=0;
for(var i in this.buttonList){
x++;
}
var t=this.calcNumButtons(this.buttonList)+this.numFixedButtons(this.buttonList);
var _196={prev:true,pages:true,next:true};
return (t<x)?_196:this.buttonList;
};
this.createPages=function(){
this._x=0;
this._i=0;
this.oldNumButtons=this.pagesNode.childNodes.length;
var _197=this.getButtonList();
this.numButtons=this.calcNumButtons(_197);
for(var i in _197){
this["create_"+i]();
}
turbo.setStyleSizePx(this.pagesNode,this._x,this.buttonHeight+this.buttonMargin);
this.removeExcessPages();
};
this.removeExcessPages=function(){
for(var i=this._i;i<this.oldNumButtons;i++){
this.pagesNode.removeChild(this.pagesNode.childNodes[this._i]);
}
};
this.createPagesNode=function(){
this.pagesNode=document.createElement("div");
this.pagesNode.style.position="relative";
this.pagesNode.style.top="0";
this.domNode.appendChild(this.pagesNode);
};
};
dojo.inherits(dojo.widget.HtmlTurboPageButtons,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:TurboPageButtons");
dojo.provide("turbo.widgets.TurboSlider");
dojo.provide("turbo.widgets.HtmlTurboSlider");
dojo.require("turbo.widgets.TurboWidget");
turbo.rangemap=function(){
this.minimum=0;
this.maximum=100;
this.getRange=function(){
return (this.maximum-this.minimum);
};
this.getExtentOverRange=function(){
return this.getExtent()/this.getRange();
};
this.setMinMax=function(_19a,_19b){
this.minimum=_19a;
this.maximum=_19b;
};
this.changePosition=function(inDx){
var p=this.getPosition();
var n=p+inDx;
return (this.setPosition(p+inDx)-p)-inDx;
};
this.setValue=function(_19f){
this.setPosition(Math.round((_19f-this.minimum)*this.getExtentOverRange()));
};
this.getValue=function(){
var eor=this.getExtentOverRange();
return (eor?Math.round(this.getPosition()/eor):0)+this.minimum;
};
};
dojo.widget.HtmlTurboRangebar=function(){
turbo.setWidgetType(this,"TurboRangeBar");
dojo.widget.HtmlTurboWidget.call(this);
turbo.rangemap.call(this);
this.templateString="<div dojoAttachPoint=\"LeftBar\" tabindex=\"1\"><div dojoAttachPoint=\"RightBar\"></div></div>";
this.templatePath=null;
this.LeftBar=null;
this.RightBar=null;
this.classTag="turbo_rangebar";
this.margin=1;
this.fillInTemplate=function(_1a1,_1a2){
if(this.extraArgs["value"]){
window.setTimeout(turbo.bindArgs(this,this.setValue,this.extraArgs["value"]),400);
}
};
this.styleChanged=function(){
this.setClassName(this.LeftBar,"Left");
this.setClassName(this.RightBar,"Right");
};
this.getWindow=function(){
return this.margin;
};
this.getExtent=function(){
return this.LeftBar.offsetWidth-this.getWindow();
};
this.getPosition=function(){
return this.RightBar.offsetLeft;
};
this.setPosition=function(_1a3){
var _1a4=this.getWindow();
var _1a5=this.getExtent();
var p=(_1a3>_1a5?_1a5:(_1a3<this.margin?this.margin:_1a3));
this.RightBar.style.marginLeft=(p&&p>0?p+"px":0);
var _1a7=this.LeftBar.offsetWidth;
return p;
};
};
dojo.inherits(dojo.widget.HtmlTurboRangebar,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turborangebar");
dojo.widget.HtmlTurboSlider=function(){
this.widgetType="TurboSlider";
dojo.widget.HtmlTurboRangebar.call(this);
this.templateString="<div dojoAttachPoint=\"LeftBar\" tabindex=\"1\"><div dojoAttachPoint=\"RightBar\"><div dojoAttachPoint=\"Thumb\"><div></div></div></div>";
this.snap=false;
this.Thumb=null;
this.classTag="turbo_slider";
this.mouseDown=false;
this.mouseX=0;
this.changing=function(_1a8){
};
this.change=function(_1a9){
};
this.inheritedFillInTemplate=this.fillInTemplate;
this.fillInTemplate=function(_1aa,_1ab){
this.inheritedFillInTemplate(_1aa,_1ab);
dojo.event.connect(this.Thumb,"onmousedown",this,"down");
dojo.event.connect(this.Thumb,"onmouseup",this,"up");
dojo.event.connect(this.Thumb,"onmousemove",this,"move");
dojo.event.connect(this.LeftBar,"onmousewheel",this,"wheel");
};
this.inheritedStyleChanged=this.styleChanged;
this.styleChanged=function(){
this.inheritedStyleChanged();
this.setClassName(this.Thumb,"Thumb");
};
this.getWindow=function(){
return this.Thumb.offsetWidth;
};
this.down=function(_1ac){
this.lastValue=this.getValue();
if(this.LeftBar.focus){
this.LeftBar.focus();
}
this.mouseDown=true;
this.mouseX=_1ac.screenX;
turbo.capture(this.Thumb);
};
this.up=function(_1ad){
if(this.mouseDown){
this.mouseDown=false;
turbo.release(this.Thumb);
if(this.snap){
this.setValue(this.getValue());
}
this.change(this);
}
};
this.move=function(_1ae){
if(this.mouseDown){
var dx=_1ae.screenX-this.mouseX;
this.mouseX=_1ae.screenX+this.changePosition(dx);
if(dojo.render.html.safari&&window.getSelection){
window.getSelection().collapse();
}
this.changing(this);
}
};
this.wheel=function(_1b0){
var v=this.getValue()+Math.round(_1b0.wheelDelta/120);
this.setValue(this.getValue()+Math.round(_1b0.wheelDelta/120));
this.changing(this);
};
};
dojo.inherits(dojo.widget.HtmlTurboSlider,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turboslider");
dojo.provide("turbo.widgets.TurboRollover");
dojo.provide("turbo.widgets.HtmlTurboRollover");
dojo.require("turbo.widgets.TurboWidget");
dojo.widget.HtmlTurboRollover=function(){
this.widgetType="TurboRollover";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.classTag="turbo-rollover";
this.mouseover=function(_1b2){
dojo.debug("over");
};
this.mouseout=function(_1b3){
dojo.debug("out");
};
this.click=function(_1b4){
dojo.debug("click");
};
this.themeable=false;
this.fillInTemplate=function(_1b5,_1b6){
this.bindArgEvents(_1b5);
dojo.event.connect(this.domNode,"onmouseover",this,"mouseover");
dojo.event.connect(this.domNode,"onmouseout",this,"mouseout");
dojo.event.connect(this.domNode,"onclick",this,"click");
};
};
dojo.inherits(dojo.widget.HtmlTurboRollover,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turborollover");
dojo.provide("turbo.widgets.TurboSplitter");
dojo.provide("turbo.widgets.HtmlTurboSplitter");
dojo.require("turbo.turbo");
dojo.require("turbo.lib.align");
dojo.require("turbo.widgets.TurboWidget");
dojo.widget.HtmlTurboSplitter=function(){
this.widgetType="TurboSplitter";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.classTag="turbo-splitter";
this.mouseDown=false;
this.mouseX=0;
this.changing=function(){
};
this.change=function(){
};
this.fillInTemplate=function(_1b7,_1b8){
switch(this.turboalign){
case "left":
case "right":
break;
case "top":
case "bottom":
this.vertical=true;
break;
default:
this.turboalign="left";
this.domNode.setAttribute("turboalign","left");
break;
}
dojo.event.connect(this.domNode,"onmousedown",this,"down");
dojo.event.connect(this.domNode,"onmouseup",this,"up");
dojo.event.connect(this.domNode,"onmousemove",this,"move");
dojo.event.connect(this.domNode,"onmouseover",this,"killCapturedEvent");
dojo.event.connect(this.domNode,"onmouseout",this,"killCapturedEvent");
};
this.styleChanged=function(){
this.domNode.style.cursor=(this.vertical?"n-resize":"e-resize");
this.setStyledClass(this.domNode,(this.vertical?"-v":"-h"));
};
this.getPosition=function(){
return {top:dojo.style.getNumericStyle(this.domNode,"top"),left:dojo.style.getNumericStyle(this.domNode,"left")};
};
this.getSizeNode=function(inDx){
switch(this.turboalign){
case "left":
case "top":
var node=this.domNode.previousSibling;
while(node&&node.nodeType!=1){
node=node.previousSibling;
}
break;
case "right":
case "bottom":
var node=this.domNode.nextSibling;
while(node&&node.nodeType!=1){
node=node.nextSibling;
}
break;
}
return node;
};
this.adjustSize=function(inDx,inDy){
turbo.setOuterSize(this.sizeNode,this.size.w+(this.turboalign=="right"?-inDx:inDx),this.size.h+(this.turboalign=="bottom"?-inDy:inDy));
turbo.aligner.align();
};
this.killCapturedEvent=function(_1bd){
if(this.mouseDown&&_1bd){
dojo.event.browser.stopEvent(_1bd);
}
};
this.down=function(_1be){
this.sizeNode=this.getSizeNode();
if(!this.sizeNode){
return;
}
this.size=turbo.getOuterSize(this.sizeNode);
this.initialPosition=this.getPosition();
this.position=this.getPosition();
this.mouseDown=true;
this.mouseX=_1be.screenX;
this.mouseY=_1be.screenY;
turbo.capture(this.domNode);
document.body.style.cursor=this.domNode.style.cursor;
};
this.up=function(_1bf){
if(this.mouseDown){
this.mouseDown=false;
turbo.release(this.domNode);
this.adjustSize(this.position.left-this.initialPosition.left,this.position.top-this.initialPosition.top);
this.change();
document.body.style.cursor="";
}
};
this.move=function(_1c0){
if(this.mouseDown){
this.killCapturedEvent(_1c0);
if(this.vertical){
this.moveY(_1c0.screenY-this.mouseY);
}else{
this.moveX(_1c0.screenX-this.mouseX);
}
this.mouseX=_1c0.screenX;
this.mouseY=_1c0.screenY;
this.changing();
}
};
this.moveX=function(inDx){
this.position.left+=inDx;
this.domNode.style.left=this.position.left+"px";
};
this.moveY=function(inDy){
this.position.top+=inDy;
this.domNode.style.top=this.position.top+"px";
};
this.resizeX=function(inDx){
this.adjustSize(inDx,0);
};
this.resizeY=function(inDy){
this.adjustSize(0,inDy);
};
};
dojo.inherits(dojo.widget.HtmlTurboSplitter,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbosplitter");
dojo.provide("turbo.widgets.TurboTree");
dojo.provide("turbo.widgets.HtmlTurboTree");
dojo.require("turbo.widgets.TurboWidget");
turbo.objectToArray=function(_1c5){
if(turbo.isArray(_1c5)){
return _1c5;
}
var _1c6=[];
for(var i in _1c5){
_1c6.push(new Array(i,turbo.objectToArray(_1c5[i])));
}
return _1c6;
};
dojo.widget.HtmlTurboTree=function(){
this.widgetType="TurboTree";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.templateString="<div dojoattachpoint=\"mainDiv\"><div dojoattachpoint=\"treeDiv\" class=\"turbo-tree-scroller\"></div></div>";
this.classTag="turbo-tree";
this.imageRoot=dojo.uri.dojoUri(this.themeRoot+"default/images/");
this.mainDiv=null;
this.treeDiv=null;
this.nodes=null;
this.selected=null;
this.onCanUnselect=function(_1c8){
};
this.onCanSelect=function(_1c9){
};
this.onNodeSelected=function(_1ca){
};
this.fillInTemplate=function(_1cb){
this.bindArgEvents(_1cb);
this.domNode.style.overflow="auto";
if(this.nodes){
this.buildNodes(this.nodes);
}
dojo.event.connect(this.mainDiv,"onclick",this,"divClick");
};
this.styleChanged=function(){
this.mainDiv.className=this.classTag+(this.style?" "+this.classTag+"_"+this.style:"");
};
this.buildLeaf=function(_1cc,_1cd,_1ce,_1cf){
var img=document.createElement("img");
var leaf=this.imageRoot+(_1cc?"tree_root.gif":(_1ce?"tree_last_leaf.gif":"tree_leaf.gif"));
if(_1cd){
img.src=this.imageRoot+(_1cf?"tree_closed":"tree_open")+".gif";
img.style.backgroundImage="url("+leaf+")";
}else{
img.src=leaf;
}
return img;
};
this.buildNode=function(_1d2,_1d3,_1d4,_1d5){
if(dojo.lang.isObject(_1d4)){
var _1d6=(_1d4.children)&&(_1d4.children.length>0);
var _1d7=(_1d4.content?_1d4.content:_1d4.name);
}else{
var _1d6=false;
var _1d7=_1d4;
}
var row=document.createElement("div");
row.setAttribute("turboTreeNode","true");
if(_1d4.data){
for(var i in _1d4.data){
row.setAttribute(i,_1d4.data[i]);
}
}
if(_1d3){
row.appendChild(_1d3.cloneNode(true));
}else{
row.appendChild(document.createTextNode(""));
}
row.appendChild(this.buildLeaf((_1d3==null),_1d6,_1d5,_1d4.closed));
var node=document.createElement("span");
node.innerHTML=_1d7;
node.className=this.classTag+"-content";
node.style.cursor="default";
row.appendChild(node);
if(_1d6){
var pre=(_1d3?_1d3:document.createElement("span"));
var img=document.createElement("img");
img.src=this.imageRoot+(_1d5?"tree_blank.gif":"tree_bar.gif");
pre.appendChild(img);
var _1dd=document.createElement("div");
this.buildChildren(_1dd,pre,_1d4.children);
row.appendChild(_1dd);
pre.removeChild(img);
if(_1d4.closed){
_1dd.style.display="none";
}
}
_1d2.appendChild(row);
};
this.buildChildren=function(_1de,_1df,_1e0){
var l=_1e0.length;
for(var i=0;i<l;i++){
this.buildNode(_1de,_1df,_1e0[i],(i==l-1));
}
};
this.buildNodes=function(_1e3){
this.treeDiv.innerHTML="";
if(dojo.lang.isArray(_1e3)){
this.buildChildren(this.treeDiv,null,_1e3);
}else{
this.buildNode(this.treeDiv,null,_1e3,true);
}
};
this.getToggleElement=function(_1e4){
return _1e4.childNodes[1];
};
this.getContentElement=function(_1e5){
return _1e5.childNodes[2];
};
this.getChildrenElement=function(_1e6){
return _1e6.childNodes[3];
};
this.setSelected=function(_1e7,_1e8){
if(_1e7){
with(this.getContentElement(_1e7)){
style.backgroundColor=(_1e8?"blue":"");
style.color=(_1e8?"white":"");
}
}
};
this.getContent=function(_1e9){
return this.getContentElement(_1e9).innerHTML;
};
this.selectNode=function(_1ea){
if(this.onCanUnselect(this.selected)===false||this.onCanSelect(_1ea)===false){
return;
}
this.setSelected(this.selected,false);
this.selected=_1ea;
this.setSelected(this.selected,true);
this.onNodeSelected(this.selected);
};
this.toggleNode=function(_1eb){
var n=this.getChildrenElement(_1eb);
if(n){
n.style.display=(n.style.display=="none"?"":"none");
this.getToggleElement(_1eb).src=this.imageRoot+(n.style.display=="none"?"tree_closed":"tree_open")+".gif";
}
};
this.isTreeNode=function(_1ed){
return _1ed&&_1ed.getAttribute&&_1ed.getAttribute("turboTreeNode");
};
this.divClick=function(_1ee){
var t=_1ee.target;
while(t&&!this.isTreeNode(t)){
t=t.parentNode;
}
if(t){
if(_1ee.target==this.getToggleElement(t)){
this.toggleNode(t);
}else{
this.selectNode(t);
}
}
};
this._firstTreeNode=function(_1f0){
if(_1f0&&!this.isTreeNode(_1f0)){
_1f0=_1f0.nextSibling;
}
return _1f0;
};
this.nextNode=function(_1f1){
return (_1f1?this._firstTreeNode(_1f1.nextSibling):null);
};
this.childNode=function(_1f2){
if(!_1f2||!this.isTreeNode(_1f2)){
return null;
}
var _1f3=this.getChildrenElement(_1f2);
if(!_1f3){
return null;
}
return this._firstTreeNode(_1f3.firstChild);
};
this.rootNode=function(){
return this._firstTreeNode(this.treeDiv.firstChild);
};
this.isLeaf=function(_1f4){
return (!this.getChildrenElement(_1f4));
};
};
dojo.inherits(dojo.widget.HtmlTurboTree,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbotree");
dojo.provide("turbo.widgets.TurboTree2");
dojo.provide("turbo.widgets.HtmlTurboTree2");
dojo.require("turbo.widgets.TurboWidget");
turbo.TreeNode=function(_1f5){
this.tree=_1f5;
this.id=this.tree.makeNodeId();
this.childCount=0;
this.domNode=null;
this.elements={gutter:0,connector:1,button:1,content:2,children:3};
this.hasChildren=false;
this.childrenInited=false;
this.parent=null;
this.getNodeElement=function(_1f6){
return (this.domNode?this.domNode.childNodes[_1f6]:null);
};
this.getImg=function(_1f7){
var i=document.createElement("img");
i.src=this.tree.imageRoot+_1f7;
return i;
};
this.getBar=function(){
return this.getImg("tree_bar.gif");
};
this.getBlank=function(){
return this.getImg("tree_blank.gif");
};
this.buildGutter=function(_1f9){
if(_1f9){
var g=_1f9.getNodeElement(this.elements.gutter).cloneNode(true);
g.appendChild((!g.hasChildNodes()||_1f9.isLastChildNode())?this.getBlank():this.getBar());
return g;
}else{
return document.createElement("span");
}
};
this.buildContent=function(){
var s=document.createElement("span");
s.innerHTML="Node";
s.className=this.tree.classTag+"-content";
s.style.cursor="default";
return s;
};
this.buildDomNode=function(_1fc){
node=document.createElement("div");
node.appendChild(this.buildGutter(_1fc));
node.appendChild(document.createElement("img"));
node.appendChild(this.buildContent());
node.appendChild(document.createElement("div"));
node.setAttribute("turboTreeNode","true");
node.id=this.id;
this.domNode=node;
return node;
};
this.setConnector=function(_1fd,_1fe){
var i=this.getNodeElement(this.elements.connector);
i.style.backgroundImage="url("+this.tree.imageRoot+(_1fd?"tree_root":(_1fe?"tree_last_leaf":"tree_leaf"))+".gif"+")";
};
this.isRootNode=function(){
return (this.domNode.parentNode==this.tree.treeDiv);
};
this.isLastChildNode=function(){
return (this.domNode.parentNode&&this.domNode.parentNode.lastChild==this.domNode);
};
this.selectConnector=function(){
this.setConnector(this.isRootNode(),this.isLastChildNode());
};
this.getButton=function(){
return this.getNodeElement(this.elements.button);
};
this.setButton=function(_200,_201){
this.getButton().src=this.tree.imageRoot+(!_200?"tree_blank":(_201?"tree_open":"tree_closed"))+".gif";
};
this.selectButton=function(){
this.setButton(this.hasChildren,this.getOpen());
};
this.getOpen=function(){
var n=this.getNodeElement(this.elements.children);
return (n?n.style.display=="":undefined);
};
this.setOpen=function(_203){
var n=this.getNodeElement(this.elements.children);
if(n){
n.style.display=(_203?"":"none");
}
if(this.getOpen()&&this.hasChildren&&!this.childrenInited){
this.tree.initChildren(this);
}
this.selectButton();
};
this.toggleNode=function(){
this.setOpen(!this.getOpen());
};
this.setContent=function(_205){
this.getNodeElement(this.elements.content).innerHTML=_205;
};
this.appendTo=function(_206){
this.parent=_206;
var p=(_206?_206.getNodeElement(this.elements.children):this.tree.treeDiv);
this.index=p.childNodes.length;
p.appendChild(this.domNode);
var n=this.tree.nodeFromDomNode(this.domNode.previousSibling);
if(n){
n.selectConnector();
}
this.selectConnector();
};
this.setSelected=function(_209){
if(_209===undefined){
_209=true;
}
var c=this.tree.classTag+"-content";
var _20b=this.getNodeElement(this.elements.content);
if(_20b){
_20b.className=c+(_209?" "+c+"-selected":"");
}
};
};
dojo.widget.HtmlTurboTree2=function(){
this.widgetType="TurboTree2";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.templateString="<div><div dojoattachpoint=\"treeDiv\" class=\"turbo-tree-scroller\"></div></div>";
this.styleRoot="TurboTree";
this.classTag="turbo-tree";
this.imageRoot=dojo.uri.dojoUri(this.themeRoot+"default/images/");
this.treeDiv=null;
this.nodeId=0;
this.nodes=[];
this.selected=null;
this.onInitNode=function(){
};
this.onInitChildren=function(){
};
this.onCanUnselect=function(_20c){
};
this.onCanSelect=function(_20d){
};
this.onSelect=function(_20e){
};
this.fillInTemplate=function(_20f,_210){
this.bindArgEvents(_20f);
this.setTheme("");
dojo.event.connect(this.domNode,"onclick",this,"domClick");
};
this.styleChanged=function(){
this.setStyledClass(this.domNode,"");
};
this.makeNodeId=function(){
return this.widgetId+":"+this.nodeId++;
};
this.nodeFromDomNode=function(_211){
return (_211&&_211.id?this.nodes[_211.id]:null);
};
this.clear=function(){
this.nodeId=0;
this.nodes=[];
this.treeDiv.innerHTML="";
};
this.setRootCount=function(_212){
this.clear();
for(var i=0;i<_212;i++){
this.newNode(null);
}
};
this.newTreeNode=function(_214){
var n=new turbo.TreeNode(this);
this.nodes[n.id]=n;
n.buildDomNode(_214);
return n;
};
this.newNode=function(_216){
var n=this.newTreeNode(_216);
n.appendTo(_216);
n.setOpen(false);
this.onInitNode(n);
n.selectButton();
return n;
};
this.initChildren=function(_218){
this.onInitChildren(_218);
var c=_218.childCount;
for(var i=0;i<c;i++){
this.newNode(_218);
}
_218.childrenInited=true;
_218.hasChildren=(c>0);
};
this.selectNode=function(_21b){
if(_21b&&this.onCanSelect(_21b)===false){
return;
}
if(this.selected){
if(this.onCanUnselect(this.selected)===false){
return;
}
this.selected.setSelected(false);
}
this.selected=_21b;
if(this.selected){
this.selected.setSelected(true);
}
this.onSelect(this.selected);
};
this.forEach=function(_21c){
for(var i in this.nodes){
if(_21c(this.nodes[i])===true){
return this.nodes[i];
}
}
return null;
};
this.isTreeNode=function(_21e){
return _21e&&_21e.getAttribute&&_21e.getAttribute("turboTreeNode");
};
this.nodeClick=function(_21f,_220){
if(_21f){
if(_21f.getButton()==_220.target){
_21f.toggleNode();
}else{
this.selectNode(_21f);
}
}
};
this.domClick=function(_221){
var n=_221.target;
while(n&&!this.isTreeNode(n)){
n=n.parentNode;
}
this.nodeClick((n?this.nodeFromDomNode(n):null),_221);
};
};
dojo.inherits(dojo.widget.HtmlTurboTree2,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbotree2");
dojo.provide("turbo.widgets.TurboRepeater");
dojo.provide("turbo.widgets.HtmlTurboRepeater");
dojo.require("turbo.widgets.TurboWidget");
dojo.widget.HtmlTurboRepeater=function(){
this.widgetType="TurboRepeater";
dojo.widget.HtmlTurboWidget.call(this);
this.isContainer=false;
this.templatePath=null;
this.containerNode=null;
this.classTag="turbo_repeater";
this.data={};
this.openMacro="{%";
this.closeMacro="}";
this.count=100;
this.clear=function(){
dojo.event.browser.clean(this.domNode);
this.domNode.innerHTML="";
};
this.fillInTemplate=function(_223,_224){
this.domNode.style.display="";
this.nodes=this.domNode.cloneNode(true);
this.clear();
};
this.getDatum=function(inId){
try{
return this.data[inId];
}
catch(e){
return "huh?";
}
};
this.interpolate=function(_226){
for(var i in this.data){
_226=_226.replace(RegExp(this.openMacro+i+this.closeMacro,"gi"),this.data[i]);
}
return _226;
};
this.iterate=function(_228,_229){
return false;
};
this.afterBuild=function(){
return false;
};
this.build=function(){
this.clear();
for(var i=0;i<this.count;i++){
this.index=i;
if(this.iterate(this,this.index)===false){
break;
}
var iter=this.nodes.cloneNode(true);
iter.innerHTML=this.interpolate(iter.innerHTML);
var frag=new dojo.xml.Parse().parseElement(iter);
dojo.widget.getParser().createComponents(frag);
this.domNode.appendChild(iter);
}
if(this.afterBuild){
this.afterBuild();
}
};
this.xbuild=function(){
this.clear();
var self=this;
var _22e=function(){
if(self.index>=self.count||self.iterate(self,self.index)===false){
return;
}
var iter=self.nodes.cloneNode(true);
iter.innerHTML=self.interpolate(iter.innerHTML);
self.domNode.appendChild(iter);
self.index++;
window.setTimeout(_22e,0);
};
this.index=0;
_22e();
};
};
dojo.inherits(dojo.widget.HtmlTurboRepeater,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turborepeater");
dojo.provide("turbo.widgets.TurboModal");
dojo.provide("turbo.widgets.HtmlTurboModal");
dojo.require("turbo.widgets.TurboWidget");
turbo.modals=[];
dojo.widget.HtmlTurboModal=function(){
this.widgetType="TurboModal";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.templateString="";
this.classTag="turbo-modal";
this.modalWidth=200;
this.modalHeight=100;
this.bgName="";
this.modalParent="";
this.modalParentNode=null;
this.autoHeight=false;
this.bgOpacity=0.8;
this._showing=false;
this.onShow=function(){
};
this.onHide=function(){
};
this.onBeforeShow=function(){
};
this.onBeforeHide=function(){
};
this.className="";
this.installChildren=function(_230){
dojo.dom.moveChildren(this.getWidgetFragment(_230),this.modalNode);
var frag=new dojo.xml.Parse().parseElement(this.modalNode);
dojo.widget.getParser().createComponents(frag);
};
this.fillInTemplate=function(_232,_233){
this.bindArgEvents(_232);
dojo.event.topic.subscribe("turboresize",this,"doResize");
this.initNodes();
this.installChildren(_233);
};
this.styleChanged=function(){
this.setStyledClass(this.modalNode,"");
this.modalNode.className=this.modalNode.className+" "+this.domNode.className;
this.setBgStyleChanged();
};
this.setBgStyleChanged=function(){
if(this.bgNode){
this.setStyledClass(this.bgNode,"-bg");
}
};
this.initNodes=function(){
if(!this.bgName){
this.bgName=this.widgetId+"_bg";
}
this.modalNode=document.createElement("div");
this.modalNode.setAttribute("isModal",true);
this._hide();
this.attachModalNode();
this.styleChanged();
};
this.getBgNode=function(){
var _234=this.getActiveModal();
if(_234&&_234.modalParent==this.modalParent){
return _234.bgNode;
}
var node=document.createElement("iframe");
var n=this.bgName;
node.setAttribute("id",n);
node.setAttribute("name",n);
node.setAttribute("frameBorder",0);
node.setAttribute("scrolling","no");
node.setAttribute("isModalBg",true);
this.attachBgNode(node);
return node;
};
this.setParentNode=function(){
if(this.modalParent){
try{
this.modalParentNode=dojo.widget.byId(this.modalParent).modalNode;
}
catch(e){
this.modalParentNode=document.getElementById(this.modalParent);
}
}
if(!this.modalParentNode){
this.modalParentNode=document.body;
}
};
this.attachModalNode=function(){
this.setParentNode();
if(this.modalParentNode.firstChild){
this.modalParentNode.insertBefore(this.modalNode,this.modalParentNode.firstChild);
}else{
this.modalParentNode.appendChild(this.modalNode);
}
};
this.attachBgNode=function(_237){
this.modalParentNode.insertBefore(_237,this.modalNode);
};
this.setBgZ=function(_238){
_238=(_238?_238:this.modalNode);
this.bgNode.style.zIndex=parseInt(dojo.html.getStyle(_238,"z-index"))-1;
};
this.setZIndexes=function(){
var _239=this.getActiveModal();
if(_239&&_239.parentModal==this.parentModal){
this.modalNode.style.zIndex=parseInt(dojo.html.getStyle(_239.modalNode,"z-index"))+2;
}
this.setBgZ();
};
this.finishShow=function(){
this.setZIndexes();
this.setActiveModal();
};
this.setActiveModal=function(){
if(this.getActiveModal()!=this){
turbo.modals.push(this);
}
};
this.getActiveModal=function(){
if(!turbo.modals.length){
return false;
}
for(var i=turbo.modals.length-1;i>=0;i--){
if(turbo.modals[i].modalParentNode==this.modalParentNode){
return turbo.modals[i];
}
}
return false;
};
this.removeActiveModal=function(){
for(var i=0;i<turbo.modals.length;i++){
if(turbo.modals[i]==this){
turbo.modals.splice(i,1);
return;
}
}
};
this.show=function(){
if(this.onBeforeShow){
this.onBeforeShow();
}
this._show(turbo.bind(this,"onShow"));
};
this._show=function(_23c){
this._showing=true;
this.bgNode=this.getBgNode();
dojo.style.setOpacity(this.bgNode,this.bgOpacity);
this.setBgStyleChanged();
turbo.show(this.bgNode);
turbo.show(this.modalNode);
turbo.defer(turbo.bind(this,this.finishShow),100);
this.doResize(_23c);
};
this.hide=function(){
if(this.onBeforeHide){
this.onBeforeHide();
}
this._hide();
if(this.onHide){
turbo.defer(turbo.bind(this,this.onHide),10);
}
};
this._hide=function(){
this.hideBg();
turbo.hide(this.modalNode);
this._showing=false;
};
this.hideBg=function(){
this.removeActiveModal();
var _23d=this.getActiveModal();
if(_23d){
_23d.acceptBg();
}else{
turbo.hide(this.bgNode);
}
};
this.acceptBg=function(){
dojo.style.setOpacity(this.bgNode,this.bgOpacity);
this.setBgStyleChanged();
this.setBgZ();
};
this.showHide=function(){
if(this._showing){
this.hide();
}else{
this.show();
}
};
this.resizeBg=function(){
var siz=turbo.getInnerSize(this.modalParentNode?this.modalParentNode:null);
var _23f=(this.modalParentNode&&this.modalParentNode==document.body?2000:0);
turbo.setBounds(this.bgNode,0,0,siz.w+_23f,siz.h+_23f);
};
this.hasContent=function(){
return (this.modalNode.innerHTML);
};
this.getAutoHeight=function(){
turbo.setOuterSize(this.modalNode,this.modalWidth,this.modalHeight);
var _240=0;
for(var i=0;i<this.modalNode.childNodes.length;i++){
try{
var n=this.modalNode.childNodes[i];
if(n.style.display==""&&n.style.visibility!="hidden"&&!(n.getAttribute("isModal")||n.getAttribute("isModalBg"))){
_240+=turbo.getOuterSize(n).h;
}
}
catch(e){
}
}
var _243=dojo.style.getPixelValue(this.modalNode,"padding-top",true)+dojo.style.getPixelValue(this.modalNode,"padding-bottom",true);
var _244=dojo.style.getBorderHeight(this.modalNode);
return _240+_243+_244;
};
this.resizeModal=function(){
var siz=turbo.getInnerSize(this.modalParentNode?this.modalParentNode:null);
var _246=this.hasContent();
var _247=10000;
var w=(_246)?this.modalWidth:0;
var h=(_246)?this.modalHeight:0;
if(this.autoHeight){
h=this.getAutoHeight(w);
}
var l=(_246)?Math.round((siz.w-w)/2):siz.w+_247;
var t=(_246)?Math.round((siz.h-h)/2):siz.h+_247;
turbo.setBounds(this.modalNode,l,t,w,h);
};
this.doResize=function(_24c){
if(!this._showing){
return;
}
this.resizeBg();
this.resizeModal();
this.alignModal(_24c);
};
this.alignModal=function(_24d){
turbo.defer(turbo.bindArgs(this,"_alignModal",_24d),10);
};
this._alignModal=function(_24e){
turbo.aligner.alignFrom(this.modalNode);
if(_24e){
turbo.defer(_24e,10);
}
};
};
dojo.inherits(dojo.widget.HtmlTurboModal,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:TurboModal");
dojo.provide("turbo.widgets.TurboTags");
dojo.provide("turbo.widgets.HtmlTurboTags");
dojo.require("turbo.widgets.TurboWidget");
dojo.widget.HtmlTurboTags=function(){
this.widgetType="TurboTags";
dojo.widget.HtmlTurboWidget.call(this);
this.templateString="<div dojoAttachPoint=\"containerNode\"></div>";
this.containerNode=null;
this.tagNode=null;
this.classTag="turbo_tags";
this.maxFontSize=20;
this.minFontSize=10;
this.maxTags=-1;
this.className="";
this.highlightClass="tagHighlight";
this.tags=[];
this.mostItems=0;
this.leastItems=0;
this.fillInTemplate=function(_24f,_250){
this.setStyle(this.style);
dojo.dom.moveChildren(this.getWidgetFragment(_250),this.containerNode);
var frag=new dojo.xml.Parse().parseElement(this.containerNode);
dojo.widget.getParser().createComponents(frag);
this.tagNode=document.createElement("div");
this.containerNode.appendChild(this.tagNode);
this.build();
};
this.build=function(_252){
this.setTags(_252);
this.tagNode.innerHTML="";
this.shuffleTags();
this.buildTagsNode(this.tags,this.tagNode);
};
this.buildTagsNode=function(_253,_254,_255){
for(var i=0;i<_253.length;i++){
_254.appendChild(this.buildTag(_253[i],_255));
if(i<_253.length-1){
var sep=_255==undefined?document.createTextNode("  "):document.createTextNode(", ");
_254.appendChild(sep);
}
}
};
this.buildTag=function(_258,_259){
var node=document.createElement("span");
var self=this;
node.onmouseover=function(){
this.className=self.highlightClass;
};
node.onmouseout=function(){
this.className="";
};
node.onclick=function(){
_258.action(_258.name);
};
if(_259==undefined){
if(_258.amount==undefined){
_258.amount=0;
}
var _25c=Number(_258.amount);
var _25d=Math.max(0,(_25c-this.leastItems)/(this.mostItems-this.leastItems));
var _25e=Math.max(this.minFontSize,Math.round(_25d*this.maxFontSize));
node.style.fontSize=_25e+"px";
}
node.style.padding="0px 2px 0px 2px";
node.style.cursor="pointer";
node.innerHTML=_258.name;
return node;
};
this.setTags=function(_25f){
if(_25f!=undefined){
this.tags=_25f;
}
this.tags.length=this.maxTags>0?Math.min(this.maxTags,this.tags.length):this.tags.length;
this.setMostItems();
this.setLeastItems();
};
this.setMostItems=function(){
this.mostItems=0;
for(var i in this.tags){
if(Number(this.tags[i].amount)>Number(this.mostItems)){
this.mostItems=this.tags[i].amount;
}
}
};
this.setLeastItems=function(){
this.leastItems=null;
for(var i in this.tags){
if(this.tags[i].amount<this.leastItems||this.leastItems==null){
this.leastItems=this.tags[i].amount;
}
}
};
this.shuffleTags=function(){
for(var i in this.tags){
var a=Math.round(Math.random()*(this.tags.length-1));
var b=Math.round(Math.random()*(this.tags.length-1));
var _265=this.tags[a];
this.tags[a]=this.tags[b];
this.tags[b]=_265;
}
};
};
dojo.inherits(dojo.widget.HtmlTurboTags,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbotags");
dojo.provide("turbo.widgets.TurboGrid");
dojo.provide("turbo.widgets.HtmlTurboGrid");
dojo.require("turbo.widgets.TurboWidget");
dojo.widget.HtmlTurboGrid=function(){
this.widgetType="TurboGrid";
dojo.widget.HtmlTurboWidget.call(this);
this.autobuild=true;
this.autosize=true;
this.autosizing=false;
this.controller={};
this.classTag="turbo-grid";
this.cols=0;
this.colWidth=96;
this.colWidths=[];
this.fixedColWidth=40;
this.multiSelect=true;
this.rows=0;
this.scrollLeft=0;
this.selectedRow=-1;
this.selectCount=0;
this.sortInfo={column:-1,desc:false};
this.selected=[];
this.rowMarkerClass=[];
this.readyImage="";
this.busyImage="";
this.templatePath=null;
this.templateString="<table dojoAttachPoint=\"GrdTbl\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div dojoAttachPoint=\"Corner\" class=\"turbo-grid-corner\">&#160;</div><div dojoAttachPoint=\"ColDiv\" class=\"turbo-grid-col\"></div></td><td><div dojoAttachPoint=\"HdrDiv\" class=\"turbo-grid-hdr\"></div><div dojoAttachPoint=\"DtaDiv\" class=\"turbo-grid-dta\"></div></td></tr><tr><td dojoAttachPoint=\"Status\" colspan=\"2\" class=\"turbo-grid-status\">Empty</td></tr></table>";
this.Corner=null;
this.ColDiv=null;
this.HdrDiv=null;
this.DtaDiv=null;
this.Status=null;
this.GrdTbl=null;
this.DtaTbl=null;
this.HdrTbl=null;
this.ColTbl=null;
var _266=false;
var _267=null;
this.getCell=function(_268,_269){
return (this.controller.getCell?this.controller.getCell(this,_268,_269):_268+", "+_269);
};
this.getHeaderAlign=function(_26a){
return (this.controller.getHeaderAlign?this.controller.getHeaderAlign(this,_26a):"left");
};
this.getColumnTitle=function(_26b){
return (this.controller.getColumnTitle?this.controller.getColumnTitle(this,_26b):undefined);
};
this.getColumnWidth=function(_26c){
var w=(this.controller.getColumnWidth?this.controller.getColumnWidth(this,_26c):-1);
return (w>=0?w:this.colWidth);
};
this.getSortInfo=function(){
this.sortInfo=(this.controller.getSortInfo?this.controller.getSortInfo(this):this.sortInfo);
return this.sortInfo;
};
this.onInit=function(){
};
this.onSelectionChange=function(){
};
this.onSelectRow=function(_26e){
if(this.controller.onSelectRow){
this.controller.onSelectRow(this,_26e);
}
};
this.onUnselectRow=function(_26f){
if(this.controller.onUnselectRow){
this.controller.onUnselectRow(this,_26f);
}
};
this.onUpdateRow=function(_270){
if(this.controller.onUpdateRow){
this.controller.onUpdateRow(this,_270);
}
};
this.onEditDone=function(_271){
if(this.controller.onEditDone){
this.controller.onEditDone(this);
}
};
this.onEditRowStart=function(_272){
if(this.controller.onEditRowStart){
this.controller.onEditRowStart(this,_272);
}
};
this.onEditRowDone=function(){
if(this.controller.onEditRowDone){
this.controller.onEditRowDone(this);
}
};
this.onKeyDown=function(_273){
if(this.controller.onKeyDown){
this.controller.onKeyDown(this,_273);
}
};
this.onDataClick=function(_274,_275){
if(this.controller.onDataClick){
this.controller.onDataClick(this,_274,_275);
}
};
this.onDataDblClick=function(_276,_277){
if(this.controller.onDataDblClick){
this.controller.onDataDblClick(this,_276,_277);
}
};
this.onHeaderClick=null;
this.fillInTemplate=function(_278){
this.bindArgEvents(_278);
this.bindArgEvent("onHeaderClick",_278);
this.setTheme(this.theme);
this.DtaDiv.onscroll=turbo.bind(this,this.doScroll);
this.onInit();
if(this.rows&&this.cols&&this.autobuild){
this.build();
}else{
this.deferResize();
}
dojo.event.connect(this.DtaDiv,"onkeydown",this,"dataKeyDown");
dojo.event.topic.subscribe("turboresize",this,"turboResize");
};
this.uninitialize=function(){
dojo.event.topic.unsubscribe("turboresize",this,"turboResize");
};
this.turboResize=function(){
if(turbo.showing(this.domNode.parentNode)){
this.resize();
}
};
this.enableAutoResize=function(){
if(!this.autosizing){
dojo.event.connect(window,"onresize",this,"doResize");
}
this.autosizing=true;
};
this.setElementClass=function(_279,_27a){
_27a=(_27a?this.classTag+"-"+_27a:"");
if(_279.className!=_27a){
_279.className=_27a;
}
};
this.setStyledClass=function(_27b,_27c){
if(!_27c){
_27c="";
}
_27b.className=this.classTag+_27c+(this.style?" "+this.classTag+"-"+this.style+_27c:"");
};
this.styleChanged=function(){
this.setStyledClass(this.GrdTbl);
};
this.setStatus=function(_27d,_27e){
var h=(_27e?"<img src=\"images/"+_27e+"\" align=\"absmiddle\"/>":"");
this.Status.innerHTML=h+_27d;
};
this.setReadyStatus=function(){
document.body.style.cursor="default";
this.setStatus("Ready.",this.readyImage);
};
this.setBusyStatus=function(){
this.setStatus("Busy.",this.busyImage);
document.body.style.cursor="wait";
};
this.setSize=function(_280,_281){
this.cols=_280;
this.rows=_281;
};
this.deferResize=function(inMs){
turbo.defer(turbo.bind(this,this.resize),(inMs?inMs:200));
};
this.clearGrid=function(){
this.scrollLeft=0;
this.selected=[];
this.selectCount=0;
this.selectedRow=-1;
this.rowMarkerClass=[];
this.sortInfo={};
this.onSelectionChange();
};
this.teardownRows=function(){
this.clearGrid();
dojo.event.browser.clean(this.DtaDiv);
this.DtaDiv.innerHTML="";
dojo.event.browser.clean(this.ColDiv);
this.ColDiv.innerHTML="";
this.DtaTbl=null;
this.ColTbl=null;
};
this.teardown=function(){
this.teardownRows();
dojo.event.browser.clean(this.HdrDiv);
this.HdrDiv.innerHTML="";
this.HdrTbl=null;
};
this.build=function(){
this.cacheColWidths();
this.buildTable();
this.buildFixedColumn();
this.buildHeader();
this.setScrollLeft();
this.setReadyStatus();
this.deferResize();
};
this.refresh=function(){
if(!dojo.render.html.ie){
this.build();
return;
}
this.cacheColWidths();
this.refreshHeader();
this.refreshData();
this.updateRowSizes();
};
this.getCellPos=function(_283){
return {col:turbo.getCellIndex(_283),row:turbo.getRowIndex(_283.parentNode)};
};
this.sameCell=function(inA,inB){
return inA&&inB&&(inA.col==inB.col)&&(inA.row==inB.row);
};
this.goodCell=function(_286){
return (_286.col>=0&&_286.col<this.cols&&_286.row>=0&&_286.row<this.rows);
};
this.getDomCell=function(_287){
return turbo.getTableRow(this.DtaTbl,_287.row).cells[_287.col];
};
this.refreshCell=function(_288){
var _289=this.getDomCell(_288);
dojo.event.browser.clean(_289);
_289.innerHTML=this.getCell(_288.col,_288.row);
};
this.setSortInfo=function(_28a,_28b){
if(this.sortInfo.column==_28a&&_28b===undefined){
_28b=!this.sortInfo.desc;
}
this.sortInfo={column:_28a,desc:_28b};
};
this.setSortColumn=this.setSortInfo;
this.cacheColWidths=function(){
for(var i=0;i<this.cols;i++){
this.colWidths[i]=this.getColumnWidth(i);
}
};
this.calcColsWidth=function(){
var sum=0;
for(var i=0;i<this.cols;i++){
sum+=this.colWidths[i];
}
return sum;
};
this.calcTableWidth=function(){
return this.calcColsWidth()+this.cols*(1+2+6)+1;
};
this.getRowClass=function(_28f){
var _290=(this.controller.getRowClass?this.controller.getRowClass(_28f):"");
if(_290){
return _290;
}
if(this.selected[_28f]){
_290=this.classTag+"-selected";
}
return this.classTag+"-row-"+(_28f&1)+(_290?" "+_290:"");
};
this.getRowHeight=function(_291){
var row=turbo.getTableRow(this.DtaTbl,_291);
return (row?row.offsetHeight-(dojo.render.html.ie?5:0):0);
};
this.getTable=function(){
return "<table width=\""+this.calcTableWidth()+"\" cellspacing=\"0\">";
};
this.createTable=function(){
var _293=document.createElement("table");
_293.cellPadding=0;
_293.cellSpacing=0;
_293.width=this.calcTableWidth();
return _293;
};
this.getHeaderCell=function(_294){
var h=this.getColumnTitle(_294);
if(h===undefined){
var a=Math.floor(_294/26);
var b=_294%26;
var _298=function(c){
return String.fromCharCode("A".charCodeAt(0)+c);
};
h=(a>0?_298(a-1):"")+_298(b);
}
return h;
};
this.getHeaderSortClass=function(_29a){
return " class=\""+this.classTag+"-sort-"+(this.sortInfo.column!=_29a?"none":(this.sortInfo.desc?"down":"up"))+"\"";
};
this.getHeaderCellHtml=function(inW,_29c){
return "<div style=\"width:"+inW+"px;\""+this.getHeaderSortClass(_29c)+">"+"<div style=\"text-align:"+this.getHeaderAlign(_29c)+";\">"+this.getHeaderCell(_29c)+"</div></div>";
};
this.buildHeader=function(){
this.getSortInfo();
var c="",w;
var sep="<td class=\"turbo-separator\"></td>";
for(var i=0;i<this.cols;i++){
w=this.colWidths[i];
c+="<th width=\""+w+"\">"+this.getHeaderCellHtml(w,i)+"</th>";
c+=sep;
}
c+="<th></th>";
var h="<tr>"+c+"</tr>";
c="";
var bv="<th class=\""+this.classTag+"-bevel\" width=\"";
for(var i=0;i<this.cols;i++){
c+=bv+this.colWidths[i]+"\"></th>"+"<td class=\"turbo-separator\"></td>";
}
c+="<th></th>";
h+="<tr>"+c+"</tr>";
h=this.getTable()+h+"</table>";
this.HdrDiv.innerHTML=h;
this.HdrTbl=this.HdrDiv.firstChild;
this.HdrHeight=this.HdrDiv.clientHeight;
dojo.event.connect(this.HdrTbl,"onmousedown",this,"headerDown");
dojo.event.connect(this.HdrTbl,"onmousemove",this,"headerMove");
dojo.event.connect(this.HdrTbl,"onmouseup",this,"headerUp");
dojo.event.connect(this.HdrTbl,"onmouseover",this,"headerOver");
dojo.event.connect(this.HdrTbl,"onmouseout",this,"headerOut");
dojo.event.connect(this.HdrTbl,"onclick",this,"headerClick");
};
this.refreshHeader=function(){
this.getSortInfo();
var row=turbo.getTableRow(this.HdrTbl,0);
for(var i=0;i<this.cols;i++){
var cell=row.cells[i*2];
var w=this.getColumnWidth(i);
cell.width=w;
cell.innerHTML=this.getHeaderCellHtml(w,i);
}
};
this.getBevel=function(_2a6){
var _2a7=_2a6.parentNode.parentNode;
if(!_2a7.rows){
_2a7=_2a7.parentNode;
}
var row=turbo.getTableRow(_2a7,1);
return row.cells[turbo.getCellIndex(_2a6)];
};
this.findEventCell=function(_2a9,_2aa){
while(_2a9.tagName.toLowerCase()!="td"&&_2a9.parentNode&&_2a9.parentNode!=this.GrdTbl){
_2a9=_2a9.parentNode;
}
return (_2a9&&dojo.dom.isDescendantOf(_2a9,_2aa)?_2a9:null);
};
this.findEventHeaderCell=function(_2ab,_2ac){
while(_2ab.tagName.toLowerCase()!="th"&&_2ab.parentNode&&_2ab.parentNode!=this.GrdTbl){
_2ab=_2ab.parentNode;
}
return (_2ab&&dojo.dom.isDescendantOf(_2ab,_2ac)?_2ab:null);
};
this.getHeaderCellIndex=function(_2ad){
return turbo.getCellIndex(_2ad)>>1;
};
this.isValidHeaderCell=function(_2ae){
return (this.getHeaderCellIndex(_2ae)<this.cols);
};
this.headerDown=function(_2af){
var _2b0=this.findEventCell(_2af.target,this.HdrTbl);
if(_2b0&&this.isValidHeaderCell(_2b0)){
_266=true;
_267=_2b0;
turbo.capture(_267);
_2af.preventDefault();
_2af.stopPropagation();
}
};
this.headerMove=function(_2b1){
if(_266){
window.status=_2b1.clientX+", "+_2b1.clientY;
_2b1.preventDefault();
_2b1.stopPropagation();
}
};
this.headerUp=function(_2b2){
if(_266){
_266=false;
turbo.release(_267);
}
};
this.headerOver=function(_2b3){
var _2b4=this.findEventHeaderCell(_2b3.target,this.HdrTbl);
if(_2b4&&this.isValidHeaderCell(_2b4)){
this.setElementClass(_2b4,"over");
this.setElementClass(this.getBevel(_2b4),"bevel-over");
}
};
this.headerOut=function(_2b5){
var _2b6=this.findEventHeaderCell(_2b5.target,this.HdrTbl);
if(_2b6&&this.isValidHeaderCell(_2b6)){
this.setElementClass(_2b6,"");
this.setElementClass(this.getBevel(_2b6),"bevel");
}
};
this.delayedHeaderClick=function(_2b7){
var idx=turbo.getCellIndex(_2b7)>>1;
if(this.onHeaderClick){
this.onHeaderClick(idx);
}else{
if(this.controller.onHeaderClick){
this.controller.onHeaderClick(this,idx);
}
}
};
this.headerClick=function(_2b9){
if(!this.onHeaderClick&&!this.controller.onHeaderClick){
return;
}
var _2ba=this.findEventHeaderCell(_2b9.target,this.HdrTbl);
if(_2ba&&this.isValidHeaderCell(_2ba)){
this.setElementClass(_2ba,"down");
this.setElementClass(this.getBevel(_2ba),"bevel-over");
this.getScrollLeft();
turbo.defer(turbo.bindArgs(this,this.delayedHeaderClick,_2ba),1);
}
};
this.getFixedColClass=function(_2bb){
return (this.selected[_2bb]?this.classTag+"-fixed-select":"");
};
this.formatFixedCol=function(_2bc){
return (this.controller.formatFixedCol?this.controller.formatFixedCol(this,_2bc):Number(_2bc)+1);
};
this.buildFixedColumn=function(){
this.Corner.style.width=this.fixedColWidth+"px";
this.ColDiv.style.width=this.fixedColWidth+"px";
var tbl=new Array(this.rows+2);
tbl[0]="<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">";
for(var c,j=0,k=1;j<this.rows;j++,k++){
c=this.getFixedColClass(j);
c=(c?" class=\""+c+"\"":"");
tbl[k]="<tr height=\""+this.getRowHeight(j)+"\"><td"+c+">"+this.formatFixedCol(j)+"</td></tr>";
}
tbl[k]="<tr><td height=\"64\" style=\"border: none; background-image: none;\"></td></tr></table>";
this.ColDiv.innerHTML=tbl.join("");
this.ColTbl=this.ColDiv.firstChild;
dojo.event.connect(this.ColTbl,"onclick",this,"fixedTableClick");
};
this.updateFixedColumnRow=function(_2bf){
var row=turbo.getTableRow(this.ColTbl,_2bf);
var cell=row.cells[0];
cell.className=this.getFixedColClass(_2bf);
cell.innerHTML=this.formatFixedCol(_2bf);
};
this.fixedTableClick=function(_2c2){
};
this.buildCells=function(){
var _2c3=new Array(this.cols);
for(var i=0;i<this.cols;i++){
var w=this.getColumnWidth(i);
_2c3[i]="<td width=\""+w+"\"><div style=\"width:"+w+"px;\">";
}
return _2c3;
};
this.buildTable=function(){
var _2c6=this.buildCells();
var tbl=new Array(this.rows);
for(var j=0;j<this.rows;j++){
var row=new Array(this.cols);
for(var i=0;i<this.cols;i++){
row[i]=_2c6[i]+this.getCell(i,j)+"</div></td>";
}
tbl[j]="<tr class=\""+this.getRowClass(j)+"\">"+row.join("")+"<td>&#160;</td></tr>";
}
var h=tbl.join("");
this.DtaDiv.innerHTML=this.getTable()+h+"</table>";
this.DtaTbl=this.DtaDiv.firstChild;
dojo.event.connect(this.DtaTbl,"onmouseover",this,"tableOver");
dojo.event.connect(this.DtaTbl,"onmouseout",this,"tableOut");
dojo.event.connect(this.DtaTbl,"onclick",this,"tableClick");
dojo.event.connect(this.DtaTbl,"ondblclick",this,"tableDblClick");
};
this.buildCols=function(_2cc){
var cell;
var j=turbo.getRowIndex(_2cc);
for(var i=0;i<this.cols;i++){
var w=this.getColumnWidth(i);
cell=_2cc.insertCell(i);
cell.width=w;
var h="<div style=\"width:"+w+"px;\">"+this.getCell(i,j)+"</div>";
cell.innerHTML=h;
}
cell=_2cc.insertCell(this.cols);
cell.innerHTML="&#160;";
};
this.buildRow=function(_2d2){
_2d2.onmouseover=turbo.bindArgs(this,this.dataOver,_2d2);
_2d2.onmouseout=turbo.bindArgs(this,this.dataOut,_2d2);
_2d2.className=this.getRowClass(turbo.getRowIndex(_2d2));
this.buildCols(_2d2);
};
this.refreshData=function(){
for(var j=0;j<this.rows;j++){
var row=turbo.getTableRow(this.DtaTbl,j);
for(var i=0;i<this.cols;i++){
row.style.height="0px";
row.cells[i].innerHTML="<div style=\"width:"+this.colWidths[i]+"px;\">"+this.getCell(i,j)+"</div>";
}
}
};
this.dataOver=function(_2d6){
if(!this.selected[turbo.getRowIndex(_2d6)]){
this.setElementClass(_2d6,"row-over");
}
};
this.dataOut=function(_2d7){
_2d7.className=this.getRowClass(turbo.getRowIndex(_2d7));
};
this.dataClick=function(_2d8,_2d9){
this.onDataClick(_2d8,_2d9);
};
this.dataDblClick=function(_2da,_2db){
this.onDataDblClick(_2da,_2db);
};
this.dataKeyDown=function(_2dc){
this.onKeyDown(_2dc);
};
this.tableOver=function(_2dd){
var _2de=this.findEventCell(_2dd.target,this.DtaTbl);
if(_2de){
this.dataOver(_2de.parentNode);
}
};
this.tableOut=function(_2df){
var _2e0=this.findEventCell(_2df.target,this.DtaTbl);
if(_2e0){
this.dataOut(_2e0.parentNode);
}
};
this.tableClick=function(_2e1){
var _2e2=this.findEventCell(_2e1.target,this.DtaTbl);
if(_2e2){
this.dataClick(_2e2,_2e1);
}
};
this.tableDblClick=function(_2e3){
var _2e4=this.findEventCell(_2e3.target,this.DtaTbl);
if(_2e4){
this.dataDblClick(_2e4,_2e3);
}
};
this.getFirstSelectedRow=function(){
for(var i=0;i<this.rows;i++){
if(this.selected[i]){
return Number(i);
}
}
return -1;
};
this.getNextSelectedRow=function(_2e6){
for(var i=_2e6+1;i<this.rows;i++){
if(this.selected[i]){
return i;
}
}
return -1;
};
this.hasSelection=function(){
return (this.getFirstSelectedRow()>-1);
};
this.getSelectedRows=function(){
var _2e8=[];
for(var i=0;i<this.rows;i++){
if(this.selected[i]){
_2e8.push(i);
}
}
return _2e8;
};
this.clearSelection=function(){
this.selected=[];
this.selectedRow=-1;
this.selectCount=0;
this.updateRowClasses();
this.buildFixedColumn();
this.onSelectionChange();
};
this.setRowSelected=function(_2ea,_2eb){
if(_2ea<0){
return;
}
if(_2eb===undefined){
_2eb=true;
}
if(this.selected[_2ea]!=_2eb){
this.selected[_2ea]=_2eb;
this.selectedRow=(_2eb?_2ea:-1);
this.selectCount+=(_2eb?1:-1);
if(_2eb){
this.onSelectRow(_2ea);
}else{
this.onUnselectRow(_2ea);
}
}
this.selectedRow=(_2eb?_2ea:-1);
this.updateFixedColumnRow(_2ea);
turbo.getTableRow(this.DtaTbl,_2ea).className=this.getRowClass(_2ea);
};
this.selectRow=function(_2ec){
if(!this.selected[_2ec]){
this.setRowSelected(_2ec,true);
this.updateRowSizes();
}
};
this.deselectRow=function(_2ed){
if(this.selected[_2ed]){
this.setRowSelected(_2ed,false);
this.updateRowSizes();
}
};
this.toggleSelectRow=function(_2ee){
if(this.selected[_2ee]){
this.setRowSelected(_2ee,false);
}else{
this.setRowSelected(_2ee,true);
}
};
this.unselectRows=function(_2ef){
for(var i in this.selected){
if(i!=_2ef&&this.selected[i]){
this.setRowSelected(i,false);
}
}
};
this.clickSelect=function(_2f1,_2f2,_2f3){
if(!this.multiSelect||(!_2f2&&!_2f3)){
this.unselectRows(_2f1);
}
if(!_2f3||!this.multiSelect){
if(_2f2){
this.toggleSelectRow(_2f1);
}else{
this.setRowSelected(_2f1,true);
}
this.updateRowClasses();
}else{
var r=(this.selectedRow<0?0:this.selectedRow);
var s=r;
var e=_2f1;
if(s>_2f1){
e=s;
s=_2f1;
}
for(var i=s;i<=e;i++){
this.setRowSelected(i,true);
}
this.updateRowClass(r);
}
window.setTimeout(turbo.bind(this,this.updateRowSizes),100);
this.onSelectionChange();
};
this.offsetMarkers=function(_2f8,_2f9){
var _2fa=[];
for(var i in this.rowMarkerClass){
if(this.rowMarkerClass[i]){
if(i>=_2f8){
_2fa[Number(i)+_2f9]=this.rowMarkerClass[i];
}else{
_2fa[i]=this.rowMarkerClass[i];
}
}
}
this.rowMarkerClass=_2fa;
};
this.setMarker=function(_2fc,_2fd){
this.rowMarkerClass[_2fc]=_2fd;
this.updateRowClass(_2fc);
};
this.clearMarkers=function(){
this.rowMarkerClass=[];
};
this.addRow=function(_2fe){
this.clearSelection();
this.buildRow(this.DtaTbl.insertRow(_2fe));
this.offsetMarkers(_2fe,1);
this.rows++;
this.buildFixedColumn();
this.updateRowSizes();
this.setRowSelected(_2fe,true);
};
this.removeRow=function(_2ff){
this.rowMarkerClass[_2ff]=null;
this.offsetMarkers(_2ff,-1);
this.rows--;
this.DtaTbl.deleteRow(_2ff);
this.clearSelection();
};
this.updateRow=function(_300){
this.DtaTbl.deleteRow(_300);
this.buildRow(this.DtaTbl.insertRow(_300));
};
this.swapRows=function(_301,_302){
turbo.array_swap(this.rowMarkerClass,_301,_302);
this.updateRow(_301);
this.updateRow(_302);
this.updateRowSizes();
};
this.replaceRow=function(_303){
this.updateRow(_303);
this.updateRowSizes();
};
this.updateRowSizes=function(){
if(!this.ColTbl){
return;
}
for(var j=0;j<this.rows;j++){
turbo.setStyleHeightPx(turbo.getTableRow(this.ColTbl,j),this.getRowHeight(j));
}
};
this.updateRowClass=function(_305){
turbo.getTableRow(this.DtaTbl,_305).className=this.getRowClass(_305);
};
this.updateRowClasses=function(){
for(var j=0;j<this.rows;j++){
turbo.getTableRow(this.DtaTbl,j).className=this.getRowClass(j);
}
};
this.getScrollLeft=function(){
this.scrollLeft=this.DtaDiv.scrollLeft;
};
this.setScrollLeft=function(){
this.HdrDiv.scrollLeft=this.scrollLeft;
this.DtaDiv.scrollLeft=this.scrollLeft;
};
this.doScroll=function(){
this.HdrDiv.scrollLeft=this.DtaDiv.scrollLeft;
this.ColDiv.scrollTop=this.DtaDiv.scrollTop;
};
this.getContentSize=function(){
var siz=turbo.getContentSize(this.GrdTbl.parentNode);
siz.w-=dojo.style.getPaddingWidth(this.GrdTbl)+dojo.style.getBorderWidth(this.GrdTbl);
siz.h-=dojo.style.getPaddingWidth(this.GrdTbl)+dojo.style.getBorderHeight(this.GrdTbl);
siz.w=siz.w-this.fixedColWidth-1;
return siz;
};
this._resize=function(){
turbo.setStyleWidthPx(this.HdrDiv,1);
turbo.setStyleWidthPx(this.DtaDiv,1);
var siz=this.getContentSize();
turbo.setStyleWidthPx(this.HdrDiv,siz.w);
turbo.setStyleWidthPx(this.DtaDiv,siz.w);
this.DataWidth=this.calcTableWidth();
siz.w=(siz.w<this.DataWidth?this.DataWidth:siz.w-turbo.getScrollbarWidth());
var _309=function(_30a,_30b){
if(_30a&&_30b>0){
_30a.width=_30b;
}
};
_309(this.HdrTbl,siz.w+128+64);
_309(this.DtaTbl,siz.w);
hh=this.HdrDiv.clientHeight;
turbo.setStyleHeightPx(this.Corner,hh-1);
hh=siz.h-hh-this.Status.clientHeight-1;
turbo.setStyleHeightPx(this.DtaDiv,hh);
if(this.fixedColWidth>0){
hh=siz.h-this.Corner.clientHeight-this.Status.clientHeight-1;
}
turbo.setStyleHeightPx(this.ColDiv,hh);
this.doScroll();
this.updateRowSizes();
};
this.earliestResize=0;
this.doResize=function(){
if(this.GrdTbl&&this.GrdTbl.parentNode&&this.earliestResize<turbo.time()){
this._resize();
this.earliestResize=turbo.time()+100;
}
};
this.resize=this.doResize;
};
dojo.inherits(dojo.widget.HtmlTurboGrid,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbogrid");
dojo.provide("turbo.data.stores");
turbo.data.index=function(){
this.defaultValue={};
this.values=[];
this.count=function(){
return this.values.length;
};
this.clear=function(){
this.values=[];
};
this.get=function(_30c){
var _30d=this.values[_30c];
if(!_30d){
_30d=turbo.swiss(this.defaultValue,{});
this.values[_30c]=_30d;
}
return _30d;
};
this._set=function(_30e,_30f){
var v=this.get(_30e);
for(var i=1;i<arguments.length;i++){
turbo.swiss(arguments[i],v);
}
this.values[_30e]=v;
};
this.set=function(){
if(arguments.length<1){
return;
}
var a=arguments[0];
if(!dojo.lang.isArray(a)){
this._set.apply(this,arguments);
}else{
for(i=0,l=a.length;i<l;i++){
this._set(i,a[i]);
}
}
};
this.insert=function(_313,_314){
if(_313>=this.values.length){
this.values[_313]=_314;
}else{
this.values.splice(_313,0,_314);
}
};
this.remove=function(_315){
this.values.splice(_315,1);
};
this.swap=function(_316,_317){
turbo.array_swap(this.values,_316,_317);
};
};
turbo.data.fields=function(_318){
turbo.data.index.call(this);
var _319=(_318?_318:Object);
this.defaultValue=new _319();
this.setDefault=function(_31a){
if(typeof (_31a)!="object"){
alert("tubo.data.fields.setDefaultField (stores.js): bad input field object. Are your field definitions included?");
}
turbo.swiss(_31a,this.defaultValue);
};
};
turbo.data.comparator=function(_31b){
return function(a,b){
return (a[_31b]>b[_31b]?1:(a[_31b]==b[_31b]?0:-1));
};
};
turbo.data.field=function(_31e){
this.name=_31e;
this.comparator=turbo.data.comparator;
this.getComparator=function(_31f,_320){
var _321=this.comparator(_31f);
if(!_320){
return _321;
}else{
return function(a,b){
return -_321(a,b);
};
}
};
};
turbo.data.table=function(_324){
this.fields=new turbo.data.fields(turbo.data.field);
this.fields.set(_324);
this.rowinfo=new turbo.data.index();
this.sortIndex=-1;
this.sortField="";
this.sortDesc=false;
this.autoSort=false;
this.getFieldNameArray=function(){
var f=this.fields.values;
var a=new Array(f.length);
for(var i=0,l=f.length;i<l;i++){
a[i]=f[i].name;
}
return a;
};
this.getFieldNameIndex=function(_328){
var f=this.fields.values;
for(var i=0,l=f.length;i<l;i++){
if(f[i].name==_328){
return i;
}
}
return false;
};
this.getColCount=function(){
return this.fields.count();
};
this.hasData=function(){
return (this.fields.count()>0);
};
this.deleteRows=function(_32b,inOk,_32d){
_32d("turbo.data.table.deleteRows: no default implementation for delete");
};
this._setSortField=function(_32e,_32f){
if(_32f){
this.sortDesc=_32f;
}else{
if(this.sortField==_32e){
this.sortDesc=!this.sortDesc;
}else{
this.sortDesc=false;
}
}
this.sortField=_32e;
};
this.setSortIndex=function(_330,_331){
if(_330<0){
this.sortField="";
}else{
this._setSortField(this.fields.get(_330).name,_331);
}
this.sortIndex=_330;
};
this.setSortField=function(_332,_333){
if(_332==""){
this.setSortIndex(-1);
}else{
this._setSortField(_332,_333);
this.sortIndex=this.getFieldNameIndex(this.sortField);
}
};
this.hasEdits=function(){
var v=this.rowinfo.values;
for(var i in v){
if(!v.constructor.prototype[i]&&v[i].edit){
return true;
}
}
return false;
};
this.startEdit=function(_336){
this.cacheRow(_336);
this.rowinfo.set(_336,{edit:true});
};
this.cancelEdit=function(_337){
this.restoreRow(_337);
with(this.rowinfo.get(_337)){
delete edit;
}
};
this.applyEdit=function(_338,inOk,_33a){
if(this.rowChanged(_338)||this.rowinfo.get(_338).error){
this._applyEdit(_338,inOk,_33a);
}else{
this.cancelEdit(_338);
}
};
this._applyEdit=function(_33b,inOk,_33d){
this.rowinfo.get(_33b).inflight=true;
var self=this;
var _33f=function(){
with(self.rowinfo.get(_33b)){
delete cache;
delete edit;
delete insert;
delete inflight;
delete error;
}
inOk.apply(this,arguments);
};
var _340=function(_341){
var i=self.rowinfo.get(_33b);
delete i.inflight;
if(_341){
i.error=_341;
}
_33d.apply(this,arguments);
};
this.commitRow(_33b,_33f,_340);
};
this.commitRow=function(_343,inOk,_345){
inOk();
};
};
turbo.data.store=function(_346,_347){
turbo.data.table.call(this);
this.data=[];
this.hasData=function(){
return (this.data&&this.data.length>0);
};
this.setData=function(_348,_349){
this.data=(_348?_348:[]);
this.fields.set(_349);
};
this.sort=function(){
if(this.sortIndex>=0&&this.hasData()){
this.data.sort(this.fields.get(this.sortIndex).getComparator(this.sortIndex,this.sortDesc));
}
};
this.getColCount=function(){
var _34a=this.fields.count();
var _34b=(this.data&&this.data.length?this.data[0].length:0);
return Math.max(_34a,_34b);
};
this.getRowCount=function(){
return (this.data&&this.data.length?this.data.length:0);
};
this.getDatum=function(_34c,_34d){
if(djConfig.isDebug&&(_34d<0||_34d>=this.data.length)){
turbo.debug("turbo.data.arrayStore.getDatum: bad row: "+_34d);
return null;
}
return this.data[_34d][_34c];
};
this.setDatum=function(_34e,_34f,_350){
this.data[_34f][_34e]=_350;
};
this.getRow=function(_351){
return this.data[_351];
};
this.copyRow=function(_352){
return this.data[_352].slice(0);
};
this.compareRow=function(_353,_354){
var c=this.getColCount();
if(!_354||_354.length!=c){
return false;
}
var row=this.getRow(_353);
for(var i=0;i<c;i++){
if(_354[i]!==row[i]){
return false;
}
}
return true;
};
this.removeRow=function(_358){
this.data.splice(_358,1);
this.rowinfo.remove(_358);
};
this.replaceRow=function(_359,_35a){
this.data[_359]=_35a;
};
this.swapRows=function(_35b,_35c){
turbo.array_swap(this.data,_35b,_35c);
this.rowinfo.swap(_35b,_35c);
};
this.getRowCache=function(_35d){
return this.rowinfo.get(_35d).cache;
};
this.getRowBacking=function(_35e){
var c=this.getRowCache(_35e);
return (c?c:this.getRow(_35e));
};
this.cacheRow=function(_360){
if(!this.getRowCache(_360)){
this.rowinfo.set(_360,{cache:this.copyRow(_360)});
}
};
this.rowChanged=function(_361){
var c=this.getRowCache(_361);
return (!c?true:!this.compareRow(_361,c));
};
this.restoreRow=function(_363){
var c=this.getRowCache(_363);
if(c){
this.replaceRow(_363,c);
}
};
this.addRow=function(_365,_366){
var c=this.getColCount();
if(!_366){
_366=[];
}
for(var i=0;i<c;i++){
if(dojo.lang.isUndefined(_366[i])){
_366[i]=this.fields.get(i).defaultValue;
}
}
if(this.data.length>0){
this.data.splice(_365,0,_366);
}else{
this.data=[_366];
}
this.rowinfo.insert(_365,{edit:true,insert:true});
};
this.setData(_346,_347);
};
turbo.data.paged=function(_369){
turbo.data.store.call(this,null,_369);
this.totalRows=0;
this.rowsPerPage=50;
this.pageCount=0;
this.pages=[];
this.page=-1;
this.invalidPage=-1;
this.requestPage=function(_36a){
};
this.clear=function(){
this.setTotalRows(0);
this.page=-1;
this.pages=[];
this.setSortIndex(-1);
};
this.setTotalRows=function(_36b){
var _36c=this.pageCount;
var _36d=this.page;
this.totalRows=_36b;
this.pageCount=Math.ceil(this.totalRows/this.rowsPerPage);
if(this.page>=this.pageCount){
this.page=this.pageCount-1;
}
return (_36c!=this.pageCount||_36d!=this.page);
};
this.getPageLength=function(_36e){
var page=(_36e==this.page?this.data:this.pages[_36e]);
return (page?page.length:this.rowsPerPage);
};
this.fetchRowCount=function(){
return this.totalRows;
};
this.repaginate=function(){
var rows=this.fetchRowCount();
this.pages=[];
if(this.page>=0){
this.pages[this.page]=this.data;
}
return this.setTotalRows(rows);
};
this.getTopRow=function(_371){
var page=(_371===undefined?this.page:_371);
return page*this.rowsPerPage;
};
this.getBottomRow=function(_373){
var row=this.getTopRow(_373)+this.getPageLength(_373)-1;
return Math.min(row,this.totalRows-1);
};
this.fillPage=function(_375,_376){
this.pages[_375]=_376;
};
this.selectPage=function(_377){
this.page=_377;
if(!this.pages[_377]){
this.requestPage(_377);
}
this.rowinfo.clear();
if(this.pages[_377]){
this.invalidPage=-1;
this.data=this.pages[_377];
}else{
this.invalidPage=_377;
this.data=[];
}
};
this.invalidatePage=function(){
this.pages[this.page]=null;
};
this.pageIsValid=function(_378){
return (this.pages[_378]?true:false);
};
this.reloadPage=function(){
this.pages[this.page]=null;
this.selectPage(this.page);
};
this.reloadPages=function(){
this.pages=[];
this.selectPage(this.page);
};
this.fillNextPage=function(){
for(var i=0;i<this.pageCount;i++){
if(!this.pages[i]){
break;
}
}
if(i==this.pageCount){
return false;
}
turbo.debug("turbo.data.pages: fillNextPage: "+i);
this.requestPageAsync(i);
return true;
};
this.sort=function(){
this.reloadPages();
};
};
dojo.provide("turbo.grid.columns");
turbo.grid.format={};
turbo.grid.format.noformat=function(_37a,_37b){
return _37a;
};
turbo.grid.edit={};
turbo.grid.edit.noedit={edit:function(_37c,_37d,_37e){
return false;
},getValue:function(){
return null;
}};
turbo.grid.column=function(_37f){
this.name=(_37f?_37f:"");
this.width=96;
this.readonly=false;
this.editor=null;
this.formatter=turbo.grid.format.text;
this.format=function(_380,_381){
if(!this.formatter){
dojo.debug("turbo.grid.column: illegal formatter for column ["+this.name+"]");
this.formatter=turbo.grid.format.text;
}
var _382=(this.readonly||_381||!this.editor);
return this.formatter.call(this,_380,_382);
};
this.getEditor=function(){
if(!this.editor||this.readonly){
return turbo.grid.edit.noedit;
}else{
this.editor.column=this;
return this.editor;
}
};
};
turbo.grid.format.text=function(_383,_384){
var s="width:"+this.width+"px;";
if(_383==null){
s+=" color: #CCBBB3;";
_383="~";
}else{
if(typeof (_383)=="string"&&_383.length>255){
_383="(text: "+_383.length+" chars)";
}else{
_383=turbo.escapeText(_383);
}
}
if(this.align){
s+=" text-align: "+this.align+";";
}
return "<div style=\""+s+"\">"+_383+"</div>";
};
turbo.grid.format.line=turbo.grid.format.text;
turbo.grid.edit.line=new function(){
this.createInput=function(_386,_387){
var i=document.createElement("input");
i.setAttribute("autocomplete","OFF");
i.value=(_387===undefined?"":String(_387));
i.style.width=_386.clientWidth-10+"px";
_386.innerHTML="";
_386.appendChild(i);
if(i.clientHeight<_386.clientHeight-4){
i.style.height=_386.clientHeight-4+"px";
}
turbo.defer(function(){
i.select();
i.focus();
},10);
return i;
};
this.edit=function(_389,_38a){
this.input=this.createInput(_389,_38a);
};
this.getValue=function(){
return (this.input.value=="null"?null:(this.input.value=="undefined"?undefined:this.input.value));
};
};
turbo.grid.edit.multiLine=new function(){
this.createInput=function(_38b,_38c){
var i=document.createElement("textarea");
i.value=String(_38c);
i.rows=2;
i.style.width=_38b.clientWidth-8+"px";
_38b.innerHTML="";
_38b.appendChild(i);
if(i.clientHeight<_38b.clientHeight-4){
i.style.height=_38b.clientHeight-4+"px";
}
i.select();
i.focus();
return i;
};
this.edit=function(_38e,_38f){
this.input=this.createInput(_38e,_38f);
};
this.getValue=function(){
return (this.input.value=="null"?null:this.input.value);
};
};
turbo.grid.format.bool=function(_390,_391){
_390=(_390?parseInt(_390)!=0:false);
var s=" text-align: "+(this.align?this.align:"center")+";";
return "<div style=\"width:"+this.width+"px; "+s+"\">"+"<input type=\"checkbox\""+(_391?" disabled=\"disabled\"":"")+(_390?" checked=\"checked\"":"")+"/>"+"</div>";
};
turbo.grid.edit.bool=new function(){
this.edit=function(_393,_394,_395){
while(_393.tagName!="INPUT"){
_393=_393.childNodes[0];
}
this.input=_393;
this.input.focus();
if(this.column.onclick){
this.input.onclick=turbo.bindArgs(this,this.column.onclick,_395);
this.input.onclick();
}
};
this.getValue=function(){
return (this.input.checked?1:0);
};
};
turbo.grid.isIntChar=function(_396){
return (_396.search(/[-+\0\t\n\r\d]/)!=-1);
};
turbo.grid.format.integer=function(_397,_398){
var s=" width:"+this.width+"px; text-align: "+(this.align?this.align:"right")+";";
var f="~";
if(_397==null){
s+=" color: #CCBBB3;";
}else{
f=parseInt(_397)+(this.units?this.units:"");
}
return "<div style=\""+s+"\">"+f+"</div>";
};
turbo.grid.edit.integer=new function(){
this.limitToInteger=function(_39b){
if(!turbo.grid.isIntChar(String.fromCharCode(_39b.charCode))){
_39b.preventDefault();
}
};
this.createInput=turbo.grid.edit.line.createInput;
this.edit=function(_39c,_39d){
this.input=this.createInput(_39c,_39d);
dojo.event.connect(this.input,"onkeypress",turbo.bind(this,"limitToInteger"));
};
this.getValue=turbo.grid.edit.line.getValue;
};
turbo.grid.format.decimal=function(_39e,_39f){
var s="text-align: "+(this.align?this.align:"right")+";";
var f="~";
if(_39e==null){
s+=" color: #CCBBB3;";
}else{
f=parseFloat(_39e);
f=(this.decimals?f.toFixed(this.decimals):f)+(this.units?this.units:"");
}
return "<div style=\""+s+"\">"+f+"</div>";
};
turbo.grid.decimalIsOk=function(_3a2,_3a3){
return (_3a3=="."&&!/[\.]/.test(_3a2));
};
turbo.grid.edit.decimal=new function(){
this.limitToDecimal=function(_3a4){
var s=String.fromCharCode(_3a4.charCode);
if(!turbo.grid.isIntChar(s)&&!turbo.grid.decimalIsOk(this.input.value,s)){
_3a4.preventDefault();
}
};
this.createInput=turbo.grid.edit.line.createInput;
this.edit=function(_3a6,_3a7){
this.input=this.createInput(_3a6,_3a7);
dojo.event.connect(this.input,"onkeypress",turbo.bind(this,"limitToDecimal"));
};
this.getValue=turbo.grid.edit.line.getValue;
};
turbo.grid.format.money=function(_3a8,_3a9){
var f=parseFloat(_3a8);
var s=(f<0?-1:1);
f=Math.abs(f);
var i=Math.floor(f).toString();
var l=i.length+(s<0?1:0);
f=(s<0?"&#45;":"")+f.toFixed(2);
l=(this.digits?this.digits:5)-l;
var k="$"+turbo.stringOf(l,"&#160;")+f;
return "<div style=\"width:"+this.width+"px;\" class=\"turbo-grid-money"+(s<0?" turbo-grid-money-neg":"")+"\">"+k+"</div>";
};
turbo.grid.format.enumerated=function(_3af,_3b0){
var opts="";
if(this.options){
for(var i=0,v,s;i<this.options.length;i++){
if(this.values&&this.values[i]){
v=" value=\""+this.values[i]+"\"";
s=(this.values[i]==_3af);
}else{
v="";
s=(this.options[i]==_3af);
}
s=(s?" selected":"");
opts+="<option"+v+s+">"+this.options[i]+"</option>";
}
}else{
opts="<option>"+_3af+"</option>";
}
return "<div>"+"<select"+(_3b0?" disabled=\"disabled\"":"")+">"+opts+"</select>"+"</div>";
};
turbo.grid.edit.enumerated=new function(){
this.edit=function(_3b3,_3b4){
while(_3b3.tagName!="SELECT"){
_3b3=_3b3.childNodes[0];
}
this.input=_3b3;
};
this.getValue=function(){
return turbo.getSelectValue(this.input);
};
};
turbo.grid.format.autoInc=function(_3b5){
var s="";
s+="width:"+(this.width-4)+"px;";
s+=" text-align: "+(this.align?this.align:"right")+";";
if(_3b5===undefined){
s+=" color: #CCBBB3;";
_3b5="auto";
}
return "<div style=\""+s+"\">"+_3b5+"</div>";
};
turbo.grid.columns={};
turbo.grid.columns.basic={width:128,formatter:turbo.grid.format.line,editor:turbo.grid.edit.line};
turbo.grid.columns.integer={width:64,align:"right",formatter:turbo.grid.format.integer,editor:turbo.grid.edit.integer};
turbo.grid.columns.decimal={width:80,align:"right",decimals:3,formatter:turbo.grid.format.decimal,editor:turbo.grid.edit.decimal};
turbo.grid.columns.bool={width:48,align:"center",formatter:turbo.grid.format.bool,editor:turbo.grid.edit.bool};
turbo.grid.columns.enumerated={width:96,formatter:turbo.grid.format.enumerated,editor:turbo.grid.edit.enumerated};
turbo.grid.columns.money={width:96,align:"right",digits:5,formatter:turbo.grid.format.money,editor:turbo.grid.edit.decimal};
turbo.grid.columns.autoInc={align:"right",formatter:turbo.grid.format.autoInc};
dojo.provide("turbo.grid.controllers");
dojo.require("turbo.grid.columns");
turbo.grid.controller=function(_3b7,_3b8,_3b9){
if(_3b7){
this.readonly=false;
this.columns=new turbo.data.fields(turbo.grid.column);
this.columns.set(_3b9);
this.grid=(dojo.lang.isString(_3b7)?dojo.widget.getWidgetById(_3b7):_3b7);
this.grid.controller=this;
this.setModel(_3b8);
}
};
dojo.lang.extend(turbo.grid.controller,{canSort:function(_3ba){
},showMessage:function(_3bb){
},rowsChanged:function(){
}});
dojo.lang.extend(turbo.grid.controller,{clear:function(){
this.editingCell=null;
this.editingRow=-1;
},build:function(){
this.clear();
this.grid.setSize(this.getColCount(),this.model.getRowCount());
this.grid.build();
},setReadonly:function(_3bc){
if(_3bc!=this.readonly){
this.readonly=_3bc;
this.build();
}
},setModel:function(_3bd){
this.model=_3bd;
if(this.model){
this.build();
}
},getColCount:function(){
var _3be=this.columns.count();
return (_3be?_3be:this.model.getColCount());
},getColumnWidth:function(_3bf,_3c0){
return this.columns.get(_3c0).width;
},getDatum:function(_3c1,_3c2){
return this.model.getDatum(_3c1,_3c2);
},getCell:function(_3c3,_3c4,_3c5){
return this.columns.get(_3c4).format(this.getDatum(_3c4,_3c5),this.readonly,_3c5);
},getHeaderAlign:function(_3c6,_3c7){
var a=this.columns.get(_3c7)["align"];
return (a?a:"left");
},getColumnTitle:function(_3c9,_3ca){
var t=this.columns.get(_3ca).name;
return (t?t:this.model.fields.get(_3ca).name);
},getSortInfo:function(_3cc){
return {column:this.model.sortIndex,desc:this.model.sortDesc};
},onHeaderClick:function(_3cd,_3ce){
if(this.canSort(_3ce)===false){
return;
}
this.applyEdit();
this.model.setSortIndex(_3ce);
this.model.sort();
this.grid.clearMarkers();
this.grid.refresh();
},getClientRowClass:function(_3cf){
},getRowClass:function(_3d0){
var _3d1="";
if(this.grid.selected[_3d0]&&this.grid.selectCount>1){
_3d1="selected";
}else{
_3d1=this.getClientRowClass(_3d0);
if(_3d1){
return _3d1;
}
}
if(!_3d1){
var i=this.model.rowinfo.get(_3d0);
if(i.inflight){
_3d1="inflight";
}else{
if(i.error){
_3d1="error";
}else{
if(this.grid.selected[_3d0]&&!_3d1){
_3d1=(i.edit?"editing":"selected");
}
}
}
}
return this.grid.classTag+"-row-"+(_3d0&1)+(_3d1?" "+this.grid.classTag+"-"+_3d1:"");
}});
dojo.lang.extend(turbo.grid.controller,{setRow:function(_3d3,_3d4){
this.model.replaceRow(_3d3,_3d4);
this.grid.updateRow(_3d3);
},addRow:function(_3d5,_3d6){
var row=(_3d5!=undefined&&_3d5>=0?_3d5:this.grid.getFirstSelectedRow()+1);
this.applyEdit();
this.model.addRow(row,_3d6);
this.grid.addRow(row);
this.editingRow=row;
this.grid.setRowSelected(row);
this.grid.onSelectionChange();
this.rowsChanged();
},newRow:this.addRow,appendRow:function(_3d8){
this.addRow(Math.max(this.grid.rows,0),_3d8);
},removeRow:function(_3d9){
this.model.removeRow(_3d9);
this.grid.removeRow(_3d9);
},removeSelectedRows:function(){
var rows=this.grid.getSelectedRows();
for(var i=0;i<rows.length;i++){
this.removeRow(rows[i]-i);
}
},swapRows:function(inI,inJ){
this.finishGridEdit();
this.model.swapRows(inI,inJ);
this.grid.swapRows(inI,inJ);
},canMoveRow:function(_3de){
var src=this.grid.selectedRow;
var dst=src+_3de;
return (src>=0&&dst>=0&&dst<this.grid.rows);
},moveRow:function(_3e1){
if(!this.canMoveRow(_3e1)){
return;
}
this.finishGridEdit();
var src=this.grid.selectedRow;
var dst=src+_3e1;
this.swapRows(src,src+_3e1);
this.grid.setRowSelected(src,false);
this.grid.setRowSelected(dst,true);
this.grid.onSelectionChange();
},moveRowUp:function(){
this.moveRow(-1);
},moveRowDown:function(){
this.moveRow(1);
}});
dojo.lang.extend(turbo.grid.controller,{onBeginEdit:function(_3e4){
},onEditRowStart:function(_3e5){
},onEditRowDone:function(){
},editingCell:null,editingRow:-1,editCellDone:function(){
this.editingCell=null;
},cancelEditCell:function(){
if(this.editingCell){
this.grid.refreshCell(this.editingCell);
this.editCellDone();
}
},updateEditCell:function(){
if(this.editingCell&&this.editor){
this.updateCell(this.editingCell,this.editor);
this.grid.refreshCell(this.editingCell);
}
},finishEditCell:function(){
this.updateEditCell();
if(this.editingCell){
this.grid.updateRowClass(this.editingCell.row);
}
this.editCellDone();
},editRowStart:function(_3e6){
if(this.editingRow!=_3e6){
this.editingRow=_3e6;
this.model.startEdit(_3e6);
this.onEditRowStart(_3e6);
}
},editRowDone:function(){
this.editingRow=-1;
this.onEditRowDone();
},cancelEditRow:function(){
if(this.editingRow>=0){
var row=this.editingRow;
this.editingRow=-1;
this.grid.updateRowClass(row);
this.editRowDone();
}
},finishEditRow:function(){
if(this.editingRow>=0){
var row=this.editingRow;
this.updateRow(row);
this.editingRow=-1;
this.grid.updateRowClass(row);
this.editRowDone();
}
},cancelGridEdit:function(){
this.cancelEditCell();
this.cancelEditRow();
},finishGridEdit:function(){
this.finishEditCell();
this.finishEditRow();
},editCell:function(_3e9,_3ea,_3eb){
if(!_3e9){
return;
}
var cell=this.grid.getCellPos(_3e9);
if(this.grid.sameCell(this.editingCell,cell)||(!this.grid.goodCell(cell)&&cell.row==this.editingRow)){
return;
}
this.finishEditCell();
if(!this.grid.goodCell(cell)||_3ea||_3eb){
this.finishEditRow();
this.grid.clickSelect(cell.row,_3ea,_3eb);
dojo.html.clearSelection();
}else{
this.grid.unselectRows(cell.row);
if(_3e9.parentNode==null){
return;
}
cell=this.grid.getCellPos(_3e9);
this.editor=this.getEditor(cell);
if(this.editor){
this.editingCell=cell;
this.editRowStart(cell.row);
window.setTimeout(turbo.bind(this.grid,this.grid.updateRowSizes),10);
this.onBeginEdit(cell);
}
this.grid.setRowSelected(cell.row,true);
this.grid.onSelectionChange();
}
},onDataClick:function(_3ed,_3ee,_3ef){
this.editCell(_3ee,_3ef.ctrlKey,_3ef.shiftKey);
}});
dojo.lang.extend(turbo.grid.controller,{getEditor:function(_3f0){
var _3f1=(this.readonly?null:this.columns.get(_3f0.col).getEditor());
if(_3f1&&_3f1.edit(this.grid.getDomCell(_3f0),this.getDatum(_3f0.col,_3f0.row),_3f0)===false){
_3f1=null;
}
return _3f1;
},updateCell:function(_3f2,_3f3){
this.model.setDatum(_3f2.col,_3f2.row,_3f3.getValue());
}});
dojo.lang.extend(turbo.grid.controller,{onUnselectRow:function(_3f4,_3f5){
if(_3f5==this.editingRow){
this.applyEdit();
}
},applyEdit:function(_3f6){
if(this.editingRow>=0){
this.model.rowinfo.get(this.editingRow).sync=Boolean(_3f6);
this.finishGridEdit();
}
},applyEditSync:function(){
this.applyEdit(true);
},cancelEdit:function(){
if(this.editingRow>=0){
var row=this.editingRow;
this.cancelGridEdit();
if(this.model.rowinfo.get(row).insert){
this.removeRow(row);
}else{
this.model.cancelEdit(row);
this.grid.updateRow(row);
}
}
}});
dojo.lang.extend(turbo.grid.controller,{_commitError:function(_3f8,_3f9){
this.grid.updateRow(_3f8);
var e=(_3f9?_3f9:this.model.rowinfo.get(_3f8).error);
turbo.debug("turbo.grid.controller._commitError: "+e);
this.showMessage("A server commit error occured: ["+e+"]",true);
},_commitOk:function(_3fb){
this.grid.updateRow(_3fb);
this.rowsChanged();
},updateRow:function(_3fc){
var ok=turbo.bindArgs(this,"_commitOk",_3fc);
var _3fe=turbo.bindArgs(this,"_commitError",_3fc);
this.model.applyEdit(_3fc,ok,_3fe);
}});
dojo.lang.extend(turbo.grid.controller,{_deleteError:function(){
},_deleteOk:function(_3ff,_400){
var c=_400;
turbo.debug("turbo.grid.controller._deleteOk: deleted "+c+" row(s)");
var self=this;
var _403=0;
var each=function(_405){
if(_403>=c){
return "break";
}
self.removeRow(_405-_403++);
};
dojo.lang.forEach(_3ff,each);
if(this.model.repaginate()){
turbo.debug("turbo.grid.controller._deleteOk: repaginate signalled page change, reloading");
this.reloadPage();
}else{
this.model.invalidatePage();
}
this.rowsChanged();
},_deleteRows:function(){
var rows=this.grid.getSelectedRows();
var _407=rows.length;
if(!confirm("Ok to delete "+(_407!=1?_407+" rows":"one row")+" from table \""+this.model.table+"\""+"?")){
return;
}
this.cancelGridEdit();
var _408=0;
var _409=function(_40a){
var row=_40a-_408;
var e=this.model.rowinfo.get(row);
if(!e.insert){
return row;
}else{
_408++;
turbo.debug("turbo.grid.controller._deleteRows: removing non-committed row "+row);
this.removeRow(row);
return undefined;
}
};
rows=turbo.filter(rows,_409,this);
turbo.debug("turbo.grid.controller._deleteRows: deleting "+rows.length+" row(s)");
this.model.deleteRows(rows,turbo.bind(this,this._deleteOk),turbo.bind(this,this._deleteError));
},deleteRows:function(){
this.grid.setBusyStatus();
try{
this._deleteRows();
}
finally{
this.grid.setReadyStatus();
}
}});
dojo.lang.extend(turbo.grid.controller,{prevEdit:function(){
if(this.editingCell){
var cell={col:this.editingCell.col,row:this.editingCell.row};
if(--cell.col>=0){
this.editCell(this.grid.getDomCell(cell));
}else{
if(--cell.row>=0){
this.editCell(this.grid.getDomCell({col:this.grid.cols-1,row:cell.row}));
}
}
}
},nextEdit:function(){
if(this.editingCell){
var cell={col:this.editingCell.col,row:this.editingCell.row};
if(++cell.col<this.grid.cols){
this.editCell(this.grid.getDomCell(cell));
}else{
if(++cell.row<this.grid.rows){
this.editCell(this.grid.getDomCell({col:0,row:cell.row}));
}
}
}
},onKeyDown:function(_40f,_410){
if(_410.altKey||_410.ctrlKey||_410.metaKey){
return;
}
switch(_410.keyCode){
case _410.KEY_ESCAPE:
this.cancelEditCell();
break;
case _410.KEY_ENTER:
if(!_410.shiftKey){
this.finishEditCell();
}
break;
case _410.KEY_TAB:
if(this.editingCell){
dojo.event.browser.stopEvent(_410);
if(_410.shiftKey){
this.prevEdit();
}else{
this.nextEdit();
}
}
break;
}
}});
turbo.grid.controllers.paged=function(_411,_412,_413){
turbo.grid.controller.call(this,_411,_412,_413);
};
dojo.inherits(turbo.grid.controllers.paged,turbo.grid.controller);
dojo.lang.extend(turbo.grid.controllers.paged,{setModel:function(_414){
this.model=_414;
if(this.model){
this.model.repaginate();
this.model.selectPage(0);
this.build();
}
},_selectPage:function(_415,_416){
this.model.selectPage(_415);
this.build();
this.grid.setReadyStatus();
if(_416){
_416();
}
},selectPage:function(_417,_418){
this.grid.setBusyStatus();
this.grid.teardownRows();
turbo.defer(turbo.bindArgs(this,this._selectPage,_417,_418),20);
},reloadPage:function(){
this.model.reloadPage();
this.build();
},formatFixedCol:function(_419,_41a){
return Number(_41a)+1+this.model.getTopRow();
}});
dojo.provide("turbo.grid.extensions");
turbo.grid.extensions.edit={extend:function(_41b){
dojo.lang.mixin(_41b,this);
},getEditor:function(_41c){
},updateCell:function(_41d,_41e){
},updateRow:function(_41f){
},cacheEditRow:function(_420){
},onEditRowStart:function(){
},onEditRowDone:function(){
},editingCell:null,editingRow:-1,editClear:function(){
this.editingCell=null;
this.editingRow=-1;
},editCellDone:function(){
this.editingCell=null;
},cancelEditCell:function(){
if(this.editingCell){
this.refreshCell(this.editingCell);
this.editCellDone();
}
},updateEditCell:function(){
if(this.editingCell&&this.editor){
this.updateCell(this.editingCell,this.editor);
this.refreshCell(this.editingCell);
}
},finishEditCell:function(){
this.updateEditCell();
if(this.editingCell){
this.updateRowClass(this.editingCell.row);
}
this.editCellDone();
},editRowStart:function(_421){
if(this.editingRow!=_421){
this.editingRow=_421;
this.cacheEditRow(_421);
this.onEditRowStart(_421);
}
},editRowDone:function(){
this.editingRow=-1;
this.onEditRowDone();
},cancelEditRow:function(){
if(this.editingRow>=0){
var row=this.editingRow;
this.editingRow=-1;
this.updateRowClass(row);
this.editRowDone();
}
},finishEditRow:function(){
if(this.editingRow>=0){
var row=this.editingRow;
this.updateRow(row);
this.editingRow=-1;
this.updateRowClass(row);
this.editRowDone();
}
},cancelGridEdit:function(){
this.cancelEditCell();
this.cancelEditRow();
},finishGridEdit:function(){
this.finishEditCell();
this.finishEditRow();
},editCell:function(_424,_425,_426){
if(!_424){
return;
}
var cell=this.getCellPos(_424);
if(!this.goodCell(cell)||this.sameCell(this.editingCell,cell)){
return;
}
this.finishEditCell();
if(_425||_426){
this.finishEditRow();
this.clickSelect(cell.row,_425,_426);
dojo.html.clearSelection();
}else{
this.unselectRows(cell.row);
if(_424.parentNode==null){
return;
}
cell=this.getCellPos(_424);
this.editor=this.getEditor(cell,_424);
if(this.editor){
this.editingCell=cell;
this.editRowStart(cell.row);
window.setTimeout(turbo.bind(this,this.updateRowSizes),10);
}
this.setRowSelected(cell.row,true);
this.onSelectionChange();
}
},editClick:function(_428,_429,_42a){
this.editCell(_428,_429,_42a);
},prevEdit:function(){
if(this.editingCell){
var cell={col:this.editingCell.col,row:this.editingCell.row};
if(--cell.col>=0){
this.editCell(this.getDomCell(cell));
}else{
if(--cell.row>=0){
this.editCell(this.getDomCell({col:this.cols-1,row:cell.row}));
}
}
}
},nextEdit:function(){
if(this.editingCell){
var cell={col:this.editingCell.col,row:this.editingCell.row};
if(++cell.col<this.cols){
this.editCell(this.getDomCell(cell));
}else{
if(++cell.row<this.rows){
this.editCell(this.getDomCell({col:0,row:cell.row}));
}
}
}
},editKeyDown:function(_42d){
if(_42d.altKey||_42d.ctrlKey||_42d.metaKey){
return;
}
switch(_42d.keyCode){
case _42d.KEY_ESCAPE:
this.cancelEditCell();
break;
case _42d.KEY_ENTER:
if(!_42d.shiftKey){
this.finishEditCell();
}
break;
case _42d.KEY_TAB:
if(this.editingCell){
dojo.event.browser.stopEvent(_42d);
if(_42d.shiftKey){
this.prevEdit();
}else{
this.nextEdit();
}
}
break;
}
},getRowClass:function(_42e){
var _42f=this.rowMarkerClass[_42e];
if(this.selected[_42e]&&(!_42f||this.selectCount>1)){
_42f=(this.editingRow==_42e?"editing":"selected");
}
return this.classTag+"-row-"+(_42e&1)+(_42f?" "+this.classTag+"-"+_42f:"");
},dataClick:function(_430,_431){
this.editClick(_430,_431.ctrlKey,_431.shiftKey);
},dataKeyDown:function(_432){
this.editKeyDown(_432);
}};

