// JavaScript Document

function CreateXMLHttpRequest(){
	var xmlHttpRequest = false;

	if (window.XMLHttpRequest) { 
		xmlHttpRequest = new XMLHttpRequest();
		if (xmlHttpRequest.overrideMimeType) {
			xmlHttpRequest.overrideMimeType('text/xml');
		}
	}else{
		if (window.ActiveXObject){ 
			try{ 
				xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			}catch(e1){ 
				try{ 
					xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
				}catch(e2){
			
				}
			}
		}
	}
	return xmlHttpRequest;
}


function executeAjax(obj,params){
	var xmlHttpRequest = CreateXMLHttpRequest();
	xmlHttpRequest.onreadystatechange = processAjax(xmlHttpRequest,obj,params);
	
	xmlHttpRequest.open(params[1], params[0], true);
	xmlHttpRequest.send(null);
	xmlHttpRequest=null;
}

function executeLoad(obj,params){
	var xmlHttpRequest = CreateXMLHttpRequest();
	xmlHttpRequest.onreadystatechange = processLoad(xmlHttpRequest,obj,params);
	
	xmlHttpRequest.open(params[1], params[0], true);
	xmlHttpRequest.send(null);
	xmlHttpRequest=null;
}

function processLoad(xmlHttpRequest,obj,params){
	return function(){
		if (xmlHttpRequest.readyState == 4){
			if (xmlHttpRequest.status == 200){
				obj.innerHTML=xmlHttpRequest.responseText;
				eval(params[3]+"();");
			}else{
				eval(params[4]+"();");
			}
		}else{
				eval(params[2]+"();");
		}
	}
}


function processAjax(xmlHttpRequest,obj,params){
	return function(){
		if (xmlHttpRequest.readyState == 4){
			if (xmlHttpRequest.status == 200){ 
				returnAjax(obj,1,params,xmlHttpRequest.responseText);
			}else{
				returnAjax(obj,-1,params,"");
			}
		}else{
			returnAjax(obj,0,params,"");
		}
	}
}

function returnAjax(obj,result,params,responseText){
	if(result==0){
		if(params[2]=="replaceHTML"){
			obj.innerHTML="<img src='/templet/loading.gif' /> "+params[3];
		}
		if(params[2]=="replaceText"){
			obj.innerText=params[3];
		}
		if(params[2]=="insertHTML"){

		}
		if(params[2]=="insertText"){

		}
	}

	if(result==1){
		if(params[2]=="replaceHTML"){
			obj.innerHTML=responseText;
		}
		if(params[2]=="replaceText"){
			obj.innerText=responseText;
		}
		if(params[2]=="insertHTML"){
			obj.innerHTML=obj.innerHTML+responseText;
		}
		if(params[2]=="insertText"){
			obj.innerText=obj.innerText+responseText;
		}
	}
	
	if(result==-1){
		if(params[2]=="replaceHTML"){
			obj.innerHTML=params[4];
		}
		if(params[2]=="replaceText"){
			obj.innerText=params[4];
		}
		if(params[2]=="insertHTML"){

		}
		if(params[2]=="insertText"){

		}
	}

}

function FormToRequestString(form){ 
	var returnString=""; 
	var and="&"; 
	for (i=0;i<form.length;i++){ 
		var element_value="";
		e=form[i];
		if (e.name!=""){ 
			if (e.type=="select-one") { 
				element_value=e.options[e.selectedIndex].value; 
				if(returnString==""){
					returnString=returnString+e.name+"="+element_value; 
				}else{
					returnString=returnString+and+e.name+"="+element_value; 
				}
			}else {
				if (e.type=="checkbox" || e.type=="radio") { 
					if (e.checked==true){ 
						element_value=e.value; 
						if(returnString==""){
							returnString=returnString+e.name+"="+element_value; 
						}else{
							returnString=returnString+and+e.name+"="+element_value; 
						}
					} 
				}else{ 
					element_value=e.value; 
					if(returnString==""){
						returnString=returnString+e.name+"="+element_value; 
					}else{
						returnString=returnString+and+e.name+"="+element_value; 
					}
				} 
			}

		} 
	} 
	return returnString; 
} 

function formAjaxSubmit(form,obj,params){ 
	var url=form.getAttributeNode("action").value+"?"+FormToRequestString(form);
	params[0]=url;
	executeAjax(obj,params);
}

function urlAjaxSubmit(obj,params){
	executeAjax(obj,params);
}