YAHOO.namespace('Local.Browse');

YAHOO.namespace('Local.Results');
/**
 * Handles the Review pop-up in the listing content
 * @class ReviewMorePop
 */
YAHOO.Local.Results.ReviewMorePop = {
    reviewers: null,
    morereviews: null,
    handleClick: function(e) {
        YAHOO.util.Event.preventDefault(e);
        if (!YAHOO.lang.isObject(YAHOO.Local.Results.ReviewPop)) {
            YAHOO.Local.util.InProgress.create(YAHOO.Local.data.IN_PROGRESS, YAHOO.util.Event.getTarget(e));
            var arrUrls = [YAHOO.Local.data.REVIEW_POP.js, YAHOO.Local.data.REVIEW_POP.css];
            if (!YAHOO.lang.isObject(YAHOO.util.Connect)) {
                arrUrls.unshift(YAHOO.Local.data.YUI.connection);
            }
            var file = new YAHOO.Local.util.loadFile(arrUrls, 'YAHOO.Local.Results.ReviewPop');
            file.onComplete.subscribe(function(type, args, obj){
               YAHOO.Local.Results.ReviewPop.showFirstReviewDetails(obj);
            }, YAHOO.util.Event.getTarget(e));
        } else {
            YAHOO.Local.util.InProgress.destroy();
            YAHOO.Local.Results.ReviewPop.showReviewDetails(YAHOO.util.Event.getTarget(e));
        }
    },

    addEvents: function() {
        var self = this;
        this.reviewers = YAHOO.util.Dom.getElementsByClassName('reviewer-img', 'a', 'yls-br-recommend');
        this.morereviews = YAHOO.util.Dom.getElementsByClassName('reviewer-more', 'a', 'yls-br-recommend');

        YAHOO.util.Event.removeListener(this.reviewers, 'click');
        YAHOO.util.Event.removeListener(this.morereviews, 'click');
        YAHOO.util.Event.on(this.reviewers, 'click', function(e) { self.handleClick(e); } );
        YAHOO.util.Event.on(this.morereviews, 'click', function(e) { self.handleClick(e); } );

    }
};

YAHOO.Local.Browse.initPage = function() {
    YAHOO.Local.util.initGlobalComponents();
    YAHOO.Local.Results.ReviewMorePop.addEvents();

    YAHOO.Local.YSM.addEvents();
};

