
function run_init(){
if(getParam('email')){
document.getElementById('vol_email').value = getParam('email');
document.getElementById("txt_vol_email").innerHTML = '';
}
if(getParam('zip')){
document.getElementById('vol_zip').value = getParam('zip');
document.getElementById("txt_vol_zip").innerHTML='';
}
}



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_default(id, text)
{
	elm = document.getElementById(id);
	if(elm.value == ''){
		elm.value = text;
	}
}

function clear_default(id, text)
{
	elm = document.getElementById(id);

	if(elm.value == text){
		elm.value = '';
	}
}

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_survey()
{

	elmEmail     = document.getElementById("survey_email");
	txtEmail     = document.getElementById("survey_email_txt");

	var sendform = 1;
	txtEmail.innerHTML = '';

	if(checkValidation(elmEmail.value)){
		txtEmail.innerHTML = invalid_text;
		sendform = 0;
	}
	if(! elmEmail.value){
		txtEmail.innerHTML = req_text;
		sendform = 0;
	}

	return ( sendform ? true : false );

}

function send_form_volunteer()
{


	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("txt_vol_email");
	txtZip       = document.getElementById("txt_vol_zip");
	txtFirstName = document.getElementById("txt_vol_first_name");
	txtLastName  = document.getElementById("txt_vol_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;
	}

	return ( sendform ? true : false );

}

function send_form_volunteer_new()
{


	elmEmail     = document.getElementById("vol_email");
	elmZip       = document.getElementById("vol_zip");
	elmFirstName = document.getElementById("vol_first_name");
	elmLastName  = document.getElementById("vol_last_name");
	elmCellNumber  = document.getElementById("vol_cell_number");
	elmPhoneNumber  = document.getElementById("vol_phone_number");

	txtEmail     = document.getElementById("txt_vol_email");
	txtZip       = document.getElementById("txt_vol_zip");
	txtFirstName = document.getElementById("txt_vol_first_name");
	txtLastName  = document.getElementById("txt_vol_last_name");
	txtCellNumber  = document.getElementById("txt_vol_cell_number");


	var sendform = 1;
	txtEmail.innerHTML = '';
	txtZip.innerHTML   = '';
	txtFirstName.innerHTML   = '';
	txtLastName.innerHTML   = '';
	txtCellNumber.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 ((elmCellNumber.value == '') && (elmPhoneNumber.value == '')) {
		txtCellNumber.innerHTML = req_text;
		sendform = 0;
	}


	return ( sendform ? true : false );

}

function send_form_signup(){

	sendform = 1;
	msg = '';
	
	if( document.getElementById("signup_email").value && document.getElementById("signup_email").value != 'Email Address' && checkValidation(document.getElementById("signup_email").value)){
		msg += 'Error: Email Invalid<br>';
		sendform = 0;
	}
	if((! document.getElementById("signup_email").value ) || document.getElementById("signup_email").value == 'Email Address'){
		msg += 'Error: Email Required<br>';
		sendform = 0;
	}
	if((! document.getElementById("signup_zip").value ) || document.getElementById("signup_zip").value == 'Zip Code'){
		msg += 'Error: Zip Required<br>';
		sendform = 0;
	}

	if(sendform){
		return true;
	}
	else{
		display_message2('signup_zip',msg,200,100,0,45);
		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+'<br><a href="javascript:deleteLayer(\''+custom_layer+'\');">close</a></font>', posx, posy, width, height, 1, 1000);
}

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+'<br><a href="javascript:deleteLayer(\''+custom_layer+'\');">close</a></font>', posx, posy, width, height, 1, 1000);
}

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= 'padding:3px;background-color:white;border:1px solid black;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];
 }
}


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 );
    }
}


