function submitLeadGen(event) {
	Event.stop(event);
    var errors = validateForm();
    if (errors && errors.length == 0) {
        $("error-nowidth").hide();
		$("formDiv").hide();
		$("processing").show();
		var contact = {
				firstName :$("firstName").value.trim(),
				lastName :$("lastName").value.trim(),
				email :$("email").value.trim(),
				country :$("country").value.trim(),
				leadType :$("leadType").value.trim(),
				phone :$("phone").value.trim(),
				sourceUrl :$("leadPage").value.trim(),
				ip :$("iP").value.trim(),
				fileName: $("downloadLink").value.trim(),
				company: "unknown"
		}
		dwr.engine.beginBatch();

        SubmitBusinessToolsLead.submitContactInfo(contact,{
            callback:function(result) {
                var errors = result.errors;
				var lp = $("leadPage").value.trim();
				var lt = $("leadType").value.trim();
				var dl = $("downloadLink").value.trim();
                if(errors.length > 0) {
					if (lt == "whitepaper"){
						var leadTitle = "Download Our " + lt.capitalize() + " Today";
					} else if (lt == "webinar"){
						var leadTitle = "Watch Our " + lt.capitalize() + " Today";
					} else {
						var leadTitle = "Listen To Our " + lt.capitalize() + " Today";
					}
					Lightview.show({
						href: '/info/lead-form.jsp?leadPage=' + lp + '&leadType=' + lt + '&downloadLink=' + dl,
						title: leadTitle,
						rel: 'ajax',
						options: {
							width: 600,
							height: 500
						}
					});
                } else {
					setPermCookieUnlessSet('leadForm', '1');
					pageTracker._trackPageview('tracking=' + lp + '-' + lt + '-' + dl + '-' + 'completed');
					Lightview.hide();
					window.parent.window.open(dl, 'downloadWindow', 'top=200,left=200,width=200,height=200');
					// don't use reload() here, because browser can't open document (dl)
					//window.parent.window.location.reload();
                }
            },
            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 validateEmail(form_id,email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.forms[form_id].elements[email].value;
   if(reg.test(address) == false) {
      return false;
   }
}

function validateForm() {
    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.";
    } else {
		var validEmail = validateEmail('businessToolsLeadForm','email');
		if (validEmail == false) {
			errors[errors.length] = "Please enter a valid 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();
}


