/* Portions copyright 2007-2009 Hewlett-Packard Development Company, L.P.  All rights reserved. */
/* jsgraphics jquery jquery_dimensions jquery_sortable jquery_prototype_bridge prototype yahoo.utilities Tabblo Tabblo.drawing Tabblo.server_constants Tabblo.core Tabblo.settings Tabblo.editor.divs Tabblo.core.utils Tabblo.core.effects Tabblo.core.ui Tabblo.md5 Tabblo.function_utils Tabblo.event Tabblo.ajax Tabblo.core.use_case Tabblo.editor_base Tabblo.upload.simple template Tabblo.editor.warnings Tabblo.editor_init Tabblo.editor.photoorganizer Tabblo.editor.canvasutils Tabblo.editor.parcels Tabblo.editor.actions Tabblo.editor.Grid Tabblo.editor.StoryTitle Tabblo.editor.Caption Tabblo.editor.image Tabblo.editor.html Tabblo.editor.Textblock Tabblo.editor embeddable Tabblo.site performance */

/* lib/wz_jsgraphics.js */
var jg_ok,jg_ie,jg_fast,jg_dom,jg_moz,last_id=0,prefix='_wz_js_';function _chkDHTM(x,i)
{x=document.body||null;jg_ie=x&&typeof x.insertAdjacentHTML!="undefined"&&document.createElement;jg_dom=(x&&!jg_ie&&typeof x.appendChild!="undefined"&&typeof document.createRange!="undefined"&&typeof(i=document.createRange()).setStartBefore!="undefined"&&typeof i.createContextualFragment!="undefined");jg_fast=jg_ie&&document.all&&!window.opera;jg_moz=jg_dom&&typeof x.style.MozOpacity!="undefined";jg_ok=!!(jg_ie||jg_dom);}
function _pntCnvDom()
{var x=this.wnd.document.createRange();x.setStartBefore(this.cnv);x=x.createContextualFragment(jg_fast?this._htmRpc():this.htm);if(this.cnv)this.cnv.appendChild(x);this.htm="";}
function _pntCnvIe()
{if(this.cnv)this.cnv.insertAdjacentHTML("BeforeEnd",jg_fast?this._htmRpc():this.htm);this.htm="";}
function _pntDoc()
{this.wnd.document.write(jg_fast?this._htmRpc():this.htm);this.htm='';}
function _pntN()
{;}
function _mkDiv(x,y,w,h)
{var id=prefix+(last_id++);this.htm+='<div id="'+id+'" style="position:absolute;'+'left:'+x+'px;'+'top:'+y+'px;'+'width:'+w+'px;'+'height:'+h+'px;'+'clip:rect(0,'+w+'px,'+h+'px,0);'+'background-color:'+this.color+
(!jg_moz?';overflow:hidden':'')+';"><\/div>';return id;}
function _mkDivIe(x,y,w,h)
{var id=prefix+(last_id++);this.htm+='%%'+this.color+';'+x+';'+y+';'+w+';'+h+';'+id+';';return id;}
function _mkDivPrt(x,y,w,h)
{var id=prefix+(last_id++);this.htm+='<div id="'+id+'" style="position:absolute;'+'border-left:'+w+'px solid '+this.color+';'+'left:'+x+'px;'+'top:'+y+'px;'+'width:0px;'+'height:'+h+'px;'+'clip:rect(0,'+w+'px,'+h+'px,0);'+'background-color:'+this.color+
(!jg_moz?';overflow:hidden':'')+';"><\/div>';return id;}
var _regex=/%%([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);/g;function _htmRpc()
{return this.htm.replace(_regex,'<div id="$6" style="overflow:hidden;position:absolute;background-color:'+'$1;left:$2;top:$3;width:$4;height:$5"></div>\n');}
function _htmPrtRpc()
{return this.htm.replace(_regex,'<div id="$6" style="overflow:hidden;position:absolute;background-color:'+'$1;left:$2;top:$3;width:$4;height:$5;border-left:$4px solid $1"></div>\n');}
function _mkLin(x1,y1,x2,y2)
{if(x1>x2)
{var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2;}
var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1;if(dx>=dy)
{var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x;while(dx>0)
{--dx;++x;if(p>0)
{this._mkDiv(ox,y,x-ox,1);y+=yIncr;p+=pru;ox=x;}
else p+=pr;}
this._mkDiv(ox,y,x2-ox+1,1);}
else
{var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y;if(y2<=y1)
{while(dy>0)
{--dy;if(p>0)
{this._mkDiv(x++,y,1,oy-y+1);y+=yIncr;p+=pru;oy=y;}
else
{y+=yIncr;p+=pr;}}
this._mkDiv(x2,y2,1,oy-y2+1);}
else
{while(dy>0)
{--dy;y+=yIncr;if(p>0)
{this._mkDiv(x++,oy,1,y-oy);p+=pru;oy=y;}
else p+=pr;}
this._mkDiv(x2,oy,1,y2-oy+1);}}}
function _mkLin2D(x1,y1,x2,y2)
{if(x1>x2)
{var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2;}
var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1;var s=this.stroke;if(dx>=dy)
{if(dx>0&&s-3>0)
{var _s=(s*dx*Math.sqrt(1+dy*dy/(dx*dx))-dx-(s>>1)*dy)/dx;_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1;}
else var _s=s;var ad=Math.ceil(s/2);var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x;while(dx>0)
{--dx;++x;if(p>0)
{this._mkDiv(ox,y,x-ox+ad,_s);y+=yIncr;p+=pru;ox=x;}
else p+=pr;}
this._mkDiv(ox,y,x2-ox+ad+1,_s);}
else
{if(s-3>0)
{var _s=(s*dy*Math.sqrt(1+dx*dx/(dy*dy))-(s>>1)*dx-dy)/dy;_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1;}
else var _s=s;var ad=Math.round(s/2);var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y;if(y2<=y1)
{++ad;while(dy>0)
{--dy;if(p>0)
{this._mkDiv(x++,y,_s,oy-y+ad);y+=yIncr;p+=pru;oy=y;}
else
{y+=yIncr;p+=pr;}}
this._mkDiv(x2,y2,_s,oy-y2+ad);}
else
{while(dy>0)
{--dy;y+=yIncr;if(p>0)
{this._mkDiv(x++,oy,_s,y-oy+ad);p+=pru;oy=y;}
else p+=pr;}
this._mkDiv(x2,oy,_s,y2-oy+ad+1);}}}
function _mkLinDott(x1,y1,x2,y2)
{if(x1>x2)
{var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2;}
var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1,drw=true;if(dx>=dy)
{var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx;while(dx>0)
{--dx;if(drw)this._mkDiv(x,y,1,1);drw=!drw;if(p>0)
{y+=yIncr;p+=pru;}
else p+=pr;++x;}}
else
{var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy;while(dy>0)
{--dy;if(drw)this._mkDiv(x,y,1,1);drw=!drw;y+=yIncr;if(p>0)
{++x;p+=pru;}
else p+=pr;}}
if(drw)this._mkDiv(x,y,1,1);}
function _mkOv(left,top,width,height)
{var a=(++width)>>1,b=(++height)>>1,wod=width&1,hod=height&1,cx=left+a,cy=top+b,x=0,y=b,ox=0,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),w,h;while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);tt+=bb4*(++x)-aa2*(((y--)<<1)-3);w=x-ox;h=oy-y;if((w&2)&&(h&2))
{this._mkOvQds(cx,cy,x-2,y+2,1,1,wod,hod);this._mkOvQds(cx,cy,x-1,y+1,1,1,wod,hod);}
else this._mkOvQds(cx,cy,x-1,oy,w,h,wod,hod);ox=x;oy=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}}
w=a-ox+1;h=(oy<<1)+hod;y=cy-oy;this._mkDiv(cx-a,y,w,h);this._mkDiv(cx+ox+wod-1,y,w,h);}
function _mkOv2D(left,top,width,height)
{var s=this.stroke;width+=s+1;height+=s+1;var a=width>>1,b=height>>1,wod=width&1,hod=height&1,cx=left+a,cy=top+b,x=0,y=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1);if(s-4<0&&(!(s-2)||width-51>0&&height-51>0))
{var ox=0,oy=b,w,h,pxw;while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);tt+=bb4*(++x)-aa2*(((y--)<<1)-3);w=x-ox;h=oy-y;if(w-1)
{pxw=w+1+(s&1);h=s;}
else if(h-1)
{pxw=s;h+=1+(s&1);}
else pxw=h=s;this._mkOvQds(cx,cy,x-1,oy,pxw,h,wod,hod);ox=x;oy=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}}
this._mkDiv(cx-a,cy-oy,s,(oy<<1)+hod);this._mkDiv(cx+a+wod-s,cy-oy,s,(oy<<1)+hod);}
else
{var _a=(width-(s<<1))>>1,_b=(height-(s<<1))>>1,_x=0,_y=_b,_aa2=(_a*_a)<<1,_aa4=_aa2<<1,_bb2=(_b*_b)<<1,_bb4=_bb2<<1,_st=(_aa2>>1)*(1-(_b<<1))+_bb2,_tt=(_bb2>>1)-_aa2*((_b<<1)-1),pxl=new Array(),pxt=new Array(),_pxb=new Array();pxl[0]=0;pxt[0]=b;_pxb[0]=_b-1;while(y>0)
{if(st<0)
{pxl[pxl.length]=x;pxt[pxt.length]=y;st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{pxl[pxl.length]=x;st+=bb2*((x<<1)+3)-aa4*(y-1);tt+=bb4*(++x)-aa2*(((y--)<<1)-3);pxt[pxt.length]=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}
if(_y>0)
{if(_st<0)
{_st+=_bb2*((_x<<1)+3);_tt+=_bb4*(++_x);_pxb[_pxb.length]=_y-1;}
else if(_tt<0)
{_st+=_bb2*((_x<<1)+3)-_aa4*(_y-1);_tt+=_bb4*(++_x)-_aa2*(((_y--)<<1)-3);_pxb[_pxb.length]=_y-1;}
else
{_tt-=_aa2*((_y<<1)-3);_st-=_aa4*(--_y);_pxb[_pxb.length-1]--;}}}
var ox=-wod,oy=b,_oy=_pxb[0],l=pxl.length,w,h;for(var i=0;i<l;i++)
{if(typeof _pxb[i]!="undefined")
{if(_pxb[i]<_oy||pxt[i]<oy)
{x=pxl[i];this._mkOvQds(cx,cy,x,oy,x-ox,oy-_oy,wod,hod);ox=x;oy=pxt[i];_oy=_pxb[i];}}
else
{x=pxl[i];this._mkDiv(cx-x,cy-oy,1,(oy<<1)+hod);this._mkDiv(cx+ox+wod,cy-oy,1,(oy<<1)+hod);ox=x;oy=pxt[i];}}
this._mkDiv(cx-a,cy-oy,1,(oy<<1)+hod);this._mkDiv(cx+ox+wod,cy-oy,1,(oy<<1)+hod);}}
function _mkOvDott(left,top,width,height)
{var a=(++width)>>1,b=(++height)>>1,wod=width&1,hod=height&1,hodu=hod^1,cx=left+a,cy=top+b,x=0,y=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),drw=true;while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);tt+=bb4*(++x)-aa2*(((y--)<<1)-3);}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}
if(drw&&y>=hodu)this._mkOvQds(cx,cy,x,y,1,1,wod,hod);drw=!drw;}}
function _mkRect(x,y,w,h)
{var s=this.stroke;this._mkDiv(x,y,w,s);this._mkDiv(x+w,y,s,h);this._mkDiv(x,y+h,w+s,s);this._mkDiv(x,y+s,s,h-s);}
function _mkRectDott(x,y,w,h)
{this.drawLine(x,y,x+w,y);this.drawLine(x+w,y,x+w,y+h);this.drawLine(x,y+h,x+w,y+h);this.drawLine(x,y,x,y+h);}
function jsgFont()
{this.PLAIN='font-weight:normal;';this.BOLD='font-weight:bold;';this.ITALIC='font-style:italic;';this.ITALIC_BOLD=this.ITALIC+this.BOLD;this.BOLD_ITALIC=this.ITALIC_BOLD;}
var Font=new jsgFont();function jsgStroke()
{this.DOTTED=-1;}
var Stroke=new jsgStroke();function jsGraphics(cnv,wnd)
{this.setColor=function(x)
{this.color=x.toLowerCase();};this.setStroke=function(x)
{this.stroke=x;if(!(x+1))
{this.drawLine=_mkLinDott;this._mkOv=_mkOvDott;this.drawRect=_mkRectDott;}
else if(x-1>0)
{this.drawLine=_mkLin2D;this._mkOv=_mkOv2D;this.drawRect=_mkRect;}
else
{this.drawLine=_mkLin;this._mkOv=_mkOv;this.drawRect=_mkRect;}};this.setPrintable=function(arg)
{this.printable=arg;if(jg_fast)
{this._mkDiv=_mkDivIe;this._htmRpc=arg?_htmPrtRpc:_htmRpc;}
else this._mkDiv=arg?_mkDivPrt:_mkDiv;};this.setFont=function(fam,sz,sty)
{this.ftFam=fam;this.ftSz=sz;this.ftSty=sty||Font.PLAIN;};this.drawPolyline=this.drawPolyLine=function(x,y)
{for(var i=x.length-1;i;)
{--i;this.drawLine(x[i],y[i],x[i+1],y[i+1]);}};this.fillRect=function(x,y,w,h)
{return this._mkDiv(x,y,w,h);};this.drawPolygon=function(x,y)
{this.drawPolyline(x,y);this.drawLine(x[x.length-1],y[x.length-1],x[0],y[0]);};this.drawEllipse=this.drawOval=function(x,y,w,h)
{this._mkOv(x,y,w,h);};this.fillEllipse=this.fillOval=function(left,top,w,h)
{var a=w>>1,b=h>>1,wod=w&1,hod=h&1,cx=left+a,cy=top+b,x=0,y=b,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),xl,dw,dh;if(w)while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);xl=cx-x;dw=(x<<1)+wod;tt+=bb4*(++x)-aa2*(((y--)<<1)-3);dh=oy-y;this._mkDiv(xl,cy-oy,dw,dh);this._mkDiv(xl,cy+y+hod,dw,dh);oy=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}}
this._mkDiv(cx-a,cy-oy,w,(oy<<1)+hod);};this.fillArc=function(iL,iT,iW,iH,fAngA,fAngZ)
{var a=iW>>1,b=iH>>1,iOdds=(iW&1)|((iH&1)<<16),cx=iL+a,cy=iT+b,x=0,y=b,ox=x,oy=y,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1), xEndA,yEndA,xEndZ,yEndZ,iSects=(1<<(Math.floor((fAngA%=360.0)/180.0)<<3))|(2<<(Math.floor((fAngZ%=360.0)/180.0)<<3))|((fAngA>=fAngZ)<<16),aBndA=new Array(b+1),aBndZ=new Array(b+1); fAngA*=Math.PI/180.0;fAngZ*=Math.PI/180.0;xEndA=cx+Math.round(a*Math.cos(fAngA));yEndA=cy+Math.round(-b*Math.sin(fAngA));_mkLinVirt(aBndA,cx,cy,xEndA,yEndA);xEndZ=cx+Math.round(a*Math.cos(fAngZ));yEndZ=cy+Math.round(-b*Math.sin(fAngZ));_mkLinVirt(aBndZ,cx,cy,xEndZ,yEndZ);while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);ox=x;tt+=bb4*(++x)-aa2*(((y--)<<1)-3);this._mkArcDiv(ox,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects);oy=y;}
else{tt-=aa2*((y<<1)-3);st-=aa4*(--y);if(y&&(aBndA[y]!=aBndA[y-1]||aBndZ[y]!=aBndZ[y-1]))
{this._mkArcDiv(x,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects);ox=x;oy=y;}}}
this._mkArcDiv(x,0,oy,cx,cy,iOdds,aBndA,aBndZ,iSects);if(iOdds>>16)
{if(iSects>>16)
{var xl=(yEndA<=cy||yEndZ>cy)?(cx-x):cx;this._mkDiv(xl,cy,x+cx-xl+(iOdds&0xffff),1);}
else if((iSects&0x01)&&yEndZ>cy)
this._mkDiv(cx-x,cy,x,1);}};this.fillPolygon=function(array_x,array_y)
{var i;var y;var miny,maxy;var x1,y1;var x2,y2;var ind1,ind2;var ints;var n=array_x.length;if(!n)return;miny=array_y[0];maxy=array_y[0];for(i=1;i<n;i++)
{if(array_y[i]<miny)
miny=array_y[i];if(array_y[i]>maxy)
maxy=array_y[i];}
for(y=miny;y<=maxy;y++)
{var polyInts=new Array();ints=0;for(i=0;i<n;i++)
{if(!i)
{ind1=n-1;ind2=0;}
else
{ind1=i-1;ind2=i;}
y1=array_y[ind1];y2=array_y[ind2];if(y1<y2)
{x1=array_x[ind1];x2=array_x[ind2];}
else if(y1>y2)
{y2=array_y[ind1];y1=array_y[ind2];x2=array_x[ind1];x1=array_x[ind2];}
else continue; if((y>=y1)&&(y<y2))
polyInts[ints++]=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1);else if((y==maxy)&&(y>y1)&&(y<=y2))
polyInts[ints++]=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1);}
polyInts.sort(_CompInt);for(i=0;i<ints;i+=2)
this._mkDiv(polyInts[i],y,polyInts[i+1]-polyInts[i]+1,1);}};this.drawString=function(txt,x,y)
{var id=prefix+(last_id++);this.htm+='<div id="'+id+'" style="position:absolute;white-space:nowrap;'+'left:'+x+'px;'+'top:'+y+'px;'+'font-family:'+this.ftFam+';'+'font-size:'+this.ftSz+';'+'color:'+this.color+';'+this.ftSty+'">'+
txt+'<\/div>';return id;};this.drawStringRect=function(txt,x,y,width,halign)
{var id=prefix+(last_id++);this.htm+='<div id="'+id+'" style="position:absolute;overflow:hidden;'+'left:'+x+'px;'+'top:'+y+'px;'+'width:'+width+'px;'+'text-align:'+halign+';'+'font-family:'+this.ftFam+';'+'font-size:'+this.ftSz+';'+'color:'+this.color+';'+this.ftSty+'">'+
txt+'<\/div>';return id;};this.drawImage=function(imgSrc,x,y,w,h,a)
{var id=prefix+(last_id++);this.htm+='<div id="'+id+'" style="position:absolute;'+'left:'+x+'px;'+'top:'+y+'px;'+
(w?('width:'+w+'px;'):'')+
(h?('height:'+h+'px;'):'')+'">'+'<img src="'+imgSrc+'"'+(w?(' width="'+w+'"'):'')+(h?(' height="'+h+'"'):'')+(a?(' '+a):'')+'>'+'<\/div>';return id;};this.clear=function()
{this.htm="";if(this.cnv)this.cnv.innerHTML="";};this._mkOvQds=function(cx,cy,x,y,w,h,wod,hod)
{var xl=cx-x,xr=cx+x+wod-w,yt=cy-y,yb=cy+y+hod-h;if(xr>xl+w)
{this._mkDiv(xr,yt,w,h);this._mkDiv(xr,yb,w,h);}
else
w=xr-xl+w;this._mkDiv(xl,yt,w,h);this._mkDiv(xl,yb,w,h);};this._mkArcDiv=function(x,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects)
{var xrDef=cx+x+(iOdds&0xffff),y2,h=oy-y,xl,xr,w;if(!h)h=1;x=cx-x;if(iSects&0xff0000)
{y2=cy-y-h;if(iSects&0x00ff)
{if(iSects&0x02)
{xl=Math.max(x,aBndZ[y]);w=xrDef-xl;if(w>0)this._mkDiv(xl,y2,w,h);}
if(iSects&0x01)
{xr=Math.min(xrDef,aBndA[y]);w=xr-x;if(w>0)this._mkDiv(x,y2,w,h);}}
else
this._mkDiv(x,y2,xrDef-x,h);y2=cy+y+(iOdds>>16);if(iSects&0xff00)
{if(iSects&0x0100)
{xl=Math.max(x,aBndA[y]);w=xrDef-xl;if(w>0)this._mkDiv(xl,y2,w,h);}
if(iSects&0x0200)
{xr=Math.min(xrDef,aBndZ[y]);w=xr-x;if(w>0)this._mkDiv(x,y2,w,h);}}
else
this._mkDiv(x,y2,xrDef-x,h);}
else
{if(iSects&0x00ff)
{if(iSects&0x02)
xl=Math.max(x,aBndZ[y]);else
xl=x;if(iSects&0x01)
xr=Math.min(xrDef,aBndA[y]);else
xr=xrDef;y2=cy-y-h;w=xr-xl;if(w>0)this._mkDiv(xl,y2,w,h);}
if(iSects&0xff00)
{if(iSects&0x0100)
xl=Math.max(x,aBndA[y]);else
xl=x;if(iSects&0x0200)
xr=Math.min(xrDef,aBndZ[y]);else
xr=xrDef;y2=cy+y+(iOdds>>16);w=xr-xl;if(w>0)this._mkDiv(xl,y2,w,h);}}};this.setStroke(1);this.setFont("verdana,geneva,helvetica,sans-serif","12px",Font.PLAIN);this.color="#000000";this.htm="";this.wnd=wnd||window;if(!jg_ok)_chkDHTM();if(jg_ok)
{if(cnv)
{if(typeof(cnv)=="string")
this.cont=document.all?(this.wnd.document.all[cnv]||null):document.getElementById?(this.wnd.document.getElementById(cnv)||null):null;else if(cnv==window.document)
this.cont=document.getElementsByTagName("body")[0];else this.cont=cnv;this.cnv=this.wnd.document.createElement("div");this.cnv.style.fontSize=0;this.cont.appendChild(this.cnv);this.paint=jg_dom?_pntCnvDom:_pntCnvIe;}
else
this.paint=_pntDoc;}
else
this.paint=_pntN;this.setPrintable(false);}
function _mkLinVirt(aLin,x1,y1,x2,y2)
{var dx=Math.abs(x2-x1),dy=Math.abs(y2-y1),x=x1,y=y1,xIncr=(x1>x2)?-1:1,yIncr=(y1>y2)?-1:1,p,i=0;if(dx>=dy)
{var pr=dy<<1,pru=pr-(dx<<1);p=pr-dx;while(dx>0)
{--dx;if(p>0)
{aLin[i++]=x;y+=yIncr;p+=pru;}
else p+=pr;x+=xIncr;}}
else
{var pr=dx<<1,pru=pr-(dy<<1);p=pr-dy;while(dy>0)
{--dy;y+=yIncr;aLin[i++]=x;if(p>0)
{x+=xIncr;p+=pru;}
else p+=pr;}}
for(var len=aLin.length,i=len-i;i;)
aLin[len-(i--)]=x;};function _CompInt(x,y)
{return(x-y);}
/* lib/jquery-1.2.6.min.js */
/*
 * jQuery 1.2.6 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
 * $Rev: 5685 $
 */
(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
/* lib/jquery.dimensions.pack.js */
/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-12-20 08:43:48 -0600 (Thu, 20 Dec 2007) $
 * $Rev: 4257 $
 *
 * Version: 1.2
 *
 * Requires: jQuery 1.2+
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5($){$.19={P:\'1.2\'};$.u([\'j\',\'w\'],5(i,d){$.q[\'O\'+d]=5(){p(!3[0])6;g a=d==\'j\'?\'s\':\'m\',e=d==\'j\'?\'D\':\'C\';6 3.B(\':y\')?3[0][\'L\'+d]:4(3,d.x())+4(3,\'n\'+a)+4(3,\'n\'+e)};$.q[\'I\'+d]=5(b){p(!3[0])6;g c=d==\'j\'?\'s\':\'m\',e=d==\'j\'?\'D\':\'C\';b=$.F({t:Z},b||{});g a=3.B(\':y\')?3[0][\'8\'+d]:4(3,d.x())+4(3,\'E\'+c+\'w\')+4(3,\'E\'+e+\'w\')+4(3,\'n\'+c)+4(3,\'n\'+e);6 a+(b.t?(4(3,\'t\'+c)+4(3,\'t\'+e)):0)}});$.u([\'m\',\'s\'],5(i,b){$.q[\'l\'+b]=5(a){p(!3[0])6;6 a!=W?3.u(5(){3==h||3==r?h.V(b==\'m\'?a:$(h)[\'U\'](),b==\'s\'?a:$(h)[\'T\']()):3[\'l\'+b]=a}):3[0]==h||3[0]==r?S[(b==\'m\'?\'R\':\'Q\')]||$.N&&r.M[\'l\'+b]||r.A[\'l\'+b]:3[0][\'l\'+b]}});$.q.F({z:5(){g a=0,f=0,o=3[0],8,9,7,v;p(o){7=3.7();8=3.8();9=7.8();8.f-=4(o,\'K\');8.k-=4(o,\'J\');9.f+=4(7,\'H\');9.k+=4(7,\'Y\');v={f:8.f-9.f,k:8.k-9.k}}6 v},7:5(){g a=3[0].7;G(a&&(!/^A|10$/i.16(a.15)&&$.14(a,\'z\')==\'13\'))a=a.7;6 $(a)}});5 4(a,b){6 12($.11(a.17?a[0]:a,b,18))||0}})(X);',62,72,'|||this|num|function|return|offsetParent|offset|parentOffset|||||borr|top|var|window||Height|left|scroll|Left|padding|elem|if|fn|document|Top|margin|each|results|Width|toLowerCase|visible|position|body|is|Right|Bottom|border|extend|while|borderTopWidth|outer|marginLeft|marginTop|client|documentElement|boxModel|inner|version|pageYOffset|pageXOffset|self|scrollTop|scrollLeft|scrollTo|undefined|jQuery|borderLeftWidth|false|html|curCSS|parseInt|static|css|tagName|test|jquery|true|dimensions'.split('|'),0,{}))
/* lib/jquery-ui-sortables-1.6b.min.js */
;(function($){$.ui={plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set){return;}
for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},cssCache:{},css:function(name){if($.ui.cssCache[name]){return $.ui.cssCache[name];}
var tmp=$('<div class="ui-gen">').addClass(name).css({position:'absolute',top:'-5000px',left:'-5000px',display:'block'}).appendTo('body');$.ui.cssCache[name]=!!((!(/auto|default/).test(tmp.css('cursor'))||(/^[1-9]/).test(tmp.css('height'))||(/^[1-9]/).test(tmp.css('width'))||!(/none/).test(tmp.css('backgroundImage'))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))));try{$('body').get(0).removeChild(tmp.get(0));}catch(e){}
return $.ui.cssCache[name];},disableSelection:function(el){$(el).attr('unselectable','on').css('MozUserSelect','none');},enableSelection:function(el){$(el).attr('unselectable','off').css('MozUserSelect','');},hasScroll:function(e,a){var scroll=/top/.test(a||"top")?'scrollTop':'scrollLeft',has=false;if(e[scroll]>0)return true;e[scroll]=1;has=e[scroll]>0?true:false;e[scroll]=0;return has;}};var _remove=$.fn.remove;$.fn.remove=function(){$("*",this).add(this).triggerHandler("remove");return _remove.apply(this,arguments);};function getter(namespace,plugin,method){var methods=$[namespace][plugin].getter||[];methods=(typeof methods=="string"?methods.split(/,?\s+/):methods);return($.inArray(method,methods)!=-1);}
$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&getter(namespace,name,options)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}
return this.each(function(){var instance=$.data(this,name);if(isMethodCall&&instance&&$.isFunction(instance[options])){instance[options].apply(instance,args);}else if(!isMethodCall){$.data(this,name,new $[namespace][name](this,options));}});};$[namespace][name]=function(element,options){var self=this;this.widgetName=name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,options);this.element=$(element).bind('setData.'+name,function(e,key,value){return self.setData(key,value);}).bind('getData.'+name,function(e,key){return self.getData(key);}).bind('remove',function(){return self.destroy();});this.init();};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);};$.widget.prototype={init:function(){},destroy:function(){this.element.removeData(this.widgetName);},getData:function(key){return this.options[key];},setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled');}},enable:function(){this.setData('disabled',false);},disable:function(){this.setData('disabled',true);}};$.widget.defaults={disabled:false};$.ui.mouse={mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName,function(e){return self.mouseDown(e);});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');}
this.started=false;},mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));},mouseDown:function(e){(this._mouseStarted&&this.mouseUp(e));this._mouseDownEvent=e;var self=this,btnIsLeft=(e.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(e.target).parents().add(e.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this.mouseCapture(e)){return true;}
this._mouseDelayMet=!this.options.delay;if(!this._mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self._mouseDelayMet=true;},this.options.delay);}
if(this.mouseDistanceMet(e)&&this.mouseDelayMet(e)){this._mouseStarted=(this.mouseStart(e)!==false);if(!this._mouseStarted){e.preventDefault();return true;}}
this._mouseMoveDelegate=function(e){return self.mouseMove(e);};this._mouseUpDelegate=function(e){return self.mouseUp(e);};$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);return false;},mouseMove:function(e){if($.browser.msie&&!e.button){return this.mouseUp(e);}
if(this._mouseStarted){this.mouseDrag(e);return false;}
if(this.mouseDistanceMet(e)&&this.mouseDelayMet(e)){this._mouseStarted=(this.mouseStart(this._mouseDownEvent,e)!==false);(this._mouseStarted?this.mouseDrag(e):this.mouseUp(e));}
return!this._mouseStarted;},mouseUp:function(e){$(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this.mouseStop(e);}
return false;},mouseDistanceMet:function(e){return(Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance);},mouseDelayMet:function(e){return this._mouseDelayMet;},mouseStart:function(e){},mouseDrag:function(e){},mouseStop:function(e){},mouseCapture:function(e){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);(function($){$.widget("ui.draggable",$.extend({},$.ui.mouse,{init:function(){var o=this.options;if(o.helper=='original'&&!(/(relative|absolute|fixed)/).test(this.element.css('position')))
this.element.css('position','relative');this.element.addClass('ui-draggable');(o.disabled&&this.element.addClass('ui-draggable-disabled'));this.mouseInit();},mouseStart:function(e){var o=this.options;if(this.helper||o.disabled||$(e.target).is('.ui-resizable-handle'))return false;var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==e.target)handle=true;});if(!handle)return false;if($.ui.ddmanager)$.ui.ddmanager.current=this;this.helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[e])):(o.helper=='clone'?this.element.clone():this.element);if(!this.helper.parents('body').length)this.helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));if(this.helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(this.helper.css("position")))this.helper.css("position","absolute");this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)};this.cssPosition=this.helper.css("position");this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top};this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.offsetParent[0]==document.body&&$.browser.mozilla)po={top:0,left:0};this.offset.parent={top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};var p=this.element.position();this.offset.relative=this.cssPosition=="relative"?{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.offsetParent[0].scrollTop,left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.offsetParent[0].scrollLeft}:{top:0,left:0};this.originalPosition=this.generatePosition(e);this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if(o.cursorAt){if(o.cursorAt.left!=undefined)this.offset.click.left=o.cursorAt.left+this.margins.left;if(o.cursorAt.right!=undefined)this.offset.click.left=this.helperProportions.width-o.cursorAt.right+this.margins.left;if(o.cursorAt.top!=undefined)this.offset.click.top=o.cursorAt.top+this.margins.top;if(o.cursorAt.bottom!=undefined)this.offset.click.top=this.helperProportions.height-o.cursorAt.bottom+this.margins.top;}
if(o.containment){if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top,co.left+Math.max(ce.scrollWidth,ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),co.top+Math.max(ce.scrollHeight,ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];}}
this.propagate("start",e);this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if($.ui.ddmanager&&!o.dropBehaviour)$.ui.ddmanager.prepareOffsets(this,e);this.helper.addClass("ui-draggable-dragging");this.mouseDrag(e);return true;},convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;return{top:(pos.top
+this.offset.relative.top*mod
+this.offset.parent.top*mod
-(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:this.offsetParent[0].scrollTop)*mod
+(this.cssPosition=="fixed"?$(document).scrollTop():0)*mod
+this.margins.top*mod),left:(pos.left
+this.offset.relative.left*mod
+this.offset.parent.left*mod
-(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:this.offsetParent[0].scrollLeft)*mod
+(this.cssPosition=="fixed"?$(document).scrollLeft():0)*mod
+this.margins.left*mod)};},generatePosition:function(e){var o=this.options;var position={top:(e.pageY
-this.offset.click.top
-this.offset.relative.top
-this.offset.parent.top
+(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:this.offsetParent[0].scrollTop)
-(this.cssPosition=="fixed"?$(document).scrollTop():0)),left:(e.pageX
-this.offset.click.left
-this.offset.relative.left
-this.offset.parent.left
+(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:this.offsetParent[0].scrollLeft)
-(this.cssPosition=="fixed"?$(document).scrollLeft():0))};if(!this.originalPosition)return position;if(this.containment){if(position.left<this.containment[0])position.left=this.containment[0];if(position.top<this.containment[1])position.top=this.containment[1];if(position.left>this.containment[2])position.left=this.containment[2];if(position.top>this.containment[3])position.top=this.containment[3];}
if(o.grid){var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}
return position;},mouseDrag:function(e){this.position=this.generatePosition(e);this.positionAbs=this.convertPositionTo("absolute");this.position=this.propagate("drag",e)||this.position;if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager)$.ui.ddmanager.drag(this,e);return false;},mouseStop:function(e){var dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour)
var dropped=$.ui.ddmanager.drop(this,e);if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true){var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revert,10)||500,function(){self.propagate("stop",e);self.clear();});}else{this.propagate("stop",e);this.clear();}
return false;},clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.options.helper!='original'&&!this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false;},plugins:{},uiHash:function(e){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,options:this.options};},propagate:function(n,e){$.ui.plugin.call(this,n,[e,this.uiHash()]);if(n=="drag")this.positionAbs=this.convertPositionTo("absolute");return this.element.triggerHandler(n=="drag"?n:"drag"+n,[e,this.uiHash()],this.options[n]);},destroy:function(){if(!this.element.data('draggable'))return;this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable');this.mouseDestroy();}}));$.extend($.ui.draggable,{defaults:{appendTo:"parent",axis:false,cancel:":input",delay:0,distance:1,helper:"original"}});$.ui.plugin.add("draggable","cursor",{start:function(e,ui){var t=$('body');if(t.css("cursor"))ui.options._cursor=t.css("cursor");t.css("cursor",ui.options.cursor);},stop:function(e,ui){if(ui.options._cursor)$('body').css("cursor",ui.options._cursor);}});$.ui.plugin.add("draggable","zIndex",{start:function(e,ui){var t=$(ui.helper);if(t.css("zIndex"))ui.options._zIndex=t.css("zIndex");t.css('zIndex',ui.options.zIndex);},stop:function(e,ui){if(ui.options._zIndex)$(ui.helper).css('zIndex',ui.options._zIndex);}});$.ui.plugin.add("draggable","opacity",{start:function(e,ui){var t=$(ui.helper);if(t.css("opacity"))ui.options._opacity=t.css("opacity");t.css('opacity',ui.options.opacity);},stop:function(e,ui){if(ui.options._opacity)$(ui.helper).css('opacity',ui.options._opacity);}});$.ui.plugin.add("draggable","iframeFix",{start:function(e,ui){$(ui.options.iframeFix===true?"iframe":ui.options.iframeFix).each(function(){$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css($(this).offset()).appendTo("body");});},stop:function(e,ui){$("div.DragDropIframeFix").each(function(){this.parentNode.removeChild(this);});}});$.ui.plugin.add("draggable","scroll",{start:function(e,ui){var o=ui.options;var i=$(this).data("draggable");o.scrollSensitivity=o.scrollSensitivity||20;o.scrollSpeed=o.scrollSpeed||20;i.overflowY=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-y')))return el;el=el.parent();}while(el[0].parentNode);return $(document);}(this);i.overflowX=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-x')))return el;el=el.parent();}while(el[0].parentNode);return $(document);}(this);if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML')i.overflowYOffset=i.overflowY.offset();if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML')i.overflowXOffset=i.overflowX.offset();},drag:function(e,ui){var o=ui.options;var i=$(this).data("draggable");if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML'){if((i.overflowYOffset.top+i.overflowY[0].offsetHeight)-e.pageY<o.scrollSensitivity)
i.overflowY[0].scrollTop=i.overflowY[0].scrollTop+o.scrollSpeed;if(e.pageY-i.overflowYOffset.top<o.scrollSensitivity)
i.overflowY[0].scrollTop=i.overflowY[0].scrollTop-o.scrollSpeed;}else{if(e.pageY-$(document).scrollTop()<o.scrollSensitivity)
$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);if($(window).height()-(e.pageY-$(document).scrollTop())<o.scrollSensitivity)
$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}
if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML'){if((i.overflowXOffset.left+i.overflowX[0].offsetWidth)-e.pageX<o.scrollSensitivity)
i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft+o.scrollSpeed;if(e.pageX-i.overflowXOffset.left<o.scrollSensitivity)
i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft-o.scrollSpeed;}else{if(e.pageX-$(document).scrollLeft()<o.scrollSensitivity)
$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);if($(window).width()-(e.pageX-$(document).scrollLeft())<o.scrollSensitivity)
$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}});$.ui.plugin.add("draggable","snap",{start:function(e,ui){var inst=$(this).data("draggable");inst.snapElements=[];$(ui.options.snap===true?'.ui-draggable':ui.options.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this!=inst.element[0])inst.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left});});},drag:function(e,ui){var inst=$(this).data("draggable");var d=ui.options.snapTolerance||20;var x1=ui.absolutePosition.left,x2=x1+inst.helperProportions.width,y1=ui.absolutePosition.top,y2=y1+inst.helperProportions.height;for(var i=inst.snapElements.length-1;i>=0;i--){var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d)))continue;if(ui.options.snapMode!='inner'){var ts=Math.abs(t-y2)<=20;var bs=Math.abs(b-y1)<=20;var ls=Math.abs(l-x2)<=20;var rs=Math.abs(r-x1)<=20;if(ts)ui.position.top=inst.convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top;if(bs)ui.position.top=inst.convertPositionTo("relative",{top:b,left:0}).top;if(ls)ui.position.left=inst.convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left;if(rs)ui.position.left=inst.convertPositionTo("relative",{top:0,left:r}).left;}
if(ui.options.snapMode!='outer'){var ts=Math.abs(t-y1)<=20;var bs=Math.abs(b-y2)<=20;var ls=Math.abs(l-x1)<=20;var rs=Math.abs(r-x2)<=20;if(ts)ui.position.top=inst.convertPositionTo("relative",{top:t,left:0}).top;if(bs)ui.position.top=inst.convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top;if(ls)ui.position.left=inst.convertPositionTo("relative",{top:0,left:l}).left;if(rs)ui.position.left=inst.convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left;}};}});$.ui.plugin.add("draggable","connectToSortable",{start:function(e,ui){var inst=$(this).data("draggable");inst.sortables=[];$(ui.options.connectToSortable).each(function(){if($.data(this,'sortable')){var sortable=$.data(this,'sortable');inst.sortables.push({instance:sortable,shouldRevert:sortable.options.revert});sortable.refreshItems();sortable.propagate("activate",e,inst);}});},stop:function(e,ui){var inst=$(this).data("draggable");$.each(inst.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance.mouseStop(e);this.instance.element.triggerHandler("sortreceive",[e,$.extend(this.instance.ui(),{sender:inst.element})],this.instance.options["receive"]);this.instance.options.helper=this.instance.options._helper;}else{this.instance.propagate("deactivate",e,inst);}});},drag:function(e,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var l=o.left,r=l+o.width,t=o.top,b=t+o.height;return(l<(this.positionAbs.left+this.offset.click.left)&&(this.positionAbs.left+this.offset.click.left)<r&&t<(this.positionAbs.top+this.offset.click.top)&&(this.positionAbs.top+this.offset.click.top)<b);};$.each(inst.sortables,function(i){if(checkPos.call(inst,this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0];};e.target=this.instance.currentItem[0];this.instance.mouseCapture(e,true);this.instance.mouseStart(e,true,true);this.instance.offset.click.top=inst.offset.click.top;this.instance.offset.click.left=inst.offset.click.left;this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;inst.propagate("toSortable",e);}
if(this.instance.currentItem)this.instance.mouseDrag(e);}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance.mouseStop(e,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder)this.instance.placeholder.remove();inst.propagate("fromSortable",e);}};});}});$.ui.plugin.add("draggable","stack",{start:function(e,ui){var group=$.makeArray($(ui.options.stack.group)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||ui.options.stack.min)-(parseInt($(b).css("zIndex"),10)||ui.options.stack.min);});$(group).each(function(i){this.style.zIndex=ui.options.stack.min+i;});this[0].style.zIndex=ui.options.stack.min+group.length;}});})(jQuery);(function($){function contains(a,b){var safari2=$.browser.safari&&$.browser.version<522;if(a.contains&&!safari2){return a.contains(b);}
if(a.compareDocumentPosition)
return!!(a.compareDocumentPosition(b)&16);while(b=b.parentNode)
if(b==a)return true;return false;};$.widget("ui.sortable",$.extend({},$.ui.mouse,{init:function(){var o=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css('float')):false;if(!(/(relative|absolute|fixed)/).test(this.element.css('position')))this.element.css('position','relative');this.offset=this.element.offset();this.mouseInit();},plugins:{},ui:function(inst){return{helper:(inst||this)["helper"],placeholder:(inst||this)["placeholder"]||$([]),position:(inst||this)["position"],absolutePosition:(inst||this)["positionAbs"],options:this.options,element:this.element,item:(inst||this)["currentItem"],sender:inst?inst.element:null};},propagate:function(n,e,inst,noPropagation){$.ui.plugin.call(this,n,[e,this.ui(inst)]);if(!noPropagation)this.element.triggerHandler(n=="sort"?n:"sort"+n,[e,this.ui(inst)],this.options[n]);},serialize:function(o){var items=($.isFunction(this.options.items)?this.options.items.call(this.element):$(this.options.items,this.element)).not('.ui-sortable-helper');var str=[];o=o||{};items.each(function(){var res=($(this).attr(o.attribute||'id')||'').match(o.expression||(/(.+)[-=_](.+)/));if(res)str.push((o.key||res[1])+'[]='+(o.key&&o.expression?res[1]:res[2]));});return str.join('&');},toArray:function(attr){var items=($.isFunction(this.options.items)?this.options.items.call(this.element):$(this.options.items,this.element)).not('.ui-sortable-helper');var ret=[];items.each(function(){ret.push($(this).attr(attr||'id'));});return ret;},intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance=="guess"&&this.helperProportions[this.floating?'width':'height']>item[this.floating?'width':'height'])){return(y1+this.offset.click.top>t&&y1+this.offset.click.top<b&&x1+this.offset.click.left>l&&x1+this.offset.click.left<r);}else{return(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b);}},intersectsWithEdge:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;if(this.options.tolerance=="pointer"||(this.options.tolerance=="guess"&&this.helperProportions[this.floating?'width':'height']>item[this.floating?'width':'height'])){if(!(y1+this.offset.click.top>t&&y1+this.offset.click.top<b&&x1+this.offset.click.left>l&&x1+this.offset.click.left<r))return false;if(this.floating){if(x1+this.offset.click.left>l&&x1+this.offset.click.left<l+item.width/2)return 2;if(x1+this.offset.click.left>l+item.width/2&&x1+this.offset.click.left<r)return 1;}else{if(y1+this.offset.click.top>t&&y1+this.offset.click.top<t+item.height/2)return 2;if(y1+this.offset.click.top>t+item.height/2&&y1+this.offset.click.top<b)return 1;}}else{if(!(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b))return false;if(this.floating){if(x2>l&&x1<l)return 2;if(x1<r&&x2>r)return 1;}else{if(y2>t&&y1<t)return 1;if(y1<b&&y2>b)return 2;}}
return false;},refresh:function(){this.refreshItems();this.refreshPositions();},refreshItems:function(){this.items=[];this.containers=[this];var items=this.items;var self=this;var queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element),this]];if(this.options.connectWith){for(var i=this.options.connectWith.length-1;i>=0;i--){var cur=$(this.options.connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],'sortable');if(inst&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element),inst]);this.containers.push(inst);}};};}
for(var i=queries.length-1;i>=0;i--){queries[i][0].each(function(){$.data(this,'sortable-item',queries[i][1]);items.push({item:$(this),instance:queries[i][1],width:0,height:0,left:0,top:0});});};},refreshPositions:function(fast){if(this.offsetParent){var po=this.offsetParent.offset();this.offset.parent={top:po.top+this.offsetParentBorders.top,left:po.left+this.offsetParentBorders.left};}
for(var i=this.items.length-1;i>=0;i--){if(this.items[i].instance!=this.currentContainer&&this.currentContainer&&this.items[i].item[0]!=this.currentItem[0])
continue;var t=this.options.toleranceElement?$(this.options.toleranceElement,this.items[i].item):this.items[i].item;if(!fast){this.items[i].width=t[0].offsetWidth;this.items[i].height=t[0].offsetHeight;}
var p=t.offset();this.items[i].left=p.left;this.items[i].top=p.top;};if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for(var i=this.containers.length-1;i>=0;i--){var p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight();};}},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this.mouseDestroy();for(var i=this.items.length-1;i>=0;i--)
this.items[i].item.removeData("sortable-item");},createPlaceholder:function(that){var self=that||this,o=self.options;if(o.placeholder.constructor==String){var className=o.placeholder;o.placeholder={element:function(){return $('<div></div>').addClass(className)[0];},update:function(i,p){p.css(i.offset()).css({width:i.outerWidth(),height:i.outerHeight()});}};}
self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem)).appendTo('body').css({position:'absolute'});o.placeholder.update.call(self.element,self.currentItem,self.placeholder);},contactContainers:function(e){for(var i=this.containers.length-1;i>=0;i--){if(this.intersectsWith(this.containers[i].containerCache)){if(!this.containers[i].containerCache.over){if(this.currentContainer!=this.containers[i]){var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floating?'left':'top'];for(var j=this.items.length-1;j>=0;j--){if(!contains(this.containers[i].element[0],this.items[j].item[0]))continue;var cur=this.items[j][this.containers[i].floating?'left':'top'];if(Math.abs(cur-base)<dist){dist=Math.abs(cur-base);itemWithLeastDistance=this.items[j];}}
if(!itemWithLeastDistance&&!this.options.dropOnEmpty)
continue;if(this.placeholder)this.placeholder.remove();if(this.containers[i].options.placeholder){this.containers[i].createPlaceholder(this);}else{this.placeholder=null;;}
this.currentContainer=this.containers[i];itemWithLeastDistance?this.rearrange(e,itemWithLeastDistance,null,true):this.rearrange(e,null,this.containers[i].element,true);this.propagate("change",e);this.containers[i].propagate("change",e,this);}
this.containers[i].propagate("over",e,this);this.containers[i].containerCache.over=1;}}else{if(this.containers[i].containerCache.over){this.containers[i].propagate("out",e,this);this.containers[i].containerCache.over=0;}}};},mouseCapture:function(e,overrideHandle){if(this.options.disabled||this.options.type=='static')return false;this.refreshItems();var currentItem=null,self=this,nodes=$(e.target).parents().each(function(){if($.data(this,'sortable-item')==self){currentItem=$(this);return false;}});if($.data(e.target,'sortable-item')==self)currentItem=$(e.target);if(!currentItem)return false;if(this.options.handle&&!overrideHandle){var validHandle=false;$(this.options.handle,currentItem).find("*").andSelf().each(function(){if(this==e.target)validHandle=true;});if(!validHandle)return false;}
this.currentItem=currentItem;return true;},mouseStart:function(e,overrideHandle,noActivation){var o=this.options;this.currentContainer=this;this.refreshPositions();this.helper=typeof o.helper=='function'?$(o.helper.apply(this.element[0],[e,this.currentItem])):this.currentItem.clone();if(!this.helper.parents('body').length)$(o.appendTo!='parent'?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(this.helper[0]);this.helper.css({position:'absolute',clear:'both'}).addClass('ui-sortable-helper');this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)};this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top};this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();this.offsetParentBorders={top:(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};this.offset.parent={top:po.top+this.offsetParentBorders.top,left:po.left+this.offsetParentBorders.left};this.originalPosition=this.generatePosition(e);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if(o.placeholder)this.createPlaceholder();this.propagate("start",e);this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if(o.cursorAt){if(o.cursorAt.left!=undefined)this.offset.click.left=o.cursorAt.left;if(o.cursorAt.right!=undefined)this.offset.click.left=this.helperProportions.width-o.cursorAt.right;if(o.cursorAt.top!=undefined)this.offset.click.top=o.cursorAt.top;if(o.cursorAt.bottom!=undefined)this.offset.click.top=this.helperProportions.height-o.cursorAt.bottom;}
if(o.containment){if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.parent.left,0-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.parent.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.parent.top,co.left+Math.max(ce.scrollWidth,ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.currentItem.css("marginRight"),10)||0),co.top+Math.max(ce.scrollHeight,ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.currentItem.css("marginBottom"),10)||0)];}}
if(this.options.placeholder!='clone')
this.currentItem.css('visibility','hidden');if(!noActivation){for(var i=this.containers.length-1;i>=0;i--){this.containers[i].propagate("activate",e,this);}}
if($.ui.ddmanager)$.ui.ddmanager.current=this;if($.ui.ddmanager&&!o.dropBehaviour)$.ui.ddmanager.prepareOffsets(this,e);this.dragging=true;this.mouseDrag(e);return true;},convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;return{top:(pos.top
+this.offset.parent.top*mod
-(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)*mod
+this.margins.top*mod),left:(pos.left
+this.offset.parent.left*mod
-(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft)*mod
+this.margins.left*mod)};},generatePosition:function(e){var o=this.options;var position={top:(e.pageY
-this.offset.click.top
-this.offset.parent.top
+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)),left:(e.pageX
-this.offset.click.left
-this.offset.parent.left
+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft))};if(!this.originalPosition)return position;if(this.containment){if(position.left<this.containment[0])position.left=this.containment[0];if(position.top<this.containment[1])position.top=this.containment[1];if(position.left>this.containment[2])position.left=this.containment[2];if(position.top>this.containment[3])position.top=this.containment[3];}
if(o.grid){var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}
return position;},mouseDrag:function(e){this.position=this.generatePosition(e);this.positionAbs=this.convertPositionTo("absolute");$.ui.plugin.call(this,"sort",[e,this.ui()]);this.positionAbs=this.convertPositionTo("absolute");this.helper[0].style.left=this.position.left+'px';this.helper[0].style.top=this.position.top+'px';for(var i=this.items.length-1;i>=0;i--){var intersection=this.intersectsWithEdge(this.items[i]);if(!intersection)continue;if(this.items[i].item[0]!=this.currentItem[0]&&this.currentItem[intersection==1?"next":"prev"]()[0]!=this.items[i].item[0]&&!contains(this.currentItem[0],this.items[i].item[0])&&(this.options.type=='semi-dynamic'?!contains(this.element[0],this.items[i].item[0]):true)){this.direction=intersection==1?"down":"up";this.rearrange(e,this.items[i]);this.propagate("change",e);break;}}
this.contactContainers(e);if($.ui.ddmanager)$.ui.ddmanager.drag(this,e);this.element.triggerHandler("sort",[e,this.ui()],this.options["sort"]);return false;},rearrange:function(e,i,a,hardRefresh){a?a[0].appendChild(this.currentItem[0]):i.item[0].parentNode.insertBefore(this.currentItem[0],(this.direction=='down'?i.item[0]:i.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var self=this,counter=this.counter;window.setTimeout(function(){if(counter==self.counter)self.refreshPositions(!hardRefresh);},0);if(this.options.placeholder)
this.options.placeholder.update.call(this.element,this.currentItem,this.placeholder);},mouseStop:function(e,noPropagation){if($.ui.ddmanager&&!this.options.dropBehaviour)
$.ui.ddmanager.drop(this,e);if(this.options.revert){var self=this;var cur=self.currentItem.offset();if(self.placeholder)self.placeholder.animate({opacity:'hide'},(parseInt(this.options.revert,10)||500)-50);$(this.helper).animate({left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){self.clear(e);});}else{this.clear(e,noPropagation);}
return false;},clear:function(e,noPropagation){if(this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])this.propagate("update",e,null,noPropagation);if(!contains(this.element[0],this.currentItem[0])){this.propagate("remove",e,null,noPropagation);for(var i=this.containers.length-1;i>=0;i--){if(contains(this.containers[i].element[0],this.currentItem[0])){this.containers[i].propagate("update",e,this,noPropagation);this.containers[i].propagate("receive",e,this,noPropagation);}};};for(var i=this.containers.length-1;i>=0;i--){this.containers[i].propagate("deactivate",e,this,noPropagation);if(this.containers[i].containerCache.over){this.containers[i].propagate("out",e,this);this.containers[i].containerCache.over=0;}}
this.dragging=false;if(this.cancelHelperRemoval){this.propagate("stop",e,null,noPropagation);return false;}
$(this.currentItem).css('visibility','');if(this.placeholder)this.placeholder.remove();this.helper.remove();this.helper=null;this.propagate("stop",e,null,noPropagation);return true;}}));$.extend($.ui.sortable,{getter:"serialize toArray",defaults:{helper:"clone",tolerance:"guess",distance:1,delay:0,scroll:true,scrollSensitivity:20,scrollSpeed:20,cancel:":input",items:'> *',zIndex:1000,dropOnEmpty:true,appendTo:"parent"}});$.ui.plugin.add("sortable","cursor",{start:function(e,ui){var t=$('body');if(t.css("cursor"))ui.options._cursor=t.css("cursor");t.css("cursor",ui.options.cursor);},stop:function(e,ui){if(ui.options._cursor)$('body').css("cursor",ui.options._cursor);}});$.ui.plugin.add("sortable","zIndex",{start:function(e,ui){var t=ui.helper;if(t.css("zIndex"))ui.options._zIndex=t.css("zIndex");t.css('zIndex',ui.options.zIndex);},stop:function(e,ui){if(ui.options._zIndex)$(ui.helper).css('zIndex',ui.options._zIndex);}});$.ui.plugin.add("sortable","opacity",{start:function(e,ui){var t=ui.helper;if(t.css("opacity"))ui.options._opacity=t.css("opacity");t.css('opacity',ui.options.opacity);},stop:function(e,ui){if(ui.options._opacity)$(ui.helper).css('opacity',ui.options._opacity);}});$.ui.plugin.add("sortable","scroll",{start:function(e,ui){var o=ui.options;var i=$(this).data("sortable");i.overflowY=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-y')))return el;el=el.parent();}while(el[0].parentNode);return $(document);}(i.currentItem);i.overflowX=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-x')))return el;el=el.parent();}while(el[0].parentNode);return $(document);}(i.currentItem);if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML')i.overflowYOffset=i.overflowY.offset();if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML')i.overflowXOffset=i.overflowX.offset();},sort:function(e,ui){var o=ui.options;var i=$(this).data("sortable");if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML'){if((i.overflowYOffset.top+i.overflowY[0].offsetHeight)-e.pageY<o.scrollSensitivity)
i.overflowY[0].scrollTop=i.overflowY[0].scrollTop+o.scrollSpeed;if(e.pageY-i.overflowYOffset.top<o.scrollSensitivity)
i.overflowY[0].scrollTop=i.overflowY[0].scrollTop-o.scrollSpeed;}else{if(e.pageY-$(document).scrollTop()<o.scrollSensitivity)
$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);if($(window).height()-(e.pageY-$(document).scrollTop())<o.scrollSensitivity)
$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}
if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML'){if((i.overflowXOffset.left+i.overflowX[0].offsetWidth)-e.pageX<o.scrollSensitivity)
i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft+o.scrollSpeed;if(e.pageX-i.overflowXOffset.left<o.scrollSensitivity)
i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft-o.scrollSpeed;}else{if(e.pageX-$(document).scrollLeft()<o.scrollSensitivity)
$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);if($(window).width()-(e.pageX-$(document).scrollLeft())<o.scrollSensitivity)
$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}});$.ui.plugin.add("sortable","axis",{sort:function(e,ui){var i=$(this).data("sortable");if(ui.options.axis=="y")i.position.left=i.originalPosition.left;if(ui.options.axis=="x")i.position.top=i.originalPosition.top;}});})(jQuery);
/* tabblo/jquery_prototype_bridge.js */

jQuery.noConflict();
/* lib/prototype.js */
var Prototype={Version:'1.6.0.2',Browser:{IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement('div').__proto__&&document.createElement('div').__proto__!==document.createElement('form').__proto__},ScriptFragment:'<script[^>]*>([\\S\\s]*?)<\/script>',JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x}};if(Prototype.Browser.MobileSafari)
Prototype.BrowserFeatures.SpecificElementExtensions=false;var Class={create:function(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0]))
parent=properties.shift();function klass(){this.initialize.apply(this,arguments);}
Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){var subclass=function(){};subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass);}
for(var i=0;i<properties.length;i++)
klass.addMethods(properties[i]);if(!klass.prototype.initialize)
klass.prototype.initialize=Prototype.emptyFunction;klass.prototype.constructor=klass;return klass;}};Class.Methods={addMethods:function(source){var ancestor=this.superclass&&this.superclass.prototype;var properties=Object.keys(source);if(!Object.keys({toString:true}).length)
properties.push("toString","valueOf");for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&Object.isFunction(value)&&value.argumentNames().first()=="$super"){var method=value,value=Object.extend((function(m){return function(){return ancestor[m].apply(this,arguments)};})(property).wrap(method),{valueOf:function(){return method},toString:function(){return method.toString()}});}
this.prototype[property]=value;}
return this;}};var Abstract={};Object.extend=function(destination,source){for(var property in source)
destination[property]=source[property];return destination;};Object.extend(Object,{inspect:function(object){try{if(Object.isUndefined(object))return'undefined';if(object===null)return'null';return object.inspect?object.inspect():String(object);}catch(e){if(e instanceof RangeError)return'...';throw e;}},toJSON:function(object){var type=typeof object;switch(type){case'undefined':case'function':case'unknown':return;case'boolean':return object.toString();}
if(object===null)return'null';if(object.toJSON)return object.toJSON();if(Object.isElement(object))return;var results=[];for(var property in object){var value=Object.toJSON(object[property]);if(!Object.isUndefined(value))
results.push(property.toJSON()+': '+value);}
return'{'+results.join(', ')+'}';},toQueryString:function(object){return $H(object).toQueryString();},toHTML:function(object){return object&&object.toHTML?object.toHTML():String.interpret(object);},keys:function(object){var keys=[];for(var property in object)
keys.push(property);return keys;},values:function(object){var values=[];for(var property in object)
values.push(object[property]);return values;},clone:function(object){return Object.extend({},object);},isElement:function(object){return object&&object.nodeType==1;},isArray:function(object){return object!=null&&typeof object=="object"&&'splice'in object&&'join'in object;},isHash:function(object){return object instanceof Hash;},isFunction:function(object){return typeof object=="function";},isString:function(object){return typeof object=="string";},isNumber:function(object){return typeof object=="number";},isUndefined:function(object){return typeof object=="undefined";}});Object.extend(Function.prototype,{argumentNames:function(){var names=this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");return names.length==1&&!names[0]?[]:names;},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0]))return this;var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}},bindAsEventListener:function(){var __method=this,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[event||window.event].concat(args));}},curry:function(){if(!arguments.length)return this;var __method=this,args=$A(arguments);return function(){return __method.apply(this,args.concat($A(arguments)));}},delay:function(){var __method=this,args=$A(arguments),timeout=args.shift()*1000;return window.setTimeout(function(){return __method.apply(__method,args);},timeout);},wrap:function(wrapper){var __method=this;return function(){return wrapper.apply(this,[__method.bind(this)].concat($A(arguments)));}},methodize:function(){if(this._methodized)return this._methodized;var __method=this;return this._methodized=function(){return __method.apply(null,[this].concat($A(arguments)));};}});Function.prototype.defer=Function.prototype.delay.curry(0.01);Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+'-'+
(this.getUTCMonth()+1).toPaddedString(2)+'-'+
this.getUTCDate().toPaddedString(2)+'T'+
this.getUTCHours().toPaddedString(2)+':'+
this.getUTCMinutes().toPaddedString(2)+':'+
this.getUTCSeconds().toPaddedString(2)+'Z"';};var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,'\\$1');};var PeriodicalExecuter=Class.create({initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},execute:function(){this.callback(this);},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute();}finally{this.currentlyExecuting=false;}}}});Object.extend(String,{interpret:function(value){return value==null?'':String(value);},specialChar:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','\\':'\\\\'}});Object.extend(String.prototype,{gsub:function(pattern,replacement){var result='',source=this,match;replacement=arguments.callee.prepareReplacement(replacement);while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length);}else{result+=source,source='';}}
return result;},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});},scan:function(pattern,iterator){this.gsub(pattern,iterator);return String(this);},truncate:function(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this);},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'');},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)});},escapeHTML:function(){var self=arguments.callee;self.text.data=this;return self.div.innerHTML;},unescapeHTML:function(){var div=new Element('div');div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):'';},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join('='):pair[0];if(value!=undefined)value=decodeURIComponent(value);if(key in hash){if(!Object.isArray(hash[key]))hash[key]=[hash[key]];hash[key].push(value);}
else hash[key]=value;}
return hash;});},toArray:function(){return this.split('');},succ:function(){return this.slice(0,this.length-1)+
String.fromCharCode(this.charCodeAt(this.length-1)+1);},times:function(count){return count<1?'':new Array(count+1).join(this);},camelize:function(){var parts=this.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=this.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++)
camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1);return camelized;},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();},underscore:function(){return this.gsub(/::/,'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();},dasherize:function(){return this.gsub(/_/,'-');},inspect:function(useDoubleQuotes){var escapedString=this.gsub(/[\x00-\x1f\\]/,function(match){var character=String.specialChar[match[0]];return character?character:'\\u00'+match[0].charCodeAt().toPaddedString(2,16);});if(useDoubleQuotes)return'"'+escapedString.replace(/"/g,'\\"')+'"';return"'"+escapedString.replace(/'/g,'\\\'')+"'";},toJSON:function(){return this.inspect(true);},unfilterJSON:function(filter){return this.sub(filter||Prototype.JSONFilter,'#{1}');},isJSON:function(){var str=this;if(str.blank())return false;str=this.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"/g,'');return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON())return eval('('+json+')');}catch(e){}
throw new SyntaxError('Badly formed JSON string: '+this.inspect());},include:function(pattern){return this.indexOf(pattern)>-1;},startsWith:function(pattern){return this.indexOf(pattern)===0;},endsWith:function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d;},empty:function(){return this=='';},blank:function(){return/^\s*$/.test(this);},interpolate:function(object,pattern){return new Template(this,pattern).evaluate(object);}});if(Prototype.Browser.WebKit||Prototype.Browser.IE)Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},unescapeHTML:function(){return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');}});String.prototype.gsub.prepareReplacement=function(replacement){if(Object.isFunction(replacement))return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement('div'),text:document.createTextNode('')});with(String.prototype.escapeHTML)div.appendChild(text);var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){if(Object.isFunction(object.toTemplateReplacements))
object=object.toTemplateReplacements();return this.template.gsub(this.pattern,function(match){if(object==null)return'';var before=match[1]||'';if(before=='\\')return match[2];var ctx=object,expr=match[3];var pattern=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;match=pattern.exec(expr);if(match==null)return before;while(match!=null){var comp=match[1].startsWith('[')?match[2].gsub('\\\\]',']'):match[1];ctx=ctx[comp];if(null==ctx||''==match[3])break;expr=expr.substring('['==match[3]?match[1].length:match[0].length);match=pattern.exec(expr);}
return before+String.interpret(ctx);});}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(iterator,context){var index=0;iterator=iterator.bind(context);try{this._each(function(value){iterator(value,index++);});}catch(e){if(e!=$break)throw e;}
return this;},eachSlice:function(number,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var index=-number,slices=[],array=this.toArray();while((index+=number)<array.length)
slices.push(array.slice(index,index+number));return slices.collect(iterator,context);},all:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result=true;this.each(function(value,index){result=result&&!!iterator(value,index);if(!result)throw $break;});return result;},any:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result=false;this.each(function(value,index){if(result=!!iterator(value,index))
throw $break;});return result;},collect:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var results=[];this.each(function(value,index){results.push(iterator(value,index));});return results;},detect:function(iterator,context){iterator=iterator.bind(context);var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator,context){iterator=iterator.bind(context);var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(filter,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var results=[];if(Object.isString(filter))
filter=new RegExp(filter);this.each(function(value,index){if(filter.match(value))
results.push(iterator(value,index));});return results;},include:function(object){if(Object.isFunction(this.indexOf))
if(this.indexOf(object)!=-1)return true;var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inGroupsOf:function(number,fillWith){fillWith=Object.isUndefined(fillWith)?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice;});},inject:function(memo,iterator,context){iterator=iterator.bind(context);this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args);});},max:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==null||value>=result)
result=value;});return result;},min:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==null||value<result)
result=value;});return result;},partition:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var trues=[],falses=[];this.each(function(value,index){(iterator(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value){results.push(value[property]);});return results;},reject:function(iterator,context){iterator=iterator.bind(context);var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator,context){iterator=iterator.bind(context);return this.map(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.map();},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last()))
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});},size:function(){return this.toArray().length;},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(iterable){if(!iterable)return[];if(iterable.toArray)return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results;}
if(Prototype.Browser.WebKit){$A=function(iterable){if(!iterable)return[];if(!(Object.isFunction(iterable)&&iterable=='[object NodeList]')&&iterable.toArray)return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results;};}
Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i<length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(Object.isArray(value)?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},reduce:function(){return this.length>1?this:this[0];},uniq:function(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value)))
array.push(value);return array;});},intersect:function(array){return this.uniq().findAll(function(item){return array.detect(function(value){return item===value});});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';},toJSON:function(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(!Object.isUndefined(value))results.push(value);});return'['+results.join(', ')+']';}});if(Object.isFunction(Array.prototype.forEach))
Array.prototype._each=Array.prototype.forEach;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(item,i){i||(i=0);var length=this.length;if(i<0)i=length+i;for(;i<length;i++)
if(this[i]===item)return i;return-1;};if(!Array.prototype.lastIndexOf)Array.prototype.lastIndexOf=function(item,i){i=isNaN(i)?this.length:(i<0?this.length+i:i)+1;var n=this.slice(0,i).reverse().indexOf(item);return(n<0)?n:i-n-1;};Array.prototype.toArray=Array.prototype.clone;function $w(string){if(!Object.isString(string))return[];string=string.strip();return string?string.split(/\s+/):[];}
if(Prototype.Browser.Opera){Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++)array.push(this[i]);for(var i=0,length=arguments.length;i<length;i++){if(Object.isArray(arguments[i])){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++)
array.push(arguments[i][j]);}else{array.push(arguments[i]);}}
return array;};}
Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16);},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;},toPaddedString:function(length,radix){var string=this.toString(radix||10);return'0'.times(length-string.length)+string;},toJSON:function(){return isFinite(this)?this.toString():'null';}});$w('abs round ceil floor').each(function(method){Number.prototype[method]=Math[method].methodize();});function $H(object){return new Hash(object);};var Hash=Class.create(Enumerable,(function(){function toQueryPair(key,value){if(Object.isUndefined(value))return key;return key+'='+encodeURIComponent(String.interpret(value));}
return{initialize:function(object){this._object=Object.isHash(object)?object.toObject():Object.clone(object);},_each:function(iterator){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},set:function(key,value){return this._object[key]=value;},get:function(key){return this._object[key];},unset:function(key){var value=this._object[key];delete this._object[key];return value;},toObject:function(){return Object.clone(this._object);},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},index:function(value){var match=this.detect(function(pair){return pair.value===value;});return match&&match.key;},merge:function(object){return this.clone().update(object);},update:function(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result;});},toQueryString:function(){return this.map(function(pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=='object'){if(Object.isArray(values))
return values.map(toQueryPair.curry(key)).join('&');}
return toQueryPair(key,values);}).join('&');},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';},toJSON:function(){return Object.toJSON(this.toObject());},clone:function(){return new Hash(this);}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ();}},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);};var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responder){if(!this.include(responder))
this.responders.push(responder);},unregister:function(responder){this.responders=this.responders.without(responder);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(Object.isFunction(responder[callback])){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:'',evalJSON:true,evalJS:true};Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters))
this.options.parameters=this.options.parameters.toQueryParams();else if(Object.isHash(this.options.parameters))
this.options.parameters=this.options.parameters.toObject();}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,url,options){$super(options);this.transport=Ajax.getTransport();this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=Object.clone(this.options.parameters);if(!['get','post'].include(this.method)){ params['_method']=this.method;this.method='post';}
this.parameters=params;if(params=Object.toQueryString(params)){ if(this.method=='get')
this.url+=(this.url.include('?')?'&':'?')+params;else if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
params+='&_=';}
try{var response=new Ajax.Response(this);if(this.options.onCreate)this.options.onCreate(response);Ajax.Responders.dispatch('onCreate',this,response);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)this.respondToReadyState.bind(this).defer(1);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType)
this.onStateChange();}
catch(e){this.dispatchException(e);}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))
this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,'Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+
(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)
headers['Connection']='close';} 
if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(Object.isFunction(extras.push))
for(var i=0,length=extras.length;i<length;i+=2)
headers[extras[i]]=extras[i+1];else
$H(extras).each(function(pair){headers[pair.key]=pair.value});}
for(var name in headers)
this.transport.setRequestHeader(name,headers[name]);},success:function(){var status=this.getStatus();return!status||(status>=200&&status<300);},getStatus:function(){try{return this.transport.status||0;}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);if(state=='Complete'){try{this._complete=true;(this.options['on'+response.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(response,response.headerJSON);}catch(e){this.dispatchException(e);}
var contentType=response.getHeader('Content-type');if(this.options.evalJS=='force'||(this.options.evalJS&&this.isSameOrigin()&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
this.evalResponse();}
try{(this.options['on'+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch('on'+state,this,response,response.headerJSON);}catch(e){this.dispatchException(e);}
if(state=='Complete'){ this.transport.onreadystatechange=Prototype.emptyFunction;}},isSameOrigin:function(){var m=this.url.match(/^\s*https?:\/\/[^\/]*/);return!m||(m[0]=='#{protocol}//#{domain}#{port}'.interpolate({protocol:location.protocol,domain:document.domain,port:location.port?':'+location.port:''}));},getHeader:function(name){try{return this.transport.getResponseHeader(name)||null;}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||'').unfilterJSON());}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON();}
if(readyState==4){var xml=transport.responseXML;this.responseXML=Object.isUndefined(xml)?null:xml;this.responseJSON=this._getResponseJSON();}},status:0,statusText:'',getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||'';}catch(e){return''}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders();}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name);},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders();},_getHeaderJSON:function(){var json=this.getHeader('X-JSON');if(!json)return null;json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!='force'&&!(this.getHeader('Content-type')||'').include('application/json'))||this.responseText.blank())
return null;try{return this.responseText.evalJSON(options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=Object.clone(options);var onComplete=options.onComplete;options.onComplete=(function(response,json){this.updateContent(response.responseText);if(Object.isFunction(onComplete))onComplete(response,json);}).bind(this);$super(url,options);},updateContent:function(responseText){var receiver=this.container[this.success()?'success':'failure'],options=this.options;if(!options.evalScripts)responseText=responseText.stripScripts();if(receiver=$(receiver)){if(options.insertion){if(Object.isString(options.insertion)){var insertion={};insertion[options.insertion]=responseText;receiver.insert(insertion);}
else options.insertion(receiver,responseText);}
else receiver.update(responseText);}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=response.responseText;}
this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($(arguments[i]));return elements;}
if(Object.isString(element))
element=document.getElementById(element);return Element.extend(element);}
if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)
results.push(Element.extend(query.snapshotItem(i)));return results;};}
if(!window.Node)var Node={};if(!Node.ELEMENT_NODE){ Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12});}
(function(){var element=this.Element;this.Element=function(tagName,attributes){attributes=attributes||{};tagName=tagName.toLowerCase();var cache=Element.cache;if(Prototype.Browser.IE&&attributes.name){tagName='<'+tagName+' name="'+attributes.name+'">';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes);}
if(!cache[tagName])cache[tagName]=Element.extend(document.createElement(tagName));return Element.writeAttribute(cache[tagName].cloneNode(false),attributes);};Object.extend(this.Element,element||{});}).call(window);Element.cache={};Element.Methods={visible:function(element){return $(element).style.display!='none';},toggle:function(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element;},hide:function(element){$(element).style.display='none';return element;},show:function(element){$(element).style.display='';return element;},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element;},update:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;},replace:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();else if(!Object.isElement(content)){content=Object.toHTML(content);var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts());}
element.parentNode.replaceChild(content,element);return element;},insert:function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML)))
insertions={bottom:insertions};var content,insert,tagName,childNodes;for(var position in insertions){content=insertions[position];position=position.toLowerCase();insert=Element._insertionTranslations[position];if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){insert(element,content);continue;}
content=Object.toHTML(content);tagName=((position=='before'||position=='after')?element.parentNode:element).tagName.toUpperCase();childNodes=Element._getContentFromAnonymousElement(tagName,content.stripScripts());if(position=='top'||position=='after')childNodes.reverse();childNodes.each(insert.curry(element));content.evalScripts.bind(content).defer();}
return element;},wrap:function(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper))
$(wrapper).writeAttribute(attributes||{});else if(Object.isString(wrapper))wrapper=new Element(wrapper,attributes);else wrapper=new Element('div',wrapper);if(element.parentNode)
element.parentNode.replaceChild(wrapper,element);wrapper.appendChild(element);return wrapper;},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({'id':'id','className':'class'}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);});return result+'>';},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property])
if(element.nodeType==1)
elements.push(Element.extend(element));return elements;},ancestors:function(element){return $(element).recursivelyCollect('parentNode');},descendants:function(element){return $(element).select("*");},firstDescendant:function(element){element=$(element).firstChild;while(element&&element.nodeType!=1)element=element.nextSibling;return $(element);},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[];},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling');},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling');},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings());},match:function(element,selector){if(Object.isString(selector))
selector=new Selector(selector);return selector.match($(element));},up:function(element,expression,index){element=$(element);if(arguments.length==1)return $(element.parentNode);var ancestors=element.ancestors();return Object.isNumber(expression)?ancestors[expression]:Selector.findElement(ancestors,expression,index);},down:function(element,expression,index){element=$(element);if(arguments.length==1)return element.firstDescendant();return Object.isNumber(expression)?element.descendants()[expression]:element.select(expression)[index||0];},previous:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.previousElementSibling(element));var previousSiblings=element.previousSiblings();return Object.isNumber(expression)?previousSiblings[expression]:Selector.findElement(previousSiblings,expression,index);},next:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.nextElementSibling(element));var nextSiblings=element.nextSiblings();return Object.isNumber(expression)?nextSiblings[expression]:Selector.findElement(nextSiblings,expression,index);},select:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args);},adjacent:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element.parentNode,args).without(element);},identify:function(element){element=$(element);var id=element.readAttribute('id'),self=arguments.callee;if(id)return id;do{id='anonymous_element_'+self.counter++}while($(id));element.writeAttribute('id',id);return id;},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];if(name.include(':')){return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value;}}
return element.getAttribute(name);},writeAttribute:function(element,name,value){element=$(element);var attributes={},t=Element._attributeTranslations.write;if(typeof name=='object')attributes=name;else attributes[name]=Object.isUndefined(value)?true:value;for(var attr in attributes){name=t.names[attr]||attr;value=attributes[attr];if(t.values[attr])name=t.values[attr](element,value);if(value===false||value===null)
element.removeAttribute(name);else if(value===true)
element.setAttribute(name,name);else element.setAttribute(name,value);}
return element;},getHeight:function(element){return $(element).getDimensions().height;},getWidth:function(element){return $(element).getDimensions().width;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));},addClassName:function(element,className){if(!(element=$(element)))return;if(!element.hasClassName(className))
element.className+=(element.className?' ':'')+className;return element;},removeClassName:function(element,className){if(!(element=$(element)))return;element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ').strip();return element;},toggleClassName:function(element,className){if(!(element=$(element)))return;return element[element.hasClassName(className)?'removeClassName':'addClassName'](className);}, cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue))
element.removeChild(node);node=nextNode;}
return element;},empty:function(element){return $(element).innerHTML.blank();},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);var originalAncestor=ancestor;if(element.compareDocumentPosition)
return(element.compareDocumentPosition(ancestor)&8)===8;if(element.sourceIndex&&!Prototype.Browser.Opera){var e=element.sourceIndex,a=ancestor.sourceIndex,nextAncestor=ancestor.nextSibling;if(!nextAncestor){do{ancestor=ancestor.parentNode;}
while(!(nextAncestor=ancestor.nextSibling)&&ancestor.parentNode);}
if(nextAncestor&&nextAncestor.sourceIndex)
return(e>a&&e<nextAncestor.sourceIndex);}
while(element=element.parentNode)
if(element==originalAncestor)return true;return false;},scrollTo:function(element){element=$(element);var pos=element.cumulativeOffset();window.scrollTo(pos[0],pos[1]);return element;},getStyle:function(element,style){element=$(element);style=style=='float'?'cssFloat':style.camelize();var value=element.style[style];if(!value){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}
if(style=='opacity')return value?parseFloat(value):1.0;return value=='auto'?null:value;},getOpacity:function(element){return $(element).getStyle('opacity');},setStyle:function(element,styles){element=$(element);var elementStyle=element.style,match;if(Object.isString(styles)){element.style.cssText+=';'+styles;return styles.include('opacity')?element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]):element;}
for(var property in styles)
if(property=='opacity')element.setOpacity(styles[property]);else
elementStyle[(property=='float'||property=='cssFloat')?(Object.isUndefined(elementStyle.styleFloat)?'cssFloat':'styleFloat'):property]=styles[property];return element;},setOpacity:function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;return element;},getDimensions:function(element){element=$(element);var display=$(element).getStyle('display');if(display!='none'&&display!=null) 
return{width:element.offsetWidth,height:element.offsetHeight}; var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative'; if(window.opera){element.style.top=0;element.style.left=0;}}
return element;},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}
return element;},makeClipping:function(element){element=$(element);if(element._overflow)return element;element._overflow=Element.getStyle(element,'overflow')||'auto';if(element._overflow!=='hidden')
element.style.overflow='hidden';return element;},undoClipping:function(element){element=$(element);if(!element._overflow)return element;element.style.overflow=element._overflow=='auto'?'':element._overflow;element._overflow=null;return element;},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return Element._returnOffset(valueL,valueT);},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName=='BODY')break;var p=Element.getStyle(element,'position');if(p!=='static')break;}}while(element);return Element._returnOffset(valueL,valueT);},absolutize:function(element){element=$(element);if(element.getStyle('position')=='absolute')return;var offsets=element.positionedOffset();var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';element.style.left=left+'px';element.style.width=width+'px';element.style.height=height+'px';return element;},relativize:function(element){element=$(element);if(element.getStyle('position')=='relative')return;element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;return element;},cumulativeScrollOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return Element._returnOffset(valueL,valueT);},getOffsetParent:function(element){if(element.offsetParent)return $(element.offsetParent);if(element==document.body)return $(element);while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return $(element);return $(document.body);},viewportOffset:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0; if(element.offsetParent==document.body&&Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{if(!Prototype.Browser.Opera||element.tagName=='BODY'){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}}while(element=element.parentNode);return Element._returnOffset(valueL,valueT);},clonePosition:function(element,source){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{}); source=$(source);var p=source.viewportOffset(); element=$(element);var delta=[0,0];var parent=null; if(Element.getStyle(element,'position')=='absolute'){parent=element.getOffsetParent();delta=parent.viewportOffset();}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;} 
if(options.setLeft)element.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)element.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)element.style.width=source.offsetWidth+'px';if(options.setHeight)element.style.height=source.offsetHeight+'px';return element;}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:'class',htmlFor:'for'},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(proceed,element,style){switch(style){case'left':case'top':case'right':case'bottom':if(proceed(element,'position')==='static')return null;case'height':case'width': if(!Element.visible(element))return null; var dim=parseInt(proceed(element,style),10);if(dim!==element['offset'+style.capitalize()])
return dim+'px';var properties;if(style==='height'){properties=['border-top-width','padding-top','padding-bottom','border-bottom-width'];}
else{properties=['border-left-width','padding-left','padding-right','border-right-width'];}
return properties.inject(dim,function(memo,property){var val=proceed(element,property);return val===null?memo:memo-parseInt(val,10);})+'px';default:return proceed(element,style);}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(proceed,element,attribute){if(attribute==='title')return element.title;return proceed(element,attribute);});}
else if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(proceed,element){element=$(element);var position=element.getStyle('position');if(position!=='static')return proceed(element);element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});$w('positionedOffset viewportOffset').each(function(method){Element.Methods[method]=Element.Methods[method].wrap(function(proceed,element){element=$(element);var position=element.getStyle('position');if(position!=='static')return proceed(element);var offsetParent=element.getOffsetParent();if(offsetParent&&offsetParent.getStyle('position')==='fixed')
offsetParent.setStyle({zoom:1});element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});});Element.Methods.getStyle=function(element,style){element=$(element);style=(style=='float'||style=='cssFloat')?'styleFloat':style.camelize();var value=element.style[style];if(!value&&element.currentStyle)value=element.currentStyle[style];if(style=='opacity'){if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))
if(value[1])return parseFloat(value[1])/100;return 1.0;}
if(value=='auto'){if((style=='width'||style=='height')&&(element.getStyle('display')!='none'))
return element['offset'+style.capitalize()]+'px';return null;}
return value;};Element.Methods.setOpacity=function(element,value){function stripAlpha(filter){return filter.replace(/alpha\([^\)]*\)/gi,'');}
element=$(element);var currentStyle=element.currentStyle;if((currentStyle&&!currentStyle.hasLayout)||(!currentStyle&&element.style.zoom=='normal'))
element.style.zoom=1;var filter=element.getStyle('filter'),style=element.style;if(value==1||value===''){(filter=stripAlpha(filter))?style.filter=filter:style.removeAttribute('filter');return element;}else if(value<0.00001)value=0;style.filter=stripAlpha(filter)+'alpha(opacity='+(value*100)+')';return element;};Element._attributeTranslations={read:{names:{'class':'className','for':'htmlFor'},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute,2);},_getAttrNode:function(element,attribute){var node=element.getAttributeNode(attribute);return node?node.value:"";},_getEv:function(element,attribute){attribute=element.getAttribute(attribute);return attribute?attribute.toString().slice(23,-2):null;},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null;},style:function(element){return element.style.cssText.toLowerCase();},title:function(element){return element.title;}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:'cellPadding',cellspacing:'cellSpacing'},Element._attributeTranslations.read.names),values:{checked:function(element,value){element.checked=!!value;},style:function(element,value){element.style.cssText=value?value:'';}}};Element._attributeTranslations.has={};$w('colSpan rowSpan vAlign dateTime accessKey tabIndex '+'encType maxLength readOnly longDesc').each(function(attr){Element._attributeTranslations.write.names[attr.toLowerCase()]=attr;Element._attributeTranslations.has[attr.toLowerCase()]=attr;});(function(v){Object.extend(v,{href:v._getAttr,src:v._getAttr,type:v._getAttr,action:v._getAttrNode,disabled:v._flag,checked:v._flag,readonly:v._flag,multiple:v._flag,onload:v._getEv,onunload:v._getEv,onclick:v._getEv,ondblclick:v._getEv,onmousedown:v._getEv,onmouseup:v._getEv,onmouseover:v._getEv,onmousemove:v._getEv,onmouseout:v._getEv,onfocus:v._getEv,onblur:v._getEv,onkeypress:v._getEv,onkeydown:v._getEv,onkeyup:v._getEv,onsubmit:v._getEv,onreset:v._getEv,onselect:v._getEv,onchange:v._getEv});})(Element._attributeTranslations.read.values);}
else if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1)?0.999999:(value==='')?'':(value<0.00001)?0:value;return element;};}
else if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;if(value==1)
if(element.tagName=='IMG'&&element.width){element.width++;element.width--;}else try{var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}
return element;};Element.Methods.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return Element._returnOffset(valueL,valueT);};}
if(Prototype.Browser.IE||Prototype.Browser.Opera){ Element.Methods.update=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);var tagName=element.tagName.toUpperCase();if(tagName in Element._insertionTranslations.tags){$A(element.childNodes).each(function(node){element.removeChild(node)});Element._getContentFromAnonymousElement(tagName,content.stripScripts()).each(function(node){element.appendChild(node)});}
else element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;};}
if('outerHTML'in document.createElement('div')){Element.Methods.replace=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){element.parentNode.replaceChild(content,element);return element;}
content=Object.toHTML(content);var parent=element.parentNode,tagName=parent.tagName.toUpperCase();if(Element._insertionTranslations.tags[tagName]){var nextSibling=element.next();var fragments=Element._getContentFromAnonymousElement(tagName,content.stripScripts());parent.removeChild(element);if(nextSibling)
fragments.each(function(node){parent.insertBefore(node,nextSibling)});else
fragments.each(function(node){parent.appendChild(node)});}
else element.outerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;};}
Element._returnOffset=function(l,t){var result=[l,t];result.left=l;result.top=t;return result;};Element._getContentFromAnonymousElement=function(tagName,html){var div=new Element('div'),t=Element._insertionTranslations.tags[tagName];if(t){div.innerHTML=t[0]+html+t[1];t[2].times(function(){div=div.firstChild});}else div.innerHTML=html;return $A(div.childNodes);};Element._insertionTranslations={before:function(element,node){element.parentNode.insertBefore(node,element);},top:function(element,node){element.insertBefore(node,element.firstChild);},bottom:function(element,node){element.appendChild(node);},after:function(element,node){element.parentNode.insertBefore(node,element.nextSibling);},tags:{TABLE:['<table>','</table>',1],TBODY:['<table><tbody>','</tbody></table>',2],TR:['<table><tbody><tr>','</tr></tbody></table>',3],TD:['<table><tbody><tr><td>','</td></tr></tbody></table>',4],SELECT:['<select>','</select>',1]}};(function(){Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD});}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(element,attribute){attribute=Element._attributeTranslations.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return node&&node.specified;}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement('div').__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement('div').__proto__;Prototype.BrowserFeatures.ElementExtensions=true;}
Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions)
return Prototype.K;var Methods={},ByTag=Element.Methods.ByTag;var extend=Object.extend(function(element){if(!element||element._extendedByPrototype||element.nodeType!=1||element==window)return element;var methods=Object.clone(Methods),tagName=element.tagName,property,value; if(ByTag[tagName])Object.extend(methods,ByTag[tagName]);for(property in methods){value=methods[property];if(Object.isFunction(value)&&!(property in element))
element[property]=value.methodize();}
element._extendedByPrototype=Prototype.emptyFunction;return element;},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated);}}});extend.refresh();return extend;})();Element.hasAttribute=function(element,attribute){if(element.hasAttribute)return element.hasAttribute(attribute);return Element.Methods.Simulated.hasAttribute(element,attribute);};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{"FORM":Object.clone(Form.Methods),"INPUT":Object.clone(Form.Element.Methods),"SELECT":Object.clone(Form.Element.Methods),"TEXTAREA":Object.clone(Form.Element.Methods)});}
if(arguments.length==2){var tagName=methods;methods=arguments[1];}
if(!tagName)Object.extend(Element.Methods,methods||{});else{if(Object.isArray(tagName))tagName.each(extend);else extend(tagName);}
function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName])
Element.Methods.ByTag[tagName]={};Object.extend(Element.Methods.ByTag[tagName],methods);}
function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;for(var property in methods){var value=methods[property];if(!Object.isFunction(value))continue;if(!onlyIfAbsent||!(property in destination))
destination[property]=value.methodize();}}
function findDOMClass(tagName){var klass;var trans={"OPTGROUP":"OptGroup","TEXTAREA":"TextArea","P":"Paragraph","FIELDSET":"FieldSet","UL":"UList","OL":"OList","DL":"DList","DIR":"Directory","H1":"Heading","H2":"Heading","H3":"Heading","H4":"Heading","H5":"Heading","H6":"Heading","Q":"Quote","INS":"Mod","DEL":"Mod","A":"Anchor","IMG":"Image","CAPTION":"TableCaption","COL":"TableCol","COLGROUP":"TableCol","THEAD":"TableSection","TFOOT":"TableSection","TBODY":"TableSection","TR":"TableRow","TH":"TableCell","TD":"TableCell","FRAMESET":"FrameSet","IFRAME":"IFrame"};if(trans[tagName])klass='HTML'+trans[tagName]+'Element';if(window[klass])return window[klass];klass='HTML'+tagName+'Element';if(window[klass])return window[klass];klass='HTML'+tagName.capitalize()+'Element';if(window[klass])return window[klass];window[klass]={};window[klass].prototype=document.createElement(tagName).__proto__;return window[klass];}
if(F.ElementExtensions){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true);}
if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass))continue;copy(T[tag],klass.prototype);}}
Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh)Element.extend.refresh();Element.cache={};};document.viewport={getDimensions:function(){var dimensions={};var B=Prototype.Browser;$w('width height').each(function(d){var D=d.capitalize();dimensions[d]=(B.WebKit&&!document.evaluate)?self['inner'+D]:(B.Opera)?document.body['client'+D]:document.documentElement['client'+D];});return dimensions;},getWidth:function(){return this.getDimensions().width;},getHeight:function(){return this.getDimensions().height;},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop);}};var Selector=Class.create({initialize:function(expression){this.expression=expression.strip();this.compileMatcher();},shouldUseXPath:function(){if(!Prototype.BrowserFeatures.XPath)return false;var e=this.expression; if(Prototype.Browser.WebKit&&(e.include("-of-type")||e.include(":empty")))
return false; if((/(\[[\w-]*?:|:checked)/).test(this.expression))
return false;return true;},compileMatcher:function(){if(this.shouldUseXPath())
return this.compileXPathMatcher();var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return;}
this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join('\n'));Selector._cache[this.expression]=this.matcher;},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m;if(Selector._cache[e]){this.xpath=Selector._cache[e];return;}
this.matcher=['.//*'];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){if(m=e.match(ps[i])){this.matcher.push(Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.xpath=this.matcher.join('');Selector._cache[this.expression]=this.xpath;},findElements:function(root){root=root||document;if(this.xpath)return document._getElementsByXPath(this.xpath,root);return this.matcher(root);},match:function(element){this.tokens=[];var e=this.expression,ps=Selector.patterns,as=Selector.assertions;var le,p,m;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){if(as[i]){this.tokens.push([i,Object.clone(m)]);e=e.replace(m[0],'');}else{ return this.findElements(document).include(element);}}}}
var match=true,name,matches;for(var i=0,token;token=this.tokens[i];i++){name=token[0],matches=token[1];if(!Selector.assertions[name](element,matches)){match=false;break;}}
return match;},toString:function(){return this.expression;},inspect:function(){return"#<Selector:"+this.expression.inspect()+">";}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:'/following-sibling::*',tagName:function(m){if(m[1]=='*')return'';return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']";},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(m){m[1]=m[1].toLowerCase();return new Template("[@#{1}]").evaluate(m);},attr:function(m){m[1]=m[1].toLowerCase();m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m);},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h)return'';if(Object.isFunction(h))return h(m);return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);},operators:{'=':"[@#{1}='#{3}']",'!=':"[@#{1}!='#{3}']",'^=':"[starts-with(@#{1}, '#{3}')]",'$=':"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",'*=':"[contains(@#{1}, '#{3}')]",'~=':"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",'|=':"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{'first-child':'[not(preceding-sibling::*)]','last-child':'[not(following-sibling::*)]','only-child':'[not(preceding-sibling::* or following-sibling::*)]','empty':"[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",'checked':"[@checked]",'disabled':"[@disabled]",'enabled':"[not(@disabled)]",'not':function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,v;var exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in p){if(m=e.match(p[i])){v=Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],'');break;}}}
return"[not("+exclusion.join(" and ")+")]";},'nth-child':function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m);},'nth-last-child':function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m);},'nth-of-type':function(m){return Selector.xpath.pseudos.nth("position() ",m);},'nth-last-of-type':function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m);},'first-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-of-type'](m);},'last-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-last-of-type'](m);},'only-of-type':function(m){var p=Selector.xpath.pseudos;return p['first-of-type'](m)+p['last-of-type'](m);},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';if(mm=formula.match(/^(\d+)$/)) 
return'['+fragment+"= "+mm[1]+']';if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){ if(mm[1]=="-")mm[1]=-1;var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and "+"((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b});}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m);},pseudo:function(m){if(m[6])m[6]=m[6].replace(/"/g,'\\"');return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/, tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,attrPresence:/^\[([\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/}, assertions:{tagName:function(element,matches){return matches[1].toUpperCase()==element.tagName.toUpperCase();},className:function(element,matches){return Element.hasClassName(element,matches[1]);},id:function(element,matches){return element.id===matches[1];},attrPresence:function(element,matches){return Element.hasAttribute(element,matches[1]);},attr:function(element,matches){var nodeValue=Element.readAttribute(element,matches[1]);return nodeValue&&Selector.operators[matches[2]](nodeValue,matches[5]||matches[6]);}},handlers:{ concat:function(a,b){for(var i=0,node;node=b[i];i++)
a.push(node);return a;}, mark:function(nodes){var _true=Prototype.emptyFunction;for(var i=0,node;node=nodes[i];i++)
node._countedByPrototype=_true;return nodes;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._countedByPrototype=undefined;return nodes;}, 
index:function(parentNode,reverse,ofType){parentNode._countedByPrototype=Prototype.emptyFunction;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;i>=0;i--){var node=nodes[i];if(node.nodeType==1&&(!ofType||node._countedByPrototype))node.nodeIndex=j++;}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++)
if(node.nodeType==1&&(!ofType||node._countedByPrototype))node.nodeIndex=j++;}}, unique:function(nodes){if(nodes.length==0)return nodes;var results=[],n;for(var i=0,l=nodes.length;i<l;i++)
if(!(n=nodes[i])._countedByPrototype){n._countedByPrototype=Prototype.emptyFunction;results.push(Element.extend(n));}
return Selector.handlers.unmark(results);}, descendant:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName('*'));return results;},child:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){for(var j=0,child;child=node.childNodes[j];j++)
if(child.nodeType==1&&child.tagName!='!')results.push(child);}
return results;},adjacent:function(nodes){for(var i=0,results=[],node;node=nodes[i];i++){var next=this.nextElementSibling(node);if(next)results.push(next);}
return results;},laterSibling:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,Element.nextSiblings(node));return results;},nextElementSibling:function(node){while(node=node.nextSibling)
if(node.nodeType==1)return node;return null;},previousElementSibling:function(node){while(node=node.previousSibling)
if(node.nodeType==1)return node;return null;}, tagName:function(nodes,root,tagName,combinator){var uTagName=tagName.toUpperCase();var results=[],h=Selector.handlers;if(nodes){if(combinator){ if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName(tagName));return results;}else nodes=this[combinator](nodes);if(tagName=="*")return nodes;}
for(var i=0,node;node=nodes[i];i++)
if(node.tagName.toUpperCase()===uTagName)results.push(node);return results;}else return root.getElementsByTagName(tagName);},id:function(nodes,root,id,combinator){var targetNode=$(id),h=Selector.handlers;if(!targetNode)return[];if(!nodes&&root==document)return[targetNode];if(nodes){if(combinator){if(combinator=='child'){for(var i=0,node;node=nodes[i];i++)
if(targetNode.parentNode==node)return[targetNode];}else if(combinator=='descendant'){for(var i=0,node;node=nodes[i];i++)
if(Element.descendantOf(targetNode,node))return[targetNode];}else if(combinator=='adjacent'){for(var i=0,node;node=nodes[i];i++)
if(Selector.handlers.previousElementSibling(targetNode)==node)
return[targetNode];}else nodes=h[combinator](nodes);}
for(var i=0,node;node=nodes[i];i++)
if(node==targetNode)return[targetNode];return[];}
return(targetNode&&Element.descendantOf(targetNode,root))?[targetNode]:[];},className:function(nodes,root,className,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);return Selector.handlers.byClassName(nodes,root,className);},byClassName:function(nodes,root,className){if(!nodes)nodes=Selector.handlers.descendant([root]);var needle=' '+className+' ';for(var i=0,results=[],node,nodeClassName;node=nodes[i];i++){nodeClassName=node.className;if(nodeClassName.length==0)continue;if(nodeClassName==className||(' '+nodeClassName+' ').include(needle))
results.push(node);}
return results;},attrPresence:function(nodes,root,attr,combinator){if(!nodes)nodes=root.getElementsByTagName("*");if(nodes&&combinator)nodes=this[combinator](nodes);var results=[];for(var i=0,node;node=nodes[i];i++)
if(Element.hasAttribute(node,attr))results.push(node);return results;},attr:function(nodes,root,attr,value,operator,combinator){if(!nodes)nodes=root.getElementsByTagName("*");if(nodes&&combinator)nodes=this[combinator](nodes);var handler=Selector.operators[operator],results=[];for(var i=0,node;node=nodes[i];i++){var nodeValue=Element.readAttribute(node,attr);if(nodeValue===null)continue;if(handler(nodeValue,value))results.push(node);}
return results;},pseudo:function(nodes,name,value,root,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);if(!nodes)nodes=root.getElementsByTagName("*");return Selector.pseudos[name](nodes,value,root);}},pseudos:{'first-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.previousElementSibling(node))continue;results.push(node);}
return results;},'last-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.nextElementSibling(node))continue;results.push(node);}
return results;},'only-child':function(nodes,value,root){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
if(!h.previousElementSibling(node)&&!h.nextElementSibling(node))
results.push(node);return results;},'nth-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root);},'nth-last-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true);},'nth-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,false,true);},'nth-last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true,true);},'first-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,false,true);},'last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,true,true);},'only-of-type':function(nodes,formula,root){var p=Selector.pseudos;return p['last-of-type'](p['first-of-type'](nodes,formula,root),formula,root);}, getIndices:function(a,b,total){if(a==0)return b>0?[b]:[];return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0)memo.push(i);return memo;});}, nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0)return[];if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++){if(!node.parentNode._countedByPrototype){h.index(node.parentNode,reverse,ofType);indexed.push(node.parentNode);}}
if(formula.match(/^\d+$/)){ formula=Number(formula);for(var i=0,node;node=nodes[i];i++)
if(node.nodeIndex==formula)results.push(node);}else if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){ if(m[1]=="-")m[1]=-1;var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++){for(var j=0;j<l;j++)
if(node.nodeIndex==indices[j])results.push(node);}}
h.unmark(nodes);h.unmark(indexed);return results;},'empty':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){ if(node.tagName=='!'||(node.firstChild&&!node.innerHTML.match(/^\s*$/)))continue;results.push(node);}
return results;},'not':function(nodes,selector,root){var h=Selector.handlers,selectorType,m;var exclusions=new Selector(selector).findElements(root);h.mark(exclusions);for(var i=0,results=[],node;node=nodes[i];i++)
if(!node._countedByPrototype)results.push(node);h.unmark(exclusions);return results;},'enabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(!node.disabled)results.push(node);return results;},'disabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.disabled)results.push(node);return results;},'checked':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.checked)results.push(node);return results;}},operators:{'=':function(nv,v){return nv==v;},'!=':function(nv,v){return nv!=v;},'^=':function(nv,v){return nv.startsWith(v);},'$=':function(nv,v){return nv.endsWith(v);},'*=':function(nv,v){return nv.include(v);},'~=':function(nv,v){return(' '+nv+' ').include(' '+v+' ');},'|=':function(nv,v){return('-'+nv.toUpperCase()+'-').include('-'+v.toUpperCase()+'-');}},split:function(expression){var expressions=[];expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip());});return expressions;},matchElements:function(elements,expression){var matches=$$(expression),h=Selector.handlers;h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++)
if(element._countedByPrototype)results.push(element);h.unmark(matches);return results;},findElement:function(elements,expression,index){if(Object.isNumber(expression)){index=expression;expression=false;}
return Selector.matchElements(elements,expression||'*')[index||0];},findChildElements:function(element,expressions){expressions=Selector.split(expressions.join(','));var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i<l;i++){selector=new Selector(expressions[i].strip());h.concat(results,selector.findElements(element));}
return(l>1)?h.unique(results):results;}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(a,b){for(var i=0,node;node=b[i];i++)
if(node.tagName!=="!")a.push(node);return a;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node.removeAttribute('_countedByPrototype');return nodes;}});}
function $$(){return Selector.findChildElements(document,$A(arguments));}
var Form={reset:function(form){$(form).reset();return form;},serializeElements:function(elements,options){if(typeof options!='object')options={hash:!!options};else if(Object.isUndefined(options.hash))options.hash=true;var key,value,submitted=false,submit=options.submit;var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();if(value!=null&&(element.type!='submit'||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true)))){if(key in result){ if(!Object.isArray(result[key]))result[key]=[result[key]];result[key].push(value);}
else result[key]=value;}}
return result;});return options.hash?data:Object.toQueryString(data);}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options);},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()])
elements.push(Element.extend(child));return elements;});},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(Element.extend(input));}
return matchingInputs;},disable:function(form){form=$(form);Form.getElements(form).invoke('disable');return form;},enable:function(form){form=$(form);Form.getElements(form).invoke('enable');return form;},findFirstElement:function(form){var elements=$(form).getElements().findAll(function(element){return'hidden'!=element.type&&!element.disabled;});var firstByIndex=elements.findAll(function(element){return element.hasAttribute('tabIndex')&&element.tabIndex>=0;}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute('action')||'';if(action.blank())action=window.location.href;options.parameters=form.serialize(true);if(params){if(Object.isString(params))params=params.toQueryParams();Object.extend(options.parameters,params);}
if(form.hasAttribute('method')&&!options.method)
options.method=form.method;return new Ajax.Request(action,options);}};Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair);}}
return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element;},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))
element.select();}catch(e){}
return element;},disable:function(element){element=$(element);element.blur();element.disabled=true;return element;},enable:function(element){element=$(element);element.disabled=false;return element;}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element,value){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element,value);default:return Form.Element.Serializers.textarea(element,value);}},inputSelector:function(element,value){if(Object.isUndefined(value))return element.checked?element.value:null;else element.checked=!!value;},textarea:function(element,value){if(Object.isUndefined(value))return element.value;else element.value=value;},select:function(element,index){if(Object.isUndefined(index))
return this[element.type=='select-one'?'selectOne':'selectMany'](element);else{var opt,value,single=!Object.isArray(index);for(var i=0,length=element.length;i<length;i++){opt=element.options[i];value=this.optionValue(opt);if(single){if(value==index){opt.selected=true;return;}}
else opt.selected=index.include(value);}}},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null;},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(this.optionValue(opt));}
return values;},optionValue:function(opt){ return Element.extend(opt).hasAttribute('value')?opt.value:opt.text;}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,element,frequency,callback){$super(callback,frequency);this.element=$(element);this.lastValue=this.getValue();},execute:function(){var value=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(value)?this.lastValue!=value:String(this.lastValue)!=String(value)){this.callback(this.element,value);this.lastValue=value;}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=Class.create({initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
this.registerFormCallbacks();else
this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default:Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element);}});if(!window.Event)var Event={};Object.extend(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,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{},relatedTarget:function(event){var element;switch(event.type){case'mouseover':element=event.fromElement;break;case'mouseout':element=event.toElement;break;default:return null;}
return Element.extend(element);}});Event.Methods=(function(){var isButton;if(Prototype.Browser.IE){var buttonMap={0:1,1:4,2:2};isButton=function(event,code){return event.button==buttonMap[code];};}else if(Prototype.Browser.WebKit){isButton=function(event,code){switch(code){case 0:return event.which==1&&!event.metaKey;case 1:return event.which==1&&event.metaKey;default:return false;}};}else{isButton=function(event,code){return event.which?(event.which===code+1):(event.button===code);};}
return{isLeftClick:function(event){return isButton(event,0)},isMiddleClick:function(event){return isButton(event,1)},isRightClick:function(event){return isButton(event,2)},element:function(event){var node=Event.extend(event).target;return Element.extend(node.nodeType==Node.TEXT_NODE?node.parentNode:node);},findElement:function(event,expression){var element=Event.element(event);if(!expression)return element;var elements=[element].concat(element.ancestors());return Selector.findElement(elements,expression,0);},pointer:function(event){return{x:event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft)),y:event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop))};},pointerX:function(event){return Event.pointer(event).x},pointerY:function(event){return Event.pointer(event).y},stop:function(event){Event.extend(event);event.preventDefault();event.stopPropagation();event.stopped=true;}};})();Event.extend=(function(){var methods=Object.keys(Event.Methods).inject({},function(m,name){m[name]=Event.Methods[name].methodize();return m;});if(Prototype.Browser.IE){Object.extend(methods,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(event){if(!event)return false;if(event._extendedByPrototype)return event;event._extendedByPrototype=Prototype.emptyFunction;var pointer=Event.pointer(event);Object.extend(event,{target:event.srcElement,relatedTarget:Event.relatedTarget(event),pageX:pointer.x,pageY:pointer.y});return Object.extend(event,methods);};}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(Event.prototype,methods);return Prototype.K;}})();Object.extend(Event,(function(){var cache=Event.cache;function getEventID(element){if(element._prototypeEventID)return element._prototypeEventID[0];arguments.callee.id=arguments.callee.id||1;return element._prototypeEventID=[++arguments.callee.id];}
function getDOMEventName(eventName){if(eventName&&eventName.include(':'))return"dataavailable";return eventName;}
function getCacheForID(id){return cache[id]=cache[id]||{};}
function getWrappersForEventName(id,eventName){var c=getCacheForID(id);return c[eventName]=c[eventName]||[];}
function createWrapper(element,eventName,handler){var id=getEventID(element);var c=getWrappersForEventName(id,eventName);if(c.pluck("handler").include(handler))return false;var wrapper=function(event){if(!Event||!Event.extend||(event.eventName&&event.eventName!=eventName))
return false;Event.extend(event);handler.call(element,event);};wrapper.handler=handler;c.push(wrapper);return wrapper;}
function findWrapper(id,eventName,handler){var c=getWrappersForEventName(id,eventName);return c.find(function(wrapper){return wrapper.handler==handler});}
function destroyWrapper(id,eventName,handler){var c=getCacheForID(id);if(!c[eventName])return false;c[eventName]=c[eventName].without(findWrapper(id,eventName,handler));}
function destroyCache(){for(var id in cache)
for(var eventName in cache[id])
cache[id][eventName]=null;}
if(window.attachEvent){window.attachEvent("onunload",destroyCache);}
return{observe:function(element,eventName,handler){element=$(element);var name=getDOMEventName(eventName);var wrapper=createWrapper(element,eventName,handler);if(!wrapper)return element;if(element.addEventListener){element.addEventListener(name,wrapper,false);}else{element.attachEvent("on"+name,wrapper);}
return element;},stopObserving:function(element,eventName,handler){element=$(element);var id=getEventID(element),name=getDOMEventName(eventName);if(!handler&&eventName){getWrappersForEventName(id,eventName).each(function(wrapper){element.stopObserving(eventName,wrapper.handler);});return element;}else if(!eventName){Object.keys(getCacheForID(id)).each(function(eventName){element.stopObserving(eventName);});return element;}
var wrapper=findWrapper(id,eventName,handler);if(!wrapper)return element;if(element.removeEventListener){element.removeEventListener(name,wrapper,false);}else{element.detachEvent("on"+name,wrapper);}
destroyWrapper(id,eventName,handler);return element;},fire:function(element,eventName,memo){element=$(element);if(element==document&&document.createEvent&&!element.dispatchEvent)
element=document.documentElement;var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true);}else{event=document.createEventObject();event.eventType="ondataavailable";}
event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event);}else{element.fireEvent(event.eventType,event);}
return Event.extend(event);}};})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize(),loaded:false});(function(){var timer;function fireContentLoadedEvent(){if(document.loaded)return;if(timer)window.clearInterval(timer);document.fire("dom:loaded");document.loaded=true;}
if(document.addEventListener){if(Prototype.Browser.WebKit){timer=window.setInterval(function(){if(/loaded|complete/.test(document.readyState))
fireContentLoadedEvent();},0);Event.observe(window,"load",fireContentLoadedEvent);}else{document.addEventListener("DOMContentLoaded",fireContentLoadedEvent,false);}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");try{$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;fireContentLoadedEvent();}};}
catch(e){fireContentLoadedEvent();}}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(element,content){return Element.insert(element,{before:content});},Top:function(element,content){return Element.insert(element,{top:content});},Bottom:function(element,content){return Element.insert(element,{bottom:content});},After:function(element,content){return Element.insert(element,{after:content});}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={ includeScrollOffsets:false, prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;}, within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=Element.cumulativeScrollOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=Element.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);}, overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(element){Position.prepare();return Element.absolutize(element);},relativize:function(element){Position.prepare();return Element.relativize(element);},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(source,target,options){options=options||{};return Element.clonePosition(target,source,options);}};if(!document.getElementsByClassName)document.getElementsByClassName=function(instanceMethods){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]";}
instanceMethods.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(element,className){className=className.toString().strip();var cond=/\s/.test(className)?$w(className).map(iter).join(''):iter(className);return cond?document._getElementsByXPath('.//*'+cond,element):[];}:function(element,className){className=className.toString().strip();var elements=[],classNames=(/\s/.test(className)?$w(className):null);if(!classNames&&!className)return elements;var nodes=$(element).getElementsByTagName('*');className=' '+className+' ';for(var i=0,child,cn;child=nodes[i];i++){if(child.className&&(cn=' '+child.className+' ')&&(cn.include(className)||(classNames&&classNames.all(function(name){return!name.toString().blank()&&cn.include(' '+name+' ');}))))
elements.push(Element.extend(child));}
return elements;};return function(className,parentElement){return $(parentElement||document.body).getElementsByClassName(className);};}(Element.Methods);Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();
/* yui_2.5.1/utilities/utilities.js */
/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.1
*/
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{isArray:function(B){if(B){var A=YAHOO.lang;return A.isNumber(B.length)&&A.isFunction(B.splice);}return false;},isBoolean:function(A){return typeof A==="boolean";},isFunction:function(A){return typeof A==="function";},isNull:function(A){return A===null;},isNumber:function(A){return typeof A==="number"&&isFinite(A);},isObject:function(A){return(A&&(typeof A==="object"||YAHOO.lang.isFunction(A)))||false;},isString:function(A){return typeof A==="string";},isUndefined:function(A){return typeof A==="undefined";},hasOwnProperty:function(A,B){if(Object.prototype.hasOwnProperty){return A.hasOwnProperty(B);}return !YAHOO.lang.isUndefined(A[B])&&A.constructor.prototype[B]!==A[B];},_IEEnumFix:function(C,B){if(YAHOO.env.ua.ie){var E=["toString","valueOf"],A;for(A=0;A<E.length;A=A+1){var F=E[A],D=B[F];if(YAHOO.lang.isFunction(D)&&D!=Object.prototype[F]){C[F]=D;}}}},extend:function(D,E,C){if(!E||!D){throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");}var B=function(){};B.prototype=E.prototype;D.prototype=new B();D.prototype.constructor=D;D.superclass=E.prototype;if(E.prototype.constructor==Object.prototype.constructor){E.prototype.constructor=E;}if(C){for(var A in C){D.prototype[A]=C[A];}YAHOO.lang._IEEnumFix(D.prototype,C);}},augmentObject:function(E,D){if(!D||!E){throw new Error("Absorb failed, verify dependencies.");}var A=arguments,C,F,B=A[2];if(B&&B!==true){for(C=2;C<A.length;C=C+1){E[A[C]]=D[A[C]];}}else{for(F in D){if(B||!E[F]){E[F]=D[F];}}YAHOO.lang._IEEnumFix(E,D);}},augmentProto:function(D,C){if(!C||!D){throw new Error("Augment failed, verify dependencies.");}var A=[D.prototype,C.prototype];for(var B=2;B<arguments.length;B=B+1){A.push(arguments[B]);}YAHOO.lang.augmentObject.apply(this,A);},dump:function(A,G){var C=YAHOO.lang,D,F,I=[],J="{...}",B="f(){...}",H=", ",E=" => ";if(!C.isObject(A)){return A+"";}else{if(A instanceof Date||("nodeType" in A&&"tagName" in A)){return A;}else{if(C.isFunction(A)){return B;}}}G=(C.isNumber(G))?G:3;if(C.isArray(A)){I.push("[");for(D=0,F=A.length;D<F;D=D+1){if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}if(I.length>1){I.pop();}I.push("]");}else{I.push("{");for(D in A){if(C.hasOwnProperty(A,D)){I.push(D+E);if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}}if(I.length>1){I.pop();}I.push("}");}return I.join("");},substitute:function(Q,B,J){var G,F,E,M,N,P,D=YAHOO.lang,L=[],C,H="dump",K=" ",A="{",O="}";for(;;){G=Q.lastIndexOf(A);if(G<0){break;}F=Q.indexOf(O,G);if(G+1>=F){break;}C=Q.substring(G+1,F);M=C;P=null;E=M.indexOf(K);if(E>-1){P=M.substring(E+1);M=M.substring(0,E);}N=B[M];if(J){N=J(M,N,P);}if(D.isObject(N)){if(D.isArray(N)){N=D.dump(N,parseInt(P,10));}else{P=P||"";var I=P.indexOf(H);if(I>-1){P=P.substring(4);}if(N.toString===Object.prototype.toString||I>-1){N=D.dump(N,parseInt(P,10));}else{N=N.toString();}}}else{if(!D.isString(N)&&!D.isNumber(N)){N="~-"+L.length+"-~";L[L.length]=C;}}Q=Q.substring(0,G)+N+Q.substring(F+1);}for(G=L.length-1;G>=0;G=G-1){Q=Q.replace(new RegExp("~-"+G+"-~"),"{"+L[G]+"}","g");}return Q;},trim:function(A){try{return A.replace(/^\s+|\s+$/g,"");}catch(B){return A;}},merge:function(){var D={},B=arguments;for(var C=0,A=B.length;C<A;C=C+1){YAHOO.lang.augmentObject(D,B[C],true);}return D;},later:function(H,B,I,D,E){H=H||0;B=B||{};var C=I,G=D,F,A;if(YAHOO.lang.isString(I)){C=B[I];}if(!C){throw new TypeError("method undefined");}if(!YAHOO.lang.isArray(G)){G=[D];}F=function(){C.apply(B,G);};A=(E)?setInterval(F,H):setTimeout(F,H);return{interval:E,cancel:function(){if(this.interval){clearInterval(A);}else{clearTimeout(A);}}};},isValue:function(B){var A=YAHOO.lang;return(A.isObject(B)||A.isString(B)||A.isNumber(B)||A.isBoolean(B));}};YAHOO.util.Lang=YAHOO.lang;YAHOO.lang.augment=YAHOO.lang.augmentProto;YAHOO.augment=YAHOO.lang.augmentProto;YAHOO.extend=YAHOO.lang.extend;YAHOO.register("yahoo",YAHOO,{version:"2.5.1",build:"984"});YAHOO.util.Get=function(){var M={},L=0,Q=0,E=false,N=YAHOO.env.ua,R=YAHOO.lang;var J=function(V,S,W){var T=W||window,X=T.document,Y=X.createElement(V);for(var U in S){if(S[U]&&YAHOO.lang.hasOwnProperty(S,U)){Y.setAttribute(U,S[U]);}}return Y;
};var H=function(S,T,V){var U=V||"utf-8";return J("link",{"id":"yui__dyn_"+(Q++),"type":"text/css","charset":U,"rel":"stylesheet","href":S},T);};var O=function(S,T,V){var U=V||"utf-8";return J("script",{"id":"yui__dyn_"+(Q++),"type":"text/javascript","charset":U,"src":S},T);};var A=function(S,T){return{tId:S.tId,win:S.win,data:S.data,nodes:S.nodes,msg:T,purge:function(){D(this.tId);}};};var B=function(S,V){var T=M[V],U=(R.isString(S))?T.win.document.getElementById(S):S;if(!U){P(V,"target node not found: "+S);}return U;};var P=function(V,U){var S=M[V];if(S.onFailure){var T=S.scope||S.win;S.onFailure.call(T,A(S,U));}};var C=function(V){var S=M[V];S.finished=true;if(S.aborted){var U="transaction "+V+" was aborted";P(V,U);return ;}if(S.onSuccess){var T=S.scope||S.win;S.onSuccess.call(T,A(S));}};var G=function(U,Y){var T=M[U];if(T.aborted){var W="transaction "+U+" was aborted";P(U,W);return ;}if(Y){T.url.shift();if(T.varName){T.varName.shift();}}else{T.url=(R.isString(T.url))?[T.url]:T.url;if(T.varName){T.varName=(R.isString(T.varName))?[T.varName]:T.varName;}}var b=T.win,a=b.document,Z=a.getElementsByTagName("head")[0],V;if(T.url.length===0){if(T.type==="script"&&N.webkit&&N.webkit<420&&!T.finalpass&&!T.varName){var X=O(null,T.win,T.charset);X.innerHTML='YAHOO.util.Get._finalize("'+U+'");';T.nodes.push(X);Z.appendChild(X);}else{C(U);}return ;}var S=T.url[0];if(T.type==="script"){V=O(S,b,T.charset);}else{V=H(S,b,T.charset);}F(T.type,V,U,S,b,T.url.length);T.nodes.push(V);if(T.insertBefore){var c=B(T.insertBefore,U);if(c){c.parentNode.insertBefore(V,c);}}else{Z.appendChild(V);}if((N.webkit||N.gecko)&&T.type==="css"){G(U,S);}};var K=function(){if(E){return ;}E=true;for(var S in M){var T=M[S];if(T.autopurge&&T.finished){D(T.tId);delete M[S];}}E=false;};var D=function(Z){var W=M[Z];if(W){var Y=W.nodes,S=Y.length,X=W.win.document,V=X.getElementsByTagName("head")[0];if(W.insertBefore){var U=B(W.insertBefore,Z);if(U){V=U.parentNode;}}for(var T=0;T<S;T=T+1){V.removeChild(Y[T]);}}W.nodes=[];};var I=function(T,S,U){var W="q"+(L++);U=U||{};if(L%YAHOO.util.Get.PURGE_THRESH===0){K();}M[W]=R.merge(U,{tId:W,type:T,url:S,finished:false,nodes:[]});var V=M[W];V.win=V.win||window;V.scope=V.scope||V.win;V.autopurge=("autopurge" in V)?V.autopurge:(T==="script")?true:false;R.later(0,V,G,W);return{tId:W};};var F=function(b,W,V,T,X,Y,a){var Z=a||G;if(N.ie){W.onreadystatechange=function(){var c=this.readyState;if("loaded"===c||"complete"===c){Z(V,T);}};}else{if(N.webkit){if(b==="script"){if(N.webkit>=420){W.addEventListener("load",function(){Z(V,T);});}else{var S=M[V];if(S.varName){var U=YAHOO.util.Get.POLL_FREQ;S.maxattempts=YAHOO.util.Get.TIMEOUT/U;S.attempts=0;S._cache=S.varName[0].split(".");S.timer=R.later(U,S,function(h){var e=this._cache,d=e.length,c=this.win,f;for(f=0;f<d;f=f+1){c=c[e[f]];if(!c){this.attempts++;if(this.attempts++>this.maxattempts){var g="Over retry limit, giving up";S.timer.cancel();P(V,g);}else{}return ;}}S.timer.cancel();Z(V,T);},null,true);}else{R.later(YAHOO.util.Get.POLL_FREQ,null,Z,[V,T]);}}}}else{W.onload=function(){Z(V,T);};}}};return{POLL_FREQ:10,PURGE_THRESH:20,TIMEOUT:2000,_finalize:function(S){R.later(0,null,C,S);},abort:function(T){var U=(R.isString(T))?T:T.tId;var S=M[U];if(S){S.aborted=true;}},script:function(S,T){return I("script",S,T);},css:function(S,T){return I("css",S,T);}};}();YAHOO.register("get",YAHOO.util.Get,{version:"2.5.1",build:"984"});(function(){var Y=YAHOO,util=Y.util,lang=Y.lang,env=Y.env,PROV="_provides",SUPER="_supersedes",REQ="expanded",AFTER="_after";var YUI={dupsAllowed:{"yahoo":true,"get":true},info:{"base":"http://yui.yahooapis.com/2.5.1/build/","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["reset","fonts","grids","base"],"rollup":3},dupsAllowed:["yahoo","get"],"moduleInfo":{"animation":{"type":"js","path":"animation/animation-min.js","requires":["dom","event"]},"autocomplete":{"type":"js","path":"autocomplete/autocomplete-min.js","requires":["dom","event"],"optional":["connection","animation"],"skinnable":true},"base":{"type":"css","path":"base/base-min.css","after":["reset","fonts","grids"]},"button":{"type":"js","path":"button/button-min.js","requires":["element"],"optional":["menu"],"skinnable":true},"calendar":{"type":"js","path":"calendar/calendar-min.js","requires":["event","dom"],"skinnable":true},"charts":{"type":"js","path":"charts/charts-experimental-min.js","requires":["element","json","datasource"]},"colorpicker":{"type":"js","path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"optional":["animation"],"skinnable":true},"connection":{"type":"js","path":"connection/connection-min.js","requires":["event"]},"container":{"type":"js","path":"container/container-min.js","requires":["dom","event"],"optional":["dragdrop","animation","connection"],"supersedes":["containercore"],"skinnable":true},"containercore":{"type":"js","path":"container/container_core-min.js","requires":["dom","event"],"pkg":"container"},"cookie":{"type":"js","path":"cookie/cookie-beta-min.js","requires":["yahoo"]},"datasource":{"type":"js","path":"datasource/datasource-beta-min.js","requires":["event"],"optional":["connection"]},"datatable":{"type":"js","path":"datatable/datatable-beta-min.js","requires":["element","datasource"],"optional":["calendar","dragdrop"],"skinnable":true},"dom":{"type":"js","path":"dom/dom-min.js","requires":["yahoo"]},"dragdrop":{"type":"js","path":"dragdrop/dragdrop-min.js","requires":["dom","event"]},"editor":{"type":"js","path":"editor/editor-beta-min.js","requires":["menu","element","button"],"optional":["animation","dragdrop"],"skinnable":true},"element":{"type":"js","path":"element/element-beta-min.js","requires":["dom","event"]},"event":{"type":"js","path":"event/event-min.js","requires":["yahoo"]},"fonts":{"type":"css","path":"fonts/fonts-min.css"},"get":{"type":"js","path":"get/get-min.js","requires":["yahoo"]},"grids":{"type":"css","path":"grids/grids-min.css","requires":["fonts"],"optional":["reset"]},"history":{"type":"js","path":"history/history-min.js","requires":["event"]},"imagecropper":{"type":"js","path":"imagecropper/imagecropper-beta-min.js","requires":["dom","event","dragdrop","element","resize"],"skinnable":true},"imageloader":{"type":"js","path":"imageloader/imageloader-min.js","requires":["event","dom"]},"json":{"type":"js","path":"json/json-min.js","requires":["yahoo"]},"layout":{"type":"js","path":"layout/layout-beta-min.js","requires":["dom","event","element"],"optional":["animation","dragdrop","resize","selector"],"skinnable":true},"logger":{"type":"js","path":"logger/logger-min.js","requires":["event","dom"],"optional":["dragdrop"],"skinnable":true},"menu":{"type":"js","path":"menu/menu-min.js","requires":["containercore"],"skinnable":true},"profiler":{"type":"js","path":"profiler/profiler-beta-min.js","requires":["yahoo"]},"profilerviewer":{"type":"js","path":"profilerviewer/profilerviewer-beta-min.js","requires":["profiler","yuiloader","element"],"skinnable":true},"reset":{"type":"css","path":"reset/reset-min.css"},"reset-fonts-grids":{"type":"css","path":"reset-fonts-grids/reset-fonts-grids.css","supersedes":["reset","fonts","grids","reset-fonts"],"rollup":4},"reset-fonts":{"type":"css","path":"reset-fonts/reset-fonts.css","supersedes":["reset","fonts"],"rollup":2},"resize":{"type":"js","path":"resize/resize-beta-min.js","requires":["dom","event","dragdrop","element"],"optional":["animation"],"skinnable":true},"selector":{"type":"js","path":"selector/selector-beta-min.js","requires":["yahoo","dom"]},"simpleeditor":{"type":"js","path":"editor/simpleeditor-beta-min.js","requires":["element"],"optional":["containercore","menu","button","animation","dragdrop"],"skinnable":true,"pkg":"editor"},"slider":{"type":"js","path":"slider/slider-min.js","requires":["dragdrop"],"optional":["animation"]},"tabview":{"type":"js","path":"tabview/tabview-min.js","requires":["element"],"optional":["connection"],"skinnable":true},"treeview":{"type":"js","path":"treeview/treeview-min.js","requires":["event"],"skinnable":true},"uploader":{"type":"js","path":"uploader/uploader-experimental.js","requires":["yahoo"]},"utilities":{"type":"js","path":"utilities/utilities.js","supersedes":["yahoo","event","dragdrop","animation","dom","connection","element","yahoo-dom-event","get","yuiloader","yuiloader-dom-event"],"rollup":8},"yahoo":{"type":"js","path":"yahoo/yahoo-min.js"},"yahoo-dom-event":{"type":"js","path":"yahoo-dom-event/yahoo-dom-event.js","supersedes":["yahoo","event","dom"],"rollup":3},"yuiloader":{"type":"js","path":"yuiloader/yuiloader-beta-min.js","supersedes":["yahoo","get"]},"yuiloader-dom-event":{"type":"js","path":"yuiloader-dom-event/yuiloader-dom-event.js","supersedes":["yahoo","dom","event","get","yuiloader","yahoo-dom-event"],"rollup":5},"yuitest":{"type":"js","path":"yuitest/yuitest-min.js","requires":["logger"],"skinnable":true}}},ObjectUtil:{appendArray:function(o,a){if(a){for(var i=0;
i<a.length;i=i+1){o[a[i]]=true;}}},keys:function(o,ordered){var a=[],i;for(i in o){if(lang.hasOwnProperty(o,i)){a.push(i);}}return a;}},ArrayUtil:{appendArray:function(a1,a2){Array.prototype.push.apply(a1,a2);},indexOf:function(a,val){for(var i=0;i<a.length;i=i+1){if(a[i]===val){return i;}}return -1;},toObject:function(a){var o={};for(var i=0;i<a.length;i=i+1){o[a[i]]=true;}return o;},uniq:function(a){return YUI.ObjectUtil.keys(YUI.ArrayUtil.toObject(a));}}};YAHOO.util.YUILoader=function(o){this._internalCallback=null;this._useYahooListener=false;this.onSuccess=null;this.onFailure=Y.log;this.onProgress=null;this.scope=this;this.data=null;this.insertBefore=null;this.charset=null;this.varName=null;this.base=YUI.info.base;this.ignore=null;this.force=null;this.allowRollup=true;this.filter=null;this.required={};this.moduleInfo=lang.merge(YUI.info.moduleInfo);this.rollups=null;this.loadOptional=false;this.sorted=[];this.loaded={};this.dirty=true;this.inserted={};var self=this;env.listeners.push(function(m){if(self._useYahooListener){self.loadNext(m.name);}});this.skin=lang.merge(YUI.info.skin);this._config(o);};Y.util.YUILoader.prototype={FILTERS:{RAW:{"searchExp":"-min\\.js","replaceStr":".js"},DEBUG:{"searchExp":"-min\\.js","replaceStr":"-debug.js"}},SKIN_PREFIX:"skin-",_config:function(o){if(o){for(var i in o){if(lang.hasOwnProperty(o,i)){if(i=="require"){this.require(o[i]);}else{this[i]=o[i];}}}}var f=this.filter;if(lang.isString(f)){f=f.toUpperCase();if(f==="DEBUG"){this.require("logger");}if(!Y.widget.LogWriter){Y.widget.LogWriter=function(){return Y;};}this.filter=this.FILTERS[f];}},addModule:function(o){if(!o||!o.name||!o.type||(!o.path&&!o.fullpath)){return false;}o.ext=("ext" in o)?o.ext:true;o.requires=o.requires||[];this.moduleInfo[o.name]=o;this.dirty=true;return true;},require:function(what){var a=(typeof what==="string")?arguments:what;this.dirty=true;YUI.ObjectUtil.appendArray(this.required,a);},_addSkin:function(skin,mod){var name=this.formatSkin(skin),info=this.moduleInfo,sinf=this.skin,ext=info[mod]&&info[mod].ext;if(!info[name]){this.addModule({"name":name,"type":"css","path":sinf.base+skin+"/"+sinf.path,"after":sinf.after,"rollup":sinf.rollup,"ext":ext});}if(mod){name=this.formatSkin(skin,mod);if(!info[name]){var mdef=info[mod],pkg=mdef.pkg||mod;this.addModule({"name":name,"type":"css","after":sinf.after,"path":pkg+"/"+sinf.base+skin+"/"+mod+".css","ext":ext});}}return name;},getRequires:function(mod){if(!mod){return[];}if(!this.dirty&&mod.expanded){return mod.expanded;}mod.requires=mod.requires||[];var i,d=[],r=mod.requires,o=mod.optional,info=this.moduleInfo,m;for(i=0;i<r.length;i=i+1){d.push(r[i]);m=info[r[i]];YUI.ArrayUtil.appendArray(d,this.getRequires(m));}if(o&&this.loadOptional){for(i=0;i<o.length;i=i+1){d.push(o[i]);YUI.ArrayUtil.appendArray(d,this.getRequires(info[o[i]]));}}mod.expanded=YUI.ArrayUtil.uniq(d);return mod.expanded;},getProvides:function(name,notMe){var addMe=!(notMe),ckey=(addMe)?PROV:SUPER,m=this.moduleInfo[name],o={};if(!m){return o;}if(m[ckey]){return m[ckey];}var s=m.supersedes,done={},me=this;var add=function(mm){if(!done[mm]){done[mm]=true;lang.augmentObject(o,me.getProvides(mm));}};if(s){for(var i=0;i<s.length;i=i+1){add(s[i]);}}m[SUPER]=o;m[PROV]=lang.merge(o);m[PROV][name]=true;return m[ckey];},calculate:function(o){if(this.dirty){this._config(o);this._setup();this._explode();if(this.allowRollup){this._rollup();}this._reduce();this._sort();this.dirty=false;}},_setup:function(){var info=this.moduleInfo,name,i,j;for(name in info){var m=info[name];if(m&&m.skinnable){var o=this.skin.overrides,smod;if(o&&o[name]){for(i=0;i<o[name].length;i=i+1){smod=this._addSkin(o[name][i],name);}}else{smod=this._addSkin(this.skin.defaultSkin,name);}m.requires.push(smod);}}var l=lang.merge(this.inserted);if(!this._sandbox){l=lang.merge(l,env.modules);}if(this.ignore){YUI.ObjectUtil.appendArray(l,this.ignore);}if(this.force){for(i=0;i<this.force.length;i=i+1){if(this.force[i] in l){delete l[this.force[i]];}}}for(j in l){if(lang.hasOwnProperty(l,j)){lang.augmentObject(l,this.getProvides(j));}}this.loaded=l;},_explode:function(){var r=this.required,i,mod;for(i in r){mod=this.moduleInfo[i];if(mod){var req=this.getRequires(mod);if(req){YUI.ObjectUtil.appendArray(r,req);}}}},_skin:function(){},formatSkin:function(skin,mod){var s=this.SKIN_PREFIX+skin;if(mod){s=s+"-"+mod;}return s;},parseSkin:function(mod){if(mod.indexOf(this.SKIN_PREFIX)===0){var a=mod.split("-");return{skin:a[1],module:a[2]};}return null;},_rollup:function(){var i,j,m,s,rollups={},r=this.required,roll;if(this.dirty||!this.rollups){for(i in this.moduleInfo){m=this.moduleInfo[i];if(m&&m.rollup){rollups[i]=m;}}this.rollups=rollups;}for(;;){var rolled=false;for(i in rollups){if(!r[i]&&!this.loaded[i]){m=this.moduleInfo[i];s=m.supersedes;roll=false;if(!m.rollup){continue;}var skin=(m.ext)?false:this.parseSkin(i),c=0;if(skin){for(j in r){if(i!==j&&this.parseSkin(j)){c++;roll=(c>=m.rollup);if(roll){break;}}}}else{for(j=0;j<s.length;j=j+1){if(this.loaded[s[j]]&&(!YUI.dupsAllowed[s[j]])){roll=false;break;}else{if(r[s[j]]){c++;roll=(c>=m.rollup);if(roll){break;}}}}}if(roll){r[i]=true;rolled=true;this.getRequires(m);}}}if(!rolled){break;}}},_reduce:function(){var i,j,s,m,r=this.required;for(i in r){if(i in this.loaded){delete r[i];}else{var skinDef=this.parseSkin(i);if(skinDef){if(!skinDef.module){var skin_pre=this.SKIN_PREFIX+skinDef.skin;for(j in r){m=this.moduleInfo[j];var ext=m&&m.ext;if(!ext&&j!==i&&j.indexOf(skin_pre)>-1){delete r[j];}}}}else{m=this.moduleInfo[i];s=m&&m.supersedes;if(s){for(j=0;j<s.length;j=j+1){if(s[j] in r){delete r[s[j]];}}}}}}},_sort:function(){var s=[],info=this.moduleInfo,loaded=this.loaded,me=this;var requires=function(aa,bb){if(loaded[bb]){return false;}var ii,mm=info[aa],rr=mm&&mm.expanded,after=mm&&mm.after,other=info[bb];if(rr&&YUI.ArrayUtil.indexOf(rr,bb)>-1){return true;}if(after&&YUI.ArrayUtil.indexOf(after,bb)>-1){return true;}var ss=info[bb]&&info[bb].supersedes;if(ss){for(ii=0;
ii<ss.length;ii=ii+1){if(requires(aa,ss[ii])){return true;}}}if(mm.ext&&mm.type=="css"&&(!other.ext)){return true;}return false;};for(var i in this.required){s.push(i);}var p=0;for(;;){var l=s.length,a,b,j,k,moved=false;for(j=p;j<l;j=j+1){a=s[j];for(k=j+1;k<l;k=k+1){if(requires(a,s[k])){b=s.splice(k,1);s.splice(j,0,b[0]);moved=true;break;}}if(moved){break;}else{p=p+1;}}if(!moved){break;}}this.sorted=s;},toString:function(){var o={type:"YUILoader",base:this.base,filter:this.filter,required:this.required,loaded:this.loaded,inserted:this.inserted};lang.dump(o,1);},insert:function(o,type){this.calculate(o);if(!type){var self=this;this._internalCallback=function(){self._internalCallback=null;self.insert(null,"js");};this.insert(null,"css");return ;}this._loading=true;this.loadType=type;this.loadNext();},sandbox:function(o,type){if(o){}else{}this._config(o);if(!this.onSuccess){throw new Error("You must supply an onSuccess handler for your sandbox");}this._sandbox=true;var self=this;if(!type||type!=="js"){this._internalCallback=function(){self._internalCallback=null;self.sandbox(null,"js");};this.insert(null,"css");return ;}if(!util.Connect){var ld=new YAHOO.util.YUILoader();ld.insert({base:this.base,filter:this.filter,require:"connection",insertBefore:this.insertBefore,charset:this.charset,onSuccess:function(){this.sandbox(null,"js");},scope:this},"js");return ;}this._scriptText=[];this._loadCount=0;this._stopCount=this.sorted.length;this._xhr=[];this.calculate();var s=this.sorted,l=s.length,i,m,url;for(i=0;i<l;i=i+1){m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});for(var j=0;j<this._xhr.length;j=j+1){this._xhr[j].abort();}return ;}if(m.type!=="js"){this._loadCount++;continue;}url=m.fullpath||this._url(m.path);var xhrData={success:function(o){var idx=o.argument[0],name=o.argument[2];this._scriptText[idx]=o.responseText;if(this.onProgress){this.onProgress.call(this.scope,{name:name,scriptText:o.responseText,xhrResponse:o,data:this.data});}this._loadCount++;if(this._loadCount>=this._stopCount){var v=this.varName||"YAHOO";var t="(function() {\n";var b="\nreturn "+v+";\n})();";var ref=eval(t+this._scriptText.join("\n")+b);this._pushEvents(ref);if(ref){this.onSuccess.call(this.scope,{reference:ref,data:this.data});}else{this.onFailure.call(this.scope,{msg:this.varName+" reference failure",data:this.data});}}},failure:function(o){this.onFailure.call(this.scope,{msg:"XHR failure",xhrResponse:o,data:this.data});},scope:this,argument:[i,url,s[i]]};this._xhr.push(util.Connect.asyncRequest("GET",url,xhrData));}},loadNext:function(mname){if(!this._loading){return ;}if(mname){if(mname!==this._loading){return ;}this.inserted[mname]=true;if(this.onProgress){this.onProgress.call(this.scope,{name:mname,data:this.data});}}var s=this.sorted,len=s.length,i,m;for(i=0;i<len;i=i+1){if(s[i] in this.inserted){continue;}if(s[i]===this._loading){return ;}m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});return ;}if(!this.loadType||this.loadType===m.type){this._loading=s[i];var fn=(m.type==="css")?util.Get.css:util.Get.script,url=m.fullpath||this._url(m.path),self=this,c=function(o){self.loadNext(o.data);};if(env.ua.webkit&&env.ua.webkit<420&&m.type==="js"&&!m.varName){c=null;this._useYahooListener=true;}fn(url,{data:s[i],onSuccess:c,insertBefore:this.insertBefore,charset:this.charset,varName:m.varName,scope:self});return ;}}this._loading=null;if(this._internalCallback){var f=this._internalCallback;this._internalCallback=null;f.call(this);}else{if(this.onSuccess){this._pushEvents();this.onSuccess.call(this.scope,{data:this.data});}}},_pushEvents:function(ref){var r=ref||YAHOO;if(r.util&&r.util.Event){r.util.Event._load();}},_url:function(path){var u=this.base||"",f=this.filter;u=u+path;if(f){u=u.replace(new RegExp(f.searchExp),f.replaceStr);}return u;}};})();(function(){var B=YAHOO.util,K,I,J={},F={},M=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,L=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var N=function(P){if(!E.HYPHEN.test(P)){return P;}if(J[P]){return J[P];}var Q=P;while(E.HYPHEN.exec(Q)){Q=Q.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}J[P]=Q;return Q;};var O=function(Q){var P=F[Q];if(!P){P=new RegExp("(?:^|\\s+)"+Q+"(?:\\s+|$)");F[Q]=P;}return P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=function(P,S){var R=null;if(S=="float"){S="cssFloat";}var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){R=Q[N(S)];}return P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=function(P,R){switch(N(R)){case"opacity":var T=100;try{T=P.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(S){try{T=P.filters("alpha").opacity;}catch(S){}}return T/100;case"float":R="styleFloat";default:var Q=P.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{K=function(P,Q){return P.style[Q];};}}if(G){I=function(P,Q,R){switch(Q){case"opacity":if(YAHOO.lang.isString(P.style.filter)){P.style.filter="alpha(opacity="+R*100+")";if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=1;}}break;case"float":Q="styleFloat";default:P.style[Q]=R;}};}else{I=function(P,Q,R){if(Q=="float"){Q="cssFloat";}P.style[Q]=R;};}var D=function(P,Q){return P&&P.nodeType==1&&(!Q||Q(P));};YAHOO.util.Dom={get:function(R){if(R&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return M.getElementById(R);}if(R.length!==undefined){var S=[];for(var Q=0,P=R.length;Q<P;++Q){S[S.length]=B.Dom.get(R[Q]);}return S;}return R;},getStyle:function(P,R){R=N(R);var Q=function(S){return K(S,R);};return B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=N(R);var Q=function(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}return H(R);};return B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var Q=function(R){return B.Dom.getXY(R)[0];};return B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var Q=function(R){return B.Dom.getXY(R)[1];};return B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var Q=function(V){var U=this.getStyle(V,"position");if(U=="static"){this.setStyle(V,"position","relative");U="relative";}var X=this.getXY(V);if(X===false){return false;}var W=[parseInt(this.getStyle(V,"left"),10),parseInt(this.getStyle(V,"top"),10)];if(isNaN(W[0])){W[0]=(U=="relative")?0:V.offsetLeft;}if(isNaN(W[1])){W[1]=(U=="relative")?0:V.offsetTop;}if(S[0]!==null){V.style.left=S[0]-X[0]+W[0]+"px";}if(S[1]!==null){V.style.top=S[1]-X[1]+W[1]+"px";}if(!R){var T=this.getXY(V);if((S[0]!==null&&T[0]!=S[0])||(S[1]!==null&&T[1]!=S[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P,[null,Q]);},getRegion:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}var S=B.Region.getRegion(R);return S;};return B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=X||"*";U=(U)?B.Dom.get(U):null||M;if(!U){return[];}var Q=[],P=U.getElementsByTagName(X),W=O(T);for(var R=0,S=P.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=P[R];if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var P=O(Q);var S=function(T){return P.test(T.className);};return B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var R=function(S){if(this.hasClass(S,P)){return false;}S.className=YAHOO.lang.trim([S.className,P].join(" "));return true;};return B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=O(Q);var S=function(T){if(!Q||!this.hasClass(T,Q)){return false;}var U=T.className;T.className=U.replace(P," ");if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=YAHOO.lang.trim(T.className);return true;};return B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q===P){return false;}var R=O(Q);var T=function(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return true;}U.className=U.className.replace(R," "+P+" ");if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=R||"yui-gen";var Q=function(S){if(S&&S.id){return S.id;}var T=R+YAHOO.env._id_counter++;if(S){S.id=T;}return T;};return B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:function(P,Q){P=B.Dom.get(P);Q=B.Dom.get(Q);if(!P||!Q){return false;}if(P.contains&&Q.nodeType&&!L){return P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return !!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return !!this.getAncestorBy(Q,function(R){return R==P;});}}}return false;},inDocument:function(P){return this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=Q||"*";R=(R)?B.Dom.get(R):null||M;if(!R){return[];}var S=[],V=R.getElementsByTagName(Q);for(var U=0,P=V.length;U<P;++U){if(W(V[U])){S[S.length]=V[U];if(T){T(V[U]);}}}return S;},batch:function(T,W,V,R){T=(T&&(T.tagName||T.item))?T:B.Dom.get(T);if(!T||!W){return false;}var S=(R)?V:window;if(T.tagName||T.length===undefined){return W.call(S,T,V);}var U=[];for(var Q=0,P=T.length;Q<P;++Q){U[U.length]=W.call(S,T[Q],V);}return U;},getDocumentHeight:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollHeight:M.documentElement.scrollHeight;var P=Math.max(Q,B.Dom.getViewportHeight());return P;},getDocumentWidth:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollWidth:M.documentElement.scrollWidth;var P=Math.max(Q,B.Dom.getViewportWidth());return P;},getViewportHeight:function(){var P=self.innerHeight;
var Q=M.compatMode;if((Q||G)&&!C){P=(Q=="CSS1Compat")?M.documentElement.clientHeight:M.body.clientHeight;}return P;},getViewportWidth:function(){var P=self.innerWidth;var Q=M.compatMode;if(Q||G){P=(Q=="CSS1Compat")?M.documentElement.clientWidth:M.body.clientWidth;}return P;},getAncestorBy:function(P,Q){while(P=P.parentNode){if(D(P,Q)){return P;}}return null;},getAncestorByClassName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return B.Dom.hasClass(S,P);};return B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return S.tagName&&S.tagName.toUpperCase()==P.toUpperCase();};return B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q){while(P){P=P.previousSibling;if(D(P,Q)){return P;}}return null;},getPreviousSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q){while(P){P=P.nextSibling;if(D(P,Q)){return P;}}return null;},getNextSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R){var Q=(D(P.firstChild,R))?P.firstChild:null;return Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R){if(!P){return null;}var Q=(D(P.lastChild,R))?P.lastChild:null;return Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P){P=B.Dom.get(P);return B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S){var R=B.Dom.getFirstChildBy(Q,S);var P=R?[R]:[];B.Dom.getNextSiblingBy(R,function(T){if(!S||S(T)){P[P.length]=T;}return false;});return P;},getChildren:function(P){P=B.Dom.get(P);if(!P){}return B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P){P=P||M;return Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScrollTop:function(P){P=P||M;return Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}return P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}if(P.nextSibling){return P.parentNode.insertBefore(Q,P.nextSibling);}else{return P.parentNode.appendChild(Q);}},getClientRegion:function(){var R=B.Dom.getDocumentScrollTop(),Q=B.Dom.getDocumentScrollLeft(),S=B.Dom.getViewportWidth()+Q,P=B.Dom.getViewportHeight()+R;return new B.Region(R,S,P,Q);}};var H=function(){if(M.documentElement.getBoundingClientRect){return function(Q){var R=Q.getBoundingClientRect();var P=Q.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.Dom.getDocumentScrollTop(P)];};}else{return function(R){var S=[R.offsetLeft,R.offsetTop];var Q=R.offsetParent;var P=(L&&B.Dom.getStyle(R,"position")=="absolute"&&R.offsetParent==R.ownerDocument.body);if(Q!=R){while(Q){S[0]+=Q.offsetLeft;S[1]+=Q.offsetTop;if(!P&&L&&B.Dom.getStyle(Q,"position")=="absolute"){P=true;}Q=Q.offsetParent;}}if(P){S[0]-=R.ownerDocument.body.offsetLeft;S[1]-=R.ownerDocument.body.offsetTop;}Q=R.parentNode;while(Q.tagName&&!E.ROOT_TAG.test(Q.tagName)){if(Q.scrollTop||Q.scrollLeft){if(!E.OP_SCROLL.test(B.Dom.getStyle(Q,"display"))){if(!C||B.Dom.getStyle(Q,"overflow")!=="visible"){S[0]-=Q.scrollLeft;S[1]-=Q.scrollTop;}}}Q=Q.parentNode;}return S;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.5.1",build:"984"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){var D=this.subscribers.length;if(!D&&this.silent){return true;}var H=[].slice.call(arguments,0),F=true,C,I=false;if(!this.silent){}var B=this.subscribers.slice();for(C=0;C<D;++C){var K=B[C];if(!K){I=true;}else{if(!this.silent){}var J=K.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var A=null;if(H.length>0){A=H[0];}try{F=K.fn.call(J,A,K.obj);}catch(E){this.lastError=E;}}else{try{F=K.fn.call(J,this.type,H,K.obj);}catch(G){this.lastError=G;}}if(false===F){if(!this.silent){}return false;}}}return true;},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,startInterval:function(){if(!this._interval){var K=this;var L=function(){K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if(this.DOMReady){setTimeout(function(){var N=window;if(L){if(L===true){N=M;}else{N=L;}}K.call(N,"DOMReady",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var R=0,T=M.length;R<T;++R){W=this.on(M[R],K,V,Q,L)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var P=this.getEl(M);if(P){M=P;}else{this.onAvailable(M,function(){YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return false;}if("unload"==K&&Q!==this){J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L){if(L===true){Y=Q;}else{Y=L;}}var N=function(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K)){var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0]){O=G.length;B[M.id+K]=O;G[O]=[M,K,M["on"+K]];E[O]=[];M["on"+K]=function(Z){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M){var Q=true,K,S,R,T,P;S=E[M].slice();for(var L=0,N=S.length;L<N;++L){R=S[L];if(R&&R[this.WFN]){T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2]){K[2](O);}return Q;},getLegacyIndex:function(L,M){var K=this.generateId(L)+M;if(typeof B[K]=="undefined"){return -1;}else{return B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"==M||"dblclick"==M)){var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return false;},removeListener:function(L,K,T){var O,R,V;if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var U=true;for(O=L.length-1;O>-1;O--){U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call){return this.purgeElement(L,false,K);}if("unload"==K){for(O=J.length-1;O>-1;O--){V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T){J.splice(O,1);return true;}}return false;}var P=null;var Q=arguments[3];if("undefined"===typeof Q){Q=this._getCacheIndex(L,K,T);}if(Q>=0){P=I[Q];}if(!L||!P){return false;}if(this.useLegacyEvent(L,K)){var N=this.getLegacyIndex(L,K);var M=E[N];if(M){for(O=0,R=M.length;O<R;++O){V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T){M.splice(O,1);break;}}}}else{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;
if(!K){if(L.type=="mouseout"){K=L.toElement;}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D)){K=D[K];}return K;},_getCacheIndex:function(O,P,N){for(var M=0,L=I.length;M<L;M=M+1){var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P){return M;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+A;++A;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var Q=!H;if(!Q){Q=(C>0&&F.length>0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=F.length;L<K;L=L+1){O=F[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(H||N.nextSibling||!Q){M.push(O);F[L]=null;}}else{R(N,O);F[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}C--;if(Q){for(L=F.length-1;L>-1;L--){O=F[L];if(!O||!O.id){F.splice(L,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[I,J];}else{if(K==="unload"){L=[J];}else{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(Q){var K=YAHOO.util.Event,N,M,L,P,O,R=J.slice();for(N=0,P=J.length;N<P;++N){L=R[N];if(L){var S=window;if(L[K.ADJ_SCOPE]){if(L[K.ADJ_SCOPE]===true){S=L[K.UNLOAD_OBJ];}else{S=L[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),L[K.UNLOAD_OBJ]);R[N]=null;L=null;S=null;}}J=null;if(I){for(M=I.length-1;M>-1;M--){L=I[M];if(L){K.removeListener(L[K.EL],L[K.TYPE],L[K.FN],M);}}L=null;}G=null;K._simpleRemove(window,"unload",K._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;
/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);
I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.5.1",build:"984"});YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function(){if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,"click",function(B){var A=YAHOO.util.Event.getTarget(B);if(A.nodeName.toLowerCase()=="input"&&(A.type&&A.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(A.name)+"="+encodeURIComponent(A.value);}});return true;}return false;})(),startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),uploadEvent:new YAHOO.util.CustomEvent("upload"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(E){var D,A;try{A=new XMLHttpRequest();D={conn:A,tId:E};}catch(C){for(var B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);D={conn:A,tId:E};break;}catch(C){}}}finally{return D;}},getConnectionObject:function(A){var C;var D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={};C.tId=D;C.isUpload=true;}if(C){this._transaction_id++;}}catch(B){}finally{return C;}},asyncRequest:function(F,C,E,A){var D=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var B=(E&&E.argument)?E.argument:null;if(!D){return null;}else{if(E&&E.customevents){this.initCustomEvents(D,E);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(D,E,C,A);return D;}if(F.toUpperCase()=="GET"){if(this._sFormData.length!==0){C+=((C.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(F.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(F.toUpperCase()=="GET"&&(E&&E.cache===false)){C+=((C.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}D.conn.open(F,C,true);if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((F.toUpperCase()=="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(this._has_default_headers||this._has_http_headers){this.setHeader(D);}this.handleReadyState(D,E);D.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(D,B);if(D.startEvent){D.startEvent.fire(D,B);}return D;}},initCustomEvents:function(A,C){for(var B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this;var A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(F,G,A){var D,C;var B=(G&&G.argument)?G.argument:null;try{if(F.conn.status!==undefined&&F.conn.status!==0){D=F.conn.status;}else{D=13030;}}catch(E){D=13030;}if(D>=200&&D<300||D===1223){C=this.createResponseObject(F,B);if(G&&G.success){if(!G.scope){G.success(C);}else{G.success.apply(G.scope,[C]);}}this.successEvent.fire(C);if(F.successEvent){F.successEvent.fire(C);}}else{switch(D){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:C=this.createExceptionObject(F.tId,B,(A?A:false));if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}break;default:C=this.createResponseObject(F,B);if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}}this.failureEvent.fire(C);if(F.failureEvent){F.failureEvent.fire(C);}}this.releaseObject(F);C=null;},createResponseObject:function(A,G){var D={};var I={};try{var C=A.conn.getAllResponseHeaders();var F=C.split("\n");for(var E=0;E<F.length;E++){var B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=F[E].substring(B+2);}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0;var G="communication failure";var C=-1;var B="transaction aborted";var E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;
}},setHeader:function(A){if(this._has_default_headers){for(var B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(var B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);}}delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(K,E,B){this.resetFormState();var J;if(typeof K=="string"){J=(document.getElementById(K)||document.forms[K]);}else{if(typeof K=="object"){J=K;}else{return ;}}if(E){var F=this.createFrame((window.location.href.toLowerCase().indexOf("https")===0||B)?true:false);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=J;return ;}var A,I,G,L;var H=false;for(var D=0;D<J.elements.length;D++){A=J.elements[D];L=A.disabled;I=A.name;G=A.value;if(!L&&I){switch(A.type){case"select-one":case"select-multiple":for(var C=0;C<A.options.length;C++){if(A.options[C].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(A.options[C].attributes["value"].specified?A.options[C].value:A.options[C].text)+"&";}else{this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(A.options[C].hasAttribute("value")?A.options[C].value:A.options[C].text)+"&";}}}break;case"radio":case"checkbox":if(A.checked){this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(H===false){if(this._hasSubmitListener&&this._submitElementValue){this._sFormData+=this._submitElementValue+"&";}else{this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}H=true;}break;default:this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}}}this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);this.initHeader("Content-Type",this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(A){var B="yuiIO"+this._transaction_id;var C;if(window.ActiveXObject){C=document.createElement("<iframe id=\""+B+"\" name=\""+B+"\" />");if(typeof A=="boolean"){C.src="javascript:false";}}else{C=document.createElement("iframe");C.id=B;C.name=B;}C.style.position="absolute";C.style.top="-1000px";C.style.left="-1000px";document.body.appendChild(C);},appendPostData:function(A){var D=[];var B=A.split("&");for(var C=0;C<B.length;C++){var E=B[C].indexOf("=");if(E!=-1){D[C]=document.createElement("input");D[C].type="hidden";D[C].name=B[C].substring(0,E);D[C].value=B[C].substring(E+1);this._formNode.appendChild(D[C]);}}return D;},uploadFile:function(D,M,E,C){var N=this;var H="yuiIO"+D.tId;var I="multipart/form-data";var K=document.getElementById(H);var J=(M&&M.argument)?M.argument:null;var B={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",E);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",H);if(this._formNode.encoding){this._formNode.setAttribute("encoding",I);}else{this._formNode.setAttribute("enctype",I);}if(C){var L=this.appendPostData(C);}this._formNode.submit();this.startEvent.fire(D,J);if(D.startEvent){D.startEvent.fire(D,J);}if(M&&M.timeout){this._timeOut[D.tId]=window.setTimeout(function(){N.abort(D,M,true);},M.timeout);}if(L&&L.length>0){for(var G=0;G<L.length;G++){this._formNode.removeChild(L[G]);}}for(var A in B){if(YAHOO.lang.hasOwnProperty(B,A)){if(B[A]){this._formNode.setAttribute(A,B[A]);}else{this._formNode.removeAttribute(A);}}}this.resetFormState();var F=function(){if(M&&M.timeout){window.clearTimeout(N._timeOut[D.tId]);delete N._timeOut[D.tId];}N.completeEvent.fire(D,J);if(D.completeEvent){D.completeEvent.fire(D,J);}var P={};P.tId=D.tId;P.argument=M.argument;try{P.responseText=K.contentWindow.document.body?K.contentWindow.document.body.innerHTML:K.contentWindow.document.documentElement.textContent;P.responseXML=K.contentWindow.document.XMLDocument?K.contentWindow.document.XMLDocument:K.contentWindow.document;}catch(O){}if(M&&M.upload){if(!M.scope){M.upload(P);}else{M.upload.apply(M.scope,[P]);}}N.uploadEvent.fire(P);if(D.uploadEvent){D.uploadEvent.fire(P);}YAHOO.util.Event.removeListener(K,"load",F);setTimeout(function(){document.body.removeChild(K);N.releaseObject(D);},100);};YAHOO.util.Event.addListener(K,"load",F);},abort:function(E,G,A){var D;var B=(G&&G.argument)?G.argument:null;if(E&&E.conn){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E&&E.isUpload===true){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(B){if(B&&B.conn){return B.conn.readyState!==4&&B.conn.readyState!==0;}else{if(B&&B.isUpload===true){var A="yuiIO"+B.tId;return document.getElementById(A)?true:false;}else{return false;}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.5.1",build:"984"});(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,E,D){if(this.patterns.noNegatives.test(C)){E=(E>0)?E:0;}B.Dom.setStyle(this.getEl(),C,E+D);},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G<C;++G){E[G]=I[G]+F[D]["by"][G]*1;}}else{E=I+F[D]["by"]*1;}}}this.runtimeAttributes[D].start=I;this.runtimeAttributes[D].end=E;this.runtimeAttributes[D].unit=(H(F[D].unit))?F[D]["unit"]:this.getDefaultUnit(D);return true;},init:function(E,J,I,C){var D=false;var F=null;var H=0;E=B.Dom.get(E);this.attributes=J||{};this.duration=!YAHOO.lang.isUndefined(I)?I:1;this.method=C||B.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=B.AnimMgr.fps;this.setEl=function(M){E=B.Dom.get(M);};this.getEl=function(){return E;};this.isAnimated=function(){return D;};this.getStartTime=function(){return F;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(B.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}B.AnimMgr.registerElement(this);return true;};this.stop=function(M){if(!this.isAnimated()){return false;}if(M){this.currentFrame=this.totalFrames;this._onTween.fire();}B.AnimMgr.stop(this);};var L=function(){this.onStart.fire();this.runtimeAttributes={};for(var M in this.attributes){this.setRuntimeAttribute(M);}D=true;H=0;F=new Date();};var K=function(){var O={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};O.toString=function(){return("duration: "+O.duration+", currentFrame: "+O.currentFrame);};this.onTween.fire(O);var N=this.runtimeAttributes;for(var M in N){this.setAttribute(M,this.doMethod(M,N[M].start,N[M].end),N[M].unit);}H+=1;};var G=function(){var M=(new Date()-F)/1000;var N={duration:M,frames:H,fps:H/M};N.toString=function(){return("duration: "+N.duration+", frames: "+N.frames+", fps: "+N.fps);};D=false;H=0;this.onComplete.fire(N);};this._onStart=new B.CustomEvent("_start",this,true);this.onStart=new B.CustomEvent("start",this);this.onTween=new B.CustomEvent("tween",this);this._onTween=new B.CustomEvent("_tween",this,true);this.onComplete=new B.CustomEvent("complete",this);this._onComplete=new B.CustomEvent("_complete",this,true);this._onStart.subscribe(L);this._onTween.subscribe(K);this._onComplete.subscribe(G);}};B.Anim=A;})();YAHOO.util.AnimMgr=new function(){var C=null;var B=[];var A=0;this.fps=1000;this.delay=1;this.registerElement=function(F){B[B.length]=F;A+=1;F._onStart.fire();this.start();};this.unRegister=function(G,F){F=F||E(G);if(!G.isAnimated()||F==-1){return false;}G._onComplete.fire();B.splice(F,1);A-=1;if(A<=0){this.stop();}return true;};this.start=function(){if(C===null){C=setInterval(this.run,this.delay);}};this.stop=function(H){if(!H){clearInterval(C);for(var G=0,F=B.length;G<F;++G){this.unRegister(B[0],0);}B=[];C=null;A=0;}else{this.unRegister(H);}};this.run=function(){for(var H=0,F=B.length;H<F;++H){var G=B[H];if(!G||!G.isAnimated()){continue;}if(G.currentFrame<G.totalFrames||G.totalFrames===null){G.currentFrame+=1;if(G.useSeconds){D(G);}G._onTween.fire();}else{YAHOO.util.AnimMgr.stop(G,H);}}};var E=function(H){for(var G=0,F=B.length;G<F;++G){if(B[G]==H){return G;}}return -1;};var D=function(G){var J=G.totalFrames;var I=G.currentFrame;var H=(G.currentFrame*G.duration*1000/G.totalFrames);var F=(new Date()-G.getStartTime());var K=0;if(F<G.duration*1000){K=Math.round((F/H-1)*G.currentFrame);}else{K=J-(I+1);}if(K>0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B<F;++B){C[B]=[E[B][0],E[B][1]];}for(var A=1;A<F;++A){for(B=0;B<F-A;++B){C[B][0]=(1-D)*C[B][0]+D*C[parseInt(B+1,10)][0];C[B][1]=(1-D)*C[B][1]+D*C[parseInt(B+1,10)][1];}}return[C[0][0],C[0][1]];};};(function(){var A=function(F,E,G,H){A.superclass.constructor.call(this,F,E,G,H);};A.NAME="ColorAnim";var C=YAHOO.util;YAHOO.extend(A,C.Anim);var D=A.superclass;var B=A.prototype;B.patterns.color=/color$/i;B.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;B.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;B.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;B.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;B.parseColor=function(E){if(E.length==3){return E;}var F=this.patterns.hex.exec(E);if(F&&F.length==4){return[parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16)];}F=this.patterns.rgb.exec(E);if(F&&F.length==4){return[parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10)];}F=this.patterns.hex3.exec(E);if(F&&F.length==4){return[parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16)];}return null;};B.getAttribute=function(E){var G=this.getEl();if(this.patterns.color.test(E)){var H=YAHOO.util.Dom.getStyle(G,E);
if(this.patterns.transparent.test(H)){var F=G.parentNode;H=C.Dom.getStyle(F,E);while(F&&this.patterns.transparent.test(H)){F=F.parentNode;H=C.Dom.getStyle(F,E);if(F.tagName.toUpperCase()=="HTML"){H="#fff";}}}}else{H=D.getAttribute.call(this,E);}return H;};B.doMethod=function(F,J,G){var I;if(this.patterns.color.test(F)){I=[];for(var H=0,E=J.length;H<E;++H){I[H]=D.doMethod.call(this,F,J[H],G[H]);}I="rgb("+Math.floor(I[0])+","+Math.floor(I[1])+","+Math.floor(I[2])+")";}else{I=D.doMethod.call(this,F,J,G);}return I;};B.setRuntimeAttribute=function(F){D.setRuntimeAttribute.call(this,F);if(this.patterns.color.test(F)){var H=this.attributes;var J=this.parseColor(this.runtimeAttributes[F].start);var G=this.parseColor(this.runtimeAttributes[F].end);if(typeof H[F]["to"]==="undefined"&&typeof H[F]["by"]!=="undefined"){G=this.parseColor(H[F].by);for(var I=0,E=J.length;I<E;++I){G[I]=J[I]+G[I];}}this.runtimeAttributes[F].start=J;this.runtimeAttributes[F].end=G;}};C.ColorAnim=A;})();
/*
TERMS OF USE - EASING EQUATIONS
Open source under the BSD License.
Copyright 2001 Robert Penner All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
 * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
YAHOO.util.Easing={easeNone:function(B,A,D,C){return D*B/C+A;},easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeBoth:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},easeInStrong:function(B,A,D,C){return D*(B/=C)*B*B*B+A;},easeOutStrong:function(B,A,D,C){return -D*((B=B/C-1)*B*B*B-1)+A;},easeBothStrong:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B*B*B+A;}return -D/2*((B-=2)*B*B*B-2)+A;},elasticIn:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return -(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;},elasticOut:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return B*Math.pow(2,-10*C)*Math.sin((C*F-D)*(2*Math.PI)/E)+G+A;},elasticBoth:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F/2)==2){return A+G;}if(!E){E=F*(0.3*1.5);}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}if(C<1){return -0.5*(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;}return B*Math.pow(2,-10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E)*0.5+G+A;},backIn:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*(B/=D)*B*((C+1)*B-C)+A;},backOut:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*((B=B/D-1)*B*((C+1)*B+C)+1)+A;},backBoth:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}if((B/=D/2)<1){return E/2*(B*B*(((C*=(1.525))+1)*B-C))+A;}return E/2*((B-=2)*B*(((C*=(1.525))+1)*B+C)+2)+A;},bounceIn:function(B,A,D,C){return D-YAHOO.util.Easing.bounceOut(C-B,0,D,C)+A;},bounceOut:function(B,A,D,C){if((B/=C)<(1/2.75)){return D*(7.5625*B*B)+A;}else{if(B<(2/2.75)){return D*(7.5625*(B-=(1.5/2.75))*B+0.75)+A;}else{if(B<(2.5/2.75)){return D*(7.5625*(B-=(2.25/2.75))*B+0.9375)+A;}}}return D*(7.5625*(B-=(2.625/2.75))*B+0.984375)+A;},bounceBoth:function(B,A,D,C){if(B<C/2){return YAHOO.util.Easing.bounceIn(B*2,0,D,C)*0.5+A;}return YAHOO.util.Easing.bounceOut(B*2-C,0,D,C)*0.5+D*0.5+A;}};(function(){var A=function(H,G,I,J){if(H){A.superclass.constructor.call(this,H,G,I,J);}};A.NAME="Motion";var E=YAHOO.util;YAHOO.extend(A,E.ColorAnim);var F=A.superclass;var C=A.prototype;C.patterns.points=/^points$/i;C.setAttribute=function(G,I,H){if(this.patterns.points.test(G)){H=H||"px";F.setAttribute.call(this,"left",I[0],H);F.setAttribute.call(this,"top",I[1],H);}else{F.setAttribute.call(this,G,I,H);}};C.getAttribute=function(G){if(this.patterns.points.test(G)){var H=[F.getAttribute.call(this,"left"),F.getAttribute.call(this,"top")];}else{H=F.getAttribute.call(this,G);}return H;};C.doMethod=function(G,K,H){var J=null;if(this.patterns.points.test(G)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;J=E.Bezier.getPosition(this.runtimeAttributes[G],I);}else{J=F.doMethod.call(this,G,K,H);}return J;};C.setRuntimeAttribute=function(P){if(this.patterns.points.test(P)){var H=this.getEl();var J=this.attributes;var G;var L=J["points"]["control"]||[];var I;var M,O;if(L.length>0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M<O;++M){K[M]=L[M];}L=K;}if(E.Dom.getStyle(H,"position")=="static"){E.Dom.setStyle(H,"position","relative");}if(D(J["points"]["from"])){E.Dom.setXY(H,J["points"]["from"]);}else{E.Dom.setXY(H,E.Dom.getXY(H));}G=this.getAttribute("points");if(D(J["points"]["to"])){I=B.call(this,J["points"]["to"],G);
var N=E.Dom.getXY(this.getEl());for(M=0,O=L.length;M<O;++M){L[M]=B.call(this,L[M],G);}}else{if(D(J["points"]["by"])){I=[G[0]+J["points"]["by"][0],G[1]+J["points"]["by"][1]];for(M=0,O=L.length;M<O;++M){L[M]=[G[0]+L[M][0],G[1]+L[M][1]];}}}this.runtimeAttributes[P]=[G];if(L.length>0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.5.1",build:"984"});if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var A=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,interactionInfo:null,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(D,C){for(var E in this.ids){for(var B in this.ids[E]){var F=this.ids[E][B];if(!this.isTypeOfDD(F)){continue;}F[D].apply(F,C);}}},_onLoad:function(){this.init();A.on(document,"mouseup",this.handleMouseUp,this,true);A.on(document,"mousemove",this.handleMouseMove,this,true);A.on(window,"unload",this._onUnload,this,true);A.on(window,"resize",this._onResize,this,true);},_onResize:function(B){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,fromTimeout:false,regDragDrop:function(C,B){if(!this.initialized){this.init();}if(!this.ids[B]){this.ids[B]={};}this.ids[B][C.id]=C;},removeDDFromGroup:function(D,B){if(!this.ids[B]){this.ids[B]={};}var C=this.ids[B];if(C&&C[D.id]){delete C[D.id];}},_remove:function(C){for(var B in C.groups){if(B&&this.ids[B][C.id]){delete this.ids[B][C.id];}}delete this.handleIds[C.id];},regHandle:function(C,B){if(!this.handleIds[C]){this.handleIds[C]={};}this.handleIds[C][B]=B;},isDragDrop:function(B){return(this.getDDById(B))?true:false;},getRelated:function(G,C){var F=[];for(var E in G.groups){for(var D in this.ids[E]){var B=this.ids[E][D];if(!this.isTypeOfDD(B)){continue;}if(!C||B.isTarget){F[F.length]=B;}}}return F;},isLegalTarget:function(F,E){var C=this.getRelated(F,true);for(var D=0,B=C.length;D<B;++D){if(C[D].id==E.id){return true;}}return false;},isTypeOfDD:function(B){return(B&&B.__ygDragDrop);},isHandle:function(C,B){return(this.handleIds[C]&&this.handleIds[C][B]);},getDDById:function(C){for(var B in this.ids){if(this.ids[B][C]){return this.ids[B][C];}}return null;},handleMouseDown:function(D,C){this.currentTarget=YAHOO.util.Event.getTarget(D);this.dragCurrent=C;var B=C.getEl();this.startX=YAHOO.util.Event.getPageX(D);this.startY=YAHOO.util.Event.getPageY(D);this.deltaX=this.startX-B.offsetLeft;this.deltaY=this.startY-B.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var E=YAHOO.util.DDM;E.startDrag(E.startX,E.startY);E.fromTimeout=true;},this.clickTimeThresh);},startDrag:function(B,D){clearTimeout(this.clickTimeout);var C=this.dragCurrent;if(C&&C.events.b4StartDrag){C.b4StartDrag(B,D);C.fireEvent("b4StartDragEvent",{x:B,y:D});}if(C&&C.events.startDrag){C.startDrag(B,D);C.fireEvent("startDragEvent",{x:B,y:D});}this.dragThreshMet=true;},handleMouseUp:function(B){if(this.dragCurrent){clearTimeout(this.clickTimeout);if(this.dragThreshMet){if(this.fromTimeout){this.handleMouseMove(B);}this.fromTimeout=false;this.fireEvents(B,true);}else{}this.stopDrag(B);this.stopEvent(B);}},stopEvent:function(B){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(B);}if(this.preventDefault){YAHOO.util.Event.preventDefault(B);}},stopDrag:function(D,C){var B=this.dragCurrent;if(B&&!C){if(this.dragThreshMet){if(B.events.b4EndDrag){B.b4EndDrag(D);B.fireEvent("b4EndDragEvent",{e:D});}if(B.events.endDrag){B.endDrag(D);B.fireEvent("endDragEvent",{e:D});}}if(B.events.mouseUp){B.onMouseUp(D);B.fireEvent("mouseUpEvent",{e:D});}}this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(E){var B=this.dragCurrent;if(B){if(YAHOO.util.Event.isIE&&!E.button){this.stopEvent(E);return this.handleMouseUp(E);}else{if(E.clientX<0||E.clientY<0){}}if(!this.dragThreshMet){var D=Math.abs(this.startX-YAHOO.util.Event.getPageX(E));var C=Math.abs(this.startY-YAHOO.util.Event.getPageY(E));if(D>this.clickPixelThresh||C>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){if(B&&B.events.b4Drag){B.b4Drag(E);B.fireEvent("b4DragEvent",{e:E});}if(B&&B.events.drag){B.onDrag(E);B.fireEvent("dragEvent",{e:E});}if(B){this.fireEvents(E,false);}}this.stopEvent(E);}},fireEvents:function(U,K){var Z=this.dragCurrent;if(!Z||Z.isLocked()||Z.dragOnly){return ;}var M=YAHOO.util.Event.getPageX(U),L=YAHOO.util.Event.getPageY(U),O=new YAHOO.util.Point(M,L),J=Z.getTargetCoord(O.x,O.y),E=Z.getDragEl(),D=["out","over","drop","enter"],T=new YAHOO.util.Region(J.y,J.x+E.offsetWidth,J.y+E.offsetHeight,J.x),H=[],C={},P=[],a={outEvts:[],overEvts:[],dropEvts:[],enterEvts:[]};for(var R in this.dragOvers){var c=this.dragOvers[R];if(!this.isTypeOfDD(c)){continue;}if(!this.isOverTarget(O,c,this.mode,T)){a.outEvts.push(c);}H[R]=true;delete this.dragOvers[R];}for(var Q in Z.groups){if("string"!=typeof Q){continue;}for(R in this.ids[Q]){var F=this.ids[Q][R];if(!this.isTypeOfDD(F)){continue;}if(F.isTarget&&!F.isLocked()&&F!=Z){if(this.isOverTarget(O,F,this.mode,T)){C[Q]=true;if(K){a.dropEvts.push(F);}else{if(!H[F.id]){a.enterEvts.push(F);}else{a.overEvts.push(F);}this.dragOvers[F.id]=F;}}}}}this.interactionInfo={out:a.outEvts,enter:a.enterEvts,over:a.overEvts,drop:a.dropEvts,point:O,draggedRegion:T,sourceRegion:this.locationCache[Z.id],validDrop:K};for(var B in C){P.push(B);}if(K&&!a.dropEvts.length){this.interactionInfo.validDrop=false;if(Z.events.invalidDrop){Z.onInvalidDrop(U);Z.fireEvent("invalidDropEvent",{e:U});}}for(R=0;R<D.length;R++){var X=null;if(a[D[R]+"Evts"]){X=a[D[R]+"Evts"];}if(X&&X.length){var G=D[R].charAt(0).toUpperCase()+D[R].substr(1),W="onDrag"+G,I="b4Drag"+G,N="drag"+G+"Event",V="drag"+G;if(this.mode){if(Z.events[I]){Z[I](U,X,P);Z.fireEvent(I+"Event",{event:U,info:X,group:P});}if(Z.events[V]){Z[W](U,X,P);Z.fireEvent(N,{event:U,info:X,group:P});}}else{for(var Y=0,S=X.length;Y<S;++Y){if(Z.events[I]){Z[I](U,X[Y].id,P[0]);Z.fireEvent(I+"Event",{event:U,info:X[Y].id,group:P[0]});}if(Z.events[V]){Z[W](U,X[Y].id,P[0]);Z.fireEvent(N,{event:U,info:X[Y].id,group:P[0]});}}}}}},getBestMatch:function(D){var F=null;
var C=D.length;if(C==1){F=D[0];}else{for(var E=0;E<C;++E){var B=D[E];if(this.mode==this.INTERSECT&&B.cursorIsOver){F=B;break;}else{if(!F||!F.overlap||(B.overlap&&F.overlap.getArea()<B.overlap.getArea())){F=B;}}}}return F;},refreshCache:function(C){var E=C||this.ids;for(var B in E){if("string"!=typeof B){continue;}for(var D in this.ids[B]){var F=this.ids[B][D];if(this.isTypeOfDD(F)){var G=this.getLocation(F);if(G){this.locationCache[F.id]=G;}else{delete this.locationCache[F.id];}}}}},verifyEl:function(C){try{if(C){var B=C.offsetParent;if(B){return true;}}}catch(D){}return false;},getLocation:function(G){if(!this.isTypeOfDD(G)){return null;}var E=G.getEl(),J,D,C,L,K,M,B,I,F;try{J=YAHOO.util.Dom.getXY(E);}catch(H){}if(!J){return null;}D=J[0];C=D+E.offsetWidth;L=J[1];K=L+E.offsetHeight;M=L-G.padding[0];B=C+G.padding[1];I=K+G.padding[2];F=D-G.padding[3];return new YAHOO.util.Region(M,B,I,F);},isOverTarget:function(J,B,D,E){var F=this.locationCache[B.id];if(!F||!this.useCache){F=this.getLocation(B);this.locationCache[B.id]=F;}if(!F){return false;}B.cursorIsOver=F.contains(J);var I=this.dragCurrent;if(!I||(!D&&!I.constrainX&&!I.constrainY)){return B.cursorIsOver;}B.overlap=null;if(!E){var G=I.getTargetCoord(J.x,J.y);var C=I.getDragEl();E=new YAHOO.util.Region(G.y,G.x+C.offsetWidth,G.y+C.offsetHeight,G.x);}var H=E.intersect(F);if(H){B.overlap=H;return(D)?true:B.cursorIsOver;}else{return false;}},_onUnload:function(C,B){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}this._execOnAll("unreg",[]);this.ids={};},elementCache:{},getElWrapper:function(C){var B=this.elementCache[C];if(!B||!B.el){B=this.elementCache[C]=new this.ElementWrapper(YAHOO.util.Dom.get(C));}return B;},getElement:function(B){return YAHOO.util.Dom.get(B);},getCss:function(C){var B=YAHOO.util.Dom.get(C);return(B)?B.style:null;},ElementWrapper:function(B){this.el=B||null;this.id=this.el&&B.id;this.css=this.el&&B.style;},getPosX:function(B){return YAHOO.util.Dom.getX(B);},getPosY:function(B){return YAHOO.util.Dom.getY(B);},swapNode:function(D,B){if(D.swapNode){D.swapNode(B);}else{var E=B.parentNode;var C=B.nextSibling;if(C==D){E.insertBefore(D,B);}else{if(B==D.nextSibling){E.insertBefore(B,D);}else{D.parentNode.replaceChild(B,D);E.insertBefore(D,C);}}}},getScroll:function(){var D,B,E=document.documentElement,C=document.body;if(E&&(E.scrollTop||E.scrollLeft)){D=E.scrollTop;B=E.scrollLeft;}else{if(C){D=C.scrollTop;B=C.scrollLeft;}else{}}return{top:D,left:B};},getStyle:function(C,B){return YAHOO.util.Dom.getStyle(C,B);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(B,D){var C=YAHOO.util.Dom.getXY(D);YAHOO.util.Dom.setXY(B,C);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(C,B){return(C-B);},_timeoutCount:0,_addListeners:function(){var B=YAHOO.util.DDM;if(YAHOO.util.Event&&document){B._onLoad();}else{if(B._timeoutCount>2000){}else{setTimeout(B._addListeners,10);if(document&&document.body){B._timeoutCount+=1;}}}},handleWasClicked:function(B,D){if(this.isHandle(D,B.id)){return true;}else{var C=B.parentNode;while(C){if(this.isHandle(D,C.id)){return true;}else{C=C.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={events:null,on:function(){this.subscribe.apply(this,arguments);},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,dragOnly:false,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id);}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(F,C,D){this.initTarget(F,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);for(var E in this.events){this.createEvent(E+"Event");}},initTarget:function(E,C,D){this.config=D||{};this.events={};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.events={mouseDown:true,b4MouseDown:true,mouseUp:true,b4StartDrag:true,startDrag:true,b4EndDrag:true,endDrag:true,drag:true,b4Drag:true,invalidDrop:true,b4DragOut:true,dragOut:true,dragEnter:true,b4DragOver:true,dragOver:true,b4DragDrop:true,dragDrop:true};if(this.config.events){for(var C in this.config.events){if(this.config.events[C]===false){this.events[C]=false;}}}this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);},handleOnAvailable:function(){this.available=true;
this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){if(G&&G.style&&(G.style.display=="none")){}else{}return ;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(H,G){var D=H.which||H.button;if(this.primaryButtonOnly&&D>1){return ;}if(this.isLocked()){return ;}var C=this.b4MouseDown(H);if(this.events.b4MouseDown){C=this.fireEvent("b4MouseDownEvent",H);}var E=this.onMouseDown(H);if(this.events.mouseDown){E=this.fireEvent("mouseDownEvent",H);}if((C===false)||(E===false)){return ;}this.DDM.refreshCache(this.groups);var F=new YAHOO.util.Point(A.getPageX(H),A.getPageY(H));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(F,this)){}else{if(this.clickValidator(H)){this.setStartPosition();this.DDM.handleMouseDown(H,this);this.DDM.stopEvent(H);}else{}}},clickValidator:function(D){var C=YAHOO.util.Event.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(C<this.minX){C=this.minX;}if(C>this.maxX){C=this.maxX;}}if(this.constrainY){if(F<this.minY){F=this.minY;}if(F>this.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E<C;++E){if(this.invalidHandleClasses[E]==D){delete this.invalidHandleClasses[E];}}},isValidHandleChild:function(F){var E=true;var H;try{H=F.nodeName.toUpperCase();}catch(G){H=F.nodeName;}E=E&&!this.invalidHandleTypes[H];E=E&&!this.invalidHandleIds[F.id];for(var D=0,C=this.invalidHandleClasses.length;E&&D<C;++D){E=!B.hasClass(F,this.invalidHandleClasses[D]);}return E;},setXTicks:function(F,C){this.xTicks=[];this.xTickSize=C;var E={};for(var D=this.initPageX;D>=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(D){this.setYTicks(this.initPageY,D);}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D<C;++D){var E=D+1;if(F[E]&&F[E]>=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};YAHOO.augment(YAHOO.util.DragDrop,YAHOO.util.EventProvider);})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(C,G,F){var E=this.getTargetCoord(G,F);if(!this.deltaSetXY){var H=[E.x,E.y];YAHOO.util.Dom.setXY(C,H);var D=parseInt(YAHOO.util.Dom.getStyle(C,"left"),10);var B=parseInt(YAHOO.util.Dom.getStyle(C,"top"),10);this.deltaSetXY=[D-E.x,B-E.y];}else{YAHOO.util.Dom.setStyle(C,"left",(E.x+this.deltaSetXY[0])+"px");
YAHOO.util.Dom.setStyle(C,"top",(E.y+this.deltaSetXY[1])+"px");}this.cachePosition(E.x,E.y);var A=this;setTimeout(function(){A.autoScroll.call(A,E.x,E.y,C.offsetHeight,C.offsetWidth);},0);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G<C){window.scrollTo(D,N+A);}if(I<N&&N>0&&I-N<C){window.scrollTo(D,N-A);}if(M>B&&F<C){window.scrollTo(D+A,N);}if(J<D&&D>0&&J-D<C){window.scrollTo(D-A,N);}}},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(A){this.setStartPosition();this.autoOffset(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},b4Drag:function(A){this.setDragElPos(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(C,A,B){if(C){this.init(C,A,B);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var B=this,A=document.body;if(!A||!A.firstChild){setTimeout(function(){B.createFrame();},50);return ;}var G=this.getDragEl(),E=YAHOO.util.Dom;if(!G){G=document.createElement("div");G.id=this.dragElId;var D=G.style;D.position="absolute";D.visibility="hidden";D.cursor="move";D.border="2px solid #aaa";D.zIndex=999;D.height="25px";D.width="25px";var C=document.createElement("div");E.setStyle(C,"height","100%");E.setStyle(C,"width","100%");E.setStyle(C,"background-color","#ccc");E.setStyle(C,"opacity","0");G.appendChild(C);if(YAHOO.env.ua.ie){var F=document.createElement("iframe");F.setAttribute("src","about:blank");F.setAttribute("scrolling","no");F.setAttribute("frameborder","0");G.insertBefore(F,G.firstChild);E.setStyle(F,"height","100%");E.setStyle(F,"width","100%");E.setStyle(F,"position","absolute");E.setStyle(F,"top","0");E.setStyle(F,"left","0");E.setStyle(F,"opacity","0");E.setStyle(F,"zIndex","-1");E.setStyle(F.nextSibling,"zIndex","2");}A.insertBefore(G,A.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(E,D){var C=this.getEl();var A=this.getDragEl();var B=A.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(B.width,10)/2),Math.round(parseInt(B.height,10)/2));}this.setDragElPos(E,D);YAHOO.util.Dom.setStyle(A,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var H=YAHOO.util.Dom;var B=this.getEl();var C=this.getDragEl();var G=parseInt(H.getStyle(C,"borderTopWidth"),10);var I=parseInt(H.getStyle(C,"borderRightWidth"),10);var F=parseInt(H.getStyle(C,"borderBottomWidth"),10);var D=parseInt(H.getStyle(C,"borderLeftWidth"),10);if(isNaN(G)){G=0;}if(isNaN(I)){I=0;}if(isNaN(F)){F=0;}if(isNaN(D)){D=0;}var E=Math.max(0,B.offsetWidth-I-D);var A=Math.max(0,B.offsetHeight-G-F);H.setStyle(C,"width",E+"px");H.setStyle(C,"height",A+"px");}},b4MouseDown:function(B){this.setStartPosition();var A=YAHOO.util.Event.getPageX(B);var C=YAHOO.util.Event.getPageY(B);this.autoOffset(A,C);},b4StartDrag:function(A,B){this.showFrame(A,B);},b4EndDrag:function(A){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(D){var C=YAHOO.util.Dom;var B=this.getEl();var A=this.getDragEl();C.setStyle(A,"visibility","");C.setStyle(B,"visibility","hidden");YAHOO.util.DDM.moveToEl(B,A);C.setStyle(A,"visibility","hidden");C.setStyle(B,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(C,A,B){if(C){this.initTarget(C,A,B);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});YAHOO.register("dragdrop",YAHOO.util.DragDropMgr,{version:"2.5.1",build:"984"});YAHOO.util.Attribute=function(B,A){if(A){this.owner=A;this.configure(B,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(F,B){var E;var A=this.owner;var C=this.name;var D={type:C,prevValue:this.getValue(),newValue:F};if(this.readOnly||(this.writeOnce&&this._written)){return false;}if(this.validator&&!this.validator.call(A,F)){return false;}if(!B){E=A.fireBeforeChangeEvent(D);if(E===false){return false;}}if(this.method){this.method.call(A,F);}this.value=F;this._written=true;D.type=C;if(!B){this.owner.fireChangeEvent(D);}return true;},configure:function(B,C){B=B||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var A in B){if(A&&YAHOO.lang.hasOwnProperty(B,A)){this[A]=B[A];if(C){this._initialConfig[A]=B[A];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(A){this.setValue(this.value,A);}};(function(){var A=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(C){this._configs=this._configs||{};var B=this._configs[C];if(!B){return undefined;}return B.value;},set:function(D,E,B){this._configs=this._configs||{};var C=this._configs[D];if(!C){return false;}return C.setValue(E,B);},getAttributeKeys:function(){this._configs=this._configs;var D=[];var B;for(var C in this._configs){B=this._configs[C];if(A.hasOwnProperty(this._configs,C)&&!A.isUndefined(B)){D[D.length]=C;}}return D;},setAttributes:function(D,B){for(var C in D){if(A.hasOwnProperty(D,C)){this.set(C,D[C],B);}}},resetValue:function(C,B){this._configs=this._configs||{};if(this._configs[C]){this.set(C,this._configs[C]._initialConfig.value,B);return true;}return false;},refresh:function(E,C){this._configs=this._configs;E=((A.isString(E))?[E]:E)||this.getAttributeKeys();for(var D=0,B=E.length;D<B;++D){if(this._configs[E[D]]&&!A.isUndefined(this._configs[E[D]].value)&&!A.isNull(this._configs[E[D]].value)){this._configs[E[D]].refresh(C);}}},register:function(B,C){this.setAttributeConfig(B,C);},getAttributeConfig:function(C){this._configs=this._configs||{};var B=this._configs[C]||{};var D={};for(C in B){if(A.hasOwnProperty(B,C)){D[C]=B[C];}}return D;},setAttributeConfig:function(B,C,D){this._configs=this._configs||{};C=C||{};if(!this._configs[B]){C.name=B;this._configs[B]=this.createAttribute(C);}else{this._configs[B].configure(C,D);}},configureAttribute:function(B,C,D){this.setAttributeConfig(B,C,D);},resetAttributeConfig:function(B){this._configs=this._configs||{};this._configs[B].resetConfig();},subscribe:function(B,C){this._events=this._events||{};if(!(B in this._events)){this._events[B]=this.createEvent(B);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.subscribe.apply(this,arguments);},addListener:function(){this.subscribe.apply(this,arguments);},fireBeforeChangeEvent:function(C){var B="before";B+=C.type.charAt(0).toUpperCase()+C.type.substr(1)+"Change";C.type=B;return this.fireEvent(C.type,C);},fireChangeEvent:function(B){B.type+="Change";return this.fireEvent(B.type,B);},createAttribute:function(B){return new YAHOO.util.Attribute(B,this);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var D=YAHOO.util.Dom,F=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(G,H){if(arguments.length){this.init(G,H);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(G){G=G.get?G.get("element"):G;this.get("element").appendChild(G);},getElementsByTagName:function(G){return this.get("element").getElementsByTagName(G);},hasChildNodes:function(){return this.get("element").hasChildNodes();},insertBefore:function(G,H){G=G.get?G.get("element"):G;H=(H&&H.get)?H.get("element"):H;this.get("element").insertBefore(G,H);},removeChild:function(G){G=G.get?G.get("element"):G;this.get("element").removeChild(G);return true;},replaceChild:function(G,H){G=G.get?G.get("element"):G;H=H.get?H.get("element"):H;return this.get("element").replaceChild(G,H);},initAttributes:function(G){},addListener:function(K,J,L,I){var H=this.get("element");I=I||this;H=this.get("id")||H;var G=this;if(!this._events[K]){if(this.DOM_EVENTS[K]){YAHOO.util.Event.addListener(H,K,function(M){if(M.srcElement&&!M.target){M.target=M.srcElement;}G.fireEvent(K,M);},L,I);}this.createEvent(K,this);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.addListener.apply(this,arguments);},subscribe:function(){this.addListener.apply(this,arguments);},removeListener:function(H,G){this.unsubscribe.apply(this,arguments);},addClass:function(G){D.addClass(this.get("element"),G);},getElementsByClassName:function(H,G){return D.getElementsByClassName(H,G,this.get("element"));},hasClass:function(G){return D.hasClass(this.get("element"),G);},removeClass:function(G){return D.removeClass(this.get("element"),G);},replaceClass:function(H,G){return D.replaceClass(this.get("element"),H,G);},setStyle:function(I,H){var G=this.get("element");if(!G){return this._queue[this._queue.length]=["setStyle",arguments];}return D.setStyle(G,I,H);},getStyle:function(G){return D.getStyle(this.get("element"),G);},fireQueue:function(){var H=this._queue;for(var I=0,G=H.length;I<G;++I){this[H[I][0]].apply(this,H[I][1]);}},appendTo:function(H,I){H=(H.get)?H.get("element"):D.get(H);this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:H});I=(I&&I.get)?I.get("element"):D.get(I);var G=this.get("element");if(!G){return false;}if(!H){return false;}if(G.parent!=H){if(I){H.insertBefore(G,I);}else{H.appendChild(G);}}this.fireEvent("appendTo",{type:"appendTo",target:H});},get:function(G){var I=this._configs||{};var H=I.element;if(H&&!I[G]&&!YAHOO.lang.isUndefined(H.value[G])){return H.value[G];}return F.prototype.get.call(this,G);},setAttributes:function(L,H){var K=this.get("element");
for(var J in L){if(!this._configs[J]&&!YAHOO.lang.isUndefined(K[J])){this.setAttributeConfig(J);}}for(var I=0,G=this._configOrder.length;I<G;++I){if(L[this._configOrder[I]]!==undefined){this.set(this._configOrder[I],L[this._configOrder[I]],H);}}},set:function(H,J,G){var I=this.get("element");if(!I){this._queue[this._queue.length]=["set",arguments];if(this._configs[H]){this._configs[H].value=J;}return ;}if(!this._configs[H]&&!YAHOO.lang.isUndefined(I[H])){C.call(this,H);}return F.prototype.set.apply(this,arguments);},setAttributeConfig:function(G,I,J){var H=this.get("element");if(H&&!this._configs[G]&&!YAHOO.lang.isUndefined(H[G])){C.call(this,G,I);}else{F.prototype.setAttributeConfig.apply(this,arguments);}this._configOrder.push(G);},getAttributeKeys:function(){var H=this.get("element");var I=F.prototype.getAttributeKeys.call(this);for(var G in H){if(!this._configs[G]){I[G]=I[G]||H[G];}}return I;},createEvent:function(H,G){this._events[H]=true;F.prototype.createEvent.apply(this,arguments);},init:function(H,G){A.apply(this,arguments);}};var A=function(H,G){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];G=G||{};G.element=G.element||H||null;this.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"focus":true,"blur":true,"submit":true};var I=false;if(YAHOO.lang.isString(H)){C.call(this,"id",{value:G.element});}if(D.get(H)){I=true;E.call(this,G);B.call(this,G);}YAHOO.util.Event.onAvailable(G.element,function(){if(!I){E.call(this,G);}this.fireEvent("available",{type:"available",target:G.element});},this,true);YAHOO.util.Event.onContentReady(G.element,function(){if(!I){B.call(this,G);}this.fireEvent("contentReady",{type:"contentReady",target:G.element});},this,true);};var E=function(G){this.setAttributeConfig("element",{value:D.get(G.element),readOnly:true});};var B=function(G){this.initAttributes(G);this.setAttributes(G,true);this.fireQueue();};var C=function(G,I){var H=this.get("element");I=I||{};I.name=G;I.method=I.method||function(J){H[G]=J;};I.value=I.value||H[G];this._configs[G]=new YAHOO.util.Attribute(I,this);};YAHOO.augment(YAHOO.util.Element,F);})();YAHOO.register("element",YAHOO.util.Element,{version:"2.5.1",build:"984"});YAHOO.register("utilities", YAHOO, {version: "2.5.1", build: "984"});

/* tabblo/tabblo.js */
if(typeof Tabblo=="undefined")
{var Tabblo={add_namespace:function(namespace,impl)
{if(namespace.indexOf(".")!=-1)
{var topRef=Tabblo;var names=namespace.split(".");for(var i=0;i<names.length;i++)
{var newRefName=names[i];if(newRefName&&(newRefName!='Tabblo'))
{if((typeof topRef[newRefName]=="undefined")&&(i==(names.length-1)))
{ topRef[newRefName]=impl;}
else if(i==(names.length-1))
{Tabblo.extend(topRef[newRefName],impl);}
else if(typeof topRef[newRefName]=="undefined")
{ topRef[newRefName]={};}
topRef=topRef[newRefName];}}}}};Tabblo.library=(typeof Object.extend=="undefined")?((typeof YAHOO=="undefined")?((typeof jQuery=="undefined")?(Tabblo.library=null):("jQuery")):("YAHOO")):("prototype");Tabblo.extend=(Tabblo.library!="prototype")?((Tabblo.library!="YAHOO")?((Tabblo.library!="jQuery")?(alert('no valid extension library (core) -- bailing on Tabblo.extend')):(jQuery.extend)):(YAHOO.lang.extend)):(Object.extend);Tabblo.script_import=function(scriptUrl){var z=document.createElement('script');z.setAttribute('type','text/javascript');z.setAttribute('charset','utf-8');z.setAttribute('src',scriptUrl);document.getElementsByTagName('body').item(0).appendChild(z);void(0);};}
/* tabblo/drawing.js */
Tabblo.add_namespace("Tabblo.drawing",{CANVAS_ID:0,DEBUG:0,HAVE_PRINTFIRE:0, $e:function(elementId)
{if(typeof(elementId)=="object"){return elementId;}
return document.getElementById(elementId);},removeEl:function(elementId)
{if(typeof(elementId)!="object"){elementId=Tabblo.drawing.$e(elementId);}
elementId.parentNode.removeChild(elementId);},getDimensions:function(elementId)
{if(typeof(elementId)!="object"){elementId=Tabblo.drawing.$e(elementId);}
return{'width':elementId.offsetWidth,'height':elementId.offsetHeight};},getPosition:function(elementId)
{if(typeof(elementId)!="object"){elementId=Tabblo.drawing.$e(elementId);}
var l=0;var t=0;if(elementId.style.position=="absolute")
{l=parseInt(elementId.offsetLeft);t=parseInt(elementId.offsetTop);}
else
{var c=parseInt(elementId.offsetLeft);var d=parseInt(elementId.offsetTop);l=c;t=d;}
return{'left':l,'top':t};},JsSprite:function(optoriginx,optoriginy,optrotation)
{this.instructions=new Array();this.origin_x=parseInt(optoriginx)||0;this.origin_y=parseInt(optoriginy)||0;this.rotation_degrees=parseInt(optrotation)||0;},_js_setOrigin:function(x,y)
{ this.origin_x=parseInt(x);this.origin_y=parseInt(y);},_js_addInstruction:function()
{var instruction=new Object();for(var i=0;i<arguments.length;i++)
{if(i==0)
{instruction.funcRef=arguments[0];}
else
{if(!instruction.argsList)
{instruction.argsList=new Array();}
instruction.argsList.push(arguments[i]);}}
this.instructions.push(instruction);},_js_setRotation:function(rotation)
{ this.rotation_degrees=parseInt(rotation);},_js_paintAtLocation:function(graphics_context,x,y)
{this.renderAtLocation(graphics_context,x,y);this.graphics_context.paint();},_js_renderAtLocation:function(graphics_context,x,y)
{try
{this.graphics_context=graphics_context; for(var i=0;i<this.instructions.length;i++)
{var funcRef=this.instructions[i].funcRef;var argsList=this.instructions[i].argsList;var thisArgsx=null;var thisArgsy=null;var thisArgsz=null;var thisArgsa=null;if(this.rotation_degrees>0)
{}
else
{if((typeof(argsList[0])=='array')||(typeof(argsList[0])=='object'))
{thisArgsx=new Array();thisArgsy=new Array();for(var j=0;j<argsList[0].length;j++)
{thisArgsx[j]=parseInt(argsList[0][j])+parseInt(x);}
for(var k=0;k<argsList[1].length;k++)
{thisArgsy[k]=parseInt(argsList[1][k])+parseInt(y);}
argsList=[thisArgsx,thisArgsy];}
else
{thisArgsx=parseInt(argsList[0])+parseInt(x);thisArgsy=parseInt(argsList[1])+parseInt(y);thisArgsz=parseInt(argsList[2])+parseInt(x);thisArgsa=parseInt(argsList[3])+parseInt(y);argsList=[thisArgsx,thisArgsy,thisArgsz,thisArgsa];}}
funcRef.apply(this.graphics_context,argsList);}}
catch(e)
{if(Tabblo.drawing.DEBUG)
{if(Tabblo.drawing.HAVE_PRINTFIRE)
{printfire("Exception: "+e.message);}
else
{alert("Exception: "+e.message);}}}},CanvasSet:function()
{this.canvasses=new Object();this.parents=new Object();this.base_canvas_num=0;var arg3=arguments[3]||[1];arg3.sort().reverse();var arg4=((arguments[4]>=0)||(arguments[4]=="auto"))?parseInt(arguments[4]):"auto";var arg4_int=arg4;var parentEle=(arguments[1]?Tabblo.drawing.$e(arguments[1]):Tabblo.drawing.$e(arguments[0]).parentNode);if(!parentEle){parentEle=null;} 
for(var i=0;i<arg3.length;i++)
{this.parents[arg3[i]]=new Tabblo.drawing.Canvas(arguments[0],parentEle,"",1.0,arg4_int);this.parents[arg3[i]].render();if(arg4_int!="auto"){arg4_int++;}
this.base_canvas_num++;if(i==0)
{this.default_canvas=this.canvas=this.parents[arg3[i]];}}
arg4_int=arg4;var d=Tabblo.drawing.getDimensions(arguments[0]); var childSpec="0,0+"+d.width+"+"+d.height;for(var i=0;i<arg3.length;i++)
{this.canvasses[arg3[i]]=new Tabblo.drawing.Canvas(childSpec,this.parents[arg3[i]].id,arguments[2],arg3[i],arg4_int);this.canvasses[arg3[i]].render();if(arg4_int!="auto"){arg4_int++;} 
if(i==0)
{this.default_graphics=this.graphics=this.canvasses[arg3[i]].graphics;}}},_canvasset_setContext:function(opacity)
{if(this.canvasses[opacity])
{this.graphics=this.canvasses[opacity].graphics;}
else
{ this.graphics=this.default_graphics;}
return this.graphics;},_canvasset_clearAll:function()
{for(var i in this.canvasses)
{this.canvasses[i].clear();}},_canvasset_hideAll:function()
{for(var i in this.parents)
{this.parents[i].hide();}
for(var i in this.canvasses)
{this.canvasses[i].hide();}},_canvasset_paintAll:function()
{for(var i in this.canvasses)
{this.canvasses[i].paint();}},_canvasset_showAll:function()
{for(var i in this.parents)
{this.parents[i].show();}
for(var i in this.canvasses)
{this.canvasses[i].show();}},_canvasset_removeAll:function()
{for(var i in this.canvasses)
{this.canvasses[i].remove();}
for(var i in this.parents)
{this.parents[i].remove();}},_canvasset_getHeight:function()
{return this.canvas.height;},_canvasset_getWidth:function()
{return this.canvas.width;},_canvasset_setStroke:function(stroke)
{for(var i in this.canvasses)
{this.canvasses[i].setStroke(stroke);}
for(var i in this.parents)
{this.parents[i].setStroke(stroke);}},_canvasset_setColor:function(color)
{for(var i in this.canvasses)
{this.canvasses[i].setColor(color);}
for(var i in this.parents)
{this.parents[i].setColor(color);}},_canvasset_setPrintable:function(printable)
{for(var i in this.canvasses)
{this.canvasses[i].setPrintable(printable);}
for(var i in this.parents)
{this.parents[i].setPrintable(printable);}},_canvasset_resizeAll:function(x,y)
{for(var i in this.parents)
{this.parents[i].setSize(x,y);}
for(var i in this.canvasses)
{this.canvasses[i].setSize(x,y);}},_canvasset_setParentZindices:function(index)
{for(var i in this.parents)
{this.parents[i].setZindex(index);}},Canvas:function()
{var arg0=arguments[0];if(arg0.indexOf('+')==-1)
{this.type='mock';this.mockElement=Tabblo.drawing.$e(arg0);var arg1=arguments[1];var pe=Tabblo.drawing.$e(arg1);if(pe)
{this.parentElement=pe;}
else
{this.parentElement=Tabblo.drawing.$e(this.mockElement.parentNode.id);}
var dimensions=Tabblo.drawing.getDimensions(this.mockElement);this.width=dimensions.width;this.height=dimensions.height;if(this.mockElement!=pe)
{var position=Tabblo.drawing.getPosition(this.mockElement);this.posx=position.left||0;this.posy=position.top||0;}
else
{this.posx=0;this.posy=0;}}
else
{this.type='positional';var geoms=arg0.split('+');var poses=geoms[0].split(','); this.posx=parseInt(poses[0]);this.posy=parseInt(poses[1]);this.width=parseInt(geoms[1]);this.height=parseInt(geoms[2]);this.mockElement=null;var arg1=arguments[1];this.parentElement=Tabblo.drawing.$e(arg1)?Tabblo.drawing.$e(arg1):document.body;}
this.color=arguments[2]||"";this.opacity=((arguments[3]>=0)&&(arguments[3]<=1))?arguments[3]:1;this.zindex=((arguments[4]>=0)||(arguments[4]=="auto"))?arguments[4]:"auto";this.id="canvas_"+Tabblo.drawing.CANVAS_ID++;},_canvas_render:function(makeInvisible)
{var html_add='<div id="'+this.id+'" style="'; html_add+='position:absolute;overflow:hidden;display:none;left:'+this.posx+'px;top:'+this.posy+'px;width:'+(parseInt(this.width)+1)+'px;height:'+(parseInt(this.height)+1)+'px;';if(this.color)
{html_add+=';background-color:'+this.color;}
html_add+=';z-index:'+this.zindex+';';html_add+='"></div>';this.parentElement.innerHTML+=html_add;var myself=Tabblo.drawing.$e(this.id);if(!makeInvisible)
{this.show();}
this.graphics=new jsGraphics(this.id); this.graphics.setStroke(1);this.graphics.setColor("#000000");},_canvas_remove:function()
{this.mockElement=null;this.parentElement=null;Tabblo.drawing.removeEl(Tabblo.drawing.$e(this.id));},_canvas_hide:function()
{Tabblo.drawing.$e(this.id).style.display="none";},_canvas_show:function()
{Tabblo.drawing.$e(this.id).style.display="block";this.setOpacity();},_canvas_setOpacity:function()
{var opacity=parseFloat(this.opacity); if((this!=null)&&(opacity>=0)&&(opacity<=1))
{if(isIE)
{if(is_ie7)
{Tabblo.drawing.$e(this.id).style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+parseInt(opacity*100)+")";}
else
{Tabblo.drawing.$e(this.id).style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+parseInt(opacity*100)+")";}}
else if(isSafari)
{Tabblo.drawing.$e(this.id).style.opacity=opacity;}
else
{Tabblo.drawing.$e(this.id).style.MozOpacity=opacity;}}},_canvas_initialize:function()
{this.render(true);},_canvas_transplant:function(newparent)
{newparent.appendChild(Tabblo.drawing.$e(this.id));},_canvas_clear:function()
{this.graphics.clear();},_canvas_paint:function()
{this.graphics.paint();},_canvas_setStroke:function(stroke)
{this.graphics.setStroke(stroke);},_canvas_setColor:function(color)
{this.graphics.setColor(color);},_canvas_setPrintable:function(printable)
{this.graphics.setPrintable(printable);},_canvas_setSize:function(x,y)
{Tabblo.drawing.$e(this.id).style.width=x+"px";this.width=x;Tabblo.drawing.$e(this.id).style.height=y+"px";this.height=y;},_canvas_setZindex:function(index)
{if(isIE&&(index=="auto")){index=0;} 
Tabblo.drawing.$e(this.id).style.zIndex=index;}});Tabblo.drawing.JsSprite.prototype.setOrigin=Tabblo.drawing._js_setOrigin;Tabblo.drawing.JsSprite.prototype.addInstruction=Tabblo.drawing._js_addInstruction;Tabblo.drawing.JsSprite.prototype.setRotation=Tabblo.drawing._js_setRotation;Tabblo.drawing.JsSprite.prototype.renderAtLocation=Tabblo.drawing._js_renderAtLocation;Tabblo.drawing.JsSprite.prototype.paintAtLocation=Tabblo.drawing._js_paintAtLocation;Tabblo.drawing.CanvasSet.prototype.setContext=Tabblo.drawing._canvasset_setContext;Tabblo.drawing.CanvasSet.prototype.clear=Tabblo.drawing._canvasset_clearAll;Tabblo.drawing.CanvasSet.prototype.hide=Tabblo.drawing._canvasset_hideAll;Tabblo.drawing.CanvasSet.prototype.show=Tabblo.drawing._canvasset_showAll;Tabblo.drawing.CanvasSet.prototype.remove=Tabblo.drawing._canvasset_removeAll;Tabblo.drawing.CanvasSet.prototype.paint=Tabblo.drawing._canvasset_paintAll;Tabblo.drawing.CanvasSet.prototype.getHeight=Tabblo.drawing._canvasset_getHeight;Tabblo.drawing.CanvasSet.prototype.getWidth=Tabblo.drawing._canvasset_getWidth;Tabblo.drawing.CanvasSet.prototype.setStroke=Tabblo.drawing._canvasset_setStroke;Tabblo.drawing.CanvasSet.prototype.setColor=Tabblo.drawing._canvasset_setColor;Tabblo.drawing.CanvasSet.prototype.setPrintable=Tabblo.drawing._canvasset_setPrintable;Tabblo.drawing.CanvasSet.prototype.resize=Tabblo.drawing._canvasset_resizeAll;Tabblo.drawing.CanvasSet.prototype.setParentZindices=Tabblo.drawing._canvasset_setParentZindices;Tabblo.drawing.Canvas.prototype.setStroke=Tabblo.drawing._canvas_setStroke;Tabblo.drawing.Canvas.prototype.setColor=Tabblo.drawing._canvas_setColor;Tabblo.drawing.Canvas.prototype.setPrintable=Tabblo.drawing._canvas_setPrintable;Tabblo.drawing.Canvas.prototype.paint=Tabblo.drawing._canvas_paint;Tabblo.drawing.Canvas.prototype.clear=Tabblo.drawing._canvas_clear;Tabblo.drawing.Canvas.prototype.render=Tabblo.drawing._canvas_render;Tabblo.drawing.Canvas.prototype.remove=Tabblo.drawing._canvas_remove;Tabblo.drawing.Canvas.prototype.setOpacity=Tabblo.drawing._canvas_setOpacity;Tabblo.drawing.Canvas.prototype.hide=Tabblo.drawing._canvas_hide;Tabblo.drawing.Canvas.prototype.show=Tabblo.drawing._canvas_show;Tabblo.drawing.Canvas.prototype.initialize=Tabblo.drawing._canvas_initialize;Tabblo.drawing.Canvas.prototype.transplant=Tabblo.drawing._canvas_transplant;Tabblo.drawing.Canvas.prototype.setSize=Tabblo.drawing._canvas_setSize;Tabblo.drawing.Canvas.prototype.setZindex=Tabblo.drawing._canvas_setZindex;
/* tabblo/server_constants.js */
Tabblo.add_namespace("Tabblo.server_constants",{FE_HOST:"fe.tabblo.com",MEDIA_URL:"//cdn.tabblo.com.edgesuite.net/bitty-static",APP_HOST:"www.tabblo.com",PERFORMANCE_PROBABILITY:"0.0"});
/* tabblo/core.js */

Tabblo.add_namespace("Tabblo.core",{loaded:false,extend:Tabblo.extend,setLoaded:function(){Tabblo.core.loaded=true;}});YAHOO.util.Event.addListener(window,"load",Tabblo.core.setLoaded);Tabblo.add_namespace("Tabblo.core.timers",{LV_TIMER:null,progressIndicatorTimer:null,progressIndicatorStackHeight:0,PROGRESS_LAG:3500, AUTOCLOSE_TIMER:null,_loadImagesInterval:null,SAFARI_LAST_RELOAD_TIMEOUT:null,unload:function()
{Tabblo.core.timers.LV_TIMER=null;Tabblo.core.timers.progressIndicatorTimer=null;Tabblo.core.timers.progressIndicatorStackHeight=0;Tabblo.core.timers.PROGRESS_LAG=3500; Tabblo.core.timers.AUTOCLOSE_TIMER=null;Tabblo.core.timers._loadImagesInterval=null;Tabblo.core.timers.SAFARI_LAST_RELOAD_TIMEOUT=null;}});YAHOO.util.Event.addListener(window,"unload",Tabblo.core.timers.unload);Tabblo.add_namespace("Tabblo.core.caches",{exceptionStacks:new Array(),ALARMS:new Object(),BULLSEYE:null,BULLSEYE_DS:{},PARCELPOS_CACHE:{},_TMP_PARCEL_CACHE:null,CANVAS_CACHE:new Object(),unload:function()
{Tabblo.core.caches.exceptionStacks=null;Tabblo.core.caches.ALARMS=null;Tabblo.core.caches.BULLSEYE=null;Tabblo.core.caches.BULLSEYE_DS=null;Tabblo.core.caches.PARCELPOS_CACHE=null;Tabblo.core.caches._TMP_PARCEL_CACHE=null;try
{for(var i=0;i<Tabblo.core.caches.CANVAS_CACHE.length;i++)
{if(Tabblo.core.caches.CANVAS_CACHE[i])
{try
{Tabblo.core.caches.CANVAS_CACHE[i].remove();}
catch(e)
{}}}}
catch(e)
{}
Tabblo.core.caches.CANVAS_CACHE=null;}});YAHOO.util.Event.addListener(window,"unload",Tabblo.core.caches.unload);Tabblo.add_namespace("Tabblo.core.browser",{detect:function()
{var isIE;var isGecko;var isSafari;var isKonqueror;var isMac;var isOpera;var isFirefox;var isFirefox3;var isChrome;var ls={};var agt=ls['agt']=navigator.userAgent.toLowerCase();var is_major=ls['is_major']=parseInt(navigator.appVersion);var is_nav=ls['is_nav']=((agt.indexOf('ozilla')!=-1)&&(agt.indexOf('spoofer')==-1)&&(agt.indexOf('compatible')==-1)&&(agt.indexOf('opera')==-1)&&(agt.indexOf('webtv')==-1)&&(agt.indexOf('hotjava')==-1));var is_nav4up=ls['is_nav4up']=(is_nav&&(is_major>=4));var is_ie=isIE=ls['isIE']=ls['is_ie']=((agt.indexOf("msie")!=-1)&&(agt.indexOf("opera")==-1)); var is_ie6=ls['is_ie6']=(is_ie&&(is_major==4)&&(agt.indexOf("msie 6.0")!=-1));var is_ie7=ls['is_ie7']=(is_ie&&(is_major==4)&&(agt.indexOf("msie 7.0")!=-1));var is_ie5up=ls['is_ie5up']=(is_ie&&(is_major==4)&&((agt.indexOf("msie 5.0")!=-1)||(agt.indexOf("msie 5.5")!=-1)||(agt.indexOf("msie 6.0")!=-1)||(agt.indexOf("msie 7.0")!=-1)));var activeXDisabled=ls['activeXDisabled']=false;isMac=ls['isMac']=(agt.indexOf("macintosh")!=-1);isGecko=ls['isGecko']=(agt.indexOf("gecko")!=-1);isSafari=ls['isSafari']=(agt.indexOf("safari")!=-1);isChrome=ls['isChrome']=(agt.indexOf("chrome")!=-1);isKonqueror=ls['isKonqueror']=(agt.indexOf("konqueror")!=-1);isOpera=ls['isOpera']=(agt.indexOf("opera")!=-1);isFirefox=ls['isFirefox']=((agt.indexOf('firefox')!=-1)||(agt.indexOf('camino')!=-1));isFirefox3=ls['isFirefox3']=(isFirefox&&(agt.indexOf('firefox/3')!=-1)); var RET_CHAR=ls['RET_CHAR']=isGecko?"\n":"<br/>"; var _b=["isGecko","isSafari","isKonqueror","isMac","isOpera","isFirefox","isFirefox3","isChrome","agt","is_major","is_nav","is_nav4up","is_ie","is_ie6","is_ie7","is_ie5up","activeXDisabled","isIE","RET_CHAR"];for(var l=0;l<_b.length;l++)
{try
{var _s=typeof window[_b[l]];if(_s=="undefined")
{window[_b[l]]=ls[_b[l]];}}
catch(e)
{alert('detect: '+e.message+'/\n'+e.stack);}}},pluginDetect:function()
{if(is_nav4up)
{if(navigator.plugins)
{navigator.plugins.refresh(false);} 
if(navigator.mimeTypes)
{for(i=0;i<navigator.mimeTypes.length;i++)
{if(navigator.mimeTypes[i].type!=null&&navigator.mimeTypes[i].type.indexOf("application/x-java-applet")!=-1)
{window.pluginDetected=true;}
else
{continue;}
if((navigator.mimeTypes[i].type!=null)&&(navigator.mimeTypes[i].type.indexOf("version=1.3")!=-1))
{window.pluginVer="1.3";break;}
if((navigator.mimeTypes[i].type!=null)&&(navigator.mimeTypes[i].type.indexOf("version=1.4")!=-1))
{window.pluginVer="1.4";break;}
if((navigator.mimeTypes[i].type!=null)&&(navigator.mimeTypes[i].type.indexOf("version=1.5")!=-1))
{window.pluginVer="1.5";break;}}}}
else if(is_ie5up||isKonqueror)
{window.pluginDetected=navigator.javaEnabled();}}});Tabblo.core.browser.detect();var DEBUG_JS=false;Tabblo.add_namespace("Tabblo.core.debugging",{assertDefined:function(value,message)
{if(DEBUG_JS)
{if(typeof value=="undefined")
{ Tabblo.core.debugging.printfire("!!! Parameters object caught with undefined value !!!");Tabblo.core.debugging.printfire("!!! Message: "+message+" !!!");alert('assert failed for undefined value ('+message+')!');throw message;}}},assertDefinedParams:function(params,endpoint,message)
{if(DEBUG_JS)
{if(params)
{var paramsArr=params.split('&');for(var i=0;i<paramsArr.length;i++)
{if(paramsArr[i])
{var keyNvalue=paramsArr[i].split('=');var k=keyNvalue[0];var v=keyNvalue[1];if(k)
{if(v&&(v=="undefined"))
{ Tabblo.core.debugging.printfire("!!! Parameters object caught with undefined value !!!");Tabblo.core.debugging.printfire("!!! Message: "+message+" !!!");Tabblo.core.debugging.printfire("!!! Endpoint: "+endpoint+" !!!");Tabblo.core.debugging.printfire("!!! Parameters: "+params+" !!!");alert('assert failed at '+endpoint+' for pars '+params+' ('+message+')');throw message;}}}}}}},setDebugMode:function(boolBug,boolGrid)
{DEBUG_JS=boolBug;DEBUG_GRID=boolGrid;},printfire:function()
{if(DEBUG_JS)
{Tabblo.core.debugging.printfire_always.apply(Tabblo.core.debugging,arguments);}},__d:function()
{var i;var output="";var oArr=new Array();for(i=0;i<arguments.length;i++)
{var s=arguments[i];if(i==0)
{output="("+s+"): ";}
else
{if(typeof arguments[i]=="object")
{oArr.push(arguments[i]);}
else
{output+=arguments[i]+"/";}}}
Tabblo.core.debugging.printfire_always(output.substring(0,output.length-1));if(oArr.length>0)
{Tabblo.core.debugging.printfire_always("Objects dump:");for(i=0;i<oArr.length;i++)
{Tabblo.core.debugging.printfire_always(oArr[i]);}}},__m:function()
{var a=new Array();a.push('__dump__');for(var i=0;i<arguments.length;i++)
{a.push(arguments[i]);}
Tabblo.core.debugging.__d.apply(this,a);},printfire_always:function()
{if(isIE||isSafari)
{try
{var dbg=$("debug_window");if(dbg)
{var origtext=dbg.innerHTML||"";var newtext="";for(var i=0;i<arguments.length;i++){origtext+=arguments[i];}
dbg.innerHTML=origtext+newtext+"<br/>";}}
catch(e){}
}
if(!isIE&&!isSafari&&document.createEvent)
{if(window.console)
{console.log.apply(console,arguments);}
else
{printfire.args=arguments;var ev=document.createEvent("Events");ev.initEvent("printfire",false,true);dispatchEvent(ev);}}},printStack:function(e,callname)
{if(DEBUG_JS)
{Tabblo.core.debugging.printStack_always.apply(Tabblo.core.debugging,arguments);}},printStack_always:function(e,callname)
{try
{var callperson=callname||Tabblo.core.debugging.printStack_always.caller;var message=callperson+' exception: '+e.message+' (stack: '+(e.stack?e.stack:null)+')';if(self.Tabblo.core.caches.exceptionStacks&&Tabblo.core.caches.exceptionStacks)
{Tabblo.core.caches.exceptionStacks.push(String(message));}
Tabblo.core.debugging.printfire_always(message);}
catch(e)
{Tabblo.core.debugging.printfire_always('Failed to print a stack trace: original message: ('+e.message+')/original stack: ('+(e.stack?e.stack:null)+')');}}});Tabblo.add_namespace("Tabblo.core.performance",{performance_probability:parseFloat(Tabblo.server_constants.PERFORMANCE_PROBABILITY)||0.0,shouldPerformanceTest:function()
{if(Math.random()<=Tabblo.core.performance.performance_probability)
{return true;}
return false;},reportPerf:function(uid,pre_server_t,roundtrip_t,post_server_t,endpoint,notes)
{ if(Tabblo.core.performance.performance_probability>0)
{var url="/performance/record/";if(!uid&&!endpoint){return;} 
var parameters=__tcu.conjoinParams(['uid',uid,'pre_server_t',pre_server_t,'post_server_t',post_server_t,'roundtrip_t',roundtrip_t,'endpoint',endpoint,'notes',notes]);var oncomplete=function(jsonResponse){var _uid=jsonResponse.responseObject;if(_uid){_uid=_uid.uid;};Tabblo.core.performance.finishUid();};Tabblo.ajax.simple_beam(url,parameters,oncomplete);}},getUid:function(optionalResponseObject)
{try
{if(optionalResponseObject)
{var header=optionalResponseObject.getHeader('X-tabblo-performance');return header;}
else
{return __tcu.getCookie('performance_uid');}}
catch(e)
{printStack(e,'getUid');}
return null;},finishUid:function()
{__tcu.deleteCookie('performance_uid','/','tabblo.com');}});Tabblo.core.performance.performance_actions=new Array();if(typeof assert=="undefined")
{var assert=Tabblo.core.debugging.assertDefined;}
if(typeof printfire=="undefined")
{var printfire=Tabblo.core.debugging.printfire;}
if(typeof printStack=="undefined")
{var printStack=Tabblo.core.debugging.printStack;}
if(typeof setDebugMode=="undefined")
{var setDebugMode=Tabblo.core.debugging.setDebugMode;}
if(typeof __d=="undefined")
{var __d=Tabblo.core.debugging.__d;var __mifflin=Tabblo.core.debugging.__m;var __m=Tabblo.core.debugging.__m;}
var BLOCK_PARSE_REGEX=/\$\{(\w+)\}/igm;String.prototype.parse_vars=function(dataDict)
{return this.replace(BLOCK_PARSE_REGEX,function(match,param,offset,orig)
{return(dataDict[param]||(dataDict[param]==0))?(dataDict[param]):("");});}
Tabblo.core.help={};Tabblo.core.help['showHelp']=function(obj,note_id,set_wide)
{Tabblo.script_import('/bitty-static/javascripts/tabblo/core/help.js');setTimeout("Tabblo.core.help.showHelp()",1500);};Tabblo.core.help['buildHelpTitle']=function(title)
{try
{$("help_title").innerHTML=title;}
catch(e)
{alert("BUG: There is something wrong with this page's Help system. ("+e.name+":"+e.message+")");}};
/* tabblo/settings.js */
Tabblo.add_namespace("Tabblo.settings",{EXTERNAL_ITEM_URL:'/edit/add_external_item/'});Tabblo.add_namespace("Tabblo.divs",{replacements:{OK:gettext("ok"),CANCEL:gettext("cancel"),PAN_AND_ZOOM:gettext('Pan & Zoom'),ZOOM_IN:gettext('Zoom in'),ZOOM_OUT:gettext('Zoom out'),DRAG_IMAGE:gettext('Drag image to pan'),ACCEPT_CHANGES:gettext('Accept changes'),CANCEL_CHANGES:gettext('Cancel changes'),CHOOSE_EFFECT:gettext("Choose Special Effect"),BLACK_AND_WHITE:gettext("Black & White"),SEPIA:gettext("Sepia"),OIL_PAINT:gettext("Oil Paint"),NEGATIVE:gettext("Negative"),CLEAR_EFFECTS:gettext("Clear All Effects"),DO_NOT_APPLY_EFFECT:gettext('Do not apply an effect'),CHOOSE_ROTATION:gettext('Choose Photo Rotation'),DO_NOT_APPLY_ROTATION:gettext('Do not apply a rotation'),ADD_BALLOON:gettext("Add a balloon"),SPEECH_BUBBLE:gettext("Speech balloon"),THOUGHT_BUBBLE:gettext("Thought balloon"),SMALL:gettext("Small"),MEDIUM:gettext("Medium"),LARGE:gettext("Large"),DELETE_BALLOON:gettext("Delete balloon"),CLICK_TO_ZOOM_OUT:gettext("Click to zoom out"),ADD_LINK:gettext("Add a link"),ENTER_URL:gettext("Enter URL:"),ADD_THE_LINK:gettext("Add the link"),BOLD:gettext("Bold"),ITALICS:gettext("Italics"),JUST_LEFT:gettext("Justify left"),JUST_CENTER:gettext("Justify center"),JUST_RIGHT:gettext("Justify right"),SET_TEXT_COLOR:gettext("Set the text color"),SET_TEXT_BGCOLOR:gettext("Set the text background color"),FONT:gettext("Font"),FONT_SIZE:gettext("Font size"),CLEAR_FORMATTING:gettext("Clear formatting (does not include hyperlinks)"),DRAG_TO_RESIZE:gettext("Drag to resize image"),COLLAPSE:gettext("Collapse"),EXPAND:gettext("Expand"),REMOVE_PICTURE:gettext("Remove picture"),REMOVE_TEXT_BLOCK:gettext("Remove text block"),REMOVE_PHOTO_HOLDER:gettext("Remove photo holder"),ROTATE_PHOTO:gettext("Rotate photo"),SHOW_EFFECTS:gettext("Show effects"),CHANGE_ORIENTATION:gettext("Change orientation"),EDIT_COMPONENT:gettext("Edit component"),ADD_COMIC_BALLOON:gettext("Add comic balloon"),INFORMATION:gettext("Information"),TAG_THIS_PHOTO:gettext("Tag this photo"),ADD_TEXT_BLOCK:gettext("Add a text block"),CHOOSE_LAYOUT:gettext("Choose a layout"),VLAD:gettext("Vladimir the Erector")},blocker_screen:{style:'position:absolute;z-index:88888;width:100%;height:100%;top:0px;left:0px;background-color:#cccccc;display:none;'},progress_indicator:{style:'position:absolute;padding-top:20px;padding-bottom:20px;text-align:center;z-index:88889;width:200px;top:0px;left:0px;background-color:#ffffff;border:1px solid #000000;display:none;',innerHTML:'<img src="${MEDIA_URL}/images/indicator.gif" width="13" height="13"> Please wait...<p/><div id="progress_indicator_message" style="padding:6px;"></div>'},partner_iframe:{tossContainer:true,innerHTML:'<iframe src="/bitty-static/images/empty.gif" id="partner_iframe_blocker" style="position:absolute;top:205px;left:290px;z-index:88888;border:0px solid #ffffff;width:409px;height:162px;"></iframe>'},partner_email:{style:'display:none;position:absolute;z-index:88889;top:200px;left:290px;width:409px;height:190px;border:1px solid #737373;background-color:#333333;',className:'divalog partner_email',innerHTML:'<div style="margin:8px 15px 8px 8px;"><div class="page_title" style="margin-top:10px;"> 					What\'s your email address? 				</div><div class="secondary">By giving us your email address, we\'ll be able to email you when your book ships.<p/>We use your email address only to communicate with you about your order.</div><div style="color:#ffffff;line-height:18px;clear:both;margin-top:10px;"><b>Email address</b><br/><input type="text" id="user_email" value="" style="width:300px;"/></div><div style="color:#ffffff;margin-top:10px;line-height:18px;"><div style="text-align:right;margin-top:8px;cursor:pointer;"><img onclick="submitEmail(trim($(\'user_email\').value))" src="/bitty-static/images/partners/gwen/ok_grey.gif"/></div></div></div>'},trivial_message_div:{tossContainer:true,innerHTML:'<div id=\'trivial_message_div\' style=\'position:absolute;z-index:9000;text-align:left;background:#dddddd;padding:7px;border:1px solid black;width:200px;height:50px;\'><div id=\'trivial_message_div_message\' style=\'position:relative;width:100%;height:100%;text-align:left;line-height:18px;\'> 					&nbsp; 				</div></div>'},message_div:{className:"divalog",style:"display:none;z-index:100002;overflow:hidden;border: 2px solid #000000;position:absolute;top:0px;left:0px;width:300px;height:150px;background-color:#ffffff;",innerHTML:'<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td class="a_header" id="message_div_header_row" style="padding-left:4px;color:#ffffff;width:100%;background-color:#fe0000;height:30px;"><table border="0" cellpadding="0" cellspacing="0" style="width:100%;"><tr><td style="width:27px;" align="right"><img src="${MEDIA_URL}/images/error_stamp.gif" id="message_stamp"/></td><td class="a_header" style="padding-left:5px;color:#ffffff;font-size:16px;" id="messageDivTitle"></td></tr></table></td></tr><tr><td align="left" valign="top" class="fieldnote" style="padding-left:34px;padding-right:26px;padding-top:10px;padding-bottom:4px;"><div id="messageBody" class="h_header" style="padding-left:5px;height:80px;overflow:auto;overflow-x:hidden;overflow-y:auto;"></div><textarea id="long_msg_holder" style="display:none;"></textarea></td></tr><tr id="mat_normal_button_row"><td align="right" valign="bottom" style="padding-right:10px;"><table border="0" cellpadding="0" cellspacing="0"><tr><td id="message_ok_button" style="text-transform:uppercase" class="button_blue" onmouseover="this.className=\'button_blue_over\'" onmouseout="this.className=\'button_blue\'"><div>${OK}</div></td><td style="width:4px;">&nbsp;</td><td id="message_cancel_button" style="text-transform:capitalize" class="button_blue" onmouseover="this.className=\'button_blue_over\'" onmouseout="this.className=\'button_blue\'" onclick="closeMessage()"><div>${CANCEL}</div></td></tr></table></td></tr></table><!-- 295 x 174 ==  55/240 x -15/167 --><img border="0" id="message_point_up" style="display:none;position:absolute;top:-20px;left:55px;" src="${MEDIA_URL}/images/contexthelp/pointup.gif"/><img border="0" id="message_point_down" style="display:none;position:absolute;top:180px;left:55px;" src="${MEDIA_URL}/images/contexthelp/pointdown.gif"/><!--[if lte IE 6.5]><iframe src="/bitty-static/blank.html" style="display:none;display:block;position:absolute;top:0;left:0;z-index:-1;width:3000px;height:3000px;"></iframe><![endif]-->',attributes:{notdroppable:"true",notlightboxable:"true"}},message_iframe_blocker:{tossContainer:true,innerHTML:'<iframe src="/bitty-static/blank.html" id="message_iframe_blocker" style="display:none;z-index:100001;position:absolute;top:0px;left:0px;width:300px;border:0px solid #ffffff;height:155px;"></iframe>'},generic_iframe_blocker:{tossContainer:true,innerHTML:'<iframe src="/bitty-static/blank.html" id="generic_iframe_blocker" style="display:none;position:absolute;z-index:1000;top:-900px;left:-900px;width:79px;border:0px solid #ffffff;height:110px;"></iframe>'}});
/* tabblo/editor/divs.js */
Tabblo.core.extend(Tabblo.divs,{crop_circle:{style:'display:none;z-index:99999;position:absolute;width:100px;height:200px;',className:'divalog',innerHTML:'<table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0"><tr><td rowspan="3" valign="top" style="width:26px;padding-top:2px;padding-left:2px;" bgcolor="#333333"></td><td style="height:41px;" bgcolor="#333333" valign="top"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td style="color:#ffffff;font-weight:bold;padding-top:5px;" id="crop_circle_title">${PAN_AND_ZOOM}</td><td rowspan="2" valign="bottom" align="right"><img style="cursor:pointer;margin:0 0 2px 2px" onclick="Tabblo.editor.image.cropZoomUp(event)" onmouseover="hover(this)" onmouseout="hover(this)" title="${ZOOM_IN}" id="crop_zoom_up" src="${MEDIA_URL}/images/crop_in.gif"/><img style="cursor:pointer;margin:0 0 2px 2px" onclick="Tabblo.editor.image.cropZoomDown(event)" onmouseover="hover(this)" onmouseout="hover(this)" title="${ZOOM_OUT}" id="crop_zoom_down" src="${MEDIA_URL}/images/crop_out.gif"/></td></tr><tr><td style="color:#cccccc;" id="crop_circle_instruct">${DRAG_IMAGE}</td></tr></table></td><td rowspan="3" style="width:26px;" bgcolor="#333333">&nbsp;</td></tr><tr><td bgcolor="#333333"><div id="main_crop" style="position:relative;overflow:hidden;background-color:#ffffff;"><img src="${MEDIA_URL}/images/empty.gif" id="main_crop_img" style="cursor:pointer;position:relative;top:0px;left:0px;"/></div></td></tr><tr><td style="height:26px;padding:2px;" bgcolor="#333333"><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td align="right"><button class="ok_cancel" style="display:block;float:right;width:25px;" onclick="Tabblo.editor.image.hideCropCircle(true)" title="${ACCEPT_CHANGES}">${OK}</button><button class="ok_cancel" style="display:block;float:right;" onclick="Tabblo.editor.image.hideCropCircle(false)" title="${CANCEL_CHANGES}">${CANCEL}</button></td></tr></table></td></tr></table>'},effects_div:{style:"display:none;z-index:99999;border: 1px outset #666666;position:absolute;top:0px;left:0px;width:200px;height:316px;background-color:#313131;",className:'divalog',innerHTML:'<table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0"><tr><td valign="top" style="background-color:#313131;padding-left:5px;padding-top:4px;padding-bottom:4px;"><span style="font-weight:bold;color:#ffffff;font-size:13px;">${CHOOSE_EFFECT}:</span></td></tr><tr><td valign="top" align="center" style="padding-top:10px;border:1px solid #313131;background-color:#ffffff;"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td id="ec_holder_bw" class="effectBlock"></td><td id="ec_holder_sep" class="effectBlock"></td></tr><tr><td class="effectBlock_label"><a href="javascript:Tabblo.editor.image.setEffectChoice(\'bw\')" style="color:#000000;">${BLACK_AND_WHITE}</a></td><td class="effectBlock_label"><a href="javascript:Tabblo.editor.image.setEffectChoice(\'sepia\')" style="color:#000000;">${SEPIA}</a></td></tr><tr><td id="ec_holder_op" class="effectBlock"></td><td id="ec_holder_negative" class="effectBlock"></td></tr><tr><td class="effectBlock_label"><a href="javascript:Tabblo.editor.image.setEffectChoice(\'oilpaint\')" style="color:#000000;">${OIL_PAINT}</a></td><td class="effectBlock_label"><a href="javascript:Tabblo.editor.image.setEffectChoice(\'make_beautiful\')" style="color:#000000;">${NEGATIVE}</a></td></tr><tr><td colspan="4" align="center" style="padding-bottom:10px;"><a href="javascript:Tabblo.editor.image.setEffectsNone()">${CLEAR_EFFECTS}</a></td></tr></table><input type="hidden" id="current_effect_choice"/></td></tr><tr><td align="right" valign="bottom" style="background-color:#313131;padding-right:5px;padding-bottom:4px;padding-top:4px;"><button class="ok_cancel" onclick="Tabblo.editor.image.cancelApplyEffect()" title="${DO_NOT_APPLY_EFFECT}">${CANCEL}</button></td></tr></table>'},rotate_div:{style:'display:none;z-index:99999;border: 1px outset #666666;position:absolute;top:0px;left:0px;width:200px;height:235px;background-color:#313131;',className:'divalog',innerHTML:'<table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0"><tr><td valign="top" style="background-color:#313131;padding-left:5px;padding-top:4px;padding-bottom:4px;"><span style="font-weight:bold;color:#ffffff;font-size:13px;">${CHOOSE_ROTATION}:</span></td></tr><tr><td valign="top" align="center" style="padding-top:10px;border:1px solid #313131;background-color:#ffffff;"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td id="ec_holder_r360" class="effectBlock"></td><td id="ec_holder_r90" class="effectBlock"></td></tr><tr><td id="ec_holder_r180" class="effectBlock"></td><td id="ec_holder_r270" class="effectBlock"></td></tr><tr><td class="effectBlock_label"></td><td class="effectBlock_label"></td></tr></table></td></tr><tr><td align="right" valign="bottom" style="background-color:#313131;padding-right:5px;padding-bottom:4px;padding-top:4px;"><button class="ok_cancel" onclick="Tabblo.editor.image.cancelApplyRotate()" title="${DO_NOT_APPLY_ROTATION}">${CANCEL}</button></td></tr></table>'},bubbles_list_div:{className:"divalog",style:"display:none;z-index:99999;border:1px outset #666666;position:absolute;top:0px;left:0px;width:210px;height:285px;background-color:#313131;padding:5px;",innerHTML:'<div style="width:210px;height:20px;"><img src="${MEDIA_URL}/images/contexthelp/close_x.png" style="cursor:pointer;" onmouseover="hover(this)" onmouseout="hover(this)" title="${CANCEL}" alt="${CANCEL}" onclick="Tabblo.editor.hideBalloons()"/><span style="right:5px;position:absolute;color:white;" id="add_edit_balloon">${ADD_BALLOON}</span></div><div style="width:210px;height:25px;"><span style="width:105px;height:25px;"><select onchange="Tabblo.editor.resetBalloons(this);" style="width:100px;" id="bubble_shape_select"><option value="balloon1">${SPEECH_BUBBLE}</option><option value="thought1">${THOUGHT_BUBBLE}</option></select></span>&nbsp;<span style="width:105px;height:25px;"><select onchange="Tabblo.editor.resetBalloons(this);" style="width:100px;" id="bubble_size_select"><option value="s">${SMALL}</option><option value="m">${MEDIUM}</option><option value="l">${LARGE}</option></select></span></div><div style="width:210px;height:110px;"><span onclick="Tabblo.editor.selectBubbleInSlot(this);" shape="balloon1" size="s" orient="se" style="width:105px;height:110px;" id="bubble_se_display"><img fixpng="true" id="bubble_se_img" width="100" height="100" border="0" src="${MEDIA_URL}/resources/comic/balloon1_se_s.png"/></span><span onclick="Tabblo.editor.selectBubbleInSlot(this);" shape="balloon1" size="s" orient="sw" style="width:105px;height:110px;" id="bubble_sw_display"><img fixpng="true" id="bubble_sw_img" width="100" height="100" border="0" src="${MEDIA_URL}/resources/comic/balloon1_sw_s.png"/></span></div><div style="width:210px;height:110px;"><span onclick="Tabblo.editor.selectBubbleInSlot(this);" shape="balloon1" size="s" orient="ne" style="width:105px;height:110px;" id="bubble_ne_display"><img fixpng="true" id="bubble_ne_img" width="100" height="100" border="0" src="${MEDIA_URL}/resources/comic/balloon1_ne_s.png"/></span><span onclick="Tabblo.editor.selectBubbleInSlot(this);" shape="balloon1" size="s" orient="nw" style="width:105px;height:110px;" id="bubble_nw_display"><img fixpng="true" id="bubble_nw_img" width="100" height="100" border="0" src="${MEDIA_URL}/resources/comic/balloon1_nw_s.png"/></span></div><div id="delete_bubble_div" style="display:none;width:210px;height:25px;"><a href="javascript:void(0);" onclick="javascript:Tabblo.editor.bubbleDelete(null);">${DELETE_BALLOON}</a></div>'},img_fake_holder:{className:"drag_div",style:"display:none;position:absolute;width:75px;height:75px;z-index:20000;padding:0;margin:0;",innerHTML:'<img src="${MEDIA_URL}/images/empty.gif" class="primary" style="width:75px;height:75px;z-index:20000;padding:0;margin:0;" border="0" id="fake_img"/>'},img_zoom_holder:{style:"display:none;position:absolute;z-index:16001;margin:0;text-align:center;",innerHTML:'<div id="img_zoom_up_arrow" style="position:relative;margin-top:1px;height:18px;display:none;text-align:center;z-index:99999;"><center><img src="${MEDIA_URL}/images/editor/up_arrow.gif" style="z-index:1000;"/></center></div><div id="img_zoomer" style="position:relative;border:1px solid #808080;background-color:#ffffff;padding:4px;"></div><div id="img_zoom_down_arrow" style="width:100%;margin-top:-1px;position:relative;text-align:center;z-index:99999;"><center><img src="${MEDIA_URL}/images/editor/down_arrow.gif"/></center></div>'},item_loading_placeholder:{attributes:{holdid:"${holdid}"},style:"display:none;position:absolute;top:0px;left:0px;width:75px;height:75px;z-index:12000;border:1px solid black;background-color:#eeeeee;color:#333333;",innerHTML:'<table border="0" cellspacing="0" cellpadding="0" height="100%" width="100%"><tr><td style="font-family:Verdana;font-size:12px;font-weight:400;" align="center" valign="middle"><img border="0" src="${MEDIA_URL}/images/indicator.gif" />&nbsp;${message}</td></tr></table>'},delete_animation:{tossContainer:true,innerHTML:'<div id="${id}" style="position:absolute;z-index:99999;background-color:#cccccc;top:${y}px;left:${x}px;width:${w}px;height:${h}px;border:1px solid black;">&nbsp;</div>'},bullseye:{style:"display:block;text-align:center;position:absolute;top:-9999px;left:-9999px;z-index:999;background:url(${MEDIA_URL}/images/bumperhatch.png);",innerHTML:'<div id="bullseye_text" class="bullseye_text" style="text-align:center;position:absolute;top:0px;left:0px;width:75px;height:75px;z-index:999;border:1px solid black;"></div>'},magnify_div:{style:"display:none;z-index:10000;width:740px;height:340px;position:absolute;top:375px;left:340px;",innerHTML:'<img id="magnify_image" title="${CLICK_TO_ZOOM_OUT}" style="border:1px solid #000000;width:75px;height:75px;" next_scale="400" onclick="Tabblo.editor.photoorganizer.toggleScale(this)" src="${MEDIA_URL}/images/empty.gif"/>'},link_div:{className:"divalog",style:"display:none;z-index:99999;border: 1px outset #666666;position:absolute;top:0px;left:0px;width:300px;height:90px;background-color:#313131;",innerHTML:'<table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0"><tr><td valign="top" style="background-color:#313131;padding-left:5px;padding-top:4px;padding-bottom:4px;"><span style="font-weight:bold;color:#ffffff;font-size:13px;">${ADD_LINK}</span></td></tr><tr><td valign="top" style="padding:5px;border:1px solid #313131;background-color:#ffffff;"><table border="0" cellpadding="0" cellspacing="0"><tr><td>${ENTER_URL}</td><td><input type="text" id="add_link_field" class="loginField"/></td></tr></table></td></tr><tr><td align="right" valign="bottom" style="height:15px;background-color:#313131;padding-right:5px;padding-bottom:4px;padding-top:4px;"><button class="ok_cancel" onclick="Tabblo.editor.html.createLinkProxy(\'edit_frame\')" title="${ADD_THE_LINK}">${OK}</button><button class="ok_cancel" onclick="Tabblo.editor.html.cancelAddLink()" title="${CANCEL}">${CANCEL}</button></td></tr></table>'},color_wheel_div:{style:"display:none;top:0px;left:0px;z-index:999999;position:absolute;",innerHTML:'<table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="3" style="height:26px;padding:2px;" bgcolor="#333333">&nbsp;</td></tr><tr><td rowspan="3" valign="top" style="width:26px;" bgcolor="#333333">&nbsp;</td><td id="color_wheel_holder" align="center" style="color:#000000;background-color:#ffffff;"></td><td rowspan="3" style="width:26px;" bgcolor="#333333">&nbsp;</td></tr><tr><td style="height:26px;padding:2px;" bgcolor="#333333"><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td style="width:15px;"></td><td style="width:15px;"></td><td align="right"><button class="ok_cancel" onclick="Tabblo.editor.html.selectColorWheelColor()" title="${ACCEPT_CHANGES}">${OK}</button><button class="ok_cancel" onclick="Tabblo.editor.html.cancelEditColorWheel()" title="${CANCEL_CHANGES}">${CANCEL}</button></td></tr></table></td></tr></table>'},text_edit_bar:{style:"display:none;top:0px;left:0px;z-index:99999;position:absolute;",innerHTML:'<table border="0" cellpadding="0" cellspacing="0"><tr><td rowspan="3" valign="top" style="width:10px;padding-top:2px;padding-left:2px;" bgcolor="#333333"></td><td style="height:41px;color:#000000;background-color:#333333;"><style> 							td#text_edit_tools_large img { 								margin-right : -2px; 								vertical-align : middle; 							} 						</style><table border="0" cellpadding="0" cellspacing="0"><tr><td align="right" id="text_edit_tools_large" style="display:none;"><img onclick="Tabblo.editor.html.executeEditCommand(\'edit_frame\',\'Bold\')" style="cursor:pointer;" title="${BOLD}" src="${MEDIA_URL}/images/html_editor/bold.gif"/><img onclick="Tabblo.editor.html.executeEditCommand(\'edit_frame\',\'Italic\')" style="cursor:pointer;" title="${ITALICS}" src="${MEDIA_URL}/images/html_editor/italic.gif"/><img onclick="Tabblo.editor.html.executeEditCommand(\'edit_frame\',\'justifyleft\')" style="cursor:pointer;" title="${JUST_LEFT}" src="${MEDIA_URL}/images/html_editor/justifyleft.gif"/><img onclick="Tabblo.editor.html.executeEditCommand(\'edit_frame\',\'justifycenter\')" style="cursor:pointer;" title="${JUST_CENTER}" src="${MEDIA_URL}/images/html_editor/justifycenter.gif"/><img onclick="Tabblo.editor.html.executeEditCommand(\'edit_frame\',\'justifyright\')" style="cursor:pointer;" title="${JUST_RIGHT}" src="${MEDIA_URL}/images/html_editor/justifyright.gif"/><img id="createlink" onclick="Tabblo.editor.html.executeEditCommand(\'edit_frame\',\'createlink\',-1)" style="cursor:pointer;" title="${ADD_LINK}" src="${MEDIA_URL}/images/html_editor/link.gif"/><img id="editor_color_picker" onclick="Tabblo.editor.html.executeColorPicker()" style="cursor:pointer;" title="${SET_TEXT_COLOR}" src="${MEDIA_URL}/images/html_editor/forecolor.gif"/><img id="editor_color_picker" onclick="Tabblo.editor.html.executeColorPicker(true)" style="display:none;cursor:pointer;" title="${SET_BGCOLOR}" src="${MEDIA_URL}/images/html_editor/backcolor.gif"/><select class="loginField" style="width:75px;margin-bottom:4px;height:18px;font-size:10px;" onchange="if (this.selectedIndex > 0) {Tabblo.editor.html.executeEditCommand(\'edit_frame\',\'fontname\',this.options[this.selectedIndex].value);this.options[0].selected = true;}"><option value="-1" selected="selected">${FONT}</option><option value="arial" style=\'font-size:10px;font-family:"arial";\'>Arial</option><option value="arial black" style=\'font-size:10px;font-family:"arial black";\'>Arial Black</option><option value="comic sans ms" style=\'font-size:10px;font-family:"comic sans ms";\'>Comic Sans</option><option value="courier new" style=\'font-size:10px;font-family:"courier new";\'>Courier</option><option value="georgia" style=\'font-size:10px;font-family:"georgia";\'>Georgia</option><option value="helvetica" style=\'font-size:10px;font-family:"helvetica","arial";\'>Helvetica</option><option value="helvetica neue light" style=\'font-size:10px;font-family:"helvetica neue light","helvetica","arial";\'>Helvetica Neue Light</option><option value="impact" style=\'font-size:10px;font-family:"impact";\'>Impact</option><option value="times new roman" style=\'font-size:10px;font-family:"times new roman";\'>Times New Roman</option><option value="trebuchet ms" style=\'font-size:10px;font-family:"trebuchet ms";\'>Trebuchet</option><option value="verdana" style=\'font-size:10px;font-family:"verdana";\'>Verdana</option></select><select id="text_sizes_list" class="loginField" style="width:75px;margin-bottom:4px;height:18px;font-size:10px;" onchange="if (this.selectedIndex > 0) {Tabblo.editor.html.executeEditCommand(\'edit_frame\',\'fontsize\',this.options[this.selectedIndex].value);this.options[0].selected = true;}"><option value="-1" selected="selected">${FONT_SIZE}</option></select><img onclick="Tabblo.editor.html.removeFormatProxy()" style="cursor:pointer;" title="${CLEAR_FORMATTING}" src="${MEDIA_URL}/images/html_editor/clearformatting.gif"/></td></tr></table><textarea textblock="true" id="text_edit_area" style="display:none;">default text</textarea></td><td rowspan="3" style="width:10px;" bgcolor="#333333">&nbsp;</td></tr><tr><td style="background-color:#ffffff;" id="edit_frame_holder"></td></tr><tr><td style="height:26px;padding:2px;" bgcolor="#333333"><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td style="width:15px;"></td><td align="right"><button class="ok_cancel" style="position:relative" onclick="Tabblo.editor.Textblock.submit($(\'text_edit_area\'))" title="${ACCEPT_CHANGES}">${OK}</button><button class="ok_cancel" style="position:relative" onclick="Tabblo.editor.Textblock.cancelEdit()" title="${CANCEL_CHANGES}">${CANCEL}</button></td></tr></table></td></tr></table>'},fake_textblock_Ernst_mask:{className:"edit_nav_block",attributes:{isScratch:"true",notlightboxable:"true"},style:"position:absolute;z-index:12000;visibility:hidden;cursor:pointer;border-top:0px solid #ffffff;",innerHTML:'<table border="0" cellpadding="0" cellspacing="0"><tr><td style="font-size:10px;">Drag to add text</td><td style="padding-left:3px;"><img border="0" style="vertical-align:middle;cursor:move;width:13px;height:14px;" src="${MEDIA_URL}/images/contexthelp/drag_text.png"/></td></tr></table>'},color_picker_y:{tossContainer:true,innerHTML:'<div id="customize_style_holder" style="position:absolute;z-index:100001;display:none;"><div id="customize_a_style_holder"><div class="a_header" style="padding-top:3px;height:18px;margin-bottom:10px;font-size:12px;color:#ffffff;background-color:#cccccc;text-align:left;"><span id="customize_style_divalog_title" style="padding-left:16px;">Customize style</span></div><div><center><table id="customize_table" border="0" cellpadding="0" cellspacing="0" style="width:100%;"><tr><td>Title</td><td><div key="head" class="swatch" type="title" style="background-color:#00ccff"></div></td><td><div key="head" class="fonts"></div><div key="head" class="selectors" style="display:none;"></div></td><td><select key="head" class="sizes"></select></td></tr><tr><td>Text</td><td><div key="text" class="swatch" type="text" style="background-color:#00ff00"></div></td><td><div key="text" class="fonts"></div><div key="text" class="selectors" style="display:none;"></div></td><td><select key="text" class="sizes"></select></td></tr><tr id="caption_control"><td>Caption</td><td><div key="caption" class="swatch" type="caption" style="background-color:#ffcc33"></div></td><td><div key="caption" class="fonts"></div><div key="caption" class="selectors" style="display:none;"></div></td><td><select key="caption" class="sizes"></select></td></tr><tr><td><span id="field_color_name">Field</span></td><td><div key="field" class="swatch" type="field" style="background-color:#ffff00"></div></td><td>&nbsp;</td><td>&nbsp;</td></tr><tr id="background_color_control"><td>Background</td><td><div key="page" class="swatch" type="background" style="background-color:#0000ff"></div></td><td>&nbsp;</td><td>&nbsp;</td></tr></table></center></div><center><div style="text-align:center;width:164px;margin-top:40px;"><div style="width:75px;float:left;" onclick="Tabblo.widgets.CustomizeStyle.setCustomStyle()" style="float:left;" class="tabblo_button" onmouseover="__tcu.asciiHover(this)" onmouseout="__tcu.asciiHover(this)"> 								${OK} 							</div><div style="width:75px;margin-left:10px;float:left;" onclick="Tabblo.widgets.CustomizeStyle.closeCustomizeStyle()" style="float:left;" class="tabblo_b_button" onmouseover="__tcu.asciiHover(this)" onmouseout="__tcu.asciiHover(this)"> 								${CANCEL} 							</div></div></center></div><div id="choose_a_color_holder" style="display:none;"><div class="a_header" style="padding-top:3px;height:18px;font-size:12px;color:#ffffff;background-color:#cccccc;text-align:left;"><span style="padding-left:16px;">Pick the <span id="color_for"></span> color</span></div><div id="crazy_color_picker"></div><div id="basic_colors_holder"><table border="0" cellpadding="0" cellspacing="3"><tr><td colspan="6" style="border-width:0px;"> 									Preset colors: 								</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></table></div><center><div style="text-align:center;width:164px;margin-top:45px;"><div style="width:75px;float:left;" onclick="Tabblo.widgets.CustomizeStyle.setCustomColor()" style="float:left;" class="tabblo_button" onmouseover="__tcu.asciiHover(this)" onmouseout="__tcu.asciiHover(this)"> 								${OK} 							</div><div style="width:75px;margin-left:10px;float:left;" onclick="Tabblo.widgets.CustomizeStyle.switchToCustom()" style="float:left;" class="tabblo_b_button" onmouseover="__tcu.asciiHover(this)" onmouseout="__tcu.asciiHover(this)"> 								${CANCEL} 							</div></div></center></div><div id="text_font_picker_y" style="display:none;text-align:left;"><div id="font_wheel_y"></div></div></div>'},style_widget:{tossContainer:true,innerHTML:'<div ${type}_id="${id}" layout_name="${description}" onclick="Tabblo.widgets.Toolbar.selectLayoutTemplate(this)" onmouseover="Tabblo.widgets.Toolbar.hoverTemplateChoice(this)" onmouseout="Tabblo.widgets.Toolbar.unhoverTemplateChoice(this)" valign="top" style="cursor:pointer;padding:3px;float:left;"><img style="height:50px;" id="t${id}" src="${thumb}"/></div>'},style_widget_selected:{tossContainer:true,innerHTML:'<div ${type}_id="${id}" layout_name="${description}" onclick="Tabblo.widgets.Toolbar.selectLayoutTemplate(this)" onmouseover="Tabblo.widgets.Toolbar.hoverTemplateChoice(this)" onmouseout="Tabblo.widgets.Toolbar.unhoverTemplateChoice(this)" valign="top" style="cursor:pointer;padding:3px;float:left;background-color:#000000;" selected="true"><img style="height:50px;" id="t${id}" src="${thumb}" onload="Tabblo.widgets.Toolbar._default_layoutName = \'${description}\';" /></div>'},tool_shelf_first_note:{tossContainer:true,innerHTML:'<div class="first_message" onclick="Tabblo.widgets.Toolbar.closeCallout()" style="display:none;z-index:15000;"><div class="note"><div style="cursor:pointer;position:absolute;top:0px;right:0px;"><img src="${MEDIA_URL}/images/close_divalog.gif"/></div><div class="note_content"><div id="first_message_title">Want to add text?</div><div id="first_message_text" style="text-align:left;"> 							Look under Tools 						</div></div></div><div class="arrow"> 					&nbsp; 				</div></div>'},tool_shelf:{tossContainer:true,innerHTML:'<div id="tool_shelf" spotlight_description="Click the tabs to add text and photos, or change the theme.  Choose colors using Customize Theme."><div id="main_tab_holder" class="tabby"><div id="just_the_tabs" spotlight_description="Look under the Tools tab to add a title and text, or to cycle through new poster layouts.  Add more photos under the Photos tab."><div id="tools_tab" type="tools" class="tab">Tools</div><div id="photos_tab" type="photos" class="tab">Photos</div><div id="layout_tab" type="layout" class="tab">Layout</div><div id="style_tab" type="style" class="tab">Style</div><div id="advanced_tab" type="advanced" class="tab" style="display:none;">Advanced</div></div><div id="tools_palette_holder" type="tools_palette" class="palette" style="width:600px;"><table id="tools_table" border="0" cellpadding="0" cellspacing="0" width="100%"><tr><th align="center" colspan="2" style="width:247px;" id="tools_table_text_header">TEXT</th><th align="center" style="width:78px;display:none;">ORIENTATION</th><th id="optional_control_header" style="display:none;">&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th></tr><tr><td valign="top" id="toolbar_text_tools_1" style="padding-top:14px;width:160px;"><div id="tools_table_addtext"><div id="fake_textblock_Ernst" style="position:relative;cursor:move;text-align:left;"><span style="position:relative;margin-left:6px;text-align:left;"><img src="${MEDIA_URL}/images/toolbar/drag_to_add_text.gif"/></span><span id="add_text_label" style="position:relative;padding:0;margin:0;top:-7px;font-size:12px;">Drag to add text</span></div><div id="place_text_manually" style="display:none;margin-top:3px;"><input type="checkbox" onclick="Tabblo.widgets.Toolbar.setManualTextState(this)" id="place_text_manually_cb" style="margin:0px;"><label class="text_grey" style="margin-left:4px;" for="place_text_manually_cb">Place items manually</label></div></div><div id="tools_table_addtext_filler" style="display:none;">&nbsp;</div></td><td valign="top" id="toolbar_text_tools_2" style="border-right:1px solid #eeeeee;width:150px;padding-top:5px;"><div id="tools_table_captions_filler">&nbsp;</div><div id="tools_table_captions"><input onclick="Tabblo.editor.Captions.toggle(Tabblo.editor.storyID)" id="photo_captions_check" style="margin:0px;" type="checkbox"/><label for="photo_captions_check">Photo captions</label></div><div id="tools_title_holder" style="display:none;text-align:left;line-height:22px;position:relative;top:-10px;"><input type="checkbox" id="display_title" style="margin:0px 5px 0px 0px;"/><label for="display_title">Show title:</label><br/><input type="text" id="tools_title_input" class="tool_field" value=""/></div></td><td valign="middle" id="toolbar_title_tools_1" style="border-right:1px solid #eeeeee;width:100px;padding:5px;"><div id="tools_default_title" style="display:none;text-align:center;line-height:22px;position:relative;top:-10px;"><a href="javascript:void(0);" onclick="Tabblo.editor.StoryTitle.resetToDefault()">Reset default<br/>title</a></div></td><td valign="top" id="toolbar_freeform_tools_1" style="border-right:1px solid #eeeeee;width:200px;padding-top:5px;"><div id="tools_table_freeform_filler">&nbsp;</div><div id="tools_table_freeform"><input onclick="Tabblo.widgets.Toolbar.toggleLayoutMode()" id="free_form_layout" style="margin:0px;" type="checkbox"/><label for="free_form_layout" title="Manual Mode">Manual Mode</label></div><div id="tools_table_optional_holder">&nbsp;</div></td><td style="border-right:1px solid #eeeeee;padding-left:8px;display:none;"><img src="${MEDIA_URL}/images/toolbar/orientation.gif"/></td><td valign="center" style="width:55px;"><div id="tools_table_undo_filler" style="height:1px;">&nbsp;</div><a href="javascript:Tabblo.editor.doStoryUndo()">Undo</a><br/></td></tr></table></div><div id="photos_palette_holder" type="photos_palette" class="palette"><div id="add_photos_link" style="float:left;margin-left:8px;margin-top:5px;"><a style="font-size:1.1em;" id="toolbar_add_photos_link" href="javascript:if(parseInt(\'${story_id}\') != 0){window.RELOAD_UI=true;};__tcu.showAddPhotos(false, \'${story_id}\', true)">Add photos</a><br/><a style="font-size:1.1em;" href="javascript:Tabblo.widgets.Toolbar.sortByDate()">Sort by date</a><br/><a style="font-size:1.1em;" href="javascript:Tabblo.widgets.Toolbar.removeUnusedPhotos()">Remove unused</a><div style="margin-top:2px;"><input onclick="Tabblo.widgets.Toolbar.toggleUsedPhotos()" type="checkbox" style="margin:0px;" id="hide_used_cb"/><label showing="1" id="hide_used_label" style="font-size:1.1em;" for="hide_used_cb">Hide used</label></div></div><div id="parent_lb" style="float:right;overflow:auto;position:relative;width:85%;height:80px;"><div id="lightbox_Ernst" style="text-align:left;width:6000px;" notdraggable="true" class="lightboxyThing" down_button="moveDownButton" up_button="moveUpButton"></div></div></div><div id="layouts_palette_holder" type="layout_palette" class="palette"><div id="layout_info_holder" style="float:left;margin-left:15px;margin-top:33px;width:100px;"> 								Layout: <span style="font-weight:bold;" id="layout_name_display"></span></div><div id="layout_scroller" class="tabblo_row_scroller" style="width:85%;margin-top:5px;float:right;height:76px;overflow:auto;"><div style="width:6000px;" id="layout_template_holder"></div></div></div><div id="styles_palette_holder" type="style_palette" class="palette"><div id="style_info_holder" style="float:left;margin-left:15px;margin-top:30px;width:100px;"><span id="chosen_style_label">Style</span>: <span style="font-weight:bold;" id="theme_name_display"></span><br/><a style="font-size:1.1em;" id="customize_style_link" href="javascript:Tabblo.widgets.CustomizeStyle.customizeStyle()">Customize style</a></div><div id="theme_scroller" class="tabblo_row_scroller" style="width:85%;margin-top:5px;float:right;height:76px;overflow:auto;"><div style="width:6000px;" id="style_template_holder"></div></div></div><div id="advanced_palette_holder" type="advanced_palette" class="palette" style="width:960px;"><table id="advanced_table" border="0" cellpadding="0" cellspacing="0" width="100%"><tr><th align="center" style="width:400px;">GRID</th><th align="center" style="width:400px;">LAYOUT</th><th style="background-color:#ffffff;">&nbsp;</th></tr><tr><td valign="center" style="border-right:9px solid #eeeeee;"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td class="advanced_choice" type="coarse" align="center" style="border-right:1px solid #eeeeee;"><img align="bottom" src="//cdn.tabblo.com.edgesuite.net/bitty-static/images/editor/grid_wide.gif"/> 													Wide 												</td><td class="advanced_choice" type="medium" align="center" style="border-right:1px solid #eeeeee;"><img align="bottom" src="//cdn.tabblo.com.edgesuite.net/bitty-static/images/editor/grid_medium.gif"/> 													Medium 												</td><td class="advanced_choice" type="fine" align="center"><img align="bottom" src="//cdn.tabblo.com.edgesuite.net/bitty-static/images/editor/grid_fine.gif"/> 													Fine 												</td></tr></table></td><td valign="center" style="border-right:9px solid #eeeeee;"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td class="advanced_layout_choice" type="swap" align="center" style="border-right:1px solid #eeeeee;"><img align="bottom" src="//cdn.tabblo.com.edgesuite.net/bitty-static/images/editor/allow_swap.gif"/> 													Allow swap 												</td><td class="advanced_layout_choice" type="overlap" align="center" style="border-right:1px solid #eeeeee;"><img align="bottom" src="//cdn.tabblo.com.edgesuite.net/bitty-static/images/editor/allow_overlap.gif"/> 													Allow overlap 												</td></tr></table></td><td valign="center" align="left"><ul><li><div id="tools_table_compact_ws" style="text-align:left;"><a href="javascript:Tabblo.widgets.Toolbar.compactWhiteSpace();">Reflow to fit</a></div></ul></td></tr></table></div></div></div>'},cutout_top:{tossContainer:true,innerHTML:"<div id='cutout_top' style='display:none;position:absolute;top:0px;left:0px;width:100%;height:0%;z-index:10000;background-color:#666666;margin:0;padding:0;'></div>"},cutout_left:{tossContainer:true,innerHTML:"<div id='cutout_left' style='display:none;position:absolute;top:0px;left:0px;width:0%;height:100%;z-index:10000;background-color:#666666;margin:0;padding:0;'></div>"},cutout_bottom:{tossContainer:true,innerHTML:"<div id='cutout_bottom' style='display:none;position:absolute;top:0px;left:0px;width:100%;height:0%;z-index:10000;background-color:#666666;margin:0;padding:0;'></div>"},cutout_right:{tossContainer:true,innerHTML:"<div id='cutout_right' style='display:none;position:absolute;top:0px;left:0px;width:0%;height:100%;z-index:10000;background-color:#666666;margin:0;padding:0;'></div>"},cutout_message:{tossContainer:true,innerHTML:"<div id='cutout_message' class='yellow_box' style='display:none;position:absolute;top:0px;left:0px;text-align:left;z-index:100001;'></div>"},action_status_alert:{tossContainer:true,innerHTML:'<div id="action_status_alert" style="position:absolute;display:none;z-index:999999;top:2px;left:0px;height:28px;width:250px;text-align:center;border:1px solid #FF0000;padding:10px;margin:0;background-color:#f4f29d;color:#000000;font-weight:600;font-size:16px;">Loading...</div>'},lightbox_widget:{tossContainer:true,innerHTML:'<div id="lightbox_Ernst" style="position:absolute;top:2px;left:0px;height:${height}px;width:${width}px;"></div>'},text_edit_bar_iframe_blocker:{tossContainer:true,innerHTML:'<iframe src="javascript:false;" id="text_edit_bar_iframe_blocker" style="display:none;z-index:99998;position:absolute;top:0px;left:0px;width:300px;border:0px solid #ffffff;height:155px;"></iframe>'},parcel_holder_generic_one_up:{tossContainer:true,innerHTML:'<div id="${inner_id}" style="position:${position};z-index:auto;width:${width}px;height:${height}px;top:${top}px;left:${left}px;margin-top:${margintop}px;margin-left:${marginleft}px;margin-bottom:${marginbottom}px;margin-right:${marginright}px;padding-top:${paddingtop}px;padding-left:${paddingleft}px;padding-bottom:${paddingbottom}px;padding-right:${paddingright}px;border-top:${bordertop}px;border-left:${borderleft}px;border-bottom:${borderbottom}px;border-right:${borderright}px;border-color:${bordercolor};border-style:${borderstyle};"></div>'},parcel_holder_generic_floating:{tossContainer:true,innerHTML:'<div id="${inner_id}" style="position:${position};width:${width}px;height:${height}px;float:${pos_float};margin-top:${margintop}px;margin-left:${marginleft}px;margin-bottom:${marginbottom}px;margin-right:${marginright}px;padding-top:${paddingtop}px;padding-left:${paddingleft}px;padding-bottom:${paddingbottom}px;padding-right:${paddingright}px;border-top:${bordertop}px;border-left:${borderleft}px;border-bottom:${borderbottom}px;border-right:${borderright}px;border-color:${bordercolor};border-style:${borderstyle};"></div>'},bookeditor_structure_left:{tossContainer:true,innerHTML:'<div id="${id}" style="position:absolute;z-index:auto;top:${top}px;left:${left}px;width:${width}px;height:${height}px;"></div>'},bookeditor_structure_right:{tossContainer:true,innerHTML:'<div id="${id}" style="position:absolute;z-index:auto;top:${top}px;right:${right}px;width:${width}px;height:${height}px;"></div>'},bookeditor_structure_bottom:{tossContainer:true,innerHTML:'<div id="${id}" style="position:absolute;border:1px solid black;z-index:auto;overflow:auto;overflow-y:hidden;padding:5px;bottom:${bottom}px;left:${left}px;width:${width}px;height:${height}px;"></div>'},trough:{tossContainer:true,innerHTML:'<div id="${inner_id}" style="position:${position};top:${top}px;left:${left}px;width:${width}px;height:${height}px;margin-top:${margintop}px;margin-left:${marginleft}px;margin-bottom:${marginbottom}px;margin-right:${marginright}px;padding-top:${paddingtop}px;padding-left:${paddingleft}px;padding-bottom:${paddingbottom}px;padding-right:${paddingright}px;border-top:${bordertop}px;border-left:${borderleft}px;border-bottom:${borderbottom}px;border-right:${borderright}px;border-color:${bordercolor};border-style:${borderstyle};"></div>'},trough_page:{tossContainer:true,innerHTML:'<div id="${outer_id}" style="cursor:pointer;position:${position};float:${pos_float};width:${width}px;height:${height}px;margin-top:${margintop}px;margin-left:${marginleft}px;margin-bottom:${marginbottom}px;margin-right:${marginright}px;padding-top:${paddingtop}px;padding-left:${paddingleft}px;padding-bottom:${paddingbottom}px;padding-right:${paddingright}px;border-top:${bordertop}px;border-left:${borderleft}px;border-bottom:${borderbottom}px;border-right:${borderright}px;border-color:${bordercolor};border-style:${borderstyle};">${payload}<div style="z-index:100002;text-align:center;width:${h}px;height:${h}px;padding:0;color:#001144;font-size:10px;font-weight:800;position:absolute;bottom:${bh}px;left:${_center}px;">${page}</div></div>'},book_trough_blocker:{tossContainer:true,innerHTML:'<div id="book_trough_blocker" style="position:absolute;left:-250px;width:${width}px;height:${height}px;background-color:#eeeeee;">&nbsp;</div>'},page_zero_blocker:{tossContainer:true,innerHTML:'<div id="page_zero_blocker" style="position:absolute;top:0px;left:0px;width:90px;height:90px;border:2px solid black;">&nbsp;</div>'},page_reorder_ui:{tossContainer:true,innerHTML:'<div id="page_reorder_ui" style="position:absolute;width:930px;height:520px;background:#eeeeee;top:-600px;left:-800px;overflow-x:hidden;overflow-y:auto;padding:0px;padding-left:16px;margin:0px;border:2px solid black;z-index:100002;"><div id="top_controls_holder" style="position:relative;width:936px;left:-16px;height:30px;padding:5px;margin:0px;background:#ffffff;"><div class="f_header">Sort pages</div> 				Drag and drop pages to reorder them.  Click Done to save and exit, or Cancel to exit with no changes. 			</div><div id="page_reorder_ui_pages" style="position:absolute;overflow:auto;width:100%;height:440px;background:#ffffff;top:40px;left:0px;padding:0px;margin:0px;z-index:100000;"> 				&nbsp; 			</div><div id="bottom_controls_holder" style="position:absolute;bottom:0px;left:0px;width:936px;height:30px;padding:5px;margin:0px;background:#ffffff;"><center><div id="__pr_ok" style="text-align:center;width:244px;"><div onclick="Tabblo.Editor.Tools.savePageOrder()" style="float:left;width:115px;text-transform:none;" class="tabblo_button" onmouseover="__tcu.asciiHover(this)" onmouseout="__tcu.asciiHover(this)"> 						Done 					</div><div onclick="Tabblo.Editor.Tools.cancelPageOrder()" style="float:left;width:115px;margin-left:10px;text-transform:none;" class="tabblo_button" onmouseover="__tcu.asciiHover(this)" onmouseout="__tcu.asciiHover(this)"> 						Cancel 					</div></div></center></div></div>'},thumbnailOverlay_mogrify:{style:"display:none;position:absolute;top:0px;left:0px;z-index:1000;width:20px;height:20px;",innerHTML:'<img src="${MEDIA_URL}/images/little_red_diamond.gif" title="${DRAG_TO_RESIZE}" style="cursor:move;" id="mogrify_thumbnail_icon" border="0" height="20" width="20" />'},thumbnailOverlay_collapse:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${COLLAPSE}'},onclick:function(){Tabblo.Grid.squash(this)}},thumbnailOverlay_expand:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${EXPAND}'},onclick:function(){Tabblo.Grid.explode(this);}},thumbnailOverlay_largeremove_picture:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${REMOVE_PICTURE}'},onclick:function(){Tabblo.Grid.removeFromStory(this)}},thumbnailOverlay_moldify_picture:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${REMOVE_PICTURE}'},onclick:function(){Tabblo.Grid.moldifyImage(this);}},thumbnailOverlay_largeremove_textblock:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${REMOVE_TEXT_BLOCK}'},onclick:function(){Tabblo.Grid.removeFromStory(this)}},thumbnailOverlay_largeremove_mold:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${REMOVE_PHOTO_HOLDER}'},onclick:function(){Tabblo.Grid.removeFromStory(this);}},thumbnailOverlay_rotate:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${ROTATE_PHOTO}'},onclick:function(){Tabblo.Grid.showRotateChoices(this)}},thumbnailOverlay_crop:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${PAN_AND_ZOOM}'},onclick:function(){Tabblo.Grid.crop(this);}},thumbnailOverlay_effects:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${SHOW_EFFECTS}'},onclick:function(){Tabblo.Grid.showEffectsChoices(this)}},thumbnailOverlay_orientation:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${CHANGE_ORIENTATION}'},onclick:function(){Tabblo.Grid.changeOrientation(this);}},thumbnailOverlay_compedit:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${EDIT_COMPONENT}'},onclick:function(){editComponent(this)}},thumbnailOverlay_balloon:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${ADD_COMIC_BALLOON}'},onclick:function(){Tabblo.editor.showBalloons(this);}},thumbnailOverlay_text:{className:'overlay_icon',innerHTML:'&nbsp;',attributes:{title:'${ADD_TEXT_BLOCK}'},onclick:function(){exec('text',this)}},thumbnailOverlay_info:{style:"display:none;position:absolute;top:0px;left:0px;z-index:1000;width:12px;height:12px;",innerHTML:'<img src="${MEDIA_URL}/images/info.gif" title="${INFORMATION}" style="cursor:pointer;" onmouseover="hover(this)" onmouseout="hover(this)" id="info_thumbnail_icon" onclick="exec(\'info\',$(\'thumbnailOverlay_info\'))" border="0"/>'},thumbnailOverlay_mag:{style:"display:none;position:absolute;top:0px;left:0px;z-index:1000;width:12px;height:12px;",innerHTML:'<img src="${MEDIA_URL}/images/magnify.gif" title="${ZOOM_IN}" style="cursor:pointer;" onmouseover="hover(this)" onmouseout="hover(this)" id="mag_thumbnail_icon" onclick="exec(\'full\',$(\'thumbnailOverlay_mag\'))" border="0"/>'},thumbnailOverlay_rem:{style:"display:none;position:absolute;top:0px;left:0px;z-index:1000;width:12px;height:12px;",innerHTML:'<img src="${MEDIA_URL}/images/remove.gif" onmouseover="hover(this)" onmouseout="hover(this)" style="cursor:pointer;" id="remove_thumbnail_icon" onclick="exec(\'rem\',$(\'thumbnailOverlay_rem\'))" border="0"/>'},thumbnailOverlay_shelf:{style:"display:none;position:absolute;top:0px;left:0px;z-index:999;width:27px;height:75px;background-color:#262626;",innerHTML:'&nbsp;',opacity:60},thumbnailOverlay_tag:{style:"display:none;position:absolute;top:0px;left:0px;z-index:1000;width:12px;height:14px;",innerHTML:'<img src="${MEDIA_URL}/images/tag.gif" title="${TAG_THIS_PHOTO}" onmouseover="hover(this)" onmouseout="hover(this)" style="cursor:pointer;" id="tag_thumbnail_icon" onclick="exec(\'tag\',$(\'thumbnailOverlay_tag\'))" border="0"/>'},thumbnailOverlay_zoom:{style:"display:none;position:absolute;top:0px;left:0px;z-index:1000;width:12px;height:12px;",innerHTML:'<img src="${MEDIA_URL}/images/magnify.gif" title="${ZOOM_IN}" style="cursor:pointer;" onmouseover="hover(this)" onmouseout="hover(this)" id="zoom_thumbnail_icon" border="0"/>'},change_layouts_ui:{tossContainer:true,innerHTML:'<div id="layout_div" style="display:none;z-index:100000;position:absolute;height:415px;padding:2px;background-color:#ffffff;border:1px solid #000000;"><div style="position:relative;text-align:left;height:410px;width:466px;"><div class="b_header" style="padding-left:4px;">${CHOOSE_LAYOUT} <span id="layout_for_side"></span>:</div><div id="layouts" style="overflow:auto;text-align:left;height:370px;width:466px;border-top:1px solid #cccccc;border-bottom:1px solid #cccccc;"></div><div style="text-align:right;padding-right:4px;padding-top:4px;"><button class="ok_cancel" onclick="Tabblo.Editor.closeLayout()">${CANCEL}</button></div></div></div>'},formbuilder:{tossContainer:true,innerHTML:'<div id="formbuilder" class="formbuilder_top"><div id="tlc_closer" title="close" style="position:absolute;top:0px;left:0px;height:10px;width:9px;background:#000000;color:#ffffff;font-size:8px;font-face:Verdana;font-weight:800;padding:1px;padding-top:0px;cursor:pointer;" onclick="$(\'formbuilder\').style.display=\'none\';">X</div><div id="tlc_popout" title="pop out window" style="position:absolute;top:0px;left:10px;height:10px;width:9px;background:#000000;color:#ffffff;font-size:8px;font-face:Verdana;font-weight:800;padding:1px;padding-top:0px;cursor:pointer;" onclick="Tabblo.editor.Template.popout();">O</div><p style="color:black;font-size:20px;padding-bottom:5px;padding-top:0px;margin-top:0px;">${VLAD}</p><form name="tform" id="tform" method="POST"><div id="formbuilder_inner"></div><p><input type="button" onclick="Tabblo.editor.Template.save()" value="Save" /><input type="button" onclick="Tabblo.editor.Template.reset()" value="Reset" /></p></form></div>'},upload_holder:{tossContainer:true,innerHTML:'<div id="upload_holder" style="z-index:11;display:none;position:absolute;overflow:hidden;cursor:pointer;"><div id="upload_label" style="display:none;position:absolute;z-index=0;cursor:pointer;">Click to add a photo</div><div id="upload_form_holder" style="position:relative;width:400px;left:-5000px;cursor:pointer;"><form method="POST" id="mold_upload" enctype="multipart/form-data"><input id="file_button" type="file" onchange="if(!Tabblo.core.utils.validateImage(this)){return void(0);}else{Tabblo.upload.simple.submit();};" name="filename" style="cursor:pointer;font-size:400px;opacity:0;filter:alpha(opacity: 0);"><input type="hidden" id="mold_id" name=\'moldid\' value=""></form></div></div>'}});
/* tabblo/core/utils.js */

Tabblo.add_namespace("Tabblo.core.utils",{badCharacters:"@%/ #:&=~`!$^*()+{}[]|\\\"';?><,",badCharacters_alt:"@%/#:&=~`!$^*()+{}[]|\\\"';?><",domReady:false,domReadyNodeArray:new Array(),nodeTypes:[document.ELEMENT_NODE,document.ATTRIBUTE_NODE,document.TEXT_NODE,document.CDATA_SECTION_NODE,document.ENTITY_REFERENCE_NODE,document.ENTITY_NODE,document.PROCESSING_INSTRUCTION_NODE,document.COMMENT_NODE,document.DOCUMENT_NODE,document.DOCUMENT_TYPE_NODE,document.DOCUMENT_FRAGMENT_NODE,document.NOTATION_NODE],isColor:function(str)
{return new YAHOO.util.ColorAnim(null).parseColor(str);},isImage:function(str)
{var lastDot=str.lastIndexOf('.');var extension=str.substring(lastDot+1).toLowerCase();if((extension=='jpg')||(extension=='jpeg')||(extension=='gif')||(extension=='png'))
{return true;}
return false;},validateImage:function(fileObj)
{var filename=fileObj.value;if(!Tabblo.core.utils.isImage(filename))
{alert('Only images (jpg, gif, png) can be uploaded using this form.  Please select an image file.');if(isIE)
{var thing=fileObj.id;var origh=fileObj.outerHTML;origh.replace(/value=\".*\"/,'value=""');Element.remove($(thing));var num=thing.substring(thing.lastIndexOf('_')+1);if($('file_n_'+num))
{$('file_n_'+num).innerHTML=num+'. '+origh;}}
else
{fileObj.value=null;}
return false;}
return true;},isDOMThing:function(proposed)
{if(proposed)
{return((proposed.nodeType&&(__tcu.nodeTypes.indexOf(proposed.nodeType)!=-1||proposed.nodeType==1)||proposed instanceof jQuery||(window.HTMLElement&&proposed instanceof window.HTMLElement)||proposed==window));}
return false;},getFixedPosition:function(id)
{var YA=YAHOO;YA.Dom=YA.util.Dom;id=$(id); var S=[document.body.offsetWidth,__tcu.getScreenDimensions()[1]]; var T=parseInt(id.style.top);var L=parseInt(id.style.left);var B=parseInt(id.style.bottom);var R=parseInt(id.style.right);if(isNaN(T)&&isNaN(B))
{ T=parseInt(YA.Dom.getStyle(id,"top"));B=null;}
if(isNaN(L)&&isNaN(R))
{ L=parseInt(YA.Dom.getStyle(id,"left"));R=null;}
var W=__tcu.getOuterWidth(id);var H=__tcu.getOuterHeight(id);var X=0;var Y=0;var SL=jQuery(window).scrollLeft();var ST=jQuery(window).scrollTop();if(!isNaN(T)&&(T!=null))
{Y=T+ST;}
else
{ Y=(S[1]-B)+ST-H;}
if(!isNaN(L)&&(L!=null))
{X=L+SL;}
else
{ X=(S[0]-R)+SL-W;}
return[X,Y];},getXY:function()
{var patterns={HYPHEN:/(-[a-z])/i, ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var Y=YAHOO;Y.Dom=Y.util.Dom;if(document.documentElement.getBoundingClientRect)
{return function(el)
{var id;if(typeof el=="string")
{id=el;el=$(id);}
else
{id=el.id;}
if(Y.Dom.getStyle(id,"position")=="fixed")
{return __tcu.getFixedPosition(id);}
var box=el.getBoundingClientRect();var rootNode=el.ownerDocument;return[Math.round(box.left+Y.Dom.getDocumentScrollLeft(rootNode)),Math.round(box.top+Y.Dom.getDocumentScrollTop(rootNode))];};}
else
{return function(el)
{var id;if(typeof el=="string")
{id=el;el=$(id);}
else
{id=el.id;}
if(Y.Dom.getStyle(id,"position")=="fixed")
{return __tcu.getFixedPosition(id);} 
var pos=[el.offsetLeft,el.offsetTop];var parentNode=el.offsetParent; var accountForBody=(isSafari&&(Y.Dom.getStyle(el,'position')=='absolute')&&(el.offsetParent==el.ownerDocument.body));if(parentNode!=el)
{while(parentNode)
{pos[0]+=parentNode.offsetLeft;pos[1]+=parentNode.offsetTop;var x=parseInt(Y.Dom.getStyle(parentNode,"borderLeftWidth"));var y=parseInt(Y.Dom.getStyle(parentNode,"borderTopWidth"));if(!isNaN(x))
{pos[0]+=x;}
if(!isNaN(y))
{pos[1]+=y;}
if(!accountForBody&&isSafari&&Y.Dom.getStyle(parentNode,'position')=='absolute')
{accountForBody=true;}
parentNode=parentNode.offsetParent;}}
if(accountForBody)
{ pos[0]-=el.ownerDocument.body.offsetLeft;pos[1]-=el.ownerDocument.body.offsetTop;}
parentNode=el.parentNode; while(parentNode&&parentNode.tagName&&!patterns.ROOT_TAG.test(parentNode.tagName))
{if(parentNode.scrollTop||parentNode.scrollLeft)
{if(!patterns.OP_SCROLL.test(Y.Dom.getStyle(parentNode,'display')))
{if(!isOpera||Y.Dom.getStyle(parentNode,'overflow')!=='visible')
{ pos[0]-=parentNode.scrollLeft;pos[1]-=parentNode.scrollTop;}}}
parentNode=parentNode.parentNode;}
return pos;};}}(), unload:function()
{__tcu.domReadyNodeArray=null;},capFirst:function(str)
{var str1=str.substr(0,1);var str2=str.substr(1);return str1.toUpperCase()+str2.toLowerCase();},contactUs:function(add_info)
{var vw=YAHOO.util.Dom.getViewportWidth();var vh=YAHOO.util.Dom.getViewportHeight();var h=location.href;h=h.substring(h.indexOf("/studio"));location="/studio/help/contact?ref="+escape(h+"<br/>UID: "+self.sysID+"<br/>UN: "+self.sysUN+"<br/>DIM: "+vw+" x "+vh+"<br/>UA: "+navigator.userAgent+(add_info?"<br/>Additional Info: "+add_info:""));},IE_TIMEOUT_CONSTANT:500,F_LIST:[],whenDomReady:function(callback)
{if(isIE)
{YAHOO.util.Event.onDOMReady(function(){setTimeout(callback,Tabblo.core.utils.IE_TIMEOUT_CONSTANT);});}
else
{YAHOO.util.Event.onDOMReady(callback);}},setDomReady:function()
{__tcu.domReady=true;for(var i=0;i<__tcu.domReadyNodeArray.length;i++)
{__tcu.repatriate(__tcu.domReadyNodeArray[i][0]);if(__tcu.domReadyNodeArray[i][1])
{__tcu.domReadyNodeArray[i][1]();}
__tcu.domReadyNodeArray[i]=null;}
__tcu.domReadyNodeArray=new Array();},repatriate:function(el)
{if(el)
{document.body.appendChild(el);}},enableEnterKey:function(obj,func)
{jQuery(obj).keypress(function(e){if(e.which==13){func();}});},setAllOpacity:function()
{var divs=$$('div[opacity], td[opacity]');for(var i=0;i<divs.length;i++)
{var d=divs[i];var set=d.getAttribute("setOpacity");if(set=="true")
{continue;}
var opacity=d.getAttribute("opacity");if((opacity!="")&&(opacity!=null))
{__tcu.setObjectOpacity(d,opacity);}
d.setAttribute("setOpacity","true");}
divs=null;},hover:function(obj)
{var source=obj.src;if(obj.getAttribute("hovering")=="no")
{return;}
if(source.indexOf("_over")!=-1)
{source=source.replace("_over.gif",".gif");source=source.replace("_over.png",".png");}
else
{source=source.replace(".gif","_over.gif");source=source.replace(".png","_over.png");}
obj.src=source;},setObjectOpacity:function(obj,op)
{if(op!=null&&op!="")
{if(isIE)
{obj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+op+")";}
else if(isSafari)
{op=(op==100)?1.0:parseFloat("0."+op);obj.style.opacity=parseFloat(op);}
else
{op=(op==100)?1.0:parseFloat("0."+op);obj.style.MozOpacity=parseFloat(op);}}},isOverallVisible:function(elementRef)
{if(elementRef&&elementRef.style&&((elementRef.style.visibility=="hidden")||(elementRef.style.display=="none")))
{return false;}
else
{if(!elementRef||!elementRef.style)
{return true;}
return __tcu.isOverallVisible(elementRef.parentNode);}},findPos:function(obj)
{var curleft=0;var curtop=0;if(obj.offsetParent)
{curleft=obj.offsetLeft;curtop=obj.offsetTop;while(obj=obj.offsetParent)
{curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}}
return[curleft,curtop];},serializeList:function(obj,tag_name,attr,delim)
{var list="";if(!delim){delim=",";}
if(!tag_name){tag_name="";}
if(!attr){attr="id";}
obj=jQuery(obj).find(tag_name);for(var i=0,j=obj.length;i<j;i++){list+=obj[i].getAttribute(attr)+((i<(j-1))?delim:"");}
return list;},validateEmailAddress:function(val)
{var reg=/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z][a-zA-Z]+|[0-9]{1,3})(\]?)$/;if(!reg.test(val))
{return false;}
return true;},getCssClass:function(objRef)
{return objRef.className;},setCssClass:function(objRef,className)
{objRef.className=className;},getScreenDimensions:function()
{var use_de=false;if(isIE){if(document.documentElement&&document.documentElement.clientHeight!=0){use_de=true;}}
var x=(isIE)?(use_de?document.documentElement.clientWidth:document.body.clientWidth):self.innerWidth;var y=(isIE)?(use_de?document.documentElement.clientHeight:document.body.clientHeight):self.innerHeight;return[x,y];},filterOutId:function(oldHash,badId)
{oldHash[badId]=null;return oldHash;},filterOutIdArray:function(oldArray,badId)
{for(var i=0;i<oldArray.length;i++)
{if(oldArray[i])
{if(oldArray[i].id==badId)
{oldArray[i]=null;}}}
return oldArray;},cssPropLookup:function(element,styleProp){if(typeof element=='string'){element=document.getElementById(element);}
if(element.style[styleProp]){ return element.style[styleProp];}
else if(element.currentStyle){ return element.currentStyle[styleProp];}
else if(document.defaultView&&document.defaultView.getComputedStyle){styleProp=styleProp.replace(/([A-Z])/g,"-$1");styleProp=styleProp.toLowerCase();return document.defaultView.getComputedStyle(element,"").getPropertyValue(styleProp);}
else{return null;}},between:function(a,b,c)
{if((a>=b)&&(a<=c))
{return true;}
return false;},findQueryParam:function(url,param)
{if((url==null)||(param==null))
{return null;}
var qm=url.indexOf("?");if(qm==-1)
{return null;}
return __tcu._findParam(url.substring(qm+1),param);},findPostParam:function(params,param)
{if((params!=null)&&(param!=null))
{return __tcu._findParam(params.replace(/^\?*/,""),param);}
return null;},_findParam:function(params,param)
{var pa=params.split("&");var p=null;for(var i=0;i<pa.length;i++)
{p=pa[i];if(p.indexOf(param)!=-1)
{return p.substring(p.indexOf("=")+1);}}
return null;},removeQueryParam:function(url,param)
{if(url==null)
{return null;}
var qm=url.indexOf("?");if(qm==-1)
{return url;}
var root=url.substring(0,qm);var newqs=__tcu._removeParam(url.substring(qm+1),param);return(root+((newqs!="")?"?":"")+newqs);},_removeParam:function(params,param)
{var pa=params.split("&");var newparams="";for(var i=0;i<pa.length;i++)
{var list=pa[i].split('=');var localname=list[0];var localvalue=list[1];if(localname)
{if(param!=localname)
{if(newparams!="")newparams+='&';newparams+=localname+'=';newparams+=localvalue;}}}
return newparams;},replaceQueryParam:function(url,param,value)
{if(url==null)
{if(param==null)
{return null;}
else
{return'?'+param+'='+value;}}
var qm=url.indexOf("?");if(qm==-1)
{return url+((param==null)?"":('?'+param+'='+value));}
var root=url.substring(0,qm);var newqs=__tcu._replaceParam(url.substring(qm+1),param,value);return(root+"?"+newqs);},replacePostParam:function(params,param,value)
{if(params==null)
{if(param==null)
{return null;}
else
{return param+'='+value;}}
return __tcu._replaceParam(params.replace(/^\?*/,""),param,value);},_replaceParam:function(params,param,value)
{var pa=params.split("&");var newparams="";var replaced=false;for(var i=0;i<pa.length;i++)
{var list=pa[i].split('=');var localname=list[0];var localvalue=list[1];if(localname)
{if(newparams!="")newparams+='&';newparams+=localname+'=';if(param==localname)
{newparams+=value;replaced=true;}
else if(typeof localvalue!="undefined")
{newparams+=localvalue;}}}
if(!replaced&&param!=null)
{if(newparams!="")newparams+='&';newparams+=param+'=';newparams+=value;}
return newparams;},conjoinParams:function(parsArray)
{if((parsArray instanceof Array)&&(parsArray.length>0))
{var output='';var escape_utf8=__tcu.escape_utf8;for(var i=0;i<parsArray.length;i+=2)
{if((__tcu.isNonNullDefined(parsArray[i]))&&(__tcu.isNonNullDefined(parsArray[i+1]))&&(parsArray[i+1]!=''))
{output+=parsArray[i]+'='+escape_utf8(parsArray[i+1])+'&';}}
return output.substring(0,output.length-1);}
else
{return'';}},updateImageUrlDim:function(url,w,h)
{var newurl=url;if(url.indexOf("fit=")!=-1)
{var newfit=w+"x"+h;newurl=__tcu.replaceQueryParam(url,"fit",newfit);}
else if(url.indexOf("setb=")!=-1)
{var newsetb=w+"x"+h;newurl=__tcu.replaceQueryParam(url,"setb",newsetb);}
return newurl;},getOuterWidth:function(element_id,for_position)
{var el=(typeof element_id=="string")?$(element_id):element_id;var w=this.getWidth(el);if((!el.style.width||(el.style.width.indexOf('%')>-1)||(el.style.width.indexOf('auto')>-1))&&!el.width){return w;}
var tmp;var pl=YAHOO.util.Dom.getStyle(el,'paddingLeft');var pr=YAHOO.util.Dom.getStyle(el,'paddingRight');var ml=for_position?0:YAHOO.util.Dom.getStyle(el,'marginLeft'); var mr=for_position?0:YAHOO.util.Dom.getStyle(el,'marginRight');var bl=YAHOO.util.Dom.getStyle(el,'borderLeftWidth');var br=YAHOO.util.Dom.getStyle(el,'borderRightWidth');var p=(isNaN(tmp=parseInt(pl))?0:tmp)+(isNaN(tmp=parseInt(pr))?0:tmp);var m=(isNaN(tmp=parseInt(ml))?0:tmp)+(isNaN(tmp=parseInt(mr))?0:tmp);var b=(isNaN(tmp=parseInt(bl))?0:tmp)+(isNaN(tmp=parseInt(br))?0:tmp);return w+p+m+b;},getOuterHeight:function(element_id,for_position)
{var el=(typeof element_id=="string")?$(element_id):element_id;var h=this.getHeight(el);if((!el.style.height||(el.style.height.indexOf('%')>-1))&&!el.height){return h;}
var tmp;var pt=YAHOO.util.Dom.getStyle(el,'paddingTop');var pb=YAHOO.util.Dom.getStyle(el,'paddingBottom');var mt=for_position?0:YAHOO.util.Dom.getStyle(el,'marginTop'); var mb=for_position?0:YAHOO.util.Dom.getStyle(el,'marginBottom');var bt=YAHOO.util.Dom.getStyle(el,'borderTopWidth');var bb=YAHOO.util.Dom.getStyle(el,'borderBottomWidth');var p=(isNaN(tmp=parseInt(pt))?0:tmp)+(isNaN(tmp=parseInt(pb))?0:tmp);var m=(isNaN(tmp=parseInt(mt))?0:tmp)+(isNaN(tmp=parseInt(mb))?0:tmp);var b=(isNaN(tmp=parseInt(bt))?0:tmp)+(isNaN(tmp=parseInt(bb))?0:tmp);return h+p+m+b;},getWidth:function(element)
{if(!element){return 0;}
if(element.style.width)
{if((element.style.width.indexOf('%')>-1)||(element.style.width.indexOf('auto')>-1))
{return jQuery(element).outerWidth();}
else
{return parseInt(element.style.width);}}
else if(element.width)
{return parseInt(element.width);}
else
{return element.offsetWidth;}},getHeight:function(element)
{if(!element){return 0;}
if(element.style.height)
{if(element.style.height.indexOf('%')>-1)
{return jQuery(element).outerHeight();}
else
{return parseInt(element.style.height);}}
else if(element.height)
{return parseInt(element.height);}
else
{return element.offsetHeight;}},getEvt:function(evt)
{return(evt)?evt:((event)?event:null);},getTarget:function(evt)
{return(evt.target)?evt.target:evt.srcElement;},getDestination:function(evt)
{var relTarg=false;if(!evt)evt=window.event;if(evt.relatedTarget)relTarg=evt.relatedTarget;else if(evt.toElement)relTarg=evt.toElement;return relTarg;},instanceOf:function(object,constructorFunction)
{while(object!=null)
{if(object==constructorFunction.prototype)
{return true;}
object=object.__proto__;}
return false;},hasBadCharacters:function(user,isAlt)
{for(var i=0;i<user.length;i++)
{if(isAlt)
{if(__tcu.badCharacters_alt.indexOf(user.charAt(i))!=-1)
{return true;}}
else
{if(__tcu.badCharacters.indexOf(user.charAt(i))!=-1)
{return true;}}}
return false;},getBadCharacters:function(isAlt)
{if(isAlt)
{return __tcu.badCharacters;}
else
{return __tcu.badCharacters+"<br/>[space]";}},setCookie:function(name,value,expires,path,domain,secure)
{ var today=new Date();today.setTime(today.getTime());if(expires)
{expires=expires*1000*60*60*24;}
var expires_date=new Date(today.getTime()+(expires));document.cookie=name+"="+escape(value)+((expires)?";expires="+expires_date.toGMTString():"")+((path)?";path="+path:"")+((domain)?";domain="+domain:"")+((secure)?";secure":"");},getCookie:function(name)
{var start=document.cookie.indexOf(name+"=");var len=start+name.length+1;if((!start)&&(name!=document.cookie.substring(0,name.length)))
{return null;}
if(start==-1)return null;var end=document.cookie.indexOf(";",len);if(end==-1)end=document.cookie.length;return unescape(document.cookie.substring(len,end));},deleteCookie:function(name,path,domain)
{if(__tcu.getCookie(name))
{__tcu.setCookie(name,"",-999,path,domain,"");}},bestStringRepresentation:function(thingie)
{if(typeof(thingie)=='function')
{var foo='';try
{foo=thingie.toString().substring(8,44);foo+=thingie.toString().substring(64,80);}
catch(e)
{}
return foo;}
else if(typeof(thingie)=='string')
{return thingie;}
else if(typeof(thingie)=='number')
{return thingie;}
else if(typeof(thingie)=='object')
{try
{if(thingie==null)
{return'null';}
if(thingie.id)
{return thingie.id;}
else if(thingie.name)
{return thingie.name;}
else if(thingie.src)
{return thingie.src;}
else if(thingie.value)
{return thingie.value;}
else
{return thingie.toString();}}
catch(e)
{return thingie;}}
else if(typeof(thingie)=='undefined')
{return'undef';}
else
{return'unknown';}},arrayHasValue:function(arrayref,val)
{for(var i=0;i<arrayref.length;i++)
{if(arrayref[i]==val)
{return true;}}
return false;},escape_utf8:function(data)
{if(data==''||data==null||typeof data!="string")
{return data;}
var buffer='';for(var i=0;i<data.length;i++)
{var c=data.charCodeAt(i);var bs=new Array();if(c>=0x80)
{if(c>=0x10000)
{ bs[0]=0xF0|((c&0x1C0000)>>>18);bs[1]=0x80|((c&0x3F000)>>>12);bs[2]=0x80|((c&0xFC0)>>>6);bs[3]=0x80|(c&0x3F);}
else if(c>=0x800)
{ bs[0]=0xE0|((c&0xF000)>>>12);bs[1]=0x80|((c&0xFC0)>>>6);bs[2]=0x80|(c&0x3F);}
else
{ bs[0]=0xC0|((c&0x7C0)>>>6);bs[1]=0x80|(c&0x3F);}
for(var j=0;j<bs.length;j++)
{var b=bs[j];var hex=__tcu.nibble_to_hex((b&0xF0)>>>4)+__tcu.nibble_to_hex(b&0x0F);buffer+='%'+hex;}}
else
{ buffer=buffer+encodeURIComponent(data.charAt(i));}}
return buffer;},nibble_to_hex:function(nibble)
{var chars='0123456789ABCDEF';return chars.charAt(nibble);},isNonNullDefined:function(val)
{if((typeof(val)!=='undefined')&&(val!=null))
{return true;}
return false;},setItemCentered:function(thediv,moveItVisibly,fixed_top,fixed_left)
{if(thediv)
{var oldvis=thediv.style.visibility;var olddis=thediv.style.display;thediv.style.visibility="hidden";thediv.style.display="";var st=document.body.scrollTop;if(document.documentElement)
{st+=document.documentElement.scrollTop;}
var S=__tcu.getScreenDimensions();var L=Math.round(S[0]/2);var T=Math.round(S[1]/2)+st;var divDimensions=Element.getDimensions(thediv);if((divDimensions.width==0)&&(divDimensions.height==0))
{divDimensions.height=parseInt(thediv.style.height);divDimensions.width=parseInt(thediv.style.width);}
L=L-Math.round(divDimensions.width/2);T=T-Math.round(divDimensions.height/2); if(fixed_top)
{T=fixed_top;}
if(fixed_left)
{L=fixed_left;}
if(moveItVisibly)
{Tabblo.core.effects.Simple_MoveBy(thediv,(L-parseInt(thediv.style.left)),(T-parseInt(thediv.style.top)),1.0);}
else
{YAHOO.util.Dom.setXY(thediv,[L,T]);}
thediv.style.display=olddis;thediv.style.visibility=oldvis;}},sizePositionMimic:function(mimicee,mimicer,includePadding)
{ mimicer.style.display="";mimicer.style.visibility="visible";var pos=__tcu.getXY(mimicee);var wid=__tcu.getWidth(mimicee);var hei=__tcu.getHeight(mimicee);var pw=0;var ph=0;if(includePadding)
{var l=parseInt(mimicee.style.paddingLeft)||0;var r=parseInt(mimicee.style.paddingRight)||0;var t=parseInt(mimicee.style.paddingTop)||0;var b=parseInt(mimicee.style.paddingBottom)||0;pw=l+r;ph=t+b;}
mimicer.style.width=(parseInt(wid)+pw)+"px";mimicer.style.height=(parseInt(hei)+ph)+"px";YAHOO.util.Dom.setXY(mimicer,pos);},appearCentered:function(thediv,optcallback,fixed_top,fixed_left)
{if(thediv)
{__tcu.setItemCentered(thediv,null,fixed_top,fixed_left);Tabblo.core.effects.Simple_Appear(thediv,.2,null,optcallback);if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}},applyCssString:function(cssString)
{var selectorReferenceObj=__tcu.parseCssString(cssString);for(var selectorIndex in selectorReferenceObj)
{var selectedDom=$$(selectorIndex);var applys=selectorReferenceObj[selectorIndex];for(var i=0;i<selectedDom.length;i++)
{var domEle=selectedDom[i];for(var j=0;j<applys.length;j++)
{var thisapply=applys[j];var prop=thisapply[0];var valu=thisapply[1];try
{YAHOO.util.Dom.setStyle(domEle,prop,valu);}
catch(e)
{Tabblo.core.debugging.printStack_always(e,'applyCssString');}}}}},parseCssString:function(cssString)
{var returnObj={};var origCss=new String(cssString); cssString=cssString.replace(/\/\*.*\*\//,'');cssString=cssString.replace(/^\/\/.*$/,'');cssString=cssString.replace(/(?:[^:(/])\/\/.*$/,''); cssString=cssString.replace(/\n/g,';'); cssString=cssString.replace(/;;/g,';');while(cssString)
{ var indx=cssString.indexOf('{');var selector=cssString.substring(0,indx);var indx2=cssString.indexOf('}');var attrs=cssString.substring(indx+1,indx2);selector=selector.replace(/^\s*/,'');selector=selector.replace(/\s*$/,'');selector=selector.replace(/;+$/,'');if(selector)
{returnObj[selector]=[];var attrsArr=attrs.split(';');for(var k=0;k<attrsArr.length;k++)
{var attrVal=attrsArr[k]; attrVal=attrVal.replace(/^\s*/,'');attrVal=attrVal.replace(/\s*$/,'');if(attrVal)
{attrVal=attrVal.split(':');var attrName=attrVal[0];attrVal=attrVal[1];attrName=attrName.replace(/^\s*/,'');attrName=attrName.replace(/\s*$/,'');attrVal=attrVal.replace(/^\s*/,'');attrVal=attrVal.replace(/\s*$/,'');attrVal=attrVal.replace(/;/g,'');if(attrName)
{returnObj[selector].push([attrName,attrVal]);}}}} 
cssString=cssString.substring(indx2+1);cssString=cssString.replace(/^;+/,''); cssString=cssString.replace(/^\s+/,'');}
return returnObj;}
});Tabblo.utils=Tabblo.core.utils;var __tcu=Tabblo.utils;try
{__tcu.whenDomReady(__tcu.setDomReady);}catch(e){__tcu.domReady=true;}
YAHOO.util.Event.addListener(window,"unload",__tcu.unload);String.prototype.toCapitalCase=function(){var re=/\s/;var words=this.split(re);re=/(\S)(\S+)/;for(i=words.length-1;i>=0;i--){re.exec(words[i]);words[i]=RegExp.$1.toUpperCase()+RegExp.$2.toLowerCase();}
return words.join(' ');};document.getElementsByAttribute=function(attribute,value,tagName,parentElement){var children=($(parentElement)||document.body).getElementsByTagName((tagName||'*'));return $A(children).inject([],function(elements,child){var attributeValue=child.getAttribute(attribute);if(attributeValue!=null){if(!value||attributeValue==value){elements.push(child);}}
return elements;});};document.getElementsByAttributeAsIdHash=function(attribute,value,tagName,parentElement)
{var children=($(parentElement)||document.body).getElementsByTagName((tagName||'*'));return $A(children).inject({},function(elementObj,valueElement)
{var attributeValue=valueElement.getAttribute(attribute);if(attributeValue!=null)
{if(!value||attributeValue==value)
{var _id=valueElement.getAttribute("id");elementObj[_id]=valueElement;}}
return elementObj;});};if(self.jQuery&&jQuery)
{if(!document.documentElement.outerHTML)
{jQuery.fn.outerHTML=function()
{return jQuery('<div>').append(this.eq(0).clone()).html();};HTMLElement.prototype.__defineGetter__("outerHTML",function()
{var x=jQuery(this);if(x.outerHTML)
{return x.outerHTML();}
return"";});}}
else
{ if(!document.documentElement.outerHTML){Node.prototype.getAttributes=function(){var attStr="";if(this&&this.attributes.length>0){for(var a=0;a<this.attributes.length;a++){attStr+=" "+this.attributes.item(a).nodeName+"=\"";attStr+=this.attributes.item(a).nodeValue+"\"";}}
return attStr;};Node.prototype.getInsideNodes=function(){var cNodesStr="";if(this){var i;var iEmpty=/^(img|embed|input|br|hr)$/i;var cNodes=this.childNodes;for(i=0;i<cNodes.length;i++){switch(cNodes.item(i).nodeType){case 1:cNodesStr+="<"+cNodes.item(i).nodeName.toLowerCase();if(cNodes.item(i).attributes.length>0){cNodesStr+=cNodes.item(i).getAttributes();}
cNodesStr+=(cNodes.item(i).nodeName.match(iEmpty))?"":">";if(cNodes.item(i).childNodes.length>0){cNodesStr+=cNodes.item(i).getInsideNodes();}
if(cNodes.item(i).nodeName.match(iEmpty)){cNodesStr+=" />";}else{cNodesStr+="</"+cNodes.item(i).nodeName.toLowerCase()+">";}
break;case 3:cNodesStr+=cNodes.item(i).nodeValue.escapeHTML();break;case 8:cNodesStr+="<!--"+cNodes.item(i).nodeValue+"-->";break;}}}
return cNodesStr;};HTMLElement.prototype.__defineGetter__("outerHTML",function(){var strOuter="";var cNodesStr="";var iEmpty=/^(img|embed|input|br|hr)$/i;switch(this.nodeType){case 1:strOuter+="<"+this.nodeName.toLowerCase();strOuter+=this.getAttributes();if(this.nodeName.match(iEmpty)){strOuter+=" />";}else{strOuter+=">"+this.getInsideNodes();strOuter+="</"+this.nodeName.toLowerCase()+">";}
break;case 3:strOuter+=this.nodeValue;break;case 8:cNodesStr+="<!--"+this.nodeValue+"-->";break;}
return strOuter;});HTMLElement.prototype.__defineSetter__("outerHTML",function(str){var iRange=document.createRange();iRange.setStartBefore(this);var strFragment=iRange.createContextualFragment(str);var sRangeNode=iRange.startContainer;iRange.insertNode(strFragment);sRangeNode.removeChild(this);});}}
if(!document.ELEMENT_NODE)
{document.ELEMENT_NODE=1;document.ATTRIBUTE_NODE=2;document.TEXT_NODE=3;document.CDATA_SECTION_NODE=4;document.ENTITY_REFERENCE_NODE=5;document.ENTITY_NODE=6;document.PROCESSING_INSTRUCTION_NODE=7;document.COMMENT_NODE=8;document.DOCUMENT_NODE=9;document.DOCUMENT_TYPE_NODE=10;document.DOCUMENT_FRAGMENT_NODE=11;document.NOTATION_NODE=12;}
document._importNode=function(node,allChildren)
{switch(node.nodeType)
{case document.ELEMENT_NODE:var newNode=document.createElement(node.nodeName);if(node.attributes&&node.attributes.length>0)
{for(var i=0,il=node.attributes.length;i<il;)
{newNode.setAttribute(node.attributes[i].nodeName,node.getAttribute(node.attributes[i++].nodeName));}}
if(allChildren&&node.childNodes&&node.childNodes.length>0)
{for(var i=0,il=node.childNodes.length;i<il;)
{newNode.appendChild(document._importNode(node.childNodes[i++],allChildren));}}
return newNode;break;case document.TEXT_NODE:case document.CDATA_SECTION_NODE:case document.COMMENT_NODE:return document.createTextNode(node.nodeValue);break;}
return null;};if(typeof hover=="undefined")
{var hover=__tcu.hover;}
if(typeof trim=="undefined")
{var trim=YAHOO.lang.trim;}
/* tabblo/core/effects.js */
Tabblo.add_namespace("Tabblo.core.effects",{Simple_ScaleSize:function(elementRef_or_id,new_width,new_height,durationSeconds,optCallback)
{var obj;var id;if(typeof elementRef_or_id=="string")
{id=elementRef_or_id;obj=$(id);}
else
{id=elementRef_or_id.id;obj=elementRef_or_id;} 
var nativeHeight=parseInt(obj.getAttribute("origHeight"));return Tabblo.core.effects.CompositeAnimation(id,durationSeconds,optCallback,new_width,new_height);},Simple_ScaleHeightTo:function(scaleTo,elementRef_or_id,durationSeconds,optCallback)
{ var nativeHeight=parseInt($(elementRef_or_id).getAttribute("origHeight"));return Tabblo.core.effects.Simple_ScaleSize(elementRef_or_id,null,parseInt(nativeHeight*scaleTo),durationSeconds,optCallback);},Simple_ScaleUp:function(elementRef_or_id,durationSeconds,optCallback)
{return Tabblo.core.effects.Simple_ScaleHeightTo(1,elementRef_or_id,durationSeconds,optCallback);},Simple_ScaleDown:function(elementRef_or_id,durationSeconds,optCallback)
{return Tabblo.core.effects.Simple_ScaleHeightTo(0,elementRef_or_id,durationSeconds,optCallback);},Simple_Toggle:function(elementRef_or_id,durationSeconds,optCallback)
{var obj;var id;if(typeof elementRef_or_id=="string")
{id=elementRef_or_id;obj=$(id);}
else
{id=elementRef_or_id.id;obj=elementRef_or_id;}
if(obj.visible())
{return Tabblo.core.effects.Simple_BlindUp(elementRef_or_id,durationSeconds,optCallback);}
else
{return Tabblo.core.effects.Simple_BlindDown(elementRef_or_id,durationSeconds,optCallback);}},Simple_BlindUp:function(elementRef_or_id,durationSeconds,optCallback)
{var obj;var id;if(typeof elementRef_or_id=="string")
{id=elementRef_or_id;obj=$(id);}
else
{id=elementRef_or_id.id;obj=elementRef_or_id;}
$(id).makeClipping();Tabblo.core.effects.Simple_ScaleDown(id,durationSeconds,function(id){$(id).hide().undoClipping();}.bind(this,id));},Simple_BlindDown:function(elementRef_or_id,durationSeconds,optCallback)
{var obj;var id;if(typeof elementRef_or_id=="string")
{id=elementRef_or_id;obj=$(id);}
else
{id=elementRef_or_id.id;obj=elementRef_or_id;}
if(!$(id).getAttribute('origHeight'))
{$(id).setAttribute('origHeight',parseInt($(id).getDimensions().height));}
$(id).makeClipping().setStyle({height:'0px'}).show();Tabblo.core.effects.Simple_ScaleUp(id,durationSeconds,function(id){$(id).undoClipping();}.bind(this,id));},Simple_Appear:function(elementRef,durationSeconds,from,optCallback)
{if(!from){from=0.01;}
var attributes={opacity:{from:from,to:1.0}};if(typeof(elementRef)!="string"){elementRef=elementRef.id;}
YAHOO.util.Dom.setStyle(elementRef,'opacity',from);YAHOO.util.Dom.setStyle(elementRef,'visibility','visible');YAHOO.util.Dom.setStyle(elementRef,'display','block');var myAnim=new YAHOO.util.Anim(elementRef,attributes,durationSeconds,YAHOO.util.Easing.easeOut);if(optCallback)
{myAnim.onComplete.subscribe(optCallback);}
myAnim.animate();},Simple_Fade:function(elementRef,durationSeconds,to,optCallback)
{if(typeof(elementRef)!="string")
{elementRef=elementRef.id;}
if($(elementRef).style.display=="none")
{ return;}
YAHOO.util.Dom.setStyle(elementRef,'opacity',1.0);YAHOO.util.Dom.setStyle(elementRef,'visibility','visible');YAHOO.util.Dom.setStyle(elementRef,'display','');if((to==null)||(to<0)){to=0.01;}
var attributes={opacity:{from:1.0,to:to}};var myAnim=new YAHOO.util.Anim(elementRef,attributes,durationSeconds,YAHOO.util.Easing.easeOut);if(optCallback)
{myAnim.onComplete.subscribe(optCallback);}
if(to==0)
{myAnim.onComplete.subscribe(function(){this.getEl().style.display="none";});}
myAnim.animate();},CompositeAnimation:function(elementRef,durationSeconds,optCallback,widthTo,heightTo,fontSizeFrom,fontSizeTo,fontSizeUnit,opacityFrom,opacityTo,pointArray,controlArray)
{if(typeof(elementRef)!="string"){elementRef=elementRef.id;}
var attributes={};if(!isNaN(widthTo)&&(widthTo!=null)){attributes.width={to:widthTo};}
if(!isNaN(heightTo)&&(heightTo!=null)){attributes.height={to:heightTo};}
if(fontSizeFrom){attributes.fontSize={from:fontSizeFrom,to:fontSizeTo,unit:fontSizeUnit};}
if(opacityFrom||opacityTo)
{opacityFrom=opacityFrom||0;opacityTo=opacityTo||0;attributes.opacity={from:opacityFrom,to:opacityTo};}
if(pointArray)
{attributes.points=pointArray;}
if(controlArray)
{attributes.control=controlArray;}
var myAnim=new YAHOO.util.Motion(elementRef,attributes,durationSeconds,YAHOO.util.Easing.easeBoth);myAnim.animate();if(opacityTo==0){myAnim.onComplete.subscribe(function(){this.getEl().style.display="none";});}
else if(optCallback)
{myAnim.onComplete.subscribe(optCallback);}},Simple_MoveBy:function(elementRef,pointx,pointy,durationSeconds,easing,optCallback)
{return Tabblo.core.effects.Simple_MoveTo(elementRef,pointx,pointy,durationSeconds,easing,true,optCallback);},Simple_MoveTo:function(elementRef,pointx,pointy,durationSeconds,easing,useRelativeMotion,optCallback)
{var curpos=useRelativeMotion?[0,0]:__tcu.getXY(elementRef.id);var pointO={by:[pointx-curpos[0],pointy-curpos[1]]};var attributes={points:pointO};if(typeof(elementRef)!="string"){elementRef=elementRef.id;}
var measing=(__tcu.isNonNullDefined(easing))?easing:YAHOO.util.Easing.elasticBoth;var myAnim=new YAHOO.util.Motion(elementRef,attributes,durationSeconds,measing);if(optCallback)
{myAnim.onComplete.subscribe(optCallback);}
myAnim.animate();}});
/* tabblo/core/ui.js */

Tabblo.core.extend(Tabblo.core.utils,{CW_TIMEOUT:null,getEditableRegions:function()
{return $$('div.editable_region');},silenceEditableRegions:function()
{var regions=__tcu.getEditableRegions();for(var i=0;i<regions.length;i++)
{regions[i].style.border="0px solid white";}},speakEditableRegions:function()
{var regions=__tcu.getEditableRegions();for(var i=0;i<regions.length;i++)
{regions[i].style.border="2px dashed green";}},so_first_time:true,spotlightObject:function(targetId,message,title_message,callbackFn)
{var dataDict={};var parentNode=null;__tcu.getDiv("cutout_top",function(){__tcu.getDiv("cutout_left",function(){__tcu.getDiv("cutout_bottom",function(){__tcu.getDiv("cutout_right",function(){__tcu._spotlightObject(targetId,message,title_message,callbackFn);},"cutout_right",parentNode,dataDict);},"cutout_bottom",parentNode,dataDict);},"cutout_left",parentNode,dataDict);},"cutout_top",parentNode,dataDict);},_spotlightObject:function(targetId,message,title_message,callbackFn)
{var t=$("cutout_top");var l=$("cutout_left");var b=$("cutout_bottom");var r=$("cutout_right");var target=$(targetId);var targetPosition=__tcu.getXY(targetId);var targetWidth=__tcu.getOuterWidth(target);var targetHeight=__tcu.getOuterHeight(target);var screenSize=[document.body.offsetWidth,__tcu.getScreenDimensions()[1]];t.style.top="0px";t.style.left="0px";l.style.top=targetPosition[1]+"px";l.style.left="0px";var tpwl=targetPosition[0]+targetWidth;b.style.left="0px";var bh=screenSize[1]-targetPosition[1]-targetHeight;r.style.left=tpwl+"px";t.style.height=targetPosition[1]+"px";t.style.width=screenSize[0]+"px";l.style.width=targetPosition[0]+"px";l.style.height=targetHeight+"px";if(bh<0)
{bh=0;}
b.style.height=bh+"px";b.style.width=screenSize[0]+"px";var tw=screenSize[0]-targetPosition[0]-targetWidth;if(tw<0){tw=0;}
r.style.width=tw+"px";r.style.height=targetHeight+"px";var bth=targetPosition[1]+targetHeight;b.style.top=bth+"px";r.style.top=targetPosition[1]+"px";t.style.display="block";l.style.display="block";b.style.display="block";r.style.display="block";if(__tcu.so_first_time)
{__tcu.so_first_time=false;Tabblo.core.effects.Simple_Fade('cutout_top',0.01,0.85);Tabblo.core.effects.Simple_Fade('cutout_left',0.01,0.85);Tabblo.core.effects.Simple_Fade('cutout_bottom',0.01,0.85);Tabblo.core.effects.Simple_Fade('cutout_right',0.01,0.85);}
if(message)
{__tcu.getDiv('cutout_message',__tcu.showSpotlightMessage.bind(this,message,title_message,targetPosition,targetHeight,targetWidth,callbackFn),'cutout_message',null,{});}
else
{if($('cutout_message'))
{$('cutout_message').innerHTML='';$('cutout_message').style.display='none';}}},showSpotlightMessage:function(message,title_message,targetPosition,targetHeight,targetWidth,callbackFn)
{var margin=5;var myborder=1;var mypadding=5; var c=$('cutout_message');c.style.display="block";var t=targetPosition[1]+targetHeight+margin;var lpos=targetPosition[0];var o=__tcu.getOuterWidth(c);var _lop=lpos+o+2;if(_lop>document.body.offsetWidth)
{lpos-=(_lop-document.body.offsetWidth);}
c.style.left=lpos+"px";message="<div>"+(title_message?"<div style='float:left;top:0px;left:2px;'>"+title_message+"</div>":"")+"<div style='float:right;top:0px;right:2px;'><a href='javascript:__tcu.hideSpotlight()'>close <img src='/bitty-static/images/close_divalog.gif' border='0'/></a></div></div><div style='margin-top:20px;width:200px;'>"+message;if(callbackFn)
{message+="<p style='margin-top:5px;'><a id='spotlight_binder' href='javascript:void(0);' onclick=''>Continue &#xbb;</a></p>";}
message+="</div>";c.innerHTML=message;if((t+jQuery(c).outerHeight()+30)>__tcu.getScreenDimensions()[1])
{t=targetPosition[1]-jQuery(c).outerHeight()-mypadding;}
c.style.top=t+"px";setTimeout(__tcu.spotlightBinder.bind(this,callbackFn),1000);},spotlightBinder:function(callbackFn)
{YAHOO.util.Event.addListener('spotlight_binder','click',callbackFn);},hideSpotlight:function()
{var c=$('cutout_message');var t=$("cutout_top");var l=$("cutout_left");var b=$("cutout_bottom");var r=$("cutout_right");if(c){c.style.display="none";}
if(t){t.style.display="none";}
if(l){l.style.display="none";}
if(b){b.style.display="none";}
if(r){r.style.display="none";}},cancelContextualWarning:function(timeout)
{__tcu.CW_TIMEOUT=setTimeout('$("trivial_message_div").style.display = "none"; __tcu.silenceEditableRegions();',timeout);},showContextualWarning:function(object_id,title,message,direction)
{__tcu.getDiv("trivial_message_div",__tcu._showContextualWarning.bind(Tabblo.core.utils,object_id,title,message,direction));},_showContextualWarning:function(object_id,title,message)
{var pos=__tcu.getXY(object_id);$('trivial_message_div').style.display='';$('trivial_message_div_message').innerHTML='<b>'+title+'</b>: '+message;YAHOO.util.Dom.setXY('trivial_message_div',[pos[0],pos[1]-75]);if(__tcu.CW_TIMEOUT){clearTimeout(__tcu.CW_TIMEOUT);__tcu.CW_TIMEOUT=null;}
__tcu.cancelContextualWarning(4000);__tcu.speakEditableRegions();},showMessage:function(msgType,msgTitle,msgHtml,canCancel,callBack,autoclose,dontLockOverlays,infobubble,abstop,absleft,showAutocloseOk,cancelCallBack,okButtonTxt,cancelButtonTxt)
{__tcu.getDiv("message_div",__tcu._getMessageIframeBlocker.bind(Tabblo.core.utils,msgType,msgTitle,msgHtml,canCancel,callBack,autoclose,dontLockOverlays,infobubble,abstop,absleft,showAutocloseOk,cancelCallBack,okButtonTxt,cancelButtonTxt));},_getMessageIframeBlocker:function(msgType,msgTitle,msgHtml,canCancel,callBack,autoclose,dontLockOverlays,infobubble,abstop,absleft,showAutocloseOk,cancelCallBack,okButtonTxt,cancelButtonTxt)
{if(isMac)
{__tcu.getDiv("message_iframe_blocker",__tcu._showMessage.bind(Tabblo.core.utils,msgType,msgTitle,msgHtml,canCancel,callBack,autoclose,dontLockOverlays,infobubble,abstop,absleft,showAutocloseOk,cancelCallBack,okButtonTxt,cancelButtonTxt));}
else
{__tcu._showMessage(msgType,msgTitle,msgHtml,canCancel,callBack,autoclose,dontLockOverlays,infobubble,abstop,absleft,showAutocloseOk,cancelCallBack,okButtonTxt,cancelButtonTxt);}},_showMessage:function(msgType,msgTitle,msgHtml,canCancel,callBack,autoclose,dontLockOverlays,infobubble,abstop,absleft,showAutocloseOk,cancelCallBack,okButtonTxt,cancelButtonTxt)
{var md=$("message_div");var mc=$("message_cancel_button");var mo=$("message_ok_button");if(md)
{if(canCancel)
{if(mc)
{mc.style.display="";if(cancelButtonTxt)
{mc.innerHTML=cancelButtonTxt;}
else
{mc.innerHTML=gettext("cancel");}
if(cancelCallBack)
{mc.onclick=function(){cancelCallBack();closeMessage();};}}
if(mo)
{mo.style.display="";}}
else if(autoclose!=null)
{if(mc)
{mc.style.display="none";}
if(showAutocloseOk)
{if(mo)
{mo.style.display="";mo.onclick=closeMessage;}}
else
{if(mo)
{mo.style.display="none";}}}
else
{if(mc)
{mc.style.display="none";}
if(mo)
{mo.style.display="";mo.onclick=closeMessage;}}
if(okButtonTxt)
{if(mo)
{mo.innerHTML=okButtonTxt;}}
else
{if(mo)
{mo.innerHTML=gettext("ok");}}
if(callBack)
{if(mo)
{mo.onclick=callBack;}}
if(msgType=="info")
{$("message_stamp").src=Tabblo.server_constants.MEDIA_URL+"/images/info_stamp.gif";$("message_div_header_row").style.backgroundColor="#0066ff";}
else if(msgType=="question")
{$("message_stamp").src=Tabblo.server_constants.MEDIA_URL+"/images/question_stamp.gif";$("message_div_header_row").style.backgroundColor="#666666";}
else if(msgType=="warn")
{$("message_stamp").src=Tabblo.server_constants.MEDIA_URL+"/images/warning_stamp.gif";$("message_div_header_row").style.backgroundColor="#ff9900";}
else if(msgType=="error")
{$("message_stamp").src=Tabblo.server_constants.MEDIA_URL+"/images/error_stamp.gif";$("message_div_header_row").style.backgroundColor="#fe0000";}
$("messageDivTitle").innerHTML=msgTitle.escapeHTML();if(msgHtml.indexOf('<meta name="robots" content="NONE,NOARCHIVE"')!=-1)
{$("long_msg_holder").value=msgHtml;$("messageBody").innerHTML="There was an error.<p/><a href='javascript:__tcu.showMsgNewWindow()'>Show in new window</a>";}
else
{$("messageBody").innerHTML=msgHtml;}
var pd=$("message_point_down");var pu=$("message_point_up");if(infobubble)
{$("mat_normal_button_row").style.display="none";if(infobubble=="tl")
{pu.style.left="55px";pu.style.top="-20px";pu.style.display="";pd.style.display="none";}
else if(infobubble=="tr")
{pu.style.left="240px";pu.style.top="-20px";pu.style.display="";pd.style.display="none";}
else if(infobubble=="br")
{pd.style.left="240px";pd.style.top="145px";pd.style.display="";pu.style.display="none";}
else
{pd.style.left="55px";pd.style.top="150px";pd.style.display="";pu.style.display="none";}}
else
{$("mat_normal_button_row").style.display="";if(pd&&pu){pd.style.display="none";pu.style.display="none";}}
var mib=null;if(isMac)
{mib=$("message_iframe_blocker");}
if(abstop&&absleft)
{var pleft;var ptop;if(infobubble)
{if((infobubble=="tr")||(infobubble=="tl"))
{ptop=parseInt(abstop)+15;}
else
{var foo=parseInt(abstop)-parseInt(md.style.height)-15;if(foo<0)foo=0;ptop=foo;}
if((infobubble=="tr")||(infobubble=="br"))
{pleft=parseInt(absleft)+55;}
else
{var foo=parseInt(absleft)-55;if(foo<0)foo=0;pleft=foo;}}
else
{ptop=parseInt(abstop);pleft=parseInt(absleft);}
md.style.display='';YAHOO.util.Dom.setXY(md,[pleft,ptop]);if(isMac)
{mib.style.display='';YAHOO.util.Dom.setXY(mib,[pleft,ptop]);}}
else
{__tcu.setItemCentered(md);if(isMac){__tcu.setItemCentered(mib);}}
if(!dontLockOverlays)
{if(self.lockOverlays)
{lockOverlays();}}
Tabblo.core.effects.Simple_Appear(md,0.2,null,__tcu.setMessageDimensions);if(isMac){Tabblo.core.effects.Simple_Appear(mib,0.1,null);mib.contentWindow.document.open();mib.contentWindow.document.close();}
if(!dontLockOverlays)
{if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
if(autoclose!=null)
{Tabblo.core.timers.AUTOCLOSE_TIMER=setTimeout("closeMessage()",autoclose);}
pd=null;pu=null;}},setMessageDimensions:function()
{var m=$("messageBody");if(m)
{var sh=m.scrollHeight;if(sh>80)
{m.style.height=sh+"px";__tcu.getDiv("message_div",function(){$("message_div").style.height=(70+sh)+"px";});}}},closeMessage:function()
{__tcu.getDiv("message_div",function(){Tabblo.core.effects.Simple_Fade("message_div",0.4,0);if(isMac)
{__tcu.getDiv("message_iframe_blocker",function(){Tabblo.core.effects.Simple_Fade("message_iframe_blocker",0.1,0);});}
if(Tabblo.core.timers.AUTOCLOSE_TIMER)
{clearTimeout(Tabblo.core.timers.AUTOCLOSE_TIMER);Tabblo.core.timers.AUTOCLOSE_TIMER=null;}
if(self.unlockOverlays)
{unlockOverlays();}
$("messageBody").style.height="80px";$("message_div").style.height="150px";});},showMsgNewWindow:function()
{var l=$("long_msg_holder");if(l)
{var msgWindow=window.open("","TABBLO_MSG_WINDOW");msgWindow.document.write(l.value);msgWindow.document.close();}},PI_SCHEDULED:null,setProgressMessage:function(message)
{jQuery().ready(__tcu._setProgressMessage.bind(Tabblo.core.utils,message));},_setProgressMessage:function(message)
{var pr=__tcu.getDiv("progress_indicator",__tcu.__setProgressMessage.bind(this,message));},__setProgressMessage:function(message)
{var pr=$("progress_indicator");if(pr)
{if(message)
{var f=$("progress_indicator_message");if(f)
{f.innerHTML=message;}}}
else
{}
pr=null;},showProgressIndicator:function(center,msg,scheduleName,posX,posY)
{var pr=__tcu.getDiv("progress_indicator",__tcu._showProgressIndicator.bind(this,center,msg,scheduleName,posX,posY));},_showProgressIndicator:function(center,msg,scheduleName,posX,posY)
{clearTimeout(Tabblo.core.timers.progressIndicatorTimer);var pr=$("progress_indicator");if(pr)
{__tcu.showBlockerScreen();if(center)
{__tcu.appearCentered(pr);}
else
{pr.style.display='';pr.style.visibility='visible';Tabblo.core.effects.Simple_Appear(pr,0.05,0.5);YAHOO.util.Dom.setXY(pr,[posX,posY]);}
if(msg)
{$("progress_indicator_message").innerHTML=msg;}}
else
{}
pr=null;},hideProgressIndicator:function(no_must_close)
{var pr=__tcu.getDiv('progress_indicator',__tcu._hideProgressIndicator.bind(this,no_must_close));},_hideProgressIndicator:function(no_must_close)
{var pr=$('progress_indicator');if(pr)
{Tabblo.core.effects.Simple_Fade(pr,1.0);setTimeout('$("progress_indicator").style.display = "none";',1000);setTimeout('$("progress_indicator_message").innerHTML = "";',1000);}
else
{}
pr=null;var must_close=true;if(no_must_close){must_close=false;}
__tcu.hideBlockerScreen(true,must_close);},scheduleProgressIndicator:function(message,timeout,scheduleName,no_alarm)
{Tabblo.core.timers.progressIndicatorStackHeight++;if(!__tcu.PI_SCHEDULED&&scheduleName){__tcu.PI_SCHEDULED=scheduleName;}
if(Tabblo.core.timers.progressIndicatorStackHeight>1)
{__tcu.setProgressMessage(message);}
else
{if(!timeout)
{timeout=Tabblo.core.timers.PROGRESS_LAG;}
if(Tabblo.core.timers.progressIndicatorTimer)
{clearTimeout(Tabblo.core.timers.progressIndicatorTimer);}
Tabblo.core.timers.progressIndicatorTimer=setTimeout("__tcu.showProgressIndicator(true, \""+message+"\", \""+scheduleName+"\")",timeout);}
if(!no_alarm)
{__tcu.getDiv('progress_indicator',function(){new Tabblo.event.Alarm(30000,'IfStillVisible','progress_indicator_message',__tcu.progressIndicatorWarning,__tcu.dismissProgressIndicator);});}},progressIndicatorWarning:function(alarmId)
{var pi=__tcu.getDiv('progress_indicator',__tcu._progressIndicatorWarning.bind(this,alarmId));},_progressIndicatorWarning:function(alarmId)
{var ele=$('progress_indicator_message');var origtext=ele.innerHTML;var oldtext=origtext+"<br/><br/>This action is taking a long time.  If it seems like something went wrong, <a href=\"javascript:Tabblo.core.caches.ALARMS['"+alarmId+"'].callbackFn('"+alarmId+"');\">cancel, and continue working.</a>";ele.innerHTML=oldtext;},dismissProgressIndicator:function(scheduleName)
{Tabblo.core.timers.progressIndicatorStackHeight--;if((Tabblo.core.timers.progressIndicatorStackHeight==0)||(scheduleName==__tcu.PI_SCHEDULED))
{if(Tabblo.core.timers.progressIndicatorTimer)
{clearTimeout(Tabblo.core.timers.progressIndicatorTimer);}
__tcu.hideProgressIndicator();Tabblo.core.timers.progressIndicatorTimer=null;__tcu.PI_SCHEDULED=null;}},BLOCKER_BLOCKED:0,showBlockerScreen:function(shouldLock,alt_opac,alt_color)
{var bs=__tcu.getDiv("blocker_screen",__tcu._showBlockerScreen.bind(this,shouldLock,alt_opac,alt_color));},_showBlockerScreen:function(shouldLock,alt_opac,alt_color)
{var bs=$("blocker_screen");bs.style.height=jQuery(document).height()+"px";bs.style.width="100%";try{if(_IS_PARTNER){bs.style.left="";bs.style.width=jQuery(window).width()+15+"px";}}
catch(e){bs.style.width=jQuery(window).width()+"px";}
if(alt_color){bs.style.backgroundColor=alt_color;}
bs.style.display="";__tcu.setObjectOpacity(bs,(alt_opac?alt_opac:35));if(shouldLock)
{__tcu.BLOCKER_BLOCKED++;}},hideBlockerScreen:function(shouldUnlock,must_do)
{if(shouldUnlock)
{__tcu.BLOCKER_BLOCKED--;}
if(__tcu.BLOCKER_BLOCKED<=0)
{__tcu.BLOCKER_BLOCKED=0;}
if(must_do)
{__tcu.BLOCKER_BLOCKED=0;}
if(__tcu.BLOCKER_BLOCKED==0)
{if($('blocker_screen'))
{$("blocker_screen").style.display="none";}}},BLOCK_PARSE_REGEX:/\$\{(\w+)\}/igm,containsParseString:function(block)
{if(block.search(__tcu.BLOCK_PARSE_REGEX)>=0){return true;}
return false;},parseBlock:function(block,dataDict)
{return block.replace(__tcu.BLOCK_PARSE_REGEX,function(match,param,offset,orig)
{return(dataDict[param]||(dataDict[param]==0))?(dataDict[param]):("");});},extendDictWithSystemSettings:function(origDict)
{if(origDict==null)
{origDict={};}
for(var setting in Tabblo.server_constants)
{origDict[setting]=Tabblo.server_constants[setting];}
return origDict;},extendDictWithReplacementSettings:function(origDict)
{if(origDict==null)
{origDict={};}
if(Tabblo.divs.replacements)
{for(var setting in Tabblo.divs.replacements)
{origDict[setting]=Tabblo.divs.replacements[setting];}}
return origDict;},getParsedContent:function(block,dataDict,superblock)
{if(block==null)
{block="&nbsp;";}
else
{if(__tcu.containsParseString(block))
{dataDict=__tcu.extendDictWithSystemSettings(dataDict);dataDict=__tcu.extendDictWithReplacementSettings(dataDict);block=__tcu.parseBlock(block,dataDict);}}
return block;},createDiv:function(divId,templateId,parentNode,dataDict)
{if(!templateId){templateId=divId;}
var divObj=Tabblo.divs[templateId];if(!divObj)return null;var el=document.createElement('div');var content=__tcu.getParsedContent(divObj['innerHTML'],dataDict,divObj);el.innerHTML=content;if(divObj['tossContainer']==true)
{el=el.firstChild;}
if(divId)
{el.id=divId;}
if(divObj['style'])
{el.style.cssText=__tcu.getParsedContent(divObj['style'],dataDict,divObj);}
var opacity=divObj['opacity'];if(opacity)
{__tcu.setObjectOpacity(el,opacity);}
if(divObj['className'])
{__tcu.setCssClass(el,divObj['className']);}
if(divObj['attributes'])
{var attrs=divObj['attributes'];for(var a in attrs)
{var value=__tcu.getParsedContent(attrs[a],dataDict,divObj);el.setAttribute(a,value);}}
if(divObj['onclick'])
{el.onclick=divObj['onclick'];}
return el;},getDiv:function(divId,callbackFn,templateId,parentNode,dataDict)
{if(!templateId){templateId=divId;}
var el=$(divId);if(!el)
{el=__tcu.createDiv(divId,templateId,parentNode,dataDict);if(el)
{if(isIE&&(__tcu.domReady==false))
{__tcu.domReadyNodeArray.push([el,callbackFn]);}
else
{parentNode=parentNode?parentNode:document.body;if(parentNode)
{parentNode.appendChild(el);if(callbackFn)
{callbackFn.apply(el);}}
else
{el=null;}}}}
else
{if(callbackFn)
{callbackFn.apply(el);}}
return el;},_current_photo_tab:null,_current_content:null,_current_sid:null,switchPhotoTab:function(obj,refID,exists)
{$("waiting_photo_tab_content").style.display="none"; if(__tcu._current_photo_tab!=null)
{__tcu._current_photo_tab.className="tabblo_add_photo_tab tabblo_edit_nav_label";var altCont=__tcu._current_photo_tab.getAttribute("content");if(altCont!=null&&altCont!="")
{$(altCont+"_content").className="tabblo_photo_tab_module";}
else
{$(__tcu._current_photo_tab.id+"_content").className="tabblo_photo_tab_module";}} 
obj.className="tabblo_add_photo_tab_selected tabblo_edit_nav_label";var altCont=obj.getAttribute("content");__tcu._current_content=altCont;if(altCont!=null&&altCont!="")
{}
else
{$(obj.id+"_content").className="tabblo_photo_tab_module_active";}
__tcu._current_photo_tab=obj; var url=obj.getAttribute("url");if(!refID&&url!=null&&url.indexOf("add_from_lightbox")!=-1){refID=__tcu._current_sid;}
if(refID){url+=refID;if(!exists){url+="?move_lb=true";}}
if(url==""&&obj.id=="upload_photo_tab"){url="/studio/upload/complex/global";}
if(url!=null&&url!=""){if(obj.id=="tabblo_photo_tab"){$("please_wait_message").innerHTML="your Tabblo library";}
else{$("please_wait_message").innerHTML="the uploader you have chosen";}
$("waiting_photo_tab_content").style.display="";$("flexible_uploader_frame").src=url;}
if(isSafari){__tcu.readyForAction();}},showLoading:function(ajaxResponse)
{if($("ajax_updated"))
{$("ajax_updated").style.display="";}},readyForAction:function()
{$("waiting_photo_tab_content").style.display="none";if(__tcu._current_content!=null)
{$(__tcu._current_content+"_content").className="tabblo_photo_tab_module_active";}},toggleViewDropdown:function(alt_loc)
{var sh=$("view_subnav_holder");if(alt_loc)
{var offsets=__tcu.getXY($("nav_view_pro"));sh.style.left=offsets[0]+"px";sh.style.top=(offsets[1]+10)+"px";}
if(isIE)
{if(sh.style.display==""||sh.style.display=="block")
{Tabblo.core.effects.Simple_Fade(sh,0.4,0);}
else
{Tabblo.core.effects.Simple_Appear(sh,0.3);}}
else
{Tabblo.core.effects.Simple_Toggle(sh,0.2,null);}
if(isMac&&$("menu_iframe_blocker"))
{if(sh.style.display=="none")
{$("menu_iframe_blocker").style.display="";}
else
{$("menu_iframe_blocker").style.display="none";}}},showAddPhotos:function(as_upload,sid,exists,as_flickr)
{if(Tabblo.Editor&&Tabblo.Editor.fully_initialized&&!Tabblo.Editor.photo_picker_enabled)
{Tabblo.Editor.photo_picker_enabled=true;Tabblo.Editor.Tools.addPhotoPicker();__tcu.BLOCKER_BLOCKED++;__tcu.showProgressIndicator(true,"Loading photo organizer, one moment","PHOTO_ORGANIZER");setTimeout(__tcu.showAddPhotos.bind(this,as_upload,sid,exists,as_flickr),5000);setTimeout("__tcu.hideProgressIndicator(true)",5000);return;}
var sh=$("view_subnav_holder");if(sh&&sh.style.display=="")
{__tcu.toggleViewDropdown();}
__tcu.showBlockerScreen(true,85);if(as_upload)
{$("photolog_add_description").style.display="none";$("photolog_upload_description").style.display="";if(self._IS_PARTNER)
{__tcu._current_sid=sid;}
__tcu.switchPhotoTab($("upload_photo_tab"));}
else
{$("photolog_add_description").style.display="";$("photolog_upload_description").style.display="none";$("waiting_photo_tab_content").style.display="none";if(sid)
{__tcu._current_sid=sid;}
if(as_flickr){__tcu.switchPhotoTab($("flickr_photo_tab"));}
else{__tcu.switchPhotoTab($("tabblo_photo_tab"),sid,exists);}}
__tcu.appearCentered($("add_photos_div"));if(isMac)
{__tcu.appearCentered($("add_photos_iframe_blocker"));}},closeAddPhotos:function()
{__tcu.hideBlockerScreen(true,true);Tabblo.core.effects.Simple_Fade("add_photos_div",0.3,0);if(isMac)
{Tabblo.core.effects.Simple_Fade("add_photos_iframe_blocker",0.1,0);}},IMAGE_FRONT_END:null,ROUND_ROBIN_IMAGES:null,getImageUrl:function(src)
{if((src.indexOf('bitty-static')!=-1)||(src.indexOf('http:')!=-1))
{return src;}
if(!__tcu.IMAGE_FRONT_END)
{__tcu.IMAGE_FRONT_END=Tabblo.server_constants.FE_HOST;}
return"http://"+(__tcu.ROUND_ROBIN_IMAGES?(src.charAt(0)+"."):'')+__tcu.IMAGE_FRONT_END+"/x-fetch/"+src;},ieFixXimg:function(img)
{if(typeof img=="string")
{img=document.getElementById(img);}
var isrc=img.src;img.setAttribute("origsrc",isrc);var force=(Tabblo.Editor)?Tabblo.Editor.force_global_png_fixups:false;if((force&&(isrc.indexOf('png')>=0))||(img.fixpng=='true'))
{var iw=img.width?img.width+"px":__tcu.cssPropLookup(img,"width");var ih=img.height?img.height+"px":__tcu.cssPropLookup(img,"height");img.style.width=iw;img.style.height=ih;img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+isrc+"', sizingMethod='scale')";img.src=Tabblo.server_constants.MEDIA_URL+"/images/empty.gif";img.setAttribute("fixpng","false");img.setAttribute("ie6fixed","true");}},ieFixXimgDelayed:function(img,timeout)
{if(!img)
{return;}
if((is_ie5up)&&(!is_ie7)&&(document.body.filters))
{if(typeof img=="string")
{img=document.getElementById(img);} 
var force=(Tabblo.Editor)?Tabblo.Editor.force_global_png_fixups:false;if((force&&(img.src.indexOf('png')>=0))||(img.fixpng=='true'))
{img.setAttribute("ie6fixed","true");}
setTimeout(__tcu.ieFixXimg.bind(this,img.id),timeout);}},correctPNG:function()
{if((is_ie5up)&&(!is_ie7)&&(document.body.filters))
{var imlen=document.images.length;for(var i=0;i<imlen;i++)
{__tcu.ieFixXimg(document.images[i]);}}
},asciiHover:function(obj){obj=jQuery(obj);var c=obj.attr('class');if(c.indexOf("button_disabled")!=-1){return;}
if(c.indexOf("_over")!=-1){var n=c.substring(0,c.indexOf("_over"));jQuery(obj).addClass(n).removeClass(c);}
else{jQuery(obj).addClass(c+"_over").removeClass(c);}},appearCenteredWithGenericIframeBlocker:function(thediv,skip_appear,fixed_top,fixed_left)
{__tcu.getDiv('generic_iframe_blocker',__tcu._appearCenteredWithGenericIframeBlocker.bind(this,thediv,skip_appear,fixed_top,fixed_left),'generic_iframe_blocker',document.body,{});},_appearCenteredWithGenericIframeBlocker:function(thediv,skip_appear,fixed_top,fixed_left)
{if(!skip_appear)
{__tcu.appearCentered(thediv,null,fixed_top,fixed_left);}
else
{__tcu.setItemCentered(thediv,null,fixed_top,fixed_left);thediv.style.display="block";}
setTimeout(__tcu.sizePositionMimic.bind(this,thediv,$('generic_iframe_blocker')),350);},dismissDivalog:function(div,skip_fade)
{if(!skip_fade)
{Tabblo.core.effects.Simple_Fade(div,.3,0);}
else
{div.style.display="none";}
var gib=$('generic_iframe_blocker');if(gib)
{gib.style.display="none";}},showFlashIfPossible:function(msg,showAnyway,type)
{return;var fh=$("flash_holder");if(fh)
{fh.innerHTML=msg;if(fh.style.display=="none")
{Tabblo.core.effects.Simple_Appear(fh);}
setTimeout("hideFlash()",8000);}
else if(showAnyway)
{if(type=="error")
{showMessage("error","Problem",msg);}
else if(type=="info")
{showMessage("info","General Information",msg);}
else if(type=="warn")
{showMessage("warn","Warning",msg);}}},makeTablesSortable:function(table_class){if(!table_class){table_class="sortable";} 
jQuery('table.'+table_class+' tbody tr:odd').addClass('odd');jQuery('table.'+table_class+' tbody tr:even').addClass('even');jQuery('table.'+table_class).each(function(){var $table=jQuery(this);jQuery('th',$table).each(function(column){ jQuery(this).hover(function(){if(!jQuery(this).hasClass('highlight')){jQuery(this).addClass('hover');}},function(){jQuery(this).removeClass('hover');}).click(function(){ var newDirection=1;if(jQuery(this).is('.sorted-asc')){newDirection=-1;} 
$table.find('span.arrow_holder').remove(); $table.find('th').removeClass('sorted-asc').removeClass('sorted-desc').removeClass('highlight');$table.find('td').removeClass('highlight'); var $sortHead=$table.find('th').filter(':nth-child('+(column+1)+')'); if(newDirection==1){$sortHead.addClass('sorted-asc');}
else{$sortHead.addClass('sorted-desc');} 
$sortHead.addClass('highlight').removeClass('hover'); jQuery("<span class='arrow_holder'>"+(newDirection==1?"&darr;":"&uarr;")+"</span>").appendTo($sortHead); var stype=$sortHead.attr('stype'); var rows=$table.find('tbody > tr').get();rows.sort(function(a,b){ var keyA=jQuery(a).children('td').eq(column).text();var keyB=jQuery(b).children('td').eq(column).text();if(stype=="text"){keyA=keyA.toUpperCase();keyB=keyB.toUpperCase();}
else if(stype=="num"){if(keyA.indexOf("$")==0){keyA=parseFloat(keyA.substring(1));}
if(keyB.indexOf("$")==0){keyB=parseFloat(keyB.substring(1));}
if(typeof(keyA)=="string"){keyA=parseInt(keyA);keyB=parseInt(keyB);}}
else if(stype=="date"){keyA=Date.parse(keyA);keyB=Date.parse(keyB);}
if(keyA<keyB)return-newDirection;if(keyA>keyB)return newDirection;return 0;}); $table.find('td').filter(':nth-child('+(column+1)+')').addClass('highlight'); jQuery.each(rows,function(index,row){$table.children('tbody').append(row);}); $table.find('tbody tr:odd').removeClass('even').addClass('odd');$table.find('tbody tr:even').removeClass('odd').addClass('even');});});});},DDPP:function(id,group,config,opac,on_drag,end_drag,photostream_scratchbox_member,cancel_scroll)
{if(cancel_scroll)
{if(!config)
{config={};}
config.scroll=false;}
__tcu.DDPP.superclass.constructor.call(this,id,group,config);this.logger=this.logger||YAHOO;var el=this.getDragEl();if(!opac)
{opac=1.0;}
YAHOO.util.Dom.setStyle(el,"opacity",opac); YAHOO.util.Dom.setStyle(el,"z-index",99999); this.goingUp=false;this.lastY=0;this.end_drag=end_drag;this.on_drag=on_drag;this.photostream_scratchbox_member=photostream_scratchbox_member||null;},unload_ui:function()
{__tcu._current_photo_tab=null;}});YAHOO.util.Event.addListener(window,"unload",__tcu.unload_ui);YAHOO.extend(__tcu.DDPP,YAHOO.util.DDProxy,{startDrag:function(x,y)
{ var dragEl=this.getDragEl();var clickEl=this.getEl();dragEl.innerHTML=clickEl.innerHTML;dragEl.setAttribute("isDragging","true");if(this.photostream_scratchbox_member)
{dragEl.setAttribute("photostream_scratchbox_member","true");dragEl.setAttribute("isScratch","true");dragEl.setAttribute('base_id','_'+clickEl.getAttribute('storyitemid'));}
YAHOO.util.Dom.setStyle(dragEl,"overflow","hidden");YAHOO.util.Dom.setStyle(dragEl,"color",YAHOO.util.Dom.getStyle(clickEl,"color"));YAHOO.util.Dom.setStyle(dragEl,"width",YAHOO.util.Dom.getStyle(clickEl,"width"));YAHOO.util.Dom.setStyle(dragEl,"height",YAHOO.util.Dom.getStyle(clickEl,"height"));YAHOO.util.Dom.setStyle(dragEl,"backgroundColor",YAHOO.util.Dom.getStyle(clickEl,"backgroundColor"));YAHOO.util.Dom.setStyle(dragEl,"border","2px solid gray");},endDrag:function(e)
{var srcEl=this.getEl();var proxy=this.getDragEl();srcEl.setAttribute("isDragging","false");if(this.end_drag)
{this.end_drag(srcEl,proxy);}
else
{ YAHOO.util.Dom.setStyle(proxy,"visibility","");var a=new YAHOO.util.Motion(proxy,{points:{to:__tcu.getXY(srcEl)}},0.2,YAHOO.util.Easing.easeOut);var proxyid=proxy.id;var thisid=this.id; a.onComplete.subscribe(function()
{YAHOO.util.Dom.setStyle(proxyid,"visibility","hidden");});a.animate();}
proxy.innerHTML="";},onDrag:function(e,id)
{var srcEl=this.getEl();var proxy=this.getDragEl();if(this.on_drag)
{this.on_drag(srcEl,proxy);}},onDragDrop:function(e,targets)
{},onDragOver:function(e,targets)
{}});YAHOO.example.DDResize=function(panelElId,handleElId,sGroup,config)
{YAHOO.example.DDResize.superclass.constructor.call(this,panelElId,sGroup,config);if(handleElId)
{this.setHandleElId(handleElId);}};YAHOO.extend(YAHOO.example.DDResize,YAHOO.util.DragDrop,{onMouseDown:function(e)
{var panel=this.getEl();this.startWidth=panel.offsetWidth;this.startHeight=panel.offsetHeight;this.startPos=[YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e)];},onDrag:function(e)
{var newPos=[YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e)];var offsetX=newPos[0]-this.startPos[0];var offsetY=newPos[1]-this.startPos[1];var newWidth=Math.max(this.startWidth+offsetX,10);var newHeight=Math.max(this.startHeight+offsetY,10);var panel=this.getEl();panel.style.width=newWidth+"px";panel.style.height=newHeight+"px";}});if(typeof showMessage=="undefined")
{var showMessage=__tcu.showMessage;}
if(typeof closeMessage=="undefined")
{var closeMessage=__tcu.closeMessage;}
/* tabblo/core/md5.js */
Tabblo.core.extend(Tabblo.core.utils,{hexcase:0,b64pad:"",chrsz:8,hex_md5:function(s){return __tcu.binl2hex(__tcu.core_md5(__tcu.str2binl(s),s.length*__tcu.chrsz));},b64_md5:function(s){return __tcu.binl2b64(__tcu.core_md5(__tcu.str2binl(s),s.length*__tcu.chrsz));},str_md5:function(s){return __tcu.binl2str(__tcu.core_md5(__tcu.str2binl(s),s.length*__tcu.chrsz));},hex_hmac_md5:function(key,data){return __tcu.binl2hex(__tcu.core_hmac_md5(key,data));},b64_hmac_md5:function(key,data){return __tcu.binl2b64(__tcu.core_hmac_md5(key,data));},str_hmac_md5:function(key,data){return __tcu.binl2str(__tcu.core_hmac_md5(key,data));},md5_vm_test:function()
{return __tcu.hex_md5("abc")=="900150983cd24fb0d6963f7d28e17f72";},core_md5:function(x,len)
{x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16)
{var olda=a;var oldb=b;var oldc=c;var oldd=d;a=__tcu.md5_ff(a,b,c,d,x[i+0],7,-680876936);d=__tcu.md5_ff(d,a,b,c,x[i+1],12,-389564586);c=__tcu.md5_ff(c,d,a,b,x[i+2],17,606105819);b=__tcu.md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=__tcu.md5_ff(a,b,c,d,x[i+4],7,-176418897);d=__tcu.md5_ff(d,a,b,c,x[i+5],12,1200080426);c=__tcu.md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=__tcu.md5_ff(b,c,d,a,x[i+7],22,-45705983);a=__tcu.md5_ff(a,b,c,d,x[i+8],7,1770035416);d=__tcu.md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=__tcu.md5_ff(c,d,a,b,x[i+10],17,-42063);b=__tcu.md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=__tcu.md5_ff(a,b,c,d,x[i+12],7,1804603682);d=__tcu.md5_ff(d,a,b,c,x[i+13],12,-40341101);c=__tcu.md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=__tcu.md5_ff(b,c,d,a,x[i+15],22,1236535329);a=__tcu.md5_gg(a,b,c,d,x[i+1],5,-165796510);d=__tcu.md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=__tcu.md5_gg(c,d,a,b,x[i+11],14,643717713);b=__tcu.md5_gg(b,c,d,a,x[i+0],20,-373897302);a=__tcu.md5_gg(a,b,c,d,x[i+5],5,-701558691);d=__tcu.md5_gg(d,a,b,c,x[i+10],9,38016083);c=__tcu.md5_gg(c,d,a,b,x[i+15],14,-660478335);b=__tcu.md5_gg(b,c,d,a,x[i+4],20,-405537848);a=__tcu.md5_gg(a,b,c,d,x[i+9],5,568446438);d=__tcu.md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=__tcu.md5_gg(c,d,a,b,x[i+3],14,-187363961);b=__tcu.md5_gg(b,c,d,a,x[i+8],20,1163531501);a=__tcu.md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=__tcu.md5_gg(d,a,b,c,x[i+2],9,-51403784);c=__tcu.md5_gg(c,d,a,b,x[i+7],14,1735328473);b=__tcu.md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=__tcu.md5_hh(a,b,c,d,x[i+5],4,-378558);d=__tcu.md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=__tcu.md5_hh(c,d,a,b,x[i+11],16,1839030562);b=__tcu.md5_hh(b,c,d,a,x[i+14],23,-35309556);a=__tcu.md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=__tcu.md5_hh(d,a,b,c,x[i+4],11,1272893353);c=__tcu.md5_hh(c,d,a,b,x[i+7],16,-155497632);b=__tcu.md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=__tcu.md5_hh(a,b,c,d,x[i+13],4,681279174);d=__tcu.md5_hh(d,a,b,c,x[i+0],11,-358537222);c=__tcu.md5_hh(c,d,a,b,x[i+3],16,-722521979);b=__tcu.md5_hh(b,c,d,a,x[i+6],23,76029189);a=__tcu.md5_hh(a,b,c,d,x[i+9],4,-640364487);d=__tcu.md5_hh(d,a,b,c,x[i+12],11,-421815835);c=__tcu.md5_hh(c,d,a,b,x[i+15],16,530742520);b=__tcu.md5_hh(b,c,d,a,x[i+2],23,-995338651);a=__tcu.md5_ii(a,b,c,d,x[i+0],6,-198630844);d=__tcu.md5_ii(d,a,b,c,x[i+7],10,1126891415);c=__tcu.md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=__tcu.md5_ii(b,c,d,a,x[i+5],21,-57434055);a=__tcu.md5_ii(a,b,c,d,x[i+12],6,1700485571);d=__tcu.md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=__tcu.md5_ii(c,d,a,b,x[i+10],15,-1051523);b=__tcu.md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=__tcu.md5_ii(a,b,c,d,x[i+8],6,1873313359);d=__tcu.md5_ii(d,a,b,c,x[i+15],10,-30611744);c=__tcu.md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=__tcu.md5_ii(b,c,d,a,x[i+13],21,1309151649);a=__tcu.md5_ii(a,b,c,d,x[i+4],6,-145523070);d=__tcu.md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=__tcu.md5_ii(c,d,a,b,x[i+2],15,718787259);b=__tcu.md5_ii(b,c,d,a,x[i+9],21,-343485551);a=__tcu.safe_add(a,olda);b=__tcu.safe_add(b,oldb);c=__tcu.safe_add(c,oldc);d=__tcu.safe_add(d,oldd);}
return Array(a,b,c,d);},md5_cmn:function(q,a,b,x,s,t)
{return __tcu.safe_add(__tcu.bit_rol(__tcu.safe_add(__tcu.safe_add(a,q),__tcu.safe_add(x,t)),s),b);},md5_ff:function(a,b,c,d,x,s,t)
{return __tcu.md5_cmn((b&c)|((~b)&d),a,b,x,s,t);},md5_gg:function(a,b,c,d,x,s,t)
{return __tcu.md5_cmn((b&d)|(c&(~d)),a,b,x,s,t);},md5_hh:function(a,b,c,d,x,s,t)
{return __tcu.md5_cmn(b^c^d,a,b,x,s,t);},md5_ii:function(a,b,c,d,x,s,t)
{return __tcu.md5_cmn(c^(b|(~d)),a,b,x,s,t);},core_hmac_md5:function(key,data)
{var bkey=__tcu.str2binl(key);if(bkey.length>16)bkey=__tcu.core_md5(bkey,key.length*__tcu.chrsz);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++)
{ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;}
var hash=__tcu.core_md5(ipad.concat(__tcu.str2binl(data)),512+data.length*__tcu.chrsz);return __tcu.core_md5(opad.concat(hash),512+128);},safe_add:function(x,y)
{var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);},bit_rol:function(num,cnt)
{return(num<<cnt)|(num>>>(32-cnt));},str2binl:function(str)
{var bin=Array();var mask=(1<<__tcu.chrsz)-1;for(var i=0;i<str.length*__tcu.chrsz;i+=__tcu.chrsz)
bin[i>>5]|=(str.charCodeAt(i/__tcu.chrsz)&mask)<<(i%32);return bin;},binl2str:function(bin)
{var str="";var mask=(1<<__tcu.chrsz)-1;for(var i=0;i<bin.length*32;i+=__tcu.chrsz)
str+=String.fromCharCode((bin[i>>5]>>>(i%32))&mask);return str;},binl2hex:function(binarray)
{var hex_tab=__tcu.hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++)
{str+=hex_tab.charAt((binarray[i>>2]>>((i%4)*8+4))&0xF)+
hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF);}
return str;},binl2b64:function(binarray)
{var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3)
{var triplet=(((binarray[i>>2]>>8*(i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);for(var j=0;j<4;j++)
{if(i*8+j*6>binarray.length*32)str+=__tcu.b64pad;else str+=tab.charAt((triplet>>6*(3-j))&0x3F);}}
return str;}});
/* tabblo/core/function_utils.js */
Tabblo.core.extend(Tabblo.core.utils,{getFunctionSignature:function(argArray)
{var ct="";for(var i=0;i<argArray.length;i++)
{ct+=__tcu.bestStringRepresentation(argArray[i]);}
return __tcu.str_md5(ct);},getFunctionName:function(functionText)
{if(functionText)
{functionText=functionText.toString();var firstParen=functionText.indexOf('\(');if(functionText.charAt(firstParen-1)==' ')
{firstParen--;}
var propname=functionText.substring(9,firstParen).replace(/^\s*|\s*$/g,"");if(!propname||propname.length<3)
{propname=functionText.substring(0,100)+"...";}
return propname;}
else
{return"(no function name)";}}});
/* tabblo/event.js */
Tabblo.add_namespace("Tabblo.event",{EventQueue:{ __init__:function()
{this.QUEUE_LENGTH=250;this.SHORT_TIMING_WINDOW=25; this.TIMING_WINDOW=1250; this.QUEUE=new Array(this.QUEUE_LENGTH);this.IDX=0;},shouldPerform:function(funcSig,index,faster)
{ var details=this.QUEUE[index];var dFuncSig=details[0];var dStart=details[1];var dEnd=details[2];if(dFuncSig!=funcSig)
{return-1;}
for(var j=0;j<this.QUEUE_LENGTH;j++)
{var lidx=((index-j)<1)?(this.QUEUE_LENGTH-(index-j)):(index-j);var ldetails=this.QUEUE[lidx-1];if(!ldetails)
{break;}
var tFuncSig=ldetails[0];var tStart=ldetails[1];var tEnd=ldetails[2];var timing_window=this.TIMING_WINDOW;if(faster){timing_window=this.SHORT_TIMING_WINDOW;}
if((dStart-tStart)>timing_window)
{break;}
else if((tFuncSig==dFuncSig)&&((dStart-tStart)<timing_window))
{this.QUEUE[index]=new Array("undefined",0,0);return-1;}}
return index;},addToQueue:function(funcSig)
{ var modulusIndex=this.IDX%this.QUEUE_LENGTH;this.QUEUE[modulusIndex]=new Array(funcSig,new Date().getTime(),0);this.IDX++;return modulusIndex;},queueAndTest:function(funcSig,faster)
{var index=this.addToQueue(funcSig);return this.shouldPerform(funcSig,index,faster);},finishIndex:function(index)
{if(index>=0)
{var details=this.QUEUE[index];details[2]=new Date().getTime();}},getRuntime:function(index)
{if(index>=0)
{var details=this.QUEUE[index];return(details[2]-details[1]);}
else
{return 0;}},unload:function()
{for(var i=0;i<Tabblo.event.EventQueue.QUEUE_LENGTH;i++)
{if(Tabblo.event.EventQueue.QUEUE)
{Tabblo.event.EventQueue.QUEUE[i]=null;}}
Tabblo.event.EventQueue.QUEUE=null;}},Apply:{engage:function()
{var stack=Array.prototype.slice.call(arguments);var timeout=10;if(stack[2])
{if(stack[2]=='SYNC'){timeout='SYNC';}
else
{timeout=parseInt(stack[2]);}}
var tmpFunc=function(){return Tabblo.event.Apply._engage.apply(Tabblo.event.Apply,stack);};if(timeout=='SYNC')
{return tmpFunc();}
else
{setTimeout(tmpFunc,timeout);}},_engage:function()
{__tcu.scheduleProgressIndicator("Loading data locally...");var blocking=(arguments[arguments.length-1]=='TRUE')?true:false;var _caller=__tcu.getFunctionName(Tabblo.event.Apply.engage.caller);var stack=Array.prototype.slice.call(arguments);if(stack.length==4)
{stack.push(new Array());}
stack.push(_caller);__tcu.dismissProgressIndicator();if(blocking)
{arguments[arguments.length-1]=null;return Tabblo.event.Apply._runBlockingFunction.apply(Tabblo.event.Apply,stack);}
else
{return Tabblo.event.Apply._runTimedFunction.apply(Tabblo.event.Apply,stack);}},_runTimedFunction:function()
{var results=null;var funcRef=arguments[0];var contextRef=arguments[1];var timeout=arguments[2];var faster=arguments[3];var thisargs=arguments[4];var _caller=arguments[5];if(!thisargs){thisargs=new Array();}
var funcSig=__tcu.getFunctionSignature(arguments);var index=0;if((index=Tabblo.event.EventQueue.queueAndTest(funcSig,faster))>=0)
{try
{results=funcRef.apply(contextRef,thisargs);}
catch(e)
{alert('functionRunner: '+e.message+'/'+funcRef+'/'+thisargs);}
Tabblo.event.EventQueue.finishIndex(index);if(DEBUG_JS&&!isIE)
{var timing=Tabblo.event.EventQueue.getRuntime(index);printfire("DEBUG(APPLY):"+RET_CHAR+"Apply.engage()"+RET_CHAR+__tcu.getFunctionName(funcRef)+RET_CHAR+"(calledBy: "+_caller+"): "+timing+"ms"+RET_CHAR);}}
else
{}
funcRef=null;_caller=null;n_arguments=null;funcSig=null;return results;},_runBlockingFunction:function()
{lockOverlays();Tabblo.editor.lockImage();var results=Tabblo.event.Apply._runTimedFunction.apply(Apply,arguments);Tabblo.editor.unlockImage();Tabblo.editor.unlockOverlays();return results;}},Alarm:function(timeoutMs,conditionString,affectedElementId,actionFn,callbackFn)
{this.timeoutMs=timeoutMs;this.conditionString=conditionString;this.affectedElementId=affectedElementId;this.callbackFn=function(alarmId){callbackFn(alarmId);Tabblo.core.caches.ALARMS[alarmId]=null;} 
this.actionFn=function(alarmId){actionFn(alarmId);};this.alarmId=this.affectedElementId+"."+conditionString;if(Tabblo.core.caches.ALARMS[this.alarmId])
{return null;}
Tabblo.core.caches.ALARMS[this.alarmId]=this;function run()
{var failure=false;if(this.conditionString=="IfStillVisible")
{var ele=$(this.affectedElementId);if(ele)
{if(__tcu.isOverallVisible(ele))
{this.actionFn.apply(this,[this.alarmId]);}
else
{failure=true;}}
else
{printfire("Element not found: "+this.affectedElementId);failure=true;}}
else if(this.condictionString=="warning")
{this.actionFn.apply(this,[this.alarmId]);}
else if(this.conditionString=="warnHungCall")
{}
else
{printfire("Unknown alarm: "+this.conditionString);}
if(failure)
{Tabblo.core.caches.ALARMS[this.alarmId]=null;}}
this.run=run;setTimeout("Tabblo.core.caches.ALARMS[\""+this.alarmId+"\"].run()",this.timeoutMs);}});Tabblo.event.EventQueue.__init__();YAHOO.util.Event.addListener(window,"unload",Tabblo.event.EventQueue.unload);
/* tabblo/ajax.js */
Tabblo.add_namespace("Tabblo.core.errors",{ERROR_TYPE_ERROR:1,ERROR_TYPE_SERVER_PROBLEM:2,ERROR_TYPE_SERVER_PROBLEM_RELOAD:3});Tabblo.add_namespace("Tabblo.ajax",{STD_JSON_RESPONSE:function(callbackFn)
{assert(callbackFn,"No callbackFn sent to "+Tabblo.ajax.STD_JSON_RESPONSE.caller);return(function(jsonResponse){callbackFn(jsonResponse);});},simple_beam:function(url,parameters,oncomplete)
{return Tabblo.ajax.Send.beam(url,{parameters:parameters,onComplete:Tabblo.ajax.STD_JSON_RESPONSE(oncomplete)},false,true);},Send:{beam:function()
{var ran=false;var url=arguments[0];var paramsObj=arguments[1];var _caller=__tcu.getFunctionName(Tabblo.ajax.Send.beam.caller); var blocking=arguments[2]||false;var stealthy=arguments[3]||false;this.stealthy=stealthy;if(blocking)
{ran=this._runBlockingFunction(url,_caller,stealthy,paramsObj);}
else
{ran=this._runTimedFunction(url,_caller,stealthy,paramsObj);}
url=null;paramsObj=null;_caller=null;blocking=null;return ran;},_mungeAjaxAsyncCalls:function()
{var finisher=arguments[0];var _caller=arguments[1];var paramsObj=arguments[2];var URL=arguments[3];var oldSuccessRef=paramsObj.onSuccess;var oldFailRef=paramsObj.onFailure;var oldCompleteRef=paramsObj.onComplete;var newSuccess=function()
{var ajaxResponse=arguments[0];if(is_ie6)
{ajaxResponse=Tabblo.ajax.cloneResponse(ajaxResponse);}
if(ajaxResponse.preEvaled!=true)
{try
{if(ajaxResponse.responseText=="OK")
{ajaxResponse.responseObject={code:200,text:"OK"};}
else
{eval('ajaxResponse.responseObject = '+ajaxResponse.responseText);}}
catch(e)
{ajaxResponse.responseObject=ajaxResponse.responseText;printStack(e,'(newSuccessEvalException)');}}
var prevName="";if(oldSuccessRef)
{prevName=__tcu.getFunctionName(oldSuccessRef);}
else
{prevName="(no prev success handler)";}
if(oldSuccessRef)
{try
{oldSuccessRef(ajaxResponse,_caller,prevName,paramsObj);}
catch(e)
{__d("newSuccess","Success handler threw exception: "+e);}
ajaxResponse.__performance_pre_server_t__=oldSuccessRef.__performance_pre_server_t__;}};var newFail=function()
{var ajaxResponse=arguments[0];if(is_ie6)
{ajaxResponse=Tabblo.ajax.cloneResponse(ajaxResponse);}
if(ajaxResponse.preEvaled!=true)
{try
{eval('ajaxResponse.responseObject = '+ajaxResponse.responseText);}
catch(e)
{ajaxResponse.responseObject=ajaxResponse.responseText;printStack(e,'(newFailEvalException)');}}
var prevName="";if(oldFailRef)
{prevName=__tcu.getFunctionName(oldFailRef);}
else
{prevName="(no previous fail handler)";}
if(URL.indexOf('debug')==-1)
{var s=parseInt(ajaxResponse.status);if(s>=400)
{var numretries=__tcu.findPostParam(paramsObj.parameters,'retries');numretries=(numretries==null)?0:parseInt(numretries);printfire("FAILURE! RETRIES: "+numretries);if(numretries>=3)
{printfire("RETRIES DONE, RELOADING");__tcu.showBlockerScreen(true);showMessage("error",gettext("Server error"),gettext("We're sorry, but we have encountered a server error or a difficulty communicating with the server.  You may have lost some of your latest work.  <a href=\"javascript:document.location=document.location;\">Dismiss this message, and resume working at your last saved state.</a>"),false,function(){document.location=document.location;});}
else
{var pparams=__tcu.replacePostParam(paramsObj.parameters,'retries',numretries+1);printfire("RETRYING REQUEST:"+URL+'/'+pparams);Tabblo.ajax.Send.beam(URL,{parameters:pparams,onSuccess:oldSuccessRef,onFailure:oldFailRef,onComplete:oldCompleteRef});}}
else
{window.status='Error '+ajaxResponse.status+' -- '+ajaxResponse.statusText;}}
if(oldFailRef)
{try
{oldFailRef(ajaxResponse,_caller,prevName,paramsObj);}
catch(e)
{__d("newFail","Fail handler threw exception: "+e);}}};var newComplete=function()
{var compStart=new Date().getTime();var ajaxResponse=arguments[0];if(is_ie6)
{ajaxResponse=Tabblo.ajax.cloneResponse(ajaxResponse);} 
if(ajaxResponse.status==205)
{document.location=document.location;}
if(ajaxResponse.preEvaled!=true)
{try
{if(ajaxResponse.responseText=="OK")
{ajaxResponse.responseObject={code:200,text:"OK"};}
else
{eval('ajaxResponse.responseObject = '+ajaxResponse.responseText);}}
catch(e)
{ajaxResponse.responseObject=ajaxResponse.responseText;printStack(e,'(newCompleteEvalException)');}}
var prevName="";if(oldCompleteRef)
{prevName=__tcu.getFunctionName(oldCompleteRef);}
else
{prevName="(no previous complete handler)";}
if(oldCompleteRef)
{try
{oldCompleteRef(ajaxResponse,_caller,prevName,paramsObj);}
catch(e)
{__d("newComplete","Complete handler threw exception: "+e);}} 
ajaxResponse.__performance_post_server_t__=new Date().getTime()-compStart;if(oldCompleteRef)
{if(!__tcu.isNonNullDefined(ajaxResponse.__performance_pre_server_t__))
{ajaxResponse.__performance_pre_server_t__=oldCompleteRef.__performance_pre_server_t__;}}
finisher(ajaxResponse,_caller,prevName,paramsObj,URL);if(!this.stealthy)
{__tcu.dismissProgressIndicator();}
else
{}
ajaxResponse=null;prevName=null;_caller=null;oldSuccessRef=null;oldFailRef=null;oldCompleteRef=null;finisher=null;paramsObj=null;}.bind(this);paramsObj.onSuccess=newSuccess;paramsObj.onFailure=newFail;paramsObj.onComplete=newComplete;},_finishBlocking:function()
{var ajaxResponse=arguments[0];var _caller=arguments[1];var prevName=arguments[2];var paramsObj=arguments[3];Tabblo.editor.unlockImage();Tabblo.editor.unlockOverlays();ajaxResponse=null;_caller=null;prevName=null;},_finishTiming:function()
{var ajaxResponse=arguments[0];var uid=Tabblo.core.performance.getUid(ajaxResponse.request);if(DEBUG_JS||uid)
{var index=arguments[3].__index__;Tabblo.event.EventQueue.finishIndex(index);var tend=Tabblo.event.EventQueue.getRuntime(index);if(DEBUG_JS)
{var _caller=arguments[1];var prevName=arguments[2];var URL=arguments[4];printfire("DEBUG(Tabblo.ajax.Send):"+RET_CHAR+"([["+URL+']]/'+prevName+"/"+_caller+")"+RET_CHAR+tend+"ms"+RET_CHAR);_caller=null;prevName=null;URL=null;}
if(uid)
{ajaxResponse.__performance_uid__=uid;ajaxResponse.__performance_roundtrip_t__=tend;var __notes=Tabblo.editor.storyID?"{ 'story_id': "+Tabblo.editor.storyID+"}":'';setTimeout(Tabblo.core.performance.reportPerf.bind(Tabblo.core.performance,uid,ajaxResponse.__performance_pre_server_t__,ajaxResponse.__performance_roundtrip_t__,ajaxResponse.__performance_post_server_t__,'',__notes),500);}}
ajaxResponse=null;},_runBlockingFunction:function()
{var ran=false;var url=arguments[0];var _caller=arguments[1];var stealthy=arguments[2];var paramsObj=arguments[3];var URL=arguments[4];lockOverlays();Tabblo.editor.lockImage();this._mungeAjaxAsyncCalls(Tabblo.ajax.Send._finishBlocking,_caller,paramsObj,url);ran=this._runTimedFunction(url,_caller,stealthy,paramsObj);url=null;_caller=null;paramsObj=null;return ran;},_runTimedFunction:function()
{var ran=false;var url=arguments[0];var _caller=arguments[1];var stealthy=arguments[2];var paramsObj=arguments[3];var faster=false;var pars=paramsObj.parameters;var fail=paramsObj.onFailure;var sucs=paramsObj.onSuccess;var comp=paramsObj.onComplete;var n_arguments=new Array(url,_caller,pars,sucs,fail,comp);var funcSig=__tcu.getFunctionSignature(n_arguments);var index=0;if((index=Tabblo.event.EventQueue.queueAndTest(funcSig,faster))>=0)
{ if(!stealthy)
{__tcu.scheduleProgressIndicator("Loading data from server...");}
paramsObj.__index__=index;this._mungeAjaxAsyncCalls(Tabblo.ajax.Send._finishTiming,_caller,paramsObj,url);if(!__tcu.isNonNullDefined(paramsObj.method))
{paramsObj['method']='post';}
var cookval=self.__CSRFMIDDLEWARETOKEN;if(cookval&&(!paramsObj['parameters']||(paramsObj['parameters'].indexOf('csrfmiddlewaretoken')==-1)))
{paramsObj['parameters']+='&csrfmiddlewaretoken='+cookval;} 
paramsObj['parameters']+='&seq='+new Date().getTime()+Math.floor(Math.random()*11);Tabblo.core.debugging.assertDefinedParams((paramsObj?paramsObj.parameters:null),url,"Tabblo.ajax._runTimedFunction reporting assert exception");if(Tabblo.ajax.Send.asScriptRequest)
{this._runScriptRequest(url,paramsObj);}
else
{var ajax_req=new Ajax.Request(url,paramsObj);}
ran=true;ajax_req=null;}
else
{}
pars=null;sucs=null;n_arguments=null;url=null;_caller=null;paramsObj=null;ajax_req=null;return ran;},_responseCounter:0,asScriptRequest:false,domainUsed:false,_runScriptRequest:function(url,params)
{printfire("!!SCRIPT REQUEST USED!!");var fullUrl='http://'+Tabblo.ajax.Send.domainUsed+(url.indexOf("/")==0?"":"/")+url+'?'+params['parameters'];var scriptId='response_'+this._responseCounter;var scallBackName='_onsuccess'+this._responseCounter;var fcallBackName='_onfailure'+this._responseCounter;if(!params.onComplete)
{params.onComplete=function(r){};}
Tabblo.ajax.Send[scallBackName]=function()
{var stack=Tabblo.ajax.Send.processCall('OK',200,arguments);params.onSuccess.apply(Tabblo.ajax.Send,stack);Tabblo.ajax.Send.finishCall(params,stack,scallBackName,fcallBackName,scriptId);};Tabblo.ajax.Send[fcallBackName]=function()
{var stack=Tabblo.ajax.Send.processCall('FAIL',500,arguments);params.onFailure.apply(Tabblo.ajax.Send,stack);Tabblo.ajax.Send.finishCall(params,stack,scallBackName,fcallBackName,scriptId);};fullUrl+='&onsuccess='+'Tabblo.ajax.Send.'+scallBackName+'&onfailure='+'Tabblo.ajax.Send.'+fcallBackName+'&noCacheIE='+(new Date()).getTime();var theScript=document.createElement("script");theScript.setAttribute("type","text/javascript");theScript.setAttribute("charset","utf-8");theScript.setAttribute("src",fullUrl);theScript.setAttribute("id",scriptId);document.getElementsByTagName("body").item(0).appendChild(theScript);this._responseCounter++;},finishCall:function(params,stack,scallBackName,fcallBackName,scriptId)
{params.onComplete.apply(Tabblo.ajax.Send,stack);printfire("REMOVING ("+stack+")"+scallBackName+'/'+fcallBackName+'/'+scriptId);Tabblo.ajax.Send[scallBackName]=null;Tabblo.ajax.Send[fcallBackName]=null;document.getElementsByTagName("body").item(0).removeChild(document.getElementById(scriptId));},processCall:function(s,sint,args)
{var r={responseText:args[0],statusText:s,'status':sint,responseObject:args[0],preEvaled:true};var stack=new Array();for(var k=0;k<args.length;k++)
{if(k==0)
{stack.push(r);}
else
{stack.push(args[k]);}}
return stack;}},cloneResponse:function(ajaxResponse)
{var __ajaxResponse=null;try
{__ajaxResponse=new Object();__ajaxResponse["responseText"]=ajaxResponse.responseText;__ajaxResponse["statusText"]=ajaxResponse.statusText;__ajaxResponse["status"]=ajaxResponse.status;}
catch(e)
{printStack(e,'cloneResponse');}
return __ajaxResponse;},reportErrorToDjango:function(_caller,handlerName,URL,ajaxResponse,errorType)
{try
{if((_caller.indexOf('reportErrorToDjango')==-1)&&(_caller.indexOf('reportGridDumpToDjango')==-1)&&(handlerName.indexOf('reportErrorToDjango')==-1)&&(handlerName.indexOf('reportGridDumpToDjango')==-1))
{if(DEBUG_JS||((ajaxResponse.status!='500')&&(ajaxResponse.status!=500)))
{var error_string="CRITICAL_JAVASCRIPT_ERROR\nCALLER: "+_caller+"\nFAILURE_HANDLER: "+handlerName+"\nURL: "+URL+"\nSTATUS_CODE: "+ajaxResponse.status+"\nSTATUS_TEXT: "+ajaxResponse.statusText+"\n";error_string=__tcu.escape_utf8(error_string);var ajaxURL="/studio/debug/error/";switch(errorType)
{case Tabblo.core.errors.ERROR_TYPE_SERVER_PROBLEM:ajaxURL="/studio/debug/js_warn_retry";break;case Tabblo.core.errors.ERROR_TYPE_SERVER_PROBLEM_RELOAD:ajaxURL="/studio/debug/js_warn_reload";break;default:ajaxURL="/studio/debug/error/";};var paramsObj={parameters:"error_string="+error_string};Tabblo.ajax.Send.beam(ajaxURL,paramsObj);}}}
catch(e)
{printfire("reportErrorToDjango: EXCEPTION: "+e.message);}}});var __sites_who_proxy_or_cname_to_us=['tabblo.com','hp.com','youneekfanshop.com'];function __need_jsonp()
{var domain=document.location.href.toString().split('/')[2];var darr=domain.split('.');var dstr=darr[darr.length-2]+'.'+darr[darr.length-1]; for(var i=0;i<__sites_who_proxy_or_cname_to_us.length;i++)
{var s=__sites_who_proxy_or_cname_to_us[i];if(s.indexOf(dstr.toLowerCase())!=-1)
{return false;}}
return true;}
if(__need_jsonp())
{printfire("NOT IN TABBLO.COM, ISSUING CROSS SITE HACK PERMISSION");Tabblo.ajax.Send.asScriptRequest=true;Tabblo.ajax.Send.domainUsed=Tabblo.server_constants.APP_HOST;}
else
{printfire("IN TABBLO.COM, NOT ISSUING CROSS SITE HACK PERMISSION");}
/* tabblo/core/use_case.js */
Tabblo.add_namespace("Tabblo.core.use_case",{cookie_name:'Tabblo_UC',case_index:0,loaded:false,active_cases:{},getNewId:function()
{return'tUC_'+this.case_index++;},start:function(use_case_name)
{var ucase={'id':this.getNewId(),'start_time':new Date().getTime()};this.active_cases[use_case_name]=ucase;},finish:function(use_case_name,notes)
{if(!notes)
{notes='';}
var ucase=this.active_cases[use_case_name];if(ucase)
{var now=new Date().getTime();this.report_time(use_case_name,now-ucase['start_time'],notes);}
delete(this.active_cases[use_case_name]);},report_time:function(use_case_name,timing,notes)
{Tabblo.core.performance.reportPerf('','',timing,'','UC_'+use_case_name,notes)},serialize:function()
{var value=Object.toJSON(this.active_cases);if(value)
{__tcu.setCookie(this.cookie_name,value,'','/');}
else
{__tcu.setCookie(this.cookie_name,'',-999,'/');}},deserialize:function()
{var oldcases=this.active_cases;eval("this.active_cases="+__tcu.getCookie(this.cookie_name));if(this.active_cases){this.active_cases=Object.extend(this.active_cases,oldcases);}
else
{this.active_cases=oldcases;}
__tcu.setCookie(this.cookie_name,'',-999,'/');}});YAHOO.util.Event.addListener(window,"load",Tabblo.core.use_case.deserialize.bind(Tabblo.core.use_case));YAHOO.util.Event.addListener(window,"unload",Tabblo.core.use_case.serialize.bind(Tabblo.core.use_case));
/* tabblo/editor.js */

Tabblo.add_namespace("Tabblo.editor",{EDITOR_TYPE_TABBLO:'tabblo',EDITOR_TYPE_OFFLINE:'offline',FRAME_TYPE_DIV:'div',FRAME_TYPE_IFRAME:'iframe',_isMerch:false,_isMe:false,_isAnon:true,_fake_img_locked:false,_pagesAlreadySetup:false,_storySortID:null,MAX_PAGES:255, _captionEditor_count:0,_currentTextEditing:null,_currentTextEditBlock:null,shouldMagnify:false,SCRATCH_SETUP:0,storyID:0,STORY_PAGE:0,RECORDED_SCREEN_DIMENSION_X:800,BALLOONS:new Object(),_active_text:null,
LAST_UP_ZERO:0,NEXT_UP_ZERO:0,NUM_UP:1,MINOR_SCALE:1.0,MAJOR_SCALE:1,downloaded:0,dirty:0,unload:function()
{Tabblo.editor._active_text=null;Tabblo.editor.storyID=0;Tabblo.editor._styleHasBeenTweaked=false;Tabblo.editor._pagesAlreadySetup=false;Tabblo.editor._storySortID=null;Tabblo.editor.MAX_PAGES=255; Tabblo.editor._captionEditor_count=0;Tabblo.editor._currentTextEditing=null;Tabblo.editor._currentTextEditBlock=null;Tabblo.editor.shouldMagnify=false;try
{for(var i in Tabblo.editor.BALLOONS)
{Tabblo.editor.BALLOONS[i].unreg();}
Tabblo.editor.BALLOONS=null;}
catch(e){}},resetSecondaryImages:function()
{var images=$$('img[id^=page_thumb_]');var len=images.length;for(var i=0;i<len;i++)
{setTimeout(Tabblo.editor.loadImage.bind(this,images[i]),1);}},loadImage:function(image)
{if(image)
{image.src=image.getAttribute('xsrc');}},reloadAllClones:function()
{for(var i=0;i<Tabblo.Grid.numPages;i++)
{Tabblo.editor.reloadDirtyClone(i);}},reloadDirtyClone:function(page)
{var thumb=document.getElementById('page_thumb_'+page);if(thumb)
{var width=thumb.width;thumb.src='/edit/bookpage/'+Tabblo.editor.storyID+'/'+page+'/'+width+'/?invalidate=true&timestamp='+new Date().getTime();}},reloadDirtyClones:function()
{try
{for(var i=Tabblo.editor.LAST_UP_ZERO;i<(Tabblo.editor.LAST_UP_ZERO+Tabblo.editor.NUM_UP);i++)
{if(i==-1){continue;}
var bsc=document.getElementById('blocker_screen_widget_'+i);if(bsc)
{bsc.style.display='none';}
Tabblo.editor.reloadDirtyClone(i);if(bsc)
{bsc.style.display='';}}}
catch(e)
{alert('reloadDirtyClones: '+e.message);printStack(e,'reloadDirtyClones');}},setStoryPage:function(pagenum)
{if(!pagenum){pagenum=0;}
Tabblo.editor.STORY_PAGE=parseInt(pagenum);},isMe:function()
{return Tabblo.editor._isMe;},setMe:function(val)
{Tabblo.editor._isMe=val;},isAnonymous:function()
{return Tabblo.editor._isAnon;},setAnonymous:function(val)
{Tabblo.editor._isAnon=val;},download:function(story_id,partner,paper_size,force,callback,extra_params)
{var len=Tabblo.Grid.getParcelCount();var needed=(Tabblo.Grid.product_type=='cube')?5:1;var b=Tabblo.editor.Warnings.moldyPages();if((Tabblo.Grid.product_type=="foldedcard")&&(MyspaceThemePicker)&&(MyspaceThemePicker.theme_or_user=='user')&&b.length>0)
{needed=99;}
else if(Tabblo.Grid.product_type=="foldedcard")
{ force=true;}
if(((needed-len)<=0)||force)
{Tabblo.editor.downloaded=1;Tabblo.editor.dirty=0;if(callback)
{callback();}
var url="/edit/download/"+story_id+"?partner="+partner+(paper_size?"&paper="+paper_size:"");if(extra_params)
{url+=extra_params;}
location=url;}
else
{if(Tabblo.Grid.product_type=='cube')
{var txt;if((needed-len)==1)
{txt=gettext("1 side of your cube has no photos.");}
else
{txt=interpolate(gettext("%s sides of your cube have no photos."),[needed-len]);}
showMessage("question",gettext("Blank cube sides"),txt+gettext(" Are you sure you want to continue?"),true,function(){Tabblo.editor.download(story_id,partner,paper_size,true,callback,extra_params);closeMessage();});}
else if(Tabblo.Grid.product_type=="foldedcard")
{var sides="";var front=false;var back=false;var inside=false;for(var i=0;i<b.length;i++)
{switch(b[i])
{case"page0":back=true;break;case"page1":front=true;break;default:inside=true;break;}}
if(front)
{sides+="front";}
if(inside)
{if(front)
{sides+=" and ";}
sides+="inside";}
if(back)
{if(front||inside)
{sides+=" and ";}
sides+="back";}
sides+=" ";showMessage("question",gettext("Blank project"),gettext("There is a blank space on the "+sides+"of your card. Are you sure you want to continue?"),true,function(){Tabblo.editor.download(story_id,partner,paper_size,true,callback,extra_params);closeMessage();});}
else
{showMessage("question",gettext("Blank project"),gettext("There are no photos in your project.  Are you sure you want to continue?"),true,function(){Tabblo.editor.download(story_id,partner,paper_size,true,callback,extra_params);closeMessage();});}}},addRandom:function(story_id,reloadFunc)
{__tcu.showProgressIndicator(true,"Adding photos, one moment");var urls=ps.getUrlListAsJSON();if(urls.length)
{var pars='urls='+urls; var st=jQuery("div#the_stream div div.selected");var loc=location.href;if(st&&st[0])
{ var tid=st[0].id;if(tid)
{var qp=__tcu.findQueryParam(loc,"t");if(qp!=null)
{if(tid=="photostream_tab")
{loc=loc.replace(qp,'');if(loc.indexOf('t=')>-1)
{loc=loc.replace('t=','');}}
else
{loc=loc.replace(qp,tid);}}
else
{if(tid!="photostream_tab")
{if(loc.indexOf("?")!=-1)
{loc+="&t="+tid;}
else
{loc+="?t="+tid;}}}
if(tid=="sets_tab")
{ var ind=jQuery("#set_supp select")[0].selectedIndex;qp=__tcu.findQueryParam(loc,"i");if(qp!=null)
{loc=loc.replace("i="+qp,"i="+ind);}
else
{loc+="&i="+ind;}}
else if(tid=="tags_tab")
{var val=jQuery("#tags_supp #tag_lookup")[0].value;qp=__tcu.findQueryParam(loc,"v");if(val!="")
{if(qp!=null)
{loc=loc.replace(qp,val);}
else
{loc+="&v="+val;}}}}}
if(!reloadFunc)
{reloadFunc=function(){location=loc;};}
Tabblo.ajax.Send.beam('/partners/flickr/add_random/'+story_id,{parameters:pars,onComplete:reloadFunc});}}});YAHOO.util.Event.addListener(window,"unload",Tabblo.editor.unload);
/* tabblo/upload.js */

Tabblo.add_namespace("Tabblo.upload.simple",{_setUploadHover:function(obj,mold)
{var uh=$('upload_holder');uh.style.display="";$('mold_id').value='m'+mold.getAttribute('seid');var topleft=__tcu.getXY(mold);var extra_height=0;if(isSafari)
{$('upload_form_holder').style.left='0px';$('upload_form_holder').style.top='0px';extra_height=50;$('file_button').style.height=(parseInt(mold.style.height)+extra_height)+"px";topleft[1]+=parseInt(__tcu.getHeight(mold))/2-10-100;}
YAHOO.util.Dom.setXY(uh,topleft);uh.style.width=mold.style.width;uh.style.height=(parseInt(mold.style.height)+extra_height)+"px";uh.style.zIndex=String(parseInt(mold.style.zIndex)+1);},submit:function()
{__tcu.scheduleProgressIndicator("Uploading image... One moment.",10);$("mold_upload").submit();},setup:function(extra_params)
{__tcu.getDiv('upload_holder',Tabblo.upload.simple._setup.bind(this,extra_params),'upload_holder');},_setup:function(extra_params)
{var uh=$('upload_holder');uh.style.display="none";var molds=$$('div[parceltype="mold"]');for(var i=0;i<molds.length;i++)
{this.setupMold(molds[i]);} 
var action=document.location.href;action=action.replace(/\?.*$/,'');action+='?page='+Tabblo.Editor.curr_page;if(extra_params)
{action+='&'+extra_params;}
$('mold_upload').action=action;},setupMold:function(mold)
{if(mold.getAttribute("hover_setup")!="true")
{mold.setAttribute("hover_setup","true");YAHOO.util.Event.addListener(mold,"mouseover",this._setUploadHover.bind(this),mold);mold.style.cursor="pointer";}}});
/* tabblo/editor/Template.js */
function _indent(num){var s="";for(var i=0;i<num;i++){s+="\t";};return s;}
var _DEBUG_WALKER=false;var _DEBUG_OUTPUTTER=false;var _DEBUG_VALUES=false;Tabblo.add_namespace("Tabblo.editor.Template.utils",{_normalizeTypes:function(type,thing_name)
{if(type=="string"){type="String";}
if(type=="array"){type="Array";}
if(type=="object"){type="Object";}
if(Tabblo.editor.Template.skipType(type)){return 0;}
if(Tabblo.editor.Template.skipField(thing_name)){return 0;}
return type;},_sectiontoggle:function(sectionname)
{if(Tabblo.editor.Template.utils._getWindow().$(sectionname).style.display=="none")
{Tabblo.editor.Template.utils._getWindow().$("toggle_"+sectionname).innerHTML="[-]";Tabblo.editor.Template.utils._getWindow().$(sectionname).style.display="block";}
else
{Tabblo.editor.Template.utils._getWindow().$("toggle_"+sectionname).innerHTML="[+]";Tabblo.editor.Template.utils._getWindow().$(sectionname).style.display="none";}},_getWindow:function()
{if(!Tabblo.editor.Template.myWindow)
{Tabblo.editor.Template.myWindow=window;}
return Tabblo.editor.Template.myWindow;}});var __tu=Tabblo.editor.Template.utils;Tabblo.add_namespace("Tabblo.editor.Template",{T:null,_formString:"",myWindow:window,annotations:{block_x:"The width of an individual grid block",block_y:"The height of an individual grid block",collmode:"The collision mode (reflow on collisions of images)",fakemargin:"The space between photos in very fine grids",fixedheight:"No clue, sorry",fixedmolds:"No clue, sorry",fixedxforms:"No clue, sorry",flowmode:"The reflow mode (columns, rows)",headkind:"No clue, sorry",grid_bx:"The number of grid columns",grid_by:"The number of grid rows",inmargin:"Pixel width of 'streets' between photos",inmarginy:"If set, pixel height of 'streets' between photos",layoutmode:"w/collmode and flowmode, sets the way tabblos are laid out",ornaments:"Item ornaments",options:"No clue, ask Ned",pagebgalign:"For a page background photo, its alignment",pagebgimage:"The image for a page background",pagebgimagehighres:"The high res printing image for a bg",pagebgrepeat:"If the page bg image isn't aligned, its repeat property",pagebgtransparent:"Not sure, ask Ned",pagecolor:"BG color for a page (products only)",scale:"Scale for a product (products only)",smallx:"The minimum number of blocks across for an image (fine grids)",smally:"Like smallx, but for height",substrate:"No clue, ask Ned",totalheight:"Not sure, for products only, ask Ned","caption.bgalign":"Alignment for caption img bg (not yet implemented)","caption.bgcolor":"The background color behind a caption's text","caption.bgimage":"Not yet implemented","caption.bgimagehighres":"Not yet implemented","caption.bgrepeat":"Not yet implemented","caption.bgtransparent":"Not yet implemented","caption.height":"The box height of a caption","caption.offsetx":"How far from left edge caption begins","caption.offsety":"How far from btm edge caption begins (negative OK)","caption.opacity":"Opacity of caption *text* (0 - 1)","caption.scale":"Not sure, ask Ned","caption.width":"Box width of caption","defaultxform.border":"Pixel size of border rendered *on image*","defaultxform.bordercolor":"Color of image border","defaultxform.colorprofilepreserve":"Whether to preserve the color profiles of images","defaultxform.dropshadow":"Whether to add an image dropshadow","defaultxform.dropshadowbg":"Drop shadow color (adjusting this is silly)","defaultxform.fitcpx":"X-coord (pct of image width) of image centerpoint (for fitting; 0-1)","defaultxform.fitcpy":"Y-coord (pct of image height) of image centerpoint (for fitting; 0-1)","defaultxform.fitfactor":"Image scale (for fit images; 0-8)","defaultxform.fitnocrop":"Show uncropped image scaled to fit size (messing with this is silly)","defaultxform.rotate":"Image default rotation"},_Static:function()
{this._self=new Array();for(var i=0;i<this.arguments;i++)
{this._self[i]=this.arguments[i];}},_ColorString:"Color",_ColorString_regex:"^\#[a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9]$",_HOrientation:"List",_HOrientation_options:["left","center","right"],_VOrientation:"List",_VOrientation_options:["top","middle","bottom"],_Orientation:"List",_Orientation_options:["t","l","b","r"],_CollmodeString:"List",_CollmodeString_options:["none","reflow","addspace"],_FlowmodeString:"List",_FlowmodeString_options:["none","free","compact"],_LayoutmodeString:"List",_LayoutmodeString_options:["template","manual","reflow","bric","page"],_Sides:["Integer","Integer","Integer","Integer"],_BlockSpec:{posx:"Integer",posy:"Integer","name":"String",numphotos:"Integer"},_BorderSpec:{color:"Tabblo.editor.Template._ColorString",scale:"Float",scaled:"Boolean",width:"Tabblo.editor.Template._Sides"},_PartialCssPropList:{align:"String",bold:"String",caps:"String",capsmallcaps:"String",color:"Tabblo.editor.Template._ColorString",fontstring:"String",italic:"String",leftindent:"String",letterspacing:"String",lineheight:"String",listmarker:"String",size:"String",smallcaps:"String",underline:"String"},_TypeSpec:{align:"Tabblo.editor.Template._HOrientation",bold:"Boolean",caps:"Boolean",capsmallcaps:"Boolean",color:"Tabblo.editor.Template._ColorString",font:"String",fontstring:"String",italic:"Boolean",leftindent:"Integer",letterspacing:"Integer",lineheight:"Integer",lineheight_pct:"Float",listmarker:"String",liststyletype:"String",minwordspace:"Integer",scale:"Float",scaled:"Boolean",size:"Integer",smallcaps:"Boolean",spaceafter:"Integer",spacebefore:"Integer",switchable:'Tabblo.editor.Template._Static("fontstring", "bold", "italic", "underline", "capsmallcaps", "smallcaps", "caps", "letterspacing")',underline:"Boolean",wordspace:"Integer",name_to_css:"Tabblo.editor.Template._PartialCssPropList",p_name_to_css:"Tabblo.editor.Template._PartialCssPropList",span_name_to_css:"Tabblo.editor.Template._PartialCssPropList",vertical:"Tabblo.editor.Template._VOrientation"},_BoxSpec:{bgalign:"Tabblo.editor.Template._Orientation",bgcolor:"Tabblo.editor.Template._ColorString",bgimage:"String",bgimagehighres:"String",bgrepeat:"String",bgtransparent:"Integer",height:"Integer",offsetx:"Integer",offsety:"Integer",opacity:"Float",ornaments:"Array",scale:"Float",scaled:"Boolean",width:"Integer",border:"Tabblo.editor.Template._BorderSpec",external_names:{bgcolor:"Tabblo.editor.Template._ColorString",textcolor:"String",textface:"String",textsize:"String"},margin:"Tabblo.editor.Template._Sides",padding:"Tabblo.editor.Template._Sides",type:"Tabblo.editor.Template._TypeSpec"},_GridGeometry:{block_x:"Integer",block_y:"Integer","default":"Integer",fakemargin:"Integer",inmargin:"Integer",inmarginy:"Integer","name":"String",smallx:"Integer",smally:"Integer"},_MoldSpec:{lock:"String",posx:"Integer",posy:"Integer",sizex:"Integer",sizey:"Integer",type:"String",xform:"String"},CustomTypes:["Tabblo.editor.Template._Static","Tabblo.editor.Template._Sides","Tabblo.editor.Template._BlockSpec","Tabblo.editor.Template._BorderSpec","Tabblo.editor.Template._BoxSpec","Tabblo.editor.Template._PartialCssPropList","Tabblo.editor.Template._TypeSpec","Tabblo.editor.Template._BoxSpec","Tabblo.editor.Template._GridGeometry","Tabblo.editor.Template._MoldSpec","Tabblo.editor.Template._ColorString","Tabblo.editor.Template._Orientation","Tabblo.editor.Template._HOrientation","Tabblo.editor.Template._VOrientation","Tabblo.editor.Template._CollmodeString","Tabblo.editor.Template._FlowmodeString","Tabblo.editor.Template._LayoutmodeString"],StandardTypes:["Integer","String","Boolean","Float","Array","Color","List"],T_dict:{block_x:"Integer",block_y:"Integer",brand:"String",collmode:"Tabblo.editor.Template._CollmodeString",fakemargin:"Integer",fixedheight:"Integer",fixedmolds:"Integer",fixedxforms:"Integer",flowmode:"Tabblo.editor.Template._FlowmodeString",fontsizes:"Array",geomattrs:'new Tabblo.editor.Template._Static("block_x", "block_y", "inmargin", "inmarginy", "fakemargin", "smallx", "smally", "grid_bx", "grid_by")',grid_bx:"Integer",grid_by:"Integer",headkind:"String",headoverlap:"Integer",idealphotocount:"Integer",inmargin:"Integer",inmarginy:"Integer",layoutmode:"Tabblo.editor.Template._LayoutmodeString",options:"String",pagebgalign:"Tabblo.editor.Template._Orientation",pagebgimage:"String",pagebgimagehighres:"String",pagebgrepeat:"String",pagebgtransparent:"Integer",pagecolor:"Tabblo.editor.Template._ColorString",posterbuckets:"String",product:"Integer",scale:"Float",scaled:"Boolean",smallx:"Integer",smally:"Integer",substrate:"String",totalheight:"Integer",xforms:"Array",blocks:["Tabblo.editor.Template._BlockSpec"],caption:"Tabblo.editor.Template._BoxSpec",defaultxform:{border:"Integer",bordercolor:"Tabblo.editor.Template._ColorString",cmyk:"Boolean",colorprofilepreserve:"Boolean",cropBRx:"Integer",cropBRy:"Integer",cropTLx:"Integer",cropTLy:"Integer",dpiscale:"Float",dropshadow:"Boolean",dropshadowbg:"Tabblo.editor.Template._ColorString",fitcpx:"Integer",fitcpy:"Integer",fitfactor:"Float",fitnocrop:"Boolean",fitoffsetx:"Integer",fitoffsety:"Integer",fitx:"Integer",fity:"Integer",gridy:"Integer",hockney:"Integer",lowerres:"Boolean",nointerlace:"Boolean",nosharpen:"Boolean",nosuper:"Boolean",roi:"String",rotate:"Integer",setbx:"Integer",setby:"Integer",upscaleok:"Boolean",url:"String",xform:"String"},external_names:{captioncolor:"Tabblo.editor.Template._ColorString",captionface:"String",captionsize:"String",fieldcolor:"Tabblo.editor.Template._ColorString",headcolor:"Tabblo.editor.Template._ColorString",headface:"String",headsize:"String",pagecolor:"Tabblo.editor.Template._ColorString",textcolor:"Tabblo.editor.Template._ColorString",textface:"String",textsize:"String"},field:"Tabblo.editor.Template._BoxSpec",geometries:["Tabblo.editor.Template._GridGeometry"],head:"Tabblo.editor.Template._BoxSpec",itemborder:"Tabblo.editor.Template._BorderSpec",molds:["Tabblo.editor.Template._MoldSpec"],photo:"Tabblo.editor.Template._BoxSpec",text:"Tabblo.editor.Template._BoxSpec"},isCustomType:function(t)
{for(var i=0;i<Tabblo.editor.Template.CustomTypes.length;i++)
{var s=Tabblo.editor.Template.CustomTypes[i];if(s==t)
{return true;}}
return false;},_processArray:function(arr,indent,gl_package,optSectionHandler,optFieldHandler,leaveSectionHandler)
{for(var j=0;j<arr.length;j++)
{var u=arr[j];if(Tabblo.editor.Template.isCustomType(u))
{if(_DEBUG_WALKER){__d(_indent(indent),"::LEAF::",gl_package,j,u);}
var _u=u;u=eval(u);var processed=0;if(optSectionHandler)
{processed=optSectionHandler(gl_package+'.'+j,_u);}
Tabblo.editor.Template.walkTypes(u,arr,indent+1,gl_package+'.'+j,j,optSectionHandler,optFieldHandler,leaveSectionHandler);if(processed&&leaveSectionHandler)
{leaveSectionHandler("1");}}
else
{if(_DEBUG_WALKER){__d(_indent(indent),":;NODE;:",gl_package,j,u);}
if(optFieldHandler)
{optFieldHandler(gl_package+'['+j+']',typeof u);}}}},findDirty:function()
{var formfields=__tu._getWindow().$$('.t_form_field');var _T={};for(var i=0;i<formfields.length;i++)
{var o=formfields[i];var t=o.type.toLowerCase();var v=null;var ov=o.getAttribute('orig_value');var n=o.name;var sn=n.substring(25);if((t=="select-one")||(t=="select"))
{var selectedIndex=o.selectedIndex;v=o.options[selectedIndex].value;}
else
{v=o.value;}
if(v!=ov)
{__d('findDirty',"DIRTY",n,sn,ov,v);o.setAttribute("orig_value",v);var parts=sn.split('.');var refe=_T;for(var j=0;j<parts.length;j++)
{if(j==(parts.length-1))
{var _n=parts[j]; if(_n.indexOf('[')!=-1)
{_n=_n.split('[');var _primary_name=_n[0];var _number=parseInt(_n[1].substring(0,_n[1].indexOf(']')));var a=new Array();if(refe[_primary_name])
{if(!isNaN(parseInt(v))){v=parseInt(v);}
else if(v.indexOf('#')!=-1){v=escape(v);}
refe[_primary_name][_number]=v;}
else
{for(var k=0;k<=_number;k++)
{if(k==_number)
{if(!isNaN(parseInt(v))){v=parseInt(v);}
else if(v.indexOf('#')!=-1){v=escape(v);}
a[_number]=v;refe[_primary_name]=a;}
else
{a[k]=0;}}}} 
else
{v=YAHOO.lang.trim(v);if(!isNaN(parseInt(v))){v=parseInt(v);}
else if(v.indexOf('#')!=-1){v=escape(v);}
else if(v.indexOf('[')==0)
{v=eval(v);}
refe[parts[j]]=v;}}
else
{if(!refe[parts[j]])
{refe[parts[j]]={};}}
refe=refe[parts[j]];}}}
return Object.toJSON(_T);},walkTypes:function(top_obj,_parent,indent,gl_package,fieldname,optSectionHandler,optFieldHandler,leaveSectionHandler)
{if(!indent)
{indent=0;}
if(!top_obj)
{gl_package="Tabblo.editor.Template.T";fieldname="";top_obj=Tabblo.editor.Template.T_dict;}
if(typeof top_obj=="string")
{var implemented_type=null;if(_parent)
{var field=gl_package.substring(gl_package.lastIndexOf('.')+1);implemented_type=_parent[field].substring(_parent[field].lastIndexOf('.')+1);}
if(_DEBUG_WALKER){__d(_indent(indent),"::NODE::","(custom type equivalence)",gl_package,_parent,implemented_type,fieldname,top_obj);}
if(optFieldHandler)
{optFieldHandler(gl_package,top_obj,implemented_type);}}
else if(top_obj instanceof Array)
{Tabblo.editor.Template._processArray(top_obj,indent,gl_package,optSectionHandler,optFieldHandler,leaveSectionHandler);}
else
{for(var i in top_obj)
{var t=top_obj[i];if(t instanceof Array)
{var processed=0;if(_DEBUG_WALKER){__d(_indent(indent),"::LEAF::",gl_package,i,"Array");}
if(optSectionHandler)
{processed=optSectionHandler(gl_package+'.'+i,"Array");}
Tabblo.editor.Template._processArray(t,indent+1,gl_package+'.'+i,optSectionHandler,optFieldHandler,leaveSectionHandler);if(processed&&leaveSectionHandler)
{leaveSectionHandler("2");}}
else if(Tabblo.editor.Template.isCustomType(t))
{if(_DEBUG_WALKER){__d(_indent(indent),"::LEAF::",gl_package,i,t);}
var _t=t;t=eval(t);var processed=0;if(typeof t!="string")
{if(optSectionHandler)
{processed=optSectionHandler(gl_package+'.'+i,_t);}}
Tabblo.editor.Template.walkTypes(t,top_obj,indent+1,gl_package+'.'+i,i,optSectionHandler,optFieldHandler,leaveSectionHandler);if(processed&&leaveSectionHandler)
{leaveSectionHandler("3");}}
else if(typeof t=="object")
{var processed=0;if(_DEBUG_WALKER){__d(_indent(indent),"::LEAF::",gl_package,i,typeof t);}
if(optSectionHandler)
{processed=optSectionHandler(gl_package+'.'+i,typeof t);}
Tabblo.editor.Template.walkTypes(t,top_obj,indent+1,gl_package+'.'+i,i,optSectionHandler,optFieldHandler,leaveSectionHandler);if(processed&&leaveSectionHandler)
{leaveSectionHandler("4");}}
else
{if(_DEBUG_WALKER){__d(_indent(indent),"::NODE::",gl_package,i,t);}
if(optFieldHandler)
{optFieldHandler(gl_package+'.'+i,t);}}}}},getJSONRepresentation:function(callback)
{Tabblo.ajax.simple_beam('/studio/debug/json_design/'+Tabblo.editor.storyID+'/',null,function(ajaxResponse)
{Tabblo.editor.Template.T=ajaxResponse.responseObject;if(callback)
{callback(ajaxResponse);}});},createEditForm:function()
{Tabblo.editor.Template._formString="";Tabblo.editor.Template.walkTypes(null,null,0,null,null,Tabblo.editor.Template.outputSection,Tabblo.editor.Template.outputField,Tabblo.editor.Template._leaveSection);$('formbuilder').style.display="block";YAHOO.util.Dom.setXY($('formbuilder'),[100,100]);$('formbuilder_inner').innerHTML=Tabblo.editor.Template._formString;},popout:function()
{Tabblo.editor.Template.myWindow=window.open("/bitty-static/blank-styled.html","w1","width=590,height=710,status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=0,scrollbars=1");$("formbuilder").style.visibility="hidden";YAHOO.util.Dom.setXY($("formbuilder"),[0,0]);setTimeout(function(){if(isSafari)
{__tu._getWindow().document.body.innerHTML=$('formbuilder').outerHTML;Element.remove($('formbuilder'));}
else
{__tu._getWindow().document.body.appendChild($('formbuilder'));}
__tu._getWindow().$('formbuilder').style.visibility="visible";__tu._getWindow().$('formbuilder').style.height="680px";__tu._getWindow().$('formbuilder_inner').style.height="620px";__tu._getWindow().$('tlc_closer').style.display="none";__tu._getWindow().$('tlc_popout').style.display="none";setTimeout(function(){__tu._getWindow().Tabblo=Tabblo;},1000);},2000);},skip_types:["Tabblo.editor.Template._Static","Tabblo.editor.Template._PartialCssPropList","Tabblo.editor.Template._MoldSpec","Tabblo.editor.Template._GridGeometry"],skipType:function(type)
{for(var i=0;i<Tabblo.editor.Template.skip_types.length;i++)
{var s=Tabblo.editor.Template.skip_types[i];if(type==s)
{return true;}}
return false;},skip_fields:["fontsizes","blocks","brand","external_names","fontstring","geometries","geomattrs","molds","xforms","name_to_css","p_name_to_css","span_name_to_css","switchable","fixedheight","fixedmolds","fixedxforms","headkind","headoverlap","idealphotocount","posterbuckets","product","scaled","cmyk","cropBRx","cropBRy","cropTLx","cropTLy","dpiscale","fitoffsetx","fitoffsety","fitx","fity","gridy","hockney","lowerres","nointerlace","nosharpen","nosuper","roi","setbx","setby","upscaleok","url","xform"],skipField:function(fieldname)
{for(var i=0;i<Tabblo.editor.Template.skip_fields.length;i++)
{var s=Tabblo.editor.Template.skip_fields[i];if((fieldname==s)||(fieldname.indexOf('.'+s)!=-1))
{return true;}}
return false;},_leaveSection:function(num)
{Tabblo.editor.Template._formString+="</div></div>";},outputSection:function(sectionname,type)
{type=__tu._normalizeTypes(type,sectionname);if(type==0){return 0;}
if(_DEBUG_OUTPUTTER){__d('outputSection',_indent(1),sectionname,_indent(1),"SECTION",_indent(1),type);}
var _f=sectionname;var visible_sectionname=sectionname.substring(25);var value=eval(_f);if(value==null){value="";}
if(_DEBUG_VALUES)
{__d('outputSection',sectionname,type,value);}
var c='';var t='';var BASE_STRING="<div class='formbuilder_capsule t_section <CLASS>'><p><span><a href='javascript:void(0);'  id='toggle_"+sectionname+"' onclick='Tabblo.editor.Template.utils._sectiontoggle(\""+sectionname+"\")'>[+]</a></span> <TYPE> section: "+visible_sectionname+".</p><div style='display:none;' id='"+sectionname+"'>";switch(type)
{case"Tabblo.editor.Template._Static":c="t_static";t="Static";break;case"Tabblo.editor.Template._Sides":c="t_sides";t="Sides";break;case"Tabblo.editor.Template._BlockSpec":c="t_blockspec";t="BlockSpec";break;case"Tabblo.editor.Template._BorderSpec":c="t_borderspec";t="BorderSpec";break;case"Tabblo.editor.Template._BoxSpec":c="t_boxspec";t="BoxSpec";break;case"Tabblo.editor.Template._PartialCssPropList":c="t_partialcssproplist";t="PartialCssPropList";break;case"Tabblo.editor.Template._TypeSpec":c="t_typespec";t="TypeSpec";break;case"Tabblo.editor.Template._BoxSpec":c="t_boxspec";t="BoxSpec";break;case"Tabblo.editor.Template._GridGeometry":c="t_gridgeometry";t="GridGeometry";break;case"Tabblo.editor.Template._MoldSpec":c="t_moldspec";t="MoldSpec";break;case"Object":c="t_object";t="Object";break;default:__d('outputField','bad type found:'+type);return 0;}
var s=BASE_STRING.replace("<CLASS>",c);s=s.replace("<TYPE>",t);Tabblo.editor.Template._formString+=s;return 1;},outputField:function(fieldname,type,implemented_type)
{type=__tu._normalizeTypes(type,fieldname);if(type==0){return 0;}
if(_DEBUG_OUTPUTTER){__d('outputField',_indent(2),fieldname,_indent(1),type);}
var _f=fieldname;var visible_fieldname=fieldname.substring(25);var value=eval(_f);if(value==null){value="";}
if(_DEBUG_VALUES)
{__d('outputField',fieldname,type,value);}
var annotation=Tabblo.editor.Template.annotations[visible_fieldname]||"";switch(type)
{case"Integer":Tabblo.editor.Template._formString+="<div class='formbuilder_capsule t_field t_integer'><div class='t_field_label'><b>"+visible_fieldname+"</b>:<br/><span class='t_instruction'>"+annotation+"</span></div><input class='t_form_field' name='"+fieldname+"' orig_value='"+value+"' value='"+value+"' type='text' size='8' /> <span class='t_instruction'>(Integer)</span></div>";break;case"String":Tabblo.editor.Template._formString+="<div class='formbuilder_capsule t_field t_string'><div class='t_field_label'><b>"+visible_fieldname+"</b>:<br/><span class='t_instruction'>"+annotation+"</span></div><input class='t_form_field' name='"+fieldname+"' orig_value='"+value+"' value='"+value+"' type='text' size='8' /> <span class='t_instruction'>(String)</span></div>";break;case"Boolean":Tabblo.editor.Template._formString+="<div class='formbuilder_capsule t_field t_boolean'><div class='t_field_label'><b>"+visible_fieldname+"</b>:<br/><span class='t_instruction'>"+annotation+"</span></div><input class='t_form_field' name='"+fieldname+"' orig_value='"+value+"' value='"+value+"' type='text' size='8' /> <span class='t_instruction'>(Boolean)</span></div>";break;case"Float":Tabblo.editor.Template._formString+="<div class='formbuilder_capsule t_field t_float'><div class='t_field_label'><b>"+visible_fieldname+"</b>:<br/><span class='t_instruction'>"+annotation+"</span></div><input class='t_form_field' name='"+fieldname+"' orig_value='"+value+"' value='"+value+"' type='text' size='8' /> <span class='t_instruction'>(Float)</span></div>";break;case"Array":value=Object.toJSON(value);Tabblo.editor.Template._formString+="<div class='formbuilder_capsule t_field t_array'><div class='t_field_label'><b>"+visible_fieldname+"</b>:<br/><span class='t_instruction'>"+annotation+"</span></div><input class='t_form_field' name='"+fieldname+"' orig_value='"+value+"' value='"+value+"' type='text' size='8' /> <span class='t_instruction'>(Array)</span></div>";break;case"Color":Tabblo.editor.Template._formString+="<div class='formbuilder_capsule t_field t_color'><div class='t_field_label'><b>"+visible_fieldname+"</b>:<br/><span class='t_instruction'>"+annotation+"</span></div><input class='t_form_field' name='"+fieldname+"' orig_value='"+value+"' value='"+value+"' type='text' size='8' /> <span class='t_instruction'>(Color)</span></div>";break;case"List":Tabblo.editor.Template._formString+="<div class='formbuilder_capsule t_field t_list'><div class='t_field_label'><b>"+visible_fieldname+"</b>:<br/><span class='t_instruction'>"+annotation+"</span></div><select class='t_form_field' orig_value='"+value+"' name='"+fieldname+"'>";var options=Tabblo.editor.Template[implemented_type+"_options"];Tabblo.editor.Template._formString+="<option value=''";if(!value){Tabblo.editor.Template._formString+=" SELECTED";}
Tabblo.editor.Template._formString+=">&lt;none&gt;</option>";for(var i=0;i<options.length;i++)
{Tabblo.editor.Template._formString+="<option value='"+options[i]+"'";if(options[i]==value){Tabblo.editor.Template._formString+=" SELECTED";}
Tabblo.editor.Template._formString+=">"+options[i]+"</option>";}
Tabblo.editor.Template._formString+="</select> <span class='t_instruction'>(List)</span></div>";break;default:__d('outputField','bad type found:'+type);return 0;}
return 1;},save:function()
{var dirtystring="template="+this.findDirty();Tabblo.ajax.simple_beam('/edit/save_storytemplate_string/'+Tabblo.editor.storyID+'/',dirtystring,function(ajaxResponse)
{Tabblo.Grid.refreshPrimaries();});},reset:function()
{__tu._getWindow().$('tform').reset();},edit:function()
{try
{Tabblo.editor.Template.myWindow.close();}catch(e){}
Tabblo.editor.Template.myWindow=window;__tcu.getDiv("formbuilder",function(){Tabblo.editor.Template.getJSONRepresentation(Tabblo.editor.Template.__edit);});},__edit:function(ajaxResponse)
{Tabblo.editor.Template.createEditForm();}});
/* tabblo/editor/warnings.js */
Tabblo.add_namespace("Tabblo.editor.warning_messages",{
lowres:"This photo is too low resolution to print well. Try one of these fixes: make the photo smaller, zoom the photo out (if possible), or use a different photo.",lowres_title:"Warning: Low-resolution image",textwide:"This text may be too wide for its block.  Try adding spaces to provide places to break the text.",textlong:"This text may be too long for its block.  Try one of these fixes: make the font smaller, expand the size of the block, or edit the text to make it shorter.",blankpage:"This page is blank.",textunsafe:"This text block may extend outside the safe area, and so may be difficult to print properly. Try moving the text block further from the edge of the page or editing the text to make it shorter.",capoffpage:"This photo has a caption which may fall off the page. Try one of these fixes: make the photo smaller, move the photo further from the edge of the page, or edit the caption text to make it shorter.",capunsafe:"This photo has a caption which may extend outside the safe area, and so may be difficult to print properly. Try one of these fixes: make the photo smaller, move the photo further from the edge of the page, or edit the caption text to make it shorter."});
/* tabblo/editor/edit.js */

Tabblo.core.extend(Tabblo.editor,{lightboxLoadedEvent:new YAHOO.util.CustomEvent("lightboxLoadedEvent",Tabblo.editor),setting_layout:false,IFH_INIT:false,DRAG_INTERVAL:null,zoomDelay:null,animationDivIndex:0,deleteAnimation:function(posArray,width,height)
{this.posx=posArray[0];this.posy=posArray[1];this.width=width;this.height=height;function _run(divId)
{var screenDimensions=__tcu.getScreenDimensions();var distanceToBottom=screenDimensions[1]-this.posy+YAHOO.util.Dom.getDocumentScrollTop();var distanceToNearRightSide=screenDimensions[0]-this.posx+YAHOO.util.Dom.getDocumentScrollLeft();var x=new Tabblo.core.effects.CompositeAnimation(divId,0.75,this.done.bind(this,divId),1,1,null,null,null,null,null,{by:[distanceToNearRightSide,distanceToBottom]},null);}
function run()
{var divId='delete_animation_'+Tabblo.editor.animationDivIndex;__tcu.getDiv(divId,_run.bind(this,divId),'delete_animation',null,{'id':divId,'x':this.posx,'y':this.posy,'w':this.width,'h':this.height});Tabblo.editor.animationDivIndex++;}
function done(divId)
{Element.remove($(divId));}
this.run=run;this.done=done;},Warnings:{enabled:true,init:function()
{if(!(undefined===__TABBLO_STORY_WARNINGS))
{this._bindWarnings(__TABBLO_STORY_WARNINGS);}},moldyPages:function()
{var ret=new Array();for(var page_id in Tabblo.editor.Warnings.warnings)
{var pw=Tabblo.editor.Warnings.warnings[page_id];if(pw)
{for(var item_id in pw)
{if(item_id.indexOf("page")!=-1)
{ var warnings=pw[item_id];if(warnings)
{for(var j=0;j<warnings.length;j++)
{var warning_type=warnings[j]['warning_type'];if(warning_type=="emptymold")
{ret.push(item_id);}}}}}}}
return ret;},simpleGetWarnings:function(storyId,callback)
{Tabblo.ajax.simple_beam("/edit/get_story_warning_summary/"+storyId+"/","",function(ajaxResponse){Tabblo.editor.Warnings.warnings=ajaxResponse.responseObject['warn'];callback(ajaxResponse);});},_unbindWarnings:function()
{for(var i=0;i<Tabblo.Grid.ENABLED_WARNINGS.length;i++)
{Tabblo.editor.parcels.disableWarningForParcel(Tabblo.Grid.ENABLED_WARNINGS[i]);}
Tabblo.Grid.ENABLED_WARNINGS=new Array();Tabblo.editor.Warnings.warnings=null;},_bindWarnings:function(warnings)
{if(!warnings)
{return false;}
Tabblo.editor.Warnings.warnings=warnings;if(!Tabblo.editor.Warnings.enabled)
{return false;}
var story_warnings=warnings;for(var page_id in story_warnings)
{var pw=story_warnings[page_id];if(pw)
{for(var item_id in pw)
{var pwi=pw[item_id][0];if(pwi)
{Tabblo.editor.parcels.enableWarningForParcel(item_id);Tabblo.Grid.ENABLED_WARNINGS.push(item_id);}}}}
return true;},bindWarnings:function(ajaxResponse)
{var warnings=null;try
{warnings=ajaxResponse.responseObject['warn'];if(!warnings)
{return false;}}
catch(e)
{printStack(e,'bindWarnings:NULL response from server:');return false;}
this._unbindWarnings();return this._bindWarnings(warnings);},prepareWarningDetail:function()
{Tabblo.Grid.WARNING_DETAIL_ENABLED=1;},displayWarningDetail:function(parcel_id)
{if(Tabblo.Grid.WARNING_DETAIL_ENABLED)
{if(parcel_id)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(parcel_id));if(parcel)
{var warning_text=parcel.getWarningText();if(warning_text)
{var ptype=parcel.getType();var title=warning_text.title;if(!title)
{title="Warning: "+ptype+" problem";}
showMessage("warn",title,warning_text.msg);}}}}},hideShelfTimer:null,displayWarningSummary:function(parcel_id)
{if(parcel_id)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(parcel_id));if(parcel)
{var warning_text=parcel.getWarningText();if(warning_text)
{Tabblo.editor.Warnings.hideShelfTimer=setTimeout(Tabblo.editor.Grid.hideAllOverlays,50);var obj=jQuery("div#warning_summary_"+parcel_id);__tcu.setObjectOpacity(obj[0],75);var ptype=parcel.getType();var title=warning_text.title;if(!title)
{title="Warning: "+ptype+" problem";}
var msg="<b>"+title+"</b><p/>Click for more information";obj.html(msg).css('display','block');}}}},hideWarningSummary:function(parcel_id)
{if(parcel_id)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(parcel_id));if(parcel)
{var obj=jQuery("div#warning_summary_"+parcel_id);obj.css('display','none');}
if(Tabblo.editor.Warnings.hideShelfTimer)
{clearTimeout(Tabblo.editor.Warnings.hideShelfTimer);Tabblo.editor.Warnings.hideShelfTimer=null;}}},getWarningTextForParcel:function(parcel)
{if(Tabblo.editor.Warnings.warnings)
{var story_warnings=Tabblo.editor.Warnings.warnings;if(story_warnings)
{var ppage=parcel.getPage();var page_warnings=story_warnings[ppage];if(page_warnings)
{var item_warnings=page_warnings[parcel.id];if(item_warnings)
{ var w=item_warnings[0];var wty=w['warning_type'];var wtt=Tabblo.editor.warning_messages[wty];if(wtt)
{var ret={msg:wtt};wtt=Tabblo.editor.warning_messages[wty+'_title'];if(wtt)
{ret.title=wtt;}
return ret;}}}}}
return null;},dumpWarnings:function()
{if(!Tabblo.editor.Warnings.warnings)return;printfire("Warning report for story "+Tabblo.editor.storyID+":");for(var page_id in Tabblo.editor.Warnings.warnings)
{printfire("\tpage "+page_id+":");var pw=Tabblo.editor.Warnings.warnings[page_id];if(pw)
{for(var item_id in pw)
{for(var i=0;i<pw[item_id].length;i++)
{var pwi=pw[item_id][i];printfire("\t\tItem ID ("+pwi['item_id']+") reported "+pwi['warning_type']+":"+pwi['warning_text']+" -- "+pwi['page']);}}}
else
{printfire("\t\t(none this page)");}}}},bubbleLock:function(bubbleId,draggable_obj)
{var eltid=this.getAttribute("bubble_elt_id");var b=$(eltid);var bh=parseInt(b.offsetHeight);var bw=parseInt(b.offsetWidth);var t=parseInt(this.style.top);var l=parseInt(this.style.left);var origloc=this.getAttribute("origloc");if(!origloc)
{this.setAttribute("origloc",t+'x'+l);}
if(t<-75){this.style.top="-75px";t=-75;}
if(l<-75){this.style.left="-75px";l=-75;}
if(t>=(bh-25)){this.style.top=(bh-25)+"px";t=(bh-25);}
if(l>=(bw-25)){this.style.left=(bw-25)+"px";l=(bw-25);}
var raw=this.id.split('_')[1];var btxt=$('bubbletextc_'+raw);var tl=parseInt(btxt.style.left);var tt=parseInt(btxt.style.top);var tw=parseInt(btxt.style.width);var th=parseInt(btxt.style.height);var tmp=parseInt(btxt.getAttribute("origwidth"));var tmph=parseInt(btxt.getAttribute("origheight"));var tmpl=parseInt(btxt.getAttribute("origleft"));var tmpt=parseInt(btxt.getAttribute("origtop"));if(tmp>=0){tw=tmp;}
if(tmph>=0){th=tmph;}
if(tmpl>=0){tl=tmpl;}
if(tmpt>=0){tt=tmpt;}
if(!btxt.getAttribute("origwidth"))
{btxt.setAttribute("origwidth",tw);}
if(!btxt.getAttribute("origleft"))
{btxt.setAttribute("origleft",tl);}
if(!btxt.getAttribute("origtop"))
{btxt.setAttribute("origtop",tt);}
if(!btxt.getAttribute("origheight"))
{btxt.setAttribute("origheight",th);}
if((l+tw+tl)>bw)
{btxt.style.width=(bw-l-tl)+"px";if(tmpl)
{btxt.style.left=tmpl+"px";}}
else if(l<-(tl))
{btxt.style.left=(-l)+"px";btxt.style.width=(tw+l+tl)+"px";}
else
{if(tmpl)
{btxt.style.left=tmpl+"px";}
if(tmp)
{btxt.style.width=tmp+"px";}}
if(t<-(tt))
{btxt.style.top=(-t)+"px";btxt.style.height=(th+t+tt)+"px";}
else if((t+th+tt)>bh)
{btxt.style.height=(bh-t-tt)+"px";if(tmpt)
{btxt.style.top=tmpt+"px";}}
else
{if(tmpt)
{btxt.style.top=tmpt+"px";}
if(tmph)
{btxt.style.height=tmph+"px";}}},bubbleUpdate:function(bubbleId,drag_element)
{var origloc=this.getAttribute("origloc");var origy=0;var origx=0;if(origloc)
{origloc=origloc.split('x');origy=origloc[0];origx=origloc[1];} 
var x=parseInt(this.style.left);var y=parseInt(this.style.top);if((origy!=y)||(origx!=x))
{var a=new Tabblo.editor.actions.Action(Tabblo.editor.actions.BubbleMover,{bubble_id:bubbleId,x:x,y:y}).run();}
return false;},toggleBubbleDelete:function(onOff)
{var el=$('delete_bubble_div');if(el)
{el.style.display=onOff?"":"none";}
el=$('bubble_delete_x');if(el)
{el.style.display=onOff?"":"none";}},bubbleDelete:function(bubbleId)
{var e=YAHOO.util.Event.getEvent();e.cancelBubble=true;if(!bubbleId)
{bubbleId=Tabblo.editor.hideBalloons();}
var a=new Tabblo.editor.actions.Action(Tabblo.editor.actions.BubbleRemover,{bubble_id:bubbleId}).run();return false;},bubbleInit:function(bid)
{var d=new YAHOO.util.DD(bid);d.endDrag=Tabblo.editor.bubbleUpdate.bind($(bid),bid);d.onDrag=Tabblo.editor.bubbleLock.bind($(bid),bid);return d;},hoverBalloon:function(bid,tid)
{$(bid).style.border='1px outset white';$(tid).style.border='1px outset red';if(!Tabblo.editor.BALLOONS[bid])
{Tabblo.editor.BALLOONS[bid]=Tabblo.editor.bubbleInit(bid);}},unhoverBalloon:function(bid,tid)
{$(bid).style.border="";$(tid).style.border="";},resetBalloons:function(obj)
{var shaper=$("bubble_shape_select");var sizer=$("bubble_size_select");var shape=shaper.options[shaper.selectedIndex].value;var size=sizer.options[sizer.selectedIndex].value;for(var o in{'sw':'sw','se':'sw','nw':'sw','ne':'sw'})
{if(is_ie6)
{if($("bubble_"+o+"_img").getAttribute("fixpng")=="false")
{$("bubble_"+o+"_img").setAttribute("fixpng","true");}}
$("bubble_"+o+"_img").src=Tabblo.server_constants.MEDIA_URL+"/resources/comic/"+shape+"_"+o+"_"+size+".png";$("bubble_"+o+"_display").setAttribute("shape",shape);$("bubble_"+o+"_display").setAttribute("size",size);}
if(is_ie6)
{setTimeout(__tcu.correctPNG,1000);}},selectBubbleInSlot:function(obj)
{var o=$(obj.id);var shape=o.getAttribute("shape");var size=o.getAttribute("size");var orient=o.getAttribute("orient");var d=$("thumbnailOverlay_balloon");var iid=null;if(d)
{iid=d.getAttribute("target");}
else
{iid=_proxy_image_iid;}
var parcel=Tabblo.editor.parcels.getParcelForItem($(iid));var pid=parcel.id;var editing=__tcu.getDiv("bubbles_list_div").getAttribute("editing");if(editing)
{var a=new Tabblo.editor.actions.Action(Tabblo.editor.actions.BubbleEditor,{source_parcel_id:pid,bubble_id:editing,shape:shape,size:size,orient:orient}).run();__tcu.getDiv("bubbles_list_div").setAttribute("editing","");}
else
{var a=new Tabblo.editor.actions.Action(Tabblo.editor.actions.BubbleAdder,{source_parcel_id:pid,shape:shape,size:size,orient:orient}).run();}
setTimeout(Tabblo.editor.hideBalloons,500);},showBalloons:function(targetHolderObj,optBubbleId)
{lockOverlays();var d=__tcu.getDiv("bubbles_list_div");if(optBubbleId)
{$('add_edit_balloon').innerHTML=gettext("Edit this balloon");d.setAttribute("editing",optBubbleId);$('delete_bubble_div').style.display='';var shape_select=$('bubble_shape_select');var size_select=$('bubble_size_select');var currBubbleImgSrc=$(optBubbleId).getElementsByTagName('img')[0].src;var opts=shape_select.options;var type='thought1';if(currBubbleImgSrc.indexOf('balloon1')!=-1)
{type='balloon1';}
var i;for(i=0;i<opts.length;i++)
{if(opts[i].value==type)
{shape_select.selectedIndex=i;}}
opts=size_select.options;var size='s';if(currBubbleImgSrc.indexOf('_m.')!=-1)
{size='m';}else if(currBubbleImgSrc.indexOf('_l.')!=-1)
{size='l';}
for(i=0;i<opts.length;i++)
{if(opts[i].value==size)
{size_select.selectedIndex=i;}}}
else
{$('add_edit_balloon').innerHTML=gettext("Add a balloon");d.setAttribute("editing","");$('delete_bubble_div').style.display='none';$('bubble_shape_select').selectedIndex=0;$('bubble_size_select').selectedIndex=0;}
Tabblo.editor.resetBalloons();var iid=null;try
{iid=targetHolderObj.getAttribute("target");}
catch(e)
{iid=_proxy_image_iid;}
var parcel=Tabblo.editor.parcels.getParcelForItem($(iid));var offsets=__tcu.getXY(parcel);d.style.display='';YAHOO.util.Dom.setXY(d,offsets);d.setAttribute("itemid",iid);Tabblo.core.effects.Simple_Appear(d,0.4,0.0);__tcu.showBlockerScreen(true);},hideBalloons:function()
{unlockOverlays();__tcu.hideBlockerScreen(true);var d=__tcu.getDiv("bubbles_list_div");var bubbleId=d.getAttribute("editing");d.setAttribute("editing","");Tabblo.core.effects.Simple_Fade(d,0.9,0.0);return bubbleId;},placeholderId:0,showItemLoadingPlaceholder:function(gridx,gridy,page,widthCols,heightRows,message)
{var holdid=Tabblo.Grid.addTransientHold(gridx,gridy,page,widthCols,heightRows);var myname="item_loading_placeholder_"+Tabblo.editor.placeholderId++;if(!message){message="Item loading";} 
var i=__tcu.getDiv(myname,Tabblo.editor._showItemLoadingPlaceholder.bind(this,gridx,gridy,page,widthCols,heightRows,message,myname),"item_loading_placeholder",null,{'message':message,'holdid':holdid});return myname;},_showItemLoadingPlaceholder:function(gridx,gridy,page,widthCols,heightRows,message,myname)
{var i=__tcu.getDiv(myname);var x=Tabblo.Grid.calculateCumulativeLeftForColumn(gridx,page);var y=Tabblo.Grid.calculateCumulativeTopForRow(gridy,page);var h=Tabblo.Grid.calculatePixelHeight(heightRows,page);var w=Tabblo.Grid.calculatePixelWidth(widthCols,page);i.style.height=h+"px";i.style.width=w+"px";i.style.display="";Tabblo.core.effects.Simple_Appear(myname,0.1,0.9);YAHOO.util.Dom.setXY(myname,[x,y]);return myname;},hideItemLoadingPlaceholder:function(placeholdername)
{var holdid=$(placeholdername).getAttribute('holdid');Tabblo.Grid.removeTransientHold(holdid);setTimeout("Element.remove($('"+placeholdername+"'));",2000);},buildDropshadowFromScratch:function(iParcel,changewidth,changeheight)
{var baseImage=iParcel.getImage();var oldImage=iParcel.getDropshadow();var oldid=oldImage.id;var oldclass=__tcu.getCssClass(oldImage);var oldzindex=oldImage.style.zIndex;var oldwidth=parseInt(oldImage.width);var oldheight=parseInt(oldImage.height);var oldsrc=(isIE)?oldImage.getAttribute('origsrc'):oldImage.src;var newsrc=Tabblo.editor.buildDropshadowSrc(oldsrc,parseInt(changewidth),parseInt(changeheight));Element.remove(oldImage);var newImage=document.createElement("<img>");newImage.setAttribute("origsrc",newsrc);newImage.src=newsrc;newImage.setAttribute("id",oldid);newImage.id=oldid;__tcu.setCssClass(newImage,oldclass);newImage.setAttribute("width",changewidth+16);newImage.setAttribute("height",changeheight+16);if(isIE)
{newImage.setAttribute("fixpng","true");}
iParcel.insertBefore(newImage,baseImage);if(isIE)
{__tcu.ieFixXimg(newImage);}
newImage=null;},buildDropshadowSrc:function(oldsrc,newwidth,newheight)
{ var splitty=oldsrc.split('/');return"http://"+splitty[2]+"/dropshadow/"+splitty[4]+"/"+newwidth+"/"+newheight+"/"+"shadow.png";},undoAvailable:function(avail)
{var storydiv=Tabblo.Grid.firstElement;if(storydiv!=null)
{storydiv.setAttribute("undoavailable",(avail?"1":"0"));}},isUndoAvailable:function()
{var storydiv=Tabblo.Grid.firstElement;var hasUndoAvailable=false;if(storydiv!=null)
{hasUndoAvailable=(storydiv.getAttribute("undoavailable")=="1");}
return hasUndoAvailable;},doStoryUndo:function(sendurl)
{if(!sendurl)
{sendurl=__tcu.replaceQueryParam(document.location.href,'page',Tabblo.Editor.curr_page);}
var gofunc=function(ajaxResponse){if((ajaxResponse.statusText=='OK')&&(ajaxResponse.responseObject['status']=='OK'))
{document.location=sendurl;}};var url="/edit/undo/"+Tabblo.editor.storyID;Tabblo.ajax.Send.beam(url,{parameters:"",onComplete:gofunc});},dazzle:function(apply_pages,returnurl)
{var url="/studio/stories/dazzle/"+Tabblo.editor.storyID;var pars="";if(!returnurl){returnurl=document.location.href;}
if(apply_pages)
{pars+="&page="+apply_pages[0];var apply_pages_string="";for(var i=0;i<apply_pages.length;i++)
{apply_pages_string+=apply_pages[i]+",";}
apply_pages_string=apply_pages_string.substring(0,apply_pages_string.length-1);pars+="&apply_pages="+apply_pages_string;}
Tabblo.ajax.Send.beam(url,{method:'post',parameters:pars,onComplete:function(){document.location=arguments[0];}.bind(this,returnurl)});},setupColorPicker:function(alternate)
{var obj=$("color_wheel");var tds=obj.getElementsByTagName("td");for(var i=0;i<tds.length;i++)
{if(tds[i].getAttribute("ignoreevent")==null||tds[i].getAttribute("ignoreevent")!="true")
{YAHOO.util.Event.addListener(tds[i],"mouseover",Tabblo.editor.CPover);YAHOO.util.Event.addListener(tds[i],"mouseout",Tabblo.editor.CPout);if(alternate)
{YAHOO.util.Event.addListener(tds[i],"click",Tabblo.editor.CPclickAlt);YAHOO.util.Event.addListener(tds[i],"dblclick",Tabblo.editor.html.selectColorWheelColor);}
else
{YAHOO.util.Event.addListener(tds[i],"click",Tabblo.editor.CPclick);}}}},CPover:function()
{$("current_color_swatch").style.backgroundColor=this.id;},CPout:function()
{$("current_color_swatch").style.backgroundColor=$("color_picker_value").value;},CPclick:function()
{Tabblo.editor.CPselectColor(this.id);$("current_color_swatch").style.backgroundColor=this.id;},CPclickAlt:function()
{$("color_picker_value").value=this.id;$("current_color_swatch").style.backgroundColor=this.id;},CPselectColor:function(color)
{Tabblo.editor.setColor(color);$("advanced_options").setAttribute("current_color_selection",color);$("color_picker_value").value=color;},setColor:function(color,alt_key,page)
{var ao=$("advanced_options");var cc=(ao?ao.getAttribute("current_color"):null);var key=(alt_key?alt_key:cc.substring(3));var wp=(Tabblo.Editor&&Tabblo.Editor.fully_initialized)?Tabblo.Editor.curr_page:0;var num_up=(Tabblo.Editor&&Tabblo.Editor.fully_initialized)?Tabblo.Editor.getCurrNumUp():1;var oc=(ao?ao.getAttribute("orig_color"):null);var orig_color=null;if(key=="field")
{for(var i=0;i<num_up;i++)
{var curPage=(wp+i);if((page!=null)&&(page!='all')&&(page!=curPage))
{continue;}
var obj=$("the_field_background_"+curPage);if(obj)
{if(!oc)
{orig_color=Tabblo.editor.getBgColor(obj);}
Tabblo.editor.setBgColor(obj,color);}}}
else if(key=="page")
{for(var i=0;i<num_up;i++)
{var curPage=(wp+i);if((page!=null)&&(page!='all')&&(page!=curPage))
{continue;}
var obj=$("merchstock_"+curPage);if(!obj)
{obj=document.body;}
else if(obj.getAttribute("forcedwhite"))
{obj=$("merchpage_"+curPage);}
if(!oc)
{orig_color=Tabblo.editor.getBgColor(obj);}
Tabblo.editor.setBgColor(obj,color);}}
else if((key=="header")||(key=="head"))
{var obj=$("story_title_holder_"+wp);if(obj)
{if(!oc)
{orig_color=YAHOO.util.Dom.getStyle(obj.id,"color");}
YAHOO.util.Dom.setStyle(obj.id,"color",color);}
else
{var tbs=Tabblo.Grid.getTextblockParcels();for(var i=0;i<tbs.length;i++)
{if(tbs[i])
{var tb=Tabblo.editor.parcels.getTextcontrolForTextblock(tbs[i]);if(__tcu.getCssClass(tb)!="tbhead")
{continue;}
if((page!=null)&&(page!='all')&&(page!=tbs[i].getPage()))
{continue;}
if((!oc)&&(!orig_color))
{orig_color=YAHOO.util.Dom.getStyle(tb.id,"color");}
YAHOO.util.Dom.setStyle(tb.id,"color",color);var pars=tb.getElementsByTagName('p');for(var n=0;n<pars.length;n++)
{YAHOO.util.Dom.setStyle(pars[n],"color",color);}
tb=null;}}
tbs=null;}}
else if(key=="text")
{var tbs=Tabblo.Grid.getTextblockParcels();for(var i=0;i<tbs.length;i++)
{if(tbs[i])
{var tb=Tabblo.editor.parcels.getTextcontrolForTextblock(tbs[i]);if(__tcu.getCssClass(tb)=="tbhead")
{continue;}
if((page!=null)&&(page!='all')&&(page!=tbs[i].getPage()))
{continue;}
if((!oc)&&(!orig_color))
{orig_color=YAHOO.util.Dom.getStyle(tb.id,"color");}
YAHOO.util.Dom.setStyle(tb.id,"color",color);var pars=tb.getElementsByTagName('p');for(var n=0;n<pars.length;n++)
{YAHOO.util.Dom.setStyle(pars[n],"color",color);}
tb=null;}}
tbs=null;}
else if(key=="caption")
{for(var i=0;i<num_up;i++)
{var curPage=(wp+i);if((page!=null)&&(page!='all')&&(page!=curPage))
{continue;}
var captions=document.getElementsByClassName("caption",$("storydiv_"+curPage));if(!oc)
{orig_color=YAHOO.util.Dom.getStyle(captions[0],"color");}
YAHOO.util.Dom.setStyle(captions,"color",color);}}
if(!oc&&orig_color&&ao)
{ao.setAttribute("orig_color",orig_color);}},getBgColor:function(el)
{var bg=YAHOO.util.Dom.getStyle(el,"backgroundImage");var pre="/studio/template/bg/";var i=bg.indexOf(pre);if(i>0)
{return bg;}
else
{return YAHOO.util.Dom.getStyle(el,"backgroundColor");}},setBgColor:function(el,color)
{var bg=YAHOO.util.Dom.getStyle(el,"backgroundImage");var pre="/studio/template/bg/";var i=bg.indexOf(pre);var j=bg.substr(i+pre.length,6);if((i>0)&&(Tabblo.widgets.CustomizeStyle.isColor(j)))
{bg="url("+pre+color.substr(1)+bg.substr(i+pre.length+6);bg=bg.replace('"','');YAHOO.util.Dom.setStyle(el,"backgroundImage",bg);}
else if(__tcu.isColor(color))
{YAHOO.util.Dom.setStyle(el,"backgroundColor",color);YAHOO.util.Dom.setStyle(el,"backgroundImage","none");}},finishColorChange:function()
{closeMessage();Tabblo.editor.setTabbloColor(true);},cancelColorChange:function()
{closeMessage();Tabblo.editor.undoColorChange();},undoColorChange:function()
{var ao=$("advanced_options");var oc=ao.getAttribute("orig_color");if(oc)
{Tabblo.editor.setColor(oc);ao.removeAttribute("orig_color");}
ao.removeAttribute("current_color_selection");var cc=ao.getAttribute("current_color");if(cc!="")
{$(cc).style.display="none";ao.setAttribute("current_color","");}},chooseTabbloColor:function(key)
{var ao=$("advanced_options");var cc=ao.getAttribute("current_color");var check_color=ao.getAttribute("current_color_selection");if(cc!=""&&check_color!=null&&trim(check_color)!="")
{showMessage("question","Save changes?","Do you want to save the color changes you have made?",true,Tabblo.editor.finishColorChange,null,null,null,null,null,null,Tabblo.editor.cancelColorChange);}
else
{if(cc!="")
{$(cc).style.display="none";}
var obj=$("pc_"+key);if(cc!=obj.id)
{var cp=$("color_wheel");if(cp)
{obj.appendChild(cp);Tabblo.editor.setupColorPicker();$("ok_button_row").style.display="";obj.style.display="";ao.setAttribute("current_color",obj.id);}}
else
{ao.setAttribute("current_color","");}}},setCssAttr:function(attr,ruleId,value)
{if(!document.styleSheets)return;var theRules=new Array();if(document.styleSheets[1].cssRules)
{theRules=document.styleSheets[1].cssRules;}
else if(document.styleSheets[1].rules)
{theRules=document.styleSheets[1].rules;}
else return;eval("theRules[theRules.length - ruleId].style."+attr+" = value;");},setCssColor:function(ruleId,value)
{Tabblo.editor.setCssAttr("color",ruleId,value);},setCssBgColor:function(ruleId,value)
{Tabblo.editor.setCssAttr("backgroundColor",ruleId,value);},setTabbloColor:function(dont_reselect)
{var ao=$("advanced_options");var cc=ao.getAttribute("current_color");if(cc!="")
{var val=$("color_picker_value").value;if(trim(val)!="")
{if(!dont_reselect)
{Tabblo.editor.CPselectColor(val);}
if(val.indexOf("#")!=-1)
{val=val.substring(1);}
var key=cc.substring(3);var pars=key+"color="+val;Tabblo.editor.Editor.Tools.tweakStyle(pars);ao.removeAttribute("orig_color");ao.removeAttribute("current_color_selection");cc=ao.getAttribute("current_color");if(cc!=null)
{$(cc).style.display="none";ao.setAttribute("current_color","");}}}},editMe:function(obj)
{var txt=obj.innerHTML;obj.innerHTML="<input type='text' onkeypress='Tabblo.editor.checkForEnter(this,event)' id='editField' onblur='Tabblo.editor.updateText(this)' value='"+txt+"' class='inline_edit'/>";$("editField").select();},checkForEnter:function(obj,evt)
{evt=__tcu.getEvt(evt);var charCode=(evt.charCode)?evt.charCode:((evt.which)?evt.which:evt.keyCode);if(charCode==13||charCode==3)
{Tabblo.editor.updateText(obj);}},updateText:function(obj)
{var txt=obj.value;var tempID=obj.parentNode.id;obj.parentNode.innerHTML=txt;tempID=tempID.substring(tempID.indexOf("title_")+6);$(tempID).title=txt;},selectTextEditArea:function()
{if(isSafari)
{$("edit_frame").focus();}
else
{if(document.all)
{frames["edit_frame"].focus();}
else
{var oRTE=$("edit_frame").contentWindow.focus();}}}, zoomIn:function(obj,evt)
{if(overlaysLocked())
{return;}
if($("tabblo_lightbox")!=null)
{var isSortable=($("tabblo_lightbox").getAttribute("sortable")=="true")?true:false;if(!isSortable)
{return;}}
if(obj.getAttribute("isDragging")=="true")
{return;}
if(Tabblo.editor.shouldMagnify)
{var offsets=__tcu.getXY(obj);var scrollHeight=$("tabblo_lightbox").scrollTop;var scrollIn=0;if(obj.parentNode.className=="sources")
{scrollIn=obj.parentNode.parentNode.scrollLeft;}
var zi=$("zoom_img");var ma=$("magnify");ma.style.top=(offsets[1]-scrollHeight)+"px";ma.style.left=(offsets[0]-scrollIn)+"px";zi.src=obj.src;zi.setAttribute("target",obj.id);zi.style.width="150px";zi.style.height="150px";ma.style.display="";zi=null;ma=null;}
else
{ if(overlaysLocked())
{return;}
var isGrid=false;if(obj.tagName=="TD"||obj.tagName=="td")
{obj=obj.firstChild;}
var justInCase=0;var tName=obj.tagName;while(tName&&(tName!=null)&&(tName.toLowerCase()!="img")&&(tName.toLowerCase()!="div")&&(justInCase<100))
{obj=obj.parentNode;tName=obj.tagName;justInCase++;}
if(justInCase==99)
{unlockOverlays();return;}
if(obj.getAttribute("grid")=="true")
{isGrid=true;}
var modX=0;var modY=0;if(isIE&&!$("pictures")&&(obj.getAttribute("isScratch")!="true"))
{modX=-9;modY=1;}
else if(obj.getAttribute("isScratch")=="true")
{if(isIE||isSafari)
{modX=2;modY=2;}
else
{modX=5;modY=5;}}
else if(isIE)
{modX=0;modY=0;} 
if(obj.getAttribute("textblock")!="true"&&!Tabblo.editor.imageLocked()&&(obj.getAttribute("lightbox")!="true"||obj.getAttribute("isScratch")=="true")&&obj.className.indexOf("bitty")==-1&&!isGrid&&obj.id.indexOf("thumbnail_icon")==-1&&obj.id!="")
{var pos=__tcu.getXY(obj);var scrollHeight=0;var scrollIn=0;if(obj.parentNode.className=="sources")
{scrollIn=obj.parentNode.parentNode.scrollLeft;}
var ifh=__tcu.getDiv("img_fake_holder");var fi=$("fake_img");scrollHeight=0;ifh.style.top=(pos[1]-scrollHeight+modY)+"px";;ifh.style.left=(pos[0]-scrollIn+modX)+"px";if(obj.getAttribute("isScratch")=="true"||obj.getAttribute("pictures")=="true")
{if(obj.src)
{fi.src=obj.src;}
else
{fi.src="/bitty-static/images/fake_text.gif";}
ifh.style.display="";fi.style.cursor="move";fi.setAttribute("isOwner",obj.getAttribute("isOwner"));fi.style.border=obj.style.border;YAHOO.util.Event.addListener(fi,"mouseout",Tabblo.editor.deselectMe);fi.setAttribute("base_id",obj.id);ifh.setAttribute("base_id",obj.id);var firstIm=Tabblo.Grid.getFirstGridImageFromPage();if(firstIm&&!firstIm.getAttribute("noinsert"))
{ifh.setAttribute("caninsert","true");fi.setAttribute("caninsert","true");}
firstIm=null;}
if(obj.getAttribute("isScratch")=="true")
{ifh.style.zIndex=11110;ifh.setAttribute("isScratch","true");fi.setAttribute("isScratch","true");}
else
{ifh.style.zIndex=100000;ifh.setAttribute("isScratch","false");fi.setAttribute("isScratch","false");}
if(obj.getAttribute("isScratch")=="true")
{ifh.style.width="50";ifh.style.height="50";fi.style.width="50";fi.style.height="50";fi.width=50;fi.height=50;}
else
{ifh.style.width=obj.style.width;ifh.style.height=obj.style.height;fi.style.width=obj.style.width;fi.style.height=obj.style.height;}
fi=null;ifh=null;}
var ot=jQuery("#tabblo_lightbox").attr('only_trash');var simple=false;if(ot!=null&&ot=="true"){ simple=true;}
if(obj.getAttribute('isScratch')!="true"&&(obj.getAttribute("lightbox")=="true"||obj.getAttribute("pictures")=="true")&&!Tabblo.editor.photoorganizer.magnifying)
{var offsets=__tcu.getXY(obj);var scrollHeight=0;var scrollIn=0;var shelf=__tcu.getDiv("thumbnailOverlay_shelf");shelf.style.top=(offsets[1]+1-scrollHeight+modY)+"px";shelf.style.left=(offsets[0]+1-scrollIn+modX)+"px";shelf.style.width="16px";shelf.style.height="72px";if(simple){shelf.style.height=obj.height+"px";}
shelf.style.zIndex=100001;shelf.style.display="block";shelf=null;if(!simple){var ti=__tcu.getDiv("thumbnailOverlay_info");ti.style.top=(offsets[1]+5-scrollHeight+modY)+"px";ti.style.left=(offsets[0]+3-scrollIn+modX)+"px";ti.style.display="block";ti.style.zIndex=100002;ti.setAttribute("target",obj.id);ti=null;var tm=__tcu.getDiv("thumbnailOverlay_mag");tm.style.top=(offsets[1]+21-scrollHeight+modY)+"px";tm.style.left=(offsets[0]+3-scrollIn+modX)+"px";tm.style.display="";tm.style.zIndex=100002;tm.setAttribute("target",obj.id);tm=null;}
var sysID=window.sysID?window.sysID:parent.sysID;var isOwner=(obj.getAttribute("owner")==sysID)?true:false;if(isOwner||obj.getAttribute("isOwner")=="true")
{var tt=__tcu.getDiv("thumbnailOverlay_tag");var tr=__tcu.getDiv("thumbnailOverlay_rem");if(!simple){tt.style.top=(offsets[1]+40-scrollHeight+modY)+"px";tt.style.left=(offsets[0]+3-scrollIn+modX)+"px";tt.style.display="";tt.style.zIndex=100002;tt.setAttribute("target",obj.id);}
if(simple){tr.style.top=(offsets[1]+39-scrollHeight+modY)+"px";}
else{tr.style.top=(offsets[1]+59-scrollHeight+modY)+"px";}
tr.style.left=(offsets[0]+3-scrollIn+modX)+"px";tr.style.display="";tr.style.zIndex=100002;tr.setAttribute("target",obj.id);tr.setAttribute("title","Remove photo from system");tr.setAttribute("system","true");tr=null;tt=null;}
else
{__tcu.getDiv("thumbnailOverlay_tag").style.display="none";__tcu.getDiv("thumbnailOverlay_rem").style.display="none";}}
if(obj.getAttribute("isScratch")!="true"&&obj.getAttribute("lightbox")=="true"&&!Tabblo.editor.photoorganizer.magnifying)
{var offsets=__tcu.getXY(obj);var scrollHeight=0;if($("tabblo_lightbox"))
{scrollHeight=$("tabblo_lightbox").scrollTop;}
else
{if(obj.getAttribute("isScratch")=="true")
{scrollHeight=$("lightbox_Ernst").scrollTop;}}
var scrollIn=0;if(obj.parentNode.className=="sources")
{scrollIn=obj.parentNode.parentNode.scrollLeft;}
var ttr=__tcu.getDiv("thumbnailOverlay_rem");if(simple){ttr.style.top=(offsets[1]+37-scrollHeight+modY)+"px";}
else{ttr.style.top=(offsets[1]+59-scrollHeight+modY)+"px";}
ttr.style.left=(offsets[0]+3-scrollIn+modX)+"px";ttr.setAttribute("title","Remove from Lightbox");ttr.style.display="";ttr.style.zIndex=100002;ttr.setAttribute("target",obj.id);ttr.setAttribute("system","false");ttr=null;}}},selectMe:function(evt)
{var __isMe=false;try
{__isMe=Tabblo.editor.isMe();}
catch(e)
{printStack(e,'selectMe');}
if(overlaysLocked())
{return;}
__tcu.getDiv("img_fake_holder").setAttribute("isDragging","false");evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);if(tar.tagName=="IMG")
{}
if(tar.getAttribute("isDragging")!="true")
{Tabblo.editor.zoomIn(tar,evt);}},deselectMe:function(evt)
{var __isMe=false;try
{__isMe=Tabblo.editor.isMe();}
catch(e)
{printStack(e,'deselectMe');}
if(__isMe)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);if(tar.id=="fake_img")
{if((__tcu.getDiv("img_fake_holder").getAttribute("isDragging")=="true")||(tar.getAttribute("isDragging")=="true"))
{}
else
{var dest=__tcu.getDestination(evt);if((dest)&&((/thumbnail/.test(dest))||(/thumbnail/.test(dest.id))))
{}
else
{tar=document.getElementById(tar.getAttribute("base_id"));Tabblo.Grid.stopOverlayingThisParcel(null);$("fake_img").src="/bitty-static/images/empty.gif";__tcu.getDiv("img_fake_holder").style.display="none";}}}
if(tar&&tar.tagName=="IMG")
{}
}},unhoverEditorLightboxItem:function(evt)
{var ifh=$("img_fake_holder");evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);var dest=__tcu.getDestination(evt);if((__tcu.getDiv("img_fake_holder").getAttribute("isDragging")=="true")||(tar.getAttribute("isDragging")=="true")||(((dest)&&((/thumbnail/.test(dest))||(/thumbnail/.test(dest.id))||(/fake/.test(dest)||(/fake/.test(dest.id)))))))
{return;}
ifh.style.display="none";ifh=null;clearTimeout(Tabblo.editor.zoomDelay);Tabblo.editor.hideZoomedImage();},hideZoomedImage:function()
{var zoom_holder=__tcu.getDiv("img_zoom_holder");zoom_holder.style.display="none";},hoverEditorLightboxItem:function(PAD,obj,evt)
{if($("lightbox_Ernst")!=null)
{if(overlaysLocked()||(obj.getAttribute("isDragging")=="true"))
{return;}
var ifh=__tcu.getDiv("img_fake_holder",Tabblo.editor.hoverEditorLightboxItemHoverStage.bind(Tabblo.editor,obj,evt,PAD));}},hoverImageZoom:function(obj,x,y)
{var zu=obj.getAttribute("zoom_url");if(zu!=null)
{var zoom_holder=__tcu.getDiv("img_zoom_holder");var magI=new Image();magI.onload=function(){var y2=y-191;var iz=$("img_zoomer");iz.innerHTML='<img src="'+magI.src+'" />';if(obj.getAttribute("is_portrait")==true||obj.getAttribute("is_portrait")=="true")
{y2-=80;}
if(is_ie6)
{jQuery(zoom_holder).css('width',jQuery(magI)[0].width+"px");jQuery("#img_zoom_down_arrow").css('width',(jQuery(magI)[0].width+8)+"px");y2-=18;}
var x2=x-(jQuery("#img_zoom_holder").width()/2)+25;zoom_holder.style.display="";if(is_ie6||isSafari)
{YAHOO.util.Dom.setXY('img_zoom_holder',[x2,y2]);}
else
{jQuery(zoom_holder).css('position','fixed').css("left",x2+"px").css('bottom','76px');}};magI.src=obj.getAttribute("zoom_url");}},hoverEditorLightboxItemHoverStage:function(obj,evt,PAD)
{if(!obj||!obj.id){return;}
var ifh=$("img_fake_holder");var fi=$("fake_img");if(!Tabblo.editor.IFH_INIT)
{Tabblo.editor.IFH_INIT=true;YAHOO.util.Event.addListener(ifh,"mouseout",Tabblo.editor.unhoverEditorLightboxItem);YAHOO.util.Event.addListener(ifh,"mousedown",Tabblo.editor.hideZoomedImage);}
var pos=__tcu.getXY(obj.id);ifh.style.display="";var x=pos[0]+PAD;var y=pos[1]+(PAD/2);if(isFirefox&&!isFirefox3)
{x+=jQuery(window).scrollLeft();y+=jQuery(window).scrollTop();} 
var func=function(){Tabblo.editor.hoverImageZoom(this,x,y);}.bind(obj);Tabblo.editor.zoomDelay=setTimeout(func,500);YAHOO.util.Dom.setXY('img_fake_holder',[x,y]);if(obj.src)
{fi.src=obj.src;}
else
{fi.src="/bitty-static/images/fake_text.gif";}
fi.style.cursor="move";fi.setAttribute("isOwner",obj.getAttribute("isOwner"));fi.style.border=obj.style.border;fi.setAttribute("base_id",obj.id);ifh.setAttribute("base_id",obj.id);var firstIm=Tabblo.Grid.getFirstGridImageFromPage();if(firstIm&&!firstIm.getAttribute("noinsert"))
{ifh.setAttribute("caninsert","true");fi.setAttribute("caninsert","true");}
ifh.style.zIndex=20000;ifh.setAttribute("isScratch","true");fi.setAttribute("isScratch","true");ifh.style.width=obj.style.width;ifh.style.height=obj.style.height;fi.style.width=obj.style.width;fi.style.height=obj.style.height;fi.width=parseInt(obj.style.width);fi.height=parseInt(obj.style.height);firstIm=null;fi=null;ifh=null;},getHelpKey:function()
{return"show_context_help";},hideGuideLink:function()
{$(Tabblo.editor.getHelpKey()).style.display="none";},showGuideLink:function()
{$(Tabblo.editor.getHelpKey()).style.display="";},hidePalette:function(ref,hideAllTogether,dontSave)
{Tabblo.Grid.stopOverlayingThisParcel(null);var obj=$(ref);if(hideAllTogether)
{Tabblo.core.effects.Simple_BlindUp(obj,0.01,null);$(Tabblo.editor.getHelpKey()).style.display="none";}
else
{if(obj.style.position=="absolute")
{Tabblo.core.effects.Simple_Fade(obj,0.4,Tabblo.editor.showGuideLink);obj.style.top="0px";obj.style.position="relative";}
else
{Tabblo.core.effects.Simple_BlindUp(obj,0.4,Tabblo.editor.showGuideLink);}
if(ref=="context_help_table")
{if(!dontSave)
{setUserPreference("show_context_help","false");}}}
obj=null;},findContextHelp:function()
{var h=document.location.href;if(h.indexOf("/studio/create/")!=-1||h.indexOf("/stories/add_from_lightbox/")!=-1)
{return"ch_pick_photos";}
else if(h.indexOf("/stories/publish/")!=-1)
{return"ch_publish";}
else if(h.indexOf("/studio/share/")!=-1)
{return"ch_share";}
else if(h.indexOf("/studio/upload/")!=-1)
{return"ch_upload";}
else
{return null;}},showPalette:function(ref,dontSave)
{Tabblo.Grid.stopOverlayingThisParcel(null);var obj=$(ref);Tabblo.editor.hideGuideLink();var cht=$("context_help_table");if(cht.style.display=="")
{Tabblo.core.effects.Simple_Fade(cht,0.01);Tabblo.core.effects.Simple_Appear(obj,0.01);}
else
{Tabblo.core.effects.Simple_BlindDown(obj,0.4,null);var help_html=Tabblo.editor.findContextHelp();if(help_html!=null)
{$("context_help_holder").innerHTML=$(help_html).innerHTML;}
else
{Tabblo.editor.hidePalette("context_help_table",true);}}
cht=null;if(ref=="context_help_table")
{if(!dontSave)
{setUserPreference("show_context_help","true");}}
obj=null;},cancelLayoutOptions:function()
{Tabblo.core.effects.Simple_Fade("control_layout_options",0.3);},__lightbox:null,hasLightbox:function()
{if(Tabblo.editor.__lightbox==null)
{Tabblo.editor.__lightbox=$("tabblo_lightbox");}
return Tabblo.editor.__lightbox;},moveLightboxIntoStoryscratch:function(callbackFn)
{if(!Tabblo.editor.SCRATCH_SETUP)
{Tabblo.editor.SCRATCH_SETUP=1;var url='/edit/move_lb_into_ss/'+Tabblo.editor.storyID;var complete;if(null!=callbackFn)
{complete=callbackFn;}
else
{complete=Tabblo.editor.finishMoveLightboxIntoStoryscratch;}
Tabblo.ajax.Send.beam(url,{onComplete:complete},false,true);}},finishMoveLightboxIntoStoryscratch:function(ajaxResponse)
{if(ajaxResponse.responseObject=="OK")
{Tabblo.editor.displayStoryScratchSpace();return 1;}
else
{printfire("ERROR: failed to move LB into SS");return 0;}},getStoryScratchboxAsList:function(size,callbackFn)
{var pars='story_id='+Tabblo.editor.storyID+'&size='+size+'&all=1';var url='/edit/getstoryscratchbox/';Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:function(ajaxResponse){var list=Tabblo.editor.finishGetStoryScratchboxAsList(ajaxResponse);callbackFn(list,ajaxResponse);list=null;},onFailure:Tabblo.editor.finishGetStoryScratchboxAsList},false,true);},finishGetStoryScratchboxAsList:function(ajaxResponse)
{var list=null;if(ajaxResponse.responseObject=="FAIL")
{printfire("ERROR: failed to get story scratchbox");}
else
{list=ajaxResponse.responseObject;}
return list;},clearScratchbox:function()
{var l=$("lightbox_Ernst");if(l)
{l.innerHTML="";}},finishDisplayStoryScratchSpace:function(listObj,ajaxResponse)
{var lb=$("lightbox_Ernst");var PAD=8;if(lb)
{if(lb.getAttribute("scratch_loaded")=="true")
{Tabblo.editor.clearScratchbox();}
lb.setAttribute("scratch_loaded","true");if(listObj)
{var photos=listObj.photos;var textblocks=listObj.textblocks;var lbiw=50;var lbih=50;var cm_zero=0;if(photos.length>0)
{for(var i=0;i<photos.length;i++)
{var id=photos[i].id;var iid=photos[i].iid;var url=photos[i].url;var zoom_url=photos[i].zoom_url;var is_portrait=photos[i].is_portrait;var page=photos[i].page;var newImg=document.createElement("img");newImg.className="dragItemLb";newImg.setAttribute("isScratch","true");newImg.setAttribute("is_portrait",is_portrait);newImg.setAttribute("zoom_url",zoom_url);newImg.setAttribute("page",page);newImg.id='_i'+id;newImg.setAttribute("iid",iid);newImg.src=url;newImg.style.width=lbiw+"px";newImg.style.height=lbih+"px";newImg.width=lbiw;newImg.height=lbih;newImg.style.padding="4px "+PAD+"px";newImg.style.zIndex=0;if(Tabblo.editor&&Tabblo.editor.Grid&&(Tabblo.Grid.initializeCount>0))
{ YAHOO.util.Event.addListener(newImg,"mouseover",Tabblo.editor.hoverEditorLightboxItem.bind(this,PAD,newImg));YAHOO.util.Event.addListener(newImg,"mouseout",Tabblo.editor.unhoverEditorLightboxItem);}
else
{YAHOO.util.Event.addListener(newImg,"mouseover",Tabblo.editor.selectMe);YAHOO.util.Event.addListener(newImg,"mouseout",Tabblo.editor.deselectMe);}
lb.appendChild(newImg);var L=cm_zero+PAD+50-8;if(page!=-1){ var cm=jQuery("<div class='checked_image' title='This photo has been used at least once' id='cm_"+id+"'>&nbsp;</div>"); cm.css('top','45px').css('left',L+"px");lb.appendChild(cm[0]);} 
cm_zero=L+8+PAD;newImg=null;}}
if(textblocks.length>0)
{for(var i=0;i<textblocks.length;i++)
{var id=textblocks[i].id;var text=textblocks[i].text;var newDiv=document.createElement("div");newDiv.className="dragTextItem";newDiv.setAttribute("isScratch","true");newDiv.id='_t'+id;newDiv.innerHTML=text; newDiv.style.width=(lbiw-2)+"px";newDiv.style.height=(lbih-2)+"px";newDiv.style.margin=PAD+"px";newDiv.style.zIndex=0;if(Tabblo.editor&&Tabblo.editor.Grid&&(Tabblo.Grid.initializeCount>0))
{ YAHOO.util.Event.addListener(newDiv,"mouseover",Tabblo.editor.hoverEditorLightboxItem.bind(this,PAD,newDiv));YAHOO.util.Event.addListener(newDiv,"mouseout",Tabblo.editor.unhoverEditorLightboxItem);}
else
{YAHOO.util.Event.addListener(newDiv,"mouseover",Tabblo.editor.selectMe);YAHOO.util.Event.addListener(newDiv,"mouseout",Tabblo.editor.deselectMe);}
lb.appendChild(newDiv);newDiv=null;}}}
if(Tabblo.widgets.Toolbar){var c=__tcu.getCookie("TABBLO_USED_PHOTOS");if(c!=null&&c=="hidden"){Tabblo.widgets.Toolbar.hideUsedPhotos(true);}
else{Tabblo.widgets.Toolbar.showUsedPhotos(true);}}
Tabblo.editor.lightboxLoadedEvent.fire();}},displayStoryScratchSpace:function()
{if(!Tabblo.Editor||(!Tabblo.Editor.fully_initialized)||Tabblo.Editor.has_scratchbox)
{if(Tabblo.Editor.registered_scratch_reloader)
{Tabblo.Editor.registered_scratch_reloader();}
else
{Tabblo.editor.getStoryScratchboxAsList('100',Tabblo.editor.finishDisplayStoryScratchSpace);}}},markActiveText:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);while(tar.id=="")
{tar=tar.parentNode;}
Tabblo.editor._active_text=tar;},getActiveText:function()
{return Tabblo.editor._active_text;},hoverParcelText:function(evt)
{var endTar=Tabblo.editor.getActiveText();Tabblo.Grid.stopOverlayingThisParcel(null);if(endTar!=null)
{lockOverlays();var pos=__tcu.getXY(endTar);$("edit_block").style.top=pos[1]-35;$("edit_block").style.left=pos[0];var owidth=endTar.offsetWidth;if(owidth<300)
{owidth=300;}
$("edit_block").style.width=owidth;$("edit_frame").style.height=endTar.offsetHeight-20;$("edit_block").style.height=endTar.offsetHeight+10;var roughHTML=endTar.innerHTML;var editHTML="";$("edit_block_ta").value=trim(roughHTML);$("edit_block_ta").setAttribute("edit_html",editHTML);$("edit_block").setAttribute("current_block",endTar.id);$("edit_block").style.display="";Tabblo.editor.html.Start($("edit_block_ta").value);}
else
{showMessage("error","Invalid Object","Can't find an object");}},hideParcelText:function(evt)
{showMessage("info","Are you sure?","Are you sure you want to finish editing text?  Please click 'OK' if you want to save your changes.",true,Tabblo.editor.hideParcelTextFinal);},hideParcelTextFinal:function()
{$("edit_block_ta").value="";$("edit_block").style.display="none";unlockOverlays();},setupBullseyeReference:function()
{__tcu.getDiv("bullseye",function(){Tabblo.core.caches.BULLSEYE=$("bullseye");});},setMaxPages:function(pages)
{Tabblo.editor.MAX_PAGES=pages;},lockOverlays:function(except_element,lock_holder)
{if(!self.Tabblo.editor||!Tabblo.editor||!self.Tabblo.editor.Grid||!Tabblo.editor.Grid||(Tabblo.Grid.OVERLAY_LOCK_HOLDER&&lock_holder&&(Tabblo.Grid.OVERLAY_LOCK_HOLDER!=lock_holder))){return;}
if(lock_holder){Tabblo.Grid.OVERLAY_LOCK_HOLDER=lock_holder;}
if((!self.Tabblo.editor.photoorganizer||!Tabblo.editor.photoorganizer||!Tabblo.editor.photoorganizer._isRebuilding)&&self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(except_element);Tabblo.Grid._overlays_locked=true;}
},unlockOverlays:function(lock_holder)
{if(Tabblo.editor&&Tabblo.editor.Grid)
{if(!Tabblo.Grid.OVERLAY_LOCK_HOLDER||(Tabblo.Grid.OVERLAY_LOCK_HOLDER==lock_holder))
{Tabblo.Grid.OVERLAY_LOCK_HOLDER=null;Tabblo.Grid._overlays_locked=false;if(self.Tabblo.editor.photoorganizer&&Tabblo.editor.photoorganizer)
{Tabblo.editor.photoorganizer._isRebuilding=false;}}}},overlaysLocked:function()
{if(Tabblo.editor.Grid)
{return Tabblo.Grid._overlays_locked;}
else
{return false;}},positionLockOverlays:function()
{Position.includeScrollOffsets=true;lockOverlays();},lockImage:function()
{Tabblo.editor._fake_img_locked=true;},unlockImage:function()
{Tabblo.editor._fake_img_locked=false;},imageLocked:function()
{return Tabblo.editor._fake_img_locked;}});YAHOO.util.Event.addListener(window,"load",Tabblo.editor.setupBullseyeReference);if(typeof lockOverlays=="undefined")
{var lockOverlays=Tabblo.editor.lockOverlays;}
if(typeof unlockOverlays=="undefined")
{var unlockOverlays=Tabblo.editor.unlockOverlays;}
if(typeof overlaysLocked=="undefined")
{var overlaysLocked=Tabblo.editor.overlaysLocked;}
/* tabblo/editor/photoorganizer.js */
Tabblo.add_namespace("Tabblo.editor.photoorganizer",{_currentFilterUser:null,_isHidden:false,PICTURE_LOADING_OFFSET:150,PICTURES_REF:null,PICTURES_ELE_CACHE:null,PICTURE_LOAD_CANCELLED:0,_allPhotos:null,_tempPictureHolder:null,imageCounter:0,_currentImgIndex:0,_currentLightboxImgs:null,idCounter:0,magnifying:false,MAKE_BUTTON_DISABLED:false,_lightboxOrder:null,pictureCounter:0,_isRebuilding:false,attemptedDeleteNonOwner:false,DEFAULT_PHOTO_PAGE_LENGTH:250,PHOTO_PAGE_LENGTH:250,PHOTO_CURRENT_PAGE:1,_thumbnail_size:70,_lightbox_thumbnail_size:70,unload:function()
{Tabblo.editor.photoorganizer.PICTURES_REF=null;Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE=null;Tabblo.editor.photoorganizer._allPhotos=null;Tabblo.editor.photoorganizer._tempPictureHolder=null;Tabblo.editor.photoorganizer.imageCounter=0;Tabblo.editor.photoorganizer._currentImgIndex=0;Tabblo.editor.photoorganizer._currentLightboxImgs=null;Tabblo.editor.photoorganizer.idCounter=0;Tabblo.editor.photoorganizer.magnifying=false;Tabblo.editor.photoorganizer.MAKE_BUTTON_DISABLED=false;Tabblo.editor.photoorganizer._lightboxOrder=null;Tabblo.editor.photoorganizer.pictureCounter=0;Tabblo.editor.photoorganizer._isRebuilding=false;Tabblo.editor.photoorganizer.attemptedDeleteNonOwner=false;Tabblo.editor.photoorganizer.DEFAULT_PHOTO_PAGE_LENGTH=250;Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH=250;Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE=1;},setupPicture:function(source,pid,ptitle,scroller,owner)
{var newImg=document.createElement("img");newImg.className="dragItem scale-image";newImg.setAttribute("image_loaded","false");newImg.setAttribute("pictures","true");newImg.setAttribute("isOwner",((owner==sysID)?"true":"false"));newImg.title=ptitle+" - Double Click to add this picture to the Lightbox";newImg.src="/bitty-static/images/hourglass.gif";newImg.setAttribute("actual_source",source+"&nosharpen=1");newImg.id="X"+Tabblo.editor.photoorganizer.pictureCounter+++"_"+pid;h=70;w=70;try
{h=sliderPos;w=sliderPos;}
catch(e)
{printStack(e,'setupPicture');}
try
{h=Tabblo.editor.photoorganizer._thumbnail_size;w=Tabblo.editor.photoorganizer._thumbnail_size;}
catch(e)
{printStack(e,'setupPicture');}
newImg.style.width=w+"px";newImg.style.height=h+"px";newImg.style.marginRight="3px";newImg.style.marginBottom="3px";if(scroller!=null)
{scroller.appendChild(newImg);}
else
{$("pictures").appendChild(newImg);}
newImg=null;},setupImages:function()
{imgCounter=0;var imgs=document.getElementsByTagName("img");for(i=0;i<imgs.length;i++)
{if(imgs[i].className.indexOf("dragItem")!=-1&&imgs[i].id!="fake_img")
{YAHOO.util.Event.addListener(imgs[i],"mouseover",Tabblo.editor.selectMe);YAHOO.util.Event.addListener(imgs[i],"mouseout",Tabblo.editor.deselectMe);imgCounter++;isselected=imgs[i].getAttribute("selected");if(isselected!="true")
{imgs[i].setAttribute("selected","false");}}}
imgs=null;},disposeOrganizer:function()
{printfire('unload ORGANIZER...');Tabblo.editor.photoorganizer.PICTURE_LOAD_CANCELLED=1;Tabblo.editor.photoorganizer.PICTURES_REF=null;if(Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE!=null)
{Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE.clear();}
Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE=null;printfire('...DONE unload ORGANIZER');},loadVisibleOrganizer:function()
{ var p;Tabblo.editor.photoorganizer.PICTURE_LOAD_CANCELLED=0;if(Tabblo.editor.photoorganizer.PICTURES_REF==null)
{Tabblo.editor.photoorganizer.PICTURES_REF=p=$("pictures");}
else
{p=Tabblo.editor.photoorganizer.PICTURES_REF;}
var ph=p.height||p.offsetHeight;var ps=p.scrollTop-Tabblo.editor.photoorganizer.PICTURE_LOADING_OFFSET;var pw=ps+ph+Tabblo.editor.photoorganizer.PICTURE_LOADING_OFFSET; var pimgs;if(Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE!=null)
{pimgs=Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE;}
else
{Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE=pimgs=document.getElementsByAttribute("image_loaded","false","img","pictures");}
var pimg=null;var po=null;
for(var i=0;i<pimgs.length;i++)
{pimg=pimgs[i];if(pimg==null){continue;}
po=pimg.offsetTop;if(po>=ps&&po<=pw)
{var src=pimg.getAttribute("actual_source");var prefix=__tcu.getImageUrl(src);if(Tabblo.editor.photoorganizer.PICTURE_LOAD_CANCELLED==1){break;}
pimg.src=prefix+src;pimg.setAttribute("image_loaded","true");pimgs[i]=null;}
if(i==(pimgs.length-1))
{}}
Tabblo.core.timers.LV_TIMER=null;},invalidatePicturesCache:function()
{if(Tabblo.core.timers.LV_TIMER!=null)
{clearTimeout(Tabblo.core.timers.LV_TIMER);}
if(Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE!=null)
{Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE.clear();Tabblo.editor.photoorganizer.PICTURES_ELE_CACHE=null;}},setPOPaging:function(pageNum)
{var photo_org_pages=$("photo_org_pages");var setHtml="";if(pageNum<=1)
{}
else
{if(pageNum>3)
{ setHtml="<span class=\"small_text\" style=\"line-height:14px;\">Pages: ";if(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE==1)
{ setHtml+="<span class=\"small_boxed\" id=\"smallbox1\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage(1,true,"+pageNum+");\">1</a></span> ";setHtml+="<span class=\"small_boxed\" id=\"smallbox2\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage(2,true,"+pageNum+");\">2</a></span> ";setHtml+="<span class=\"small_boxed\" id=\"smallbox3\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage(3,true,"+pageNum+");\">3</a></span> ";setHtml+=" ... ";}
else if(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE==pageNum)
{ setHtml+=" ... ";setHtml+="<span class=\"small_boxed\" id=\"smallbox"+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-2)+"\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage("+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-2)+",true,"+pageNum+");\">"+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-2)+"</a></span> ";setHtml+="<span class=\"small_boxed\" id=\"smallbox"+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-1)+"\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage("+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-1)+",true,"+pageNum+");\">"+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-1)+"</a></span> ";setHtml+="<span class=\"small_boxed\" id=\"smallbox"+Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+"\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage("+Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+",true,"+pageNum+");\">"+Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+"</a></span> ";}
else
{ if(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-1>1)
{setHtml+=" ... ";}
setHtml+="<span class=\"small_boxed\" id=\"smallbox"+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-1)+"\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage("+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-1)+",true,"+pageNum+");\">"+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE-1)+"</a></span> ";setHtml+="<span class=\"small_boxed\" id=\"smallbox"+Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+"\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage("+Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+",true,"+pageNum+");\">"+Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+"</a></span> ";setHtml+="<span class=\"small_boxed\" id=\"smallbox"+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+1)+"\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage("+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+1)+",true,"+pageNum+");\">"+(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+1)+"</a></span> ";if(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE+1<pageNum)
{setHtml+=" ... ";}}}
else
{for(var i=1;i<=pageNum;i++)
{if(i==1)
{setHtml="<span class=\"small_text\" style=\"line-height:14px;\">Pages: ";}
setHtml+="<span class=\"small_boxed\" id=\"smallbox"+i+"\"><a href=\"javascript:Tabblo.editor.photoorganizer.loadPicturesForPage("+i+");\">"+i+"</a></span> ";}}
setHtml+="</span>";}
photo_org_pages.innerHTML=setHtml;},setSmallboxSelected:function(page)
{for(var i=0;i<50;i++)
{var tmpbox=$("smallbox"+i);if(tmpbox)
{tmpbox.style.backgroundColor="#ffffff";tmpbox.firstChild.style.color="#6699CC";}}
var thisbox=$("smallbox"+page);if(thisbox)
{thisbox.style.backgroundColor="#6699CC";thisbox.firstChild.style.color="#ffffff";}},setupPicturePages:function(setPageToThisNumber)
{if(!Tabblo.editor.photoorganizer._allPhotos){return;}
var items=Tabblo.editor.photoorganizer._allPhotos["items"];if(!items){return;}
Tabblo.editor.photoorganizer.pictureCounter=0;if(!setPageToThisNumber)
{setPageToThisNumber=1;}
Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE=parseInt(setPageToThisNumber);var pageNum=parseInt(items.length/Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH)+1;if(pageNum>27)
{var factor=Math.ceil(pageNum/27);Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH=Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH*factor;pageNum=parseInt(items.length/Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH)+1;}
else
{Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH=Tabblo.editor.photoorganizer.DEFAULT_PHOTO_PAGE_LENGTH;}
Tabblo.editor.photoorganizer.loadPicturesForPage(Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE);Tabblo.editor.photoorganizer.setPOPaging(pageNum);},loadPicturesForPage:function(_page,redo_pages,pageNum)
{Tabblo.editor.photoorganizer.setSmallboxSelected(_page);if(!Tabblo.editor.photoorganizer._allPhotos){return;}
var items=Tabblo.editor.photoorganizer._allPhotos["items"];if(!items){return;}
$("pictures").innerHTML="";Tabblo.editor.photoorganizer.PHOTO_CURRENT_PAGE=_page;if(redo_pages){Tabblo.editor.photoorganizer.setPOPaging(pageNum);Tabblo.editor.photoorganizer.setSmallboxSelected(_page);}
var _startItem=(_page-1)*(Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH);var _length=((items.length-_startItem)>=Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH)?Tabblo.editor.photoorganizer.PHOTO_PAGE_LENGTH:(items.length-_startItem);var pars="list=";for(var i=_startItem;i<(_startItem+_length);i++)
{pars+=items[i][0]+',';}
var reqURL="/studio/categoryitems/";Tabblo.ajax.Send.beam(reqURL,{parameters:pars,onSuccess:Tabblo.editor.photoorganizer.loadPicturesForPage_partdeux},false,true);},loadPicturesForPage_partdeux:function(ajaxResponse)
{var txt=ajaxResponse.responseText;if(txt!="BAD")
{var cats=ajaxResponse.responseObject;var items=cats["items"];for(var i=0;i<items.length;i++)
{ Tabblo.editor.photoorganizer.setupPicture(items[i][1],items[i][0],"",null,Tabblo.editor.photoorganizer._currentFilterUser);}
Tabblo.editor.photoorganizer.invalidatePicturesCache();Tabblo.editor.photoorganizer.setupImages(false);Tabblo.editor.photoorganizer._loadVisibleOrganizer();}},_loadVisibleOrganizer:function()
{if(Tabblo.core.timers.LV_TIMER!=null)
{clearTimeout(Tabblo.core.timers.LV_TIMER);}
Tabblo.editor.photoorganizer.PICTURE_LOAD_CANCELLED=1;Tabblo.core.timers.LV_TIMER=setTimeout(Tabblo.editor.photoorganizer.loadVisibleOrganizer,250);},scrollingHide:function()
{var evt=arguments[0];Tabblo.Grid.stopOverlayingThisParcel(null);if(__tcu.getDiv("img_fake_holder"))
{__tcu.getDiv("img_fake_holder").style.display="none";}
Tabblo.editor.photoorganizer._loadVisibleOrganizer();},selectForMultipleProxy:function(tar)
{var isSelected=tar.getAttribute("selected");var source=tar.src;var xform=__tcu.findQueryParam(source,"xform");if(isSelected!=null&&isSelected=="true")
{if(xform!=null)
{source=__tcu.replaceQueryParam(source,"xform","none");}
else
{source+="&xform=none";}
tar.src=source;isSelected="false";}
else
{if(xform!=null)
{source=__tcu.replaceQueryParam(source,"xform","bluehaze");}
else
{source+="&xform=bluehaze";}
tar.src=source;isSelected="true";}
tar.setAttribute("selected",isSelected);__tcu.getDiv("img_fake_holder").style.display="none";},selectForMultiple:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);if(tar.id=="fake_img")
{tar=tar.parentNode;} 
var workingID=tar.getAttribute("base_id");tar=$(workingID);Tabblo.editor.photoorganizer.selectForMultipleProxy(tar);},disableMakeTabbloButton:function()
{Tabblo.editor.photoorganizer.MAKE_BUTTON_DISABLED=true;},enableMakeTabbloButton:function()
{Tabblo.editor.photoorganizer.MAKE_BUTTON_DISABLED=false;},performMultiAction:function(act)
{var imgs=$("pictures").getElementsByTagName("img");var itemList="";var lightbox_contents=Tabblo.editor.photoorganizer._saveLightbox();for(var im=0;im<imgs.length;im++)
{var isSelected=imgs[im].getAttribute("selected");if(isSelected!=null&&isSelected=="true")
{if(act=="remove")
{if(imgs[im].getAttribute("isowner")!="true")
{Tabblo.editor.photoorganizer.attemptedDeleteNonOwner=true;}
else
{itemList+=imgs[im].id+";";}}
else if(act=="tag")
{itemList+=imgs[im].id.substring(imgs[im].id.lastIndexOf("_")+1)+";";}
else if(act=="lightbox")
{if(!Tabblo.editor.photoorganizer._itemInLightbox(imgs[im].id,lightbox_contents))
{Tabblo.editor.photoorganizer.dropped(imgs[im],null,true);}}}}
imgs=null;if(act=="lightbox")
{Tabblo.editor.photoorganizer.disableMakeTabbloButton();Tabblo.editor.photoorganizer.updateLightbox();}
itemList=null;Tabblo.editor.photoorganizer.clearMultiSelection();},clearMultiSelection:function()
{var imgs=$("pictures").getElementsByTagName("img");for(im=0;im<imgs.length;im++)
{var isSelected=imgs[im].getAttribute("selected");if(isSelected!=null&&isSelected=="true")
{imgs[im].setAttribute("selected","false");if(__tcu.findQueryParam(imgs[im].src,"xform")!=null)
{imgs[im].src=__tcu.replaceQueryParam(imgs[im].src,"xform","none");}}}},showLightboxResponse:function(ajaxResponse)
{ var txt=ajaxResponse.responseText;if($("ajax_updated"))
{$("ajax_updated").style.display="none";} 
if(txt!="OK"&&txt!="BAD")
{var imgs=eval(txt);Tabblo.editor.photoorganizer._currentLightboxImgs=imgs;setTimeout("Tabblo.editor.photoorganizer.loadAllImagesAsNext()",100);if($("ajax_updated"))
{$("ajax_updated").style.display="none";}}
else
{}
Tabblo.editor.photoorganizer.enableMakeTabbloButton();},getLightbox:function(isHidden)
{if(isHidden)
{Tabblo.editor.photoorganizer._isHidden=true;}
var url='/studio/lightbox/';setTimeout("Tabblo.ajax.Send.beam(\""+url+"\", { onSuccess: Tabblo.editor.photoorganizer.showLightboxResponse}, false, true);",250);},getSearchFilters:function(obj)
{Tabblo.Grid.stopOverlayingThisParcel(null);__tcu.getDiv("img_fake_holder").style.display="none";$("current_photo_owner").innerHTML=obj.getAttribute("display_info").escapeHTML()+"'s";$("user_module_blocker").style.display="none";$("user_module").style.display="none";Tabblo.editor.photoorganizer._currentFilterUser=obj.getAttribute("uid");var url="/studio/itemorganize/"+Tabblo.editor.photoorganizer._currentFilterUser;Tabblo.ajax.Send.beam(url,{onComplete:function(originalRequest){getFilterResults(originalRequest);}},false,true);},updateLightbox:function(optCallback,alt_list)
{ var url='/studio/lightbox/';var pars='contents='+(alt_list?alt_list:Tabblo.editor.photoorganizer._saveLightbox())+'&count='+Tabblo.editor.photoorganizer._countLightbox(); var callbackSuccess=Tabblo.editor.photoorganizer.showLightboxResponse;if(optCallback)
{callbackSuccess=optCallback;}
Tabblo.ajax.Send.beam(url,{parameters:pars,onLoading:__tcu.showLoading,onComplete:callbackSuccess},'',true);},addAllToLightbox:function()
{Tabblo.editor.photoorganizer.disableMakeTabbloButton();var imgs=$("pictures").getElementsByTagName("img");for(var i=0;i<imgs.length;i++)
{var drag=imgs[i];if(Tabblo.editor.photoorganizer._getItemInLightbox(drag.id)==null)
{var workingID=drag.id;var newImg=document.createElement("img");newImg.className="dragItem";newImg.setAttribute("lightbox","true");var o=(drag.getAttribute("owner")==null?Tabblo.editor.photoorganizer._currentFilterUser:drag.getAttribute("owner"));newImg.setAttribute("owner",o);newImg.setAttribute("isOwner",drag.getAttribute("isOwner"));newImg.setAttribute("scale","200");var t=drag.title;if(t.indexOf(" - Double Click")!=-1)
{t=t.substring(0,t.indexOf(" - Double Click"));}
var idc=Tabblo.editor.photoorganizer.idCounter++;Tabblo.editor.photoorganizer.imageCounter++;newImg.title=t;if(drag.src.indexOf("hourglass.gif")!=-1)
{var src=drag.getAttribute("actual_source");newImg.src=__tcu.getImageUrl(src);}
else
{newImg.src=drag.src;}
newImg.id=idc+workingID;newImg.style.width="70px";newImg.style.height="70px";newImg.style.width=Tabblo.editor.photoorganizer._lightbox_thumbnail_size+"px";newImg.style.height=Tabblo.editor.photoorganizer._lightbox_thumbnail_size+"px";newImg.style.marginRight="3px";newImg.style.marginBottom="3px";YAHOO.util.Event.addListener(newImg,"mouseover",Tabblo.editor.selectMe);YAHOO.util.Event.addListener(newImg,"mouseout",Tabblo.editor.deselectMe);$("tabblo_lightbox").appendChild(newImg);workingID=null;newImg=null;idc=null;}
drag=null;}
jQuery('#tabblo_lightbox').sortable('destroy');jQuery('#tabblo_lightbox').sortable({cursor:'move',scroll:true,stop:unlockOverlays,change:Tabblo.editor.positionLockOverlays});Tabblo.editor.photoorganizer.recordLightboxOrder();Tabblo.editor.photoorganizer.updateLightbox(function(){Tabblo.editor.photoorganizer.enableMakeTabbloButton();});if($("id_name"))
{$("id_name").value=current_username+"'s Tabblo";}
imgs=null;},clearCategoryHolders:function(skip_picture_clear)
{if($("pictures")!=null)
{if(Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}
if(!skip_picture_clear){$("pictures").innerHTML="";}
Tabblo.editor.photoorganizer.pictureCounter=0;if($("col_filter1_holder"))
{$("col_filter1_holder").innerHTML="";}}},dropped:function(drag_element,drop,init_lightbox,isHidden,loadNext,boolUseDragElementAsNewImage,skipJunk,isLast)
{try
{var dontUnlock=false;drag_element.setAttribute("isDragging","false");var __isMe=false;try
{__isMe=Tabblo.editor.isMe();}
catch(e)
{printStack(e,'dropped');}
var workingID=drag_element.id;if(workingID=="img_fake_holder")
{ workingID=drag_element.getAttribute("base_id");drag_element=drag_element.firstChild;}
if(init_lightbox!=null&&init_lightbox.type=="mouseup")
{init_lightbox=false;} 
if(!init_lightbox&&Tabblo.editor.photoorganizer._itemInLightbox(workingID))
{showMessage("warn","Item Already In Lightbox","This item is already in the lightbox.  It will not be added.");Tabblo.Grid.stopOverlayingThisParcel(null);unlockOverlays();Tabblo.editor.unlockImage();return;}
var idc=Tabblo.editor.photoorganizer.idCounter++;Tabblo.editor.photoorganizer.imageCounter++;var newImg;if(boolUseDragElementAsNewImage)
{newImg=drag_element;}
else
{newImg=document.createElement("img");var xform=__tcu.findQueryParam(drag_element.src,"xform");var dragSource=drag_element.src;if(xform!=null)
{dragSource=__tcu.replaceQueryParam(dragSource,"xform","none");}
newImg.src=dragSource;try
{newImg.style.width=Tabblo.editor.photoorganizer._lightbox_thumbnail_size+"px";newImg.style.height=Tabblo.editor.photoorganizer._lightbox_thumbnail_size+"px";}
catch(e)
{newImg.style.width="70px";newImg.style.height="70px";}
newImg.style.marginRight="3px";newImg.style.marginBottom="3px";var o=(drag_element.getAttribute("owner")==null?Tabblo.editor.photoorganizer._currentFilterUser:drag_element.getAttribute("owner"));newImg.setAttribute("owner",o);newImg.setAttribute("isOwner",drag_element.getAttribute("isOwner"));}
newImg.className="dragItem";newImg.setAttribute("lightbox","true");newImg.setAttribute("scale","200");var t=drag_element.title;if(t.indexOf(" - Double Click")!=-1)
{t=t.substring(0,t.indexOf(" - Double Click"));}
newImg.title=t;newImg.id=idc+workingID;if(!$('tabblo_lightbox').getAttribute("extra_info")||($('tabblo_lightbox').getAttribute("extra_info")!="disabled"))
{newImg.onmouseover=Tabblo.editor.selectMe;newImg.onmouseout=Tabblo.editor.deselectMe;}
if(isHidden)
{if($("hidden_workspace"))
{$("hidden_workspace").appendChild(newImg);}}
else
{if($("tabblo_lightbox"))
{$("tabblo_lightbox").appendChild(newImg);}}
if($("tabblo_lightbox"))
{isSortable=($("tabblo_lightbox").getAttribute("sortable")=="true")?true:false;}
else
{isSortable=false;}
var shouldBuildSortable=(skipJunk&&!isLast)?false:true;if(shouldBuildSortable)
{if($("tabblo_lightbox"))
{if(isSortable&&__isMe)
{jQuery('#tabblo_lightbox').sortable('destroy');jQuery('#tabblo_lightbox').sortable({cursor:'move',scroll:true,stop:unlockOverlays,change:Tabblo.editor.positionLockOverlays});Tabblo.editor.photoorganizer.recordLightboxOrder();}}}
if(!init_lightbox&&!isHidden)
{ Tabblo.editor.photoorganizer.addItemToLightbox(workingID.substring(workingID.lastIndexOf("_")+1));}
newImg=null;}
catch(e)
{printStack(e,'dropped');}},addItemToLightbox:function(itemID)
{var url="/studio/lightbox/additem/"+itemID;var pars="";if($("add_lightbox_"+itemID))
{$("add_lightbox_"+itemID).innerHTML="Added to lightbox";}
Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.editor.photoorganizer.finishAddToLightbox});},finishAddToLightbox:function(ajaxResponse)
{if(ajaxResponse.responseText=="BAD")
{if(!$("top_page_numbers"))
{showMessage("info","Already in lightbox","This item is already in your lightbox and cannot be added twice.");}}
unlockOverlays();if($('img_fake_holder'))
{$('img_fake_holder').style.display='none';}},recordLightboxOrder:function()
{var nodes=jQuery("#tabblo_lightbox img.dragItem");if(nodes)
{var len=nodes.length;if(len>0)
{Tabblo.editor.photoorganizer._lightboxOrder=new Array(len);for(var i=0;i<len;i++)
{var lim=nodes[i];var tid=lim.id.substring(lim.id.lastIndexOf("_")+1);Tabblo.editor.photoorganizer._lightboxOrder[i]=tid;}}}},finishRemovePicture:function(ajaxResponse)
{if(ajaxResponse.statusText=="OK")
{__tcu.showFlashIfPossible("<span class='infoFlash'>Photo Removed</span>");}
else
{__tcu.showFlashIfPossible("<span class='errorFlash'>Problem Removing Photo</span>");}
Tabblo.editor.photoorganizer.invalidatePicturesCache();if($("pictures")!=null)
{Tabblo.editor.photoorganizer.clearCategoryHolders(true);}
closeMessage();Element.remove(Tabblo.editor.photoorganizer._tempPictureHolder);Tabblo.editor.photoorganizer._tempPictureHolder=null;},removePicture:function(obj)
{Tabblo.editor.photoorganizer._tempPictureHolder=obj;showMessage("question","Delete Photo?","Clicking OK will delete this photo permanently and will remove it from any tabblo or product that was using it.",true,Tabblo.editor.photoorganizer.removePictureAJAX);},removePictureAJAX:function()
{var imgID=Tabblo.editor.photoorganizer._tempPictureHolder.id;Tabblo.editor.photoorganizer._tempPictureHolder.setAttribute("selected","false");var url="/studio/items/delete/"+imgID.substring(imgID.lastIndexOf("_")+1)+"/";if(Tabblo.editor.photoorganizer._itemInLightbox(imgID))
{$("tabblo_lightbox").removeChild(Tabblo.editor.photoorganizer._getItemInLightbox(imgID));Tabblo.editor.photoorganizer.imageCounter--;Tabblo.editor.photoorganizer.rebuildLightboxNew($("tabblo_lightbox"));}
Tabblo.ajax.Send.beam(url,{onSuccess:Tabblo.editor.photoorganizer.finishRemovePicture,onFailure:Tabblo.editor.photoorganizer.finishRemovePicture},'',true);},clearLightbox:function()
{var url='/studio/lightbox/empty/';Tabblo.ajax.Send.beam(url,{onSuccess:Tabblo.editor.photoorganizer.finishedClearing},'',true);},finishedClearing:function(ajaxResponse)
{if(ajaxResponse.responseText=="OK")
{setTimeout("Tabblo.editor.photoorganizer.resetLightbox()",300);Tabblo.Grid.stopOverlayingThisParcel(null);closeMessage();}},resetLightbox:function()
{$("tabblo_lightbox").innerHTML="";Tabblo.editor.photoorganizer.imageCounter=0;},rebuildLightboxNew:function(sortable,optcallback)
{var __isMe=false;try
{__isMe=Tabblo.editor.isMe();}
catch(e)
{printStack(e,'rebuildLightboxNew');}
Tabblo.editor.photoorganizer._isRebuilding=true;Tabblo.editor.photoorganizer.recordLightboxOrder(); Tabblo.Grid.stopOverlayingThisParcel(null);unlockOverlays();Position.includeScrollOffsets=false;Tabblo.editor.photoorganizer.updateLightbox(optcallback);},loadAllImagesAsNext:function()
{Tabblo.core.timers._loadImagesInterval=setInterval(Tabblo.editor.photoorganizer.loadNextImg,1500);},loadNextImg:function()
{if(Tabblo.editor.photoorganizer._currentLightboxImgs!=null&&Tabblo.editor.photoorganizer._currentImgIndex<Tabblo.editor.photoorganizer._currentLightboxImgs.length)
{for(var i=0;i<48;i++)
{var isLast=false;if(Tabblo.editor.photoorganizer._currentImgIndex==(Tabblo.editor.photoorganizer._currentLightboxImgs.length-1))
{clearInterval(Tabblo.core.timers._loadImagesInterval);Tabblo.core.timers._loadImagesInterval=null;isLast=true;}
var img=Tabblo.editor.photoorganizer._currentLightboxImgs[Tabblo.editor.photoorganizer._currentImgIndex];if(!img)
{continue;}
var imgID=img["id"];if(Tabblo.editor.photoorganizer._getItemInLightbox("X_"+imgID)){continue;}
var thumb=img["thumbnail"];var date=img["date"];var owner=img["owner"];var newImg=document.createElement("img");newImg.src=thumb;newImg.id="X_"+imgID;try
{newImg.style.width=Tabblo.editor.photoorganizer._lightbox_thumbnail_size+"px";newImg.width=Tabblo.editor.photoorganizer._lightbox_thumbnail_size;newImg.style.height=Tabblo.editor.photoorganizer._lightbox_thumbnail_size+"px";newImg.height=Tabblo.editor.photoorganizer._lightbox_thumbnail_size;}
catch(e)
{newImg.style.width="70px";newImg.width="70";newImg.style.height="70px";newImg.height="70";}
newImg.style.marginRight="3px";newImg.style.marginBottom="3px";newImg.setAttribute("date",date);newImg.setAttribute("owner",owner);Tabblo.editor.photoorganizer._currentImgIndex++;Tabblo.editor.photoorganizer.dropped(newImg,null,true,Tabblo.editor.photoorganizer._isHidden,false,true,true,isLast);img=null;imgID=null;thumb=null;date=null;owner=null;newImg=null;}}},dropProxy:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);if(tar.id=="fake_img")
{tar=tar.parentNode;}
Tabblo.editor.photoorganizer.dropped(tar);},toggleScale:function(obj)
{var sc=obj.getAttribute("next_scale");Tabblo.core.effects.Simple_ScaleSize(obj,parseInt((sc*obj.width)/100),parseInt((sc*obj.height)/100),0.2,Tabblo.editor.photoorganizer.hideMagnify);if(sc==400)
{sc=25;}
else
{sc=400;}
obj.setAttribute("next_scale",sc);},hideMagnify:function()
{if(sc==400)
{__tcu.getDiv("magnify_div").style.display="none";Tabblo.editor.photoorganizer.magnifying=false;}
else
{Tabblo.editor.photoorganizer.magnifying=true;}},_checkLightbox:function()
{if($("tabblo_lightbox"))
{return(trim($("tabblo_lightbox").innerHTML).length>4)?true:false;}
else if($("lightbox_Ernst"))
{return(trim($("lightbox_Ernst").innerHTML).length>4)?true:false;}
return false;},_itemInLightbox:function(itemID,contents)
{try
{if(contents==null)
{contents=Tabblo.editor.photoorganizer._saveLightbox();}
itemID=itemID.substring(itemID.lastIndexOf("_")+1);if(contents!=null)
{var id_parts=contents.split(",");for(var i=0;i<id_parts.length;i++)
{if(id_parts[i]==itemID)
{return true;}}
}}
catch(e)
{printStack(e,'_itemInLightbox');}
return false;},_getItemInLightbox:function(itemID)
{itemID=itemID.substring(itemID.lastIndexOf("_")+1);if(Tabblo.editor.photoorganizer._checkLightbox())
{var imgs=($("tabblo_lightbox")?$("tabblo_lightbox").getElementsByTagName("img"):$("lightbox_Ernst").getElementsByTagName("img"));for(i=0;i<imgs.length;i++)
{var idPart=imgs[i].id.substring(imgs[i].id.lastIndexOf("_")+1);if(idPart==itemID)
{return imgs[i];}}
imgs=null;}
return null;},_countLightbox:function()
{var len=0;if(Tabblo.editor.photoorganizer._checkLightbox())
{var imgs=($("tabblo_lightbox")?$("tabblo_lightbox").getElementsByTagName("img"):$("lightbox_Ernst").getElementsByTagName("img"));if(imgs!=null){len=imgs.length;imgs=null;}}
return len;},_saveLightbox:function()
{if(Tabblo.editor.photoorganizer._checkLightbox())
{var finalStr="";var lightbox_imgs=($("tabblo_lightbox")?$("tabblo_lightbox").getElementsByTagName("img"):$("lightbox_Ernst").getElementsByTagName("img"));for(var limgs=0;limgs<lightbox_imgs.length;limgs++)
{var lim=lightbox_imgs[limgs];finalStr+=","+lim.id.substring(lim.id.lastIndexOf("_")+1);}
lightbox_imgs=null;if(finalStr.length>0)
{return finalStr.substring(1);}} 
return"";}});YAHOO.util.Event.addListener(window,"unload",Tabblo.editor.photoorganizer.unload);Tabblo.core.performance.performance_actions=Tabblo.core.performance.performance_actions.concat([[Tabblo.editor.photoorganizer,"dropped",0],[Tabblo.editor.photoorganizer,"loadPicturesForPage",0],[Tabblo.editor.photoorganizer,"loadVisibleOrganizer",0],[Tabblo.editor.photoorganizer,"recordLightboxOrder",0]]);
/* tabblo/editor/canvasutils.js */
Tabblo.add_namespace("Tabblo.editor.canvasutilsdisabled",{CANVAS_OPACITY:{dark:0.7,light:0.2},CANVAS_STATE:"uninitialized",CANVAS_ALWAYS_VISIBLE:false,CANVAS_SHOW_ALL:false,toggleGridLines:function(){},toggleProductLines:function(){},showGridCanvasses:function(){},hideGridCanvasses:function(){},initializeCanvasses:function(){},resetCanvasses:function(){}});Tabblo.add_namespace("Tabblo.editor.canvasutils",{CANVAS_OPACITY:{dark:0.7,light:0.2},CANVAS_STATE:"uninitialized",CANVAS_ALWAYS_VISIBLE:false, CANVAS_DRAW_GRID_LINES:function()
{var checked;var val=__tcu.getCookie('selector_grid_lines');if(val)
{ checked=(val=='checked');}
else
{ checked=false;}
jQuery(document).ready(function(){var g=jQuery("#grid_lines");g.attr('checked',checked);});return checked;}(), CANVAS_DRAW_PRODUCT_LINES:function()
{var checked;var val=__tcu.getCookie('selector_product_lines');if(val)
{ checked=(val=='checked');}
else
{ checked=true;}
jQuery(document).ready(function(){var p=jQuery("#product_lines");p.attr('checked',checked);});return checked;}(),CANVAS_SHOW_ALL:false, CANVAS_SMALL_BLOCK:20, CANVAS_MAX_ROWS:200,_toggle:function(id)
{var action='';var val=jQuery("#"+id+":checked").val();if(val&&(val=="show"))
{__tcu.setCookie('selector_'+id,"checked",'','/');action="show";}
else
{__tcu.setCookie('selector_'+id,"unchecked",'','/');action="hide";}
return action;},toggleGridLines:function()
{var action=this._toggle("grid_lines");if(action=='show')
{this._updateGridCanvasses(true,this.CANVAS_DRAW_PRODUCT_LINES);}
else if(action=='hide')
{this._updateGridCanvasses(false,this.CANVAS_DRAW_PRODUCT_LINES);}},toggleProductLines:function()
{var action=this._toggle("product_lines");if(action=='show')
{this._updateGridCanvasses(this.CANVAS_DRAW_GRID_LINES,true);}
else if(action=='hide')
{this._updateGridCanvasses(this.CANVAS_DRAW_GRID_LINES,false);}},_updateGridCanvasses:function(grid,product)
{var update=(grid!=this.CANVAS_DRAW_GRID_LINES)||(product!=this.CANVAS_DRAW_PRODUCT_LINES);if(update)
{this.CANVAS_DRAW_GRID_LINES=grid;this.CANVAS_DRAW_PRODUCT_LINES=product;this.resetCanvasses();this.showGridCanvasses();}},showGridCanvasses:function()
{for(var i in Tabblo.core.caches.CANVAS_CACHE)
{var p=Tabblo.Grid.getPageIdFromHolderId(i,true);if((p!=null)&&(p>=0))
{setTimeout("Tabblo.core.caches.CANVAS_CACHE["+i+"].show();",50);}}},hideGridCanvasses:function()
{if(DEBUG_GRID||Tabblo.editor.canvasutils.CANVAS_ALWAYS_VISIBLE)
{return;}
for(var i in Tabblo.core.caches.CANVAS_CACHE)
{setTimeout("Tabblo.core.caches.CANVAS_CACHE["+i+"].hide();",50);}},_drawGridCanvas:function(cs,page)
{var colw=Tabblo.Grid.borgMind[page].columnwidth;var rowh=Tabblo.Grid.borgMind[page].rowheight;var inmargin=Tabblo.Grid.borgMind[page].inmargin;var inmarginy=Tabblo.Grid.borgMind[page].inmarginy;var cols=Tabblo.Grid.borgMind[page].numCols;var rows=Tabblo.Grid.borgMind[page].limitRows||(Tabblo.Grid.borgMind[page].lastActualRow+10);var showAllLines=DEBUG_GRID||Tabblo.editor.canvasutils.CANVAS_SHOW_ALL||(colw>this.CANVAS_SMALL_BLOCK);var major=true;var g=cs.setContext(1.0); var strokeWidth=1;cs.setStroke(strokeWidth); var doInMarginX=(inmargin>=2*strokeWidth);var doInMarginY=(inmarginy>=2*strokeWidth); var dark="#00ffff"; var light="#99ffff";var fi=$('the_field_'+page);var div=$('merchstock_'+page);if(!div)
{div=$('storydiv_'+page);}
var sdp=__tcu.getXY(div);var fdp=__tcu.getXY(fi);var offsetX=fdp[0]-sdp[0];var offsetY=fdp[1]-sdp[1]; var yfixed_top=Tabblo.Grid.calculateRelativeTopForRow(0,page)+offsetY-inmarginy;var yfixed_bottom=Tabblo.Grid.calculateRelativeTopForRow(rows,page)+offsetY-1;var dont_draw=(this.CANVAS_ALWAYS_VISIBLE&&!this.CANVAS_DRAW_GRID_LINES);var i;for(i=0;!dont_draw&&(i<cols);i++)
{ var x1=Tabblo.Grid.calculateRelativeLeftForColumn(i,page)+offsetX;if(doInMarginX)
{x1-=strokeWidth;}
var x2=x1+colw;if(doInMarginX)
{x2+=strokeWidth;}
else
{x2-=strokeWidth;}
if((i==0)&&doInMarginX)
{ cs.setColor((colw<=this.CANVAS_SMALL_BLOCK)?dark:light);var pre_x1=x1-inmargin+strokeWidth;g.drawLine(pre_x1,yfixed_top,pre_x1,yfixed_bottom);} 
major=(i%4)?false:true;cs.setColor(major&&(colw<=this.CANVAS_SMALL_BLOCK)?dark:light);(major||showAllLines)&&g.drawLine(x1,yfixed_top,x1,yfixed_bottom); major=((i+1)%4)?false:true;cs.setColor(major&&(colw<=this.CANVAS_SMALL_BLOCK)?dark:light);(major||showAllLines)&&g.drawLine(x2,yfixed_top,x2,yfixed_bottom);if((i==(cols-1))&&doInMarginX)
{ cs.setColor((colw<=this.CANVAS_SMALL_BLOCK)?dark:light);var post_x2=x2+inmargin-strokeWidth;g.drawLine(post_x2,yfixed_top,post_x2,yfixed_bottom);}}
var xfixed_left=Tabblo.Grid.calculateRelativeLeftForColumn(0,page)+offsetX-inmargin;var xfixed_right=Tabblo.Grid.calculateRelativeLeftForColumn(cols,page)+offsetX-1;major=true; for(i=0;!dont_draw&&(i<rows);i++)
{var y1=Tabblo.Grid.calculateRelativeTopForRow(i,page)+offsetY;if(doInMarginY)
{y1-=strokeWidth;}
var y2=y1+rowh;if(doInMarginY)
{y2+=strokeWidth;}
else
{y2-=strokeWidth;}
if((i==0)&&doInMarginY)
{ cs.setColor((colw<=this.CANVAS_SMALL_BLOCK)?dark:light);var pre_y1=y1-inmarginy+strokeWidth;g.drawLine(xfixed_left,pre_y1,xfixed_right,pre_y1);} 
major=(i%4)?false:true;cs.setColor(major&&(colw<=this.CANVAS_SMALL_BLOCK)?dark:light);(major||showAllLines)&&g.drawLine(xfixed_left,y1,xfixed_right,y1); major=((i+1)%4)?false:true;cs.setColor(major&&(colw<=this.CANVAS_SMALL_BLOCK)?dark:light);(major||showAllLines)&&g.drawLine(xfixed_left,y2,xfixed_right,y2);if((i==(rows-1))&&doInMarginY)
{ cs.setColor((colw<=this.CANVAS_SMALL_BLOCK)?dark:light);var post_y2=y2+inmarginy-strokeWidth;g.drawLine(xfixed_left,post_y2,xfixed_right,post_y2);}} 
var sm;if(this.CANVAS_ALWAYS_VISIBLE&&!this.CANVAS_DRAW_PRODUCT_LINES)
{sm=0;}
else
{sm=Tabblo.Grid.borgMind[page].safetymargin;}
if(sm)
{cs.setColor("#ff00ff");cs.setStroke(2);var w=__tcu.getWidth(div);var h=__tcu.getHeight(div);var sm_top=sm-1;var sm_left=sm_top;var sm_right=w-(2*sm_top);var sm_bottom=h-(2*sm_top);g.drawRect(sm_top,sm_left,sm_right,sm_bottom);} 
cs.paint();},_drawGridCanvasses:function()
{if(Tabblo.editor.canvasutils.CANVAS_STATE=="uninitialized")
{var num_up=Tabblo.editor.NUM_UP;for(var i=0;i<num_up;i++)
{if(Tabblo.core.caches.CANVAS_CACHE[i])
{var p=Tabblo.Grid.getPageIdFromHolderId(i,true);if((p==null)||(p<0))
{p=0;}
Tabblo.editor.canvasutils._drawGridCanvas(Tabblo.core.caches.CANVAS_CACHE[i],p);}}
Tabblo.editor.canvasutils.CANVAS_STATE="initialized";}},_placeCanvasses:function()
{var num_up=Tabblo.editor.NUM_UP;for(var i=0;i<num_up;i++)
{var p='page_holder_primary_'+i;var q='parent_canvas_holder_'+i;var pp=__tcu.getXY(p);YAHOO.util.Dom.setXY(q,[pp[0],pp[1]]);}},_sizeCanvasses:function(shadow_div_id)
{if(shadow_div_id)
{var q=$(shadow_div_id);var sp=Element.getDimensions(q);if(Tabblo.core.caches.CANVAS_CACHE[0])
{Tabblo.core.caches.CANVAS_CACHE[0].resize(sp.width,sp.height);}}
else
{var num_up=Tabblo.editor.NUM_UP;for(var i=0;i<num_up;i++)
{var p=$('page_holder_primary_'+i);var page=Tabblo.Grid.getPageIdFromHolderId(i,true);var q=$('merchstock_'+page);if(!q)
{q=$('storydiv_'+page);}
if(q)
{var sp=Element.getDimensions(q);if(Tabblo.core.caches.CANVAS_CACHE[i])
{Tabblo.core.caches.CANVAS_CACHE[i].resize(sp.width,sp.height);}}}}},initializeCanvasses:function()
{var cu=Tabblo.editor.canvasutils;var page=Tabblo.Grid.getPageIdFromHolderId(0,true);if(page==null)
{ page=Tabblo.Grid.getPageIdFromHolderId(1,true);}
var num_up=Tabblo.editor.NUM_UP;var p=new Array();var i;var have_a_parent=false;for(i=0;i<num_up;i++)
{p[i]=$('parent_canvas_holder_'+i);if(p[i])
{have_a_parent=true;}}
if((page==null)||(!have_a_parent)||(!DEBUG_GRID&&!cu.CANVAS_ALWAYS_VISIBLE&&((Tabblo.Grid.borgMind[page].columnwidth)<this.CANVAS_SMALL_BLOCK)))
{if(page==null)
{ Tabblo.core.debugging.printfire_always("VISTA ISSUE: grid lines disabled at initializeCanvasses: page was NULL, p0 was "+p[0]+" / p1 was "+p[1]+" / inspect page for more details ");}
Tabblo.editor.canvasutils=Tabblo.editor.canvasutilsdisabled;for(i=0;(have_a_parent&&(i<num_up));i++)
{if(p[i])
{p[i].style.display="none";}}
return;}
for(i=0;i<num_up;i++)
{if(p[i])
{Tabblo.core.caches.CANVAS_CACHE[i]=new Tabblo.drawing.CanvasSet('parent_canvas_holder_'+i,'parent_canvas_holder_'+i,"",[1.0],200);if(DEBUG_GRID||cu.CANVAS_ALWAYS_VISIBLE)
{Tabblo.core.caches.CANVAS_CACHE[i].show();}
else
{Tabblo.core.caches.CANVAS_CACHE[i].hide();}}}
cu._sizeCanvasses();cu._placeCanvasses();cu._drawGridCanvasses();},resetCanvasses:function()
{var cu=Tabblo.editor.canvasutils;if(cu.CANVAS_STATE=="initialized")
{for(var i in Tabblo.core.caches.CANVAS_CACHE)
{if(Tabblo.core.caches.CANVAS_CACHE[i])
{try
{Tabblo.core.caches.CANVAS_CACHE[i].clear();}
catch(e)
{printStack(e,'resetCanvasses');}}}
cu.CANVAS_STATE="uninitialized";}
cu._sizeCanvasses();cu._placeCanvasses();cu._drawGridCanvasses();}});
/* tabblo/editor/parcels.js */

var __TABBLO_STICKER_GENERIC={resizes:false,crops:false,effects:false,rotates:false,orients:false,progparceledits:false,removes:true,moldifies:false,makestextblock:false,balloons:false,rejects_swap:true,rejects_droppable:true,rejects_draggable:false};Tabblo.add_namespace("Tabblo.editor.parcels",{ZINDEX_TIMER:null,SHELF_BASE_Z:77778,parcelReloadEvent:new YAHOO.util.CustomEvent("parcelReloadEvent",Tabblo.editor.parcels),parcelAttributes:{"id":0,"class":1,parceltype:2,seid:3,iid:4,pos:5,gridsize:6,dummy1:7,owner:8,origleft:9,origtop:10,"page":11,"layer":12},IMAGE_EDITS:{resizes:true,crops:true,effects:true,rotates:true,orients:true,progparceledits:false,removes:true,moldifies:false,makestextblock:true,balloons:true,rejects_swap:false,rejects_droppable:false,rejects_draggable:false,lock:{resizes:false,crops:false,effects:false,rotates:false,orients:false,progparceledits:false,removes:false,moldifies:false,makestextblock:false,balloons:false,rejects_swap:true,rejects_droppable:true,rejects_draggable:true},pin:{resizes:false,orients:false,rejects_draggable:true},hmsticker:__TABBLO_STICKER_GENERIC,hmcomment:__TABBLO_STICKER_GENERIC},TEXT_EDITS:{resizes:true,crops:false,effects:false,rotates:false,orients:false,progparceledits:false,removes:true,moldifies:false,makestextblock:false,balloons:false,rejects_swap:false,rejects_droppable:false,rejects_draggable:false,lock:{resizes:false,crops:false,effects:false,rotates:false,orients:false,progparceledits:false,removes:false,moldifies:false,makestextblock:false,balloons:false,rejects_swap:true,rejects_droppable:true,rejects_draggable:true}},MOLD_EDITS:{resizes:false,crops:false,effects:false,rotates:false,orients:false,progparceledits:false,removes:true,moldifies:false,makestextblock:false,balloons:false,rejects_swap:false,rejects_droppable:true,rejects_draggable:true,lock:{resizes:false,crops:false,effects:false,rotates:false,orients:false,progparceledits:false,removes:false,moldifies:false,makestextblock:false,balloons:false,rejects_swap:true,rejects_droppable:true,rejects_draggable:true}},PROG_EDITS:{resizes:true,crops:false,effects:false,rotates:false,orients:false,progparceledits:true,removes:true,moldifies:false,makestextblock:true,balloons:false,rejects_swap:false,rejects_droppable:false,rejects_draggable:false},reinitBubbles:function()
{var ids=Tabblo.editor.parcels.getAllBubbleIds();for(var i=0;i<ids.length;i++)
{Tabblo.editor.parcels.initBubble(ids[i]);}},getAllBubbleIds:function()
{return $$('div.parcel_holder div[bubble_elt_id]');},initBubble:function(bubble_id)
{var bubbleId='bubble_'+bubble_id;Tabblo.editor.BALLOONS[bubbleId]=Tabblo.editor.bubbleInit(bubbleId);if(is_ie6)
{__tcu.ieFixXimg($("bubble_img_"+bubble_id));}},resizeDraggable:function(id,sGroup,config)
{Tabblo.editor.parcels.resizeDraggable.superclass.constructor.apply(this,arguments);},deleteParcel:function(parcel)
{var parceltype=parcel.getType();if(parcel)
{var page=parcel.getPage();Tabblo.Grid.updateParcelPosition(parcel.id,null,page);if(parceltype=="image")
{Tabblo.Grid.imageParcels=__tcu.filterOutIdArray(Tabblo.Grid.imageParcels,parcel.id);}
else if(parceltype=="textblock")
{Tabblo.Grid.textblockParcels=__tcu.filterOutIdArray(Tabblo.Grid.textblockParcels,parcel.id);}
else if(parceltype=="mold")
{Tabblo.Grid.moldParcels=__tcu.filterOutIdArray(Tabblo.Grid.moldParcels,parcel.id);}
else if(parceltype=="prog")
{Tabblo.Grid.progParcels=__tcu.filterOutIdArray(Tabblo.Grid.progParcels,parcel.id);}
Tabblo.Grid.removeGridElementMapItem(page,parcel.id);Tabblo.Grid.finishGridAction();try
{Element.remove(parcel);}
catch(e)
{printStack(e,'deleteParcel');}}},getParcelFromEvent:function(evt)
{var parcel=null;try
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);parcel=Tabblo.editor.parcels.getParcelForItem(tar);}
catch(e)
{printStack(e,'getParcelFromEvent');}
return parcel;},getParcelForItem:function(node)
{if(typeof node=="string"){node=$(node);}
if(node)
{var parceltype=null;try
{parceltype=Tabblo.editor.parcels.getParcelType(node);}
catch(e)
{printStack(e,'getParcelForItem');}
if(parceltype)
{if(parceltype=="image"){Tabblo.editor.parcels.assertImageParcel(node);}
else if(parceltype=="textblock"){Tabblo.editor.parcels.assertTextblockParcel(node);}
else if(parceltype=="mold"){Tabblo.editor.parcels.assertMoldParcel(node);}
else if(parceltype=="prog"){Tabblo.editor.parcels.assertProgParcel(node);}
else if(parceltype=="virtualempty"){}
return node;}
else
{ if(node.id)
{var tryname=node.id.substring(5);var tryparc=$(tryname);if(tryparc)
{try
{parceltype=Tabblo.editor.parcels.getParcelType(tryparc);}
catch(e)
{printStack(e,'getParcelForItem');}
if(parceltype)
{if(parceltype=="image"){Tabblo.editor.parcels.assertImageParcel(tryparc);}
else if(parceltype=="textblock"){Tabblo.editor.parcels.assertTextblockParcel(tryparc);}
else if(parceltype=="mold"){Tabblo.editor.parcels.assertMoldParcel(tryparc);}
else if(parceltype=="prog"){Tabblo.editor.parcels.assertProgParcel(tryparc);}
else if(parceltype=="virtualempty"){}
return tryparc;}
tryparc=null;}}}
while((node=node.parentNode)!=null)
{try
{parceltype=Tabblo.editor.parcels.getParcelType(node);}
catch(e)
{printStack(e,'getParcelForItem');}
if(parceltype)
{var tryparc=$(node.getAttribute("id"));if(parceltype=="image"){Tabblo.editor.parcels.assertImageParcel(tryparc);}
else if(parceltype=="textblock"){Tabblo.editor.parcels.assertTextblockParcel(tryparc);}
else if(parceltype=="mold"){Tabblo.editor.parcels.assertMoldParcel(tryparc);}
else if(parceltype=="prog"){Tabblo.editor.parcels.assertProgParcel(tryparc);}
else if(parceltype=="virtualempty"){}
return tryparc;}}}
return null;},getOrCreateParcelForItem:function(parcel_id)
{var parcel=this.getParcelForItem($(parcel_id));if(!parcel)
{var coords;if(!parcel_id)
{coords=[0,0,0,0];}
else
{coords=Tabblo.editor.parcels.parseEmptyCoords(parcel_id);}
if(coords)
{var x=coords[0];var y=coords[1];var p=coords[2]; var l=coords[3]; parcel=Tabblo.editor.parcels.VirtualEmptyAt(x,y,p,l);}}
return parcel;},getPage:function(parcel)
{try
{var posArray=Tabblo.editor.parcels.getGridPos(parcel);return parseInt(posArray[2]);}
catch(e)
{printfire("Exception: "+parcel+"/"+parcel.id);printStack(e,'getPage');return null;}},getLayer:function(parcel)
{var posArray=Tabblo.editor.parcels.getGridPos(parcel);return parseInt(posArray[3]);},getGridWidth:function(parcel)
{var gridsize=Tabblo.editor.parcels.getParcelAttribute(parcel,"gridsize");var sizeArray=gridsize.split(',');return parseInt(sizeArray[0]);},getGridHeight:function(parcel)
{var gridsize=Tabblo.editor.parcels.getParcelAttribute(parcel,"gridsize");var sizeArray=gridsize.split(',');return parseInt(sizeArray[1]);},getWarningForParcel:function(parcel)
{var parcelid=Tabblo.editor.parcels.getParcelAttribute(parcel,"id");return $("warning_outer_"+parcelid);},getWarningInnerForParcel:function(parcel)
{var parcelid=Tabblo.editor.parcels.getParcelAttribute(parcel,"id");return $("warning_"+parcelid);},getWarningIconForParcel:function(parcel)
{var parcelid=Tabblo.editor.parcels.getParcelAttribute(parcel,"id");return $("warning_icon_"+parcelid);},getWarningIconTableForParcel:function(parcel)
{var parcelid=Tabblo.editor.parcels.getParcelAttribute(parcel,"id");return $("warning_icon_t_"+parcelid);},enableWarningForParcel:function(parcel_id)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(parcel_id));if(parcel)
{try
{var w=Tabblo.editor.parcels.getWarningForParcel(parcel);if(w)
{w.style.display="";var wa=Tabblo.editor.parcels.getWarningInnerForParcel(parcel);__tcu.setObjectOpacity(wa,parseInt(wa.getAttribute("opacity")));}}
catch(e)
{printfire("Exception for parcel "+parcel.id);printStack(e,'enableWarningForParcel');}}},disableWarningForParcel:function(parcel_id)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(parcel_id));if(parcel)
{try
{var w=Tabblo.editor.parcels.getWarningForParcel(parcel);if(w)
{w.style.display="none";}}
catch(e)
{printfire("Exception for parcel "+parcel.id);printStack(e,'disableWarningForParcel');}}},getBasePixelSizeForTextblock:function(textbparcel)
{if(textbparcel)
{var type=textbparcel.getType();if(type=="textblock")
{var tc=Tabblo.editor.parcels.getTextcontrolForTextblock(textbparcel);if(tc)
{var size=tc.getAttribute("base_pixel_size");if(!isNaN(parseInt(size)))
{return parseInt(size);}}}}
else
{printfire('getBasePixelSizeForTextblock: '+textbparcel);}
return null;},getBasePixelSizeForCaption:function(iparcel)
{if(iparcel)
{var type=iparcel.getType();if(type=="image")
{var tc=Tabblo.editor.parcels.getThingForImageParcel(iparcel,"caption");if(tc)
{var size=tc.getAttribute("base_pixel_size");if(!isNaN(parseInt(size)))
{return parseInt(size);}}}}
else
{printfire('getBasePixelSizeForCaption: '+textbparcel);}
return null;},setPixelSizeForTextblock:function(textbparcel,newsize)
{if(textbparcel)
{var type=textbparcel.getType();if(type=="textblock")
{var tc=Tabblo.editor.parcels.getTextcontrolForTextblock(textbparcel);if(tc)
{if(!isNaN(parseInt(newsize)))
{tc.setAttribute("base_pixel_size",newsize);}}}}
else
{printfire('setPixelSizeForTextblock: '+textbparcel);}
return null;},getTextcontrolForTextblock:function(textbparcel)
{return Tabblo.editor.parcels.getThingForParcel(textbparcel,"textblock","textblock");},getTexteventForTextblock:function(textbparcel)
{return Tabblo.editor.parcels.getThingForParcel(textbparcel,"textblock","evt_");},getTexteventImgForTextblock:function(textbparcel)
{return Tabblo.editor.parcels.getThingForParcel(textbparcel,"textblock","img_evt_");},getTextcontrolTdForTextblock:function(textbparcel)
{return Tabblo.editor.parcels.getThingForParcel(textbparcel,"textblock","textblocktd");},getThingForParcel:function(parcel,parceltype,thingname)
{if(parcel)
{var type=parcel.getType();if(type==parceltype)
{ var parcelid=Tabblo.editor.parcels.getParcelAttribute(parcel,"id");var thingp=thingname+parcelid;var returnval=$(thingp);return returnval;}
else
{return null;}}
else
{printfire('GetThingForParcel: '+parcel+'/'+parceltype+'/'+thingname);return null;}},getThingForImageParcel:function(parcel,thingname)
{return Tabblo.editor.parcels.getThingForParcel(parcel,"image",thingname);},getCaptionBackgroundForImageParcel:function(parcel)
{return Tabblo.editor.parcels.getThingForImageParcel(parcel,"capback");},getCaptionForImageParcel:function(parcel)
{return Tabblo.editor.parcels.getThingForImageParcel(parcel,"caption");},getCaptionContainerForImageParcel:function(parcel)
{return Tabblo.editor.parcels.getThingForImageParcel(parcel,"gridc");},getImageForImageParcel:function(parcel)
{return Tabblo.editor.parcels.getThingForImageParcel(parcel,"image");},getOrnamentsForImageParcel:function(parcel)
{var ret=null;if(parcel)
{var type=parcel.getType();if(type=="image")
{var parcelid=Tabblo.editor.parcels.getParcelAttribute(parcel,"id");var thingp="ornament"+parcelid;ret=$$("."+thingp);}}
return ret;},getDropshadowForImageParcel:function(parcel)
{return Tabblo.editor.parcels.getThingForImageParcel(parcel,"shadow");},getBubbleClipperForImageParcel:function(parcel)
{return Tabblo.editor.parcels.getThingForImageParcel(parcel,"bubble_clipper_");},getBubblesForImageParcel:function(parcel)
{return $$('div#'+parcel.id+' div[bubble_elt_id]');},getGridPos:function(parcel)
{try
{if(Tabblo.core.caches.PARCELPOS_CACHE[parcel.id]!=null)
{var posArray=Tabblo.core.caches.PARCELPOS_CACHE[parcel.id];return posArray;}
try
{var pos=Tabblo.editor.parcels.getParcelAttribute(parcel,"pos");var posArray=pos.split(',');posArray[0]=parseInt(posArray[0]);posArray[1]=parseInt(posArray[1]);posArray[2]=parseInt(posArray[2]);posArray[3]=parseInt(posArray[3]);Tabblo.core.caches.PARCELPOS_CACHE[parcel.id]=posArray;return posArray;}
catch(e)
{printStack(e,'i_getGridPos');}}
catch(e)
{printStack(e,'e_getGridPos');}
return null;},getGridX:function(parcel)
{var posArray=Tabblo.editor.parcels.getGridPos(parcel);return parseInt(posArray[0]);},getGridY:function(parcel)
{var posArray=Tabblo.editor.parcels.getGridPos(parcel);return parseInt(posArray[1]);},getParcelHeight:function(parcel)
{try
{var type=parcel.getType();if((type=="textblock")||(type=="mold")||(type=="prog"))
{return parseInt(parcel.style.height);}
else if(type=="virtualempty")
{return parseInt(parcel.thingheight);}
else
{var parcelpage=parcel.getPage();var h=parseInt(parcel.getImage().height)+Tabblo.Grid.borgMind[parcelpage].additiveitemheight;return h;}}
catch(e)
{printStack(e,'getParcelHeight');}
return null;},getParcelWidth:function(parcel)
{try
{var type=parcel.getType();if((type=="textblock")||(type=="mold")||(type=="prog"))
{return parseInt(parcel.style.width);}
else if(type=="virtualempty")
{return parseInt(parcel.thingwidth);}
else
{var parcelpage=parcel.getPage();return parseInt(parcel.getImage().width)+Tabblo.Grid.borgMind[parcelpage].additiveitemwidth;}}
catch(e)
{printStack(e,'getParcelWidth');}
return null;},getCalculatedWidth:function(parcel)
{var page=Tabblo.editor.parcels.getPage(parcel);var gridw=Tabblo.editor.parcels.getGridWidth(parcel);return Tabblo.Grid.calculatePixelWidth(gridw,page);},getCalculatedHeight:function(parcel)
{var page=Tabblo.editor.parcels.getPage(parcel);var gridh=Tabblo.editor.parcels.getGridHeight(parcel);return Tabblo.Grid.calculatePixelHeight(gridh,page);},getOriginalPixelPosition:function(parcel)
{var gridpos=parcel.getGridPos();if(gridpos)
{var newarray=new Array();newarray[0]=Tabblo.Grid.calculateCumulativeLeftForColumn(gridpos[0],gridpos[2]);newarray[1]=Tabblo.Grid.calculateCumulativeTopForRow(gridpos[1],gridpos[2]);return newarray;}
else
{return null;}},getParcelAttribute:function(parcel,attribute)
{if(!parcel||!parcel.getAttribute)
{return null;}
try
{var id=parcel.getAttribute("id");if(Tabblo.Grid.grid&&Tabblo.Grid.grid[id])
{var val=Tabblo.Grid.grid[id][Tabblo.editor.parcels.parcelAttributes[attribute]];return val;}
else
{ var val=parcel.getAttribute(attribute);return val;}
return null;}
catch(e)
{printStack(e,'getParcelAttribute');return null;}},getParcelType:function(parcel)
{return Tabblo.editor.parcels.getParcelAttribute(parcel,"parceltype");},parseEmptyCoords:function(coordsStr)
{if(!coordsStr)
{printfire("Error: null or undefined given as coords string");return null;} 
var epos=coordsStr.indexOf('e');if(epos!=0)
{printfire("Error: bad coordinate for empty: "+coordsStr);return null;}
var xpos=coordsStr.indexOf('x');var ypos=coordsStr.indexOf('y');var ppos=coordsStr.indexOf('p');var lpos=coordsStr.indexOf('l');if((lpos>ppos)&&(ppos>ypos)&&(ypos>xpos)&&(xpos>epos))
{var rex=parseInt(coordsStr.substring(xpos+1,ypos));var rey=parseInt(coordsStr.substring(ypos+1,ppos));var rep=parseInt(coordsStr.substring(ppos+1,lpos));var rel=parseInt(coordsStr.substring(lpos+1));return new Array(rex,rey,rep,rel);}
else
{printfire("Error: bad coordinate for empty: "+coordsStr);return null;}},isNonemptyParcel:function(candidate)
{var ptype=candidate.getType();return(ptype&&((ptype=="image")||(ptype=="textblock")||(ptype=="prog")));},isParcel:function(candidate)
{var ptype=Tabblo.editor.parcels.getParcelType(candidate);return(ptype&&((ptype=="image")||(ptype=="virtualempty")||(ptype=="textblock")||(ptype=="mold")||(ptype=="prog")));},assertParcel:function(parcel)
{if(!parcel)
{return false;}
if(parcel.getAttribute("asserted")=="true")
{return parcel;}
if(Tabblo.editor.parcels.isParcel(parcel))
{parcel.setAttribute("asserted","true");parcel=Object.extend(parcel,Tabblo.editor.parcels.Parcel);}
else
{printfire("!!ASSERT FAILED: "+parcel+"("+parcel.id+") IS NOT A >>PARCEL<<");return false;}
return parcel;},assertTypedParcel:function(parcel,type)
{if(!parcel)
{return false;}
if(parcel.getAttribute(type+"_asserted")=="true")
{return parcel;}
if(Tabblo.editor.parcels.assertParcel(parcel))
{if(parcel.getType()==type)
{parcel.setAttribute(type+"_asserted","true");Object.extend(parcel,__TABBLO_TYPED_PARCEL[type]);}
else
{printfire("!!ASSERT FAILED: "+parcel+"("+parcel.id+") IS NOT A >>"+type+" PARCEL<<");return false;}}
else
{return false;}
return parcel;},assertImageParcel:function(parcel)
{return this.assertTypedParcel(parcel,'image');},assertTextblockParcel:function(parcel)
{return this.assertTypedParcel(parcel,'textblock');},assertMoldParcel:function(parcel)
{return this.assertTypedParcel(parcel,'mold');},assertProgParcel:function(parcel)
{return this.assertTypedParcel(parcel,'prog');},setZindexForParcel:function(parcel,optindex)
{if(!parcel||(Tabblo.Grid.isScratchboxElement(parcel))||(parcel.id=='fake_textblock_ernst'))
{return;}
var sourcetype=parcel.getType();var widthi=parcel.getGridWidth();var layeri=parcel.getLayer();var newz;if(isNaN(parseInt(optindex)))
{newz=((sourcetype=="image")?(Tabblo.Grid.zImage-widthi+parseInt(layeri*Tabblo.Grid.zLayerConstant)):(Tabblo.Grid.zTextBlock+parseInt(layeri*Tabblo.Grid.zLayerConstant)));}
else
{newz=optindex;} 
parcel.style.zIndex=newz; try
{clearTimeout(Tabblo.editor.parcels.ZINDEX_TIMER);}catch(e){} 
var setMyZ=function(id,newz)
{if($(id))
{$(id).style.zIndex=newz;}};Tabblo.editor.parcels.ZINDEX_TIMER=setTimeout(setMyZ.bind(this,parcel.id,newz),1000);},demoteImageZindex:function(imgElement)
{var parcel=Tabblo.editor.parcels.getParcelForItem(imgElement);if(parcel)
{parcel.setZindex();parcel=null;}},restoreParcel:function(element)
{clearInterval(Tabblo.editor.DRAG_INTERVAL);Tabblo.editor.DRAG_INTERVAL=null;var parcel=Tabblo.editor.parcels.getParcelForItem(element);if(parcel)
{parcel.setZindex();if(parcel.getType()=="image")
{var ds=parcel.getDropshadow();if(ds)
{ds.style.visibility="visible";}
var caption=parcel.getCaption();if(caption)
{caption.style.visibility="visible";}
var captionb=parcel.getCaptionBackground();if(captionb)
{captionb.style.visibility="visible";}}}
element.setAttribute("isDragging","false");unlockOverlays();},hoverParcel:function(evt)
{try
{if(!Tabblo.editor.overlaysLocked())
{var parcel=Tabblo.editor.parcels.getParcelFromEvent(evt);if(!parcel){return;}
if(Tabblo.Grid.parcelMoving(parcel)){return;}
if(!parcel.isDead()&&!parcel.isPinned())
{Tabblo.Grid.setupDraggable(parcel);}
var parcel_type=parcel.getType();if((parcel_type=="textblock")&&(!parcel.getAttribute("origbg"))&&(parcel.style.backgroundColor))
{var b=parcel.style.backgroundColor;parcel.setAttribute("origbg",b);}
parcel.setupOverlay();}
}
catch(e)
{printStack(e,'hoverParcel');}},unhoverParcelManual:function(parcel)
{if(parcel&&!parcel.isDead())
{if(parcel.getType()=="textblock")
{if(parcel.getAttribute("origbg"))
{parcel.style.backgroundColor=parcel.getAttribute("origbg");}
else
{parcel.style.backgroundColor="";}
parcel.style.border="0px solid white";}
Tabblo.Grid.stopOverlayingThisParcel(null);}
},unhoverParcel:function(evt)
{var parcel=Tabblo.editor.parcels.getParcelFromEvent(evt);if(parcel&&!parcel.isDead())
{var a=parcel.getAttribute("isDragging");if(!a||(a!="true"))
{var dest;try
{dest=__tcu.getDestination(evt);if(dest)
{var _id;try
{_id=dest.getAttribute("id");}
catch(e)
{_id=null;}
if(_id)
{if(_id.indexOf("thumb")!=-1)
{}
else if(_id.indexOf($("thumbnailOverlay_shelf").getAttribute("target"))!=-1)
{}
else{if(isIE)
{ if(!evt){evt=window.event;}
var x=parseInt(Event.pointerX(evt));var y=parseInt(Event.pointerY(evt));var px=Tabblo.Grid.calculateCumulativeLeftForColumn(Tabblo.editor.parcels.getGridX(parcel),Tabblo.editor.parcels.getPage(parcel));var py=Tabblo.Grid.calculateCumulativeTopForRow(Tabblo.editor.parcels.getGridY(parcel),Tabblo.editor.parcels.getPage(parcel));var ex=px+(Tabblo.editor.parcels.getCalculatedWidth(parcel))-5; var ey=py+(Tabblo.editor.parcels.getCalculatedHeight(parcel))-5;if((__tcu.between(x,px,ex))&&(__tcu.between(y,py,ey)))
{return;}}
Tabblo.editor.parcels.unhoverParcelManual(parcel);}}}}
catch(e)
{printStack(e,"unhoverParcel: "+dest+'/'+(typeof dest));}}
}
},recenterOAspectImage:function(parcelid,imageid)
{var iParcel=Tabblo.editor.parcels.getParcelForItem(parcelid);var image=Tabblo.editor.parcels.getImageForImageParcel(iParcel);if(!image)
{return;}
var pwidth=parseInt(iParcel.style.width);var iwidth=image.width;Tabblo.editor.parcels.recenterThing(image,pwidth,iwidth);},recenterThing:function(thingToRecenter,holderWidth,insideWidth)
{var d=holderWidth-insideWidth;if(d>0)
{thingToRecenter.style.left=parseInt(d/2)+"px";}
else
{thingToRecenter.style.left="0px";}},recenterDropshadow:function(pid,did)
{var pwidth=parseInt($(pid).style.width);var iwidth=$(did).width;Tabblo.editor.parcels.recenterThing($(did),pwidth,iwidth);},_changeImageParcelDimensions:function(iParcel,newgridw,newgridh,forcepage)
{var image=Tabblo.editor.parcels.getImageForImageParcel(iParcel);if(!image)
{return;}
var page='';if(parseInt(forcepage)>=0){page=parseInt(forcepage);}
else
{page=iParcel.getPage();}
if(!newgridw)
{newgridw=iParcel.getGridWidth();}
if(!newgridh)
{newgridh=iParcel.getGridHeight();}
var newwidth=Tabblo.Grid.calculatePixelWidth(newgridw,page);var newheight=Tabblo.Grid.calculatePixelHeight(newgridh,page);iParcel.style.width=newwidth+"px";iParcel.style.height=newheight+"px";var tmpsrc=__tcu.updateImageUrlDim(image.src,newwidth,newheight);image.src=tmpsrc;if(Tabblo.Grid.story_aspect=="original")
{image.removeAttribute('width');image.removeAttribute('height');setTimeout(Tabblo.editor.parcels.recenterOAspectImage.bind(this,iParcel.id,image.id),250);}
else
{image.width=newwidth-Tabblo.Grid.borgMind[page].additiveitemwidth;image.height=newheight-Tabblo.Grid.borgMind[page].additiveitemheight;}
var caption=iParcel.getCaptionContainer();if(caption)
{caption.style.width=image.width+"px";caption.style.top=(newheight+Tabblo.Grid.borgMind[page].caption_offsety-Tabblo.Grid.borgMind[page].additiveitemheight)+"px";}
var captionB=iParcel.getCaptionBackground();if(captionB)
{captionB.style.width=image.width+"px";captionB.style.top=(newheight+Tabblo.Grid.borgMind[page].caption_offsety-Tabblo.Grid.borgMind[page].additiveitemheight)+"px";} 
var bubble=iParcel.getBubbleClipper();if(bubble)
{bubble.style.width=newwidth+"px";bubble.style.height=newheight+"px";} 
var dropshadow=iParcel.getDropshadow();if(dropshadow)
{if(isIE&&!is_ie7)
{Tabblo.editor.buildDropshadowFromScratch(iParcel,newwidth,newheight);}
else
{dropshadow.src=Tabblo.editor.buildDropshadowSrc(dropshadow.src,newwidth,newheight);dropshadow.width=newwidth+16;dropshadow.height=newheight+16;}
if(Tabblo.Grid.story_aspect=="original")
{setTimeout(Tabblo.editor.parcels.recenterDropshadow.bind(this,iParcel.id,dropshadow.id),1000);}} 
var newg=newgridw+","+newgridh;Tabblo.Grid.grid[iParcel.id][6]=newg; iParcel.setAttribute("gridsize",newg);},_changeTextblockParcelDimensions:function(tbParcel,newgridw,newgridh,forcepage)
{var tbInner=tbParcel.getTextcontrol();var tbTdInner=tbParcel.getTextcontrolTd();var imgEvt=tbParcel.getTexteventImg();var divEvt=tbParcel.getTextevent();var page='';if(parseInt(forcepage)>=0){page=parseInt(forcepage);}
else
{page=Tabblo.editor.parcels.getPage(tbParcel);}
if(!newgridw)
{newgridw=tbParcel.getGridWidth();}
if(!newgridh)
{newgridh=tbParcel.getGridHeight();}
var newwidth=Tabblo.Grid.calculatePixelWidth(newgridw,page);var newheight=Tabblo.Grid.calculatePixelHeight(newgridh,page);tbParcel.style.width=newwidth+"px";tbParcel.style.height=newheight+"px";tbTdInner.height=newheight;tbTdInner.width=newwidth;var adjH=newheight-(__tcu.getOuterHeight(tbTdInner)-__tcu.getHeight(tbTdInner));var adjW=newwidth-(__tcu.getOuterWidth(tbTdInner)-__tcu.getWidth(tbTdInner));tbTdInner.style.height=adjH+"px";tbTdInner.style.width=adjW+"px";divEvt.style.width=newwidth+"px";divEvt.style.height=newheight+"px";imgEvt.width=newwidth;imgEvt.height=newheight; var newg=newgridw+","+newgridh;Tabblo.Grid.grid[tbParcel.id][6]=newg; tbParcel.setAttribute("gridsize",newg);},_changeParcelDimensions:function(parcel,newgridw,newgridh,forcepage)
{var page='';if(parseInt(forcepage)>=0){page=parseInt(forcepage);}
else
{page=parcel.getPage();}
if(!newgridw)
{newgridw=parcel.getGridWidth();}
if(!newgridh)
{newgridh=parcel.getGridHeight();}
var newwidth=Tabblo.Grid.calculatePixelWidth(newgridw,page);var newheight=Tabblo.Grid.calculatePixelHeight(newgridh,page);parcel.style.width=newwidth+"px";parcel.style.height=newheight+"px"; var newg=newgridw+","+newgridh;Tabblo.Grid.grid[parcel.id][6]=newg; parcel.setAttribute("gridsize",newg);},moveParcelToGridPosition:function(parcel,gridposarray,fastSnap,slowSpeed,timeout)
{if(!timeout){timeout=0;}
var slowerSpeed=slowSpeed?0.5:0.30;var timeSnap=fastSnap?0.05:slowerSpeed;try
{if(parcel)
{var x=Tabblo.Grid.calculateCumulativeLeftForColumn(gridposarray[0],gridposarray[2]);var y=Tabblo.Grid.calculateCumulativeTopForRow(gridposarray[1],gridposarray[2]);if(Tabblo.Grid.parcelMoving(parcel))
{ setTimeout(Tabblo.editor.parcels.moveParcelToGridPosition.bind(this,parcel,gridposarray,fastSnap,slowSpeed,timeout),100);}
else
{Tabblo.Grid.setMovingTrue(parcel.getPage(),parcel.id);var anonyFunc=function(){Tabblo.Grid.setMovingFalse(parcel.getPage(),parcel.id);};if(fastSnap)
{YAHOO.util.Dom.setXY(parcel.id,[x,y]);anonyFunc();}
else
{setTimeout(Tabblo.core.effects.Simple_MoveTo.bind(Tabblo.core.effects,parcel,x,y,timeSnap,YAHOO.util.Easing.easeOut,false,anonyFunc),timeout);}}}}
catch(e)
{printStack(e,'moveParcelToGridPosition(Yahoo)');}},getStatusDiv:function(parcel)
{return $('status_'+parcel.id);},setStatusForParcel:function(parcel,message,color)
{var s=Tabblo.editor.parcels.getStatusDiv(parcel); if(s)
{s.style.backgroundColor=color;s.innerHTML=message;s.style.display="";}},hideStatusForParcel:function(parcel)
{var s=Tabblo.editor.parcels.getStatusDiv(parcel);if(s)
{s.innerHTML="";s.style.display="none";}},isPinnedParcel:function(parcel)
{if(parcel.getAttribute("image_type")=='pin')
{return true;}
return false;},isDeadParcel:function(parcel)
{if(parcel.getAttribute("dead")=="true"){return true;}
if(parcel.getType()=="image")
{if(parcel.getOverlayProperty("dead")==true)
{return true;}}
return false;},rejectsSwap:function(parcel)
{return parcel.getOverlayProperty("rejects_swap");},rejectsDroppable:function(parcel)
{return parcel.getOverlayProperty("rejects_droppable");},rejectsDraggable:function(parcel)
{return parcel.getOverlayProperty("rejects_draggable");},getOverlayPropertyForParcel:function(parcel,holderObj,propertyname)
{return holderObj[propertyname];},getHolderForParcelType:function(parceltype,mylocktype)
{var mytype=(parceltype=="image")?"IMAGE_EDITS":((parceltype=="textblock")?"TEXT_EDITS":((parceltype=="mold")?"MOLD_EDITS":"PROG_EDITS"));var holder=Tabblo.editor.parcels[mytype];if(mylocktype&&holder[mylocktype]&&(typeof(holder[mylocktype])=="object"))
{holder=holder[mylocktype];}
return holder;},getHolderForParcel:function(parcel)
{var mytype=parcel.getType();var mylocktype=parcel.getAttribute(mytype+"_type");return Tabblo.editor.parcels.getHolderForParcelType(mytype,mylocktype);},Parcel:{getPixelPosition:function()
{return[Tabblo.Grid.calculateCumulativeLeftForColumn(this.getGridX(),this.getPage()),Tabblo.Grid.calculateCumulativeTopForRow(this.getGridY(),this.getPage())];},changeDimensions:function(neww,newh,forcepage)
{return Tabblo.editor.parcels._changeParcelDimensions(this,neww,newh,forcepage);},remove:function()
{return Tabblo.editor.parcels.deleteParcel(this);},getOverlayProperty:function(propertyname)
{var holder=Tabblo.editor.parcels.getHolderForParcel(this);var prop=Tabblo.editor.parcels.getOverlayPropertyForParcel(this,holder,propertyname);var type=this.getType();if((typeof(prop)=="undefined")&&(this.getAttribute(type+"_type")))
{holder=Tabblo.editor.parcels.getHolderForParcelType(type,null);prop=Tabblo.editor.parcels.getOverlayPropertyForParcel(this,holder,propertyname);}
return prop;},isPinned:function()
{return Tabblo.editor.parcels.isPinnedParcel(this);},isDead:function()
{return Tabblo.editor.parcels.isDeadParcel(this);},rejectsDraggable:function()
{return Tabblo.editor.parcels.rejectsDraggable(this);},rejectsSwap:function()
{return Tabblo.editor.parcels.rejectsSwap(this);},rejectsDroppable:function()
{return Tabblo.editor.parcels.rejectsDroppable(this);},setStatus:function(message,color)
{return Tabblo.editor.parcels.setStatusForParcel(this,message,color);},hideStatus:function()
{return Tabblo.editor.parcels.hideStatusForParcel(this);},moveToGridPosition:function(gridposarray,fastSnap,slowSpeed,timeout)
{return Tabblo.editor.parcels.moveParcelToGridPosition(this,gridposarray,fastSnap,slowSpeed,timeout);},getPixelHeight:function()
{return Tabblo.editor.parcels.getParcelHeight(this);},getPixelWidth:function()
{return Tabblo.editor.parcels.getParcelWidth(this);},getGridHeight:function()
{return Tabblo.editor.parcels.getGridHeight(this);},getGridWidth:function()
{return Tabblo.editor.parcels.getGridWidth(this);},getGridX:function()
{return Tabblo.editor.parcels.getGridX(this);},getGridY:function()
{return Tabblo.editor.parcels.getGridY(this);},getPage:function()
{return Tabblo.editor.parcels.getPage(this);},getLayer:function()
{return Tabblo.editor.parcels.getLayer(this);},getGridPos:function()
{return Tabblo.editor.parcels.getGridPos(this);},getType:function()
{return Tabblo.editor.parcels.getParcelType(this);},getWarning:function()
{return Tabblo.editor.parcels.getWarningForParcel(this);},getWarningInner:function()
{return Tabblo.editor.parcels.getWarningInnerForParcel(this);},getWarningIcon:function()
{return Tabblo.editor.parcels.getWarningIconForParcel(this);},getWarningIconTable:function()
{return Tabblo.editor.parcels.getWarningIconTableForParcel(this);},enableWarning:function()
{return Tabblo.editor.parcels.enableWarningForParcel(this);},disableWarning:function()
{return Tabblo.editor.parcels.disableWarningForParcel(this);},getWarningText:function()
{return Tabblo.editor.Warnings.getWarningTextForParcel(this);},setZindex:function(optindex)
{return Tabblo.editor.parcels.setZindexForParcel(this,optindex);},isNonempty:function()
{return Tabblo.editor.parcels.isNonemptyParcel(this);},getOriginalPixelPosition:function()
{return Tabblo.editor.parcels.getOriginalPixelPosition(this);},setupOverlay:function(parcel)
{var shelf=__tcu.getDiv("thumbnailOverlay_shelf");if(shelf.getAttribute("target")==parcel.id)
{return false;}
var page=parcel.getPage();if(!(page>=0))
{return false;}
if((Tabblo.Grid.borgMind[page])&&(Tabblo.Grid.borgMind[page].hoverDisabled))
{return false;}
var scroll=0; if(Tabblo.editor._isMerch)
{scroll=Tabblo.Grid.firstElement.scrollTop;}
var last_parcel=Tabblo.editor.parcels.getParcelForItem($(shelf.getAttribute("target")));if(last_parcel&&(last_parcel.id!=parcel.id))
{Tabblo.editor.parcels.unhoverParcelManual(last_parcel);}
shelf.setAttribute("target",parcel.id);var bh=((parcel.style.borderTopWidth!="")&&(!isNaN(parseInt(parcel.style.borderTopWidth))))?(parseInt(parcel.style.borderTopWidth)+parseInt(parcel.style.borderBottomWidth)):0;this.dzIndex=(__tcu.getDiv('blocker_screen').style.display=="none")?Tabblo.editor.parcels.SHELF_BASE_Z:99999;var szIndex=this.dzIndex-1;shelf.style.display='';shelf.style.visibility="hidden";shelf.style.width="27px";var offsets=__tcu.getXY(parcel);YAHOO.util.Dom.setXY(shelf,[offsets[0],offsets[1]-scroll]);var objH=parcel.getPixelHeight();var totalHeight=objH+bh;var minHeight=(parcel.getType()=="image")?((parcel.getAttribute("image_type")&&(parcel.getAttribute("image_type").indexOf("sticker")>0))?50:150):75;shelf.style.height=((totalHeight<minHeight)?minHeight:totalHeight)+"px";shelf.style.zIndex=szIndex;shelf=null;parcel.nextTop=offsets[1]+5;parcel.nextLeft=offsets[0]+4;var Shelf={items:0,setup:function(button,targetid,localleft,localtop,zIndex)
{if(!zIndex){zIndex=Tabblo.editor.parcels.SHELF_BASE_Z;}
button.style.display="";button.style.zIndex=zIndex;YAHOO.util.Dom.setXY(button,[localleft,localtop-scroll]);button.setAttribute("target",parcel.id);button=null;this.items++;},show:function()
{if(this.items>0){var tos=__tcu.getDiv("thumbnailOverlay_shelf");tos.style.display='';tos.style.visibility='visible';var h=parseInt(tos.style.height);if(h>(this.items*26))
{var th=this.items*26;tos.style.height=((totalHeight>th)?totalHeight:th)+"px";}}}};var resizeEnabled=parcel.getOverlayProperty("resizes");if(resizeEnabled)
{var t=__tcu.getDiv("thumbnailOverlay_mogrify");var bLeft=parcel.nextLeft+parcel.getPixelWidth()-parseInt(t.style.width);var bTop=offsets[1]+5+parcel.getPixelHeight()-parseInt(t.style.height);Shelf.setup(t,parcel.id,bLeft,bTop,parseInt(parcel.dzIndex)+13333);if(t.getAttribute("setup_draggable")!="true")
{t.setAttribute("setup_draggable","true");t.setAttribute("dragging","false");new Tabblo.editor.parcels.resizeDraggable(t.id,null,null);}}
return Shelf;}},ImageParcel:{changeDimensions:function(neww,newh,forcepage)
{return Tabblo.editor.parcels._changeImageParcelDimensions(this,neww,newh,forcepage);},getImage:function()
{return Tabblo.editor.parcels.getImageForImageParcel(this);},getOrnaments:function()
{return Tabblo.editor.parcels.getOrnamentsForImageParcel(this);},getBubbleClipper:function()
{return Tabblo.editor.parcels.getBubbleClipperForImageParcel(this);},getBubbles:function()
{return Tabblo.editor.parcels.getBubblesForImageParcel(this);},getDropshadow:function()
{return Tabblo.editor.parcels.getDropshadowForImageParcel(this);},getCaption:function()
{return Tabblo.editor.parcels.getCaptionForImageParcel(this);},getCaptionContainer:function()
{return Tabblo.editor.parcels.getCaptionContainerForImageParcel(this);},getCaptionBackground:function()
{return Tabblo.editor.parcels.getCaptionBackgroundForImageParcel(this);},getBasePixelSize:function()
{return Tabblo.editor.parcels.getBasePixelSizeForCaption(this);},setupOverlay:function()
{var Shelf=Tabblo.editor.parcels.Parcel.setupOverlay(this);if(!Shelf){return;}
__tcu.getDiv("thumbnailOverlay_largeremove_textblock").style.display="none";__tcu.getDiv("thumbnailOverlay_largeremove_mold").style.display="none";if(this.getOverlayProperty("resizes"))
{if(this.getGridHeight()<=Tabblo.Grid.borgMind[this.getPage()].smally)
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_expand"),this.id,this.nextLeft,this.nextTop,this.dzIndex);__tcu.getDiv("thumbnailOverlay_collapse").style.display="none";this.nextTop+=24;}
else if(this.getGridHeight()>Tabblo.Grid.borgMind[this.getPage()].smally)
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_collapse"),this.id,this.nextLeft,this.nextTop,this.dzIndex);__tcu.getDiv("thumbnailOverlay_expand").style.display="none";this.nextTop+=24;}}
else
{__tcu.getDiv("thumbnailOverlay_collapse").style.display="none";__tcu.getDiv("thumbnailOverlay_expand").style.display="none";}
var i=this.getImage();if((this.getOverlayProperty("crops"))&&(i.getAttribute("ie6fixed")!="true"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_crop"),this.id,this.nextLeft,this.nextTop,this.dzIndex);this.nextTop+=24;}
if(this.getOverlayProperty("effects"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_effects"),this.id,this.nextLeft,this.nextTop,this.dzIndex);this.nextTop+=24;}
if(this.getOverlayProperty("rotates"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_rotate"),this.id,this.nextLeft,this.nextTop,this.dzIndex);this.nextTop+=24;}
if(Tabblo.Grid.story_aspect=="tweaked")
{if(this.getOverlayProperty("orients"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_orientation"),this.id,this.nextLeft,this.nextTop,this.dzIndex);this.nextTop+=24;}}
if(Tabblo.Grid.layout_mode=="reflow")
{if(this.getOverlayProperty("makestextblock"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_text"),this.id,this.nextLeft,this.nextTop,this.dzIndex);this.nextTop+=24;}}
if(this.getOverlayProperty("balloons"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_balloon"),this.id,this.nextLeft,this.nextTop,this.dzIndex);this.nextTop+=24;}
if(!this.hideRemove&&this.getOverlayProperty("removes"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_largeremove_picture"),this.id,this.nextLeft,this.nextTop,this.dzIndex);}
else if(!this.hideRemove&&this.getOverlayProperty("moldifies"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_moldify_picture"),this.id,this.nextLeft,this.nextTop,this.dzIndex);}
else
{__tcu.getDiv("thumbnailOverlay_largeremove_picture").style.display="none";__tcu.getDiv("thumbnailOverlay_moldify_picture").style.display="none";}
Shelf.show();}},TextblockParcel:{isDummy:function()
{var dummy=false;var textc=this.getTextcontrol();if(textc)
{if(textc.getAttribute("dummy_text")=="true")
{dummy=true;}}
return dummy;},isEmpty:function()
{var empty=false;var textc=this.getTextcontrol();if(textc)
{if(textc.getAttribute("editabletext")=="true")
{empty=(textc.innerHTML==Tabblo.editor.Textblock.DEF_TB);}}
return empty;},changeDimensions:function(neww,newh,forcepage)
{return Tabblo.editor.parcels._changeTextblockParcelDimensions(this,neww,newh,forcepage);},setPixelSize:function(newsize)
{return Tabblo.editor.parcels.setPixelSizeForTextblock(this,newsize);},getBasePixelSize:function()
{return Tabblo.editor.parcels.getBasePixelSizeForTextblock(this);},getTextevent:function()
{return Tabblo.editor.parcels.getTexteventForTextblock(this);},getImage:function()
{return this.getTexteventImg();},getTexteventImg:function()
{return Tabblo.editor.parcels.getTexteventImgForTextblock(this);},getTextcontrol:function()
{return Tabblo.editor.parcels.getTextcontrolForTextblock(this);},getTextcontrolTd:function()
{return Tabblo.editor.parcels.getTextcontrolTdForTextblock(this);},setupOverlay:function()
{var Shelf=Tabblo.editor.parcels.Parcel.setupOverlay(this);if(!Shelf){return;}
if(this.getOverlayProperty("resizes"))
{if(this.getGridHeight()<=Tabblo.Grid.borgMind[this.getPage()].smally)
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_expand"),this.id,this.nextLeft,this.nextTop,this.dzIndex);__tcu.getDiv("thumbnailOverlay_collapse").style.display="none";this.nextTop+=24;}
else if(this.getGridHeight()>Tabblo.Grid.borgMind[this.getPage()].smally)
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_collapse"),this.id,this.nextLeft,this.nextTop,this.dzIndex);__tcu.getDiv("thumbnailOverlay_expand").style.display="none";this.nextTop+=24;}}
else
{__tcu.getDiv("thumbnailOverlay_collapse").style.display="none";__tcu.getDiv("thumbnailOverlay_expand").style.display="none";}
try
{__tcu.getDiv("thumbnailOverlay_crop").style.display="none";__tcu.getDiv("thumbnailOverlay_effects").style.display="none";__tcu.getDiv("thumbnailOverlay_rotate").style.display="none";__tcu.getDiv("thumbnailOverlay_orientation").style.display="none";__tcu.getDiv("thumbnailOverlay_compedit").style.display="none";__tcu.getDiv("thumbnailOverlay_largeremove_picture").style.display="none";__tcu.getDiv("thumbnailOverlay_largeremove_mold").style.display="none";__tcu.getDiv("thumbnailOverlay_text").style.display="none";__tcu.getDiv("thumbnailOverlay_balloon").style.display="none";if(!this.hideRemove&&this.getOverlayProperty("removes"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_largeremove_textblock"),this.id,this.nextLeft,this.nextTop,this.dzIndex);}
else
{__tcu.getDiv("thumbnailOverlay_largeremove_textblock").style.display="none";}}
catch(e)
{printStack(e,'TextblockParcel.setupOverlay');}
Shelf.show();}},ProgParcel:{setupOverlay:function()
{var Shelf=Tabblo.editor.parcels.Parcel.setupOverlay(this);if(!Shelf){return;}
__tcu.getDiv("thumbnailOverlay_collapse").style.display="none";__tcu.getDiv("thumbnailOverlay_expand").style.display="none";__tcu.getDiv("thumbnailOverlay_crop").style.display="none";__tcu.getDiv("thumbnailOverlay_effects").style.display="none";__tcu.getDiv("thumbnailOverlay_rotate").style.display="none";__tcu.getDiv("thumbnailOverlay_orientation").style.display="none";__tcu.getDiv("thumbnailOverlay_largeremove_textblock").style.display="none";__tcu.getDiv("thumbnailOverlay_largeremove_picture").style.display="none";__tcu.getDiv("thumbnailOverlay_text").style.display="none";__tcu.getDiv("thumbnailOverlay_balloon").style.display="none";if(this.getOverlayProperty("progparceledits"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_compedit"),this.id,this.nextLeft,this.nextTop);this.nextTop+=24;}
if(this.getOverlayProperty("removes"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_largeremove_mold"),this.id,this.nextLeft,this.nextTop,this.dzIndex);}
else
{__tcu.getDiv("thumbnailOverlay_largeremove_mold").style.display="none";}
Shelf.show();}},MoldParcel:{setupOverlay:function()
{var Shelf=Tabblo.editor.parcels.Parcel.setupOverlay(this);if(!Shelf){return;}
__tcu.getDiv("thumbnailOverlay_collapse").style.display="none";__tcu.getDiv("thumbnailOverlay_expand").style.display="none";__tcu.getDiv("thumbnailOverlay_crop").style.display="none";__tcu.getDiv("thumbnailOverlay_effects").style.display="none";__tcu.getDiv("thumbnailOverlay_rotate").style.display="none";__tcu.getDiv("thumbnailOverlay_orientation").style.display="none";__tcu.getDiv("thumbnailOverlay_compedit").style.display="none";__tcu.getDiv("thumbnailOverlay_largeremove_textblock").style.display="none";__tcu.getDiv("thumbnailOverlay_largeremove_picture").style.display="none";__tcu.getDiv("thumbnailOverlay_text").style.display="none";__tcu.getDiv("thumbnailOverlay_balloon").style.display="none";if(this.getOverlayProperty("removes"))
{Shelf.setup(__tcu.getDiv("thumbnailOverlay_largeremove_mold"),this.id,this.nextLeft,this.nextTop,this.dzIndex);}
else
{__tcu.getDiv("thumbnailOverlay_largeremove_mold").style.display="none";}
Shelf.show();}}, VirtualEmpty:function(xpos,ypos,ppos,lpos,wid,hei)
{try
{this.xpos=xpos;this.ypos=ypos;this.ppos=ppos;this.lpos=lpos;this.pos=xpos+","+ypos+","+ppos+","+lpos;this.seid=new String(xpos)+""+new String(ypos); this.gridwidth=wid||Tabblo.Grid.borgMind[this['ppos']].smallx||1;this.gridheight=hei||Tabblo.Grid.borgMind[this['ppos']].smally||1;this.gridsize=this.gridwidth+","+this.gridheight;this.iid="empty"; this.idstring="ex"+this.xpos+"y"+this.ypos+"p"+this.ppos+"l"+this.lpos;this.id=this.idstring;this.classstring="virtual_grid_empty";this.parceltype="virtualempty";this.type="virtualempty";this.thingwidth=Tabblo.Grid.borgMind[this.ppos].columnwidth;this.thingheight=Tabblo.Grid.borgMind[this.ppos].rowheight;this.style=new Object();this.style.left=Tabblo.Grid.calculateRelativeLeftForColumn(this.xpos,this.ppos)+"px";this.style.top=Tabblo.Grid.calculateRelativeTopForRow(this.ypos,this.ppos)+"px";this['origleft']=Tabblo.Grid.calculateRelativeLeftForColumn(this.xpos,this.ppos)+"px";this['origtop']=Tabblo.Grid.calculateRelativeTopForRow(this.ypos,this.ppos)+"px";this['page']=this.ppos;this['layer']=this.lpos;function __getPixelWidth()
{return parseInt(this.thingwidth);}
function __getPixelHeight()
{return parseInt(this.thingheight);}
function __getGridWidth()
{return this.gridwidth;}
function __getGridHeight()
{return this.gridheight;}
function __getGridPos()
{return[this.xpos,this.ypos,this.ppos,this.lpos];}
function __getGridX()
{return this.xpos;}
function __getGridY()
{return this.ypos;}
function __getPage()
{return this.ppos;}
function __getLayer()
{return this.lpos;}
function __getType()
{return"virtualempty";}
function __getAttribute(attributename)
{if(attributename=="id")
{attributename="idstring";}
else if(attributename=="class")
{attributename="classstring";}
return this[attributename];}
function __getPixelPosition()
{var c=Tabblo.Grid.calculateCumulativeLeftForColumn(this.xpos,this.ppos);var r=Tabblo.Grid.calculateCumulativeTopForRow(this.ypos,this.ppos);return new Array(c,r);}
function __getOriginalPixelPosition()
{return this.getPixelPosition();}
this.getAttribute=__getAttribute;this.getPixelPosition=__getPixelPosition;this.getOriginalPixelPosition=__getOriginalPixelPosition;this.getType=__getType;this.getPixelHeight=__getPixelHeight;this.getPixelWidth=__getPixelWidth;this.getGridWidth=__getGridWidth;this.getGridHeight=__getGridHeight;this.getGridPos=__getGridPos;this.getPage=__getPage;this.getGridX=__getGridX;this.getGridY=__getGridY;this.getLayer=__getLayer;}
catch(e)
{printfire("(add'tl info)ppos:"+ppos);printStack(e,'VirtualEmpty');}},VirtualEmptyAt:function(xpos,ypos,ppos,lpos,wid,hei)
{var tid=xpos+","+ypos+","+ppos+","+lpos;if(!Tabblo.Grid._virtual_empties[tid])
{Tabblo.Grid._virtual_empties[tid]=new Tabblo.editor.parcels.VirtualEmpty(xpos,ypos,ppos,lpos,wid,hei);}
return Tabblo.Grid._virtual_empties[tid];}});var __TABBLO_TYPED_PARCEL={'image':Tabblo.editor.parcels.ImageParcel,'textblock':Tabblo.editor.parcels.TextblockParcel,'mold':Tabblo.editor.parcels.MoldParcel,'prog':Tabblo.editor.parcels.ProgParcel};YAHOO.extend(Tabblo.editor.parcels.resizeDraggable,YAHOO.util.DD,{origZ:1000,startDrag:function(x,y)
{var element=this.getEl();Tabblo.Grid.setOriginalSizes(element);element.style.zIndex=13333;},onDrag:function(e)
{var element=this.getEl();Tabblo.Grid.setNewSize(element);},endDrag:function(e)
{var element=this.getEl();var shouldrevert=Tabblo.Grid.stopSizing(element);if(shouldrevert)
{}
element.style.zIndex=this.origZ;}});
/* tabblo/editor/actions.js */

Tabblo.add_namespace("Tabblo.editor.actions",{actionQueueBeginRun:new YAHOO.util.CustomEvent("actionQueueBeginRun",{}),actionQueueEndRun:new YAHOO.util.CustomEvent("actionQueueEndRun",{}),alertActionStatus:function(statusString,autoTimeout)
{var parentDiv=null;var callBack=Tabblo.editor.actions._alertActionStatus.bind(Tabblo.editor.actions,statusString,autoTimeout);var blocker=__tcu.getDiv('action_status_alert',callBack,'action_status_alert',parentDiv,{});},_alertActionStatus:function(statusString,autoTimeout)
{var a=$('action_status_alert');a.style.display="";var screenSize=__tcu.getScreenDimensions();var center=parseInt(screenSize[0]/2);var c=(center-(parseInt(parseInt(__tcu.getWidth(a))/2)));a.style.left=c+"px";a.style.top=(2+jQuery(window).scrollTop())+"px";a.innerHTML=statusString;if(autoTimeout)
{setTimeout(Tabblo.editor.actions.hideActionStatus.bind(Tabblo.editor.actions),2500);}},hideActionStatus:function()
{$('action_status_alert').style.display='none';},SimpleAction:function(funcName,clientFunc,url,params,completeFunc,suspend_skeleton,suspend_grid_loads,completion_lag)
{this.__name__=funcName;this.LOCK_UI=false;this.NEEDS_DIRTY_CLONE_RELOAD=false;this.SUSPENDS_SKELETON_MOVEALL=suspend_skeleton||false;this.SUSPENDS_GRID_LOADS=suspend_grid_loads||false;this.COMPLETION_LAG=completion_lag||0;this.client=clientFunc; this.prepare_server=function(){this.server_url=url;this.server_params={'pars':params};this.blocking=false;this.stealthy=true;};this.completion_permitted=suspend_skeleton?(Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL")):(suspend_grid_loads?(Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_GRID_LOADS")):(Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction));this.complete=completeFunc;},ActionQueue:function()
{this.stopcount=24;this.delay_timeout=150;this.interval=150;this.slow_interval=5000;this.timer=null;this.actionArray=new Array();this.RUNNING_ACTION=false;this.slow_day=0;this.paused=true;this.safePush=function(actionObj,completeFunc)
{this.actionArray.push([actionObj,completeFunc]);this.slow_day=0;this.resetFastInterval();Tabblo.editor.actions.ActionRunner.renderQueueToARLog();}
this.actionBegins=function(lock_ui)
{this.RUNNING_ACTION=true;if(lock_ui)
{lockOverlays();}
Tabblo.editor.actions.ActionRunner.renderQueueToARLog();}
this.actionFinished=function(actionObj)
{try
{if(actionObj.STATUS_TEXT&&actionObj.STATUS_TEXT())
{setTimeout(Tabblo.editor.actions.hideActionStatus.bind(Tabblo.editor.actions),1000);}
var actionArray=this.actionArray.shift();var lag=actionArray[0].COMPLETION_LAG||0;setTimeout(function(actionObj){Tabblo.Grid.finishGridAction();this.RUNNING_ACTION=false;if(!Tabblo.editor.actions.ActionRunner.ServerActionQueue.actionArray[0])
{Tabblo.editor.actions.actionQueueEndRun.fire(actionObj.__name__);}}.bind(this,actionObj),lag);}
catch(e)
{printStack(e,'ActionQueue:actionFinished');}
Tabblo.editor.actions.ActionRunner.renderQueueToARLog();}
this.cancelAllAndFlush=function()
{clearInterval(this.timer);if(this.actionArray)
{for(var i=0;i<this.actionArray.length;i++)
{var ac=this.actionArray[i];var a=ac[0];var b=ac[1];b=null;a=null;this.actionArray[i]=null;}
this.actionArray=null;}
Tabblo.editor.actions.ActionRunner.renderQueueToARLog();}
this.queueCheck=function()
{Tabblo.editor.actions.ActionRunner.renderQueueToARLog();if(!this.RUNNING_ACTION)
{try
{var nextActionArray=this.actionArray[0]; if(nextActionArray)
{this.slow_day=0;var actionObj=nextActionArray[0];var completeAction=null;if(nextActionArray[1]&&(nextActionArray[1]!=null))
{completeAction=nextActionArray[1].bind(actionObj);} 
actionObj.complete=function(action,parameters,ajaxResponse){try
{if(completeAction&&(completeAction!=null))
{completeAction(ajaxResponse,parameters,action.completion_permitted());if(action.NEEDS_DIRTY_CLONE_RELOAD)
{Tabblo.editor.reloadDirtyClones();}}}
catch(e)
{printStack(e,'inner_action');}
this.actionFinished(action);}.bind(this,actionObj,actionObj.server_params); actionObj.complete.__performance_pre_server_t__=actionObj.__performance_pre_server_t__;try
{this.actionBegins(actionObj.LOCK_UI);if(actionObj.server_url)
{var ran=Tabblo.ajax.Send.beam(actionObj.server_url,{parameters:actionObj.server_params.pars,onSuccess:actionObj.complete},actionObj.blocking,actionObj.stealthy);if(!ran)
{ console.log('action failed to run -- trying to run too many instances of the action in narrow time window');this.actionFinished(actionObj);}}
else
{ if(actionObj.complete&&(actionObj.complete!=null))
{actionObj.complete(actionObj.server_params,null);}}}
catch(e)
{printStack(e,'ServerAction: failure');}}
else
{if(this.slow_day>=this.stopcount)
{this.pauseInterval();this.slow_day=0;}
else
{if(!this.paused)
{this.slow_day++;}}}}
catch(e)
{printStack(e,'queueCheck');}}
else
{}
Tabblo.editor.actions.ActionRunner.renderQueueToARLog();}
this.resetFastInterval=function()
{if(this.paused)
{this.paused=false;if(this.timer)
{clearInterval(this.timer);this.timer=null;}
this.timer=setInterval(this.queueCheck.bind(this),this.interval);}
Tabblo.editor.actions.ActionRunner.renderQueueToARLog();}
this.pauseInterval=function()
{if(!this.paused)
{this.paused=true;if(this.timer)
{clearInterval(this.timer);this.timer=null;}
this.timer=setInterval(this.queueCheck.bind(this),this.slow_interval);}
Tabblo.editor.actions.ActionRunner.renderQueueToARLog();}
this.anyActionsRunning=function()
{return Tabblo.editor.actions.ActionRunner.ServerActionQueue.actionArray[0];}}});Tabblo.core.extend(Tabblo.editor.actions,{ActionRunner:{STOP_RECEIVING_CALLS:false,CLIENT_RUN_SUSPENDED:false,SERVER_RUN_SUSPENDED:false,ServerActionQueue:new Tabblo.editor.actions.ActionQueue(),run:function(argObj)
{var returnValue=1;var funcSig=__tcu.getFunctionSignature(this.parameters);var index=0;var isFastAction=!(this.COMPLETION_LAG>1000);if((index=Tabblo.event.EventQueue.queueAndTest(funcSig,isFastAction))<0)
{__d('ActionRunner:run','failure to run action (failed windowing test)',funcSig,this.parameters);if(Tabblo.editor&&Tabblo.editor.Grid&&Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator("SUSPENDS_SKELETON_MOVEALL",true))
{ Tabblo.Grid.moveAllParcelsIntoPlace();}
return 1;}
Tabblo.editor.actions.actionQueueBeginRun.fire(this.__name__);Tabblo.editor.dirty=1;Tabblo.editor.actions.ActionRunner.renderQueueToARLog();if(!Tabblo.editor.actions.ActionRunner.STOP_RECEIVING_CALLS)
{if(!argObj||!argObj.skipClient)
{if(!Tabblo.editor.actions.ActionRunner.CLIENT_RUN_SUSPENDED)
{if(this.STATUS_TEXT&&this.STATUS_TEXT())
{Tabblo.editor.actions.alertActionStatus(this.STATUS_TEXT());}
if((this.client)&&(this.client!=null))
{var clientStart=new Date().getTime();returnValue=this.client(argObj);this.__performance_pre_server_t__=new Date().getTime()-clientStart;}
else
{returnValue=false;}}
else
{printfire("CLIENT SUSPENDED: waiting "+this.delay_timeout+" ms");setTimeout(this.run.bind(this,argObj),this.delay_timeout);return-1;}}
else
{returnValue=false;}
if(!Tabblo.editor.actions.ActionRunner.SERVER_RUN_SUSPENDED)
{if((this.prepare_server)&&(this.prepare_server!=null))
{this.prepare_server();}
if((this.complete)&&(this.complete!=null))
{Tabblo.editor.actions.ActionRunner.ServerActionQueue.safePush(this,this.complete);}}
else
{printfire("SERVER SUSPENDED: waiting "+this.delay_timeout+" ms");argObj=Object.extend(argObj,{skipClient:true});setTimeout(this.run.bind(this,argObj),this.delay_timeout);return returnValue;}
return returnValue;}
else
{if(!this.CANT_RETRY)
{__d("ActionRunner.run","ACTION QUEUE TEMPORARILY HALTED: waiting "+this.delay_timeout+" ms");setTimeout(this.run.bind(this,argObj),this.delay_timeout);return-1;}
else
{__d("ActionRunner.run","ACTION QUEUE TEMPORARILY HALTED: NO RETRY");return 1;}}},cancelAllAndFlush:function()
{Tabblo.editor.actions.ActionRunner.STOP_RECEIVING_CALLS=true;Tabblo.editor.actions.ActionRunner.ServerActionQueue.cancelAllAndFlush();},renderQueueToARLog:function()
{ if(!DEBUG_JS||isIE){return;}
var w=$("ARLog"); if(!w){return;}
var d=w.style.display; if(d=="none"){return;}
var ActionRunner=Tabblo.editor.actions.ActionRunner;var message="State:<br/>STOP_RECEIVING_CALLS: "+ActionRunner.STOP_RECEIVING_CALLS+",<br/>CLIENT_RUN_SUSPENDED: "+
ActionRunner.CLIENT_RUN_SUSPENDED+",<br/>SERVER_RUN_SUSPENDED: "+ActionRunner.SERVER_RUN_SUSPENDED+".<br/>";message+="ServerActionQueue:<br/>stopcount:"+ActionRunner.ServerActionQueue.stopcount+",<br/>"+"delay_timeout:"+ActionRunner.ServerActionQueue.delay_timeout+",<br/>"+"interval:"+ActionRunner.ServerActionQueue.interval+",<br/>"+"slow_interval:"+ActionRunner.ServerActionQueue.slow_interval+",<br/>"+"timer:"+ActionRunner.ServerActionQueue.timer+",<br/>"+"actionArray:"+ActionRunner.ServerActionQueue.actionArray+",<br/>"+"RUNNING_ACTION:"+ActionRunner.ServerActionQueue.RUNNING_ACTION+",<br/>"+"slow_day:"+ActionRunner.ServerActionQueue.slow_day+",<br/>"+"paused:"+ActionRunner.ServerActionQueue.paused+".<br/>_-_-_-_-_-_-_-_-_-_-<br/>";var arqlen=0;if(ActionRunner.ServerActionQueue&&ActionRunner.ServerActionQueue.actionArray)
{arqlen=ActionRunner.ServerActionQueue.actionArray.length;}
message+="QLEN: "+arqlen;message+=".<br/>_-_-_-_-_-_-_-_-_-_-<br/>";for(var i=0;i<arqlen;i++)
{var a=ActionRunner.ServerActionQueue.actionArray[i];if(a)
{var actionObj=a[0];var completeFunc=a[1];message+="Action:\t-------"+actionObj.__name__+"<br/>\t-------";}}
message+=".<br/>_-_-_-_-_-_-_-_-_-_-<br/>";w.innerHTML=message;}}});Tabblo.core.extend(Tabblo.editor.actions,{__cancel:function()
{this.client=null;this.prepare_server=null;this.complete=null;this.parameters=null;},Action:function(ActionSpec,parameters)
{Object.extend(this,ActionSpec);this.parameters=parameters;}});Tabblo.editor.actions.Action.prototype.run=Tabblo.editor.actions.ActionRunner.run;Tabblo.editor.actions.Action.prototype.cancel=Tabblo.editor.actions.__cancel;Tabblo.core.extend(Tabblo.editor.actions,{UtilityClientActions:{NullAction:function(){},GridLoadParameterSetter:function()
{if(!this.parameters.optscale)
{this.parameters.optscale=1;}
this.parameters.multiPage=false;if((this.parameters.optpage instanceof Array)&&(this.parameters.optpage.length>0))
{this.parameters.pars="pages=";this.parameters.pars+=this.parameters.optpage[0];for(var i=1;i<this.parameters.optpage.length;i++){this.parameters.pars+=','+this.parameters.optpage[i];}
if(this.parameters.optpage.length>1){this.parameters.multiPage=true;this.parameters.pageIds=this.parameters.optpage;}
this.parameters.optpage=this.parameters.optpage[0];}
else if(this.parameters.optpage>=-1)
{this.parameters.pars="pages="+this.parameters.optpage;}
else
{if(Tabblo.editor.STORY_PAGE>0)
{this.parameters.optpage=Tabblo.editor.STORY_PAGE;this.parameters.pars="pages="+this.parameters.optpage;}
else
{this.parameters.optpage=0;this.parameters.pars="pages=0";}}
if(this.parameters.optscale!=1)
{this.parameters.pars+="&scale="+this.parameters.optscale;} 
if((this.parameters.optstock=="true")||(this.parameters.optstock==true))
{this.parameters.optstock=null;}
if(this.parameters.optstock)
{this.parameters.pars+="&stock="+this.parameters.optstock;}
var pt=null;try
{pt=Tabblo.Grid.TheFirstGrid.getAttribute("product_type");}
catch(e){}
if((((this.parameters.optpage!=0)&&(pt!="book"))||((this.parameters.optpage!=1)&&(pt=="book"))))
{this.parameters.pars+="&omitheader=1";}
if((this.parameters.optscale<0.15))
{this.parameters.pars+="&omitoverlays=1";}
this.parameters.isClone=false;if(this.parameters.url)
{this.parameters.pars+='&url='+this.parameters.url;}
if(this.parameters.width)
{this.parameters.pars+="&width="+this.parameters.width;}
this.parameters.pars+='&partner='+this.parameters.partner;},SwapParcels:function()
{var dragParcel=Tabblo.editor.parcels.getParcelForItem($(this.parameters.source_parcel_id));var dropParcel=Tabblo.editor.parcels.getParcelForItem($(this.parameters.destination_parcel_id));var tmpx=dragParcel.getGridWidth();var tmpy=dragParcel.getGridHeight();var tmpp=dragParcel.getPage();dragParcel.changeDimensions(dropParcel.getGridWidth(),dropParcel.getGridHeight(),dropParcel.getPage());dropParcel.changeDimensions(tmpx,tmpy,tmpp);var dragPin=dragParcel.getAttribute("image_type");var dropPin=dropParcel.getAttribute("image_type");if(dragPin&&(dragPin=="pin"))
{dropParcel.setAttribute("image_type","pin");}
else
{if(dropPin=="lock")
{dropParcel.setAttribute('image_type',"lock");}
else
{dropParcel.setAttribute('image_type',null);}}
if(dropPin&&(dropPin=="pin"))
{dragParcel.setAttribute("image_type","pin");}
else
{if(dragPin=="lock")
{dragParcel.setAttribute('image_type',"lock");}
else
{dragParcel.setAttribute('image_type',null);}}
var tmppos=dragParcel.getGridPos();Tabblo.Grid.updateParcelPosition(dragParcel.id,dropParcel.getGridPos());Tabblo.Grid.updateParcelPosition(dropParcel.id,tmppos); var dest_type=((dragParcel.getType()=="prog")||(dropParcel.getType()=="prog"))?("prog"):(((dragParcel.getType()=="textblock")||(dropParcel.getType()=="textblock"))?("textblock"):("image"));var leave_mold_behind=false;if(Tabblo.Grid.layout_mode=='page')
{leave_mold_behind=true;}
this.parameters=Object.extend(this.parameters,{dest:this.parameters.destination_parcel_id,layer:dropParcel.getLayer(),dest_type:dest_type,leave_mold_behind:leave_mold_behind});return false;}},UtilityCompletionPermissionActions:{TrivialTrueAction:function(){return true;},PropertyPrognosticator:function(propertyTrueName,checkWholeQueue)
{ var returnVal=true; var queue=Tabblo.editor.actions.ActionRunner.ServerActionQueue.actionArray; for(var i=checkWholeQueue?0:1;i<queue.length;i++)
{if(queue[i]!=null)
{var actionObj=queue[i][0];if(actionObj!=null)
{var testPropVal=eval("actionObj."+propertyTrueName);if(testPropVal==true)
{returnVal=false;break;}}}}
return returnVal;}},UtilityCompleteActions:{NullAction:function(){},RefreshGridAction:function(ajaxResponse,parameters,permitted)
{if(ajaxResponse.statusText!="OK")
{return;}
var grid=ajaxResponse.responseObject['grid'];if(!grid)
{var info=ajaxResponse.responseObject['info'];if(!info)
{ return;}
if(Tabblo.Editor&&Tabblo.Editor.fully_initialized)
{Tabblo.Editor.metadata=info;}
var num_up=parseInt(info['num_up']);if(num_up==1||this.parameters.multiPage)
{grid=info['primary_pages'];}
else
{ var ind;if(this.parameters.optpage%2==0)
{ ind=1;}
else
{ ind=0;}
grid=info['primary_pages'][ind];}}
if($("primary_page_holder")||Tabblo.Editor.storyId)
{Tabblo.Grid.stopOverlayingThisParcel(null);}
if(this.parameters.multiPage)
{var optscale=this.parameters.optscale||null;var last=this.parameters.pageIds.length-1;for(var i=0;i<this.parameters.pageIds.length;i++)
{var isLast=(i==last)?true:false; Tabblo.Grid.addPrimaryGridPage(grid[i],this.parameters.pageIds[i],isLast);}}
else
{Tabblo.Grid.addPrimaryGridPage(grid,this.parameters.optpage,true);} 
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);},FinishGridAction:function(ajaxResponse,parameters,permitted)
{if(ajaxResponse.statusText=="OK")
{if(permitted)
{Tabblo.Grid.applyGridSkeleton(ajaxResponse,parameters.client_reflowed);}
Tabblo.Grid.stopOverlayingThisParcel(null); if(this.parameters.updateParcelSrc)
{var time=new Date().getTime();for(var i=0;i<this.parameters.updateParcelSrc.length;i++)
{if(this.parameters.updateParcelSrc[i])
{var parcel=this.parameters.updateParcelSrc[i];this.parameters.updateParcelSrc[i]=null;var imgEvt=parcel.getTexteventImg();if(__tcu.getCssClass(imgEvt)=='itb')
{imgEvt.src=__tcu.replaceQueryParam(imgEvt.src,"timestamp",time);imgEvt=null;parcel=null;}}}
this.parameters.updateParcelSrc=null;} 
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}},AddReplaceItemFinisher:function(ajaxResponse,parameters,replace,dParcel)
{if(ajaxResponse.statusText=='OK'&&ajaxResponse.responseObject['status']=='OK')
{var thing_id=ajaxResponse.responseObject['id'];Tabblo.Grid.appendToActivePage(null,parameters.page,ajaxResponse,replace,dParcel);Tabblo.editor.parcels.parcelReloadEvent.fire(); Tabblo.editor.Warnings.bindWarnings(ajaxResponse);return thing_id;}
else
{return null;}}},UtilityPrepareServerActions:{PrepareSwap:function()
{var url='/edit/swapitems/'+Tabblo.editor.storyID+'/';var pars='source_id='+this.parameters.source_parcel_id+'&dest_id='+this.parameters.dest;if((Tabblo.Grid.layout_mode=='manual')&&(Tabblo.Grid.flowmode=='free')&&(this.parameters.dest_type!="mold"))
{pars+='&promote_layer='+this.parameters.layer;}
if(this.parameters.leave_mold_behind)
{pars+="&leave_mold_behind=true";}
if((Tabblo.editor.STORY_PAGE>0)&&(pars.indexOf("page=")==-1))
{pars+="&page="+Tabblo.editor.STORY_PAGE;}
this.server_url=url;this.server_params={pars:pars};this.blocking=false;this.stealthy=true;},SetPage:function()
{if(this.parameters.parcel_id.indexOf('_')==0)
{this.parameters.parcel_id=this.parameters.parcel_id.substring(1);}
var pars='storyitem_id='+this.parameters.parcel_id+'&page='+this.parameters.dest_page;if(parseInt(this.parameters.opt_posx)>=0)
{pars=pars+'&posx='+this.parameters.opt_posx;}
if(parseInt(this.parameters.opt_posy)>=0)
{pars=pars+'&posy='+this.parameters.opt_posy;}
if(this.parameters.opt_target)
{pars=pars+'&position_element_id='+this.parameters.opt_target;}
if(this.parameters.promote_layer)
{pars=pars+'&promote_layer='+this.parameters.promote_layer;}
if(this.parameters.position_flag)
{pars=pars+"&position_flag="+this.parameters.position_flag;}
if(this.parameters.force_gridwidth)
{pars=pars+"&gridwidth="+this.parameters.force_gridwidth;}
if(this.parameters.force_gridheight)
{pars=pars+"&gridheight="+this.parameters.force_gridheight;}
if(this.parameters.leave_mold_behind)
{var s=Tabblo.Grid.borgMind[this.parameters.page].scale;pars+="&leave_mold_behind=true&scale="+s;}
var scale=0;var stock=false;if(!Tabblo.Grid.borgMind[this.parameters.dest_page])
{}
else
{scale=Tabblo.Grid.borgMind[this.parameters.dest_page].scale;stock=Tabblo.Grid.borgMind[this.parameters.dest_page].stock;}
if((stock=="true")||(stock==true))
{stock=null;}
if(scale&&(scale>0)&&(scale!=1))
{pars+='&scale='+scale;}
var url='/edit/setstoryitempage/'+Tabblo.editor.storyID+'/';this.server_url=url;this.server_params={pars:pars,dest_page:this.parameters.dest_page,promote_layer:this.parameters.promote_layer,scale:scale,stock:stock,parcel_id:this.parameters.parcel_id};this.blocking=false;this.stealthy=true;}}});Tabblo.core.extend(Tabblo.editor.actions,{ RemoveItemFromStory:{__name__:"RemoveItemFromStory",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:true,STATUS_TEXT:function(){if((Tabblo.Grid.layout_mode=="bric")||(Tabblo.Grid.layout_mode=="reflow")){return gettext("Reflowing...");}return"";},client:function(argObj)
{ var parcel_element=$(this.parameters.destination_parcel_id);var parcel=Tabblo.editor.parcels.getParcelForItem(parcel_element);var type=parcel.getType();var page=parcel.getPage();if(type=="image")
{Tabblo.Grid.imageParcels=__tcu.filterOutIdArray(Tabblo.Grid.imageParcels,this.parameters.destination_parcel_id);Tabblo.Grid.removeGridElementMapItem(page,this.parameters.destination_parcel_id);}
else if(type=="textblock")
{Tabblo.Grid.textblockParcels=__tcu.filterOutIdArray(Tabblo.Grid.textblockParcels,this.parameters.destination_parcel_id);Tabblo.Grid.removeGridElementMapItem(page,this.parameters.destination_parcel_id);}
else if(type=="mold")
{Tabblo.Grid.moldParcels=__tcu.filterOutIdArray(Tabblo.Grid.moldParcels,this.parameters.destination_parcel_id);Tabblo.Grid.removeGridElementMapItem(page,this.parameters.destination_parcel_id);}
else if(type=="prog")
{Tabblo.Grid.progParcels=__tcu.filterOutIdArray(Tabblo.Grid.progParcels,this.parameters.destination_parcel_id);Tabblo.Grid.removeGridElementMapItem(page,this.parameters.destination_parcel_id);}
Tabblo.Grid.updateParcelPosition(this.parameters.destination_parcel_id,null,page);Element.remove(parcel_element);Tabblo.Grid.reflow(page,null,null,null,"delete");},prepare_server:function()
{ var url="/edit/removeitem/"+Tabblo.editor.storyID+"/";var pars="item_id="+this.parameters.destination_parcel_id;if(Tabblo.editor.STORY_PAGE>0)
{pars+="&page="+Tabblo.editor.STORY_PAGE;}
if(Tabblo.Grid.layout_mode=="bric")
{ pars+="&scale="+Tabblo.Grid.borgMind[Tabblo.editor.STORY_PAGE].scale;this.parameters.optpage=Tabblo.editor.STORY_PAGE;}
this.server_url=url;this.server_params={pars:pars};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL"),complete:function(ajaxResponse,parameters,permitted)
{if(ajaxResponse.statusText=="OK")
{if($("primary_page_holder")||Tabblo.Editor.storyId)
{Tabblo.Grid.stopOverlayingThisParcel(null);if(Tabblo.Grid.layout_mode=="bric")
{if(permitted)
{Tabblo.Grid.applyGridSkeleton(ajaxResponse);}} 
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}
else
{if(permitted)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{document.location=document.location;}}}}
else
{__tcu.showFlashIfPossible("<span class='errorFlash'>Problem Removing Item</span>");}
return false;}},Moldify:{__name__:"Moldify",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:false,client:function(argObj)
{ var parcel_element=$(this.parameters.destination_parcel_id);var dParcel=this.dParcel=Tabblo.editor.parcels.getParcelForItem(parcel_element);this.placeholdername=Tabblo.editor.showItemLoadingPlaceholder(dParcel.getGridX(),dParcel.getGridY(),dParcel.getPage(),dParcel.getGridWidth(),dParcel.getGridHeight(),interpolate(gettext("Removing"),[]));var scale=parseFloat(Tabblo.Grid.TheFirstGrid.getAttribute("scale"))||1;this.parameters['scale']=scale;},prepare_server:function()
{ var url="/edit/moldify/"+Tabblo.editor.storyID+"/";var pars="item_id="+this.parameters.destination_parcel_id
+"&page="+this.parameters.page
+'&partner='+Tabblo.Grid.partner;if(this.parameters.scale&&(this.parameters.scale!=1))
{pars+='&scale='+this.parameters.scale;}
this.server_url=url;this.server_params={pars:pars};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction,complete:function(ajaxResponse,parameters,permitted)
{Tabblo.editor.actions.UtilityCompleteActions.AddReplaceItemFinisher(ajaxResponse,this.parameters,true,this.dParcel);if(this.placeholdername)
{Tabblo.core.effects.Simple_Fade($(this.placeholdername),0.75,0.0);Tabblo.editor.hideItemLoadingPlaceholder(this.placeholdername);}
Tabblo.editor.displayStoryScratchSpace();var tid=this.parameters.destination_parcel_id;tid='m'+tid.substring(1);Tabblo.Grid.setupEventHandler(Tabblo.editor.parcels.getParcelForItem($(tid)));Tabblo.Grid.finishPartialLoadingEvent.fire();Tabblo.Grid.finishSpreadLoadEvent.fire();Tabblo.Grid.stopOverlayingThisParcel(null); Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}}, InsertTextblock:{__name__:"InsertTextblock",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:false,SUSPENDS_SKELETON_MOVEALL:true,STATUS_TEXT:function(){if(Tabblo.Grid.layout_mode=="bric"){return gettext("Reflowing...");}return"";},client:function(argObj)
{var dParcel=null;if(!this.parameters.target_parcel_id)
{ dParcel=Tabblo.editor.parcels.getOrCreateParcelForItem(this.parameters.destination_parcel_id);var posarr=dParcel.getGridPos();this.parameters.target_parcel_id=this.parameters.destination_parcel_id; var dragger=$(this.parameters.source_parcel_id);if(dragger!=null)
{dragger.style.visibility="hidden";}
var promote_layer=0;if(dParcel.getType()!="mold")
{promote_layer=dParcel.getLayer()+1;}
else
{setTimeout(dParcel.remove.bind(dParcel),500);}
this.parameters.promote_layer=promote_layer;}
else
{dParcel=Tabblo.editor.parcels.getParcelForItem($(this.parameters.target_parcel_id));}
this.page=dParcel.getPage();if(Tabblo.Grid.layout_mode!="bric")
{this.placeholdername=Tabblo.editor.showItemLoadingPlaceholder(dParcel.getGridX(),dParcel.getGridY(),this.page,dParcel.getGridWidth(),dParcel.getGridHeight());}
else
{this.placeholdername=null;}},prepare_server:function()
{var pars="item_id="+this.parameters.target_parcel_id;var page=this.page;if(page>0)
{pars+="&insert_page="+page+"&page="+page;}
if(Tabblo.Grid.borgMind[page].scale&&(Tabblo.Grid.borgMind[page].scale!=1)&&(Tabblo.Grid.borgMind[page].scale>0))
{pars+='&scale='+Tabblo.Grid.borgMind[page].scale;}
if(this.parameters.promote_layer)
{pars+="&promote_layer="+this.parameters.promote_layer;}
if(this.parameters.textface)
{pars+="&textface="+this.parameters.textface;}
if(this.parameters.text)
{pars+="&text="+this.parameters.text;}
var url="/edit/inserttext/"+Tabblo.editor.storyID+"/";this.server_url=url;this.server_params={pars:pars,page:page};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL"),complete:function(ajaxResponse,parameters,permitted)
{if(this.placeholdername)
{Tabblo.core.effects.Simple_Fade($(this.placeholdername),0.75,0.0);Tabblo.editor.hideItemLoadingPlaceholder(this.placeholdername);}
if(ajaxResponse.responseObject.status=="OK")
{Tabblo.Grid.appendToActivePage(this.parameters.target_parcel_id,parameters.page,ajaxResponse);var myId=ajaxResponse.responseObject['id'];var desx=ajaxResponse.responseObject['x'];var desy=ajaxResponse.responseObject['y'];if(permitted)
{setTimeout(Tabblo.Grid.reflow.bind(Tabblo.editor.Grid,0,myId,desx,desy,"inserttextblock"),10);} 
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}}}, InsertMold:{__name__:"InsertMold",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:false,SUSPENDS_SKELETON_MOVEALL:false,client:function(argObj)
{ var dParcel=Tabblo.editor.parcels.getOrCreateParcelForItem(this.parameters.destination_parcel_id);this.page=dParcel.getPage(); var dragger=$(this.parameters.source_parcel_id);if(dragger!=null)
{dragger.style.visibility="hidden";}
if(Tabblo.Grid.layout_mode!="bric")
{this.placeholdername=Tabblo.editor.showItemLoadingPlaceholder(dParcel.getGridX(),dParcel.getGridY(),dParcel.getPage(),dParcel.getGridWidth(),dParcel.getGridHeight());}
else
{this.placeholdername=null;}},prepare_server:function()
{var pars="page="+this.page;var page=this.page;if(this.parameters.posx)
{pars+="&posx="+this.parameters.posx;}
if(this.parameters.posy)
{pars+="&posy="+this.parameters.posy;}
if(this.parameters.gridx)
{pars+="&gridx="+this.parameters.gridx;}
if(this.parameters.gridy)
{pars+="&gridy="+this.parameters.gridy;}
if(this.parameters.layer)
{pars+="&layer="+this.parameters.layer;}
if(Tabblo.Grid.borgMind[page].scale&&(Tabblo.Grid.borgMind[page].scale!=1)&&(Tabblo.Grid.borgMind[page].scale>0))
{pars+='&scale='+Tabblo.Grid.borgMind[page].scale;}
var url="/edit/createmold/"+Tabblo.editor.storyID+"/";this.server_url=url;this.server_params={pars:pars,page:page};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction,complete:function(ajaxResponse,parameters,permitted)
{if(this.placeholdername)
{Tabblo.core.effects.Simple_Fade($(this.placeholdername),0.75,0.0);Tabblo.editor.hideItemLoadingPlaceholder(this.placeholdername);}
if(ajaxResponse.responseObject.status=="OK")
{Tabblo.Grid.appendToActivePage(this.parameters.destination_parcel_id,this.page,ajaxResponse); Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}}}, InsertFromScratch:{__name__:"InsertFromScratch",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:false,SUSPENDS_SKELETON_MOVEALL:true,STATUS_TEXT:function(){if((Tabblo.Grid.layout_mode=="bric")||(Tabblo.Grid.layout_mode=="reflow")){return gettext("Reflowing...");}return"";},CANT_RETRY:true,COMPLETION_LAG:100,client:function(argObj)
{var dragger=$(this.parameters.dragger_id);var dParcel=Tabblo.editor.parcels.getOrCreateParcelForItem(this.parameters.destination_parcel_id);var dest_page=dParcel.getPage();var posarr=dParcel.getGridPos();var target_id=null;var position_flag="at";var ptype=dParcel.getType();var promote_layer=0;if((ptype=='image')||(ptype=='textblock'))
{target_id=dParcel.id;if(Tabblo.Grid.layout_mode!="reflow")
{ this.completion_permitted=Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction;this.remove_parcel=dParcel;}}
else if(ptype=='mold')
{dParcel.firstChild.innerHTML="Loading..."; this.completion_permitted=Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction;this.remove_parcel=dParcel;}
else if((ptype=='virtualempty')&&(Tabblo.Grid.layout_mode=="reflow"))
{var x=posarr[0];var y=posarr[1];var p=posarr[2];var l=posarr[3];var testParcel=Tabblo.Grid.getNonemptyDestination(x,y,p,l);if(testParcel)
{target_id=testParcel.id;position_flag="after";}}
else if((Tabblo.Grid.layout_mode=='manual')&&(Tabblo.Grid.flowmode=='free'))
{ if(dParcel.getType()=="virtualempty")
{promote_layer=dParcel.getLayer();}
else
{promote_layer=dParcel.getLayer()+1;} 
this.completion_permitted=Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction;}
else if(Tabblo.Grid.layout_mode!='reflow')
{ this.completion_permitted=Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction;}
var diddy=dragger?dragger.id:null;if(dragger&&diddy)
{$(diddy).style.visibility="hidden";this.remove_this_item_id=diddy;} 
if(target_id&&(target_id.indexOf('ex')==0))
{target_id=null;}
this.parameters=Object.extend(this.parameters,{parcel_id:diddy,dest_page:dest_page,opt_posx:posarr[0],opt_posy:posarr[1],opt_target:target_id,position_flag:position_flag,promote_layer:promote_layer,force_gridwidth:false,force_gridheight:false,target_id:dParcel.id});if(Tabblo.Grid.layout_mode!="bric")
{this.placeholdername=Tabblo.editor.showItemLoadingPlaceholder(dParcel.getGridX(),dParcel.getGridY(),dParcel.getPage(),dParcel.getGridWidth(),dParcel.getGridHeight());}
else
{this.placeholdername=null;}},prepare_server:Tabblo.editor.actions.UtilityPrepareServerActions.SetPage,completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL"),complete:function(ajaxResponse,parameters,permitted)
{if(this.placeholdername)
{Tabblo.core.effects.Simple_Fade($(this.placeholdername),0.75,0.0);Tabblo.editor.hideItemLoadingPlaceholder(this.placeholdername);}
if(ajaxResponse.responseObject.status=="OK")
{if(this.remove_this_item_id)
{try
{Element.remove($(this.remove_this_item_id));}
catch(e){}}
if(this.remove_parcel)
{this.remove_parcel.remove();}
Tabblo.Grid.appendToActivePage(this.parameters.target_id,parameters.dest_page,ajaxResponse);Tabblo.editor.Captions.enforcePolicy(); Tabblo.editor.Warnings.bindWarnings(ajaxResponse);Tabblo.editor.displayStoryScratchSpace();var insertedId=ajaxResponse.responseObject['id'];__tcu.ieFixXimgDelayed("image"+insertedId,2000);if(permitted)
{Tabblo.Grid.reflow(parameters.dest_page,insertedId,this.parameters.opt_posx,this.parameters.opt_posy,"insertitemfromlightbox");}}
else
{if(this.remove_this_item_id)
{$(this.remove_this_item_id).style.visibility="visible";}
if((ajaxResponse.responseObject.status=="FAIL")&&(Tabblo.Grid.layout_mode=="bric"))
{showMessage("warn","Photo limit reached","This product only supports 30 items including photos and text blocks.  Delete items to make room for ones you want to add.");}}}}, CopyItem:{__name__:"CopyItem",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:false,SUSPENDS_SKELETON_MOVEALL:true,STATUS_TEXT:function(){if((Tabblo.Grid.layout_mode=="bric")||(Tabblo.Grid.layout_mode=="reflow")){return gettext("Reflowing...");}return"";},client:function(argObj)
{var dragger=$(this.parameters.id);var dParcel=Tabblo.editor.parcels.getOrCreateParcelForItem(this.parameters.coord);var dest_page=dParcel.getPage();var posarr=dParcel.getGridPos();var ptype=dParcel.getType();if((ptype=='image')||(ptype=='textblock'))
{if(Tabblo.Grid.layout_mode!="reflow")
{setTimeout(dParcel.remove.bind(dParcel),1000);}}
else if(ptype=='mold')
{dParcel.firstChild.innerHTML="Loading...";setTimeout(dParcel.remove.bind(dParcel),1000);}
if(Tabblo.Grid.layout_mode!="bric")
{this.placeholdername=Tabblo.editor.showItemLoadingPlaceholder(dParcel.getGridX(),dParcel.getGridY(),dParcel.getPage(),dParcel.getGridWidth(),dParcel.getGridHeight());}
else
{this.placeholdername=null;}
this.parameters.target_id=dParcel.id;this.parameters.opt_pos_x=dParcel.getGridPos()[0];this.parameters.opt_pos_y=dParcel.getGridPos()[1];this.parameters.dest_page=dParcel.getPage();},prepare_server:function()
{this.server_url="/edit/copyelement/"+Tabblo.editor.storyID+"/";this.server_params={pars:"id="+this.parameters.id+"&coord="+this.parameters.coord+"&scale="+this.parameters.scale};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL"),complete:function(ajaxResponse,parameters,permitted)
{if(this.placeholdername)
{Tabblo.core.effects.Simple_Fade($(this.placeholdername),0.75,0.0);Tabblo.editor.hideItemLoadingPlaceholder(this.placeholdername);}
if(ajaxResponse.responseObject.status=="OK")
{Tabblo.Grid.appendToActivePage(this.parameters.target_id,this.parameters.dest_page,ajaxResponse);Tabblo.editor.Captions.enforcePolicy(); Tabblo.editor.Warnings.bindWarnings(ajaxResponse);Tabblo.editor.displayStoryScratchSpace();if(permitted)
{Tabblo.Grid.reflow(this.parameters.dest_page,ajaxResponse.responseObject['id'],this.parameters.opt_posx,this.parameters.opt_posy,"copyitem");}}
else if((ajaxResponse.responseObject.status=="FAIL")&&(Tabblo.Grid.layout_mode=="bric"))
{showMessage("warn","Photo limit reached","This product only supports 30 items including photos and text blocks.  Delete items to make room for ones you want to add.");}}}, Move:{__name__:"Move",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:true,client:function(argObj)
{ var dragParcel=Tabblo.editor.parcels.getParcelForItem($(this.parameters.source_parcel_id));var dropParcel=Tabblo.editor.parcels.getOrCreateParcelForItem(this.parameters.destination_parcel_id);var dest_type=dropParcel.getType();var posarr=dropParcel.getGridPos();var oldschool_grid_coord=(dest_type!="mold")?("ex"+posarr[0]+"y"+posarr[1]+"p"+posarr[2]+"l"+posarr[3]):(this.parameters.destination_parcel_id);var drag_page=dragParcel.getPage();var drop_page=dropParcel.getPage();if(drag_page!=drop_page)
{if(Tabblo.Grid.borgMind[drag_page].scale!=Tabblo.Grid.borgMind[drop_page].scale)
{ dragParcel.changeDimensions('','',drop_page);}}
Tabblo.Grid.swapTwoGridItems(dragParcel,dropParcel);this.parameters=Object.extend(this.parameters,{dest:oldschool_grid_coord,layer:dropParcel.getLayer(),dest_type:dest_type});},prepare_server:Tabblo.editor.actions.UtilityPrepareServerActions.PrepareSwap,completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL"),complete:Tabblo.editor.actions.UtilityCompleteActions.FinishGridAction}, Swap:{__name__:"Swap",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:false,client:function(argObj)
{return Tabblo.editor.actions.UtilityClientActions.SwapParcels.apply(this);},prepare_server:Tabblo.editor.actions.UtilityPrepareServerActions.PrepareSwap,completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction,complete:Tabblo.editor.actions.UtilityCompleteActions.FinishGridAction}, Resize:{__name__:"Resize",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:true,STATUS_TEXT:function(){return interpolate(gettext("Fetching updated %s..."),[Tabblo.editor.parcels.getParcelForItem($(this.parameters.parcel_id)).getType()]);},client:function(argObj)
{if((isNaN(argObj.new_width))||(argObj.new_width<=0)){argObj.new_width=1;}
if((isNaN(argObj.new_height))||(argObj.new_height<=0)){argObj.new_height=1;}
var iElement=$(this.parameters.parcel_id);var iParcel=Tabblo.editor.parcels.getParcelForItem(iElement);var gridX=iParcel.getGridX();var gridY=iParcel.getGridY();var page=iParcel.getPage();var noexpand=((argObj.new_width+gridX)>Tabblo.Grid.borgMind[page].numCols);var noexpand_h=((Tabblo.Grid.borgMind[page].limitRows>0)&&((argObj.new_height+gridY)>Tabblo.Grid.borgMind[page].limitRows));if(!noexpand&&!noexpand_h)
{iParcel.changeDimensions(argObj.new_width,argObj.new_height);}
else if(noexpand)
{showMessage("warn","Can't expand","Photos and textblocks at the right edge can't be expanded.  Move this item left first.");}
else if(noexpand_h)
{showMessage("warn","Can't expand","Photos and textblocks at the bottom edge can't be expanded in poster edit mode.  Move this item up first.");}
else
{__d(this.__name__,":unknown problem");}
if(iParcel.getType()=="image")
{var bs=iParcel.getBubbles();for(var i=0;i<bs.length;i++)
{var b=bs[i];if(b)
{var bubblewidth=parseInt(b.style.width);var bubbleheight=parseInt(b.style.height);var bubbletop=parseInt(b.style.top);var bubbleleft=parseInt(b.style.left);var imagewidth=iParcel.getWidth();var imageheight=iParcel.getHeight();var deltax=bubblewidth+bubbleleft-imagewidth;var deltay=bubbleheight+bubbletop-imageheight;var movex=bubbleleft;var movey=bubbletop;if(deltax>0)
{movex=imagewidth-bubblewidth;}
if(deltay>0)
{movey=imageheight-bubbleheight;}
if(movex<0){movex=0;}
if(movey<0){movey=0;}
b.style.top=movey+"px";b.style.left=movex+"px";}}}
Tabblo.Grid.reflow(page,null,null,null,"resize");return false;},prepare_server:function()
{var parcel=Tabblo.editor.parcels.getParcelForItem($(this.parameters.parcel_id));var gridw=1;var gridh=1;if(Tabblo.editor.parcels.assertParcel(parcel))
{gridw=parcel.getGridWidth(); gridh=parcel.getGridHeight(); Tabblo.Grid.stopOverlayingThisParcel(parcel);}
else
{ gridw=1;gridh=1;}
if(gridw<=0){gridw=1;}
if(gridh<=0){gridh=1;}
parcel.setZindex();var pars="item_id="+parcel.id+"&gridx="+gridw+"&gridy="+gridh+'&scale='+this.parameters.scale;if(Tabblo.editor.STORY_PAGE>0)
{pars+="&page="+Tabblo.editor.STORY_PAGE;}
Tabblo.Grid.markGridpageDirty(parcel.getPage());Tabblo.editor.undoAvailable(true);this.server_url="/edit/changeitemsize/"+Tabblo.editor.storyID+"/";this.server_params={pars:pars,page:parcel.getPage(),client_reflowed:true};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL"),complete:Tabblo.editor.actions.UtilityCompleteActions.FinishGridAction},GridPageLoader:{__name__:"GridPageLoader",LOCK_UI:true,NEEDS_DIRTY_CLONE_RELOAD:false,SUSPENDS_SKELETON_MOVEALL:true,SUSPENDS_GRID_LOADS:true,COMPLETION_LAG:1500,client:function()
{var startPage=((Tabblo.Editor&&Tabblo.Editor.fully_initialized))?(Tabblo.Editor.curr_page):(Tabblo.editor.LAST_UP_ZERO); var switching=true;var testpage;if(this.parameters.optpage instanceof Array)
{testpage=parseInt(this.parameters.optpage[0]);}
else
{testpage=parseInt(this.parameters.optpage);}
if(((startPage==0)&&(testpage==startPage))||((startPage!=0)&&((testpage==startPage)||(testpage==(startPage+1)))))
{switching=false;}
if(switching)
{Tabblo.Grid.unloadPage(startPage,true); Tabblo.Grid.unloadPage(startPage+1,true);}
else
{if(this.parameters.optpage instanceof Array)
{for(var i=0;i<this.parameters.optpage.length;i++)
{Tabblo.Grid.unloadPage(this.parameters.optpage[i],true);}}
else
{Tabblo.Grid.unloadPage(this.parameters.optpage,true);}}},prepare_server:function()
{Tabblo.editor.actions.UtilityClientActions.GridLoadParameterSetter.apply(this);this.complete=Tabblo.editor.actions.UtilityCompleteActions.RefreshGridAction.bind(this);var url=this.parameters.url+"/"+Tabblo.editor.storyID+"/";this.server_url=url;this.server_params={pars:this.parameters.pars,page:this.parameters.optpage};this.blocking=false;this.stealthy=true;},
completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_GRID_LOADS"),complete:Tabblo.editor.actions.UtilityCompleteActions.NullAction}, Reshuffle:{__name__:"Reshuffle",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:true,STATUS_TEXT:function(){if((Tabblo.Grid.layout_mode=="bric")||(Tabblo.Grid.layout_mode=="reflow")){return gettext("Reflowing...");}return"";},client:function(argObj)
{ var sParcel=$(this.parameters.source_parcel_id);sParcel.moveToGridPosition(this.parameters.destination_gridpos_array,true);Tabblo.Grid.updateParcelPosition(this.parameters.source_parcel_id,this.parameters.destination_gridpos_array,this.parameters.destination_gridpos_array[2]);Tabblo.Grid.reflow(this.parameters.destination_gridpos_array[2],this.parameters.source_parcel_id,this.parameters.destination_gridpos_array[0],this.parameters.destination_gridpos_array[1],"reshuffle");return false;},prepare_server:function()
{ var url='/edit/reshuffleitems/'+Tabblo.editor.storyID+'/';var testParcel=Tabblo.Grid.getNonemptyDestination(this.parameters.destination_gridpos_array[0],this.parameters.destination_gridpos_array[1],this.parameters.destination_gridpos_array[2],this.parameters.destination_gridpos_array[3]);var calcdest_id='';if(testParcel)
{calcdest_id=testParcel.id;}
else if(this.parameters.destination_parcel_id=='ex0y0p0l0')
{ calcdest_id='';}
else
{printfire("Reshuffle:prepare_server: Problem: couldn't find valid destination for "+this.parameters.source_parcel_id+"/"+this.parameters.destination_parcel_id+"; guessing 0.");calcdest_id='';}
var pars='source='+this.parameters.source_parcel_id+'&dest='+calcdest_id+'&desx='+this.parameters.destination_gridpos_array[0]+'&desy='+this.parameters.destination_gridpos_array[1];this.server_url=url;this.server_params={pars:pars};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL"),complete:Tabblo.editor.actions.UtilityCompleteActions.FinishGridAction},BubbleAdder:{__name__:"BubbleAdder",LOCK_UI:true,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:false,SUSPENDS_BUBBLE_OPS:true,client:function(argObj)
{ var p=Tabblo.editor.parcels.getParcelForItem($(this.parameters.source_parcel_id));if(p)
{this.parameters.page=p.getPage();}
else
{this.parameters.page=null;}},prepare_server:function()
{this.server_url='/edit/addbubble/'+Tabblo.editor.storyID;var scale=parseFloat(Tabblo.Grid.TheFirstGrid.getAttribute("scale"))||1;var pars="item_id="+this.parameters.source_parcel_id+"&shape="+this.parameters.shape+"&size="+this.parameters.size+"&orient="+this.parameters.orient+"&scale="+scale;this.server_params={pars:pars,page:this.parameters.page};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction,complete:function(ajaxResponse,parameters,permitted)
{var resp=ajaxResponse.responseObject;Tabblo.editor.actions.UtilityCompleteActions.AddReplaceItemFinisher(ajaxResponse,parameters,true,null);var basebs=resp['bubbles'];for(var i=0;i<basebs.length;i++)
{var baseb=basebs[i];Tabblo.editor.parcels.initBubble(baseb);Tabblo.Grid.finishPartialLoadingEvent.fire();}}},BubbleEditor:{__name__:"BubbleEditor",LOCK_UI:true,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:false,SUSPENDS_BUBBLE_OPS:true,client:function(argObj)
{ var p=Tabblo.editor.parcels.getParcelForItem($(this.parameters.source_parcel_id));if(p)
{this.parameters.page=p.getPage();}
else
{this.parameters.page=null;}
if(this.parameters.bubble_id.indexOf('bubble')!=-1)
{this.parameters.bubble_id=this.parameters.bubble_id.split('_')[1];}},prepare_server:function()
{this.server_url='/edit/updatebubble/'+Tabblo.editor.storyID;var scale=parseFloat(Tabblo.Grid.TheFirstGrid.getAttribute("scale"))||1;var pars="item_id="+this.parameters.source_parcel_id+"&bid="+this.parameters.bubble_id+"&shape="+this.parameters.shape+"&size="+this.parameters.size+"&orient="+this.parameters.orient+"&scale="+scale;this.server_params={pars:pars,page:this.parameters.page};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_BUBBLE_OPS"),complete:function(ajaxResponse,parameters,permitted)
{if(permitted)
{var resp=ajaxResponse.responseObject;Tabblo.editor.actions.UtilityCompleteActions.AddReplaceItemFinisher(ajaxResponse,parameters,true,null);var basebs=resp['bubbles'];for(var i=0;i<basebs.length;i++)
{var baseb=basebs[i];Tabblo.editor.parcels.initBubble(baseb);Tabblo.Grid.finishPartialLoadingEvent.fire();}}}},BubbleMover:{__name__:"BubbleMover",LOCK_UI:true,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:false,SUSPENDS_BUBBLE_OPS:true,client:function(argObj)
{ var p=Tabblo.editor.parcels.getParcelForItem($(this.parameters.source_parcel_id));if(p)
{this.parameters.page=p.getPage();}
else
{this.parameters.page=null;}
if(this.parameters.bubble_id.indexOf('bubble')!=-1)
{this.parameters.bubble_id=this.parameters.bubble_id.split('_')[1];}},prepare_server:function()
{this.server_url='/edit/movebubble/'+Tabblo.editor.storyID;var scale=parseFloat(Tabblo.Grid.TheFirstGrid.getAttribute("scale"))||1;var pars="bid="+this.parameters.bubble_id+"&x="+this.parameters.x+"&y="+this.parameters.y+"&scale="+scale;this.server_params={pars:pars,page:this.parameters.page};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_BUBBLE_OPS"),complete:Tabblo.editor.actions.UtilityCompleteActions.NullAction},BubbleRemover:{__name__:"BubbleRemover",LOCK_UI:true,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:false,SUSPENDS_BUBBLE_OPS:true,client:function(argObj)
{ var p=Tabblo.editor.parcels.getParcelForItem($(this.parameters.source_parcel_id));if(p)
{this.parameters.page=p.getPage();}
else
{this.parameters.page=null;}
Tabblo.editor.toggleBubbleDelete(false);var obj=$(this.parameters.bubble_id);obj.style.visiblity="hidden";obj.style.display="none";if(this.parameters.bubble_id.indexOf('bubble')!=-1)
{this.parameters.bubble_id=this.parameters.bubble_id.split('_')[1];}},prepare_server:function()
{this.server_url='/edit/deletebubble/'+Tabblo.editor.storyID;var pars="bid="+this.parameters.bubble_id;this.server_params={pars:pars,page:this.parameters.page};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_BUBBLE_OPS"),complete:function(ajaxResponse,parameters,permitted)
{if(permitted)
{var bubbleId='bubble_'+this.parameters.bubble_id;var obj=$(bubbleId);obj.style.display="";if(ajaxResponse.statusText=="OK")
{Tabblo.editor.BALLOONS[bubbleId].unreg();delete Tabblo.editor.BALLOONS[bubbleId];Element.remove(obj);}
else
{obj.style.visiblity="visible";}
Tabblo.editor.toggleBubbleDelete(true);}}},MoveItemToScratch:{__name__:"MoveItemToScratch",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:true,STATUS_TEXT:function(){if((Tabblo.Grid.layout_mode=="bric")||(Tabblo.Grid.layout_mode=="reflow")){return"Reflowing...";}return"";},client:function(argObj)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(this.parameters.parcel_id));parcel.remove();if(Tabblo.Grid.layout_mode!="reflow")
{ this.completion_permitted=Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction;}
Tabblo.Grid.reflow(this.parameters.page,null,null,null,"move_to_scratch");return false;},prepare_server:Tabblo.editor.actions.UtilityPrepareServerActions.SetPage,completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.PropertyPrognosticator.bind(this,"SUSPENDS_SKELETON_MOVEALL"),complete:function(ajaxResponse,parameters,permitted)
{Tabblo.Grid.markGridpageDirty(this.parameters.page);Tabblo.editor.displayStoryScratchSpace();if(ajaxResponse.responseObject.html)
{Tabblo.Grid.appendToActivePage('',this.parameters.page,ajaxResponse);}
else if(ajaxResponse.responseObject.skel)
{if(permitted)
{Tabblo.Grid.applyGridSkeleton(ajaxResponse);}} 
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}},InvalidatePageCache:{__name__:"InvalidatePageCache",LOCK_UI:true,NEEDS_DIRTY_CLONE_RELOAD:false,SUSPENDS_SKELETON_MOVEALL:false,client:Tabblo.editor.actions.UtilityClientActions.NullAction,prepare_server:function()
{this.server_url='/edit/invalidate_page_cache/'+Tabblo.editor.storyID+'/'+this.parameters.thumbwidth;var pars="";this.server_params={pars:pars};this.blocking=true;this.stealthy=false;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction,complete:function(ajaxResponse,parameters,permitted)
{if(Tabblo.Editor)
{Tabblo.Editor.reload(this.parameters.force,null,true);}
else
{document.location=document.location;}}},AddSticker:{__name__:"AddSticker",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:false,client:Tabblo.editor.actions.UtilityClientActions.NullAction,prepare_server:function()
{var edge_gap=2;var sticker_size=6;var ipage=this.parameters.page;if((ipage<Tabblo.Grid.numPages-1&&Math.random()>0.5)&&(Tabblo.Grid.borgMind[ipage+1]))
{ipage++;}
var posx=Math.round(Math.random()*(Tabblo.Grid.borgMind[ipage].numCols-sticker_size-2*edge_gap)+edge_gap);var posy=Math.round(Math.random()*(Tabblo.Grid.borgMind[ipage].limitRows-sticker_size-2*edge_gap)+edge_gap);var pars="sticker_id="+this.parameters.sticker_id+"&posx="+posx+"&posy="+posy+"&page="+ipage+'&scale='+this.parameters.scale;this.parameters.page=ipage;this.server_url="/partners/stickers/add/"+this.parameters.story_id+"/";this.server_params={pars:pars,page:this.page};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction,complete:function(ajaxResponse,parameters,permitted)
{var myid=Tabblo.editor.actions.UtilityCompleteActions.AddReplaceItemFinisher(ajaxResponse,this.parameters,false,null);if(myid)
{var img=$("image"+myid);if(img)
{__tcu.ieFixXimg(img);}}}},AddExternalItem:{__name__:"AddExternalItem",LOCK_UI:false,NEEDS_DIRTY_CLONE_RELOAD:true,SUSPENDS_SKELETON_MOVEALL:true,STATUS_TEXT:function(){if((Tabblo.Grid.layout_mode=="bric")||(Tabblo.Grid.layout_mode=="reflow")){return gettext("Reflowing...");}return"";},COMPLETION_LAG:500,CANT_RETRY:true,client:function(argObj)
{Tabblo.Grid.externalItemBegin.fire();var dParcel=this.dParcel=Tabblo.editor.parcels.getOrCreateParcelForItem(this.parameters.drop);this.page=this.parameters.page=dParcel.getPage();var partner=this.partner=this.parameters.partner||"an external source";if(Tabblo.Grid.layout_mode!="bric")
{this.placeholdername=Tabblo.editor.showItemLoadingPlaceholder(dParcel.getGridX(),dParcel.getGridY(),this.page,dParcel.getGridWidth(),dParcel.getGridHeight(),interpolate(gettext("Item loading from %s"),[partner]));}
else
{this.placeholdername=null;}
if((dParcel.getType()=="mold")||((dParcel.getType()=="image")&&Tabblo.Editor.insert_is_replace))
{ this.replace=true;}},prepare_server:function()
{this.server_url=Tabblo.settings.EXTERNAL_ITEM_URL+Tabblo.editor.storyID;var pars="page="+this.page+"&url="+this.parameters.url+'&scale='+this.parameters.scale+'&coords='+this.parameters.drop;if(this.parameters.extra_params)
{for(var i=0;i<this.parameters.extra_params.length;i++)
{var key=this.parameters.extra_params[i];var value=this.parameters[key];if(key&&value)
{pars+="&"+key+"="+escape(value);}}}
this.server_params={pars:pars,page:this.page};this.blocking=false;this.stealthy=true;},completion_permitted:Tabblo.editor.actions.UtilityCompletionPermissionActions.TrivialTrueAction,complete:function(ajaxResponse,parameters,permitted)
{Tabblo.editor.actions.UtilityCompleteActions.AddReplaceItemFinisher(ajaxResponse,this.parameters,this.replace,this.dParcel);if(this.placeholdername)
{Tabblo.core.effects.Simple_Fade($(this.placeholdername),0.75,0.0);Tabblo.editor.hideItemLoadingPlaceholder(this.placeholdername);}
Tabblo.Grid.externalItemEnd.fire();Tabblo.editor.displayStoryScratchSpace();if((ajaxResponse.statusText=='ACCEPTED')||(ajaxResponse.statusText=='OK'))
{var resp=ajaxResponse.responseObject;if(resp['status']=='FAIL')
{if(resp['limit'])
{showMessage("error","Sorry, only "+resp['limit']+" photos!","We're sorry, but we can only fit "
+resp['limit']
+" photos on your project.  If you want to add more, please delete some first.");}
else
{showMessage("error","Problem with this photo","We could not load this photo from "+this.partner+". Please use a different photo.");}}}
else
{showMessage("error","Sorry, we were unable to communicate with the servers, please try to add photos again later.");} 
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}}
});YAHOO.util.Event.addListener(window,"unload",Tabblo.editor.actions.ActionRunner.cancelAllAndFlush);
/* tabblo/editor/Grid.js */

Tabblo.add_namespace("Tabblo.editor.Grid",{loaded:0,mapped:0,partner:'tabblo',numPages:1,deadParcels:false,global_limit_rows:0,flowmode:null,layout_mode:null,collmode:null,story_aspect:null,beforeBeginLoadingEvent:new YAHOO.util.CustomEvent("beforeBeginLoadingEvent",{}),firstFinishLoadingEvent:new YAHOO.util.CustomEvent("firstFinishLoadingEvent",{}),finishPartialLoadingEvent:new YAHOO.util.CustomEvent("finishPartialLoadingEvent",{}),finishLoadingEvent:new YAHOO.util.CustomEvent("finishLoadingEvent",{}),finishSpreadLoadEvent:new YAHOO.util.CustomEvent("finishSpreadLoadEvent",{}),finishMappingEvent:new YAHOO.util.CustomEvent("finishMappingEvent",{}),firstFinishMappingEvent:new YAHOO.util.CustomEvent("firstFinishMappingEvent",{}),pageLoadedEvent:new YAHOO.util.CustomEvent("pageLoadedEvent",{}),finishSecondaryLoadEvent:new YAHOO.util.CustomEvent("finishSecondaryLoadEvent",{}),unloadedPageEvent:new YAHOO.util.CustomEvent("unloadedPageEvent",{}),unloadedEvent:new YAHOO.util.CustomEvent("unloadedEvent",{}),gridActionFinished:new YAHOO.util.CustomEvent("gridActionFinishedEvent",{}),externalItemBegin:new YAHOO.util.CustomEvent("externalItemBegin",{}),externalItemEnd:new YAHOO.util.CustomEvent("externalItemEnd",{}),DETECTION_POINT_DIVISOR:4,ABSOLUTE_OFFSET:0,NEXT_PRIMARY_PAGE_HOLDER_ID:1001,NEXT_SECONDARY_PAGE_HOLDER_ID:1000,ENABLED_WARNINGS:new Array(),WARNING_DETAIL_ENABLED:0,GridPageMap:new Object(),_overlays_locked:false,ZOOMED:false,TOOLS_HIDDEN:false,CLONES_RELOADING:false,_virtual_empties:{}, zImage:500,zTextBlock:501,zLayerConstant:10, AUTOFLOW_WARN_SEEN:0,BULLSEYE_OPACITY:0, 
GridElementMap:new Object(),PageDraggables:new Object(),OVERLAY_LOCK_HOLDER:null,borgMind:new Object(),in_reflow:false,dummyTextblocksLocked:false,MAX_PAGES:99999,UNHIGHLIGHTED_BORDER:"2px solid #eeeeee",HIGHLIGHTED_BORDER:"2px solid green",DRAG_INTERVAL_LENGTH:100,parcelMoving:function(parcel)
{var page=parcel.getPage();if(this.GridElementMap&&this.GridElementMap[page])
{for(var i=0;i<this.GridElementMap[page].length;i++)
{if((this.GridElementMap[page][i][0]==parcel.id)&&(typeof this.GridElementMap[page][i][3]!="undefined")&&(this.GridElementMap[page][i][3]==true))
{return true;}}}
return false;},anybodyMoving:function(page)
{if(this.GridElementMap&&this.GridElementMap[page])
{for(var i=0;i<this.GridElementMap[page].length;i++)
{if((typeof this.GridElementMap[page][i][3]!="undefined")&&(this.GridElementMap[page][i][3]==true))
{return true;}}}
return false;},setMovingTrue:function(page,item_id)
{return this.setMoving(page,item_id,true);},setMovingFalse:function(page,item_id)
{return this.setMoving(page,item_id,false);},setMoving:function(page,item_id,moving)
{for(var i=0;i<this.GridElementMap[page].length;i++)
{if(this.GridElementMap[page][i][0]==item_id)
{if(typeof this.GridElementMap[page][i][3]!=undefined)
{this.GridElementMap[page][i][3]=moving;}
else
{this.GridElementMap[page][i].push(moving);}}}},compactWhitespace:function()
{var url='/edit/compact_whitespace/'+Tabblo.editor.storyID+'/';var pars='';new Tabblo.editor.actions.Action(new Tabblo.editor.actions.SimpleAction("compactWhitespace",function()
{var oll=Tabblo.Grid.layout_mode;var olm=Tabblo.Grid.flowmode;var oln=Tabblo.Grid.collmode;Tabblo.Grid.layout_mode='reflow';Tabblo.Grid.flowmode='compact';Tabblo.Grid.collmode='reflow';Tabblo.Grid.reflow(0,null,null,null,"compactwhitespace");Tabblo.Grid.layout_mode=oll;Tabblo.Grid.flowmode=olm;Tabblo.Grid.collmode=oln;},url,pars,function(ajaxResponse){ Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}),{}).run();},
setFullyQualifiedMode:function(lm,rm,cm)
{var url='/studio/stories/set_fq_layout_mode/'+Tabblo.editor.storyID+'/';var pars='layout_mode='+lm+'&reflow_mode='+rm+'&collis_mode='+cm;var force_refresh=false;if(Tabblo.Grid.flowmode=="free")
{force_refresh=true;}
new Tabblo.editor.actions.Action(new Tabblo.editor.actions.SimpleAction("setFullyQualifiedMode",function(lm,rm,cm)
{if(lm=='bric')
{rm='none';cm='none';}
else if(lm=='page')
{rm='none';cm='none';}
else if(lm=='manual')
{if(rm!='free')
{rm='none';}
cm='none';}
else
{lm='reflow';if(rm=='none')
{if(cm!='addspace')
{cm='reflow';}}
else
{rm='compact';if(cm!='none')
{cm='reflow';}}}
Tabblo.Grid.layout_mode=lm;Tabblo.Grid.flowmode=rm;Tabblo.Grid.collmode=cm;Tabblo.Grid.TheFirstGrid.setAttribute("layout_mode",lm);Tabblo.Grid.TheFirstGrid.setAttribute("flowmode",rm);Tabblo.Grid.TheFirstGrid.setAttribute("collmode",cm);Tabblo.editor.undoAvailable(true);}.bind(this,lm,rm,cm),url,pars,function(force_refresh,ajaxResponse){if(force_refresh)
{Tabblo.Grid.applyGridSkeleton(ajaxResponse);}
else
{Tabblo.Grid.reflow(0,null,null,null,"setfullyqualifiedmode");} 
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}.bind(this,force_refresh)),{}).run();},randomPhotos:function(callback)
{var pars='';var url='/edit/randomize/'+Tabblo.editor.storyID;new Tabblo.editor.actions.Action(new Tabblo.editor.actions.SimpleAction("randomPhotos",function(){},url,pars,function(callback,ajaxResponse){Tabblo.Grid.applyGridSkeleton(ajaxResponse); Tabblo.editor.Warnings.bindWarnings(ajaxResponse); if(callback&&(typeof callback=="function"))
{callback();}}.bind(this,callback),true,false,1500),{}).run();},markGridpageDirty:function(page)
{if(Tabblo.Grid.borgMind[page])
{Tabblo.Grid.borgMind[page].dirty=true;}
else
{printfire("Attempting to mark non-existent page dirty: "+page);}},markGridpageClean:function(page)
{if(Tabblo.Grid.borgMind[page])
{Tabblo.Grid.borgMind[page].dirty=false;}
else
{printfire("Attempting to mark non-existent page clean: "+page);}},isGridpageDirty:function(page)
{if(Tabblo.Grid.borgMind[page])
{return Tabblo.Grid.borgMind[page].dirty;}
else
{printfire("Attempting to check dirty status on non-existent page: "+page+"; returning false");return false;}},resetPageEvents:function(page)
{Tabblo.Grid.removeAllPageDraggableParcels(page);Tabblo.Grid.resetAllPageEventHandlerAttributes(page);},resetEvents:function()
{Tabblo.Grid.removeAllDraggableParcels();Tabblo.Grid.resetAllEventHandlerAttributes();},removeAllPageDraggableParcels:function(page)
{if(Tabblo.Grid.PageDraggables[page])
{for(var i=0;i<Tabblo.Grid.PageDraggables[page].length;i++)
{if(Tabblo.Grid.PageDraggables[page][i])
{try
{Tabblo.Grid.PageDraggables[page][i].unreg();}
catch(e)
{}}}
Tabblo.Grid.PageDraggables[page]=new Array();}},removeAllDraggableParcels:function()
{for(var i=0;i<Tabblo.Grid.numPages;i++)
{Tabblo.Grid.removeAllPageDraggableParcels(i);}
if(Tabblo.widgets&&Tabblo.widgets.Toolbar&&Tabblo.widgets.Toolbar.resetDraggables)
{Tabblo.widgets.Toolbar.resetDraggables();}},resetAllPageEventHandlerAttributes:function(page)
{var iArray=Tabblo.Grid.GridElementMap[page];if(iArray)
{for(var i=0;i<iArray.length;i++)
{var parcel=$(iArray[i][0]);if(parcel)
{parcel.onmouseover=null;parcel.onmouseout=null;parcel.click=null;parcel.dblclick=null;parcel.setAttribute("events_setup",false);parcel.setAttribute("draggable_setup",false);parcel.setAttribute("asserted",false);parcel.setAttribute("image_asserted",false);parcel.setAttribute("textblock_asserted",false);parcel.setAttribute("mold_asserted",false);parcel.setAttribute("prog_asserted",false);}
else
{}}}},resetAllEventHandlerAttributes:function()
{var parcels=Tabblo.Grid.getAllParcels();if(parcels)
{for(var i=0;i<parcels.length;i++)
{if(parcels[i])
{parcels[i].setAttribute("events_setup",false);parcels[i].setAttribute("draggable_setup",false);parcels[i].setAttribute("asserted",false);parcels[i].setAttribute("image_asserted",false);parcels[i].setAttribute("textblock_asserted",false);parcels[i].setAttribute("mold_asserted",false);parcels[i].setAttribute("prog_asserted",false);}}}
var t=$("thumbnailOverlay_mogrify");if(t)
{t.setAttribute("setup_draggable",false);}},finishGridAction:function()
{Tabblo.Grid.nullifyDroppableTarget();Tabblo.editor.unlockOverlays();Tabblo.editor.unlockImage();Tabblo.Grid.gridActionFinished.fire();},promoteImageZindex:function(imgElement,newZindex)
{var prevZindex;var parcel=Tabblo.editor.parcels.getParcelForItem(imgElement);if(parcel)
{if(parcel.style&&parcel.style.zIndex)
{prevZindex=parcel.style.zIndex;if(!newZindex){newZindex="11111";}
parcel.setZindex(newZindex);}}
parcel=null;return prevZindex;},getFirstGridImageFromPage:function()
{if($("page_holder_primary_0")){var imgs=$("page_holder_primary_0").getElementsByTagName("img");for(i=0;i<imgs.length;i++)
{if(imgs[i].getAttribute("grid")=="true")
{var limage=imgs[i];imgs=null;return limage;}}
imgs=null;}
return null;},gridPageIsLocked:function(pageNum)
{try
{return Tabblo.Grid.borgMind[pageNum].lock;}
catch(e)
{ var testgrid=$('the_grid_'+pageNum);if(testgrid&&testgrid.getAttribute)
{return testgrid.getAttribute('lock');}
return true;}},gridPageIsPinned:function(pageNum)
{var l=null;try
{l=Tabblo.Grid.borgMind[pageNum].lock;}
catch(e)
{ var testgrid=$('the_grid_'+pageNum+'c');if(testgrid&&testgrid.getAttribute)
{l=testgrid.getAttribute('lock');}}
return(l&&(l=='pin'));}, gridPageZeroIsPinned:function()
{return Tabblo.editor.Grid.gridPageIsPinned(0);},images_loaded:new Array(),imageParcelLoaded:function(img)
{if((img.width==0)||(img.height==0))
{return;}
var id=img.getAttribute('id');if(id)
{ Tabblo.Grid.images_loaded[id]=true;}},isImageParcelLoaded:function(id)
{return Tabblo.Grid.images_loaded['image'+id]==true;},clearGridSkeleton:function()
{Tabblo.Grid.gridSkeleton=new Object();},setGridSkeleton:function(ajaxResponse)
{var retval;if(ajaxResponse.responseObject['skel'])
{Tabblo.Grid.gridSkeleton=ajaxResponse.responseObject['skel'];retval="updated";}
else
{retval=null;}
return retval;},applyGridSkeleton:function(ajaxResponse,clientReflowed)
{var retval=Tabblo.Grid.setGridSkeleton(ajaxResponse);if(retval=="updated")
{if(ajaxResponse.responseObject.deleted)
{for(var i=0;i<ajaxResponse.responseObject.deleted.length;i++)
{var eltid=ajaxResponse.responseObject.deleted[i];var parcel=Tabblo.editor.parcels.getParcelForItem($(eltid));if(parcel){parcel.remove();}}}
if(!clientReflowed)
{Tabblo.Grid.moveAllParcelsIntoPlace();}
}},getSkeletonPositionForParcel:function(parcel)
{if(!parcel){return null;}
if(Tabblo.Grid.gridSkeleton)
{var proposedReturn=Tabblo.Grid.gridSkeleton[parcel.id];if(proposedReturn)
{return proposedReturn;}
else
{return null;}}
else
{return null;}},moveParcelIntoPlace:function(parcel,forceSelfPlacement,timeout)
{if(!parcel){return 0;}
if(!timeout){timeout=0;}
var newpos=Tabblo.Grid.getSkeletonPositionForParcel(parcel); 
if(newpos&&!forceSelfPlacement)
{if(newpos[4]&&newpos[5]&&(parcel.getGridX()!=newpos[4])||(parcel.getGridY()!=newpos[5]))
{parcel.changeDimensions(newpos[4],newpos[5]);} 
var oldpos=parcel.getGridPos();if((oldpos[0]!=newpos[0])||(oldpos[1]!=newpos[1]))
{parcel.moveToGridPosition(newpos,false,false,timeout);Tabblo.Grid.updateParcelPosition(parcel.id,newpos);return 1;}
else
{return 0;}}
else
{ newpos=parcel.getGridPos();parcel.moveToGridPosition(newpos,false,false,timeout); return 1;}},moveAllParcelsIntoPlace:function()
{Tabblo.editor.undoAvailable(true);Tabblo.Grid.stopOverlayingThisParcel(null);Tabblo.core.caches._TMP_PARCEL_CACHE=Tabblo.Grid.getAllParcels();if(!Tabblo.core.caches._TMP_PARCEL_CACHE)
{return;}
var timeout=20;for(var i=0;i<Tabblo.core.caches._TMP_PARCEL_CACHE.length;i++)
{var q=Tabblo.core.caches._TMP_PARCEL_CACHE[i];if(!q||!q.isNonempty())
{ continue;}
else
{Tabblo.Grid.moveParcelIntoPlace(q,false,timeout);timeout+=20;}}
Tabblo.core.caches._TMP_PARCEL_CACHE=null;Tabblo.Grid.clearGridSkeleton();Tabblo.Grid.finishGridAction();},calculateCumulativeTopForRow:function(row,page)
{if(!page){page=Tabblo.editor.STORY_PAGE;}
return Tabblo.Grid.borgMind[page].pageOffsetTop+(isIE?Tabblo.Grid.borgMind[page].fbot:0)+(row*(Tabblo.Grid.borgMind[page].rowheight+Tabblo.Grid.borgMind[page].inmarginy));},calculateRelativeTopForRow:function(row,page)
{if(!page){page=Tabblo.editor.STORY_PAGE;}
return Tabblo.Grid.borgMind[page].topcoord+(isIE?Tabblo.Grid.borgMind[page].fbot:0)+(row*(Tabblo.Grid.borgMind[page].rowheight+Tabblo.Grid.borgMind[page].inmarginy));},calculateCumulativeLeftForColumn:function(column,page)
{if(!page){page=Tabblo.editor.STORY_PAGE;}
return Tabblo.Grid.borgMind[page].pageOffsetLeft+(isIE?Tabblo.Grid.borgMind[page].fbol:0)+(column*(Tabblo.Grid.borgMind[page].columnwidth+Tabblo.Grid.borgMind[page].inmargin));},calculateRelativeLeftForColumn:function(column,page)
{if(!page){page=Tabblo.editor.STORY_PAGE;}
return Tabblo.Grid.borgMind[page].leftcoord+(isIE?Tabblo.Grid.borgMind[page].fbol:0)+(column*(Tabblo.Grid.borgMind[page].columnwidth+Tabblo.Grid.borgMind[page].inmargin));},calculatePixelWidth:function(gridw,page)
{var unitw=Tabblo.Grid.borgMind[page].columnwidth;var inmargin=Tabblo.Grid.borgMind[page].inmargin;return((gridw*unitw)+((gridw-1)*inmargin));},calculatePixelHeight:function(gridh,page)
{var unith=Tabblo.Grid.borgMind[page].rowheight;var inmarginy=Tabblo.Grid.borgMind[page].inmarginy;return((gridh*unith)+((gridh-1)*inmarginy));},getParcelsOfType:function(parceltype)
{return $$('div.the_grid[is_clone="0"] div[parceltype="'+parceltype+'"]');},getImageParcels:function()
{if(!Tabblo.Grid.imageParcels)
{Tabblo.Grid.imageParcels=Tabblo.Grid.getParcelsOfType('image');}
return Tabblo.Grid.imageParcels;},getTextblockParcels:function()
{if(!Tabblo.Grid.textblockParcels)
{Tabblo.Grid.textblockParcels=Tabblo.Grid.getParcelsOfType('textblock');}
return Tabblo.Grid.textblockParcels;},getMoldParcels:function()
{if(!Tabblo.Grid.moldParcels)
{Tabblo.Grid.moldParcels=Tabblo.Grid.getParcelsOfType('mold');}
return Tabblo.Grid.moldParcels;},getProgParcels:function()
{if(!Tabblo.Grid.progParcels)
{Tabblo.Grid.progParcels=Tabblo.Grid.getParcelsOfType('prog');}
return Tabblo.Grid.progParcels;},getAllParcels:function()
{var a1=Tabblo.Grid.getTextblockParcels();if(a1==null){a1=new Array();}
var a2=Tabblo.Grid.getImageParcels();if(a2!=null){a1=a1.concat(a2);}
a2=Tabblo.Grid.getMoldParcels();if(a2!=null){a1=a1.concat(a2);}
a2=Tabblo.Grid.getProgParcels();if(a2!=null){a1=a1.concat(a2);}
a2=null;return a1;},getParcelCount:function()
{var count=0;for(var i in Tabblo.Grid.GridElementMap)
{for(var j=0;j<Tabblo.Grid.GridElementMap[i].length;j++)
{var def=Tabblo.Grid.GridElementMap[i][j];var tid=def[0];var typ=def[2];if((typ=='textblock')||(typ=='image'))
{count++;}}}
return count;},getParcelsForPage:function(page,type)
{var ret=new Array();if(__tcu.isNonNullDefined(Tabblo.Grid.GridElementMap[page]))
{for(var i=0;i<Tabblo.Grid.GridElementMap[page].length;i++)
{var def=Tabblo.Grid.GridElementMap[page][i];var tid=def[0];var pos=def[1];var typ=def[2];if(typ==type)
{var x=(type=='textblock')?(Tabblo.Grid.textblockParcels[pos]):((type=='image')?(Tabblo.Grid.imageParcels[pos]):((type=='prog')?(Tabblo.Grid.progParcels[pos]):(Tabblo.Grid.moldParcels[pos])));ret.push(x);}}}
return ret;},getTextblockParcelsForPage:function(page)
{return Tabblo.Grid.getParcelsForPage(page,"textblock");},getImageParcelsForPage:function(page)
{return Tabblo.Grid.getParcelsForPage(page,"image");},getMoldParcelsForPage:function(page)
{return Tabblo.Grid.getParcelsForPage(page,"mold");},getProgParcelsForPage:function(page)
{return Tabblo.Grid.getParcelsForPage(page,"prog");},getAllParcelsForPage:function(page)
{var a1=Tabblo.Grid.getTextblockParcelsForPage(page);a1=a1.concat(Tabblo.Grid.getImageParcelsForPage(page));a1=a1.concat(Tabblo.Grid.getMoldParcelsForPage(page));a1=a1.concat(Tabblo.Grid.getProgParcelsForPage(page));return a1;},getPageElement:function(page)
{return $('storydiv_'+page);},addPrimaryGridPage:function(grid,page_id,isLast)
{var pt=null;var holder=0;try
{pt=Tabblo.Grid.TheFirstGrid.getAttribute("product_type");}
catch(e){}
if(pt=="book")
{if(page_id%2==0)
{holder=1;}
else
{holder=0;}}
else if(pt=="foldedcard")
{if(page_id==4)
{page_id=0;}
if(Tabblo.Editor&&(Tabblo.Editor.getNumParents()==1))
{holder=0;}
else
{if(page_id%2==0)
{holder=0;}
else
{holder=1;}}}
else
{holder=0;}
if(isSafari)
{Tabblo.Grid.resetEvents();}
if((holder>=0)&&($('page_holder_primary_'+holder)))
{if($("page_holder_primary_"+holder))
{if(page_id>=Tabblo.Grid.numPages)
{$('page_holder_primary_'+holder).innerHTML="";}
else
{var p="";if(Tabblo.Grid.isMultipage()&&Tabblo.Editor&&(page_id>=0))
{p=Tabblo.Editor.genPrimaryPageFragAll(page_id);}
$('page_holder_primary_'+holder).innerHTML=grid+p;}}
else
{}}
else
{alert('AddPrimaryGridPage: This should never happen: '+holder+'/'+page_id);}
var delayedFunc=function()
{Tabblo.Grid.initializePage(page_id);Tabblo.Grid.resetBackgroundStuff();if(isLast)
{if(isIE)
{__tcu.correctPNG();}
Tabblo.editor.reloadDirtyClones(); Tabblo.Grid.finishGridAction();Tabblo.Grid.finishPartialLoadingEvent.fire();Tabblo.Grid.finishSpreadLoadEvent.fire();if(isIE)
{__tcu.dismissProgressIndicator("pageLoad");}}};if(holder>=0)
{YAHOO.util.Event.onContentReady('page_holder_primary_'+holder,delayedFunc,this);}
else
{delayedFunc();}},resetBackgroundStuff:function()
{ var fe=this.firstElement;if(fe)
{var ss=fe.getAttribute("show_stock");if(ss=="0")
{var pbg=fe.getAttribute("pagebgcolor");if(pbg==null)pbg="";YAHOO.util.Dom.setStyle(document.body,"backgroundColor",pbg);var pbgi=fe.getAttribute("pagebgimage");if((pbgi==null)||(pbgi==""))
{pbgi="none";}
else
{pbgi="url("+pbgi+")";}
YAHOO.util.Dom.setStyle(document.body,"backgroundImage",pbgi);}}},appendToActivePage:function(target_id,page,ajaxResponse,replaceFlag,dParcel)
{var resp=ajaxResponse.responseObject;Tabblo.Grid.markGridpageDirty(page);Tabblo.editor.reloadDirtyClones(); Tabblo.Grid.unloadPage(page,true,true); if(replaceFlag)
{try
{var p;if(dParcel)
{p=dParcel;}
else
{p=Tabblo.editor.parcels.getParcelForItem($(resp['id']));}
if(p)
{p.remove();}}
catch(e)
{printStack(e,'appendToActivePage:replaceFlagTrue');}}
var a=document.createElement("DIV");a.innerHTML=trim(resp['html']);$('the_field_'+page).appendChild(a.firstChild);Tabblo.Grid.initializePage(page);var mode=Tabblo.Grid.layout_mode;if(((mode=="reflow")||(mode=="bric"))&&!replaceFlag)
{var flow=Tabblo.Grid.flowmode;if((mode=="reflow")&&(flow!='compact')&&target_id&&(target_id.indexOf('e')==0))
{return;}
if(mode=='bric')
{Tabblo.Grid.applyGridSkeleton(ajaxResponse);}}},refreshPrimaries:function(pages,optscale,optstock)
{var _scale=Tabblo.Editor.fully_initialized?Tabblo.Editor.metadata.primary_scale:Tabblo.editor.MAJOR_SCALE;if(!optscale){optscale=_scale;}
if(!optstock){optstock=null;}
return Tabblo.Grid.pageLoader(pages,optscale,optstock);},pageLoader:function(optpage,optscale,optstock,url)
{var theurl;if(url)
{theurl=url;}
else
{ theurl="/edit/refreshgrid";}
var primary_width=0;if(Tabblo.Editor.fully_initialized)
{primary_width=parseInt(Tabblo.Editor.metadata.primary_width);}
else
{primary_width=parseInt($('page_holder_primary_0').style.width);}
var parameters={optpage:optpage,optscale:optscale,optstock:optstock,partner:Tabblo.Grid.partner,url:theurl,width:primary_width};return new Tabblo.editor.actions.Action(Tabblo.editor.actions.GridPageLoader,parameters).run();},pageIsCloneOfExisting:function(page_id)
{for(var i in Tabblo.Grid.borgMind)
{if((i!=null)&&(parseInt(i)==parseInt(page_id)))
{return true;}}
if($('the_grid_'+page_id))
{return true;}
return false;},deletePageGeometry:function(page)
{if(Tabblo.Grid.borgMind[page])
{Tabblo.Grid.borgMind[page].pageOffsetLeft=-9999;Tabblo.Grid.borgMind[page].pageOffsetTop=-9999;var column_start=-9999;var column_end=-9999;var row_start=-9999;var row_end=-9999;Tabblo.Grid.pages[page]=[column_start,column_end,row_start,row_end];}},resetAllPageGeometriesCount:0,resetAllPageGeometries:function()
{Tabblo.Grid.resetAllPageGeometriesCount+=1;for(var page in Tabblo.Grid.borgMind)
{Tabblo.Grid.deletePageGeometry(page);Tabblo.Grid.setPageGeometry(page);}
},deletePageGeometryForPrimaryHolder:function(primary_holder_id)
{var page=Tabblo.Grid.getPageIdFromHolderId(primary_holder_id,true);if(Tabblo.Grid.borgMind[page]&&($('the_grid_'+page)))
{Tabblo.Grid.deletePageGeometry(page);}},setPageGeometry:function(_mypage)
{if(Tabblo.Grid.borgMind[_mypage])
{var g=document.getElementById('the_grid_'+_mypage);if(!g||(g.style.display=='none'))
{return;}
var originPos;originPos=__tcu.getXY('the_field_'+_mypage);Tabblo.Grid.borgMind[_mypage].pageOffsetLeft=parseInt(originPos[0])+Tabblo.Grid.borgMind[_mypage].leftcoord;Tabblo.Grid.borgMind[_mypage].pageOffsetTop=parseInt(originPos[1])+Tabblo.Grid.borgMind[_mypage].topcoord;var column_start=Tabblo.Grid.borgMind[_mypage].pageOffsetLeft;var fi=$('the_field_'+_mypage);var x=parseInt(fi.style.borderLeftWidth);var y=parseInt(fi.style.borderTopWidth);if(isNaN(x))
{x=0;}
if(isNaN(y))
{y=0;}
Tabblo.Grid.borgMind[_mypage].fbol=x;Tabblo.Grid.borgMind[_mypage].fbot=y; var column_end=column_start+((Tabblo.Grid.borgMind[_mypage].numCols*(Tabblo.Grid.borgMind[_mypage].columnwidth+Tabblo.Grid.borgMind[_mypage].inmargin))-1);var row_start=Tabblo.Grid.borgMind[_mypage].pageOffsetTop; var row_end=(Tabblo.Grid.borgMind[_mypage].limitRows>0)?(row_start+((Tabblo.Grid.borgMind[_mypage].limitRows*(Tabblo.Grid.borgMind[_mypage].rowheight+Tabblo.Grid.borgMind[_mypage].inmarginy))-1)):0;Tabblo.Grid.pages[_mypage]=[column_start,column_end,row_start,row_end];}},getHolderIdFromPageId:function(pageid,isPrimary,isClone)
{pageid=parseInt(pageid);if(isClone)
{pageid+='c';}
if(isPrimary)
{return Tabblo.Grid.GridPageMap.primary_pages[pageid];}
else
{return Tabblo.Grid.GridPageMap.secondary_pages[pageid];}},getPageIdFromHolderId:function(holderid,isPrimary)
{try
{if(isPrimary)
{return Tabblo.Grid.GridPageMap.primary[holderid].pagenum;}
else
{return Tabblo.Grid.GridPageMap.secondary[holderid].pagenum;}}
catch(e)
{return null;}},getGridIdForLivePage:function(oldpage)
{var isPrimary=true;var h=Tabblo.Grid.getHolderIdFromPageId(oldpage,true,false);if(!h)
{isPrimary=false;h=Tabblo.Grid.getHolderIdFromPageId(oldpage,false,false);}
if(h)
{if(isPrimary)
{return Tabblo.Grid.GridPageMap.primary[h].grid_id;}
else
{return Tabblo.Grid.GridPageMap.secondary[h].grid_id;}}
else
{printfire("WARNING: no grid id found for page "+oldpage);return null;}},getFieldIdForLivePage:function(oldpage)
{var isPrimary=true;var h=Tabblo.Grid.getHolderIdFromPageId(oldpage,true,false);if(!h)
{isPrimary=false;h=Tabblo.Grid.getHolderIdFromPageId(oldpage,false,false);}
if(h)
{if(isPrimary)
{return Tabblo.Grid.GridPageMap.primary[h].field_id;}
else
{return Tabblo.Grid.GridPageMap.secondary[h].field_id;}}
else
{printfire("WARNING: no field id found for page "+oldpage);return null;}},isSwapMode:function()
{return((this.layout_mode=="manual")&&(this.flowmode=="none"));},isPhotostreamScratchboxMember:function(ele)
{return ele.getAttribute("photostream_scratchbox_member")=="true";},isScratchboxElement:function(ele)
{return((ele.id=="img_fake_holder")||(Tabblo.Grid.isPhotostreamScratchboxMember(ele)));},detectAction:function(griddestarray,drag_element)
{var action=null;var drag_parcel=Tabblo.editor.parcels.getParcelForItem(drag_element);var drop_parcel=Tabblo.Grid.getParcelAt(griddestarray);var dpai=drop_parcel?drop_parcel.id:"";var dpat=drop_parcel?drop_parcel.getType():"";var deg=(drag_element.getAttribute("isScratch")=="true");var fakeTbErnst=(drag_element.id.indexOf("fake_textblock_Ernst_mask")!=-1);var emptyOrMold=((dpat=="virtualempty")||(dpat=="mold"));jQuery("#img_zoom_holder").css('display','none');var ife=Tabblo.Grid.isScratchboxElement(drag_element);if(drag_element.id==dpai)
{if(Tabblo.Grid.layout_mode!="bric")
{action="ORIGINAL";}}
else if(!ife&&!fakeTbErnst&&!emptyOrMold&&Tabblo.Grid.isSwapMode())
{action="swap";}
else if((fakeTbErnst&&emptyOrMold)||deg)
{if(emptyOrMold||Tabblo.Editor.insert_is_replace)
{if(Tabblo.Grid.layout_mode!='page')
{action="insert";}
else
{if(dpat=='mold')
{ action="insert";}
else if(deg&&(dpat=='image')&&Tabblo.Editor.insert_is_replace)
{ action="insert";}
else
{action="";}}}
else
{if(Tabblo.Editor&&Tabblo.Editor.fully_initialized&&Tabblo.Editor.relayout_collisions)
{action="RELAYOUT";}
else
{action="COLLISION";}}}
else
{if(fakeTbErnst)
{if(Tabblo.Editor&&Tabblo.Editor.fully_initialized&&Tabblo.Editor.relayout_collisions)
{action="RELAYOUT";}
else
{action="COLLISION";}}
else if(emptyOrMold)
{if(Tabblo.Grid.isDragToObject(null))
{action="";}
else
{if(Tabblo.Grid.layout_mode=="page")
{if(dpat=='mold')
{ action="swap";}
else
{ action="";}}
else
{action="move";}}}
else
{action="swap";}}
if(drag_parcel)
{if((drag_parcel.getType()=="textblock")&&(dpat=="virtualempty"))
{drag_element.setAttribute("should_revert","false");}}
else
{if(ife)
{drag_element.setAttribute("haveDropTarget","true");}}
if(action)
{var fresh=1;if((Tabblo.core.caches.BULLSEYE_DS["activeDroppable"]==dpai)&&(Tabblo.core.caches.BULLSEYE_DS["activeAction"]==action))
{fresh=0;}
var q=Tabblo.editor.parcels.getParcelForItem($(Tabblo.core.caches.BULLSEYE_DS['activeDroppable']));if(q&&(q.id!=dpai))
{q.hideStatus();}
Tabblo.core.caches.BULLSEYE_DS["activeDroppable"]=dpai;Tabblo.core.caches.BULLSEYE_DS["activeAction"]=action;Tabblo.core.caches.BULLSEYE_DS["fresh"]=fresh;}
return action;},detectActionFromEditorJs:function(source_el,dragProxy,dropTargetParcel)
{var action=null;if(source_el.id==dropTargetParcel.id)
{return action;}
var dropTargetParcelType=dropTargetParcel.getType();var isMold=(dropTargetParcelType=="mold");var isEmpty=(dropTargetParcelType=="virtualempty");var isMoldOrEmpty=(isMold||isEmpty);if(isMoldOrEmpty||((dropTargetParcelType=="image")&&(source_el.id!=this.textblockMask)&&this.insert_is_replace))
{action="insert";var parcelPos=dropTargetParcel.getGridPos();var page=parcelPos[2]; var parcelGridWidth=Tabblo.Grid.borgMind[page].smallx;if((parcelGridWidth+parcelPos[0])>Tabblo.Grid.borgMind[page].numCols)
{if(!isMold)
{action="COLUMN_OVERRUN";}} 
if(Tabblo.Grid.borgMind[page].limitRows)
{var parcelGridHeight=Tabblo.Grid.borgMind[page].smally;if((parcelGridHeight+parcelPos[1])>Tabblo.Grid.borgMind[page].limitRows)
{if(!isMold)
{action="ROW_OVERRUN";}}}}
else if(isEmpty&&(source_el.id==this.moldMask))
{action="insert";var parcelPos=dropTargetParcel.getGridPos();var page=parcelPos[2]; var parcelGridWidth=Tabblo.Grid.borgMind[page].smallx;if((parcelGridWidth+parcelPos[0])>Tabblo.Grid.borgMind[page].numCols)
{action="COLUMN_OVERRUN";} 
if(Tabblo.Grid.borgMind[page].limitRows)
{var parcelGridHeight=Tabblo.Grid.borgMind[page].smally;if((parcelGridHeight+parcelPos[1])>Tabblo.Grid.borgMind[page].limitRows)
{action="ROW_OVERRUN";}}}
return action;},getPageForPixelPosition:function(pixelx,pixely)
{for(var i in Tabblo.Grid.pages)
{var coord=Tabblo.Grid.pages[i];if((__tcu.between(pixelx,coord[0],coord[1]))&&((__tcu.between(pixely,coord[2],coord[3]))||((coord[3]==0)&&(pixely>coord[2]))))
{return i;}}
return null;},getCoordsForPixelPosition:function(pixelx,pixely)
{var row=-1;var column=-1;var page=Tabblo.Grid.getPageForPixelPosition(pixelx,pixely);if((page==null)||(page==-1))
{return[column,row,null,0];}
var unitwidth=Tabblo.Grid.borgMind[page].columnwidth+Tabblo.Grid.borgMind[page].inmargin;var unitheight=Tabblo.Grid.borgMind[page].rowheight+Tabblo.Grid.borgMind[page].inmarginy; pixelx-=Tabblo.Grid.calculateCumulativeLeftForColumn(0,page);pixely-=Tabblo.Grid.calculateCumulativeTopForRow(0,page);var unitx=parseInt(pixelx/unitwidth);var unity=parseInt(pixely/unitheight);var modx=pixelx%unitwidth;var mody=pixely%unitheight;if((modx>(Tabblo.Grid.borgMind[page].columnwidth+Tabblo.Grid.borgMind[page].STICKYx))||(mody>(Tabblo.Grid.borgMind[page].rowheight+Tabblo.Grid.borgMind[page].STICKYy)))
{}
else
{column=unitx;row=unity;}
return[column,row,page,0];},getParcelForPixelPosition:function(dragPosArray,pixelx,pixely,optlayer,parcelLocationExact)
{var parcel=null;var layer=optlayer||0;var pos=Tabblo.Grid.getCoordsForPixelPosition(pixelx,pixely);var column=pos[0];var row=pos[1];var page=pos[2];if((row!=-1)&&(column!=-1))
{var newarr=new Array();newarr[0]=column;newarr[1]=row;newarr[2]=parseInt(page);newarr[3]=layer;if(parcelLocationExact)
{parcel=Tabblo.Grid.getParcelAt(newarr);}
else
{parcel=Tabblo.Grid.getParcelCovering(newarr,dragPosArray);}}
return parcel;},debugCGDA:(false?function(){var args=new Array(arguments.length+1);args[0]="computeGridDestinationForAction";for(var i=0;i<arguments.length;i++)
args[i+1]=arguments[i];__d.apply(this,args);}:function(){}),computeGridDestinationForAction:function(element)
{Tabblo.Grid.debugCGDA("begin");var pos=__tcu.getXY(element); var dragparcel=Tabblo.editor.parcels.getParcelForItem(element); var parcelLocationExact=false;var olddroppable=Tabblo.core.caches.BULLSEYE_DS["activeDroppable"];if(olddroppable)
{olddroppable=Tabblo.editor.parcels.getOrCreateParcelForItem(olddroppable);}
if(olddroppable)
{var gx=olddroppable.getGridWidth();var gy=olddroppable.getGridHeight();var ow=olddroppable.getPixelWidth();var oh=olddroppable.getPixelHeight();var w=0;var h=0;if(dragparcel)
{w=parseInt(dragparcel.getPixelWidth()/Tabblo.Grid.DETECTION_POINT_DIVISOR)+Tabblo.Grid.ABSOLUTE_OFFSET;h=parseInt(dragparcel.getPixelHeight()/Tabblo.Grid.DETECTION_POINT_DIVISOR)+Tabblo.Grid.ABSOLUTE_OFFSET;}
var original;var lund;if(olddroppable.id==element.id)
{original=true;lund=olddroppable.getOriginalPixelPosition();}
else
{original=false;lund=[Tabblo.Grid.calculateCumulativeLeftForColumn(Tabblo.editor.parcels.getGridX(olddroppable),Tabblo.editor.parcels.getPage(olddroppable)),Tabblo.Grid.calculateCumulativeTopForRow(Tabblo.editor.parcels.getGridY(olddroppable),Tabblo.editor.parcels.getPage(olddroppable))];}
var page=olddroppable.getPage();var stickyX=Tabblo.Grid.borgMind[page].STICKYx;var stickyY=Tabblo.Grid.borgMind[page].STICKYy; var xend=lund[0]+ow+stickyX-1;var yend=lund[1]+oh+stickyY-1;var specialxend=lund[0]+parseInt((ow+stickyX)/gx)-1;var specialyend=lund[1]+parseInt((oh+stickyY)/gy)-1; Tabblo.Grid.debugCGDA("original:"+original+'/pos0:'+pos[0]+'/pos1:'+pos[1]+'/lund0:'+lund[0]+'/lund1:'+lund[1]+'/w:'+w+'/h:'+h+'/gx:'+gx+'/gy:'+gy+'/ow:'+ow+'/oh:'+oh+'/sticky'+Tabblo.Grid.borgMind[page].STICKYx);var bullseyeTarget=null;if((!original||(gx==gy==1))&&(olddroppable.getType()!="virtualempty")&&__tcu.between(pos[0]+w,lund[0]-stickyX,xend)&&__tcu.between(pos[1]+h,lund[1]-stickyY,yend))
{if(dragparcel)
{bullseyeTarget=dragparcel.id;}
else
{ bullseyeTarget=element.id;}}
else if(__tcu.between(pos[0]+w,lund[0]-stickyX,specialxend)&&__tcu.between(pos[1]+h,lund[1]-stickyY,specialyend))
{if(dragparcel)
{bullseyeTarget=dragparcel.id;}
else
{ bullseyeTarget=element.id;}}
if(bullseyeTarget)
{Tabblo.Grid.showBullseyeTarget(bullseyeTarget);Tabblo.Grid.debugCGDA("end: bullseyeTarget");return;}}
if(dragparcel&&(dragparcel.rejectsDroppable()))
{Tabblo.Grid.debugCGDA("dragparcel && rejects droppable");if(Tabblo.Grid.layout_mode=="bric")
{Tabblo.Grid.nullifyDroppableTarget();dragparcel.hideStatus();Tabblo.Grid.debugCGDA("end: this layout mode does not allow moves.");return;}
var action="move";var gridpos=Tabblo.Grid.getCoordsForPixelPosition(pos[0],pos[1]);if((gridpos[0]==-1)||(gridpos[1]==-1)||(gridpos[2]==null))
{ action='';}
else
{if((dragparcel.getGridWidth()+gridpos[0])>Tabblo.Grid.borgMind[gridpos[2]].numCols)
{action="COLUMN_OVERRUN";}
else
{var limitRows=Tabblo.Grid.borgMind[gridpos[2]].limitRows;if((limitRows>0)&&((dragparcel.getGridHeight()+gridpos[1])>limitRows))
{action="ROW_OVERRUN";}}}
var emptydrop=Tabblo.editor.parcels.VirtualEmptyAt(gridpos[0],gridpos[1],gridpos[2],gridpos[3]);Tabblo.core.caches.BULLSEYE_DS["activeDroppable"]=emptydrop.id;Tabblo.core.caches.BULLSEYE_DS["activeAction"]=action;Tabblo.core.caches.BULLSEYE_DS["fresh"]=1;Tabblo.Grid.showBullseye(action,element,gridpos,dragparcel,emptydrop);}
else
{Tabblo.Grid.debugCGDA("no dragparcel or dragparcel does not rejects droppable");var dragPosArray=new Array(-1,-1,-1,-1);if(dragparcel)
{ dragPosArray=Tabblo.editor.parcels.getGridPos(dragparcel);Tabblo.Grid.debugCGDA("dragparcel",dragPosArray);}
var w=0;var h=0;var gw=0;var gh=0;if(dragparcel)
{ w=parseInt(dragparcel.getPixelWidth()/Tabblo.Grid.DETECTION_POINT_DIVISOR)+Tabblo.Grid.ABSOLUTE_OFFSET;h=parseInt(dragparcel.getPixelHeight()/Tabblo.Grid.DETECTION_POINT_DIVISOR)+Tabblo.Grid.ABSOLUTE_OFFSET;Tabblo.Grid.debugCGDA("width and height: "+w+'/'+h+'/'+Tabblo.Grid.ABSOLUTE_OFFSET+'/'+Tabblo.Grid.DETECTION_POINT_DIVISOR);gw=dragparcel.getGridWidth();gh=dragparcel.getGridHeight();Tabblo.Grid.debugCGDA("dragparcel",w,h,gw,gh);}
else
{ w=0;h=0;gw=0; gh=0; Tabblo.Grid.debugCGDA("no dragparcel");}
var optlayer=0;if((Tabblo.Grid.layout_mode=='manual')&&(Tabblo.Grid.flowmode=='free'))
{Tabblo.Grid.debugCGDA("manual and free");var test_drop=Tabblo.Grid.getParcelForPixelPosition([-1,-1,-1,-1],pos[0]+w,pos[1]+h,0,parcelLocationExact);if(test_drop&&((!dragparcel)||(test_drop.id!=dragparcel.id))&&(test_drop.getType()!="virtualempty")&&(test_drop.getType()!="mold"))
{optlayer=1;Tabblo.Grid.debugCGDA("Layer promoted ("+optlayer+")");}}
Tabblo.Grid.debugCGDA("get parcel for pixel position: "+pos[0]+'/'+pos[1]+'/'+w+'/'+h+'/'+optlayer+'/'+parcelLocationExact);var dropp=Tabblo.Grid.getParcelForPixelPosition(dragPosArray,pos[0]+w,pos[1]+h,optlayer,parcelLocationExact);if((Tabblo.Grid.layout_mode=='manual')&&(Tabblo.Grid.flowmode=='none')&&(optlayer==0)&&(dropp)&&(dropp.getType()=="virtualempty"))
{Tabblo.Grid.debugCGDA("manual && none && 0 && dropp && virtualempty");var test=Tabblo.Grid.getParcelForPixelPosition(dragPosArray,pos[0]+w,pos[1]+h,1,parcelLocationExact);if(test&&(test.getType()!="virtualempty")&&(test.getType()!="mold"))
{Tabblo.Grid.debugCGDA("Caught funny low-performance case of swapping layered items");dropp=test;}}
var newpos=null;if(dropp)
{newpos=Tabblo.editor.parcels.getGridPos(dropp);Tabblo.Grid.debugCGDA("dropp "+dropp.id+', '+newpos[0]+', '+newpos[1]+', '+newpos[2]+', '+newpos[3]);}
if(newpos)
{var action=Tabblo.Grid.detectAction(newpos,element);Tabblo.Grid.debugCGDA("action: "+action);if(action)
{if((Tabblo.Grid.layout_mode=='manual')&&(Tabblo.Grid.flowmode=='free'))
{if((dropp.getType()!="virtualempty")&&(dropp.getType()!="mold")&&(newpos[3]>=1))
{action="TOO_MANY_LAYERS";Tabblo.core.caches.BULLSEYE_DS["activeAction"]=action;}}
var page=newpos[2];if(!dragparcel)
{ gw=Tabblo.Grid.borgMind[page].smallx;gh=Tabblo.Grid.borgMind[page].smally;} 
Tabblo.Grid.debugCGDA("DROP",action+", "+dropp.id+', '+dropp.getType()+', '+newpos[0]+', '+newpos[1]+', '+newpos[2]+', '+newpos[3]); var updateDropp=false;var updatedNewPos=new Array();for(var i=0;i<newpos.length;i++)
{updatedNewPos[i]=newpos[i];} 
var endx=(gw+newpos[0]);Tabblo.Grid.debugCGDA("column check",endx,Tabblo.Grid.borgMind[page].numCols);if((endx>Tabblo.Grid.borgMind[page].numCols)&&(action!="swap"))
{if(dropp.getType()!="mold")
{Tabblo.Grid.debugCGDA(gw,newpos[0],Tabblo.Grid.borgMind[page].numCols);if(dropp.getType()=="virtualempty")
{updatedNewPos[0]-=(endx-Tabblo.Grid.borgMind[page].numCols);updateDropp=true;}
else
{action="COLUMN_OVERRUN";Tabblo.core.caches.BULLSEYE_DS["activeAction"]=action;}}} 
var limitRows=Tabblo.Grid.borgMind[page].limitRows;if(limitRows>0)
{ var endy=(gh+newpos[1]);Tabblo.Grid.debugCGDA("row check",endy,limitRows);if((endy>limitRows)&&(action!="swap"))
{if(dropp.getType()!="mold")
{Tabblo.Grid.debugCGDA(dropp.getType(),gh,newpos[1],endy,limitRows);if(dropp.getType()=="virtualempty")
{updatedNewPos[1]-=(endy-limitRows);updateDropp=true;}
else
{action="ROW_OVERRUN";Tabblo.core.caches.BULLSEYE_DS["activeAction"]=action;}}}}
if(updateDropp)
{dropp=Tabblo.editor.parcels.VirtualEmptyAt(updatedNewPos[0],updatedNewPos[1],updatedNewPos[2],updatedNewPos[3]);Tabblo.core.caches.BULLSEYE_DS["activeDroppable"]=dropp.id;newpos=updatedNewPos;}
Tabblo.Grid.debugCGDA(action+', '+newpos[0]+', '+newpos[1]+', '+newpos[2]+', '+newpos[3]+', '+dropp.id);Tabblo.Grid.showBullseye(action,element,newpos,dragparcel,dropp);}
else
{if(dragparcel)
{dragparcel.hideStatus();}
Tabblo.Grid.nullifyDroppableTarget();}}
else if(dragparcel)
{Tabblo.Grid.debugCGDA(dragparcel); dragPosArray=new Array(-1,-1,-1,-1);dropp=Tabblo.Grid.getParcelForPixelPosition(dragPosArray,pos[0]+w,pos[1]+h,optlayer,parcelLocationExact);if(dropp)
{Tabblo.Grid.debugCGDA(dropp);newpos=Tabblo.editor.parcels.getGridPos(dropp);Tabblo.Grid.debugCGDA("!!! setting action to original");var action="ORIGINAL";Tabblo.core.caches.BULLSEYE_DS["activeAction"]=action;Tabblo.Grid.showBullseye(action,element,newpos,dragparcel,dropp);Tabblo.Grid.debugCGDA("!! action is "+action);}
else
{Tabblo.Grid.debugCGDA(" No action to take, hide drag parcel's status and make sure no bullseye");dragparcel.hideStatus();Tabblo.Grid.nullifyDroppableTarget();}}
else
{Tabblo.Grid.debugCGDA('no droppable found and no drag parcel!');Tabblo.Grid.nullifyDroppableTarget();}}
Tabblo.Grid.debugCGDA("end");},addExtraParams:function(source_el,parameters)
{ var ex=source_el.getAttribute("extra_params");if(ex)
{exarr=ex.split(',');parameters['extra_params']=exarr;for(var i=0;i<exarr.length;i++)
{parameters[exarr[i]]=source_el.getAttribute(exarr[i])||"";}}},detecting:0,dragElementEvent:function(source_el,opt_proxy_el)
{if(Tabblo.Editor.parcel_droptargets&&(this.detecting==0))
{this.detecting=1;var dragging_thing=opt_proxy_el?opt_proxy_el:source_el;var dragPosition=__tcu.getXY(dragging_thing);var action;var ignorePosArray=[-1,-1,-1,-1];var parcelLocationExact=false;var layer=0;var dropTarget=this.getParcelForPixelPosition(ignorePosArray,dragPosition[0],dragPosition[1],layer,parcelLocationExact);if(dropTarget)
{action=this.detectActionFromEditorJs(source_el,opt_proxy_el,dropTarget);}
else
{action=null;}
if((action)&&(action!="COLUMN_OVERRUN")&&(action!="ROW_OVERRUN")&&(action!="ORIGINAL"))
{var fresh=1;if((Tabblo.core.caches.BULLSEYE_DS["activeDroppable"]==dropTarget.id)&&(Tabblo.core.caches.BULLSEYE_DS["activeAction"]==action))
{fresh=0;}
var q=Tabblo.editor.parcels.getParcelForItem($(Tabblo.core.caches.BULLSEYE_DS["activeDroppable"]));if(q&&(q.id!=dropTarget.id))
{q.hideStatus();} 
dragging_thing.style.border="3px solid green"; Tabblo.core.caches.BULLSEYE_DS["activeDroppable"]=dropTarget.id;Tabblo.core.caches.BULLSEYE_DS["activeAction"]=action;Tabblo.core.caches.BULLSEYE_DS["fresh"]=fresh;this.showBullseye(action,dragging_thing,dropTarget.getGridPos(),null,dropTarget);}
else
{ dragging_thing.style.border="3px solid red";this.nullifyDroppableTarget();}
this.detecting=0;}},dropElementEvent:function(source_el,drag_proxy_el)
{var action=Tabblo.core.caches.BULLSEYE_DS["activeAction"];if(action)
{var dropTargetParcelId=Tabblo.core.caches.BULLSEYE_DS["activeDroppable"];if(dropTargetParcelId)
{var dropTargetParcel=Tabblo.editor.parcels.getOrCreateParcelForItem(dropTargetParcelId);if(dropTargetParcel)
{var parameters;var gridAction=null;if(source_el.id==Tabblo.Editor.textblockMask)
{parameters={destination_parcel_id:dropTargetParcel.id,scale:Tabblo.Editor.metadata.primary_scale};gridAction=Tabblo.editor.actions.InsertTextblock;}
else if(source_el.id==Tabblo.Editor.myTextblockMask)
{Tabblo.editor.Textblock.insert(dropTargetParcel.id);}
else if(source_el.id==Tabblo.Editor.moldMask)
{var parcelPos=dropTargetParcel.getGridPos();parameters={destination_parcel_id:dropTargetParcel.id,posx:parcelPos[0],posy:parcelPos[1],gridx:dropTargetParcel.getGridWidth(),gridy:dropTargetParcel.getGridHeight(),layer:0,scale:Tabblo.Editor.metadata.primary_scale};gridAction=Tabblo.editor.actions.InsertMold;}
else if(source_el.id==Tabblo.Editor.myMoldMask)
{var topleft=__tcu.getXY(drag_proxy_el);$("mold_id").value=dropTargetParcelId;$("mold_upload").action=document.location.href;__tcu.appearCentered($("photo_upload_helper"),null,180);__tcu.showBlockerScreen(true);}
else
{if(this.layout_mode=="bric")
{Tabblo.core.use_case.start("FlickrPosterInsertBricIntoHouse");this.finishPartialLoadingEvent.subscribe(function()
{this.finishPartialLoadingEvent.unsubscribe(arguments.callee); Tabblo.core.use_case.finish("FlickrPosterInsertBricIntoHouse");});}
parameters={drop:dropTargetParcelId,scale:Tabblo.Editor.metadata.primary_scale,url:escape(source_el.getAttribute("external_url")),partner:Tabblo.Editor.partner};Tabblo.editor.Grid.addExtraParams(source_el,parameters);gridAction=Tabblo.editor.actions.AddExternalItem;}
if(gridAction)
{new Tabblo.editor.actions.Action(gridAction,parameters).run();}}}}
var dragging_thing=drag_proxy_el?drag_proxy_el:source_el;dragging_thing.style.border="0px solid black";this.nullifyDroppableTarget();},isDragToObject:function(dragEl)
{var lm=Tabblo.Grid.layout_mode;if(lm=='bric')
{
return true;}
if((lm!='page')||!Tabblo.Editor.page_mode_drag_to_object)
{return false;}
var page;if(dragEl)
{var dragPosition=__tcu.getXY(dragEl);page=parseInt(Tabblo.Grid.getPageForPixelPosition(dragPosition[0],dragPosition[1]));}
else
{page=Tabblo.Editor.curr_page;} 
var checkPinned;if(dragEl)
{checkPinned=(parseInt(page)>=0);}
else
{checkPinned=(parseInt(page)==0);}
var drag_to_object;if(checkPinned)
{drag_to_object=!Tabblo.Grid.gridPageIsPinned(page);}
else
{drag_to_object=true;}
return drag_to_object;},dragElementToObject:function(divTarget,source_el,opt_proxy_el)
{var dragging_thing=opt_proxy_el?opt_proxy_el:source_el;var dragPosition=__tcu.getXY(dragging_thing);if(Tabblo.Grid.layout_mode=='page')
{var pages=Tabblo.Editor.getAllPageTargets(page);if(!(pages instanceof Array))
{pages=[pages];}
var page=parseInt(Tabblo.Grid.getPageForPixelPosition(dragPosition[0],dragPosition[1]));if(page>=0)
{divTarget=Tabblo.Editor.getPageTarget(page);if(pages!=null)
{for(var k=0;k<pages.length;k++)
{if(($(Tabblo.Editor.parentId[0][k]).getAttribute("highlighted")=="true")&&(divTarget!=Tabblo.Editor.parentId[0][k]))
{$(Tabblo.Editor.parentId[0][k]).style.border=this.UNHIGHLIGHTED_BORDER;$(Tabblo.Editor.parentId[0][k]).setAttribute("highlighted","false");}}}}
else
{if(pages!=null)
{for(var k=0;k<pages.length;k++)
{if($(Tabblo.Editor.parentId[0][k]).getAttribute("highlighted")=="true")
{$(Tabblo.Editor.parentId[0][k]).style.border=this.UNHIGHLIGHTED_BORDER;$(Tabblo.Editor.parentId[0][k]).setAttribute("highlighted","false");}}}
return;}}
var dropPosition=__tcu.getXY(divTarget);if((dragPosition[0]>dropPosition[0])&&(dragPosition[1]>dropPosition[1])&&(dragPosition[0]<(dropPosition[0]+__tcu.getWidth($(divTarget))))&&(dragPosition[1]<(dropPosition[1]+__tcu.getHeight($(divTarget)))))
{ if($(divTarget).getAttribute("highlighted")!="true")
{$(divTarget).style.border=this.HIGHLIGHTED_BORDER;$(divTarget).setAttribute("highlighted","true");}}
else
{if($(divTarget).getAttribute("highlighted")=="true")
{$(divTarget).style.border=this.UNHIGHLIGHTED_BORDER;$(divTarget).setAttribute("highlighted","false");}}},dropElementOnObject:function(divTarget,source_el,opt_proxy_el)
{var dragging_thing=opt_proxy_el?opt_proxy_el:source_el;var dragPosition=__tcu.getXY(dragging_thing);if(Tabblo.Grid.layout_mode=='page')
{var page=parseInt(Tabblo.Grid.getPageForPixelPosition(dragPosition[0],dragPosition[1]));if(page>=0)
{divTarget=Tabblo.Editor.getPageTarget(page);}
else
{return false;}}
var dropPosition=__tcu.getXY(divTarget);$(divTarget).style.border=this.UNHIGHLIGHTED_BORDER;$(divTarget).setAttribute("highlighted","false");if((dragPosition[0]>dropPosition[0])&&(dragPosition[1]>dropPosition[1])&&(dragPosition[0]<(dropPosition[0]+__tcu.getWidth($(divTarget))))&&(dragPosition[1]<(dropPosition[1]+__tcu.getHeight($(divTarget)))))
{if(Tabblo.Grid.layout_mode=="bric")
{Tabblo.core.use_case.start("FlickrPosterInsertBricIntoHouse");Tabblo.Grid.gridActionFinished.subscribe(function()
{Tabblo.Grid.gridActionFinished.unsubscribe(arguments.callee); Tabblo.core.use_case.finish("FlickrPosterInsertBricIntoHouse");});}
var exUrl=escape(source_el.getAttribute("external_url"));if(Tabblo.Grid.layout_mode=='page')
{var adder=page-Tabblo.Editor.curr_page;var totcount=Tabblo.Grid.GridElementMap[page].length+1;var storyitem=null;var is_textblock=false;if((dragging_thing.id.indexOf('textblock')>-1)||(dragging_thing.id.indexOf('t')==0)||(Tabblo.Grid.isScratchboxElement(dragging_thing)&&(Tabblo.Grid.getScratchboxElementBaseid(dragging_thing).indexOf('_t')==0)))
{is_textblock=true;}
var textcount=(is_textblock)?1:0;for(var i=0;i<totcount-1;i++)
{var m=Tabblo.Grid.GridElementMap[page][i];if(m[2]=="textblock")
{textcount++;}}
var foo=totcount-1;for(var j=0;j<foo;j++)
{var m=Tabblo.Grid.GridElementMap[page][j];if(m[2]=="mold")
{totcount--;}}
if(Tabblo.Grid.isScratchboxElement(dragging_thing))
{var base=Tabblo.Grid.getScratchboxElementBaseid(dragging_thing).substring(1);if(base&&((base.indexOf('i')==0)||(base.indexOf('t')==0)))
{storyitem=base;}}
return Tabblo.Editor.changeLayout(adder,null,null,null,[totcount,textcount,storyitem]);}
else
{if(exUrl&&(exUrl!="null"))
{var parameters={drop:Tabblo.editor.parcels.getOrCreateParcelForItem('').id,scale:Tabblo.Editor.metadata.primary_scale,url:exUrl,partner:Tabblo.Editor.partner};Tabblo.editor.Grid.addExtraParams(source_el,parameters);new Tabblo.editor.actions.Action(Tabblo.editor.actions.AddExternalItem,parameters).run();}
else
{var shouldRevert;if(Tabblo.Grid.isScratchboxElement(dragging_thing))
{var dragger_id=Tabblo.Grid.getScratchboxElementBaseid(dragging_thing);var dragger_page=parseInt($(dragger_id).getAttribute("page"));if((dragger_page!=-1)&&(dragger_id.indexOf('t')!=0)&&(dragger_id.indexOf('_t')!=0))
{var scale=Tabblo.Editor.fully_initialized?Tabblo.Editor.metadata.primary_scale:1.0;shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.CopyItem,{coord:'ex0y0p0l0',id:dragger_id.substring(1),scale:scale}).run();}
else
{shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.InsertFromScratch,{'dragger_id':dragger_id,'destination_parcel_id':'ex0y0p0l0'}).run();}
dragging_thing.style.display="none";}
else
{shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.InsertTextblock,{'destination_parcel_id':'ex0y0p0l0'}).run();}
return shouldRevert;}}}
return false;},getScratchboxElementBaseid:function(obj)
{var base;if(obj)
{base=obj.getAttribute('base_id');}
if(!base)
{base=$("fake_img").getAttribute("base_id");}
return base;},transientHoldId:0,transientHolds:new Object(),nextTransientHoldKey:function()
{return'thk'+Tabblo.Grid.transientHoldId++;},addTransientHold:function(x,y,p,w,h)
{var id=Tabblo.Grid.nextTransientHoldKey();Tabblo.Grid.transientHolds[id]=[x,y,p,w,h];return id;},removeTransientHold:function(id)
{Tabblo.Grid.transientHolds[id]=null;},transientHoldAt:function(gridPosArray)
{try
{var x=gridPosArray[0];var y=gridPosArray[1];var p=gridPosArray[2];for(var i in Tabblo.Grid.transientHolds)
{if(i&&Tabblo.Grid.transientHolds[i])
{var xh=Tabblo.Grid.transientHolds[i][0];var yh=Tabblo.Grid.transientHolds[i][1];var ph=Tabblo.Grid.transientHolds[i][2];var wh=Tabblo.Grid.transientHolds[i][3];var hh=Tabblo.Grid.transientHolds[i][4];if((p==ph)&&(x>=xh)&&(x<(xh+wh))&&(y>=yh)&&(y<(yh+hh)))
{return true;}}}
return false;}
catch(e)
{printStack(e,'transientHoldAt: ');return false;}},getParcelAt:function(gridPosArray)
{var tmp=null;try
{if(Tabblo.Grid.transientHoldAt(gridPosArray)){return null;} 
var molds=Tabblo.Grid.getMoldParcelsForPage(gridPosArray[2]);var i;for(i=0;i<molds.length;i++)
{if(molds[i])
{if((Tabblo.editor.parcels.getGridX(molds[i])==gridPosArray[0])&&(Tabblo.editor.parcels.getGridY(molds[i])==gridPosArray[1])&&(Tabblo.editor.parcels.getPage(molds[i])==gridPosArray[2])&&(Tabblo.editor.parcels.getLayer(molds[i])==gridPosArray[3]))
{return Tabblo.editor.parcels.assertMoldParcel(molds[i]);}}}
molds=null;var images=Tabblo.Grid.getImageParcelsForPage(gridPosArray[2]);for(i=0;i<images.length;i++)
{if(images[i])
{if((Tabblo.editor.parcels.getGridX(images[i])==gridPosArray[0])&&(Tabblo.editor.parcels.getGridY(images[i])==gridPosArray[1])&&(Tabblo.editor.parcels.getPage(images[i])==gridPosArray[2])&&(Tabblo.editor.parcels.getLayer(images[i])==gridPosArray[3]))
{if(Tabblo.editor.parcels.isDeadParcel(images[i])){tmp=images[i];break;}
return Tabblo.editor.parcels.assertImageParcel(images[i]);}}}
images=null;if(tmp){return null;}
var textbs=Tabblo.Grid.getTextblockParcelsForPage(gridPosArray[2]);for(i=0;i<textbs.length;i++)
{if(textbs[i])
{if((Tabblo.editor.parcels.getGridX(textbs[i])==gridPosArray[0])&&(Tabblo.editor.parcels.getGridY(textbs[i])==gridPosArray[1])&&(Tabblo.editor.parcels.getPage(textbs[i])==gridPosArray[2])&&(Tabblo.editor.parcels.getLayer(textbs[i])==gridPosArray[3]))
{if(Tabblo.editor.parcels.isDeadParcel(textbs[i])){tmp=textbs[i];break;}
return Tabblo.editor.parcels.assertTextblockParcel(textbs[i]);}}}
textbs=null;if(tmp){return null;}
var progs=Tabblo.Grid.getProgParcelsForPage(gridPosArray[2]);for(i=0;i<progs.length;i++)
{if(progs[i])
{if(Tabblo.editor.parcels.rejectsSwap(progs[i])){continue;}
if((Tabblo.editor.parcels.getGridX(progs[i])==gridPosArray[0])&&(Tabblo.editor.parcels.getGridY(progs[i])==gridPosArray[1])&&(Tabblo.editor.parcels.getPage(progs[i])==gridPosArray[2])&&(Tabblo.editor.parcels.getLayer(progs[i])==gridPosArray[3]))
{if(Tabblo.editor.parcels.isDeadParcel(progs[i])){tmp=progs[i];break;}
return Tabblo.editor.parcels.assertProgParcel(progs[i]);}}}
progs=null;if(tmp){return null;}
if(Tabblo.Grid.fixed_layout)
{return null;}
var page=gridPosArray[2];if(gridPosArray[0]<Tabblo.Grid.borgMind[page].numCols)
{if((!Tabblo.Grid.borgMind[page].limitRows)||(gridPosArray[1]<Tabblo.Grid.borgMind[page].limitRows))
{return Tabblo.editor.parcels.VirtualEmptyAt(gridPosArray[0],gridPosArray[1],gridPosArray[2],gridPosArray[3]);}}
return null;}
catch(e)
{printStack(e,'getParcelAt');return null;}}, getParcelCovering:function(gridPosArray,ignorePosArray)
{var tmp=null;try
{if(Tabblo.Grid.transientHoldAt(gridPosArray))
{return null;} 
var molds=Tabblo.Grid.getMoldParcelsForPage(gridPosArray[2]);var i;for(i=0;i<molds.length;i++)
{if(!molds[i]){continue;}
if(Tabblo.editor.parcels.rejectsSwap(molds[i])){continue;}
var ggxi=Tabblo.editor.parcels.getGridX(molds[i]);var ggyi=Tabblo.editor.parcels.getGridY(molds[i]);var ggpi=Tabblo.editor.parcels.getPage(molds[i]);var ggli=Tabblo.editor.parcels.getLayer(molds[i]);if((ignorePosArray[0]==ggxi)&&(ignorePosArray[1]==ggyi)&&(ignorePosArray[2]==ggpi)&&(ignorePosArray[3]==ggli))
{continue;}
else if((ggxi>gridPosArray[0])||(ggyi>gridPosArray[1]))
{continue;}
else if(ggpi!=gridPosArray[2])
{continue;} 
var gw=Tabblo.editor.parcels.getGridWidth(molds[i]);var gy=Tabblo.editor.parcels.getGridHeight(molds[i]);if(__tcu.between(gridPosArray[0],ggxi,ggxi+gw-1)&&__tcu.between(gridPosArray[1],ggyi,ggyi+gy-1))
{return Tabblo.editor.parcels.assertMoldParcel(molds[i]);}}
molds=null;var images=Tabblo.Grid.getImageParcelsForPage(gridPosArray[2]);for(i=0;i<images.length;i++)
{if(!images[i]){continue;}
if(Tabblo.editor.parcels.rejectsSwap(images[i])){continue;}
var ggxi=Tabblo.editor.parcels.getGridX(images[i]);var ggyi=Tabblo.editor.parcels.getGridY(images[i]);var ggpi=Tabblo.editor.parcels.getPage(images[i]);var ggli=Tabblo.editor.parcels.getLayer(images[i]);if((ignorePosArray[0]==ggxi)&&(ignorePosArray[1]==ggyi)&&(ignorePosArray[2]==ggpi)&&(ignorePosArray[3]==ggli))
{continue;}
else if((ggxi>gridPosArray[0])||(ggyi>gridPosArray[1]))
{continue;}
else if(ggpi!=gridPosArray[2])
{continue;}
else if(ggli!=gridPosArray[3])
{continue;}
var gw=Tabblo.editor.parcels.getGridWidth(images[i]);var gy=Tabblo.editor.parcels.getGridHeight(images[i]);if(__tcu.between(gridPosArray[0],ggxi,ggxi+gw-1)&&__tcu.between(gridPosArray[1],ggyi,ggyi+gy-1))
{ if(Tabblo.editor.parcels.isDeadParcel(images[i])){tmp=images[i];break;}
return Tabblo.editor.parcels.assertImageParcel(images[i]);}}
images=null;if(tmp)
{return null;}
var textbs=Tabblo.Grid.getTextblockParcelsForPage(gridPosArray[2]);for(i=0;i<textbs.length;i++)
{if(!textbs[i]){continue;}
if(Tabblo.editor.parcels.rejectsSwap(textbs[i])){continue;}
var ggxi=Tabblo.editor.parcels.getGridX(textbs[i]);var ggyi=Tabblo.editor.parcels.getGridY(textbs[i]);var ggpi=Tabblo.editor.parcels.getPage(textbs[i]);var ggli=Tabblo.editor.parcels.getLayer(textbs[i]);if((ignorePosArray[0]==ggxi)&&(ignorePosArray[1]==ggyi)&&(ignorePosArray[2]==ggpi)&&(ignorePosArray[3]==ggli))
{continue;}
else if((ggxi>gridPosArray[0])||(ggyi>gridPosArray[1]))
{continue;}
else if(ggpi!=gridPosArray[2])
{continue;}
else if(ggli!=gridPosArray[3])
{continue;}
var gw=Tabblo.editor.parcels.getGridWidth(textbs[i]);var gy=Tabblo.editor.parcels.getGridHeight(textbs[i]);if(__tcu.between(gridPosArray[0],ggxi,ggxi+gw-1)&&__tcu.between(gridPosArray[1],ggyi,ggyi+gy-1))
{ if(Tabblo.editor.parcels.isDeadParcel(textbs[i])){tmp=textbs[i];break;}
return Tabblo.editor.parcels.assertTextblockParcel(textbs[i]);}}
textbs=null;if(tmp)
{return null;}
var progs=Tabblo.Grid.getProgParcelsForPage(gridPosArray[2]);for(i=0;i<progs.length;i++)
{if(!progs[i]){continue;}
if(Tabblo.editor.parcels.rejectsSwap(progs[i])){continue;}
var ggxi=Tabblo.editor.parcels.getGridX(progs[i]);var ggyi=Tabblo.editor.parcels.getGridY(progs[i]);var ggpi=Tabblo.editor.parcels.getPage(progs[i]);var ggli=Tabblo.editor.parcels.getLayer(progs[i]);if((ignorePosArray[0]==ggxi)&&(ignorePosArray[1]==ggyi)&&(ignorePosArray[2]==ggpi)&&(ignorePosArray[3]==ggli))
{continue;}
else if((ggxi>gridPosArray[0])||(ggyi>gridPosArray[1]))
{continue;}
else if(ggpi!=gridPosArray[2])
{continue;}
else if(ggli!=gridPosArray[3])
{continue;}
var gw=Tabblo.editor.parcels.getGridWidth(progs[i]);var gy=Tabblo.editor.parcels.getGridHeight(progs[i]);if(__tcu.between(gridPosArray[0],ggxi,ggxi+gw-1)&&__tcu.between(gridPosArray[1],ggyi,ggyi+gy-1))
{ if(Tabblo.editor.parcels.isDeadParcel(progs[i])){tmp=progs[i];break;}
return Tabblo.editor.parcels.assertProgParcel(progs[i]);}}
progs=null;if(tmp)
{return null;}
if(Tabblo.Grid.fixed_layout)
{return null;}
var page=gridPosArray[2];if(gridPosArray[0]<Tabblo.Grid.borgMind[page].numCols)
{if((!Tabblo.Grid.borgMind[page].limitRows)||(gridPosArray[1]<Tabblo.Grid.borgMind[page].limitRows))
{return Tabblo.editor.parcels.VirtualEmptyAt(gridPosArray[0],gridPosArray[1],gridPosArray[2],gridPosArray[3]);}}}
catch(e)
{printStack(e,'getParcelCovering');}
return null;},showBullseye:function(action,drag_element,destination,opt_drag_parcel,opt_drop_parcel)
{var border_width=2;var border_height=2; if((drag_element.getAttribute("isDragging")!="true")||!Tabblo.core.caches.BULLSEYE_DS["fresh"]||!action)
{return;}
else
{var size_to_drag=false;var pixelPosition;if(action)
{var destination_parcel='';if(opt_drop_parcel)
{destination_parcel=opt_drop_parcel;}
else
{destination_parcel=Tabblo.Grid.getParcelAt(destination);}
Tabblo.Grid.hideAllOverlays();var drag_parcel='';if(opt_drag_parcel)
{drag_parcel=opt_drag_parcel;}
else
{drag_parcel=Tabblo.editor.parcels.getParcelForItem(drag_element);}
var page=destination[2];if(drag_parcel)
{if(action!="ORIGINAL")
{if((Tabblo.editor.parcels.getGridX(drag_parcel)==Tabblo.editor.parcels.getGridX(destination_parcel))&&(Tabblo.editor.parcels.getGridY(drag_parcel)==Tabblo.editor.parcels.getGridY(destination_parcel))&&(Tabblo.editor.parcels.getPage(drag_parcel)==Tabblo.editor.parcels.getPage(destination_parcel))&&(Tabblo.editor.parcels.getLayer(drag_parcel)==Tabblo.editor.parcels.getLayer(destination_parcel)))
{ return;}}}
if(action=="ORIGINAL")
{pixelPosition=destination_parcel.getOriginalPixelPosition();}
else
{pixelPosition=destination_parcel.getPixelPosition();}
if(pixelPosition)
{var bt=$("bullseye_text");var be=Tabblo.core.caches.BULLSEYE;bt.style.backgroundColor="#bbd2ea";bt.style.color="#000000";bt.innerHTML="";if(action=="insert")
{if((Tabblo.Grid.layout_mode=="reflow")||(destination_parcel.getType()=="virtualempty")||(destination_parcel.getType()=="mold")||(Tabblo.Editor.insert_is_replace))
{ if((destination_parcel.getType()!="mold")&&(destination_parcel.getType()=='virtualempty')&&(!drag_parcel))
{size_to_drag=true;}}}
else if(action=="move")
{if(destination_parcel.getType()!="mold")
{size_to_drag=true;}}
var gp=Tabblo.editor.parcels.getPage(destination_parcel);var gw=0;var gh=0;if(size_to_drag)
{try
{gw=Tabblo.editor.parcels.getGridWidth(drag_parcel);gh=Tabblo.editor.parcels.getGridHeight(drag_parcel);}
catch(e)
{ gw=0;gh=0;}
if(Tabblo.Grid.borgMind[gp].smallx&&(gw==0)){gw=Tabblo.Grid.borgMind[gp].smallx;}
if(Tabblo.Grid.borgMind[gp].smally&&(gh==0)){gh=Tabblo.Grid.borgMind[gp].smally;}
var computeWidth=Tabblo.Grid.calculatePixelWidth(gw,gp);var computeHeight=Tabblo.Grid.calculatePixelHeight(gh,gp);be.style.width=(computeWidth-border_width)+"px";be.style.height=(computeHeight-border_height)+"px";bt.style.width=(computeWidth-border_width)+"px";bt.style.height=(computeHeight-border_height)+"px";}
else
{gw=Tabblo.editor.parcels.getGridWidth(destination_parcel);gh=Tabblo.editor.parcels.getGridHeight(destination_parcel);var parcelheight=destination_parcel.getPixelHeight();var parcelwidth=destination_parcel.getPixelWidth();be.style.width=(parcelwidth-border_width)+"px";be.style.height=(parcelheight-border_height)+"px";bt.style.width=(parcelwidth-border_width)+"px";bt.style.height=(parcelheight-border_height)+"px";} 
var leftoffset=0;if(Tabblo.Grid.story_aspect=="original")
{ var calcwidth=Tabblo.Grid.calculatePixelWidth(gw,gp);leftoffset=parseInt((calcwidth-parcelwidth)/2);if(isNaN(leftoffset)||(leftoffset<0)){leftoffset=0;}}
var betop=pixelPosition[1]+(isIE?-2:Tabblo.Grid.borgMind[gp].fbot)+"px";var belef=pixelPosition[0]+leftoffset+(isIE?-2:Tabblo.Grid.borgMind[gp].fbol)+"px";Tabblo.Grid.showBullseyeTarget(drag_element.id);YAHOO.util.Dom.setXY(be,[parseInt(belef),parseInt(betop)]);be=null;bt=null;}}}},hideBullseye:function()
{Tabblo.core.caches.BULLSEYE.style.display="none";},showBullseyeTarget:function(drag_id)
{var drag=$(drag_id);var dragParcel=Tabblo.editor.parcels.getParcelForItem(drag);var dropParcel=Tabblo.editor.parcels.getParcelForItem($(Tabblo.core.caches.BULLSEYE_DS['activeDroppable']));var action=Tabblo.core.caches.BULLSEYE_DS['activeAction'];var message=null;var color="#bbbbbb";if(action=='move')
{message=gettext("Move");color="#bbffbb";}
else if(action=='')
{message=gettext("Off page");color="#ffbbbb";}
else if(action=='COLLISION')
{message=gettext("Space covered");color="#ffbbbb";}
else if(action=='RELAYOUT')
{message=gettext("Layout page");color="#bbffbb";}
else if(action=='ROW_OVERRUN')
{message=gettext("Off page");color="#ffbbbb";}
else if(action=='COLUMN_OVERRUN')
{message=gettext("Off page");color="#ffbbbb";}
else if(action=='swap')
{message=gettext("Swap");color="#bbbbff";}
if(drag.getAttribute("isDragging")=="true")
{if(dragParcel&&message)
{dragParcel.setStatus(message,color);}
if(dropParcel&&(dropParcel!=dragParcel)&&message)
{dropParcel.setStatus(message,color);}
if((action=='insert')||(!dropParcel)||(dropParcel.getType()=="mold"))
{Tabblo.core.caches.BULLSEYE.style.display="";}
else
{Tabblo.Grid.hideBullseye();}}
else
{Tabblo.Grid.hideBullseye();}
},dragAndScrollElementProxyFromDDPP:function(src_obj,proxy)
{Tabblo.Grid.setOffsets();Tabblo.Grid.dragAndScrollElement(proxy);},dragAndScrollElement:function(element)
{if((!Tabblo.Editor||Tabblo.Editor.parcel_droptargets)&&Tabblo.Grid.__moving)
{Tabblo.Grid.__moving=false;if((Tabblo.Grid.isScratchboxElement(element))&&Tabblo.editor.hasLightbox()&&!Tabblo.Grid.TheFirstGrid)
{return;}
Tabblo.Grid.computeGridDestinationForAction(element);}},revertDraggableProxyFromDDPP:function(src_obj,proxy)
{Tabblo.Grid.revertDraggable(proxy);},revertDraggable:function()
{try
{if(Tabblo.Grid.drags_suspended)
{return true;}
var drag_element=arguments[0];Tabblo.Grid.dragAndScrollElement(drag_element);var shouldRevert=true;__tcu.getDiv("img_fake_holder").setAttribute("isDragging","false");drag_element.setAttribute("isDragging","false");if(Tabblo.Grid.isScratchboxElement(drag_element))
{ shouldRevert=false;setTimeout('__tcu.getDiv("img_fake_holder").style.display = "none";',250);if(!Tabblo.Grid.TheFirstGrid)
{ unlockOverlays();Tabblo.editor.canvasutils.hideGridCanvasses();return shouldRevert;}}
var source_parcel_id=drag_element.id;var sP=Tabblo.editor.parcels.getParcelForItem($(source_parcel_id)); if(sP)
{sP.hideStatus();if(sP.getAttribute("cancelrevert")=="true")
{Tabblo.Grid.nullifyDroppableTarget();unlockOverlays();Tabblo.Grid.stopOverlayingThisParcel(null);Tabblo.editor.canvasutils.hideGridCanvasses();return false;}}
else if((drag_element.id.indexOf('fake')==-1)&&(!Tabblo.Grid.isScratchboxElement(drag_element)))
{ Tabblo.Grid.nullifyDroppableTarget();unlockOverlays();Tabblo.Grid.stopOverlayingThisParcel(null);Tabblo.editor.canvasutils.hideGridCanvasses();return false;}
var action=Tabblo.core.caches.BULLSEYE_DS["activeAction"];var destination_parcel_id=Tabblo.core.caches.BULLSEYE_DS["activeDroppable"];if(action&&(action!="ORIGINAL")&&(action!="TOO_MANY_LAYERS")&&(action!="COLUMN_OVERRUN")&&(action!="ROW_OVERRUN")&&destination_parcel_id)
{var source_parcel_type; if(sP)
{ source_parcel_type=sP.getType();}
else
{if(action=="swap")
{ if(source_parcel_id=="fake_textblock_Ernst_mask")
{source_parcel_type="new_textblock";}
else
{printfire("unknown source parcel type");source_parcel_type="unknown";}}}
var source_gridpos_array;if(sP)
{source_gridpos_array=sP.getGridPos();}
else
{source_gridpos_array=null;}
var destination_parcel_type;var destination_gridpos_array;var dP=Tabblo.editor.parcels.getOrCreateParcelForItem(destination_parcel_id);destination_parcel_type=dP.getType();destination_gridpos_array=dP.getGridPos();shouldRevert=Tabblo.Grid.actionSwitchboard(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array);}
else
{}
try
{if(!action||(action=="ORIGINAL")||(action=="TOO_MANY_LAYERS")||(action=="COLUMN_OVERRUN")||(action=="ROW_OVERRUN")||(action=="ERNST_OVERLAP"))
{Tabblo.Grid.finishGridAction();}
Tabblo.Grid.stopOverlayingThisParcel(null);if(drag_element&&(drag_element.id.indexOf('_')!=0)&&(!Tabblo.Grid.isScratchboxElement(drag_element)))
{Tabblo.editor.parcels.demoteImageZindex(drag_element);if(!shouldRevert)
{Tabblo.Grid.transplantParcelToNormalLayer(Tabblo.editor.parcels.getParcelForItem($(drag_element.id)));}}
drag_element=null;Tabblo.editor.canvasutils.hideGridCanvasses();}
catch(e)
{printStack(e,'revertDraggable');}
return shouldRevert;}
catch(e)
{printStack(e,"revertDraggable");}
setTimeout('__tcu.getDiv("img_fake_holder").style.display = "none";',250);return true;},isMultipage:function()
{if(Tabblo.Grid.numPages>1)
{return true;}
return false;},transplantParcelToNormalLayer:function(parcel)
{if(isIE&&(Tabblo.Grid.layout_mode!='bric'))
{parcel.style.visibility="hidden";var oldx=Tabblo.editor.parcels.getGridX(parcel);var oldy=Tabblo.editor.parcels.getGridY(parcel);var oldpage=Tabblo.editor.parcels.getPage(parcel);if(oldx==-1)
{var foo=parcel.getAttribute("dest_pos").split(',');oldx=foo[0];oldy=foo[1];oldpage=foo[2];}
var oldfield=$(Tabblo.Grid.getFieldIdForLivePage(oldpage));oldfield.appendChild(parcel);parcel.style.left=Tabblo.Grid.calculateRelativeLeftForColumn(oldx,oldpage)+"px";parcel.style.top=Tabblo.Grid.calculateRelativeTopForRow(oldy,oldpage)+"px";parcel.style.visibility="visible";Tabblo.Grid.setupEventHandler(parcel,true);$('transport_layer').style.display="none";}},transplantParcelToTransportLayer:function(parcel)
{if(isIE&&(Tabblo.Grid.layout_mode!='bric'))
{var oldpage=Tabblo.editor.parcels.getPage(parcel);var oldfield=$(Tabblo.Grid.getFieldIdForLivePage(oldpage));var oldpos=__tcu.getXY(oldfield.id);var xport=$('transport_layer');xport.style.display="";xport.style.left=oldpos[0]+"px";xport.style.top=oldpos[1]+"px";xport.style.width=oldfield.style.width;xport.style.height=oldfield.style.height;xport.appendChild(parcel);parcel.style.left=Tabblo.Grid.calculateRelativeLeftForColumn(Tabblo.editor.parcels.getGridX(parcel),Tabblo.editor.parcels.getPage(parcel))+"px";parcel.style.top=Tabblo.Grid.calculateRelativeLeftForColumn(Tabblo.editor.parcels.getGridY(parcel),Tabblo.editor.parcels.getPage(parcel))+"px";}},revertToOrigin:function(drag_element)
{if(drag_element)
{var dragParcel=Tabblo.editor.parcels.getParcelForItem(drag_element);if(dragParcel)
{Tabblo.Grid.transplantParcelToNormalLayer(dragParcel);var pos=dragParcel.getPixelPosition();Tabblo.core.effects.Simple_MoveTo(drag_element,pos[0],pos[1],0.40);}}},imageDraggable:function(id,sGroup,config)
{Tabblo.Grid.imageDraggable.superclass.constructor.apply(this,arguments);},textDraggable:function(id,sGroup,config)
{Tabblo.Grid.textDraggable.superclass.constructor.apply(this,arguments);},progDraggable:function(id,sGroup,config)
{Tabblo.Grid.progDraggable.superclass.constructor.apply(this,arguments);},moldDraggable:function(id,sGroup,config)
{Tabblo.Grid.moldDraggable.superclass.constructor.apply(this,arguments);},__moving:false,setOffsets:function()
{Tabblo.Grid.__moving=true;},setupDraggable:function(parcel)
{if(Tabblo.Grid.loaded==1)
{if(parcel.getAttribute("draggable_setup")!="true")
{try
{var d=null;var draggable=!parcel.rejectsDraggable();if(draggable)
{var _type=parcel.getType();if(_type=="image")
{d=new Tabblo.Grid.imageDraggable(parcel.id,"lightboxable");}
else if(_type=="mold")
{d=new Tabblo.Grid.imageDraggable(parcel.id);}
else if(_type=="textblock")
{d=new Tabblo.Grid.textDraggable(parcel.id,"lightboxable");}
else if(_type=="prog")
{d=new Tabblo.Grid.progDraggable(parcel.id);}
else
{}}
if(d)
{var _page=Tabblo.editor.parcels.getPage(parcel);if(!Tabblo.Grid.PageDraggables[_page])
{Tabblo.Grid.PageDraggables[_page]=new Array();}
Tabblo.Grid.PageDraggables[_page].push(d);parcel.setAttribute("draggable_setup","true");}
else
{parcel.setAttribute("draggable_setup","false");}}
catch(e)
{parcel.setAttribute("draggable_setup","false");}}
parcel=null;}},setupAllEventHandlers:function(parcel)
{var parcels=Tabblo.Grid.getAllParcels();for(var i=0;i<parcels.length;i++)
{if(parcels[i])
{Tabblo.Grid.setupEventHandler(parcels[i]);}}},setupEventHandler:function(parcel,force)
{try
{if(parcel.getType()=="image")
{parcel=Tabblo.editor.parcels.assertImageParcel(parcel);var image=parcel;if(force||(image.getAttribute("events_setup")!="true"))
{image.setAttribute("events_setup","true");image.onmouseover=Tabblo.editor.parcels.hoverParcel;image.onmouseout=Tabblo.editor.parcels.unhoverParcel; var caption=image.getCaption();if(caption)
{if(caption.innerHTML=="")
{caption.innerHTML=Tabblo.editor.Caption.DEF_CAP;}
else
{var cap=caption.innerHTML;caption.setAttribute("full_caption",cap);}
if(!image.isDead())
{if(caption.getAttribute("editablecaption")=="true")
{ caption.ondblclick=Tabblo.editor.Caption.edit.bindAsEventListener(Tabblo.editor.Caption,caption);}}
caption=null;}
else
{}}
image=null;}
else if(parcel.getType()=="textblock")
{parcel=Tabblo.editor.parcels.assertTextblockParcel(parcel);var textb=parcel;if(force||(textb.getAttribute("events_setup")!="true"))
{textb.setAttribute("events_setup","true");textb.setAttribute("target",textb.id);textb.onmouseover=Tabblo.editor.parcels.hoverParcel;textb.onmouseout=Tabblo.editor.parcels.unhoverParcel;if(!textb.isDead())
{var textc=textb.getTextcontrol();var dummy=textb.isDummy();if(!dummy||!Tabblo.Grid.dummyTextblocksLocked)
{ textb.ondblclick=Tabblo.editor.Textblock.edit.bindAsEventListener(Tabblo.editor.Textblock,textc.id);}
if((textc.innerHTML=="")||(textc.innerHTML=="<br>"))
{textc.innerHTML=Tabblo.editor.Textblock.DEF_TB;}
textc=null;}}
textb=null;}
else if(parcel.getType()=="mold")
{parcel=Tabblo.editor.parcels.assertMoldParcel(parcel);var mold=parcel;if(force||(mold.getAttribute("events_setup")!="true"))
{mold.setAttribute("events_setup","true");mold.setAttribute("target",mold.id);mold.onmouseover=Tabblo.editor.parcels.hoverParcel;mold.onmouseout=Tabblo.editor.parcels.unhoverParcel;$(mold.id+'_caption').innerHTML="<div>"+Tabblo.Editor.mold_caption+"</div>";}
mold=null;}
else if(parcel.getType()=="prog")
{parcel=Tabblo.editor.parcels.assertProgParcel(parcel);var prog=parcel;if(force||(prog.getAttribute("events_setup")!="true"))
{prog.setAttribute("events_setup","true");prog.setAttribute("target",prog.id);prog.onmouseover=Tabblo.editor.parcels.hoverParcel;prog.onmouseout=Tabblo.editor.parcels.unhoverParcel;}
prog=null;}
else
{}
if(Tabblo.Grid.deadParcels)
{parcel.setAttribute('dead','true');}}
catch(e)
{Tabblo.core.debugging.printStack_always(e,'setupEventHandler');}},changeParcelOrientation:function(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(destination_parcel_id));var newgridw=(3*parcel.getGridHeight())-(parcel.getGridWidth());var newgridh=parcel.getGridHeight();if(newgridw<=0){newgridw=1;}
if(newgridh<=0){newgridh=1;}
var lscale=Tabblo.Grid.borgMind[parcel.getPage()].scale;return new Tabblo.editor.actions.Action(Tabblo.editor.actions.Resize,{parcel_id:destination_parcel_id,scale:lscale}).run({new_width:newgridw,new_height:newgridh});},expand:function(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array)
{var iParcel=Tabblo.editor.parcels.getParcelForItem($(destination_parcel_id));var newgridw=parseInt(2*iParcel.getGridWidth())+Tabblo.Grid.borgMind[iParcel.getPage()].fakemargin;var newgridh=parseInt(2*iParcel.getGridHeight())+Tabblo.Grid.borgMind[iParcel.getPage()].fakemargin;var lscale=Tabblo.Grid.borgMind[iParcel.getPage()].scale;return new Tabblo.editor.actions.Action(Tabblo.editor.actions.Resize,{parcel_id:destination_parcel_id,scale:lscale}).run({new_width:newgridw,new_height:newgridh});},collapse:function(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array)
{var iParcel=Tabblo.editor.parcels.getParcelForItem($(destination_parcel_id));var newgridw=parseInt((iParcel.getGridWidth()-Tabblo.Grid.borgMind[iParcel.getPage()].fakemargin)/2);var newgridh=parseInt((iParcel.getGridHeight()-Tabblo.Grid.borgMind[iParcel.getPage()].fakemargin)/2);if(newgridw<=0){newgridw=1;}
if(newgridh<=0){newgridh=1;}
var lscale=Tabblo.Grid.borgMind[iParcel.getPage()].scale;return new Tabblo.editor.actions.Action(Tabblo.editor.actions.Resize,{parcel_id:destination_parcel_id,scale:lscale}).run({new_width:newgridw,new_height:newgridh});},changeOrientation:function(targetHolderObj)
{try
{var parcel=Tabblo.editor.parcels.getParcelForItem($(targetHolderObj.getAttribute("target")));Tabblo.Grid.stopOverlayingThisParcel(null);var action="change_orientation";var source_parcel_id=null;var source_parcel_type=null;var source_gridpos_array=null;var destination_parcel_id=parcel.id;var destination_parcel_type=parcel.getType();var destination_gridpos_array=parcel.getGridPos();Tabblo.Grid.actionSwitchboard(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array);}
catch(e)
{unlockOverlays();printStack(e,'changeOrientation');}},mogrify:function(direction,targetHolderObj)
{try
{var parcel=Tabblo.editor.parcels.getParcelForItem($(targetHolderObj.getAttribute("target")));Tabblo.Grid.stopOverlayingThisParcel(null);var action=direction;var source_parcel_id=null;var source_parcel_type=null;var source_gridpos_array=null;var destination_parcel_id=parcel.id;var destination_parcel_type=parcel.getType();var destination_gridpos_array=parcel.getGridPos();Tabblo.Grid.actionSwitchboard(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array);}
catch(e)
{unlockOverlays();printStack(e,'mogrify');}},squash:function(targetHolderObj)
{Tabblo.Grid.mogrify("squash",targetHolderObj);},explode:function(targetHolderObj)
{Tabblo.Grid.mogrify("explode",targetHolderObj);},updateParcelPosition:function(thisid,thisposarray,pagedirty,timeout)
{if(thisposarray==null)
{Tabblo.Grid.removeGridElementMapItem(Tabblo.core.caches.PARCELPOS_CACHE[thisid][2],thisid);Tabblo.core.caches.PARCELPOS_CACHE[thisid]=null;Tabblo.Grid.grid[thisid]=null;if(parseInt(pagedirty)>=0)
{Tabblo.Grid.markGridpageDirty(pagedirty);}}
else
{Tabblo.core.caches.PARCELPOS_CACHE[thisid]=thisposarray; var origDestHolder=Tabblo.Grid.grid[thisid];var nd=thisposarray[0]+","+thisposarray[1]+","+thisposarray[2]+","+thisposarray[3];origDestHolder[5]=nd;var thisele=$(thisid);var parcel=Tabblo.editor.parcels.getParcelForItem(thisele);var nl=Tabblo.Grid.calculateRelativeLeftForColumn(thisposarray[0],Tabblo.editor.parcels.getPage(parcel))+"px";var nt=Tabblo.Grid.calculateRelativeTopForRow(thisposarray[1],Tabblo.editor.parcels.getPage(parcel))+"px";parcel.setAttribute("origleft",nl);origDestHolder[9]=parseInt(nl);parcel.setAttribute("origtop",nt);origDestHolder[10]=parseInt(nt);var oldpage=origDestHolder[11];origDestHolder[11]=thisposarray[2];origDestHolder[12]=thisposarray[3];try
{if(oldpage!=thisposarray[2])
{var oldfieldid=Tabblo.Grid.getFieldIdForLivePage(oldpage);var newfieldid=Tabblo.Grid.getFieldIdForLivePage(thisposarray[2]);if(oldfieldid!=newfieldid)
{ Tabblo.Grid.moveMapItemToPage(thisid,oldpage,thisposarray[2]); var tmpdraggable=null;if(Tabblo.Grid.PageDraggables[oldpage])
{for(var i=0;i<Tabblo.Grid.PageDraggables[oldpage].length;i++)
{if(Tabblo.Grid.PageDraggables[oldpage][i]&&(Tabblo.Grid.PageDraggables[oldpage][i].id==thisid))
{tmpdraggable=Tabblo.Grid.PageDraggables[oldpage][i];delete(Tabblo.Grid.PageDraggables[oldpage][i]);}}}
if(tmpdraggable)
{if(!Tabblo.Grid.PageDraggables[thisposarray[2]])
{Tabblo.Grid.PageDraggables[thisposarray[2]]=new Array();}
Tabblo.Grid.PageDraggables[thisposarray[2]].push(tmpdraggable);tmpdraggable=null;}
Tabblo.Grid.markGridpageDirty(oldpage);var otherpos=YAHOO.util.Dom.getXY(thisele);$(newfieldid).appendChild(thisele);YAHOO.util.Dom.setXY(thisele,otherpos);var nparcel=Tabblo.editor.parcels.getParcelForItem(thisele);Tabblo.Grid.setupEventHandler(nparcel);Tabblo.Grid.moveParcelIntoPlace(nparcel,true);parcel.setZindex();if(Tabblo.Grid.borgMind[oldpage].scale!=Tabblo.Grid.borgMind[thisposarray[2]].scale)
{var rawSize=0;if(nparcel.getType()=="textblock")
{rawSize=nparcel.getBasePixelSize();}
else if(nparcel.getType()=="image")
{rawSize=nparcel.getBasePixelSize();var caption=nparcel.getCaption();if(Tabblo.Grid.borgMind[oldpage].scale>Tabblo.Grid.borgMind[thisposarray[2]].scale)
{ if(caption.getAttribute("editablecaption")=="true")
{caption.setAttribute("editablecaption","false"); caption.ondblclick=null;if(Tabblo.Grid.caption_policy=="hide")
{image.getCaptionContainer().style.display="none";image.getCaptionBackground().style.display="none";}}}
else
{ if(caption.getAttribute("editablecaption")!="true")
{caption.setAttribute("editablecaption","true"); caption.ondblclick=Tabblo.editor.Caption.edit.bindAsEventListener(Tabblo.editor.Caption,caption);if(Tabblo.Grid.caption_policy=="hide")
{image.getCaptionContainer().style.display="none";image.getCaptionBackground().style.display="none";}}}}
if(rawSize!=0)
{var newsize=Tabblo.editor.changePageTextSize($(newfieldid),rawSize);}}}
else
{printfire("WARN: reported different pages "+oldpage+"/"+thisposarray[2]+" but reported same grid "+oldfieldid);}}
else
{thisele=$(thisid);parcel=Tabblo.editor.parcels.getParcelForItem(thisele);if(timeout)
{parcel.moveToGridPosition(thisposarray,false,true,timeout);}
else
{Tabblo.Grid.moveParcelIntoPlace(parcel,true);}}}
catch(e)
{printStack(e,'updateParcelPosition:innerBlock');}
parcel.setAttribute("pos",nd);if((Tabblo.Grid.layout_mode=='manual')&&(Tabblo.Grid.flowmode=='free'))
{parcel.setZindex();}
Tabblo.Grid.markGridpageDirty(thisposarray[2]);}
},swapTwoGridItems:function(source,dest)
{try
{var origSourceId=source.id;var origDestId=dest.id; var isMove=false;var sourcetype=source.getType();var desttype=dest.getType();if((sourcetype=="virtualempty")||(desttype=="virtualempty")||((desttype=="mold")&&(Tabblo.Grid.layout_mode!="page")))
{isMove=true;} 
var origSourceHolder=Tabblo.Grid.grid[origSourceId];var origDestHolder=Tabblo.Grid.grid[origDestId];var tmpleft=Tabblo.Grid.calculateCumulativeLeftForColumn(Tabblo.editor.parcels.getGridX(source),Tabblo.editor.parcels.getPage(source));var tmptop=Tabblo.Grid.calculateCumulativeTopForRow(Tabblo.editor.parcels.getGridY(source),Tabblo.editor.parcels.getPage(source));var tmpnewleft=Tabblo.Grid.calculateCumulativeLeftForColumn(Tabblo.editor.parcels.getGridX(dest),Tabblo.editor.parcels.getPage(dest));var tmpnewtop=Tabblo.Grid.calculateCumulativeTopForRow(Tabblo.editor.parcels.getGridY(dest),Tabblo.editor.parcels.getPage(dest));if(!isMove)
{ var tmpgridsize=origSourceHolder[6];origSourceHolder[6]=origDestHolder[6];source.setAttribute("gridsize",origDestHolder[6]);origDestHolder[6]=tmpgridsize;dest.setAttribute("gridsize",tmpgridsize);tmpgridsize=null;}
var tmparr=Tabblo.editor.parcels.getGridPos(source);if(sourcetype!="virtualempty")
{Tabblo.Grid.updateParcelPosition(source.id,Tabblo.editor.parcels.getGridPos(dest));}
if(desttype!="virtualempty")
{if((desttype!="mold")||(Tabblo.Grid.layout_mode=="page"))
{Tabblo.Grid.updateParcelPosition(dest.id,tmparr);}
else
{ var newgridw=Tabblo.editor.parcels.getGridWidth(dest);var newgridh=Tabblo.editor.parcels.getGridHeight(dest);var forcepage=Tabblo.editor.parcels.getPage(dest);source.changeDimensions(newgridw,newgridh,forcepage); Tabblo.Grid.updateParcelPosition(dest.id,null);Tabblo.Grid.moldParcels=__tcu.filterOutIdArray(Tabblo.Grid.moldParcels,dest.id);if(dest)
{try
{Element.remove(dest);}
catch(e){}}}}}
catch(e)
{printStack(e,'swapTwoGriditems');}},getNonemptyDestination:function(x,y,p,l)
{var testParcel=null;var pa=Tabblo.Grid.getAllParcels();var bestx=9999;var besty=9999;for(var i=0;i<pa.length;i++)
{if(!pa[i]){continue;}
var op=Tabblo.editor.parcels.getPage(pa[i]);if(op!=p)
{continue;}
var ox=Tabblo.editor.parcels.getGridX(pa[i]);var oy=Tabblo.editor.parcels.getGridY(pa[i]);if((ox<=x)&&(oy<=y))
{var tx=x-ox;var ty=y-oy;if((tx==0)||(ty==0))
{testParcel=pa[i];break;}
else
{if((tx<bestx)&&(ty<besty))
{bestx=tx;besty=ty;testParcel=pa[i];}}}}
if(!testParcel||(testParcel.id.indexOf('ex')==0))
{testParcel=null;}
return testParcel;},moldifyImage:function(targetHolderObj)
{try
{var parcel=Tabblo.editor.parcels.getParcelForItem($(targetHolderObj.getAttribute("target")));Tabblo.Grid.stopOverlayingThisParcel(null);var d_i_s=(Tabblo.Editor&&Tabblo.Editor.fully_initialized)?Tabblo.Editor.delete_is_scratchbox:true;if(d_i_s)
{var parameters={parcel_id:parcel.id,parcel_type:parcel.getType(),page:parcel.getPage(),dest_page:-1,leave_mold_behind:true};new Tabblo.editor.actions.Action(Tabblo.editor.actions.MoveItemToScratch,parameters).run();}
else
{var parameters={'action':'moldify','page':parcel.getPage(),'destination_parcel_id':parcel.id};new Tabblo.editor.actions.Action(Tabblo.editor.actions.Moldify,parameters).run();}}
catch(e)
{unlockOverlays();printStack(e,'moldifyImage');}},removeFromStory:function(targetHolderObj)
{var domElementId=targetHolderObj.getAttribute("target");var parcel=Tabblo.editor.parcels.getParcelForItem($(domElementId));Tabblo.Grid.stopOverlayingThisParcel(null);var d_i_s=(Tabblo.Editor&&Tabblo.Editor.fully_initialized)?Tabblo.Editor.delete_is_scratchbox:true; if((parcel.getType()=="textblock")&&(parcel.isEmpty()||parcel.isDummy()))
{d_i_s=false;}
if(d_i_s)
{var leave_behind=false;if(Tabblo.Grid.product_type=="online")
{leave_behind=false;}
else if(parcel.getType()!="image")
{leave_behind=false;}
else
{ if(Tabblo.Grid.layout_mode=='bric')
{leave_behind=false;}
else if((Tabblo.Grid.layout_mode=='page')&&(!Tabblo.Grid.gridPageIsPinned(parcel.getPage())))
{leave_behind=false;}
else
{leave_behind=true;}}
var parameters={parcel_id:parcel.id,parcel_type:parcel.getType(),page:parcel.getPage(),dest_page:-1,leave_mold_behind:leave_behind}; if(Tabblo.widgets&&Tabblo.widgets.Toolbar)
{if(parcel.getType()=="image"&&!jQuery("div#tool_shelf div.tab[@type='photos']").hasClass("selected"))
{var obj=jQuery("div#tool_shelf div.tab[@type='photos']");Tabblo.widgets.Toolbar.togglePalette(obj);}
new Tabblo.editor.deleteAnimation(__tcu.getXY(domElementId),parcel.getPixelWidth(),parcel.getPixelHeight()).run();}
return new Tabblo.editor.actions.Action(Tabblo.editor.actions.MoveItemToScratch,parameters).run();}
else
{var action="removeitem";var source_parcel_id=null;var source_parcel_type=null;var source_gridpos_array=null;var destination_parcel_id=parcel.id;var destination_parcel_type=parcel.getType();var destination_gridpos_array=parcel.getGridPos();return Tabblo.Grid.actionSwitchboard(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array);}},crop:function(obj)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(obj.getAttribute("target")));Tabblo.editor.image.resizeMe(parcel);},showEffectsChoices:function(targetHolderObj)
{var iid=null;try
{iid=targetHolderObj.getAttribute("target");}
catch(e)
{iid=_proxy_action_iid;}
var parcel=Tabblo.editor.parcels.getParcelForItem($(iid));var offsets=__tcu.getXY(parcel);__tcu.getDiv("effects_div").style.display='';YAHOO.util.Dom.setXY("effects_div",offsets);__tcu.getDiv("effects_div").setAttribute("itemid",iid);Tabblo.core.effects.Simple_Appear(__tcu.getDiv("effects_div"),0.4,0.0);Tabblo.editor.image.setupEffectsChoices(parcel);__tcu.showBlockerScreen(true);},showRotateChoices:function(targetHolderObj)
{lockOverlays();var iid=null;try
{iid=targetHolderObj.getAttribute("target");}
catch(e)
{iid=_proxy_action_iid;}
var parcel=Tabblo.editor.parcels.getParcelForItem($(iid));var offsets=__tcu.getXY(parcel);__tcu.getDiv("rotate_div").style.display='';YAHOO.util.Dom.setXY("rotate_div",offsets);__tcu.getDiv("rotate_div").setAttribute("itemid",iid);Tabblo.core.effects.Simple_Appear(__tcu.getDiv("rotate_div"),0.4,0.0);Tabblo.editor.image.setupRotateChoices(parcel);__tcu.showBlockerScreen(true);},recordPageBorgMind:function(page)
{Tabblo.Grid.setupTheFirsts();Tabblo.Grid.recordGridPageMetadata(page);if(Tabblo.Grid.borgMind[page])
{Tabblo.Grid.recordPagedItems(page);}
setTimeout(Tabblo.Grid.pageLoadedEvent.fire.bind(Tabblo.Grid.pageLoadedEvent),10);},recordPagedItems:function(page)
{if(!__tcu.isOverallVisible('storydiv_'+page))
{return;}
var parcels=$$('#the_field_'+page+' div.parcel_holder');for(var i=0;i<parcels.length;i++)
{var parcel=Tabblo.editor.parcels.assertParcel(parcels[i]);if(parcel)
{Tabblo.Grid.registerGridItem(parcel);var _id=parcel.getAttribute('id');var _parceltype=parcel.getAttribute('parceltype');var _pos=parcel.getAttribute('pos'); var _possplit=_pos.split(',');var _page=parseInt(_possplit[2]);if(_parceltype=="image")
{Tabblo.Grid.imageParcels.push(parcel);Tabblo.Grid.appendElementMap(_page,_id,Tabblo.Grid.imageParcels.length-1,"image");}
else if(_parceltype=="textblock")
{Tabblo.Grid.textblockParcels.push(parcel);Tabblo.Grid.appendElementMap(_page,_id,Tabblo.Grid.textblockParcels.length-1,"textblock");}
else if(_parceltype=="mold")
{Tabblo.Grid.moldParcels.push(parcel);Tabblo.Grid.appendElementMap(_page,_id,Tabblo.Grid.moldParcels.length-1,"mold");}
else if(_parceltype=="prog")
{Tabblo.Grid.progParcels.push(parcel);Tabblo.Grid.appendElementMap(_page,_id,Tabblo.Grid.progParcels.length-1,"prog");}
else
{printfire("Unknown parcel type in recordPagedItems: "+_parceltype);}}}
parcels=null;},recordGridPageMetadata:function(page)
{var ltop=null;var ltop_c=null;var lgrid=$('the_grid_'+page);var lgrid_c=$('the_grid_'+page+'c');try
{if(lgrid)
{ltop=$('storydiv_'+page);Tabblo.Grid.registerPage(page,lgrid,ltop,false);}
if(lgrid_c)
{ltop_c=$('storydiv_'+page+'c');Tabblo.Grid.registerPage(page,lgrid_c,ltop_c,true);}}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('recordGridPageMetadata: '+e.message);printStack(e,'recordGridPageMetadata:registerBlock');}}
try
{if(!lgrid)
{ if((Tabblo.Editor&&Tabblo.Editor.loaded&&(page>Tabblo.Editor.curr_page))||(page>Tabblo.editor.LAST_UP_ZERO))
{return true;}
else
{return false;}}
var thisIsClone=(lgrid.getAttribute("is_clone")=="1");if(thisIsClone)
{return false;}
var holder_id=Tabblo.Grid.getHolderIdFromPageId(page,false,false); var isPresentPrimary=((parseInt(Tabblo.Grid.getHolderIdFromPageId(page,true,false))>=0)?true:false);if(holder_id)
{ if(($('page_holder_secondary_'+holder_id).style.display=="none")&&(!isPresentPrimary))
{return false;}}}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('recordGridPageMetadata2: '+e.message);printStack(e,'recordGridPageMetadata2:cloneBlock');}}
try
{Tabblo.Grid.ABSOLUTE_OFFSET=0;var _mypage=parseInt(lgrid.getAttribute("page"));Tabblo.Grid.borgMind[_mypage]=new Object();Tabblo.Grid.borgMind[_mypage].dirty=false;var lr=0;if(Tabblo.Grid.global_limit_rows)
{lr=Tabblo.Grid.global_limit_rows;}
else
{lr=lgrid.getAttribute("limit_rows");if(lr)
{lr=parseInt(lr);}}
Tabblo.Grid.borgMind[_mypage].limitRows=lr;Tabblo.Grid.borgMind[_mypage].numCols=parseInt(lgrid.getAttribute("real_grid_width"));Tabblo.Grid.borgMind[_mypage].columnwidth=parseInt(lgrid.getAttribute("parcelwidth"));Tabblo.Grid.borgMind[_mypage].rowheight=parseInt(lgrid.getAttribute("parcelheight"));Tabblo.Grid.borgMind[_mypage].page=parseInt(_mypage);Tabblo.Grid.borgMind[_mypage].layout_mode=lgrid.getAttribute("layout_mode");Tabblo.Grid.borgMind[_mypage].fixed_layout=parseInt(lgrid.getAttribute("fixed_layout"));Tabblo.Grid.borgMind[_mypage].flowmode=lgrid.getAttribute("flowmode");Tabblo.Grid.borgMind[_mypage].collmode=lgrid.getAttribute("collmode");Tabblo.Grid.borgMind[_mypage].story_aspect=lgrid.getAttribute('story_aspect');Tabblo.Grid.borgMind[_mypage].caption_policy=lgrid.getAttribute("caption_policy");Tabblo.Grid.borgMind[_mypage].product_type=lgrid.getAttribute("product_type");Tabblo.Grid.borgMind[_mypage].current_geometry_name=lgrid.getAttribute("current_geometry_name");Tabblo.Grid.borgMind[_mypage].available_geometry_names=lgrid.getAttribute("available_geometry_names");Tabblo.Grid.borgMind[_mypage].product_id=lgrid.getAttribute("product_id");Tabblo.Grid.borgMind[_mypage].additiveitemheight=parseInt(lgrid.getAttribute("additiveitemheight"));Tabblo.Grid.borgMind[_mypage].additiveitemwidth=parseInt(lgrid.getAttribute("additiveitemwidth"));Tabblo.Grid.borgMind[_mypage].additiveitembottom=parseInt(lgrid.getAttribute("additiveitembottom"));Tabblo.Grid.borgMind[_mypage].inmargin=parseInt(lgrid.getAttribute("inmargin")); Tabblo.Grid.borgMind[_mypage].inmarginy=parseInt(lgrid.getAttribute("inmarginy")); Tabblo.Grid.borgMind[_mypage].topcoord=parseInt(lgrid.getAttribute("griditemtop"));Tabblo.Grid.borgMind[_mypage].leftcoord=parseInt(lgrid.getAttribute("griditemleft"));Tabblo.Grid.borgMind[_mypage].caption_offsetx=parseInt(lgrid.getAttribute("offsetx"));Tabblo.Grid.borgMind[_mypage].caption_offsety=parseInt(lgrid.getAttribute("offsety"));Tabblo.Grid.borgMind[_mypage].scale=parseFloat(lgrid.getAttribute("scale"));Tabblo.Grid.borgMind[_mypage].stock=((lgrid.getAttribute("stock")=="true")?true:false);Tabblo.Grid.borgMind[_mypage].smallx=parseInt(lgrid.getAttribute("smallx"));Tabblo.Grid.borgMind[_mypage].smally=parseInt(lgrid.getAttribute("smally"));Tabblo.Grid.borgMind[_mypage].fakemargin=parseInt(lgrid.getAttribute("fakemargin"));Tabblo.Grid.borgMind[_mypage].safetymargin=parseInt(lgrid.getAttribute("safetymargin"));Tabblo.Grid.borgMind[_mypage].lock=lgrid.getAttribute("lock");Tabblo.Grid.borgMind[_mypage].page_zero_lock=lgrid.getAttribute("page_zero_lock");Tabblo.Grid.borgMind[_mypage].numPages=parseInt(lgrid.getAttribute("num_pages"));Tabblo.Grid.borgMind[_mypage].lastActualRow=0;Tabblo.Grid.borgMind[_mypage].minPages=this._fetchMinPages(lgrid);Tabblo.Grid.borgMind[_mypage].maxPages=this._fetchMaxPages(lgrid);Tabblo.Grid.borgMind[_mypage].auto_color=lgrid.getAttribute("auto_color");Tabblo.Grid.borgMind[_mypage].has_photos_or_molds=((lgrid.getAttribute('photos_or_molds')=='true')?true:false);Tabblo.Grid.borgMind[_mypage].dna_id=lgrid.getAttribute("dna_id"); if(!Tabblo.Grid.TheFirstGrid)
{Tabblo.Grid.layout_mode=Tabblo.Grid.borgMind[_mypage].layout_mode;Tabblo.Grid.fixed_layout=Tabblo.Grid.borgMind[_mypage].fixed_layout;Tabblo.Grid.flowmode=Tabblo.Grid.borgMind[_mypage].flowmode;Tabblo.Grid.collmode=Tabblo.Grid.borgMind[_mypage].collmode;Tabblo.Grid.story_aspect=Tabblo.Grid.borgMind[_mypage].story_aspect;Tabblo.Grid.caption_policy=Tabblo.Grid.borgMind[_mypage].caption_policy;Tabblo.Grid.product_type=Tabblo.Grid.borgMind[_mypage].product_type;Tabblo.Grid.current_geometry_name=Tabblo.Grid.borgMind[_mypage].current_geometry_name;Tabblo.Grid.available_geometry_names=Tabblo.Grid.borgMind[_mypage].available_geometry_names;Tabblo.Grid.product_id=Tabblo.Grid.borgMind[_mypage].product_id;Tabblo.Grid.numPages=Tabblo.Grid.borgMind[_mypage].numPages;Tabblo.Grid.minPages=Tabblo.Grid.borgMind[_mypage].minPages;Tabblo.Grid.maxPages=Tabblo.Grid.borgMind[_mypage].maxPages;}
var hover_disabled=lgrid.getAttribute("hover_disabled");Tabblo.Grid.borgMind[_mypage].hoverDisabled=false;if(hover_disabled)
{Tabblo.Grid.borgMind[_mypage].hoverDisabled=true;}
Tabblo.Grid.borgMind[_mypage].dpi=parseFloat(lgrid.getAttribute("dpi"));Tabblo.Grid.borgMind[_mypage].STICKYx=Tabblo.Grid.borgMind[_mypage].inmargin;Tabblo.Grid.borgMind[_mypage].STICKYy=Tabblo.Grid.borgMind[_mypage].inmarginy;var parent_holder_id=ltop.parentNode.id;var parentIsPrimary=(parent_holder_id.indexOf("primary")!=-1);var isPrimary=parentIsPrimary;if(isPrimary&&Tabblo.Grid.borgMind[_mypage].numCols)
{Tabblo.Grid.DETECTION_POINT_DIVISOR=Tabblo.Grid.borgMind[_mypage].numCols;}
if(!isPrimary||(__tcu.isOverallVisible(lgrid)))
{Tabblo.Grid.setPageGeometry(_mypage);}
else
{}}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('recordGridPageMetadata3: '+e.message);}}
return false;},registerGridItem:function(parcel)
{var _id=parcel.getAttribute('id');var _class=__tcu.getCssClass(parcel);var _parceltype=parcel.getAttribute('parceltype');var _seid=parcel.getAttribute('seid');var _iid=parcel.getAttribute('iid');var _pos=parcel.getAttribute('pos');var _gridsize=parcel.getAttribute('gridsize');var _owner=parcel.getAttribute('owner');var _origtop=parcel.style.top;var _origleft=parcel.style.left; var _possplit=_pos.split(',');var _size=_gridsize.split(',');var _x=parseInt(_possplit[0]);var _y=parseInt(_possplit[1]);var _page=parseInt(_possplit[2]);var _layer=parseInt(_possplit[3]);var _r=_y+parseInt(_size[1]);try
{Tabblo.Grid.grid[_id]=new Array(_id,_class,_parceltype,_seid,_iid,_pos,_gridsize,0,_owner,_origleft,_origtop,_page,_layer);Tabblo.core.caches.PARCELPOS_CACHE[_id]=[_x,_y,_page,_layer];Tabblo.Grid.setupEventHandler(parcel);}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('registerGridItem:'+e.message);}}
try
{if(_r>Tabblo.Grid.borgMind[_page].lastActualRow)
{Tabblo.Grid.borgMind[_page].lastActualRow=_r;}}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('registerGridItem2:'+e.message+'/'+_page+'/'+_r+'/'+parcel.id);}}
},_fetchMinPages:function(obj)
{var minpages=obj.getAttribute("minpages");return(minpages)?(parseInt(minpages)):(0);},_fetchMaxPages:function(obj)
{var maxpages=obj.getAttribute("maxpages");return(maxpages)?(parseInt(maxpages)):(Tabblo.Grid.MAX_PAGES);},setupTheFirsts:function()
{var firstgridid=null;try
{firstgridid=$$("#page_holder_primary_0 .the_grid:first")[0].id;}
catch(e)
{try
{firstgridid=$$("#page_holder_primary_1 .the_grid:first")[0].id;}
catch(e)
{firstgridid=null;}}
if(firstgridid)
{Tabblo.Grid.TheFirstGrid=$(firstgridid);var first_id=firstgridid.substring(firstgridid.lastIndexOf('_')+1);Tabblo.Grid.firstElement=$('storydiv_'+first_id);Tabblo.Grid.TheFirstField=$('the_field_'+first_id);Tabblo.Grid.layout_mode=Tabblo.Grid.TheFirstGrid.getAttribute("layout_mode");Tabblo.Grid.fixed_layout=parseInt(Tabblo.Grid.TheFirstGrid.getAttribute("fixed_layout"));Tabblo.Grid.flowmode=Tabblo.Grid.TheFirstGrid.getAttribute("flowmode");Tabblo.Grid.collmode=Tabblo.Grid.TheFirstGrid.getAttribute("collmode");Tabblo.Grid.story_aspect=Tabblo.Grid.TheFirstGrid.getAttribute("story_aspect");Tabblo.Grid.caption_policy=Tabblo.Grid.TheFirstGrid.getAttribute("caption_policy");Tabblo.Grid.product_type=Tabblo.Grid.TheFirstGrid.getAttribute('product_type');Tabblo.Grid.current_geometry_name=Tabblo.Grid.TheFirstGrid.getAttribute("current_geometry_name");Tabblo.Grid.available_geometry_names=Tabblo.Grid.TheFirstGrid.getAttribute("available_geometry_names");Tabblo.Grid.product_id=Tabblo.Grid.TheFirstGrid.getAttribute('product_id');Tabblo.Grid.numPages=parseInt(Tabblo.Grid.TheFirstGrid.getAttribute("num_pages"));Tabblo.Grid.minPages=this._fetchMinPages(Tabblo.Grid.TheFirstGrid);Tabblo.Grid.maxPages=this._fetchMaxPages(Tabblo.Grid.TheFirstGrid);Tabblo.Grid.auto_color=Tabblo.Grid.TheFirstGrid.getAttribute('auto_color');Tabblo.Grid.has_photos_or_molds=((Tabblo.Grid.TheFirstGrid.getAttribute('photos_or_molds')=='true')?true:false);Tabblo.Grid.dna_id=Tabblo.Grid.TheFirstGrid.getAttribute('dna_id');}
else
{Tabblo.Grid.TheFirstGrid=null;Tabblo.Grid.firstElement=null;Tabblo.Grid.TheFirstField=null;Tabblo.Grid.layout_mode=null;Tabblo.Grid.flowmode=null;Tabblo.Grid.collmode=null;Tabblo.Grid.story_aspect=null;Tabblo.Grid.caption_policy=null;Tabblo.Grid.product_type=null;Tabblo.Grid.current_geometry_name=null;Tabblo.Grid.available_geometry_names=null;Tabblo.Grid.product_id=null;Tabblo.Grid.numPages=1;Tabblo.Grid.minPages=0;Tabblo.Grid.maxPages=Tabblo.Grid.MAX_PAGES;Tabblo.Grid.auto_color=null;Tabblo.Grid.has_photos_or_molds=true;Tabblo.Grid.dna_id='';}},recordBorgMind:function()
{try
{var a=new Date().getTime();Tabblo.Grid.borgMind=new Object();Tabblo.Grid.resetGridPageMap();var b=new Date().getTime();Tabblo.Grid.setupTheFirsts();var c=new Date().getTime();Tabblo.Grid.gridSkeleton=new Object();Tabblo.Grid.grid=new Object();Tabblo.Grid.pages=new Object();}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('recordBorgMind: '+e.message);printStack(e,'recordBorgMind:head');}}
var d=new Date().getTime();try
{for(var j=0;j<Tabblo.editor.MAX_PAGES;j++)
{if(Tabblo.Grid.recordGridPageMetadata(j))
{break;}}
var e=new Date().getTime();}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('recordBorgMind2: '+e.message);printStack(e,'recordBorgMind:pages');}}
try
{var f=new Date().getTime();var parcels=Tabblo.Grid.getAllParcels();var g=new Date().getTime();for(var i=0;i<parcels.length;i++)
{var parcel=Tabblo.editor.parcels.assertParcel(parcels[i]);if(parcel)
{Tabblo.Grid.registerGridItem(parcel);}}
parcels=null;}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('recordBorgMind3: '+e.message);printStack(e,'recordBorgMind:parcels');}}
try
{var h=new Date().getTime();Tabblo.Grid.loaded=1;if(Tabblo.Grid.initializeCount==0)
{setTimeout(Tabblo.Grid.firstFinishLoadingEvent.fire.bind(Tabblo.Grid.firstFinishLoadingEvent),10);}
setTimeout(Tabblo.Grid.finishPartialLoadingEvent.fire.bind(Tabblo.Grid.finishPartialLoadingEvent),10);setTimeout(Tabblo.Grid.finishSpreadLoadEvent.fire.bind(Tabblo.Grid.finishSpreadLoadEvent),10);setTimeout(Tabblo.Grid.finishLoadingEvent.fire.bind(Tabblo.Grid.finishLoadingEvent),10);setTimeout(Tabblo.Grid.pageLoadedEvent.fire.bind(Tabblo.Grid.pageLoadedEvent),10);var i=new Date().getTime();if(!isIE)
{printfire("Record Borg Mind Timing: 1:"+(b-a)+'/2:'+(c-b)+'/3: '+(d-c)+'/4: '+(e-d)+'/5: '+(f-e)+'/6: '+(g-f)+'/7: '+(h-g)+'/8: '+(i-h));}}
catch(e)
{if(Tabblo.Editor)
{Tabblo.Editor.reload();}
else
{alert('recordBorgMind4: '+e.message);printStack(e,'recordBorgMind:parcels');}}
},reinitialize:function()
{Tabblo.Grid.unload();Tabblo.Grid.initialize();},initializeCount:0,initialize:function()
{Tabblo.event.Apply.engage(Tabblo.Grid._initialize,Tabblo.editor.Grid,'SYNC',true,[]);},initializePage:function(page)
{if(page>=0)
{if(Tabblo.Grid.initializeCount>0)
{Tabblo.Grid.recordPageBorgMind(page);}
else
{printfire("!Delayed initializing borg on page add: you will be responsible for reinitialize()ing Tabblo.editor.Grid!");}}},cropDraggable:function(id,sGroup,config)
{Tabblo.Grid.cropDraggable.superclass.constructor.apply(this,arguments);},lightboxDraggable:function(id,sGroup,config)
{Tabblo.Grid.lightboxDraggable.superclass.constructor.apply(this,arguments);},resetExternalDraggables:function()
{__tcu.getDiv('crop_circle',function(){new Tabblo.Grid.cropDraggable("main_crop_img");});__tcu.getDiv("img_fake_holder",function(){ new Tabblo.Grid.lightboxDraggable("img_fake_holder");});},_initialize:function()
{Tabblo.Grid.drags_suspended=false;Tabblo.Grid.beforeBeginLoadingEvent.fire();Tabblo.Grid._virtual_empties={};Tabblo.Grid.GridElementMap=new Object();Tabblo.Grid.PageDraggables=new Object();Tabblo.Grid.setupGridPageMap();Tabblo.Grid.recordBorgMind();var shelf=__tcu.getDiv("thumbnailOverlay_shelf");YAHOO.util.Event.addListener(shelf,"mouseout",Tabblo.editor.parcels.unhoverParcel);Tabblo.Grid.initializeCount++;Tabblo.Grid.resetExternalDraggables();var _l=new YAHOO.util.DragDrop("lightbox_Ernst","lightboxable");YAHOO.util.DDM.mode=YAHOO.util.DDM.INTERSECT;if(isSafari)
{Tabblo.Grid.finishPartialLoadingEvent.subscribe(Tabblo.Grid.resetExternalDraggables.bind(Tabblo.editor.Grid));}
YAHOO.util.Event.addListener(window,"unload",Tabblo.Grid.unload);if(__tcu.findQueryParam(document.location.href,'creating')=="1")
{Tabblo.core.use_case.finish("TabbloCreateTabbloThing","{'story_id': "+Tabblo.editor.storyID+"}");}},moveMapItemToPage:function(id,oldpage,newpage)
{var olditemref=null;for(var i=0;i<Tabblo.Grid.GridElementMap[oldpage].length;i++)
{if(Tabblo.Grid.GridElementMap[oldpage][i][0]==id)
{Tabblo.Grid.GridElementMap[newpage].push(Tabblo.Grid.GridElementMap[oldpage][i]);Tabblo.Grid.GridElementMap[oldpage].splice(i,1);break;}}},removeGridElementMapItem:function(page,id)
{if(Tabblo.Grid.GridElementMap[page])
{for(var i=0;i<Tabblo.Grid.GridElementMap[page].length;i++)
{if(Tabblo.Grid.GridElementMap[page][i][0]==id)
{Tabblo.Grid.GridElementMap[page].splice(i,1);}}}},appendElementMap:function(page,tid,tip,tit)
{if(!Tabblo.Grid.GridElementMap[page])
{Tabblo.Grid.GridElementMap[page]=new Array();}
Tabblo.Grid.GridElementMap[page].push([tid,tip,tit]);},offlineElementMapCalc:function()
{var i;var tid;for(i=0;i<Tabblo.Grid.imageParcels.length;i++)
{if(Tabblo.Grid.imageParcels[i])
{tid=Tabblo.Grid.imageParcels[i].id;if(Tabblo.core.caches.PARCELPOS_CACHE[tid])
{Tabblo.Grid.appendElementMap(Tabblo.core.caches.PARCELPOS_CACHE[tid][2],tid,i,"image");}}}
for(i=0;i<Tabblo.Grid.textblockParcels.length;i++)
{if(Tabblo.Grid.textblockParcels[i])
{tid=Tabblo.Grid.textblockParcels[i].id;if(Tabblo.core.caches.PARCELPOS_CACHE[tid])
{Tabblo.Grid.appendElementMap(Tabblo.core.caches.PARCELPOS_CACHE[tid][2],tid,i,"textblock");}}}
for(i=0;i<Tabblo.Grid.moldParcels.length;i++)
{if(Tabblo.Grid.moldParcels[i])
{tid=Tabblo.Grid.moldParcels[i].id;if(Tabblo.core.caches.PARCELPOS_CACHE[tid])
{Tabblo.Grid.appendElementMap(Tabblo.core.caches.PARCELPOS_CACHE[tid][2],tid,i,"mold");}}}
for(i=0;i<Tabblo.Grid.progParcels.length;i++)
{if(Tabblo.Grid.progParcels[i])
{tid=Tabblo.Grid.progParcels[i].id;if(Tabblo.core.caches.PARCELPOS_CACHE[tid])
{Tabblo.Grid.appendElementMap(Tabblo.core.caches.PARCELPOS_CACHE[tid][2],tid,i,"prog");}}}
setTimeout(Tabblo.Grid.finishMappingEvent.fire.bind(Tabblo.Grid.finishMappingEvent),10);if(Tabblo.Grid.mapped==0)
{Tabblo.Grid.mapped=1;setTimeout(Tabblo.Grid.firstFinishMappingEvent.fire.bind(Tabblo.Grid.firstFinishMappingEvent),10);}},getItemsForPage:function(page)
{return Tabblo.Grid.GridElementMap[page];}, clearPageBorgMind:function(page,appendSoDontWipe)
{var i;var pageItems=Tabblo.Grid.getItemsForPage(page);if(pageItems)
{for(i=0;i<pageItems.length;i++)
{var thisid=pageItems[i][0];var thisposition=pageItems[i][1];var thistype=pageItems[i][2];Tabblo.Grid.grid[thisid]=null;var thisArr=null;if(thistype=="image")
{thisArr=Tabblo.Grid.imageParcels;}
else if(thistype=="textblock")
{thisArr=Tabblo.Grid.textblockParcels;}
else if(thistype=="mold")
{thisArr=Tabblo.Grid.moldParcels;}
else if(thistype=="prog")
{thisArr=Tabblo.Grid.progParcels;}
else
{printfire("!!Unknown parcel type in clearPageBorgMind: "+thistype);}
if(thisArr)
{ delete(thisArr[thisposition]);}}}
if(Tabblo.Grid.GridElementMap[page])
{delete(Tabblo.Grid.GridElementMap[page]);}
Tabblo.Grid.deletePageGeometry(page);Tabblo.Grid.borgMind[page]=null;if(!appendSoDontWipe)
{var realthingsi=$$('div#the_grid_'+page+'[is_clone="0"] div[parceltype="image"]');for(i=0;i<realthingsi.length;i++)
{Element.remove(realthingsi[i]);}
var realthingst=$$('div#the_grid_'+page+'[is_clone="0"] div[parceltype="textblock"]');for(i=0;i<realthingst.length;i++)
{Element.remove(realthingst[i]);}}},clearBorgMind:function()
{if(Tabblo.Grid.imageParcels)
{Tabblo.Grid.imageParcels=null;}
if(Tabblo.Grid.textblockParcels)
{Tabblo.Grid.textblockParcels=null;}
if(Tabblo.Grid.moldParcels)
{Tabblo.Grid.moldParcels=null;}
if(Tabblo.Grid.progParcels)
{Tabblo.Grid.progParcels=null;}
if(Tabblo.Grid.grid)
{Tabblo.Grid.grid=null;}
if(Tabblo.Grid.pages)
{Tabblo.Grid.pages=null;}
if(Tabblo.Grid.layout_mode)
{Tabblo.Grid.layout_mode=null;}
if(Tabblo.Grid.flowmode)
{Tabblo.Grid.flowmode=null;}
if(Tabblo.Grid.collmode)
{Tabblo.Grid.collmode=null;}
if(Tabblo.Grid.story_aspect)
{Tabblo.Grid.story_aspect=null;}
if(Tabblo.Grid.product_type)
{Tabblo.Grid.product_type=null;}
if(Tabblo.Grid.current_geometry_name)
{Tabblo.Grid.current_geometry_name=null;}
if(Tabblo.Grid.available_geometry_names)
{Tabblo.Grid.available_geometry_names=null;}
if(Tabblo.Grid.product_id)
{Tabblo.Grid.product_id=null;}
if(Tabblo.Grid.caption_policy)
{Tabblo.Grid.caption_policy=null;}
if(Tabblo.Grid.TheFirstGrid)
{Tabblo.Grid.TheFirstGrid=null;}
if(Tabblo.Grid.TheFirstField)
{Tabblo.Grid.TheFirstField=null;}
if(Tabblo.Grid.firstElement)
{Tabblo.Grid.firstElement=null;}
if(Tabblo.Grid.minPages)
{Tabblo.Grid.minPages=null;}
if(Tabblo.Grid.maxPages)
{Tabblo.Grid.maxPages=null;}
if(Tabblo.Grid.numPages)
{Tabblo.Grid.numPages=null;}
if(Tabblo.Grid.gridSkeleton)
{Tabblo.Grid.gridSkeleton=null;}
for(var i in Tabblo.Grid.borgMind)
{Tabblo.Grid.borgMind[i]=null;}
Tabblo.Grid.borgMind=null;},unloadPageGridPageMap:function(isPrimary,page)
{if(isPrimary)
{var holder=Tabblo.Grid.GridPageMap.primary_pages[page];if(Tabblo.Grid.GridPageMap.primary_pages[page])
{delete(Tabblo.Grid.GridPageMap.primary_pages[page]);}
if(holder)
{if(Tabblo.Grid.GridPageMap.primary[holder])
{delete(Tabblo.Grid.GridPageMap.primary[holder]);}}}
else
{var holder=Tabblo.Grid.GridPageMap.secondary_pages[page];if(Tabblo.Grid.GridPageMap.secondary_pages[page])
{delete(Tabblo.Grid.GridPageMap.secondary_pages[page]);}
if(holder)
{if(Tabblo.Grid.GridPageMap.secondary[holder])
{delete(Tabblo.Grid.GridPageMap.secondary[holder]);}}}},unloadGridPageMap:function()
{try
{Tabblo.Grid.GridPageMap.primary=null;Tabblo.Grid.GridPageMap.secondary=null;Tabblo.Grid.GridPageMap.primary_pages=null;Tabblo.Grid.GridPageMap.secondary_pages=null;}
catch(e){}
Tabblo.Grid.GridPageMap=null;},setupGridPageMap:function()
{Tabblo.Grid.GridPageMap=new Object();Tabblo.Grid.GridPageMap.primary=new Object();Tabblo.Grid.GridPageMap.secondary=new Object();Tabblo.Grid.GridPageMap.primary_pages=new Object();Tabblo.Grid.GridPageMap.secondary_pages=new Object();},resetGridPageMap:function()
{Tabblo.Grid.unloadGridPageMap();Tabblo.Grid.setupGridPageMap();}, unloadPage:function(page,isPrimary,appendSoDontWipe)
{if(typeof page=="object"){page=new String(page);}
if((typeof page!="number")&&(page.indexOf(',')!=-1))
{page=page.split(',');}
else
{page=[page];}
for(var i=0;i<page.length;i++)
{if((page[i]==0)||page[i])
{Tabblo.Grid.resetPageEvents(page[i]);Tabblo.Grid.clearPageBorgMind(page[i],appendSoDontWipe);Tabblo.Grid.unloadPageGridPageMap(isPrimary,page[i]);}}
Tabblo.Grid.unloadedPageEvent.fire();},unload:function()
{Tabblo.Grid.loaded=0;Tabblo.Grid.resetEvents();Tabblo.Grid.clearBorgMind();Tabblo.Grid.unloadGridPageMap();Tabblo.Grid.unloadedEvent.fire();Tabblo.Grid._virtual_empties=null;Tabblo.Grid.GridElementMap=null;Tabblo.Grid.PageDraggables=null;Tabblo.Grid.OVERLAY_LOCK_HOLDER=null;},registerPage:function(j,lgrid,ltop,thisIsClone)
{var _mypage=j;var parent_holder_id=ltop.parentNode.id;var isPrimary=(parent_holder_id.indexOf("primary")!=-1);var key_id=parent_holder_id.substring(parent_holder_id.lastIndexOf("_")+1);var grid_id='the_grid_'+_mypage;var field_id='the_field_'+_mypage; if(isPrimary)
{Tabblo.Grid.registerPrimaryPage(key_id,thisIsClone,_mypage,grid_id,field_id);}
else
{var widget_test=$(parent_holder_id).parentNode.parentNode.id;if(widget_test.indexOf("widget")==-1)
{widget_test=null;}
Tabblo.Grid.registerSecondaryPage(key_id,thisIsClone,_mypage,grid_id,field_id,widget_test);}},registerPrimaryPage:function(key_id,isClone,pagenum,grid_id,field_id)
{var holderInfo=new Object();holderInfo.clone=isClone;holderInfo.pagenum=pagenum;holderInfo.grid_id=grid_id;holderInfo.field_id=field_id;Tabblo.Grid.GridPageMap.primary[key_id]=holderInfo;pagenum=parseInt(pagenum);if(isClone)
{pagenum+='c';}
Tabblo.Grid.GridPageMap.primary_pages[pagenum]=key_id;if(!isClone)
{if(!Tabblo.Grid.GridElementMap[pagenum])
{Tabblo.Grid.GridElementMap[pagenum]=new Array();}}},registerSecondaryPage:function(key_id,isClone,pagenum,grid_id,field_id,widget)
{var holderInfo=new Object();holderInfo.clone=isClone;holderInfo.pagenum=pagenum;holderInfo.grid_id=grid_id;holderInfo.field_id=field_id;holderInfo.widget=widget;Tabblo.Grid.GridPageMap.secondary[key_id]=holderInfo;pagenum=parseInt(pagenum);if(isClone)
{pagenum+='c';}
Tabblo.Grid.GridPageMap.secondary_pages[pagenum]=key_id;if(!isClone)
{if(!Tabblo.Grid.GridElementMap[pagenum])
{Tabblo.Grid.GridElementMap[pagenum]=new Array();}}},toggleCaptionPolicy:function()
{Tabblo.Grid.caption_policy=(Tabblo.Grid.caption_policy=="hide")?"show":"hide"; Tabblo.Grid.TheFirstGrid.setAttribute("caption_policy",Tabblo.Grid.caption_policy); for(var i in Tabblo.Grid.borgMind)
{if(Tabblo.Grid.borgMind[i])
{Tabblo.Grid.borgMind[i].caption_policy=Tabblo.Grid.caption_policy;}}
return Tabblo.Grid.caption_policy;},setOriginalSizes:function(drag_element)
{lockOverlays(drag_element);Tabblo.editor.canvasutils.showGridCanvasses();var tm=$("thumbnailOverlay_mogrify");tm.setAttribute("dragging","true");var parcel=Tabblo.editor.parcels.getParcelForItem($(tm.getAttribute("target")));Tabblo.Grid.promoteImageZindex(parcel,13332);parcel.setAttribute("origwidth",parcel.getPixelWidth());parcel.setAttribute("origheight",parcel.getPixelHeight());var caption=null;var captionb=null;var ds=null;if(parcel.getType()=="image")
{var image=parcel.getImage();image.setAttribute("origwidth",image.width);image.setAttribute("origheight",image.height);caption=parcel.getCaption();captionb=parcel.getCaptionBackground();ds=parcel.getDropshadow();}
parcel.style.border="2px dotted red";if(ds)
{ds.style.visibility="hidden";}
if(caption)
{caption.style.visibility="hidden";}
if(captionb)
{captionb.style.visibility="hidden";}
lockOverlays(tm);},stopSizing:function(element)
{var tm=$("thumbnailOverlay_mogrify");tm.setAttribute("dragging","false");tm.style.display="none";var parcel=Tabblo.editor.parcels.getParcelForItem($(tm.getAttribute("target")));var ptype=parcel.getType();parcel.style.border="0px solid white";var newgridw=parseInt(parcel.getAttribute("proposed_gridsizex"));var newgridh=parseInt(parcel.getAttribute("proposed_gridsizey"));var destination_parcel_id=parcel.id;var lscale=Tabblo.Grid.borgMind[parcel.getPage()].scale;var foo=new Tabblo.editor.actions.Action(Tabblo.editor.actions.Resize,{parcel_id:destination_parcel_id,scale:lscale}).run({new_width:newgridw,new_height:newgridh});Tabblo.Grid.cancelSizing(element);return foo;},cancelSizing:function(element)
{var parcel=Tabblo.editor.parcels.getParcelForItem($($("thumbnailOverlay_mogrify").getAttribute("target")));Tabblo.editor.canvasutils.hideGridCanvasses();var caption=null;var captionb=null;var ds=null;var ptype=parcel.getType();if(ptype=="image")
{caption=parcel.getCaption();captionb=parcel.getCaptionBackground();ds=parcel.getDropshadow();}
else
{parcel.style.border="";}
if(ds)
{ds.style.visibility="visible";}
if(caption)
{caption.style.visibility="visible";}
if(captionb)
{captionb.style.visibility="visible";}
Tabblo.editor.parcels.demoteImageZindex(parcel);unlockOverlays();},dimParcel:function(element)
{lockOverlays();element.setAttribute("isDragging","true");Tabblo.editor.canvasutils.showGridCanvasses();if($("img_fake_holder"))
{$("img_fake_holder").style.display="none";}
Tabblo.Grid.promoteImageZindex(element,'99999');var parcel=Tabblo.editor.parcels.getParcelForItem(element);if(parcel)
{Tabblo.Grid.WARNING_DETAIL_ENABLED=0; Tabblo.Grid.transplantParcelToTransportLayer(parcel);if(parcel.getType()=="image")
{var ds=parcel.getDropshadow();if(ds)
{ds.style.visibility="hidden";}
var caption=parcel.getCaption();if(caption)
{caption.style.visibility="hidden";}
var captionb=parcel.getCaptionBackground();if(captionb)
{captionb.style.visibility="hidden";}}}
Tabblo.editor.DRAG_INTERVAL=setInterval(Tabblo.Grid.dragAndScrollElement.bind(Tabblo.editor.Grid,element),Tabblo.Grid.DRAG_INTERVAL_LENGTH);},_lockDraggableToRealGrid:function(element)
{var parcel=Tabblo.editor.parcels.getParcelForItem($($("thumbnailOverlay_mogrify").getAttribute("target")));var page=Tabblo.editor.parcels.getPage(parcel);var offsetleft=Tabblo.Grid.borgMind[page].pageOffsetLeft;var offsettop=Tabblo.Grid.borgMind[page].pageOffsetTop;var cursorpos=__tcu.getXY(element);cursorpos[0]-=offsetleft;cursorpos[1]-=offsettop;cursorpos[0]+=12;cursorpos[1]+=12;var colwid=Tabblo.Grid.borgMind[page].columnwidth;var rowhei=Tabblo.Grid.borgMind[page].rowheight;var inmarg=Tabblo.Grid.borgMind[page].inmargin;var inmargy=Tabblo.Grid.borgMind[page].inmarginy;var absnumx=Math.round(cursorpos[0]/(colwid+inmarg))||1;var absnumy=Math.round(cursorpos[1]/(rowhei+inmargy))||1;cursorpos[0]+=colwid/2;cursorpos[1]+=rowhei/2; if(absnumx>Tabblo.Grid.borgMind[page].numCols){absnumx=Tabblo.Grid.borgMind[page].numCols;}
if(Tabblo.Grid.borgMind[page].limitRows)
{if(absnumy>Tabblo.Grid.borgMind[page].limitRows){absnumy=Tabblo.Grid.borgMind[page].limitRows;}}
var newleft=(colwid*absnumx)+(inmarg*(absnumx-1));var newtop=(rowhei*absnumy)+(inmargy*(absnumy-1));var image=null;var ptype=parcel.getType();var gx=(parcel.getGridX()+1);var gy=(parcel.getGridY()+1);var px=(absnumx-gx+1);var py=(absnumy-gy+1);var newwidth=(px*colwid)+((absnumx-gx)*inmarg);var newheight=(py*rowhei)+((absnumy-gy)*inmargy);if((newwidth>0)&&(newheight>0))
{var a=((absnumx*colwid)+((absnumx-1)*inmarg)+offsetleft-parseInt(element.style.width));var b=((absnumy*rowhei)+((absnumy-1)*inmargy)+offsettop-parseInt(element.style.height));element.style.left=a+"px";element.style.top=b+"px";if(ptype=="image")
{image=parcel.getImage();image.width=newwidth;image.height=newheight;parcel.style.height=newheight+"px";parcel.style.width=newwidth+"px";}
else if(ptype=="textblock")
{parcel.style.height=newheight+"px";parcel.style.width=newwidth+"px";var innerTd=parcel.getTextcontrolTd();var adjH=newheight-(__tcu.getOuterHeight(innerTd)-__tcu.getHeight(innerTd));var adjW=newwidth-(__tcu.getOuterWidth(innerTd)-__tcu.getWidth(innerTd));innerTd.style.height=adjH+"px";innerTd.style.width=adjW+"px";innerTd.height=newheight;innerTd.width=newwidth;var divEvt=parcel.getTextevent();divEvt.style.width=newwidth+"px";divEvt.style.height=newheight+"px";var imgEvt=parcel.getTexteventImg();imgEvt.width=newwidth;imgEvt.height=newheight;}
else if(ptype=="mold")
{parcel.style.height=newheight+"px";parcel.style.width=newwidth+"px";}
else if(ptype=="prog")
{parcel.style.height=newheight+"px";parcel.style.width=newwidth+"px";}
parcel.setAttribute("proposed_gridsizex",px);parcel.setAttribute("proposed_gridsizey",py);}
if((newwidth<=0)&&(newheight<=0))
{parcel.setAttribute("proposed_gridsizex",1);parcel.setAttribute("proposed_gridsizey",1);element.style.left=((gx*colwid)+((gx-1)*inmarg)+offsetleft-parseInt(element.style.width))+"px";element.style.top=((gy*rowhei)+((gy-1)*inmargy)+offsettop-parseInt(element.style.height))+"px";}
else if(newwidth<=0)
{if(ptype=="image")
{image=parcel.getImage();image.height=newheight;parcel.style.height=newheight+"px";}
else
{parcel.style.height=newheight+"px";}
parcel.setAttribute("proposed_gridsizex",1);parcel.setAttribute("proposed_gridsizey",py);element.style.left=((gx*colwid)+((gx-1)*inmarg)+offsetleft-parseInt(element.style.width))+"px";element.style.top=((absnumy*rowhei)+((absnumy-1)*inmargy)+offsettop-parseInt(element.style.height))+"px";}
else if(newheight<=0)
{if(ptype=="image")
{image=parcel.getImage();image.width=newwidth;parcel.style.width=newwidth+"px";}
else
{parcel.style.width=newwidth+"px";}
parcel.setAttribute("proposed_gridsizex",px);parcel.setAttribute("proposed_gridsizey",1);element.style.left=((absnumx*colwid)+((absnumx-1)*inmarg)+offsetleft-parseInt(element.style.width))+"px";element.style.top=((gy*rowhei)+((gy-1)*inmargy)+offsettop-parseInt(element.style.height))+"px";}
if(1)
{var dragTop=__tcu.getXY(element)[1];var ch=document.body.clientHeight;var oh=document.body.offsetHeight;var st=document.body.scrollTop;if(isSafari)
{ch=self.innerHeight;}
if(((ch+st)-dragTop)<40)
{window.scrollBy(0,75);}
else if((dragTop-st)<40)
{window.scrollBy(0,-75);}}},setNewSize:function(element)
{Tabblo.Grid._lockDraggableToRealGrid(element);},hideAllOverlays:function(except_element)
{var toClear=['magnify','thumbnailOverlay_rem','thumbnailOverlay_mag','thumbnailOverlay_tag','thumbnailOverlay_info','thumbnailOverlay_changeblock','thumbnailOverlay_expand','thumbnailOverlay_collapse','thumbnailOverlay_crop','thumbnailOverlay_effects','thumbnailOverlay_rotate','thumbnailOverlay_orientation','thumbnailOverlay_compedit','thumbnailOverlay_balloon','thumbnailOverlay_largeremove_textblock','thumbnailOverlay_largeremove_picture','thumbnailOverlay_moldify_picture','thumbnailOverlay_largeremove_mold','thumbnailOverlay_zoom','thumbnailOverlay_text','draggable_member_div','draggable_group_div'];var el;for(var i=0;i<toClear.length;i++)
{el=$(toClear[i]);if(el&&(el!=except_element))
{el.style.display="none";}}
var tos=$("thumbnailOverlay_shelf");if(tos&&(tos!=except_element))
{tos.style.display="none";tos.removeAttribute("target");}
var tom=$("thumbnailOverlay_mogrify");if(tom&&(tom!=except_element))
{if(tom.getAttribute("dragging")=="false")
{tom.style.display="none";}}},stopOverlayingThisParcel:function(except_element)
{Tabblo.Grid.hideAllOverlays(except_element);}, actionSwitchboard:function(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array)
{var shouldRevert=true;var parameters={'action':action,'source_parcel_id':source_parcel_id,'source_parcel_type':source_parcel_type,'source_gridpos_array':source_gridpos_array,'destination_parcel_id':destination_parcel_id,'destination_parcel_type':destination_parcel_type,'destination_gridpos_array':destination_gridpos_array};try
{if(action=="insert")
{if(source_parcel_id=="fake_textblock_Ernst_mask")
{shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.InsertTextblock,parameters).run();}
else
{var dragger_id=Tabblo.Grid.getScratchboxElementBaseid($(source_parcel_id));var dragger_page=parseInt($(dragger_id).getAttribute("page"));if(!isNaN(dragger_page)&&(dragger_page!=-1))
{var scale=Tabblo.Editor.fully_initialized?Tabblo.Editor.metadata.primary_scale:1.0;shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.CopyItem,{coord:destination_parcel_id,id:dragger_id.substring(1),scale:scale}).run();}
else
{parameters.dragger_id=dragger_id;shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.InsertFromScratch,parameters).run();}}}
else if(action=="move")
{if(Tabblo.Grid.layout_mode=="manual")
{ shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.Move,parameters).run();}
else if(Tabblo.Grid.layout_mode=="page")
{ parameters['leave_mold_behind']=true;shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.Move,parameters).run();}
else if(Tabblo.Grid.layout_mode=="reflow")
{ shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.Reshuffle,parameters).run();}
else if(Tabblo.Grid.layout_mode=="bric")
{shouldRevert=true;}}
else if(action=="swap")
{shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.Swap,parameters).run();}
else if(action=="removeitem")
{shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.RemoveItemFromStory,parameters).run();}
else if(action=="squash")
{shouldRevert=Tabblo.Grid.collapse(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array);}
else if(action=="explode")
{shouldRevert=Tabblo.Grid.expand(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array);}
else if(action=="change_orientation")
{shouldRevert=Tabblo.Grid.changeParcelOrientation(action,source_parcel_id,source_parcel_type,source_gridpos_array,destination_parcel_id,destination_parcel_type,destination_gridpos_array);}
else if(action=="RELAYOUT")
{var page=Tabblo.editor.parcels.getParcelForItem($(destination_parcel_id)).getPage();var adder=page-Tabblo.Editor.curr_page;var totcount=Tabblo.Grid.GridElementMap[page].length+1;var textcount=1;for(var i=0;i<totcount-1;i++)
{var m=Tabblo.Grid.GridElementMap[page][i];if(m[2]=="textblock")
{textcount++;}}
Tabblo.Editor.changeLayout(adder,null,null,null,[totcount,textcount]);shouldRevert=true;}
Tabblo.Grid.nullifyDroppableTarget();Tabblo.editor.undoAvailable(true);}
catch(e)
{Tabblo.Grid.finishGridAction();printStack(e,"actionSwitchboard");shouldRevert=true;}
return shouldRevert;},setBackgroundImage:function(src,dst,options)
{if(Tabblo.Grid.isScratchboxElement(src))
{var bg=$(dst.id);var page=bg.getAttribute("page");if(page==null)
{page="default";}
var url="/edit/set_background_image/"+Tabblo.editor.storyID;var params="?item_id="+Tabblo.Grid.getScratchboxElementBaseid(src).substring(1)+"&page="+page;if(options)
{params+=options;}
var complete=function(ajaxResponse)
{if((ajaxResponse.statusText=="OK")||(ajaxResponse.statusText=="ACCEPTED"))
{if(ajaxResponse.responseObject['status']=='OK')
{document.location=document.location;}
else
{}}
else
{}};Tabblo.ajax.Send.beam(url,{parameters:params,onComplete:complete});}
return true;},nullifyDroppableTarget:function()
{var q=Tabblo.editor.parcels.getParcelForItem($(Tabblo.core.caches.BULLSEYE_DS['activeDroppable']));if(q)
{q.hideStatus();}
Tabblo.core.caches.BULLSEYE_DS["activeDroppable"]="";Tabblo.core.caches.BULLSEYE_DS["activeAction"]="";Tabblo.core.caches.BULLSEYE_DS["fresh"]=1;Tabblo.Grid.hideBullseye();return true;},suspendDrags:function()
{Tabblo.Grid.drags_suspended=true;},resumeDrags:function()
{Tabblo.Grid.drags_suspended=false;},parcelPositionSorter:function(moved_id,parcel_a,parcel_b)
{var ay=parcel_a.getGridY();var by=parcel_b.getGridY();if(by<ay){return 1;}
else if(by>ay){return-1;}
else
{var ax=parcel_a.getGridX();var bx=parcel_b.getGridX();if(bx<ax){return 1;}
else if(bx>ax){return-1;} 
if(parcel_a.id==moved_id){return-1;}
else if(parcel_b.id==moved_id){return 1;}}
return 0;},getOrderedParcelListForPage:function(page,moved_id)
{var p=Tabblo.Grid.getParcelsForPage(page,"image");p=p.concat(Tabblo.Grid.getParcelsForPage(page,"textblock"));p.sort(Tabblo.Grid.parcelPositionSorter.bind(Tabblo.editor.Grid,moved_id));return p;},getOrderedParcelShadowForPage:function(page,moved_id)
{var p=Tabblo.Grid.getOrderedParcelListForPage(page,moved_id);var a=new Array();for(var i=0;i<p.length;i++)
{a.push([p[i].id,p[i].getGridX(),p[i].getGridY(),p[i].getGridWidth(),p[i].getGridHeight(),p[i].getLayer()]);}
return a;},reflow_timeout:100,reflow:function(page,moved_id,desx,desy,action)
{if(Tabblo.Grid.in_reflow==true)
{setTimeout(Tabblo.Grid.reflow.bind(this,page,moved_id,desx,desy,action),1500);}
else
{if(Tabblo.Grid.layout_mode!="reflow")
{return;}
if(((action=="delete")||(action=="collapse"))&&(Tabblo.Grid.flowmode=='none'))
{return;}
Tabblo.Grid.in_reflow=true;lockOverlays(null,"reflow");var timeout=this.reflow_timeout; var p=Tabblo.Grid.getOrderedParcelShadowForPage(page,moved_id);var maxCols=Tabblo.Grid.borgMind[page].numCols;var maxRows=(Tabblo.Grid.borgMind[page].limitRows>0)?Tabblo.Grid.borgMind[page].limitRows:Tabblo.Grid.borgMind[page].lastActualRow;var x=0;var y=0;var lastx=0;var lasty=0;var fakemargin=Tabblo.Grid.borgMind[page].fakemargin;var element_map={};var changed;for(var i=0;i<p.length;i++)
{changed=false;var id=p[i][0];var oposx=p[i][1];var oposy=p[i][2];var w=p[i][3];var h=p[i][4];var l=p[i][5];if(l!=0){continue;}
var x1=0;var y1=0;if(Tabblo.Grid.flowmode=="compact")
{if(Tabblo.Grid.collmode=='none')
{var endLoop=false;for(var y2=y1;y2<maxRows;y2++)
{for(var x2=x1;x2<maxCols;x2++)
{var something_at=Tabblo.Grid.findCollision(element_map,x2,y2);if(!something_at)
{x=x2;y=y2;endLoop=true;break;}
else if((oposx==x2)&&(oposy==y2))
{x=oposx;y=oposy;endLoop=true;break;}} 
if(endLoop)
{break;}}
} 
else
{var endLoop=false;for(var y2=y1;y2<maxRows;y2++)
{for(var x2=x1;x2<maxCols;x2++)
{var something_at=Tabblo.Grid.findCollision(element_map,x2,y2);if(!something_at)
{x=x2;y=y2;endLoop=true;break;}
else
{}} 
if(endLoop)
{break;}}
}
} 
else
{if((desx>=0)&&(desy>=0)&&(id==moved_id))
{x=desx;y=desy;}
else
{x=oposx;y=oposy;}
}
var settled=false;while(!settled)
{var in_the_way=0;if((w+x)>maxCols)
{x=0;y+=1;}
if(Tabblo.Grid.collmode!='none')
{var endLoop=false;for(var ypoke=y;ypoke<(y+h);ypoke++)
{for(var xpoke=x;xpoke<(x+w);xpoke++)
{in_the_way=Tabblo.Grid.findCollision(element_map,xpoke,ypoke);if(in_the_way)
{if(Tabblo.Grid.collmode=='reflow')
{x=in_the_way[0]+in_the_way[1]+fakemargin;if(x>maxCols)
{x=0;y+=1;}
endLoop=true;break;}
else
{var n=in_the_way[2]+in_the_way[3]-ypoke+fakemargin;y+=n;endLoop=true;break;}
}
} 
if(endLoop){break;}} 
if(!in_the_way)
{settled=true;}} 
else
{settled=true;}
} 
lastx=x;lasty=y;Tabblo.Grid.addCollision(element_map,x,w,y,h,fakemargin);changed=((oposx==x)&&(oposy==y))?false:true;if(changed)
{var parcel=Tabblo.editor.parcels.getParcelForItem($(id));Tabblo.Grid.updateParcelPosition(id,[x,y,page,l],false,timeout);timeout+=this.reflow_timeout;}} 
element_map=null;p=null;setTimeout("Tabblo.Grid.in_reflow = false;",timeout);setTimeout(unlockOverlays.bind(this,"reflow"),parseInt(timeout/1.5));}},findCollision:function(element_map,xpos,ypos)
{var relevant_row=element_map[ypos];if(relevant_row)
{var relevant_column=relevant_row[xpos];if(relevant_column)
{return relevant_column;}}
return null;},addCollision:function(element_map,xpos,gridx,ypos,gridy,fakemargin)
{for(var inrow=(ypos-fakemargin);inrow<(ypos+gridy+fakemargin);inrow++)
{for(var incol=(xpos-fakemargin);incol<(xpos+gridx+fakemargin);incol++)
{if(!element_map[inrow])
{element_map[inrow]=new Object();}
if(!element_map[inrow][incol])
{element_map[inrow][incol]=[xpos,gridx,ypos,gridy];}}}},anyUnlockedPhotos:function()
{var p=Tabblo.Grid.getImageParcels();p=p.concat(Tabblo.Grid.getMoldParcels());for(var i=0;i<p.length;i++)
{if(p[i])
{if(!p[i].isDead())
{return 1;}}}
return 0;}});Tabblo.Grid=Tabblo.editor.Grid;Tabblo.Grid.GridPageMap.primary=new Object();Tabblo.Grid.GridPageMap.secondary=new Object();Tabblo.Grid.GridPageMap.primary_pages=new Object();Tabblo.Grid.GridPageMap.secondary_pages=new Object();Tabblo.Grid.finishLoadingEvent.subscribe(Tabblo.Grid.offlineElementMapCalc);YAHOO.extend(Tabblo.Grid.textDraggable,YAHOO.util.DD,{startDrag:function(x,y)
{var element=this.getEl();Tabblo.Grid.dimParcel(element);},onDrag:function(e)
{Tabblo.Grid.setOffsets();Tabblo.Editor.setScroll(this);},onDragDrop:function(e,targets)
{if(0&&(targets[0].id=='lightbox_Ernst'))
{Tabblo.widgets.Toolbar.dropped(this.getEl());}},endDrag:function(e)
{var element=this.getEl();Tabblo.editor.parcels.restoreParcel(element);var shouldrevert=Tabblo.Grid.revertDraggable(element);if(shouldrevert)
{Tabblo.Grid.revertToOrigin(element);}}});YAHOO.extend(Tabblo.Grid.progDraggable,YAHOO.util.DD,{startDrag:function(x,y)
{var element=this.getEl();Tabblo.Grid.dimParcel(element);},onDrag:function(e)
{Tabblo.Grid.setOffsets();},endDrag:function(e)
{var element=this.getEl();Tabblo.editor.parcels.restoreParcel(element);var shouldrevert=Tabblo.Grid.revertDraggable(element);if(shouldrevert)
{Tabblo.Grid.revertToOrigin(element);}}});YAHOO.extend(Tabblo.Grid.imageDraggable,YAHOO.util.DD,{startDrag:function(x,y)
{var element=this.getEl();Tabblo.Grid.dimParcel(element);},onDrag:function(e)
{Tabblo.Grid.setOffsets();Tabblo.Editor.setScroll(this);},onDragEnter:function(e,targets)
{if(0&&(targets[0].id=='lightbox_Ernst'))
{var element=this.getEl();element.style.border="1px solid blue";}},onDragOut:function(e,targets)
{if(0&&(targets[0].id=='lightbox_Ernst'))
{var element=this.getEl();element.style.border="0px solid black";}},onDragDrop:function(e,targets)
{if(0&&(targets[0].id=='lightbox_Ernst'))
{Tabblo.widgets.Toolbar.dropped(this.getEl());}},endDrag:function(e)
{var element=this.getEl();Tabblo.editor.parcels.restoreParcel(element);var shouldrevert=Tabblo.Grid.revertDraggable(element);if(shouldrevert)
{Tabblo.Grid.revertToOrigin(element);}}});YAHOO.extend(Tabblo.Grid.moldDraggable,YAHOO.util.DD,{startDrag:function(x,y)
{var element=this.getEl();Tabblo.Grid.dimParcel(element);},onDrag:function(e)
{Tabblo.Grid.setOffsets();},endDrag:function(e)
{var element=this.getEl();Tabblo.editor.parcels.restoreParcel(element);var shouldrevert=Tabblo.Grid.revertDraggable(element);if(shouldrevert)
{Tabblo.Grid.revertToOrigin(element);}}});YAHOO.extend(Tabblo.Grid.cropDraggable,YAHOO.util.DD,{onDrag:function(e)
{this.scroll=false;Tabblo.editor.image.limitDragPosition(this.getEl());},endDrag:function(e)
{Tabblo.editor.image.setTargetImage();}});YAHOO.extend(Tabblo.Grid.lightboxDraggable,YAHOO.util.DD,{startDrag:function(x,y)
{var element=this.getEl();element.setAttribute("isDragging","true");element.style.zIndex=20000;var funcy;if(Tabblo.Grid.isDragToObject(null))
{var parentEl=Tabblo.Editor.getParentId();funcy=Tabblo.Grid.dragElementToObject.bind(Tabblo.editor.Grid,parentEl,element,null);}
else
{funcy=Tabblo.Grid.dragAndScrollElement.bind(Tabblo.editor.Grid,element);}
Tabblo.editor.DRAG_INTERVAL=setInterval(funcy,Tabblo.Grid.DRAG_INTERVAL_LENGTH);lockOverlays();Tabblo.editor.canvasutils.showGridCanvasses();},onDrag:function(e)
{Tabblo.Grid.setOffsets();},onDragDrop:function(e,targets)
{var oDD=null;if("string"==typeof targets)
{oDD=YAHOO.util.DDM.getDDById(targets);}
else
{oDD=YAHOO.util.DDM.getBestMatch(targets);}
var element=this.getEl();var options='';if((oDD.id=='bgdroptarget_0')||(oDD.id=='bgdroptarget_1'))
{__d("onDragDrop","normal",oDD.id);}
else if(oDD.id=='bgpahdroptarget_0')
{ __d("onDragDrop","pah bg",oDD.id);options='&kind=pah_background';}
else if(oDD.id=='orpahdroptarget_0')
{ __d("onDragDrop","pah or",oDD.id);options='&kind=pah_ornament';}
else
{return;}
Tabblo.Grid.setBackgroundImage(element,oDD,options);},endDrag:function(e)
{var element=this.getEl();unlockOverlays();element.setAttribute("isDragging","false");clearInterval(Tabblo.editor.DRAG_INTERVAL);Tabblo.editor.DRAG_INTERVAL=null;if(Tabblo.Grid.isDragToObject(element))
{var parentEl=Tabblo.Editor.getParentId();Tabblo.Grid.dropElementOnObject(parentEl,element);element.style.display="none";}
else
{Tabblo.Grid.revertDraggable(element);Tabblo.widgets.Toolbar.revertEffect(element);}
Tabblo.editor.canvasutils.hideGridCanvasses();}});Tabblo.Grid.firstFinishLoadingEvent.subscribe(Tabblo.editor.Warnings.init.bind(Tabblo.editor.Warnings));Tabblo.Grid.finishLoadingEvent.subscribe(__tcu.setAllOpacity.bind(__tcu));Tabblo.Grid.finishSpreadLoadEvent.subscribe(__tcu.setAllOpacity.bind(__tcu));Tabblo.core.performance.performance_actions=Tabblo.core.performance.performance_actions.concat([[Tabblo.editor.Grid,"initialize",1],[Tabblo.editor.Grid,"initializePage",1],[Tabblo.editor.Grid,"appendToActivePage",1]]);
/* tabblo/editor/StoryTitle.js */

Tabblo.add_namespace("Tabblo.editor.StoryTitle",{storyId:null,defaultTitle:"My tabblo",_curTitle:null,_st:null,normalizeTitle:function(display,text)
{if(display)
{if((text==null)||(text=="")||(text==" ")||(text=="&nbsp;"))
{return this.defaultTitle;}}
else
{if((text==" ")||(text=="&nbsp;")||(text==this.defaultTitle))
{return"";}}
return text;},_hover:function()
{var obj=this._st;if(obj.attr("set_colors")!="1")
{obj.attr("set_colors","1");obj.attr("orig_bg_color",obj.css("backgroundColor"));obj.attr("orig_font_color",obj.css("color"));}
obj.css("backgroundColor","#ffffc0");obj.css("color","#000000");},_unhover:function()
{var obj=this._st;if(obj.attr("set_colors")=="1")
{obj.css("backgroundColor",obj.attr("orig_bg_color"));obj.css("color",obj.attr("orig_font_color"));}
obj.attr("set_colors","0");},_edit:function()
{if(!overlaysLocked())
{var st=this._st;this._curTitle=st.html();var cn=st.attr("style");var capedid="caption_editor"+Tabblo.editor._captionEditor_count++;var maxchars=parseInt($('story_title_holder_0').getAttribute("maxchars"));var html="<input id='"+capedid+"' type='text' textid='"+st.attr("id")+"' "+"style='visibility:hidden;"+cn+";' "+
((!isNaN(maxchars)&&(maxchars>0))?("maxlength='"+maxchars+"' size='"+maxchars+"'"):(""))+"/>";st.html(html);var caped=jQuery('input#'+capedid);caped.css("color","#000000");caped.css("backgroundImage","none");caped.css("backgroundColor","#ffffff");caped.css("padding","0px");var ms=jQuery('#merchstock_0');if(ms.length>0)
{caped.css("width",parseInt(ms.css('width'))-10+"px");}
caped.val(this.normalizeTitle(false,this._curTitle.unescapeHTML()));caped.css("visibility","visible");caped.bind("blur",this._blur);caped.bind("keypress",this._keypress);caped.bind("click",this._click);caped.select();lockOverlays();cn=null;}},_click:function(e){e.stopPropagation();},_keypress:function(e){if(e.which==13){ Tabblo.editor.StoryTitle._submit(e.target);}},_blur:function(e){Tabblo.editor.StoryTitle._submit(e.target);},_submit:function(obj)
{unlockOverlays();var caped=jQuery(obj);var tid=caped.attr("textid");var tes=Tabblo.editor.StoryTitle;if(tid!=tes._st.attr("id")){return;}
caped.unbind("blur",tes._blur);caped.unbind("keypress",tes._keypress);caped.unbind("click",tes._click);var val=caped.val();if((val==null||val==""))
{val=' ';caped.val(val);}
tes._st.html(this.normalizeTitle(true,val.escapeHTML()));if(!tes._curTitle||(val!=tes._curTitle.unescapeHTML())){ var url="/edit/caption/"+tes.storyId+"/";var pars='kind=title&text='+__tcu.escape_utf8(val);Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:tes._finish},'',true);}
try
{tes._unhover();}
catch(e)
{printStack(e,'submit');}
tid=null;val=null;},_finish:function(ajaxResponse)
{if(ajaxResponse.statusText=="OK")
{__tcu.showFlashIfPossible("<span class='infoFlash'>Updated Text</span>");}
else
{}},_sni:null,_wmt:null,_dt:null,resetToDefault:function(def_title)
{if(def_title)
{this._curTitle=__tcu.escape_utf8(def_title);}
else
{this._curTitle=this.defaultTitle;}
if(this._sni)
{ this._sni[0].value=this._curTitle.unescapeHTML();}
if(this._st)
{ this._st.html(this._curTitle);}
if(this._wmt)
{ this._wmt.html(this._curTitle);}
this._commit(this._curTitle);},_commit:function(val)
{ var url="/edit/caption/"+this.storyId+"/";var pars='kind=title&text='+__tcu.escape_utf8(val.unescapeHTML());var complete=function(ajaxResponse)
{var res=ajaxResponse.responseObject;if(res['status']!='OK')
{ location=location;}};Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:complete},'',true);},_setStoryTitle:function()
{var val=trim(this._sni.val());if((val!="")&&(this._curTitle.unescapeHTML()!=val))
{ this._curTitle=val.escapeHTML();this._commit(this._curTitle); this._sni.val(this.normalizeTitle(false,this._curTitle.unescapeHTML()));if(this._st)
{this._st.html(this.normalizeTitle(true,this._curTitle));}
if(this._wmt)
{this._wmt.html(this.normalizeTitle(true,this._curTitle));}}
else if((val=="")&&(this._dt&&(this._dt.length==1)))
{this._curTitle="";this._dt[0].checked=false;this._sni.val("");this._commit(val);Tabblo.editor.StoryTitle.toggle(this._dt[0]);}
else
{this._sni.val(this.normalizeTitle(false,this._curTitle.unescapeHTML()));}},_titleUpdating:false,toggle:function(obj)
{if(!this._titleUpdating&&(obj==this._dt[0]))
{this._titleUpdating=true;this._dt[0].disabled=true;var complete=function(ajaxResponse)
{var responseObj=ajaxResponse.responseObject;if(responseObj['status']!='OK'){location=location;} 
this._sni[0].disabled=!this._dt[0].checked;if(this._sni[0].disabled)
{this._sni.val('');} 
var norelayout=(Tabblo.Grid.layout_mode=="manual");Tabblo.widgets.Toolbar.selectLayoutTemplate(null,responseObj['template_id'],norelayout); var reset=function(){this._titleUpdating=false;this._dt[0].disabled=false;}.bind(this);setTimeout(reset,2000);}.bind(this);Tabblo.ajax.simple_beam('/edit/toggle_title_template/'+this.storyId+'/',null,complete);}},_keyup:function(event)
{var evt=__tcu.getEvt(event);var charCode=(evt.charCode)?evt.charCode:((evt.which)?evt.which:evt.keyCode);if((charCode==13)||(charCode==3))
{ this._setStoryTitle();}},_setup:function()
{ var tti=jQuery("input#tools_title_input");var tti_present=(tti.length==1);var tth=jQuery("div#tools_title_holder");var tth_visible=((tth.length==1)&&(tth.is(":visible")));var sni=jQuery("input#story_name_input");var sni_present=(sni.length==1);var snh=jQuery("div#story_name_holder");var snh_visible=((snh.length==1)&&(snh.is(":visible")));var st=jQuery("td#story_title_holder_0");if(snh_visible||tth_visible)
{ this._sni=snh_visible?sni:tti; this._sni.blur(this._setStoryTitle.bind(this)); this._sni.keyup(this._keyup.bind(this));__tcu.enableEnterKey(this._sni,this._setStoryTitle.bind(this));var ival;if((typeof(window['__STORY_TITLE'])!="undefined")&&(__STORY_TITLE!=null))
{ival=trim(__STORY_TITLE);this._sni.val(this.normalizeTitle(false,ival.unescapeHTML()));}
else
{ival=trim(this._sni.val().escapeHTML());}
this._curTitle=ival;if(st.length==1)
{ st.removeAttr("title");st.css('cursor','default'); if(!this._curTitle)
{this._curTitle=trim(st.html());this._sni.val(this.normalizeTitle(false,this._curTitle.unescapeHTML()));} 
this._st=st;}
var dt=jQuery("input#display_title");if(dt.length==1)
{dt[0].checked=(this._curTitle.unescapeHTML()!=''); this._sni[0].disabled=!dt[0].checked; this._dt=dt;}
var wmt=jQuery("span#welcomeMessageTitle");if(wmt.length==1)
{ this._wmt=wmt;}}
else
{ if(st)
{st.dblclick(this._edit.bind(this));st.click(this._edit.bind(this));st.mouseover(this._hover.bind(this));st.mouseout(this._unhover.bind(this));this._st=st;this._curTitle=trim(st.html());}}
if(st)
{st.html(this.normalizeTitle(true,this._curTitle));}
if(!this.storyId)
{this.storyId=Tabblo.Editor.storyId||Tabblo.editor.storyID;}},_updateSetup:function()
{var st=jQuery("td#story_title_holder_0");if(this._sni)
{if(st.length==1)
{ st[0].removeAttribute("title");jQuery(st[0]).css('cursor','default'); this._st=st; this._curTitle=st.html();if(!this._curTitle||(trim(this._curTitle.unescapeHTML())==""))
{this._curTitle=this.defaultTitle;}
if(this._sni&&this._sni.length==1)
{this._sni.val(this._curTitle.unescapeHTML());}
if(this._wmt&&this._wmt.length==1)
{this._wmt.val(this._curTitle);}}
else
{this._st=null;if(!this._sni||(this._sni.length==0))
{ this._curTitle=null;}}}
else
{ st=jQuery("td#story_title_holder_0");if(st)
{st.dblclick(this._edit.bind(this));st.click(this._edit.bind(this));st.mouseover(this._hover.bind(this));st.mouseout(this._unhover.bind(this));this._st=st;this._curTitle=st.html();if(!this._curTitle||(trim(this._curTitle.unescapeHTML())==""))
{this._curTitle=this.defaultTitle;}}}
if(st)
{st.html(this.normalizeTitle(true,this._curTitle));}},_unload:function()
{this._curTitle=null;this._st=null;this._sni=null;this._wmt=null;this.storyId=null;}});YAHOO.util.Event.addListener(window,"unload",Tabblo.editor.StoryTitle._unload.bind(Tabblo.editor.StoryTitle));Tabblo.Grid.firstFinishLoadingEvent.subscribe(Tabblo.editor.StoryTitle._setup.bind(Tabblo.editor.StoryTitle));Tabblo.Grid.finishSpreadLoadEvent.subscribe(Tabblo.editor.StoryTitle._updateSetup.bind(Tabblo.editor.StoryTitle));if(typeof lockOverlays=="undefined")
{var lockOverlays=Tabblo.editor.lockOverlays;}
if(typeof unlockOverlays=="undefined")
{var unlockOverlays=Tabblo.editor.unlockOverlays;}
if(typeof overlaysLocked=="undefined")
{var overlaysLocked=Tabblo.editor.overlaysLocked;}
/* tabblo/editor/Caption.js */

Tabblo.add_namespace("Tabblo.editor.Captions",{toggle:function(ref)
{var new_cp=Tabblo.Grid.toggleCaptionPolicy();var url="/edit/captionpolicy/"+ref+"/";var pars="policy="+new_cp;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:function(ajaxResponse){Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}},'',true);this.enforcePolicy();},enforcePolicy:function()
{if(Tabblo.Grid.caption_policy=="show")
{this._show();}
else
{this.hide();}},_setVerb:function(verb)
{var tcv=$("toggle_caption_verb");if(tcv)
{tcv.innerHTML=verb;}},_show:function()
{var __isMe=false;try
{__isMe=Tabblo.editor.isMe();}
catch(e)
{printStack(e,'Captions._show');}
var divs=$$('div[caption]');for(i=0;i<divs.length;i++)
{var d=divs[i];var c=d.getAttribute("caption");if((c!=null)&&(c!=""))
{d.style.display="";}
else
{var e=d.getAttribute("editablecaption");if((e!=null)&&(e=="true"))
{if(trim(d.innerHTML).length==0&&__isMe)
{d.innerHTML=Tabblo.editor.Caption.DEF_CAP;}
d.style.display="";}}}
divs=null;this._setVerb("Hide");},hide:function()
{var divs=document.getElementsByTagName("div");for(i=0;i<divs.length;i++)
{var c=divs[i].getAttribute("caption");if((c!=null)&&(c!=""))
{divs[i].style.display="none";}}
divs=null;this._setVerb("Show");}});Tabblo.Grid.finishLoadingEvent.subscribe(Tabblo.editor.Captions.enforcePolicy.bind(Tabblo.editor.Captions));Tabblo.Grid.finishSpreadLoadEvent.subscribe(Tabblo.editor.Captions.enforcePolicy.bind(Tabblo.editor.Captions));Tabblo.add_namespace("Tabblo.editor.Caption",{DEF_CAP:"Double click here to edit caption",edit:function(evt,tbId)
{var tar;evt=__tcu.getEvt(evt);if(tbId)
{tar=$(tbId);}
else
{tar=__tcu.getTarget(evt);}
lockOverlays();if(tar.getElementsByTagName("input").length>0)
{return;}
var target=tar.getAttribute("blockid");var cap=(tar.innerHTML==this.DEF_CAP)?"":tar.getAttribute("full_caption");var cap_editor=document.createElement("textarea");cap_editor.className="cap_edit_field";cap_editor.id="caption_editor"+Tabblo.editor._captionEditor_count++;cap_editor.setAttribute("wrap","true");cap_editor.setAttribute("target",target);cap_editor.setAttribute("orig_caption",cap);cap_editor.className=tar.className;cap_editor.style.position="absolute";cap_editor.style.padding="0px";cap_editor.style.margin="0px";var w=Math.max(140,__tcu.getWidth(tar))-4;cap_editor.style.width=w+"px";cap_editor.style.left="0px"; var h=40;var hb=h+4; var parcel=Tabblo.editor.parcels.getParcelForItem(tar);var page=parcel.getPage();var workingheight=(Tabblo.Grid.borgMind[page].additiveitembottom-Tabblo.Grid.borgMind[page].caption_offsety);if(Tabblo.Grid.borgMind[page].fakemargin){workingheight+=Tabblo.Grid.borgMind[page].parcelheight;}
else{workingheight+=Tabblo.Grid.borgMind[page].inmarginy;}
var adj=(workingheight-hb);var top=0;if(adj<0){top+=adj;}
cap_editor.style.top=top+"px";cap_editor.style.height=h+"px";var text_and_border_color=__tcu.cssPropLookup(tar,"color");var bgcolor=__tcu.cssPropLookup($("capback"+target),"background-color");if(!bgcolor||(bgcolor=="")||(bgcolor=="transparent"))
{var wp=(Tabblo.Editor&&Tabblo.Editor.fully_initialized)?Tabblo.editor.Editor.curr_page:0;var obj=$("the_field_"+wp);if(obj)
{var fbgcolor=__tcu.cssPropLookup(obj,"background-color");if(fbgcolor&&(fbgcolor!=""))bgcolor=fbgcolor;}
if(!bgcolor||(bgcolor=="")||(bgcolor=="transparent"))
{obj=$("merchstock_"+wp);if(!obj)obj=document.body;var pbgcolor=__tcu.cssPropLookup(obj,"background-color");if(pbgcolor&&(pbgcolor!=""))bgcolor=pbgcolor;}}
if(!bgcolor||(bgcolor=="")||(bgcolor=="transparent"))
{ bgcolor="#ffffff";text_and_border_color="#000000";}
cap_editor.style.backgroundColor=bgcolor;cap_editor.style.color=text_and_border_color;cap_editor.style.border="2px solid "+text_and_border_color;cap_editor.style.overflow="auto";YAHOO.util.Event.addListener(cap_editor,"dblclick",YAHOO.util.Event.stopPropagation,null,null);cap_editor.onblur=this._submitProxy.bind(Tabblo.editor.Caption);cap_editor.innerHTML=cap;tar.innerHTML="";tar.appendChild(cap_editor); var prevZindex=Tabblo.Grid.promoteImageZindex(tar,'20000');if(prevZindex)
{tar.setAttribute("prevZindex",prevZindex);}
if(isSafari)
{cap_editor.focus();}
else
{try
{cap_editor.select();}
catch(e)
{printStack(e,'Caption.edit: select() failed');}}
cap_editor=null;},_submitProxy:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);this.submit(tar);},submit:function(tar)
{unlockOverlays();tar.onblur=null;var val=tar.value;var cap=(trim(val).length==0)?this.DEF_CAP:val;var pn=tar.parentNode;var escaped=cap.escapeHTML();pn.setAttribute("title",cap);pn.setAttribute("full_caption",escaped);pn.removeChild(tar);pn.innerHTML=escaped; var prevZindex=pn.getAttribute("prevZindex");if(prevZindex)
{Tabblo.Grid.promoteImageZindex(pn,prevZindex);pn.removeAttribute("prevZindex");}
pn=null;if(val!=tar.getAttribute("orig_caption"))
{var pars="item_id="+tar.getAttribute("target")+"&text="+__tcu.escape_utf8(val);var url="/edit/caption/"+Tabblo.editor.storyID+"/";Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:this._finishSubmit},'',true);}},_finishSubmit:function(ajaxResponse)
{if(ajaxResponse.statusText=="OK"&&ajaxResponse.responseObject['status']=='OK')
{Tabblo.editor.Warnings.bindWarnings(ajaxResponse);Tabblo.editor._currentTextEditBlock=null;Tabblo.editor._currentTextEditing=null;}
else
{showMessage("error","Problem Changing Caption",ajaxResponse.responseObject);}
__tcu.hideBlockerScreen(true);}});if(typeof lockOverlays=="undefined")
{var lockOverlays=Tabblo.editor.lockOverlays;}
if(typeof unlockOverlays=="undefined")
{var unlockOverlays=Tabblo.editor.unlockOverlays;}
/* tabblo/editor/image.js */

Tabblo.add_namespace("Tabblo.editor.image",{
_resizeInitialized:0,_scaleInprogress:0,CROP_CIRCLE_SIDE_HEIGHT:41,CROP_CIRCLE_SIDE_WIDTH:16, _activeFittedTargetImage:null,USE_OLD_FITOFFSET_CALC:false,_tempImg:null,_unload:function()
{Tabblo.editor.image._activeFittedTargetImage=null;Tabblo.editor.image._tmpImg=null;},_getFailure:function()
{var failure=ajaxResponse.responseObject['failure'];if(!failure)
{failure="Unknown problem on the server";}
return failure;},resizeMe:function(fittedTargetImageParcel)
{if(Tabblo.editor.image._resizeInitialized!=0){return;}
var fittedTargetImage=fittedTargetImageParcel.getImage();var urlsrc;var fitx,fity;if(fittedTargetImage.src){urlsrc=fittedTargetImage.src;fitx=fittedTargetImage.width;fity=fittedTargetImage.height;}
else if(fittedTargetImage.style.backgroundImage){urlsrc=fittedTargetImage.style.backgroundImage;urlsrc=urlsrc.substring(4,urlsrc.length-1);fitx=fittedTargetImage.clientWidth;fity=fittedTargetImage.clientHeight;}
else{return;}
__tcu.showBlockerScreen(true);lockOverlays();Tabblo.editor.image._resizeInitialized=fittedTargetImageParcel.id;var cropCircleDiv=__tcu.getDiv("crop_circle");try{if(fitx<133)
{ Tabblo.core.help.OLD_CS_TITLE=$("crop_circle_title").innerHTML;Tabblo.core.help.OLD_CS_INSTRUX=$("crop_circle_instruct").innerHTML;$("crop_circle_title").innerHTML="&nbsp;";$("crop_circle_instruct").innerHTML="&nbsp;";}
else
{$("crop_circle_title").innerHTML=(Tabblo.core.help.OLD_CS_TITLE?Tabblo.core.help.OLD_CS_TITLE:gettext("Pan &amp; Zoom"));$("crop_circle_instruct").innerHTML=(Tabblo.core.help.OLD_CS_INSTRUX?Tabblo.core.help.OLD_CS_INSTRUX:gettext("Drag image to pan"));}}
catch(e){}
var pos=__tcu.getXY(fittedTargetImage);cropCircleDiv.style.display='';YAHOO.util.Dom.setXY(cropCircleDiv,[pos[0]-15,pos[1]-15]);cropCircleDiv.setAttribute("target",fittedTargetImage.id);cropCircleDiv.setAttribute("enclosureWidth",fitx);cropCircleDiv.setAttribute("enclosureHeight",fity);cropCircleDiv.style.width=(fitx+33)+"px";cropCircleDiv.style.height=(fity+33)+"px";cropCircleDiv.style.display='none';var mainURL=urlsrc.substring(0,urlsrc.indexOf("?"));var queryParams=urlsrc.substring(urlsrc.indexOf("?")+1);queryParams=queryParams.split("&");var setbx=fitx;var setby=fity;var fitfactor=0;var fitoffsetx=0;var fitoffsety=0;var fitcpx=0.0;var fitcpy=0.0;var cropTLx=0.0;var cropTLy=0.0;var cropBRx=0.0;var cropBRy=0.0;var rotate=0;var lParams="?fitnocrop=1&get=dimensions";for(var i=0;i<queryParams.length;i++)
{var param=queryParams[i];if(!param){continue;}
var parts=param.split("=");var key=parts[0];var val=parts[1];if(!key||(val=="")||(val==null)){continue;}
if(key=="fitfactor")
{fitfactor=parseFloat(val);}
else if(key=="fit")
{ 
lParams+="&fit="+fitx+"x"+fity;}
else if(key=="setb")
{lParams+="&setb="+setbx+"x"+setby;}
else if(key=="fitcp")
{fitcpx=parseFloat(val.split("x")[0]);fitcpy=parseFloat(val.split("x")[1]);}
else if(key=="fitoffsetx")
{fitoffsetx=parseInt(val);}
else if(key=="fitoffsety")
{fitoffsety=parseInt(val);}
else if(key=="rotate")
{rotate=parseInt(val);}
else if(key=="crop")
{var tlbr=val.split('x');var tl=tlbr[0].split(',');var br=tlbr[1].split(',');cropTLx=tl[0];cropTLy=tl[1];cropBRx=br[0];cropBRy=br[1];}
if((key!="border")&&(key!="fit")&&(key!="setb")&&(key!="get")&&(key!="fitnocrop"))
{lParams+="&"+key+"="+val;}}
if(fitfactor>0)
{fittedTargetImage.setAttribute("scale",fitfactor);fittedTargetImage.setAttribute("first_scale",fitfactor);}
else
{fittedTargetImage.setAttribute("scale","");}
var finalURL=mainURL+lParams;fittedTargetImage.setAttribute("temp_src",finalURL);fittedTargetImage.setAttribute("fitoffsetx",fitoffsetx);fittedTargetImage.setAttribute("fitoffsety",fitoffsety);fittedTargetImage.setAttribute("fitcpx",fitcpx);fittedTargetImage.setAttribute("fitcpy",fitcpy);fittedTargetImage.setAttribute("cropTLx",cropTLx);fittedTargetImage.setAttribute("cropTLy",cropTLy);fittedTargetImage.setAttribute("cropBRx",cropBRx);fittedTargetImage.setAttribute("cropBRy",cropBRy);fittedTargetImage.setAttribute("rotate",rotate);fittedTargetImage.setAttribute("original_src",urlsrc);Tabblo.editor.image._activeFittedTargetImage=fittedTargetImage; var mc=$("main_crop");mc.style.width=fitx+"px";mc.style.height=fity+"px";var pars="url="+escape(finalURL);var url="/edit/getimagesize/";Tabblo.ajax.Send.beam(url,{method:'post',parameters:pars,onComplete:Tabblo.editor.image.finishResizeSetup},false,true);},finishResizeSetup:function(ajaxResponse)
{var afti=Tabblo.editor.image._activeFittedTargetImage;if((ajaxResponse.statusText=="OK")&&(ajaxResponse.responseObject['status']=='OK'))
{var dims=ajaxResponse.responseObject['src_w_h'].split(',');var w=parseInt(dims[0]);var h=parseInt(dims[1]);var mci=$("main_crop_img");if((w>0)&&(h>0))
{var newLeft=0;var newTop=0;var rotate=parseInt(afti.getAttribute("rotate"));var fitoffsetx=afti.getAttribute("fitoffsetx");var fitoffsety=afti.getAttribute("fitoffsety");var fitcpx=parseFloat(afti.getAttribute("fitcpx"));var fitcpy=parseFloat(afti.getAttribute("fitcpy"));var width,height;if(afti.src){width=afti.width;height=afti.height;}
else{width=afti.clientWidth;height=afti.clientHeight;}
if(fitcpx||fitcpy){var newcp=Tabblo.editor.image._calculateCpOnRotation(fitcpx,fitcpy,rotate);fitcpx=newcp[0];fitcpy=newcp[1];var coords=Tabblo.editor.image._calculateViewportRelativeTopLeft(width,height,w,h,fitcpx,fitcpy);newLeft=coords[0];newTop=coords[1];}
else{if(!rotate||(rotate==null)||(rotate<1)){newLeft=-parseInt(((w-width)/2))-parseInt(fitoffsetx);newTop=-parseInt(((h-height)/2))-parseInt(fitoffsety);}
else if(rotate==90){newLeft=-parseInt(((w-width)/2))+parseInt(fitoffsety);newTop=-parseInt(((h-height)/2))-parseInt(fitoffsetx);}
else if(rotate==180){newLeft=-parseInt(((w-width)/2))+parseInt(fitoffsetx);newTop=-parseInt(((h-height)/2))+parseInt(fitoffsety);}
else if(rotate==270){newLeft=-parseInt(((w-width)/2))-parseInt(fitoffsety);newTop=-parseInt(((h-height)/2))+parseInt(fitoffsetx);}
else{newLeft=-parseInt(((w-width)/2))-parseInt(fitoffsetx);newTop=-parseInt(((h-height)/2))-parseInt(fitoffsety);}}
mci.style.display='';mci.style.left=newLeft+"px";mci.style.top=newTop+"px";mci.setAttribute("originX",newLeft);mci.setAttribute("originY",newTop);mci.style.display='none';setTimeout("__tcu.getDiv(\"crop_circle\").style.display = \"\";",250);}
mci.style.display='';mci.style.width=w+"px";mci.style.height=h+"px";mci.style.display='none';mci.src=afti.getAttribute("temp_src");afti.removeAttribute("temp_src");Tabblo.core.effects.Simple_Appear(mci,0.002,0.8);}
else
{showMessage("error",gettext("Problem Getting Image Size"),Tabblo.editor.image._failure(ajaxReponseObject));} 
var parcel=Tabblo.editor.parcels.getParcelForItem(afti);var real_image_id;if(parcel)
{real_image_id=parcel.id;}
else
{real_image_id=afti.id;}
$("crop_zoom_up").setAttribute("target",real_image_id);$("crop_zoom_down").setAttribute("target",real_image_id);var ornaments=parcel.getOrnaments();if(ornaments&&(ornaments.length==1))
{var f=function(o)
{$("main_crop").setAttribute("ornamented","true");__tcu.setObjectOpacity($("main_crop_img"),45); var urly=o.getAttribute("src");$('main_crop').style.backgroundImage="url("+urly+")";}.bind(this,ornaments[0]);setTimeout(f,500);}
else
{if($("main_crop").getAttribute("ornamented")=="true")
{$("main_crop").setAttribute("ornamented","false");__tcu.setObjectOpacity($("main_crop_img"),100); $('main_crop').style.backgroundImage="url(/bitty-static/images/empty.gif)";}}},
_calculateCpOnRotation:function(fitcpx,fitcpy,rotate){var newcp=new Array(2);if(!rotate||(rotate==null)||(rotate<1)){}
else if(rotate==90){ var tmp=fitcpx;fitcpx=fitcpy;fitcpy=tmp; fitcpx=1-fitcpx;}
else if(rotate==180){ fitcpx=1-fitcpx;fitcpy=1-fitcpy;}
else if(rotate==270){ var tmp=fitcpx;fitcpx=fitcpy;fitcpy=tmp; fitcpy=1-fitcpy;}
else{}
newcp[0]=fitcpx;newcp[1]=fitcpy;return newcp;},
_rectifyRotatedCpToUpright:function(fitcpx,fitcpy,rotate){var newcp=new Array(2);if(!rotate||(rotate==null)||(rotate<1)){}
else if(rotate==90){ var tmp=fitcpx;fitcpx=fitcpy;fitcpy=tmp; fitcpy=1-fitcpy;}
else if(rotate==180){ fitcpx=1-fitcpx;fitcpy=1-fitcpy;}
else if(rotate==270){ var tmp=fitcpx;fitcpx=fitcpy;fitcpy=tmp; fitcpx=1-fitcpx;}
else{}
newcp[0]=fitcpx;newcp[1]=fitcpy;return newcp;},_calculateViewportRelativeTopLeft:function(viewport_w,viewport_h,real_w,real_h,center_x,center_y){var coords=new Array(2);var halfCropWidth=parseInt(viewport_w/2);var halfCropHeight=parseInt(viewport_h/2);var cpOffsetwInReal=parseInt(center_x*real_w);var cpOffsethInReal=parseInt(center_y*real_h);coords[0]=halfCropWidth-cpOffsetwInReal;coords[1]=halfCropHeight-cpOffsethInReal;return coords;}, 
_scaleImage:function(obj,scaleFac)
{if(Tabblo.editor.image._scaleInprogress!=0)
{return;}
var afti=Tabblo.editor.image._activeFittedTargetImage;scaleFac=parseFloat(scaleFac);var origscale=parseFloat(afti.getAttribute("scale"));var scale=origscale;if(isNaN(scale)||(scale==null)||(scale=="")||(scale=="NaN"))
{origscale=1.0;scale=1.0;}
scale=scale*(1+scaleFac);if(scale<0.9)
{ return;}
if(scale>6)
{ return;}
var localscale=scaleFac+1;var mci=$("main_crop_img");var newwidth=parseInt(mci.width*localscale);var newheight=parseInt(mci.height*localscale);var cs=__tcu.getDiv("crop_circle");var csWidthEnclosed=parseInt(cs.getAttribute("enclosureWidth"));var csHeightEnclosed=parseInt(cs.getAttribute("enclosureHeight"));if((newwidth<(csWidthEnclosed))||(newheight<(csHeightEnclosed)))
{scaleFac=((newwidth/csWidthEnclosed<newheight/csHeightEnclosed)?(csWidthEnclosed/mci.width):(csHeightEnclosed/mci.height));scaleFac=scaleFac-1;scale=1.0;localscale=scaleFac+1;newwidth=parseInt(mci.width*localscale);newheight=parseInt(mci.height*localscale);if((newwidth<(csWidthEnclosed))||(newheight<(csHeightEnclosed)))
{return;}
setTimeout(Tabblo.editor.image._snapCropImageToBounds,1500);}
Tabblo.editor.image._scaleInprogress=1;afti.setAttribute("scale",scale);afti.setAttribute("scalefac",scaleFac);afti.setAttribute("new_width",newwidth);afti.setAttribute("new_height",newheight); var oldheight=mci.height;var oldwidth=mci.width;var pointx=parseInt((oldwidth-newwidth)/2);var pointy=parseInt((oldheight-newheight)/2);Tabblo.core.effects.CompositeAnimation("main_crop_img",1.0,null,newwidth,newheight,null,null,null,null,null,{'by':[pointx,pointy]},null);var _ref;var parcel=Tabblo.editor.parcels.getParcelForItem(afti);if(parcel){_ref=parcel.id;}
else{_ref=afti.id;}
var url="/edit/scaleitem/"+Tabblo.editor.storyID+"/";var pars="item_id="+_ref+"&scale="+scale+"&fit="+csWidthEnclosed+"x"+csHeightEnclosed;var cropTLx=parseFloat(afti.getAttribute("cropTLx"));var cropTLy=parseFloat(afti.getAttribute("cropTLy"));var cropBRx=parseFloat(afti.getAttribute("cropBRx"));var cropBRy=parseFloat(afti.getAttribute("cropBRy"));if(cropTLx||cropTLy||cropBRx||cropBRy){pars+="&crop="+cropTLx+","+cropTLy+"x"+cropBRx+","+cropBRy;}
Tabblo.ajax.Send.beam(url,{method:'post',parameters:pars,onComplete:Tabblo.editor.image._finishScale},false,true);}, 
_finishScale:function(ajaxResponse)
{var afti=Tabblo.editor.image._activeFittedTargetImage;if((ajaxResponse.statusText=="OK")&&(ajaxResponse.responseObject['status']=='OK'))
{var dims=ajaxResponse.responseObject['src_w_h'].split(',');var w=parseInt(dims[0]);var h=parseInt(dims[1]);var url=ajaxResponse.responseObject['uri'];var fitoffsetx;var fitoffsety;var fitcpx;var fitcpy;var scaleFac=afti.getAttribute("scalefac");var mci=$("main_crop_img");var originX=parseInt(mci.getAttribute("originX"));var originY=parseInt(mci.getAttribute("originY"));if((w>0)&&(h>0))
{try
{fitcpx=parseInt(afti.getAttribute("fitcpx"));fitcpy=parseInt(afti.getAttribute("fitcpy"));}
catch(e)
{fitcpx=0;fitcpy=0;}
try
{fitoffsetx=parseInt(afti.getAttribute("fitoffsetx"));fitoffsety=parseInt(afti.getAttribute("fitoffsety"));if(fitoffsetx!=0)
{fitoffsetx=parseInt((scaleFac*fitoffsetx)+fitoffsetx);}
if(fitoffsety!=0)
{fitoffsety=parseInt((scaleFac*fitoffsety)+fitoffsety);}}
catch(e)
{fitoffsetx=0;fitoffsety=0;}
var width,height;if(afti.src){width=afti.width;height=afti.height;}
else{width=afti.clientWidth;height=afti.clientHeight;}
var newLeft,newTop;if(fitcpx&&fitcpy)
{var coords=Tabblo.editor.image._calculateViewportRelativeTopLeft(width,height,w,h,fitcpx,fitcpy);newLeft=coords[0];newTop=coords[1];}
else if((fitoffsetx!=0)&&(fitoffsety!=0))
{var T=parseInt(mci.style.top);var L=parseInt(mci.style.left);if(originX==L)
{L=0;}
else
{L=originX-L;}
if(originY==T)
{T=0;}
else
{T=originY-T;}
fitoffsetx+=L;afti.setAttribute("fitoffsetx",fitoffsetx);fitoffsety+=T;afti.setAttribute("fitoffsety",fitoffsety);newLeft=-parseInt(((w-width)/2))-parseInt(fitoffsetx);newTop=-parseInt(((h-height)/2))-parseInt(fitoffsety);}
else
{ newLeft=-parseInt(((w-width)/2));newTop=-parseInt(((h-height)/2));}
mci.setAttribute("originX",newLeft);mci.setAttribute("originY",newTop);}
setTimeout("Tabblo.editor.image._snapCropImageToBounds()",350);setTimeout("$(\"main_crop_img\").src = \""+url+"\";",100);setTimeout("Tabblo.editor.image.setTargetImage()",250);}
else
{showMessage("error","Problem Zooming",Tabblo.editor.image._failure(ajaxReponseObject));}
setTimeout("Tabblo.editor.image._scaleInprogress = 0;",750);},_snapCropImageToBounds:function(){var cs=__tcu.getDiv("crop_circle");var csWidthEnclosed=parseInt(cs.getAttribute("enclosureWidth"));var csHeightEnclosed=parseInt(cs.getAttribute("enclosureHeight"));var mainCropImg=$("main_crop_img");var mcil=parseInt(mainCropImg.style.left);var mcit=parseInt(mainCropImg.style.top);var mw=parseInt(mainCropImg.style.width);var mh=parseInt(mainCropImg.style.height);if(mcil>0){mainCropImg.style.left=0+"px";mainCropImg.setAttribute("originX",0);}
if(mcit>0){mainCropImg.style.top=0+"px";mainCropImg.setAttribute("originY",0);}
if((mcil+mw)<csWidthEnclosed){var tmp=csWidthEnclosed-mw;mainCropImg.style.left=tmp+"px";mainCropImg.setAttribute("originX",tmp);}
if((mcit+mh)<csHeightEnclosed){var tmp=csHeightEnclosed-mh;mainCropImg.style.top=tmp+"px";mainCropImg.setAttribute("originY",tmp);}},cropZoomUp:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);Tabblo.editor.image._scaleImage(tar,0.2);},cropZoomDown:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);Tabblo.editor.image._scaleImage(tar,-0.17);},limitDragPosition:function(element)
{var limitX=0;var limitY=0;var leftPos=parseInt(element.style.left);var topPos=parseInt(element.style.top);var cs=__tcu.getDiv("crop_circle");var csWidthEnclosed=parseInt(cs.getAttribute("enclosureWidth"));var csHeightEnclosed=parseInt(cs.getAttribute("enclosureHeight"));var width=parseInt(element.style.width)-csWidthEnclosed;var height=parseInt(element.style.height)-csHeightEnclosed;if(topPos>limitY){element.style.top=limitY+"px";}
if(leftPos>limitX){element.style.left=limitX+"px";}
if(topPos<-(height)){element.style.top=-(height)+"px";}
if(leftPos<-(width)){element.style.left=-(width)+"px";}},hideCropCircle:function(save)
{ var targetIm=$(__tcu.getDiv("crop_circle").getAttribute("target"));setTimeout("Tabblo.editor.image._resizeInitialized = 0;",750);unlockOverlays();if(Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}
Tabblo.editor.image._tempImg=targetIm;var src=targetIm.getAttribute("original_src");targetIm.removeAttribute("original_src");setTimeout("__tcu.getDiv(\"crop_circle\").style.display = \"none\";",750);__tcu.hideBlockerScreen(true);if(!save)
{if(targetIm.src){targetIm.src=src;}
else if(targetIm.style.backgroundImage){targetIm.style.backgroundImage="url("+src+")";}
return;}
var pars=Tabblo.editor.image._getParamsForSaveImageScale(targetIm,"True");var url="/edit/saveitemscale/"+Tabblo.editor.storyID+"/";Tabblo.ajax.Send.beam(url,{method:'post',parameters:pars,onComplete:Tabblo.editor.image._finishCrop},false,true);},_finishCrop:function(ajaxResponse)
{if(ajaxResponse!=null)
{if((ajaxResponse.statusText=="OK")&&(ajaxResponse.responseObject['status']=='OK'))
{var uri=ajaxResponse.responseObject['uri'];var ti=Tabblo.editor.image._tempImg;if(ti.src){ti.src=uri;}
else if(ti.style.backgroundImage){ti.style.backgroundImage="url("+uri+")";}
var parcel=Tabblo.editor.parcels.getParcelForItem(Tabblo.editor.image._tempImg);if(parcel)
{Tabblo.Grid.markGridpageDirty(Tabblo.editor.parcels.getPage(parcel));}
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}
else
{showMessage("error","Problem Changing Image",Tabblo.editor.image._failure(ajaxReponseObject));}} 
setTimeout("Tabblo.editor.image._resetOpacity();",600);setTimeout("$(\"main_crop_img\").style.top = \"0px\";",1000);setTimeout("$(\"main_crop_img\").style.left = \"0px\";",1000);},_resetOpacity:function()
{if(Tabblo.editor.image._tempImg)
{Tabblo.core.effects.Simple_Appear(Tabblo.editor.image._tempImg,0.002,0.8);}
Tabblo.editor.image._tempImg=null;},_getParamsForSaveImageScale:function(local_tar,store_str)
{var origX=0;var origY=0;var origCoords='';var setbX=0;var setbY=0;var origFitparam='';var cropTLx=0.0;var cropTLy=0.0;var cropBRx=0.0;var cropBRy=0.0;var origCropparam='';var fitfactor=1.0;var fitfactorstr=local_tar.getAttribute("scale");if(fitfactorstr&&(fitfactorstr!=null)&&(fitfactorstr!=""))
{fitfactor=parseFloat(fitfactorstr);}
if(!fitfactor)
{fitfactor=1.0;}
var src=null;if(local_tar.src){src=local_tar.src;}
else if(local_tar.style.backgroundImage){src=local_tar.style.backgroundImage;src=src.substring(4,src.length-1);}
if(src.indexOf("fit=")!=-1)
{origFitparam=src.substring(src.indexOf("fit=")+4);if(origFitparam.indexOf("&")!=-1)
{origFitparam=origFitparam.substring(0,origFitparam.indexOf("&"));}
origCoords=origFitparam.split("x");origX=origCoords[0];origY=origCoords[1];}
if(src.indexOf("setb=")!=-1)
{origFitparam=src.substring(src.indexOf("setb=")+5);if(origFitparam.indexOf("&")!=-1)
{origFitparam=origFitparam.substring(0,origFitparam.indexOf("&"));}
origCoords=origFitparam.split("x");setbX=origCoords[0];setbY=origCoords[1];}
if(src.indexOf("crop=")!=-1)
{origCropparam=src.substring(src.indexOf("crop=")+5);if(origCropparam.indexOf("&")!=-1)
{origCropparam=origCropparam.substring(0,origCropparam.indexOf("&"));}
var tlbr=origCropparam.split("x");var tl=tlbr[0].split(',');var br=tlbr[1].split(',');cropTLx=tl[0];cropTLy=tl[1];cropBRx=br[0];cropBRy=br[1];}
var parcel=Tabblo.editor.parcels.getParcelForItem(local_tar);var iid;if(parcel){iid=parcel.id;}
else{iid=local_tar.id;} 
var mci=$("main_crop_img");var T=parseInt(mci.style.top);var L=parseInt(mci.style.left);var W=parseInt(mci.style.width);var H=parseInt(mci.style.height); var cs=__tcu.getDiv("crop_circle");var csWidthEnclosed=parseInt(cs.getAttribute("enclosureWidth"));var csHeightEnclosed=parseInt(cs.getAttribute("enclosureHeight"));var fitoffsetx=0;var fitoffsety=0;var fitcpx;var fitcpy;var rotate=parseInt(Tabblo.editor.image._activeFittedTargetImage.getAttribute("rotate"));var pars="item_id="+iid+"&store_xform="+store_str+"&scale="+fitfactor
+"&original_x="+origX+"&original_y="+origY+"&setbx="+setbX+"&setby="+setbY;if(Tabblo.editor.image.USE_OLD_FITOFFSET_CALC)
{if(!rotate||(rotate==null)||(rotate<1))
{fitoffsetx=parseInt(-(L)-(W-csWidthEnclosed)/2);fitoffsety=parseInt(-(T)-(H-csHeightEnclosed)/2);}
else if(rotate==90)
{fitoffsetx=parseInt(-(T)-(H-csHeightEnclosed)/2);fitoffsety=-(parseInt(-(L)-(W-csWidthEnclosed)/2));}
else if(rotate==180)
{fitoffsetx=-(parseInt(-(L)-(W-csWidthEnclosed)/2));fitoffsety=-(parseInt(-(T)-(H-csHeightEnclosed)/2));}
else if(rotate==270)
{fitoffsetx=-(parseInt(-(T)-(H-csHeightEnclosed)/2));fitoffsety=parseInt(-(L)-(W-csWidthEnclosed)/2);}
else
{fitoffsetx=parseInt(-(L)-(W-csWidthEnclosed)/2);fitoffsety=parseInt(-(T)-(H-csHeightEnclosed)/2);}}
else
{fitcpx=parseFloat((-L+parseFloat(csWidthEnclosed/2))/W);fitcpy=parseFloat((-T+parseFloat(csHeightEnclosed/2))/H);var newcp=Tabblo.editor.image._rectifyRotatedCpToUpright(fitcpx,fitcpy,rotate);fitcpx=newcp[0];fitcpy=newcp[1];}
pars+="&x="+fitoffsetx+"&y="+fitoffsety;if(fitcpx)
{pars+="&fitcpx="+fitcpx+"&fitcpy="+fitcpy;}
if(origCropparam)
{pars+="&cropTLx="+cropTLx+"&cropTLy="+cropTLy+"&cropBRx="+cropBRx+"&cropBRy="+cropBRy;}
return pars;},setTargetImage:function()
{var pars=Tabblo.editor.image._getParamsForSaveImageScale(Tabblo.editor.image._activeFittedTargetImage,"False");Tabblo.editor.image._tempImg=$(__tcu.getDiv("crop_circle").getAttribute("target"));var url="/edit/saveitemscale/"+Tabblo.editor.storyID+"/";Tabblo.ajax.Send.beam(url,{method:'post',parameters:pars,onComplete:Tabblo.editor.image._finishSetTargetImage},false,true);},_finishSetTargetImage:function(ajaxResponse)
{if(ajaxResponse!=null)
{if((ajaxResponse.statusText=="OK")&&(ajaxResponse.responseObject['status']=='OK'))
{var uri=ajaxResponse.responseObject['uri'];var src_w_h=ajaxResponse.responseObject['src_w_h'];var ti=Tabblo.editor.image._tempImg;if(ti.src)
{ti.src=uri;}
else if(ti.style.backgroundImage)
{ti.style.backgroundImage="url("+uri+")";}
ti.setAttribute("src_w_h",src_w_h);Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}
else
{showMessage("error","Problem Changing Image",Tabblo.editor.image._failure(ajaxReponseObject));}}},cancelApplyRotate:function()
{Tabblo.core.effects.Simple_Fade(__tcu.getDiv('rotate_div'),0.4,0.0);if(self.unlockOverlays)
{unlockOverlays();}
__tcu.hideBlockerScreen(true);__tcu.getDiv("rotate_div").setAttribute("itemid","");},setupRotateChoices:function(obj,not_in_tabblo)
{var image=obj;if(!not_in_tabblo)
{image=obj.getImage();}
var baseSource=image.src;var xformVal="";if(baseSource.indexOf("xform")!=-1)
{xformVal=baseSource.substring(baseSource.indexOf("xform="));xformVal="&"+xformVal.substring(0,xformVal.indexOf("&"));}
var timestamp;var token;if(baseSource.indexOf("timestamp=")!=-1)
{timestamp=baseSource.substring(baseSource.indexOf("timestamp="));if(timestamp.indexOf("&")!=-1)
{timestamp="&"+timestamp.substring(0,timestamp.indexOf("&"));}
else
{timestamp="&"+timestamp;}}
if(baseSource.indexOf("token=")!=-1)
{token=baseSource.substring(baseSource.indexOf("token="));if(token.indexOf("&")!=-1)
{token="&"+token.substring(0,token.indexOf("&"));}
else
{token="&"+token;}}
var url="";if(baseSource.indexOf("url=")!=-1)
{url=baseSource.substring(baseSource.indexOf("url="));if(url.indexOf("&")!=-1)
{url="&"+url.substring(0,url.indexOf("&"));}
else
{url="&"+url;}}
baseSource=baseSource.substring(0,baseSource.indexOf("?")+1)+"fit=75x75"+timestamp+token+url;var effectSource=baseSource+"&rotate=360"+xformVal;if(!not_in_tabblo){$("ec_holder_r360").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"Tabblo.editor.image.setEffectChoice('r360');Tabblo.editor.image.applyEffect()\" src='"+effectSource+"'/>";effectSource=baseSource+"&rotate=90"+xformVal;$("ec_holder_r90").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"Tabblo.editor.image.setEffectChoice('r90');Tabblo.editor.image.applyEffect()\" src='"+effectSource+"'/>";effectSource=baseSource+"&rotate=180"+xformVal;$("ec_holder_r180").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"Tabblo.editor.image.setEffectChoice('r180');Tabblo.editor.image.applyEffect()\" src='"+effectSource+"'/>";effectSource=baseSource+"&rotate=270"+xformVal;$("ec_holder_r270").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"Tabblo.editor.image.setEffectChoice('r270');Tabblo.editor.image.applyEffect()\" src='"+effectSource+"'/>";}
else{$("ec_holder_r360").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"setItemEffectChoice('r360');\" src='"+effectSource+"'/>";effectSource=baseSource+"&rotate=90"+xformVal;$("ec_holder_r90").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"setItemEffectChoice('r90');\" src='"+effectSource+"'/>";effectSource=baseSource+"&rotate=180"+xformVal;$("ec_holder_r180").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"setItemEffectChoice('r180');\" src='"+effectSource+"'/>";effectSource=baseSource+"&rotate=270"+xformVal;$("ec_holder_r270").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"setItemEffectChoice('r270');\" src='"+effectSource+"'/>";}},setEffectChoice:function(c)
{__tcu.getDiv('effects_div');$("current_effect_choice").value=c;},setEffectsNone:function()
{Tabblo.editor.image.setEffectChoice('none');Tabblo.editor.image.applyEffect();},hoverEffectsChoice:function(obj)
{obj.style.border="3px solid #cce2fa";},unhoverEffectsChoice:function(obj)
{obj.style.border="3px solid #ffffff";},setupEffectsChoices:function(obj)
{var image=obj.getImage();var baseSource=image.src;var rotateVal="";if(baseSource.indexOf("rotate")!=-1)
{rotateVal=baseSource.substring(baseSource.indexOf("rotate="));rotateVal="&"+rotateVal.substring(0,rotateVal.indexOf("&"));}
var timestamp;var token;if(baseSource.indexOf("timestamp=")!=-1)
{timestamp=baseSource.substring(baseSource.indexOf("timestamp="));if(timestamp.indexOf("&")!=-1)
{timestamp="&"+timestamp.substring(0,timestamp.indexOf("&"));}
else
{timestamp="&"+timestamp;}}
if(baseSource.indexOf("token=")!=-1)
{token=baseSource.substring(baseSource.indexOf("token="));if(token.indexOf("&")!=-1)
{token="&"+token.substring(0,token.indexOf("&"));}
else
{token="&"+token;}}
var url="";if(baseSource.indexOf("url=")!=-1)
{url=baseSource.substring(baseSource.indexOf("url="));if(url.indexOf("&")!=-1)
{url="&"+url.substring(0,url.indexOf("&"));}
else
{url="&"+url;}}
baseSource=baseSource.substring(0,baseSource.indexOf("?")+1)+"fit=75x75"+timestamp+token+url;var effectSource=baseSource+"&xform=bw"+rotateVal;$("ec_holder_bw").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"Tabblo.editor.image.setEffectChoice('bw');Tabblo.editor.image.applyEffect()\" src='"+effectSource+"'/>";effectSource=baseSource+"&xform=sepia"+rotateVal;$("ec_holder_sep").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"Tabblo.editor.image.setEffectChoice('sepia');Tabblo.editor.image.applyEffect()\" src='"+effectSource+"'/>";effectSource=baseSource+"&xform=oilpaint"+rotateVal;$("ec_holder_op").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"Tabblo.editor.image.setEffectChoice('oilpaint');Tabblo.editor.image.applyEffect()\" src='"+effectSource+"'/>";effectSource=baseSource+"&xform=negative"+rotateVal;$("ec_holder_negative").innerHTML="<img style=\"cursor:pointer;border:3px solid #ffffff;\" onmouseover=\"Tabblo.editor.image.hoverEffectsChoice(this)\" onmouseout=\"Tabblo.editor.image.unhoverEffectsChoice(this)\" onclick=\"Tabblo.editor.image.setEffectChoice('negative');Tabblo.editor.image.applyEffect()\" src='"+effectSource+"'/>";},applyEffect:function(proxyID,ftype)
{try
{var iid=proxyID;var filtertype=ftype;if(iid==null&&ftype==null)
{if(__tcu.getDiv("effects_div").style.display=="none")
{iid=__tcu.getDiv("rotate_div").getAttribute("itemid");}
else
{iid=__tcu.getDiv("effects_div").getAttribute("itemid");}
filtertype=$("current_effect_choice").value;}
var pars="item_id="+iid+"&effect="+filtertype;var parcel=Tabblo.editor.parcels.getParcelForItem($(iid));var page=parcel.getPage();var image=parcel.getImage();var x=image.width;var y=image.height;var isSquare=(x==y)?true:false;var isRotate=(filtertype=='r90'||filtertype=='r180'||filtertype=='r270'||filtertype=='r360')?true:false;var url="/edit/applyeffect/"+Tabblo.editor.storyID+"/";var scale=Tabblo.Grid.borgMind[page].scale;var holder_id=Tabblo.Grid.getHolderIdFromPageId(page,true,false); pars+="&scale="+Tabblo.Grid.borgMind[Tabblo.editor.STORY_PAGE].scale;new Tabblo.editor.actions.Action(new Tabblo.editor.actions.SimpleAction("applyEffect",function(){},url,pars,function(ajaxResponse){if(ajaxResponse.statusText=="OK")
{Tabblo.editor.image._finishApplyEffect(ajaxResponse);if(Tabblo.Grid.layout_mode=="bric")
{Tabblo.Grid.applyGridSkeleton(ajaxResponse);} 
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}
else
{Tabblo.editor.image.cancelApplyEffect();}},true,false,1500),{}).run();}
catch(e)
{Tabblo.Grid.finishGridAction();printfire('applyEffect exception: '+e.message);}}, _finishApplyEffect:function(ajaxResponse)
{try
{if(ajaxResponse.statusText=="OK")
{if(ajaxResponse.responseObject['applied'].indexOf('applied:')!=-1)
{var replyArray=ajaxResponse.responseObject['applied'].substring(8).split(',');var iid=replyArray[0];var parcel=Tabblo.editor.parcels.getParcelForItem($(iid));var image=parcel.getImage();image.src=replyArray[1];var newgridX=parseInt(replyArray[2]);var newgridY=parseInt(replyArray[3]);var newgridsize=newgridX+','+newgridY;parcel.setAttribute("gridsize",newgridsize);var origSourceHolder=Tabblo.Grid.grid[parcel.id];origSourceHolder[6]=newgridsize;Tabblo.Grid.finishGridAction();Tabblo.Grid.markGridpageDirty(parcel.getPage());}
else
{printfire("FAILURE: applyeffect should never reload the page");}}
if(__tcu.getDiv("effects_div").style.display=="none")
{Tabblo.editor.image.cancelApplyRotate();}
else
{Tabblo.editor.image.cancelApplyEffect();}}
catch(e)
{Tabblo.Grid.finishGridAction();printStack(e,'_finishApplyEffect');} 
__tcu.getDiv("effects_div").setAttribute("itemid","");__tcu.getDiv("rotate_div").setAttribute("itemid","");},cancelApplyEffect:function()
{Tabblo.core.effects.Simple_Fade(__tcu.getDiv('effects_div'),0.4,0.0);if(self.unlockOverlays)
{Tabblo.Grid.finishGridAction();}
__tcu.hideBlockerScreen(true); __tcu.getDiv("effects_div").setAttribute("itemid","");},applyImageFilter:function(obj,ftype)
{var iid=obj.id.substring(5); Tabblo.editor.image.applyEffect(iid,ftype);}});YAHOO.util.Event.addListener(window,"unload",Tabblo.editor.image._unload);
/* tabblo/editor/html.js */

Tabblo.add_namespace("Tabblo.editor.html",{rng:null,_tempRTE:null,_tempHTML:null,_tempStyles:null,_tempRawText:null,_isBackgroundColor:false,unload:function()
{Tabblo.editor.html.rng=null;Tabblo.editor.html._tempRTE=null;Tabblo.editor.html._tempHTML=null;Tabblo.editor.html._tempStyles=null;Tabblo.editor.html._tempRawText=null;Tabblo.editor.html._isBackgroundColor=false;},insertNodeAtSelection:function(win,insertNode)
{ var sel=win.getSelection();var range=sel.getRangeAt(0); sel.removeAllRanges(); range.deleteContents(); var container=range.startContainer;var pos=range.startOffset; range=document.createRange();if(container.nodeType==3&&insertNode.nodeType==3)
{ container.insertData(pos,insertNode.nodeValue); range.setEnd(container,pos+insertNode.length);range.setStart(container,pos+insertNode.length);}
else
{var afterNode;if(container.nodeType==3)
{ var textNode=container;container=textNode.parentNode;var text=textNode.nodeValue; var textBefore=text.substr(0,pos); var textAfter=text.substr(pos);var beforeNode=document.createTextNode(textBefore);afterNode=document.createTextNode(textAfter); container.insertBefore(afterNode,textNode);container.insertBefore(insertNode,afterNode);container.insertBefore(beforeNode,insertNode); container.removeChild(textNode);}
else
{ afterNode=container.childNodes[pos];container.insertBefore(insertNode,afterNode);}
range.setEnd(afterNode,0);range.setStart(afterNode,0);}
sel.addRange(range);},getOffsetTop:function(elm)
{var mOffsetTop=elm.offsetTop;var mOffsetParent=elm.offsetParent;while(mOffsetParent)
{mOffsetTop+=mOffsetParent.offsetTop;mOffsetParent=mOffsetParent.offsetParent;}
return mOffsetTop;},getOffsetLeft:function(elm)
{var mOffsetLeft=elm.offsetLeft;var mOffsetParent=elm.offsetParent;while(mOffsetParent)
{mOffsetLeft+=mOffsetParent.offsetLeft;mOffsetParent=mOffsetParent.offsetParent;}
return mOffsetLeft;},Select:function(selectname)
{var cursel=$(selectname).selectedIndex;if(cursel!=0)
{var selected=$(selectname).options[cursel].value;$("edit_frame").contentWindow.document.execCommand(selectname,false,selected);$(selectname).selectedIndex=0;}
$("edit_frame").contentWindow.focus();},dismisscolorpalette:function()
{$("colorpalette").style.visibility="hidden";},setRange:function(rte)
{ var oRTE;if(document.all)
{oRTE=frames[rte];var selection=oRTE.document.selection;if(selection!=null)Tabblo.editor.html.rng=selection.createRange();}
else
{oRTE=document.getElementById(rte).contentWindow;var selection=oRTE.getSelection();Tabblo.editor.html.rng=selection.getRangeAt(selection.rangeCount-1).cloneRange();}
return Tabblo.editor.html.rng;},setHTML:function(html)
{var frameHtml="<html>\n";frameHtml+="<head>\n";frameHtml+="<style>\n";frameHtml+="body {\n";frameHtml+="	background: #eaeaea;\n";frameHtml+="	margin: 0px;\n";frameHtml+="	padding: 0px;\n";frameHtml+="  font-family : verdana;\n";frameHtml+="  font-size : 10pt;\n";frameHtml+="}\n";frameHtml+="</style>\n";frameHtml+="</head>\n";frameHtml+="<body>\n";frameHtml+=html+"\n";frameHtml+="</body>\n";frameHtml+="</html>";var rte;if(!isIE)
{rte=$("edit_frame").contentWindow.document;rte.open();rte.write(frameHtml);rte.close();}
else
{rte=frames["edit_frame"].document;rte.open();rte.write(frameHtml);rte.close();frames["edit_frame"].document.styleSheets[0].addRule("p","margin: 0px;");}
rte.designMode="On";},getEditorHTML:function()
{var html="";if(!isIE)
{html=$("edit_frame").contentWindow.document.body.innerHTML;}
else
{html=document.frames("edit_frame").document.body.innerHTML;}
return html;},Start:function(html,styles,rawText)
{Tabblo.editor.html.enableDesignMode("edit_frame",html,null,styles,rawText);},enableDesignModeProxy:function()
{Tabblo.editor.html.enableDesignMode(Tabblo.editor.html._tempRTE,Tabblo.editor.html._tempHTML,null,Tabblo.editor.html._tempStyles,Tabblo.editor.html._tempRawText);},ieProxyEvent:function(event)
{Tabblo.editor.html.ieKeyPress(event,"edit_frame");},enableDesignMode:function(rte,html,readOnly,styles,rawText)
{var w=332;var h=400;var frameHtml="<html id=\""+rte+"\">\n";frameHtml+="<head>\n";frameHtml+="<style>\n";frameHtml+=styles;frameHtml+="</style>\n";frameHtml+="</head>\n";frameHtml+="<body style='margin:5px;'>\n";if(html.getAttribute("use_raw")=="true")
{frameHtml+=rawText+"\n";}
else
{frameHtml+=html.value+"\n";}
frameHtml+="</body>\n";frameHtml+="</html>"; if(isSafari)
{$("text_edit_tools_large").style.display="none";}
else
{$("text_edit_tools_large").style.display="";}
if(isSafari)
{rawText=rawText.replace(/<BR>/ig,'\n');rawText=rawText.replace(/<BR\/>/ig,'\n');rawText=rawText.replace(/(<p([^>]+)>)/ig,"");rawText=rawText.replace(/(<\/p>)/ig,"");$(rte+"_holder").innerHTML="<textarea id='"+rte+"' style='"+styles+"background-color:#ffffff;color:#000000;width:"+w+"px;height:"+h+";padding:0px;'>"+rawText+"</textarea>";}
else
{ if(is_ie6){w=405;}
$(rte+"_holder").innerHTML="<iframe id='"+rte+"' style='width:"+w+"px;height:"+h+";padding:0px;' frameborder='0' border='0'></iframe>";if(document.all)
{var oRTE=frames[rte].document;oRTE.open();oRTE.write(frameHtml);oRTE.close();if(!readOnly)
{oRTE.designMode="On";frames[rte].document.attachEvent("onkeypress",Tabblo.editor.html.ieProxyEvent);}}
else
{try
{if(!readOnly)document.getElementById(rte).contentDocument.designMode="on";var oRTE=document.getElementById(rte).contentWindow.document;oRTE.open();oRTE.write(frameHtml);oRTE.close();if(isGecko&&!readOnly)
{ oRTE.addEventListener("keypress",Tabblo.editor.html.geckoKeyPress,true);}}
catch(e)
{if(isGecko)
{Tabblo.editor.html._tempRTE=rte;Tabblo.editor.html._tempHTML=html;Tabblo.editor.html._tempStyles=styles;Tabblo.editor.html._tempRawText=rawText;setTimeout("Tabblo.editor.html.enableDesignModeProxy();",10);}
else
{return false;}}}}
return true;},removeFormatProxy:function()
{Tabblo.editor.html.rng=Tabblo.editor.html.setRange("edit_frame");if(isIE)
{Tabblo.editor.html.rng=Tabblo.editor.html.rng.htmlText;}
if(Tabblo.editor.html.rng!="")
{Tabblo.editor.html.executeEditCommand('edit_frame','removeformat');}
else
{showMessage("info",gettext("Select text"),gettext("To remove formatting, please select some text first."));}},executeEditCommand:function(rte,command,extraParam)
{var editor=(document.all)?frames[rte].document:document.getElementById(rte).contentWindow.document;var fs="";var sel="";if(isIE)
{sel=editor.selection.createRange().text;}
else
{sel=editor.getSelection();}
var sel_is_zero=(trim(sel).length==0);if(command=="fontsize"||command=="fontname"||command=="forecolor"||command=="backcolor"||command=="hilitecolor")
{fs=extraParam;}
else if(command=="createlink")
{if(sel_is_zero)
{showMessage("info",gettext("Add a link"),gettext("Please select some text to create a link"));}
else
{__tcu.getDiv('link_div');if(isIE)
{var txt=prompt(gettext("Please enter URL:"),"http://");if(txt!=null)
{$("add_link_field").value=txt;Tabblo.editor.html.createLinkProxy("edit_frame");}}
else
{$("add_link_field").value="http://";__tcu.appearCentered($("link_div"));}}
return;}
if(sel_is_zero)
{editor.execCommand("selectAll",false,null);}
editor.execCommand(command,false,fs);},executeColorPicker:function(isBack)
{Tabblo.editor.html.setRange("edit_frame");var cwd=__tcu.getDiv("color_wheel_div");var load_wheel=function()
{var cw=$("color_wheel_holder");$("ok_button_row").style.display="none";Tabblo.editor.setupColorPicker(true);__tcu.appearCentered(cwd);Tabblo.editor.html._isBackgroundColor=(isBack)?true:false;};if(!$('color_picker'))
{jQuery("#color_wheel_holder").load("/bitty-static/fragments/color_picker.html",null,load_wheel);}
else
{load_wheel();}},cancelEditColorWheel:function()
{Tabblo.core.effects.Simple_Fade(__tcu.getDiv("color_wheel_div"),0.3,0);},selectColorWheelColor:function()
{if(document.all)
{ Tabblo.editor.html.rng.select();}
var color=null;if(Tabblo.editor.html._isBackgroundColor)
{color=(isIE)?'backcolor':'hilitecolor';}
else
{color='forecolor';}
Tabblo.editor.html.executeEditCommand('edit_frame',color,$("color_picker_value").value);Tabblo.editor.html.cancelEditColorWheel();},createLinkProxy:function(rte)
{__tcu.getDiv('link_div');var szURL=$("add_link_field").value;if(szURL!=null&&szURL!=""&&szURL!="http://")
{var editor=(document.all)?frames[rte].document:document.getElementById(rte).contentWindow.document;editor.execCommand("createlink",false,szURL);Tabblo.editor.html.cancelAddLink();}},cancelAddLink:function()
{Tabblo.core.effects.Simple_Fade(__tcu.getDiv("link_div"),0.2);},geckoKeyPress:function(evt)
{var rte=evt.target.id;if(evt.ctrlKey)
{var key=String.fromCharCode(evt.charCode).toLowerCase();var cmd='';switch(key)
{case'b':cmd="bold";break;case'i':cmd="italic";break;case'u':cmd="underline";break;};if(cmd)
{Tabblo.editor.html.rteCommand(rte,cmd,null); evt.preventDefault();evt.stopPropagation();}}},ieKeyPress:function(evt,rte)
{var key=(evt.which||evt.charCode||evt.keyCode);var stringKey=String.fromCharCode(key).toLowerCase();},rteCommand:function(rte,command,option)
{ var oRTE;if(document.all)
{oRTE=frames[rte];}
else
{oRTE=document.getElementById(rte).contentWindow;}
try
{oRTE.focus();oRTE.document.execCommand(command,false,option);oRTE.focus();}
catch(e)
{}},getHTMLFromEditor:function(rte)
{if(document.all)
{ var output=escape(frames[rte].document.body.innerHTML);return unescape(output);}
else
{if(isSafari)
{return $(rte).value;}
else
{var oRTE=document.getElementById(rte).contentWindow.document;return oRTE.body.innerHTML;}}},clearHTMLFromEditor:function(rte)
{$(rte+"_holder").innerHTML="";}});YAHOO.util.Event.addListener(window,"unload",Tabblo.editor.html.unload);
/* tabblo/editor/Textblock.js */

Tabblo.add_namespace("Tabblo.editor.Textblock",{DEF_TB:"Double click here to edit text", _tb_textface:null,_story_textsize:null,_story_textface:null,_init:function(str)
{this._story_textsize=null;this._story_textface=null;},_setupEditBar:function()
{var editBar=__tcu.getDiv('text_edit_bar'); var fg=jQuery(Tabblo.Grid.TheFirstGrid);var textSizes=eval(fg.attr('font_sizes')); var fe=jQuery(Tabblo.Grid.firstElement);var preset_value=parseInt(fe.attr("textsize")); var list=jQuery("#text_sizes_list");list.empty();jQuery("<option value='-1' selected='true'>"+gettext("Font size")+"</option>").appendTo(jQuery(list)); list.each(function(){for(var j=0;j<textSizes.length;j++){jQuery("<option value='"+(j+1)+"'>"+textSizes[j]+"</option>").appendTo(jQuery(this));}});if(Tabblo.Grid&&((Tabblo.Grid.product_type=="foldedcard")||(Tabblo.Grid.product_type=="poster")))
{ $("createlink").style.display="none";$("createlink").style.visibility="hidden";}
return editBar;},insert:function(virtualEmpty)
{ this._tb_textface=null;lockOverlays();Tabblo.editor._currentTextEditing="";Tabblo.editor._currentTextEditBlock=virtualEmpty;var editBar=this._setupEditBar();var tea=$("text_edit_area");tea.setAttribute("virtualEmpty",virtualEmpty);tea.setAttribute("use_raw",isSafari?"true":"false");tea.value="";this._finishEditSetup(editBar,tea,"","");},edit:function(evt,tbId)
{ this._tb_textface=null;var tar;evt=__tcu.getEvt(evt);if(tbId)
{tar=$(tbId);}
else
{tar=__tcu.getTarget(evt);}
lockOverlays();var blockID=tar.getAttribute("blockid");var parHolder=$("t"+blockID);var rawText=$(parHolder.id+"_raw").innerHTML;var cap=(tar.innerHTML.toLowerCase().strip()==this.DEF_TB.toLowerCase())?"":rawText;Tabblo.editor._currentTextEditing=tar.innerHTML;Tabblo.editor._currentTextEditBlock=tar;var editBar=this._setupEditBar();var tea=$("text_edit_area");tea.setAttribute("target",blockID);tea.setAttribute("use_raw",isSafari?"true":"false");tea.value=cap;var editstyle=tar.parentNode.getAttribute("editstyle");if(!editstyle)
{var url="/studio/stories/gettexteditstyle/"+Tabblo.editor.storyID;var pars="textid=t"+tar.getAttribute("blockid");Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:this._handleStyles.bind(this,editBar,tea,tar,cap)});}
else
{this._finishEditSetup(editBar,tea,cap,editstyle);}},editBubble:function(bubbletextId)
{var evt=YAHOO.util.Event.getEvent();Event.stop(evt); var tar=$(bubbletextId);var rawText=$(bubbletextId+"_raw").innerHTML;var cap=(rawText==this.DEF_TB)?"":rawText;var editBar=this._setupEditBar();var tea=$("text_edit_area");tea.setAttribute("target",bubbletextId);tea.setAttribute("bubble","true");tea.setAttribute("use_raw",isSafari?"true":"false");tea.value=cap;this._finishEditSetup(editBar,tea,cap,tar.getAttribute("editstyle"));},_handleStyles:function(editBar,tea,tar,cap,ajaxResponse)
{var styles;if(ajaxResponse.statusText=="OK")
{styles=ajaxResponse.responseObject.style;tar.parentNode.setAttribute("editstyle",styles);}
else
{styles="";}
this._finishEditSetup(editBar,tea,cap,styles);},_finishEditSetup:function(editBar,tea,cap,styles)
{styles+="background-color: #ffffff; background-image: none; background-repeat: none; color: #000000; cursor: text; ";var s=(isSafari)?"":"body {";if(!isSafari)
{s+=styles;}
s+=(isSafari)?"":"}";Tabblo.editor.html.Start(tea,s,cap);__tcu.appearCentered(editBar);if(isMac||is_ie6){var tebib=__tcu.getDiv("text_edit_bar_iframe_blocker");tebib.style.width=(editBar.width||editBar.offsetWidth)+"px";tebib.style.height=(editBar.height||editBar.offsetHeight)+"px";__tcu.appearCentered(tebib);}
__tcu.showBlockerScreen(true);if(!isSafari)
{setTimeout('$("edit_frame").contentWindow.focus()',800);}},cancelEdit:function()
{Tabblo.core.effects.Simple_Fade(__tcu.getDiv("text_edit_bar"),0.3,0);if(isMac||is_ie6){__tcu.getDiv('text_edit_bar_iframe_blocker').style.display="none";}
Tabblo.editor.html.cancelEditColorWheel();var tea=$("text_edit_area");tea.removeAttribute("target");tea.removeAttribute("use_raw");tea.removeAttribute("bubble");tea.value="";Tabblo.editor.html.clearHTMLFromEditor("edit_frame");Tabblo.editor._currentTextEditing=null;Tabblo.editor._currentTextEditBlock=null;unlockOverlays();__tcu.hideBlockerScreen(true);},submit:function(tea)
{unlockOverlays();if(tea.getAttribute("textblock")!="true")
return;var val=Tabblo.editor.html.getHTMLFromEditor("edit_frame");if(isSafari)
{val=val.escapeHTML().replace(/\n/g,'<br/>');}
var url=null;var pars=null;var comp=null;var gridAction=null;var tar=tea.getAttribute("target");if(tar)
{tea.removeAttribute("target");url="/edit/updatetext/"+Tabblo.editor.storyID+"/";pars="textid=";var bubble=tea.getAttribute("bubble")=="true";if(bubble)
{tea.removeAttribute("bubble");var b=tar.split('_');pars+=b[1]+"&kind=bubble";comp=this._finishSubmitBubble;}
else
{pars+=tar;Tabblo.editor._currentTextEditBlock.setAttribute("dummy_text","false");comp=this._finishSubmit;}}
else
{var virtualEmpty=tea.getAttribute("virtualEmpty");gridAction=Tabblo.editor.actions.InsertTextblock;}
if(tar&&!bubble&&this._tb_textface)
{$('t'+tar).parentNode.removeAttribute("editstyle");}
var scale=Tabblo.Editor.metadata.primary_scale;if(!scale)
{scale=parseFloat(Tabblo.Grid.TheFirstGrid.getAttribute("scale"))||1.0;}
Tabblo.core.effects.Simple_Fade(__tcu.getDiv("text_edit_bar"),0.3,0);if(isMac||is_ie6)
{__tcu.getDiv("text_edit_bar_iframe_blocker").style.display="none";}
Tabblo.editor.html.cancelEditColorWheel();tea.removeAttribute("use_raw");tea.value="";Tabblo.editor.html.clearHTMLFromEditor("edit_frame");var text=__tcu.escape_utf8(val);if(gridAction)
{__tcu.hideBlockerScreen(true);var parameters={destination_parcel_id:virtualEmpty,scale:scale,textface:this._tb_textface,text:text};new Tabblo.editor.actions.Action(gridAction,parameters).run();}
else
{if(this._tb_textface)
{pars+="&textface="+this._tb_textface;}
pars+=("&scale="+scale);pars+=("&text="+text);Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:comp},'',true);}},_finishSubmitBubble:function(ajaxResponse)
{if(ajaxResponse.statusText=="OK")
{var resp=ajaxResponse.responseObject;if(resp['status']=='OK')
{var bid='bubbletext_'+resp['id'];$(bid).innerHTML=resp['html'];$(bid+'_raw').innerHTML=resp['raw'];}
Tabblo.editor._currentTextEditBlock=null;Tabblo.editor._currentTextEditing=null;}
else
{showMessage("warn","Comic balloon not saved","There was a problem saving the text of your comic ballon.  Please try editing it again.");}
__tcu.hideBlockerScreen(true);},_finishSubmit:function(ajaxResponse)
{try
{if(ajaxResponse.statusText=="OK")
{var resp=ajaxResponse.responseObject;var tid='t'+resp['id'];var textColor=Tabblo.editor._currentTextEditBlock.style.color;Tabblo.editor._currentTextEditBlock.innerHTML=resp['html'];$(tid+'_raw').innerHTML=resp['raw'];var p=Tabblo.editor.parcels.getParcelForItem($(tid));Tabblo.Grid.markGridpageDirty(p.getPage());var pars=Tabblo.editor._currentTextEditBlock.getElementsByTagName('p',Tabblo.editor._currentTextEditBlock.id);for(var i=0;i<pars.length;i++)
{YAHOO.util.Dom.setStyle(pars[i],"color",textColor);}
__tcu.showFlashIfPossible("<span class='infoFlash'>Updated Text</span>");var ievt=$("img_evt_"+tid);if(__tcu.getCssClass(ievt)=="itb")
{ievt.src=__tcu.replaceQueryParam(ievt.src,"timestamp",new Date().getTime());if(resp['html']=="")
{Tabblo.editor._currentTextEditBlock.style.visibility="visible";}
else
{ Tabblo.editor._currentTextEditBlock.style.visibility="hidden";}}
Tabblo.editor.Warnings.bindWarnings(ajaxResponse);Tabblo.editor._currentTextEditBlock=null;Tabblo.editor._currentTextEditing=null;}
else
{showMessage("error","Problem Changing Text",ajaxResponse.responseObject);}}
catch(e)
{printStack(e,'_finishSubmit');}
__tcu.hideBlockerScreen(true);},displayTextFormatChange:function(face,size,kind,page)
{var tbs=Tabblo.Grid.getTextblockParcels();for(var i=0;i<tbs.length;i++)
{if(tbs[i])
{var tc=Tabblo.editor.parcels.getTextcontrolForTextblock(tbs[i]);if((kind=="normal")&&(__tcu.getCssClass(tc)=="tbhead"))
{tc=null;continue;}
else if((kind=="title")&&(__tcu.getCssClass(tc)!="tbhead"))
{tc=null;continue;}
else if((page!=null)&&(page!='all')&&(page!=tbs[i].getPage()))
{tc=null;continue;}
if(size){tc.setAttribute("base_pixel_size",size);}
var td=Tabblo.editor.parcels.getTextcontrolTdForTextblock(tbs[i]);td.removeAttribute("editstyle");if(face){YAHOO.util.Dom.setStyle(td.id,"fontFamily",face);}
if(size){var scale=Tabblo.Editor.metadata.primary_scale;if(!scale)
scale=parseFloat(Tabblo.Grid.TheFirstGrid.getAttribute("scale"))||1.0;var pixels=Math.floor(size*scale)+'px';YAHOO.util.Dom.setStyle(td.id,"fontSize",pixels);}
tc=td=null;}}
tbs=null;},setFontFace:function(obj)
{if(obj.selectedIndex>0)
{this._tb_textface=obj.options[obj.selectedIndex].value;}
else
{this._tb_textface=null;}
obj.options[obj.selectedIndex].selected=true;}});Tabblo.Grid.finishSpreadLoadEvent.subscribe(Tabblo.editor.Textblock._init.bind(Tabblo.editor.Textblock,"Spread"));if(typeof lockOverlays=="undefined")
{var lockOverlays=Tabblo.editor.lockOverlays;}
if(typeof unlockOverlays=="undefined")
{var unlockOverlays=Tabblo.editor.unlockOverlays;}
/* tabblo/editor/Editor.js */

var __SCROLLBAR_SIZE=null;if(isMac)
{__SCROLLBAR_SIZE=20;}
Tabblo.add_namespace("Tabblo.editor.Editor",{PRIPAGE_FRAG:'<div class="tabblo_pagefooter" style="text-align:center;width:100%;height:20px;padding:0;color:#000000;font-size:18px;font-weight:400;position:absolute;bottom:-24px;left:0px;">${page}</div>',instantiated:false,force_global_png_fixups:false,ap_page2_autopos:false,ap_page2_autosize:false,ap_trough_autopos:false,ap_trough_autosize:false,pageNumHeight:21,ap_margin_height:5,ap_margin_width:5,dom_ready:false,page_loaded:false,grid_loaded:false,fully_initialized:false,partner:'tabblo',view_only:false,parcel_droptargets:true,insert_is_replace:true, has_scratchbox:false,update_scratchbox:true,delete_is_scratchbox:true,registered_scratch_reloader:null,relayout_collisions:false,page_mode_drag_to_object:true,as_variant:false,parentId:null,storyId:null,tabbloType:null,frameType:null,loaded:false,body_styles_replacement:true,width:0,height:0,scale_width:true,scale_height:false,width_2:0,height_2:0,scale_width_2:true,scale_height_2:true,trough_padding_x:0,trough_padding_y:0,SCROLLBAR_SIZE_GUESS:__SCROLLBAR_SIZE||25,tools_controls:'spreads_selected',photo_picker_enabled:false,curr_page:0,page_count:1,trough_rows:0,trough_cols:0,display_all_primary_pages:false,textblockMask:"fake_textblock_Ernst_mask",myTextblockMask:"fake_my_textblock_Ernst_mask",moldMask:"fake_mold_Ernst_mask",myMoldMask:"fake_my_mold_Ernst_mask",custom_options:null,media_url:Tabblo.server_constants.MEDIA_URL,app_host:Tabblo.server_constants.APP_HOST,pageChangedEvent:new YAHOO.util.CustomEvent("pageChangedEvent",{}),editorLoadEvent:new YAHOO.util.CustomEvent("editorLoadEvent",{}),lightbox_open:false,no_draggable_scrolling:true,foldedcard_page_map:['Back','Front','Inside Left','Inside Right'],pageload_subscribed:false,setRegisteredScratchReloader:function(method)
{if(method)
{this.registered_scratch_reloader=method.bind(this);}},setPageModeDragToObject:function(on)
{this.page_mode_drag_to_object=on;},setNoDraggableScrolling:function()
{this.no_draggable_scrolling=true;},getParentId:function()
{return(this.parentId instanceof Array)?this.parentId[0][0]:this.parentId;},getPageTarget:function(page)
{var adder=page-Tabblo.Editor.curr_page;if((Tabblo.Grid.product_type=="book")&&(Tabblo.Editor.curr_page<=0))
{adder=1;}
else if(adder<0)
{return null;}
return(this.parentId instanceof Array)?this.parentId[0][adder]:this.parentId;},getAllPageTargets:function(page)
{return(this.parentId instanceof Array)?this.parentId[0]:this.parentId;},getNumParents:function()
{return(this.parentId instanceof Array)?this.parentId[0].length:1;},getCurrNumUp:function()
{ 
return(!(this.parentId instanceof Array)||((this.curr_page==0)&&(Tabblo.Grid.product_type=="book")))?1:this.parentId[0].length;},setApPage2Autopos:function(bool)
{this.ap_page2_autopos=bool;},setApPage2Autosize:function(bool)
{this.ap_page2_autosize=bool;},setApTroughAutopos:function(bool)
{this.ap_trough_autopos=bool;},setApTroughAutosize:function(bool)
{this.ap_trough_autosize=bool;},setScroll:function(dd)
{if(Tabblo.editor.Editor.lightbox_open||Tabblo.editor.Editor.no_draggable_scrolling)
{dd.scroll=false;}
else
{dd.scroll=true;}},enablePhotoPicker:function()
{this.photo_picker_enabled=true;},setCustomOption:function(optiontext)
{if(this.custom_options)
{this.custom_options+=','+optiontext;}
else
{this.custom_options=optiontext;}},setViewOnly:function()
{this.view_only=true;},noParcelDroptargets:function()
{this.parcel_droptargets=false;},setDeleteIsScratchbox:function(bool)
{if(bool)
{this.delete_is_scratchbox=true;this.has_scratchbox=true;}
else
{this.delete_is_scratchbox=false;}},setInsertIsReplace:function(bool)
{this.insert_is_replace=bool;},setOverlayProperty:function(parceltype,propname,boolvalue)
{var mylocktype=null;if(parceltype.indexOf('.')>-1)
{var p=parceltype.split('.');parceltype=p[0];mylocktype=p[1];}
var holder=Tabblo.editor.parcels.getHolderForParcelType(parceltype,mylocktype);try
{holder[propname]=boolvalue;}catch(e){}},setImagesToMoldifyNotRemove:function()
{this.setOverlayProperty("image","removes",false);this.setOverlayProperty("image","moldifies",true);},setPageProperty:function(ordinal,property_spec,property,value)
{var foo=Tabblo.editor.Editor[ordinal+'_'+property_spec+'_spec'];foo[property]=value;},setPageSpec:function(ordinal,property_spec,obj)
{try
{Tabblo.editor.Editor[ordinal+'_'+property_spec+'_spec']=obj;}
catch(e)
{}},setHasScratchbox:function(has_it)
{this.has_scratchbox=has_it;},setUpdateScratchbox:function(update)
{this.update_scratchbox=update;},setAsVariant:function(bool)
{this.as_variant=bool;},getBaseInfoUrl:function()
{var url='/edit/info/';if(this.as_variant)
{url='/edit/info_as_variant/';}
return url;},setOverrideProperty:function(side,property_spec,property,value)
{var foo=Tabblo.editor.Editor[side+'_page_overrides'];foo=foo[property_spec+'_spec'];foo[property]=value;},getCalculatedPageProperty:function(ordinal,property_spec,property,side)
{var foo=Tabblo.editor.Editor[ordinal+'_'+property_spec+'_spec'];if(side)
{if(__tcu.isNonNullDefined(Tabblo.editor.Editor[side+'_page_overrides'][property_spec+'_spec']))
{if(__tcu.isNonNullDefined(Tabblo.editor.Editor[side+'_page_overrides'][property_spec+'_spec'][property]))
{return Tabblo.editor.Editor[side+'_page_overrides'][property_spec+'_spec'][property];}}}
return foo[property];},insertDefaultSettings:function(obj)
{if(!obj['margintop']){obj['margintop']="0";};if(!obj['marginleft']){obj['marginleft']="0";};if(!obj['marginbottom']){obj['marginbottom']="0";};if(!obj['marginright']){obj['marginright']="0";};if(!obj['paddingtop']){obj['paddingtop']="0";};if(!obj['paddingleft']){obj['paddingleft']="0";};if(!obj['paddingbottom']){obj['paddingbottom']="0";};if(!obj['paddingright']){obj['paddingright']="0";};if(!obj['bordertop']){obj['bordertop']="0";};if(!obj['borderleft']){obj['borderleft']="0";};if(!obj['borderbottom']){obj['borderbottom']="0";};if(!obj['borderright']){obj['borderright']="0";};if(!obj['bordercolor']){obj['bordercolor']="";};if(!obj['borderstyle']){obj['borderstyle']="solid";};},insertCalculatedSettings:function(ordinal,obj,side)
{var mt=this.getCalculatedPageProperty(ordinal,'margin','top',side);var ml=this.getCalculatedPageProperty(ordinal,'margin','left',side);var mb=this.getCalculatedPageProperty(ordinal,'margin','bottom',side);var mr=this.getCalculatedPageProperty(ordinal,'margin','right',side);var pt=this.getCalculatedPageProperty(ordinal,'padding','top',side);var pl=this.getCalculatedPageProperty(ordinal,'padding','left',side);var pb=this.getCalculatedPageProperty(ordinal,'padding','bottom',side);var pr=this.getCalculatedPageProperty(ordinal,'padding','right',side);var bt=this.getCalculatedPageProperty(ordinal,'border','top',side);var bl=this.getCalculatedPageProperty(ordinal,'border','left',side);var bb=this.getCalculatedPageProperty(ordinal,'border','bottom',side);var br=this.getCalculatedPageProperty(ordinal,'border','right',side);var bc=this.getCalculatedPageProperty(ordinal,'border','color',side);var bs=this.getCalculatedPageProperty(ordinal,'border','style',side);if(mt){obj['margintop']=new String(mt);}else{obj['margintop']="0";};if(ml){obj['marginleft']=new String(ml);}else{obj['marginleft']="0";};if(mb){obj['marginbottom']=new String(mb);}else{obj['marginbottom']="0";};if(mr){obj['marginright']=new String(mr);}else{obj['marginright']="0";};if(pt){obj['paddingtop']=new String(pt);}else{obj['paddingtop']="0";};if(pl){obj['paddingleft']=new String(pl);}else{obj['paddingleft']="0";};if(pb){obj['paddingbottom']=new String(pb);}else{obj['paddingbottom']="0";};if(pr){obj['paddingright']=new String(pr);}else{obj['paddingright']="0";};if(bt){obj['bordertop']=new String(bt);}else{obj['bordertop']="0";};if(bl){obj['borderleft']=new String(bl);}else{obj['borderleft']="0";};if(bb){obj['borderbottom']=new String(bb);}else{obj['borderbottom']="0";};if(br){obj['borderright']=new String(br);}else{obj['borderright']="0";};if(bc){obj['bordercolor']=new String(bc);}else{obj['bordercolor']="";};if(bs){obj['borderstyle']=new String(bs);}else{obj['borderstyle']="solid";};},primary_margin_spec:{top:0,left:0,bottom:10,right:5},primary_border_spec:{top:0,left:0,bottom:0,right:0,color:"#ffffff",style:"solid"},primary_padding_spec:{top:0,left:0,bottom:0,right:0},secondary_margin_spec:{top:3,left:5,bottom:0,right:5},secondary_border_spec:{top:1,left:1,bottom:1,right:1,color:"#333333",style:"solid"},secondary_padding_spec:{top:0,left:0,bottom:0,right:0},right_page_overrides:{margin_spec:{left:0},padding_spec:{left:0},border_spec:{left:0,right:1}},left_page_overrides:{margin_spec:{right:0},padding_spec:{right:0},border_spec:{right:0,left:1}},last_page_overrides:{margin_spec:{left:0},padding_spec:{left:0},border_spec:{right:1,left:1}},metadata:new Object(),badjustParentToGrid:'primary',CONSTANTS:{trough:0.25,items_per_trough_row:6},setPage:function(pagestring)
{var cp=parseInt(pagestring);this.curr_page=(cp==-1)?0:cp;Tabblo.editor.setStoryPage(this.curr_page);Tabblo.editor.LAST_UP_ZERO=this.curr_page;},init:function(parentId,storyId,partner,tabbloType,frameType)
{this.instantiated=true;this.parentId=parentId;this.storyId=storyId;Tabblo.editor.storyID=storyId;this.tabbloType=tabbloType||Tabblo.editor.EDITOR_TYPE_TABBLO;this.frameType=frameType||Tabblo.editor.FRAME_TYPE_DIV;this.partner=partner; Tabblo.Grid.partner=this.partner;return this;},render:function()
{this.loaded=true;if(isSafari)
{__tcu.whenDomReady(function(e){setTimeout(Tabblo.editor.Editor.load.bind(e,null),100);}.bind(this,this));}
else
{__tcu.whenDomReady(Tabblo.editor.Editor.load.bind(this,null));}
YAHOO.util.Event.addListener(window,"resize",Tabblo.Grid.resetAllPageGeometries);Tabblo.editor.lightboxLoadedEvent.subscribe(Tabblo.editor.Editor.twiddleLightbox);Tabblo.Grid.firstFinishLoadingEvent.subscribe(Tabblo.editor.Editor.setStatus.bind(this,1));if(this.has_scratchbox&&this.update_scratchbox)
{Tabblo.Grid.firstFinishLoadingEvent.subscribe(Tabblo.editor.moveLightboxIntoStoryscratch.bind(Tabblo.editor,null));}
YAHOO.util.Event.addListener(window,'load',Tabblo.editor.Editor.setStatus.bind(this,2));__tcu.whenDomReady(Tabblo.editor.Editor.setStatus.bind(this,3));Tabblo.Grid.firstFinishLoadingEvent.subscribe(Tabblo.editor.canvasutils.initializeCanvasses);Tabblo.Grid.finishSpreadLoadEvent.subscribe(Tabblo.editor.canvasutils.resetCanvasses);},setStatus:function(initedNum)
{if(initedNum==1)
{Tabblo.editor.Editor.grid_loaded=true;setTimeout(Tabblo.editor.Editor.checkStatus,600);}
else if(initedNum==2)
{Tabblo.editor.Editor.page_loaded=true;setTimeout(Tabblo.editor.Editor.checkStatus,200);}
else if(initedNum==3)
{Tabblo.editor.Editor.dom_ready=true;setTimeout(Tabblo.editor.Editor.checkStatus,400);}
else
{alert('setstatus failure: '+initedNum);}},checkStatus:function()
{if(Tabblo.editor.Editor.page_loaded&&Tabblo.editor.Editor.grid_loaded&&Tabblo.editor.Editor.dom_ready)
{Tabblo.editor.Editor.fully_initialized=true;}},twiddleLightbox:function()
{if($('lightbox_Ernst'))
{$('lightbox_Ernst').style.display="none";setTimeout('$(\'lightbox_Ernst\').style.display = "";',500);}},setManualBox:function(wid,hei,secondary)
{if(secondary)
{if(wid)
{this.width_2=wid;this.scale_width_2=true;}
else
{this.scale_width_2=false;}
if(hei)
{this.height_2=hei;this.scale_height_2=true;}
else
{this.scale_height_2=false;}}
else
{if(wid)
{this.width=wid;this.scale_width=true;}
else
{this.scale_width=false;}
if(hei)
{this.height=hei;this.scale_height=true;}
else
{this.scale_height=false;}}},cancelBodyStylesReplacement:function()
{this.body_styles_replacement=false;},setToolsControls:function(tools)
{this.tools_controls=tools;},deadParcels:function()
{Tabblo.Grid.deadParcels=true;},limitRows:function(numRows)
{Tabblo.Grid.global_limit_rows=numRows;},scaleToWidth:function(bool,secondary)
{if(!secondary)
{this.scale_width=bool;}
else
{this.scale_width_2=bool;}},scaleToHeight:function(bool,secondary)
{if(!secondary)
{this.scale_height=bool;}
else
{this.scale_height_2=bool;}},adjustParentToGrid:function(strOrBool)
{this.badjustParentToGrid=strOrBool;},displayAllPrimaryPages:function(bool)
{this.display_all_primary_pages=bool;},enableWarnings:function()
{Tabblo.editor.Warnings.enabled=true;},disableWarnings:function()
{Tabblo.editor.Warnings.enabled=false;},setTroughRows:function(num)
{this.trough_rows=num;if(num=="infinity")
{this.width_2=0;this.trough_padding_x=this.SCROLLBAR_SIZE_GUESS;}},setTroughCols:function(num)
{this.trough_cols=num;if(num=="infinity")
{this.height_2=0;this.trough_padding_y=this.SCROLLBAR_SIZE_GUESS;}},load:function()
{if(this.parentId instanceof Array)
{var primarypri=$(this.parentId[0][0]);var primarysec=$(this.parentId[0][1]);var secondary=$(this.parentId[1][0]);if(primarysec)
{if(this.ap_page2_autopos)
{primarysec.style.top=primarypri.style.top;primarysec.style.left=(parseInt(primarypri.style.left)+__tcu.getWidth(primarypri)+this.ap_margin_width)+"px";}
if(this.ap_page2_autosize)
{primarysec.style.width=__tcu.getWidth(primarypri)+"px";primarysec.style.height=__tcu.getHeight(primarypri)+"px";}}
if(secondary)
{ if(this.ap_trough_autopos)
{secondary.style.top=(parseInt(primarypri.style.top)+__tcu.getHeight(primarypri)+this.ap_margin_height)+"px";secondary.style.left=primarypri.style.left;}
if(this.ap_trough_autosize)
{var mywidth=(__tcu.getWidth(primarypri)*2+this.ap_margin_width);secondary.style.width=mywidth+"px";var ideal_from_ratio=parseInt(mywidth/10);secondary.style.height=ideal_from_ratio+"px";}
this.setTroughRows(1);this.setTroughCols('infinity');}}
if(isIE&&!$("transport_layer"))
{var b=document.getElementsByTagName("body").item(0);var n=document.createElement("DIV");n.setAttribute("id",'transport_layer');n.setAttribute("style","position:absolute;z-index:77777;top:0px;left:0px;width:1px;height:1px;display:none;");b.appendChild(n);}
Tabblo.editor.NUM_UP=this.getNumParents();if((typeof(window['__TABBLO_GRID_DATA'])!="undefined")&&(__TABBLO_GRID_DATA!=null))
{this.loadData({responseObject:{'info':__TABBLO_GRID_DATA}});}
else
{var pars='';var wid,wid_2;var hei,hei_2;var url;var trough_rows;var trough_cols;var primary=null;var secondary=null;if(this.parentId instanceof Array)
{primary=$(this.parentId[0][0]);secondary=$(this.parentId[1][0]);}
else
{primary=$(this.parentId);this.scale_width_2=false;this.scale_height_2=false;}
if(this.width)
{wid=this.width;}
else
{wid=this.width=(this.scale_width?parseInt(__tcu.cssPropLookup(primary,"width")):0);}
if(this.height)
{hei=this.height;}
else
{hei=this.height=(this.scale_height?parseInt(__tcu.cssPropLookup(primary,"height")):0);}
if(this.width_2)
{wid_2=this.width_2;}
else
{if(this.trough_cols=="infinity")
{wid_2=this.width_2=0;}
else
{if(secondary)
{var xpad=Math.ceil(this.trough_cols/2)*this.getHolderWidth('secondary',false,true);wid_2=this.width_2=(this.scale_width_2?(parseInt(__tcu.cssPropLookup(secondary,"width"))-this.trough_padding_x-xpad):0);}
else
{wid_2=this.width_2=0;}}}
if(this.height_2)
{hei_2=this.height_2;}
else
{if(this.trough_rows=="infinity")
{hei_2=this.height_2=0;}
else
{if(secondary)
{var ypad=this.trough_rows*this.getHolderHeight('secondary',false,true);var h=parseInt(__tcu.cssPropLookup(secondary,"height"));hei_2=this.height_2=(this.scale_height_2?(h-(ypad*3)-Tabblo.Editor.pageNumHeight):0);}
else
{hei_2=this.height_2=0;}}}
url=this.getBaseInfoUrl()+this.storyId+'/'+wid+'/'+hei;trough_rows=this.tough_rows||1;trough_cols=this.trough_cols||6;if(trough_rows=="infinity"){trough_rows=0;}
if(trough_cols=="infinity"){trough_cols=0;}
pars='secondary_width='+wid_2+'&secondary_height='+hei_2+'&rows='+trough_rows+'&cols='+trough_cols;if(this.curr_page>0)
{pars+='&start_page='+this.curr_page;}
if(this.display_all_primary_pages)
{pars+='&all_primary=true';}
if(this.custom_options)
{pars+='&custom_options='+this.custom_options;}
if(this.partner)
{pars+='&partner='+this.partner;}
if(this.view_only)
{pars+='&view_only=1';}
Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:this.loadData.bind(this)},false,false);}},loadData:function(jsonResponse)
{var o=jsonResponse.responseObject['info'];this.metadata=o;if(this.as_variant)
{ Tabblo.editor.Editor.storyId=this.metadata.cba_id;Tabblo.editor.storyID=this.metadata.cba_id;}
var repl=null;var rsp=this.metadata.requested_start_page;if((rsp>-1)&&(rsp!=this.metadata.start_page))
{var url=__tcu.replaceQueryParam(document.location.href,'page',this.metadata.start_page);document.location=url;}
this.setPage(this.metadata.start_page);if(this.parentId instanceof Array)
{var stringlist="";for(var i=0;i<this.parentId[0].length;i++)
{stringlist+="#"+this.parentId[0][i];if(i<(this.parentId.length-1)){stringlist+=",";}}
repl=stringlist;}
else
{repl='#'+this.partnerId;}
if(this.body_styles_replacement)
{this.metadata.style_classes=this.metadata.style_classes.replace(/ body /,repl);}
else
{ this.metadata.style_classes=this.metadata.style_classes.replace(/ body /,'#__foo__style__');}
__tcu.applyCssString(this.metadata.style_classes);this.renderGridToParent();if(this.badjustParentToGrid)
{this.fitGridToParent(); if((this.badjustParentToGrid!='secondary')&&(!(this.parentId instanceof Array)||(this.parentId[0].length==1))&&(!this.pageload_subscribed))
{this.pageload_subscribed=true;Tabblo.Editor.addListener("editorload",this.fitGridToParent.bind(this));}}
this.loadDataFromPages(jsonResponse);},getHolderWidth:function(holder,withbase,withmargin)
{var base=(withbase&&(holder=='primary'))?this.metadata.primary_width:(withbase&&(holder=='secondary'))?this.metadata.secondary_width:0;return base
+this.getCalculatedPageProperty(holder,'border','left')
+this.getCalculatedPageProperty(holder,'border','right')
+this.getCalculatedPageProperty(holder,'padding','left')
+this.getCalculatedPageProperty(holder,'padding','right')
+(withmargin?this.getCalculatedPageProperty(holder,'margin','left'):0)
+(withmargin?this.getCalculatedPageProperty(holder,'margin','right'):0);},getHolderHeight:function(holder,withbase,withmargin)
{var base=(withbase&&holder=='primary')?this.metadata.primary_height:(withbase&&holder=='secondary')?this.metadata.secondary_height:0;return base
+this.getCalculatedPageProperty(holder,'border','top')
+this.getCalculatedPageProperty(holder,'border','bottom')
+this.getCalculatedPageProperty(holder,'padding','top')
+this.getCalculatedPageProperty(holder,'padding','bottom')
+(withmargin?this.getCalculatedPageProperty(holder,'margin','top'):0)
+(withmargin?this.getCalculatedPageProperty(holder,'margin','bottom'):0);},fitGridToParent:function()
{if(this.parentId instanceof Array)
{var i;if(this.badjustParentToGrid!='secondary'){var edited_diff=0;var primary=this.parentId[0];for(i=0;i<primary.length;i++)
{var n=$(primary[i]);var hnw=this.getHolderWidth('primary',true,false);var hnh=this.getHolderHeight('primary',true,false);edited_diff=__tcu.getWidth($(this.parentId[0][0]))-hnw;n.style.width=hnw+'px';n.style.height=hnh+'px';n.style.visibility="visible";}
if(edited_diff)
{if(this.ap_trough_autosize)
{var mywidth=parseInt($(this.parentId[1][0]).style.width)-edited_diff;$(this.parentId[1][0]).style.width=mywidth+"px";var ideal_from_ratio=parseInt(mywidth/10);$(this.parentId[1][0]).style.height=ideal_from_ratio+"px";}}}
if(this.badjustParentToGrid!='primary'){ var secondary=this.parentId[1];for(i=0;i<secondary.length;i++)
{var n=$(secondary[i]);$('trough_'+i).style.width=this.metadata.trough_width+'px';$('trough_'+i).style.height=this.metadata.trough_height+'px';n.style.width=this.metadata.trough_width+'px';n.style.height=this.metadata.trough_height+'px';}}}
else
{if(this.display_all_primary_pages)
{}
else
{ if((this.trough_rows!="infinity")&&(this.trough_cols!="infinity"))
{ var primary=$(this.parentId);var hnw=this.getHolderWidth('primary',true,false)+'px';var hnh=this.getHolderHeight('primary',true,false)+'px';primary.style.width=hnw;primary.style.height=hnh;}}}},renderGridToParent:function()
{ if(this.parentId instanceof Array)
{var primary=this.parentId[0];var secondary=this.parentId[1];var i;for(i=0;i<primary.length;i++)
{var n=$(primary[i]);var nw=this.metadata.primary_width;var nh=this.metadata.primary_height;var settings={inner_id:'page_holder_primary_'+i,top:'0',left:'0',position:'absolute',width:new String(nw),height:new String(nh)};this.insertCalculatedSettings('primary',settings);var node=this.inject(n,'parcel_holder_generic_one_up',settings);} 
for(i=0;i<secondary.length;i++)
{var n=$(secondary[i]);var trough_width=(this.trough_cols=="infinity")?(this.getHolderWidth('secondary',true,true)*this.metadata.secondary_pages.length):this.width_2;var trough_height=(this.trough_rows=="infinity")?(this.getHolderHeight('secondary',true,true)*this.metadata.secondary_pages.length):this.height_2;var settings={inner_id:'trough_'+i,top:'0',left:'0',marginleft:'3',position:'absolute',width:new String(trough_width),height:new String(trough_height)};this.insertDefaultSettings(settings);var node=this.inject(n,'trough',settings);}}
else
{if(this.display_all_primary_pages)
{}
else
{ var primary=$(this.parentId);var nw=this.getHolderWidth('primary',true,false);var nh=this.getHolderHeight('primary',true,false);var settings={inner_id:'page_holder_primary_0',top:'0',left:'0',position:'absolute',width:new String(nw),height:new String(nh)};this.insertCalculatedSettings('primary',settings);var node=this.inject(primary,'parcel_holder_generic_one_up',settings);}}},inject:function(parentNode,templateId,dataDict)
{var divId='';return __tcu.getDiv(divId,null,templateId,parentNode,dataDict);},isBook:function()
{return((Tabblo.Grid.product_type=="book")||(Tabblo.Editor.metadata.primary_pages[0].indexOf("product_type='book'")>-1)||(Tabblo.Editor.metadata.primary_pages[0].indexOf('product_type="book"')>-1)||(Tabblo.Editor.metadata.primary_pages[1]&&((Tabblo.Editor.metadata.primary_pages[1].indexOf("product_type='book'")>-1)||(Tabblo.Editor.metadata.primary_pages[1].indexOf('product_type="book"')>-1))));},isFoldedcard:function()
{return((Tabblo.Grid.product_type=="foldedcard")||(Tabblo.Editor.metadata.primary_pages[0].indexOf("product_type='foldedcard'")>-1)||(Tabblo.Editor.metadata.primary_pages[0].indexOf('product_type="foldedcard"')>-1)||(Tabblo.Editor.metadata.primary_pages[1]&&((Tabblo.Editor.metadata.primary_pages[1].indexOf("product_type='foldedcard'")>-1)||(Tabblo.Editor.metadata.primary_pages[1].indexOf('product_type="foldedcard"')>-1))));},genPrimaryPageFrag:function(pripage)
{var p="";if(this.isFoldedcard()||((this.curr_page+pripage)>0))
{p=Tabblo.Editor.PRIPAGE_FRAG;var pa;if(this.isFoldedcard())
{pa=this.foldedcard_page_map[this.curr_page+pripage];}
else
{if(this.isBook()&&(this.curr_page<=0))
{pa=pripage;}
else
{pa=this.curr_page+1+pripage;}}
p=p.replace("${page}",pa);}
return p;},genPrimaryPageFragAll:function(pripage)
{var p="";if(this.isFoldedcard())
{p=Tabblo.Editor.PRIPAGE_FRAG;p=p.replace("${page}",this.foldedcard_page_map[pripage]);}
else if(pripage>0)
{p=Tabblo.Editor.PRIPAGE_FRAG;p=p.replace("${page}",1+pripage);}
return p;},loadDataFromPages:function(jsonResponse)
{var p;if(this.parentId instanceof Array)
{var i;for(i=0;i<this.parentId[0].length;i++)
{var data=this.metadata.primary_pages[i];if(data)
{p=this.genPrimaryPageFrag(i);$('page_holder_primary_'+i).innerHTML=data+p;if((i==0)&&(this.parentId[0].length==1)&&(this.badjustParentToGrid=="primary"))
{ $(this.parentId[0][0]).style.visibility="hidden";}}}
if(this.metadata.secondary_pages)
{for(i=0;i<this.metadata.secondary_pages.length;i++)
{var side=((i%2==0)?"right":"left");var border_hack="right";if(side=="right")
{border_hack="left";}
if(i==(this.metadata.secondary_pages.length-1))
{side="last";}
var width=new String(this.metadata.secondary_width);var _center=parseInt(((parseInt(width)-14))/2);var _center_img=parseInt(((parseInt(width)-27))/2);var settings={outer_id:'page_holder_secondary_'+i,bh:-(this.pageNumHeight+1),h:this.pageNumHeight,page:i+1,_center:_center,_center_img:_center_img,position:'relative',pos_float:'left',width:width,height:new String(this.metadata.secondary_height),payload:this.metadata.secondary_pages[i]};this.insertCalculatedSettings('secondary',settings,side);var node=this.inject($('trough_0'),'trough_page',settings);}
this.page_count=Tabblo.Grid.numPages=this.metadata.secondary_pages.length;}
else
{this.page_count=Tabblo.Grid.numPages=this.metadata.primary_pages.length;}
if(this.isBook())
{this.slideBlockerToCurrentPages();}}
else
{ if(this.display_all_primary_pages)
{this.page_count=Tabblo.Grid.numPages=this.metadata.primary_pages.length;p=this.metadata.primary_pages;var l=p.length;for(var i=0;i<l;i++)
{var side=((i%2==0)?"right":"left");var nw=this.getHolderWidth('primary',true,false);var nh=this.getHolderHeight('primary',true,false);var settings={inner_id:'page_holder_primary_'+i,position:'relative',pos_float:'left',width:new String(nw),height:new String(nh)};this.insertCalculatedSettings('primary',settings,side);if(i==0)
{if(is_ie6)
{ settings['marginleft']=new String(parseInt((this.metadata.primary_width+3)/2));}
else
{settings['marginleft']=new String(this.metadata.primary_width+3);}} 
var node=this.inject($(this.parentId),'parcel_holder_generic_floating',settings);p=this.genPrimaryPageFragAll(this.curr_page+i);$('page_holder_primary_'+i).innerHTML=this.metadata.primary_pages[i]+p;}}
else
{$('page_holder_primary_0').innerHTML=this.metadata.primary_pages[0];this.page_count=Tabblo.Grid.numPages=this.metadata.primary_pages.length;}}
if(!this.view_only)
{setTimeout(Tabblo.editor.Grid.reinitialize,1000);setTimeout(Tabblo.editor.Warnings.bindWarnings.bind(Tabblo.editor.Warnings,jsonResponse),1250);} 
if(this.isBook())
{this.relayout_collisions=true;}
this.editorLoadEvent.fire();Tabblo.editor.resetSecondaryImages();},slideBlockerToCurrentPages:function()
{var thing=(this.curr_page==0)?1:2;var wid=(this.metadata.secondary_width*thing)+this.getHolderWidth('secondary',false,false);var hei=this.getHolderHeight('secondary',true,false);if($('book_trough_blocker'))
{$('book_trough_blocker').style.height=hei+'px';$('book_trough_blocker').style.width=wid+'px';}
var blocker=__tcu.getDiv('book_trough_blocker',Tabblo.editor.Editor._slideBlockerToCurrentPages.bind(Tabblo.editor.Editor,null),null,$(this.parentId[1][0]),{width:wid,height:hei});},_slideBlockerToCurrentPages:function()
{var blocker=$('book_trough_blocker');if(blocker)
{if(blocker.getAttribute("setup")!="true")
{blocker.setAttribute("setup","true");__tcu.setObjectOpacity(blocker,50);}
var phs=$('page_holder_secondary_'+this.curr_page);if(phs){var loc=__tcu.getXY(phs);if(loc)
{YAHOO.util.Dom.setXY('book_trough_blocker',loc);}}}},incrementSpread:function()
{if(this.fully_initialized)
{var newpage;if(this.isFoldedcard())
{if((this.curr_page+2)>3)
{ newpage=0;}
else
{newpage=2;}}
else
{var len=this.metadata.secondary_pages.length-1;if((this.curr_page+2)>len)
{return;}
newpage=this.curr_page+2;}
this.loadPrimaryTwoUp(newpage);}},decrementSpread:function()
{if(this.fully_initialized)
{var newpage;if(this.isFoldedcard())
{if(this.curr_page==0)
{newpage=2;}
else
{newpage=0;}}
else
{if(this.curr_page==0)
{return;}
newpage=this.curr_page-2;}
this.loadPrimaryTwoUp(newpage);}},loadPrimaryTwoUp:function(startpage)
{if(this.fully_initialized)
{startpage=parseInt(startpage);if(startpage==this.curr_page){return;}
var start;if(this.isBook())
{ start=((startpage%2)==0)?(startpage-1):startpage;}
else
{ start=startpage;}
var actionRan=Tabblo.Grid.refreshPrimaries([start,(start+1)],this.metadata.primary_scale);if(actionRan!=1)
{this.setPage(start);if(this.isBook())
{this.slideBlockerToCurrentPages();}
this.pageChangedEvent.fire();}}},addListener:function(event_trigger,functionRef,functionRef2)
{switch(event_trigger)
{case'gridload':Tabblo.Grid.firstFinishLoadingEvent.subscribe(functionRef);break;case'editorload':Tabblo.editor.Editor.editorLoadEvent.subscribe(functionRef);break;case'spreadchanged':Tabblo.Grid.finishSpreadLoadEvent.subscribe(functionRef);break;case'pagechanged':Tabblo.editor.Editor.pageChangedEvent.subscribe(functionRef);break;case"external_item_add_begin":Tabblo.Grid.externalItemBegin.subscribe(functionRef);break;case"external_item_add_end":Tabblo.Grid.externalItemEnd.subscribe(functionRef);break;case"action_queue_sync":Tabblo.editor.actions.actionQueueBeginRun.subscribe(functionRef);Tabblo.editor.actions.actionQueueEndRun.subscribe(functionRef2);break;}},removeListener:function(event_trigger,fn1,fn2)
{switch(event_trigger)
{case'gridload':Tabblo.Grid.firstFinishLoadingEvent.unsubscribe(fn1);break;case'editorload':Tabblo.editor.Editor.editorLoadEvent.unsubscribe(fn1);break;case'spreadchanged':Tabblo.Grid.finishSpreadLoadEvent.unsubscribe(fn1);break;case'pagechanged':Tabblo.editor.Editor.pageChangedEvent.unsubscribe(fn1);break;case"external_item_add_begin":Tabblo.Grid.externalItemBegin.unsubscribe(fn1);break;case"external_item_add_end":Tabblo.Grid.externalItemEnd.unsubscribe(fn1);break;case"action_queue_sync":Tabblo.editor.actions.actionQueueBeginRun.unsubscribe(fn1);Tabblo.editor.actions.actionQueueEndRun.unsubscribe(fn2);break;}},getCurrentPages:function()
{if(this.curr_page==-1)
{return[0];}
else if(this.parentId instanceof Array)
{var arr=new Array();for(var i=0;i<this.parentId.length;i++)
{ arr[i]=this.curr_page+i;}
return arr;}
else if(this.display_all_primary_pages)
{var arr=new Array();for(var i=0;i<this.metadata.primary_pages.length;i++)
{ arr[i]=this.curr_page+i;}
return arr;}
else
{return[this.curr_page];}},restoreXYWHDisplay:function(item,xy,w,h,z,o,d)
{YAHOO.util.Dom.setXY(item,xy);item.style.width=w;item.style.height=h;item.style.zIndex=z;item.style.opacity=o;item.style.display=d;item.onmouseout=null;},resetStoryitems:function()
{Tabblo.ajax.Send.beam('/edit/deletestoryitems/'+Tabblo.editor.Editor.storyId+'/',{parameters:'',onComplete:function(jsonResponse){Tabblo.Editor.reload();}},false,true);},changeLayout:function(adder,insert_page,replaceparam,replacevalue,layout_choice_limiter)
{adder=parseInt(adder);var page=(Tabblo.editor.Editor.curr_page==0)?0:Tabblo.editor.Editor.curr_page+adder;if(page>=0)
{if(Tabblo.Grid.gridPageIsPinned(page))
{__tcu.showMessage("info",gettext("Page locked"),gettext("This is a title page with a fixed layout.  The layout cannot be changed and a page cannot be inserted in its place."));return;}
var pars="";var storyitem='';if(layout_choice_limiter||(Tabblo.Grid.layout_mode=="page"))
{if(!layout_choice_limiter)
{var totcount=Tabblo.Grid.GridElementMap[page].length;var textcount=0;var moldcount=0;for(var i=0;i<totcount;i++)
{var m=Tabblo.Grid.GridElementMap[page][i];if(m[2]=="textblock")
{textcount++;}}
var foo=totcount;for(var j=0;j<foo;j++)
{var m=Tabblo.Grid.GridElementMap[page][j];if(m[2]=="mold")
{totcount--;}}
layout_choice_limiter=[totcount,textcount];}
pars+="count="+layout_choice_limiter[0]+"&text="+layout_choice_limiter[1];if(layout_choice_limiter[2])
storyitem=layout_choice_limiter[2];}
if(totcount==0)
{__tcu.showMessage("info",gettext("Get started"),gettext("To get started creating your page, drag photos in from the photos tab below."));}
else
{var url="/studio/stories/pagelayouts/"+Tabblo.editor.Editor.storyId+"/"+page;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.editor.Editor.finishLayouts.bind(this,page,insert_page,replaceparam,replacevalue,storyitem)},false,true);}}},finishLayouts:function(page,insert_page,replaceparam,replacevalue,storyitem,ajaxResponse)
{__tcu.getDiv('layout_div',Tabblo.editor.Editor._finishLayouts.bind(this,page,insert_page,replaceparam,replacevalue,storyitem,ajaxResponse),'change_layouts_ui',document.body,{});},_finishLayouts:function(page,insert_page,replaceparam,replacevalue,storyitem,ajaxResponse)
{if(replaceparam==null){replaceparam="";}
if(replacevalue==null){replacevalue="";}
var txt=ajaxResponse.responseText;if(txt!="BAD")
{var layout_data=ajaxResponse.responseObject;if(layout_data.length==0)
{var msg="Sorry, but we can't add any more items automatically. ";if(Tabblo.widgets.Toolbar._options.ManualText&&Tabblo.Grid.layout_mode=="page")
{ msg+=gettext("To add more, first:<br/>1. Under the Tools tab, check \"Place items manually.\"<br/>2. Make space on the book page by deleting or resizing something.");}
else
{msg+=gettext("To add more, make space on the book page by deleting or resizing something.");}
showMessage("error","Maximum number of items",msg);return;}
var layout_holder=$("layouts");var html="<table border='0' cellpadding='8' cellspacing='8'><tr>";for(i=0;i<layout_data.length;i++)
{html+="<td class='layoutChoice' layout_id='"+layout_data[i]["id"]+"'>";html+="<img onclick='Tabblo.editor.Editor.selectLayout(this, "+insert_page+", \""+replaceparam+"\", \""+replacevalue+"\")' onmouseover='Tabblo.editor.Editor.hoverLayout(this)' onmouseout='Tabblo.editor.Editor.hoverLayout(this)' src='"+layout_data[i]["url"]+"'/>";html+="</td>";if(i%3==2)
{html+="</tr><tr>";}}
html+="</tr></table>";layout_holder.innerHTML=html;var clo=$('layout_div');__tcu.appearCentered(clo);$("layout_for_side").innerHTML=" for page "+(page+1);$("layouts").setAttribute("page",page);$("layouts").setAttribute("storyitem",storyitem);}},hoverLayout:function(obj)
{obj=obj.parentNode;if(obj.getAttribute("selected")!="true")
{if(obj.className=="layoutChoice_hover")
{obj.className="layoutChoice";}
else
{obj.className="layoutChoice_hover";}}},selectLayout:function(obj,insert_page,replaceparam,replacevalue)
{var lid=obj.parentNode.getAttribute("layout_id");var page=parseInt($("layouts").getAttribute("page"));if(insert_page)
{Tabblo.editor.Editor.insertPage(page,replaceparam,replacevalue,lid);}
else
{var url="/studio/stories/changepagelayout/"+Tabblo.editor.Editor.storyId+"/"+page;var pars="layout="+lid;var l=$("layouts");if(l)
{var storyitem=l.getAttribute("storyitem");if(storyitem)
{pars+="&storyitem="+storyitem;}}
Tabblo.ajax.simple_beam(url,pars,Tabblo.editor.Editor.finishLayout.bind(this,page));}},finishLayout:function(page,ajaxResponse)
{if(ajaxResponse.responseText=="OK")
{Tabblo.Grid.markGridpageDirty(page);Tabblo.editor.Editor.closeLayout();Tabblo.Grid.refreshPrimaries(page);Tabblo.Grid.finishGridAction();Tabblo.editor.displayStoryScratchSpace();}
else
{showMessage("error",gettext("Problem changing layout"),gettext("There was a problem changing the layout for this page"));}},closeLayout:function()
{Tabblo.core.effects.Simple_Fade($('layout_div'),0.3,0.0);},dazzleSpread:function()
{var loc=location.href;loc=loc.substring(0,loc.indexOf('?'));if(Tabblo.editor.Editor.curr_page>0)
{loc=loc+'?page='+Tabblo.editor.Editor.curr_page;}
if((Tabblo.editor.Editor.curr_page==0)||(Tabblo.editor.Editor.curr_page==(Tabblo.Grid.numPages-1)))
{return Tabblo.editor.dazzle([Tabblo.editor.Editor.curr_page],loc);}
else
{return Tabblo.editor.dazzle([Tabblo.editor.Editor.curr_page,Tabblo.editor.Editor.curr_page+1],loc);}},insertPage:function(page,replace_param,replace_value,layout_id)
{if(Tabblo.Grid.maxPages&&(Tabblo.Grid.numPages>=Tabblo.Grid.maxPages))
{showMessage("error",gettext("Can't insert page"),gettext("The maximum number of pages for this product is ")+Tabblo.Grid.maxPages+gettext(".  Delete pages to free up room for new pages you want to make."));return;}
__tcu.showProgressIndicator(gettext("Inserting page, one moment"));var url='/edit/insertpages/'+Tabblo.editor.Editor.storyId+'/';var pars='page='+page+'&number='+1;if(layout_id)
{pars+='&layout_id='+layout_id;}
Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:function()
{Tabblo.Editor.reload();}});},setDummyTextblockText:function(text)
{if(text)
{Tabblo.editor.Textblock.DEF_TB=""+text;}},lockDummyTextblocks:function()
{Tabblo.Grid.dummyTextblocksLocked=true;},mold_caption:gettext("Put a photo here"),setMoldCaption:function(caption)
{if(caption)
{this.mold_caption=""+caption;}},initVariantThing:function(parents,storyId,partner,optionsObj)
{var e=Tabblo.editor.Editor.init(parents,storyId,partner);if(optionsObj)
{for(var i in optionsObj)
{switch(i)
{case'scratchbox':e.setHasScratchbox(optionsObj[i]);break;case'asvariant':e.setAsVariant(optionsObj[i]);break;default:continue;}}}
e.render();this.e=e;return e;},reload:function(appends,deleting,wipe)
{var loc=document.location.href;if(wipe&&(loc.indexOf('?')>-1))
{loc=loc.substring(0,loc.indexOf('?'));}
if(Tabblo.Grid.isMultipage())
{if(this.curr_page==0)
{loc=__tcu.removeQueryParam(loc,'page');}
else
{var numup=Tabblo.editor.NUM_UP;var p=this.curr_page;if(Tabblo.Grid.product_type=="book"){p+=(numup-1);}
var isNonAligned=(p%numup);var isLonely=(this.curr_page==(Tabblo.Grid.numPages-1));if(deleting&&isLonely)
{this.curr_page-=numup;}
else if(isNonAligned)
{this.curr_page-=isNonAligned;}
loc=__tcu.replaceQueryParam(loc,'page',this.curr_page);}}
if(appends)
{if(loc.indexOf(appends)==-1)
{loc+=(loc.indexOf('?')==-1)?'?':'&';loc+=appends;}}
document.location.href=loc;}});Tabblo.add_namespace("Tabblo.editor.Editor.Tools",{reorderUiSetup:false,reorderHeader:null,hoverLayout:function(obj)
{if(obj.className!="layout_selected")
{obj.style.backgroundColor="#cccccc";}},unhoverLayout:function(obj)
{if(obj.className!="layout_selected")
{obj.style.backgroundColor="";}},specialHover:function(obj)
{if(obj.getAttribute("selected")!="true")
{if(obj.src.indexOf("_over.gif")!=-1)
{obj.src=obj.src.replace("_over.gif",".gif");}
else
{obj.src=obj.src.replace(".gif","_over.gif");}}},addPhotoPicker:function()
{if(Tabblo.editor.Editor.photo_picker_enabled)
{var b=document.getElementsByTagName("body").item(0);var n=document.createElement("DIV");n.setAttribute("id",'tabblo_photo_picker');b.appendChild(n);n=null;Tabblo.ajax.Send.beam('/edit/photo_picker/',{parameters:'',onComplete:function(jsonResponse){$('tabblo_photo_picker').innerHTML=jsonResponse.responseObject[0];}},false,true);}},showPageReorderUI:function()
{if($('page_reorder_ui'))
{this._showPageReorderUI();}
else
{if(Tabblo.Grid.isMultipage())
{var dataDict={};__tcu.getDiv('page_reorder_ui',Tabblo.editor.Editor.Tools._showPageReorderUI.bind(this),'page_reorder_ui',document.body,dataDict);}}},_showPageReorderUI:function()
{__tcu.appearCenteredWithGenericIframeBlocker($("page_reorder_ui"));if(!this.reorderUiSetup)
{this.reorderUiSetup=true;var outHtml='';var wid=$('page_thumb_0').width*2;var hei=$('page_thumb_0').height*2;for(var i=0;i<Tabblo.editor.Editor.page_count;i++)
{outHtml+="<div id=\"page_holder_rearr_"+i+"\" class=\"sortable_holder\" style=\"width:"+wid+"px;position:relative;float:left;cursor:move;padding:0px;margin:8px;margin-bottom:25px;\">";outHtml+='<img style="padding:0px;margin:0px;height:'+hei+'px;width:'+wid+'px;" id="_page_thumb_'+i+'" width="'+wid+'" height="'+hei+'" border="0" src="/edit/bookpage/'+Tabblo.editor.Editor.storyId+'/'+i+'/'+wid+'/?timestamp='+new Date().getTime()+'"/>';outHtml+='\n<div id="page_rearr_display_'+i+'" style="position:absolute;display:block;z-index:88888;top:100%;text-align:center;left:-3px;width:'+wid+'px;color:#000000;">'+(i+1)+'</div>';outHtml+="</div>";}
$('page_reorder_ui_pages').innerHTML=outHtml;if(Tabblo.Grid.gridPageZeroIsPinned())
{__tcu.getDiv('page_zero_blocker',Tabblo.editor.Editor.Tools.setPageZeroBlocker,'page_zero_blocker',$('page_reorder_ui'));}
Position.includeScrollOffsets=true;jQuery('#page_reorder_ui_pages').sortable('destroy');jQuery('#page_reorder_ui_pages').sortable({items:'div.sortable_holder',cursor:'move',update:Tabblo.editor.Editor.Tools.tollBoothWilly});}},tollBoothWilly:function()
{setTimeout(Tabblo.editor.Editor.Tools.rearrangePages,500);},rearrangePages:function()
{var orderedEles=jQuery('#page_reorder_ui_pages div.sortable_holder');var offset=0;if(Tabblo.Grid.gridPageZeroIsPinned())
{ offset=1;}
for(var i=0;i<orderedEles.length;i++)
{var grid_count=orderedEles[i].id;grid_count=parseInt(grid_count.substring(grid_count.lastIndexOf('_')+1));var target=$('page_rearr_display_'+grid_count);if(target)
{target.innerHTML=''+(i+1+offset);}}},pageZeroBlockerSet:false,setPageZeroBlocker:function()
{if(!Tabblo.editor.Editor.Tools.pageZeroBlockerSet)
{var b=$('page_zero_blocker');var p=$('page_holder_rearr_0');$('page_reorder_ui_pages').style.width="790px";$('page_reorder_ui_pages').style.left="140px";b.style.left="5px";b.style.top="40px";b.style.width='13%';b.style.height='90%';b.innerHTML="";b.appendChild(p);Tabblo.editor.Editor.Tools.pageZeroBlockerSet=true;}},savePageOrder:function()
{Tabblo.editor.Editor.Tools.pageZeroBlockerSet=false;Tabblo.editor.Editor.Tools.reorderUiSetup=false;__tcu.dismissDivalog($("page_reorder_ui"));var url='/edit/reorderpages/'+Tabblo.editor.Editor.storyId+'/';var pages='';var orderedEles=$$('#page_reorder_ui_pages div.sortable_holder');for(var i=0;i<orderedEles.length;i++)
{var oldpage=orderedEles[i].id;oldpage=parseInt(oldpage.substring(oldpage.lastIndexOf('_')+1));pages+=oldpage+',';}
pages=pages.substring(0,pages.length-1);if(Tabblo.Grid.gridPageZeroIsPinned())
{ pages='0,'+pages;}
var pars='newpages='+pages;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.editor.Editor.Tools.pagesSaved},'',true);},pagesSaved:function(ajaxResponse)
{ Tabblo.Editor.reload();},cancelPageOrder:function()
{Tabblo.editor.Editor.Tools.pageZeroBlockerSet=false;Tabblo.editor.Editor.Tools.reorderUiSetup=false;__tcu.dismissDivalog($("page_reorder_ui"));},deletePage:function(isRight)
{var elt=isRight?jQuery("#delete_right_page"):jQuery("#delete_left_page");var hovering=elt.attr('hovering');var cpage=Tabblo.editor.Editor.curr_page+(isRight?1:0);if(hovering=="no"||Tabblo.Grid.gridPageIsLocked(cpage)||Tabblo.Grid.gridPageIsPinned(cpage))
{showMessage("info",gettext("Page locked"),gettext("This page is locked and cannot be deleted."));}
else if(Tabblo.Grid.numPages-1<Tabblo.Grid.minPages)
{showMessage("info",gettext("Minimum pages reached"),gettext("Cannot delete any more pages, already at the required minimum of ")+Tabblo.Grid.minPages+gettext(" pages for this product."));}
else
{showMessage("question",gettext("Delete page?"),gettext("Clicking OK will <b>delete the page on the ")+(isRight?"right":"left")+gettext(".</b> You can always click 'Undo' to get this page back.  <p/>Click 'OK' to delete the page or click 'Cancel' to do nothing."),true,function()
{jQuery("#delete_right_page").css('display','none');jQuery("#delete_left_page").css('display','none');Tabblo.editor.Editor.Tools.deletePages([cpage]);});}},deletePages:function(pagesArray)
{if(pagesArray.length==0){return;} 
var outputArray=new Array();for(var i=0;i<pagesArray.length;i++)
{if(!isNaN(parseInt(pagesArray[i])))
{if(Tabblo.Grid.gridPageIsLocked(pagesArray[i]))
{alert(gettext("You cannot delete a locked page.  The UI to do this should be supressed.  This is an internal message.  Reloading page with fresh data."));}
else
{outputArray.push(pagesArray[i]);}}}
if(outputArray.length>0)
{var url='/edit/deletepages/'+Tabblo.editor.Editor.storyId+'/';var pars='pages='+outputArray.join(',');Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.editor.Editor.Tools.completePageDelete});}},completePageDelete:function(ajaxResponse)
{Tabblo.Editor.reload(null,true);},tweakStyle:function(pars,callback)
{ var tbs=Tabblo.Grid.getTextblockParcels();for(var i=0;i<tbs.length;i++)
{if(tbs[i])
{var td=Tabblo.editor.parcels.getTextcontrolTdForTextblock(tbs[i]);td.removeAttribute("editstyle");td=null;}}
tbs=null;var url="/edit/tweakstyle/"+Tabblo.editor.storyID;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:this._tweakStyleComplete.bind(this,callback)},'',true);},_tweakStyleComplete:function(callback,ajaxResponse)
{if((ajaxResponse.statusText=="OK")&&(ajaxResponse.responseObject.status=="OK"))
{Tabblo.editor.reloadAllClones();var tbs=Tabblo.Grid.getTextblockParcels();var time=new Date().getTime();for(var i=0;i<tbs.length;i++)
{if(tbs[i])
{var ievt=Tabblo.editor.parcels.getTexteventImgForTextblock(tbs[i]);if(__tcu.getCssClass(ievt)=='itb')
{ievt.src=__tcu.replaceQueryParam(ievt.src,"timestamp",time);}
ievt=null;}}
tbs=null;time=null;Tabblo.editor.Warnings.bindWarnings(ajaxResponse);}
if(callback)
{callback(ajaxResponse);}}});Tabblo.Editor=Tabblo.editor.Editor;Tabblo.BookEditor=function(parentId,storyId,partner,optionsObj)
{this.init=Tabblo.editor.Editor.initVariantThing;if(parentId instanceof Array)
{return this.init(parentId,storyId,partner,optionsObj);}
else
{var parents=[['_tabblo_bookeditor_page0','_tabblo_bookeditor_page1'],['_tabblo_bookeditor_trough']]; var p=$(parentId);var pwidth=__tcu.getWidth(p)-20;var pheight=__tcu.getHeight(p);var halfwidth=parseInt(pwidth/2);var troughheight=parseInt(pwidth/10)+12;var troughwidth=pwidth-10;var mainheight=pheight-troughheight-Tabblo.editor.Editor.ap_margin_height;var mainwidth=halfwidth-parseInt(Tabblo.editor.Editor.ap_margin_width/2);var trough_pos_x=10;var trough_pos_y=0; var p1_pos_x=10;var p1_pos_y=0;var p2_pos_x=10; var p2_pos_y=0;return __tcu.getDiv('',function(parents,storyId,partner,optionsObj){__tcu.getDiv('',function(parents,storyId,partner,optionsObj){__tcu.getDiv('',function(parents,storyId,partner,optionsObj){this.init(parents,storyId,partner,optionsObj);}.bind(this,parents,storyId,partner,optionsObj),'bookeditor_structure_bottom',p,{'id':parents[1][0],'bottom':trough_pos_y,'left':trough_pos_x,'width':troughwidth,'height':troughheight});}.bind(this,parents,storyId,partner,optionsObj),'bookeditor_structure_right',p,{'id':parents[0][1],'top':p2_pos_y,'right':p2_pos_x,'width':mainwidth,'height':mainheight});}.bind(this,parents,storyId,partner,optionsObj),'bookeditor_structure_left',p,{'id':parents[0][0],'top':p1_pos_y,'left':p1_pos_x,'width':mainwidth,'height':mainheight});}};Tabblo.FoldedcardEditor=function(parentId,storyId,partner,optionsObj)
{this.init=Tabblo.editor.Editor.initVariantThing;if(parentId instanceof Array)
{return this.init(parentId,storyId,partner,optionsObj);}
else
{var parents=[['_tabblo_foldedcardeditor_page0','_tabblo_foldedcardeditor_page1'],[]]; var p=$(parentId);var pwidth=__tcu.getWidth(p)-20;var pheight=__tcu.getHeight(p);var halfwidth=parseInt(pwidth/2);var mainheight=pheight-Tabblo.editor.Editor.ap_margin_height;var mainwidth=halfwidth-parseInt(Tabblo.editor.Editor.ap_margin_width/2);var p1_pos_x=10;var p1_pos_y=0;var p2_pos_x=10; var p2_pos_y=0;return __tcu.getDiv('',function(parents,storyId,partner,optionsObj){__tcu.getDiv('',function(parents,storyId,partner,optionsObj){this.init(parents,storyId,partner,optionsObj);}.bind(this,parents,storyId,partner,optionsObj),'bookeditor_structure_right',p,{'id':parents[0][1],'top':p2_pos_y,'right':p2_pos_x,'width':mainwidth,'height':mainheight});}.bind(this,parents,storyId,partner,optionsObj),'bookeditor_structure_left',p,{'id':parents[0][0],'top':p1_pos_y,'left':p1_pos_x,'width':mainwidth,'height':mainheight});}};Tabblo.PosterEditor=function(parentId,storyId,partner,optionsObj)
{this.init=Tabblo.editor.Editor.initVariantThing;var e=this.init(parentId,storyId,partner,optionsObj);return e;};
/* tabblo/site.js */

Tabblo.add_namespace("Tabblo.site",{keepMoving:false,_leaveGroupID:null,_eventID:null,_tempMessageID:null,_varID:null,_activeImg:null,_commentID:null,_tempStoryRef:null,attitude_total:0,attitude_key_counter:0,fun_key_counter:0,fun_total:0,currentLookupField:null,currentSuggestRow:null,_currentComment:null,_currentUser:null,_currentCommentHolder:null,_tempTags:null,_personHolder:null,_circlePersonID:null,popup_widgets:new Array("magnify_div","auto_complete","tag_div","tag_all_div","add_source_div","info_div","edit_block","change_block_div"),_buddyID:"",unload:function()
{Tabblo.site.keepMoving=false;Tabblo.site._leaveGroupID=null;Tabblo.site._eventID=null;Tabblo.site._tempMessageID=null;Tabblo.site._varID=null;Tabblo.site._activeImg=null;Tabblo.site._commentID=null;Tabblo.site._tempStoryRef=null;Tabblo.site.currentLookupField=null;Tabblo.site.currentSuggestRow=null;Tabblo.site._currentComment=null;Tabblo.site._currentUser=null;Tabblo.site._currentCommentHolder=null;Tabblo.site._tempTags=null;Tabblo.site._personHolder=null;Tabblo.site._circlePersonID=null;Tabblo.site.popup_widgets=new Array("magnify_div","auto_complete","tag_div","tag_all_div","add_source_div","info_div","edit_block","change_block_div");Tabblo.site._buddyID="";},findDialectText:function(body,dialect)
{var preIndex=body.indexOf('('+dialect+')');var nextIndex=body.indexOf('<p>',preIndex);var lastIndex=body.indexOf('</td>',nextIndex);return body.substring(nextIndex+3,lastIndex);},dialectize:function(dialect,text,containerNodeRef)
{text=__tcu.trim(text);text=escape(text);return Tabblo.ajax.simple_beam('/edit/dialectize/'+dialect+'/','text='+text,function(containerNodeRef,jsonResponse)
{var text=Tabblo.site.findDialectText(jsonResponse.responseObject.body,dialect);__d('dialectize',text,containerNodeRef);if(containerNodeRef)
{containerNodeRef.innerHTML=text;}}.bind(this,containerNodeRef));},gatherTheTroops:function(useAlt)
{var tagInfo=trim($("upload_tags").value);var csstag=useAlt?".privacy_choice_block_alt_selected:first":".privacy_choice_block_selected:first";var s=$$(csstag)[0];var params="";if(s||tagInfo)
{try{s=s.getAttribute("security_value");}catch(e){}
if(s&&(s!="undefined"))
{params="security="+s+'&';}
if(tagInfo)
{params+="tags="+encodeURIComponent(tagInfo);}
var url="/studio/upload/set_upload_info/";Tabblo.ajax.Send.beam(url,{parameters:params,onSuccess:hideTheTruth,onFailure:hideTheTruth});}},getUploadInfo:function()
{var url="/studio/upload/get_upload_info/";Tabblo.ajax.Send.beam(url,{parameters:"",onComplete:function(jsonResponse){__d('getUploadInfo',jsonResponse.responseText);}});},stopMove:function(obj)
{Tabblo.site.keepMoving=false;if(obj!=null&&obj.src!=null)
{var source=obj.src;if(source.indexOf("_over")!=-1)
{source=source.replace("_over.gif",".gif");obj.src=source;}}},startMove:function(dir,obj,img,vertical)
{if(obj.id=="tabblo_lightbox")
{if(!Tabblo.editor.photoorganizer._checkLightbox())
{return;}}
if(img!=null&&img.src!=null)
{var source=img.src;if(source.indexOf("_over")==-1)
{source=source.replace(".gif","_over.gif");img.src=source;}}
Tabblo.site.keepMoving=true;if(vertical)
{if(dir)
{Tabblo.site.moveUp(obj);}
else
{Tabblo.site.moveDown(obj);}}
else
{if(dir)
{Tabblo.site.moveRight(obj);}
else
{Tabblo.site.moveLeft(obj);}}},moveRight:function(obj)
{Tabblo.Grid.stopOverlayingThisParcel(null);if(Tabblo.site.keepMoving)
{if(obj.id!="film_strip_table")
{if(isIE)
{if(obj.offsetLeft<=-20)
{Tabblo.core.effects.Simple_MoveBy(obj,20,0,0.1,YAHOO.util.Easing.easeBoth,function(effect){Tabblo.site.moveRight(obj);});}}
else
{if(obj.offsetLeft<=62)
{Tabblo.core.effects.Simple_MoveBy(obj,20,0,0.1,YAHOO.util.Easing.easeBoth,function(effect){Tabblo.site.moveRight(obj);});}}}
else
{if(isIE)
{if(obj.offsetLeft<0)
{Tabblo.core.effects.Simple_MoveBy(obj,20,0,0.1,YAHOO.util.Easing.easeBoth,function(effect){Tabblo.site.moveRight(obj);});}}
else
{if(obj.offsetLeft<=68)
{Tabblo.core.effects.Simple_MoveBy(obj,20,0,0.1,YAHOO.util.Easing.easeBoth,function(effect){Tabblo.site.moveRight(obj);});}}}}},moveLeft:function(obj)
{Tabblo.Grid.stopOverlayingThisParcel(null);if(Tabblo.site.keepMoving)
{Tabblo.core.effects.Simple_MoveBy(obj,-20,0,0.1,YAHOO.util.Easing.easeBoth,function(effect){Tabblo.site.moveLeft(obj);});var button=obj.getAttribute("right_button");if(button!=null)
{button=$(button);button.disabled=false;}}},moveUp:function(obj)
{Tabblo.Grid.stopOverlayingThisParcel(null);if(Tabblo.site.keepMoving)
{if(obj.offsetTop<5)
{Tabblo.core.effects.Simple_MoveBy(obj,0,20,0.1,function(effect){Tabblo.site.moveUp(obj);});if(navigator.appName.indexOf("Internet Explorer")!=-1)
{Tabblo.core.effects.Simple_MoveBy($("scroll_node"),0,-20,0.1);}
else
{$("scroll_node").style.paddingTop=parseInt($("scroll_node").style.paddingTop)-20;}}
else
{var button=obj.getAttribute("up_button");if(button!=null)
{button=$(button);}}}},moveDown:function(obj)
{Tabblo.Grid.stopOverlayingThisParcel(null);if(Tabblo.site.keepMoving)
{Tabblo.core.effects.Simple_MoveBy(obj,0,-20,0.1,function(effect){Tabblo.site.moveDown(obj);});if(parseInt($("scroll_node").style.paddingTop)<360)
{if(navigator.appName.indexOf("Internet Explorer")!=-1)
{Tabblo.core.effects.Simple_MoveBy($("scroll_node"),0,20,0.1);}
else
{$("scroll_node").style.paddingTop=parseInt($("scroll_node").style.paddingTop)+20;}}
button=obj.getAttribute("up_button");if(button!=null)
{button=$(button);button.disabled=false;}}},getPurchaseScope:function(ref)
{if(Tabblo.editor&&Tabblo.editor.photoorganizer)
{Tabblo.editor.photoorganizer.clearCategoryHolders();}
var thing=$(ref);if(ref.indexOf("everyone")!=-1)
{ thing.style.fontWeight="bold";$("me_filter").style.fontWeight="normal";$("featured_filter").style.fontWeight="normal";YAHOO.util.Dom.setStyle("me_filter_holder","borderBottom","1px solid #cccccc");YAHOO.util.Dom.setStyle("everyone_filter_holder","borderBottom","1px solid #ffffff");YAHOO.util.Dom.setStyle("featured_filter_holder","borderBottom","1px solid #cccccc");Tabblo.site.getPurchaseList("circle");}
else if(ref.indexOf("me")!=-1)
{ thing.style.fontWeight="bold";$("everyone_filter").style.fontWeight="normal";$("featured_filter").style.fontWeight="normal";YAHOO.util.Dom.setStyle("me_filter_holder","borderBottom","1px solid #ffffff");YAHOO.util.Dom.setStyle("everyone_filter_holder","borderBottom","1px solid #cccccc");YAHOO.util.Dom.setStyle("featured_filter_holder","borderBottom","1px solid #cccccc");Tabblo.site.getPurchaseList("me");}
else
{ thing.style.fontWeight="bold";$("me_filter").style.fontWeight="normal";$("everyone_filter").style.fontWeight="normal";YAHOO.util.Dom.setStyle("featured_filter_holder","borderBottom","1px solid #ffffff");YAHOO.util.Dom.setStyle("me_filter_holder","borderBottom","1px solid #cccccc");YAHOO.util.Dom.setStyle("everyone_filter_holder","borderBottom","1px solid #cccccc");Tabblo.site.getPurchaseList("featured");}
thing=null;},getPurchaseList:function(key)
{var url='/studio/purchase/get_mine';if(key=="circle")
{url='/studio/purchase/get_circle';}
else if(key=="featured")
{url='/studio/purchase/get_featured';}
else if(key=="my_public")
{url='/studio/purchase/get_mine_public';}
setTimeout("Tabblo.ajax.Send.beam(\""+url+"\", {onSuccess: Tabblo.site.populatePurchaseList});",250);},selectPurchaseListItem:function(evt)
{var obj=__tcu.getTarget(__tcu.getEvt(evt));Tabblo.site.selectPurchaseListProxy(obj);},selectPurchaseListProxy:function(obj)
{var selectedDivs=document.getElementsByClassName("purchase_list_item_selected");for(i=0;i<selectedDivs.length;i++)
{selectedDivs[i].className="purchase_list_item";}
obj.className="purchase_list_item_selected";$("preview_image").src=obj.getAttribute("widget")+"&fit=160x160";$("purchase_tabblo_title").innerHTML=obj.innerHTML;$("purchase_tabblo_title").setAttribute("tabblo_id",obj.getAttribute("tabblo_id"));purchaseStoryID=obj.getAttribute("tabblo_id");if(self.currentSecurityType||self.use_current_security)
{Tabblo.site.setSecurityProxy($("security_"+obj.getAttribute("access")),purchaseStoryID,true);currentSecurityType=obj.getAttribute("access");}
if($("large_preview_image"))
{if(self.rotateDots)
{restartDots();}
selectedPlexi=document.getElementsByClassName("selected_plexi_tbl")[0];$("large_preview_image").src="/studio/shop/previews/"+obj.getAttribute("tabblo_id")+"/"+getPhotoLayout()+"?"+(isPreviewPortrait()?previewParams_portrait:previewParams_landscape);$("large_preview_image").onload=setupPlexiglass;}},createProduct:function(ptype,pars,upload,flickr)
{if($("make_subnav_holder")&&($("make_subnav_holder").style.display==""||$("make_subnav_holder").style.display=="block")){Tabblo.site.toggleMakeDropdown();}
var url="/studio/stories/start_create/"+ptype;if(upload){if(pars){pars+='upload=true';}else{pars='upload=true';}}
Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:function(response)
{var code=response.responseObject.code_to_run;eval(code);}},false,true);},creationPath:function(pars,stealthy,reload)
{__mifflin(stealthy,reload);if(reload)
{parent.document.location=parent.document.location;}
else
{var url="/studio/stories/create_path";pars=(typeof pars=="string"?pars:"");Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:function(response)
{var code=response.responseObject.code_to_run;eval(code);}},null,stealthy);}},kickOffUploadPath:function()
{Tabblo.site.createProduct('online',null,true);},showUploader:function()
{__tcu.showAddPhotos(true);},showOrganizer:function()
{__tcu.showAddPhotos(false);},showFlickr:function()
{__tcu.showAddPhotos(false,null,null,true);},showEditor:function(story_id,host)
{var url='/studio/stories/edit/'+story_id+'/?creating=1';if(host){url=host+url;}
parent.document.location=url;},forgotPassword:function()
{Tabblo.site.showForgotPassword();},showForgotPassword:function()
{$("sign_in_table").style.display="none";$("forgot_password_table").style.display="";},cancelForgotPassword:function()
{$("forgot_password_table").style.display="none";$("sign_in_table").style.display="";},checkForMinimum:function(obj,use_self)
{pinfo=$("product_info_"+obj.getAttribute("pname"));if(use_self)
{pinfo=obj;}
pmin=pinfo.getAttribute("min");cval=Tabblo.site.convertToPennies(obj.value);if(cval<pmin)
{pinfo.style.backgroundColor="#ff0000";pinfo.setAttribute("plow","true");return true;}
else
{pinfo.style.backgroundColor="#ffffff";pinfo.setAttribute("plow","false");return false;}},convertToPennies:function(val)
{if(val==null)
{return null;}
val=val+"";if(val.indexOf(".")!=-1)
{ while(val.indexOf("0")==0)
{ val=val.substring(1);}
val=(val.substring(0,val.indexOf("."))+val.substring(val.indexOf(".")+1));}
else
{val=val*100;}
return parseInt(val);},convertToDollars:function(val)
{val=val+"";if(val.indexOf(".")==-1)
{val=val.substring(0,val.length-2)+"."+val.substring(val.length-2);}
return val;},sendForgottenPassword:function(pw)
{var val=(pw!=null)?pw:$("forgotten_password").value;if(val!=null&&trim(val).length>0)
{var url="/studio/lostpassword";var pars="identifier="+__tcu.escape_utf8(val);if(pw==null)
{$("sign_in_table").style.display="";$("forgot_password_table").style.display="none";Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.site.finishForgotPassword});}
else
{Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.site.finishForgotPasswordAuto});}}
else
{showMessage("question","Need some info","Please enter a username or email address.");}
val=null;},finishForgotPasswordAuto:function(ajaxResponse)
{showMessage("info","Email sent","An email has been sent to that email address with your username and password.",true,Tabblo.site.goHome);$("message_cancel_button").style.display="none";},goHome:function()
{location="/studio";},finishForgotPassword:function(ajaxResponse)
{if(ajaxResponse.responseText=="OK")
{showMessage("info","Email has been sent","An email has been sent with your username and password information.");cancelLogin();}
else
{showMessage("warn","User not found","We could not find a user with that information.  Please try again.");}},swap_buttons:function()
{var cancel_button=$("message_cancel_button");var ok_button=$("message_ok_button");var dummyCell;if(document.createElement&&(dummyCell=document.createElement('td')))
{ok_button.parentNode.replaceChild(dummyCell,ok_button);cancel_button.parentNode.replaceChild(ok_button,cancel_button);dummyCell.parentNode.replaceChild(cancel_button,dummyCell);}},sortNumbersDesc:function(a,b)
{return(b-a);},hoverCircleMember:function(obj)
{obj.className="addressData selectedMemberListItem";},unhoverCircleMember:function(obj)
{obj.className="addressData";},removeOngoing:false,removeFromLightbox:function(obj)
{if(!obj||(obj&&(obj.id.indexOf('X_f')==0)))
{ return false;}
if(!Tabblo.site.removeOngoing)
{Tabblo.site.removeOngoing=true;var objid=obj.id;Element.remove($(objid));for(var z=0;z<Tabblo.editor.photoorganizer._currentLightboxImgs.length;z++)
{var foo=objid.substring(objid.lastIndexOf('_')+1);if(Tabblo.editor.photoorganizer._currentLightboxImgs[z]&&Tabblo.editor.photoorganizer._currentLightboxImgs[z].id==foo)
{delete(Tabblo.editor.photoorganizer._currentLightboxImgs[z]);}}
var url="/studio/lightbox/removeitem/"+objid.substring(objid.indexOf("_")+1);var pars="";new Tabblo.editor.actions.Action(new Tabblo.editor.actions.SimpleAction("removeFromLightbox",function()
{Tabblo.editor.photoorganizer.imageCounter--;}.bind(),url,pars,function(ajaxResponse)
{Tabblo.site.removeOngoing=false;if(ajaxResponse.responseText=="OK")
{}
else
{showMessage("info","Problem updating lightbox","There was a problem removing that image from your lightbox.");}}),{}).run();}},togglePrivacyRow:function(ref)
{var qpd=$("quick_privacy_div");qpd.setAttribute("story_id",ref);var con=$("controls_"+ref);var offsets=__tcu.getXY(con);qpd.style.top=offsets[1]+"px";qpd.style.left=(offsets[0]+100)+"px";Tabblo.core.effects.Simple_Appear(qpd,0.3,null,function()
{if(currentSecurityType!="")
{$("security_"+currentSecurityType).setAttribute("selected","false");Tabblo.site.resetPreviousChoice();}
currentSecurityType=con.getAttribute("access");Tabblo.site.setSecurityProxy($("security_"+currentSecurityType),con.getAttribute("story_id"));});Tabblo.site.showPrivacyBlocker(offsets[0]+100,offsets[1]);},toggleGenericPrivacyRow:function(anc,offX,offY)
{var qpd=$("quick_privacy_div");var offsets=__tcu.getXY(anc);qpd.style.top=(offsets[1]+(offY!=null?offY:0))+"px";qpd.style.left=(offsets[0]+100+(offX!=null?offX:0))+"px";Tabblo.core.effects.Simple_Appear(qpd,0.3,null,function()
{if(anc.getAttribute("access")!="")
{currentSecurityType=anc.getAttribute("access");Tabblo.site.setMultipleSecurityProxy($("security_"+currentSecurityType));}});Tabblo.site.showPrivacyBlocker(offsets[0]+100+(offX!=null?offX:0),offsets[1]+(offY!=null?offY:0));},hoverSecurityChoice:function(obj)
{if(obj.getAttribute("selected")!="true")
{var tar=$(obj.getAttribute("target"));hover(tar);obj.className="privacy_choice_block_hover";}},unhoverSecurityChoice:function(obj)
{if(obj.getAttribute("selected")!="true")
{obj.className="privacy_choice_block";var tar=$(obj.getAttribute("target"));hover(tar);}},toggleFavorite:function(sid)
{var url="/studio/favorites/add/";var pars="";if($("favorite_link").innerHTML.indexOf("Remove")!=-1)
{$("favorite_link").innerHTML="Make Favorite";url="/studio/favorites/remove/";}
else
{$("favorite_link").innerHTML="Remove Favorite";}
url+=sid;Tabblo.ajax.Send.beam(url,{parameters:pars});},editGroupSetting:function(slug,setting,value)
{var url="/studio/group/"+slug+"/edit";var pars=__tcu.conjoinParams([setting,value]);Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishEditGroup});},finishEditGroup:function(ajaxResponse)
{if(ajaxResponse.responseText!="OK"){showMessage("error","Problem editing group","There was a problem editing this group's settings.");}},joinThisGroup:function(gid)
{var url="/studio/groups/join/"+gid;Tabblo.ajax.Send.beam(url,{onSuccess:Tabblo.site.finishJoinGroup});},finishJoinGroup:function(ajaxResponse)
{if(ajaxResponse.responseText=="OK")
{$("join_group_link").style.display="none";$("leave_group_link").style.display="";location=location;}
else
{showMessage("error","Problem joining group","There was a problem joining this group.");}},leaveThisGroup:function(gid)
{Tabblo.site._leaveGroupID=gid;showMessage("question","Leave this group?","Are you sure you want to leave this group?",true,Tabblo.site.actuallyLeaveGroup);},actuallyLeaveGroup:function()
{var url="/studio/groups/leave/"+Tabblo.site._leaveGroupID;Tabblo.ajax.Send.beam(url,{onSuccess:Tabblo.site.finishLeaveGroup});},finishLeaveGroup:function(ajaxResponse)
{Tabblo.site._leaveGroupID=null;if(ajaxResponse.responseText=="OK")
{$("leave_group_link").style.display="none";$("join_group_link").style.display="";if(_GROUP_IS_VISIBLE)
{location=location;}
else
{location="/studio";}}
else
{showMessage("error","Problem leaving group","There was a problem leaving this group.");}},editGroupDescription:function()
{$("edit_gd_row").style.display="none";var currentGD=trim($("group_description").innerHTML);if(currentGD=="&nbsp;")
{currentGD="";}
$("group_description_ta").value=currentGD.unescapeHTML();$("gd_edit_row").style.display="";$("group_description_holder").style.display="none";},setGroupDescription:function(slug)
{var url="/studio/group/"+slug+"/edit";var pars="&desc="+__tcu.escape_utf8(trim($("group_description_ta").value.escapeHTML()));Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishSetGD});},finishSetGD:function(ajaxResponse)
{if(ajaxResponse.responseText=="BAD_SETTING")
{showMessage("error","Group description problem","There was a problem setting the group description.  Please try again later.");}
else
{$("group_description").innerHTML=$("group_description_ta").value.escapeHTML();$("edit_group_description_link").innerHTML="Edit";Tabblo.site.cancelGroupDescription();}},cancelGroupDescription:function()
{$("edit_gd_row").style.display="";$("gd_edit_row").style.display="none";$("group_description_holder").style.display="";},editPersonalStatement:function()
{$("edit_ps_row").style.display="none";var currentPS=trim($("personalStatement").innerHTML).unescapeHTML();if(currentPS=="&nbsp;")
{currentPS="";}
$("personal_statement_ta").value=currentPS;$("ps_edit_row").style.display="";$("personalStatement_holder").style.display="none";},setPersonalStatement:function()
{var url="/studio/setprofile/";var pars="setting=personal_statement&value="+__tcu.escape_utf8(trim($("personal_statement_ta").value));Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishSetPS});},finishSetPS:function(ajaxResponse)
{if(ajaxResponse.responseText=="BAD_SETTING")
{showMessage("error","Personal statement problem","There was a problem setting the personal statement.  Please try again later.");}
else
{$("personalStatement").innerHTML=ajaxResponse.responseText.escapeHTML();$("edit_personal_statement_link").innerHTML="Edit";Tabblo.site.cancelPersonalStatement();}},cancelPersonalStatement:function()
{$("edit_ps_row").style.display="";$("ps_edit_row").style.display="none";$("personalStatement_holder").style.display="";},editEvent:function(eid)
{var s=$("event_status").options[$("event_status").selectedIndex].value;var d=$("event_description").value;var url="/studio/events/edit/"+eid+"/";var pars="status="+s+"&description="+__tcu.escape_utf8(d);Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishEditEvent});},finishEditEvent:function(ajaxResponse)
{var txt=ajaxResponse.responseText;if(txt=="OK")
{showMessage("info","Event updated","The event has been updated with the information you entered.");}
else
{showMessage("error","Event not updated","There was a problem with updating the event.  Please try again.");}},deleteEvent:function(eid)
{var er=$("event_"+eid+"_row");Tabblo.site._eventID=eid;showMessage("question","Delete event?","Are you sure you want to delete the '"+er.getAttribute("event_name")+"' event?",true,Tabblo.site.deleteEventAjax);},deleteEventAjax:function()
{var url="/studio/events/delete/"+Tabblo.site._eventID+"/";var pars="";Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishDeleteEvent});},finishDeleteEvent:function(ajaxResponse)
{var txt=ajaxResponse.responseText;if(txt=="OK")
{var er=$("event_"+Tabblo.site._eventID+"_row");showMessage("info","Event deleted","'"+er.getAttribute("event_name")+"' has been deleted as an event.");er.style.display="none";}
else
{showMessage("error","Problem deleting event","There was a problem deleting this event:<p/>"+txt);}
Tabblo.site._eventID=null;},mayOffend:function(objID,isPhoto)
{showMessage("question","Flag as may offend?","Flagging this as 'may offend' will send an alert to Tabblo about this content.  Are you sure you want to send the alert?",true,function()
{var url="/studio/mayoffend/";var pars="id="+objID+"&isphoto="+isPhoto;Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishMayOffend});});},finishMayOffend:function(ajaxResponse)
{var txt=ajaxResponse.responseText;if(txt=="OK")
{showMessage("info","Thanks","The Tabblo Team has been alerted about this item.  Thank you for your support.");}},getItemSet:function(evt,start,finish,pageNumber)
{ if(start==null)
{start=1;finish=pageSize;}
if(self._inPurchaseMode)
{prepForPageSwitch();}
var finalHTML="<table><tr>";while(start-1<finish)
{if(start-1<pagedItemArray.length)
{if(start%rowBreak==0)
{finalHTML+="<td valign='bottom' class='"+rowClass+"_end'>"+pagedItemArray[start-1]+"</td>";finalHTML+="</tr><tr>";}
else
{finalHTML+="<td valign='bottom' class='"+rowClass+"'>"+pagedItemArray[start-1]+"</td>";}
start++;}
else
{break;}}
if(pageNumber!=null)
{var selectedAnchors=document.getElementsByClassName("selectedLink");for(var i=0;i<selectedAnchors.length;i++)
{selectedAnchors[i].className="unselected_anchor";}
$("page_number_"+pageNumber).className="selectedLink";$("page_number_"+pageNumber+"_b").className="selectedLink";}
$("paged_item_holder").innerHTML=finalHTML;if(self._inPurchaseMode)
{togglePurchaseMode();precheckPage();}},sendAMessage:function(anc,ref)
{if($("add_message_div"))
{if(anc)
{var offsets=__tcu.getXY(anc);var am=$("add_message_div");am.style.top=offsets[1]+"px";am.style.left=offsets[0]+"px";am.setAttribute("userid",anc.getAttribute("userid"));am.setAttribute("username",anc.getAttribute("username"));if($("profile_picture"))
{$("message_profile_pic").src=$("profile_picture").src;}
else
{$("message_profile_pic").src=$("profilepic"+anc.getAttribute("messageid")).src;}
$("send_message_to").innerHTML=anc.getAttribute("username");$("message_text").value="";Tabblo.core.effects.Simple_Appear(am,0.3,null,function(){Tabblo.site.__focus("message_text");});}
else
{var am=$("add_message_div");am.setAttribute("userid",$("mail_message").getAttribute("userid"));am.setAttribute("username",$("mail_message").getAttribute("username"));$("send_message_to").innerHTML=$("mail_message").getAttribute("username");$("message_profile_pic").src=$("mail_message").getAttribute("profile_pic");__tcu.appearCentered(am);$("message_text").focus();}}},submitAMessage:function()
{if($("add_message_div"))
{var url="/studio/sendmessage/";var msg=$("message_text").value;if(trim(msg)!="")
{var pars="user="+$("add_message_div").getAttribute("userid")+"&message="+__tcu.escape_utf8(msg);Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishSendAMessage});}
else
{showMessage("info","Message missing","Please enter the text you would like to send.");}}},finishSendAMessage:function(ajaxResponse)
{if(ajaxResponse.responseText=="OK")
{showMessage("info","Message sent","Your message to "+$("add_message_div").getAttribute("username")+" has been sent.");}
Tabblo.site.closeAMessage();},closeAMessage:function()
{Tabblo.core.effects.Simple_Fade("add_message_div",0.3,0);},deleteAMessage:function(msgID)
{Tabblo.site._tempMessageID=msgID;showMessage("question","Delete this message?","Are you sure you want to delete this message?",true,Tabblo.site.deleteAMessageProxy);},deleteAMessageProxy:function()
{closeMessage();var url="/studio/deletemessage/";var pars="mid="+Tabblo.site._tempMessageID;Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishDeleteMessage});},finishDeleteMessage:function(ajaxResponse)
{if(ajaxResponse.responseText=="OK")
{location=location;}
else
{showMessage("info","Problem deleting message","There was a problem deleting that message.");}
Tabblo.site._tempMessageID=null;},addPersonToCircle:function(uid)
{var url="/studio/people/addtocircle/";var pars="uid="+uid;Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishAddPerson});},finishAddPerson:function(ajaxResponse)
{var txt=ajaxResponse.responseText;if(txt=="OK"){if($("add_to_circle_holder"))
{$("add_to_circle_holder").innerHTML="<b>"+$("add_to_circle_holder").getAttribute("un")+" has been added<br/>to your Circle</b>";}
else if($("skeleton_key"))
{location=$("skeleton_key").getAttribute("reload_url");}
else
{showMessage("info","Added","That user has now been added to your Circle.");}}
else
{showMessage("error","Problem Adding to Circle",txt);}},removePersonFromCircle:function(uid,holder)
{if(uid)
{Tabblo.site._circlePersonID=uid;}
if(holder)
{Tabblo.site._personHolder=$(holder);}
showMessage("question","Remove From Circle?","Are you sure you want to remove this person from your circle?",true,Tabblo.site.removePersonFromCircleProxy);},removePersonFromCircleProxy:function()
{var url="/studio/people/removefromcircle/";var pars="uid="+Tabblo.site._circlePersonID;closeMessage();Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishRemovePerson,onFailure:Tabblo.site.finishRemovePerson});},finishRemovePerson:function(ajaxResponse)
{var txt=ajaxResponse.responseText;var atch=$("add_to_circle_holder");var sk=$("skeleton_key");if(txt=="OK")
{if(atch)
{atch.innerHTML="<b>"+atch.getAttribute("un")+" has been removed<br/>from your Circle</b>";}
else if(Tabblo.site._personHolder)
{Tabblo.site._personHolder.innerHTML="";Tabblo.site._personHolder=null;}
else if(sk)
{location=sk.getAttribute("reload_url");}
else
{showMessage("info","Removed","That user has now been removed from your Circle.");}
if($("address_entry_"+Tabblo.site._circlePersonID))
{$("address_entry_"+Tabblo.site._circlePersonID).style.display="none";}}
else
{showMessage("error","Problem Removing from Circle",txt);}
sk=null;atch=null;},startSearch:function()
{var sVal=$("search_field").value;if(sVal==null||trim(sVal).length==0)
{showMessage("info","Search for what?","Please enter a search term and click 'search' again.");return;}
else
{location="/studio/search?q="+__tcu.escape_utf8(sVal);}},createTabbloVariation:function(sid,showWarning)
{Tabblo.site._varID=sid;if(showWarning)
{showMessage("question","Create variation?","Click 'OK' to create a copy for your variation.  Click 'Cancel' to return to the original.",true,Tabblo.site.finishTabbloVariation);}
else
{Tabblo.site.finishTabbloVariation();}},finishTabbloVariation:function()
{location="/studio/stories/createvariation/"+Tabblo.site._varID+"/";},setSecurityProxy:function(obj,sID,ignoreAjax)
{var qpd=$("quick_privacy_div");var m=(qpd)?qpd.getAttribute("multiple"):null;if(m!=null&&m=="true")
{Tabblo.site.setSecurityMultiple(obj);}
else
{if(sID==null)
{sID=qpd.getAttribute("story_id");}
if($("privacy_row_story_"+sID))
{var ct=$("privacy_row_story_"+sID).getAttribute("current_type");$("security_"+ct+"_"+sID).setAttribute("selected","false");Tabblo.site.resetPreviousChoice(ct+"_"+sID);$("privacy_row_story_"+sID).setAttribute("current_type",obj.getAttribute("security_value"));Tabblo.site.setPreviousChoice(obj.getAttribute("security_value")+"_"+sID);}
else
{if(currentSecurityType){$("security_"+currentSecurityType).setAttribute("selected","false");Tabblo.site.resetPreviousChoice();currentSecurityType=obj.getAttribute("security_value");currentSecurityObject=obj;Tabblo.site.setPreviousChoice();}}
if(!ignoreAjax&&!$("tabblo_almost_done")&&!$("quick_privacy_div"))
{Tabblo.site.setSecurity(obj,sID);}}},setMultipleSecurityProxy:function(obj)
{if(obj!=null)
{obj.setAttribute("selected","false");if(currentSecurityType)
{Tabblo.site.resetPreviousChoice();}
currentSecurityType=obj.getAttribute("security_value");currentSecurityObject=obj;Tabblo.site.setPreviousChoice();}
$("quick_privacy_div").setAttribute("multiple","true");},resetPreviousChoice:function(altType)
{ var obj=$("security_"+(altType?altType:currentSecurityType));obj.className="privacy_choice_block"; var tar=$(obj.getAttribute("target"));var source=tar.src;source=source.replace("_selected.gif",".gif");tar.src=source; obj=$("sec_"+(altType?altType:currentSecurityType)+"_title");obj.className="security_title"; obj=$("sec_"+(altType?altType:currentSecurityType)+"_sub");obj.className="security_title_sub";obj=null;source=null;},setPreviousChoice:function(altType)
{ var obj=$("security_"+(altType?altType:currentSecurityType));obj.className="privacy_choice_block_selected";obj.setAttribute("selected","true"); var tar=$(obj.getAttribute("target"));var source=tar.src;source=source.replace("_over.gif","_selected.gif");tar.src=source; obj=$("sec_"+(altType?altType:currentSecurityType)+"_title");obj.className="security_title_selected"; obj=$("sec_"+(altType?altType:currentSecurityType)+"_sub");obj.className="security_title_sub_selected";obj=null;source=null;},setSecurityMultiple:function(obj)
{var preselections=getPreselections();if(_selectedItemIds!=""||preselections!="")
{var idString=_selectedItemIds+preselections;clearPreselections();_skipCookie=true;var ids=idString.substring(0,idString.length-1).split(",");_totalSelected=ids.length;for(i=0;i<ids.length;i++)
{Tabblo.site.setSecurity(obj,ids[i]);if($("privacy_icon_"+ids[i]))
{$("privacy_icon_"+ids[i]).src="/bitty-static/images/mini_"+obj.getAttribute("security_value")+"_icon.gif";$("privacy_icon_"+ids[i]).title="This photo's privacy is currently set to: "+obj.getAttribute("security_value");}}
showMessage("info","Privacy set","The privacy has been set for all the selected photos");}
else
{showMessage("info","Privacy settings","Setting privacy requires the selection of at least 1 photo");}},confirmSecurityChoice:function(sid)
{Tabblo.site.setSecurity(currentSecurityObject,(sid!=null)?sid:$("quick_privacy_div").getAttribute("story_id"));Tabblo.site.cancelQuickPrivacy();},setSecurity:function(obj,refID)
{var objType=obj.getAttribute("obj_type");var url="/studio/stories/secure/"+refID+"/";if(objType=="item")
{url="/studio/item/secure/"+refID+"/";}
var val=(obj.value)?obj.value:obj.getAttribute("security_value");var pars="access="+val;if($("quick_privacy_link"))
{var reset_badge=$("quick_privacy_link").getAttribute("reset_badge");if(reset_badge!=null&&reset_badge=="true")
{$("privacy_badge").innerHTML=val.toCapitalCase();}}
Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishSetSecurity,onFailure:Tabblo.site.finishSetSecurity});},finishSetSecurity:function(ajaxResponse)
{if(ajaxResponse.responseText!="OK")
{showMessage("error","Error setting security",ajaxResponse.responseText);}
if($("quick_privacy_link"))
{var finish_check=$("quick_privacy_link").getAttribute("finish_after");var url_after=$("quick_privacy_link").getAttribute("url_after");if(finish_check!=null&&finish_check=="true")
{if(url_after!=null&&url_after!="")
{location=url_after;}
else
{location="/studio/stories/fastinvite/"+storyID+"?wo_access=true";}}}},getItemInfo:function(iid)
{if(self.lockOverlays)
{lockOverlays();}
var url='/studio/items/info/'+iid+'/';Tabblo.ajax.Send.beam(url,{onSuccess:Tabblo.site.populateItemInfo,onFailure:Tabblo.site.populateItemInfo});},populateItemInfo:function(ajaxResponse)
{var txt=ajaxResponse.responseText; if(txt!="OK"&&txt!="BAD")
{var info=ajaxResponse.responseObject;var stories=info["stories"];var tags=info["tags"];var d=info["date"]; $("info_id").innerHTML=info["id"];$("info_owner").innerHTML="<a href='/studio/person/"+info["ownername"]+"/'>"+info["ownername"]+"</a>";$("info_access").innerHTML=info["access"];$("date_holder").innerHTML=d; var output="";for(i=0;i<stories.length;i++)
{var story=stories[i];var storyID=story[0];var storyName=story[1];output+="<a href='/studio/stories/view/"+storyID+"/'>"+storyName.escapeHTML()+"</a><br/>";}
if(output=="")
{output="None";}
$("story_info_holder").innerHTML=output;output="";for(i=0;i<tags.length;i++)
{var tag=tags[i];var tagID=tag[0];var tagName=tag[1].escapeHTML();output+=tagName;if(info["owner"]==sysID)
{output+=" <a href=\"javascript:Tabblo.site.detag('"+tagID+"', '"+info["id"]+"')\"><img src='/bitty-static/images/remove.gif' border='0'/></a> <br/>";}}
if(output=="")
{output="None";}
$("tag_info_holder").innerHTML=output;}},closeInfo:function()
{if(self.unlockOverlays)
{unlockOverlays();}
if($("info_div"))
{Tabblo.core.effects.Simple_Fade("info_div",0.2,0);}},rateUp:function(itemID)
{var url='/studio/items/rate/'+itemID+'/';Tabblo.ajax.Send.beam(url,{onSuccess:Tabblo.site.finishedRating,onFailure:Tabblo.site.finishedRating});},finishedRating:function(ajaxResponse)
{if(ajaxResponse.responseText=="Ok")
{showMessage("info","Glad you love it","Thanks for rating this picture.");}
else
{showMessage("error","Problem Rating Picture","There was a problem rating the picture.");}},uploadComplex:function()
{var plugin="java";if(isIE)
{plugin="activex";}
else if(isMac)
{plugin="flash";}
location="/studio/upload/complex/"+plugin+"/";},to2000:function(ref)
{if(ref==2000){return ref;}
else{return 2000;}},tagImage:function()
{var tags=$("tags_field").value;var image=$("tags_pic_id").value;var url='/studio/tag/item/';if(tags=="")
{$("tag_error").innerHTML="Please enter at least one tag";$("tag_error").style.display="";return;}
Tabblo.site._tempTags=tags;var pars='tags='+encodeURIComponent(tags)+'&id='+image;Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishedTagging,onFailure:Tabblo.site.finishedTagging});tags=null;image=null;},finishedTagging:function(ajaxResponse)
{$("tag_error").style.display="none";$("tags_field").value="";Tabblo.site.cancelTagging();if($("tag_individual")!=null)
{var noTags=$("tag_individual").getAttribute("no_tags");var tempTags=Tabblo.site._tempTags.escapeHTML();tempTags="<a href='/studio/items/bytag/"+tempTags+"'>"+tempTags+"</a>";if(noTags!=null&&noTags=="true")
{$("tag_individual").innerHTML=tempTags+' <br />(<a href="javascript:exec(\'tag\',$(\'tag_individual\'))">Add tag</a>)';$("tag_individual").setAttribute("no_tags","false");}
else
{$("tag_individual").innerHTML=tempTags+", "+$("tag_individual").innerHTML;}
noTags=null;}},cancelTagging:function()
{if($("divalog_supplement").style.display==""||$("divalog_supplement").style.display=="block"){Tabblo.core.effects.Simple_Fade('divalog_supplement',0.1,0);}
Tabblo.core.effects.Simple_Fade('tag_div',0.3,0);$('tag_error').style.display='none';$('tags_field').value='';if(self.unlockOverlays)
{unlockOverlays();}},showTagTabblo:function(obj,storyID)
{$("auto_complete").style.display="none";$("tags_tabblo_field").value="";var offsets=__tcu.getXY(obj);$("tag_tabblo_div").style.top=offsets[1]+"px";$("tag_tabblo_div").style.left=offsets[0]+"px";$("tag_space_holder").style.display="none";$("tags_tabblo_id").value=storyID;if(isIE)
{$("tag_tabblo_div").style.display="";$("tag_tabblo_div").style.visibility="visible";Tabblo.site.__focus("tags_tabblo_field");}
else
{Tabblo.core.effects.Simple_Appear("tag_tabblo_div",0.2,null,function(){Tabblo.site.__focus("tags_tabblo_field");});}
if(self.lockOverlays)
{lockOverlays();}},tagTabblo:function(storyID)
{var tags=$("tags_tabblo_field").value;var url='/studio/tag/story/';if(tags=="")
{showMessage("info","Tags needed","Please enter at least one tag");return;}
var pars='tags='+encodeURIComponent(tags)+'&id='+storyID;Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishedTabbloTagging});tags=null;image=null;},finishedTabbloTagging:function(ajaxResponse)
{Tabblo.site.cancelTabbloTagging();},cancelTabbloTagging:function()
{if($("divalog_supplement").style.display==""||$("divalog_supplement").style.display=="block")
{Tabblo.core.effects.Simple_Fade('divalog_supplement',0.1,0);}
Tabblo.core.effects.Simple_Fade('tag_tabblo_div',0.3,0);$('tags_tabblo_field').value='';if(self.unlockOverlays)
{unlockOverlays();}},tagAllImages:function()
{var tags=$("tags_all_field").value;var image=$("tags_all_pic_id").value;var url='/studio/tag/item/';if(tags=="")
{$("tag_all_error").innerHTML="Please enter at least one tag";$("tag_all_error").style.display="";return;}
var pars='tags='+tags+'&id='+image;Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishedAllTagging,onFailure:Tabblo.site.finishedAllTagging});tags=null;image=null;},finishedAllTagging:function(ajaxResponse)
{if(ajaxResponse.statusText=="OK")
{$("tag_all_error").style.display="none";$("tags_all_field").value="";Tabblo.site.cancelAllTagging();}
else
{$("tag_all_error").style.display="";$("tag_all_error").innerHTML=ajaxResponse.status+' -- '+ajaxResponse.statusText;}},cancelAllTagging:function()
{if($("divalog_supplement").style.display==""||$("divalog_supplement").style.display=="block")
{Tabblo.core.effects.Simple_Fade('divalog_supplement',0.1,0);}
Tabblo.core.effects.Simple_Fade('tag_all_div',0.3,0);$('tag_all_error').style.display='none';$('tags_all_field').value='';if(self.unlockOverlays)
{unlockOverlays();}},detag:function(tagID,thing_id,thing_type)
{if(!thing_type)thing_type='item';var url='/studio/detag/'+thing_type+'/';var pars=thing_type+"_id="+thing_id+"&tag_id="+tagID;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:function(ajaxResponse)
{if(thing_type=='story')
{$("tag_holder_"+tagID).style.display="none";}
else
{Tabblo.site.finishDetag(ajaxResponse);}}});},finishDetag:function(ajaxResponse)
{if(ajaxResponse.statusText=="OK")
{__tcu.showFlashIfPossible("<span class='infoFlash'>Removed Tag</span>");}
else
{__tcu.showFlashIfPossible("<span class='errorFlash'>Problem Removing Tag</span>");}
Tabblo.site.closeInfo();Tabblo.Grid.stopOverlayingThisParcel(null);},listMyTags:function(ref)
{var obj=$(ref);var lh=$("tag_list_items");$("tag_tabblo_div").style.height="230px";var url="/studio/tags/suggest/*/";Tabblo.ajax.Send.beam(url,{onComplete:function(ajaxResponse)
{var parts=ajaxResponse.responseObject;var html="";if(parts.length>0)
{for(i=0;i<parts.length;i++)
{if(parts[i]!="")
{part=parts[i];html+="<a href='javascript:Tabblo.site.autoFillTag(\""+part+"\")'>"+part.escapeHTML()+"</a>, ";}}
if(html!="")
{html=html.substring(0,html.length-2);if(html.length>1000)
{ lh.style.height="110px";lh.style.overflow="auto";}}
lh.innerHTML=html;$("tag_list_holder").style.display="";$("choose_tag_link").style.display="none";}}});},showAllTags:function(ref)
{var obj=$(ref);var offsets=__tcu.getXY(obj);var sup=$("divalog_supplement");sup.style.top=offsets[1]+"px";sup.style.left=(offsets[0]+obj.offsetWidth)+"px";sup.style.width="100px";sup.style.height=obj.offsetHeight*2;$("divalog_supplement_content").style.height=((obj.offsetHeight*2)-20)+"px";$("divalog_supplement_title").innerHTML="Available Tags";var url="/studio/tags/suggest/*/";Tabblo.ajax.Send.beam(url,{onSuccess:Tabblo.site.finishShowAllTags,onFailure:Tabblo.site.finishShowAllTags});obj=null;sup=null;},finishShowAllTags:function(ajaxResponse)
{var parts=ajaxResponse.responseObject;var html="";var content=$("divalog_supplement_content");if(parts.length>0)
{for(i=0;i<parts.length;i++)
{if(parts[i]!="")
{part=parts[i];html+="<a href='javascript:Tabblo.site.autoFillTag(\""+part+"\")'>"+part.escapeHTML()+"</a><br/>";}}
content.innerHTML=html;Tabblo.core.effects.Simple_Appear("divalog_supplement",0.3);}
content=null;},autoFillTag:function(txt)
{if($("tag_all_div").style.display=="")
{$("tags_all_field").value=trim($("tags_all_field").value+" "+txt);}
else if($("tag_tabblo_div").style.display=="")
{var ttf=$("tags_tabblo_field");if(ttf.value!="")
{ttf.value=trim(ttf.value+","+txt);}
else
{ttf.value=trim(txt);}}
else
{$("tags_field").value=trim($("tags_field").value+" "+txt);}},deletePoster:function(n,ref,ptype)
{Tabblo.site._tempStoryRef=ref;var p=(ptype!=null?ptype:"poster");var msg="Clicking OK will delete the "+p+" '"+$("title_holder_"+n).value+"' permanently.  The original tabblo will not be affected.";showMessage("question","Delete "+p+"?",msg.escapeHTML(),true,Tabblo.site.removeStoryFinal);},deleteStory:function(n,ref)
{Tabblo.site._tempStoryRef=ref;var msg="Clicking OK will delete the tabblo '"+$("title_holder_"+n).value+"' permanently.";showMessage("question","Delete tabblo?",msg.escapeHTML(),true,Tabblo.site.removeStoryFinal);},removeStoryFinal:function()
{redirectHere=function(req)
{text=req.responseText;if(text=='OK')
{location.href=window.location;}
else if(text=='LOCKED')
{showMessage("info","Tabblo can't be deleted","This tabblo cannot be deleted at this time because it has been purchased and not shipped yet.");}
else
{showMessage("warn","Problem deleting","We couldn't delete your tabblo.<br/><br/>.");}};Tabblo.ajax.Send.beam(Tabblo.site._tempStoryRef,{parameters:'',onSuccess:redirectHere,onFailure:redirectHere});},displayUploadCompleteDivalog:function()
{if(parent._IS_PARTNER)
{parent.parentUploadFinisher();return false;}
prepareForHelp();__tcu.appearCentered($("upload_tips_message"));return true;},dismissUploadCompleteDivalog:function()
{setTimeout(Tabblo.site._dismissUploadCompleteDivalog.bind(Tabblo.site,null),50);__tcu.hideBlockerScreen(true);},_dismissUploadCompleteDivalog:function()
{var u=$('upload_tips_message');Tabblo.core.effects.Simple_Fade(u,0.2,0);unprepareForHelp();return true;},comingSoon:function()
{showMessage("info","Coming soon","This feature is coming soon.");},hovernav:function(obj)
{obj.style.color="#000000";},unhovernav:function(obj)
{if(obj.className!="navbar_selected_item")
{obj.style.color="#ffffff";}},hoversubnav:function(obj)
{if(obj.className!="subnav_selected_item")
{obj.className="subnav_item_hover";}},unhoversubnav:function(obj)
{if(obj.className!="subnav_selected_item")
{obj.className="subnav_item";}},toggleMakeDropdown:function(alt_loc){var sh=$("make_subnav_holder");if(alt_loc){var offsets=__tcu.getXY($("nav_make"));sh.style.left=offsets[0]+"px";sh.style.top=offsets[1]+10+"px";}
if(isIE)
{if(sh.style.display==""||sh.style.display=="block")
{Tabblo.core.effects.Simple_Fade(sh,0.4,0);}
else
{Tabblo.core.effects.Simple_Appear(sh,0.3);}}
else{Tabblo.core.effects.Simple_Toggle(sh,0.2,null);}
if(isMac&&$("makemenu_iframe_blocker"))
{if(sh.style.display=="none")
{$("makemenu_iframe_blocker").style.display="";}
else
{$("makemenu_iframe_blocker").style.display="none";}}},setNav:function(blockOffset)
{if(self.MAIN_NAV){ var nav=$("nav_"+MAIN_NAV);if(nav){nav.className="navbar_selected_item"; var person_to_left=nav.getAttribute("person_to_the_left");if(person_to_left!="none"){$(person_to_left).className="navbar_item_nobg";}} 
if(self.MAIN_SUBNAV){var subnav=$("subnav_"+MAIN_SUBNAV);if(subnav){subnav.className="subnav_selected_item";}} 
if(self.SHOW_SUBNAV&&SHOW_SUBNAV){$("make_subnav").style.display="";}}
if(isMac){var ifrs=document.getElementsByTagName("iframe");for(i=0;i<ifrs.length;i++){if(ifrs[i].src=="javascript:false;"){ifrs[i].contentWindow.document.open();ifrs[i].contentWindow.document.close();}}}},messageKey:function(evt)
{evt=__tcu.getEvt(evt);var charCode=(evt.charCode)?evt.charCode:((evt.which)?evt.which:evt.keyCode);var tar=__tcu.getTarget(evt);var code=YAHOO.util.Event.getCharCode(evt);if((code==4)||((code==68)&&(evt.shiftKey)&&(evt.ctrlKey)))
{Tabblo.site.debugging.dumpDebugInfo();}
if(document.location.href.indexOf("/studio/stories/edit")!=-1)
{if(evt.ctrlKey&&((isIE&&charCode==26)||(!isIE&&charCode==122)))
{if(Tabblo.editor.isUndoAvailable())
{Tabblo.editor.doStoryUndo();}}}
if($("message_div")&&$("message_div").style.display=="")
{if(charCode==13||charCode==3)
{if(!isSafari)
{closeMessage();}
return;}}
else if($("tag_div")&&$("tag_div").style.display=="")
{if(charCode==13||charCode==3)
{if($("auto_complete").style.display=="none")
{if(!isSafari)
{Tabblo.site.tagImage();}}
return;}}
if($("add_comment_div")&&$("add_comment_div").style.display=="")
{if(charCode==13||charCode==3)
{if(!isSafari)
{Tabblo.site.validateCommentForm();}
return;}}
else if($("tag_all_div")&&$("tag_all_div").style.display=="")
{if(charCode==13||charCode==3)
{if($("auto_complete").style.display=="none")
{if(!isSafari)
{Tabblo.site.tagAllImages();}}
return;}}
else if(tar.id.indexOf("caption_editor")!=-1)
{if(charCode==13||charCode==3)
{if(!isSafari)
{if(tar.getAttribute("textblock")==null)
{Tabblo.editor.Caption.submit(tar);}}
return;}}
else if($("large_image_holder"))
{if(evt.shiftKey)
{Tabblo.site.fun_total+=charCode;if(Tabblo.site.fun_key_counter==5)
{if(Tabblo.site.fun_total==453)
{ Tabblo.site.fun_key_counter=0;Tabblo.site.fun_total=0;slideshow_speed=100;}
else if(Tabblo.site.fun_total==476)
{Tabblo.site.fun_key_counter=0;Tabblo.site.fun_total=0;slideshow_speed=0;}
else
{Tabblo.site.fun_key_counter=0;Tabblo.site.fun_total=0;}}
else
{Tabblo.site.fun_key_counter++;}}}
else if(document.location.href.indexOf("/studio/create")!=-1)
{if(evt.shiftKey)
{Tabblo.site.fun_total+=charCode;printfire(Tabblo.site.fun_total);if(Tabblo.site.fun_key_counter==2)
{if(Tabblo.site.fun_total==217)
{ Tabblo.editor.photoorganizer.addAllToLightbox();Tabblo.site.fun_key_counter=0;Tabblo.site.fun_total=0;}
else
{Tabblo.site.fun_key_counter++;}}
else if(Tabblo.site.fun_key_counter==5)
{if(Tabblo.site.fun_total==430)
{ var pimgs=document.getElementsByAttribute("image_loaded","false","img","pictures");printfire(pimgs.length);for(var i=0;i<pimgs.length;i++)
{p=pimgs[i];p.src="/bitty-static/images/contexthelp/mockup3.jpg";}}
Tabblo.site.fun_key_counter=0;Tabblo.site.fun_total=0;}
else
{Tabblo.site.fun_key_counter++;}}}
else
{}
if(1)
{if(evt.shiftKey)
{Tabblo.site.attitude_total+=charCode;if(Tabblo.site.attitude_key_counter==7)
{ if(Tabblo.site.attitude_total==612)
{} 
else if(Tabblo.site.attitude_total==641)
{Tabblo.core.help.setRandomTip();Tabblo.core.help.showTips();} 
else if(Tabblo.site.attitude_total==572)
{if(DEBUG_JS)
{Tabblo.site.debugging.toggleDebugWindow();}
Tabblo.site.attitude_total=0;Tabblo.site.attitude_key_counter=0;} 
else if(Tabblo.site.attitude_total==623)
{if(DEBUG_JS)
{Tabblo.site.debugging.toggleARLogWindow();}
Tabblo.site.attitude_total=0;Tabblo.site.attitude_key_counter=0;}
else
{Tabblo.site.attitude_total=0;Tabblo.site.attitude_key_counter=0;}}
else
{Tabblo.site.attitude_key_counter++;}}}},hideLookup:function()
{$("auto_complete").style.display="none";Tabblo.site.currentSuggestRow=null;},selectEntry:function()
{if(Tabblo.site.currentSuggestRow!=null)
{Tabblo.site.takeSuggestion(Tabblo.site.currentSuggestRow);}},markPrevious:function()
{if(Tabblo.site.currentSuggestRow!=null&&($("auto_complete").firstChild!=Tabblo.site.currentSuggestRow))
{Tabblo.site.defaultRow(Tabblo.site.currentSuggestRow);if(Tabblo.site.currentSuggestRow.previousSibling.previousSibling!=null)
{Tabblo.site.highlightRow(Tabblo.site.currentSuggestRow.previousSibling.previousSibling);}}},markNext:function()
{if(Tabblo.site.currentSuggestRow==null)
{Tabblo.site.highlightRow($("auto_complete").firstChild);}
else
{Tabblo.site.defaultRow(Tabblo.site.currentSuggestRow);if(Tabblo.site.currentSuggestRow.nextSibling.nextSibling!=null)
{Tabblo.site.highlightRow(Tabblo.site.currentSuggestRow.nextSibling.nextSibling);}}},handleLookup:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);switch(evt.keyCode)
{case Event.KEY_TAB:case Event.KEY_RETURN:Tabblo.site.selectEntry();Event.stop(evt);case Event.KEY_ESC:Tabblo.site.hideLookup();Event.stop(evt);return;case Event.KEY_LEFT:return;case Event.KEY_RIGHT:return;case Event.KEY_UP:Tabblo.site.markPrevious();if(navigator.appVersion.indexOf('AppleWebKit')>0)
{Event.stop(evt);}
return;case Event.KEY_DOWN:Tabblo.site.markNext();if(navigator.appVersion.indexOf('AppleWebKit')>0)
{Event.stop(evt);}
return;}
var offsets=__tcu.getXY(tar);$("auto_complete").style.top=(offsets[1]+18)+"px";$("auto_complete").style.left=(offsets[0]+2)+"px";Tabblo.site.currentLookupField=tar;if(document.selection)
{var sel=document.selection.createRange();sel.expand("word");}
else if(Tabblo.site.currentLookupField.selectionStart||Tabblo.site.currentLookupField.selectionStart=='0')
{ var startPos=Tabblo.site.currentLookupField.selectionStart;}
if(tar.value!="")
{ var value=__tcu.escape_utf8(tar.value.replace(/\//g,""));if(tar.id=="quick_email")
{reqURL="/studio/addressbook/lookup/"+value+"/";}
else
{reqURL="/studio/tags/suggest/"+value+"/";}
Tabblo.ajax.Send.beam(reqURL,{onSuccess:Tabblo.site.finishSuggestion,onFailure:Tabblo.site.finishSuggestion});}
else
{Tabblo.site.hideLookup();}},finishSuggestion:function(ajaxResponse)
{var parts=ajaxResponse.responseObject;var html="";var ac=$("auto_complete");if(parts.length>0)
{for(i=0;i<parts.length;i++)
{if(parts[i]!="")
{part=parts[i];html+="<span class='suggestionRow' onclick='Tabblo.site.takeSuggestion(this)' onmouseover='Tabblo.site.highlightRow(this)' onmouseout='Tabblo.site.defaultRow(this)'>"+parts[i].escapeHTML()+"</span><br/>";}}
ac.innerHTML=html;ac.style.display="";}
else
{ac.innerHTML="";ac.style.display="none";}},highlightRow:function(obj)
{obj.style.backgroundColor="#316ac5";obj.style.color="#FFFFFF";Tabblo.site.currentSuggestRow=obj;},defaultRow:function(obj)
{obj.style.backgroundColor="#FFFFFF";obj.style.color="#000000";},takeSuggestion:function(obj)
{Tabblo.site.currentLookupField.value=obj.innerHTML.unescapeHTML();$("auto_complete").style.display="none";},exec:function(act,obj)
{ for(i=0;i<Tabblo.site.popup_widgets.length;i++)
{if($(Tabblo.site.popup_widgets[i]))
{$(Tabblo.site.popup_widgets[i]).style.display="none";}}
if(obj!=null)
{if(obj.getAttribute("linktar")!=null&&obj.getAttribute("linktar")!="")
{activeImg=$(obj.getAttribute("linktar"));}
else
{activeImg=$(obj.getAttribute("target"));}
if(self.Tabblo.site.setActiveImg&&Tabblo.site.setActiveImg)
{Tabblo.site.setActiveImg(activeImg);}}
else
{activeImg=Tabblo.site.getActiveImg();}
Tabblo.site.rawExec(act,obj,activeImg);},setActiveImg:function(img)
{Tabblo.site._activeImg=img;},getActiveImg:function()
{return Tabblo.site._activeImg;},__focus:function(divname)
{$(divname).focus();},rawExec:function(act,obj,activeImg)
{if(act=="full")
{ var offsets=__tcu.getXY(activeImg);var scrollHeight=0;var scrollIn=0;if(activeImg.parentNode.className=="sources")
{scrollIn=activeImg.parentNode.parentNode.scrollLeft;}
else if(activeImg.getAttribute("pictures")!=""||$("tabblo_lightbox")!=null)
{scrollHeight=(activeImg.getAttribute("pictures")=="true")?$("pictures").scrollTop:$("tabblo_lightbox").scrollTop;}
__tcu.getDiv("magnify_div").style.top=(offsets[1]-scrollHeight)+"px";__tcu.getDiv("magnify_div").style.left=(offsets[0]-scrollIn)+"px";$("magnify_image").src=activeImg.src;__tcu.getDiv("magnify_div").style.display="";Tabblo.editor.photoorganizer.toggleScale($("magnify_image"));if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="quick_info")
{var offsets=__tcu.getXY($("top_navigation_bar"));var nb=$("top_navigation_bar");var link_offsets=__tcu.getXY($("quick_info_link"));$("quick_info_div").style.top=(offsets[1]+nb.offsetHeight-90)+"px";$("quick_info_div").style.left=(offsets[0]+link_offsets[0])+"px";Tabblo.core.effects.Simple_Appear("quick_info_div",0.2);if(self.lockOverlays)
{lockOverlays();}
nb=null;}
else if(act=="quick_tag")
{var offsets=__tcu.getXY($("top_navigation_bar"));var nb=$("top_navigation_bar");var link_offsets=__tcu.getXY($("quick_tag_link"));$("quick_tag_div").style.top=offsets[1]+nb.offsetHeight-90;$("quick_tag_div").style.left=offsets[0]+link_offsets[0];Tabblo.core.effects.Simple_Appear("quick_tag_div",0.2);if(self.lockOverlays)
{lockOverlays();}
nb=null;}
else if(act=="quick_privacy")
{var offsets=__tcu.getXY($("top_navigation_bar"));var nb=$("top_navigation_bar");var link_offsets=__tcu.getXY($("quick_privacy_link"));$("quick_privacy_div").style.top=(offsets[1]+nb.offsetHeight-105)+"px";var oleft=$("quick_privacy_link").getAttribute("oleft");if(oleft==null||oleft=="")
{oleft=0;}
else
{oleft=parseInt(oleft);}
$("quick_privacy_div").style.left=(offsets[0]+link_offsets[0]+oleft)+"px";Tabblo.core.effects.Simple_Appear("quick_privacy_div",0.2);Tabblo.site.showPrivacyBlocker(offsets[0]+link_offsets[0]+oleft,offsets[1]+nb.offsetHeight-105);if(self.lockOverlays)
{lockOverlays();}
nb=null;}
else if(act=="props")
{var propHTML="<table border='0' cellpadding='0' cellspacing='0' width='100%'><tr><td><a target='_new' href='"+activeImg.src+"'>"+activeImg.src+"</a></td></tr></table>";showMessage("info","Properties",propHTML);}
else if(act=="rate_up")
{Tabblo.site.rateUp(activeImg.id.substring(4));}
else if(act.indexOf("filter_")==0)
{ var ftype=act.substring(act.indexOf("filter_")+7);applyImageFilter(activeImg,ftype);}
else if(act=="blog"||act=="blog_story")
{var scrollHeight=0;var scrollIn=0;if(activeImg.parentNode.className=="sources")
{scrollIn=activeImg.parentNode.parentNode.scrollLeft;}
else if((activeImg.getAttribute("pictures")!=null&&activeImg.getAttribute("pictures")!="")||$("tabblo_lightbox")!=null)
{scrollHeight=(activeImg.getAttribute("pictures")=="true")?$("pictures").scrollTop:$("tabblo_lightbox").scrollTop;}
if(act=="blog")
{var blogItID="";if(activeImg.id.indexOf("_")!=-1)
{blogItID=activeImg.id.substring(activeImg.id.lastIndexOf("_")+1);}
else
{iid=activeImg.id;blogItID=iid.substring(4);}
var offsets=__tcu.getXY(activeImg);$("add_blog_div").style.top=offsets[1]-scrollHeight;$("add_blog_div").style.left=offsets[0]-scrollIn;$("blog_story_snapshot").style.display="none";$("blog_item_snapshot").style.display="";$("blog_temp_image").src=activeImg.src;if(self.lockOverlays)
{lockOverlays();}
Tabblo.core.effects.Simple_Appear("add_blog_div",0.2,function(blogItID){Tabblo.site.__appearance2("blog_item_id",blogItID);});}
else
{var offsets=__tcu.getXY(activeImg);$("add_blog_div").style.top=offsets[1]-scrollHeight;$("add_blog_div").style.left=offsets[0]-scrollIn;$("blog_story_snapshot").style.display="";$("blog_item_snapshot").style.display="none";if(self.lockOverlays)
{lockOverlays();}
Tabblo.core.effects.Simple_Appear("add_blog_div",0.2,function(blogItID){Tabblo.site.__appearance2("blog_story_id",blogItID);});}
if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="select_template")
{var offsets=__tcu.getXY(obj);var h=$("template_choice_div").style.height;h=parseInt(h.substring(0,h.length-2));if(obj.id=="top_bar_change_view")
{h=0;}
$("template_choice_div").style.top=offsets[1]-h;$("template_choice_div").style.left=offsets[0];if(self.lockOverlays)
{lockOverlays();}
Tabblo.core.effects.Simple_Appear("template_choice_div",0.2);if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="crop")
{var parcel=Tabblo.editor.parcels.getParcelForItem($(obj.getAttribute("target")));Tabblo.editor.image.resizeMe(parcel);}
else if(act=="edit_photo")
{var offsets=__tcu.getXY(obj);$("change_photo_div").style.top=offsets[1];$("change_photo_div").style.left=offsets[0];if(self.lockOverlays)
{lockOverlays();}
Tabblo.core.effects.Simple_Appear("change_photo_div",0.2);if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="edit_view_options")
{var offsets=__tcu.getXY(obj);$("change_view_options_div").style.top=offsets[1]+20;$("change_view_options_div").style.left=offsets[0]+50;if(self.lockOverlays)
{lockOverlays();}
Tabblo.core.effects.Simple_Appear("change_view_options_div",0.2,Tabblo.site.__appearance3(obj,my_view_op,circle_view_op));if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="comment")
{var offsets=__tcu.getXY(obj);if(obj.id.indexOf("comments_")!=-1)
{var itemID=obj.getAttribute("itemID");if(itemID!="")
{$("item_id_holder").value=itemID;}
else
{ sID=obj.id.substring(obj.id.lastIndexOf("_")+1);$("story_id_holder").value=sID;}}
$("add_comment_div").style.top=offsets[1];$("add_comment_div").style.left=offsets[0];lockOverlays();$("comment_text").value="";Tabblo.core.effects.Simple_Appear("add_comment_div",0.2,function(){Tabblo.site.__focus("comment_text");});if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="text"){var parameters={target_parcel_id:activeImg.id};shouldRevert=new Tabblo.editor.actions.Action(Tabblo.editor.actions.InsertTextblock,parameters).run();}
else if(act=="info")
{var scrollHeight=0;var scrollIn=0;if(activeImg.parentNode.className=="sources")
{scrollIn=activeImg.parentNode.parentNode.scrollLeft;}
else if((activeImg.getAttribute("pictures")!=null&&activeImg.getAttribute("pictures")!="")||$("tabblo_lightbox")!=null)
{scrollHeight=(activeImg.getAttribute("pictures")=="true")?$("pictures").scrollTop:$("tabblo_lightbox").scrollTop;}
iid=activeImg.id;iid=iid.substring(iid.lastIndexOf("_")+1);$("info_div_image").src=activeImg.src;Tabblo.site.getItemInfo(iid);var offsets=__tcu.getXY(activeImg);$("info_div").value="";$("info_div").style.top=(offsets[1]-scrollHeight)+"px";$("info_div").style.left=(offsets[0]-scrollIn)+"px";Tabblo.core.effects.Simple_Appear("info_div",0.2);}
else if(act=="changeblock")
{changeParcel(activeImg);if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="add_story")
{if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}
if(self.lockOverlays)
{lockOverlays();}
Tabblo.core.effects.Simple_Appear("story_div",0.2);}
else if(act=="add_source")
{var offsets=__tcu.getXY($("add_source_link"));$("add_source_div").style.top=offsets[1];$("add_source_div").style.left=offsets[0];if(self.lockOverlays)
{lockOverlays();}
Tabblo.core.effects.Simple_Appear("add_source_div",0.2,function(){Tabblo.site.__focus("source_name");});if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="add")
{var tar=activeImg.getAttribute("target");if(tar!=null)
{Tabblo.editor.photoorganizer.dropped($(tar));}
else
{Tabblo.editor.photoorganizer.dropped(activeImg);}}
else if(act=="rem")
{if(obj.getAttribute("system")=="false")
{ Tabblo.site.removeFromLightbox(activeImg);}
else
{ Tabblo.editor.photoorganizer.removePicture($(obj.getAttribute("target")));}
if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{Tabblo.Grid.stopOverlayingThisParcel(null);}}
else if(act=="rem_all")
{showMessage("question","Clear Lightbox?","Clicking OK will clear the Lightbox",true,Tabblo.editor.photoorganizer.clearLightbox);}
else if(act=="tag")
{if(!overlaysLocked())
{if(activeImg.id.indexOf("tag_all_thumbnail")!=-1)
{var offsets=__tcu.getXY(activeImg);$("auto_complete").style.display="none";$("tags_all_field").value="";$("tag_all_div").style.top=(offsets[1]+1)+"px";$("tag_all_div").style.left=(offsets[0]-180)+"px"; var imgs=(activeImg.id=="tag_all_thumbnail"?$("tabblo_lightbox").getElementsByTagName("img"):$("pictures").getElementsByTagName("img"));var val="";for(i=0;i<imgs.length;i++)
{if(imgs[i].getAttribute("isowner")=="true"||imgs[i].getAttribute("owner")==sysID)
{val+=" "+imgs[i].id.substring(imgs[i].id.lastIndexOf("_")+1);}}
if(val=="")
{showMessage("error","Need some photos","Please select photos to be tagged");}
else
{imgs=null;$("tags_all_pic_id").value=val.substring(1);if(isIE)
{$('tag_all_div').style.display="";$('tag_all_div').style.visibility="visible";Tabblo.site.__focus("tags_all_field");}
else
{Tabblo.core.effects.Simple_Appear("tag_all_div",0.2,null,function(){Tabblo.site.__focus("tags_all_field");});}
if(self.lockOverlays)
{lockOverlays();}
val=null;}}
else if(activeImg.id=="tag_individual")
{var tdiv=$("tag_div");tdiv.style.width="220px";$("auto_complete").style.display="none";$("tags_field").value="";$("tag_space_holder").style.display="none";$("tags_pic_id").value=activeImg.getAttribute("itemid");__tcu.setItemCentered(tdiv);Tabblo.core.effects.Simple_Appear(tdiv,0.2,null,function(){Tabblo.site.__focus("tags_field");});if(self.lockOverlays)
{lockOverlays();}}
else
{$("auto_complete").style.display="none";$("tags_field").value="";var tdiv=$("tag_div");tdiv.style.width="310px";var adjust=0;if(activeImg.src.indexOf("scratch-images")!=-1)
{tdiv.style.width=265+activeImg.width+"px";$("tag_space_holder").style.width=activeImg.width+"px";tdiv.style.height=activeImg.height+"px";adjust+=5;}
$("tag_space_holder").style.display="";tar=activeImg;jQuery("#tag_space_holder img")[0].src=tar.src;if(tar.id.indexOf("parcel")!=-1)
{$("tags_pic_id").value=tar.id;}
else if(tar.id.indexOf("fake")!=-1)
{var basex=tar.getAttribute("base_id");$("tags_pic_id").value=basex.substring(basex.lastIndexOf("_")+1);}
else
{$("tags_pic_id").value=tar.id.substring(tar.id.lastIndexOf("_")+1);}
__tcu.setItemCentered(tdiv);Tabblo.core.effects.Simple_Appear(tdiv,0.2,null,function(){Tabblo.site.__focus("tags_field");});Tabblo.site.__focus("tags_field");if(self.lockOverlays)
{lockOverlays();}}}}
else if(act=="edit")
{ var imgID=activeImg.id;Tabblo.editor.editMe($("title_"+imgID));}},__appearance:function()
{var efobj=arguments[0];$("current_story_item").value=iid;$("current_story_id").value=storyID;efobj=null;},__appearance2:function(divname,blogItID)
{$(divname).value=blogItID;},showPrivacyBlocker:function(x,y)
{var blck=$('privacy_iframe_blocker');blck.style.left=x+"px";blck.style.top=y+"px";blck.style.display="";},__appearance3:function(obj,my_view_op,circle_view_op)
{var ftu=my_view_op;$("change_view_options_div").setAttribute("pref","view_mytabblos_filter");if(obj.getAttribute("ismytabblos")=="false")
{ftu=circle_view_op;$("change_view_options_div").setAttribute("pref","view_mycircletabblos_filter");}
$(ftu).checked=true;ftu=null;},validateCommentForm:function()
{val=$("comment_text").value;sID=$("story_id_holder").value;itemID=$("item_id_holder").value;uName=$("comment_text").getAttribute("uname");__tcu.showBlockerScreen(true);if(val!=null&&val.length>0)
{if(uName!=""&&uName!=null)
{Tabblo.site.submitTestimonial(uName,val,sysUN_cap);}
else if(Tabblo.site._buddyID=="")
{Tabblo.site.submitStoryComment(__TABBLO_STORYID,val,sysUN_cap,false);$("comment_text").value="";}
else if(sID!="")
{Tabblo.site.submitStoryComment(sID,val,sysUN_cap,true);$("comment_text").value="";}
else if(itemID!="")
{Tabblo.site.submitItemComment(itemID,val,sysUN_cap);}}
else
{showMessage("warn","Missing Information","Please enter a valid comment");}},submitTestimonial:function(uName,comment,user)
{var url="/studio/person/"+uName+"/addcomment/";var pars="comment="+__tcu.escape_utf8(comment);Tabblo.site._currentCommentHolder="comments_holder";Tabblo.site._currentComment=comment;Tabblo.site._currentUser=user;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.site.proxyTestimonialTable});},proxyTestimonialTable:function(ajaxResponse)
{if(ajaxResponse.responseText=="OK")
{var tbl=$(Tabblo.site._currentCommentHolder);if($("no_testimonials"))
{$("no_testimonials").style.display="none";}
var tr=tbl.insertRow(1);var td=tr.insertCell(-1);td.style.paddingBottom="10px";td.style.paddingTop="10px";td.style.borderBottom="1px solid #eeeeee";td.style.textAlign="left";td.className="item_comment";td.innerHTML="<table border='0' cellpadding='0' cellspacing='0'><tr><td valign='top' class='item_comment'><img src='"+_profileImgURL+"' align='left' width='40' height='40'/></td><td valign='top' class='item_comment' style='text-align:left;padding-left:3px;'><b><a href='/studio/person/"+Tabblo.site._currentUser+"/'>"+Tabblo.site._currentUser+"</a></b> said just now:<br/>"+Tabblo.site._currentComment.escapeHTML()+"</td></tr></table>";Tabblo.site.hideTestimonialForm();__tcu.hideBlockerScreen(true);}
else
{showMessage("error","Problem adding testimonial","There was a problem adding the testimonial.  Please try again later.");}},deleteTestimonial:function(commentID)
{Tabblo.site._commentID=commentID;showMessage("question","Delete testimonial?","Are you sure you want to delete this testimonial?",true,Tabblo.site.deleteTestimonialAjax);},deleteTestimonialAjax:function()
{var url="/studio/person/"+user_profile+"/deletecomment/";var pars="cid="+Tabblo.site._commentID;Tabblo.site._commentID=null;Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:Tabblo.site.finishDeleteTestimonial,onFailure:Tabblo.site.finishDeleteTestimonial});},finishDeleteTestimonial:function(ajaxResponse)
{var txt=ajaxResponse.responseText;if(txt!="BAD")
{ if(txt.indexOf("OK-")!=-1)
{cid=txt.substring(3);if(cid!="")
{$("comment_row_"+cid).style.display="none";closeMessage();}}}},showCommentForm:function()
{if($("comment_form_row1").style.display=="none")
{Tabblo.core.effects.Simple_Appear("comment_form_row1");Tabblo.core.effects.Simple_Appear("comment_form_row2");if($("add_testimonial_link"))
{$("add_testimonial_link").style.display="none";$("testimonial_description").style.display="";}}},hideTestimonialForm:function()
{if($("comment_form_row1").style.display=="")
{Tabblo.core.effects.Simple_Fade("comment_form_row1");Tabblo.core.effects.Simple_Fade("comment_form_row2");if($("add_testimonial_link"))
{$("add_testimonial_link").style.display="";$("testimonial_description").style.display="none";}}},uploadItems:function(basicMode)
{var L=(screen.width/2)-150;var T=(screen.height/2)-100;var uploadUrl;if(basicMode)
{uploadUrl='/studio/upload/basic/';}
else
{uploadUrl='/studio/upload/';}
location='/studio/upload/complex/java/';},uploadAXItems:function()
{var L=(screen.width/2)-150;var T=(screen.height/2)-100;var uploadUrl='/studio/upload/complex/activex/';location=uploadUrl;},uploadFlashItems:function()
{var L=(screen.width/2)-150;var T=(screen.height/2)-100;var uploadUrl='/studio/upload/complex/flash/';location=uploadUrl;},setUserPreference:function(pref,val,doneFunc)
{var pars="value="+__tcu.escape_utf8(val);var url='/studio/user/setpreference/'+pref+'/';Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:function(ajaxResponse)
{if(doneFunc)
{doneFunc();}}});},redirectToItemDetail:function(storyitemId,storyId)
{Tabblo.site.getItemUrl(storyitemId,storyId,function(url){location=url;});},getItemUrl:function(storyitemId,storyId,callbackFn)
{return Tabblo.ajax.simple_beam('/edit/get_item_url/'+storyId+'/'+storyitemId+'/','',function(jsonResponse){__d('getItemUrl',jsonResponse.responseObject);callbackFn(jsonResponse.responseObject);});},showSingle:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);if(tar.getAttribute("single")!=null)
{Tabblo.site.redirectToItemDetail(tar.parentNode.id,__TABBLO_STORYID);}},cancelQuickInfo:function()
{Tabblo.core.effects.Simple_Fade('quick_info_div',0.4,0);if(self.unlockOverlays)
{unlockOverlays();}},cancelQuickTag:function()
{Tabblo.core.effects.Simple_Fade('quick_tag_div',0.4,0);if(self.unlockOverlays)
{unlockOverlays();}},cancelQuickPrivacy:function()
{Tabblo.core.effects.Simple_Fade('quick_privacy_div',0.4,0);$('privacy_iframe_blocker').style.display="none";if(currentSecurityType!="")
{Tabblo.site.resetPreviousChoice();_currentSecurityHold=null;}
if(self.unlockOverlays)
{unlockOverlays();}},cancelSetPhoto:function()
{Tabblo.core.effects.Simple_Fade('change_photo_div',0.4);if(self.unlockOverlays)
{unlockOverlays();}},cancelInsertPicture:function()
{if(self.unlockOverlays)
{unlockOverlays();}},hoverInsertOver:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);tar.style.border="1px solid #ff0000";},hoverInsertOut:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);tar.style.border="1px solid #000000";},selectInsert:function(evt)
{evt=__tcu.getEvt(evt);var tar=__tcu.getTarget(evt);$("insert_preview_pic").src=tar.src;},populatePurchaseList:function(ajaxResponse)
{var txt=ajaxResponse.responseText;if(txt!="OK"&&txt!="BAD")
{var cats=ajaxResponse.responseObject;var singleSelect=false;if(self._singleTabbloSelect)
{singleSelect=true;}
var p=jQuery("#pictures");p.empty();for(i=0;i<cats.length;i++)
{sp=document.createElement("div");if(singleSelect)
{sp.style.marginBottom="8px";var widgurl=cats[i].widget;if(widgurl.indexOf('?')>0)
{widgurl+="&fit=90x90";}
html="<table><tr><td><input type='radio' class='single_tabblo_select' name='single_tabblo_select' value='"+cats[i].id+"' id='tabblo_"+cats[i].id+"'/></td>";html+="<td style='cursor:pointer;' onclick='$(\"tabblo_"+cats[i].id+"\").click()'><img src='"+widgurl+"' style='width:90px;height:90;'/></td>";html+="<td><label for='tabblo_"+cats[i].id+"' style='cursor:pointer;'>"+cats[i].title.escapeHTML()+"</label></td>";sp.innerHTML=html;}
else
{sp.className="purchase_list_item";sp.setAttribute("widget",cats[i].widget);sp.setAttribute("tabblo_id",cats[i].id);sp.setAttribute("access",cats[i].access);sp.id="tabblo_list_item_"+cats[i].id;sp.onclick=Tabblo.site.selectPurchaseListItem;sp.innerHTML=cats[i].title.escapeHTML();}
jQuery(sp).appendTo(p);}
if(!singleSelect)
{Tabblo.site.clickFirst();}}},clickFirst:function()
{var divs=$("pictures").getElementsByTagName("div");if(divs!=null)
{Tabblo.site.selectPurchaseListProxy(divs[0]);}},truncateCaptions:function(hideLeftovers)
{var imgs=new Array();if($("overflow_images"))
{imgs=$("overflow_images").getElementsByTagName("img");}
else
{var rows=document.getElementsByTagName("tr");for(i=0;i<rows.length;i++)
{var row=rows[i];if(row.getAttribute("has_overflow")=="true")
{ var rowImgs=row.getElementsByTagName("img");for(j=0;j<rowImgs.length;j++){imgs.push(rowImgs[j]);}
rowImgs=null;}
row=null;}
rows=null;}
for(i=0;i<imgs.length;i++)
{var img=imgs[i];if(img.className.indexOf("primary")!=-1&&img.id!="fake_img")
{var imgID=img.id;imgID=imgID.substring(4);var cap=$("caption"+imgID);var txt=cap.innerHTML;txt=txt.substring(0,20)+"...";cap.innerHTML=txt;cap=null;}
img=null;}
if(hideLeftovers)
{imgs=document.getElementsByTagName("img");for(i=0;i<imgs.length;i++)
{if(imgs[i].className.indexOf("primary")!=-1&&imgs[i].id!="fake_img")
{if(imgs[i].src==""||imgs[i].src.indexOf("x-fetch")==-1)
{imgs[i].style.display="none";}}}}
imgs=null;},setupGuestOverlays:function()
{var imgs=document.getElementsByTagName("img");for(i=0;i<imgs.length;i++)
{img=imgs[i];if(img.getAttribute("grid")=="true")
{YAHOO.util.Event.addListener(img,"click",Tabblo.site.showSingle);img.style.cursor="pointer";}}
var divs=document.getElementsByAttribute('grid','true','div','the_field_0');for(i=0;i<divs.length;i++)
{div=divs[i];YAHOO.util.Event.addListener(div,"click",Tabblo.site.showSingle);div.style.cursor="pointer";}
__tcu.setAllOpacity();imgs=null;divs=null;},setNotifications:function(notifications,callback)
{var url="/studio/account/notifications/set/";var pars="";var n;for(var i=0;i<notifications.length;i++){n=notifications[i];pars+='&'+n[0]+'='+n[1];}
if(!callback){callback=function(o){};}
Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:callback});},BlockSlider:function(container,div1,div2,callBack)
{this.div1=div1;this.div2=div2;this.currentBlock=div1;this.containerPos=__tcu.getXY(div1);this.callBack=callBack;this.reversing=false;},submitStoryComment:function(storyID,comment,user,isShare)
{var url="/studio/stories/addcomment/"+storyID+"/";var pars="comment="+__tcu.escape_utf8(comment);if(isShare)
{Tabblo.site._currentCommentHolder="comments_"+storyID;}
else
{Tabblo.site._currentCommentHolder="comments_holder";if($("follow_thread"))
{pars+="&follow_thread="+$("follow_thread").checked;}}
Tabblo.site._currentComment=comment;Tabblo.site._currentUser=user;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.site.proxyCommentTable},'',true);},submitItemComment:function(itemID,comment,user)
{var url="/studio/items/comment/add/"+itemID+"/";var pars="comment="+__tcu.escape_utf8(comment);Tabblo.site._currentCommentHolder="comments_holder";Tabblo.site._currentComment=comment;Tabblo.site._currentUser=user;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.site.proxyCommentTable},'',true);},deleteComment:function(storyID,commentID)
{var url="/studio/stories/deletecomment/"+storyID+"/";var pars="cid="+commentID;Tabblo.ajax.Send.beam(url,{parameters:pars,onComplete:Tabblo.site.finishDeleteComment},'',true);},finishDeleteComment:function(ajaxResponse)
{txt=ajaxResponse.responseText;if(txt!="BAD")
{ if(txt.indexOf("OK-")!=-1)
{cid=txt.substring(3);if(cid!="")
{$("comment_row_"+cid).style.display="none";}}}},finishCommenting:function(ajaxResponse,ref)
{if(ajaxResponse.responseText=="Ok")
{__tcu.showFlashIfPossible("<span class='infoFlash'>Added Comment</span>"); var tbl=$(ref);tbl.style.display="";var tr=tbl.insertRow(tbl.rows.length);var td=tr.insertCell(-1);td.style.paddingLeft="0px";td.style.textAlign="left";td.className="item_comment";td.style.paddingTop="10px";td.innerHTML="<table border='0' cellpadding='0' cellspacing='0'><tr><td valign='top' class='item_comment' style='padding-right:0px;'><img src='"+_profileImgURL+"' align='left' width='40' height='40'/></td><td valign='top' class='item_comment' style='text-align:left;padding-left:10px;'><b><a href='/studio/person/"+Tabblo.site._currentUser+"/'>"+Tabblo.site._currentUser+"</a></b> <b>said just now:</b><br/>"+Tabblo.site._currentComment.escapeHTML()+"</td></tr></table>";Tabblo.site.cancelAddComment();__tcu.hideBlockerScreen(true);td=null;tr=null;tbl=null;}
else
{__tcu.showFlashIfPossible("<span class='errorFlash'>Problem Adding Comment</span>");}},proxyCommentTable:function(ajaxResponse)
{Tabblo.site.finishCommenting(ajaxResponse,Tabblo.site._currentCommentHolder);},cancelAddComment:function()
{if(self.unlockOverlays)
{unlockOverlays();}
if($('add_comment_div')!=null)
{Tabblo.core.effects.Simple_Fade('add_comment_div',0.4,0);}
if($("comment_form_row1").style.display==""||$("comment_form_row1").style.display=="block")
{Tabblo.core.effects.Simple_Fade("comment_form_row1",0.3,0);Tabblo.core.effects.Simple_Fade("comment_form_row2",0.3,0);}},fix_a_tags:function(app_root)
{var elems=document.getElementsByTagName('a');for(var i=0;i<elems.length;i++)
{var el=elems[i];var href=el.getAttribute('href',2); if(href.indexOf('/')==0)
{href=app_root+href;}
el.setAttribute('href',href);}},cannotPurchase:function(storyId){showMessage("warn","Product not available","This product type isn't available. <br />You can <a style=\"cursor:pointer;\" onclick=\"javascript:Tabblo.site.autoConvert("+storyId+")\">convert</a> the tabblo to a similar format.");},autoConvert:function(storyId){var pars="product_id=auto&flavor=";var url="/studio/stories/changeproduct/"+storyId;__tcu.scheduleProgressIndicator("Changing the format of your tabblo.  One moment, please.",10,"foo");Tabblo.ajax.Send.beam(url,{parameters:pars,onSuccess:function(originalRequest){if(originalRequest.responseText=="OK"){location="/studio/stories/edit/"+storyId;}}});}});YAHOO.util.Event.addListener(window,"unload",Tabblo.site.unload);Tabblo.site.BlockSlider.prototype.loadAndSwap=function(response)
{var replaceBlock=(this.currentBlock==this.div1)?this.div2:this.div1;var containerPos=this.containerPos;if(this.reversing)
{var offset=810;YAHOO.util.Dom.setXY(replaceBlock,[containerPos[0]-825,containerPos[1]]);}
else
{var offset=-810;YAHOO.util.Dom.setXY(replaceBlock,[containerPos[0]+825,containerPos[1]]);}
var el2=$(replaceBlock);el2.innerHTML=response.responseText;Tabblo.core.effects.Simple_MoveTo($(this.currentBlock),containerPos[0]+offset,containerPos[1],1.0,YAHOO.util.Easing.easeOut);Tabblo.core.effects.Simple_MoveTo($(replaceBlock),containerPos[0],containerPos[1],1.0,YAHOO.util.Easing.easeOut,null,this.swapBlocks.bind(this));if(this.callBack)
{this.callBack();}};Tabblo.site.BlockSlider.prototype.swapBlocks=function()
{YAHOO.util.Dom.setXY(this.currentBlock,[this.containerPos[0]+825,this.containerPos[1]]);this.currentBlock=(this.currentBlock==this.div1)?this.div2:this.div1;};Tabblo.add_namespace("Tabblo.site.debugging",{toggleDebugWindow:function()
{var w=$("debug_window");var d=w.style.display;if(d=="none")
{w.style.display="block";}
else
{w.style.display="none";}
if(w.getAttribute("draggablized")!="true")
{w.setAttribute("draggablized","true");w.style.top="900px";w.style.left="900px";w.style.visibility="visible";w.style.zIndex=99999;w.style.height="500px";w.style.width="500px";if(!isSafari)
{new YAHOO.util.DD(w);}
}},toggleARLogWindow:function()
{__d("toggleARLogWindow");try
{var w=$("ARLog");var myh=500;var myw=275;var d=w.style.display;if(d=="none")
{w.style.display="block";}
else
{w.style.display="none";}
if(w.getAttribute("draggablized")!="true")
{w.setAttribute("draggablized","true");d=__tcu.getScreenDimensions();w.style.top=5+"px";w.style.left=(d[0]-myw-30)+"px";w.style.visibility="visible";w.style.zIndex=99999;w.style.height=myh+"px";w.style.width=myw+"px";if(!isSafari)
{new YAHOO.util.DD(w);}
}}
catch(e)
{alert('CORE ALERT 1:'+e.messasge);}},dumpDebugInfo:function()
{__tcu.appearCentered($('debug_dump'));$('debug_dump_dumpdata').value=Tabblo.site.debugging._debugGetRelevantInfo();},_debugGetRelevantInfo:function()
{var returnstr="Dumping debug data at "+new Date()+"\n\n";returnstr+="\n\nStatus of overlays (locked): "+Tabblo.Grid._overlays_locked+"\n\n";if(Tabblo.core.caches.exceptionStacks.length>=1)
{returnstr+="Exception stacks found:\n\n-------------------\n\n";for(var z=0;z<Tabblo.core.caches.exceptionStacks.length;z++)
{printfire("Checking exception stacks at index "+z);returnstr+=Tabblo.core.caches.exceptionStacks[z]+"\n---\n";}
returnstr+="\n-------------------\n\n";}
if(self.Tabblo.editor&&self.Tabblo.editor.Grid)
{returnstr+="Grid data found:\n\n-------------------\n\n"; returnstr+="\n\n___________GridPageMap___________\n\n";returnstr+=Tabblo.Grid.dumpGridPageMap()+"\n"; returnstr+="\n\n___________GridElementMap___________\n\n";returnstr+=Tabblo.Grid.dumpGridElementMap()+"\n"; returnstr+="\n\n___________PageDraggables___________\n\n";returnstr+=Tabblo.Grid.dumpPageDraggablesMap()+"\n"; returnstr+="\n\n___________PARCELPOS_CACHE___________\n\n";var i;for(i in Tabblo.core.caches.PARCELPOS_CACHE)
{returnstr+="\tcacheitem: "+i+":data:"+Tabblo.core.caches.PARCELPOS_CACHE[i]+"\n\n";} 
returnstr+="\n\n___________TheBorg.borgMind___________\n\n";for(i in Tabblo.Grid.borgMind)
{returnstr+="\tBorgMind: page "+i+"\n";for(var j in Tabblo.Grid.borgMind[i])
{returnstr+="\t\tkey: "+j+" == "+Tabblo.Grid.borgMind[i][j]+"\n";}} 
returnstr+="\n\n___________TheBorg.grid___________\n\n";for(i in Tabblo.Grid.grid)
{returnstr+="\tgriditem: "+i+":data:"+Tabblo.Grid.grid[i]+"\n\n";}}
returnstr+="\n\n\n---done---\n\n";return returnstr;},debugSendDump:function()
{var userdesc=$("debug_dump_userinfo").value;var dumpdata=$("debug_dump_dumpdata").value;$('debug_dump').style.display="none";Tabblo.site.debugging.reportGridDumpToDjango(userdesc,dumpdata);},reportGridDumpToDjango:function(userDescription,dumpData)
{var error_string="GRID EXCEPTION\nUSER DESCRIPTION: "+userDescription+"\nDUMP DATA: "+dumpData+"\n";error_string=__tcu.escape_utf8(error_string);var URL="/studio/debug/js_stack_dump/";var paramsObj={parameters:"error_string="+error_string};Tabblo.ajax.Send.beam(URL,paramsObj);}});if(typeof hoversubnav=="undefined")
{var hoversubnav=Tabblo.site.hoversubnav;}
if(typeof unhoversubnav=="undefined")
{var unhoversubnav=Tabblo.site.unhoversubnav;}
if(typeof exec=="undefined")
{var exec=Tabblo.site.exec;}
if(typeof setUserPreference=="undefined")
{var setUserPreference=Tabblo.site.setUserPreference;}
if(typeof toggleDebugWindow=="undefined")
{var toggleDebugWindow=Tabblo.site.debugging.toggleDebugWindow;}
if(typeof toggleARLogWindow=="undefined")
{var toggleARLogWindow=Tabblo.site.debugging.toggleARLogWindow;}
Tabblo.core.performance.performance_actions=Tabblo.core.performance.performance_actions.concat([[Tabblo.site,"createProduct",0]]);
/* tabblo/performance.js */

(function()
{var f=Tabblo.core.performance.performance_actions;for(var i=0;i<f.length;i++)
{var parentThis=Tabblo.core.performance.performance_actions[i][0];var funcStrNam=Tabblo.core.performance.performance_actions[i][1];var logStoryID=Tabblo.core.performance.performance_actions[i][2];parentThis[funcStrNam]=parentThis[funcStrNam].wrap(function()
{var args=Array.prototype.slice.call(arguments);var origFunc=args.shift();var finishTiming=false;var timingS=0;var timingE=0;if(Tabblo.core.performance.shouldPerformanceTest())
{timingS=new Date().getTime();finishTiming=true;}
origFunc.apply(this,args);if(finishTiming)
{timingE=new Date().getTime();var notes='{}';if(arguments.callee.caller['__performance_log_storyid__'])
{notes="{'story_id': "+Tabblo.editor.storyID+"}";}
setTimeout(Tabblo.core.performance.reportPerf.bind(Tabblo.core.performance,'',(timingE-timingS),'','','client:'+arguments.callee.caller['__performance_name__'],notes),500);}});parentThis[funcStrNam]['__performance_name__']=funcStrNam;if(logStoryID)
{parentThis[funcStrNam]['__performance_log_storyid__']=1;}}})();