(function($) {

	$.fn.initQuestionForm = function() {
		new $.askaquestion(this);
		return this;
	};
	
	$.askaquestion = function(form)
	{
		var output = $('#ask_question_output');
		
		function validateFields()
		{
			//var fields = new Array('#name_field', '#email_field', '#question_field');
			var emailRegEx = /^[A-Z0-9._%-]+@[A-Z0-9._%-]+(\.([A-Z]{2,6})){1,2}$/i;
			var valid = true;
			
			form.find(':input').each(function(i){
				field = $('#' + this.id);
				
				if (!field.val()) {
					valid = false;
				} else if (field.attr('name') == 'email') {
					if (emailRegEx.test(field.val()) == false) {
						valid = false;
					}
				}
			});
			
			return valid;
		}
		
		form.submit(function(){
			output.text('Submitting Question...');
			output.removeClass('compact_error');
			output.addClass('compact_success');
			
			if (!validateFields(form)) {
				output.text("All fields are required. \nMake sure you use a valid email address.");
				output.removeClass('compact_success');
				output.addClass('compact_error');
				return false;
			}
			
			$.get('/sup/ajax/ask_a_question.php', {'name':$('#name_field').val(),'from':$('#email_field').val(),'question':$('#question_field').val()},function(data){completeDisplay(data)});
					
			return false;
		});
		
		function completeDisplay(data)
		{
			form.find(':input').each(function(i){
				field = $('#' + this.id);
				field.val('');
			});
			output.html(data);
			output.removeClass('compact_error');
			output.removeClass('compact_success');
			output.addClass('compact_success');
		}
	}
})(jQuery);