
	function doSubmitForm( bypass ) {
		resetMessage();
		
		if (bypass !== true) {
			formHasError = false;

			if (!$F( 'name' )) {
				addMessage( 'Du skal skrive dit navn' );
				formHasError = true;
			}

			if (!$F( 'email' ) || !isValidEmail( $F( 'email' ) ) ) {
				addMessage( 'Ugyldig email adresse' );
				formHasError = true
			}

			if (!$F( 'company' )) {
				addMessage( 'Du skal skrive navnet på den virksomhed du arbejder for' );
				formHasError = true;
			}

			if (!$F( 'title' )) {
				addMessage( 'Du skal indtaste din titel' );
				formHasError = true;
			}

			if ($F( 'business' ) == -1) {
				addMessage( 'Du skal vælge en branche' );
				formHasError = true;
			}

			if ($F( 'employees' ) < 1) {
				addMessage( 'Du skal vælge antal medarbejdere' );
				formHasError = true;
			}

			if (!$F( 'address' ) && get_url_parameter( 'ignoreAddress' ) == "") {
				addMessage( 'Du skal indtaste din adresse' );
				formHasError = true;
			}

			if (!parseInt( $F( 'postal' ) ) && get_url_parameter( 'ignorePostal' ) == "") {
				addMessage( 'Du skal indtaste et postnummer' );
				formHasError = true;
			}

			if (!$F( 'city' ) && get_url_parameter( 'ignoreCity' ) == "") {
				addMessage( 'Du skal indtaste en by' );
				formHasError = true;
			}

			if ($( 'agree' ) && !$( 'agree' ).checked) {
				addMessage( 'Du skal acceptere betingelserne for download' );
				formHasError = true;
			}

			if (formHasError) {
				return false;
			}
		}

		try {
			$( 'download_form' ).request( {
				parameters: {
					op: 'submit'
				},

				onSuccess: function( t ) {
					responseCode = parseInt( t.getResponseHeader( 'responseCode' ) );

					switch (responseCode) {
						case 200:
							Effect.Fade( $( 'download_area' ), {
 								duration: 0.3,
								afterFinish: function() {
									$( 'download_area' ).update( t.responseText );

									Effect.Appear( $( 'download_area' ), {
										duration: 0.3
									} );
								}
							} );

							break;

						default:
							if (t.responseText) {
								addMessage( t.responseText );
							} else {
								addMessage( 'Der skete en fejl. Husk at alle felter skal udfyldes.' );
							}

							break;
					}
				}
			} );

			return false;
		} catch (e) {
			return false;
		}

		return false;
	}

	function resetMessage() {
		$( 'message_box' ).hide();
		$( 'message_box' ).innerHTML = '';
	}

	function addMessage( string ) {
		$( 'message_box' ).show();
		$( 'message_box' ).innerHTML += string + '<br/>';
	}

	function isValidEmail( strEmail ) {
		validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
		validRegExp = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;

		if (strEmail.search( validRegExp ) == -1) {
			return false;
		}

		return true;
	}
