/// <reference path="/Scripts/jquery-1.4.1.min.js" />

$.validator.methods.equal = function(value, element, param) {
		return value == param;
	};

$(document).ready(function() {
	$("#contactform").validate({
		rules: {
			name: {
				required: true,
				minlength: 2
			},
			email: {
				required: true,
				email: true,
			},
			spamtrapper: {
				equal: 5
			},
			message: "required"
		},
		messages: {
			message: "Please enter a message.",
			spamtrapper: {
				equal: "Not quite right! Add the two numbers and you get... 5?"
			},
			email: {
				required: "Please enter an e-mail address so I can get back to you.",
				email: "The e-mail address is not valid."
			},
			name: {
				required: "Please fill out your name.",
				minlength: jQuery.format("You need to use at least {0} characters for your name.")
			}
		},
        submitHandler: function(form) {
            var submitButtonValue = $('input[type=submit]', form).val();
            $('p.feedback').hide().removeClass('success').removeClass('error');
            $('input[type=submit]', form).attr('disabled', 'disabled').val('Please wait...');
            
            var passingArguments = {
                name:$('#name').val(),
                email:$('#email').val(),
                message:$('#message').val(),
                spamtrapper:$('#spamtrapper').val()
            }

            // Submit data
            $.ajax({
                type: 'POST',
                url: 'Default.aspx/SendContactForm',
                data: JSON.stringify(passingArguments),
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                success: function(status) {
                    $('p.feedback').show();

                    if (status.d)
                    {
                        $('p.feedback').addClass('success');
                        $('p.feedback').html('The message was sent successfully!');

                        form.reset();
                    }
                    else
                    {
                        $('p.feedback').addClass('error');
                        $('p.feedback').html('Oops... Something went wrong! Please try to contact me directly on aflyen+web@gmail.com.');
                    }

                    $('input[type=submit]', form).removeAttr("disabled").val(submitButtonValue);
                }
            });
        }
    });
});
