﻿function get_form_vals(formId)
{
 	var postStr = "";
	var formDoc = null;
	var name = "";
	var value = "";
	if(document.getElementById(formId))
	{
		formDoc = document.getElementById(formId);
		for (var i = 0; i<formDoc.elements.length; i++)
		{
			name = formDoc.elements[i].name;
			value = formDoc.elements[i].value;
			if(formDoc.elements[i].type == "checkbox")
			{
			 	if(!formDoc.elements[i].checked)
			 	{
			 	 	//if the checkbox was NOT checked, it's value is NULL
					value = "";	
				}
			}	
			postStr = postStr + name + "=" + encodeURIComponent(value) + "&";
		}
	}
	return postStr;
}	

function AjaxConnection() 
{
  this.url = "";	//php page to hit
	this.next_function = "";
  this.postData = "";	//this is the post STRING

  this.process_url = process_url;	//GET function
  this.post_url = post_url;	//POST function
} 

//GET GET GET
function process_url()
{
	var nextFunction = this.next_function;
 	obj=init_object();
	obj.onreadystatechange = function()
	{
   	if(obj.readyState == 4 || obj.readyState == "complete")
   	{
   		//alert(obj.responseText);	//for debugging
	   	eval(nextFunction + '(obj.responseXML)');
    	delete obj;
		}
	}
  obj.open("GET", this.url, true);
  obj.send(null)
}

//POST POST POST
function post_url()
{
	
	var nextFunction = this.next_function;
 	obj = init_object();
	obj.onreadystatechange = function()
	{
    if(obj.readyState == 4 || obj.readyState == "complete")
    {
    	//alert(obj.responseText);	//for debugging
	    eval(nextFunction + '(obj.responseXML)');
  	  delete obj;
		}
	}
  obj.open('POST', this.url, true);
  obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  obj.setRequestHeader("Content-length", this.postData.length);
  obj.setRequestHeader("Connection", "close");
  obj.send(this.postData);
}

function init_object()
{
  var x = null;
  if (window.XMLHttpRequest)
  { 
    x = new XMLHttpRequest();
   	//this is a fix for older mozilla stuff
 		if(x.overrideMimeType)
    {
  		x.overrideMimeType("text/xml");
  	}
  }
  else if (window.ActiveXObject)
  { 
  	// IE
    try
    {
    	x = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
    	try
    	{
      	x = new ActiveXObject("Microsoft.XMLHTTP");
      } 
      catch (e)
      {
      }
    }
  }
  if (!x)
  {
  	alert('Cannot create HTTP instance');
    return false;
  }
  else
  {
  	return x;
  }	
}