function contactForm() {
	this.contactForm = null;
	
	this.draw = function(container) {
		return this.getForm();
	}
	
	this.callBack = function(container) {
		
		var content = $('.modalContent', container);
		var fields = content.find('input[type=text], input[type=password], textarea');
		
		$('.modalShield', container).click(function(event) {
			fields.each(function() {
				if(this.value) {
					event.stopImmediatePropagation();
				}
			});
		});
		
		this.contactForm.onsubmit = function() {
			
			var errors = document.createElement('ul');
			var errorCount = 0;
			
			function isEmpty(e, t) {
				if(e.value == '') {
					var error = document.createElement('li');
					var text = document.createTextNode(t);
					error.appendChild(text);
					
					errors.appendChild(error);
					errorCount++;
				}
			}
			
			function validEmail(e) {
				var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if(!regex.test(e.value)) {
					var error = document.createElement('li');
					var text = document.createTextNode('Please enter a valid email address');
					error.appendChild(text);
					
					errors.appendChild(error);
					errorCount++;
				}
			}
			
			var name = document.getElementById('fullname');
			var email = document.getElementById('email');
			var phone = document.getElementById('phone');
			var member = document.getElementById('member');
			var inquiry = document.getElementById('inquiry');
			var message = document.getElementById('message');
			
			isEmpty(name, 'Your name is required');
			isEmpty(email, 'Your email is required');
			validEmail(email);
			isEmpty(phone, 'Your phone number is required');
			isEmpty(message, 'Please enter a message');
			
			if(member.checked) {
				member = true;
			} else {
				member = false;
			}
			
			if(errorCount > 0) {
				$('.errors').html(errors);
			} else {
				content.find('.contact-form').html('<p>Sending your email, please wait...</p>');
				var result = $.post('/ajax_contact.php', {
					name: name.value,
					email: email.value,
					phone: phone.value,
					member: member,
					inquiry: inquiry[inquiry.selectedIndex].value,
					message: message.value
				}, function(result) {
					content.find('.contact-form').html(result);
				});
			}
			
			return false;
		}
	}
	
	this.getForm = function() {
		this.contactForm = document.createElement('form');
		this.contactForm.className = 'contact-form';
		this.contactForm.method = 'post';
		
		this.contactForm.innerHTML = '<h3>Contact:</h3>' +
		'<div class="errors"></div>' +
		'<p><label for="fullname">Name: <input type="text" id="fullname" name="fullname" /></label></p>' +
		'<p><label for="email">Email: <input type="text" id="email" name="email" /></label></p>' +
		'<p><label for="phone">Phone: <input type="text" id="phone" name="phone" /></label></p>' +
		'<p class="member">Are you a member? <label for="member">Yes: <input class="checkbox" type="checkbox" id="member" name="member" /></label></p>' +
		'<p><select id="inquiry" name="inquiry"><option value="general inquiry">General Inquiry</option><option value="suggestion">Suggestion</option><option value="complaint">Complaint</option></select></p>' +
		'<p class="message"><label for="message">How can we help you? <textarea id="message" name="message" ></textarea></label></p>' +
		'<p class="button"><input type="submit" name="submit" value="Submit" />';
		
		return this.contactForm;
	}
}

