/****************************************************************
file: ajax.js
developer: Bob Lewis
date: 12Apr06
description: ajax functions
update: 19Apr07; 26Apr07
*****************************************************************/
//alert("ajax.js"); 

function makeRequest(url,num) 
{

  var http_request = false;

  if (window.XMLHttpRequest) 
     { // Mozilla, Safari,...
       http_request = new XMLHttpRequest();
       if(http_request.overrideMimeType) 
         {
           http_request.overrideMimeType('text/xml');
         }
      } 
  else if (window.ActiveXObject) 
      { // IE
        try {
              http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } 
        catch (e) 
            {
               try {
                     http_request = new ActiveXObject("Microsoft.XMLHTTP");
                   } 
               catch (e) 
                   {}
            }
        }

        if(!http_request) 
          {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
          }
        http_request.onreadystatechange = function() 
          { 
            if(num == 0)
              {
			    post_Comments(http_request); 						    
			  }
            if(num == 1)
              {
			    list_Comments(http_request); 						    
			  }
            if(num == 2)
              {
			    verify_user_registration(http_request); 						    
			  }
            if(num == 3)
              {
			    confirm_log_off(http_request); 						    
			  }
            if(num == 4)
              {
			    confirm_email(http_request); 						    
			  }
            if(num == 5)
              {
			    confirm_comment_deleted(http_request); 						    
			  }
            if(num == 6)
              {
			    confirm_edit_save(http_request); 						    
			  }
            if(num == 7)
              {
			    verify_user_login(http_request); 						    
			  }
            if(num == 8)
              {
			    report_on_duplicates(http_request); 						    
			  }
            if(num == 9)
              {
			    report_count(http_request); 						    
			  }
            if(num == 10)
              {
			    confirm_cookies(http_request); 						    
			  }
            if(num == 11)
              {
			    relay_profile(http_request); 						    
			  }
            if(num == 12)
              {
			    confirm_update_save(http_request); 						    
			  }
            if(num == 13)
              {
			    verify_list(http_request); 						    
			  }
          };

        if(num == 0) //for submitting form data--the formData variable should be returned from a function
          {
            //found at: http://www.webreference.com/programming/javascript/jf/column15/
			var f = document.frmThis;
			var formData = '', elem = '';   

			for(var s=0; s<f.elements.length; s++)
			{   
				elem = f.elements[s];   
				if(formData != '')
				{   
					formData += '&';   
				}   

				formData += elem.name+"="+elem.value;   
			}   
            http_request.open('POST', url, true);
            http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
            http_request.send(formData);
          }
        else
          {
            http_request.open('POST', url, true);
            http_request.send(null);
          }
}

function post_Comments(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          if(http_request.responseText == 1)
            {
              count_comments();
            }
          else
            {
              alert("Request returned error: "+http_request.responseText);
            }
        }
      else
        {
          alert('There was a problem with request No. 0.');
        }
    }
}

function list_Comments(http_request)
{
  if(http_request.readyState == 4) 
    {
//alert(http_request.responseText);
      if(http_request.status == 200) 
        {
          comment_alert(http_request.responseText);   
        }
      else
        {
          alert('There was a problem with request No. 1.');
        }
    }
}

function verify_user_registration(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
window.status = http_request.responseText;
          confirm_registration(http_request.responseText);   
        }
      else
        {
window.status = http_request.responseText;
          alert('There was a problem with request No. 2.');
        }
    }
}

function confirm_log_off(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          log_user_off(http_request.responseText);
        } 
      else 
        {
          alert('There was a problem with request No. 3.');
        }
    }
}

function confirm_email(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          confirm_email_sent(http_request.responseText)
        } 
      else 
        {
          alert('There was a problem with request No. 4.');
        }
    }
}

function confirm_comment_deleted(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          confirm_delete(http_request.responseText)
        } 
      else 
        {
          alert('There was a problem with request No. 5.');
        }
    }
}

function confirm_edit_save(http_request) 						    
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          confirm_update(http_request.responseText)
        } 
      else 
        {
          alert('There was a problem with request No. 6.');
        }
    }
}

function verify_user_login(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          confirm_login(http_request.responseText);   
        }
      else
        {
          alert('There was a problem with request No. 7.');
        }
    }
}

function report_on_duplicates(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          dups_report(http_request.responseText);   
        }
      else
        {
          alert('There was a problem with request No. 8.');
        }
    }
}

function report_count(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          display_visitor_count(http_request.responseText);   
        }
      else
        {
          alert('There was a problem with request No. 9.');
        }
    }
}

function confirm_cookies(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          //display_visitor_count(http_request.responseText);   
          var str = http_request.responseText;
          //str = str.substr(3,str.length);
          if(parseInt(str) < 1)
            {
              alert("Error setting cookies");
            }
        }
      else
        {
          alert('There was a problem with request No. 10.');
        }
    }
}

function relay_profile(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          display_reader_profile(http_request.responseText);   
        }
      else
        {
          alert('There was a problem with request No. 11.');
        }
    }
}

function confirm_update_save(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          confirm_profile_update(http_request.responseText);   
        }
      else
        {
          alert('There was a problem with request No. 12.');
        }
    }
}

function verify_list(http_request)
{
  if(http_request.readyState == 4) 
    {
      if(http_request.status == 200) 
        {
          verify_comment_list(http_request.responseText);   
        }
      else
        {
          alert('There was a problem with request No. 13.');
        }
    }
}

