//trim function
String.prototype.trim = function() {
	a = this.replace(/^\s+/, '');
	return a.replace(/\s+$/, '');
};

var OnlineApplicationApp = Class.create();
OnlineApplicationApp.prototype = {
		initialize: function(errormsg, successmsg, failedmsg) {
			this.validMsg = errormsg;
			this.successMsg = successmsg;
			this.failedMsg = failedmsg;
			this.sendUrl = "/onlineapp.php";

			this.eventLoad = this.loadHandler.bindAsEventListener(this);
			this.eventSendForm = this.sendForm.bindAsEventListener(this);
			this.eventCompleted = this.sendCompleted.bindAsEventListener(this);
						
			Event.observe(window, "load", this.eventLoad); 
		},
		
		loadHandler: function(e) {
			Event.observe('send_form', 'click', this.eventSendForm);
		},
		
		
		sendForm: function() {
			valid_email = /^[\w\-]+@([\w\-]+\.)+[a-z]{2,6}$/i
			if (!$F('first_name').trim()) {
				alert(this.validMsg);
				$('first_name').focus();
				return;
			} else if (!$F('last_name').trim()) {
				alert(this.validMsg);
				$('last_name').focus();				
				return;
			} else if (!$F('email').trim() || !$F('email').match(valid_email)){
				alert(this.validMsg);
				$('email').focus();				
				return;
			} else if (!$F('social_security').trim()) {
				alert(this.validMsg);
				$('social_security').focus();				
				return;
			} else if (!$F('birthdate').trim()) {
				alert(this.validMsg);
				$('birthdate').focus();				
				return;
			} else if (!$F('address').trim()) {
				alert(this.validMsg);
				$('address').focus();				
				return;
			} else if (!$F('city').trim()) {
				alert(this.validMsg);
				$('city').focus();				
				return;
			} else if (!$F('city').trim()) {
				alert(this.validMsg);
				$('city').focus();				
				return;
			} else if (!$F('state')) {
				alert(this.validMsg);
				$('state').focus();	
				return;
			} else if (!$F('zipcode')) {
				alert(this.validMsg);
				$('zipcode').focus();				
				return;
			} else if (!$F('contact_phone')) {
				alert(this.validMsg);
				$('contact_phone').focus();
				return;			
			} else if (!$F('rent')) {
				alert(this.validMsg);
				$('rent').focus();
				return;			
			}
				
			frmData = Form.serialize($('onlineappfrm'));
			req = new Ajax.Request( this.sendUrl, {method: 'post', postBody: frmData, onComplete: this.eventCompleted });
		},
		
		
		sendCompleted: function(reqObj) {
			if (reqObj.responseText == '1') {
					$('onlineapp').innerHTML = this.successMsg;
			} else {
					$('onlineapp').innerHTML = this.failedMsg;
					//$('onlineapp').innerHTML = reqObj.responseText;
			}
		}
}