window.onload = init_signup;

function init_signup()
{
	in_email = unescape(getParam('email'));
	if(in_email){
		document.getElementById("vol_email").value = in_email;
		check_input(document.getElementById("vol_email"));
	}
}
var req_text = '<font style="color:#AB0413; font-family: Arial, helvetica, sans-serif; font-size:16px;"> Required</font>';
var invalid_text = '<font style="color:#AB0413; font-family: Arial, helvetica, sans-serif; font-size:16px;"> Invalid</font>';

function check_value(elm)
{
	txt_id = 'txt' + elm.id;
	txt_elm = document.getElementById(txt_id);

	if(elm.id == 'vol_email' && checkValidation(elm.value)){
		txt_elm.innerHTML = invalid_text;
	}
	else if(elm.value == ''){
		txt_elm.innerHTML = req_text;
	}
}

function check_input(elm){

	txt_id = 'txt' + elm.id;
	txt_elm = document.getElementById(txt_id);

	if(elm.value == ''){
		txt_elm.innerHTML = req_text;
	}
	else{
		txt_elm.innerHTML = '';
	}
}

function getParam( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function send_form()
{


	elmEmail     = document.getElementById("vol_email");
	elmZip       = document.getElementById("vol_zip");
	elmFirstName = document.getElementById("vol_first_name");
	elmLastName  = document.getElementById("vol_last_name");

	txtEmail     = document.getElementById("txtvol_email");
	txtZip       = document.getElementById("txtvol_zip");
	txtFirstName = document.getElementById("txtvol_first_name");
	txtLastName  = document.getElementById("txtvol_last_name");


	var sendform = 1;
	txtEmail.innerHTML = '';
	txtZip.innerHTML   = '';
	txtFirstName.innerHTML   = '';
	txtLastName.innerHTML   = '';

	if(checkValidation(document.getElementById("vol_email").value)){
		txtEmail.innerHTML = invalid_text;
		sendform = 0;
	}
	if(! elmZip.value){
		txtZip.innerHTML = req_text;
		sendform = 0;
	}
	if(! elmEmail.value){
		txtEmail.innerHTML = req_text;
		sendform = 0;
	}
	if(! elmFirstName.value){
		txtFirstName.innerHTML = req_text;
		sendform = 0;
	}
	if(! elmLastName.value){
		txtLastName.innerHTML = req_text;
		sendform = 0;
	}
	if(sendform){
		return true;
	}
	else{
		scroll(0,0);
		return false;
	}

}

function checkValidation(email_txt) {

     var message;

    if (stringEmpty(email_txt)) {
        message = "Error! There is no input value entered.";

    } else if (noAtSign( email_txt )) {
        message = "Error! The address \"" + email_txt + "\" does not contain an '@' character.";

    } else if (nothingBeforeAt(email_txt)) {
        message = "Error! The address \"" + email_txt;
        message += "\" must contain at least one character before the '@' character";

    } else if (noLeftBracket(email_txt)) {
        message = "Error! The address \"" + email_txt;
        message += "\" contains a right square bracket ']',\nbut no corresponding left square bracket '['.";

    } else if (noRightBracket(email_txt)) {
        message = "Error! The address \"" + email_txt;
        message += "\" contains a left square bracket '[',\nbut no corresponding right square bracket ']'.";
        alert( message);
    } else if (noValidPeriod(email_txt)) {
        message = "Error! The address \"" + email_txt + "\" must contain a period ('.') character.";

    } else if (noValidSuffix(email_txt)) {
        message = "Error! The address \"" + email_txt;
        message += "\" must contain a two, three or four character suffix.";

    }

    return (message ? 1 : 0 );
}

function checkValid (formField) {
    if ( checkValidation ( formField ) == true ) {
        alert ( 'E-Mail Address Validates OK' );
    }

    return ( false );
}

function stringEmpty (formField) {
    if ( formField.length < 1 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noAtSign (formField) {
    if (formField.indexOf ('@', 0) == -1) {
        return ( true )
    } else {
        return ( false );
    }
}

function nothingBeforeAt (formField) {
    if ( formField.indexOf ( '@', 0 ) < 1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noLeftBracket (formField) {
    if ( formField.indexOf ( '[', 0 ) == -1 && formField.charAt (formField.length - 1) == ']') {
        return ( true )
    } else {
        return ( false );
    }
}

function noRightBracket (formField) {
    if (formField.indexOf ( '[', 0 ) > -1 && formField.charAt (formField.length - 1) != ']') {
        return ( true );
    } else {
        return ( false );
    }
}

function noValidPeriod (formField) {
    if (formField.indexOf ( '@', 0 ) > 1 && formField.charAt (formField.length - 1 ) == ']')
        return ( false );

    if (formField.indexOf ( '.', 0 ) == -1)
        return ( true );

    return ( false );
}

function noValidSuffix(formField) {
    if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
        return ( false );
    }

    var len = formField.length;
    var pos = formField.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
        return ( true );
    } else {
        return ( false );
    }
}

