$(document).ready(function() {
	$("#review_form").css("display", "none");
    
    $('#write_review').prepend('<img class="arrow" src="../images/icons/write_reviews/review_arrow_closed.png" width="14" height="14" alt="" />');
    
    $('#star_rating').before('<span class="instructions">(click stars to provide a rating)</span>');
    
	$("#write_review").click(function(){
		$("#thanks").remove();
		$("#review_form").slideToggle("slow");
		
		if($('#write_review .arrow').attr('src') == '../images/icons/write_reviews/review_arrow_closed.png') {
			$('#write_review .arrow').attr('src', '../images/icons/write_reviews/review_arrow_open.png');
		} else {
			$('#write_review .arrow').attr('src', '../images/icons/write_reviews/review_arrow_closed.png');
		}
	});
	$("p a#form").click(function() {
		$("#thanks").remove();
		$("#review_form").show();
		$('#write_review .arrow').attr('src', '../images/icons/write_reviews/review_arrow_open.png');
	});
	$("#sidebar .write_review").click(function() {
		$("#thanks").remove();
		$("#review_form").show();
		$('#write_review .arrow').attr('src', '../images/icons/write_reviews/review_arrow_open.png');
	});
	
	if(jQuery.url.attr("anchor") == "write_review") {
    	$("#write_review").trigger('click');
    }
	
	$.validator.addMethod("id_testing", id_test, "This field is required");
	
    $("#review_form").validate({
    	//set the placement of the error message
    	errorPlacement: function(error, element) {
    		error.appendTo(element.parent().prev());
    	},
        //set the rules for the field names
        rules: {
        	name: {
        		required: false
        	},
        	email: {
        		required: true,
        		email: true
        	},
        	review: {
        		required: false
        	},
        	rating: {
        		required: true
        	},
        	id: {
        		required: true,
        		id_testing: true
        	}
        },
        //set messages to appear inline
        messages: {
/*     		name: "Please enter your name", */
        	email: "Please enter a valid email address",
/*     		review: "Please enter your review", */
        	rating: "Please pick a star rating",
    		id: {required: "This field is required"}
        }
    });
    
    var options = { 
        beforeSubmit: validate_review  // pre-submit callback
    };
                
    // bind to the form's submit event 
    $('#review_form').bind('submit', function() {
        // inside event callbacks 'this' is the DOM element so we first 
        // wrap it in a jQuery object and then invoke ajaxSubmit 
        $(this).ajaxSubmit(options);
        
        // return false to prevent standard browser submit and page navigation
        return false;
    });
});
        
function validate_review(formData, jqForm, options) {
	
    $('#send').after("<p id=\"working\">Checking to see if the form is correctly filled in.</p>");
    if($("#review_form").valid()) {
        $("#working").remove();
    	$("#write_review").trigger('click');
        $('#write_review').after("<p id=\"thanks\">Thank you. Your review has been submitted.</p>");
        $('#thanks').show(1500);
        $('#review_form').clearForm();
        return true;
    } else {
        $("#working").remove();
        return false;
    }
}

function id_test(value, element) {
	// Convert to lowercase
	value = value.toLowerCase();
	
	// Trim string of whitespace
	value = value.replace(/^\s+|\s+$/g,"");
	
	if (value === 'goat') {
		return true;
	} else {
		return false;
	}
}

