var timeout = 2;

function submitcountdown() {
   timeout--;
   if(timeout <= 0) {
       document.ReportForm.submitbutton.disabled = false;
       document.ReportForm.submitbutton.value = 'Submit';
       document.ReportForm.submitbutton.disabled = false;
       document.ReportForm.cancelbutton.disabled = false;
       timeout = 2;
   }
   else {
       document.ReportForm.submitbutton.value = 'Please wait';
       with (this) { setTimeout( function() { submitcountdown() }, 1000 );}
   }
}

function submitaction() {
   if(document.ReportForm.submitbutton.value == 'Preview')
   {
         document.ReportForm.submitbutton.disabled = true;
         document.ReportForm.cancelbutton.disabled = true;
         submitcountdown();

         document.ReportForm.cancelbutton.style.visibility = 'visible';
         for(i = 0; i < document.ReportForm.elements.length; i++)
         {
           if(document.ReportForm.elements[i].name == 'submitbutton' || document.ReportForm.elements[i].name == 'cancelbutton')
             continue;
           document.ReportForm.elements[i].disabled = true;
         }
   }
   else if(document.ReportForm.submitbutton.value == 'Submit')
   {
      for(i = 0; i < document.ReportForm.elements.length; i++)
      {
        if(document.ReportForm.elements[i].name == 'submitbutton' || document.ReportForm.elements[i].name == 'cancelbutton')
          continue;
        document.ReportForm.elements[i].disabled = false;
      }
      alert('Please only click the submit button once to avoid duplicate reports.');
      document.ReportForm.submit();
   }
}

function cancelaction() {
   document.ReportForm.submitbutton.value = 'Preview';
   document.ReportForm.cancelbutton.style.visibility = 'hidden';
   for(i = 0; i < document.ReportForm.elements.length; i++)
   {
      document.ReportForm.elements[i].disabled = false;
   }
}

function getxmlhttp()
{
   var xmlhttp = null;

   try
   {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   }
   catch (e)
   {
      try
      {
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (E)
      {
         xmlhttp = false;
      }
   }

   if(!xmlhttp && typeof XMLHttpRequest != 'undefined')
      xmlhttp = new XMLHttpRequest();

return xmlhttp;
}

function processajax(obj, serverPage, type, str)
{
   var xmlhttp = getxmlhttp();
   if(type == 'get')
   {
      xmlhttp.open("GET", serverPage, false);
      xmlhttp.onreadystatechange = function()
      {
         if(xmlhttp.readyState == 4 || xmlhttp.readyState=="complete" && xmlhttp.status == 200)
            document.getElementById(obj).innerHTML = xmlhttp.responseText;
      }
      xmlhttp.send(null);
   }
   else
   {
      xmlhttp.open("POST", serverPage, true);
      xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
      xmlhttp.onreadystatechange = function()
      {
         if(xmlhttp.readyState == 4 || xmlhttp.readyState=="complete" && xmlhttp.status == 200)
            document.getElementById(obj).innerHTML = xmlhttp.responseText;
      }
      xmlhttp.send(str);
   }
}
