var _JSANI_BASE={options:{baseDir:null,imageSrcs:null,aniWidth:null,aniHeight:null,resizeImagesToFit:true,controls:["stopplay"],maxdwell:1400,mindwell:80,initdwell:160,nsteps:25,first_frame_pause:1,last_frame_pause:1,frame_pause:null,fitContainer:false},_create:function(){this.animIsStopped=false;this.animIsLooping=true;this.animIsZoomed=false;this.zoomLevel=1;this.zoomFactor=1.25;this.frameIndex=0;this.direction="forward";this.imageFrames=[];this.frameLabels=[];this.nImagesLoaded=0;this.imgWidth=null;this.imgHeight=null;this.frameWidth=null;this.frameHeight=null;this.initFrameWidth=null;this.initFrameHeight=null;this.framePosition={x:null,y:null};this.defaultControlsLocation="top";this.frameDwell=null;this.frameDwellPause=[];this.frameDwellPauseCounter=[];this.dwellStepRate=null;this.intervalID=null;this.frameIsBeingDrawn=false;this.progressbar=null;this.controlHeight=null;this.frameIndex--;this.element.addClass("jsani");this.element.removeClass("jsani-error-thrown");if(!this.isCanvasSupported()){this.element.addClass("jsani-error-thrown");this._printErrorMessage(this,'Your web browser does not support HTML5 Canvas. You will need to use a newer, HTML5 compliant browser to view this animation.');return}var a=this._checkConfig(this.options);if(a!==true){this.element.addClass("jsani-error-thrown");this._printErrorMessage(this,a);return}var c=this._getImageSrcsAndLabels(this,this.options.imageSrcs);this.options.imageSrcs=c.imageSrcs;this.options.frameLabels=c.frameLabels;if(this._propExists(this.options.controls,"controlList","zoom","showzoomHelp")){this.options.showzoomHelp=this.options.controls.controlList.zoom.showzoomHelp}this._createAnimContainer();this._disableTextSelect(this.element);var b=this;b._on(b.element,{jsaniimagespreloaded:function(){b._startAnim()}});this._preloadImages(this)},_getImageSrcsAndLabels:function(k,b){var f=b.length!=0&&k._propExists(b,0)&&(b[0]!==null&&typeof b[0]==="object");var a={};if(f){var g=[];var j=[];for(var c=0;c')}else{this.element.prepend('')}this._bindEvent("jsaniimagespreloaded",function(c,e){a.setFrameSize();a.setFramePosition(a,"center","top")})},_preloadImages:function(a){a._imageProgressBar(a,"init",null);for(var b=0;b=a.options.imageSrcs.length){a._trigger("imagespreloaded",null,{widget:a.element})}};var c=a.options.baseDir;c=(c==null)?"":$.trim(c);c=(c!="")?c+"/":"";a.imageFrames[b].src=c+a.options.imageSrcs[b]}},_imageProgressBar:function(b,d,c){if(d=="update"){b.progressbar.progressbar("value",c);return}b.element.find("canvas").eq(0).wrap('');b.element.find(".jsani-tmp-canvas-wrapper").eq(0).append('
"}else{this._printErrorMessage(this,"ERROR: the controls location specified is not implemented")}}var e=$(d);var k=null;var i=null;for(var g in h.controlList){k=this._controlClassName(g);if("label" in h.controlList[g]){i=this._getLabel(this,h.controlList[g],g,"opposite_state")}else{i=this._getLabel(this,b[g],g,"opposite_state")}e.find("."+k).html(i).addClass(h.controlList[g].customClass)}e.addClass("jsani-controls-"+j);this.element.find(".jsani-controls-container").remove();e.appendTo(this.element);for(var g in h.controlList){for(var f in b[g].defaultEventHandlers){this.getControl(g).bind(f,b[g].defaultEventHandlers[f])}}return{location:j,height:this.element.find(".jsani-controls-container").outerHeight(true)}},_getFrameLabelsHTML:function(){var b='