$(document).ready(function(){
    // IE 5.5 and lesser aren't supported
    if ($.browser.msie && $.browser.version < 6) {
		return false;
	} else {	
		/* form focus IE */
		$(":input").focus(function(){
			$(this).addClass("focused");
		});
		$(":input").blur(function(){
			$(this).removeClass("focused");
		});
	
		/* form submit */
		$("#generalForm").submit(function() {
			var cancelForm = false;
			var inputs = [];
		
			$(":input", this).each(function() {
				if ($(this).is('.required')) {
					if (this.value == "") {
						$(this).addClass('requiredShow'); 
						cancelForm = true;
					} else {
						$(this).removeClass('requiredShow');
					}
				}
				inputs.push(this.name + "=" + escape(this.value));
			}); 
		
			if (cancelForm != true) {
				$(".send")
					.attr({ 'value': 'sending', 'disabled': 'true' })
					.addClass("sending"); 
		
				jQuery.ajax({
					data: inputs.join('&'),
					url: this.action,
					timeout: 2000,
					error: function() {
						console.log("Failed to submit");
					},
					success: function(r) {
						setTimeout(function() {
							tempName = r.substr(0,5);
							if (tempName == "Sorry") { // error
								$("#formResponse")
									.removeClass()
									.addClass('error')
									.text(r)
									.fadeIn('slow');
								$(".send")
									.attr({ 'value': 'send', 'disabled': '' })
									.removeClass('sending');
								$("#captcha").addClass('requiredShow')	
								$("#captcha").focus();	
				 			} else {
								$("#formResponse")
									.addClass('success')
									.text(r)
									.fadeIn('slow');
								$(".send")
									.attr({ 'value': 'sent' })
									.removeClass('sending')
									.addClass("sent");
							}
				 		}, 2050); 
					}
				});

				return false;
			} else {
				/* failed */
				$("#formResponse")
					.removeClass()
					.addClass('error')
					.text("Please complete the name, email and NOSPAM fields")
					.fadeIn('slow');
				return false;
			}
		});

	}
});