function addDownloadInfoParameters(parameters) {
    parameters.firstName = $("firstName").value.trim();
    parameters.lastName = $("lastName").value.trim();
    parameters.email = $("email").value.trim();
    parameters.phone = $("phone").value.trim();
    parameters.numberOfResults = $("numberOfResults").value.trim();
    parameters.ms= new Date().getTime();
    return parameters;
}

function submitResults(event) {
	Event.stop(event);
    var errors = validateDownloadInfo();
    if (errors && errors.length == 0) {
        $("error-nowidth").hide();
		$("formDiv").hide();
		$("processing").show();
        var parameters = createSearchParameters();
        addDownloadInfoParameters(parameters);

        dwr.engine.beginBatch();

        DownloadSearchResult.downloadResults(parameters,{
            callback:function(result) {
                var errors = result.errors;
                if(errors.length > 0) {
					Lightview.show({
						href: 'download-results.jsp',
						rel: 'ajax',
						title: 'Download a List of Your Search Results',
						options: {
							width: 600,
							height: 500,
							ajax: {
								onComplete: function(){ showDownloadErrors(errors); }
							}
				        }
					});
                } else {
				    pageTracker._trackPageview('tracking=search-results-form-completed');
					Lightview.show({
						href: 'download-results-complete.jsp',
						rel: 'ajax',
						title: 'Your Search Results Have Been Sent',
						options: {
							width: 550,
							height: 330
				        }
					});
                }
            },
            errorHandler:function(errorString, exception) {
                showDownloadErrors(new Array("Error!"));
            }
        });
        dwr.engine.endBatch();
    } else {
        showDownloadErrors(errors);
    }
}

function errorToString(exception) {
    if (exception.message) {
        return exception.message;
    } else if (exception.description) {
        return exception.description;
    } else {
        return exception;
    }
}

function validateDownloadInfo() {
    var errors = new Array();
    if ($("firstName").value.trim() == "") {
        errors[errors.length] = "Please enter a First Name.";
    }
    if ($("lastName").value.trim() == "") {
        errors[errors.length] = "Please enter a Last Name.";
    }
    var email = $("email").value.trim();
    if (email == "") {
        errors[errors.length] = "Please enter an Email Address.";
    }
    var email2 = $("email2").value.trim();
    if (email2 == "" || email != email2) {
        errors[errors.length] = "Please enter the exact same email address in Confirm E-mail";
    }
    return errors;
}

function showDownloadErrors(errors) {
    var errorHtml = "";
    if (errors) {
        var length = errors.length;
        for (var i = 0; i < length; i++) {
            var error = errors[i];
            if (i >= 0) {
	            errorHtml += "<li>" + error + "</li>";
			}
        }
    }
    $("message").innerHTML = errorHtml;
    $("error-nowidth").show();
}

