// dmp3.js 8.20 Fri Apr 25 2008 21:19 

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 diane_check_form()
{
   var item, found;
   var fe = document.forms["dmail"]; // var fe = document.forms[0];
   var prefix = "Please enter ";
   var blank = "--------------";
   var got = 0, agot = 0;
   var must =      new Array( 1, 0, 0, 0, 0, 1, 0, 1, 1, 1 );
   var alt_must =  new Array( 1, 1, 1, 1, 0, 0, 0, 1, 1, 1 );
   var min_len =   new Array( 3, 5, 3, 2, 5, 6, 3, 1, 1, 3 );
   var desc = new Array ( "name",            
                          "street address",  "city",
                          "state",           "zip",
                          "email address",   "subject",
                          "newsletter",      "comment" );

   if (fe == null)
   {
      return false;
   } // end if

   for (var i = 0; i < must.length; i++)
   {
      item = fe.elements[i].value;
      found = item.indexOf(blank);
      if ( must[i] != 0 )
      {
         if ( (item != "") && (found == -1) )
         {
            if (item.length >= min_len[i])
            {
               ++got; 
            } // end if
         }
         else
         {
            if (i == 0)
            {
               got = -100;
            } // end if
         } // end if
      } // end if

      if ( alt_must[i] != 0 )
      {
         if ( (item != "") && (found == -1) )
         {
            if (item.length >= min_len[i])
            {
               ++agot; 
            } // end if
         }
         else
         {
            if (i == 0)
            {
               agot = -100;
            } // end if
         } // end if
      } // end if
   } // end for

   if ( (got > 3) || (agot > 5) )
   {
      return true;
   }
   else
   {
      return false;
   } // end if
} // end diane_check_form

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

function diane_build_form()
{
   var fname = new Array( "ZA",    "ZB",    "ZC",     "ZD",    "ZE",
                          "ZF",    "ZG",    "ZH",     "ZI"  );
   var answer = "";
   var fe = document.forms["dmail"]; // var fe = document.forms[0]
   var i, tmp, one, two, radio;
   for (i = 0; i < 7; i++)
   {
      tmp = fe.elements[fname[i]].value;
      answer += fname[i] + "=" + escape(tmp) + "&";
   }

   answer += "ZH=";
   var radio = fe.elements["ZH"];
   if (radio[0].checked)
      answer += "Yes&";
   else
      answer += "No&";

   tmp = "ZI=" + escape(fe.elements["ZI"].value) + "&";
   answer += tmp;
   answer += "ZZ=SEND";
   return answer;
} // end diane_build_form

function readPoll(p)
{
   var fe = document.forms["poll"];
   var answer = "ZH=";
   var radio = fe.elements["ZH"];
   if (radio[0].checked)
      answer += "Y" + p + "&";
   else
      answer += "N" + p + "&";

   answer += "ZZ=SEND";
   return ( sendPoll(answer) );
} // end readPoll

function sendPoll(msg)
{
   var l = '<', r = '>', s = '/', h = "h4", e = "Error Reading Data";
   var answer, command, elem, req, success = false;
   answer = l + h + r + e + l + s + h + r;
   elem = document.getElementById("presult");
   if (elem == null) return false;
   command = "/cgi-bin/setPoll.cgi"
   req = myXMLHttpRequest();
   if (req != null)
   {
      req.open("POST", command, false);
      req.send(msg);
      if (req.status == 200) 
      {
         answer = req.responseText;
         success = true;
      }
   }

   if (req.status != 204) elem.innerHTML = answer;
   return success;
} // end sendPoll

function getPoll(msg)
{
   var l = '<', r = '>', s = '/', b = "br";
   var br = l + b + s + r;
   var top = "Has the city";
   var middle = "done enough for"; 
   var bottom = "3rd District?";
   var answer, command, elem, req;
   answer = top + br + middle + br + bottom;
   elem = document.getElementById("pquestion");
   if (elem == null) return false;
   command = "/cgi-bin/getPoll.cgi?" + msg;
   req = myXMLHttpRequest();
   if (req != null)
   {
      req.open("GET", command, false);
      req.send(msg);
      if (req.status == 200) answer = req.responseText;
   }

   if (req.status != 204) elem.innerHTML = answer;
   return true;
} // end getPoll

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 readMessage()
{
   var command = "/cgi-bin/dcontact.cgi"
   var ok, your_msg;
   ok = diane_check_form();
   if (ok == true)
   {
      your_msg = diane_build_form();
      sendMail(command, your_msg);
   }
   else
   {
      alert("I need your name and address, or email, to reply");
   } // end if
   return ok;
} // end readMessage

// ------------------
function check_nvol_form()
{
   var j, item, found, success = false;
   var fe = document.forms["dnvol"]; 
   var blank = "----";
   var min_len = new Array( 0, 0, 0, 0, 2, 2, 2, 2, 2, 6, 3 );
                        /*  A  B  C  D  E  F  G  H  I  J  K  */
   if (fe == null) return false;

   for (j = 0; (j < 4) && (success != true); j++)
   {
      item = fe.elements[j];
      try { success = item.checked; }
      catch (exception) { return 0; }
   }

   if (success == false) return -1;

   for (j = 4; (j < min_len.length) && (success == true); j++)
   {
      item = fe.elements[j].value;
      if (item.length < min_len[j]) success = false;
   } // end for 

   if (success == true)
      return 1;
   else
      return 0;
} // end check_nvol_form

function build_nvol_form()
{
   var fname = new Array("ZA","ZB","ZC","ZD","ZE","ZF",
   "ZG","ZH","ZI","ZJ","ZK");
   var i, what, tmp, answer = "";
   var fe = document.forms["dnvol"]; 
   for (i = 0; i < 4; i++)
   {
      what = fe.elements[fname[i]];
      if (what.checked)
      {
         tmp = escape(what.value);
         answer += fname[i] + "=" + tmp + "&";
      }
      else
      {
         answer += fname[i] + "=?&";
      } 
   }

   for (i = 4; (fe != null) && (i < fname.length); i++)
   {
      tmp = escape(fe.elements[fname[i]].value);
      answer += fname[i] + "=" + tmp + "&";
   }

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

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

function readNewVolForm()
{
   
   var command = "/cgi-bin/dnvol.cgi"
   var ok, your_msg;
   ok = check_nvol_form();
   if (ok > 0)
   {
      your_msg = build_nvol_form();
      sendMail(command, your_msg);
   }
   else
   {
      if (ok < 0)
         alert("Please select an interest");
      else
         alert("Please complete the entire form");
   } // end if
   return ok;
} // end readNewVolForm

function getStarted(place)
{
if (top != self) top.location.replace(self.location.href.toLowerCase());
window.defaultStatus = "Vote for Diane Lawless : Third District City Council : Lexington, KY"; 

getPoll(place);
return true;
} 

function sayVote()
{
if (top != self) top.location.replace(self.location.href.toLowerCase());
window.defaultStatus = "Vote for Diane Lawless : Third District City Council : Lexington, KY"; 

return true;
} 

