gridToolkit=Class.create();
gridToolkit.prototype={initialize:function(){
this.ALPHAS=new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","AA","AB","AC","AD","AE","AF","AG","AH","AI","AJ","AK","AL","AM","AN","AO","AP","AQ","AR","AS","AT","AU","AV","AW","AX","AY","AZ","BA","BB","BC","BD","BE","BF","BG","BH","BI","BJ","BK","BL","BM","BN","BO","BP","BQ","BR","BS","BT","BU","BV","BW","BX","BY","BZ","CA","CB","CC","CD","CE","CF","CG","CH","CI","CJ","CK","CL","CM","CN","CO","CP","CQ","CR","CS","CT","CU","CV","CW","CX","CY","CZ","DA","DB","DC","DD","DE","DF","DG","DH","DI","DJ","DK","DL","DM","DN","DO","DP","DQ","DR","DS","DT","DU","DV","DW","DX","DY","DZ","EA","EB","EC","ED","EE","EF","EG","EH","EI","EJ","EK","EL","EM","EN","EO","EP","EQ","ER","ES","ET","EU","EV","EW","EX","EY","EZ","FA","FB","FC","FD","FE","FF","FG","FH","FI","FJ","FK","FL","FM","FN","FO","FP","FQ","FR","FS","FT","FU","FV","FW","FX","FY","FZ","GA","GB","GC","GD","GE","GF","GG","GH","GI","GJ","GK","GL","GM","GN","GO","GP","GQ","GR","GS","GT","GU","GV","GW","GX","GY","GZ","HA","HB","HC","HD","HE","HF","HG","HH","HI","HJ","HK","HL","HM","HN","HO","HP","HQ","HR","HS","HT","HU","HV","HW","HX","HY","HZ","IA","IB","IC","ID","IE","IF","IG","IH","II","II","IK","IL","IM","IN","IO","IP","IQ","IR","IS","IT","IU","IV","IW","IX","IY","IZ","JA","JB","JC","JD","JE","JF","JG","JH","JI","JJ","JK","JL","JM","JN","JO","JP","JQ","JR","JS","JT","JU","JV","JW","JX","JY","JZ","KA","KB","KC","KD","KE","KF","KG","KH","KI","KJ","KK","KL","KM","KN","KO","KP","KQ","KR","KS","KT","KU","KV","KW","KX","KY","KZ","LA","LB","LC","LD","LE","LF","LG","LH","LI","LJ","LK","LL","LM","LN","LO","LP","LQ","LR","LS","LT","LU","LV","LW","LX","LY","LZ","MA","MB","MC","MD","ME","MF","MG","MH","MI","MJ","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NB","NC","ND","NE","NF","NG","NH","NI","NJ","NK","NL","NN","NN","NO","NP","NQ","NR","NS","NT","NU","NV","NW","NX","NY","NZ","OA","OB","OC","OD","OE","OF","OG","OH","OI","OJ","OK","OL","OM","ON","OO","OP","OQ","OR","OS","OT","OU","OV","OW","OX","OY","OZ","PA","PB","PC","PD","PE","PF","PG","PH","PI","PJ","PK","PL","PM","PN","PO","PP","PQ","PR","PS","PT","PU","PV","PW","PX","PY","PZ","RA","RB","RC","RD","RE","RF","RG","RH","RI","RJ","RK","RL","RM","RN","RO","RP","RQ","RR","RS","RT","RU","RV","RW","RX","RY","RZ","SA","SB","SC","SD","SE","SF","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SP","SQ","SR","SS","ST","SU","SV","SW","SX","SY","SZ","TA","TB","TC","TD","TE","TF","TG","TH","TI","TJ","TK","TL","TM","TN","TO","TP","TQ","TR","TS","TT","TU","TV","TW","TX","TY","TZ","UA","UB","UC","UD","UE","UF","UG","UH","UI","UJ","UK","UL","UM","UN","UO","UP","UQ","UR","US","UT","UU","UV","UW","UX","UY","UZ","VA","VB","VC","VD","VE","VF","VG","VH","VI","VJ","VK","VL","VM","VN","VO","VP","VQ","VR","VS","VT","VU","VV","VW","VX","VY","VZ","WA","WB","WC","WD","WE","WF","WG","WH","WI","WJ","WK","WL","WM","WN","WO","WP","WQ","WR","WS","WT","WU","WV","WW","WX","WY","WZ","XA","XB","XC","XD","XE","XF","XG","XH","XI","XJ","XK","XL","XM","XN","XO","XP","XQ","XR","XS","XT","XU","XV","XW","XX","XY","XZ","YA","YB","YC","YD","YE","YF","YG","YH","YI","YJ","YK","YL","YM","YN","YO","YP","YQ","YR","YS","YT","YU","YV","YW","YX","YY","YZ","ZA","ZB","ZC","ZD","ZE","ZF","ZG","ZH","ZI","ZJ","ZK","ZL","ZM","ZN","ZO","ZP","ZQ","ZR","ZS","ZT","ZU","ZV","ZW","ZX","ZY","ZZ");
},formatLocation:function(s){
var sb=toolkit.ALPHAS[s[1]];
sb+=(parseInt(s[0])+1);
return sb;
},getActiveSheet:function(){
var _3=uiWindowing.getActiveDoc();
if(_3.sheet==null){
showStatus("Please select an active sheet.");
return null;
}
return _3.sheet;
},isErrorMessage:function(_4){
try{
jsonResponse=_4.evalJSON();
if(jsonResponse.errormessage!=null){
parent.showError(jsonResponse.errormessage);
return true;
}
}
catch(ex){
return false;
}
return false;
},getExternalRule:function(_5,_6){
var i,x,_9,_a;
if(_6!=null){
_9=document.styleSheets[_6];
_a=_9.cssRules||_9.rules;
for(i=_a.length-1;0<=i;i--){
if(_a[i].selectorText==_5){
return _a[i];
}
}
}else{
for(x=0;x<document.styleSheets.length;x++){
_9=document.styleSheets[x];
_a=_9.cssRules||_9.rules;
for(i=_a.length-1;0<=i;i--){
if(_a[i].selectorText==_5){
return _a[i];
}
}
}
}
return null;
},setExternalRule:function(_b,_c){
if(_b!=null){
for(var _d in _c){
_b.style[_d]=_c[_d];
}
return true;
}
return false;
},changeCssRule:function(_e,_f,_10){
var _11=this.getExternalRule(_e,0);
var ss=document.styleSheets[0];
if(_11==null){
if(document.all&&document.getElementById){
ss.addRule(_e,_f+":"+_10+";",0);
}else{
ss.insertRule(_e+"{"+_f+":"+_10+";"+"}",0);
}
}else{
if(_11.style[_f]){
_11.style[_f]=_10;
}
}
},setFixedWidth:function(_13){
_13.setStyle({width:(_13.parentNode.getWidth()-2)+"px"});
},removeFixedWidth:function(_14){
_14.setAttribute("style","");
},setFixedHeight:function(_15){
_15.setStyle({height:(_15.parentNode.getWidth()-1)+"px"});
},removeFixedHeight:function(_16){
_16.setAttribute("style","");
},getActiveCursor:function(){
try{
if(cursor!=null){
return cursor;
}
}
catch(err){
}
var _17=uiWindowing.getActiveDoc();
if(_17.cursor==null){
showError("Problem selecting active cursor.");
return;
}
return _17.cursor;
},isErrorMessage:function(_18){
try{
jsonResponse=_18.evalJSON();
if(jsonResponse.errormessage!=null){
parent.showError(jsonResponse.errormessage);
return true;
}
}
catch(ex){
return false;
}
return false;
},getIntVal:function(c){
c=c.toUpperCase();
var x=0,y=0;
if(c=="AA"){
return 26;
}
if(c.length>2){
return -1;
}
if(c.length==2){
var c1=c.charAt(1);
var c0=c.charAt(0);
while(c1!=this.ALPHAS[y++]){
}
while(c0!=this.ALPHAS[x++]){
}
x*=26;
}else{
if(c.length==1){
var c0=c.charAt(0);
while(c0!=this.ALPHAS[y++]){
}
}
}
y--;
return x+y;
},getRowColFromString:function(_1e){
if(_1e==null){
return;
}
_1e=_1e.replace(/$/g,"");
var row=0,col=0,_21=0;
for(var i=0;i<_1e.length;i++){
if((_1e.charCodeAt(i)>47)&&(_1e.charCodeAt(i)<58)){
_21=i;
break;
}
}
var _23=_1e.substring(0,_21);
col=this.getIntVal(_23);
row=parseInt(_1e.substring(_21));
var ret=new Array(row-1,col);
return ret;
},incrementCellRowNum:function(_25){
var rc=this.getRowColFromString(_25.getAttribute("id"));
if(rc!=null){
rc[0]+=1;
var _27=toolkit.formatLocation(rc);
_25.setAttribute("id",_27);
var _28=_25.firstDescendant();
if(_28!=null&&_28.getAttribute("id").indexOf("cont")!=-1){
_28.setAttribute("id","cont"+_27);
if(rc[1]==0){
_28.removeClassName("rowheight"+(rc[0]));
_28.addClassName("rowheight"+(rc[0]+1));
}
}
}
},incrementCellColNum:function(_29){
var rc=this.getRowColFromString(_29.getAttribute("id"));
if(rc!=null){
rc[1]+=1;
var _2b=toolkit.formatLocation(rc);
_29.setAttribute("id",_2b);
var _2c=_29.firstDescendant();
if(_2c!=null&&_2c.getAttribute("id").indexOf("cont")!=-1){
_2c.setAttribute("id","cont"+_2b);
_2c.removeClassName("colwidth"+this.ALPHAS[rc[1]-1]);
_2c.addClassName("colwidth"+this.ALPHAS[rc[1]]);
}
}
},decrementCellRowNum:function(_2d){
var rc=this.getRowColFromString(_2d.getAttribute("id"));
if(rc!=null){
rc[0]-=1;
var _2f=toolkit.formatLocation(rc);
_2d.setAttribute("id",_2f);
var _30=_2d.firstDescendant();
if(_30!=null&&_30.getAttribute("id").indexOf("cont")!=-1){
_30.setAttribute("id","cont"+_2f);
_30.removeClassName("rowheight"+(rc[0]+2));
_30.addClassName("rowheight"+(rc[0]+1));
}
}
},decrementCellColNum:function(_31){
var rc=this.getRowColFromString(_31.getAttribute("id"));
if(rc!=null){
rc[1]-=1;
var _33=toolkit.formatLocation(rc);
_31.setAttribute("id",_33);
var _34=_31.firstDescendant();
if(_34!=null&&_34.getAttribute("id").indexOf("cont")!=-1){
_34.setAttribute("id","cont"+_33);
_34.removeClassName("colwidth"+this.ALPHAS[rc[1]+1]);
_34.addClassName("colwidth"+this.ALPHAS[rc[1]]);
}
}
},getCellUnderCursor:function(_35,_36,_37){
var _38=null;
var _39=$("A1").cumulativeScrollOffset();
if(_37){
var _3a=toolkit.getRowColFromString(_37.id);
var _3b;
_3a[1]-=1;
_3a[0]-=1;
try{
if(_3a[1]>-1&&_3a[0]>-1&&Position.within($(toolkit.formatLocation(_3a)),_35+_39[0],_36+_39[1])){
_38=$(toolkit.formatLocation(_3a));
}
_3a[1]+=1;
if(!_38&&_3a[0]>-1&&Position.within($(toolkit.formatLocation(_3a)),_35+_39[0],_36+_39[1])){
_38=$(toolkit.formatLocation(_3a));
}
_3a[1]+=1;
if(!_38&&_3a[0]>-1&&Position.within($(toolkit.formatLocation(_3a)),_35+_39[0],_36+_39[1])){
_38=$(toolkit.formatLocation(_3a));
}
_3a[0]+=1;
if(!_38&&Position.within($(toolkit.formatLocation(_3a)),_35+_39[0],_36+_39[1])){
_38=$(toolkit.formatLocation(_3a));
}
_3a[1]-=2;
if(!_38&&_3a[1]>-1&&Position.within($(toolkit.formatLocation(_3a)),_35+_39[0],_36+_39[1])){
_38=$(toolkit.formatLocation(_3a));
}
_3a[0]+=1;
if(!_38&&_3a[1]>-1&&Position.within($(toolkit.formatLocation(_3a)),_35+_39[0],_36+_39[1])){
_38=$(toolkit.formatLocation(_3a));
}
_3a[1]+=1;
if(!_38&&Position.within($(toolkit.formatLocation(_3a)),_35+_39[0],_36+_39[1])){
_38=$(toolkit.formatLocation(_3a));
}
_3a[1]+=1;
if(!_38&&Position.within($(toolkit.formatLocation(_3a)),_35+_39[0],_36+_39[1])){
_38=$(toolkit.formatLocation(_3a));
}
}
catch(err){
}
}
if(!_38){
var _3c=$("spreadsheetTable");
for(var i=0;i<(_3c.rows.length);i++){
try{
if((_3c.rows[i]!=null)&&(_3c.rows[i]!=undefined)&&(_3c.rows[i].cells!=null)){
for(var x=0;x<_3c.rows[i].cells.length;x++){
if(Position.within($(_3c.rows[i].cells[x].id),_35+_39[0],_36+_39[1])){
_38=$(_3c.rows[i].cells[x].id);
x=_3c.rows[i].cells.length;
i=_3c.rows.length;
}
}
}
}
catch(err){
}
}
}
return _38;
},getEventTarget:function(evt){
evt=(evt)?evt:((window.event)?window.event:null);
if(evt){
var _40=(evt.target)?evt.target:evt.srcElement;
if(_40){
return Element.extend(_40);
}
}
return null;
},deleteCSSRule:function(_41){
_41=_41.toLowerCase();
for(var i=0;i<document.styleSheets.length;i++){
var _43=document.styleSheets[i];
var ii=0;
var _45=false;
do{
if(_43.cssRules){
_45=_43.cssRules[ii];
}else{
_45=_43.rules[ii];
}
if(_45){
var _46=_45.selectorText.toLowerCase();
_46=_46.substring(_46.indexOf("."),_46.length);
if(_46==_41){
if(_43.cssRules){
_43.deleteRule(ii);
}else{
_43.removeRule(ii);
}
return true;
}
}
ii++;
}while(_45);
}
return false;
},greyOut:function(_47){
if(is.iphone||is.ipad){
return;
}
var _48=$("darkenScreen");
if(_47){
var msx="<br><br><br><br><br><br><br><br><br><br><div class='title' align='center'>Loading...<br/><img src='/themes/images/loading.gif' align='absmiddle'></div>";
if(is.ie){
msx+="<div class=\"tinyFNT\" align=\"center\">";
msx+="<a href=\"http://www.mozilla.com/en-US/firefox/\" target=\"_new\">";
msx+="<img src=\"/themes/images/3rdParty/ff.gif\" border=\"0\" align=\"center\"/>";
msx+="<br/>Slow Loading? Upgrade to Firefox 3 for Best Results</a></div>";
}
_48.innerHTML=msx;
_48.show();
}else{
_48.hide();
}
}};
var globalHandlers={onCreate:function(_4a){
_4a.url=encodeSheetsterURI(_4a.url);
_4a["timeoutId"]=window.setTimeout(function(){
if(callInProgress(_4a.transport)){
_4a.transport.abort();
showFailureMessage();
if(_4a.options["onFailure"]){
_4a.options["onFailure"](_4a.transport,_4a.json);
}
}
},15000);
},onComplete:function(_4b){
window.clearTimeout(_4b["timeoutId"]);
}};
Ajax.Responders.register(globalHandlers);
function callInProgress(_4c){
switch(_4c.readyState){
case 1:
case 2:
case 3:
return true;
break;
default:
return false;
break;
}
};
function showFailureMessage(){
parent.showError("A communications error with the server occurred.  Please save your work and restart the worksheet");
};
function encodeSheetsterURI(_4d){
var _4e=_4d.indexOf("/=")+1;
if(_4e<1){
if(_4d.indexOf("%")>0){
return _4d;
}else{
return encodeURI(_4d);
}
}
var _4f=_4d.substring(0,_4e);
var _50=_4d.substring(_4e);
_4f=encodeURI(_4f);
_50=encodeURIComponent(_50);
return _4f+_50;
};
