dojo.provide("ss");
dojo.declare("BaseImage",null,{src:null,id:null,caption:"",oImg:null,oSlat:null,oThumb:null,thumbsrc:null,w:0,h:0,constructor:function(_1){
dojo.safeMixin(this,_1);
dojo.connect(this.oSlat,"click",this,this.thumbClicked);
if(this.oThumb){
dojo.connect(this.oThumb,"click",this,this.thumbClicked);
}
this._initImg();
},loader:function(){
this.oImg.src=this.src;
},_initImg:function(){
this.oImg=new Image();
dojo.addClass(this.oImg,"slide");
if(dojo.isIE&&(this.oImg.complete||this.oImg.readyState==="complete")){
this._afterLoad();
}else{
dojo.connect(this.oImg,"onload",this,this._afterLoad);
}
},_afterLoad:function(){
this.getImgSize();
if(this.oSlat){
dojo.removeClass(this.oSlat,"loading");
}
dojo.publish("imgLoaded",[{i:this.id}]);
},getImgSize:function(){
this.w=(this.oImg.naturalWidth)?this.oImg.naturalWidth:this.oImg.width;
this.h=(this.oImg.naturalHeight)?this.oImg.naturalHeight:this.oImg.height;
},on:function(){
if(this.oSlat){
dojo.addClass(this.oSlat,"on");
}
},off:function(){
dojo.removeClass(this.oSlat,"on");
},thumbClicked:function(){
dojo.publish("requestImg",[{i:this.id}]);
},loadThumbnail:function(){
this.oThumb.src=this.thumbsrc;
},_windowUnloader:function(){
this.oImg=null;
this.oSlat=null;
this.oThumb=null;
}});
dojo.declare("ss.Base",null,{pics:[],oBase:null,oCaption:null,oCaptionPlacePosition:"after",oSlats:null,oSlatsPlacePosition:"last",showSlats:true,oThumbnails:true,showPrevButton:true,showThumbnails:true,setHeightOnSwap:true,sharedPicPath:null,i:0,picsLoaded:0,picsNotLoaded:[],showNextButtonAfter:6,numInitialPicsLoaded:4,transition:true,fadeDuration:200,constructor:function(_2){
this.oBase=_2.oBase;
this.pics=_2.pics;
this.frameFirstPhoto=_2.frameFirstPhoto;
this.createDomElementsAndNav(_2);
if(_2.sharedPicPath!==undefined){
this.sharedPicPath=_2.sharedPicPath;
}
dojo.subscribe("requestImg",this,this.showImg);
dojo.subscribe("imgLoaded",this,this.afterImgLoad);
dojo.forEach(_2.pics,this.initImage,this);
this.loadNextImg();
},createDomElementsAndNav:function(_3){
if(_3.showThumbnails!==undefined){
this.showThumbnails=_3.showThumbnails;
}
if(_3.pics.length<2){
this.showSlats=false;
this.showThumbnails=false;
}
this.oBase=dojo.byId(_3.baseid);
this.oCaption=dojo.place("<p id=\"caption\"></p>",this.oBase,this.oCaptionPlacePosition);
dojo.create("div",{id:"thumbwrap"},this.oBase,this.oSlatsPlacePosition);
if(this.showSlats){
this.oSlats=dojo.create("div",{id:"slats"},"thumbwrap");
}
if(this.showThumbnails){
var _4=dojo.place("<a id=\"thumbnails-toggle\">Thumbs</a>","thumbwrap","last");
dojo.connect(_4,"click",this,this.toggleThumbnails);
this.oThumbnails=dojo.create("div",{id:"thumbnails","class":"hidden"},this.oBase,this.oSlatsPlacePosition);
}
var _5="<div id=\"nextwrap\" class=\"hidden ss-nav-button-wrap\"><a "+"id=\"next-button\" href=\"\" class=\"ss-nav-button\">next</a></div>";
dojo.place(_5,this.oBase,this.oSlatsPlacePosition);
dojo.connect(dojo.byId("next-button"),"click",this,this.nextClickHandler);
if(this.showPrevButton){
var _6="<div id=\"prevwrap\" class=\"hidden ss-nav-button-wrap\"><a "+"id=\"prev-button\" href=\"\" class=\"ss-nav-button\">prev</a></div>";
dojo.place(_6,this.oBase,this.oSlatsPlacePosition);
dojo.connect(dojo.byId("prev-button"),"click",this,this.prevClickHandler);
}
if(this.pics.length>1){
dojo.connect(dojo.query("html")[0],"onkeypress",this,function(_7){
if(_7.keyCode===dojo.keys.RIGHT_ARROW){
this.nextClickHandler(_7);
}
if(_7.keyCode===dojo.keys.LEFT_ARROW){
this.prevClickHandler(_7);
}
});
}
},initImage:function(_8,i){
this.picsNotLoaded[i]=i;
var _9=(this.showThumbnails===true&&_8.thumb!==undefined);
this.pics[i]=new BaseImage({id:i,src:(this.sharedPicPath)?this.sharedPicPath+_8.file:_8.file,caption:(_8.caption!==undefined)?_8.caption:"",oSlat:(this.showSlats)?dojo.place("<a class=\"loading\"><div></div></a>",this.oSlats,"last"):null,oThumb:(_9)?dojo.create("img",{},this.oThumbnails,"last"):false,thumbsrc:(_9)?_8.thumb:false});
},afterImgLoad:function(_a){
this.picsLoaded+=1;
var _b=_a.i;
if(_b===0){
this.swapImages(0);
if(this.frameFirstPhoto){
dojo.attr(this.pics[this.i].oImg,"id","frameFirstPhoto");
}
var j=1;
for(j=1;j<this.numInitialPicsLoaded;j++){
this.loadNextImg();
}
}else{
this.loadNextImg();
}
var _c=((this.picsLoaded===this.showNextButtonAfter||this.picsLoaded===this.pics.length)&&this.pics.length>1);
if(_c){
dojo.attr("nextwrap","style",{"display":"block"});
dojo.removeClass("nextwrap","hidden");
if(this.showPrevButton){
dojo.attr("prevwrap","style",{"display":"block"});
dojo.removeClass("prevwrap","hidden");
}
}
var _d=((this.picsLoaded===this.pics.length)&&this.oThumbnails);
if(_d){
dojo.forEach(this.pics,function(_e){
_e.loadThumbnail();
});
}
},loadNextImg:function(){
if(this.picsNotLoaded.length>0){
var _f=this.picsNotLoaded.shift();
this.pics[_f].loader();
}
},nextClickHandler:function(e){
dojo.stopEvent(e);
var _10=(this.i+1<this.pics.length)?this.i+1:0;
this.swapImages(_10);
},prevClickHandler:function(e){
dojo.stopEvent(e);
var _11=(this.i===0)?this.pics.length-1:this.i-1;
this.swapImages(_11);
},showImg:function(_12){
this.hideThumbnails();
this.swapImages(_12.i);
},makeVisible:function(i){
this.pics[i].on();
dojo.place(this.pics[i].oImg,this.oBase,"first");
},swapImages:function(_13){
this.makeVisible(_13);
var _14=dojo.query("img.slide",this.oBase)[1];
if(_14){
this.pics[this.i].off();
}
this.i=_13;
var _15=dojo.fadeOut({node:_14,duration:this.fadeDuration});
dojo.connect(_15,"onEnd",function(n){
dojo.style(n,{opacity:1});
dojo.destroy(n);
});
if(this.transition&&_14){
_15.play();
}else{
if(_14){
dojo.destroy(_14);
}
}
if(this.setHeightOnSwap){
dojo.style(this.oBase,"height",(this.pics[_13].h+4)+"px");
}
var _16=this.pics[_13].caption;
if(_16!==undefined){
dojo.attr(this.oCaption,"innerHTML",_16);
}
},unhideThumbnails:function(){
dojo.removeClass(this.oThumbnails,"hidden");
dojo.addClass(this.oThumbnails,"on");
},hideThumbnails:function(){
dojo.removeClass(this.oThumbnails,"on");
dojo.addClass(this.oThumbnails,"hidden");
},toggleThumbnails:function(){
var _17=dojo.hasClass(this.oThumbnails,"hidden");
if(_17){
this.unhideThumbnails();
}else{
this.hideThumbnails();
}
},unloader:function(){
this.oBase=null;
this.oSlats=null;
this.oThumbnails=null;
this.oThumbToggle=null;
this.oA=null;
dojo.forEach(this.pics,function(obj){
obj._windowUnloader();
});
}});
dojo.declare("ss.FullScreen",ss.Base,{showPrevButton:false,showThumbnails:false,transition:null,setHeightOnSwap:false,oCaptionPlacePosition:"last",constructor:function(_18){
dojo.connect(window,"resize",this,function(){
this.resizer(this.i,this.pics[this.i].oImg);
});
},makeVisible:function(i){
this.inherited(arguments);
this.resizer(i,this.pics[i].oImg);
},getWindowDimensions:function(){
ret=dojo.position(this.oBase);
if(ret.h===0&&dojo.isIE===6){
var w=document.documentElement.clientWidth;
var h=document.documentElement.clientHeight;
ret={"w":w,"h":h};
}
return ret;
},resizer:function(i,_19){
var pic=this.pics[i];
var box=this.getWindowDimensions();
var _1a=box.h/box.w;
if(!pic.h||!pic.w){
pic.getImgSize();
}
var _1b=pic.h/pic.w;
if(_1b<_1a){
var _1c=Math.round(box.h/_1b);
var _1d=Math.round((_1c-box.w)/2);
dojo.attr(_19,{"height":box.h,"width":_1c});
dojo.style(_19,{"left":"-"+_1d+"px","top":"0px"});
}else{
var _1e=Math.round(box.w*_1b);
var _1f=Math.round((_1e-box.h)/2);
dojo.attr(_19,{"width":box.w,"height":_1e});
dojo.style(_19,{"top":"-"+_1f+"px","left":"0px"});
}
}});
dojo.declare("ss.Window",ss.Base,{showPrevButton:false,showThumbnails:false,transition:false,setHeightOnSwap:false,oCaptionPlacePosition:"last",constructor:function(_20){
dojo.create("div",{id:"overlay825x500","class":"window"},this.oBase,"last");
}});


