var ExploreReview = new Class({
    Implements: Options,
    options: {
        url: null,
		leftMargin: 0,
		starWidth: 29,
		starMargin: 0,
		scale: 5,
		snap: 1,
        handler: '.rabidRating'
    },

    initialize:function(options) {
        this.setOptions(options);

        var rating = new RabidRatings({
            url: this.options.url,
            leftMargin: this.options.leftMargin,
            starMargin: this.options.starMargin,
            starWidth: this.options.starWidth,
            handler: this.options.handler,
            ieFixPosition: this.options.ieFixPosition
        });

        $$(rating.options.handler).each(function(el) {
            if (!el.ratableId) {
                el.wrapper.removeEvents();
            } else {
                el.wrapper.removeEvents('click');
                el.wrapper.addEvent('click', function(e) {
                    el.currentFill = el.newFill;
                    el.morphFx.start('.rabidRating .ratingVoted');
                    if (el.textEl) el.textEl.addClass('loading');
                    var votePercent = this.getVotePercent(el.newFill);
                    $('attrRevForm-'+el.ratableId).getElement('.explore_review_rating').set('value', votePercent / 20 );
                    $('attrRevForm-'+el.ratableId).removeClass('hide');
                }.bindWithEvent(rating));
                var username = $('attrRevForm-'+el.ratableId).getElement('.explore_review_username');
                if (username) {
                    var initVal = username.get('value');
                    username.addEvent('focus',function(e) {
                        if (initVal == username.get('value')) {
                            username.set('value','');
                        }
                        username.removeEvents('focus');
                    });
                }
                if (el.getElement('.cancelForm')) {
                    el.getElement('.cancelForm').addEvent('click',function(e) {
                        e.stop();
                        $('attrRevForm-'+el.ratableId).addClass('hide');
                    })
                }
            }
        });
    }
});