/*
	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-2006, 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");
dojo.require("dojo.string.*");
dojo.require("dojo.lang.declare");
dojo.setModulePrefix("turbo","../turbo");
}else{
turbo={};
dojo={provide:function(){
},require:function(){
}};
}
turbo.global=this;
turbo.isGoodIndex=function(_1,_2){
return (_1&&_2>=0&&_2<_1.length);
};
turbo.filter=function(_3,_4,_5){
if(!_5){
_5=dj_global;
}
var _6=[];
for(var i=0,elt;i<_3.length;i++){
elt=_4.call(_5,_3[i]);
if(elt!==undefined){
_6.push(elt);
}
}
return _6;
};
turbo.arraySwap=function(_8,_9,_a){
var _b=_8[_9];
_8[_9]=_8[_a];
_8[_a]=_b;
};
turbo.arrayMove=function(_c,_d,_e){
var e=_c[_d];
if(_e>_d){
_e--;
}
_c.splice(_d,1);
_c.splice(_e,0,e);
};
turbo.cat=function(){
turbo.cloneArguments(arguments).join("");
};
turbo.stringOf=function(_10,_11){
if(_10<=0){
return "";
}
var _12=new Array(_10);
for(var i=0;i<_10;i++){
_12[i]=_11;
}
return _12.join("");
};
turbo.alphabetizeIndex=function(_14){
var _15=function(c){
return String.fromCharCode("A".charCodeAt(0)+c);
};
var a=Math.floor(_14/26);
return (a>0?_15(a-1):"")+_15(_14%26);
};
turbo.pathpop=function(_18,_19){
var _1a=_18.lastIndexOf((_19==undefined?"/":_19));
return (_1a>=0?_18.substring(0,_1a):"");
};
turbo.escapeText=function(_1b){
return dojo.string.escapeXml(String(_1b)).replace(/\n/g,"<br />");
};
turbo.conjoin=function(_1c,_1d,_1e){
return _1d+_1c.join(_1e+_1d)+_1e;
};
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);
if(i==-1){
break;
}
if(s.charAt(i+1)=="%"){
r="%";
}else{
r=arguments[a++];
}
s=s.substring(0,i)+r+s.substring(i+2);
if(r=="%"){
i++;
}
}
return (s==undefined?"":s);
};
turbo.stringReplace=function(_24,_25,_26){
if(!dojo.render.html.safari){
return _24.replace(_25,_26);
}
var str=_24;
var _28=_26;
var reg=_25;
var _2a=[];
var _2b=reg.lastIndex;
var re;
while((re=reg.exec(str))!=null){
var idx=re.index;
var _2e=re.concat(idx,str);
_2a.push(str.slice(_2b,idx),_28.apply(null,_2e).toString());
if(!reg.global){
_2b+=(RegExp.lastMatch?RegExp.lastMatch.length:0);
break;
}else{
_2b=reg.lastIndex;
}
}
_2a.push(str.slice(_2b));
return _2a.join("");
};
turbo.macros=new function(){
this.apply=function(_2f,_30){
return turbo.stringReplace(_2f,new RegExp("%%([^%]*)%%","ig"),function(w,m){
return (_30[m]?_30[m]:m);
});
};
this.interpolate=function(_33){
for(var i in _33){
_33[i]=this.apply(_33[i],_33);
}
return _33;
};
this.insert=function(_35,_36){
if(!_36){
return _35;
}
_36=(dojo.lang.isString(_36)?eval("("+_36+")"):_36);
_36=this.interpolate(_36);
return this.apply(_35,_36);
};
};
turbo.time=function(){
return new Date().getTime();
};
turbo._swiss=function(_37,_38){
for(var i in _37){
_38[i]=_37[i];
}
return _38;
};
turbo.swiss=function(_3a,_3b){
if(!_3a||!_3b){
return;
}
if(!dojo.lang.isArray(_3a)){
turbo._swiss(_3a,_3b);
}else{
for(var i=0,l=_3a.length;i<l;i++){
turbo._swiss(_3a[i],_3b);
}
}
return _3b;
};
turbo.stringToReference=function(_3d){
var obj=turbo.global;
var _3f=_3d.split(".");
var _40=_3f.pop();
while(_3f.length&&obj){
obj=obj[_3f.shift()];
}
return (_40&&(_40 in obj)?obj[_40]:null);
};
turbo.defineClass=dojo.declare;
turbo.cloneArguments=function(_41,_42){
var l=_41.length;
var s=(_42?_42:0);
var _45=new Array(l-s);
for(var i=s,j=0;i<l;i++,j++){
_45[j]=_41[i];
}
return _45;
};
turbo.bind=function(_47,_48){
if(_48){
if(dojo.lang.isString(_48)){
_48=_47[_48];
}
return function(){
return _48.apply(_47,arguments);
};
}else{
dojo.debug("turbo.bind called with null method");
return function(){
};
}
};
turbo.bindArgs=function(_49,_4a){
if(!_4a){
dojo.debug("turbo.bindArgs called with null method");
return function(){
};
}
if(dojo.lang.isString(_4a)){
_4a=_49[_4a];
}
var _4b=turbo.cloneArguments(arguments,2);
return function(){
var _4c=_4b.slice(0);
for(var i=0;i<arguments.length;i++){
_4c.push(arguments[i]);
}
return _4a.apply(_49,_4c);
};
};
turbo.defer=function(_4e,_4f){
if(arguments.length>3){
var _50=turbo.cloneArguments(arguments);
var _51=_50.pop();
return window.setTimeout(turbo.bindArgs.apply(turbo,_50),_51);
}
if(arguments.length>2){
return window.setTimeout(turbo.bind(arguments[0],arguments[1]),arguments[2]);
}else{
return window.setTimeout(arguments[0],arguments[1]);
}
};
turbo.cancel=function(_52){
if(_52){
window.clearTimeout(_52);
}
};
turbo.jobs=[];
turbo.job=function(_53,_54,_55){
turbo.cancel(turbo.jobs[_53]);
var job=function(){
delete turbo.jobs[_53];
_55();
};
turbo.jobs[_53]=turbo.defer(job,_54);
};
turbo.getFunction=turbo.stringToReference;
turbo.$=function(_57,_58){
return (!_57?null:(!dojo.lang.isString(_57)?_57:(_58?_58:document).getElementById(_57)));
};
turbo.create=function(_59){
return document.createElement(_59);
};
turbo.remove=function(_5a){
_5a=turbo.$(_5a);
if(_5a&&_5a.parentNode){
_5a.parentNode.removeChild(_5a);
}
return _5a;
};
turbo.append=function(_5b,_5c){
(_5c?_5c:document.body).appendChild(_5b);
};
turbo.addBodyNode=function(_5d){
document.body.appendChild(_5d);
};
turbo.addHeadNode=function(_5e){
document.getElementsByTagName("head").item(0).appendChild(_5e);
};
turbo.marshall=function(){
var id="";
var _60=dj_global;
for(var i=0;i<arguments.length;i++){
id=arguments[i];
if(i==0&&!dojo.lang.isString(i)){
_60=id;
}else{
if(!_60[id]){
_60[id]=turbo.$(id);
}
}
}
return dj_global[id];
};
turbo.getTagName=function(_62){
var _63=turbo.$(_62);
return (_63&&_63.tagName?_63.tagName.toLowerCase():"");
};
turbo.indexInParent=function(_64){
var i=0,n,p=_64.parentNode;
while(n=p.childNodes[i++]){
if(n==_64){
return i-1;
}
}
return -1;
};
turbo.kids=function(_66,_67){
var _68=[];
var i=0,n;
while(n=_66.childNodes[i++]){
if(turbo.getTagName(n)==_67){
_68.push(n);
}
}
return _68;
};
turbo.divkids=function(_6a){
return turbo.kids(_6a,"div");
};
turbo.nthkid=function(_6b,inN,_6d){
var _6e=[];
var i=0,n;
while(n=_6b.childNodes[i++]){
if(turbo.getTagName(n)==_6d){
if(inN--==0){
return n;
}
}
}
return null;
};
turbo.nthdiv=function(_70,inN){
return turbo.nthkid(_70,inN,"div");
};
turbo.capture=function(_72){
if(_72.setCapture){
_72.setCapture();
}else{
document.addEventListener("mousemove",_72.onmousemove,true);
document.addEventListener("mouseup",_72.onmouseup,true);
}
};
turbo.release=function(_73){
if(_73.releaseCapture){
_73.releaseCapture();
}else{
document.removeEventListener("mousemove",_73.onmousemove,true);
document.removeEventListener("mouseup",_73.onmouseup,true);
}
};
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(_75){
var i=new Image();
i.src=_75;
turbo.preloads.push(i);
};
turbo.setCursor=function(_77){
document.body.style.cursor=_77;
};
turbo.setBusyCursor=function(){
turbo.setCursor("wait");
};
turbo.setDefaultCursor=function(){
turbo.setCursor("default");
};
turbo.getSelectValue=function(_78){
var s=turbo.$(_78);
if(!s){
return "";
}
with(s.options[s.selectedIndex]){
return (value?value:innerHTML);
}
};
turbo.getCellIndex=function(_7a){
if(_7a.cellIndex){
return _7a.cellIndex;
}
var _7b=_7a.parentNode.cells;
var l=_7b.length;
for(var i=0;i<l;i++){
if(_7a==_7b[i]){
return i;
}
}
return -1;
};
turbo.getRowIndex=function(_7e){
if(_7e.rowIndex&&_7e.rowIndex>=0){
return _7e.rowIndex;
}
var _7f=_7e.parentNode.childNodes;
for(var i=0,l=_7f.length;i<l;i++){
if(_7e==_7f[i]){
return i;
}
}
return -1;
};
turbo.getTableRow=function(_81,_82){
if(!_81){
return null;
}
if(_81.rows&&_81.rows.length>0){
return _81.rows[_82];
}else{
if(_81.childNodes.length>_82){
return _81.childNodes[_82];
}else{
return null;
}
}
};
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(_83){
if(_83&&_83!=document.body){
return {w:dojo.style.getContentBoxWidth(_83),h:dojo.style.getContentBoxHeight(_83)};
}else{
return turbo.getWindowSize();
}
};
turbo.getInnerSize=function(_84){
if(_84&&_84!=document.body){
return {w:dojo.style.getBorderBoxWidth(_84),h:dojo.style.getBorderBoxHeight(_84)};
}else{
return turbo.getWindowSize();
}
};
turbo.getOuterSize=function(_85){
if(_85&&_85!=document.body){
return {w:dojo.style.getMarginBoxWidth(_85),h:dojo.style.getMarginBoxHeight(_85)};
}else{
return turbo.getWindowSize();
}
};
turbo.setContentSize=function(_86,inW,inH){
var siz=turbo.getContentSize(_86);
if(inW>0&&inW!=siz.w){
_86.style.width=inW+"px";
}
if(inH>0&&inH!=siz.h){
_86.style.height=inH+"px";
}
};
turbo.setOuterSize=function(_8a,inW,inH){
if(inW>=0){
dojo.style.setMarginBoxWidth(_8a,inW);
}
if(inH>=0){
dojo.style.setMarginBoxHeight(_8a,inH);
}
};
turbo.setBounds=function(_8d,inL,inT,inW,inH){
if(!_8d){
return;
}
with(_8d.style){
if(inL>=0){
left=inL+"px";
}
if(inT>=0){
top=inT+"px";
}
}
turbo.setOuterSize(_8d,inW,inH);
};
turbo.setStyle=function(_92,_93,_94){
if(_92&&_92.style[_93]!=_94){
_92.style[_93]=_94;
}
};
turbo.setStyleLeftPx=function(_95,_96){
turbo.setStyle(_95,"left",_96+"px");
};
turbo.setStyleTopPx=function(_97,_98){
turbo.setStyle(_97,"top",_98+"px");
};
turbo.setStyleWidthPx=function(_99,_9a){
if(_9a>=0){
turbo.setStyle(_99,"width",_9a+"px");
}
};
turbo.setStyleHeightPx=function(_9b,_9c){
if(_9c>=0){
turbo.setStyle(_9b,"height",_9c+"px");
}
};
turbo.setStyleSizePx=function(_9d,_9e,_9f){
turbo.setStyleWidthPx(_9d,_9e);
turbo.setStyleHeightPx(_9d,_9f);
};
turbo.setStyleBoundsPx=function(_a0,_a1,_a2,_a3,_a4){
turbo.setVisibility(_a0,false);
turbo.setStyleLeftPx(_a0,_a1);
turbo.setStyleTopPx(_a0,_a2);
turbo.setStyleWidthPx(_a0,_a3);
turbo.setStyleHeightPx(_a0,_a4);
turbo.setVisibility(_a0,true);
};
turbo.setOuterStyleWidthPx=function(_a5,_a6){
if(_a5){
dojo.style.setMarginBoxWidth(_a5,_a6);
}
};
turbo.setOuterStyleHeightPx=function(_a7,_a8){
if(_a7){
dojo.style.setMarginBoxHeight(_a7,_a8);
}
};
turbo.debugOut=function(_a9){
dojo.debug(_a9);
};
turbo.debugArray=function(_aa){
for(var i=0,l=_aa.length;i<l;i++){
if(_aa[i]){
turbo.debug(i+":",_aa[i]);
}
}
};
turbo.debugNode=function(_ac,_ad){
turbo.debugOut(_ad+"(node) "+_ac.tagName);
};
turbo.debugObjs=[];
turbo.debugObject=function(_ae,_af){
if(!_af){
_af="";
}
if(_ae.nodeName){
turbo.debugNode(_ae,_af);
}else{
if(_af.length>6*10){
turbo.debugOut(_af+"too deep");
}else{
if(dojo.lang.inArray(turbo.debugObjs,_ae)){
turbo.debugOut(_af+"(circular reference)");
}else{
var l=turbo.debugObjs.length;
turbo.debugObjs.push(_ae);
try{
for(var _b1 in _ae){
var obj=_ae[_b1];
s=_af+"| "+_b1;
if(obj!=null&&typeof (obj)=="object"){
turbo.debugOut(s+" = ("+(obj instanceof Array?"array":"object")+")");
turbo.debugObject(obj,_af+"......");
}else{
turbo.debugOut(s+" = "+obj);
}
}
}
finally{
delete turbo.debugObjs[l];
}
}
}
}
};
turbo.debugTop=function(_b3,_b4){
if(!_b4){
_b4="";
}
for(var _b5 in _b3){
var obj=_b3[_b5];
s=_b4+_b5;
if(obj!=null&&typeof (obj)=="object"){
turbo.debugOut(s+" = ("+(obj instanceof Array?"array":"object")+")");
}else{
turbo.debugOut(s+" = "+obj);
}
}
};
turbo.debugf=function(){
turbo.debug(turbo.printf.apply(turbo,arguments));
};
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.debugTop(arguments[i]);
}else{
turbo.debugOut(arguments[i]);
}
}
}
};
turbo.setShowing=function(_b9,_ba){
_b9=turbo.$(_b9);
if(_b9&&_b9.style){
_b9.style.display=(_ba?"":"none");
}
};
turbo.showHide=function(){
var l=arguments.length-1;
var _bc=arguments[l];
if(_bc!==true&&_bc!==false){
_bc=true;
l++;
}
for(var i=0;i<l;i++){
turbo.setShowing(arguments[i],_bc);
}
};
turbo.show=turbo.showHide;
turbo.hide=function(){
var l=arguments.length;
for(var i=0;i<l;i++){
turbo.setShowing(arguments[i],false);
}
};
turbo.isShowing=function(_c0){
_c0=turbo.$(_c0);
if(!_c0||(_c0["style"]&&dojo.style.getComputedStyle(_c0,"display")=="none")){
return false;
}else{
if(_c0["parentNode"]&&_c0.parentNode&&_c0.parentNode!=document.body){
return turbo.showing(_c0.parentNode);
}else{
return true;
}
}
};
turbo.showing=turbo.isShowing;
turbo.setVisibility=function(_c1,_c2){
_c1=turbo.$(_c1);
if(_c1&&_c1.style){
_c1.style.visibility=(_c2?"":"hidden");
}
};
turbo.setStyleProperties=function(_c3,_c4){
if(!_c3||!_c3.style){
return;
}
for(var i in _c4){
if(i=="opacity"){
dojo.style.setOpacity(_c3,_c4[i]);
}else{
if(i in _c3.style){
_c3.style[i]=_c4[i];
}
}
}
};
turbo.clean=function(_c6){
if(!_c6){
return;
}
var _c7=function(inW){
return inW.domNode&&dojo.dom.isDescendantOf(inW.domNode,_c6,true);
};
var ws=dojo.widget.byFilter(_c7);
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(_c6);
};
turbo.killEvent=function(e){
if(e){
dojo.event.browser.stopEvent(e);
}
};
turbo.parseWidgets=function(_cd,_ce){
try{
var n,parser=new dojo.xml.Parse(),sids=(_ce?_ce:djConfig.searchIds);
if(sids&&sids.length>0){
for(var i=0,l=sids.length;i<l;i++){
n=document.getElementById(sids[i]);
if(n){
dojo.widget.getParser().createComponents(parser.parseElement(n,null,true));
}
}
}else{
dojo.widget.getParser().createSubComponents(parser.parseElement(_cd,null,true));
}
}
catch(e){
turbo.debug("turbo.makeWidgets: an exception was thrown",e);
}
};
turbo.scripts=[];
turbo.loadScript=function(_d1){
if(turbo.scripts[_d1]){
return;
}
turbo.scripts[_d1]=true;
dojo.io.bind({url:_d1,load:function(_d2,_d3){
},error:function(_d4,_d5){
},mimetype:"text/javascript",sync:true});
};
turbo.loadScriptByTag=function(_d6){
if(turbo.scripts[_d6]){
return;
}
turbo.scripts[_d6]=true;
var _d7=document.createElement("script");
_d7.type="text/javascript";
_d7.language="JavaScript";
turbo.addHeadNode(_d7);
_d7.src=_d6;
};
dojo.provide("turbo.lib.align");
dojo.require("turbo.turbo");
turbo.aligner=new function(){
this.enabled=false;
this.targets=[];
this.getAlignment=function(_d8){
return _d8.getAttribute("turboAlign")||_d8.getAttribute("turboalign");
};
this.visible=function(_d9){
return (dojo.style.getComputedStyle(_d9,"display")!="none");
};
this.listChildrenByAlignment=function(_da,_db){
var _dc=[];
var _dd=_da.firstChild;
while(_dd){
if(_dd.nodeType==1&&this.getAlignment(_dd)==_db&&this.visible(_dd)){
_dc.push(_dd);
}
_dd=_dd.nextSibling;
}
return _dc;
};
this.listAlignedChildren=function(_de){
var _df={none:[],top:[],left:[],client:[],right:[],bottom:[]};
var _e0=_de.firstChild;
while(_e0){
if(_e0.nodeType==1&&this.visible(_e0)){
var _e1=this.getAlignment(_e0);
if(_e1){
if(_df[_e1]){
_df[_e1].push(_e0);
}else{
_df[_e1]=[_e0];
}
}
}
_e0=_e0.nextSibling;
}
return _df;
};
this.setStylePosition=function(_e2,_e3){
if(_e2.style.position!=_e3){
_e2.style.position=_e3;
}
};
this.normalizeAlignedElement=function(_e4){
this.setStylePosition(_e4,"absolute");
};
this.alignElement=function(_e5,inL,inT,inW,inH){
this.normalizeAlignedElement(_e5);
turbo.setBounds(_e5,inL,inT,inW,inH);
this.alignChildren(_e5);
};
this.alignChildren=function(_ea){
var _eb=this.listAlignedChildren(_ea);
var siz=turbo.getContentSize(_ea);
var top=dojo.style.getPixelValue(_ea,"padding-top",true);
var _ee=dojo.style.getPixelValue(_ea,"padding-left",true);
var l,r,t,b,w,h,c,aligns;
aligns=_eb.none;
for(var i=0;i<aligns.length;i++){
var p=dojo.style.getComputedStyle(aligns[i],"position");
if(p!="relative"&&p!="absolute"){
this.setStylePosition(aligns[i],"relative");
}
}
aligns=_eb.top;
t=top;
for(var i=0;i<aligns.length;i++){
this.alignElement(aligns[i],_ee,t,siz.w);
t+=aligns[i].offsetHeight;
}
aligns=_eb.bottom;
b=siz.h+top;
c=aligns.length;
for(var i=c-1;i>=0;i--){
b-=aligns[i].offsetHeight;
this.alignElement(aligns[i],_ee,b,siz.w);
}
h=b-t;
aligns=_eb.left;
l=_ee;
for(var i=0;i<aligns.length;i++){
this.alignElement(aligns[i],l,t,-1,h);
l+=aligns[i].offsetWidth;
}
aligns=_eb.right;
r=siz.w+_ee;
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=_eb.client;
for(var i=0;i<aligns.length;i++){
this.alignElement(aligns[i],l,t,w,h);
break;
}
aligns=_eb.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(_f3){
turbo.aligner.alignChildren(_f3);
};
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(_f4){
turbo.defer(turbo.aligner.align,(_f4?_f4:200));
};
this.enable=function(_f5){
turbo.aligner.enabled=(_f5!==false);
};
this.start=function(){
turbo.aligner.enable();
turbo.aligner.alignLater(500);
};
this.addTarget=function(_f6){
var e=(dojo.lang.isString(_f6)?turbo.$(_f6):_f6);
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 _f9=dj_global;
for(var i=0;i<arguments.length;i++){
id=arguments[i];
if(!_f9[id]){
_f9[id]=turbo.$(id);
}
}
return _f9[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");
if(turbo.app.bodyOverflow!=undefined){
document.body.style.overflow=turbo.app.bodyOverflow;
}
if(turbo.turbo_disable_curtain||djConfig["turbo_disable_curtain"]){
this.showPageBody();
}
},encurtain:function(){
var d=document.createElement("div");
d.innerHTML=turbo.app.curtainHtml;
d.id="turboCurtain";
turbo.app.bodyOverflow=document.body.style.overflow;
document.body.style.overflow="hidden";
var siz=turbo.getContentSize(document.body);
with(d.style){
position="absolute";
zIndex=9999;
top="0";
left="0";
width="9999px";
height="9999px";
backgroundColor="white";
padding="16px";
}
document.body.insertBefore(d,document.body.firstChild);
this.showPageBody();
},showPageBody:function(){
document.body.style.display="block";
},init:function(){
},initialize:function(){
if(!turbo.turbo_disable_curtain&&!djConfig["turbo_disable_curtain"]){
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(_fd){
var _fe=dojo.widget.getWidgetsByType("TurboGridClassic");
for(var i=0;i<_fe.length;i++){
turbo.showHide(_fe[i].domNode,_fd);
}
};
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(_100){
var l=document.createElement("link");
l.setAttribute("rel","stylesheet");
l.setAttribute("type","text/css");
l.setAttribute("href",_100+"/base.css");
return l;
};
turbo.stylesheet.getLink=function(_102){
var l=turbo.stylesheet.links[_102];
if(!l){
l=turbo.stylesheet.create(_102);
turbo.addHeadNode(l);
turbo.stylesheet.links[_102]=l;
}
return l;
};
turbo.stylesheet.getLinkSheet=function(_104){
var s=null;
if(!_104.addRule){
turbo.debug("stylesheet has no addRule method");
if(_104.styleSheet){
s=_104.styleSheet;
}else{
turbo.debug("turbo.stylesheet.getLinkSheet: link has no .styleSheet property");
}
}
return s;
};
turbo.stylesheet.loaded=function(_106){
if(!_106||turbo.stylesheet.cssFiles[_106]){
return true;
}
turbo.stylesheet.cssFiles[_106]=true;
return false;
};
turbo.stylesheet.append=function(_107){
if(turbo.stylesheet.loaded(_107)){
return;
}
var t=turbo.time();
dojo.io.bind({url:_107,sync:true,load:function(_109,_10a){
turbo.stylesheet._append(_107,_10a);
},error:function(e,m){
turbo.debug(m.message+": "+_107);
}});
};
turbo.stylesheet._append=function(_10d,_10e){
var s=turbo.stylesheet.getLink(turbo.pathpop(_10d)).styleSheet;
if(!s||!s.addRule){
return;
}
var _110=/(\/\*[\s\S]*?\*\/)/g;
_10e=_10e.replace(_110,"");
var _110=/[\s]*([^{]*)({[^}]*})/g;
while((result=_110.exec(_10e))!=null){
var rule=result[2];
var _112=result[1].split(",");
for(var i in _112){
s.addRule(_112[i],rule);
}
}
};
turbo.stylesheet.importStyleSheet=function(_114){
if(turbo.stylesheet.loaded(_114)){
return;
}
dojo.style.insertCssFile(_114);
};
turbo.stylesheet.importThemeFile=function(_115){
if(turbo.by_hand_css||djConfig["turbo_hand_css"]){
return;
}
if(turbo.fine_css||djConfig["turbo_fine_css"]){
if(dojo.render.html.ie){
turbo.stylesheet.append(_115);
}else{
turbo.stylesheet.importStyleSheet(_115);
}
}else{
turbo.stylesheet.importStyleSheet(turbo.pathpop(_115)+"/theme.css");
}
};
turbo.themes=new function(){
this.theme="";
this.themeable=[];
this.addThemeable=function(_116){
this.themeable.push(_116);
};
this.removeThemeable=function(_117){
for(var i in this.themeable){
if(this.themeable[i]==_117){
this.themeable.splice(i,1);
return;
}
}
};
this.setTheme=function(_119){
this.theme=(_119&&_119.toLowerCase()!="xp"?_119:"default");
for(var i=0,l=this.themeable.length;i<l;i++){
this.themeable[i].setTheme(this.theme);
}
if(turbo["aligner"]){
turbo.defer(turbo.aligner.align,250);
turbo.defer(turbo.aligner.align,1000);
}
};
};
dojo.addOnLoad(function(){
dojo.html.addClass(document.body,(dojo.render.html.moz?"turbo-gecko":(dojo.render.html.ie?"turbo-ie":"")));
});
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(_11b){
turbo.loadScript(dojo.hostenv.getBaseScriptUri()+_11b);
};
turbo.loadCss=function(_11c){
turbo.stylesheet.importThemeFile(dojo.hostenv.getBaseScriptUri()+_11c);
};
turbo.setWidgetType=function(_11d,_11e){
if(_11d.widgetType=="HtmlWidget"){
_11d.widgetType=_11e;
}
};
dojo.widget.HtmlTurboWidget=function(){
dojo.widget.HtmlWidget.call(this);
this.themeRoot=turbo.themeRoot;
this.templateRoot=turbo.templateRoot;
this.templatePath=dojo.uri.dojoUri(turbo.templateRoot+this.widgetType+".html");
this.styleRoot=(this.styleRoot||this.widgetType);
this.isContainer=false;
this.debuggable=true;
this.style="";
this.theme="";
this.themeable=true;
this.turboalign="";
this.themeJs=false;
this.turboCreate=function(){
};
this.turboDestroy=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);
}
this.className=this.extraArgs["class"];
if(this.className){
this.domNode.className=this.className;
}
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.turboCreate();
};
this.uninitialize=function(){
if(this.themeable){
turbo.themes.removeThemeable(this);
}
this.turboDestroy();
};
this.bindArgEvent=function(_11f,_120){
if(_120[_11f]){
this[_11f]=turbo.getFunction(_120[_11f]);
}
};
this.bindArgEvents=function(_121){
return;
for(var arg in _121){
if(dojo.lang.isFunction(this[arg])){
var _123=_121[arg];
if(_123.search(/[^\w\.]+/i)==-1){
var func=turbo.getFunction(_123);
if(func){
this[arg]=func;
}else{
this.debug("bindArgEvents","could not bind \""+arg+"\" to \""+_123+"\"");
}
}
}
}
};
this.connectEvents=function(_125){
for(var i=1,l=arguments.length;i<l;i++){
dojo.event.connect(_125,"on"+arguments[i].toLowerCase(),this,"do"+arguments[i]);
}
};
this.getWidgetFragment=function(_127){
return _127["dojo:"+this.widgetType.toLowerCase()];
};
this.createChildWidgets=function(_128){
dojo.widget.getParser().createSubComponents(_128);
return;
};
this.installChildren=function(_129,_12a){
this.createChildWidgets(_129);
var _12b=(_12a?_12a:this.domNode);
dojo.dom.moveChildren(this.getFragNodeRef(_129),_12b);
};
this.getStylePath=function(_12c){
return this.themeRoot+(_12c?_12c:"default")+"/"+this.styleRoot+_12c;
};
this.loadStyle=function(_12d){
var p=this.getStylePath(_12d);
turbo.loadCss(p+".css");
if(this.themeJs){
turbo.loadJs(p+"Theme.js");
}
};
this.setStyle=function(_12f){
this.style=(_12f=="default"?"":_12f);
this.loadStyle(this.style);
this.styleChanged();
};
this.setTheme=function(_130){
this.loadStyle("");
if(!this.themeable){
return;
}
if(_130&&(_130.charAt(0)=="+")){
this.themeable=false;
_130=_130.substring(1);
}
this.setStyle(_130);
};
this.styleChanged=function(){
};
this.setStyledClass=function(_131,_132){
if(!_132){
_132="";
}
_131.className=this.classTag+_132+(this.style?" "+this.classTag+this.style+_132:"");
};
this.setClassName=this.setStyledClass;
this.debug=function(_133,_134){
if(this.debuggable){
turbo.debug(this.widgetId+" ["+this.widgetType+"]: "+_133+": "+turbo.printf.apply(turbo,turbo.cloneArguments(arguments,1)));
}
};
this.showHide=function(_135){
if(_135){
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={};
turbo.button.groups=[];
turbo.button.states={normal:0,down:1,disabled:2,over:3,selected:1};
turbo.button.add=function(_136,_137){
if(!turbo.button.groups[_136]){
turbo.button.groups[_136]=[];
}
turbo.button.groups[_136].push(_137);
};
turbo.button.remove=function(_138,_139){
if(!_138||!_139){
return;
}
var g=turbo.button.groups[_138];
if(!g){
return;
}
for(var i=0,l=g.length;i<l;i++){
if(g[i]==_139){
delete g[i];
return;
}
}
};
turbo.button.resetGroup=function(_13c){
var g=turbo.button.groups[_13c];
if(!g){
return;
}
for(i=0,l=g.length;i<l;i++){
if(g[i]&&g[i].state!=turbo.button.states.disabled){
g[i].setState(turbo.button.states.normal);
}
}
};
dojo.widget.TurboButtonBase=function(){
dojo.widget.HtmlTurboWidget.call(this);
this.states=turbo.button.states;
this.state="normal";
this.focusOnClick=true;
this.group="";
this.toggle="";
this.value="";
this.innerWidth=0;
this.repeating=false;
this.event=null;
this.type="button";
this.mouseDownState=-1;
this.btn=null;
this.btnNode=null;
this.onClick=function(_13e){
};
this.onDown=function(_13f){
};
this.onUp=function(_140){
};
this.initButton=function(_141){
this.bindArgEvents(_141);
if(this.btnNode){
var w=this.innerWidth||this.extraArgs["width"];
if(w){
this.btnNode.style.width=w+"px";
}
this.btnNode.setAttribute("autocomplete","off");
}
if(this.state){
if(parseInt(this.state)){
this.state=parseInt(this.state);
}else{
this.state=this.states[this.state];
}
}
this.setState(this.state);
this.setGroup(this.group);
};
this.turboDestroy=function(){
turbo.button.remove(this.group,this);
};
this.styleChanged=function(){
this.updateButton();
};
this.updateButton=function(_143){
dojo.debug("abstract function TurboButtonBase.updateButton invoked.");
};
this.setGroup=function(_144){
if(_144){
this.group=_144;
this.toggle=true;
turbo.button.add(this.group,this);
}
};
this.setState=function(_145){
if(dojo.lang.isString(_145)){
_145=(_145?this.states[_145]:this.states.normal);
}
if(this.group&&_145==this.states.down){
turbo.button.resetGroup(this.group);
}
this.state=_145;
this.delayedState=this.state;
this.updateButton();
this.domNode.setAttribute("tabindex",(this.isDisabled()?"-1":"0"));
};
this.isDisabled=function(){
return (this.state==this.states.disabled);
};
this.isDown=function(){
return (this.state==this.states.down);
};
this.isUp=function(){
return (this.state==this.states.normal);
};
this.show=function(){
turbo.show(this.domNode);
};
this.hide=function(){
turbo.hide(this.domNode);
};
this.blur=function(){
if(this.btn){
this.btn.blur();
}
};
this.focus=function(){
if(dojo.render.html.safari){
return;
}
if(this.btn && this.btn.focus){
this.btn.focus();
}
};
this.delayedSetState=function(){
if(this.state!=this.delayedState){
this.setState(this.delayedState);
}
this.delayedState=this.state;
};
this.doMouseOver=function(){
if(!this.isDisabled()&&(!this.toggle||!this.isDown())){
this.setState(this.states.over);
}
};
this.doMouseOut=function(){
if(!this.isDisabled()&&(!this.toggle||!this.isDown())){
this.delayedState=this.states.normal;
window.setTimeout(turbo.bind(this,this.delayedSetState),1);
}
};
this.doMouseDown=function(_146){
turbo.killEvent(_146);
if(this.isDisabled()){
return;
}
if(this.mouseDownState==-1){
this.mouseDownState=this.state;
}
this.setState(this.states.down);
var btn=this.btn;
this.onDown(_146);
};
this.doMouseUp=function(_148){
turbo.killEvent(_148);
if(this.isDisabled()){
return;
}
if(!this.toggle){
this.setState(this.states.normal);
}
this.onUp(_148);
};
this._click=function(_149){
if(this.toggle){
var _14a=(this.mouseDownState>-1?this.mouseDownState:this.state);
if(!this.group||_14a!=this.states.down){
this.setState(_14a!=this.states.down?this.states.down:this.states.normal);
}
this.mouseDownState=-1;
}
this.event=_149;
switch(this.type){
case "submit":
case "reset":
var form=dojo.dom.getFirstAncestorByTag(this.btn,"form");
if(form){
form[this.type]();
}
break;
}
this.onClick(_149);
turbo.killEvent(_149);
};
this.doClick=function(_14c){
if(this.isDisabled()){
turbo.killEvent(_14c);
return;
}
if(this.focusOnClick){
this.focus();
}
this._click(_14c);
};
this.doKeyDown=function(_14d){
switch(_14d.keyCode){
case _14d.KEY_ENTER:
case _14d.KEY_SPACE:
this.keyDown=_14d.keyCode;
this.doMouseDown(null);
if(this.repeating){
turbo.defer(turbo.bindArgs(this,"doMouseUp",null),10);
this._click(_14d);
}
}
};
this.doKeyUp=function(_14e){
if(this.repeating||this.keyDown!=_14e.keyCode){
return;
}
this.keyDown=0;
switch(_14e.keyCode){
case _14e.KEY_ENTER:
case _14e.KEY_SPACE:
this.doMouseUp(null);
this._click(_14e);
}
};
};
dojo.widget.HtmlTurboButton=function(){
turbo.setWidgetType(this,"TurboButton");
dojo.widget.TurboButtonBase.call(this);
this.templatePath=null;
this.templateString="<span dojoAttachPoint=\"btn\" tabindex=\"0\" hidefocus=\"hidefocus\"></span>";
this.classTag="turbo-button";
this.focused=false;
this.glyph="";
this.glyphAfter=false;
this.hideLeft="";
this.hideRight="";
this.themeJs=true;
this.btn=null;
this.btnClient=null;
this.btnMid=null;
this.btnLeft=null;
this.btnRight=null;
this.fillInTemplate=function(_14f,_150){
if(this.extraArgs["gecko"]||(dojo.render.html.moz&&dojo.dom.getFirstAncestorByTag(this.getFragNodeRef(_150),"table"))){
dojo.widget.HtmlTurboGeckoButton.call(this);
}
this.createNodes();
this.btnNode=this.btnMid;
this.initButton(_14f);
if(this.hideLeft){
this.btnLeft.style.display="none";
}
if(this.hideRight){
this.btnRight.style.display="none";
}
if(!this.value){
var node=this.getWidgetFragment(_150).nodeRef;
if(node.innerHTML){
this.value=node.innerHTML;
}
}
if(this.width){
turbo.setStyleWidthPx(this.btnMid,this.width);
}
this.glyph=this.glyph||this.extraArgs["image"];
this.setContent(this.value,this.glyph);
this.connectEvents(this.btn,"MouseOver","MouseOut","MouseDown","MouseUp","Click","KeyDown","KeyUp","Focus","Blur");
};
this.createNodes=function(){
var html="<span class=\"turbo-button-client\"><span class=\"turbo-button-left\"></span><span class=\"turbo-button-mid\"></span><span class=\"turbo-button-right\"></span></span>";
this.btn.innerHTML=html;
this.btnClient=this.btn.childNodes[0];
var cn=this.btnClient.childNodes;
this.btnLeft=cn[0];
this.btnMid=cn[1];
this.btnRight=cn[2];
};
this.disableSelectionRecurse=function(_154){
dojo.html.disableSelection(_154);
};
this.getButtonClass=function(){
return ["","-down","-disabled","-over"][this.state];
};
this.setButtonClasses=function(){
var cn=this.getButtonClass();
var bccn=this.classTag+"-client"+(cn?" "+this.classTag+cn:"");
if(this.focused&&!this.isDown()&&!this.isDisabled()){
bccn+=" "+this.classTag+"-focus";
}
this.btnClient.className=bccn;
this.btnLeft.className=this.classTag+"-left";
this.btnMid.className=this.classTag+"-mid"+(dojo.render.html.ie?" "+this.classTag+"-mid-ie":"");
this.btnRight.className=this.classTag+"-right";
};
this.doFocus=function(_157){
this.focused=true;
this.setButtonClasses();
};
this.doBlur=function(_158){
this.focused=false;
this.setButtonClasses();
};
this.updateButton=function(){
this.setStyledClass(this.domNode,"");
this.setButtonClasses();
};
this.getContent=function(_159,_15a){
var h=_159;
if(!dojo.render.html.safari){
h="<span>"+h+"</span>";
}
if(_15a){
var g="<img src=\""+_15a+"\">";
if(this.glyphAfter){
h=h+g;
}else{
h=g+h;
}
}
return h;
};
this.setContent=function(_15d,_15e){
this.btnMid.innerHTML=this.getContent(_15d,_15e);
this.disableSelectionRecurse(this.btnMid);
};
};
dojo.inherits(dojo.widget.HtmlTurboButton,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbobutton");
dojo.widget.HtmlTurboGeckoButton=function(){
this.updateButton=function(){
this.setStyledClass(this.domNode,"");
dojo.html.addClass(this.domNode,"turbo-gecko-button");
this.setButtonClasses();
};
this.createNodes=function(){
var html="<span><button disabled=\"disabled\">&#160;</button><button tabindex=\"-1\">Caption</button><button disabled=\"disabled\">&#160;</button></span>";
this.btn.innerHTML=html;
this.btnClient=this.btn.childNodes[0];
var cn=this.btnClient.childNodes;
this.btnLeft=cn[0];
this.btnMid=cn[1];
this.btnRight=cn[2];
};
};
dojo.widget.HtmlTurboTab=function(){
this.widgetType="TurboTab";
dojo.widget.HtmlTurboButton.call(this);
this.classTag="turbo-tab";
this.focusOnClick=false;
this.downEvent=null;
this.onGlyphClick=function(_161){
};
this.getContent=function(_162,_163){
return "<span>"+_162+"</span>";
};
this.setContent=function(_164,_165){
this.btnMid.innerHTML=this.getContent(_164,_165);
if(arguments.length>1){
this.setGlyph(_165);
}
this.disableSelectionRecurse(this.btnMid);
};
this.setGlyph=function(_166){
this.glyph=_166;
var n=this.btnMid.childNodes[0];
if(this.glyph){
n.className=this.classTag+"-bg"+(this.glyphAfter?"-right":"-left");
n.style.backgroundImage="url("+this.glyph+")";
}else{
n.style.backgroundImage="";
}
};
this.isGlyphEvent=function(_168){
if(!_168||_168.keyCode||!this.glyph){
return false;
}
var x=_168.clientX-dojo.style.getAbsoluteX(this.domNode);
return (this.glyphAfter?x>this.domNode.offsetWidth-16:x<16);
};
this.superDoMouseDown=this.doMouseDown;
this.doMouseDown=function(_16a){
turbo.killEvent(_16a);
if(this.isDisabled()){
return;
}
this.downEvent=_16a;
if(this.isGlyphEvent(this.downEvent)){
return;
}
this.superDoMouseDown(_16a);
};
this.superDoMouseUp=this.doMouseUp;
this.doMouseUp=function(_16b){
turbo.killEvent(_16b);
if(this.isDisabled()){
return;
}
if(this.isGlyphEvent(this.downEvent)){
return;
}
this.superDoMouseDown(_16b);
};
this.super_Click=this._click;
this._click=function(_16c){
if(!this.isGlyphEvent(this.downEvent)){
this.super_Click(_16c);
}else{
if(this.isGlyphEvent(_16c)){
return this.onGlyphClick(_16c);
}
}
};
};
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\"><div dojoAttachPoint=\"div\"><img dojoAttachPoint=\"img\"></div></button>";
this.classTag="turbo_toolbtn";
this.glyph="";
this.image="";
this.caption="";
this.span=null;
this.div=null;
this.img=null;
this.fillInTemplate=function(_16d){
this.btnNode=this.btn;
this.initButton(_16d);
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.connectEvents(this.btn,"MouseOver","MouseOut","MouseDown","MouseUp","Click","KeyDown","KeyUp");
};
this.updateButton=function(){
this.btn.disabled=(this.state==this.states.disabled?"disabled":"");
this.setStyledClass(this.btn,["","_down","","_over"][this.state]);
};
this.setCaption=function(_16e){
if(!_16e){
return;
}
if(!this.span){
this.span=document.createElement("span");
this.btn.appendChild(this.span);
}
this.span.innerHTML=_16e;
};
this.setGlyph=function(_16f){
if(_16f){
this.img.src=_16f;
}else{
this.img.style.display="none";
}
};
this.set=function(_170,_171){
this.setCaption(_170);
this.setGlyph(_171);
};
};
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.fillInTemplate=function(_172){
this.btnNode=this.btn;
this.initButton(_172);
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(_174){
this.toggle=true;
this.createButtons();
this.btnNode=this.btn;
this.initButton(_174);
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.fillInTemplate=function(_177,_178){
if(this.width){
this.boxTable.style.width=this.width+"px";
}
this.setColor(this.color);
this.installChildren(_178,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(_179,_17a){
_179.style.backgroundImage="url("+this.imageRoot+"box"+this.color+"_0"+_17a+".gif)";
};
this.setColor=function(_17b){
this.color=_17b;
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(_17d,_17e){
this.createChildWidgets(_17e);
};
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(_17f){
};
this.onSelectTab=function(_180){
};
this.onTabGlyphClick=function(_181,_182,_183){
};
this.fillInTemplate=function(_184){
this.bindArgEvents(_184);
};
this.styleChanged=function(){
this.setStyledClass(this.domNode,"");
for(var i=0,l=this.children.length;i<l;i++){
this.children[i].setTheme(this.style);
}
};
this.registerTab=function(_186,_187){
_186.tabIndex=_187;
_186.onClick=this._tabClick;
_186.onGlyphClick=this._tabGlyphClick;
_186.setGroup(this.widgetId);
_186.setTheme(this.style);
};
this.inheritedRegisterChild=this.registerChild;
this.registerChild=function(_188,_189){
this.registerTab(_188,this.children.length);
return this.inheritedRegisterChild(_188,_189);
};
this.count=function(){
return this.children.length;
};
var self=this;
this._tabClick=function(_18b){
self.tabClick(this,_18b);
};
this._tabGlyphClick=function(_18c){
self.tabGlyphClick(this,_18c);
};
this.getTab=function(_18d){
return this.children[_18d];
};
this.tabGlyphClick=function(_18e,_18f){
this.onTabGlyphClick(_18e.tabIndex,_18e,_18f);
};
this.tabClick=function(_190,_191){
if(this.canSelectTab(_190.inTabIndex)===false){
return this.selectTab(this.tabIndex);
}
this.lastIndex=this.tabIndex;
this.tabIndex=_190.tabIndex;
this.onSelectTab(this.tabIndex);
};
this.selectTab=function(_192){
if(!this.goodIndex(_192)){
_192=this.count()-1;
}
this.tabIndex=_192;
if(_192>=0){
this.getTab(this.tabIndex).setState("down");
}
};
this.insertChild=function(_193,_194){
for(var i=_194,l=this.count();i<l;i++){
this.children[i].tabIndex++;
}
this.children.splice(_194,0,_193);
};
this.removeChild=function(_196){
for(var i=_196+1,l=this.count();i<l;i++){
this.children[i].tabIndex--;
}
this.children.splice(_196,1);
};
this.addTab=function(_198,_199){
var node=this.containerNode;
var _19b="last";
var _19c=this.count();
if(arguments.length>1&&this.goodIndex(_199)){
node=this.children[_199].domNode;
_19b="before";
_19c=_199;
}
var _19d=dojo.widget.createWidget("TurboTab",_198,node,_19b);
this.insertChild(_19d,_19c);
this.registerTab(_19d,_19c);
if(this.count()==1){
this.selectTab(0);
this.tabClick(_19d);
}
};
this.removeTab=function(_19e){
if(this.goodIndex(_19e)){
var _19f=this.children[_19e];
this.removeChild(_19e);
_19f.destroy();
}
if(this.lastIndex==_19e){
this.lastIndex=-1;
}
if(this.tabIndex>_19e){
this.tabIndex--;
}
if(this.tabIndex==_19e){
var i=Math.min(this.count()-1,this.tabIndex);
this.tabIndex=-1;
if(i>=0){
this.selectTab(i);
this.tabClick(this.getTab(i));
}
}
};
this.goodIndex=function(_1a1){
return (_1a1>=0&&_1a1<this.count());
};
};
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.beforeOnLoad=true;
turbo.onloads=[];
turbo.doOnLoad=function(){
for(var i=0;i<turbo.onloads.length;i++){
turbo.onloads[i]();
}
turbo.onloads=[];
};
dojo.addOnLoad(function(){
turbo.beforeOnLoad=false;
turbo.doOnLoad();
});
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.macros="";
this.hasWidgets=true;
this.prefix="";
this._counter=0;
this.fillInTemplate=function(_1a3,_1a4){
this.bindArgEvents(_1a3);
dojo.html.prependClass(this.domNode,this.classTag);
if(!this.delayed){
this.request();
}
};
this.onLoading=function(_1a5){
};
this.onLoaded=function(){
};
this.setSrc=function(_1a6){
this.loaded=false;
this.src=_1a6;
if(!this.delayed){
this.request();
}
};
this.clear=function(){
turbo.clean(this.domNode);
dojo.dom.removeChildren(this.domNode);
};
this.load=function(_1a7){
if(!_1a7){
this.request();
}else{
this.delayed=false;
this.setSrc(_1a7);
}
};
this.request=function(){
if(this.loaded||!this.src){
return;
}
var _1a8={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(_1a8)===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,_1aa){
turbo.debug(_1aa);
};
this.receive=function(type,data,evt){
this.loaded=true;
if(this.onLoading(data)===false){
return;
}
turbo.clean(this.domNode);
if(this.manageIds){
data=this.uniquifyIds(data);
}
data=turbo.macros.insert(data,this.macros);
this.domNode.innerHTML=this.extractScript(data);
this.loadScript();
var _1ae=djConfig.searchIds;
delete djConfig.searchIds;
this.executeScript();
if(this.hasWidgets){
this.parseWidgets();
}
djConfig.searchIds=_1ae;
if(dojo.render.html.ie&&this.turboalign){
turbo.setStyleSizePx(this.domNode,1,1);
}
turbo.aligner.alignFrom(this.domNode.parentNode);
if(!turbo.beforeOnLoad){
turbo.doOnLoad();
}
this.onLoaded();
};
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(_1b0){
this._counter++;
var idp=this.getIdPrefix();
return turbo.stringReplace(_1b0,/(<[^>]*id=")([^"]*)/ig,function(w,pre,id){
return pre+idp+id;
});
};
this.extractScript=function(_1b5){
var _1b6=[];
var xml=turbo.stringReplace(_1b5,/<script[^>]*src="([^"]*)"[^>]*>[\s\S]*?<\/script>/ig,function(w,_1b9){
_1b6.push(_1b9);
return "";
});
this.sources=_1b6;
var _1ba=[];
var id=this.widgetId;
var xml=turbo.stringReplace(_1b5,/<script[^>]*>([\s\S]*?)<\/script>/ig,function(w,_1bd){
_1bd=turbo.stringReplace(_1bd,/%%module%%/ig,id);
_1ba.push(_1bd);
return "";
});
this.scripts=_1ba;
return xml;
};
this.loadScript=function(){
for(var i=0;i<this.sources.length;i++){
turbo.loadScript(this.sources[i]);
}
};
this.hookOnLoad=function(){
this.oldAddOnLoad=dojo.addOnLoad;
dojo.addOnLoad=function(_1bf){
turbo.onloads.push(_1bf);
};
};
this.unHookOnLoad=function(){
dojo.addOnLoad=this.oldAddOnLoad;
};
this.executeScript=function(){
this.hookOnLoad();
try{
for(var i=0;i<this.scripts.length;i++){
var _1c1="with (turbo.global) { "+this.scripts[i]+" }";
try{
eval(_1c1);
}
catch(e){
turbo.debug("TurboModule: exception evaluating module script");
turbo.debug("message = "+e.message,"fileName = "+e.fileName,"lineNumber = "+e.lineNumber);
dojo.debug("script = ["+_1c1+"]");
}
}
}
finally{
this.unHookOnLoad();
}
};
this.parseWidgets=function(){
turbo.parseWidgets(this.domNode);
};
};
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(_1c2,_1c3){
var _1c4=this.getFragNodeRef(_1c3);
for(var i=0;i<_1c4.childNodes.length;){
var n=_1c4.childNodes[i];
if(n.nodeType==1){
this.addPage(n);
}else{
i++;
}
}
this.parseChildWidgets(_1c3);
this.count=this.pages.length;
this._selectPage(0);
};
this.turboDestroy=function(){
turbo.clean(this.domNode);
};
this.goodIndex=function(_1c7){
return (_1c7>=0&&_1c7<this.pages.length);
};
this.getPage=function(_1c8){
if(this.goodIndex(_1c8)){
return this.pages[_1c8];
}else{
return null;
}
};
this.hidePage=function(_1c9){
if(this.goodIndex(_1c9)){
var p=this.getPage(_1c9);
if(turbo.showing(p)){
turbo.hide(p);
}
}
};
this.showPage=function(_1cb){
if(!this.goodIndex(_1cb)){
return;
}
this.requestModule(this.modules[_1cb]);
turbo.show(this.getPage(_1cb));
};
this.showHidePage=function(_1cc,_1cd){
if(_1cd){
this.showPage(_1cc);
}else{
this.hidePage(_1cc);
}
};
this.requestModule=function(_1ce){
if(_1ce&&_1ce.delayed){
_1ce.request();
}
};
this.parseChildWidgets=function(_1cf){
this.modules=[];
var _1d0=dojo.widget.getParser().createSubComponents(_1cf);
if(!_1d0.length){
return;
}
var self=this;
var each=function(w){
if(dojo.lang.isArray(w)){
dojo.lang.forEach(w,each);
}else{
if(w.widgetType=="TurboModule"){
var idx=(dojo.lang.indexOf(self.pages,w.domNode));
if(idx>=0){
self.modules[idx]=w;
}
}
}
};
dojo.lang.forEach(_1d0,each);
};
this.addPage=function(_1d5,_1d6,_1d7){
var _1d8=this.pages.length;
if(arguments.length>2&&_1d7>=0&&_1d7<=_1d8){
_1d8=_1d7;
}
if(this.pages.length>0){
if(this.selected>=_1d8){
this.selected++;
}
turbo.hide(_1d5);
}else{
this.selected=_1d8;
}
this.domNode.insertBefore(_1d5,this.getPage(_1d8));
this.pages.splice(_1d8,0,_1d5);
return _1d8;
};
this.addPageContent=function(_1d9,_1da,_1db){
var div=document.createElement("div");
div.innerHTML=_1d9;
return this.addPage(div,_1da,_1db);
};
this.removePage=function(_1dd){
if(!this.goodIndex(_1dd)){
return;
}
var page=this.pages[_1dd];
turbo.clean(page);
page.parentNode.removeChild(page);
this.pages.splice(_1dd,1);
if(this.selected>_1dd){
this.selected--;
}else{
if(this.selected==_1dd){
this.selected=-1;
}
}
};
this._selectPage=function(_1df){
this.showPage(_1df);
if(this.selected!=_1df){
this.hidePage(this.selected);
}
this.selected=_1df;
};
this.selectPage=function(_1e0){
if(!this.goodIndex(_1e0)){
return;
}
var page=this.getPage(_1e0);
if(!page.turboNotebookShown){
turbo.setVisibility(page,false);
}
this._selectPage(_1e0);
var _1e2=function(){
turbo.aligner.align();
turbo.setVisibility(page,true);
page.turboNotebookShown=true;
};
turbo.defer(_1e2,200);
turbo.aligner.alignLater(500);
};
};
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(_1e3,_1e4){
this.inheritedFillInTemplate(_1e3,_1e4);
turbo.defer(this,this.installPages,100);
};
this.installPages=function(){
if(this.contentId){
this.content=turbo.$(this.contentId);
}
if(!this.content){
this.content=this.domNode.nextSibling;
while(this.content&&this.content.nodeType&&this.content.nodeType!=1){
this.content=this.content.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.fillInTemplate=function(_1e5,_1e6){
this.bindArgEvents(_1e5);
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(_1e7){
if(_1e7!=undefined){
this.numPages=Number(_1e7);
}
this.numPages=(this.numPages<1)?1:this.numPages;
this.build();
};
this.setButtonList=function(_1e8){
this.buttonList={};
var list=_1e8.replace(/ /g,"").split(",");
for(var i in list){
if(!Array.prototype[i]){
this.buttonList[list[i]]=true;
}
}
};
this.initBuild=function(_1eb,_1ec){
turbo.defer(turbo.bindArgs(this,this.setPage,_1eb,_1ec),10);
};
this.getNumPages=function(){
return this.numPages;
};
this.getPage=function(){
return this.page;
};
this.setPage=function(_1ed,_1ee){
if(_1ee){
this.numPages=Number(_1ee);
}
_1ed=Number(_1ed);
if(!_1ed||_1ed<1||_1ed>this.numPages){
return;
}
this.lastValue=this.page;
this.page=_1ed;
this.build();
};
this.doResize=function(){
this.build();
};
this.pageClick=function(_1ef){
var node=_1ef.target;
if(node.disabled||!node.page){
return;
}
this.setPage(node.page);
this.onPageChange(this.page);
};
this.pageOver=function(_1f1){
var node=_1f1.target;
if(node==this.domNode||node.disabled||!node.page||node.page==this.page){
return;
}
node.className=this.buttonHighlightClass;
};
this.pageOut=function(_1f3){
var node=_1f3.target;
if(node==this.domNode||node.disabled||!node.page){
return;
}
node.className=this.getDefaultButtonClass(node);
};
this.getDefaultButtonClass=function(_1f5){
return (_1f5.disabled?this.buttonDisabledClass:(_1f5.page==this.page&&!isNaN(_1f5.innerHTML)?this.buttonSelectedClass:this.buttonClass));
};
this.getPageRange=function(_1f6){
var _1f6=(_1f6!=undefined?_1f6:this.numButtons);
if(this.numPages<=_1f6){
return {start:1,end:Math.max(1,this.numPages)};
}
var rp=Math.floor(Number(_1f6)/2);
var _1f8={};
_1f8.start=Math.max(1,Number(this.page)-rp);
if(this.numPages-_1f8.start<_1f6){
_1f8.start=this.numPages-(_1f6-1);
}
_1f8.end=_1f8.start+_1f6-1;
return _1f8;
};
this.inPageRange=function(_1f9,_1fa){
var _1fb=this.getPageRange(_1fa);
return (_1f9>=_1fb.start&&_1f9<=_1fb.end);
};
this.numFixedButtons=function(_1fc){
var w=0;
for(var i in _1fc){
if(i!="pages"&&i!="innerFirst"&&i!="innerLast"){
w++;
}
}
return w;
};
this.calcFixedButtonsWidth=function(_1ff){
var w=0;
for(var i in _1ff){
w+=(i!="pages"&&i!="innerFirst"&&i!="innerLast")?this.buttonWidth+this.buttonMargin:0;
}
return w;
};
this.calcNumButtons=function(_202){
var s=turbo.getContentSize(this.domNode);
var w=this.calcFixedButtonsWidth(_202);
var bs=this.buttonWidth+this.buttonMargin;
var _206=function(){
return Math.floor((s.w-w)/bs);
};
var _207=_202["innerFirst"];
var _208=(_207==true)&&this.inPageRange(1,_206());
if(_207&&!_208){
w+=bs+bs;
}
if(_202["innerLast"]&&!this.inPageRange(this.numPages,_206())){
w+=bs+bs;
}
if(_208&&!this.inPageRange(1,_206())){
w+=bs+bs;
}
return _206(_202);
};
this.attachButton=function(_209){
this.pagesNode.appendChild(_209);
};
this.createPageButton=function(_20a,_20b,_20c,_20d){
var node=(this._i<this.oldNumButtons)?this.pagesNode.childNodes[this._i]:document.createElement("div");
node.page=_20a;
node.disabled=(_20c?true:false);
node.innerHTML=(_20b?_20b:_20a);
node.className=this.getDefaultButtonClass(node);
var w=(_20d!=undefined?_20d: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 _211=this.getPageRange();
for(var i=_211.start;i<=_211.end;i++){
this.createPageButton(i);
}
};
this.create_prev=function(){
var _213=Math.max(1,Number(this.page)-1);
this.createPageButton(_213,this.buttonLabels.prev,(this.page==1));
};
this.create_next=function(){
var _214=Math.min(this.numPages,Number(this.page)+1);
this.createPageButton(_214,this.buttonLabels.next,(this.page==this.numPages));
};
this.create_prevN=function(){
var _215=Math.max(1,Number(this.page)-this.numButtons);
this.createPageButton(_215,this.buttonLabels.prevN,(this.page==1));
};
this.create_nextN=function(){
var _216=Math.min(this.numPages,Number(this.page)+this.numButtons);
this.createPageButton(_216,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 _21a={prev:true,pages:true,next:true};
return (t<x)?_21a:this.buttonList;
};
this.createPages=function(){
this._x=0;
this._i=0;
this.oldNumButtons=this.pagesNode.childNodes.length;
var _21b=this.getButtonList();
this.numButtons=this.calcNumButtons(_21b);
for(var i in _21b){
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(_21e,_21f){
this.minimum=_21e;
this.maximum=_21f;
};
this.changePosition=function(inDx){
var p=this.getPosition();
var n=p+inDx;
return (this.setPosition(p+inDx)-p)-inDx;
};
this.setValue=function(_223){
this.setPosition(Math.round((_223-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(_225,_226){
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(_227){
var _228=this.getWindow();
var _229=this.getExtent();
var p=(_227>_229?_229:(_227<this.margin?this.margin:_227));
this.RightBar.style.marginLeft=(p&&p>0?p+"px":0);
var _22b=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(_22c){
};
this.change=function(_22d){
};
this.inheritedFillInTemplate=this.fillInTemplate;
this.fillInTemplate=function(_22e,_22f){
this.inheritedFillInTemplate(_22e,_22f);
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(_230){
this.lastValue=this.getValue();
if(this.LeftBar.focus){
this.LeftBar.focus();
}
this.mouseDown=true;
this.mouseX=_230.screenX;
turbo.capture(this.Thumb);
};
this.up=function(_231){
if(this.mouseDown){
this.mouseDown=false;
turbo.release(this.Thumb);
if(this.snap){
this.setValue(this.getValue());
}
this.change(this);
}
};
this.move=function(_232){
if(this.mouseDown){
var dx=_232.screenX-this.mouseX;
this.mouseX=_232.screenX+this.changePosition(dx);
if(dojo.render.html.safari&&window.getSelection){
window.getSelection().collapse();
}
this.changing(this);
}
};
this.wheel=function(_234){
var v=this.getValue()+Math.round(_234.wheelDelta/120);
this.setValue(this.getValue()+Math.round(_234.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(_236){
dojo.debug("over");
};
this.mouseout=function(_237){
dojo.debug("out");
};
this.click=function(_238){
dojo.debug("click");
};
this.themeable=false;
this.fillInTemplate=function(_239,_23a){
this.bindArgEvents(_239);
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(_23b,_23c){
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(_241){
if(this.mouseDown&&_241){
dojo.event.browser.stopEvent(_241);
}
};
this.down=function(_242){
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=_242.screenX;
this.mouseY=_242.screenY;
turbo.capture(this.domNode);
document.body.style.cursor=this.domNode.style.cursor;
};
this.up=function(_243){
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(_244){
if(this.mouseDown){
this.killCapturedEvent(_244);
if(this.vertical){
this.moveY(_244.screenY-this.mouseY);
}else{
this.moveX(_244.screenX-this.mouseX);
}
this.mouseX=_244.screenX;
this.mouseY=_244.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(_249){
if(turbo.isArray(_249)){
return _249;
}
var _24a=[];
for(var i in _249){
_24a.push(new Array(i,turbo.objectToArray(_249[i])));
}
return _24a;
};
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(_24c){
};
this.onCanSelect=function(_24d){
};
this.onNodeSelected=function(_24e){
};
this.fillInTemplate=function(_24f){
this.bindArgEvents(_24f);
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(_250,_251,_252,_253){
var img=document.createElement("img");
var leaf=this.imageRoot+(_250?"tree_root.gif":(_252?"tree_last_leaf.gif":"tree_leaf.gif"));
if(_251){
img.src=this.imageRoot+(_253?"tree_closed":"tree_open")+".gif";
img.style.backgroundImage="url("+leaf+")";
}else{
img.src=leaf;
}
return img;
};
this.buildNode=function(_256,_257,_258,_259){
if(dojo.lang.isObject(_258)){
var _25a=(_258.children)&&(_258.children.length>0);
var _25b=(_258.content?_258.content:_258.name);
}else{
var _25a=false;
var _25b=_258;
}
var row=document.createElement("div");
row.name=_258.name;
row.data=_258.data;
row.turboTreeNode=true;
if(_257){
row.appendChild(_257.cloneNode(true));
}else{
row.appendChild(document.createTextNode(""));
}
row.appendChild(this.buildLeaf((_257==null),_25a,_259,_258.closed));
var node=document.createElement("span");
node.innerHTML=_25b;
node.className=this.classTag+"-content";
node.style.cursor="default";
row.appendChild(node);
if(_25a){
var pre=(_257?_257:document.createElement("span"));
var img=document.createElement("img");
img.src=this.imageRoot+(_259?"tree_blank.gif":"tree_bar.gif");
pre.appendChild(img);
var _260=document.createElement("div");
this.buildChildren(_260,pre,_258.children);
row.appendChild(_260);
pre.removeChild(img);
if(_258.closed){
_260.style.display="none";
}
}
_256.appendChild(row);
};
this.buildChildren=function(_261,_262,_263){
var l=_263.length;
for(var i=0;i<l;i++){
this.buildNode(_261,_262,_263[i],(i==l-1));
}
};
this.teardown=function(){
this.treeDiv.innerHTML="";
this.selected=null;
};
this.buildNodes=function(_266){
this.teardown();
if(dojo.lang.isArray(_266)){
this.buildChildren(this.treeDiv,null,_266);
}else{
this.buildNode(this.treeDiv,null,_266,true);
}
};
this.getToggleElement=function(_267){
return _267.childNodes[1];
};
this.getContentElement=function(_268){
return _268.childNodes[2];
};
this.getChildrenElement=function(_269){
return _269.childNodes[3];
};
this.setSelected=function(_26a,_26b){
if(_26a){
with(this.getContentElement(_26a)){
style.backgroundColor=(_26b?"blue":"");
style.color=(_26b?"white":"");
}
}
};
this.getContent=function(_26c){
return this.getContentElement(_26c).innerHTML;
};
this.selectNode=function(_26d){
if(this.onCanUnselect(this.selected)===false||this.onCanSelect(_26d)===false){
return;
}
this.setSelected(this.selected,false);
this.selected=_26d;
this.setSelected(this.selected,true);
this.onNodeSelected(this.selected);
};
this.toggleNode=function(_26e){
var n=this.getChildrenElement(_26e);
if(n){
n.style.display=(n.style.display=="none"?"":"none");
this.getToggleElement(_26e).src=this.imageRoot+(n.style.display=="none"?"tree_closed":"tree_open")+".gif";
}
};
this.isTreeNode=function(_270){
return _270&&_270.turboTreeNode;
};
this.divClick=function(_271){
var t=_271.target;
while(t&&!this.isTreeNode(t)){
t=t.parentNode;
}
if(t){
if(_271.target==this.getToggleElement(t)){
this.toggleNode(t);
}else{
this.selectNode(t);
}
}
};
this._firstTreeNode=function(_273){
if(_273&&!this.isTreeNode(_273)){
_273=_273.nextSibling;
}
return _273;
};
this.nextNode=function(_274){
return (_274?this._firstTreeNode(_274.nextSibling):null);
};
this.childNode=function(_275){
if(!_275||!this.isTreeNode(_275)){
return null;
}
var _276=this.getChildrenElement(_275);
if(!_276){
return null;
}
return this._firstTreeNode(_276.firstChild);
};
this.rootNode=function(){
return this._firstTreeNode(this.treeDiv.firstChild);
};
this.isLeaf=function(_277){
return (!this.getChildrenElement(_277));
};
};
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(_278){
this.tree=_278;
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(_279){
return (this.domNode?this.domNode.childNodes[_279]:null);
};
this.getImg=function(_27a){
var i=document.createElement("img");
i.src=this.tree.imageRoot+_27a;
return i;
};
this.getBar=function(){
return this.getImg("tree_bar.gif");
};
this.getBlank=function(){
return this.getImg("tree_blank.gif");
};
this.buildGutter=function(_27c){
if(_27c){
var g=_27c.getNodeElement(this.elements.gutter).cloneNode(true);
g.appendChild((!g.hasChildNodes()||_27c.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(_27f){
node=document.createElement("div");
node.appendChild(this.buildGutter(_27f));
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(_280,_281){
var i=this.getNodeElement(this.elements.connector);
i.style.backgroundImage="url("+this.tree.imageRoot+(_280?"tree_root":(_281?"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(_283,_284){
this.getButton().src=this.tree.imageRoot+(!_283?"tree_blank":(_284?"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(_286){
var n=this.getNodeElement(this.elements.children);
if(n){
n.style.display=(_286?"":"none");
}
if(this.getOpen()&&this.hasChildren&&!this.childrenInited){
this.tree.initChildren(this);
}
this.selectButton();
};
this.toggleNode=function(){
this.setOpen(!this.getOpen());
};
this.setContent=function(_288){
this.getNodeElement(this.elements.content).innerHTML=_288;
};
this.appendTo=function(_289){
this.parent=_289;
var p=(_289?_289.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(_28c){
if(_28c===undefined){
_28c=true;
}
var c=this.tree.classTag+"-content";
var _28e=this.getNodeElement(this.elements.content);
if(_28e){
_28e.className=c+(_28c?" "+c+"-selected":"");
}
};
this.getChildrenDomNode=function(){
return this.getNodeElement(inNode.elements.children);
};
this.getChildNode=function(_28f){
var _290=this.getChildrenDomNode().childNodes;
if(turbo.isGoodIndex(_290,_28f)){
return this.tree.nodeFromDomNode(_290[_28f]);
}
};
this._deleteChildNodes=function(_291){
var _292=_291.getChildrenDomNode().childNodes;
for(var i=0,l=_292.length;i<l;i++){
var el=_292[i];
this._deleteChildNodes(this.tree.nodeFromDomNode(el));
delete this.tree.nodes[el.id];
}
};
this.removeChildren=function(){
this._deleteChildNodes(this);
this.domNode.replaceChild(document.createElement("div"),this.getChildrenDomNode());
this.setOpen(false);
};
this.refreshChildren=function(){
if(!this.hasChildren){
return;
}
this.removeChildren();
this.childrenInited=false;
this.tree.initChildren(this);
this.setOpen(true);
};
};
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(_295){
};
this.onCanSelect=function(_296){
};
this.onSelect=function(_297){
};
this.fillInTemplate=function(_298,_299){
this.bindArgEvents(_298);
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(_29a){
return (_29a&&_29a.id?this.nodes[_29a.id]:null);
};
this.clear=function(){
this.nodeId=0;
this.nodes=[];
this.treeDiv.innerHTML="";
};
this.setRootCount=function(_29b){
this.clear();
for(var i=0;i<_29b;i++){
this.newNode(null);
}
};
this.newTreeNode=function(_29d){
var n=new turbo.TreeNode(this);
this.nodes[n.id]=n;
n.buildDomNode(_29d);
return n;
};
this.newNode=function(_29f){
var n=this.newTreeNode(_29f);
n.appendTo(_29f);
n.setOpen(false);
this.onInitNode(n);
n.selectButton();
return n;
};
this.initChildren=function(_2a1){
this.onInitChildren(_2a1);
var c=_2a1.childCount;
for(var i=0;i<c;i++){
this.newNode(_2a1);
}
_2a1.childrenInited=true;
_2a1.hasChildren=(c>0);
};
this.selectNode=function(_2a4){
if(_2a4&&this.onCanSelect(_2a4)===false){
return;
}
if(this.selected){
if(this.onCanUnselect(this.selected)===false){
return;
}
this.selected.setSelected(false);
}
this.selected=_2a4;
if(this.selected){
this.selected.setSelected(true);
}
this.onSelect(this.selected);
};
this.forEach=function(_2a5){
for(var i in this.nodes){
if(_2a5(this.nodes[i])===true){
return this.nodes[i];
}
}
return null;
};
this.isTreeNode=function(_2a7){
return _2a7&&_2a7.getAttribute&&_2a7.getAttribute("turboTreeNode");
};
this.nodeClick=function(_2a8,_2a9){
if(_2a8){
if(_2a8.getButton()==_2a9.target){
_2a8.toggleNode();
}else{
this.selectNode(_2a8);
}
}
};
this.domClick=function(_2aa){
var n=_2aa.target;
while(n&&!this.isTreeNode(n)){
n=n.parentNode;
}
this.nodeClick((n?this.nodeFromDomNode(n):null),_2aa);
};
this.getRootNodeByIndex=function(_2ac){
var _2ad=this.treeDiv.childNodes;
if(turbo.isGoodIndex(_2ad,_2ac)){
return this.nodeFromDomNode(_2ad[_2ac]);
}
};
this.getNodeByIndex=function(){
if(!(arguments.length>0)){
return null;
}
var node=this.getRootNode(arguments[0]);
for(var i=1,l=arguments.length;i<l;i++){
node=node.getChildNode(arguments[i]);
}
return node;
};
this.removeNode=function(_2b0){
_2b0.removeChildren();
delete this.nodes[_2b0.id];
var prev=_2b0.domNode.previousSibling;
var _2b2=this.nodeFromDomNode(prev);
dojo.dom.removeNode(_2b0.domNode);
if(_2b2){
_2b2.setConnector(_2b2.isRootNode(),_2b2.isLastChildNode());
}
};
};
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(_2b3,_2b4){
this.domNode.style.display="";
this.nodes=this.domNode.cloneNode(true);
this.clear();
};
this.getDatum=function(inId){
try{
return this.data[inId];
}
catch(e){
return "failed to get datum";
}
};
this.interpolate=function(_2b6){
for(var i in this.data){
_2b6=_2b6.replace(RegExp(this.openMacro+i+this.closeMacro,"gi"),this.data[i]);
}
return _2b6;
};
this.iterate=function(_2b8,_2b9){
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().createSubComponents(frag);
this.domNode.appendChild(iter);
}
if(this.afterBuild){
this.afterBuild();
}
};
this.xbuild=function(){
this.clear();
var self=this;
var _2be=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(_2be,0);
};
this.index=0;
_2be();
};
};
dojo.inherits(dojo.widget.HtmlTurboRepeater,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turborepeater");
dojo.provide("turbo.lib.scrim");
dojo.require("turbo.turbo");
turbo.defineClass("turbo.pool",null,{pool:[],findUnused:function(){
for(var i=this.pool.length-1;i>=0;i--){
if(!pool[i].__inuse){
return this.pool[i];
}
}
return false;
},create:function(){
},_create:function(){
var _2c1=this.create();
this.pool.push(_2c1);
},get:function(){
var _2c2=this.findUnused()||this._create();
if(_2c2){
_2c2.__inuse=true;
}
return _2c2;
},release:function(_2c3){
if(_2c3){
_2c3.__inuse=false;
}
}});
turbo.scrim={pool:new turbo.pool(),createIFrame:function(){
var node=document.createElement("iframe");
node.setAttribute("frameBorder",0);
node.setAttribute("scrolling","no");
return node;
},createDiv:function(){
return document.createElement("div");
},createScrim:function(){
var node=(dojo.render.html.ie?turbo.scrim.createIFrame():turbo.scrim.createDiv());
node.isScrim=true;
return node;
},get:function(_2c6,inId,_2c8){
var node=turbo.scrim.pool.get();
node.scrimActive=true;
node.style.border=0;
node.style.position="absolute";
node.id=inId;
node.name=inId;
turbo.setStyleProperties(node,_2c8);
_2c6.appendChild(node);
turbo.scrim.size(node);
return node;
},release:function(_2ca){
if(_2ca.isScrim){
turbo.scrim.pool.release(_2ca);
dojo.dom.removeNode(_2ca);
}
},size:function(_2cb){
var siz=turbo.getInnerSize(_2cb.parentNode);
if(_2cb.parentNode==document.body){
var _2cd=0;
var aW=_2cd;
var aH=_2cd;
}else{
var aW=-dojo.style.getBorderWidth(_2cb.parentNode);
var aH=-dojo.style.getBorderHeight(_2cb.parentNode);
}
turbo.setBounds(_2cb,0,0,siz.w+aW,siz.h+aH);
}};
turbo.scrim.pool.get=turbo.scrim.createScrim;
dojo.provide("turbo.widgets.TurboModal");
dojo.provide("turbo.widgets.HtmlTurboModal");
dojo.require("turbo.lib.scrim");
dojo.require("turbo.widgets.TurboWidget");
turbo.modals=[];
dojo.widget.HtmlTurboModal=function(){
this.widgetType="TurboModal";
dojo.widget.HtmlTurboWidget.call(this);
this.templatePath=null;
this.templateString="<div dojoAttachPoint=\"domNode\" hidefocus=\"hidefocus\"><div tabIndex=\"0\" hidefocus=\"hidefocus\" dojoAttachPoint=\"contentNode\" dojoOnFocus=\"interceptTab\"></div><span dojoAttachPoint=\"tabOut\" dojoOnFocus=\"interceptTab\" tabindex=\"0\"></span></div>";
this.tabIntercepted=false;
this.classTag="turbo-modal";
this.modalWidth=-1;
this.modalHeight=-1;
this.defaultWidth=50;
this.defaultHeight=50;
this.bgName="";
this.modalFocus="";
this.allowFocus=true;
this.autoHeight=false;
this.bgOpacity=0.8;
this.bgColor="white";
this._showing=false;
this.onShow=function(){
};
this.onHide=function(){
};
this.onBeforeShow=function(){
};
this.onBeforeHide=function(){
};
this.fillInTemplate=function(_2d0,_2d1){
this.bindArgEvents(_2d0);
dojo.event.topic.subscribe("turboresize",this,"doResize");
this.initNodes();
this.installChildren(_2d1,this.contentNode);
};
this.styleChanged=function(){
this.setStyledClass(this.domNode,"");
this.setStyledClass(this.contentNode,"-content");
this.domNode.className=this.domNode.className+(this.className?" "+this.className:"");
};
this.initNodes=function(){
if(!this.bgName){
this.bgName=this.widgetId+"_bg";
}
this.domNode.isModal=true;
this._hide();
this.styleChanged();
};
this.setHeightWidth=function(){
var _2d2=dojo.style.getOuterHeight(this.domNode);
var _2d3=dojo.style.getOuterWidth(this.domNode);
if(!_2d2||!_2d3){
return false;
}
if(this.modalHeight<=0){
this.modalHeight=(_2d2?_2d2:this.defaultHeight);
}
if(this.modalWidth<=0){
this.modalWidth=(_2d3?_2d3:this.defaultWidth);
}
return true;
};
this.getBgNode=function(){
props={backgroundColor:this.bgColor,opacity:this.bgOpacity,zIndex:parseInt(dojo.html.getStyle(this.domNode,"z-index"))-1};
var node=turbo.scrim.get(this.domNode.parentNode,this.bgName,props);
node.isModalBg=true;
return node;
};
this.detachNode=function(_2d5){
dojo.dom.removeNode(_2d5);
};
this.attachNode=function(_2d6){
var p=this.getParentNode();
try{
p.appendChild(_2d6);
}
catch(e){
turbo.debug("failed to append node to");
turbo.debugObject(p);
}
};
this.setZIndexes=function(){
var _2d8=this.getTopModal();
if(_2d8&&_2d8.parentModal==this.parentModal){
this.domNode.style.zIndex=parseInt(dojo.html.getStyle(_2d8.domNode,"z-index"))+2;
}
this.setBgZ();
};
this.setBgZ=function(){
this.bgNode.style.zIndex=parseInt(dojo.html.getStyle(this.domNode,"z-index"))-1;
};
this.focusNode=function(){
if(!this.allowFocus){
return;
}
var f=(this.modalFocus?turbo.$(this.modalFocus):null);
if(f){
if((f.style.display!="none"&&f.style.visibility!="hidden")){
turbo.defer(function(){
f.focus();
},10);
}
}else{
turbo.defer(turbo.bindArgs(this,"focusFirstLast","first",null),10);
}
};
this.getParentNode=function(){
var t=this.getTopModal();
var _2db=(t&&t.domNode?t.domNode:document.body);
return _2db;
};
this.setTopModal=function(){
if(this.getTopModal()!=this){
turbo.modals.push(this);
}
};
this.getTopModal=function(){
if(turbo.modals.length){
return turbo.modals[turbo.modals.length-1];
}else{
return false;
}
};
this.removeModal=function(){
for(var i=0,l=turbo.modals.length;i<l;i++){
if(turbo.modals[i]==this){
turbo.modals.splice(i,1);
return;
}
}
};
this.getStackIndex=function(){
for(i=turbo.modals.length-1;i>=0;i--){
if(this==turbo.modals[i]){
return i;
}
}
return -1;
};
this.show=function(){
if(this.onBeforeShow){
this.onBeforeShow();
}
this.initShow(turbo.bind(this,this.doOnShow));
};
this.doOnShow=function(){
this.focusNode();
this.onShow();
};
this.initShow=function(_2dd){
this.attachNode(this.domNode);
this.bgNode=this.getBgNode();
turbo.show(this.bgNode);
turbo.show(this.domNode);
this.attemptShow(_2dd);
};
this.attemptShow=function(_2de){
if(!this.setHeightWidth()){
turbo.defer(turbo.bindArgs(this,this.attemptShow,_2de),10);
return;
}
this._showing=true;
this.setTopModal();
turbo.defer(this,this.finishShow,10);
this.doResize(_2de);
};
this.finishShow=function(){
this.setZIndexes();
};
this.hide=function(){
if(this!=this.getTopModal()){
this.hideModals(turbo.modals[this.getStackIndex()]);
}else{
this.doHide();
}
};
this.doHide=function(){
if(this.onBeforeHide){
this.onBeforeHide();
}
this._hide();
this.removeModal();
if(this.onHide){
turbo.defer(this,"onHide",10);
}
};
this._hide=function(){
this.hideDomNode();
this.hideBgNode();
this._showing=false;
};
this.hideModals=function(_2df){
if(!_2df||!_2df.getStackIndex){
var l=0;
}else{
var l=_2df.getStackIndex();
}
l=(l>-1?l:0);
for(i=turbo.modals.length-1;i>=l;i--){
turbo.modals[i].doHide();
}
};
this.hideAll=function(){
this.hideModals();
};
this.hideDomNode=function(){
turbo.hide(this.domNode);
this.detachNode(this.domNode);
};
this.hideBgNode=function(){
if(!this.bgNode){
return;
}
turbo.hide(this.bgNode);
turbo.scrim.release(this.bgNode);
};
this.showHide=function(){
if(this._showing){
this.hide();
}else{
this.show();
}
};
this.hasContent=function(){
return Boolean(this.contentNode.innerHTML);
};
this.getAutoHeight=function(){
turbo.setOuterSize(this.domNode,this.modalWidth,this.modalHeight);
var _2e1=0;
for(var i=0,l=this.domNode.childNodes.length;i<l;i++){
var n=this.domNode.childNodes[i];
if(n.style&&n.style.display==""&&n.style.visibility!="hidden"&&!(n.isModal||n.isModalBg)){
_2e1+=turbo.getOuterSize(n).h;
}
}
var _2e4=dojo.style.getPixelValue(this.domNode,"padding-top",true)+dojo.style.getPixelValue(this.domNode,"padding-bottom",true);
var _2e5=dojo.style.getBorderHeight(this.domNode);
return _2e1+_2e4+_2e5;
};
this.resizeModal=function(){
var siz=turbo.getInnerSize(this.domNode.parentNode);
var _2e7=this.hasContent();
var _2e8=10000;
var w=(_2e7?this.modalWidth:0);
var h=(_2e7?this.modalHeight:0);
if(this.autoHeight){
h=this.getAutoHeight(w);
}
var l=(_2e7?Math.round((siz.w-w)/2):siz.w+_2e8);
var t=(_2e7?Math.round((siz.h-h)/2):siz.h+_2e8);
turbo.setBounds(this.domNode,l,t,w,h);
};
this.doResize=function(_2ed){
if(!this._showing){
return;
}
turbo.scrim.size(this.bgNode);
this.resizeModal();
turbo.aligner.alignFrom(this.domNode);
this.alignModal(_2ed);
};
this.alignModal=function(_2ee){
turbo.defer(this,"_alignModal",_2ee,10);
};
this._alignModal=function(_2ef){
turbo.aligner.alignFrom(this.domNode);
if(_2ef){
turbo.defer(_2ef,10);
}
};
this.interceptTab=function(e){
if(!this.allowFocus){
return;
}
if(this.skipIntercept){
this.skipIntercept=false;
return;
}
if(e.target!=this.contentNode&&e.target!=this.tabOut){
return;
}
var f=(e.target==this.tabOut?"first":"last");
this.focusFirstLast(f);
};
this.focusFirstLast=function(_2f2,_2f3){
if(!this.allowFocus){
return;
}
var _2f4=(_2f2=="first");
var n=(_2f4?this.getNextElement(this.contentNode,_2f3):this.getPrevElement(this.contentNode,_2f3));
if(!n){
return;
}
this.focusOk=false;
var self=this;
dojo.event.kwConnect({srcObj:n,srcFunc:"onfocus",targetObj:self,targetFunc:"focusCheck",once:true});
try{
if((n==this.contentNode&&this.hasContent())||n!=this.contentNode){
n.focus();
}
}
catch(e){
}
turbo.defer(turbo.bindArgs(this,this.processFocusCheck,_2f2,n),0);
};
this.focusCheck=function(){
this.focusOk=true;
};
this.processFocusCheck=function(_2f7,_2f8){
var self=this;
var dc={srcObj:_2f8,srcFunc:"onfocus",targetObj:self,targetFunc:"focusCheck",once:true};
if(!this.focusOk){
this.focusFirstLast(_2f7,_2f8);
}
};
this.elementOk=function(_2fb){
return (_2fb&&turbo.isShowing(_2fb)&&!_2fb.isModal);
};
this.getNextElement=function(_2fc,_2fd){
if(!_2fd){
var c=dojo.dom.getFirstChildElement(_2fc);
return (c?c:false);
}
var c=dojo.dom.getFirstChildElement(_2fd);
var n=(c?c:dojo.dom.nextElement(_2fd));
if(this.elementOk(n)){
return n;
}
var n=null;
while(_2fd.parentNode&&_2fd.parentNode!=_2fc){
_2fd=_2fd.parentNode;
var n=dojo.dom.nextElement(_2fd);
if(this.elementOk(n)){
break;
}
}
return (n?n:false);
};
this.getPrevElement=function(_300,_301){
if(!_301){
var c=dojo.dom.getLastChildElement(_300);
return (c?c:false);
}
var c=dojo.dom.getLastChildElement(_301);
var n=(c?c:dojo.dom.prevElement(_301));
if(this.elementOk(n)){
return n;
}
var n=null;
while(_301.parentNode&&_301.parentNode!=_300){
_301=_301.parentNode;
var n=dojo.dom.prevElement(_301);
if(this.elementOk(n)){
break;
}
}
return (n?n:false);
};
};
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(_304,_305){
this.setStyle(this.style);
dojo.dom.moveChildren(this.getWidgetFragment(_305),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(_307){
this.setTags(_307);
this.tagNode.innerHTML="";
this.shuffleTags();
this.buildTagsNode(this.tags,this.tagNode);
};
this.buildTagsNode=function(_308,_309,_30a){
for(var i=0;i<_308.length;i++){
_309.appendChild(this.buildTag(_308[i],_30a));
if(i<_308.length-1){
var sep=_30a==undefined?document.createTextNode("  "):document.createTextNode(", ");
_309.appendChild(sep);
}
}
};
this.buildTag=function(_30d,_30e){
var node=document.createElement("span");
var self=this;
node.onmouseover=function(){
this.className=self.highlightClass;
};
node.onmouseout=function(){
this.className="";
};
node.onclick=function(){
_30d.action(_30d.name);
};
if(_30e==undefined){
if(_30d.amount==undefined){
_30d.amount=0;
}
var _311=Number(_30d.amount);
var _312=Math.max(0,(_311-this.leastItems)/(this.mostItems-this.leastItems));
var _313=Math.max(this.minFontSize,Math.round(_312*this.maxFontSize));
node.style.fontSize=_313+"px";
}
node.style.padding="0px 2px 0px 2px";
node.style.cursor="pointer";
node.innerHTML=_30d.name;
return node;
};
this.setTags=function(_314){
if(_314!=undefined){
this.tags=_314;
}
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 _31a=this.tags[a];
this.tags[a]=this.tags[b];
this.tags[b]=_31a;
}
};
};
dojo.inherits(dojo.widget.HtmlTurboTags,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:turbotags");
dojo.provide("turbo.widgets.TurboGridClassic");
dojo.provide("turbo.widgets.HtmlTurboGridClassic");
dojo.require("turbo.widgets.TurboWidget");
dojo.widget.HtmlTurboGridClassic=function(){
this.widgetType="TurboGridClassic";
dojo.widget.HtmlTurboWidget.call(this);
this.autobuild=true;
this.autosize=true;
this.autosizing=false;
this.controller={};
this.classTag="turbo-grid-classic";
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-classic-corner\">&#160;</div><div dojoAttachPoint=\"ColDiv\" class=\"turbo-grid-classic-col\"></div></td><td><div dojoAttachPoint=\"HdrDiv\" class=\"turbo-grid-classic-hdr\"></div><div dojoAttachPoint=\"DtaDiv\" tabIndex=\"\" hidefocus=\"hidefocus\" class=\"turbo-grid-classic-dta\"></div></td></tr><tr><td dojoAttachPoint=\"Status\" colspan=\"2\" class=\"turbo-grid-classic-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 _31b=false;
var _31c=null;
this.getCell=function(_31d,_31e){
return (this.controller.getCell?this.controller.getCell(this,_31d,_31e):_31d+", "+_31e);
};
this.getHeaderAlign=function(_31f){
return (this.controller.getHeaderAlign?this.controller.getHeaderAlign(this,_31f):"left");
};
this.getColumnTitle=function(_320){
return (this.controller.getColumnTitle?this.controller.getColumnTitle(this,_320):undefined);
};
this.getColumnWidth=function(_321){
var w=(this.controller.getColumnWidth?this.controller.getColumnWidth(this,_321):-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(_323){
if(this.controller.onSelectRow){
this.controller.onSelectRow(this,_323);
}
};
this.onUnselectRow=function(_324){
if(this.controller.onUnselectRow){
this.controller.onUnselectRow(this,_324);
}
};
this.onUpdateRow=function(_325){
if(this.controller.onUpdateRow){
this.controller.onUpdateRow(this,_325);
}
};
this.onEditDone=function(_326){
if(this.controller.onEditDone){
this.controller.onEditDone(this);
}
};
this.onEditRowStart=function(_327){
if(this.controller.onEditRowStart){
this.controller.onEditRowStart(this,_327);
}
};
this.onEditRowDone=function(){
if(this.controller.onEditRowDone){
this.controller.onEditRowDone(this);
}
};
this.onKeyDown=function(_328){
if(this.controller.onKeyDown){
this.controller.onKeyDown(this,_328);
}
};
this.onDataClick=function(_329,_32a){
if(this.controller.onDataClick){
this.controller.onDataClick(this,_329,_32a);
}
};
this.onDataDblClick=function(_32b,_32c){
if(this.controller.onDataDblClick){
this.controller.onDataDblClick(this,_32b,_32c);
}
};
this.onHeaderClick=null;
this.fillInTemplate=function(_32d){
this.bindArgEvents(_32d);
this.bindArgEvent("onHeaderClick",_32d);
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.turboDestroy=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(_32e,_32f){
_32f=(_32f?this.classTag+"-"+_32f:"");
if(_32e.className!=_32f){
_32e.className=_32f;
}
};
this.setStyledClass=function(_330,_331){
if(!_331){
_331="";
}
_330.className=this.classTag+_331+(this.style?" "+this.classTag+"-"+this.style+_331:"");
};
this.styleChanged=function(){
this.setStyledClass(this.GrdTbl);
};
this.setStatus=function(_332,_333){
var h=(_333?"<img src=\"images/"+_333+"\" align=\"absmiddle\"/>":"");
this.Status.innerHTML=h+_332;
};
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(_335,_336){
this.cols=_335;
this.rows=_336;
};
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(_338){
return {col:turbo.getCellIndex(_338),row:turbo.getRowIndex(_338.parentNode)};
};
this.sameCell=function(inA,inB){
return inA&&inB&&(inA.col==inB.col)&&(inA.row==inB.row);
};
this.goodCell=function(_33b){
return (_33b.col>=0&&_33b.col<this.cols&&_33b.row>=0&&_33b.row<this.rows);
};
this.getDomCell=function(_33c){
return turbo.getTableRow(this.DtaTbl,_33c.row).cells[_33c.col];
};
this.refreshCell=function(_33d){
var _33e=this.getDomCell(_33d);
dojo.event.browser.clean(_33e);
_33e.innerHTML=this.getCell(_33d.col,_33d.row);
};
this.setSortInfo=function(_33f,_340){
if(this.sortInfo.column==_33f&&_340===undefined){
_340=!this.sortInfo.desc;
}
this.sortInfo={column:_33f,desc:_340};
};
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(_344){
var _345=(this.controller.getRowClass?this.controller.getRowClass(_344):"");
if(_345){
return _345;
}
if(this.selected[_344]){
_345=this.classTag+"-selected";
}
return this.classTag+"-row-"+(_344&1)+(_345?" "+_345:"");
};
this.getRowHeight=function(_346){
var row=turbo.getTableRow(this.DtaTbl,_346);
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 _348=document.createElement("table");
_348.cellPadding=0;
_348.cellSpacing=0;
_348.width=this.calcTableWidth();
return _348;
};
this.getHeaderCell=function(_349){
var h=this.getColumnTitle(_349);
if(h===undefined){
var a=Math.floor(_349/26);
var b=_349%26;
var _34d=function(c){
return String.fromCharCode("A".charCodeAt(0)+c);
};
h=(a>0?_34d(a-1):"")+_34d(b);
}
return h;
};
this.getHeaderSortClass=function(_34f){
return " class=\""+this.classTag+"-sort-"+(this.sortInfo.column!=_34f?"none":(this.sortInfo.desc?"down":"up"))+"\"";
};
this.getHeaderCellHtml=function(inW,_351){
return "<div style=\"width:"+inW+"px;\""+this.getHeaderSortClass(_351)+">"+"<div style=\"text-align:"+this.getHeaderAlign(_351)+";\">"+this.getHeaderCell(_351)+"</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.HdrTbl.width="4096";
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(_35b){
var _35c=_35b.parentNode.parentNode;
if(!_35c.rows){
_35c=_35c.parentNode;
}
var row=turbo.getTableRow(_35c,1);
return row.cells[turbo.getCellIndex(_35b)];
};
this.findEventCell=function(_35e,_35f){
while(turbo.getTagName(_35e)!="td"&&_35e.parentNode&&_35e.parentNode!=this.GrdTbl){
_35e=_35e.parentNode;
}
return (_35e&&dojo.dom.isDescendantOf(_35e,_35f)?_35e:null);
};
this.findEventHeaderCell=function(_360,_361){
while(turbo.getTagName(_360)!="th"&&_360.parentNode&&_360.parentNode!=this.GrdTbl){
_360=_360.parentNode;
}
return (_360&&dojo.dom.isDescendantOf(_360,_361)?_360:null);
};
this.getHeaderCellIndex=function(_362){
return turbo.getCellIndex(_362)>>1;
};
this.isValidHeaderCell=function(_363){
return (this.getHeaderCellIndex(_363)<this.cols);
};
this.headerDown=function(_364){
var _365=this.findEventCell(_364.target,this.HdrTbl);
if(_365&&this.isValidHeaderCell(_365)){
_31b=true;
_31c=_365;
turbo.capture(_31c);
_364.preventDefault();
_364.stopPropagation();
}
};
this.headerMove=function(_366){
if(_31b){
window.status=_366.clientX+", "+_366.clientY;
_366.preventDefault();
_366.stopPropagation();
}
};
this.headerUp=function(_367){
if(_31b){
_31b=false;
turbo.release(_31c);
}
};
this.headerOver=function(_368){
var _369=this.findEventHeaderCell(_368.target,this.HdrTbl);
if(_369&&this.isValidHeaderCell(_369)){
this.setElementClass(_369,"over");
this.setElementClass(this.getBevel(_369),"bevel-over");
}
};
this.headerOut=function(_36a){
var _36b=this.findEventHeaderCell(_36a.target,this.HdrTbl);
if(_36b&&this.isValidHeaderCell(_36b)){
this.setElementClass(_36b,"");
this.setElementClass(this.getBevel(_36b),"bevel");
}
};
this.delayedHeaderClick=function(_36c){
var idx=turbo.getCellIndex(_36c)>>1;
if(this.onHeaderClick){
this.onHeaderClick(idx);
}else{
if(this.controller.onHeaderClick){
this.controller.onHeaderClick(this,idx);
}
}
};
this.headerClick=function(_36e){
if(!this.onHeaderClick&&!this.controller.onHeaderClick){
return;
}
var _36f=this.findEventHeaderCell(_36e.target,this.HdrTbl);
if(_36f&&this.isValidHeaderCell(_36f)){
this.setElementClass(_36f,"down");
this.setElementClass(this.getBevel(_36f),"bevel-over");
this.getScrollLeft();
turbo.defer(turbo.bindArgs(this,this.delayedHeaderClick,_36f),1);
}
};
this.getFixedColClass=function(_370){
return (this.selected[_370]?this.classTag+"-fixed-select":"");
};
this.formatFixedCol=function(_371){
return (this.controller.formatFixedCol?this.controller.formatFixedCol(this,_371):Number(_371)+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(_374){
var row=turbo.getTableRow(this.ColTbl,_374);
var cell=row.cells[0];
cell.className=this.getFixedColClass(_374);
cell.innerHTML=this.formatFixedCol(_374);
};
this.fixedTableClick=function(_377){
};
this.buildCells=function(){
var _378=new Array(this.cols);
for(var i=0;i<this.cols;i++){
var w=this.getColumnWidth(i);
_378[i]="<td width=\""+w+"\"><div style=\"width:"+w+"px;\">";
}
return _378;
};
this.buildTable=function(){
var _37b=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]=_37b[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(_381){
var cell;
var j=turbo.getRowIndex(_381);
for(var i=0;i<this.cols;i++){
var w=this.getColumnWidth(i);
cell=_381.insertCell(i);
cell.width=w;
var h="<div style=\"width:"+w+"px;\">"+this.getCell(i,j)+"</div>";
cell.innerHTML=h;
}
cell=_381.insertCell(this.cols);
cell.innerHTML="&#160;";
};
this.buildRow=function(_387){
_387.onmouseover=turbo.bindArgs(this,this.dataOver,_387);
_387.onmouseout=turbo.bindArgs(this,this.dataOut,_387);
_387.className=this.getRowClass(turbo.getRowIndex(_387));
this.buildCols(_387);
};
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(_38b){
if(!this.selected[turbo.getRowIndex(_38b)]){
this.setElementClass(_38b,"row-over");
}
};
this.dataOut=function(_38c){
_38c.className=this.getRowClass(turbo.getRowIndex(_38c));
};
this.dataClick=function(_38d,_38e){
this.onDataClick(_38d,_38e);
};
this.dataDblClick=function(_38f,_390){
this.onDataDblClick(_38f,_390);
};
this.dataKeyDown=function(_391){
this.onKeyDown(_391);
};
this.tableOver=function(_392){
var _393=this.findEventCell(_392.target,this.DtaTbl);
if(_393){
this.dataOver(_393.parentNode);
}
};
this.tableOut=function(_394){
var _395=this.findEventCell(_394.target,this.DtaTbl);
if(_395){
this.dataOut(_395.parentNode);
}
};
this.tableClick=function(_396){
var _397=this.findEventCell(_396.target,this.DtaTbl);
if(_397){
this.dataClick(_397,_396);
}
};
this.tableDblClick=function(_398){
var _399=this.findEventCell(_398.target,this.DtaTbl);
if(_399){
this.dataDblClick(_399,_398);
}
};
this.getFirstSelectedRow=function(){
for(var i=0;i<this.rows;i++){
if(this.selected[i]){
return Number(i);
}
}
return -1;
};
this.getNextSelectedRow=function(_39b){
for(var i=_39b+1;i<this.rows;i++){
if(this.selected[i]){
return i;
}
}
return -1;
};
this.hasSelection=function(){
return (this.getFirstSelectedRow()>-1);
};
this.getSelectedRows=function(){
var _39d=[];
for(var i=0;i<this.rows;i++){
if(this.selected[i]){
_39d.push(i);
}
}
return _39d;
};
this.clearSelection=function(){
this.selected=[];
this.selectedRow=-1;
this.selectCount=0;
this.updateRowClasses();
this.buildFixedColumn();
this.onSelectionChange();
};
this.setRowSelected=function(_39f,_3a0){
if(_39f<0){
return;
}
if(_3a0===undefined){
_3a0=true;
}
if(this.selected[_39f]!=_3a0){
this.selected[_39f]=_3a0;
this.selectedRow=(_3a0?_39f:-1);
this.selectCount+=(_3a0?1:-1);
if(_3a0){
this.onSelectRow(_39f);
}else{
this.onUnselectRow(_39f);
}
}
this.selectedRow=(_3a0?_39f:-1);
this.updateFixedColumnRow(_39f);
turbo.getTableRow(this.DtaTbl,_39f).className=this.getRowClass(_39f);
};
this.selectRow=function(_3a1){
if(!this.selected[_3a1]){
this.setRowSelected(_3a1,true);
this.updateRowSizes();
}
};
this.deselectRow=function(_3a2){
if(this.selected[_3a2]){
this.setRowSelected(_3a2,false);
this.updateRowSizes();
}
};
this.toggleSelectRow=function(_3a3){
if(this.selected[_3a3]){
this.setRowSelected(_3a3,false);
}else{
this.setRowSelected(_3a3,true);
}
};
this.unselectRows=function(_3a4){
for(var i in this.selected){
if(i!=_3a4&&this.selected[i]){
this.setRowSelected(i,false);
}
}
};
this.clickSelect=function(_3a6,_3a7,_3a8){
if(!this.multiSelect||(!_3a7&&!_3a8)){
this.unselectRows(_3a6);
}
if(!_3a8||!this.multiSelect){
if(_3a7){
this.toggleSelectRow(_3a6);
}else{
this.setRowSelected(_3a6,true);
}
this.updateRowClasses();
}else{
var r=(this.selectedRow<0?0:this.selectedRow);
var s=r;
var e=_3a6;
if(s>_3a6){
e=s;
s=_3a6;
}
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(_3ad,_3ae){
var _3af=[];
for(var i in this.rowMarkerClass){
if(this.rowMarkerClass[i]){
if(i>=_3ad){
_3af[Number(i)+_3ae]=this.rowMarkerClass[i];
}else{
_3af[i]=this.rowMarkerClass[i];
}
}
}
this.rowMarkerClass=_3af;
};
this.setMarker=function(_3b1,_3b2){
this.rowMarkerClass[_3b1]=_3b2;
this.updateRowClass(_3b1);
};
this.clearMarkers=function(){
this.rowMarkerClass=[];
};
this.addRow=function(_3b3){
this.clearSelection();
this.buildRow(this.DtaTbl.insertRow(_3b3));
this.offsetMarkers(_3b3,1);
this.rows++;
this.buildFixedColumn();
this.updateRowSizes();
this.setRowSelected(_3b3,true);
};
this.removeRow=function(_3b4){
this.rowMarkerClass[_3b4]=null;
this.offsetMarkers(_3b4,-1);
this.rows--;
this.DtaTbl.deleteRow(_3b4);
this.clearSelection();
};
this.updateRow=function(_3b5){
this.DtaTbl.deleteRow(_3b5);
this.buildRow(this.DtaTbl.insertRow(_3b5));
};
this.swapRows=function(_3b6,_3b7){
turbo.arraySwap(this.rowMarkerClass,_3b6,_3b7);
this.updateRow(_3b6);
this.updateRow(_3b7);
this.updateRowSizes();
};
this.replaceRow=function(_3b8){
this.updateRow(_3b8);
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(_3ba){
turbo.getTableRow(this.DtaTbl,_3ba).className=this.getRowClass(_3ba);
};
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 _3be=function(_3bf,_3c0){
if(_3bf&&_3c0>0){
_3bf.width=_3c0;
}
};
_3be(this.HdrTbl,siz.w+128+64);
_3be(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.HtmlTurboGridClassic,dojo.widget.HtmlWidget);
dojo.widget.tags.addParseTreeHandler("dojo:TurboGridClassic");
dojo.provide("turbo.data.classic.fields");
turbo.data.index=function(){
this.defaultValue={};
this.values=[];
this.count=function(){
return this.values.length;
};
this.clear=function(){
this.values=[];
};
this.get=function(_3c1){
var _3c2=this.values[_3c1];
if(!_3c2){
_3c2=turbo.swiss(this.defaultValue,{});
this.values[_3c1]=_3c2;
}
return _3c2;
};
this._set=function(_3c3,_3c4){
var v=this.get(_3c3);
for(var i=1;i<arguments.length;i++){
turbo.swiss(arguments[i],v);
}
this.values[_3c3]=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(_3c8,_3c9){
if(_3c8>=this.values.length){
this.values[_3c8]=_3c9;
}else{
this.values.splice(_3c8,0,_3c9);
}
};
this.remove=function(_3ca){
this.values.splice(_3ca,1);
};
this.swap=function(_3cb,_3cc){
turbo.arraySwap(this.values,_3cb,_3cc);
};
this.move=function(_3cd,_3ce){
turbo.arrayMove(this.values,_3cd,_3ce);
};
};
turbo.data.fields=function(_3cf){
turbo.data.index.call(this);
var _3d0=(_3cf?_3cf:Object);
this.defaultValue=new _3d0();
this.setDefault=function(_3d1){
if(typeof (_3d1)!="object"){
alert("tubo.data.fields.setDefaultField (stores.js): bad input field object. Are your field definitions included?");
}
turbo.swiss(_3d1,this.defaultValue);
};
};
turbo.data.comparator=function(_3d2){
return function(a,b){
return (a[_3d2]>b[_3d2]?1:(a[_3d2]==b[_3d2]?0:-1));
};
};
turbo.data.field=function(_3d5){
this.name=_3d5;
this.comparator=turbo.data.comparator;
this.getComparator=function(_3d6,_3d7){
var _3d8=this.comparator(_3d6);
if(!_3d7){
return _3d8;
}else{
return function(a,b){
return -_3d8(a,b);
};
}
};
};
dojo.provide("turbo.data.classic.stores");
dojo.require("turbo.data.classic.fields");
turbo.data.table=function(_3db){
this.fields=new turbo.data.fields(turbo.data.field);
this.fields.set(_3db);
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(_3df){
var f=this.fields.values;
for(var i=0,l=f.length;i<l;i++){
if(f[i].name==_3df){
return i;
}
}
return false;
};
this.getColCount=function(){
return this.fields.count();
};
this.hasData=function(){
return (this.fields.count()>0);
};
this.deleteRows=function(_3e2,inOk,_3e4){
inOk(_3e2,_3e2.length);
};
this._setSortField=function(_3e5,_3e6){
if(_3e6){
this.sortDesc=_3e6;
}else{
if(this.sortField==_3e5){
this.sortDesc=!this.sortDesc;
}else{
this.sortDesc=false;
}
}
this.sortField=_3e5;
};
this.setSortIndex=function(_3e7,_3e8){
if(_3e7<0){
this.sortField="";
}else{
this._setSortField(this.fields.get(_3e7).name,_3e8);
}
this.sortIndex=_3e7;
};
this.setSortField=function(_3e9,_3ea){
if(_3e9==""){
this.setSortIndex(-1);
}else{
this._setSortField(_3e9,_3ea);
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(_3ed){
this.cacheRow(_3ed);
this.rowinfo.set(_3ed,{edit:true});
};
this.cancelEdit=function(_3ee){
this.restoreRow(_3ee);
with(this.rowinfo.get(_3ee)){
delete edit;
}
};
this.applyEdit=function(_3ef,inOk,_3f1){
if(this.rowChanged(_3ef)||this.rowinfo.get(_3ef).error){
this._applyEdit(_3ef,inOk,_3f1);
}else{
this.cancelEdit(_3ef);
}
};
this._applyEdit=function(_3f2,inOk,_3f4){
this.rowinfo.get(_3f2).inflight=true;
var self=this;
var _3f6=function(){
with(self.rowinfo.get(_3f2)){
delete cache;
delete edit;
delete insert;
delete inflight;
delete error;
}
inOk.apply(this,arguments);
};
var _3f7=function(_3f8){
var i=self.rowinfo.get(_3f2);
delete i.inflight;
if(_3f8){
i.error=_3f8;
}
_3f4.apply(this,arguments);
};
this.commitRow(_3f2,_3f6,_3f7);
};
this.commitRow=function(_3fa,inOk,_3fc){
inOk();
};
};
turbo.data.store=function(_3fd,_3fe){
turbo.data.table.call(this);
this.data=[];
this.hasData=function(){
return (this.data&&this.data.length>0);
};
this.setData=function(_3ff,_400){
this.data=(_3ff?_3ff:[]);
this.fields.set(_400);
};
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 _401=this.fields.count();
var _402=(this.data&&this.data.length?this.data[0].length:0);
return Math.max(_401,_402);
};
this.getRowCount=function(){
return (this.data&&this.data.length?this.data.length:0);
};
this.getDatum=function(_403,_404){
if(djConfig.isDebug&&(_404<0||_404>=this.data.length)){
turbo.debug("turbo.data.arrayStore.getDatum: bad row: "+_404);
return null;
}
return this.data[_404][_403];
};
this.setDatum=function(_405,_406,_407){
this.data[_406][_405]=_407;
};
this.getRow=function(_408){
return this.data[_408];
};
this.copyRow=function(_409){
return this.data[_409].slice(0);
};
this.compareRow=function(_40a,_40b){
var c=this.getColCount();
if(!_40b||_40b.length!=c){
return false;
}
var row=this.getRow(_40a);
for(var i=0;i<c;i++){
if(_40b[i]!==row[i]){
return false;
}
}
return true;
};
this.removeRow=function(_40f){
this.data.splice(_40f,1);
this.rowinfo.remove(_40f);
};
this.replaceRow=function(_410,_411){
this.data[_410]=_411;
};
this.swapRows=function(_412,_413){
turbo.arraySwap(this.data,_412,_413);
this.rowinfo.swap(_412,_413);
};
this.getRowCache=function(_414){
return this.rowinfo.get(_414).cache;
};
this.getRowBacking=function(_415){
var c=this.getRowCache(_415);
return (c?c:this.getRow(_415));
};
this.cacheRow=function(_417){
if(!this.getRowCache(_417)){
this.rowinfo.set(_417,{cache:this.copyRow(_417)});
}
};
this.rowChanged=function(_418){
var c=this.getRowCache(_418);
return (!c?true:!this.compareRow(_418,c));
};
this.restoreRow=function(_41a){
var c=this.getRowCache(_41a);
if(c){
this.replaceRow(_41a,c);
}
};
this.addRow=function(_41c,_41d){
var c=this.getColCount();
if(!_41d){
_41d=[];
}
for(var i=0;i<c;i++){
if(dojo.lang.isUndefined(_41d[i])){
_41d[i]=this.fields.get(i).defaultValue;
}
}
if(this.data.length>0){
this.data.splice(_41c,0,_41d);
}else{
this.data=[_41d];
}
this.rowinfo.insert(_41c,{edit:true,insert:true});
};
this.setData(_3fd,_3fe);
};
turbo.data.paged=function(_420){
turbo.data.store.call(this,null,_420);
this.totalRows=0;
this.rowsPerPage=50;
this.pageCount=0;
this.pages=[];
this.page=-1;
this.invalidPage=-1;
this.requestPage=function(_421){
};
this.clear=function(){
this.setTotalRows(0);
this.page=-1;
this.pages=[];
this.setSortIndex(-1);
};
this.setTotalRows=function(_422){
var _423=this.pageCount;
var _424=this.page;
this.totalRows=_422;
this.pageCount=Math.ceil(this.totalRows/this.rowsPerPage);
if(this.page>=this.pageCount){
this.page=this.pageCount-1;
}
return (_423!=this.pageCount||_424!=this.page);
};
this.getPageLength=function(_425){
var page=(_425==this.page?this.data:this.pages[_425]);
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(_428){
var page=(_428===undefined?this.page:_428);
return page*this.rowsPerPage;
};
this.getBottomRow=function(_42a){
var row=this.getTopRow(_42a)+this.getPageLength(_42a)-1;
return Math.min(row,this.totalRows-1);
};
this.fillPage=function(_42c,_42d){
this.pages[_42c]=_42d;
};
this.selectPage=function(_42e){
this.page=_42e;
if(!this.pages[_42e]){
this.requestPage(_42e);
}
this.rowinfo.clear();
if(this.pages[_42e]){
this.invalidPage=-1;
this.data=this.pages[_42e];
}else{
this.invalidPage=_42e;
this.data=[];
}
};
this.invalidatePage=function(){
this.pages[this.page]=null;
};
this.pageIsValid=function(_42f){
return (this.pages[_42f]?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.classic.columns");
turbo.grid.format={};
turbo.grid.format.noformat=function(_431,_432){
return _431;
};
turbo.grid.edit={};
turbo.grid.edit.noedit={edit:function(_433,_434,_435){
return false;
},getValue:function(){
return null;
}};
turbo.grid.column=function(_436){
this.name=(_436?_436:"");
this.width=96;
this.readonly=false;
this.editor=null;
this.formatter=turbo.grid.format.text;
this.format=function(_437,_438){
if(!this.formatter){
dojo.debug("turbo.grid.column: illegal formatter for column ["+this.name+"]");
this.formatter=turbo.grid.format.text;
}
var _439=(this.readonly||_438||!this.editor);
return this.formatter.call(this,_437,_439);
};
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(_43a,_43b){
var s="width:"+this.width+"px;";
if(_43a==null){
s+=" color: #CCBBB3;";
_43a="~";
}else{
if(typeof (_43a)=="string"&&_43a.length>255){
_43a="(text: "+_43a.length+" chars)";
}else{
_43a=turbo.escapeText(_43a);
}
}
if(this.align){
s+=" text-align: "+this.align+";";
}
return "<div style=\""+s+"\">"+_43a+"</div>";
};
turbo.grid.format.line=turbo.grid.format.text;
turbo.grid.edit.line=new function(){
this.createInput=function(_43d,_43e){
var i=document.createElement("input");
i.setAttribute("autocomplete","OFF");
i.value=(_43e===undefined?"":String(_43e));
i.style.width=_43d.clientWidth-10+"px";
_43d.innerHTML="";
_43d.appendChild(i);
if(i.clientHeight<_43d.clientHeight-4){
i.style.height=_43d.clientHeight-4+"px";
}
turbo.defer(function(){
i.select();
i.focus();
},10);
return i;
};
this.edit=function(_440,_441){
this.client.input=this.createInput(_440,_441);
};
this.getValue=function(){
return (this.client.input.value=="null"?null:(this.client.input.value=="undefined"?undefined:this.client.input.value));
};
};
turbo.grid.edit.multiLine=new function(){
this.createInput=function(_442,_443){
var i=document.createElement("textarea");
i.value=String(_443);
i.rows=2;
i.style.width=_442.clientWidth-8+"px";
_442.innerHTML="";
_442.appendChild(i);
if(i.clientHeight<_442.clientHeight-4){
i.style.height=_442.clientHeight-4+"px";
}
i.select();
i.focus();
return i;
};
this.edit=function(_445,_446){
this.client.input=this.createInput(_445,_446);
};
this.getValue=function(){
return (this.client.input.value=="null"?null:this.client.input.value);
};
};
turbo.grid.format.bool=function(_447,_448){
_447=(_447?parseInt(_447)!=0:false);
var s=" text-align: "+(this.align?this.align:"center")+";";
return "<div style=\"width:"+this.width+"px; "+s+"\">"+"<input type=\"checkbox\""+(_448?" disabled=\"disabled\"":"")+(_447?" checked=\"checked\"":"")+"/>"+"</div>";
};
turbo.grid.edit.bool=new function(){
this.edit=function(_44a,_44b,_44c){
while(turbo.getTagName(_44a)!="input"){
_44a=_44a.childNodes[0];
}
if(!_44a){
return false;
}
this.client.input=_44a;
this.client.input.focus();
if(this.column.onclick){
this.client.input.onclick=turbo.bindArgs(this,this.column.onclick,_44c);
this.client.input.onclick();
}
};
this.getValue=function(){
return (this.client.input.checked?1:0);
};
};
turbo.grid.isIntChar=function(_44d){
return (_44d.search(/[-+\0\t\n\r\d]/)!=-1);
};
turbo.grid.format.integer=function(_44e,_44f){
var s=" width:"+this.width+"px; text-align: "+(this.align?this.align:"right")+";";
var f="~";
if(_44e==null){
s+=" color: #CCBBB3;";
}else{
f=parseInt(_44e)+(this.units?this.units:"");
}
return "<div style=\""+s+"\">"+f+"</div>";
};
turbo.grid.edit.integer=new function(){
this.limitToInteger=function(_452){
if(!turbo.grid.isIntChar(String.fromCharCode(_452.charCode))){
_452.preventDefault();
}
};
this.createInput=turbo.grid.edit.line.createInput;
this.edit=function(_453,_454){
this.client.input=this.createInput(_453,_454);
dojo.event.connect(this.client.input,"onkeypress",this,"limitToInteger");
};
this.getValue=function(){
var _455=Number(this.client.input.value);
return (isNaN(_455)?0:_455);
};
};
turbo.grid.format.decimal=function(_456,_457){
var s="text-align: "+(this.align?this.align:"right")+";";
var f="~";
if(_456==null){
s+=" color: #CCBBB3;";
}else{
f=parseFloat(_456);
f=(this.decimals?f.toFixed(this.decimals):f)+(this.units?this.units:"");
}
return "<div style=\""+s+"\">"+f+"</div>";
};
turbo.grid.decimalIsOk=function(_45a,_45b){
return (_45b=="."&&!/[\.]/.test(_45a));
};
turbo.grid.edit.decimal=new function(){
this.limitToDecimal=function(_45c){
var s=String.fromCharCode(_45c.charCode);
if(!turbo.grid.isIntChar(s)&&!turbo.grid.decimalIsOk(this.client.input.value,s)){
_45c.preventDefault();
}
};
this.createInput=turbo.grid.edit.line.createInput;
this.edit=function(_45e,_45f){
this.client.input=this.createInput(_45e,_45f);
dojo.event.connect(this.client.input,"onkeypress",this,"limitToDecimal");
};
this.getValue=function(){
var _460=Number(this.client.input.value);
return (isNaN(_460)?0:_460);
};
};
turbo.grid.format.money=function(_461,_462){
var f=parseFloat(_461);
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(_468,_469){
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]==_468);
}else{
v="";
s=(this.options[i]==_468);
}
s=(s?" selected":"");
opts+="<option"+v+s+">"+this.options[i]+"</option>";
}
}else{
opts="<option>"+_468+"</option>";
}
return "<div>"+"<select"+(_469?" disabled=\"disabled\"":"")+">"+opts+"</select>"+"</div>";
};
turbo.grid.edit.enumerated=new function(){
this.edit=function(_46c,_46d){
while(_46c.tagName!="SELECT"){
_46c=_46c.childNodes[0];
}
this.client.input=_46c;
};
this.getValue=function(){
return turbo.getSelectValue(this.client.input);
};
};
turbo.grid.format.autoInc=function(_46e){
var s="";
s+="width:"+(this.width-4)+"px;";
s+=" text-align: "+(this.align?this.align:"right")+";";
if(_46e===undefined){
s+=" color: #CCBBB3;";
_46e="auto";
}
return "<div style=\""+s+"\">"+_46e+"</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,editor:turbo.grid.edit.integer};
dojo.provide("turbo.grid.classic.controllers");
dojo.require("turbo.grid.classic.columns");
turbo.grid.controllers={};
turbo.grid.controller=function(_470,_471,_472){
if(_470){
this.readonly=false;
this.columns=new turbo.data.fields(turbo.grid.column);
this.columns.set(_472);
this.grid=(dojo.lang.isString(_470)?dojo.widget.getWidgetById(_470):_470);
this.grid.controller=this;
this.setModel(_471);
}
};
dojo.lang.extend(turbo.grid.controller,{canSort:function(_473){
},showMessage:function(_474){
},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(_475){
if(_475!=this.readonly){
this.readonly=_475;
this.build();
}
},setModel:function(_476){
this.model=_476;
if(this.model){
this.build();
}
},getColCount:function(){
var _477=this.columns.count();
return (_477?_477:this.model.getColCount());
},getColumnWidth:function(_478,_479){
return this.columns.get(_479).width;
},getDatum:function(_47a,_47b){
return this.model.getDatum(_47a,_47b);
},getCell:function(_47c,_47d,_47e){
return this.columns.get(_47d).format(this.getDatum(_47d,_47e),this.readonly,_47e);
},getHeaderAlign:function(_47f,_480){
var a=this.columns.get(_480)["align"];
return (a?a:"left");
},getColumnTitle:function(_482,_483){
var t=this.columns.get(_483).name;
return (t?t:this.model.fields.get(_483).name);
},getSortInfo:function(_485){
return {column:this.model.sortIndex,desc:this.model.sortDesc};
},onHeaderClick:function(_486,_487){
if(this.canSort(_487)===false){
return;
}
this.applyEdit();
this.model.setSortIndex(_487);
this.model.sort();
this.grid.clearMarkers();
this.grid.refresh();
},getClientRowClass:function(_488){
},getRowClass:function(_489){
var _48a="";
if(this.grid.selected[_489]&&this.grid.selectCount>1){
_48a="selected";
}else{
_48a=this.getClientRowClass(_489);
if(_48a){
return _48a;
}
}
if(!_48a){
var i=this.model.rowinfo.get(_489);
if(i.inflight){
_48a="inflight";
}else{
if(i.error){
_48a="error";
}else{
if(this.grid.selected[_489]&&!_48a){
_48a=(i.edit?"editing":"selected");
}
}
}
}
return this.grid.classTag+"-row-"+(_489&1)+(_48a?" "+this.grid.classTag+"-"+_48a:"");
}});
dojo.lang.extend(turbo.grid.controller,{setRow:function(_48c,_48d){
this.model.replaceRow(_48c,_48d);
this.grid.updateRow(_48c);
},addRow:function(_48e,_48f){
var row=Number(_48e!=undefined&&_48e>=0?_48e:this.grid.getFirstSelectedRow()+1);
this.applyEdit();
this.model.addRow(row,_48f);
this.grid.addRow(row);
this.editingRow=row;
this.grid.setRowSelected(row);
this.grid.onSelectionChange();
this.rowsChanged();
},appendRow:function(_491){
this.addRow(Math.max(this.grid.rows,0),_491);
},removeRow:function(_492){
this.model.removeRow(_492);
this.grid.removeRow(_492);
},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(_497){
var src=this.grid.selectedRow;
var dst=src+_497;
return (src>=0&&dst>=0&&dst<this.grid.rows);
},moveRow:function(_49a){
if(!this.canMoveRow(_49a)){
return;
}
this.finishGridEdit();
var src=this.grid.selectedRow;
var dst=src+_49a;
this.swapRows(src,src+_49a);
this.grid.setRowSelected(src,false);
this.grid.setRowSelected(dst,true);
this.grid.onSelectionChange();
},moveRowUp:function(){
this.moveRow(-1);
},moveRowDown:function(){
this.moveRow(1);
}});
turbo.grid.controller.prototype.newRow=turbo.grid.controller.prototype.addRow;
dojo.lang.extend(turbo.grid.controller,{onBeginEdit:function(_49d){
},onEditRowStart:function(_49e){
},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(_49f){
if(this.editingRow!=_49f){
this.editingRow=_49f;
this.model.startEdit(_49f);
this.onEditRowStart(_49f);
}
},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(_4a2,_4a3,_4a4){
if(!_4a2){
return;
}
var cell=this.grid.getCellPos(_4a2);
if(this.grid.sameCell(this.editingCell,cell)||(!this.grid.goodCell(cell)&&cell.row==this.editingRow)){
return;
}
this.finishEditCell();
if(!this.grid.goodCell(cell)||_4a3||_4a4){
this.finishEditRow();
this.grid.clickSelect(cell.row,_4a3,_4a4);
dojo.html.clearSelection();
}else{
this.grid.unselectRows(cell.row);
if(_4a2.parentNode==null){
return;
}
cell=this.grid.getCellPos(_4a2);
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(_4a6,_4a7,_4a8){
this.editCell(_4a7,_4a8.ctrlKey,_4a8.shiftKey);
},onDataDblClick:function(_4a9,_4aa,_4ab){
}});
dojo.lang.extend(turbo.grid.controller,{getEditor:function(_4ac){
var _4ad=(this.readonly?null:this.columns.get(_4ac.col).getEditor());
if(_4ad){
_4ad.client=this;
if(_4ad.edit(this.grid.getDomCell(_4ac),this.getDatum(_4ac.col,_4ac.row),_4ac)===false){
_4ad=null;
}
}
return _4ad;
},updateCell:function(_4ae,_4af){
_4af.client=this;
this.model.setDatum(_4ae.col,_4ae.row,_4af.getValue());
}});
dojo.lang.extend(turbo.grid.controller,{onUnselectRow:function(_4b0,_4b1){
if(_4b1==this.editingRow){
this.applyEdit();
}
},applyEdit:function(_4b2){
if(this.editingRow>=0){
this.model.rowinfo.get(this.editingRow).sync=Boolean(_4b2);
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(_4b4,_4b5){
this.grid.updateRow(_4b4);
var e=(_4b5?_4b5:this.model.rowinfo.get(_4b4).error);
turbo.debug("turbo.grid.controller._commitError: "+e);
this.showMessage("A server commit error occured: ["+e+"]",true);
},_commitOk:function(_4b7){
this.grid.updateRow(_4b7);
this.rowsChanged();
},updateRow:function(_4b8){
var ok=turbo.bindArgs(this,"_commitOk",_4b8);
var _4ba=turbo.bindArgs(this,"_commitError",_4b8);
this.model.applyEdit(_4b8,ok,_4ba);
}});
dojo.lang.extend(turbo.grid.controller,{_deleteError:function(){
},_deleteOk:function(_4bb,_4bc){
var c=_4bc;
turbo.debug("turbo.grid.controller._deleteOk: deleted "+c+" row(s)");
var self=this;
var _4bf=0;
var each=function(_4c1){
if(_4bf>=c){
return false;
}
self.removeRow(_4c1-_4bf++);
return true;
};
dojo.lang.every(_4bb,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 _4c3=rows.length;
if(!confirm("Ok to delete "+(_4c3!=1?_4c3+" rows":"one row")+" from table \""+this.model.table+"\""+"?")){
return;
}
this.cancelGridEdit();
var _4c4=0;
var _4c5=function(_4c6){
var row=_4c6-_4c4;
var e=this.model.rowinfo.get(row);
if(!e.insert){
return row;
}else{
_4c4++;
turbo.debug("turbo.grid.controller._deleteRows: removing non-committed row "+row);
this.removeRow(row);
return undefined;
}
};
rows=turbo.filter(rows,_4c5,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(_4cb,_4cc){
if(_4cc.altKey||_4cc.ctrlKey||_4cc.metaKey){
return;
}
switch(_4cc.keyCode){
case _4cc.KEY_ESCAPE:
this.cancelEditCell();
break;
case _4cc.KEY_ENTER:
if(!_4cc.shiftKey){
this.finishEditCell();
}
break;
case _4cc.KEY_TAB:
if(this.editingCell){
dojo.event.browser.stopEvent(_4cc);
if(_4cc.shiftKey){
this.prevEdit();
}else{
this.nextEdit();
}
}
break;
}
}});
turbo.grid.controllers.paged=function(_4cd,_4ce,_4cf){
turbo.grid.controller.call(this,_4cd,_4ce,_4cf);
};
dojo.inherits(turbo.grid.controllers.paged,turbo.grid.controller);
dojo.lang.extend(turbo.grid.controllers.paged,{setModel:function(_4d0){
this.model=_4d0;
if(this.model){
this.model.repaginate();
this.model.selectPage(0);
this.build();
}
},_selectPage:function(_4d1,_4d2){
this.model.selectPage(_4d1);
this.build();
this.grid.setReadyStatus();
if(_4d2){
_4d2();
}
},selectPage:function(_4d3,_4d4){
this.grid.setBusyStatus();
this.grid.teardownRows();
turbo.defer(turbo.bindArgs(this,this._selectPage,_4d3,_4d4),20);
},reloadPage:function(){
this.model.reloadPage();
this.build();
},formatFixedCol:function(_4d5,_4d6){
return Number(_4d6)+1+this.model.getTopRow();
}});
dojo.provide("turbo.grid.classic.extensions");
turbo.grid.extensions={};
turbo.grid.extensions.edit={extend:function(_4d7){
dojo.lang.mixin(_4d7,this);
},getEditor:function(_4d8){
},updateCell:function(_4d9,_4da){
},updateRow:function(_4db){
},cacheEditRow:function(_4dc){
},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(_4dd){
if(this.editingRow!=_4dd){
this.editingRow=_4dd;
this.cacheEditRow(_4dd);
this.onEditRowStart(_4dd);
}
},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(_4e0,_4e1,_4e2){
if(!_4e0){
return;
}
var cell=this.getCellPos(_4e0);
if(!this.goodCell(cell)||this.sameCell(this.editingCell,cell)){
return;
}
this.finishEditCell();
if(_4e1||_4e2){
this.finishEditRow();
this.clickSelect(cell.row,_4e1,_4e2);
dojo.html.clearSelection();
}else{
this.unselectRows(cell.row);
if(_4e0.parentNode==null){
return;
}
cell=this.getCellPos(_4e0);
this.editor=this.getEditor(cell,_4e0);
if(this.editor){
this.editor.client=this;
this.editingCell=cell;
this.editRowStart(cell.row);
window.setTimeout(turbo.bind(this,this.updateRowSizes),10);
}
this.setRowSelected(cell.row,true);
this.onSelectionChange();
}
},editClick:function(_4e4,_4e5,_4e6){
this.editCell(_4e4,_4e5,_4e6);
},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(_4e9){
if(_4e9.altKey||_4e9.ctrlKey||_4e9.metaKey){
return;
}
switch(_4e9.keyCode){
case _4e9.KEY_ESCAPE:
this.cancelEditCell();
break;
case _4e9.KEY_ENTER:
if(!_4e9.shiftKey){
this.finishEditCell();
}
break;
case _4e9.KEY_TAB:
if(this.editingCell){
dojo.event.browser.stopEvent(_4e9);
if(_4e9.shiftKey){
this.prevEdit();
}else{
this.nextEdit();
}
}
break;
}
},getRowClass:function(_4ea){
var _4eb=this.rowMarkerClass[_4ea];
if(this.selected[_4ea]&&(!_4eb||this.selectCount>1)){
_4eb=(this.editingRow==_4ea?"editing":"selected");
}
return this.classTag+"-row-"+(_4ea&1)+(_4eb?" "+this.classTag+"-"+_4eb:"");
},dataClick:function(_4ec,_4ed){
this.editClick(_4ec,_4ed.ctrlKey,_4ed.shiftKey);
},dataKeyDown:function(_4ee){
this.editKeyDown(_4ee);
}};

