// JavaScript Document
// Kacha Jxp Framework 2.0.1.1
// Copyright by Kachasoft Limited Partnership - 1 February 2010
// All right reserved. Don't use if not have permission from Kachasoft.
// http://www.kachasoft.com email : info@kachasoft.com
// --- Filename : kachaajax.js ---
function KAjax(){
	var xmlHttpKachaAjax;
	var querystrKachaAjax;
	var divKachaAjax;
	var varstrKachaAjax="Loading";
	var rtnKachaAjax;
	var pFormKachaAjax;
	var pBodyKachaAjax;
	var kachaAjaxShowDisplay=true;
	var strrunKachaAjax="var asdf=true";
	var kachaAjaxSetRunError='alert("Error")';
	
	this.setURL=setURL;
	this.setURLPost=setURLPost;
	this.aqStr=aqStr;
	this.setProp=setProp;
	this.setTarget=setTarget;
	this.setWait=setWait;
	
	this.exec=exec;
	this.exec_post=exec_post;
	this.exec_post2=exec_post2;
	this.exec_post_false2=exec_post_false2;
	this.exec_post2_false=exec_post2_false;
	this.exec_once=exec_once;
	this.exec_false=exec_false;
	
	this.setForm=setForm;
	this.getReturn=getReturn;
	this.getVar=getVar;
	this.setDisplay=setDisplay;
	this.setRun=setRun;
	this.setError=setError;
	this.newOBJ=newOBJ;

	function newOBJ(){
		createxmlHttpKachaAjaxRequest();
	}

	function setURL(url){
		var randno=Math.random();
		querystrKachaAjax=url+"?JAvaKacharandomdata="+randno;
	}
	function setURLPost(url){
		querystrKachaAjax=url;
	}
	function aqStr(query,value){
		querystrKachaAjax+="&"+query+"="+value;
	}
	function setProp(divKachaAjaxname,vstr){
		divKachaAjax=divKachaAjaxname;
		varstrKachaAjax=vstr;
	}
	function setTarget(vdivKachaAjax){
		divKachaAjax=vdivKachaAjax;
	}
	function setWait(kachaAjaxvstr){
		varstrKachaAjax=kachaAjaxvstr;
	}
	function exec(){
		//createxmlHttpKachaAjaxRequest();
		xmlHttpKachaAjax.abort();
		xmlHttpKachaAjax.open("get",querystrKachaAjax,true);
		xmlHttpKachaAjax.onreadystatechange=handleStateChange;
		xmlHttpKachaAjax.send(null);
	}
	function exec_post(){
		//createxmlHttpKachaAjaxRequest();
		xmlHttpKachaAjax.abort();
		pBodyKachaAjax=getPostForm(pFormKachaAjax);
		xmlHttpKachaAjax.open("post",querystrKachaAjax,true);
		xmlHttpKachaAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlHttpKachaAjax.onreadystatechange=handleStateChange;
		xmlHttpKachaAjax.send(pBodyKachaAjax);
	}
	function exec_post_false2(){
		//createxmlHttpKachaAjaxRequest();
		xmlHttpKachaAjax.abort();
		pBodyKachaAjax=getPostForm(pFormKachaAjax);
		xmlHttpKachaAjax.open("post",querystrKachaAjax,false);
		xmlHttpKachaAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlHttpKachaAjax.send(pBodyKachaAjax);
		xmlFalseHandle();
	}
	function exec_post2(bodybody){
		//createxmlHttpKachaAjaxRequest();
		xmlHttpKachaAjax.abort();
		pBodyKachaAjax=bodybody;
		xmlHttpKachaAjax.open("post",querystrKachaAjax,true);
		xmlHttpKachaAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlHttpKachaAjax.onreadystatechange=handleStateChange;
		xmlHttpKachaAjax.send(pBodyKachaAjax);
	}
	function exec_once(url,divKachaAjaxo){
		//createxmlHttpKachaAjaxRequest();
		xmlHttpKachaAjax.abort();
		divKachaAjax=divKachaAjaxo;
		var randno=Math.random();
		url+="&JAvarandomdata="+randno;
		xmlHttpKachaAjax.open("get",url,true);
		xmlHttpKachaAjax.onreadystatechange=handleStateChange;
		xmlHttpKachaAjax.send(null);
	}
	function exec_false(){
		//createxmlHttpKachaAjaxRequest();
		xmlHttpKachaAjax.abort();
		xmlHttpKachaAjax.open("get",querystrKachaAjax,false);
		xmlHttpKachaAjax.send(null);
		xmlFalseHandle();
	}
	function exec_post2_false(bodybody){
		//createxmlHttpKachaAjaxRequest();
		xmlHttpKachaAjax.abort();
		pBodyKachaAjax=bodybody;
		xmlHttpKachaAjax.open("post",querystrKachaAjax,false);
		xmlHttpKachaAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlHttpKachaAjax.send(pBodyKachaAjax);
		xmlFalseHandle();
	}
	function xmlFalseHandle(){
		if(xmlHttpKachaAjax.status==200){
			rtnKachaAjax=xmlHttpKachaAjax.responseText;
			if(kachaAjaxShowDisplay==true){
				display(xmlHttpKachaAjax.responseText);
			}
			setTimeout(strrunKachaAjax,1);
		}else{
			setTimeout(kachaAjaxSetRunError,1);
		}
	}
	function handleStateChange(){
		if(xmlHttpKachaAjax.readyState==4){
			if(xmlHttpKachaAjax.status==200){
				rtnKachaAjax=xmlHttpKachaAjax.responseText;
				if(kachaAjaxShowDisplay==true){
					display(xmlHttpKachaAjax.responseText);
				}
				setTimeout(strrunKachaAjax,1);
			}else{
				setTimeout(kachaAjaxSetRunError,1);
			}
		}else{
			if(kachaAjaxShowDisplay==true){
				if(varstrKachaAjax!=""){
					document.getElementById(divKachaAjax).innerHTML=varstrKachaAjax;
				}
			}
		}
	}
	function getPostForm(pFormKachaAjax2){
		var nParams=new Array();
		for(var i=0;i<pFormKachaAjax2.elements.length;i++){
			if(pFormKachaAjax2.elements[i].type=="checkbox"){
				if(pFormKachaAjax2.elements[i].checked==true){
					var pParam=encodeURIComponent(pFormKachaAjax2.elements[i].name);
					pParam+="=";
					pParam+=encodeURIComponent(pFormKachaAjax2.elements[i].value);
					nParams.push(pParam);
				}
			}else if(pFormKachaAjax2.elements[i].type=="radio"){
				if(pFormKachaAjax2.elements[i].checked==true){
					var pParam=encodeURIComponent(pFormKachaAjax2.elements[i].name);
					pParam+="=";
					pParam+=encodeURIComponent(pFormKachaAjax2.elements[i].value);
					nParams.push(pParam);
				}
			}else{
				var pParam=encodeURIComponent(pFormKachaAjax2.elements[i].name);
				pParam+="=";
				pParam+=encodeURIComponent(pFormKachaAjax2.elements[i].value);
				nParams.push(pParam);
			}
		}
		return nParams.join("&");
	}
	function setForm(kachaAjaxpf){
		pFormKachaAjax=kachaAjaxpf;
	}
	function display(getdata){
		/*if(getdata!='' && kachaAjaxShowDisplay==true){
			document.getElementById(divKachaAjax).innerHTML=getdata;
		}*/
		if(kachaAjaxShowDisplay==true){
			document.getElementById(divKachaAjax).innerHTML=getdata;
		}
	}
	function getReturn(){
		return rtnKachaAjax;
	}
	function getVar(){
		var syn="";
		var regex = new RegExp("<var>");
		var results = regex.test(rtnKachaAjax);
		if(results){
			var str=rtnKachaAjax.split("<var>");
			for(var i in str){
				var rgx=new RegExp("</var>");
				var res=rgx.test(str[i]);
				if(res){
					var str2=str[i].split("</var>");
					syn+=str2[0];
				}
			}
		}
		return syn;
	}
	function setDisplay(disdata){
		kachaAjaxShowDisplay=disdata;
	}
	function setRun(strrunKachaAjaxseceive){
		if(strrunKachaAjaxseceive!=""){
			strrunKachaAjax=strrunKachaAjaxseceive;
		}else{
			strrunKachaAjax="var asdfqwerty789=true";
		}
	}
	function setError(RkachaAjaxSetRunError){
		kachaAjaxSetRunError=RkachaAjaxSetRunError;
	}
	function createxmlHttpKachaAjaxRequest(){
		if(window.ActiveXObject){
			xmlHttpKachaAjax=new ActiveXObject("Microsoft.xmlHttp");
		}else if(window.XMLHttpRequest){
			xmlHttpKachaAjax=new XMLHttpRequest();
		}
	}
}
function gebid(id){
	return document.getElementById(id);
}
function $(id){
	return document.getElementById(id);
}
function str_replace(src,rep,subject)
{
	var arr=subject.split(src);
	subject=arr.join(rep);
	return subject;
}
