// JavaScript Document

// Ajax HTTP Request processing---------------------------------------------------------------------
// $page is the url to request, $obj_id is the id of the object to dump the response content to.
// $fobj_id is the id of the form object that contains submit data for the $page processing
// $send is a string of name=value pairs for direct submit data, $method is the submit method
// Replace/Generate HTML construct (defaults): ajax_request($page, $obj_id, null, null, 'POST');
// Send External Data construct (defaults): ajax_request($page, null, $fobj_id, null, 'POST');

function ajax_request($page, $obj_id, $fobj_id, $send, $method){
	var $xmlhttp = false;
	try {  // IE Greater than version 5.
  		$xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
 	} catch (e) {
  		try {  // IE version 5 or less
   			$xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
  		} catch (E) {  // Non-IE Browsers
   			$xmlhttp = new XMLHttpRequest();
		}
  	}
	if($obj_id!=null){
		var $element = document.getElementById($obj_id);
		$element.innerHTML = "<div style=\"padding:15px;\">Loading, please wait <marquee direction=\"right\" width=\"12\" scrollamount=\"1\">...</marquee></div>";
	}
	if($fobj_id!=null){
		$send = element_vals($fobj_id);
	}
	try {
 		 $xmlhttp.open($method,$page,true);
		 $xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	} catch ($e) {
 		 alert($e);
	}
	
	$xmlhttp.onreadystatechange = function(){
		if($xmlhttp.readyState==4&&$xmlhttp.status==200&&$obj_id!=null){
			$element.innerHTML = $xmlhttp.responseText;
		} else if($xmlhttp.readyState==4&&$xmlhttp.status==200){
			if($xmlhttp.responseText){
				alert($xmlhttp.responseText);
			} else {
				alert('Your request has been sent.  Thank you.');
			}
		}
	}
	$xmlhttp.send($send);
}

// Form Name=Value Pairs Collctor-------------------------------------------------------------------
// Get all values within a form object, return as name=value pairs
function element_vals($fobj_id){
	var $form = document.getElementById($fobj_id);
	var $output = new String();
	for(var $i=0; $i<$form.elements.length; $i++){
		if($form.elements[$i].type=='radio'||$form.elements[$i].type=='checkbox'){
			if($form.elements[$i].checked){
				$output += $form.elements[$i].name+"="+escape($form.elements[$i].value)+"&";
			}
		} else if($form.elements[$i].value){
			$output += $form.elements[$i].name+"="+escape($form.elements[$i].value)+"&";
		} else if($form.elements[$i].text){
			$output += $form.elements[$i].name+"="+escape($form.elements[$i].text)+"&";
		}
	}
	return $output;
}
