var xmlHttp;
var xmHttpGet;

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

// Function to convert Form Data to equivalent URL content
function convertFormDataToPostContent(form_name) 
{ 
	var content_to_submit = ''; 
	var form_element; 
	var last_element_name = ''; 
	
	for (i = 0; i < form_name.elements.length; i++) 
	{ 
		form_element = form_name.elements[i]; 
		
		switch (form_element.type) 
		{ 
		   // Text fields, hidden form elements 
		   case 'text': 
		   case 'hidden': 
		   case 'password': 
		   case 'textarea': 
		   case 'select-one': 
		   		content_to_submit += form_element.name + '='  + escape(form_element.value) + '&' ;
		   		break; 
		   		
		   // Radio buttons 
		   case 'radio': 
			    if (form_element.checked) 
			    { 
			   		content_to_submit += form_element.name + '='  + escape(form_element.value) + '&' ;
			    } 
		   		break; 
		   		
		   // Checkboxes 
		   case 'checkbox': 
		   		if (form_element.checked) 
		   		{ 
		   			// Continuing multiple, same-name checkboxes 
		   			if (form_element.name == last_element_name) 
		   			{ // Strip of end ampersand if there is one 
		   				if (content_to_submit.lastIndexOf('&') ==  content_to_submit.length - 1) 
		   				{ 
		   					content_to_submit = content_to_submit.substr( 0, content_to_submit.length - 1); 
		   				} 
		   				
		   				// Append value as comma-delimited string 
		   				content_to_submit += ',' + escape(form_element.value); 
		   			} 
		   			else 
		   			{ 
		   				content_to_submit += form_element.name + '='  + escape(form_element.value); 
		   			} 
		   			
		   			content_to_submit += '&'; last_element_name = form_element.name; 
		   		} 
		   		break; 
	   	} // switch Ends
	} // For ends
	
	// Remove trailing separator 
	content_to_submit = content_to_submit.substr(0, content_to_submit.length - 1); 
	return content_to_submit; 
	
} // End of function

// Function to Reset a Form
function resetForm(form_name) 
{ 
	
	
	for (i = 0; i < form_name.elements.length; i++) 
	{ 
		form_element = form_name.elements[i]; 
		
		switch (form_element.type) 
		{ 
		   // Text fields, hidden form elements 
		   case 'text': 
		   case 'hidden': 
		   case 'password': 
		   case 'textarea': 
		 
		   		form_element.value = "";
		   		break; 
		   		
		  	
	   	} // switch Ends
	} // For ends	
	
} // End of function

// AJAX approach to POST data of a form to a server asynchronously
function doPost(url, content, callback_name) 
{ 
	xmlHttp=GetXmlHttpObject();

	if (xmlHttp==null)
  	{
  		alert ("Your browser does not support AJAX!");
  		return;
  	}
 
	xmlHttp.onreadystatechange = function()
	{
		if (xmlHttp.readyState == 4|| xmlHttp.readyState=="complete") 
		{
			response_content = xmlHttp.responseText; 
			eval(callback_name + '(response_content);');
		}
	} 

	xmlHttp.open('POST', url, true); 
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
	xmlHttp.send(content);

}
    
// AJAX approach to GET data of a form to a server asynchronously
function doGet(url,callback_name) 
{ 
	xmlHttpGet=GetXmlHttpObject();

	if (xmlHttpGet==null)
  	{
  		alert ("Your browser does not support AJAX!");
  		return;
  	}
 
	xmlHttpGet.onreadystatechange = function()
	{
		if (xmlHttpGet.readyState == 4|| xmlHttpGet.readyState=="complete") 
		{
			response_content = xmlHttpGet.responseText; 
			eval(callback_name + '(response_content);');
		}
	} 

	xmlHttpGet.open('GET', url, true); 
	xmlHttpGet.send(null);

}


