function init_signup()
{

	in_email = unescape(getParam('email'));
	in_zip = unescape(getParam('zip'));
	in_first_name = unescape(getParam('first_name'));
	in_last_name = unescape(getParam('last_name'));

	if(in_email){
	
		document.getElementById("vol_email").value = in_email;
		check_input(document.getElementById("vol_email"));
	}

	if(in_first_name){
	
		document.getElementById("vol_first_name").value = in_first_name;
		check_input(document.getElementById("vol_first_name"));
	}
	if(in_last_name){
	
		document.getElementById("vol_last_name").value = in_last_name;
		check_input(document.getElementById("vol_last_name"));
	}
	if(in_zip){
	
		document.getElementById("vol_zip").value = in_zip;
		check_input(document.getElementById("vol_zip"));
	}

}

window.onload = init_signup;

var req_text = '<font style="color:#AB0413; font-family: Arial, helvetica, sans-serif; font-size:16px;">&nbsp;Required</font>';
var invalid_text = '<font style="color:#AB0413; font-family: Arial, helvetica, sans-serif; font-size:16px;">&nbsp;Invalid</font>';

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

	if(elm.value == ''){
		txt_elm.innerHTML = req_text;
	}
	else if(elm.id == 'vol_email' && checkValidation(elm.value)){
		txt_elm.innerHTML = invalid_text;
	}
	else if(elm.id == 'vol_zip' && ! elm.value.match(/^[0-9\-\. ]{5,10}$/) ){
		txt_elm.innerHTML = invalid_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 check_value_phone()
{
	id1 = document.getElementById("vol_phone_1").value;
	id2 = document.getElementById("vol_phone_2").value;
	id3 = document.getElementById("vol_phone_3").value;
	txt_elm = document.getElementById("txtvol_phone");

	if( ! id1.match(/^[0-9][0-9][0-9]$/) || ! id2.match(/^[0-9][0-9][0-9]$/) || !id3.match(/^[0-9][0-9][0-9][0-9]$/)){
		txt_elm.innerHTML = invalid_text;
	}
	else if(elm.value == ''){
		txt_elm.innerHTML = req_text;
	}
}

function check_input_phone(){

	id1 = document.getElementById("vol_phone_1").value;
	id2 = document.getElementById("vol_phone_2").value;
	id3 = document.getElementById("vol_phone_3").value;
	txt_elm = document.getElementById("txtvol_phone");

	if(id1 == '' || id2 == '' || id3 == ''){
		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_hp_form()
{


	hpreq_text = '<font style="color:#FFFFFF; font-family: Arial, helvetica, sans-serif; font-size:16px;">*&nbsp;</font>';
	hpinvalid_text = '<font style="color:#FFFFFF; font-family: Arial, helvetica, sans-serif; font-size:16px;">*&nbsp;</font>';
	hpempty_text = '&nbsp;&nbsp;';

	elmEmail     = document.getElementById("hp_email");
	elmZip       = document.getElementById("hp_zip");

	deleteLayer('layer_hp_email');
	deleteLayer('layer_hp_zip');

	var sendform = 1;

	if(checkValidation(document.getElementById("hp_email").value)){
		display_message('hp_email',hpreq_text,10,20,-145,5);
		sendform = 0;
	}
	if((! elmEmail.value) || (elmEmail.value == 'EMAIL ADDRESS') ){
		display_message('hp_email',hpreq_text,10,20,-145,5);
		sendform = 0;
	}
	if(sendform){
		return true;
	}
	else{
		return false;
		scroll(0,0);
	}

}

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( ! elmZip.value.match(/^[0-9\-\. ]{5,10}$/) ){
		txtZip.innerHTML = invalid_text;
		sendform = 0;
	}
	if(sendform){
		return true;
	}
	else{
		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 );
    }
}


function display_message2(id, msg, width, height, new_x, new_y){
	var custom_layer = 'layer_' + id;
	deleteLayer(custom_layer);
	posx = findPosX(document.getElementById(id)) + new_x;
	posy = findPosY(document.getElementById(id)) + new_y;
	makeLayer(custom_layer,'<font style="color:red; font-family: Arial, helvetica, sans-serif; font-size:16px;">'+msg+'</font>', posx, posy, width, height, 1, 3);
}
 
function display_message(id, msg, width, height, new_x, new_y){
	var custom_layer = 'layer_' + id;
	deleteLayer(custom_layer);
	posx = findPosX(document.getElementById(id)) + new_x;
	posy = findPosY(document.getElementById(id)) + new_y;
	makeLayer(custom_layer,'<font style="color:red; font-family: Arial, helvetica, sans-serif; font-size:16px;">'+msg+'</font>', posx, posy, width, height, 1, 3);
}

function findPosX(obj)
{
  var curleft = 0;
  if(obj.offsetParent)
      while(1)
      {
        curleft += obj.offsetLeft;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.x)
      curleft += obj.x;
  return curleft;
}

function findPosY(obj)
{
  var curtop = 0;
  if(obj.offsetParent)
      while(1)
      {
        curtop += obj.offsetTop;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.y)
      curtop += obj.y;
  return curtop;
}

function makeLayer(id,str,L,T,W,H,visible,zIndex) {
 if (document.getElementById) {
  if (document.getElementById(id)) {
   alert ('Layer with this ID already exists!')
   return;
  }

  var ST= 'position:absolute;text-align:left;color:#FFFFFF'
  +'; left:'+L+'px'
  +'; top:'+T+'px'
  +'; width:'+W+'px'
  +'; height:'+H+'px'
  +'; visibility:'+(null==visible || 1==visible ? 'visible':'hidden')
  +(null==zIndex  ? '' : '; z-index:'+zIndex);

  var LR= '<DIV id='+id+' style="'+ST+'">'+str+'</DIV>';

  if (document.body) {
   if (document.body.insertAdjacentHTML) document.body.insertAdjacentHTML("BeforeEnd",LR);
   else if (document.createElement && document.body.appendChild) {
    var newNode = document.createElement('div');
	newNode.innerHTML = str;
    newNode.setAttribute('id',id);
    newNode.setAttribute('style',ST);
    document.body.appendChild(newNode);
   }
  }
 }
 // OBSOLETE CODE - NETSCAPE 4
 else if (document.layers) {
  if (document.layers[id]) {
   alert ('Layer with this ID already exists!')
   return
  }
  var LR=document.layers[id]=new Layer(W)
  LR.name= id
  LR.left= L
  LR.top = T
  LR.clip.height=H
  LR.visibility=(null==visible || 1==visible ? 'show' : 'hide')
  if(null!=zIndex)  LR.zIndex=zIndex
  if(null!=bgColor) LR.bgColor=bgColor
 }
}


function deleteLayer(id) {
 if (document.getElementById && document.getElementById(id)) {
  var theNode = document.getElementById(id);
  theNode.parentNode.removeChild(theNode);
 }
 else if (document.all && document.all[id]) {
  document.all[id].innerHTML='';
  document.all[id].outerHTML='';
 }
 // OBSOLETE CODE FOR NETSCAPE 4
 else if (document.layers && document.layers[id]) {
  document.layers[id].visibility='hide';
  delete document.layers[id];
 }
}



