function doSubmitHaiku(inIm){
  var xmlhttp;
  
  if (window.XMLHttpRequest){
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else if (window.ActiveXObject){
    // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  } else {
    alert("Your browser does not support XMLHTTP!");
  }
  
  xmlhttp.onreadystatechange=function(){

    //alert("readystate = "+xmlhttp.readyState);

    if(xmlhttp.readyState==4){
      //document.getElementById("l1").value="";
      //document.getElementById("l2").value="";
      //document.getElementById("l3").value="";
      
      //var strThanks = "<br><br><font size=2 color='#003366'><b>Thanks for submitting your Drunken Haiku!<br>Return to see how your Haiku rates.<br><a href='javascript:showHaikuForm();' class='nav'>Click here to submit another</a></b></font>"
      //setFormArea(strThanks);
      doSort('DESC');
    }
  }
  
  if( inIm == "" ){
    inIm = "0";
  }

  var strURL = "src/doSubmitHaiku.php";
  var params = "";
  params += "l1="+escape( removeChars(document.getElementById("l1").value) );
  params += "&";
  params += "l2="+escape( removeChars(document.getElementById("l2").value) );
  params += "&";
  params += "l3="+escape( removeChars(document.getElementById("l3").value) );
  params += "&";
  params += "profane="+checkProfanity( document.getElementById("l1").value +" "+ document.getElementById("l2").value +" "+ document.getElementById("l3").value );
  params += "&";
  params += "approved="+checkBanned( document.getElementById("l1").value +" "+ document.getElementById("l2").value +" "+ document.getElementById("l3").value );
  params += "&";
  params += "im="+inIm;
  
  xmlhttp.open("POST",strURL,true);
  
  //Send the proper header information along with the request
  xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlhttp.setRequestHeader("Content-length", params.length);
  xmlhttp.setRequestHeader("Connection", "close");
  
  xmlhttp.send(params);
  
  // Display return, immediately
  document.getElementById("l1").value="";
  document.getElementById("l2").value="";
  document.getElementById("l3").value="";
      
  var strThanks = "<br><br>";
  strThanks += "<font size=2 color='#003366'><b>";
  strThanks += "Thanks for submitting your Drunken Haiku!";
  strThanks += "<br>";
  strThanks += "Return to see how your Haiku rates.";
  strThanks += "<br>";
  strThanks += "</font><font size=2 color='#006666'>";
  strThanks += "The drunkenhaiku supercomputer isn't always right.  If your haiku is not in the proper format it may be deleted later, sorry. Feel free to try again.";
  strThanks += "<br><br>";
  strThanks += "<a href='javascript:showHaikuForm();' class='nav'>Click here to submit another</a>";
  strThanks += "</b></font><br><br><br>";
  setFormArea(strThanks);
}
function showHaikuForm(){

  var strForm = "";
  strForm += "<table border=0 width=510>";
  //strForm += "<form name='drunkhaiku'>";
  strForm += "<tr>";
  strForm += "<td width=95 rowspan=4></td>";
  strForm += "<td align=center>";
  strForm += "<input type='text' name='l1' id='l1' size='50' onkeydown='return restrictChars(event)' onkeyup='chkl1();' onblur='cntl1();' value='' autocomplete='off' ></td>";
  strForm += "<td width=95 align=left><span id='l1c'></span></td>";
  strForm += "</tr>";
  strForm += "<tr>";
  strForm += "<td align=center>";
  strForm += "<input type='text' name='l2' id='l2' size='50' onkeydown='return restrictChars(event)' onkeyup='chkl2();' onblur='cntl2();' value='' autocomplete='off' ></td>";
  strForm += "<td width=95 align=left><span id='l2c'></span></td>";
  strForm += "</tr>";
  strForm += "<tr>";
  strForm += "<td align=center>";
  strForm += "<input type='text' name='l3' id='l3' size='50' onkeydown='return restrictChars(event)' onkeyup='chkl3();' onblur='cntl3();' value='' autocomplete='off' ></td>";
  strForm += "<td width=95 align=left><span id='l3c'></span></td>";
  strForm += "</tr>";
  strForm += "<tr>";
  strForm += "<td align=center valign=top>";
  strForm += "<b><a href='javascript: cnfm()' class='submit'>submit</a></b>";
  strForm += "<br /><font size=1 color='#666666'>Our count may be wrong <br /> trust your human cognition before submitting"; 
  strForm += "</td>";
  strForm += "</tr>";
  //strForm += "</form>";
  strForm += "</table>";

  setFormArea(strForm);
}
function setFormArea(inStr){
  document.getElementById("formarea").innerHTML = inStr;
}

function cnfm(){
  var lineCount1 = countSyllLine(document.getElementById("l1").value);
  var lineCount2 = countSyllLine(document.getElementById("l2").value);
  var lineCount3 = countSyllLine(document.getElementById("l3").value);
  if( lineCount1 == 5 && lineCount2 == 7 && lineCount3 == 5 ){
    //document.drunkhaiku.submit();
    doSubmitHaiku("0");
  } else {
    if( lineCount1 > 3 && lineCount1 < 7 && lineCount2 > 5 && lineCount2 < 9 && lineCount3 > 3 && lineCount3 < 7 ){
      var answer = confirm("Are you sure this is 5-7-5 format? If not, it will be deleted later.");
      if (answer){
        // yes, they're sure so submit form
        doSubmitHaiku(getImperfectCode(lineCount1, lineCount2, lineCount3));
      }
      else{
        // not sure, back to haiku
      }
    } else {
      alert ("Your haiku isn't in 5-7-5 format."); 
    }
	}
}

function getImperfectCode(l1, l2, l3){
  var strIm = "";
  if( l1 != 5 ){
    strIm += "1";
  }
  if( l2 != 7 ){
    strIm += "2";
  }
  if( l3 != 5 ){
    strIm += "3";
  }
  if( strIm == "" ){
    strIm = "0";
  }
  return strIm;
}

function checkProfanity(inStr){
  var arrProfanity = new Array("SHIT","FUCK","CUNT","COCKSUCK", "PUSSY", "BALLS", "NIGGER", "NIGGA", "DICK", "VAGINA", "ASSHOLE");
  var strWord = inStr;
  var numProfane = 0;
  for(i=0; i<arrProfanity.length; i++){
    var num = strWord.toUpperCase().indexOf(arrProfanity[i]);
    if( num > -1 ){
      numProfane = 1;
      break;
    }
  }
  return numProfane;
}

function checkBanned(inStr){
  //nigger, nigga, rape, murder, "kill yourself", suicide, faggot, jew
  var arrBanned = new Array("NIGGER", "NIGGA", "NIG", "RAPE", "MURDER", "KILL YOU", "SUICIDE", "FAG", "FAGGOT", "JEW", "KIKE", "RUFFIES", "INCEST");
  var strWord = inStr;
  var numApproved = 1; // default is 1 = approved
  for(i=0; i<arrBanned.length; i++){
    var num = strWord.toUpperCase().indexOf(arrBanned[i]);
    if( num > -1 ){
      numApproved = 0;
      break;
    }
  }
  return numApproved;
}

function showDisclaimer(){
  var strHTML = "";
  strHTML += "<table border=0 width=500>";
  strHTML += "<tr>";
  strHTML += "<td align=center>";
  strHTML += "<font size=1 color='#003366' >";
  strHTML += "<b>disclaimer:</b>";
  strHTML += "<br>";
  strHTML += "Always drink and play drunkenhaiku <a href='http://www.beeresponsible.com' target='_blank' class='legal' >responsibly</a> when and where you can do so legally.  You do not actually have to be drunk to play.  If you're too drunk to write a haiku, stop drinking immediately.  If you have a <a href='http://en.wikipedia.org/wiki/Alcoholism' target='_blank' class='legal' >drinking problem</a>, please <a href='http://alcoholism.about.com/od/about/a/treatment.htm' target='_blank' class='legal' >get help</a>.  Never drink and drive.";
  strHTML += "<br>";
  strHTML += "<a href='javascript:closeDisclaimer();' class='legal' >close</a>";
  strHTML += "</font>";
  strHTML += "</td>";
  strHTML += "</tr>";
  strHTML += "</table>";
  //document.getElementById("disclaimer").innerHTML = strHTML;
}
function closeDisclaimer(){
  var strHTML = "";
  strHTML += "<font size=1 color='#003366' >";
  strHTML += "<a href='javascript:showDisclaimer();' class='legal' >disclaimer</a>";
  strHTML += "</font>";
  //document.getElementById("disclaimer").innerHTML = strHTML;
}

function init()
{
  closeDisclaimer();
  if( document.getElementById("l1") != null ) {
    var mytext = document.getElementById("l1");
    mytext.focus();
  }
}

onload = init;