function L(i,f){
if(typeof (JSManager)!="undefined"){
JSManager.setLoaded(i,f);
}
}
Object.extend(Number.prototype,{toColorPart:function(){
var _3=this.toString(16);
if(this<16){
return "0"+_3;
}
return _3;
},succ:function(){
return this+1;
},times:function(_4){
$R(0,this,true).each(_4);
return this;
}});
Object.extend(String.prototype,{find:function(_5){
return (this.indexOf(_5)>=0?true:false);
},toArray:function(){
return this.split("");
},unescapeHTML:function(){
var _6=document.createElement("div");
_6.innerHTML=this.stripTags();
return _6.childNodes[0]?(_6.childNodes.length>1?$A(_6.childNodes).inject("",function(_7,_8){
return _7+_8.nodeValue;
}):_6.childNodes[0].nodeValue):"";
},stripTags:function(){
return this.replace(/<\/?[^>]+>/gi,"");
}});
Object.extend(Enumerable,{any:function(_9){
var _a=true;
this.each(function(_b,_c){
if(_a=!!(_9||Prototype.K)(_b,_c)){
throw $break;
}
});
return _a;
},all:function(_d){
var _e=true;
this.each(function(_f,_10){
_e=_e&&!!(_d||Prototype.K)(_f,_10);
if(!_e){
throw $break;
}
});
return _e;
},detect:function(_11){
var _12;
this.each(function(_13,_14){
if(_11(_13,_14)){
_12=_13;
throw $break;
}
});
return _12;
},findAll:function(_15){
var _16=[];
this.each(function(_17,_18){
if(_15(_17,_18)){
_16.push(_17);
}
});
return _16;
},grep:function(_19,_1a){
var _1b=[];
this.each(function(_1c,_1d){
var _1e=_1c.toString();
if(_1e.match(_19)){
_1b.push((_1a||Prototype.K)(_1c,_1d));
}
});
return _1b;
},inject:function(_1f,_20){
this.each(function(_21,_22){
_1f=_20(_1f,_21,_22);
});
return _1f;
},max:function(_23){
var _24=null;
this.each(function(_25,_26){
_25=(_23||Prototype.K)(_25,_26);
if(_24===null||_25>=_24){
_24=_25;
}
});
return _24;
},min:function(_27){
var _28=null;
this.each(function(_29,_2a){
_29=(_27||Prototype.K)(_29,_2a);
if(_28===null||_29<=_28){
_28=_29;
}
});
return _28;
},pluck:function(_2b){
var _2c=[];
this.each(function(_2d,_2e){
_2c.push(_2d[_2b]);
});
return _2c;
},sortBy:function(_2f){
return this.collect(function(_30,_31){
return {value:_30,criteria:_2f(_30,_31)};
}).sort(function(_32,_33){
var a=_32.criteria,b=_33.criteria;
return a<b?-1:a>b?1:0;
}).pluck("value");
},toArray:function(){
return this.collect(Prototype.K);
}});
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});
Object.extend(Array.prototype,Enumerable);
Array.prototype._reverse=Array.prototype.reverse;
Object.extend(Array.prototype,{clear:function(){
this.length=0;
return this;
},first:function(){
return this[0];
},last:function(){
return this[this.length-1];
},compact:function(){
return this.select(function(_36){
return _36!=undefined||_36!=null;
});
},flatten:function(){
return this.inject([],function(_37,_38){
return _37.concat(_38.constructor==Array?_38.flatten():[_38]);
});
},without:function(){
var _39=$A(arguments);
return this.select(function(_3a){
return !_39.include(_3a);
});
},indexOf:function(_3b){
for(var i=0;i<this.length;i++){
if(this[i]==_3b){
return i;
}
}
return -1;
},reverse:function(_3d){
return (_3d!==false?this:this.toArray())._reverse();
},shift:function(){
var _3e=this[0];
for(var i=0;i<this.length-1;i++){
this[i]=this[i+1];
}
this.length--;
return _3e;
}});
Object.extend(Hash,{keys:function(){
return this.pluck("key");
},values:function(){
return this.pluck("value");
},merge:function(_40){
return $H(_40).inject($H(this),function(_41,_42){
_41[_42.key]=_42.value;
return _41;
});
},toQueryString:function(){
return this.map(function(_43){
return _43.map(encodeURIComponent).join("=");
}).join("&");
}});
ObjectRange=Class.create();
Object.extend(ObjectRange.prototype,Enumerable);
Object.extend(ObjectRange.prototype,{initialize:function(_44,end,_46){
this.start=_44;
this.end=end;
this.exclusive=_46;
},_each:function(_47){
var _48=this.start;
do{
_47(_48);
_48=_48.succ();
}while(this.include(_48));
},include:function(_49){
if(_49<this.start){
return false;
}
if(this.exclusive){
return _49<this.end;
}
return _49<=this.end;
}});
var $R=function(_4a,end,_4c){
return new ObjectRange(_4a,end,_4c);
};
var Toggle=new Object();
Toggle.display=Element.toggle;
Abstract.Insertion=function(_4d){
this.adjacency=_4d;
};
Abstract.Insertion.prototype={initialize:function(_4e,_4f){
this.element=$(_4e);
this.content=_4f;
if(this.adjacency&&this.element.insertAdjacentHTML){
try{
this.element.insertAdjacentHTML(this.adjacency,this.content);
}
catch(e){
if(this.element.tagName.toLowerCase()=="tbody"){
this.insertContent(this.contentFromAnonymousTable());
}else{
throw e;
}
}
}else{
this.range=this.element.ownerDocument.createRange();
if(this.initializeRange){
this.initializeRange();
}
this.insertContent([this.range.createContextualFragment(this.content)]);
}
},contentFromAnonymousTable:function(){
var div=document.createElement("div");
div.innerHTML="<table><tbody>"+this.content+"</tbody></table>";
return $A(div.childNodes[0].childNodes[0].childNodes);
}};
var Insertion=new Object();
Insertion.After=Class.create();
Insertion.After.prototype=Object.extend(new Abstract.Insertion("afterEnd"),{initializeRange:function(){
this.range.setStartAfter(this.element);
},insertContent:function(_51){
_51.each((function(_52){
this.element.parentNode.insertBefore(_52,this.element.nextSibling);
}).bind(this));
}});
var Field={clear:function(){
for(var i=0;i<arguments.length;i++){
$(arguments[i]).value="";
}
},focus:function(_54){
$(_54).focus();
},present:function(){
for(var i=0;i<arguments.length;i++){
if($(arguments[i]).value==""){
return false;
}
}
return true;
},select:function(_56){
$(_56).select();
},activate:function(_57){
_57=$(_57);
_57.focus();
if(_57.select){
_57.select();
}
}};
document.getElementsByClassName=function(_58,_59){
var _5a=($(_59)||document.body).getElementsByTagName("*");
return $A(_5a).inject([],function(_5b,_5c){
if(_5c.className.match(new RegExp("(^|\\s)"+_58+"(\\s|$)"))){
_5b.push(_5c);
}
return _5b;
});
};
Element.ClassNames=Class.create();
Element.ClassNames.prototype={initialize:function(_5d){
this.element=$(_5d);
},_each:function(_5e){
this.element.className.split(/\s+/).select(function(_5f){
return _5f.length>0;
})._each(_5e);
},set:function(_60){
this.element.className=_60;
},add:function(_61){
if(this.include(_61)){
return;
}
this.set(this.toArray().concat(_61).join(" "));
},remove:function(_62){
if(!this.include(_62)){
return;
}
this.set(this.select(function(_63){
return _63!=_62;
}).join(" "));
},toString:function(){
return this.toArray().join(" ");
}};
Object.extend(Element.ClassNames.prototype,Enumerable);
Object.extend(Element,{remove:function(_64){
_64=$(_64);
_64.parentNode.removeChild(_64);
},update:function(_65,_66){
$(_65).innerHTML=_66.stripScripts();
setTimeout(function(){
_66.evalScripts();
},10);
},classNames:function(_67){
return new Element.ClassNames(_67);
},hasClassName:function(_68,_69){
if(!(_68=$(_68))){
return;
}
return Element.classNames(_68).include(_69);
},addClassName:function(_6a,_6b){
if(!(_6a=$(_6a))){
return;
}
return Element.classNames(_6a).add(_6b);
},removeClassName:function(_6c,_6d){
if(!(_6c=$(_6c))){
return;
}
return Element.classNames(_6c).remove(_6d);
},cleanWhitespace:function(_6e){
_6e=$(_6e);
for(var i=0;i<_6e.childNodes.length;i++){
var _70=_6e.childNodes[i];
if(_70.nodeType==3&&!/\S/.test(_70.nodeValue)){
Element.remove(_70);
}
}
},empty:function(_71){
return $(_71).innerHTML.match(/^\s*$/);
},scrollTo:function(_72,_73){
_72=$(_72);
_73=_73||{};
var _74=_73.width||Element.getWidth(_72);
var _75=_73.height||Element.getHeight(_72);
var pos=Position.page(_72);
var x=pos[0]+_74+40-Page.getWidth();
var y=pos[1]+_75+40-Page.getHeight();
if(x<0){
x=0;
}
if(y<0){
y=0;
}
if(x>0||y>0){
window.scrollBy(x,y);
}
},setStyle:function(_79,_7a){
_79=$(_79);
for(name in _7a){
_79.style[name.camelize()]=_7a[name];
}
},makePositioned:function(_7b){
_7b=$(_7b);
var pos=Element.getStyle(_7b,"position");
if(pos=="static"||!pos){
_7b._madePositioned=true;
_7b.style.position="relative";
if(window.opera){
_7b.style.top=0;
_7b.style.left=0;
}
}
},undoPositioned:function(_7d){
_7d=$(_7d);
if(_7d._madePositioned){
_7d._madePositioned=undefined;
_7d.style.position=_7d.style.top=_7d.style.left=_7d.style.bottom=_7d.style.right="";
}
},makeClipping:function(_7e){
_7e=$(_7e);
if(_7e._overflow){
return;
}
_7e._overflow=_7e.style.overflow;
if((Element.getStyle(_7e,"overflow")||"visible")!="hidden"){
_7e.style.overflow="hidden";
}
},undoClipping:function(_7f){
_7f=$(_7f);
if(_7f._overflow){
return;
}
_7f.style.overflow=_7f._overflow;
_7f._overflow=undefined;
},appear:function(_80){
this.slowEffect(_80,"show");
},disappear:function(_81){
this.slowEffect(_81,"hide");
},slowEffect:function(_82,_83){
_82=$(_82);
_82.style.overflow="hidden";
if(_83=="show"){
if(!_82.maxHeight){
_82.maxHeight=_82.style.height.replace(/px$/,"");
_82.style.height="0px";
}
$ES(_82);
}
var _84=parseInt(_82.style.height.replace(/px$/,""));
_84=_83=="hide"?Math.max(0,_84-2):Math.min(_82.maxHeight,_84+2);
_82.style.height=_84+"px";
if(_83=="hide"&&_84==0){
$EH(_82);
return;
}
if(_83=="show"&&_84==_82.maxHeight){
delete _82.maxHeight;
return;
}
window.setTimeout(function(){
Element.slowEffect(_82,_83);
},0);
},open:function(_85,_86){
_86=_86||{};
var _87=_86.step||0;
var _88=15;
var _89=Element.getWidth(_85);
var _8a=Element.getHeight(_85);
var _8b=Math.ceil(_87*_89/_88);
var _8c=Math.ceil(_87*_8a/_88);
_8b=Math.min(_8b,_89);
_8c=Math.min(_8c,_8a);
if(_87==0){
_85=$(_85);
$ES(_85);
}
_85.style.clip="rect(auto, "+_8b+"px, "+_8c+"px, auto)";
if(_8b==_89&&_8c==_8a){
Element.scrollTo(_85,{width:_89,height:_8a});
_85.style.clip="rect(auto,auto,auto,auto)";
return;
}
++_87;
var o={};
$E(o,_86);
o.step=_87;
window.setTimeout(function(){
Element.open(_85,o);
},0);
},load:function(_8e,_8f,_90){
_90=_90||{};
var _91=_90.onLoad||function(){
};
if(_90.onLoad){
delete _90.onLoad;
}
_8e=$(_8e);
if(_8e.innerHTML!=""&&!_90.forceLoad){
$ET(_8e);
_91();
}else{
$ES(_8e);
_8e.innerHTML="Loading ...";
_8f.callback=_91;
$AJS(_8f,$E(_90,{target:_8e.id,targetReplacement:"innerHTML"}));
}
}});
var $EO=Element.open,$EL=Element.load;
Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_END:35,KEY_HOME:36,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(_92){
return _92.target||_92.srcElement;
},isLeftClick:function(_93){
return (((_93.which)&&(_93.which==1))||((_93.button)&&(_93.button==1)));
},pointerX:function(_94){
return _94.pageX||(_94.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));
},pointerY:function(_95){
return _95.pageY||(_95.clientY+(document.documentElement.scrollTop||document.body.scrollTop));
},stopBubble:function(_96){
if(_96.stopPropogation){
_96.stopPropagation();
}else{
_96.cancelBubble=true;
}
},stop:function(_97){
if(_97.preventDefault){
_97.preventDefault();
_97.stopPropagation();
}else{
_97.returnValue=false;
_97.cancelBubble=true;
}
},findElement:function(_98,_99){
var _9a=Event.element(_98);
while(_9a.parentNode&&(!_9a.tagName||(_9a.tagName.toUpperCase()!=_99.toUpperCase()))){
_9a=_9a.parentNode;
}
return _9a;
},fireOnlyOnSelf:function(_9b,_9c,_9d){
if(_9b.target==_9c){
_9d();
}
}});
var $EVS=Event.stop;
Object.extend(Position,{within:function(_9e,x,y){
if(this.includeScrollOffsets){
return this.withinIncludingScrolloffsets(_9e,x,y);
}
this.xcomp=x;
this.ycomp=y;
this.offset=this.cumulativeOffset(_9e);
return (y>=this.offset[1]&&y<this.offset[1]+_9e.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+_9e.offsetWidth);
},withinIncludingScrolloffsets:function(_a1,x,y){
var _a4=this.realOffset(_a1);
this.xcomp=x+_a4[0]-this.deltaX;
this.ycomp=y+_a4[1]-this.deltaY;
this.offset=this.cumulativeOffset(_a1);
return (this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+_a1.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+_a1.offsetWidth);
},overlap:function(_a5,_a6){
if(!_a5){
return 0;
}
if(_a5=="vertical"){
return ((this.offset[1]+_a6.offsetHeight)-this.ycomp)/_a6.offsetHeight;
}
if(_a5=="horizontal"){
return ((this.offset[0]+_a6.offsetWidth)-this.xcomp)/_a6.offsetWidth;
}
},clone:function(_a7,_a8){
_a7=$(_a7);
_a8=$(_a8);
_a8.style.position="absolute";
var _a9=this.cumulativeOffset(_a7);
var _aa=this.realOffset(_a7);
_a8.style.top=(_a9[1]-_aa[1])+"px";
_a8.style.left=(_a9[0]-_aa[0])+"px";
_a8.style.width=_a7.offsetWidth+"px";
_a8.style.height=_a7.offsetHeight+"px";
},page:function(_ab){
var _ac=0,_ad=0;
var _ae=_ab;
do{
_ac+=_ae.offsetTop||0;
_ad+=_ae.offsetLeft||0;
if(_ae.offsetParent==document.body){
if(Element.getStyle(_ae,"position")=="absolute"){
break;
}
}
}while(_ae=_ae.offsetParent);
_ae=_ab;
do{
_ac-=_ae.scrollTop||0;
_ad-=_ae.scrollLeft||0;
}while(_ae=_ae.parentNode);
return [_ad,_ac];
},cumulativeOffset:function(_af){
var _b0=0,_b1=0;
do{
_b0+=_af.offsetTop||0;
_b1+=_af.offsetLeft||0;
_af=_af.offsetParent;
}while(_af);
return [_b1,_b0];
},positionedOffset:function(_b2){
var _b3=0,_b4=0;
do{
_b3+=_b2.offsetTop||0;
_b4+=_b2.offsetLeft||0;
_b2=_b2.offsetParent;
if(_b2){
p=Element.getStyle(_b2,"position");
if(p=="relative"||p=="absolute"){
break;
}
}
}while(_b2);
return [_b4,_b3];
},offsetParent:function(_b5){
if(_b5.offsetParent){
return _b5.offsetParent;
}
if(_b5==document.body){
return _b5;
}
while((_b5=_b5.parentNode)&&_b5!=document.body){
if(Element.getStyle(_b5,"position")!="static"){
return _b5;
}
}
return document.body;
},clone:function(_b6,_b7){
var _b8=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});
_b6=$(_b6);
var p=Position.page(_b6);
_b7=$(_b7);
var _ba=[0,0];
var _bb=null;
if(Element.getStyle(_b7,"position")=="absolute"){
_bb=Position.offsetParent(_b7);
_ba=Position.page(_bb);
}
if(_bb==document.body){
_ba[0]-=document.body.offsetLeft;
_ba[1]-=document.body.offsetTop;
}
if(_b8.setLeft){
_b7.style.left=(p[0]-_ba[0]+_b8.offsetLeft)+"px";
}
if(_b8.setTop){
_b7.style.top=(p[1]-_ba[1]+_b8.offsetTop)+"px";
}
if(_b8.setWidth){
_b7.style.width=_b6.offsetWidth+"px";
}
if(_b8.setHeight){
_b7.style.height=_b6.offsetHeight+"px";
}
}});
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){
Position.cumulativeOffset=function(_bc){
var _bd=0,_be=0;
do{
_bd+=_bc.offsetTop||0;
_be+=_bc.offsetLeft||0;
if(_bc.offsetParent==document.body){
if(Element.getStyle(_bc,"position")=="absolute"){
break;
}
}
_bc=_bc.offsetParent;
}while(_bc);
return [_be,_bd];
};
}
L(192,"lib/prototypeExtra.js");
String.prototype.parseColor=function(){
var _bf="#";
if(this.slice(0,4)=="rgb("){
var _c0=this.slice(4,this.length-1).split(",");
var i=0;
do{
_bf+=parseInt(_c0[i]).toColorPart();
}while(++i<3);
}else{
if(this.slice(0,1)=="#"){
if(this.length==4){
for(var i=1;i<4;i++){
_bf+=(this.charAt(i)+this.charAt(i)).toLowerCase();
}
}
if(this.length==7){
_bf=this.toLowerCase();
}
}
}
return (_bf.length==7?_bf:(arguments[0]||this));
};
Element.collectTextNodes=function(_c2){
return $A($(_c2).childNodes).collect(function(_c3){
return (_c3.nodeType==3?_c3.nodeValue:(_c3.hasChildNodes()?Element.collectTextNodes(_c3):""));
}).flatten().join("");
};
Element.collectTextNodesIgnoreClass=function(_c4,_c5){
return $A($(_c4).childNodes).collect(function(_c6){
return (_c6.nodeType==3?_c6.nodeValue:((_c6.hasChildNodes()&&!Element.hasClassName(_c6,_c5))?Element.collectTextNodes(_c6):""));
}).flatten().join("");
};
Element.getInlineOpacity=function(_c7){
return $(_c7).style.opacity||"";
};
Array.prototype.call=function(){
var _c8=arguments;
this.each(function(f){
f.apply(this,_c8);
});
};
var Effect={};
var Effect2=Effect;
Effect.Transitions={};
Effect.Transitions.sinoidal=function(pos){
return (-Math.cos(pos*Math.PI)/2)+0.5;
};
Effect.ScopedQueue=Class.create();
Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){
this.effects=[];
this.interval=null;
},_each:function(_cb){
this.effects._each(_cb);
},add:function(_cc){
var _cd=new Date().getTime();
var _ce=(typeof _cc.options.queue=="string")?_cc.options.queue:_cc.options.queue.position;
switch(_ce){
case "front":
this.effects.findAll(function(e){
return e.state=="idle";
}).each(function(e){
e.startOn+=_cc.finishOn;
e.finishOn+=_cc.finishOn;
});
break;
case "end":
_cd=this.effects.pluck("finishOn").max()||_cd;
break;
}
_cc.startOn+=_cd;
_cc.finishOn+=_cd;
this.effects.push(_cc);
if(!this.interval){
this.interval=setInterval(this.loop.bind(this),40);
}
},remove:function(_d1){
this.effects=this.effects.reject(function(e){
return e==_d1;
});
if(this.effects.length==0){
clearInterval(this.interval);
this.interval=null;
}
},loop:function(){
var _d3=new Date().getTime();
this.effects.invoke("loop",_d3);
}});
Effect.Queues={instances:$H(),get:function(_d4){
if(typeof _d4!="string"){
return _d4;
}
if(!this.instances[_d4]){
this.instances[_d4]=new Effect.ScopedQueue();
}
return this.instances[_d4];
}};
Effect.Queue=Effect.Queues.get("global");
Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1,fps:25,sync:false,from:0,to:1,delay:0,queue:"parallel"};
Effect.Base=function(){
};
Effect.Base.prototype={position:null,start:function(_d5){
this.options=Object.extend(Object.extend({},Effect.DefaultOptions),_d5||{});
this.currentFrame=0;
this.state="idle";
this.startOn=this.options.delay*1000;
this.finishOn=this.startOn+(this.options.duration*1000);
this.event("beforeStart");
if(!this.options.sync){
Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).add(this);
}
},loop:function(_d6){
if(_d6>=this.startOn){
if(_d6>=this.finishOn){
this.render(1);
this.cancel();
this.event("beforeFinish");
if(this.finish){
this.finish();
}
this.event("afterFinish");
return;
}
var pos=(_d6-this.startOn)/(this.finishOn-this.startOn);
var _d8=Math.round(pos*this.options.fps*this.options.duration);
if(_d8>this.currentFrame){
this.render(pos);
this.currentFrame=_d8;
}
}
},render:function(pos){
if(this.state=="idle"){
this.state="running";
this.event("beforeSetup");
if(this.setup){
this.setup();
}
this.event("afterSetup");
}
if(this.state=="running"){
if(this.options.transition){
pos=this.options.transition(pos);
}
pos*=(this.options.to-this.options.from);
pos+=this.options.from;
this.position=pos;
this.event("beforeUpdate");
if(this.update){
this.update(pos);
}
this.event("afterUpdate");
}
},cancel:function(){
if(!this.options.sync){
Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).remove(this);
}
this.state="finished";
},event:function(_da){
if(this.options[_da+"Internal"]){
this.options[_da+"Internal"](this);
}
if(this.options[_da]){
this.options[_da](this);
}
},inspect:function(){
return "#<Effect:"+$H(this).inspect()+",options:"+$H(this.options).inspect()+">";
}};
Effect.Opacity=Class.create();
Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(_db){
this.element=$(_db);
if(/MSIE/.test(navigator.userAgent)&&(!this.element.hasLayout)){
Element.setStyle(this.element,{zoom:1});
}
var _dc=Object.extend({from:Element.getOpacity(this.element)||0,to:1},arguments[1]||{});
this.start(_dc);
},update:function(_dd){
Element.setOpacity(this.element,_dd);
}});
Effect.Fade=function(_de){
var _df=Element.getInlineOpacity(_de);
var _e0=Object.extend({from:Element.getOpacity(_de)||1,to:0,afterFinishInternal:function(_e1){
with(Element){
if(_e1.options.to!=0){
return;
}
hide(_e1.element);
setStyle(_e1.element,{opacity:_df});
}
}},arguments[1]||{});
return new Effect.Opacity(_de,_e0);
};
Effect.Appear=function(_e2){
var _e3=Object.extend({from:(Element.getStyle(_e2,"display")=="none"?0:Element.getOpacity(_e2)||0),to:1,beforeSetup:function(_e4){
with(Element){
setOpacity(_e4.element,_e4.options.from);
show(_e4.element);
}
}},arguments[1]||{});
return new Effect.Opacity(_e2,_e3);
};
L(193,"lib/effects.js");
var Autocompleter={};
Autocompleter.Base=function(){
};
Autocompleter.Base.prototype={baseInitialize:function(_e5,_e6,_e7){
this.element=$(_e5);
if(!this.element){
Log.error("ac: element",_e5,"not present!");
return;
}
this.update=$(_e6);
this.hasFocus=false;
this.changed=false;
this.active=false;
this.index=0;
this.entryCount=0;
if(this.setOptions){
this.setOptions(_e7);
}else{
this.options=_e7||{};
}
this.options.paramName=this.options.paramName||this.element.name;
this.options.tokens=this.options.tokens||[];
this.options.frequency=this.options.frequency||0.4;
this.options.minChars=this.options.minChars||1;
this.options.onShow=this.options.onShow||function(_e8,_e9){
if(!_e9.style.position||_e9.style.position=="absolute"){
_e9.style.position="absolute";
Position.clone(_e8,_e9,{setHeight:false,offsetTop:_e8.offsetHeight});
}
Effect.Appear(_e9,{duration:0.01});
};
this.options.onHide=this.options.onHide||function(_ea,_eb){
new Effect.Fade(_eb,{duration:0.15});
};
if(typeof (this.options.tokens)=="string"){
this.options.tokens=new Array(this.options.tokens);
}
this.observer=null;
this.element.setAttribute("autocomplete","off");
Element.hide(this.update);
Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));
Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this));
if(this.options.minChars<0){
Event.observe(this.element,"click",this.onFocus.bindAsEventListener(this));
}
},deRegister:function(){
Event.stopObserving(this.element,"blur",this.onBlur.bindAsEventListener(this));
Event.stopObserving(this.element,"keydown",this.onKeyPress.bindAsEventListener(this));
if(this.options.minChars<0){
Event.stopObserving(this.element,"click",this.onFocus.bindAsEventListener(this));
}
},show:function(){
if(Element.getStyle(this.update,"display")=="none"){
this.options.onShow(this.element,this.update);
}
if(!this.iefix&&(navigator.appVersion.indexOf("MSIE")>0)&&(navigator.userAgent.indexOf("Opera")<0)&&(Element.getStyle(this.update,"position")=="absolute")){
new Insertion.After(this.update,"<iframe id=\""+this.update.id+"_iefix\" "+"style=\"display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);\" "+"src=\"javascript:false;\" frameborder=\"0\" scrolling=\"no\"></iframe>");
this.iefix=$(this.update.id+"_iefix");
}
if(this.iefix){
setTimeout(this.fixIEOverlapping.bind(this),50);
}
},fixIEOverlapping:function(){
Position.clone(this.update,this.iefix);
this.iefix.style.zIndex=1;
this.update.style.zIndex=2;
Element.show(this.iefix);
},hide:function(){
if(Element.getStyle(this.update,"display")!="none"){
this.options.onHide(this.element,this.update);
}
if(this.iefix){
Element.hide(this.iefix);
}
},onFocus:function(_ec){
this.changed=true;
this.hasFocus=true;
if(this.observer){
clearTimeout(this.observer);
}
this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);
},onKeyPress:function(_ed){
if(this.active){
switch(_ed.keyCode){
case Event.KEY_TAB:
case Event.KEY_RETURN:
this.selectEntry();
Event.stop(_ed);
case Event.KEY_ESC:
this.hide();
this.active=false;
Event.stop(_ed);
return;
case Event.KEY_LEFT:
case Event.KEY_RIGHT:
return;
case Event.KEY_UP:
this.markPrevious();
this.render();
if(navigator.appVersion.indexOf("AppleWebKit")>0){
Event.stop(_ed);
}
return;
case Event.KEY_DOWN:
this.markNext();
this.render();
if(navigator.appVersion.indexOf("AppleWebKit")>0){
Event.stop(_ed);
}
return;
}
}else{
if(_ed.keyCode==Event.KEY_TAB||_ed.keyCode==Event.KEY_RETURN){
return;
}
}
this.changed=true;
this.hasFocus=true;
if(this.observer){
clearTimeout(this.observer);
}
this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);
},onHover:function(_ee){
var _ef=Event.findElement(_ee,"LI");
if(this.index!=_ef.autocompleteIndex){
this.index=_ef.autocompleteIndex;
this.render();
}
Event.stop(_ee);
},onClick:function(_f0){
var _f1=Event.findElement(_f0,"LI");
this.index=_f1.autocompleteIndex;
this.selectEntry();
this.hide();
},onBlur:function(_f2){
setTimeout(this.hide.bind(this),250);
this.hasFocus=false;
this.active=false;
},render:function(){
if(this.entryCount>0){
for(var i=0;i<this.entryCount;i++){
this.index==i?Element.addClassName(this.getEntry(i),"selected"):Element.removeClassName(this.getEntry(i),"selected");
}
if(this.hasFocus){
this.show();
this.active=true;
}
}else{
this.active=false;
this.hide();
}
},markPrevious:function(){
if(this.index>0){
this.index--;
}else{
this.index=this.entryCount-1;
}
},markNext:function(){
if(this.index<this.entryCount-1){
this.index++;
}else{
this.index=0;
}
},getEntry:function(_f4){
return this.update.firstChild.childNodes[_f4];
},getCurrentEntry:function(){
return this.getEntry(this.index);
},selectEntry:function(){
this.active=false;
this.updateElement(this.getCurrentEntry());
},updateElement:function(_f5){
var _f6="";
if(this.options.selectCB){
_f6=this.options.selectCB(_f5);
}else{
if(this.options.select){
var _f7=document.getElementsByClassName(this.options.select,_f5)||[];
if(_f7.length>0){
_f6=Element.collectTextNodes(_f7[0],this.options.select);
}
}
}
var _f8=this.findLastToken();
if(_f8!=-1){
var _f9=this.element.value.substr(0,_f8+1);
var _fa=this.element.value.substr(_f8+1).match(/^\s+/);
if(_fa){
_f9+=_fa[0];
}
this.element.value=_f9+_f6;
}else{
this.element.value=_f6;
}
this.element.focus();
},updateChoices:function(_fb){
if(!this.changed&&this.hasFocus){
this.update.innerHTML=_fb;
Element.cleanWhitespace(this.update);
Element.cleanWhitespace(this.update.firstChild);
if(this.update.firstChild&&this.update.firstChild.childNodes){
this.entryCount=this.update.firstChild.childNodes.length;
for(var i=0;i<this.entryCount;i++){
var _fd=this.getEntry(i);
_fd.autocompleteIndex=i;
this.addObservers(_fd);
}
}else{
this.entryCount=0;
}
this.index=0;
this.render();
}
},addObservers:function(_fe){
Event.observe(_fe,"mouseover",this.onHover.bindAsEventListener(this));
Event.observe(_fe,"click",this.onClick.bindAsEventListener(this));
},onObserverEvent:function(){
this.changed=false;
if(this.getToken().length>=this.options.minChars){
this.getUpdatedChoices();
}else{
this.active=false;
this.hide();
}
},getToken:function(){
var _ff=this.findLastToken();
if(_ff!=-1){
var ret=this.element.value.substr(_ff+1).replace(/^\s+/,"").replace(/\s+$/,"");
}else{
var ret=this.element.value;
}
return /\n/.test(ret)?"":ret;
},findLastToken:function(){
var _101=-1;
for(var i=0;i<this.options.tokens.length;i++){
var _103=this.element.value.lastIndexOf(this.options.tokens[i]);
if(_103>_101){
_101=_103;
}
}
return _101;
}};
Autocompleter.Local=Class.create();
Autocompleter.Local.prototype=Object.extend(new Autocompleter.Base(),{initialize:function(_104,_105,_106,_107){
this.baseInitialize(_104,_105,_107);
this.options.array=_106;
},getUpdatedChoices:function(){
this.updateChoices(this.options.selector(this));
},setOptions:function(_108){
this.options=Object.extend({choices:10,partialChars:2,selector:function(_109){
var ret=[];
var _10b=[];
var _10c=_109.getToken().trim();
var _10d=0;
var _10e=_109.options.arrayCB?_109.options.arrayCB("l"):_109.options.array.length;
for(var i=0;i<_10e;i++){
var elem=_109.options.arrayCB?_109.options.arrayCB("e",i):_109.options.array[i];
if(!elem){
continue;
}
var _111=elem.toLowerCase();
var _112=_10c.toLowerCase();
var _113=_111.indexOf(_112);
while(_113!=-1){
if(_113==0){
ret.push("<li><strong>"+elem.substr(0,_10c.length)+"</strong>"+elem.substr(_10c.length)+"</li>");
break;
}else{
if(_10c.length>=_109.options.partialChars&&_113!=-1){
var c=elem.substr(_113-1,1);
var _115=((c>="a"&&c<="z")||(c>="A"&&c<="Z"));
if(!_115){
_10b.push("<li>"+elem.substr(0,_113)+"<strong>"+elem.substr(_113,_10c.length)+"</strong>"+elem.substr(_113+_10c.length)+"</li>");
break;
}
}
}
_113=_111.indexOf(_112,_113+1);
}
}
if(_10b.length){
ret=ret.concat(_10b.slice(0,_109.options.choices-ret.length));
}
var _116=ret.length;
var _117=150;
var _118=7;
var _119="";
if(_116>_118){
_119="height: "+_117+"px;";
}
var ul="<ul style='"+_119+"'>"+ret.join("")+"</ul>";
return ul;
}},_108||{});
}});
L(200,"lib/controls.js");
$E(Signal,{callbacks:[],observe:function(_11b,_11c,_11d,_11e){
var time=currTimeMillis();
var _120=this.callbacks[_11c];
if(!_120){
_120=[];
}
if(!_11e){
_11e=[];
}
_120[_11b]={"callback":_11d,"params":_11e};
this.callbacks[_11c]=_120;
},notify:function(_121,data){
var time=currTimeMillis();
var _124=this.callbacks[_121];
if(!_124){
return;
}
$H(_124).each(function(it){
var id=it.key;
var cb=it.value["callback"];
var prms=it.value["params"];
var d=data,p=prms;
eval(cb+" (d, p, id)");
});
}});
L(158,"signals/Signal.js");
var Serializer={serialize:function(obj){
if(parseInt(obj)==obj){
obj=parseInt(obj);
}
switch(typeof (obj)){
case "number":
return obj;
case "string":
return "\""+escapeString(obj)+"\"";
case "boolean":
return ""+obj+"";
case "object":
var _12c=[];
$H(obj).each(function(it){
_12c.push("'"+it.key+"':"+Serializer.serialize(it.value));
});
return "{"+_12c.join(",")+"}";
case "undefined":
return "null";
default:
ErrorManager.handleSystemError("Unknown type of object ["+typeof (obj)+"]");
return;
}
},unserialize:function(s){
eval("var x = "+s);
return Serializer.unserialize_r(x);
},unserialize_r:function(obj){
switch(typeof (obj)){
case "string":
return unescapeString(obj);
case "object":
for(var k in obj){
if(typeof (obj[k])!="function"){
obj[k]=Serializer.unserialize_r(obj[k]);
}
}
return obj;
default:
return obj;
}
}};
L(187,"lib/Serializer.js");
$E(BrowserHistory,{currentLocation:null,listener:null,iframe:null,ignoreLocationChange:null,WAIT_TIME:200,currentWaitTime:0,ieAtomicLocationChange:null,storage:{},htmlfile:"browserHistory/non-safari.html",isIFramer:false,initialize:function(){
var _131=this.getCurrentLocation();
this.currentLocation=_131;
this.isIFramer=isIE();
if(this.isIFramer){
document.write("<iframe style='border: 0px; width: 1px; "+"height: 1px; position: absolute; bottom: 0px; "+"right: 0px; visibility: visible;' "+"name='DHFrame' id='DHFrame' "+"src='"+this.htmlfile+"?"+_131+"'>"+"</iframe>");
this.WAIT_TIME=400;
}
if(isOpera()){
this.WAIT_TIME=400;
}
if(this.isIFramer){
this.ignoreLocationChange=true;
this.iframe=$("DHFrame");
}
setInterval(this.checkLocation.bind(this),100);
},addListener:function(_132){
this.listener=_132;
},add:function(_133,_134){
var self=this;
var _136=function(){
if(self.currentWaitTime>0){
self.currentWaitTime=self.currentWaitTime-self.WAIT_TIME;
}
_133=self.removeHash(_133);
if(isIE()&&$(_133)){
ErrorManager.handleJSError("IE bug: historyLoc ["+_133+"] == some ID in doc!");
return;
}
self.storage[_133]=_134;
self.ignoreLocationChange=true;
this.ieAtomicLocationChange=true;
self.currentLocation=_133;
self.setLocationFromHash(_133);
if(self.isIFramer){
self.iframe.src=self.htmlfile+"?"+_133;
}
this.ieAtomicLocationChange=false;
};
window.setTimeout(_136,0);
this.currentWaitTime=this.currentWaitTime+this.WAIT_TIME;
},getCurrentLocation:function(){
return Page.getLocationHash();
},fireHistoryEvent:function(_137){
this.listener(_137,this.storage[_137]);
},checkLocation:function(){
if(!this.isIFramer&&this.ignoreLocationChange==true){
this.ignoreLocationChange=false;
return;
}
if(this.isIFramer&&this.ieAtomicLocationChange==true){
return;
}
var _138=this.getCurrentLocation();
var hash=_138;
if(hash==this.currentLocation){
return;
}
this.ieAtomicLocationChange=true;
if(this.isIFramer){
if(this.getIFrameHash()==hash){
return;
}
this.iframe.src=this.htmlfile+"?"+hash;
}
this.currentLocation=hash;
this.ieAtomicLocationChange=false;
this.fireHistoryEvent(hash);
},getIFrameHash:function(){
var doc=$("DHFrame").contentWindow.document;
return Page.getLocationHash(doc.location);
},setLocationFromHash:function(hash){
var loc=window.location+"";
var _13d=loc;
if(loc.match(/#/)){
var arr=loc.split(/#/);
_13d=arr[0];
}
window.location=_13d+"#"+hash;
},removeHash:function(v){
if(!defined(v)){
return null;
}
return v.replace(/^#/,"");
},iframeLoaded:function(_140){
if(this.ignoreLocationChange){
this.ignoreLocationChange=false;
return;
}
var loc=_140+"";
var arr=loc.split(/\?/);
arr[0]="home.php";
window.location=arr.join("#");
this.fireHistoryEvent(arr[1]);
}});
BrowserHistory.initialize();
L(148,"browsers/History.js");
$E(Form,{getParams:function(form){
form=$(form);
var _144={};
["textarea","input","select"].each(function(_145){
var _146=form.getElementsByTagName(_145);
for(var x=0,len=_146.length;x<len;++x){
var _149=_146[x];
if(_149.name.match(/^__/)){
continue;
}
if(_149.type=="button"||_149.type=="submit"||(_149.type=="radio"&&!_149.checked)){
continue;
}
_144[_149.name]=_149.type=="checkbox"?(_149.checked?"on":"off"):_149.value;
}
});
return _144;
},submit:function(form,_14b){
$AJ(this.getParams(form),_14b);
},onSubmitClick:function(el){
while(el&&el.tagName){
if(el.tagName.toLowerCase()=="form"){
el.submit();
return;
}
el=el.parentNode;
}
}});
L(203,"forms/Form.js");
$E(WidgetManager,{objects:{},register:function(obj){
this.objects[obj.idPrefix]=obj;
},lookup:function(id){
if(!(id in this.objects)){
Log.error("Bad id: "+id);
return null;
}
return this.objects[id];
}});
var W=WidgetManager.lookup.bind(WidgetManager);
L(132,"widgets/Manager.js");
$E(SideWidget,{select:function(_14f){
if(_14f==this.currentWidgetType){
return;
}
this.newWidgetType=_14f;
var elem=$("sw-"+_14f);
if(elem.innerHTML==""){
$EL(elem,{cmd:"Side.getWidget",widgetType:_14f});
}
$EH("swc-"+this.currentWidgetType);
W("side-"+this.currentWidgetType).hideTool();
Element.removeClassName("sw-tb-"+this.currentWidgetType,"selected");
this.currentWidgetType=this.newWidgetType;
Element.addClassName("sw-tb-"+this.currentWidgetType,"selected");
$ES("swc-"+this.currentWidgetType);
delete (this.newWidgetType);
$AJS({cmd:"Side.select",widgetType:_14f});
},toggleGroup:function(node){
var _152=$(node.id+"-items");
if(Element.visible(_152)){
Element.addClassName(node,"closed");
}else{
Element.removeClassName(node,"closed");
}
$ET(_152);
}});
$E(SideWidget.prototype,{initialize:function(_153,_154,_155){
this.idPrefix=_153;
this.widgetType=_154;
this.navStart=_155;
WidgetManager.register(this);
},getInputWidget:function(){
$AJ({cmd:"Item.getInputWidget",itemType:this.widgetType});
},showTool:function(_156){
$ES(this.idPrefix+"-"+_156);
this.currentTool=_156;
},hideTool:function(){
if(!this.currentTool){
return;
}
$EH(this.idPrefix+"-"+this.currentTool);
delete this.currentTool;
},toggleTool:function(_157){
var c=this.currentTool;
this.hideTool();
if(c!=_157){
this.showTool(_157);
}
},search:function(){
this.submitTool("sch");
},saveSettings:function(){
this.submitTool("set");
},submitTool:function(_159){
$AJS(Form.getParams(this.idPrefix+"-"+_159+"-form"),{target:this.idPrefix+"-container",targetReplacement:"innerHTML"});
},expandItem:function(_15a){
var _15b=this.idPrefix+"-"+_15a;
var c=$(_15b+"-exp");
$EL(c,{cmd:"Side.getExpandItemMarkup",widgetType:this.widgetType,itemId:_15a});
Element[$EV(c)?"removeClassName":"addClassName"](_15b+"-img","closed");
},getListPageMarkup:function(_15d){
var _15e=$(this.idPrefix+"-"+_15d);
var _15f={cmd:"Side.getListPageMarkup",widgetType:this.widgetType,navStart:_15d,callback:this.CB_getListPageMarkup.bind(this)};
var _160={target:_15e.id,targetReplacement:"innerHTML"};
if(_15e.innerHTML!=""){
this.CB_getListPageMarkup("",_160,_15f);
return;
}
$AJ(_15f,_160);
},CB_getListPageMarkup:function(resp,_162,_163){
$EH(this.idPrefix+"-"+this.navStart);
$ES(_162.target);
this.navStart=_163.navStart;
}});
L(134,"widgets/SideWidget.js");
$E(InputManager,{onsuccess:"",onerror:"",text_box:"",Initialize:function(){
this.submit=$("input-box-submit");
this.submitText=$("input-box-submit-text");
this.cancel=$("input-box-cancel");
this.cancelText=$("input-box-cancel-text");
this.text=$("input-box-text");
this.message=$("input-box-message");
this.fileinput=$("input-box-file");
this.textContainer=$("input-box-text-container");
this.cancel.onclick=function(e){
Overlay.hide();
};
this.text.value="";
this.fileinput.value="";
this.text.style.width="160px";
Element.hide(this.textContainer,this.text);
this.onsuccess=donothing;
this.onerror=donothing;
},ShowMessage:function(_165,_166){
this.Initialize();
Element.show(this.textContainer);
this.message.innerHTML=_165;
Element.hide(this.text);
this.submitText.innerHTML="Yes";
this.cancelText.innerHTML="or No";
},ShowOverlay:function(_167,_168){
_167=_167||{};
_167.width=_167.width||400;
Overlay.setup($("input-box"),_167);
this.submit.onclick=(function(e){
Overlay.hide();
_168();
}).bindAsEventListener();
this.submit.focus();
if(_167.onerror){
this.cancel.onclick=(function(e){
Overlay.hide();
_167.onerror();
}).bindAsEventListener();
}
},Alert:function(_16b,_16c,_16d){
this.ShowMessage(_16b,_16d);
this.submitText.innerHTML="OK";
Element.hide(this.cancel);
this.ShowOverlay(_16d,_16c);
},Confirm:function(_16e,_16f,_170){
this.ShowMessage(_16e,_170);
this.ShowOverlay(_170,_16f);
},Prompt:function(_171,_172,_173){
InputManager.Initialize();
Element.show(this.textContainer);
_173=_173||{};
var _174=_173.width||200;
var _175=_173.position||"b";
var _176=_173.source;
var _177=_173.onsuccess;
var _178=_173.onerror;
var _179=this.text;
Element.show(_179);
_179.value=_172;
if(_173.textbox_width){
_179.style.width=_173.textbox_width+"px";
}
this.message.innerHTML=_171;
this.submitText.innerHTML="Submit";
this.cancelText.innerHTML="or Cancel";
var _17a=$("input-box");
var _17b=_174;
_17a.style.width=_17b+"px";
Overlay.setup(_17a,{source:_176,width:_174+20,offsetLeft:20,offsetTop:-20,position:_175});
this.onsuccess=_177;
this.onerror=_178;
this.text_box=_179;
_179.focus();
this.submit.onclick=function(){
InputManager.OnSubmitForPrompt(_179,_177,_178);
};
},OnKeyPressForPrompt:function(_17c){
var _17d=InputManager.text_box;
var _17e=InputManager.onsuccess;
var _17f=InputManager.onerror;
if(g.KeyboardUtils.isMetaKey(_17c)){
return true;
}
if(_17c.keyCode==Event.KEY_RETURN){
InputManager.OnSubmitForPrompt(_17d,_17e,_17f);
return false;
}
return true;
},OnSubmitForPrompt:function(_180,_181,_182){
var _183=_180.value;
_180.blur();
Overlay.hide();
if(_183==""){
if(_182){
_182(_183);
}
}else{
if(_181){
_181(_183);
}
}
},hide:function(){
Overlay.hide();
}});
L(128,"widgets/InputManager.js");
$E(ListNavigator.prototype,{initialize:function(id,_185){
this.batchsize=_185;
this.id=id;
this.cur=0;
this.items=[];
this.nitems=0;
this.idPrefix=this.id;
WidgetManager.register(this);
},init:function(){
this.cur=0;
this.update();
},update:function(){
this.reload();
if(this.nitems<=this.batchsize){
Element.hide(this.id+"-nav");
}else{
Element.show(this.id+"-nav");
}
var _186=-1;
var end=-1;
for(var i=0;i<this.nitems;i++){
if(i<this.cur||i>=this.cur+this.batchsize){
this.items[i].style.display="none";
}else{
this.items[i].style.display="block";
}
}
_186=this.cur+1;
end=Math.min(this.cur+this.batchsize,this.trueSize);
$(this.id+"-status-nav").innerHTML="("+_186+"-"+end+" of "+this.trueSize+")";
$(this.id+"-fwd-nav").style.visibility=(this.trueSize==end)?"hidden":"visible";
$(this.id+"-back-nav").style.visibility=(_186==1)?"hidden":"visible";
},navBackward:function(){
if(this.cur-this.batchsize<0){
return;
}
this.cur-=this.batchsize;
this.update();
},navForward:function(){
if(this.cur+this.batchsize>this.nitems-1){
return;
}
this.cur+=this.batchsize;
this.update();
},reload:function(){
var _189=$(this.id+"-container").getElementsByTagName("li");
this.items=[];
this.nitems=0;
this.trueSize=0;
if(_189.length==0){
return;
}
var node=_189[0].parentNode;
var _18b=[];
for(var i=0,end=_189.length;i<end;i++){
var item=_189[i];
if(Element.hasClassName(item,"empty")){
_18b[_18b.length]=item;
continue;
}
this.items[this.items.length]=item;
}
this.nitems=this.items.length;
this.trueSize=this.nitems;
var _18f=_18b.length;
var _190=this.nitems/this.batchsize;
var rem=this.nitems%this.batchsize;
var _192=(rem==0)?0:this.batchsize-rem;
if(this.cur>=this.trueSize){
this.cur=(parseInt(_190)-1)*this.batchsize;
}
if(_190>1){
for(var i=_192;i<_18f;i++){
_18b[i].style.display="none";
}
var _193=Math.min(_192,_18f);
for(var i=0;i<_193;i++){
this.items[this.items.length]=_18b[i];
this.nitems++;
}
_192-=_18f;
for(var i=0;i<_192;i++){
var item=this.createEmptyItem();
node.appendChild(item);
this.nitems++;
this.items[this.items.length]=item;
}
}else{
for(var i=0;i<_18f;i++){
_18b[i].style.display="none";
}
}
},createEmptyItem:function(){
var n=$crel("li");
Element.addClassName(n,"empty");
n.innerHTML="&nbsp;";
n.setAttribute("sortkey","none");
n.style.display="none";
return n;
}});
$E(ListNavigatorCollection,{navigators:{},addNavigator:function(name,_196){
var obj=new ListNavigator(name,_196);
ListNavigatorCollection.navigators[name]=obj;
},getNavigator:function(name){
return ListNavigatorCollection.navigators[name];
}});
L(135,"widgets/ListNavigator.js");
$E(SetupWidget,{getWidget:function(){
$AJ({cmd:"Account.Setup.getWidget"});
},clearInputRow:function(id){
var _19a=$(id).getElementsByTagName("input");
$A(_19a).each(function(_19b){
_19b.value="";
});
},selectAccountStep:function(_19c){
Form.getParams(_19c).syncOption==0?SetupWidget.getAccountInputWidget():getNewTransaction("lastType");
},setType:function(type){
$AJ({cmd:"Account.Setup.setType",type:type});
},copySystemTags:function(){
$AJT({cmd:"Account.Setup.Tag.copySystemTags"});
},skipStep:function(){
$AJT({cmd:"Account.Setup.skipStep"});
},optOut:function(){
$AJT({cmd:"Account.Setup.optOut"});
},getAccountInputWidget:function(){
$AJT({cmd:"Bank.Account.Input.getWidget"});
}});
L(6,"setup/Widget.js");
$E(Home,{getLoanWidget:function(){
$AJT({cmd:"Loan.getWidget"});
},respondToQuestion:function(_19e,_19f,_1a0){
if(_1a0){
$EH(_1a0);
}
$AJ({cmd:"User.Question.respond",questionId:_19e,response:_19f},{message:"Preferences have been saved successfully"});
}});
L(221,"home/Home.js");
$E(ListWidget,{resetFilters:function(){
$AJT({cmd:"List.resetFilters"});
},jumpToPage:function(page){
this.getWidget({navStart:((page-1)*this.listSize+1)});
},getOpenWidget:function(){
this.getWidget({action:"open"});
},getWidget:function(_1a2){
$AJT($E({cmd:this.controllerCommand},_1a2||{}));
},setStatus:function(_1a3){
this.getWidget({status:_1a3});
},updateSize:function(size){
this.updateSettings({listSize:size});
},updateSettings:function(_1a5){
$AJT($E({cmd:"List.updateSettings",listType:this.listType},$E({sortField:this.sortField,sortOrder:this.sortOrder},_1a5||{})));
},search:function(){
this.getWidget(Form.getParams(this.idPrefix+"-sch-form"));
},getInputWidget:function(){
this.loadToolInput("item-inp");
},getSearchWidget:function(){
this.loadToolInput("sch-inp");
},getSettingsWidget:function(){
this.loadToolInput("set-inp");
},loadToolInput:function(_1a6){
this.hideCurrentToolInput();
$ES(this.idPrefix+"-tools-inp");
$EH(this.idPrefix+"-items");
var id=this.idPrefix+"-"+_1a6;
$ES(id);
this.currentToolInput=id;
},currentToolInput:null,hideCurrentToolInput:function(){
if(!this.currentToolInput){
return;
}
$EH(this.currentToolInput);
this.currentToolInput=null;
},hideToolInput:function(){
this.hideCurrentToolInput();
$EH(this.idPrefix+"-tools-inp");
$ES(this.idPrefix+"-items");
},focusFieldInAddItemForm:function(){
},getCommonLparams:function(){
return {indicator:this.idPrefix+"-add-indicator",errorDiv:this.getErrorDivId()};
},getErrorDiv:function(){
return $(this.getErrorDivId());
},getErrorDivId:function(){
return this.idPrefix+"-error-div";
},handleAddItemUserError:function(_1a8){
var _1a9=this.getErrorDiv();
if(_1a9){
_1a9.innerHTML=_1a8;
$ES(_1a9);
}else{
ErrorManager.handleUserError(_1a8);
}
}});
L(228,"lists/Widget.js");
g.ListBulkActionsWidget=Class.create();
$E(g.ListBulkActionsWidget.prototype={initialize:function(_1aa,_1ab){
this.idPrefix=_1aa;
this.listIdPrefix=_1ab;
WidgetManager.register(this);
this.__initialize();
},__initialize:function(){
},setSelectedState:function(_1ac){
var rows=this.getRows();
for(var x=0,len=rows.length;x<len;++x){
this.setRowSelectedState(rows[x],_1ac);
}
if(_1ac){
$ES(this.idPrefix+"-vsel");
}else{
this.setViewSelection(false);
$EH(this.idPrefix+"-vsel");
}
},setRowSelectedState:function(row,_1b1){
this.getCheckboxForRow(row).checked=_1b1;
},confirmSubmit:function(){
return true;
},getSubmitParams:function(){
return {cmd:"List.Bulk.doAction"};
},doAction:function(_1b2,_1b3){
if(!this.confirmSubmit()){
return;
}
var _1b4=$E({action:_1b2},this.getSubmitParams());
if(defined(_1b3)){
_1b4.itemId=_1b3;
}
var _1b5=this.getSelectedItemIds();
if(_1b5.length==0){
this.reportSelectionError();
return;
}
_1b4.selectedItemIds=_1b5.join(",");
$AJT(_1b4);
},reportSelectionError:function(){
ErrorManager.handleUserError("You did not select any transaction");
},getRows:function(){
if(defined(this.rows)){
return this.rows;
}
this.rows=[];
var els=$(this.listIdPrefix+"-items").getElementsByTagName("tr");
for(var i=0,len=els.length;i<len;++i){
var el=els[i];
if(el.getAttribute("itemId")!==null){
this.rows.push(el);
}
}
return this.rows;
},getCheckboxForRow:function(row){
var _1bb=row.getElementsByTagName("input");
for(var x=0,len=_1bb.length;x<len;++x){
var el=_1bb[x];
if(el.type=="checkbox"){
return el;
}
}
},getSelectedItemIds:function(){
var ids=[];
this.getRows().each((function(row){
if(this.getCheckboxForRow(row).checked){
ids.push(row.getAttribute("itemId"));
}
}).bind(this));
return ids;
}});
L(227,"lists/BulkWidget.js");
function getOptionsFromMonthValue(val){
var arr=val.split(/:/);
return {startDate:arr[0],endDate:arr[1]};
}
L(212,"home/History.js");
$E(SummaryWidget,{getWidget:function(_1c3){
$AJT($E({cmd:"Account.Summary.getWidget"},_1c3||{}));
}});
L(217,"home/AccountSummary.js");
$E(SettingsWidget,{getWidget:function(_1c4){
var _1c5={cmd:"Settings.getWidget"};
if(defined(_1c4)){
_1c5.widgetKind=_1c4;
}
$AJ(_1c5);
},deleteAccount:function(_1c6,_1c7){
$AJE($E({cmd:"Settings.deleteAccount"},_1c6),_1c7);
},setEmailAsDefault:function(_1c8){
$AJ({cmd:"Settings.setEmailAsDefault",loginNameId:_1c8});
},deleteEmail:function(_1c9){
$AJT({cmd:"Settings.deleteEmail",email:_1c9});
},currentEmailIndex:0,showEmailInput:function(){
var form=$(this.idPrefix+"-form");
var _1cb=form["email-"+this.currentEmailIndex];
if(this.currentEmailIndex>0){
var _1cc=form["email-"+(this.currentEmailIndex-1)];
if(_1cc.value==""){
_1cc.focus();
return;
}
}
$ES(_1cb);
_1cb.focus();
++this.currentEmailIndex;
if(this.currentEmailIndex>=5){
$EH(this.idPrefix+"-add-email-link");
}
},renewPrivateEmail:function(){
$AJ({cmd:"Settings.renewPrivateEmail"});
},onCountrySelect:function(_1cd){
Element[_1cd=="US"?"show":"hide"](this.idPrefix+"-zip");
Element[_1cd!="US"?"show":"hide"](this.idPrefix+"-cs");
},onZipEntry:function(_1ce){
var _1cf=$(this.idPrefix+"-zip-res");
if(_1ce.length>0&&(_1ce.length>5||!_1ce.match(/^[0-9]+$/))){
_1cf.innerHTML="<span class=\"error\">Invalid zip code</span>";
return;
}
_1cf.innerHTML="";
if((this.lastZipLookup!==null&&this.lastZipLookup==_1ce)||_1ce.length<5){
return;
}
}});
L(95,"settings/Widget.js");
$E(ContactListWidget,ListWidget);
$E(ContactListWidget,{controllerCommand:"Contact.getListWidget"});
function onABCommComplete(data){
InvitesWidget.isPlaxoDone=true;
InvitesWidget.plaxoData=data;
Overlay.hide();
}
L(213,"home/Contacts.js");
$E(ContactWidget,{getWidget:function(cid){
$AJT({cmd:"Contact.getWidget",cid:cid});
}});
L(125,"contacts/Widget.js");
function getFullTrans(tid){
$AJT({cmd:"Transaction.getWidget",tid:tid});
}
L(216,"home/Transactions.js");
$E(GroupListWidget,ListWidget);
$E(GroupListWidget,{controllerCommand:"Group.getListWidget"});
L(222,"home/Groups.js");
$E(GroupWidget,{getWidget:function(gid){
$AJT({cmd:"Group.getWidget",gid:gid});
},getSharedExpenseWidget:function(gid){
$AJT({cmd:"Group.getSharedExpenseWidget",gid:gid});
},currentSettlementId:null,showSettlementOption:function(id){
$ET(id);
if(this.currentSettlementId){
$ET(this.currentSettlementId);
}
this.currentSettlementId=id;
},hideSettlementOption:function(){
if(!this.currentSettlementId){
return;
}
$EH(this.currentSettlementId);
this.currentSettlementId=null;
}});
L(88,"groups/Widget.js");
$E(TagWidget,{getWidget:function(_1d6,_1d7){
$AJ($E({cmd:"Tag.getWidget",tagId:_1d6},_1d7||{}));
}});
$E(TagListWidget,ListWidget);
$E(TagListWidget,{controllerCommand:"Tag.getListWidget"});
L(219,"home/Tags.js");
$E(BudgetWidget,{getWidget:function(_1d8,_1d9){
$AJT($E({cmd:"Budget.getWidget",budgetId:_1d8},_1d9||{}));
},getInputWidget:function(_1da){
$AJT({cmd:"Envelope.Input.getCreateWidget",periodUnit:_1da});
},getEditWidget:function(_1db){
$AJT({cmd:"Envelope.Input.getEditWidget",periodUnit:_1db});
},toggleEnvelopesResponse:function(){
$AJT({cmd:"Envelope.toggleResponse"});
},optOutOfEnvelopes:function(){
$AJT({cmd:"Envelope.optOut"});
},getListWidget:function(_1dc){
$AJT($E({cmd:"Budget.getListWidget"},_1dc||{}));
}});
$E(BudgetInputWidget,{getCreateWidget:function(){
$AJ({cmd:"Budget.Input.getCreateWidget"});
}});
L(211,"home/Budgets.js");
$E(BankAccountSyncAllWidget,{getWidget:function(_1dd,_1de){
$AJ($E($E({cmd:"Bank.Account.Sync.All.getWidget"},_1de||{}),this.getSavedCredentials(_1dd)));
},getSavedCredentials:function(_1df){
var _1e0={};
_1df.each(function(_1e1){
var _1e2=BankAccountCredentialManager.getCredentials(_1e1);
if(_1e2===null){
Log.info(_1e1);
return;
}
_1e0[_1e1]=_1e2;
});
return _1e0;
}});
L(214,"home/BankAccounts.js");
g.BankAccountListWidget={};
$E(g.BankAccountListWidget,ListWidget);
$E(g.BankAccountListWidget,{controllerCommand:"Bank.Account.getListWidget"});
L(138,"accounts/ListWidget.js");
$E(BankAccountUpdater,{getEditWidget:function(_1e3){
$AJ({cmd:"Bank.Account.getEditWidget",accountId:_1e3});
},confirmDelete:function(_1e4){
$AJ({cmd:"Bank.Account.delete",accountId:_1e4,prompt:1});
},deleteAcct:function(_1e5){
$AJ({cmd:"BankAccount.delete",accountId:_1e5});
},restore:function(_1e6){
$AJ({cmd:"BankAccount.restore",accountId:_1e6});
}});
L(139,"accounts/Updater.js");
$E(BankScraper,{authenticateStage1:function(_1e7){
$AJ($E(_1e7,{cmd:"Bank.Account.Sync.authStage1"}));
},synchronize:function(_1e8,_1e9,_1ea,_1eb){
$AJT({cmd:"Bank.Account.Sync.synchronize",accountId:_1ea,idPrefix:_1e8,accountIndex:_1eb},{errorHandler:"BankScraper.errorHandler"});
this.progressBar=new ProgressBar(_1e8+"-prog",_1e9);
this.progressBar.start();
},errorHandler:function(resp,_1ed){
this.progressBar.stop();
$EH(_1ed.idPrefix+"-status");
var _1ee=$(_1ed.idPrefix+"-error");
$ES(_1ee);
_1ee.innerHTML=resp.mesg;
}});
L(8,"banks/Scraper.js");
g.OfflineDB={isAvailable:function(){
},showInstallationPrompt:function(){
},isInitialized:function(){
},addItem:function(key,_1f0){
},getItem:function(key){
},deleteItem:function(key){
}};
L(201,"offline/DB.js");
g.CredentialsDB={};
$E(g.CredentialsDB,g.OfflineDB);
$E(g.CredentialsDB,{DB_NAME:"database-buxfer",DB_VERSION:"1.0",tableName:"safeBankAccountCredentials",executeQuery:function(_1f3){
},createTable:function(){
var _1f4=["accountId INTEGER UNSIGNED","credentials VARCHAR(255)"];
this.executeQuery("CREATE TABLE IF NOT EXISTS "+this.tableName+" ("+_1f4.join(", ")+")");
},insertTuple:function(_1f5,data){
var _1f7=[],args=[];
for(var x=0,len=data.length;x<len;++x){
_1f7.push("?");
args.push(data[x]);
}
var _1fb="INSERT INTO "+_1f5+" VALUES ("+_1f7.join(", ")+")";
this.executeQuery(_1fb,args);
},deleteItem:function(key){
this.executeQuery("DELETE FROM "+this.tableName+" WHERE accountId = "+key);
},addItem:function(id,_1fe){
this.insertTuple(this.tableName,[id,_1fe]);
},getItem:function(id){
var r=this.executeQuery("SELECT credentials"+"  FROM "+this.tableName+" WHERE accountId = "+id,[]);
return r.length==0?null:r[0];
}});
L(202,"offline/CredentialsDB.js");
g.SafariDB={};
$E(g.SafariDB,g.CredentialsDB);
$I(g.SafariDB,{isAvailable:function(){
return !isChrome()&&typeof (window.openDatabase)=="function";
},showInstallationPrompt:function(){
var mesg="Oops, looks like your Safari installation does not"+" allow offline data storage. Please upgrade Safari to the latest version";
ErrorManager.handleUserError(mesg);
},__initStatus:0,initialize:function(){
if(defined(this.instance)){
return;
}
this.__initStatus=2;
this.instance=window.openDatabase(this.DB_NAME,this.DB_VERSION,"Buxfer database",200000);
this.createTable();
var f=(function(){
this.executeQuery("SELECT accountId, credentials FROM "+this.tableName,[],this.CB_loadItems.bind(this));
}).bind(this);
setTimeout(f,300);
},CB_loadItems:function(tx,data){
this.items={};
for(var x=0;x<data.rows.length;++x){
var row=data.rows.item(x);
this.items[row.accountId]=row.credentials;
}
this.__initStatus=1;
},isInitialized:function(){
return this.__initStatus==1;
},deleteItem:function(key){
if(!this.isInitialized()){
return;
}
delete (this.items[key]);
this.baseDeleteItem(key);
},addItem:function(_208,_209){
if(!this.isInitialized()){
return;
}
if(_208 in this.items){
return;
}
this.items[_208]=_209;
this.baseAddItem(_208,_209);
},getItem:function(key){
if(!this.isInitialized()){
return null;
}
return (key in this.items)?this.items[key]:null;
},executeQuery:function(_20b,data,_20d){
var f=_20d||function(){
};
this.instance.transaction(function(tx){
tx.executeSql(_20b,data,f,f);
});
}});
L(150,"browsers/db/Safari.js");
g.FirefoxDB={};
$E(g.FirefoxDB,g.OfflineDB);
$E(g.FirefoxDB,{isAvailable:function(){
return typeof (window.globalStorage)=="object";
},showInstallationPrompt:function(){
var mesg="Oops, looks like your Firefox version does not"+" allow offline data storage. Please upgrade Firefox to the latest version";
ErrorManager.handleUserError(mesg);
},isInitialized:function(){
return true;
},initialize:function(){
this.db=window.globalStorage[window.location.hostname];
},addItem:function(key,_212){
this.db.setItem(key,_212);
},getItem:function(key){
return this.db.getItem(key);
},deleteItem:function(key){
this.db.removeItem(key);
}});
L(149,"browsers/db/Firefox.js");
$E(GearsModule,{__isInitialized:false,initialize:function(){
if(typeof (this.instance)!="undefined"){
return;
}
this.instance=null;
if(!this.isInstalled()){
return;
}
try{
this.module=google.gears.factory.create("beta."+this.moduleType,"1.0");
this.instance=this.openInstance();
}
catch(e){
this.instance=null;
return;
}
this.setupInstance();
this.__isInitialized=true;
},isInitialized:function(){
return this.__isInitialized;
},setupInstance:function(){
},isInstalled:function(){
return window.google&&google.gears;
},isAvailable:function(){
return this.getInstance()!==null;
},getInstance:function(){
this.initialize();
return this.instance;
},getPaddedMarkup:function(_215){
return "<div class='ttMargin'>"+_215+"</div>";
},showInstallationPrompt:function(){
ErrorManager.handleUserError(this.getInstallationPrompt());
},getDeviceDescription:function(){
return "computer";
},getInstallationLinkMarkup:function(){
return " <a class='newWindowLink'"+"    target='_blank'"+"    href='http://gears.google.com'>Google Gears website</a>"+"";
},getInstallationPrompt:function(){
var _216=this.getDeviceDescription();
if(this.isInstalled()){
return "Oops, looks like you didn't allow Buxfer to use "+"Google Gears on your "+_216+". Please check your settings"+" and try again"+this.getPaddedMarkup(" If you are getting this error repeatedly, please try refreshing"+" the browser");
}
return "Oops, looks like you don't have Google Gears installed"+" on your "+_216+"."+" Please install it from the "+this.getInstallationLinkMarkup();
}});
L(112,"google/gears/Module.js");
$E(GearsDB,g.CredentialsDB);
$E(GearsDB,GearsModule);
$E(GearsDB,{moduleType:"database",openInstance:function(){
this.module.open(this.DB_NAME);
return this.module;
},setupInstance:function(){
this.createTable();
},getDatabase:function(){
return this.getInstance();
},executeQuery:function(_217,data){
var _219=[];
var _21a=this.getInstance();
var rs=_21a.execute(_217,data);
while(rs.isValidRow()){
var _21c=[];
for(var x=0,len=rs.fieldCount();x<len;++x){
_21c.push(rs.field(x));
}
if(_21c.length==1){
_21c=_21c[0];
}
_219.push(_21c);
rs.next();
}
rs.close();
return _219;
}});
L(110,"google/gears/DB.js");
$E(BankAccountCredentialManager,{getDBModule:function(){
if(defined(this.module)){
return this.module;
}
var _21f;
if(g.FirefoxDB.isAvailable()){
_21f=g.FirefoxDB;
}else{
if(g.SafariDB.isAvailable()){
_21f=g.SafariDB;
}else{
_21f=GearsDB;
}
}
if(_21f.isAvailable()){
_21f.initialize();
}
this.module=_21f;
return _21f;
},isAvailable:function(){
return this.getDBModule().isAvailable();
},isInitialized:function(){
return this.getDBModule().isInitialized();
},deleteCredentials:function(_220,_221){
_221=_221||{};
if(!this.isAvailable()){
return;
}
this.getDBModule().deleteItem(_220);
if(!_221.dontSetStatus){
TabManager.setStatusMessage("Offline data has been deleted successfully");
}
},deleteCredentialsOnServer:function(_222,_223,_224){
$AJ({cmd:"Bank.Account.Credential.delete",idPrefix:_222,accountId:_223},$E({message:"Data has been deleted successfully"},_224||{}));
},showInstallationPrompt:function(){
this.getDBModule().showInstallationPrompt();
},saveCredentials:function(_225,_226){
if(!this.isAvailable()){
this.getDBModule().showInstallationPrompt();
return;
}
var c=this.getCredentials(_225);
if(c!==null){
this.deleteCredentials(_225,{dontSetStatus:true});
}
this.getDBModule().addItem(_225,_226);
},getCredentials:function(_228){
if(!this.isAvailable()){
return null;
}
return this.getDBModule().getItem(_228);
}});
L(141,"accounts/credentials/Manager.js");
function getNewTransaction(type,_22a){
$AJT($E({cmd:"Transaction.Input.getWidget",type:type},_22a||{}));
}
L(218,"home/NewTransaction.js");
$E(Importer,{getWidget:function(_22b){
var _22c={cmd:"Import.getWidget"};
if(defined(_22b)){
_22c.accountId=_22b;
}
$AJT(_22c);
}});
L(215,"home/Importer.js");
$E(InvitesWidget,{getWidget:function(_22d){
$AJT({cmd:"Invite.getWidget",emails:_22d||""});
}});
L(220,"home/InvitesWidget.js");
$E(GenericSlot,{replaceTarget:function(resp,_22f,id){
_22f=_22f||{};
var key=_22f.key||"html";
var _232={};
_232.html=resp[key];
_232.script=resp.script||"";
Page.replaceNodeInDOM(id,_232);
},updateInnerHtml:function(resp,_234,id){
$(id).innerHTML=resp[_234.key||"html"];
eval(resp.script||"");
}});
L(159,"signals/GenericSlot.js");
$E(BankAccountWidget,{getWidget:function(_236){
$AJT({cmd:"Bank.Account.getWidget",accountId:_236});
},getSyncWidget:function(_237){
var _238=BankAccountCredentialManager.getCredentials(_237);
if(_238===null||!defined(_238)){
$AJ({cmd:"Bank.Account.Sync.getWidget",accountId:_237});
}else{
BankScraper.authenticateStage1({accountId:_237,credentials:_238});
}
},getFirebuxWidget:function(_239){
$AJT({cmd:"Firebux.getWidget",accountId:_239});
},deleteMapping:function(_23a){
$AJT({cmd:"Bank.Account.Import.deleteMapping",accountId:_23a});
},changeBankAccountName:function(_23b){
$AJT({cmd:"Bank.Account.changeBankName",accountId:_23b});
}});
L(143,"accounts/Widget.js");
function togglePlusMinusImageAndDiv(im,el){
Element.toggle(el);
var img=$(im);
if(img.src.match(/minus/)){
var x=img.src.replace("minus","plus");
img.src=x;
}else{
var x=img.src.replace("plus","minus");
img.src=x;
}
}
function toggleImageDiv(_240){
var img=$("img-"+_240);
var el=$(_240+"-container");
var _243=$("count-"+_240);
var _244=$("bottom-"+_240);
if(img.src.match(/minus/)){
Element.hide(el);
Element.hide(_243);
Element.hide(_244);
var x=img.src.replace("minus","plus");
img.src=x;
}else{
Element.show(el);
Element.show(_243);
Element.show(_244);
var x=img.src.replace("plus","minus");
img.src=x;
}
}
L(190,"lib/Toggle.js");
$E(ReportWidget,{getFilters:function(){
return this.filters;
},getWidgetType:function(){
return this.widgetType;
},setTagId:function(_246){
this.getWidget({tags:_246});
},updateHistory:function(_247){
W(this.idPrefix+"-history").updateHistory(_247);
},getWidget:function(_248){
var _249=$E({cmd:"Report.getWidget"},this.filters||{});
$AJT($E(_249,_248||{}));
},togglePeriodWidget:function(){
$ET(this.idPrefix+"-period-edit");
$ET(this.idPrefix+"-period-view");
},updatePeriod:function(_24a){
var p={};
$E(p,this.filters);
$E(p,_24a);
$AJT($E(p,{cmd:"Analysis.Period.update"}));
},setWidgetType:function(_24c){
this.getWidget({widgetType:_24c});
},setAccountId:function(_24d){
this.getWidget({accountId:_24d});
},toggleUpcomingTransactions:function(){
$ET(this.idPrefix+"-uth");
$ET(this.idPrefix+"-utc");
}});
L(107,"reports/Widget.js");
g.KeyboardUtils={isCharacterKey:function(e){
if(this.isMetaKey(e)){
return false;
}
var code=this.getCharacterCode(e);
return (code>=65&&code<=90)||(code>=97&&code<=122)||code==47||code==63;
},getCharacterCode:function(e){
return e.which||e.keyCode;
},getCharacter:function(e){
return String.fromCharCode(this.getCharacterCode(e));
},isReturnKey:function(e){
return this.getCharacterCode(e)==13;
},isEscapeKey:function(e){
return this.getCharacterCode(e)==27;
},isMetaKey:function(e){
return (e.ctrlKey||e.altKey);
},isNavkey:function(e){
switch(e.keyCode){
case Event.KEY_TAB:
case Event.KEY_BACKSPACE:
case Event.KEY_LEFT:
case Event.KEY_RIGHT:
case Event.KEY_DELETE:
case Event.KEY_ESC:
case Event.KEY_UP:
case Event.KEY_DOWN:
case Event.KEY_HOME:
case Event.KEY_END:
case Event.KEY_RETURN:
return true;
default:
return false;
}
},isNumericKey:function(e){
return this.isKeyAllowed(e,/[\d\.,]/);
},isKeyAllowed:function(e,_258){
var c=this.getCharacter(e);
if(!_258.test(c)){
Event.stop(e);
return false;
}
return true;
}};
L(164,"utils/Keyboard.js");
function ac_select_cb(_25a){
return Element.collectTextNodes(_25a);
}
function ac_select_comma_cb(_25b){
return ac_select_cb(_25b)+", ";
}
function ac_onshow(_25c,_25d){
if(!_25d.style.position||_25d.style.position=="absolute"){
_25d.style.position="absolute";
Position.clone(_25c,_25d,{setHeight:false,setWidth:false,offsetTop:_25c.offsetHeight});
}
_25d.style.display="block";
}
function ac_onhide(_25e,_25f){
_25f.style.display="none";
}
ac_options={frequency:0.1,fullSearch:false,minChars:2,onShow:ac_onshow,onHide:ac_onhide};
var regACs={};
function unInstallAutocompleter(_260){
var ac=regACs[_260];
if(ac){
ac.deRegister();
}
delete regACs[_260];
Element.removeClassName(_260,"ac-installed");
}
function reInstallAutocompleter(what,_263,_264){
unInstallAutocompleter(_263);
installAutocompleter(what,_263,_264);
}
function installAutocompleter(what,_266,_267){
_267=_267||{};
var _268=_267.callback||"";
if(Element.hasClassName(_266,"ac-installed")){
return;
}
Element.addClassName(_266,"ac-installed");
var t_op=ac_options;
t_op.minChars=1;
t_op.selectCB=ac_select_cb;
var _26a=null;
switch(what){
case "contact":
t_op.arrayCB=ac_contacts_cb;
t_op.tokens="////";
break;
case "contacts":
t_op.arrayCB=ac_contacts_cb;
t_op.selectCB=ac_select_comma_cb;
t_op.tokens=[","];
break;
case "groups":
t_op.arrayCB=ac_groups_cb;
break;
case "single-contact-or-group":
t_op.arrayCB=ac_contacts_group_cb;
break;
case "multiple-contacts-or-groups":
t_op.arrayCB=ac_contacts_group_cb;
t_op.selectCB=ac_select_contacts_groups_cb;
t_op.tokens=[","];
break;
case "single-tag":
t_op.arrayCB=ac_tags_cb;
break;
case "tags":
t_op.tokens=[",",":"];
t_op.arrayCB=ac_tags_cb;
t_op.selectCB=ac_select_comma_cb;
t_op.minChars=1;
break;
case "banks":
t_op.arrayCB=BankAutocompleter.autocompleteBanks.bind(BankAutocompleter);
t_op.minChars=1;
break;
}
if(_268){
t_op.selectCB=_268;
}
regACs[_266]=new Autocompleter.Local(_266,"the_auto_completer",_26a,t_op);
}
L(144,"autoCompleters/Utils.js");
$E(AutoCompleterWidget,{i:function(){
this.install.apply(this,arguments);
},install:function(id,_26c){
installAutocompleter(_26c,id);
}});
L(145,"autoCompleters/Widget.js");
function ac_tags_cb(cmd,i){
if(cmd=="l"){
return G_TAGS.length;
}else{
return G_TAGS[i].ac_name;
}
}
L(170,"tags/autocomplete.js");
function ac_contacts_cb(cmd,i){
if(cmd=="l"){
return G_CONTACTS.length;
}else{
return G_CONTACTS[i].ac_name;
}
}
function ac_select_contacts_groups_cb(_271){
var v=ac_select_cb(_271);
var eg=GroupDetector.getExpandedACGroup(v);
if(eg){
var arr=eg[1].findAll(function(v){
return !(SplitBillInputWidget.existsSharer(v));
});
TransInputWidget.setGroup(eg[0].gid);
return arr.join(", ");
}
if(SplitBillInputWidget.existsSharer(v)){
return "";
}
return v+", ";
}
function ac_contacts_group_cb(cmd,i){
if(cmd=="l"){
return G_CONTACTS.length+G_GROUPS.length;
}
if(i<G_CONTACTS.length){
return G_CONTACTS[i].ac_name;
}
return G_GROUPS[i-G_CONTACTS.length].gname+" (group)";
}
L(124,"contacts/autocomplete.js");
function ac_groups_cb(cmd,i){
if(cmd=="l"){
return G_GROUPS.length;
}else{
return G_GROUPS[i].gname;
}
}
L(87,"groups/autocomplete.js");
g.SummaryAccountSyncWidget={synchronize:function(){
if(!BankAccountCredentialManager.isAvailable()){
return;
}
if(!BankAccountCredentialManager.isInitialized()){
setTimeout(this.synchronize.bind(this),200);
return;
}
this.accountIds.each((function(_27a){
var c=BankAccountCredentialManager.getCredentials(_27a);
if(c!==null){
$ES(this.idPrefix+"-cont");
throw $break;
}
}).bind(this));
BankAccountSyncAllWidget.getWidget(this.accountIds,{autoStart:1});
}};
L(115,"summary/accounts/SyncWidget.js");
function validPassword(str){
var len=str.length;
return (len>=6&&len<=40);
}
function validEmail(str){
str=str.toLowerCase();
return (str.match(/^[a-z0-9][a-z0-9_\.\-\+]*@[a-z0-9\.\-]+\.[a-z]{2,4}$/));
}
var unallowed_nicks=["buxfer","admin"];
var G_UNALLOWED_NICKS=[];
for(var i=0;i<unallowed_nicks.length;i++){
G_UNALLOWED_NICKS[unallowed_nicks[i]]=1;
}
function invalidNick(str){
if(!str.match(/^[0-9a-zA-Z \.\-_]+$/)){
return "You entered an invalid username.";
}
if(str.length<4){
return "Username should be longer than 3 characters.";
}
if(G_UNALLOWED_NICKS[str.toLowerCase()]){
return "Sorry, you are not allowed to choose "+str+" as a username.";
}
return "";
}
L(29,"login/Utils.js");
$E(EditInPlaceWidget,{currentWidget:null});
$E(EditInPlaceWidget.prototype,{__id:"abc",initialize:function(_280,_281){
this.idPrefix=_280;
this.options=_281||{};
this.fullInited=false;
WidgetManager.register(this);
},finishFullInit:function(){
if(this.fullInited){
return;
}
this.displayContainer=$(this.idPrefix+"-dc");
this.inputContainer=$(this.idPrefix+"-ic");
this.indicator=$(this.idPrefix+"-ind");
this.inputNode=$(this.idPrefix+"-inp");
this.container=$(this.idPrefix+"-c");
Event.observe(this.inputNode,"keypress",this.onKeyPress.bindAsEventListener(this));
this.fullInited=true;
},onKeyPress:function(e){
if(e.keyCode==Event.KEY_ESC){
this.cancelEdit();
}
},e:function(){
this.edit();
},edit:function(){
if(EditInPlaceWidget.currentWidget){
EditInPlaceWidget.currentWidget.cancelEdit();
}
EditInPlaceWidget.currentWidget=this;
this.finishFullInit();
this.displayContainer.style.visibility="hidden";
$ES(this.inputContainer);
var i=this.inputNode;
i.focus();
var _284=i.value;
i.value=_284+"a";
i.value=_284;
},c:function(){
this.cancelEdit();
},cancelEdit:function(){
try{
this.inputNode.blur();
}
catch(e){
}
$EH(this.inputContainer);
this.displayContainer.style.visibility="visible";
},s:function(_285){
this.submitEdit(_285);
},isRequestSent:false,submitEdit:function(_286){
if(this.isRequestSent){
return;
}
this.isRequestSent=true;
Form.submit(this.idPrefix+"-f",{indicator:this.indicator,target:this.container});
},ovr:function(){
this.onMouseOver();
},onMouseOver:function(){
Element.addClassName(this.idPrefix+"-dc","selected");
$ES(this.idPrefix+"-edit");
},out:function(){
this.onMouseOut();
},onMouseOut:function(){
Element.removeClassName(this.idPrefix+"-dc","selected");
$EH(this.idPrefix+"-edit");
}});
L(162,"editInPlace/Widget.js");
$I(LazyEditInPlaceWidget.prototype,EditInPlaceWidget.prototype);
$I(LazyEditInPlaceWidget.prototype,{isRequestSent:false,isLoaded:function(){
return $(this.idPrefix+"-ic").innerHTML.trim()!="";
},e:function(){
if(this.isLoaded()){
this.baseE();
return;
}
if(this.isRequestSent){
return;
}
var _287={cmd:"History.Row.getInputMarkup",callback:this.CB_getInputMarkup.bind(this),kind:this.options.kind,tid:this.options.tid,prefix:this.options.historyIdPrefix};
$AJS($E(_287,W(this.options.historyIdPrefix).filters),{target:"__ignore"});
this.isRequestSent=true;
},CB_getInputMarkup:function(resp){
this.isRequestSent=false;
$(this.idPrefix+"-ic").innerHTML=resp.html;
eval(resp.script);
this.baseE();
}});
L(160,"editInPlace/LazyWidget.js");
$E(CustomDropdownWidget.prototype,{initialize:function(_289,_28a,_28b,_28c,_28d){
this.dropdownId=_28a;
this.handlerId=_28b;
this.selectedBgColor=_28c;
this.options=_28d||{};
this.selected=false;
this.isFullyInitialized=false;
G_HEADER_DROPDOWNS[_28a]=this;
this.idPrefix=_289;
WidgetManager.register(this);
},initializeFully:function(){
if(this.isFullyInitialized){
return;
}
this.dropdown=$(this.dropdownId);
this.handler=$(this.handlerId);
registerDropdown(this.dropdownId,{button:this.handlerId,onhide:function(){
this.hideDropdown();
this.reset();
}.bind(this),retainOnDropdownClick:this.retainOnDropdownClick()});
this.isFullyInitialized=true;
},doHandlerStyling:function(){
return true;
},reset:function(){
return;
},retainOnDropdownClick:function(){
return this.options.retainOnDropdownClick;
},selectHandler:function(){
if(!this.doHandlerStyling()){
return;
}
this.handler.style.borderColor="#000 #e0e0e0 #e0e0e0 #000";
},ovr:function(){
this.hoverHandler();
},hoverHandler:function(){
this.initializeFully();
if(!this.doHandlerStyling()||this.selected){
return;
}
this.handler.style.padding="0px";
this.handler.style.border="1px solid";
this.handler.style.borderColor="#e0e0e0 #000 #000 #e0e0e0";
this.handler.style.backgroundColor=this.selectedBgColor;
},out:function(){
this.unselectHandler();
},unselectHandler:function(){
if(!this.doHandlerStyling()||this.selected){
return;
}
this.handler.style.padding="1px";
this.handler.style.border="none";
this.handler.style.backgroundColor="";
},onHideDropdown:function(){
},hideDropdown:function(){
this.onHideDropdown();
this.selected=false;
this.unselectHandler();
if(!this.isFullyInitialized){
return;
}
Element.hide(this.dropdown);
},showDropdown:function(){
$ES(this.dropdown);
this.selected=true;
this.selectHandler();
this.onShow();
},onShow:function(){
},clk:function(e){
this.handlerOnClick(e);
},handlerOnClick:function(e){
this.initializeFully();
if(Element.visible(this.dropdownId)){
this.hideDropdown();
return;
}
this.positionDropdown();
this.showDropdown();
},getDropdownPosition:function(){
return "b";
},positionDropdown:function(){
var _290=Element.getDimensions(this.dropdown);
var _291=_290.width,_292=_290.height;
var _293=10;
var elem=$(this.handlerId);
var _295=Element.getDimensions(elem);
var _296=_295.width,_297=_295.height;
var _298=Position.page(elem);
var _299=_298[0],_29a=_298[1];
var _29b=this.getDropdownPosition();
var t=0,l=0;
if(_29b=="r"){
t=-_297;
l=_296+2;
}
if((_29a+t+_292>Page.getHeight()-_293)&&(_292<_29a)){
t-=_292;
t+=_29b=="r"?_297:-_297;
}
if(_299+l+_291>Page.getWidth()-_293){
if(_29b=="b"){
l-=_291-_296;
}else{
l-=_296+_291;
}
}
this.dropdown.style.top=t+"px";
this.dropdown.style.left=l+"px";
}});
$E(CustomDropdownManager,{getDropdownById:function(_29e){
if(!G_HEADER_DROPDOWNS[_29e]){
ErrorManager.handleSystemError("Invalid dropdown id ["+_29e+"]");
}
return G_HEADER_DROPDOWNS[_29e];
}});
L(93,"dropdowns/CustomWidget.js");
$I(DropdownMenuWidget.prototype,CustomDropdownWidget.prototype);
$I(DropdownMenuWidget.prototype,{scrollStepSize:25,OPTION_KIND_FILTER:0,OPTION_KIND_CLICK:1,OPTION_KIND_SUBMENU:2,OPTION_KIND_SEPARATOR:3,OPTION_KIND_SCROLL_PREV:4,OPTION_KIND_SCROLL_NEXT:5,OPTION_KIND_CONTENT:6,addedHandlers:false,initialize:function(_29f,_2a0,_2a1,_2a2,_2a3,_2a4,_2a5){
this.menuOptions=_2a3;
this.isSubMenuDropdown=_2a4;
this.addedHandlers=false;
this.maxItemsPerPage=_2a5.maxItemsPerPage||25,this.baseInitialize(_29f,_2a0,_2a1,_2a2,_2a5);
},doHandlerStyling:function(){
return !this.isSubMenuDropdown;
},retainOnDropdownClick:function(){
return false;
},reset:function(){
if(this.optionIds.length<=this.maxItemsPerPage){
return;
}
this.offset=this.optionIds.length>this.maxItemsPerPage?1:0;
for(var x=0,len=this.optionIds.length;x<len;++x){
var _2a8=this.getContainerIdForOption(x);
var _2a9;
if(x<=this.maxItemsPerPage||x==len-1){
Element.show(_2a8);
}else{
Element.hide(_2a8);
}
}
},addHandlers:function(){
this.initializeFully();
if(this.addedHandlers){
return;
}
var _2aa=false;
this.optionIds=[];
var _2ab=[];
for(var x=0,len=this.menuOptions.length;x<len;++x){
var _2ae=this.menuOptions[x];
if(_2ae.optionKind==this.OPTION_KIND_SUBMENU){
_2aa=true;
_2ab.push(_2ae.subMenuDropdownId);
}
this.optionIds.push(_2ae.optionId);
}
for(var x=0,len=this.menuOptions.length;x<len;++x){
var _2ae=this.menuOptions[x];
var _2af=_2ae.optionId;
var _2b0=$(_2af);
var _2b1,_2b2="click",_2b3=this;
if(_2ae.optionKind==this.OPTION_KIND_SCROLL_PREV){
_2b1=function(e){
Event.stop(e);
this.scroll(-1);
};
}else{
if(_2ae.optionKind==this.OPTION_KIND_SCROLL_NEXT){
_2b1=function(e){
Event.stop(e);
this.scroll(1);
};
}else{
if(_2ae.optionKind==this.OPTION_KIND_SUBMENU){
_2b1=function(e){
CustomDropdownManager.getDropdownById(this.subMenuDropdownId).handlerOnClick(e);
};
_2b3={subMenuDropdownId:_2ae.subMenuDropdownId};
_2b2="mouseover";
}else{
if(_2ae.optionKind==this.OPTION_KIND_FILTER){
_2b1=this.getFilterClickHandler();
_2b3={historyIdPrefix:this.options.historyIdPrefix,filters:this.options.filters,optionFilters:_2ae.filters};
}else{
if(_2ae.optionKind==this.OPTION_KIND_CLICK){
_2b1=function(){
eval(this.onclick);
};
_2b3={onclick:_2ae.onclick};
}else{
_2b1=donothing;
}
}
}
}
}
Event.observeElem(_2b0,_2b2,_2b1.bindAsEventListener(_2b3));
Event.observeElem(_2b0,"mouseover",function(e){
var elem=Event.element(e);
if(elem.id!=this.id){
return;
}
Element.addClassName(this,"hOpt");
}.bindAsEventListener(_2b0));
Event.observeElem(_2b0,"mouseout",function(e){
Element.removeClassName(this,"hOpt");
}.bindAsEventListener(_2b0));
if(!_2aa){
continue;
}
Event.observeElem(_2b0,"mouseover",function(e){
if(Event.element(e).id!=this.optionId){
return;
}
this.instance.hideAllButOne(this.subMenuDropdownIds,this.subMenuDropdownId);
}.bindAsEventListener({optionId:_2af,instance:this,subMenuDropdownId:_2ae.subMenuDropdownId,subMenuDropdownIds:_2ab}));
}
this.reset();
this.offset=this.menuOptions.length>this.maxItemsPerPage?1:0;
this.addedHandlers=true;
},hideAllButOne:function(list,id){
for(var x=0,len=list.length;x<len;++x){
var v=list[x];
if(id!=v){
if(v!=-1){
CustomDropdownManager.getDropdownById(v).hideDropdown();
}
}
}
},handlerOnClick:function(e){
this.addHandlers();
if(!this.isSubMenuDropdown&&Element.visible(this.dropdownId)){
this.hideDropdown();
return;
}
this.positionDropdown();
this.showDropdown();
},getDropdownPosition:function(){
if(this.isSubMenuDropdown){
return "r";
}
return this.baseGetDropdownPosition();
},getContainerIdForOption:function(_2c1){
return this.optionIds[_2c1];
},scroll:function(_2c2){
_2c2*=this.scrollStepSize;
for(var x=0;x<Math.abs(_2c2);++x){
var _2c4=this.offset+((_2c2>0)?1:-1);
if(_2c4>=this.optionIds.length-this.maxItemsPerPage||_2c4<1){
break;
}
if(_2c2>0){
var _2c5=this.offset+this.maxItemsPerPage;
var _2c6=this.offset;
}else{
var _2c5=this.offset-1;
var _2c6=this.offset+this.maxItemsPerPage-1;
}
Element.show(this.getContainerIdForOption(_2c5));
Element.hide(this.getContainerIdForOption(_2c6));
this.offset=_2c4;
}
}});
L(91,"dropdowns/menu/Widget.js");
$I(LazyDropdownMenuWidget.prototype,DropdownMenuWidget.prototype);
$I(LazyDropdownMenuWidget.prototype,{getOptionsRequestParams:null,isRequestActive:false,handlerOnClick:function(e){
if(this.menuOptions!==null){
this.baseHandlerOnClick();
return;
}
if(this.isRequestActive){
return;
}
this.event=e;
var _2c8={callback:this.CB_getOptionsMarkup.bind(this)};
if(this.isSubMenuDropdown){
$E(_2c8,{parentIdPrefix:this.idPrefix});
}
$AJS($E(this.getOptionsRequestParams(),_2c8),{target:"__ignore"});
this.isRequestActive=true;
},onHideDropdown:function(){
this.isRequestActive=false;
},CB_getOptionsMarkup:function(resp){
$(this.idPrefix+"-ic").innerHTML=resp.html;
eval(resp.script);
this.menuOptions=__menuOptions;
if(!this.isRequestActive){
return;
}
this.isRequestActive=false;
this.baseHandlerOnClick(this.event);
}});
L(90,"dropdowns/menu/LazyWidget.js");
$E(TransactionEditor,{editGroup:function(tid,_2cb){
$AJ({tid:tid,cmd:"Transaction.editGroup",groupId:_2cb});
},getAttachmentWidget:function(tid){
$AJ({cmd:"Transaction.Attachment.getWidget",tid:tid});
},editTrans:function(tid){
$AJT({cmd:"Transaction.Input.Edit.getWidget",tid:tid});
},getMarkTransferMarkup:function(tid){
$AJ({cmd:"Transaction.getMarkTransferMarkup",tid:tid});
},editDescription:function(tid,_2d0){
$AJ({cmd:"Transaction.editDescription",tid:tid,desc:_2d0});
},editAmount:function(tid,_2d2){
$AJ({cmd:"Transaction.editAmount",tid:tid,amount:_2d2});
},getDeleteConfirmationWidget:function(tids){
$AJ({cmd:"Transaction.getDeleteConfirmationWidget",tids:tids});
},restoreTransactions:function(tids,_2d5){
if(typeof (tids)=="number"){
tids=[tids];
}
$AJT($E({cmd:"Transaction.restore",tids:tids.join(",")},_2d5||{}));
},deleteTransactions:function(tids,_2d7){
_2d7=_2d7||{};
if(typeof (tids)=="number"){
tids=[tids];
}
$AJT({cmd:"Transaction.delete",tids:tids.join(","),dontAskAgain:ifundef(_2d7.dontAskAgain,1)});
},editStatus:function(tid,s){
$AJ({cmd:"Transaction.editStatus",status:s,tid:tid});
},editAccount:function(tid,_2db){
$AJ({cmd:"Transaction.editAccount",tid:tid,newAccountId:_2db});
},editTags:function(tid,tags){
if(!TagValidator.validateTags(tags)){
return;
}
$AJ({cmd:"Transaction.editTags",tid:tid,tagNames:tags});
},copyTransaction:function(tid){
$AJT({cmd:"Transaction.copy",tid:tid});
},markAsRefund:function(tid){
$AJT({cmd:"Transaction.markAsRefund",tid:tid});
},editDate:function(tid,date){
$AJ({cmd:"Transaction.editDate",tid:tid,date:date});
},toggleDetails:function(tid){
$ET("edit-"+tid+"-d");
$ET("edit-"+tid+"-l");
}});
L(62,"transactions/Editor.js");
$E(TransactionSettler,{editSettlement:function(tids,_2e4){
$AJT({cmd:"Transaction.editSettlement",tids:tids,settleType:_2e4});
},editPairSettlement:function(tid,cid,_2e7){
$AJT({cmd:"Transaction.editPairSettlement",tid:tid,cid:cid,settleType:_2e7});
}});
L(44,"transactions/Settler.js");
$E(TransactionUtils,{print:function(tid){
var _2e9={cmd:"Transaction.print",prefix:"",tids:tid};
openWindow(getUrlFromParams(_2e9),800,600);
}});
L(47,"transactions/Utils.js");
$E(TransactionItemWidget.prototype,{initialize:function(_2ea,_2eb,_2ec,_2ed){
this.itemKind=_2eb;
this.transactionId=_2ec;
this.options=_2ed||{};
this.idPrefix=_2ea;
WidgetManager.register(this);
},isInitialized:false,isRequestPending:false,t:function(){
this.toggle();
},toggle:function(){
if(Element.visible(this.getDetailsContainer())){
this.hide();
}else{
this.show();
}
},s:function(){
this.show();
},show:function(){
if(this.isRequestPending){
return;
}
var _2ee=this.getDetailsContainer();
if(this.isInitialized){
$EL(_2ee,this.options);
return;
}
$AJ({cmd:"Transaction.Item.getDetailsMarkup",idPrefix:this.idPrefix,tid:this.transactionId,itemKind:this.itemKind,callback:this.CB_show.bind(this)},{target:_2ee.id,targetReplacement:"innerHTML"});
this.isRequestPending=true;
},CB_show:function(resp,_2f0,_2f1){
this.isRequestPending=false;
$EL(this.getDetailsContainer(),this.options);
registerDropdown(_2f0.target,{button:this.idPrefix+"-icon",retainOnDropdownClick:true});
this.isInitialized=true;
},h:function(){
this.hide();
},hide:function(){
$EH(this.getDetailsContainer());
},getDetailsContainer:function(){
if(!this.detailsContainer){
this.detailsContainer=$(this.idPrefix+"-dc");
}
return this.detailsContainer;
}});
L(63,"transactions/items/Widget.js");
$E(HistoryWidget,{getWidget:function(_2f2){
$AJT($E({cmd:"Transaction.List.getWidget"},_2f2));
}});
$E(HistoryWidget.prototype,{initialize:function(_2f3,_2f4){
this.idPrefix=_2f3;
this.filters=_2f4;
WidgetManager.register(this);
},setSelectedState:function(_2f5){
W(this.idPrefix+"-blk").setSelectedState(_2f5);
},getInputWidget:function(){
this.loadToolInput("item-inp",$E({cmd:"History.Transaction.Input.getWidget"},this.filters||{}));
},getSettingsWidget:function(){
this.loadToolInput("set-inp");
},getSearchWidget:function(){
this.loadToolInput("sch-inp",$E({cmd:"Filter.getWidget"},this.filters||{}));
},currentToolInput:null,hideCurrentToolInput:function(){
if(!this.currentToolInput){
return;
}
$EH(this.currentToolInput);
this.currentToolInput=null;
},loadToolInput:function(_2f6,_2f7){
this.hideCurrentToolInput();
$ES(this.idPrefix+"-tools-inp");
$EH(this.idPrefix+"-items");
var el=$(this.idPrefix+"-"+_2f6);
_2f7=_2f7||{};
$EL(el,$E(_2f7,{idPrefix:this.idPrefix}));
this.currentToolInput=el.id;
},hideToolInput:function(){
this.hideCurrentToolInput();
$EH(this.idPrefix+"-tools-inp");
$ES(this.idPrefix+"-items");
},updateSettings:function(_2f9){
this.updateHistory(_2f9);
},updateSize:function(size){
this.updateHistory($E(this.filters,{numTransInHist:size}));
},setStatus:function(_2fb){
this.updateHistory({status:_2fb});
},jumpToPage:function(page){
this.updateHistory({navStart:((page-1)*this.pageSize+1)});
},updateHistory:function(_2fd){
var _2fe={cmd:"Transaction.List.update",prefix:this.idPrefix};
$E(_2fe,this.filters);
$E(_2fe,_2fd);
$AJ(_2fe,{target:this.idPrefix+"-cont",isSubTab:true});
},selectDateFilter:function(_2ff){
$EH(this.idPrefix+"-period-"+this.dateFilterType);
$ES(this.idPrefix+"-period-"+_2ff);
this.dateFilterType=_2ff;
},search:function(_300){
this.updateHistory({keywords:_300});
},getSearchDate:function(_301,_302){
if(this.dateFilterType==1){
return $(this.idPrefix+"-period-"+_301).value;
}
return $(this.idPrefix+"-filter-months").value.split(/:/)[_302];
},submitSearchForm:function(){
var _303=Form.getParams(this.idPrefix+"-sch-form");
delete _303.month;
this.updateHistory($E(_303,{startDate:this.getSearchDate("start",0),endDate:this.getSearchDate("end",1)}));
}});
L(42,"history/Widget.js");
g.TransactionListBulkActionsWidget=Class.create();
$I(g.TransactionListBulkActionsWidget.prototype,g.ListBulkActionsWidget.prototype);
$I(g.TransactionListBulkActionsWidget.prototype,{__initialize:function(){
this.isViewSelected=false;
},print:function(){
var tids=this.getSelectedItemIds();
if(tids.length==0){
this.reportSelectionError();
return;
}
var _305={cmd:"Transaction.print",tids:tids};
openWindow(getUrlFromParams(_305),800,600);
},deselectView:function(){
this.setViewSelection(false);
},selectView:function(){
this.setViewSelection(true);
},setViewSelection:function(_306){
if(!$(this.idPrefix+"-vsel-on")){
return;
}
if(_306){
this.isViewSelected=true;
$ES(this.idPrefix+"-vsel-on");
$EH(this.idPrefix+"-vsel-off");
}else{
this.isViewSelected=false;
$EH(this.idPrefix+"-vsel-on");
$ES(this.idPrefix+"-vsel-off");
}
},confirmSubmit:function(){
var _307=this.isViewSelected?"on":"off";
if(_307=="on"){
return window.confirm("This action will affect all "+W(this.listIdPrefix).numTransactions+" transactions in this view. Proceed?");
}
return true;
},getSubmitParams:function(){
var _308=this.isViewSelected?"on":"off";
return $E({cmd:"Transaction.List.Bulk.doAction",idPrefix:this.listIdPrefix,isViewSelected:_308},W(this.listIdPrefix).filters);
},setRowSelectedState:function(row,_30a){
W(row.id).checkBoxHandler(_30a);
}});
L(36,"history/BulkWidget.js");
HistoryRowWidget.prototype={initialize:function(_30b,tid,_30d){
this.idPrefix=_30b;
this.tid=tid;
this.historyPrefix=_30d;
this.row=$(this.idPrefix);
WidgetManager.register(this);
},select:function(){
Element.addClassName(this.idPrefix,"checked");
},unselect:function(){
if($(this.getCheckBoxId()).checked){
return;
}
Element.removeClassName(this.idPrefix,"checked");
},getCheckBoxId:function(){
return this.idPrefix+"-cb";
},ovr:function(){
Element.addClassName(this.row,"ovr");
$ES(this.idPrefix+"-dt");
},out:function(){
Element.removeClassName(this.row,"ovr");
$EH(this.idPrefix+"-dt");
},checkBoxHandler:function(_30e){
$(this.getCheckBoxId()).checked=_30e;
if(_30e){
this.select();
}else{
this.unselect();
}
},getDeleteConfirmationWidget:function(_30f){
TransactionEditor.getDeleteConfirmationWidget(this.tid);
},deleteTransaction:function(){
TransactionEditor.deleteTransactions(this.tid);
},restoreTransaction:function(){
TransactionEditor.restoreTransactions(this.tid);
},editSettlement:function(_310){
TransactionSettler.editSettlement(this.tid,_310);
},copyTransaction:function(){
TransactionEditor.copyTransaction(this.tid);
},markAsRefund:function(){
TransactionEditor.markAsRefund(this.tid);
},getSplitWidget:function(){
$AJ({cmd:"Transaction.Split.getWidget",tid:this.tid});
},det:function(){
if(HistoryRowWidget.OPEN_ROW!==null&&HistoryRowWidget.OPEN_ROW.idPrefix!=this.idPrefix){
HistoryRowWidget.OPEN_ROW.det();
}
var el=$(this.idPrefix+"-trd");
if(Element.hasClassName(el,"o")){
Element.removeClassName(el,"o");
this.unselect();
HistoryRowWidget.OPEN_ROW=null;
$EH(el);
}else{
Element.addClassName(el,"o");
this.select();
HistoryRowWidget.OPEN_ROW=this;
$EL(el,{cmd:"History.Row.getDetailsMarkup",idPrefix:this.idPrefix,tid:this.tid});
}
},getRenameWidget:function(){
$AJ({cmd:"Transaction.getRenameWidget",tid:this.tid});
}};
L(40,"history/rows/Widget.js");
$I(HistoryRowEditInPlaceWidget.prototype,LazyEditInPlaceWidget.prototype);
$I(HistoryRowEditInPlaceWidget.prototype,{ovr:function(){
this.baseOvr();
var pre=$(this.idPrefix+"-pre");
if(pre){
$ES(pre);
}
},out:function(){
this.baseOut();
var pre=$(this.idPrefix+"-pre");
if(pre){
$EH(pre);
}
}});
L(38,"history/rows/editInPlace/Widget.js");
$E(Exporter,{setupFilters:function(_314,_315){
var _316=$(_314+"-download-form");
$H(_315).each(function(it){
var id=_314+"-download-form-"+it.key;
var _319=$(id);
if(!_319){
return;
}
_319.value=it.value;
});
},doExport:function(_31a,_31b){
TabManager.setWaitingMessage();
var _31c=$(_31a+"-download-form");
_31c.format.value=_31b;
_31c.submit();
}});
L(171,"export/Exporter.js");
$E(ReminderListWidget,{getWidget:function(date){
var _31e={cmd:"Reminder.getListWidget"};
if(date){
_31e.date=date;
}
$AJ(_31e);
},getInputWidget:function(){
$AJ({cmd:"Reminder.Input.getCreateWidget"});
},getDeleteWidget:function(_31f,_320){
$AJ({cmd:"Reminder.getDeleteWidget",reminderId:_31f,eventDate:_320});
},deleteEvent:function(_321,_322){
$AJ({cmd:"Reminder.deleteEvent",eventDate:_322,reminderId:_321});
},deleteReminder:function(_323){
$AJ({cmd:"Reminder.delete",reminderId:_323});
}});
L(116,"reminders/ListWidget.js");
$E(ReminderInputWidget,{getAddMarkup:function(_324){
$AJT($E({cmd:"Reminder.Input.getCreateWidget"},_324||{}));
},getEditMarkup:function(_325){
$AJT({cmd:"Reminder.Input.getEditWidget",reminderId:_325});
}});
L(117,"reminders/input/Loader.js");
g.ProjectionWidget={getWidget:function(_326){
$AJT($E({cmd:"Projection.getWidget"},_326||{}));
},toggleFiltersInput:function(){
$ET(this.idPrefix+"-f-inp");
$ET(this.idPrefix+"-f-disp");
}};
L(208,"projections/Widget.js");
$I(HistoryDropdownWidget.prototype,LazyDropdownMenuWidget.prototype);
$I(HistoryDropdownWidget.prototype,{getOptionsRequestParams:function(){
var _327={cmd:"History.Dropdown.getOptionsMarkup",kind:this.options.kind,prefix:this.options.historyIdPrefix};
return $E(_327,this.options.filters);
},getFilterClickHandler:function(){
return function(e){
var _329={};
$E(_329,this.filters);
$E(_329,this.optionFilters);
W(this.historyIdPrefix).updateHistory(_329);
};
}});
L(41,"history/dropdowns/Widget.js");
$E(TagValidator,{validateTags:function(tags,_32b){
var _32c=true;
tags.split(/[,]+/).each(function(tag){
if(!this.validateSingleTag(tag,_32b)){
_32c=false;
throw $break;
}
}.bind(this));
return _32c;
},validateSingleTag:function(tag,_32f){
_32f=_32f||{};
var _330=_32f.errorHandler||ErrorManager.handleUserError;
if(_32f.disallowShared&&this.isSharedTag(tag.trim())){
_330("Shared tags are not allowed in autotags. Please try again.");
return false;
}
return true;
},isSharedTag:function(_331){
return _331.match(/^shared:/);
}});
L(166,"tags/Validator.js");
$E(ReminderInputWidget,{getAddMarkup:function(_332){
$AJT($E({cmd:"Reminder.Input.getCreateWidget"},_332||{}));
},getEditMarkup:function(_333){
$AJT({cmd:"Reminder.Input.getEditWidget",reminderId:_333});
}});
L(117,"reminders/input/Loader.js");
$E(ReminderInputWidget,{addReminder:function(){
var _334=Form.getParams(this.idPrefix+"-form");
if(_334.notificationTime==""&&_334.copyTransaction==0){
ErrorManager.handleUserError("You selected neither to receive a reminder nor "+"to automatically copy the transaction");
return;
}
$AJT($E(_334,{cmd:"Reminder.addReminder"}));
},setWeekScheduleOptionsDisplay:function(_335,_336){
var div=$(this.idPrefix+"-"+_335+"-container");
Element[_335==_336?"show":"hide"](div);
}});
L(118,"reminders/input/Widget.js");
$E(Shortcutter,{enabled:true,handlers:{},timeout:null,buffer:"",newTransactionShortcuts:{j:"TransInputWidget.stepDateForward ()",k:"TransInputWidget.stepDateBackward ()"},registerShortcuts:function(){
$E(this.handlers,{u:"TabManager.reloadCurrentTab ()",p:"g.ProjectionWidget.getWidget ()",s:"SummaryWidget.getWidget ()",n:"getNewTransaction(\"lastType\")",a:"getNewTransaction(\"lastType\")",r:"ReportWidget.getWidget ()",b:"BudgetWidget.getListWidget ()",g:"GroupListWidget.getWidget ()",c:"ContactListWidget.getWidget ()",t:"TagListWidget.getWidget ()",as:"SettingsWidget.getWidget ()",ac:"g.BankAccountListWidget.getWidget ()","/":"$(\"search\").focus ()","?":"HelpWidget.getWidget(\"Keyboard_Shortcuts\")"});
if(Globals.LIVE){
return;
}
$E(this.handlers,{d:"Element.toggle (\"debug-row\")",pp:"Page.reload ()"});
},enableNewTransactionShortcuts:function(){
$E(this.handlers,this.newTransactionShortcuts);
},disableNewTransactionShortcuts:function(){
Object.contract(this.handlers,this.newTransactionShortcuts);
},handleKeypress:function(e){
if(!this.enabled){
return;
}
if(g.KeyboardUtils.isEscapeKey(e)){
blurAllFocus();
return;
}
if(!g.KeyboardUtils.isCharacterKey(e)){
return;
}
var key=g.KeyboardUtils.getCharacter(e).toLowerCase();
var targ=Event.element(e);
if(targ.nodeType==3){
targ=targ.parentNode;
}
if(this.isInputElement(targ)){
return;
}
this.buffer+=key;
if(this.timeout){
clearTimeout(this.timeout);
}
if(this.isPrefixKey(this.buffer)){
this.timeout=setTimeout(this.execute.bind(this),500);
return true;
}
this.execute();
},execute:function(){
var _33b=this.buffer;
this.buffer="";
var cb=this.handlers[_33b];
if(cb){
eval(cb);
return true;
}
return false;
},isPrefixKey:function(code){
code+="";
code=code.toLowerCase();
return code=="a"||code=="p";
},isInputElement:function(elem){
var _33f=elem.tagName.toLowerCase();
var _340=elem.getAttribute("type")||"text";
return (_33f=="input"&&(_340=="text"||_340=="password"||_340=="file"))||_33f=="textarea"||_33f=="select";
}});
Shortcutter.registerShortcuts();
Event.observe(document,"keypress",(Shortcutter.handleKeypress.bindAsEventListener(Shortcutter)));
L(179,"misc/Shortcutter.js");
$E(Mouse,{getCoordinatesFromEvent:function(e){
var posx=0;
var posy=0;
if(e.pageX||e.pageY){
posx=e.pageX;
posy=e.pageY;
}else{
if(e.clientX||e.clientY){
posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;
posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;
}
}
return [posx,posy];
},onMouseEvent:function(elem,_345){
var _346=_345=="focus";
Element[_346?"addClassName":"removeClassName"](elem,"selected");
var _347=elem.firstChild;
while(_347&&(_347.nodeType==3||_347.getAttribute("type")!="mouseChild")){
_347=_347.nextSibling;
}
if(_347){
Element[_346?"show":"hide"](_347);
}
}});
L(185,"misc/Mouse.js");
$E(TipWidget,{toggleStatus:function(){
$AJS({cmd:"Tip.toggleStatus"});
},getNextTip:function(){
$AJS({cmd:"Tip.getNextTip"});
},hideWidget:function(){
$EH("tip");
}});
L(35,"tips/Widget.js");
(function(){
if(window.google&&google.gears){
return;
}
var _348=null;
if(typeof GearsFactory!="undefined"){
_348=new GearsFactory();
}else{
try{
_348=new ActiveXObject("Gears.Factory");
if(_348.getBuildInfo().indexOf("ie_mobile")!=-1){
_348.privateSetGlobalObject(this);
}
}
catch(e){
if((typeof navigator.mimeTypes!="undefined")&&navigator.mimeTypes["application/x-googlegears"]){
_348=document.createElement("object");
_348.style.display="none";
_348.width=0;
_348.height=0;
_348.type="application/x-googlegears";
document.documentElement.appendChild(_348);
}
}
}
if(!_348){
return;
}
if(!window.google){
google={};
}
if(!google.gears){
google.gears={factory:_348};
}
})();
L(113,"google/gears/Lib.js");
var LogViewer={initialize:function(_349,_34a){
this.idPrefix=_349;
this.nav_start=_34a;
},reset:function(){
$AJ({cmd:"Logs.getList"},{target:this.idPrefix+"-data"});
},update:function(_34b){
_34b=_34b||{};
var _34c={cmd:"Logs.getList"};
Object.extend(_34c,this.getCommonParams());
Object.extend(_34c,_34b);
$AJ(_34c,{target:this.idPrefix+"-data"});
},resolveAllMatching:function(){
this.update({action:"resolve",callback:this.CB_resolveAllMatching.bind(this)});
},CB_resolveAllMatching:function(resp,_34e,_34f){
$(this.idPrefix+"-search").value="";
},onSearchKeypress:function(ev){
if(g.KeyboardUtils.isReturnKey(ev)){
this.update({nav_start:1});
return;
}
},onSubmit:function(ev){
this.update();
},getCommonParams:function(){
var _352={nav_start:this.nav_start,status:$(this.idPrefix+"-select-status").value,logType:$(this.idPrefix+"-select-logType").value,keywords:$(this.idPrefix+"-search").value};
return _352;
},getRelevantUserAccesses:function(uid,_354){
var el=$("accesses-"+_354);
if(el.innerHTML.match(/^\s*$/)){
var _356={cmd:"Logs.getRelevantUserAccesses",uid:uid,logEntryId:_354,callback:"LogViewer.CB_getRelevantUserAccesses"};
$AJ(_356);
}else{
Element.toggle(el);
}
},getDecodedJSBitmap:function(_357,_358){
var el=$("bitmap-"+_358);
if(el.innerHTML.match(/^\s*$/)){
var _35a={cmd:"Logs.getDecodedJSBitmap",logEntryId:_358,bitmap:_357,callback:"LogViewer.CB_getDecodedJSBitmap"};
$AJ(_35a);
}else{
Element.toggle(el);
}
},CB_getDecodedJSBitmap:function(resp,_35c,_35d){
var el=$("bitmap-"+_35d.logEntryId);
el.innerHTML=resp.html;
Element.show(el);
},CB_getRelevantUserAccesses:function(resp,_360,_361){
var el=$("accesses-"+_361.logEntryId);
el.innerHTML=resp.html;
Element.show(el);
},onStatusChange:function(id,sel){
var _365={cmd:"Logs.getList",action:"updateStatus",id:id,newStatus:sel.value,callback:this.CB_updateSomeField.bind(this)};
Object.extend(_365,this.getCommonParams());
$AJ(_365);
},updateComments:function(id,_367){
var _368={cmd:"Logs.getList",action:"updateComments",id:id,comments:$(_367).value,callback:this.CB_updateSomeField.bind(this)};
Object.extend(_368,this.getCommonParams());
$AJ(_368);
},CB_updateSomeField:function(resp,_36a,_36b){
this.update();
},toggleLogs:function(_36c){
if(Element.visible(_36c)){
$EH(_36c);
return;
}
$ES(_36c);
if($(this.idPrefix+"-select-logType")){
this.update();
}else{
$AJ({cmd:"Logs.getList"},{target:this.idPrefix+"-data"});
}
},displayCommandArgs:function(){
var url=$("debug-url").href;
var _36e=this.toQueryParams(url);
delete _36e.__jsBitmap;
delete _36e.__referer;
delete _36e.__mode;
var s="<div style='margin:0; padding:0;'><div class='aaPadding'>";
for(var k in _36e){
s+="<strong>"+k+"</strong>: "+_36e[k]+"<br/>";
}
s+="</div></div>";
$("debug-args-overlay-content").innerHTML=s;
Overlay.setup("debug-args-overlay");
},toQueryParams:function(str,_372){
var _373=str.trim().match(/([^?#]*)(#.*)?$/);
if(!_373){
return {};
}
return _373[1].split(_372||"&").inject({},function(hash,pair){
if((pair=pair.split("="))[0]){
var key=decodeURIComponent(pair.shift());
var _377=pair.length>1?pair.join("="):pair[0];
if(_377!=undefined){
_377=decodeURIComponent(_377);
}
if(key in hash){
if(hash[key].constructor!=Array){
hash[key]=[hash[key]];
}
hash[key].push(_377);
}else{
hash[key]=_377;
}
}
return hash;
});
}};
L(102,"devel/LogViewer.js");
var TABLE_BORDER=0;
function toggleTableBorders(){
if(TABLE_BORDER==0){
TABLE_BORDER=1;
}else{
TABLE_BORDER=0;
}
var _378=document.getElementsByTagName("table");
for(var i=0,len=_378.length;i<len;i++){
if(TABLE_BORDER){
_378[i].setAttribute("border","1");
$("debug-table").innerHTML="Hide borders";
}else{
_378[i].setAttribute("border","0");
$("debug-table").innerHTML="Show borders";
}
}
}
L(103,"devel/debug.js");
var Profiler={debug:0,begin:function(_37b){
this.startTime=currTimeMillis();
this.logInfo("Profiler started: "+_37b);
},logTime:function(_37c){
if(!this.startTime){
return;
}
this.logInfo(_37c+": "+(currTimeMillis()-this.startTime));
},logInfo:function(_37d){
if(!this.debug){
return;
}
Log.info(_37d);
},getPProfOutput:function(_37e){
$AJ({cmd:"Devel.getPProfOutput",option:_37e});
},selectCommands:function(){
$AJ({cmd:"Devel.getCommandSelectionUI"});
}};
L(96,"devel/Profiler.js");
var Console={consoleId:"__console",toggle:function(){
Element.toggle(this.consoleId);
},clear:function(){
$(this.consoleId+"-content").innerHTML="";
},logInfo:function(mesg){
if(Globals.LIVE){
return;
}
var id="__debug_"+currTimeMillis();
$("__console-content").innerHTML+="<div id=\""+id+"\" class=\"noWrap lPadding bPadding\">"+"<div class=\"rPadding clickable rFloat\" "+"onclick=\"Element.hide('"+id+"')\">x</div>"+mesg+"</div>";
}};
L(98,"devel/Console.js");

