//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject()
{
    if( window.XMLHttpRequest )
    {
        return new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
        return new ActiveXObject("Microsoft.XMLHTTP");
    }

    return null;
}

var xmlhttp = getXmlHttpRequestObject();

function doReq( url )
{
   var email = document.forms[0].email.value;
   if( !email.match("@yahoo.com") )
   {
       sorry.style.display="none";
       return true;        
   }

   if( url == 'sorry' )
   {
        sorry.style.display="block";
        return false;
   }

   if( xmlhttp.readyState == 4 || xmlhttp.readyState == 0 )
   {
       xmlhttp.open("GET", url, true);
       xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
       xmlhttp.onreadystatechange = handleResp;

       xmlhttp.send(null);
   }
}

function handleResp()
{
   if( xmlhttp.readyState == 4 )
   {
     document.forms[0].db_email.value = document.forms[0].email.value;
    if( xmlhttp.responseText == 'exist' )
    {
        sorry.style.display="none";
        return true;
    }
    else if( xmlhttp.responseText == 'unexist' )
    {
        sorry.style.display="block";
        return false;
    }
    else if( xmlhttp.responseText == 'dberr' )
    {
        sorry.style.display="none";
        alert('There has been a database error, please try your submission again later.');
        return false;
    }
    else if( xmlhttp.responseText.match("writeRecord Error") )
    {
        sorry.style.display="none";
        alert(xmlhttp.responseText);
        return false;
    }
   }
}
