// aq4.js $Revision: 4.4 $ $Date: 2008-10-22 09:45:39-04 $ 

function getStarted()
{
if (top != self) top.location.replace(self.location.href.toLowerCase());
window.defaultStatus = "Ask Phyllis"; 

var result = checkAQ();
return result;
} 

function Goodbye() { window.defaultStatus = ''; return true; } 

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

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

function checkAQ()
{
   var eplace = document.getElementById("ErrMsg");
   var req = myXMLHttpRequest();
   if ( (eplace == null) || (req == null) )
   {
      return false;
   }

   req.open("GET", "/cgi-bin/check_aq.cgi", false);
   req.send(null);
   if (req.status != 204) 
      eplace.innerHTML = req.responseText;

   return true;
} // end checkAQ
 
function checkQuestion()
{
   var f = new Array( "za=", "&zb=", "&zc=", "&ZZ=OK" );
   var mlen = new Array( 3, 9, 8 );
   var answer = "";
   var name = document.forms[0].elements[0].value; 
   var mail = document.forms[0].elements[1].value; 
   var question = document.forms[0].elements[2].value; 
	var eplace = document.getElementById("ErrMsg");
   var emsg = "Incomplete entry";
   if ( name == null || mail == null || question == null || eplace == null ) 
      return false;

   var l = new Array( name.length, mail.length, question.length );
   var below = ( (l[0] < mlen[0]) && (l[1] < mlen[1]) && (l[2] < mlen[2]) )
   var above =  ( (l[0] > 75) || (l[1] > 75) || (l[2] > 75) )
   if (above || below)
   {
      eplace.innerHTML = emsg;
      return false;
   } /* end if */
 
   if ( !check_address() )
      return false;
 
   if ( !check_question() )
      return false;
 
   if ( !check_name() )
      return false;

   answer=f[0]+escape(name)+f[1]+escape(mail)+f[2]+escape(question)+f[3];
   var so = addAQ(answer, "post-52");
   // alert(answer);
   return true;
} // end checkQuestion

function addAQ(question, place)
{
   var elem = document.getElementById(place);
	var eplace = document.getElementById("ErrMsg");
   var reply, retval = true;
   if ( (elem == null) || (eplace == null) )
   {
      alert("err 421");
      return false;
   }

   var req = myXMLHttpRequest();
   if (req != null)
   {
      req.open("POST", "/cgi-bin/add_aq.cgi", false);
      req.send(question);
      if (req.status != 204)
         reply = req.responseText;
   }

   if (req.status == 500)
   {
      eplace.innerHTML = reply;
   }
   else
   {
      if (req.status != 204)
      {
         retval = true;
         elem.innerHTML = reply;
      }
   }

   return retval;
} // end LoadInfo

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

function check_name()
{
	var name = document.getElementById("Name");
	var eplace = document.getElementById("ErrMsg");
   var emsg = "Please enter your name";
   if ( (name == null) || (eplace == null) ) return false;
   var l = name.value.length;
   if (l < 3)
	{
      eplace.innerHTML = emsg;
		name.focus();
		name.select();
		return false;
   }
   return true;
}

function check_question()
{
	var ask = document.getElementById("Ask");
	var eplace = document.getElementById("ErrMsg");
   var emsg = "You did not enter a question";
   if ( (ask == null) || (eplace == null) ) return true;
   if (ask.value.length > 8)
   {
      return true;
   }
   else
	{
      eplace.innerHTML = emsg;
		ask.focus();
		ask.select();
		return false;
   }
}

 
