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



function requestXmlPOST3(phpcall, mParam, spanID, mForm, mEffect) {
	switch(mEffect) {
		case 1:
			$(spanID).fadeOut('normal', function() {
				$.ajax({
					type: "POST",
					url: phpcall+'?'+mParam,
					data: $(mForm).serialize(),
					dataType: 'xml',
					cache: false,
					success: function(msg){
						$(msg).find('ajaxdata').each(function() {
							var $entry = $(this);
							var mSpanID = $entry.find('spanid').text();
							var mContentHtml  = $("rtntext", $entry).text();
			
							switch(mSpanID) {
								case 'javascript':
									eval(mContentHtml);
									break;
								default:
									$(mSpanID).html(mContentHtml);
									$(mSpanID).fadeIn('normal');
									break;
							}
						});
					}
				});
			});
			break;
		case 2:
			$(spanID).slideUp('normal', function() {
				$.ajax({
					type: "POST",
					url: phpcall+'?'+mParam,
					data: $(mForm).serialize(),
					dataType: 'xml',
					cache: false,
					success: function(msg){
						$(msg).find('ajaxdata').each(function() {
							var $entry = $(this);
							var mSpanID = $entry.find('spanid').text();
							var mContentHtml  = $("rtntext", $entry).text();
			
							switch(mSpanID) {
								case 'javascript':
									eval(mContentHtml);
									break;
								default:
									$(mSpanID).html(mContentHtml);
									$(mSpanID).slideDown('slow');
									break;
							}
						});
					}
				});
			});
			break;
		case 99:
			$(spanID).html('<img src="../images/loading_ajax.gif" border="0">');
			$.ajax({
				type: "POST",
				url: phpcall+'?'+mParam,
				data: $(mForm).serialize(),
				dataType: 'xml',
				success: function(msg){
					$(msg).find('ajaxdata').each(function() {
						var $entry = $(this);
						var mSpanID = $entry.find('spanid').text();
						var mContentHtml  = $("rtntext", $entry).text();
		
						switch(mSpanID) {
							case 'javascript':
								eval(mContentHtml);
								break;
							default:
								$(mSpanID).html(mContentHtml);
								break;
						}
					});
				}
			});
			break;
		default:
			$.ajax({
				type: "POST",
				url: phpcall+'?'+mParam,
				data: $(mForm).serialize(),
				dataType: 'xml',
				cache: false,
				success: function(msg){
					$(msg).find('ajaxdata').each(function() {
						var $entry = $(this);
						var mSpanID = $entry.find('spanid').text();
						var mContentHtml  = $("rtntext", $entry).text();
		
						switch(mSpanID) {
							case 'javascript':
								eval(mContentHtml);
								break;
							default:
		//						alert("test");
								$(mSpanID).html(mContentHtml);
								break;
						}
					});
				}
			});	
			break;
	}

	return false;
}



function requestXmlGET3(phpcall, mParam, spanID, mForm, mEffect) {
	switch(mEffect) {
		case 1:
			$(spanID).fadeOut('normal', function() {
				$.ajax({
					type: "GET",
					url: phpcall,
					data: mParam,
					dataType: 'xml',
					success: function(msg){
						$(msg).find('ajaxdata').each(function() {
							var $entry = $(this);
							var mSpanID = $entry.find('spanid').text();
							var mContentHtml  = $("rtntext", $entry).text();
			
							switch(mSpanID) {
								case 'javascript':
									eval(mContentHtml);
									break;
								default:
									$(mSpanID).html(mContentHtml).fadeIn('normal');
									break;
							}
						});
					}
				});
			});
			break;
		case 2:
			$(spanID).slideUp('normal', function() {
				$.ajax({
					type: "GET",
					url: phpcall,
					data: mParam,
					dataType: 'xml',
					success: function(msg){
						$(msg).find('ajaxdata').each(function() {
							var $entry = $(this);
							var mSpanID = $entry.find('spanid').text();
							var mContentHtml  = $("rtntext", $entry).text();
			
							switch(mSpanID) {
								case 'javascript':
									eval(mContentHtml);
									break;
								default:
									$(mSpanID).html(mContentHtml);
									$(mSpanID).slideDown('slow');
									break;
							}
						});
					}
				});
			});
			break;
		case 3:
			// slide right
//			$(spanID).hide('slide', {direction: 'right'}, 1000, function() {
				$.ajax({
					type: "GET",
					url: phpcall,
					data: mParam,
					dataType: 'xml',
					success: function(msg){
						$(msg).find('ajaxdata').each(function() {
							var $entry = $(this);
							var mSpanID = $entry.find('spanid').text();
							var mEffect = $entry.find('effect').text();
							var mContentHtml  = $("rtntext", $entry).text();
			
							switch(mSpanID) {
								case 'javascript':
									eval(mContentHtml);
									break;
								default:
									if(mEffect == 9) {
										$(mSpanID).html(mContentHtml);
									}else {
										$(mSpanID).hide('slide', {direction: 'right'}, 250, function() {
											$(mSpanID).html(mContentHtml);
										});
										$(mSpanID).show('slide', {direction: 'left'}, 1000);
									}
									break;
							}
						});
					}
				});
//			});
			break;
		case 4:
			// slide left
//			$(spanID).hide('slide', {direction: 'right'}, 1000, function() {
				$.ajax({
					type: "GET",
					url: phpcall,
					data: mParam,
					dataType: 'xml',
					success: function(msg){
						$(msg).find('ajaxdata').each(function() {
							var $entry = $(this);
							var mSpanID = $entry.find('spanid').text();
							var mEffect = $entry.find('effect').text();
							var mContentHtml  = $("rtntext", $entry).text();
			
							switch(mSpanID) {
								case 'javascript':
									eval(mContentHtml);
									break;
								default:
									if(mEffect == 9) {
										$(mSpanID).html(mContentHtml);
									}else {
										$(mSpanID).hide('slide', {direction: 'left'}, 250, function() {
											$(mSpanID).html(mContentHtml);
										});
										$(mSpanID).show('slide', {direction: 'right'}, 1000);
									}
									break;
							}
						});
					}
				});
//			});
			break;
		case 99:
			$(spanID).html('<img src="../images/loading_ajax.gif" border="0">');
			$.ajax({
				type: "GET",
				url: phpcall,
				data: mParam,
				dataType: 'xml',
				success: function(msg){
					$(msg).find('ajaxdata').each(function() {
						var $entry = $(this);
						var mSpanID = $entry.find('spanid').text();
						var mContentHtml  = $("rtntext", $entry).text();
		
						switch(mSpanID) {
							case 'javascript':
								eval(mContentHtml);
								break;
							default:
								$(mSpanID).html(mContentHtml);
								break;
						}
					});
				}
			});
			break;
		default:
			$.ajax({
				type: "GET",
				url: phpcall,
				data: mParam,
				dataType: 'xml',
				success: function(msg){
					$(msg).find('ajaxdata').each(function() {
						var $entry = $(this);
						var mSpanID = $entry.find('spanid').text();
						var mContentHtml  = $("rtntext", $entry).text();
		
						switch(mSpanID) {
							case 'javascript':
								eval(mContentHtml);
								break;
							default:
								$(mSpanID).html(mContentHtml);
								break;
						}
					});
				}
			});
			break;
	}

	return false;
}

