// donate2.js 2.20 Wed Apr 23 2008 21:10 

function myXMLHttpRequest()
{
   var xmlreq = false;
   if (window.XMLHttpRequest)
   {
      xmlreq = new XMLHttpRequest();
      return xmlreq;
   }

   if (window.ActiveXObject)
   {
      try
      {
         xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
      }  catch (err)
         {
            xmlreq = false;
         }
   }
   return xmlreq;
} // end myXMLHttpRequest

function check_address()
{
	var email = document.getElementById("Email");
	if ( !email.value.match(/^[\d\w]+[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/) ) 
	{
		alert("Please enter a valid email address");
		email.focus();
		email.select();
		return false;
   }
   return true;
}

function sendMail(cgi, msg)
{
   var l = '<', r = '>', s = '/', h = "p", e = "ERROR SENDING MESSAGE";
   var answer, elem, req;
   answer = l + h + r + e + l + s + h + r;
   elem = document.getElementById("special");
   if (elem == null) return;
   req = myXMLHttpRequest();
   if (req != null)
   {
      req.open("POST", cgi, false);
      req.send(msg);
      if (req.status != 204) answer = req.responseText;
   }

   elem.innerHTML = answer;
} // end sendMail

// ------------------
function check_donate_form()
{
   var item, success = true;
   var fe = document.forms["donate"]; 
   /*                       0  1  2  3  4  5  6  7  8  9  a  b  */
   var min_len = new Array( 3, 1, 3, 3, 2, 5, 6, 1, 1, 1, 1, 1, 1 );
       /* 3    3   3   2     5    6     7    1    1   1    1     1 */
   /* name spouse street city state zip email phone cell job boss sjob sboss */  

   if (fe == null) return false;
   for (var i = 0; (i < min_len.length) && (success == true); i++)
   {
      item = fe.elements[i].value;
      if (item.length < min_len[i]) success = false;
   } // end for 

   return success;
} // end check_donate_form

// ------------------

function build_donate_form()
{
var fname = new Array( "ZA","ZB","ZC","ZD","ZE","ZF","ZG","ZH","ZI","ZJ","ZK","ZL","ZM" );
   var tmp, answer = "";
   var fe = document.forms["donate"]; 
   for (var i = 0; (fe != null) && (i < fname.length); i++)
   {
      tmp = fe.elements[fname[i]].value;
      answer += fname[i] + "=" + escape(tmp) + "&";
   }

   answer += "ZZ=SEND";
   return answer;
} // end build_donate_form

// -----------------------------------------------------------------

function readDonateForm()
{
   
   var command = "/cgi-bin/donate.cgi"
   var ok, your_msg;
   ok = check_donate_form();
   if (ok == true)
   {
      your_msg = build_donate_form();
      sendMail(command, your_msg);
   }
   else
   {
      alert("Please complete the entire form");
   } // end if
   return ok;
} // end readDonateForm

