function ZillowThumbnailManager(){var a=[];this.getThumbnailer=function(b){return a[b];};this.addThumbnailer=function(b){a[b.id]=b;
};}if(window.zillowThumbnailManager==null){zillowThumbnailManager=new ZillowThumbnailManager();}var ThumbnailImageDisplay=function(b,c,d,a){this.id=b;
this.list=d.substring(1,d.length-1).split(",").map(function(e){return e.trim();});this.ul=null;this.imagesPerRow=c;
$E.onContentReady("content",this.init,a,this);};ThumbnailImageDisplay.prototype={constructor:ThumbnailImageDisplay,toString:function(){return"ThumbnailImageDisplay";
},init:function(e){this.mainImageId=e.mainImage;this.imageProviderId=e.imageProvider;this.currentImageIndexId=e.currentImageIndex;
this.imageCaptionId=e.caption;this.clickEventType=e.clickEventType;this.showPageDirectional=e.showPageDirectional;
this.showImageDirectional=e.showImageDirectional;this.showImagePageNavigation=e.showImagePageNavigation;
this.ratingDivId=e.ratingDivId;var h=e.startingImageId;var d=$("thumbnailer-image-current-image-id"+this.id).value;
if(h&&h.trim()==d.trim()){h=null;}this.ul=$("thumbnailer-image-thumbnails"+this.id);var k=$("thumbnailer-thumbnail-page"+this.id).value*1;
var l=false;var c=1;if(h){for(var g=0;g<this.list.length&&!l;g++){var b=this.list[g];if(b==h){k=Math.ceil((g+1)/this.imagesPerRow);
l=true;c=g+1;}}}var a=(k-1)*this.imagesPerRow;var f=k*this.imagesPerRow;this.replaceThumbnails(a,f);this.renderImageNumberList(k);
if(l){this.highlightCurrentThumbnail(h,null);this.doSwapImage(h,c);return;}try{this.updateRating(d);}catch(j){log(j);
}this.highlightCurrentThumbnail(d,null);this.enableNextRowLink(this.imagesPerRow<this.list.length);this.enablePreviousRowLink(false);
this.enablePreviousImageLink(false);this.enableNextImageLink(this.list.length>1);if(this.clickEventType){var m=this.clickEventType.replace(/^on/,"");
$E.on(this.ul.parentNode,m,this.swapHandler,this,true);}},replaceThumbnails:function(b,a){this.completeThumbnailReplacement(b,a);
},completeThumbnailReplacement:function(c,b){Element.clear(this.ul);for(i=c+1;i<=b;i++){id=this.list[i-1];
var a=this.createThumbnailListElement(id,i);if(a!=null){this.ul.appendChild(a);}}},createThumbnailListElement:function(d,c){var a=document.createElement("li");
a.id=this.id+"-thumb_"+c;var b=Element.make("img");var e=$("thumbnailer-image-thumbnail-"+d+this.id);
if(e==null){return null;}b.src=e.value;b.id=this.id+"-thumbnailer-image-thumbnail-id--"+d;a.appendChild(b);
return a;},swapHandler:function(d){var b=$E.getTarget(d);if(b.nodeName.toUpperCase()==="IMG"){var a=b.parentNode.id.split("_").pop(),c=b.id.substring(b.id.indexOf("--")+2);
this.doSwapImage(c,a);}},highlightCurrentThumbnail:function(c,b){if(c==null){c=$("thumbnailer-image-current-image-id"+this.id).value;
}var a=$(this.id+"-thumbnailer-image-thumbnail-id--"+c);if(a!=null){a.className="current";}if(b!=null){var d=$(this.id+"-thumbnailer-image-thumbnail-id--"+b);
if(d!=null){d.className="";}}},doSwapImage:function(d,c){this.highlightCurrentThumbnail(d,$("thumbnailer-image-current-image-id"+this.id).value);
if(this.mainImageId){$(this.mainImageId).src=$("thumbnailer-image-primary-url-"+d+this.id).value;}var a=$("thumbnailer-image-creator-"+d+this.id).innerHTML+$("thumbnailer-image-create-date-"+d+this.id).innerHTML;
if(this.imageProviderId){$(this.imageProviderId).innerHTML=a;}if(this.imageCaptionId){$(this.imageCaptionId).innerHTML=$("thumbnailer-image-caption-"+d+this.id).innerHTML;
}$("thumbnailer-image-current-image-id"+this.id).value=d;if(this.currentImageIndexId){$(this.currentImageIndexId).innerHTML=c;
}$("thumbnailer-current-image"+this.id).value=c;this.updateRating(d);var b=Math.ceil(c/this.imagesPerRow);
var e=$("thumbnailer-thumbnail-page"+this.id).value*1;if(b!=e){this.switchToPage(b,true);}this.enableNextImageLink(c<this.list.length);
this.enablePreviousImageLink(c!=1);Subscriber.fireEvent("Thumbnailer.afterSwap");if(window.complaintContentTracker!=null){complaintContentTracker.update(d,$("thumnailer-image-creator-id-"+d+this.id).value);
}},incrementPage:function(){if(!this.showPageDirectional){return;}var a=$("thumbnailer-thumbnail-page"+this.id).value*1;
if(a*this.imagesPerRow>=this.list.length){return;}this.switchToPage(a+1);},decrementPage:function(){if(!this.showPageDirectional){return;
}var a=$("thumbnailer-thumbnail-page"+this.id).value*1;if(a*this.imagesPerRow<=0){return;}this.switchToPage(a-1);
},switchToPage:function(b,c){if($("thumbnailer-thumbnail-page"+this.id).value*1==b||b==0){return;}$("imagethumbnailpage-"+this.id+"-"+$("thumbnailer-thumbnail-page"+this.id).value).className="";
$("imagethumbnailpage-"+this.id+"-"+b).className="current";this.enableNextRowLink((b*this.imagesPerRow)<this.list.length);
this.enablePreviousRowLink(((b-1)*this.imagesPerRow)>0);this.enablePreviousImageLink(b!=1);$("thumbnailer-thumbnail-page"+this.id).value=b;
var d=(b-1)*this.imagesPerRow;var a=b*this.imagesPerRow;this.replaceThumbnails(d,a);if(!c){this.doSwapImage(this.list[d],d+1);
}else{this.highlightCurrentThumbnail();}},enablePreviousRowLink:function(a){if(!this.showPageDirectional){return;
}try{if(a){$("thumbnailer-image-previous-row"+this.id).className="image-arrow-left";}else{$("thumbnailer-image-previous-row"+this.id).className="image-arrow-left-off";
}}catch(b){log(b);}},enableNextRowLink:function(a){if(!this.showPageDirectional){return;}try{if(a){$("thumbnailer-image-next-row"+this.id).className="image-arrow-right";
}else{$("thumbnailer-image-next-row"+this.id).className="image-arrow-right-off";}}catch(b){log(b);}},renderImageNumberList:function(g){if(!this.showImagePageNavigation){return;
}if(!g){g=1;}var j=this.list.length;var c=Math.ceil(j/this.imagesPerRow);var h=$("thumbnailer-images-page-number-display-"+this.id);
var b=$("navigation-page-display-previousArrow-"+this.id);var e=$("navigation-page-display-nextArrow-"+this.id);
Element.clear(h);if(b){h.appendChild(b);}var f=this;for(var d=1;d<=c;d++){var l=Element.make("li",{id:"imagethumbnailpage-"+this.id+"-"+d});
l.className=d==g?"current":"";var k=Element.make("a");k.onclick=function(a){var m=this.parentNode.id;
m=m.substring(m.indexOf(f.id+"-")+f.id.length+1,m.length);f.switchToPage(m);};k.innerHTML=d;l.appendChild(k);
h.appendChild(l);}if(e){h.appendChild(e);}},showNextImage:function(c){if(!this.showImageDirectional){return;
}var a=$("thumbnailer-current-image"+this.id).value*1;if(a>=this.list.length){if(c){this.switchToPage(1);
}return;}this.doSwapImage(this.list[a],a+1);this.enablePreviousImageLink(true);if(a+1==this.list.length){this.enableNextImageLink(false);
}var b=Math.ceil((a+1)/this.imagesPerRow);this.enableNextRowLink((b*this.imagesPerRow)<this.list.length);
this.enablePreviousRowLink(((b-1)*this.imagesPerRow)>0);},showPreviousImage:function(){if(!this.showImageDirectional){return;
}var a=$("thumbnailer-current-image"+this.id).value*1;if(a<=1){return;}this.doSwapImage(this.list[a-2],a-1);
this.enableNextImageLink(true);if(a-1==1){this.enablePreviousImageLink(false);}},enableNextImageLink:function(a){if(!this.showImageDirectional){return;
}if(a){$("thumbnailer-image-next-link"+this.id).className="next-image-arrow next-on";}else{$("thumbnailer-image-next-link"+this.id).className="next-image-arrow next-off";
}},enablePreviousImageLink:function(a){if(!this.showImageDirectional){return;}if(a){$("thumbnailer-image-previous-link"+this.id).className="previous-image-arrow previous-on";
}else{$("thumbnailer-image-previous-link"+this.id).className="previous-image-arrow previous-off";}},updateRating:function(b){try{if(b==$("thumbnailer-image-current-image-id"+this.id).value){var a=$(this.ratingDivId);
a.innerHTML=$("thumbnailer-image-rating-"+b+this.id).innerHTML;}}catch(c){log("error: ",c);}}};RatingManager.adjustAdminYesNoCounts=function(id,newVote,imageId,thumbnailerId){var add=Element.getChild("thumbnailer-image-rating-"+imageId+thumbnailerId,id+newVote);
add.innerHTML=eval(add.innerHTML)+1;Element.getChild("thumbnailer-image-rating-"+imageId+thumbnailerId,id+"_yes_btn").disabled=false;
zillowThumbnailManager.getThumbnailer(thumbnailerId).updateRating(imageId);};RatingManager.adjustYesNoCounts=function(id,newVote,imageId,thumbnailerId){var currVote=Element.getChild("thumbnailer-image-rating-"+imageId+thumbnailerId,id+"_curr");
if(currVote.value==newVote){return;}if(currVote.value){var sub=Element.getChild("thumbnailer-image-rating-"+imageId+thumbnailerId,id+currVote.value);
sub.innerHTML=eval(sub.innerHTML)-1;}var add=Element.getChild("thumbnailer-image-rating-"+imageId+thumbnailerId,id+newVote);
add.innerHTML=eval(add.innerHTML)+1;Element.getChild("thumbnailer-image-rating-"+imageId+thumbnailerId,id+newVote+"_btn").disabled=true;
currVote.value=newVote;RatingManager.markMyVote(id,newVote,imageId,thumbnailerId);zillowThumbnailManager.getThumbnailer(thumbnailerId).updateRating(imageId);
};RatingManager.markMyVote=function(e,b,c,a){var d=Element.getChild("thumbnailer-image-rating-"+c+a,e+b+"_btn");
$D.addClass(d,"myChoice");};