// Outer function just allows use of $ or jQuery (for jQuery Plugins) (function($){ // Creates a jQuery wrapper method so methods can be attached to jQuery wrapped sets eg: // $('form').fixieAjaxForm() $.fixieAjaxForm = function(successCallback) { // $(this) == $('form') inside this function $(this).ajaxForm(function(str) { var data = $.parseJSON(str); $(this).find('label.error').removeClass('error'); if (data.errors.length === 0) { $(this).resetForm(); successCallback(data); } else { $.each(data.errors, function(){ $('label[for='+ this[0]+']').addClass('error'); }); } }) } })(jQuery); // TODO: showReviewForm and showReviews need to be cleaned up. showReviewForm: function(reviewsWrapper, data){ var self = this; reviewsWrapper.find('.read-reviews').hide(); if(reviewsWrapper.find('.new-review').length > 0) { reviewsWrapper.find('.new-review').show('slide'); } else { reviewsWrapper.append('
'); var newReviewWrapper = reviewsWrapper.find('.new-review'); newReviewWrapper.show('slide').html(DL.Templates.new_review, { id: data.id }); DL.Neighborhoods.submitAForm(newReviewWrapper, function(data){ newReviewWrapper.dialog('close'); self.reloadReviews(reviewsWrapper, data)}); newReviewWrapper.find('.star').rating(); newReviewWrapper.find('.close').click(function(){ newReviewWrapper.hide('slide'); }); } },