Event.observe(window, 'load', init, false);

// Initialize Variables
var targetId = 'lc_preview';
var disableForm = false;
var sendMessage = false;
var displayPreview = false;

// Initialize the AJAX stuff
function init () {
	// Disable submit button
	if ($('lease_form')) {
		// Setup the text field AJAX functions
		Event.observe('leaseAmt', 'keyup', function (event) { if (nameValidate($F('leaseAmt'))) { setCSSClass($('leaseAmt'), 'validText'); swapImage($('imgNameInvalid'),$('imgNameValid')); } else { setCSSClass($('leaseAmt'), 'invalidText'); swapImage($('imgNameValid'),$('imgNameInvalid')); } updateLeasePreview(); }, false);
		Event.observe('leaseDuration', 'change', function (event) { if (nameValidate($F('leaseAmt'))) { setCSSClass($('leaseAmt'), 'validText'); swapImage($('imgNameInvalid'),$('imgNameValid')); } else { setCSSClass($('leaseAmt'), 'invalidText'); swapImage($('imgNameValid'),$('imgNameInvalid')); } updateLeasePreview(); }, false);
	}
}

// AJAX updater functions for updating the Message Preview
function updateLeasePreview() {
	// Show wait image
	$('imgWait').style.display = "";
	var url = '/includes/calcFunctions.cfm';
	var pars = 'leaseAmt='+escape($F('leaseAmt'))+'&leaseDuration='+escape($F('leaseDuration'));
	if ($F('leaseAmt').length >= 3) {
		var myAjax = new Ajax.Updater(targetId, url, {
			asynchronous: true,
			onSuccess: function(req) {
					$(targetId).innerHTML = req.responseText;
					},
			onComplete: function() {
					$('imgWait').style.display = "none";
					if ( !displayPreview && ($F('leaseAmt')) ) {
						showId();
					} else if ( displayPreview && !($F('leaseAmt')) ) {
						hideId();
					}
			},
			method: 'get',
			parameters: pars
		});
	}
}

// Helper function to show the targetId
function showId () {
	displayPreview = true;
	Effect.BlindDown(targetId);
}

// Helper function to hide the targetId
function hideId () {
	displayPreview = false;
	$(targetId).innerHTML = "";
	Effect.BlindUp(targetId);
}

// Helper function for colorizing the text fields
function setCSSClass (field, className) {
	field.className = className;
}

// Helper function for swapping out images
function swapImage (replaceeImage, replacerImage) {
	replaceeImage.style.display = "none";
	replacerImage.style.display = "";
}

// Validation function for the name field
function nameValidate (name) {
	return (name.length >= 2);
}

// Validation function for the email field
function emailValidate (email) {
	var regExpr = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return regExpr.test(email);
}

// Validation function for the url field
function urlValidate (url) {
	var regExpr = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i;
	return regExpr.test(url) && url.length >= 10;
}

// Validation function for the message field
function messageValidate (message) {
	return (message.length >= 4);
}

