(function(){
    var yuiEvent = YAHOO.util.Event;
    var zoomImage = SW.domWidget.zoomImage;

    // ### ImageManager ### //
    /*
        add click handler to the thumb/zoom image to show photos pop-up
    */
    var ImageManager = (function() {
        // private
        var initialized = false;
        var popupWindow = null;
        var getSkinName = SW.tools.getSkinName;
        function handleZoomImageClick(config,e){
            var url;
            var propertyId = config.thumbnailImage.getAttribute("propertyId");
            if(propertyId != null && propertyId != ""){
                url = "/"+ getSkinName() +"/property/photos/popup.html?propertyID="+ propertyId;
                if(!popupWindow || popupWindow.closed){
                    popupWindow = window.open(url,null,'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=591,height=420');
                }else{
                    popupWindow.document.location.href = url;
                }
                popupWindow.focus();
            }
        }
        // public
        var self = {
            initialize:function() {
                if (initialized) {
                    return;
                }
                initialized = true;
                zoomImage.addClassSettings("propertyThumbnail",{
                    onThumbnailImageClick:handleZoomImageClick,
                    onZoomImageClick:handleZoomImageClick
                });
            }
        };
        return self;
    })();

    yuiEvent.onDOMReady(ImageManager.initialize);
})();