// JavaScript AJAX Libs
var xmlHttp, xmlHttp2, elemID, elemID2

function requestXmlGET(phpcall, mParam, spanID) { 
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}

	elemID = spanID

	var url=phpcall+'?'+mParam
	xmlHttp.onreadystatechange=MenuChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

function requestXmlPOST(phpcall, mParam, spanID, mForm) { 
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}

	elemID = spanID
	
	var url=phpcall+'?'+mParam
	var parameters = getFormValues(mForm);
//	alert(parameters);
	xmlHttp.onreadystatechange = MenuChanged;
	xmlHttp.open('POST', url, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
}

function requestXmlPOST2(phpcall, mParam, spanID, phpcall2, mParam2, spanID2, mForm) { 
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}else {
		xmlHttp2=GetXmlHttpObject()
	}

	elemID = spanID
	
	var url=phpcall+'?'+mParam
	var parameters = getFormValues(mForm);
//	alert(parameters);
	xmlHttp.onreadystatechange = MenuChanged;
	xmlHttp.open('POST', url, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
	
	elemID2 = spanID2
	var url=phpcall2+'?'+mParam2
	var parameters = getFormValues(mForm);
//	alert(parameters);
	xmlHttp2.onreadystatechange = MenuChanged2;
	xmlHttp2.open('POST', url, true);
	xmlHttp2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp2.setRequestHeader("Content-length", parameters.length);
	xmlHttp2.setRequestHeader("Connection", "close");
	xmlHttp2.send(parameters);
}

function MenuChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		document.getElementById(elemID).innerHTML=xmlHttp.responseText
	} 
} 
function MenuChanged2() { 
	if (xmlHttp2.readyState==4 || xmlHttp.readyState=="complete") { 
		document.getElementById(elemID2).innerHTML=xmlHttp2.responseText
	} 
} 

function GetXmlHttpObject() { 
	var objXMLHttp=null
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		objXMLHttp = new XMLHttpRequest();
		if (objXMLHttp.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
			objXMLHttp.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	return objXMLHttp
}

function getFormValues(fobj) { 
	var str = ""; 
	var valueArr = null; 
	var val = ""; 
	var cmd = ""; 

//	alert("length="+eval("document."+fobj+".elements.length"));
	
	for(var i = 0;i < eval("document."+fobj+".elements.length");i++) { 
//		alert(fobj.elements[i].value);
		switch(eval("document."+fobj+".elements[i].type")) { 
			case "text": 
//				if(valFunc) { 
                    //use single quotes for argument so that the value of 
                    //fobj.elements[i].value is treated as a string not a literal 
//                    cmd = valFunc + "(" + 'fobj.elements[i].value' + ")"; 
//                    val = eval(cmd) 
//                } 
//                str += eval("document."+fobj+".elements[i].name") + "=" + escape(eval("document."+fobj+".elements[i].value")) + "&"; 
                str += eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].value") + "&"; 
                break; 
			case "select-one": 
                str += eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].options[document."+fobj+".elements[i].selectedIndex].value") + "&"; 
                break;
			case "select-multiple":
				while (eval("document."+fobj+".elements[i].selectedIndex") != -1) {
					if ((mIdx=eval("document."+fobj+".elements[i].selectedIndex")) >= 0) {
						str += eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].options[mIdx].value") + "&"; 
						str += "txt_"+eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].options[mIdx].text") + "&"; 
					}
					eval("document."+fobj+".elements[i].options[mIdx].selected = false") ;
//					ob.options[ob.selectedIndex].selected = false;
				}
//                str += eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].options[document."+fobj+".elements[i].selectedIndex].value") + "&"; 
                break;
			case "checkbox":
				if (eval("document."+fobj+".elements[i].checked") == true) {
					str += eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].value") + "&"; 
				}
				break;
			case "hidden":
//                str += eval("document."+fobj+".elements[i].name") + "=" + escape(eval("document."+fobj+".elements[i].value")) + "&"; 
                str += eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].value") + "&"; 
				break;
			case "radio":
				if (eval("document."+fobj+".elements[i].checked") == true) {
					str += eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].value") + "&"; 
				}
				break;
			case "textarea":
				str += eval("document."+fobj+".elements[i].name") + "=" + eval("document."+fobj+".elements[i].value") + "&"; 
				break;
       } 
   } 
   str = str.substr(0,(str.length - 1)); 
   return str; 
}

