/* jm14b.js 11-04-09 04:20 */

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.length > 0) &&
      ( !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;
} // end check_address

function quick_check_form()
{
   var item, found;
   var fe = document.forms[0];
   // var fields = 12; var result = false;
   var prefix = "Please enter ";
   var blank = "----------------------------";
   var got = 0;
   var needed = 7;
   var must = new Array( 1, 1, 0, 0, 0, 0, 1, 0, 0, 0 );
   var desc = new Array ( "your name",            "your telephone number",
                          "your street address",  "your city",
                          "your state",           "the best time to call you",
                          "your email address",   "your legal issue",
                          "Office Consult",       "Phone Consult",
                          "the best days/times for you to meet with me",
                          "additional information about your case" );

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

   if (got >= 2)
      return true;
   else
      return false;
} // end quick_check_form

function check_msg()
{
   var retval = false;
   var tee = document.getElementById("Message");
   if (tee == null) return retval; // alert("No Message")
   cm = tee.value;
   if (cm.length > 9)
   {
      retval = true;
   }
   else
   {
      if ( (cm.length > 3) && (cm.length < 10) )
      {
         retval = confirm("Send message: " + cm); 
      }
      else if (cm.length < 4)
      {
         alert("Please enter a message");
      } // end if
   } // end if

   return retval;
} // end check_msg jm13

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

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

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

   tmp = "ZK=" + escape(fe.elements["ZK"].value) + "&";
   answer += tmp;
   tmp = "ZL=" + escape(fe.elements["ZL"].value) + "&";
   answer += tmp;
   answer += "ZZ=SEND";
   return answer;
}

function sendMail(msg)
{
   var l = '<', r = '>', s = '/', h = "h1", e = "ERROR SENDING MESSAGE";
   var answer, command, elem, req;
   answer = l + h + r + e + l + s + h + r;
   elem = document.getElementById("special");
   if (elem == null)
   {
      return; // elem.innerHTML = answer;
   }
   command = "/cgi-bin/jcontact.cgi";
   req = myXMLHttpRequest();
   if (req != null)
   {
      req.open("POST", command, false);
      req.send(msg);
      if ( (req.status == 200) || (req.status != 204) )
         answer = req.responseText; // does this ever return 204?
   }

   elem.innerHTML = answer;
} // end sendMail

function readMessage()
{
   var lc, ok, your_msg;
   ok = quick_check_form();
   lc = (ok == true) ? check_msg() : true;
   if ( (ok == true) && (lc == true) )
   {
      your_msg = build_form();    
      sendMail(your_msg);
   }
   else if ( (ok == false) && (lc == true) )
   {
      alert("I need your name, and phone number or email to contact you");
   } // end if
   return ok;
} // end readMessage

function getStarted()
{
   if (top != self) top.location.replace(self.location.href.toLowerCase());
   window.defaultStatus = "Jennifer F. Zeigler, PLLC"; 
	var email = document.getElementById("Email");
   if (email == null) return false;
   email.onblur = check_address;
   return true;
} /* end getStarted */

function byeBye()
{
   window.defaultStatus = '';
   return true;
} // end byeBye

if (window.addEventListener)
{
   window.addEventListener('load', getStarted, false);
   window.addEventListener('unload', byeBye, false);
}
else
{
   window.attachEvent('onload', getStarted);
   window.attachEvent('onunload', byeBye);
} // end if

