var xmlHttp

function ajaxdisplay (url, load, divdisplay, type) {
	xmlHttp=GetXmlHttpObject ();
	if (xmlHttp==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url2 = url+"&sid"+Math.random();
	xmlHttp.onreadystatechange=function() {
		stateChanged (load, divdisplay, type);
	};
	xmlHttp.open("GET",url2,true);
	xmlHttp.send(null); 
}
function stateChanged(load, divdisplay, type){

	if(load) {
		try {
			if (xmlHttp.readyState==1){
			document.getElementById(load).style.display="block";
			} if (xmlHttp.readyState==2) {
				document.getElementById(load).style.display="block";
			} if (xmlHttp.readyState==3) {
				document.getElementById(load).style.display="block";
			}
		} catch (e) {
		}
	}
	if (xmlHttp.readyState==4) {
		if(xmlHttp.status == 200){
			if(load) {
				try {
					document.getElementById(load).style.display="none";
				} catch (e) {
				}
			}
			if(type) {
				if (divdisplay) {
					document.getElementById(divdisplay).value=xmlHttp.responseText;
				}
				if(document.readyState) {
					if (document.readyState=="complete") {
					     suggestInput_init();
					}
				} else {
					try {
					  	if (window.captureEvents) {
						    window.captureEvents(Event.LOAD)
//						    window.onload=suggestInput_init();
						}
					}
					catch (e) {
	//				  	suggestInput_init();
					}
				}
			} else {
				if(divdisplay) {
//alert(xmlHttp.responseText);
					document.getElementById(divdisplay).innerHTML=xmlHttp.responseText;				
				}
				
			}
			return true;
		} else {
			if (load) {
				document.getElementById(load).style.display="none";
			}
			if (type) {
				//document.getElementById(divdisplay).value="HTTP " + xmlHttp.status;
			} else {
				if (divdisplay){
					//document.getElementById(divdisplay).innerHTML="HTTP " + xmlHttp.status;
				}	
			}
	    }
	}
}

function sendRequest(frm, load, divdisplay) {
 
	var oForm = document.forms[frm];
	var sBody = getRequestBody(oForm);

	var oOptions = {
    	method: "post",
        parameters: sBody,
        onSuccess: function (oXHR, oJson) {
            document.getElementById(divdisplay).innerHTML=oXHR.responseText;
        },
        onFailure: function (oXHR, oJson) {
            alert("An error occurred: " + oXHR.statusText);
        }
    };   
    var oRequest = new Ajax.Request(oForm.action, oOptions);  
}
 
function getRequestBody(oForm) {
 
	var aParams = new Array(); 
     for (var i=0; i < oForm.elements.length; i++) {
         if(oForm.elements[i].type == "radio" || oForm.elements[i].type == "checkbox"){
         	if(oForm.elements[i].type == "radio"){
         		if(oForm.elements[i].checked ) {
         			var sParam = oForm.elements[i].name;
         			sParam += "=";
         		   	sParam += oForm.elements[i].value
//alert(oForm.elements[i].value);
         		}
         	} else {
//alert (oForm.elements[i].value);
				if (oForm.elements[i].value == 'on') {
					var sParam = oForm.elements[i].name;
	         		sParam += "=";
	         		sParam += oForm.elements[i].checked;
				}	
         	}
         } else {
			oForm.elements[i].value = oForm.elements[i].value;
         	var sParam = oForm.elements[i].name;
        	sParam += "=";
         	sParam += encodeURIComponent(oForm.elements[i].value);
         }
//alert(sParam);
         aParams.push(sParam);
     } 
     return aParams.join("&");        
}

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;
}