if(typeof (_localeLookup)=="undefined"){
_localeLookup=function(s){
return null;
};
}
function loc(){
var _2=_localeLookup(arguments[0]);
if(!_2){
_2=arguments[0].replace(/\[_(\d+)\]/g,"&$1");
}
for(var i=1;i<arguments.length;++i){
var _4=new RegExp("&"+i,"g");
_2=_2.replace(_4,arguments[i]);
}
return _2;
}
std={};
std.browser={isFF:null,isIE:null,isMoz:null,isOpera:null,isAppleWebKit:null,isSupport:null,major:null,minor:null,gecko:null,isSafariWin:null,isSafariMobile:null};
std.browser.platform={};
std.browser.applewebkit={};
std.browser.applewebkit.parseVersion=function(_5){
var _6=_5.split(".");
var _7=(_5[_5.length-1]=="+");
if(_7){
var _8="+";
}else{
var _8=parseInt(_6[1]);
if(isNaN(_8)){
_8="";
}
}
return {major:parseInt(_6[0]),minor:_8,is_nightly:_7};
};
std.browser.applewebkit.getVersion=function(){
var _9=new RegExp("\\(.*\\) AppleWebKit/(.*) \\((.*)");
var _a=_9.exec(navigator.userAgent);
if(_a){
var _b=std.browser.applewebkit.parseVersion(_a[1]);
}
return {major:_b["major"],minor:_b["minor"],is_nightly:_b["is_nightly"]};
};
(function(){
var i,_d;
var ua=navigator.userAgent;
if((std.browser.isOpera=(i=ua.indexOf("Opera"))>=0)){
std.browser.major=parseFloat(ua.substr(i+6));
}else{
if((std.browser.isAppleWebKit=((i=ua.indexOf("AppleWebKit"))>=0))){
var _f=std.browser.applewebkit.getVersion();
std.browser.major=_f["major"];
std.browser.minor=_f["minor"];
std.browser.isSafariWin=navigator.platform.indexOf("Win")==0;
std.browser.isSafariMobile=(ua.indexOf("Mobile")!=-1);
std.browser.isChrome=(ua.indexOf("Chrome")!=-1);
}else{
if((std.browser.isIE=(i=ua.indexOf("MSIE "))>=0)){
std.browser.major=parseFloat(ua.substr(i+5));
}else{
if(std.browser.isMoz=(_d=/^Mozilla.+ rv:([0-9]+\.[0-9]+)(\.[0-9]+(?:\.[0-9]+)?)?/.exec(ua))!=null){
std.browser.major=_d[1];
std.browser.minor=_d[2];
std.browser.isFF=ua.indexOf("Firefox/")!=-1;
_d=/Gecko\/([0-9]+)/.exec(ua);
if(_d){
std.browser.gecko=_d[1];
}
}
}
}
}
std.browser.platform.isWin=navigator.platform.indexOf("Win")==0;
std.browser.platform.isMacOS=(ua.indexOf("Mac OS")!=-1);
std.browser.isSupport=(std.browser.isIE&&std.browser.major>=6)||(std.browser.isMoz&&std.browser.major>=1.7&&std.browser.gecko!="20060127")||(std.browser.isOpera&&std.browser.major>=9)||(std.browser.isAppleWebKit&&std.browser.major>=3);
std.browser.isIEQuirksMode=(document.compatMode=="BackCompat"&&std.browser.isIE);
std.browser.isBorderBox=!(document.compatMode=="CSS1Compat"&&std.browser.isIE)||(std.browser.isAppleWebKit&&std.browser.major<3);
})();
std.browser.no={};
std.browser.buggy={};
(std.browser.recalcRules=function(){
if(std.browser.isSafariMobile){
std.browser.no.ondblclick=true;
}
})();
std.lang={};
std.lang.bind=function(){
var _10=std.array.from(arguments);
var obj=_10.shift(),_12=_10.shift();
if(!_12||typeof (_12)!="function"){
null.assert;
}
if(_10.length==0){
return function binded(){
return arguments.length?_12.apply(obj,arguments):_12.call(obj);
};
}else{
return function binded(){
if(arguments.length==0){
return _12.apply(obj,_10);
}else{
var _13=_10.concat();
for(var i=0;i<arguments.length;i++){
_13.push(arguments[i]);
}
return _12.apply(obj,_13);
}
};
}
};
std.lang.later=function(){
var _15=std.array.from(arguments);
var _16=_15.shift(),obj=_15.shift(),_18=_15.shift();
return setTimeout(function(){
return _18.apply(obj,_15);
},_16);
};
std.lang.defaultize=function(_19,_1a){
return typeof (_19)=="undefined"?_1a:_19;
};
std.lang.evaluate=function(ref){
return typeof (ref)=="function"?ref():ref;
};
std.lang.undef=function(val){
return typeof (val)=="undefined";
};
std.lang.isArray=function(val){
for(var i=0;i<arguments.length;i++){
var val=arguments[i];
if(typeof (val)=="undefined"||val==null||val.constructor!=Array){
return false;
}
}
return true;
};
std.lang.isString=function(val){
return (typeof (val)=="string")||(val instanceof String);
};
std.list={};
std.list.iterate=function(_20,_21){
if(typeof (_20.forEach)=="function"){
_20.forEach(_21);
}else{
for(var i=0;i<_20.length;i++){
_21(_20[i],i);
}
}
};
std.list.map=function(_23,_24){
if(typeof (_23.map)=="function"){
return _23.map(_24);
}else{
var _25=new Array();
for(var i=0;i<_23.length;i++){
_25.push(_24(_23[i],i));
}
return _25;
}
};
std.list.grep=function(_27,_28){
if(typeof (_27.filter)=="function"){
return _27.filter(_28);
}else{
var _29=new Array();
for(var i=0;i<_27.length;i++){
if(_28(_27[i],i)){
_29.push(_27[i]);
}
}
return _29;
}
};
std.list.max=function(_2b,_2c){
var max=Number.NEGATIVE_INFINITY;
for(var i=0;i<_2b.length;i++){
if(_2b[i]!=null){
max=Math.max(max,_2c(_2b[i]));
}
}
return max;
};
std.list.min=function(_2f,_30){
var min=Number.POSITIVE_INFINITY;
for(var i=0;i<_2f.length;i++){
if(_2f[i]!=null){
min=Math.min(min,_30(_2f[i]));
}
}
return min;
};
std.list.find=function(_33,_34){
for(var i=0;i<_33.length;i++){
if(_34(_33[i],i)){
return _33[i];
}
}
return null;
};
std.list.findIndex=function(_36,_37){
if(typeof (_36.indexOf)=="function"){
return _36.indexOf(_37);
}else{
for(var i=0;i<_36.length;i++){
if(_36[i]==_37){
return i;
}
}
return -1;
}
};
std.string={};
std.string._scriptFragment="(?:<script.*?>)((\n|\r|.)*?)(?:</script>)";
std.string.enclose=function(_39,_3a,end,_3c){
return _3c?_3a+_39+end:_39;
};
std.string.stripTags=function(_3d){
return _3d.replace(/<\/?[^>]+>/gi,"");
};
std.string.stripScripts=function(_3e){
return _3e.replace(new RegExp(std.string._scriptFragment,"img"),"");
};
std.string.extractScripts=function(_3f){
var _40=new RegExp(std.string._scriptFragment,"img");
var _41=new RegExp(std.string._scriptFragment,"im");
return std.list.map(_3f.match(_40)||[],function(_42){
return (_42.match(_41)||["",""])[1];
});
};
std.string.evalScripts=function(_43){
return std.list.map(std.string.extractScripts(_43),function(_44){
eval(_44);
});
};
std.string.escapeHTML=function(s){
return String(s).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");
};
std.string.fullEscapeHTML=function(s){
return std.string.escapeHTML(s).replace(/\n/g,"<br/>").replace(/  /g,"&nbsp; ");
};
std.string.autoLink=function(s){
s=s.replace(/([\d\w-+]+:\/\/[\S]+)/g,"<a href=\"$1\" target=\"_blank\" title=\"link\">$1</a>");
s=s.replace(/([\d\w-+]+@[\d\w-]+\.[\d\w-\.]{2,})/g,"<a href=\"mailto:$1\" title=\"email\">$1</a>");
return s;
};
std.string.autoLink2=function(s){
return s.replace(/\b((?:(?:http|https|ftp|news|file):\/\/)[^, \r\n"\(\)'<>]+)/g,"<a\thref=\"$1\"\ttarget=\"_blank\">$1</a>").replace(/\b([\w!#\$\%&'\*\+\-\/=\?\^`\{\|\}~\.]*[\w!#\$\%&'\*\+\-\/=\?\^`\{\|\}~]@[\w\-]+(?:\.[\w\-]+)+)/g,"<a\thref=\"mailto:$1\"\ttarget=\"_blank\">$1</a>");
};
std.string.isWhiteListURL=function(url){
return url.indexOf("#")==0||url.match(/^(http|https|ftp|news|file|mailto||editgrid):/i);
};
std.string.unescapeHTML=function(_4a){
var div=document.createElement("div");
div.innerHTML=std.string.stripTags(_4a);
return div.childNodes[0]?div.childNodes[0].nodeValue:"";
};
std.string.htmlEntities=function(s){
var div=document.createElement("div");
var _4e=document.createTextNode(s);
div.appendChild(_4e);
return div.innerHTML;
};
std.string.encodeUTF8=function(_4f){
_4f=_4f.replace(/\r\n/g,"\n");
var _50=[],ac=0;
for(var n=0;n<_4f.length;n++){
var c=_4f.charCodeAt(n);
if(c<128){
_50[ac++]=String.fromCharCode(c);
}else{
if((c>127)&&(c<2048)){
_50[ac++]=String.fromCharCode((c>>6)|192);
_50[ac++]=String.fromCharCode((c&63)|128);
}else{
_50[ac++]=String.fromCharCode((c>>12)|224);
_50[ac++]=String.fromCharCode(((c>>6)&63)|128);
_50[ac++]=String.fromCharCode((c&63)|128);
}
}
}
return _50.join("");
};
std.string.decodeUTF8=function(_54){
var _55=[],i=ac=c=c1=c2=0;
while(i<_54.length){
c=_54.charCodeAt(i);
if(c<128){
_55[ac++]=String.fromCharCode(c);
i++;
}else{
if((c>191)&&(c<224)){
c2=_54.charCodeAt(i+1);
_55[ac++]=String.fromCharCode(((c&31)<<6)|(c2&63));
i+=2;
}else{
c2=_54.charCodeAt(i+1);
c3=_54.charCodeAt(i+2);
_55[ac++]=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));
i+=3;
}
}
}
return _55.join("");
};
std.string.toArray=function(_57){
return _57.split("");
};
std.string.camelize=function(_58){
var _59=_58.split("-");
if(_59.length==1){
return _59[0];
}
var _5a=_58.indexOf("-")==0?_59[0].charAt(0).toUpperCase()+_59[0].substring(1):_59[0];
for(var i=1,len=_59.length;i<len;i++){
var s=_59[i];
_5a+=s.charAt(0).toUpperCase()+s.substring(1);
}
return _5a;
};
std.string.capitalize=function(_5e){
return _5e.charAt(0).toUpperCase()+_5e.substring(1);
};
std.string.trim=function(_5f){
return _5f.replace(/^\s*(.*)\s*$/,"$1");
};
std.string.parsePosition=function(s){
s=s.split(" ");
p={top:0,bottom:0,left:0,right:0};
for(var i=0;i<s.length;i++){
switch(s[i]){
case "top":
if(!p.bottom){
p.top=1;
}
break;
case "bottom":
if(!p.top){
p.bottom=1;
}
break;
case "left":
if(!p.right){
p.left=1;
}
break;
case "right":
if(!p.left){
p.right=1;
}
break;
}
}
return p;
};
std.string.printPosition=function(p){
s=[];
if(p.top){
s.push("top");
}else{
if(p.bottom){
s.push("bottom");
}
}
if(p.left){
s.push("left");
}else{
if(p.right){
s.push("right");
}
}
return s.join(" ");
};
std.string.times=function(s,_64){
for(var i=1;i<_64;i<<=1){
s=s+s;
}
return s.substr(0,_64);
};
std.string.lpad=function(s,len,c){
var _69=std.string.times(c,len-s.length);
return _69+s;
};
std.string.right=function(s,len){
return s.length<len?s:s.substr(s.length-len,len);
};
std.jexpr={};
std.jexpr.evaluate=function(_6c){
var _6d=typeof (_6c);
if(_6d=="function"){
return _6c.call();
}else{
if(_6d=="number"||_6d=="boolean"||_6d=="string"||_6d=="undefined"||_6c==null){
return _6c;
}else{
if(typeof (_6c.not)!="undefined"){
return !std.jexpr.evaluate(_6c.not);
}else{
if(typeof (_6c.and)=="object"){
_6c=_6c.and;
for(var i=0;i<_6c.length;i++){
if(!std.jexpr.evaluate(_6c[i])){
return false;
}
}
return true;
}else{
_6c=typeof (_6c.or)=="object"?_6c.or:_6c;
for(var i=0;i<_6c.length;i++){
if(std.jexpr.evaluate(_6c[i])){
return true;
}
}
return false;
}
}
}
}
};
std.jexpr.functor=function(_6f){
return function(){
return std.jexpr.evaluate(_6f);
};
};
std.keytable={BACKSPACE:[8,"Backspace"],TAB:[9,"Tab"],ENTER:[13,"Enter"],SHIFT:[16,"Shift"],CTRL:[17,"Ctrl"],ALT:[18,"Alt"],PAUSE:[19,"Pause"],CAPS_LOCK:[20,"Caps"],ESCAPE:[27,"Esc"],SPACE:[32,"Space"],PAGE_UP:[33,"Page Up"],PAGE_DOWN:[34,"Page Down"],END:[35,"End"],HOME:[36,"Home"],LEFT_ARROW:[37,"Left"],UP_ARROW:[38,"Up"],RIGHT_ARROW:[39,"Right"],DOWN_ARROW:[40,"Down"],INSERT:[45,"Ins"],DELETE:[46,"Del"],LEFT_WINDOW:[91,""],RIGHT_WINDOW:[92,""],SELECT:[93,""],NUM_LOCK:[144,""],SCROLL_LOCK:[145,""],";":[186,";"],"=":[187,"="],",":[188,","],".":[190,"."],"/":[191,"/"],"`":[192,"`"],"[":[219,"["],"\\":[220,"\\"],"]":[221,"]"],"'":[222,"'"],CMD:[224,""],IME:[229,""]};
for(var i=48;i<=57;i++){
std.keytable[String.fromCharCode(i)]=[i,String.fromCharCode(i)];
}
for(var i=65;i<=90;i++){
std.keytable[String.fromCharCode(i)]=[i,String.fromCharCode(i)];
}
for(var i=112;i<=123;i++){
std.keytable["F"+(i-111)]=[i,"F"+(i-111)];
}
std.action={};
std.action.AbstractAction=function(){
};
std.action.AbstractAction.prototype._initAbstractAction=function(_70){
_70=_70||{};
this._icon=_70.icon||"";
this._text=_70.text||"";
this._mnemonic=_70.mnemonic||"";
this._selected=_70.selected||"";
this._disabled=_70.disabled||false;
this.setShortcutList(_70.shortcutList||[]);
};
std.action.AbstractAction.prototype.getIcon=function(){
return std.lang.evaluate(this._icon);
};
std.action.AbstractAction.prototype.getText=function(){
return std.lang.evaluate(this._text);
};
std.action.AbstractAction.prototype.getMnemonic=function(){
return std.lang.evaluate(this._mnemonic);
};
std.action.AbstractAction.prototype.isSelected=function(){
return std.jexpr.evaluate(this._selected);
};
std.action.AbstractAction.prototype.setSelected=function(_71){
this._selected=_71;
};
std.action.AbstractAction.prototype.getShortcutList=function(){
return this._shortcutList;
};
std.action.AbstractAction.prototype.setShortcutList=function(_72){
if(_72 instanceof Array){
this._shortcutList=_72;
}else{
this._shortcutList=std.action.KeyComb.fromString(_72);
}
};
std.action.AbstractAction.prototype.addShortcut=function(_73){
if(_73 instanceof std.action.KeyComb){
this._shortcutList.push(_73);
}else{
this._shortcutList.push(new std.action.KeyComb(_73));
}
};
std.action.AbstractAction.prototype.isDisabled=function(){
return std.jexpr.evaluate(this._disabled);
};
std.action.AbstractAction.prototype.setDisabled=function(_74){
this._disabled=_74;
};
std.action.AbstractAction.prototype.getValue=function(){
return this._value;
};
std.action.AbstractAction.prototype.setValue=function(_75){
this._value=_75;
};
std.action.AbstractAction.prototype.performAction=function(){
};
std.action.Nil=function(_76){
this._initAbstractAction(_76);
};
std.action.Nil.prototype=new std.action.AbstractAction();
std.action.Script=function(_77){
this._initAbstractAction(_77);
this._script=_77.script;
};
std.action.Script.prototype=new std.action.AbstractAction();
std.action.Script.prototype.performAction=function(){
var _78=[this];
for(var i=0;i<arguments.length;i++){
_78.push(arguments[i]);
}
this._script.apply(null,_78);
};
std.action.Url=function(_7a){
this._initAbstractAction(_7a);
this._url=_7a.url;
this._popup=_7a.popup;
};
std.action.Url.prototype=new std.action.AbstractAction();
std.action.Url.prototype.performAction=function(){
std.host.open(std.lang.evaluate(this._url),this._popup);
};
std.action.KeyComb=function(_7b){
this._key=null;
this._reqCtrl=false;
this._reqAlt=false;
this._reqShift=false;
std.list.iterate(_7b.toUpperCase().split(" "),std.lang.bind(this,function(key){
switch(key){
case "CTRL":
this._reqCtrl=true;
break;
case "ALT":
this._reqAlt=true;
break;
case "SHIFT":
this._reqShift=true;
break;
default:
if(key){
this._key=std.keytable[key];
}
}
}));
};
std.action.KeyComb.fromString=function(str){
var _7e=[];
std.list.iterate(str.split(";;"),function(_7f){
_7f=std.string.trim(_7f);
if(_7f){
_7e.push(new std.action.KeyComb(_7f));
}
});
return _7e;
};
std.action.KeyComb.prototype.toString=function(){
if(!this._string){
var _80=[];
if(this._reqCtrl){
_80.push("Ctrl");
}
if(this._reqAlt){
_80.push("Alt");
}
if(this._reqShift){
_80.push("Shift");
}
_80.push(this._key[1]);
this._string=_80.join("+");
}
return this._string;
};
std.action.KeyComb.prototype.check=function(_81,_82,_83,_84,_85){
_82=_82?true:false;
_83=_83?true:false;
_84=_84?true:false;
return (_82==this._reqCtrl||(std.browser.platform.isMacOS&&(_85==this._reqCtrl)))&&_83==this._reqAlt&&_84==this._reqShift&&_81==this._key[0];
};
std.array={};
std.array.from=function(_86){
var arr=[];
for(var i=0;i<_86.length;i++){
arr.push(_86[i]);
}
return arr;
};
std.array.contains=function(_89,_8a){
for(var i=0;i<_89.length;i++){
if(_89[i]==_8a){
return true;
}
}
return false;
};
std.array.without=function(_8c,_8d,_8e){
var _8f=new Array();
if(_8e){
for(var i=0;i<_8c.length;i++){
if(!_8e(_8c[i],_8d)){
_8f.push(_8c[i]);
}
}
}else{
for(var i=0;i<_8c.length;i++){
if(_8c[i]!=_8d){
_8f.push(_8c[i]);
}
}
}
return _8f;
};
std.event={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46};
std.event.observers=false;
std.event._observeAndCache=function(_91,_92,_93,_94){
if(!this.observers){
this.observers=[];
}
if(_91.addEventListener){
this.observers.push([_91,_92,_93,_94]);
_91.addEventListener(_92,_93,_94);
}else{
if(_91.attachEvent){
this.observers.push([_91,_92,_93,_94]);
_91.attachEvent("on"+_92,_93);
}
}
};
std.event.unloadCache=function(){
if(!std.event.observers){
return;
}
for(var i=0;i<std.event.observers.length;i++){
std.event.stopObserving.apply(this,std.event.observers[i]);
std.event.observers[i][0]=null;
}
std.event.observers=false;
};
std.event.nativeSetObserved=function(_96,_97,_98,_99,_9a){
return _96?std.event.nativeObserve(_97,_98,_99,_9a):std.event.nativeStopObserving(_97,_98,_99,_9a);
};
std.event.nativeObserve=function(_9b,_9c,_9d,_9e){
_9b=typeof (_9b)=="string"?document.getElementById(_9b):_9b;
_9b.tagName;
_9e=_9e||false;
std.event._observeAndCache(_9b,_9c,_9d,_9e);
};
std.event.nativeStopObserving=function(_9f,_a0,_a1,_a2){
_9f=typeof (_9f)=="string"?document.getElementById(_9f):_9f;
_a2=_a2||false;
if(_9f.removeEventListener){
_9f.removeEventListener(_a0,_a1,_a2);
}else{
if(_9f.detachEvent){
_9f.detachEvent("on"+_a0,_a1);
}
}
};
std.event.observe=function(_a3,_a4,_a5,_a6){
if(_a4=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||document.attachEvent)){
_a4="keydown";
}
std.event.nativeObserve(_a3,_a4,_a5,_a6);
};
std.event.stopObserving=function(_a7,_a8,_a9,_aa){
if(_a8=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||document.detachEvent)){
_a8="keydown";
}
std.event.nativeStopObserving(_a7,_a8,_a9,_aa);
};
std.event.observe(window,"unload",std.event.unloadCache,false);
std.event.listener=function(obj,_ac){
var _ad=std.array.from(arguments);
var obj=_ad.shift();
var _ac=_ad.shift();
_ac.prototype;
if(typeof _ac!="function"){
throw "Invalid method: "+_ac;
}
return function(e){
return _ac.apply(obj,[e||window.event].concat(_ad));
};
};
std.hash={};
std.hash.merge=function(){
var _af=std.array.from(arguments);
var _b0={};
for(var i=0;i<_af.length;i++){
var _b2=_af[i];
for(var _b3 in _b2){
_b0[_b3]=_b2[_b3];
}
}
return _b0;
};
std.hash.iterate=function(_b4,_b5){
for(var k in _b4){
_b5(k,_b4[k]);
}
};
std.hash.keys=function(_b7){
var _b8=[];
for(var k in _b7){
_b8.push(k);
}
return _b8;
};
std.hash.values=function(_ba){
var _bb=[];
for(var k in _ba){
_bb.push(_ba[k]);
}
return _bb;
};
std.hash.map=function(_bd,_be){
var _bf={};
for(var i=0;i<_bd.length;i++){
var _c1=_be(_bd[i],i);
_bf[_c1[0]]=_c1[1];
}
return _bf;
};
std.hash.size=function(_c2){
var cnt=0;
for(var k in _c2){
cnt++;
}
return cnt;
};
std.hash.notEmpty=function(_c5){
for(var k in _c5){
return true;
}
return false;
};
std.hash.empty=function(_c7){
for(var k in _c7){
return false;
}
return true;
};
std.dom={};
std.dom.element=function(_c9){
if(_c9){
return typeof (_c9)=="string"?document.getElementById(_c9):_c9;
}else{
return null;
}
};
std.dom.newTree=function(_ca){
var _cb=std.dom.newElement("div");
_cb.innerHTML=_ca;
return _cb.firstChild;
};
std.dom.update=function(_cc,_cd){
std.dom.element(_cc).innerHTML=std.string.stripScripts(_cd);
setTimeout(function(){
std.string.evalScripts(_cd);
},10);
};
std.conv={};
std.conv._hexTab=[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70];
std.conv.intToRGB=function(num){
return String.fromCharCode(this._hexTab[(num>>20)&15],this._hexTab[(num>>16)&15],this._hexTab[(num>>12)&15],this._hexTab[(num>>8)&15],this._hexTab[(num>>4)&15],this._hexTab[num&15]);
};
std.conv.hexToInt=function(c){
var _d0=c.toUpperCase().charCodeAt(0);
if(48<=_d0&&_d0<=58){
return _d0-48;
}
if(65<=_d0&&_d0<=70){
return _d0-65+10;
}
return 0;
};
std.conv.rgbToIntArray=function(s){
if(s===null){
return null;
}
if(s===undefined||!s.charAt){
return undefined;
}
return [16*std.conv.hexToInt(s.charAt(0))+std.conv.hexToInt(s.charAt(1)),16*std.conv.hexToInt(s.charAt(2))+std.conv.hexToInt(s.charAt(3)),16*std.conv.hexToInt(s.charAt(4))+std.conv.hexToInt(s.charAt(5))];
};
std.conv.rgbToInt=function(s){
var arr=std.conv.rgbToIntArray(s);
if(!arr){
return undefined;
}
return arr[0]*65536+arr[1]*256+arr[2];
};
std.conv.rgbArrayToInt=function(r,g,b){
return r*65536+g*256+b;
};
std.conv.anyRGBToInt=function(any){
if(any===undefined){
return any;
}else{
if(any===null||any===-1){
return -1;
}else{
if(typeof any=="number"){
return any;
}else{
if(typeof any=="string"){
return std.conv.rgbToInt(any);
}else{
if(typeof any=="object"){
if(any.r!==undefined&&any.g!==undefined&&any.b!==undefined){
return std.conv.rgbArrayToInt(any.r,any.g,any.b);
}else{
if(any[0]!==undefined&&any[1]!==undefined&&any[2]!==undefined){
return std.conv.rgbArrayToInt(any[0],any[1],any[2]);
}
}
}
}
}
}
}
throw new Error("Cannot convert ["+any+"] into an integer");
};
std.ajax={};
std.ajax._processorCount=0;
std.ajax._jsonpProcessors={};
std.ajax._emptyFunction=function(){
};
std.ajax.obtainProcessorId=function(){
if(std.ajax._processorCount>100000){
std.ajax._processorCount=0;
}
return std.ajax._processorCount++;
};
std.ajax.registerJsonpProcessor=function(id,_d9){
std.ajax._jsonpProcessors[id]=_d9;
};
std.ajax.removeJsonpProcessor=function(id){
delete std.ajax._jsonpProcessors[id];
};
std.ajax.jsonp=function(_db,_dc,_dd,_de){
if(typeof _dd=="undefined"){
_dd=200;
}
if(typeof _de=="undefined"){
_de="";
}
std.ajax._jsonpProcessors[_db](_dd,_de,_dc);
};
std.ajax.ScriptTagRequest=function(){
this._jsonpId=std.ajax.obtainProcessorId();
this._tag=null;
this._url=null;
this._content=null;
this._responseSuccess=false;
this._processError=false;
this.onreadystatechange=null;
this.readyState=0;
this.responseText="";
this.status=0;
this.statusText="";
this._headers=null;
this._maxLength=std.ajax.ScriptTagRequest.MAX_LENGTH;
};
std.ajax.ScriptTagRequest.MAX_LENGTH=1800;
std.ajax.ScriptTagRequest._idPrefix=Math.random()+"."+new Date().getTime();
std.ajax.ScriptTagRequest.prototype._reset=function(){
this._removeScriptTag();
this._content=null;
this._responseSuccess=false;
this._processError=false;
this.readyState=0;
this.responseText="";
this.status=0;
this.statusText="";
this._headers=null;
this._maxLength=std.ajax.ScriptTagRequest.MAX_LENGTH;
};
std.ajax.ScriptTagRequest.prototype._removeScriptTag=function(){
if(this._tag){
document.getElementsByTagName("HEAD")[0].removeChild(this._tag);
}
this._tag=null;
if(this._jsonpId){
std.ajax.removeJsonpProcessor(this._jsonpId);
}
};
std.ajax.ScriptTagRequest.prototype._createScriptTag=function(_df,_e0,_e1){
this._removeScriptTag();
this._responseSuccess=false;
this._processError=false;
std.ajax.registerJsonpProcessor(this._jsonpId,std.lang.bind(this,this._processResponse));
this._tag=document.createElement("script");
this._tag.type="text/javascript";
this._tag.charset="utf-8";
var url=this._url+(this._url.indexOf("?")==-1?"?":"&")+"i="+std.ajax.ScriptTagRequest._idPrefix;
url+="&jsonp="+this._jsonpId;
url+="&c="+_df;
if(_e0){
url+="&f=1";
}
if(_e1){
url+="&l=1";
}
this._tag.src=url;
std.event.observe(this._tag,"load",std.event.listener(this,this._onload));
std.event.observe(this._tag,"error",std.event.listener(this,this._onerror));
std.event.observe(this._tag,"readystatechange",std.event.listener(this,this._onreadystatechange));
document.getElementsByTagName("HEAD")[0].appendChild(this._tag);
};
std.ajax.ScriptTagRequest.prototype._onload=function(){
this._removeScriptTag();
if(!this._responseSuccess){
this._onerror();
}else{
this._sendContent();
}
};
std.ajax.ScriptTagRequest.prototype._onerror=function(){
this._removeScriptTag();
if(!this._processError){
this._processError=true;
this.status=500;
this.statusText="Error";
this.readyState=4;
this.responseText="";
if(this.onreadystatechange&&typeof this.onreadystatechange=="function"){
this.onreadystatechange();
}
}
};
std.ajax.ScriptTagRequest.prototype._onreadystatechange=function(){
if(this._tag&&this._tag.readyState&&this._tag.readyState=="loaded"){
this._onload();
}
};
std.ajax.ScriptTagRequest.prototype._sendContent=function(_e3){
if(_e3==null&&this._content==null){
return;
}
var _e4=(_e3!=null);
var _e5;
if(_e4){
this._content=_e3;
}
var c;
if(this._content.length>this._maxLength){
var _e7=this._getMaxLength();
c=this._content.substring(0,_e7);
this._content=this._content.substring(_e7);
_e5=false;
}else{
c=this._content;
this._content=null;
_e5=true;
}
this._createScriptTag(c,_e4,_e5);
};
std.ajax.ScriptTagRequest.prototype._getMaxLength=function(){
var _e8=this._maxLength;
var _e9=this._content;
while(true){
if(_e9.charAt(_e8-1)=="%"){
_e8-=1;
}else{
if(_e9.charAt(_e8-2)=="%"){
_e8-=2;
}else{
if(_e9.charAt(_e8-3)=="%"){
var _ea=std.conv.hexToInt(_e9.charAt(_e8-2));
if(_ea<=7){
break;
}
if(_ea>=8&&_ea<=11){
_e8-=3;
}
if(_ea>=12){
_e8-=3;
break;
}
}else{
break;
}
}
}
}
return _e8;
};
std.ajax.ScriptTagRequest.prototype._processResponse=function(_eb,_ec,_ed){
this._responseSuccess=true;
if(_eb!=-1){
this.status=_eb;
this._headers=_ec;
this.responseText=_ed;
this.readyState=4;
if(this.onreadystatechange&&typeof this.onreadystatechange=="function"){
this.onreadystatechange();
}
}
};
std.ajax.ScriptTagRequest.prototype.open=function(_ee,url,_f0,_f1,_f2){
this._reset();
this._url=url;
this._maxLength-=url.length;
};
std.ajax.ScriptTagRequest.prototype.send=function(_f3){
this._reset();
_f3=_f3==null?"":encodeURIComponent(_f3);
this._sendContent(_f3);
};
std.ajax.ScriptTagRequest.prototype.setRequestHeader=function(){
};
std.ajax.ScriptTagRequest.prototype.getAllResponseHeaders=function(){
return this._headers;
};
std.ajax.ScriptTagRequest.prototype.getResponseHeader=function(key){
if(!key){
return null;
}
var _f5=null;
key=key.toLowerCase()+":";
var _f6=this._headers.toLowerCase();
var i=-1;
if((i=_f6.indexOf(key))!=-1){
_f5=this._headers.substring(i+key.length,this._headers.indexOf("\n",i));
_f5=std.string.trim(_f5);
}
return _f5;
};
std.ajax.ScriptTagRequest.prototype.abort=function(){
this._removeScriptTag();
};
std.ajax.getTransport=function(_f8){
if(typeof _f8=="string"){
return eval(_f8)();
}
return std.ajax.getDefaultTransport();
};
std.ajax.getScriptTagTransport=function(){
return new std.ajax.ScriptTagRequest();
};
std.ajax.getDefaultTransport=function(){
try{
return new XMLHttpRequest();
}
catch(e){
}
finally{
}
try{
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
}
finally{
}
try{
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
}
finally{
}
return false;
};
std.ajax._activeRequestCount=0;
std.ajax.responders={};
std.ajax.responders._list=[];
std.ajax.responders._register=function(_f9){
if(!std.array.contains(this._list,_f9)){
this._list.push(_f9);
}
};
std.ajax.responders._unregister=function(_fa){
this._list=std.array.without(this._list,_fa);
};
std.ajax.responders._dispatch=function(_fb,_fc,_fd,_fe){
std.list.iterate(this._list,function(_ff){
if(_ff[_fb]&&typeof _ff[_fb]=="function"){
try{
_ff[_fb].apply(_ff,[_fc,_fd,_fe]);
}
catch(e){
}
}
});
};
std.ajax.responders._register({onCreate:function(){
std.ajax._activeRequestCount++;
},onComplete:function(){
std.ajax._activeRequestCount--;
}});
std.ajax.Base=function(){
};
std.ajax.Base.prototype.setOptions=function(_100){
this.options={method:"post",asynchronous:true,parameters:""};
if(_100){
this.options=std.hash.merge(this.options,_100);
}
};
std.ajax.Base.prototype.responseIsSuccess=function(){
return this.transport.status==undefined||this.transport.status==0||(this.transport.status>=200&&this.transport.status<300);
};
std.ajax.Base.prototype.responseIsFailure=function(){
return !this.responseIsSuccess();
};
std.ajax.Request=function(url,_102){
this.setOptions(_102);
this.transport=std.ajax.getTransport(this.options.transportFactory);
this.request(url);
};
std.ajax.Request.prototype=new std.ajax.Base();
std.ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];
std.ajax.Request.prototype.request=function(url){
var _104=this.options.parameters||"";
if(_104.length>0){
_104+="&_=";
}
try{
this.url=url;
if(this.options.method=="get"&&_104.length>0){
this.url+=(this.url.match(/\?/)?"&":"?")+_104;
}
std.ajax.responders._dispatch("onCreate",this,this.transport);
this.transport.open(this.options.method,this.url,this.options.asynchronous);
if(this.options.asynchronous){
this.transport.onreadystatechange=std.lang.bind(this,this.onStateChange);
setTimeout(std.lang.bind(this,function(){
this.respondToReadyState(1);
}),10);
}
this.setRequestHeaders();
var body=this.options.postBody?this.options.postBody:_104;
this.transport.send(this.options.method.toLowerCase()=="post"||this.options.method.toLowerCase()=="put"?body:null);
}
catch(e){
this.dispatchException(e);
}
};
std.ajax.Request.prototype.setRequestHeaders=function(){
var _106=[];
if(this.options.method.toLowerCase()=="post"){
_106.push("Content-type",this.options.contentType?this.options.contentType:"application/x-www-form-urlencoded");
if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){
_106.push("Connection","close");
}
}
if(this.options.requestHeaders){
_106.push.apply(_106,this.options.requestHeaders);
}
for(var i=0;i<_106.length;i+=2){
this.transport.setRequestHeader(_106[i],_106[i+1]);
}
};
std.ajax.Request.prototype.onStateChange=function(){
var _108=this.transport.readyState;
if(_108!=1){
this.respondToReadyState(this.transport.readyState);
}
};
std.ajax.Request.prototype.header=function(name){
try{
return this.transport.getResponseHeader(name);
}
catch(e){
}
};
std.ajax.Request.prototype.evalJSON=function(){
try{
return eval(this.header("X-JSON"));
}
catch(e){
}
};
std.ajax.Request.prototype.evalResponse=function(){
try{
return eval(this.transport.responseText);
}
catch(e){
this.dispatchException(e);
}
};
std.ajax.Request.prototype.respondToReadyState=function(_10a){
if(typeof (std)=="undefined"){
return;
}
var _10b=std.ajax.Request.Events[_10a];
var _10c=this.transport,json=this.evalJSON();
if(_10b=="Complete"){
try{
(this.options["on"+this.transport.status]||this.options["on"+(this.responseIsSuccess()?"Success":"Failure")]||std.ajax._emptyFunction)(_10c,json);
}
catch(e){
this.dispatchException(e);
}
if((this.header("Content-type")||"").match(/^text\/javascript/i)){
this.evalResponse();
}
}
try{
(this.options["on"+_10b]||std.ajax._emptyFunction)(_10c,json);
std.ajax.responders._dispatch("on"+_10b,this,_10c,json);
}
catch(e){
this.dispatchException(e);
}
if(_10b=="Complete"){
this.transport.onreadystatechange=std.ajax._emptyFunction;
}
};
std.ajax.Request.prototype.dispatchException=function(_10e){
(this.options.onException||std.ajax._emptyFunction)(this,_10e);
std.ajax.responders._dispatch("onException",this,_10e);
};
std.ajax.Updater=function(_10f,url,_111){
this.containers={success:_10f.success?std.dom.element(_10f.success):std.dom.element(_10f),failure:_10f.failure?std.dom.element(_10f.failure):(_10f.success?null:std.dom.element(_10f))};
this.transport=std.ajax.getTransport();
this.setOptions(_111);
var _112=this.options.onComplete||std.ajax._emptyFunction;
this.options.onComplete=std.lang.bind(this,function(_113,_114){
this.updateContent();
_112(_113,_114);
});
this.request(url);
};
std.ajax.Updater.prototype=new std.ajax.Request();
std.ajax.Updater.prototype.updateContent=function(){
var _115=this.responseIsSuccess()?this.containers.success:this.containers.failure;
var _116=this.transport.responseText;
if(!this.options.evalScripts){
_116=std.string.stripScripts(_116);
}
if(_115){
if(this.options.insertion){
new this.options.insertion(_115,_116);
}else{
std.dom.update(_115,_116);
}
}
if(this.responseIsSuccess()){
if(this.onComplete){
setTimeout(std.lang.bind(this,this.onComplete),10);
}
}
};
std.ajax.getText=function(url,_118){
var ajax=new std.ajax.Request(url,{method:_118||"post",asynchronous:false});
return ajax.transport.responseText;
};
std.ajax.newTree=function(url){
var text=std.ajax.getText(url);
return std.dom.newTree(text);
};
std.ajax.ping=function(url,_11d){
new std.ajax.Request(url,std.hash.merge(_11d,{method:"post",asynchronous:true}));
};
std.ajax.loadMap=function(map,_11f,_120){
var len=0;
var dst={};
for(var i in map){
len++;
}
for(var i in map){
(function(idx){
new std.ajax.Request(map[i],std.hash.merge(_120,{onSuccess:function(_125){
dst[idx]={responseText:_125.responseText};
if(!--len){
_11f(dst);
}
}}));
})(i);
}
};
std.ani={};
std.ani.Interpolator=function(){
this._onEvent=null;
this._cp=null;
this._timer=null;
};
std.ani.Interpolator.prototype.restart=function(sp,ep,_128,step){
this.reset(sp);
this.start(sp,ep,_128,step);
};
std.ani.Interpolator.prototype.start=function(sp,ep,_12c,step){
this.stop();
if(this._cp==null){
this._cp=sp;
}
if(sp>ep){
this._cp=Math.min(sp,this._cp);
this._cp=Math.max(ep,this._cp);
}else{
this._cp=Math.max(sp,this._cp);
this._cp=Math.min(ep,this._cp);
}
this._sp=parseFloat(sp);
this._ep=parseFloat(ep);
this._period=parseFloat(_12c);
this._step=parseFloat(step);
this._st=this._calStartTime();
this._timer=setTimeout(std.lang.bind(this,this._onStep),this._step);
this._fireEvent(true,false,false);
};
std.ani.Interpolator.prototype._onStep=function(){
this._cp=this._calCurPoint();
if((this._sp>this._ep&&this._cp<=this._ep)||(this._sp<this._ep&&this._cp>=this._ep)){
this._cp=this._ep;
this._timer=null;
this._fireEvent(false,true,true);
}else{
this._timer=setTimeout(std.lang.bind(this,this._onStep),this._step);
this._fireEvent(false,false,false);
}
};
std.ani.Interpolator.prototype.stop=function(){
if(this._timer!=null){
clearTimeout(this._timer);
this._timer=null;
this._fireEvent(false,true,false);
}
};
std.ani.Interpolator.prototype.reset=function(cp){
this.stop();
this._cp=cp;
this._fireEvent(false,true,false);
};
std.ani.Interpolator.prototype.getCurPoint=function(){
return this._cp;
};
std.ani.Interpolator.prototype.setOnEvent=function(_12f){
this._onEvent=_12f;
};
std.ani.Interpolator.prototype._calStartTime=function(){
return new Date()-this._period*(this._cp-this._sp)/(this._ep-this._sp);
};
std.ani.Interpolator.prototype._calCurPoint=function(){
return this._sp+(this._ep-this._sp)*(new Date()-this._st)/this._period;
};
std.ani.Interpolator.prototype._fireEvent=function(_130,_131,_132){
if(this._onEvent!=null){
this._onEvent(this,_130,_131,_132);
}
};
std.console={};
std.console.firefoxConsole={};
std.console.firefoxConsole.log=function(_133,_134){
switch(_133){
case "DEBUG":
console.debug(_134);
break;
case " INFO":
console.info(_134);
break;
case " WARN":
console.warn(_134);
break;
case "ERROR":
console.error(_134);
break;
}
};
std.console.webkitConsole={};
std.console.webkitConsole.log=function(_135,_136){
console.log("["+_135+"] "+_136);
};
std.console.operaConsole={};
std.console.operaConsole.log=function(_137,_138){
opera.postError("["+_137+"] "+_138);
};
std.console.nullConsole={};
std.console.nullConsole.log=function(_139,_13a){
};
std.console.defaultConsole=(function(){
if(typeof console!="undefined"){
return std.browser.isAppleWebKit?std.console.webkitConsole:std.console.firefoxConsole;
}else{
if(typeof opera!="undefined"){
return std.console.operaConsole;
}
}
return std.console.nullConsole;
})();
std.log={};
std.log._console=std.console.defaultConsole;
std.log.debug=function(_13b){
std.log._console.log("DEBUG",_13b);
};
std.log.info=function(_13c){
std.log._console.log(" INFO",_13c);
};
std.log.warn=function(_13d){
std.log._console.log(" WARN",_13d);
};
std.log.error=function(_13e){
std.log._console.log("ERROR",_13e);
};
std.log.setConsole=function(_13f){
std.log._console=_13f;
};
std.log.getConsole=function(){
return std.log._console;
};
std.async={};
std.async.call=function(obj,func){
var args=[];
if(func.__async__){
args.push(function(){
});
args.push(func.__throw__?func.__throw__:function(e){
setTimeout(function(){
throw e;
},0);
});
}
for(var i=2;i<arguments.length;i++){
args.push(arguments[i]);
}
func.apply(obj,args);
};
std.cookies={};
std.cookies.set=function(name,_146,days){
if(days){
var date=new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var _149="; expires="+date.toGMTString();
}else{
var _149="";
}
document.cookie=name+"="+_146+_149+"; path=/";
};
std.cookies.get=function(name){
var _14b=name+"=";
var ca=document.cookie.split(";");
for(var i=0;i<ca.length;i++){
var c=ca[i];
while(c.charAt(0)==" "){
c=c.substring(1,c.length);
}
if(c.indexOf(_14b)==0){
return c.substring(_14b.length,c.length);
}
}
return null;
};
std.cookies.remove=function(name){
std.cookies.set(name,"",-1);
};
std.css={};
std.css.bulkset=function(){
var attr=arguments[0];
for(var i=1;i<arguments.length;i++){
var data=arguments[i];
var _153=data[0];
for(var j=1;j<data.length;j++){
std.dom.element(data[j]).style[attr]=_153;
}
}
};
std.css.getStyle=function(_155,_156){
std.css.getElementStyle(std.dom.element(_155),_156);
};
std.css.getElementStyle=function(_157,_158){
var _159=_157.style[std.string.camelize(_158)];
if(!_159){
if(document.defaultView&&document.defaultView.getComputedStyle){
var css=document.defaultView.getComputedStyle(_157,null);
_159=css?css.getPropertyValue(_158):null;
}else{
if(_157.currentStyle){
_159=_157.currentStyle[std.string.camelize(_158)];
}
}
}
if(window.opera&&(_158=="left"||_158=="top"||_158=="right"||_158=="bottom")){
if(std.css.getStyle(_157,"position")=="static"){
_159="auto";
}
}
return _159=="auto"?null:_159;
};
std.css.setStyle=function(_15b,_15c){
_15b=std.dom.element(_15b);
for(name in _15c){
_15b.style[std.string.camelize(name)]=_15c[name];
}
};
std.css.includeClass=function(_15d,_15e){
var _15f=_15d.className.split(" ");
var _160=0;
for(var i=0;i<_15f.length;i++){
if(_15f[i]==_15e){
_160=1;
break;
}
}
if(!_160){
_15f.push(_15e);
_15d.className=_15f.join(" ");
}
};
std.css.excludeClass=function(_162,_163){
var _164=_162.className.split(" ");
var _165=[];
for(var i=0;i<_164.length;i++){
if(_164[i]!=_163){
_165.push(_164[i]);
}
}
if(_164.length!=_165.length){
_162.className=_165.join(" ");
}
};
std.css._switchOnEvent=function(_167,_168,_169,_16a){
std.css.includeClass(_167,_169);
if(!_167[_168]){
if(_16a){
std.event.observe(_167,_16a,std.lang.bind(null,std.css.excludeClass,_167,_169));
}
_167[_168]=true;
}
};
std.css.hoverClass=function(_16b,_16c){
std.css._switchOnEvent(_16b,"std.css.hoverClass.set",_16c,"mouseout");
};
std.css.clickClass=function(_16d,_16e){
std.css._switchOnEvent(_16d,"std.css.clickClass.set",_16e,"mouseup");
};
std.css.focusClass=function(_16f,_170){
std.css._switchOnEvent(_16f,"std.css.focusClass.set",_170,"blur");
};
std.customfocus={};
std.customfocus.Manager=function(){
this._focusList={next:null};
this._docFocusListenerList=[];
this._docBlurListenerList=[];
std.event.observe(document,"mousedown",std.event.listener(this,this._onDocMouseDown));
};
std.customfocus.Manager.prototype.newDelegator=function(_171,_172,_173){
return new std.customfocus.Delegator(this,_171,_172,_173);
};
std.customfocus.Manager.prototype.focus=function(obj,_175,_176){
this.detach(obj);
var _177=this._focusList.next;
var _178={obj:obj,onfocus:_175,onblur:_176,next:this._focusList.next};
this._focusList.next=_178;
if(_177&&_177.onblur){
_177.onblur.call();
}
if(_178.onfocus){
_178.onfocus.call();
}
};
std.customfocus.Manager.prototype.blur=function(obj){
if(this.isFocused(obj)){
var _17a=this._focusList.next;
var _17b=this._focusList.next.next;
this._focusList.next=_17b;
if(_17a.onblur){
_17a.onblur.call();
}
if(_17b&&_17b.onfocus){
_17b.onfocus.call();
}
}
};
std.customfocus.Manager.prototype.detach=function(obj){
for(var edge=this._focusList;edge.next;edge=edge.next){
if(edge.next.obj==obj){
edge.next=edge.next.next;
return;
}
}
};
std.customfocus.Manager.prototype.focusOnEvent=function(obj,_17f,_180){
if(!this._inEvent){
this._inEvent=true;
setTimeout(std.lang.bind(this,this._afterEvent),0);
this.focus(obj,_17f,_180);
}
};
std.customfocus.Manager.prototype._afterEvent=function(){
this._inEvent=false;
};
std.customfocus.Manager.prototype.isFocused=function(obj){
return this._focusList.next&&this._focusList.next.obj==obj;
};
std.customfocus.Manager.prototype.attachDocFocusListener=function(_182){
this._docFocusListenerList.push(_182);
};
std.customfocus.Manager.prototype.attachDocBlurListener=function(_183){
this._docBlurListenerList.push(_183);
};
std.customfocus.Manager.prototype.detachDocFocusListener=function(_184){
for(var i=0;i<this._docFocusListenerList.length;i++){
if(this._docFocusListenerList[i]==_184){
this._docFocusListenerList.splice(i,1);
break;
}
}
};
std.customfocus.Manager.prototype.detachDocBlurListener=function(_186){
for(var i=0;i<this._docBlurListenerList.length;i++){
if(this._docBlurListenerList[i]==_186){
this._docBlurListenerList.splice(i,1);
break;
}
}
};
std.customfocus.Manager.prototype._onDocMouseDown=function(e){
this.focusOnEvent(document,std.lang.bind(this,this._onDocFocus),std.lang.bind(this,this._onDocBlur));
};
std.customfocus.Manager.prototype._onDocFocus=function(){
std.list.iterate(this._docFocusListenerList,function(_189){
_189.call();
});
};
std.customfocus.Manager.prototype._onDocBlur=function(){
std.list.iterate(this._docBlurListenerList,function(_18a){
_18a.call();
});
};
std.customfocus.getManager=function(){
return std.customfocus._manager||(std.customfocus._manager=new std.customfocus.Manager());
};
std.customfocus.Delegator=function(_18b,_18c,_18d,_18e){
this._manager=_18b;
this._relative=_18c;
this._onfocus=_18d;
this._onblur=_18e;
};
std.customfocus.Delegator.prototype.focus=function(){
this._manager.focus(this,this._onfocus,this._onblur);
};
std.customfocus.Delegator.prototype.focusOnEvent=function(){
this._manager.focusOnEvent(this,this._onfocus,this._onblur);
};
std.customfocus.Delegator.prototype.blur=function(){
this._manager.blur(this);
};
std.customfocus.Delegator.prototype.isFocused=function(){
return this._manager.isFocused(this);
};
std.customfocus.Delegator.prototype.detach=function(){
this._manager.detach(this);
};
std.date={};
std.date.fromSqlUTC=function(str){
var time=Date.UTC(str.substr(0,4),str.substr(4,2)-1,str.substr(6,2),str.substr(8,2),str.substr(10,2),str.substr(12,2));
return new Date(time);
};
std.date.asTimeStrUTC=function(date){
return date.toUTCString().split(" ")[4]+(date.getUTCMilliseconds()/1000).toFixed(3).substring(1);
};
std.date.format=function(dt,fmt){
var _194={y:"getFullYear",M:"getMonth",d:"getDate",H:"getHours",m:"getMinutes",s:"getSeconds"};
var _195={};
var _196=["yyyy","yy","MM","dd","HH","mm","ss"];
var _197=[4,2,2,2,2,2,2];
var _198=[0,0,1,0,0,0,0];
var _199=[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11];
var _19a=[1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0];
var _19b=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
var val,res;
while(fmt.indexOf("MMM")!=-1){
if(val==null){
val=""+_19b[_195["M"]=dt.getMonth()+1];
}
fmt=fmt.replace("MMM",val);
}
val=null;
while(fmt.indexOf("hh")!=-1){
if(val==null){
val=dt.getHours();
}
fmt=fmt.replace("hh",_199[val]);
}
while(fmt.indexOf("a")!=-1){
if(val==null){
val=dt.getHours();
}
fmt=fmt.replace("a",_19a[val]?"AM":"PM");
}
for(var i=0;i<_196.length;++i){
var pat=_196[i],val=null;
while(fmt.indexOf(pat)!=-1){
if(val==null){
var c=pat.charAt(0);
var r=_197[i];
if((res=_195[c])==null){
res=_195[c]=""+((dt[_194[c]]()-0)+_198[i]);
}
val=std.string.lpad(std.string.right(res,r),r,"0");
}
fmt=fmt.replace(pat,val);
}
}
return fmt;
};
std.dom.newElement=function(_1a2,_1a3,_1a4,_1a5,doc){
var ele=(doc||document).createElement(_1a2);
if(_1a4){
for(var key in _1a4){
ele[key]=_1a4[key];
}
}
if(_1a5){
for(var key in _1a5){
ele.style[key]=_1a5[key];
}
}
if(_1a3){
_1a3.appendChild(ele);
}
return ele;
};
std.dom.setStyles=function(node,_1aa){
for(var key in _1aa){
node.style[key]=_1aa[key];
}
};
std.dom.remove=function(_1ac){
_1ac=std.dom.element(_1ac);
_1ac.parentNode.removeChild(_1ac);
};
std.dom.getDimensions=function(_1ad){
_1ad=std.dom.element(_1ad);
if(_1ad==document.body){
return std.dom.getBodyExtent();
}
if(std.css.getStyle(_1ad,"display")!="none"){
return {width:_1ad.offsetWidth,height:_1ad.offsetHeight};
}
var els=_1ad.style;
var _1af=els.visibility;
var _1b0=els.position;
els.visibility="hidden";
els.position="absolute";
els.display="";
var _1b1=_1ad.clientWidth;
var _1b2=_1ad.clientHeight;
els.display="none";
els.position=_1b0;
els.visibility=_1af;
return {width:_1b1,height:_1b2};
};
std.dom.newDiv=function(_1b3,_1b4,_1b5,doc){
return std.dom.newElement("div",_1b3,_1b4,_1b5,doc);
};
std.dom.newText=function(data,_1b8,doc){
doc=doc||document;
var node=doc.createTextNode(data);
if(_1b8){
_1b8.appendChild(node);
}
return node;
};
std.dom.newComment=function(data,_1bc,doc){
doc=doc||document;
var node=doc.createComment(data);
if(_1bc){
_1bc.appendChild(node);
}
return node;
};
std.dom.parentForm=function(_1bf){
_1bf=std.dom.element(_1bf);
while(_1bf.parentNode){
_1bf=_1bf.parentNode;
if(_1bf.tagName.toLowerCase()=="form"){
return _1bf;
}
}
return null;
};
std.dom.backtrack=function(_1c0,func){
_1c0=std.dom.element(_1c0);
while(_1c0&&func(_1c0)){
_1c0=_1c0.parentNode;
}
return _1c0;
};
std.dom.findPrev=function(_1c2,func){
_1c2=std.dom.element(_1c2);
do{
_1c2=_1c2.previousSibling;
}while(_1c2&&!func(_1c2));
return _1c2;
};
std.dom.findNext=function(_1c4,func){
_1c4=std.dom.element(_1c4);
do{
_1c4=_1c4.nextSibling;
}while(_1c4&&!func(_1c4));
return _1c4;
};
std.dom.show=function(_1c6){
_1c6=std.dom.element(_1c6);
_1c6.style.display="";
_1c6._showAtTime=new Date();
};
std.dom.hide=function(_1c7,_1c8){
var now=new Date();
_1c8=_1c8||0;
_1c7=std.dom.element(_1c7);
if(_1c8>0){
var _1ca=_1c7._showAtTime||0;
var _1cb=now-_1c7._showAtTime;
if(_1cb>=_1c8){
_1c7.style.display="none";
}else{
setTimeout(std.lang.bind(null,std.dom.hide,_1c7,0),_1c8-_1cb);
}
}else{
_1c7.style.display="none";
}
};
std.dom.toggleShowHide=function(_1cc,_1cd){
_1cc=std.dom.element(_1cc);
if(_1cc.style.display=="none"){
this.show(_1cc);
}else{
this.hide(_1cc,_1cd);
}
};
std.dom.Builder=function(_1ce,doc){
this.current=_1ce;
this.doc=doc;
};
std.dom.Builder.prototype.push=function(_1d0,_1d1,_1d2){
return this.current=this.append(_1d0,_1d1,_1d2);
};
std.dom.Builder.prototype.pushElement=function(_1d3){
return this.push(std.lang.isString(_1d3)?[_1d3]:_1d3);
};
std.dom.Builder.prototype.pop=function(){
var node=this.current;
this.current=this.current.parentNode;
return node;
};
std.dom.Builder.prototype.peek=function(){
return this.current;
};
std.dom.Builder.prototype.next=function(_1d5,_1d6,_1d7){
this.pop();
return this.push(_1d5,_1d6,_1d7);
};
std.dom.Builder.prototype.nextElement=function(_1d8){
return this.next(std.lang.isString(_1d8)?[_1d8]:_1d8);
};
std.dom.Builder.prototype.append=function(_1d9,_1da,_1db){
if(typeof (_1d9.join)=="function"){
return std.dom.newText(_1d9.join("\n"),this.current,this.doc);
}else{
if(typeof (_1d9.nodeType)=="number"){
this.current.appendChild(_1d9);
return _1d9;
}else{
if(_1d9){
return std.dom.newElement(_1d9,this.current,_1da,_1db,this.doc);
}
}
}
};
std.dom.Builder.prototype.appendElement=function(_1dc){
return this.append(std.lang.isString(_1dc)?[_1dc]:_1dc);
};
std.dom.Builder.prototype.reset=function(){
this.current=null;
};
std.dom.addOption=function(_1dd,_1de){
if(_1dd.options&&_1dd.options.add){
_1dd.options.add(_1de);
}else{
_1dd.add(_1de,null);
}
};
std.dom.clearOptions=function(_1df){
while(_1df.length){
_1df.remove(0);
}
};
std.dom.clearChildren=function(node){
if(std.browser.isIE){
var _1e1;
while(_1e1=node.lastChild){
node.removeChild(_1e1);
}
}else{
node.innerHTML="";
}
};
std.dom.appendChildren=function(node,_1e3){
if(!std.lang.isArray(_1e3)){
_1e3=[_1e3];
}
for(var i=0;i<_1e3.length;i++){
node.appendChild(_1e3[i]);
}
};
std.dom.setChildren=function(node,_1e6){
std.dom.clearChildren(node);
std.dom.appendChildren(node,_1e6);
};
std.dom.opacity=function(_1e7,op){
_1e7=std.dom.element(_1e7);
if(std.browser.isIE){
_1e7.style.filter=op==1?"":"progid:DXImageTransform.Microsoft.Alpha(opacity="+parseInt(op*100)+")";
}else{
_1e7.style.opacity=op;
}
};
std.dom.extractAttachmentPoints=function(root,_1ea){
root=std.dom.element(root);
var _1eb=_1ea?_1ea:"attachPoint";
var _1ec=root.getElementsByTagName("*");
var map={};
for(var i=_1ec.length-1;i>=0;i--){
var node=_1ec.item(i);
var attr=node.getAttribute(_1eb);
if(attr){
if(map[attr]){
if(map[attr] instanceof Array){
map[attr].push(node);
}else{
map[attr]=[map[attr],node];
}
}else{
map[attr]=node;
}
}
}
if(root.getAttribute(_1eb)){
map[root.getAttribute(_1eb)]=root;
}
return map;
};
std.dom.getEventTarget=function(e){
var e=e?e:window.event;
return e.target?e.target:e.srcElement;
};
std.dom.getTargetPos=function(_1f2){
var pos={x:0,y:0};
if(_1f2.x&&_1f2.y){
pos.x+=_1f2.x;
pos.y+=_1f2.y;
}else{
do{
pos.x+=_1f2.offsetLeft||0;
pos.y+=_1f2.offsetTop||0;
_1f2=_1f2.offsetParent;
if(_1f2&&_1f2!=document.body){
pos.x-=_1f2.scrollLeft;
pos.y-=_1f2.scrollTop;
}
}while(_1f2);
}
return pos;
};
std.dom.getBounds=function(node){
var pos=std.dom.getTargetPos(node);
var size=std.dom.getDimensions(node);
return {top:pos.y,left:pos.x,bottom:pos.y+size.height-1,right:pos.x+size.width-1,height:size.height,width:size.width};
};
std.dom.getEventPos=function(e){
return std.dom.getTargetPos(std.dom.getEventTarget(e));
};
std.dom.getOffsetMid=function(node){
return node.offsetLeft+parseInt(node.offsetWidth/2);
};
std.dom.getOffset=function(node){
return node.offsetLeft;
};
std.dom.getBodyExtent=function(){
if(std.browser.isSafariMobile){
return {width:window.innerWidth,height:window.innerHeight};
}else{
if(!std.dom._bodyExtendProbe){
std.dom._bodyExtendProbe=std.dom.newElement("div",document.body,null,{position:"absolute",top:"100%",left:"100%",visibility:"hidden"});
}
var pos=std.dom.getTargetPos(std.dom._bodyExtendProbe);
return {width:pos.x,height:pos.y};
}
};
std.dom.noselect=function(node){
node.style.MozUserSelect="none";
node.unselectable="on";
};
std.event.KeyCodes={};
std.event.KeyCodes.generic={KEY_BACKSPACE:8,KEY_TAB:9,KEY_ENTER:13,KEY_SHIFT:16,KEY_CTRL:17,KEY_ALT:18,KEY_PAUSE:19,KEY_CAPS_LOCK:20,KEY_ESCAPE:27,KEY_SPACE:32,KEY_PAGE_UP:33,KEY_PAGE_DOWN:34,KEY_END:35,KEY_HOME:36,KEY_LEFT_ARROW:37,KEY_UP_ARROW:38,KEY_RIGHT_ARROW:39,KEY_DOWN_ARROW:40,KEY_INSERT:45,KEY_DELETE:46,KEY_LEFT_WINDOW:91,KEY_RIGHT_WINDOW:92,KEY_SELECT:93,KEY_F1:112,KEY_F2:113,KEY_F3:114,KEY_F4:115,KEY_F5:116,KEY_F6:117,KEY_F7:118,KEY_F8:119,KEY_F9:120,KEY_F10:121,KEY_F11:122,KEY_F12:123,KEY_NUM_LOCK:144,KEY_SCROLL_LOCK:145,KEY_CMD:224,KEY_IME:229};
std.event.KeyCodes.webkit418={KEY_BACKSPACE:8,KEY_TAB:9,KEY_ENTER:13,KEY_SHIFT:16,KEY_CTRL:17,KEY_ALT:18,KEY_PAUSE:63250,KEY_CAPS_LOCK:20,KEY_ESCAPE:27,KEY_SPACE:32,KEY_PAGE_UP:63276,KEY_PAGE_DOWN:63277,KEY_END:63275,KEY_HOME:63273,KEY_LEFT_ARROW:63234,KEY_UP_ARROW:63232,KEY_RIGHT_ARROW:63235,KEY_DOWN_ARROW:63233,KEY_INSERT:63302,KEY_DELETE:63272,KEY_LEFT_WINDOW:91,KEY_RIGHT_WINDOW:92,KEY_SELECT:93,KEY_F1:63236,KEY_F2:63237,KEY_F3:63238,KEY_F4:63239,KEY_F5:63240,KEY_F6:63241,KEY_F7:63242,KEY_F8:63243,KEY_F9:63244,KEY_F10:63245,KEY_F11:63246,KEY_F12:63247,KEY_NUM_LOCK:144,KEY_SCROLL_LOCK:145};
std.event.KeyMap={AppleWebKit:{63250:19,63276:33,63277:34,63275:35,63273:36,63234:37,63232:38,63235:39,63233:40,63302:45,63272:46,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123}};
std.event.getKeyCodes=function(e){
if(e&&e.type!="keypress"){
return std.event.KeyCodes.generic;
}
if(std.browser.isAppleWebKit&&!std.browser.isSafariWin){
return std.event.KeyCodes.webkit418;
}
return std.event.KeyCodes.generic;
};
std.event.getKeyCode=function(e){
if(std.browser.isSafariWin&&std.browser.major>=3){
var key=e.keyIdentifier.toLowerCase();
var _1ff=std.event.getKeyCodes(e);
var _200={"up":_1ff.KEY_UP_ARROW,"down":_1ff.KEY_DOWN_ARROW,"left":_1ff.KEY_LEFT_ARROW,"right":_1ff.KEY_RIGHT_ARROW,"home":_1ff.KEY_HOME,"end":_1ff.KEY_END,"pageup":_1ff.KEY_PAGE_UP,"pagedown":_1ff.KEY_PAGE_DOWN,"insert":_1ff.KEY_INSERT,"u+00007f":_1ff.KEY_DELETE,"f2":_1ff.KEY_F2};
if(_200[key]){
return _200[key];
}
}
return e.keyCode||e.which;
};
std.event.getChar=function(e){
var code=std.browser.isIE||std.browser.isOpera?e.keyCode:e.charCode;
if(std.browser.isAppleWebKit){
if(e.ctrlKey&&code<96){
code+=96;
}
}
return String.fromCharCode(code).toUpperCase();
};
std.event.getCharCode=function(e){
return std.browser.isIE?e.keyCode:std.browser.isOpera?e.which:e.charCode;
};
std.event.getOffset=function(e){
return {x:e.offsetX||e.layerX,y:e.offsetY||e.layerY};
};
std.event.listener=function(){
var _205=std.array.from(arguments);
var obj=_205.shift(),_207=_205.shift();
if(!_207||typeof (_207)!="function"){
null.assert;
}
if(_205.length==0){
return function listener(e){
return _207.call(obj,e||window.event);
};
}else{
return function listener(e){
return _207.apply(obj,[e||window.event].concat(_205));
};
}
};
std.event.element=function(_20a){
return _20a.target||_20a.srcElement;
};
std.event.toElement=function(_20b){
return _20b.relatedTarget||_20b.toElement;
};
std.event.fromElement=function(_20c){
return _20c.relatedTarget||_20c.fromElement;
};
std.event.isLeftClick=function(_20d){
return (((_20d.which)&&(_20d.which==1))||((_20d.button)&&(_20d.button==1)));
};
std.event.isCmdDown=function(_20e){
return _20e.metaKey&&std.browser.platform.isMacOS;
};
std.event.pointerX=function(_20f){
return _20f.pageX||(_20f.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));
};
std.event.pointerY=function(_210){
return _210.pageY||(_210.clientY+(document.documentElement.scrollTop||document.body.scrollTop));
};
std.event.vanish=function(_211){
std.event.stop(_211);
std.event.preventDefault(_211);
};
std.event.stop=function(_212){
_212=_212||window.event;
if(_212.stopPropagation){
_212.stopPropagation();
}else{
_212.cancelBubble=true;
}
};
std.event.dispatchMouseEvent=function(node,_214,evt){
if(node.dispatchEvent){
if(evt==null){
evt={bubbles:true,cancelable:true,view:window,detail:0,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false,button:0,relatedTarget:null};
}
var e=document.createEvent("MouseEvents");
e.initMouseEvent(_214,evt.bubbles,evt.cancelable,evt.view,evt.detail,evt.screenX,evt.screenY,evt.clientX,evt.clientY,evt.ctrlKey,evt.altKey,evt.shiftKey,evt.metaKey,evt.button,evt.relatedTarget);
return node.dispatchEvent(e);
}
return true;
};
std.event.preventDefault=function(_217){
_217=_217||window.event;
if(_217.preventDefault){
_217.preventDefault();
}else{
_217.returnValue=false;
}
};
std.event.ObserverChain=function(_218,name){
this.clz=std.event.ObserverChain;
this.element=_218;
this.name=name;
this.observers=[];
this.listener=std.event.listener(this,this._observer);
std.event.observe(_218,name,this.listener,false);
};
std.event.ObserverChain._instances=[];
std.event.ObserverChain.getInstance=function(_21a,name){
var _21c=std.event.ObserverChain._instances;
for(var i=0;i<_21c.length;i++){
var _21e=_21c[i];
if(_21e.element==_21a&&_21e.name==name){
return _21e;
}
}
var _21e=new std.event.ObserverChain(_21a,name);
_21c.push(_21e);
return _21e;
};
std.event.ObserverChain.removeInstance=function(_21f){
std.event.ObserverChain._instances=std.array.without(std.event.ObserverChain._instances,_21f);
};
std.event.ObserverChain.prototype.addObserver=function(_220){
this.observers.push(_220);
};
std.event.ObserverChain.prototype.removeObserver=function(_221){
this.observers=std.array.without(this.observers,_221);
if(this.observers.length==0){
std.event.stopObserving(this.listener);
this.clz.removeInstance(this);
}
};
std.event.ObserverChain.prototype._observer=function(e){
for(var i=0;i<this.observers.length;i++){
this.observers[i](e);
}
};
std.event.chainObserve=function(_224,name,_226){
std.event.ObserverChain.getInstance(_224,name).addObserver(_226);
};
std.event.stopChainObserving=function(_227,name,_229){
std.event.ObserverChain.getInstance(_227,name).removeObserver(_229);
};
std.event.keyObserve=function(_22a,name,_22c,_22d){
return std.event.keySetObserved(true,_22a,name,_22c,_22d);
};
std.event.keyStopObserving=function(_22e,name,_230,_231){
return std.event.keySetObserved(false,_22e,name,_230,_231);
};
std.event.keySetObserved=function(_232,_233,name,_235,_236){
var _237=null;
var _238;
if((_238=this._keyListenerTable[name])==null){
_238=this._keyListenerTable[name]=[];
}
if(_232){
_237=std.event._keyListener(_235,name);
_238.push({observer:_235,keyObserver:_237});
}else{
for(var i=0;i<_238.length;++i){
if(_238[i]&&_238[i].observer===_235){
_237=_238[i].keyObserver;
_238[i]=null;
break;
}
}
if(_237==null){
return;
}
}
switch(name){
case "keydown":
case "keyup":
std.event.nativeSetObserved(_232,_233,name,_237,_236);
break;
case "keypress":
if(std.browser.isIE){
std.event.nativeSetObserved(_232,_233,"keydown",_237,_236);
}else{
if(std.browser.isAppleWebKit){
if(std.browser.major<=525&&std.browser.platform.IsMacOS){
std.event.nativeSetObserved(_232,_233,"keypress",_237,_236);
std.event.nativeSetObserved(_232,_233,"keydown",_237,_236);
}else{
std.event.nativeSetObserved(_232,_233,"keydown",_237,_236);
}
}else{
std.event.nativeSetObserved(_232,_233,"keypress",_237,_236);
}
}
break;
case "keyinput":
if(std.browser.isAppleWebKit&&std.browser.platform.isMacOS){
if(std.browser.major==522){
std.event.nativeSetObserved(_232,_233,"keydown",_237,_236);
}
std.event.nativeSetObserved(_232,_233,"keypress",_237,_236);
}else{
if(std.browser.isAppleWebKit){
std.event.nativeSetObserved(_232,_233,"keypress",_237,_236);
}else{
std.event.nativeSetObserved(_232,_233,"keypress",_237,_236);
}
}
break;
default:
throw "Unsupported event: "+name;
}
};
std.event._keyListenerTable={};
std.event._keyListener=function(_23a,name){
return function(e){
var ke={keyIdentifier:null,evt:e||window.event};
switch(name){
case "keydown":
case "keyup":
if(std.browser.isFF){
if(ke.evt.keyCode==59){
ke.keyIdentifier=186;
}else{
ke.keyIdentifier=ke.evt.keyCode;
}
}else{
if(std.browser.isOpera){
if(ke.evt.keyCode==44){
ke.keyIdentifier=188;
}else{
if(ke.evt.keyCode==47){
ke.keyIdentifier=191;
}else{
if(ke.evt.keyCode==59){
ke.keyIdentifier=186;
}else{
if(ke.evt.keyCode==96){
ke.keyIdentifier=192;
}else{
ke.keyIdentifier=ke.evt.keyCode;
}
}
}
}
}else{
ke.keyIdentifier=ke.evt.keyCode;
}
}
break;
case "keypress":
if(std.browser.isFF){
if(ke.evt.keyCode){
ke.keyIdentifier=ke.evt.keyCode;
}else{
if(ke.evt.charCode==59){
ke.keyIdentifier=186;
}else{
if(ke.evt.charCode==32||(ke.evt.charCode>=65&&ke.evt.charCode<=90)||(ke.evt.charCode>=48&&ke.evt.charCode<=57)){
ke.keyIdentifier=ke.evt.charCode;
}else{
if(ke.evt.charCode>=97&&ke.evt.charCode<=122){
ke.keyIdentifier=ke.evt.charCode-32;
}else{
ke.keyIdentifier=0;
}
}
}
}
}else{
if(std.browser.isAppleWebKit){
if(ke.evt.type=="keydown"){
ke.keyIdentifier=ke.evt.keyCode;
}else{
if(ke.evt.charCode==32||(ke.evt.charCode>=65&&ke.evt.charCode<=90)||(ke.evt.charCode>=48&&ke.evt.charCode<=57)){
ke.keyIdentifier=ke.evt.charCode;
}else{
if(ke.evt.charCode>=97&&ke.evt.charCode<=122){
ke.keyIdentifier=ke.evt.charCode-32;
}else{
ke.keyIdentifier=std.event.KeyMap.AppleWebKit[ke.evt.charCode]||0;
}
}
}
}else{
if(std.browser.isOpera){
if(!ke.evt.which){
ke.keyIdentifier=ke.evt.keyCode;
}else{
if(ke.evt.keyCode==59){
ke.keyIdentifier=186;
}else{
if(ke.evt.keyCode==32||(ke.evt.keyCode>=65&&ke.evt.keyCode<=90)||(ke.evt.keyCode>=48&&ke.evt.keyCode<=57)){
ke.keyIdentifier=ke.evt.keyCode;
}else{
if(ke.evt.keyCode>=97&&ke.evt.keyCode<=122){
ke.keyIdentifier=ke.evt.keyCode-32;
}else{
ke.keyIdentifier=ke.evt.keyCode;
}
}
}
}
}else{
ke.keyIdentifier=ke.evt.keyCode;
}
}
}
break;
case "keyinput":
if(std.browser.isIE){
ke.keyIdentifier=ke.evt.keyCode;
}else{
if(std.browser.isOpera){
ke.keyIdentifier=ke.evt.keyCode==ke.evt.which?ke.evt.keyCode:0;
}else{
ke.keyIdentifier=ke.evt.charCode;
}
}
break;
default:
throw "Illegal event: "+name;
}
return _23a(ke);
};
};
std.event.onContextMenu=function(_23e,_23f,_240){
var _241=std.event.listener(null,function(e){
var _243=std.dom.getEventTarget(e);
if(_243.tagName.match(/^a$/i)||(_243.tagName.match(/input/i)&&_243.type.match(/button/i))){
return;
}
if(e.button==0&&e.ctrlKey){
_23f(e);
}
});
std.event.observe(_23e,"mousedown",_241,_240);
std.event.observe(_23e,"contextmenu",_23f,_240);
};
std.event.getEventTarget=function(_244){
return _244.target||_244.srcElement;
};
std.event.afterLoaded=function(func){
std.event.observe(window,"load",func,false);
};
std.external={};
std.external.addFavorite=function(url,_247){
if(window.sidebar&&window.sidebar.addPanel){
try{
window.sidebar.addPanel(_247,url,"");
}
catch(e){
}
}else{
if(window.external){
window.external.AddFavorite(url,_247);
}else{
alert("To add bookmark, please press "+(std.browser.isMacOS?"Cmd+D":"Ctrl+D"));
}
}
};
std.form={};
std.form.submit=function(form){
if(typeof form.onsubmit=="function"){
if(form.onsubmit()){
form.submit();
}
}else{
form.submit();
}
};
std.form.serialize=function(form){
var _24a=std.form.getElements(std.dom.element(form));
var _24b=new Array();
for(var i=0;i<_24a.length;i++){
var _24d=std.form.element.serialize(_24a[i]);
if(_24d){
_24b.push(_24d);
}
}
return _24b.join("&");
};
std.form.getElements=function(form){
form=std.dom.element(form);
var _24f=new Array();
for(tagName in std.form.element.serializer){
var _250=form.getElementsByTagName(tagName);
for(var j=0;j<_250.length;j++){
_24f.push(_250[j]);
}
}
return _24f;
};
std.form.getInputs=function(form,_253,name){
form=std.dom.element(form);
var _255=form.getElementsByTagName("input");
if(!_253&&!name){
return _255;
}
var _256=new Array();
for(var i=0;i<_255.length;i++){
var _258=_255[i];
if((_253&&_258.type!=_253)||(name&&_258.name!=name)){
continue;
}
_256.push(_258);
}
return _256;
};
std.form.calculateChecked=function(form,name){
var _25b=std.form.getInputs(form,"checkbox",name);
var c=0;
for(var i=0;i<_25b.length;i++){
if(_25b[i].checked){
c++;
}
}
return c;
};
std.form.checkboxSync=function(_25e,name){
std.list.iterate(std.form.getInputs(_25e.form,"checkbox",name),function(_260){
_260.checked=_25e.checked;
});
};
std.form.value=function(form,name){
return std.form.values(form,name)[0];
};
std.form.values=function(form,name){
var _265=std.list.grep(form.elements,function(ele){
return (ele.name==name)&&!ele.disabled&&((ele.type!="radio"&&ele.type!="checkbox")||ele.checked);
});
return std.list.map(_265,function(ele){
return std.form.element.getValue(ele);
});
};
std.form.disable=function(form){
var _269=std.form.getElements(form);
for(var i=0;i<_269.length;i++){
var _26b=_269[i];
_26b.blur();
_26b.disabled="true";
}
};
std.form.enable=function(form){
var _26d=std.form.getElements(form);
for(var i=0;i<_26d.length;i++){
var _26f=_26d[i];
_26f.disabled="";
}
};
std.form.findFirstElement=function(node){
var _271=node.tagName.toLowerCase()=="form"?[node]:node.getElementsByTagName("form");
for(var i=0;i<_271.length;i++){
var _273=std.form.getElements(_271[i]);
for(var j=0;j<_273.length;j++){
var _275=_273[j].tagName.toLowerCase();
if(_273[j].type!="hidden"&&!_273[j].disabled&&("input"==_275||"select"==_275||"textarea"==_275)){
return _273[j];
}
}
}
return null;
};
std.form.isIntrinsicControl=function(node){
return "|BUTTON|INPUT|TEXTAREA|SELECT|OPTION|A|".indexOf(node.tagName)!=-1;
};
std.form.focusFirstElement=function(node){
var _278=std.form.findFirstElement(node);
if(_278){
_278.focus();
if(_278.select){
_278.select();
}
return true;
}else{
return false;
}
};
std.form.focusDocumentFirstElement=function(){
var _279=document.forms;
for(var i=0;i<_279.length;i++){
if(std.form.focusFirstElement(_279[i])){
break;
}
}
};
std.form.reset=function(form){
std.dom.element(form).reset();
};
std.form.element={};
std.form.element.serialize=function(_27c){
_27c=std.dom.element(_27c);
var _27d=_27c.tagName.toLowerCase();
var _27e=std.form.element.serializer[_27d](_27c);
if(_27e){
var key=encodeURIComponent(_27e[0]);
if(key.length==0){
return;
}
if(_27e[1].constructor!=Array){
_27e[1]=[_27e[1]];
}
return std.list.map(_27e[1],function(_280){
return key+"="+encodeURIComponent(_280);
}).join("&");
}
};
std.form.element.getValue=function(_281){
_281=std.dom.element(_281);
var _282=_281.tagName.toLowerCase();
var _283=std.form.element.serializer[_282](_281);
if(_283){
return _283[1];
}
};
std.form.element.serializer={};
std.form.element.serializer.input=function(_284){
switch(_284.type.toLowerCase()){
case "submit":
case "hidden":
case "password":
case "text":
return std.form.element.serializer.textarea(_284);
case "checkbox":
case "radio":
return std.form.element.serializer.inputSelector(_284);
}
return false;
};
std.form.element.serializer.inputSelector=function(_285){
if(_285.checked){
return [_285.name,_285.value];
}
};
std.form.element.serializer.textarea=function(_286){
return [_286.name,_286.value];
};
std.form.element.serializer.select=function(_287){
return std.form.element.serializer[_287.type=="select-one"?"selectOne":"selectMany"](_287);
};
std.form.element.serializer.selectOne=function(_288){
var _289="",opt,_28b=_288.selectedIndex;
if(_28b>=0){
opt=_288.options[_28b];
_289=opt.value;
if(!_289&&!("value" in opt)){
_289=opt.text;
}
}
return [_288.name,_289];
};
std.form.element.serializer.selectMany=function(_28c){
var _28d=new Array();
for(var i=0;i<_28c.length;i++){
var opt=_28c.options[i];
if(opt.selected){
var _290=opt.value;
if(!_290&&!("value" in opt)){
_290=opt.text;
}
_28d.push(_290);
}
}
return [_28c.name,_28d];
};
std.form._ifEmptyDisableHandler=function(_291,_292){
for(var i=0;i<_292.length;++i){
(function(){
_292[i].disabled=_291.value=="";
})();
}
};
std.form.ifEmptyDisable=function(_294,_295){
std.event.observe(_294,"keyup",function(){
setTimeout(function(){
std.form._ifEmptyDisableHandler(_294,_295);
},1);
});
std.form._ifEmptyDisableHandler(_294,_295);
};
std.functor={};
std.functor.not=function(func){
return function(){
return !func();
};
};
std.functor.and=function(){
var _297=std.array.from(arguments);
return function(){
for(var i=0;i<_297.length;i++){
if(!_297[i]()){
return false;
}
}
return true;
};
};
std.functor.or=function(){
var _299=std.array.from(arguments);
return function(){
for(var i=0;i<_299.length;i++){
if(_299[i]()){
return true;
}
}
return false;
};
};
std.host={};
std.host.bookmark=function(_29b,url){
if(window.sidebar){
window.sidebar.addPanel(_29b,url,"");
}else{
if(window.external){
window.external.AddFavorite(url,_29b);
}else{
if(window.opera&&window.print){
return true;
}
}
}
};
std.host.open=function(url,_29e){
if(_29e){
if(typeof (_29e)=="string"){
var w=window.open(url,_29e);
w.focus();
}else{
window.open(url);
}
}else{
window.location.href=url;
}
};
std.host.reload=function(){
window.location.href=window.location.href;
};
std.json={};
std.json.arrayToJSONString=function(self){
var a=["["],b=0,i,l=self.length;
for(i=0;i<l;i+=1){
var s=std.json.toJSONString(self[i]);
if(b++){
a.push(",");
}
a.push(s);
}
a.push("]");
return a.join("");
};
std.json.booleanToJSONString=function(self){
return String(self);
};
std.json.dateToJSONString=function(self){
return std.date.format(self,"\"yyyy-MM-ddThh:mm:ss\"");
};
std.json.numberToJSONString=function(self){
return isFinite(self)?String(self):"null";
};
std.json.toJSONString=function(self){
switch(typeof self){
case "object":
if(self){
if(typeof self.toJSONString==="function"){
return (self.toJSONString());
}
var clz=self.constructor;
if(clz==Array){
return std.json.arrayToJSONString(self);
}else{
if(clz==Date){
return std.json.dateToJSONString(self);
}else{
if(clz==Object){
return std.json.mapToJSONString(self);
}
}
}
}else{
return "null";
}
case "string":
return std.json.stringToJSONString(self);
case "number":
return std.json.numberToJSONString(self);
case "boolean":
return std.json.booleanToJSONString(self);
}
};
std.json.mapToJSONString=function(self){
var a=["{"],b=0,k;
for(k in self){
if(self.hasOwnProperty(k)){
var s=std.json.toJSONString(self[k]);
if(b++){
a.push(",");
}
a.push(std.json.toJSONString(k),":",s);
}
}
a.push("}");
return a.join("");
};
std.json.parse=function(str){
var res={json:null,error:null,isSuccess:true,isError:false};
try{
res.json=eval("("+str+")");
}
catch(e){
res.error=e;
res.isSuccess=true;
res.isError=true;
}
return res;
};
std.json.parseJSON=function(self,_2b3){
try{
if(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(self)){
var j=eval("("+self+")");
if(typeof _2b3==="function"){
std.log.warn("std.json.parseJSON(): filter not supported");
}
return j;
}
}
catch(e){
}
throw new SyntaxError("parseJSON");
};
std.json.stringToJSONString=function(self){
if(/["\\\x00-\x1f]/.test(self)){
return "\""+self.replace(/([\x00-\x1f\\"])/g,std.json._replaceFunc)+"\"";
}
return "\""+self+"\"";
};
std.json._replaceFunc=function(a,b){
var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\"":"\\\"","\\":"\\\\"};
var c=m[b];
if(c){
return c;
}
c=b.charCodeAt();
return "\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16);
};
std.math={};
std.math.compareQuad=function(a1,a2,b1,b2){
var res={};
if(a1[0]==b1[0]&&a1[1]==b1[1]&&a2[0]==b2[0]&&a2[1]==b2[1]){
res.enclose=0;
res.overlap=2;
}else{
if(a2[0]<b1[0]||a1[0]>b2[0]||a2[1]<b1[1]||a1[1]>b2[1]){
res.enclose=0;
res.overlap=0;
}else{
if(a1[0]<=b1[0]&&a1[1]<=b1[1]&&a2[0]>=b2[0]&&a2[1]>=b2[1]){
res.enclose=1;
res.overlap=1;
}else{
if(a1[0]>=b1[0]&&a1[1]>=b1[1]&&a2[0]<=b2[0]&&a2[1]<=b2[1]){
res.enclose=-1;
res.overlap=1;
}else{
res.enclose=0;
res.overlap=1;
}
}
}
}
return res;
};
std.math.calcPointAlign=function(x,y,w,h,W,H){
var _2c5={"bottom":0,"top":0,"right":0,"left":0};
var _2c6=H-(y+h);
var _2c7=y-h;
var _2c8=W-(x+w);
var _2c9=x-w;
_2c5[(_2c6<0&&_2c7>_2c6)?"bottom":"top"]=1;
_2c5[(_2c8<0&&_2c9>_2c8)?"right":"left"]=1;
return _2c5;
};
std.math.calcPointPlacement=function(x,y,w,h,W,H){
var _2d0=std.math.calcPointAlign(x,y,w,h,W,H);
return {align:_2d0,x:x-_2d0.right*w,y:y-_2d0.bottom*h};
};
std.math.calcBoxAlign=function(bx,by,bw,bh,w,h,W,H,_2d9){
var hori=_2d9?1:0;
var vert=_2d9?0:1;
var _2dc={"bottom":0,"top":0,"right":0,"left":0};
var _2dd=H-(by+(bh*hori)+h);
var _2de=by+(bh*vert)-h;
var _2df=W-(bx+(bw*vert)+w);
var _2e0=bx+(bw*hori)-w;
_2dc[(_2dd<0&&_2de>_2dd)?"bottom":"top"]=1;
_2dc[(_2df<0&&_2e0>_2df)?"right":"left"]=1;
return _2dc;
};
std.math.calcBoxPlacement=function(bx,by,bw,bh,w,h,W,H,_2e9){
var _2ea=std.math.calcBoxAlign(bx,by,bw,bh,w,h,W,H,_2e9);
if(_2e9){
return {align:_2ea,x:bx+_2ea.right*(bw-w),y:by+_2ea.top*bh-_2ea.bottom*h};
}else{
return {align:_2ea,x:bx+_2ea.left*bw-_2ea.right*w,y:by+_2ea.bottom*(bh-h)};
}
};
std.topic={};
std.topic.define=function(obj,name){
obj[name]={src:obj,subscribers:[]};
};
std.topic.subscribe=function(obj,name,func){
obj[name].subscribers.push(func);
};
std.topic.unsubscribe=function(obj,name,func){
obj[name].subscribers=std.array.without(obj[name].subscribers,func);
};
std.topic.hasSubscribers=function(obj,name){
return obj[name].subscribers.length>0;
};
std.topic.publish=function(obj,name){
var subs=obj[name].subscribers;
if(arguments.length<=2){
for(var i=0;i<subs.length;i++){
subs[i].call(this.src);
}
}else{
if(arguments.length<=3){
for(var i=0;i<subs.length;i++){
subs[i].call(this.src,arguments[2]);
}
}else{
var args=[];
for(var i=2;i<arguments.length;i++){
args[i-2]=arguments[i];
}
for(var i=0;i<subs.length;i++){
subs[i].apply(this.src,args);
}
}
}
};
std.mocker={instances:new Array(),regExpNodes:{},extractNodeContent:function(_2fa,html){
var re,res;
if(!(re=std.mocker.regExpNodes[_2fa])){
std.mocker.regExpNodes[_2fa]=re=new RegExp("<"+_2fa+"[^>]*>","im");
}
res=re.exec(html);
return res?html.substring(res.index+res[0].length,html.indexOf("</"+_2fa+">")):"";
},release:function(){
for(var k in std.mocker.instances){
std.mocker.instances[k].release();
}
}};
std.mocker.mock=function(_2ff,url,_301,_302,_303,_304){
var _305=new std.mocker.MockInstance(_2ff,url,_303,_304);
std.topic.subscribe(_305,"onLoad",_302);
if(_301){
window.setTimeout(std.lang.bind(_305,_305.load),0);
}
return _305;
};
std.mocker.MockInstance=function(_306,_307,_308,_309){
this.target=std.dom.element(_306);
this.initUrl=_307;
this.instanceId=std.mocker.instances.length;
this.transportFactory=_308;
this.extraUrlParams=_309||{};
std.mocker.instances.push(this);
std.topic.define(this,"onLoad");
std.topic.define(this,"onRefresh");
};
std.mocker.MockInstance.prototype.load=function(){
this.loaded=false;
var ajax=new std.ajax.Request(this._constructUrl(this.initUrl),{transportFactory:this.transportFactory,method:"get",asynchronous:true,onSuccess:std.lang.bind(this,this._transfer)});
};
std.mocker.MockInstance.prototype._constructUrl=function(url){
for(var key in this.extraUrlParams){
url+=(url.indexOf("?")==-1?"?":"&")+encodeURIComponent(key)+"="+encodeURIComponent(this.extraUrlParams[key]);
}
return url;
};
std.mocker.MockInstance.prototype._handleSubmit=function(form){
var ajax=new std.ajax.Request(this._constructUrl(form.action),{transportFactory:this.transportFactory,method:"post",asynchronous:true,postBody:std.form.serialize(form),onSuccess:std.lang.bind(this,this._transfer)});
};
std.mocker.MockInstance.prototype._handleLink=function(link){
this.reload(link.href);
};
std.mocker.MockInstance.prototype.reload=function(url){
var ajax=new std.ajax.Request(this._constructUrl(url),{transportFactory:this.transportFactory,method:"get",asynchronous:true,onSuccess:std.lang.bind(this,this._transfer)});
};
std.mocker.MockInstance.prototype._transfer=function(req){
var self=this;
var html=req.responseText;
var _315=std.mocker.extractNodeContent("body",html);
this.target.innerHTML=std.string.stripScripts(_315);
std.list.iterate(this.target.getElementsByTagName("a"),function(link,idx){
if(link.getAttribute("preserve")){
return;
}
if(!link.href.indexOf("javascript:")){
return;
}
var _318=link.onclick;
link.onclick=function(e){
try{
if(_318){
_318.call(link,e);
}
self._handleLink(link);
}
catch(ex){
alert("Exception executing Mocker link: "+ex);
}
return false;
};
});
std.list.iterate(this.target.getElementsByTagName("form"),function(form,idx){
if(form.getAttribute("preserve")){
return;
}
if(!form.action.indexOf("javascript:")){
return;
}
var _31c=form.onsubmit;
form.onsubmit=function(e){
try{
var ret;
if(_31c){
ret=_31c.call(form,e);
}
if(typeof (ret)=="undefined"||ret){
self._handleSubmit(form);
}
}
catch(ex){
alert("Exception executing Mocker submit: "+ex);
}
return false;
};
});
try{
eval(std.mocker.extractNodeContent("script",_315));
}
catch(e){
std.log.warn(e);
}
if(!this.loaded){
this.loaded=true;
std.topic.publish(this,"onLoad");
}else{
std.topic.publish(this,"onRefresh");
}
};
std.mocker.MockInstance.prototype.release=function(req){
std.list.iterate(this.target.getElementsByTagName("a"),function(link,idx){
link.onclick=null;
link.innerHTML="";
});
std.list.iterate(this.target.getElementsByTagName("form"),function(form,idx){
form.onsubmit=null;
form.innerHTML="";
});
this.target.innerHTML="";
this.target=null;
};
std.perf={};
std.perf.base=new Date();
std.perf.data={};
std.perf.mark=function(_324,_325){
if(_325||typeof (this.data[_324])=="undefined"){
this.data[_324]=new Date()-std.perf.base;
}
};
std.perf.list=function(){
var _326=[];
var last=0;
for(var _328 in this.data){
var time=this.data[_328];
_326.push(_328+": "+(time-last)+" @"+time+"ms");
last=time;
}
return _326;
};
std.perf.csv=function(){
var _32a=[];
var _32b=[];
var last=0;
for(var _32d in this.data){
var time=this.data[_32d];
_32a.push(_32d);
_32b.push(time-last);
last=time;
}
_32a.push(_32b);
return _32a.join(",");
};
std.queue={};
std.queue.AsyncQueue=function(){
};
std.queue.AsyncQueue.prototype.init=function(_32f,prop){
this._callback=_32f;
this._prop=prop||{};
this._timeout=this._prop.timeout||0;
this._queue=[];
this._lock=false;
return this;
};
std.queue.AsyncQueue.prototype.enqueue=function(obj){
this._queue.push(obj);
var self=this;
if(!this._lock){
this._lock=true;
setTimeout(function(){
self._dequeue();
},this._timeout);
}
};
std.queue.AsyncQueue.prototype._dequeue=function(){
while(this._queue.length>0){
this._callback(this._queue.shift());
}
this._lock=false;
};
std.queue.BatchAsyncQueue=function(){
};
std.queue.BatchAsyncQueue.prototype=new std.queue.AsyncQueue();
std.queue.BatchAsyncQueue.prototype._dequeue=function(){
var objs=[];
while(this._queue.length>0){
objs.push(this._queue.shift());
}
this._callback(objs);
this._lock=false;
};
std.global=this;
std.range={};
std.range.moveCaretEnd=function(_334){
if(_334.setSelectionRange){
_334.focus();
_334.setSelectionRange(_334.value.length,_334.value.length);
}else{
if(_334.createTextRange){
var _335=_334.createTextRange();
_335["mo"+"ve"]("textedit",1);
_335.select();
}else{
throw "No suitable range impl";
}
}
};
std.range.moveCaretBegin=function(_336){
if(_336.setSelectionRange){
_336.focus();
_336.setSelectionRange(0,0);
}else{
if(_336.createTextRange){
var _337=_336.createTextRange();
_337["mo"+"ve"]("textedit",-1);
_337.select();
}else{
throw "No suitable range impl";
}
}
};
std.range.getInputSelection=function(_338){
var ret={start:0,end:0,size:0};
if(_338.selectionStart||_338.selectionStart=="0"){
ret.start=_338.selectionStart;
ret.end=_338.selectionEnd;
ret.size=ret.end-ret.start;
}else{
if(document.selection){
var sel=document.selection.createRange();
var full=sel.duplicate();
if(_338.tagName=="INPUT"){
full=_338.createTextRange();
}else{
full.moveToElementText(_338);
}
for(ret.size=0;sel.compareEndPoints("EndToStart",sel)==1;++ret.size){
sel.moveEnd("character",-1);
}
for(ret.start=0;sel.compareEndPoints("StartToStart",full)==1;++ret.start){
sel.moveStart("character",-1);
}
ret.end=ret.start+ret.size;
}else{
throw "No suitable range impl";
}
}
return ret;
};
std.range.insertAtCursor=function(_33c,str){
if(document.selection){
var sel=document.selection.createRange();
sel.text=str;
if(std.browser.isOpera&&std.browser.platform.isWin){
_33c.selectionStart+=str.replace("\n","\r\n").length;
}else{
sel.select();
}
}else{
if(_33c.selectionStart||_33c.selectionStart=="0"){
var _33f=_33c.selectionStart;
_33c.value=_33c.value.substring(0,_33f)+str+_33c.value.substring(_33c.selectionEnd,_33c.value.length);
_33c.selectionStart=_33f+=str.length;
_33c.selectionEnd=_33f;
}else{
_33c.value+=str;
}
}
};
std.global=this;
std.storage={};
std.storage.CookieStorage=function(_340){
this.expireDays=_340;
};
std.storage.CookieStorage.prototype.setItem=function(key,val){
std.cookies.set(key,val,this.expireDays);
};
std.storage.CookieStorage.prototype.getItem=function(key){
return std.cookies.get(key);
};
std.storage.CookieStorage.prototype.removeItem=function(key){
std.cookies.remove(key);
};
std.storage.cookieGlobalStorage=new std.storage.CookieStorage(365*25);
std.storage.global={};
std.storage.global.getStorage=function(_345){
try{
var key=_345||location.hostname;
return key.indexOf(".")!=-1?window.globalStorage[key]:std.storage.cookieGlobalStorage;
}
catch(e){
return std.storage.cookieGlobalStorage;
}
};
std.tunnel={};
std.tunnel.newTunnel=function(prop){
if(window.postMessage){
return new std.tunnel.PostMessageTunnel().init(prop);
}else{
if(std.browser.isIE){
return new std.tunnel.IEIFrameTunnel().init(prop);
}else{
return new std.tunnel.IFrameTunnel().init(prop);
}
}
};
std.tunnel.AbstractTunnel=function(){
};
std.tunnel.AbstractTunnel.prototype.DONE="d";
std.tunnel.AbstractTunnel.prototype.CALL="c";
std.tunnel.AbstractTunnel.prototype.RETURN="r";
std.tunnel.AbstractTunnel.prototype.SHUTDOWN="s";
std.tunnel.AbstractTunnel.prototype.DEFAULT_RATE_LIMIT=500;
std.tunnel.AbstractTunnel.prototype.init=function(prop){
this._done=false;
this._inited=false;
this._shutdown=false;
this._funcs={};
this._callbacks={};
this._errHandlers={};
this._pendingCalls=[];
this._rates={};
var self=this;
this._queue=new std.queue.BatchAsyncQueue().init(function(objs){
self._send(objs);
});
this._lastReceiveCid=-1;
this._lastCallCid=0;
this._debug=prop.debug;
this._rateLimit=prop.rateLimit||this.DEFAULT_RATE_LIMIT;
this.doInit(prop);
return this;
};
std.tunnel.AbstractTunnel.prototype.shutdown=function(_34b){
if(this._debug){
this.log("SHUTDO","Shutdown");
}
if(this._onShutdown){
this._onShutdown();
}
if(!this._remote){
this._send([this.SHUTDOWN]);
}
this._shutdown=true;
this._inited=false;
this._funcs=null;
this._callbacks=null;
this._errHandlers=null;
this._calls=null;
this._queue=null;
};
std.tunnel.AbstractTunnel.prototype.setConsole=function(_34c){
std.log.setConsole(_34c);
};
std.tunnel.AbstractTunnel.prototype.setOnShutdown=function(f){
this._onShutdown=f;
};
std.tunnel.AbstractTunnel.prototype.log=function(func,msg){
if(this._debug){
var msg="["+location.host+"] "+func+" - "+msg;
std.log.debug(msg);
}
};
std.tunnel.AbstractTunnel.prototype.register=function(fid,func){
if(this._debug){
this.log("REGIST",fid);
}
this._funcs[fid]=func;
};
std.tunnel.AbstractTunnel.prototype._send=function(msg){
};
std.tunnel.AbstractTunnel.prototype.send=function(cmd,msg){
if(this._debug){
this.log("SEND  ","["+cmd+"] "+msg);
}
this._queue.enqueue(cmd+msg);
};
std.tunnel.AbstractTunnel.prototype._receive=function(msgs){
if(this._debug){
this.log("Q-RECE",msgs);
}
var msgs=msgs.split("|");
for(var i=0;i<msgs.length;i++){
var msg=msgs[i];
this.receive(msg.charAt(0),msg.substring(1));
}
};
std.tunnel.AbstractTunnel.prototype.receive=function(cmd,msg){
if(this._shutdown){
return;
}
switch(cmd){
case this.DONE:
this.receiveDone(msg);
break;
case this.CALL:
this.receiveCall(msg);
break;
case this.RETURN:
this.receiveReturn(msg);
break;
case this.SHUTDOWN:
this.shutdown(true);
break;
default:
throw new Error("Unknown command ["+cmd+"]");
}
};
std.tunnel.AbstractTunnel.prototype.call=function(fid,args,_35c,_35d){
if(this._shutdown){
return;
}
if(!this._inited){
this._appendPendingCall(fid,args,_35c,_35d);
return;
}
var cid=this._lastCallCid++;
if(this._debug){
this.log("CALL  ",fid+"("+args+") - "+cid);
}
if(_35c){
this._callbacks[cid]=_35c;
}
if(_35d){
this._errHandlers[cid]=_35d;
}
var msg=encodeURIComponent(fid)+"&";
msg+=encodeURIComponent(args)+"&";
msg+=encodeURIComponent(cid);
this.send(this.CALL,msg);
};
std.tunnel.AbstractTunnel.prototype.receiveCall=function(s){
var s=s.split("&");
var fid=decodeURIComponent(s[0]);
var args=decodeURIComponent(s[1]);
var cid=parseInt(decodeURIComponent(s[2]));
if(this._debug){
this.log("R-CALL",fid+"("+args+") - "+cid);
}
this._enqueue(fid,args,cid);
};
std.tunnel.AbstractTunnel.prototype.returz=function(cid,ret,err){
if(!this._inited){
return;
}
if(this._debug){
this.log("RETURN",cid+"("+ret+", "+err+")");
}
var msg=encodeURIComponent(cid)+"&";
msg+=(ret===undefined?"@":(ret===null?"$":encodeURIComponent(ret)))+"&";
msg+=(err===undefined?"@":(err===null?"$":encodeURIComponent(err)));
this.send(this.RETURN,msg);
};
std.tunnel.AbstractTunnel.prototype.receiveReturn=function(s){
var s=s.split("&");
var cid=decodeURIComponent(s[0]);
var ret=s[1]=="@"?undefined:(s[1]=="$"?null:decodeURIComponent(s[1]));
var err=s[2]=="@"?undefined:(s[2]=="$"?null:decodeURIComponent(s[2]));
if(this._debug){
this.log("R-RETU",cid+"("+ret+", "+err+")");
}
var _36c=this._callbacks[cid];
var _36d=this._errHandlers[cid];
if(_36c){
delete this._callbacks[cid];
}
if(_36d){
delete this._errHandlers[cid];
}
if(err){
if(_36d){
try{
_36d(err);
}
catch(e){
setTimeout(function(){
throw e;
},0);
}
}else{
setTimeout(function(){
throw new Error(err);
},0);
}
}else{
if(_36c){
try{
_36c(ret);
}
catch(e){
setTimeout(function(){
throw e;
},0);
}
}
}
};
std.tunnel.AbstractTunnel.prototype.done=function(){
if(this._shutdown){
return;
}
if(this._debug){
this.log("DONE  ","Initialization done");
}
this._done=true;
this.send(this.DONE,"");
};
std.tunnel.AbstractTunnel.prototype.receiveDone=function(msg){
if(this._shutdown){
return;
}
if(this._debug){
this.log("R-DONE","Initialization done");
}
if(!this._inited){
this._inited=true;
if(this._done){
this.send(this.DONE,"");
}
this._firePendingCalls();
}
};
std.tunnel.AbstractTunnel.prototype._appendPendingCall=function(fid,args,_371,_372){
this._pendingCalls.push({fid:fid,args:args,callback:_371,errHandler:_372});
};
std.tunnel.AbstractTunnel.prototype._firePendingCalls=function(){
for(var i=0;i<this._pendingCalls.length;i++){
var call=this._pendingCalls[i];
this.call(call.fid,call.args,call.callback,call.errHandler);
}
this._pendingCalls=null;
};
std.tunnel.AbstractTunnel.prototype._enqueue=function(fid,args,cid){
this._queue[cid]={fid:fid,args:args,cid:cid};
if(cid==this._lastReceiveCid+1){
this._dequeue(cid);
}
};
std.tunnel.AbstractTunnel.prototype._dequeue=function(cid){
var call;
while((call=this._queue[cid])){
if(this._recordRate()){
return;
}
var ret,err;
var fid=call.fid;
var args=call.args;
delete this._queue[cid];
var func=this._funcs[fid];
if(!func){
err="Cannot find function: "+fid;
}else{
if(args!=""){
args=args.split(",");
for(var i=0;i<args.length;i++){
args[i]=decodeURIComponent(args[i]);
}
}
ret=func(args);
if(ret.error){
err=ret.error.message?ret.error.message:ret.error;
}
}
if(this._debug){
this.log("DEQUEU",fid+" - "+cid+"("+(ret?ret.result:"null")+", "+err+")");
}
try{
top.frames[location.host].tunnel.returz(cid,ret?ret.result:undefined,err);
}
catch(e){
top.frames["gridContainer"].frames[location.host].tunnel.returz(cid,ret?ret.result:undefined,err);
}
this._lastReceiveCid=cid;
cid=cid+1;
}
};
std.tunnel.AbstractTunnel.prototype._recordRate=function(){
var time=parseInt(new Date().getTime()/100);
if(!this._rates[time]){
this._rates[time]=1;
}else{
this._rates[time]++;
}
return this._checkRate(time);
};
std.tunnel.AbstractTunnel.prototype._checkRate=function(time){
var rate=0;
for(var i in this._rates){
if(i<time-600){
delete this._rates[i];
}else{
rate+=this._rates[i];
}
}
if(rate>this._rateLimit){
this.shutdown();
return true;
}
return false;
};
std.tunnel.IFrameTunnel=function(){
};
std.tunnel.IFrameTunnel.prototype=new std.tunnel.AbstractTunnel();
std.tunnel.IFrameTunnel.prototype.doInit=function(prop){
this._courierUrl=prop.remoteBase+"tunnel/courier";
if(prop.remoteDomain){
this._courierUrl+="?d="+prop.remoteDomain;
}
var self=this;
window.receive=function(s){
self._receive(s);
};
};
std.tunnel.IFrameTunnel.prototype._send=function(msgs){
var url=this._courierUrl+"#"+msgs.join("|");
this._createIFrame(url);
};
std.tunnel.IFrameTunnel.prototype._createIFrame=function(url){
if(this._debug){
this.log("I-SEND",url);
}
var _38a=document.createElement("iframe");
if(!std.browser.isIE){
document.body.appendChild(_38a);
}
function __onload(){
setTimeout(function(){
document.body.removeChild(_38a);
},0);
}
if(_38a.attachEvent){
_38a.attachEvent("onload",__onload);
}else{
if(_38a.addEventListener){
_38a.addEventListener("load",__onload,false);
}
}
_38a.src=url;
if(std.browser.isIE){
document.body.appendChild(_38a);
}
};
std.tunnel.IEIFrameTunnel=function(){
this._id=0;
this._buffers={};
};
std.tunnel.IEIFrameTunnel.prototype=new std.tunnel.IFrameTunnel();
std.tunnel.IEIFrameTunnel.prototype.MAX_LENGTH=3800;
std.tunnel.IEIFrameTunnel.prototype._send=function(msgs){
var msg=msgs.join("|");
var p=Math.ceil(msg.length/this.MAX_LENGTH);
var id=this._id++;
for(var i=0;i<p;i++){
var hash=id+"|"+i+"|"+p+"|"+msg.substring(i*this.MAX_LENGTH,(i+1)*this.MAX_LENGTH);
var url=this._courierUrl+"#"+hash;
this._createIFrame(url);
}
};
std.tunnel.IEIFrameTunnel.prototype._receive=function(msgs){
if(this._debug){
this.log("IE-REC",msgs);
}
msgs=msgs.split("|");
var id=msgs.shift();
var pos=msgs.shift();
var max=msgs.shift();
msgs=msgs.join("|");
if(max==1){
this._superReceive(msgs);
}else{
if(this._fillBuffer(id,pos,max,msgs)){
var m=this._flushBuffer(id);
this._superReceive(m);
}
}
};
std.tunnel.IEIFrameTunnel.prototype._superReceive=function(msgs){
std.tunnel.IFrameTunnel.prototype._receive.call(this,msgs);
};
std.tunnel.IEIFrameTunnel.prototype._getBuffer=function(id,max){
var _39a=this._buffers[id];
if(!_39a){
_39a=this._buffers[id]={buffer:[],count:0,max:max};
}
return _39a;
};
std.tunnel.IEIFrameTunnel.prototype._fillBuffer=function(id,pos,max,msgs){
var _39f=this._getBuffer(id,max);
_39f.buffer[pos]=msgs;
_39f.count++;
return _39f.count==_39f.max;
};
std.tunnel.IEIFrameTunnel.prototype._flushBuffer=function(id){
var _3a1=this._getBuffer(id);
if(_3a1.count!=_3a1.max){
throw new Error("Buffer is not ready for flush");
}
var ret=_3a1.buffer.join("");
delete this._buffers[id];
return ret;
};
std.tunnel.PostMessageTunnel=function(){
};
std.tunnel.PostMessageTunnel.prototype=new std.tunnel.AbstractTunnel();
std.tunnel.PostMessageTunnel.prototype.doInit=function(prop){
this._host=prop.remoteHost;
var self=this;
function _onMessage(e){
var msgs=e.data;
self._receive(msgs);
}
if(window.addEventListener){
window.addEventListener("message",_onMessage,false);
document.addEventListener("message",_onMessage,false);
}else{
if(window.attachEvent){
window.attachEvent("onmessage",_onMessage);
document.attachEvent("onmessage",_onMessage);
}
}
};
std.tunnel.PostMessageTunnel.prototype._send=function(msgs){
try{
try{
top.frames[this._host].postMessage(msgs.join("|"),"*");
}
catch(e){
top.frames["gridContainer"].frames[this._host].postMessage(msgs.join("|"),"*");
}
}
catch(e){
if(this._debug){
this.log("ERROR ",e.message);
}
}
};
std.updater={};
std.updater._beginUpdate=function(_3a8){
_3a8.src._std_updater_updating=true;
if(_3a8.busyElementId){
std.dom.element(_3a8.busyElementId).style.display="";
}
if(_3a8.busyDisableForm){
std.form.disable(_3a8.src);
}
if(_3a8.preUpdate&&_3a8.preUpdate!=""){
setTimeout(function(){
eval(_3a8.preUpdate);
},0);
}
};
std.updater._endUpdate=function(_3a9){
_3a9.src._std_updater_updating=null;
if(_3a9.busyElementId){
std.dom.element(_3a9.busyElementId).style.display="none";
}
if(_3a9.busyDisableForm){
std.form.enable(_3a9.src);
}
if(_3a9.postUpdate&&_3a9.postUpdate!=""){
setTimeout(function(){
eval(_3a9.postUpdate);
},0);
}
};
std.updater._responseHandler=function(resp,_3ab){
if(_3ab.updateElementId){
var div=document.createElement("div");
div.innerHTML=resp.responseText;
var _3ad=div.getElementsByTagName("*");
for(var i=0;i<_3ad.length;i++){
var id=_3ad[i].getAttribute("id");
if(id&&id==_3ab.updateElementId){
var dest=document.getElementById(_3ab.updateElementId);
if(dest){
dest.innerHTML=_3ad[i].innerHTML;
}
break;
}
}
}
};
std.updater.handleForm=function(form){
if(form._std_updater_updating){
return;
}
var url=form.action;
var _3b3=std.form.serialize(form);
var _3b4=form.getAttribute("busyDisableForm");
var _3b5={src:form,updateElementId:form.getAttribute("updateElement"),busyElementId:form.getAttribute("busyElement"),busyDisableForm:_3b4?"true"==_3b4.toLowerCase():false,preUpdate:form.getAttribute("preUpdate"),postUpdate:form.getAttribute("postUpdate")};
std.updater._beginUpdate(_3b5);
var req=new std.ajax.Request(url,{method:"post",parameters:_3b3,onComplete:function(resp){
std.updater._endUpdate(_3b5);
std.updater._responseHandler(resp,_3b5);
},onFailure:function(resp){
alert("ERROR "+resp.status+" -- "+resp.statusText);
}});
};
std.updater.handleLink=function(link){
if(link._std_updater_updating){
return;
}
var url=link.href;
var _3bb={src:link,updateElementId:link.getAttribute("updateElement"),busyElementId:link.getAttribute("busyElement"),preUpdate:link.getAttribute("preUpdate"),postUpdate:link.getAttribute("postUpdate")};
std.updater._beginUpdate(_3bb);
var req=new std.ajax.Request(url,{method:"get",onComplete:function(resp){
std.updater._endUpdate(_3bb);
std.updater._responseHandler(resp,_3bb);
},onFailure:function(resp){
alert("ERROR "+resp.status+" -- "+resp.statusText);
}});
};
std.viewport={};
std.viewport._resizeListeners=[];
std.viewport._resizeSeq=0;
std.viewport._resizeTimeout=40;
std.viewport.addResizeListener=function(_3bf){
if(!std.viewport._initialized){
std.event.observe(window,"resize",std.viewport._onResizeEvent);
std.event.observe(window,"load",std.viewport._onResizeEvent);
std.viewport._initialized=true;
if(std.browser.isSafariMobile){
setInterval(function(){
if(std.viewport._innerWidth==window.innerWidth&&std.viewport._innerHeight==window.innerHeight){
return;
}
std.viewport._onResizeEvent();
},300);
}
}
std.viewport._resizeListeners.push(_3bf);
};
std.viewport._lastWidth=0;
std.viewport._lastHeight=0;
std.viewport.fireResize=function(){
var clz=std.viewport;
var dim=std.dom.getBodyExtent();
for(var i=0;i<std.viewport._resizeListeners.length;i++){
std.viewport._resizeListeners[i](dim.width,dim.height,dim.width-clz._lastWidth,dim.height-clz._lastHeight);
}
clz._lastWidth=dim.width;
clz._lastHeight=dim.height;
};
std.viewport._onResizeEvent=function(){
std.viewport._innerWidth=window.innerWidth;
std.viewport._innerHeight=window.innerHeight;
std.viewport._resizeSeq++;
if(std.viewport._resizeListeners.length){
var seq=std.viewport._resizeSeq;
setTimeout(function(){
if(seq==std.viewport._resizeSeq){
std.viewport.fireResize();
}
},std.viewport._resizeTimeout);
}
};
std.viewport.enclose=function(x1,y1,x2,y2){
if(typeof (x1)!="number"){
var _3c8=std.dom.getBounds(std.dom.element(x1));
x1=_3c8.left;
y1=_3c8.top;
x2=_3c8.right;
y2=_3c8.bottom;
}
var dim=std.dom.getBodyExtent();
return std.math.compareQuad([0,0],[dim.width,dim.height],[x1,y1],[x2,y2]).enclose==1;
};
std.global=this;
var ui={};
ui.menu={};
ui.menu.ItemGroup=function(_3ca,_3cb){
_3ca=_3ca||{};
this.setHeader(_3ca.header||null);
this.setHeaderStyle(_3ca.headerStyle||{});
this._itemList=_3cb||[];
};
ui.menu.ItemGroup.prototype.setHeader=function(_3cc){
this._header=_3cc;
};
ui.menu.ItemGroup.prototype.getHeader=function(){
return this._header;
};
ui.menu.ItemGroup.prototype.setHeaderStyle=function(_3cd){
this._headerStyle=_3cd;
};
ui.menu.ItemGroup.prototype.getHeaderStyle=function(){
return this._headerStyle;
};
ui.menu.ItemGroup.prototype.getList=function(){
return this._itemList;
};
ui.menu.ItemGroup.prototype._indexOf=function(ref){
if(typeof (ref)=="string"){
ref=this.get(ref);
}
return std.list.findIndex(this._itemList,ref);
};
ui.menu.ItemGroup.prototype.locate=function(path){
path=path||"";
path=path.replace("^/","");
path=path.replace("/$","");
path=path.split("/");
var id=path.shift();
var item=this.get(id);
return item?(path.length?item.locate(path.join("/")):item):null;
};
ui.menu.ItemGroup.prototype.get=function(pos){
return typeof (pos)=="number"?this._itemList[pos]:std.list.find(this._itemList,function(item){
return item.getId()==pos;
});
};
ui.menu.ItemGroup.prototype.add=function(_3d4){
if(!(_3d4 instanceof Array)){
_3d4=[_3d4];
}
var _3d5=this._itemList;
std.list.iterate(_3d4,function(item){
_3d5.push(item);
});
};
ui.menu.ItemGroup.prototype.insert=function(pos,_3d8){
if(typeof (pos)!="number"){
pos=this._indexOf(pos);
}
if(!(_3d8 instanceof Array)){
_3d8=[_3d8];
}
var _3d9=this._itemList;
std.list.iterate(_3d8,function(item){
_3d9.splice(pos,0,item);
pos++;
});
};
ui.menu.ItemGroup.prototype.remove=function(ref){
this._itemList.splice(typeof (ref)=="number"?ref:this._indexOf(ref),1);
};
ui.menu.MenuItem=function(type,_3dd){
_3dd=_3dd||{};
if(typeof (type)!="undefined"&&type!="button"&&type!="checkbox"&&type!="radio"&&type!="menu"){
throw "Invalid MenuItem type: "+type;
}
this._type=type;
this.setId(_3dd.id||null);
this.setIcon(_3dd.icon||null);
this.setAdditionalIcons(_3dd.additionalIcons||null);
this.setText(_3dd.text||null);
this.setMnemonic(_3dd.mnemonic||null);
this.setStyle(_3dd.style||{});
this.setDisabled(_3dd.disabled||null);
this.setHidden(_3dd.hidden||false);
this.setAction(_3dd.action||null);
this.setValue(_3dd.value||null);
this.setShortcut(_3dd.shortcut||null);
this.setGroup(_3dd.group||null);
};
ui.menu.MenuItem.prototype.getType=function(){
return this._type;
};
ui.menu.MenuItem.prototype.getId=function(){
return this._id;
};
ui.menu.MenuItem.prototype.setId=function(id){
this._id=id;
};
ui.menu.MenuItem.prototype.setIcon=function(icon){
this._icon=icon;
};
ui.menu.MenuItem.prototype.getIcon=function(){
return std.lang.evaluate(this._firstSet(this._icon,this._action.getIcon()));
};
ui.menu.MenuItem.prototype.setAdditionalIcons=function(icon){
this._additionalIcons=icon;
};
ui.menu.MenuItem.prototype.getAdditionalIcons=function(){
return this._additionalIcons;
};
ui.menu.MenuItem.prototype.setText=function(text){
this._text=text;
};
ui.menu.MenuItem.prototype.getText=function(){
return std.lang.evaluate(this._firstSet(this._text,this._action.getText()));
};
ui.menu.MenuItem.prototype.setMnemonic=function(_3e2){
this._mnemonic=_3e2;
};
ui.menu.MenuItem.prototype.getMnemonic=function(){
return std.lang.evaluate(this._firstSet(this._mnemonic,this._action.getMnemonic()));
};
ui.menu.MenuItem.prototype.setStyle=function(_3e3){
this._style=_3e3;
};
ui.menu.MenuItem.prototype.getStyle=function(){
return std.lang.evaluate(this._style);
};
ui.menu.MenuItem.prototype.setDisabled=function(bool){
this._disabled=bool;
};
ui.menu.MenuItem.prototype.isDisabled=function(bool){
return std.lang.evaluate(this._firstSet(this._disabled,this._action.isDisabled()));
};
ui.menu.MenuItem.prototype.setHidden=function(bool){
this._hidden=bool;
};
ui.menu.MenuItem.prototype.isHidden=function(){
return std.lang.evaluate(this._hidden);
};
ui.menu.MenuItem.prototype.setShortcut=function(_3e7){
this._shortcut=_3e7;
};
ui.menu.MenuItem.prototype.getShortcut=function(){
return std.lang.evaluate(this._firstSet(this._shortcut,(this._action.getShortcutList()||[])[0]));
};
ui.menu.MenuItem.prototype.setGroup=function(_3e8){
this._group=_3e8;
};
ui.menu.MenuItem.prototype.getGroup=function(){
return std.lang.evaluate(this._group);
};
ui.menu.MenuItem.prototype.setParent=function(_3e9){
this._parent=_3e9;
};
ui.menu.MenuItem.prototype.getParent=function(){
return this._parent;
};
ui.menu.MenuItem.prototype.getRoot=function(){
var root=this._parent;
while(root&&root._parent){
root=root._parent;
}
return root;
};
ui.menu.MenuItem.prototype.setAction=function(_3eb){
this._action=_3eb||new std.action.Nil();
};
ui.menu.MenuItem.prototype.setValue=function(_3ec){
this._value=_3ec;
};
ui.menu.MenuItem.prototype.isSelected=function(){
return this._action&&this._action.isSelected();
};
ui.menu.MenuItem.prototype.setSelected=function(_3ed){
if(this._action){
this._action.setSelected(_3ed);
}
};
ui.menu.MenuItem.prototype.performAction=function(){
switch(this._type){
case "checkbox":
case "radio":
this._action.setSelected(!this._action.isSelected());
}
this._action.setValue(std.lang.evaluate(this._value));
this._action.performAction();
if(this._parent.onChildActionPerformed){
this._parent.onChildActionPerformed();
}
};
ui.menu.MenuItem.prototype._firstSet=function(){
for(var i=0;i<arguments.length;i++){
var arg=arguments[i];
if((typeof (arg)!="undefined")&&(arg!=null)){
return arg;
}
}
return null;
};
ui.menu.Menu=function(_3f0,_3f1){
_3f0=_3f0||{};
ui.menu.MenuItem.call(this,"menu",_3f0);
this._delay=_3f0.delay||250;
this._visible=false;
this._itemGroupList=[];
if(_3f1){
std.list.iterate(_3f1,std.lang.bind(this,this.add));
}
this._focusDelegator=std.customfocus.getManager().newDelegator(this,std.lang.bind(this,this._onFocus),std.lang.bind(this,this._onBlur));
};
ui.menu.Menu.prototype=new ui.menu.MenuItem();
ui.menu.Menu.prototype._createView=function(){
var _3f2={};
var _3f3=new std.dom.Builder();
_3f2.root=_3f3.push("div",{className:"PopupMenu"});
if(std.browser.isIE&&std.browser.major<7){
_3f2.hackIFrame=_3f3.append("iframe",{frameBorder:0,scrolling:"no",src:"javascript:'';"});
}
_3f2.pane=_3f3.push("div",{className:"PopupMenuPane"});
_3f3.push("div",{className:"PopupMenuShadow"});
_3f2.cavity=_3f3.push("div",{className:"PopupMenuBorder"});
std.event.observe(_3f2.pane,"mousedown",std.event.listener(this,this._onMenuMouseDown));
std.event.observe(_3f2.pane,"mouseover",std.event.listener(this,this._onButtonMouseOver));
std.event.observe(_3f2.pane,"mouseout",std.event.listener(this,this._onButtonMouseOut));
std.event.observe(_3f2.pane,"mousedown",std.event.listener(this,this._onButtonMouseDown));
std.event.observe(_3f2.pane,"click",std.event.listener(this,this._onButtonClick));
return _3f2;
};
ui.menu.Menu.prototype._getNodes=function(){
return this._nodes||(this._nodes=this._createView());
};
ui.menu.Menu.prototype.updateUI=function(){
this._elementList=[];
var html=[];
html.push("<table><tbody>");
var _3f5=0;
for(var i=0;i<this._itemGroupList.length;i++){
var _3f7=this._itemGroupList[i];
var _3f8=_3f7.getList();
var _3f9=0;
for(var j=0;j<_3f8.length;j++){
if(!_3f8[j].isHidden()){
_3f9++;
}
}
if(_3f9==0){
continue;
}
if(i>0){
html.push("<tr class=\"PopupMenuSep\">");
html.push("<td colspan=\"6\"><div><!-- --></div></td>");
html.push("</tr>");
}
if(_3f7.getHeader()){
html.push("<tr class=\"PopupMenuSection\">");
html.push("<td colspan=\"6\">"+std.string.fullEscapeHTML(_3f7.getHeader())+"</td>");
html.push("</tr>");
}
for(var j=0;j<_3f8.length;j++){
var item=_3f8[j];
if(item.isHidden()){
continue;
}
var _3fc={item:item,type:item.getType(),index:_3f5++,iconStyle:null,additionalIconsStyle:[],nodes:{}};
this._elementList.push(_3fc);
item.setParent(this);
var _3fd=item.getShortcut();
html.push("<tr class=\""+(item.isDisabled()?"PopupMenuDisabledItem":"PopupMenuItem")+"\">");
html.push("<td class=\"PopupMenuItemIcon\">");
var _3fe=null;
switch(_3fc.type){
case "checkbox":
_3fe=item.isSelected()?"PopupMenuIcon PopupMenuIconCheckBox":"PopupMenuIcon";
break;
case "radio":
_3fe=item.isSelected()?"PopupMenuIcon PopupMenuIconRadio":"PopupMenuIcon";
break;
default:
var icon=item.getIcon();
if(icon){
_3fe="PopupMenuIcon";
if(typeof (icon)=="string"){
_3fc.iconStyle={backgroundImage:"url("+icon+")"};
}else{
if(icon.className){
_3fe=_3fe+" "+icon.className;
}
_3fc.iconStyle=icon;
}
}
break;
}
html.push("<div"+(_3fe?(" class=\""+_3fe+"\""):"")+"><!-- --></div>");
html.push("</td>");
html.push("<td class=\"PopupMenuItemAdditionalIcons\">");
var _400=item.getAdditionalIcons();
if(_400){
var _401=std.lang.isArray(_400)?_400:[_400];
var _402="PopupMenuAdditionalIcons";
for(var x=0;x<_401.length;x++){
var _404=_401[x];
if(_404==null){
continue;
}
var _405="PopupMenuAdditionalIcons_"+x;
if(typeof (_404)=="string"){
_3fc.additionalIconsStyle[x]={backgroundImage:"url("+_404+")"};
}else{
if(_404.className){
_405=_405+" "+_404.className;
}
_3fc.additionalIconsStyle[x]=_404;
}
html.push("<div class=\""+_402+" "+_405+"\"><!-- --></div>");
}
}else{
html.push("<div><!-- --></div>");
}
html.push("</td>");
html.push("<td class=\"PopupMenuItemName\""+(_3fd?"":" colspan=\"2\"")+">");
var text=item.getText();
var _407=item.getMnemonic();
var _408=_407?text.toLowerCase().indexOf(_407.toLowerCase()):text.length;
var _409=_408>=0?text.substr(0,_408):"";
var _40a=_408>=0?text.substr(_408,1):"";
var _40b=text.substr(_408+1);
if(_409){
html.push(std.string.fullEscapeHTML(_409));
}
if(_40a){
html.push("<span style=\"text-decoration: underline\">"+std.string.fullEscapeHTML(_40a)+"</span>");
}
if(_40b){
html.push(std.string.fullEscapeHTML(_40b));
}
html.push("</td>");
if(_3fd){
html.push("<td class=\"PopupMenuItemShortcut\">");
html.push(std.string.fullEscapeHTML(_3fd.toString()||""));
html.push("</td>");
}
html.push("<td class=\"PopupMenuItemExpand\">");
if(_3fc.type=="menu"){
html.push("<div class=\"PopupMenuIcon PopupMenuIconExpand\"><!-- --></div>");
}
html.push("</td>");
html.push("</tr>");
}
}
html.push("</tbody></table>");
var _40c=this._getNodes().cavity;
_40c.innerHTML=html.join("");
var _40d=this._elementList;
var _40e=0;
std.list.iterate(_40c.getElementsByTagName("tr"),function(row){
if(row.className=="PopupMenuItem"||row.className=="PopupMenuDisabledItem"){
row._index=_40e;
var _410=_40d[_40e];
_410.nodes.root=row;
std.list.iterate(row.getElementsByTagName("td"),function(td){
std.dom.noselect(td);
});
if(_410.iconStyle){
std.list.iterate(row.getElementsByTagName("div"),function(div){
if(div.className.match(/\bPopupMenuIcon\b/)){
std.dom.setStyles(div,_410.iconStyle);
}
});
}
if(_410.additionalIconsStyle&&std.lang.isArray(_410.additionalIconsStyle)){
for(var x=0;x<_410.additionalIconsStyle.length;x++){
var _414=_410.additionalIconsStyle[x];
std.list.iterate(row.getElementsByTagName("div"),function(div){
var re=new RegExp("PopupMenuAdditionalIcons_"+x);
if(div.className.match(re)){
std.dom.setStyles(div,_414);
}
});
}
}
if(_410.item.getStyle()){
std.dom.setStyles(row,_410.item.getStyle());
}
_40e++;
}
});
};
ui.menu.Menu.prototype.locate=function(path){
path=path||"";
path=path.replace("^/","");
path=path.replace("/$","");
path=path.split("/");
var id=path.shift();
var item=(id==parseInt(id))?this.getList()[parseInt(id)]:this.getItem(id);
return item?(path.length?item.locate(path.join("/")):item):null;
};
ui.menu.Menu.prototype.getList=function(){
return this._itemGroupList;
};
ui.menu.Menu.prototype.getItem=function(id){
for(var i=0;i<this._itemGroupList.length;i++){
var item=this._itemGroupList[i].get(id);
if(item){
return item;
}
}
return null;
};
ui.menu.Menu.prototype._indexOf=function(ref){
return std.list.findIndex(this._itemGroupList,ref);
};
ui.menu.Menu.prototype.get=function(pos){
return this._itemGroupList[pos];
};
ui.menu.Menu.prototype.add=function(_41f){
if(_41f instanceof ui.menu.MenuItem){
if(this._itemGroupList.length==0){
this._itemGroupList[0]=new ui.menu.ItemGroup();
}
this._itemGroupList[this._itemGroupList.length-1].add(_41f);
}else{
this._itemGroupList.push(_41f);
}
};
ui.menu.Menu.prototype.insert=function(pos,_421){
this._itemGroupList.splice(typeof (pos)=="number"?pos:this._indexOf(pos),0,_421);
};
ui.menu.Menu.prototype.remove=function(pos){
this._itemGroupList.splice(typeof (pos)=="number"?pos:this._indexOf(pos),1);
};
ui.menu.Menu.prototype.removeItem=function(id){
for(var i=0;i<this._itemGroupList.length;i++){
var item=this._itemGroupList[i].get(id);
if(item){
this._itemGroupList[i].remove(item);
}
}
};
ui.menu.Menu.prototype.select=function(_426){
var _427=typeof (_426)=="number"?this._elementList[_426]:null;
if(this._selectedElement&&this._selectedElement!=_427){
this._selectedElement.nodes.root.className=this._selectedElement.item.isDisabled()?"PopupMenuDisabledItem":"PopupMenuItem";
}
this._selectedElement=_427;
if(this._selectedElement){
ui.menu.getMenuManager().setActiveMenu(this);
this._selectedElement.nodes.root.className=this._selectedElement.item.isDisabled()?"PopupMenuDisabledItemHover":"PopupMenuItemHover";
}
};
ui.menu.Menu.prototype.selectOffset=function(_428){
var _429=this._selectedElement?this._selectedElement.index:0;
_429=(_429+_428+this._elementList.length)%this._elementList.length;
this.select(_429);
};
ui.menu.Menu.prototype.getSelectedItem=function(){
return this._selectedElement?this._selectedElement.item:null;
};
ui.menu.Menu.prototype.setExpanded=function(bool){
var _42b=this._getExpandedElement();
if(_42b&&(!bool||_42b!=this._selectedElement)){
_42b.item.hide();
_42b.item.setParent(null);
}
if(bool&&this._selectedElement&&this._selectedElement.item.getType()=="menu"&&_42b!=this._selectedElement){
var _42c=std.dom.getBounds(this._selectedElement.nodes.root);
this._selectedElement.item.setParent(this);
this._selectedElement.item.show(_42c.right,_42c.top,"top left");
}
};
ui.menu.Menu.prototype._getExpandedElement=function(){
for(var i=0;i<this._elementList.length;i++){
var _42e=this._elementList[i];
if(_42e.item.getType()=="menu"&&_42e.item.isVisible()){
return _42e;
}
}
return null;
};
ui.menu.Menu.prototype.getMnemonicIndex=function(_42f){
for(var i=0;i<this._elementList.length;i++){
if(this._elementList[i].item.getMnemonic().toLowerCase()==_42f.toLowerCase()){
return i;
}
}
return -1;
};
ui.menu.Menu.prototype.isVisible=function(){
return this._visible;
};
ui.menu.Menu.prototype.onChildActionPerformed=function(){
if(this.getParent()){
this.getParent().onChildActionPerformed();
}else{
this.hide();
}
};
ui.menu.Menu.prototype._onFocus=function(){
ui.menu.getMenuManager().menuFocused();
};
ui.menu.Menu.prototype._onBlur=function(){
ui.menu.getMenuManager().menuBlurred();
this.hide();
};
ui.menu.Menu.prototype.getActivator=function(){
return this._activator||(this._activator=new ui.menu.Activator(this));
};
ui.menu.Menu.prototype._findEventElement=function(e){
return std.dom.backtrack(std.event.element(e),function(ele){
return ele.tagName!="TR";
});
};
ui.menu.Menu.prototype._onMenuMouseDown=function(e){
if(this._visible){
std.event.vanish(e);
}
};
ui.menu.Menu.prototype._onButtonMouseOver=function(e){
var node=this._findEventElement(e);
if(node){
this.select(node._index);
this.buttonHoverTimer=setTimeout(std.lang.bind(this,this._onButtonHover),this._delay);
}
};
ui.menu.Menu.prototype._onButtonMouseOut=function(e){
var node=this._findEventElement(e);
if(node){
if(!this._getExpandedElement()){
this.select(null);
}
clearTimeout(this.buttonHoverTimer);
}
};
ui.menu.Menu.prototype._onButtonMouseDown=function(e){
var node=this._findEventElement(e);
if(node){
this.setExpanded(true);
}
};
ui.menu.Menu.prototype._onButtonClick=function(e){
var node=this._findEventElement(e);
if(node){
var item=this._elementList[node._index].item;
switch(item.getType()){
case "button":
case "radio":
case "checkbox":
if(!item.isDisabled()){
item.performAction();
}
}
}
};
ui.menu.Menu.prototype._onButtonHover=function(){
this.setExpanded(true);
};
ui.menu.Menu.prototype.relocate=function(x,y,_43f){
var _440=this._getNodes();
var dim=std.dom.getDimensions(_440.pane);
var posX=x-(/right/.test(_43f)?(dim.width-1):0);
var posY=y-(/bottom/.test(_43f)?(dim.height-1):0);
_440.root.style.left=posX+"px";
_440.root.style.top=posY+"px";
if(_440.hackIFrame){
_440.hackIFrame.style.width=dim.width+"px";
_440.hackIFrame.style.height=dim.height+"px";
}
};
ui.menu.Menu.prototype.show=function(x,y,_446){
if(!this._visible){
this._visible=true;
var root=this._getNodes().root;
this.updateUI();
root.style.left="-10000px";
root.style.top="-10000px";
root.style.visibility="hidden";
document.body.appendChild(root);
this.relocate(x,y,_446);
root.style.visibility="";
ui.menu.getMenuManager().setActiveMenu(this);
if(!(this._parent instanceof ui.menu.Menu)){
this._focusDelegator.focus();
}
}else{
this.relocate(x,y,_446);
}
};
ui.menu.Menu.prototype.hide=function(){
if(this._visible){
this._visible=false;
if(this._getExpandedElement()){
this._getExpandedElement().item.hide();
}
this._selectedElement=null;
document.body.removeChild(this._getNodes().root);
this._focusDelegator.blur();
this._focusDelegator.detach();
}
};
ui.menu.Menu.prototype.toggle=function(x,y,_44a){
if(this._visible){
this.hide();
}else{
this.relocate(x,y,_44a);
}
};
ui.menu.Menu.prototype.populateWith=function(data){
for(var i=0;i<data.items.length;i++){
var _44d=data.items[i];
var _44e=new ui.menu.ItemGroup();
this.add(_44e);
for(var j=0;j<_44d.length;j++){
var item=_44d[j];
if(data.children&&data.children[item.id]){
var _451=new ui.menu.Menu({id:item.id,text:item.display,mnemonic:item.mnemonic,icon:item.icon});
_44e.add(_451);
_451.populateWith(data.children[item.id]);
}else{
var _452=null;
switch(typeof (item.action)){
case "string":
_452=new std.action.Url({url:item.action});
break;
case "function":
_452=new std.action.Script({script:item.action});
break;
case "object":
_452=item.action||new std.action.Nil();
break;
}
var type=item.type||"button";
_44e.add(new ui.menu.MenuItem(type,{id:item.id,text:item.display,mnemonic:item.mnemonic,icon:item.icon,additionalIcons:item.additionalIcons,style:item.style,disabled:item.disabled,hidden:item.hidden,action:_452,value:item.value,group:item.group}));
}
}
}
};
ui.menu.Activator=function(menu){
this._menu=menu;
};
ui.menu.Activator.prototype.getMenu=function(){
return this._menu;
};
ui.menu.Activator.prototype.getSrcDomNode=function(){
return this._srcDomNode;
};
ui.menu.Activator.prototype.observe=function(_455,_456,_457){
_455=std.dom.element(_455);
var _458=std.event.listener(this,this._onEventObserved,_455,_457);
std.event.observe(_455,_456,_458);
return _458;
};
ui.menu.Activator.prototype.stopObserving=function(_459,_45a,_45b){
std.event.stopObserving(_459,_45a,_45b);
};
ui.menu.Activator.prototype._onEventObserved=function(e,_45d,_45e){
var _45f=this._srcDomNode;
this._srcDomNode=_45d;
if(!this._menu.isVisible()||_45f!=_45d){
setTimeout(std.lang.bind(this,this._showMenu,_45e),0);
}
};
ui.menu.Activator.prototype._showMenu=function(_460){
var ret=_460(this);
if(ret){
var x=ret.shift();
var y=ret.shift();
var _464=ret.shift();
this._menu.show(x,y,_464);
}
};
ui.menu.MenuBar=function(_465,_466){
_465=_465||{};
ui.menu.ItemGroup.call(this,_465,_466);
std.event.observe(document,"mousedown",std.lang.bind(this,this.select,null));
std.event.keyObserve(document,"keydown",std.event.listener(this,this._onKeyDown,null));
};
ui.menu.MenuBar.prototype=new ui.menu.ItemGroup();
ui.menu.MenuBar.prototype._createView=function(){
var _467={};
_467.root=std.dom.newElement("div");
_467.cavity=_467.root;
return _467;
};
ui.menu.MenuBar.prototype._getNodes=function(){
if(!this._nodes){
this._nodes=this._createView();
this.updateUI();
}
return this._nodes;
};
ui.menu.MenuBar.prototype.getRoot=function(){
return this._getNodes().root;
};
ui.menu.MenuBar.prototype.updateUI=function(){
this._elementList=[];
var _468=this._getNodes().cavity;
std.dom.clearChildren(_468);
var _469=new std.dom.Builder(_468);
for(var i=0,_46b=0;i<this._itemList.length;i++){
var item=this._itemList[i];
if(!item.isHidden()){
var _46d={item:item,index:_46b,nodes:{}};
this._elementList.push(_46d);
_46d.nodes.root=_469.push("div",{className:"MenuBarItem"});
_46d.nodes.root._index=_46b;
_46b++;
_46d.nodes.icon=_469.push("div");
_469.appendElement(std.dom.newComment(" "));
_469.pop();
_46d.nodes.text=_469.push("div");
_469.appendElement(std.dom.newText(_46d.item.getText()));
_469.pop();
std.dom.noselect(_46d.nodes.icon);
std.dom.noselect(_46d.nodes.text);
std.event.observe(_46d.nodes.root,"mouseover",std.event.listener(this,this._onButtonMouseOver,_46d));
std.event.observe(_46d.nodes.root,"mouseout",std.event.listener(this,this._onButtonMouseOut,_46d));
std.event.observe(_46d.nodes.root,"mousedown",std.event.listener(this,this._onButtonMouseDown,_46d));
if(_46d.item.getStyle()){
std.dom.setStyles(_46d.nodes.root,_46d.item.getStyle());
}
_469.pop();
}
}
};
ui.menu.MenuBar.prototype.select=function(_46e){
var _46f=this._selectedElement;
var _470=typeof (_46e)=="number"?this._elementList[_46e]:null;
if(_46f!=_470){
var _471=this.isExpanded();
if(_46f){
if(_471){
_46f.item.hide();
_46f.item.setParent(null);
}
_46f.nodes.root.className="MenuBarItem";
}
if(_470){
if(_471){
var _472=std.dom.getBounds(_470.nodes.root);
_470.item.setParent(this);
_470.item.show(_472.left,_472.bottom,"top left");
_470.nodes.root.className="MenuBarItemActive";
}else{
_470.nodes.root.className="MenuBarItemHover";
}
}
this._selectedElement=_470;
}
};
ui.menu.MenuBar.prototype.selectOffset=function(_473){
var _474=this._selectedElement?this._selectedElement.index:0;
_474=(_474+_473+this._elementList.length)%this._elementList.length;
this.select(_474);
};
ui.menu.MenuBar.prototype.setExpanded=function(bool){
if(this._selectedElement){
var _476=this.isExpanded();
if(bool&&!_476){
var _477=std.dom.getBounds(this._selectedElement.nodes.root);
this._selectedElement.item.setParent(this);
this._selectedElement.item.show(_477.left,_477.bottom,"top left");
this._selectedElement.nodes.root.className="MenuBarItemActive";
}else{
if(!bool&&_476){
this._selectedElement.item.hide();
this._selectedElement.item.setParent(null);
this._selectedElement.nodes.root.className="MenuBarItemHover";
}
}
}
};
ui.menu.MenuBar.prototype.getSelectedItem=function(){
return this._selectedElement?this._selectedElement.item:null;
};
ui.menu.MenuBar.prototype.isExpanded=function(){
return this._selectedElement&&this._selectedElement.item.isVisible();
};
ui.menu.MenuBar.prototype.onChildActionPerformed=function(){
this.setExpanded(false);
this.select(null);
};
ui.menu.MenuBar.prototype._onButtonMouseOver=function(e,_479){
this.select(_479.index);
};
ui.menu.MenuBar.prototype._onButtonMouseOut=function(e,_47b){
if(!this.isExpanded()){
this.select(null);
}
};
ui.menu.MenuBar.prototype._onButtonMouseDown=function(e,_47d){
this.setExpanded(!this.isExpanded());
std.event.vanish(e);
};
ui.menu.MenuBar.prototype._onKeyDown=function(ke){
if(ke.keyIdentifier==std.event.KeyCodes.generic.KEY_ESCAPE){
this.select(null);
}
};
ui.menu.MenuBar.prototype.populateWith=function(data){
for(var i=0;i<data.items.length;i++){
var item=data.items[i];
var _482=new ui.menu.Menu({id:item.id,text:item.display,mnemonic:item.mnemonic,style:item.style,disabled:item.disabled,hidden:item.hidden});
this.add(_482);
_482.populateWith(data.children[item.id]);
}
};
ui.menu.MenuManager=function(){
std.event.keyObserve(document,"keypress",std.lang.bind(this,this._onKeyPress));
std.event.keyObserve(document,"keydown",std.event.listener(this,this._onKeyDown));
};
ui.menu.MenuManager.prototype.setActiveMenu=function(menu){
this._activeMenu=menu;
};
ui.menu.MenuManager.prototype.select=function(_484){
if(this._activeMenu&&this._activeMenu.isVisible()){
var menu=this._activeMenu;
var _486=menu.getSelectedItem();
switch(_484){
case "up":
menu.selectOffset(-1);
break;
case "down":
_486?menu.selectOffset(1):menu.select(0);
break;
case "left":
if(menu.getParent()){
var _487=menu.getParent();
if(_487 instanceof ui.menu.Menu){
menu.hide();
_487.selectOffset(0);
}else{
if(_487 instanceof ui.menu.MenuBar){
_487.selectOffset(-1);
_487.setExpanded(true);
_487.getSelectedItem().select(0);
}
}
}
break;
case "right":
if(!_486){
menu.select(0);
}else{
if(_486 instanceof ui.menu.Menu){
menu.setExpanded(true);
_486.select(0);
}else{
if(menu.getRoot()&&(menu.getRoot() instanceof ui.menu.MenuBar)){
var _488=menu.getRoot();
_488.selectOffset(1);
_488.setExpanded(true);
_488.getSelectedItem().select(0);
}
}
}
break;
}
}
};
ui.menu.MenuManager.prototype.doAction=function(){
if(this._activeMenu&&this._activeMenu.isVisible()){
var menu=this._activeMenu;
var _48a=menu.getSelectedItem();
switch(_48a.getType()){
case "menu":
menu.setExpanded(true);
_48a.select(0);
break;
default:
if(!_48a.isDisabled()){
_48a.performAction();
}
break;
}
}
};
ui.menu.MenuManager.prototype._onKeyPress=function(ke){
if(this._activeMenu&&this._activeMenu.isVisible()&&this._hasFocusedMenu){
var k=ke.keyIdentifier;
var e=ke.evt;
var _48e=std.event.KeyCodes.generic;
switch(k){
case _48e.KEY_LEFT_ARROW:
this.select("left");
std.event.vanish(e);
break;
case _48e.KEY_RIGHT_ARROW:
this.select("right");
std.event.vanish(e);
break;
case _48e.KEY_UP_ARROW:
this.select("up");
std.event.vanish(e);
break;
case _48e.KEY_DOWN_ARROW:
this.select("down");
std.event.vanish(e);
break;
case _48e.KEY_ENTER:
this.doAction();
std.event.vanish(e);
break;
default:
var _48f=std.event.getChar(e);
var _490=this._activeMenu.getMnemonicIndex(_48f);
if(_490>=0){
this._activeMenu.select(_490);
this.doAction();
}
std.event.vanish(e);
break;
}
}
};
ui.menu.MenuManager.prototype._onKeyDown=function(ke){
if(this._activeMenu&&this._activeMenu.isVisible()){
if(ke.keyIdentifier==std.event.KeyCodes.generic.KEY_ESCAPE){
this._activeMenu.hide();
}
}
};
ui.menu.MenuManager.prototype.menuFocused=function(){
this._hasFocusedMenu=true;
};
ui.menu.MenuManager.prototype.menuBlurred=function(){
this._hasFocusedMenu=false;
};
ui.menu.getMenuManager=function(){
if(!this._menuManager){
this._menuManager=new ui.menu.MenuManager();
}
return this._menuManager;
};
ui.menu2=ui.menu;
ui.hintbox={};
ui.hintbox.HintBox=function(_492){
_492=_492||{};
this.content=_492.content||null;
this.style=_492.style||{};
this.anchor=_492.anchor||null;
this.offsetX=_492.offsetX||0;
this.offsetY=_492.offsetY||0;
this.align=_492.align||"bottom right";
this.snap=_492.snap||"top left";
this.fader=new std.ani.Interpolator();
this.fader.setOnEvent(std.lang.bind(this,this._onFaderEvent));
};
ui.hintbox.HintBox.prototype.getRootNode=function(){
this._realize();
return this.elements.root;
};
ui.hintbox.HintBox.prototype.setAnchorPosition=function(_493){
this._realize();
_493=std.string.parsePosition(_493);
this.elements.upAnchor.style.visibility=_493.top?"visible":"hidden";
this.elements.downAnchor.style.visibility=_493.top?"hidden":"visible";
this.elements.upAnchor.style.left=this.elements.downAnchor.style.left=_493.left?"0":"";
this.elements.upAnchor.style.right=this.elements.downAnchor.style.right=_493.left?"":"0";
};
ui.hintbox.HintBox.prototype.show=function(){
this._realize();
this._updatePosition();
this.fader.reset(1);
};
ui.hintbox.HintBox.prototype.fade=function(){
this._realize();
this.fader.start(1,0,350,25);
};
ui.hintbox.HintBox.prototype._updatePosition=function(){
if(this.anchor){
var root=this.elements.root;
var _495=this.elements.hintboxPane;
var _496=this.elements.coverframe;
var _497=std.string.parsePosition(this.align);
var snap=std.string.parsePosition(this.snap);
var _499=root.style.display;
root.style.display="";
this.setAnchorPosition(std.string.printPosition({top:_497.bottom,bottom:_497.top,left:_497.right,right:_497.left}));
var _49a=std.dom.getDimensions(root);
var _49b=std.dom.getDimensions(this.elements.upAnchor);
var _49c=Math.round(_49b.width/2);
var _49d=std.dom.getDimensions(this.elements.outerbox);
var _49e=std.dom.getDimensions(this.elements.hintboxPane);
root.style.display=_499;
var pos={};
if(this.anchor.length==2&&typeof (this.anchor[0])=="number"){
pos.top=pos.bottom=this.anchor;
}else{
var _4a0=std.dom.getBounds(this.anchor);
var x=Math.round((_4a0.left+_4a0.right)/2);
pos.top=[x,_4a0.top];
pos.bottom=[x,_4a0.bottom];
}
var _4a2=[];
if(_497.right){
_4a2[0]=this.offsetX+pos.top[0]-_49c;
}else{
_4a2[0]=this.offsetX+pos.top[0]-_49a.width+_49c;
}
if(_497.bottom){
_4a2[1]=this.offsetY+pos.bottom[1];
}else{
_4a2[1]=this.offsetY+pos.top[1]-_49a.height;
}
var _4a3=std.dom.getBodyExtent();
if(snap.right){
root.style.left="";
root.style.right=_4a3.width-_4a2[0]-_49a.width+"px";
}else{
root.style.left=_4a2[0]+"px";
root.style.right="";
}
if(snap.bottom){
root.style.top="";
root.style.bottom=_4a3.height-_4a2[1]-_49a.height+"px";
if(_496){
_496.style.bottom=root.style.bottom;
}
}else{
root.style.top=_4a2[1]+"px";
root.style.bottom="";
if(_496){
_496.style.top=(_49e.height-_49d.height)/2+"px";
}
}
if(_496){
_496.style.left=this.elements.outerbox.style.left;
_496.style.right=this.elements.outerbox.style.right;
_496.height=_49d.height+"px";
_496.width=_49d.width+"px";
}
}
};
ui.hintbox.HintBox.prototype._onFaderEvent=function(_4a4){
std.dom.opacity(this.elements.root,_4a4.getCurPoint());
this.elements.root.style.display=_4a4.getCurPoint()<=0?"none":"";
if(this.elements.coverframe){
this.elements.coverframe.style.display=_4a4.getCurPoint()<=0?"none":"";
}
};
ui.hintbox.HintBox.prototype._onRelayout=function(){
if(this.elements.root.style.display!="none"){
this._updatePosition();
}
};
ui.hintbox.HintBox.prototype._realize=function(){
if(!this.elements){
this.elements={};
var _4a5=new std.dom.Builder();
this.elements.root=_4a5.push("div",{className:"HintBoxRoot"},{display:"none"});
if(std.browser.isIE&&std.browser.major<7){
this.elements.coverframe=_4a5.append("iframe",{frameBorder:0,scrolling:"no",src:"javascript:'';",id:"HintBoxUnderCoverFrame"});
}
this.elements.hintboxPane=_4a5.push("div",{className:"HintBox"});
_4a5.push("div",{className:"HintBoxUp"});
this.elements.upAnchor=_4a5.push("div",{className:"HintBoxAnchor"});
_4a5.push("div");
_4a5.peek().appendChild(document["create"+"Comment"](" "));
_4a5.pop();
_4a5.pop();
_4a5.pop();
this.elements.outerbox=_4a5.push("div",{className:"HintBoxBorderOuter"});
_4a5.push("div",{className:"HintBoxBorderInner"});
this.elements.content=_4a5.append("div",{className:"HintBoxContent"});
_4a5.pop();
_4a5.pop();
_4a5.push("div",{className:"HintBoxDown"});
this.elements.downAnchor=_4a5.push("div",{className:"HintBoxAnchor"});
_4a5.push("div");
_4a5.peek().appendChild(document["create"+"Comment"](" "));
_4a5.pop();
_4a5.pop();
_4a5.pop();
if(this.content){
this.elements.content.appendChild(this.content);
}
std.css.setStyle(this.elements.hintboxPane,this.style);
document.body.appendChild(this.elements.root);
std.viewport.addResizeListener(std.lang.bind(this,this._onRelayout));
}
};
ui.notif={};
ui.notif.Notif=function(_4a6,name){
this.baseUri=_4a6.replace(/\/?$/,"/");
this.name=name;
};
ui.notif.Notif.prototype.accept=function(){
std.ajax.ping(this.baseUri+"notif/accept/"+this.name);
};
ui.notif.Notif.prototype.ifShallShow=function(_4a8){
new std.ajax.Request(this.baseUri+"notif/shallshow/"+this.name,{method:"post",asynchronous:true,onComplete:std.lang.bind(this,this._onShallShowComplete,_4a8)});
};
ui.notif.Notif.prototype._onShallShowComplete=function(_4a9,resp){
if(resp.responseText=="1"){
_4a9();
}
};
ui.util={};
ui.util.StackingOrderManager=function(args){
args=args||{};
this._inc=args.increment||50;
this._zIndex=args.zIndex;
this._list=[{id:null,zIndex:this._zIndex}];
};
ui.util.StackingOrderManager.prototype._peek=function(){
return this._list[this._list.length-1];
};
ui.util.StackingOrderManager.prototype._push=function(id,_4ad){
this._list[this._list.length]={id:id,zIndex:_4ad};
};
ui.util.StackingOrderManager.prototype.alloc=function(id){
var peek=this._peek();
if(id!=peek.id){
this.free(id);
this._push(id,peek.zIndex+this._inc);
}
return this._peek().zIndex;
};
ui.util.StackingOrderManager.prototype.free=function(id){
var temp=[];
for(var i=0;i<this._list.length;i++){
if(this._list[i].id!=id){
temp[temp.length]=this._list[i];
}
}
this._list=temp;
};
ui.component={};
ui.component.Box=function(_4b3){
this.domNode=_4b3;
};
ui.component.Box.prototype.setBounds=function(x,y,w,h){
this.setPosition(x,y);
this.setSize(w,h);
};
ui.component.Box.prototype.setPosition=function(x,y){
this.setLeft(x);
this.setTop(y);
};
ui.component.Box.prototype.setSize=function(w,h){
this.setWidth(w);
this.setHeight(h);
};
ui.component.Box.prototype.setLeft=function(x){
this.domNode.style.left=x+"px";
};
ui.component.Box.prototype.setTop=function(y){
this.domNode.style.top=y+"px";
};
ui.component.Box.prototype.setWidth=function(w){
this.domNode.style.width=w+"px";
};
ui.component.Box.prototype.setHeight=function(h){
this.domNode.style.height=h+"px";
};
ui.component.Box.prototype.getLeft=function(){
return parseInt(this.domNode.offsetLeft);
};
ui.component.Box.prototype.getTop=function(){
return parseInt(this.domNode.offsetTop);
};
ui.component.Box.prototype.getWidth=function(){
return std.dom.getDimensions(this.domNode).width;
};
ui.component.Box.prototype.getHeight=function(){
return std.dom.getDimensions(this.domNode).height;
};
ui.component.CompositeBox=function(_4c0){
this.boxes=_4c0;
};
ui.component.CompositeBox.prototype.setLeft=function(x){
std.list.iterate(this.boxes,std.lang.bind(this,function(box){
box.setLeft(x);
}));
};
ui.component.CompositeBox.prototype.setTop=function(y){
std.list.iterate(this.boxes,std.lang.bind(this,function(box){
box.setTop(y);
}));
};
ui.component.CompositeBox.prototype.setWidth=function(w){
std.list.iterate(this.boxes,std.lang.bind(this,function(box){
box.setWidth(w);
}));
};
ui.component.CompositeBox.prototype.setHeight=function(h){
std.list.iterate(this.boxes,std.lang.bind(this,function(box){
box.setHeight(h);
}));
};
ui.component.CompositeBox.prototype.getLeft=function(){
return this.boxes[0].getLeft();
};
ui.component.CompositeBox.prototype.getTop=function(){
return this.boxes[0].getTop();
};
ui.component.CompositeBox.prototype.getWidth=function(){
return this.boxes[0].getWidth();
};
ui.component.CompositeBox.prototype.getHeight=function(){
return this.boxes[0].getHeight();
};
ui.behaviour={};
ui.behaviour.BehaviourImpl=function(){
};
ui.behaviour.BehaviourImpl.prototype.installPlugin=function(_4c9){
if(!this._behaviourEvent){
this._behaviourEvent=[];
}
std.list.iterate(this._behaviourEvent,std.lang.bind(this,function(evt){
std.topic.subscribe(this,evt,std.lang.bind(_4c9,_4c9.processEvent));
}));
return this;
};
ui.behaviour.BehaviourImpl.prototype.defineEvent=function(_4cb){
if(!this._behaviourEvent){
this._behaviourEvent=[];
}
this._behaviourEvent.push(_4cb);
std.topic.define(this,_4cb);
};
ui.behaviour.BehaviourImpl.prototype.fireEvent=function(_4cc,ctx,_4ce){
ctx.eventType=_4cc;
ctx.cancel=false;
ctx.evt=_4ce;
ctx.instance=this;
std.topic.publish(this,_4cc,ctx);
};
ui.behaviour.BaseDragBehaviour=function(){
};
ui.behaviour.BaseDragBehaviour.prototype=new ui.behaviour.BehaviourImpl();
ui.behaviour.BaseDragBehaviour.STATE_INACTIVE="";
ui.behaviour.BaseDragBehaviour.STATE_ARMED="armed";
ui.behaviour.BaseDragBehaviour.STATE_ACTIVE="active";
ui.behaviour.BaseDragBehaviour._classInit=function(){
var clz=ui.behaviour.BaseDragBehaviour;
clz._instances=[];
std.event.observe(document,"mousemove",std.event.listener(clz,clz._classOnmousemove));
std.event.observe(document,"mouseup",std.event.listener(clz,clz._classOnmouseup));
clz._classCancelOnmousedown=std.event.listener(clz,clz._classOnmousedown);
clz._classInited=true;
};
ui.behaviour.BaseDragBehaviour._classOnmousemove=function(e){
if(this._currentInstance){
this._currentInstance._onmousemove(e);
}
};
ui.behaviour.BaseDragBehaviour._classOnmouseup=function(e){
if(this._currentInstance){
this._currentInstance._onmouseup(e);
this._currentInstance=null;
if(document.releaseCapture){
document.releaseCapture();
}
}
};
ui.behaviour.BaseDragBehaviour._classOnmousedown=function(e){
std.event.vanish(e);
};
ui.behaviour.BaseDragBehaviour.prototype.init=function(_4d3,args){
var clz=this._clz=ui.behaviour.BaseDragBehaviour;
if(!clz._classInited){
clz._classInit();
}
clz._instances.push(this);
if(args==null){
args={};
}
this.args=args;
this.borderOffset=args.border||0;
this.domNode=_4d3;
var dd=this._dragData={state:clz.STATE_INACTIVE};
dd.domNode=this.domNode;
dd.borderOffset=this.borderOffset;
dd.box=this.box=new ui.component.Box(dd.domNode);
dd.begin={x:this.box.getLeft(),y:this.box.getTop(),w:this.box.getWidth(),h:this.box.getHeight()};
std.event.chainObserve(_4d3,"mousedown",std.event.listener(this,this._onmousedown));
if(args.listenOnMouseMove){
std.event.chainObserve(_4d3,"mousemove",std.event.listener(this,this._onMymousemove));
}
};
ui.behaviour.BaseDragBehaviour.prototype._onmousedown=function(e){
if(!std.event.isLeftClick(e)){
return;
}
var clz=this._clz;
var dd=this._dragData;
if(dd.state==clz.STATE_ACTIVE){
return;
}
dd.begin={x:this.box.getLeft(),y:this.box.getTop(),w:this.box.getWidth(),h:this.box.getHeight(),mouseOffset:{x:e.clientX,y:e.clientY}};
this.onMouseDown(dd,e);
if(dd.cancel){
return;
}
dd.state=clz.STATE_ARMED;
if(clz._currentInstance){
clz._currentInstance._dragData.state=clz.STATE_INACTIVE;
}
clz._currentInstance=this;
if(dd.domNode.setCapture){
dd.domNode.setCapture();
}
std.event.observe(document,"mousedown",clz._classCancelOnmousedown);
};
ui.behaviour.BaseDragBehaviour.prototype._onMymousemove=function(e){
var clz=this._clz;
var dd=this._dragData;
if(dd.state==clz.STATE_INACTIVE){
dd.mx=e.clientX;
dd.my=e.clientY;
dd.ox=e.offsetX||e.layerX;
dd.oy=e.offsetY||e.layerY;
this.onMyMouseMove(dd,e);
}
};
ui.behaviour.BaseDragBehaviour.prototype._onmousemove=function(e){
var clz=this._clz;
var dd=this._dragData;
if(dd.state==clz.STATE_ARMED){
this.preMouseMove(dd,e);
if(dd.cancel){
return;
}
dd.state=clz.STATE_ACTIVE;
}
if(dd.state==clz.STATE_ACTIVE){
dd.mx=e.clientX;
dd.my=e.clientY;
this.onMouseMove(dd,e);
if(dd.cancel){
return;
}
this.postMouseMove(dd,e);
}
std.event.vanish(e);
};
ui.behaviour.BaseDragBehaviour.prototype._onmouseup=function(e){
var clz=this._clz;
var dd=this._dragData;
if(dd.state==clz.STATE_ACTIVE){
this.onMouseUp(dd,e);
}
if(dd.domNode.releaseCapture){
dd.domNode.releaseCapture();
}
std.event.stopObserving(document,"mousedown",clz._classCancelOnmousedown);
if(dd.state==clz.STATE_ACTIVE&&!dd.cancel){
this.postMouseUp(dd,e);
}
dd.state=clz.STATE_INACTIVE;
};
ui.plugin={};
ui.behaviour.Draggable=function(_4e3,args){
this.init(_4e3,args);
this.defineEvent("onDragMouseDown");
this.defineEvent("onDragMouseMove");
this.defineEvent("onDragBegin");
this.defineEvent("onBeforeDrag");
this.defineEvent("onDrag");
this.defineEvent("onBeforeDragEnd");
this.defineEvent("onDragEnd");
};
ui.behaviour.Draggable.prototype=new ui.behaviour.BaseDragBehaviour();
ui.behaviour.Draggable.prototype.onMouseDown=function(dd,e){
this.fireEvent("onDragMouseDown",dd,e);
};
ui.behaviour.Draggable.prototype.onMyMouseMove=function(dd,e){
this.fireEvent("onDragMouseMove",dd,e);
};
ui.behaviour.Draggable.prototype.preMouseMove=function(dd,e){
this.fireEvent("onDragBegin",dd,e);
};
ui.behaviour.Draggable.prototype.onMouseMove=function(dd,e){
dd.x=dd.mx+dd.begin.x-dd.begin.mouseOffset.x;
dd.y=dd.my+dd.begin.y-dd.begin.mouseOffset.y;
this.fireEvent("onBeforeDrag",dd,e);
};
ui.behaviour.Draggable.prototype.postMouseMove=function(dd,e){
dd.box.setPosition(dd.x,dd.y);
this.fireEvent("onDrag",dd,e);
};
ui.behaviour.Draggable.prototype.onMouseUp=function(dd,e){
this.fireEvent("onBeforeDragEnd",dd,e);
};
ui.behaviour.Draggable.prototype.postMouseUp=function(dd,e){
dd.box.setPosition(dd.x,dd.y);
this.fireEvent("onDragEnd",dd,e);
};
ui.behaviour.resize={};
ui.behaviour.Resizable=function(_4f3,args){
this.init(_4f3,args);
this.defineEvent("onResizeMouseMove");
this.defineEvent("onResizeMouseDown");
this.defineEvent("onResizeBegin");
this.defineEvent("onBeforeResize");
this.defineEvent("onResize");
this.defineEvent("onBeforeResizeEnd");
this.defineEvent("onResizeEnd");
this.threshold=this.args.threshold||10;
};
ui.behaviour.Resizable.prototype=new ui.behaviour.BaseDragBehaviour();
ui.behaviour.Resizable.prototype.DIRECTIONS={"N":{x:0,y:1,w:0,h:-1},"S":{x:0,y:0,w:0,h:1},"W":{x:1,y:0,w:-1,h:0},"E":{x:0,y:0,w:1,h:0},"NE":{x:0,y:1,w:1,h:-1},"NW":{x:1,y:1,w:-1,h:-1},"SE":{x:0,y:0,w:1,h:1},"SW":{x:1,y:0,w:-1,h:1}};
ui.behaviour.Resizable.prototype.onMyMouseMove=function(dd,e){
dd.direction=this._resolveDirection(dd,dd.box,e);
if(dd.direction!=""){
dd.begin.x=dd.box.getLeft();
dd.begin.y=dd.box.getTop();
dd.begin.w=dd.box.getWidth();
dd.begin.h=dd.box.getHeight();
this.fireEvent("onResizeMouseMove",dd,e);
}
};
ui.behaviour.Resizable.prototype.onMouseDown=function(dd,e){
var _4f9=dd.begin;
_4f9.h=dd.box.getHeight();
_4f9.w=dd.box.getWidth();
dd.direction=this._resolveDirection(dd,dd.box,e);
if(dd.direction){
this.fireEvent("onResizeMouseDown",dd,e);
}else{
dd.cancel=true;
}
};
ui.behaviour.Resizable.prototype.preMouseMove=function(dd,e){
if(dd.direction==""){
return;
}
this.fireEvent("onResizeBegin",dd,e);
};
ui.behaviour.Resizable.prototype.onMouseMove=function(dd,e){
this._updateBound(dd);
this.fireEvent("onBeforeResize",dd,e);
};
ui.behaviour.Resizable.prototype.postMouseMove=function(dd,e){
this._setBound(dd);
this.fireEvent("onResize",dd,e);
};
ui.behaviour.Resizable.prototype.onMouseUp=function(dd,e){
if(!dd.direction){
return;
}
this._updateBound(dd);
this.fireEvent("onBeforeResizeEnd",dd,e);
};
ui.behaviour.Resizable.prototype.postMouseUp=function(dd,e){
this._setBound(dd);
this.fireEvent("onResizeEnd",dd,e);
};
ui.behaviour.Resizable.prototype._updateBound=function(dd){
var dir=this.DIRECTIONS[dd.direction];
if(dir.x){
dd.x=dd.begin.x+dir.x*(dd.mx-dd.begin.mouseOffset.x);
}
if(dir.y){
dd.y=dd.begin.y+dir.y*(dd.my-dd.begin.mouseOffset.y);
}
if(dir.w){
dd.w=dd.begin.w+dir.w*(dd.mx-dd.begin.mouseOffset.x);
}
if(dir.h){
dd.h=dd.begin.h+dir.h*(dd.my-dd.begin.mouseOffset.y);
}
};
ui.behaviour.Resizable.prototype._setBound=function(dd){
var dir=this.DIRECTIONS[dd.direction];
if(dir.x){
dd.box.setLeft(dd.x);
}
if(dir.y){
dd.box.setTop(dd.y);
}
if(dir.w){
dd.box.setWidth(dd.w);
}
if(dir.h){
dd.box.setHeight(dd.h);
}
};
ui.behaviour.Resizable.prototype._resolveDirection=function(dd,box,e){
var _50b="";
var _50c=this.threshold;
var _50d=std.event.getOffset(e);
var elm=std.event.element(e);
var x=_50d.x;
var y=_50d.y;
while(elm&&elm!=dd.domNode){
x+=elm.offsetLeft;
y+=elm.offsetTop;
elm=elm.parentNode;
}
if(!elm){
return "";
}
var w=box.getWidth();
var h=box.getHeight();
if(y<_50c){
_50b+="N";
}else{
if(h-y<_50c){
_50b+="S";
}
}
if(x<_50c){
_50b+="W";
}else{
if(w-x<_50c){
_50b+="E";
}
}
return _50b;
};
ui.plugin={};
ui.plugin.Axis=function(_513,args){
this._direction=_513||"x";
};
ui.plugin.Axis.prototype.processEvent=function(dd){
switch(dd.eventType){
case "onBeforeDrag":
var _516=std.browser.isIE||std.browser.isAppleWebKit?0:dd.borderOffset;
if(this._direction=="x"){
dd.y=dd.begin.y-_516;
}else{
if(this._direction=="y"){
dd.x=dd.begin.x-_516;
}
}
break;
}
};
ui.plugin.Handle=function(_517){
this._handle=std.dom.element(std.lang.evaluate(_517));
this._handle.style.cursor="default";
};
ui.plugin.Handle.prototype.processEvent=function(dd){
switch(dd.eventType){
case "onDragMouseDown":
var node=std.dom.getEventTarget(dd.evt);
var _51a=dd.domNode;
while(node&&node!=_51a&&node!=this._handle){
node=node.parentNode;
}
if(node!=this._handle){
dd.cancel=true;
}
break;
}
};
ui.plugin.CheckNode=function(args){
this._reject=args.reject;
this._accept=args.accept;
};
ui.plugin.CheckNode.prototype.processEvent=function(dd){
switch(dd.eventType){
case "onDragMouseDown":
var node=std.dom.getEventTarget(dd.evt);
var _51e=dd.domNode;
var _51f=this._accept||{};
var _520=this._reject||{};
while(node&&node!=_51e){
if(this._accept&&this._accept(node)){
return true;
}
if(this._reject&&this._reject(node)){
dd.cancel=true;
return false;
}
node=node.parentNode;
}
break;
}
};
ui.plugin.Helper=function(_521){
this._helper=std.dom.element(std.lang.evaluate(_521));
};
ui.plugin.Helper.prototype.processEvent=function(dd){
switch(dd.eventType){
case "onDragBegin":
dd.domNode.parentNode.appendChild(this._helper);
var _523=this._box=dd.box;
var _524=dd.box=new ui.component.Box(this._helper);
var sty=this._helper.style;
_524.setBounds(_523.getLeft(),_523.getTop(),_523.getWidth(),_523.getHeight());
this._display=sty.display;
sty.display="block";
break;
case "onBeforeDragEnd":
dd.box=this._box;
this._helper.style.display=this._display;
break;
}
};
ui.plugin.Inside=function(_526,args){
this._container=std.dom.element(std.lang.evaluate(_526));
args=args||{};
this._margin=args.margin||0;
this._child=args.child!=null?args.child:true;
};
ui.plugin.Inside.prototype.processEvent=function(dd){
switch(dd.eventType){
case "onDragBegin":
this._containerBox=new ui.component.Box(this._container);
break;
case "onBeforeDrag":
var _529=dd.box;
var _52a=this._containerBox;
var m=this._margin;
var ix=dd.x,iy=dd.y,iw=_529.getWidth(),ih=_529.getHeight();
var ow=_52a.getWidth(),oh=_52a.getHeight();
var ox=this._child?0:_52a.getLeft();
var oy=this._child?0:_52a.getTop();
var _534=dd.borderOffset;
if(m<0){
ox-=iw+m;
ow+=(iw+m)*2;
oy-=ih+m;
oh+=(ih+m)*2;
}else{
ox-=m;
ow+=m*2;
oy-=m;
oh+=m*2;
}
if(ix<ox){
dd.x=ox;
}
if(iy<oy){
dd.y=oy;
}
if(ix+iw>ox+ow-2*_534){
dd.x=ox+ow-2*_534-iw;
}
if(iy+ih>oy+oh-2*_534){
dd.y=oy+oh-2*_534-ih;
}
break;
}
};
ui.plugin.Cursor=function(_535){
this._cursorNew=_535;
};
ui.plugin.Cursor.prototype.processEvent=function(dd){
switch(dd.eventType){
case "onDragBegin":
case "onDragMouseMove":
var sty=dd.domNode.style;
this._cursorOld=sty.cursor;
sty.cursor=this._cursorNew;
break;
case "onResizeBegin":
case "onResizeMouseMove":
var sty=dd.domNode.style;
this._cusrorOld=sty.cursor;
sty.cursor=dd.direction.toLowerCase()+"-resize";
break;
case "onBeforeDragEnd":
case "onBeforeResizeEnd":
var sty=dd.domNode.style;
sty.cursor=this._cursorOld;
break;
}
};
ui.plugin.Snap=function(_538,args){
this._distance=_538;
var args=args||{};
this._relX=(args.relative||args.relativeX)?1:0;
this._relY=(args.relative||args.relativeY)?1:0;
};
ui.plugin.Snap.prototype.processEvent=function(dd){
var d=this._distance;
switch(dd.eventType){
case "onBeforeResize":
dd.w=dd.w+(dd.begin.w%d)-dd.w%d;
dd.h=dd.h+(dd.begin.h%d)-dd.h%d;
case "onBeforeDrag":
dd.x=dd.x+this._relX*(dd.begin.x%d)-dd.x%d;
dd.y=dd.y+this._relY*(dd.begin.y%d)-dd.y%d;
break;
}
};
ui.plugin.Opacity=function(_53c){
this._opacity=_53c;
};
ui.plugin.Opacity.prototype.processEvent=function(dd){
switch(dd.eventType){
case "onDragBegin":
case "onResizeBegin":
std.dom.opacity(dd.domNode,0.3);
break;
case "onDragEnd":
case "onResizeEnd":
std.dom.opacity(dd.domNode,1);
break;
}
};
ui.plugin.Overlay=function(_53e){
this._zIndex=_53e;
this._overlay=null;
};
ui.plugin.Overlay.prototype._createOverlay=function(){
if(!this._overlay){
var _53f={position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",zIndex:this._zIndex,display:"none"};
if(std.browser.isIE){
_53f.backgroundColor="white";
_53f.filter="alpha(opacity=1)";
}
var _540=this._overlay=std.dom.newElement("div",null,{innerHTML:"&nbsp;"},_53f);
document.body.appendChild(_540);
}
return this._overlay;
};
ui.plugin.Overlay.prototype.processEvent=function(dd){
switch(dd.eventType){
case "onDragBegin":
case "onResizeBegin":
var _542=this._createOverlay().style;
_542.display="block";
if(dd.domNode){
_542.cursor=dd.domNode.style.cursor;
}
break;
case "onDragEnd":
case "onResizeEnd":
var _542=this._createOverlay().style;
_542.display="none";
_542.cursor="";
break;
}
};
ui.plugin.overlay=new ui.plugin.Overlay(30000000);
var mesgLoaded=false;
var privateMessageBoxOpened=false;
std.event.observe(window,"load",function(){
if(window.unreadHighMesg!=undefined&&unreadHighMesg>0){
displayPrivateMessageBox();
}
});
function showNextPrivateMessage(){
if(curMesg<maxMesg){
curMesg++;
updatePrivateMessageBox();
}
}
function showPrevPrivateMessage(){
if(curMesg>1){
curMesg--;
updatePrivateMessageBox();
}
}
function updatePrivateMessageBox(){
for(var i=1;i<=maxMesg;i++){
document.getElementById("PrivateMessage_N"+i).style.display=(i==curMesg)?"block":"none";
}
if(curMesg>1){
document.getElementById("PrevPrivateMesg").className="PrivateMessageButton";
}else{
document.getElementById("PrevPrivateMesg").className="PrivateMessageButtonDisabled";
}
if(curMesg<maxMesg){
document.getElementById("NextPrivateMesg").className="PrivateMessageButton";
}else{
document.getElementById("NextPrivateMesg").className="PrivateMessageButtonDisabled";
}
document.getElementById("TotalMesgCount").innerHTML=maxMesg;
document.getElementById("CurMesgNum").innerHTML=curMesg;
var _544=document.getElementById("PrivateMessage_N"+curMesg);
if(_544.getAttribute("priority")>1){
document.getElementById("PrivateMessageBoxCriticalHead").style.display="block";
}else{
if(!_544.setRead){
setMessageRead(_544.getAttribute("private_mesg_id"));
unreadMesg--;
_544.setRead=true;
}
document.getElementById("PrivateMessageBoxCriticalHead").style.display="none";
}
}
var privateMessageBox;
function displayPrivateMessageBox(){
var _545=document.getElementById("PrivateMessageIndicator");
if(!privateMessageBox){
privateMessageBox=new ui.hintbox.HintBox({content:std.dom.element("PrivateMessageBox"),anchor:_545,align:"bottom left",snap:"top left",offsetX:-230,offsetY:0,style:{padding:"0px",width:"220px"}});
}
var _546=document.getElementById("PrivateMessageBox");
var _547=document.getElementById("PrivateMessageIndicator");
if(_546){
privateMessageBoxOpened=true;
_546.style.display="block";
if(!mesgLoaded){
ajax=new std.ajax.Updater("PrivateMessageContent",base_uri+"privatemesg/private_mesg_box",{evalScripts:true});
mesgLoaded=true;
}
}
var p=std.lang.bind(privateMessageBox,privateMessageBox.show);
p();
}
function closePrivateMessageBox(){
privateMessageBox.fade();
var _549=document.getElementById("PrivateMessageBox");
var _54a=document.getElementById("PrivateMessageIndicator");
var _54b=document.getElementById("PrivateMessageIndicatorCount");
if(_549){
privateMessageBoxOpened=false;
if(curMesg>0){
for(var i=1;i<=maxMesg;i++){
var _54d=document.getElementById("PrivateMessage_N"+i);
if(_54d.getAttribute("priority")>1&&!_54d.setRead){
setMessageRead(_54d.getAttribute("private_mesg_id"));
unreadMesg--;
_54d.setRead=true;
}
}
}
if(_54b){
if(unreadMesg){
_54b.innerHTML=unreadMesg;
}else{
var link=document.getElementById("PrivateMessageIndicatorLink");
link.innerHTML=loc("No New Message");
link.style.color="black";
}
}
}
if(unreadMesg==0){
document.getElementById("PrivateMessageIndicator").style.display="none";
}
}
function setMessageRead(_54f){
ajax=new std.ajax.Request(base_uri+"privatemesg/set_private_mesg_read?private_mesg_id="+_54f);
}
var userModeSwitchingBox;
function displayModeSwitchingBox(){
var _550=document.getElementById("UserModeIndicator");
if(!userModeSwitchingBox){
userModeSwitchingBox=new ui.hintbox.HintBox({content:std.dom.element("UserModeSwitchingBox"),anchor:_550,align:"bottom right",snap:"top left",offsetX:0,offsetY:0,style:{padding:"0px",width:"480px"}});
}
var p=std.lang.bind(userModeSwitchingBox,userModeSwitchingBox.show);
p();
}
function closeModeSwitchingBox(){
userModeSwitchingBox.fade();
}
var editgrid=editgrid||{};
editgrid.auth={};
editgrid.auth.AuthForm=function(form,base,_554,_555){
this._form=form;
this._base=base;
this._onError=_554;
this._onLoading=_555;
std.event.observe(form,"submit",std.event.listener(this,function(e){
this._onSubmit();
std.event.preventDefault(e);
return false;
}));
};
editgrid.auth.AuthForm.prototype.setUsernameGetter=function(_557){
this._usernameGetter=_557;
};
editgrid.auth.AuthForm.prototype.submit=function(){
this._onSubmit();
};
editgrid.auth.AuthForm.prototype._onSubmit=function(){
var _558=this._usernameGetter?this._usernameGetter(this._form):this._form.elements["username"].value;
var _559=this._form.elements["password"].value;
var _55a=this._form.elements["remember"].checked?"1":"";
var _55b=this._form.elements["return"].value;
var _55c=this._form.elements["direct"].value;
new std.ajax.Request(this._base+"login/ajax_check",{parameters:"username="+encodeURIComponent(_558)+"&password="+encodeURIComponent(_559)+"&remember="+encodeURIComponent(_55a)+"&return="+encodeURIComponent(_55b)+"&direct="+encodeURIComponent(_55c),method:"post",asynchronous:true,onSuccess:std.lang.bind(this,function(_55d,json){
var _55f=eval(_55d.responseText);
if(_55f.success){
location.href=_55f.redirect;
return;
}else{
if(this._onError){
this._onError(_55f.error);
this._form.elements["password"].focus();
}
}
}),onFailure:std.lang.bind(this,function(){
})});
this._onLoading(loc("processing..."));
};

