var ajaxRst="";
var ajaxRow=[];
var ajaxCol=[];
var ajaxRowCount=0;
var ajaxColCount=0;
var ajaxBeginTime=null;
var ajaxEndTime=null;

function CreateHttpObject() {
	var objXmlHttp=null;
	try {
		objXmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		return objXmlHttp;
	} catch (e) {
		try {
			objXmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			return objXmlHttp;
		} catch (E) {
			objXmlHttp=false;
		}
	}
	if (!objXmlHttp && typeof XMLHttpRequest!='undefined') {
		try {
			objXmlHttp=new XMLHttpRequest();
			return objXmlHttp;
		} catch (e) {
			objXmlHttp=false;
		}
	}
	if (!objXmlHttp && window.createRequest) {
		try {
			objXmlHttp=window.createRequest();
			return objXmlHttp;
		} catch (e) {
			objXmlHttp=false;
		}
	}
	return objXmlHttp;
}
function GetHttpObject(url, prm, snc) {
	ajaxBeginTime=new Date();
	var objXmlHttp=CreateHttpObject();
	if (objXmlHttp) {
		if (snc==null) snc=false;
		objXmlHttp.open("POST",url,snc);
		objXmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		objXmlHttp.setRequestHeader("Content-length",prm.length);
		objXmlHttp.setRequestHeader("Connection","close");
		objXmlHttp.send(prm);
	}
	return objXmlHttp;
}
function ajaxId() { 
	return ("AjaxID="+(Math.random()));
}
function ajaxVar() {
	ajaxRst="";
	ajaxRow=[];
	ajaxCol=[];
	ajaxRowCount=0;
	ajaxColCount=0;
	ajaxBeginTime=null;
	ajaxEndTime=null;
}
function ajaxData(txt) {
	ajaxEndTime=new Date();
	ajaxRst=unescape(txt);
	if (txt.indexOf("{Data}")!=-1) {
		var tmp=ajaxRst.split("{Data}");
		if (tmp.length==3) {
			ajaxRow=unescape(tmp[1]).split("{Row}");
			ajaxCol=ajaxRow[0].split("{Col}");
			ajaxRowCount=ajaxRow.length;
			ajaxColCount=ajaxCol.length;
		}
	}
}
function ajaxCall(url, sql) {
	ajaxVar();
	var tmp=url.split("?");
	if (tmp.length>0) {
		url=tmp[0]+"?"+ajaxId();
		for (var d=1;d<tmp.length;d++)
			url=url+"&"+tmp[d];
		if (sql==null) sql="";
		var objXmlHttp=GetHttpObject(url, "Sql="+ajaxSqlEscape(sql));
		if (objXmlHttp) {
			ajaxData(objXmlHttp.responseText);
			return true;
		}
	}
	return false;
}
function ajaxSelect(sql, slclog) {
	ajaxVar();
	if (slclog==null)
		var objXmlHttp=GetHttpObject("/map/inc/ajaxSelect.asp?"+ajaxId(), "Sql="+ajaxSqlEscape(sql));
	else
		var objXmlHttp=GetHttpObject("/map/inc/ajaxSelect.asp?"+ajaxId()+"&SlcLog=True", "Sql="+ajaxSqlEscape(sql));
	if (objXmlHttp) {
		ajaxData(objXmlHttp.responseText);
		return true;
	}
	return false;
}
function ajaxExecute(sql) {
	ajaxVar();
	var objXmlHttp=GetHttpObject("/map/inc/ajaxExecute.asp?"+ajaxId(), "Sql="+ajaxSqlEscape(sql));
	if (objXmlHttp) {
		ajaxData(objXmlHttp.responseText);
		return true;
	}
	return false;
}
function ajaxDML(fnc,tbl,col,dat,whr) {
	var sql="";
	if (fnc=="I") {
		sql="["+"x1"+"] "+tbl+" ";
		if (col>"") sql+="("+col+") ";
		sql+="Values ("+ajaxReplaceString(dat,"-",",")+")";
	}
	if (fnc=="U") {
		sql="["+"x2"+"] "+tbl+ " Set ";
		var c=col.split(",");
		var d=dat.split("-");
		for (n=0;n<c.length;n++) {
			if (n!=0) sql+=",";
			sql+=c[n]+"="+d[n];
		}
		sql+=" Where "+whr;
	}
	if (fnc=="D") sql="["+"x3"+"] "+tbl+" Where "+whr;
	return ajaxExecute(sql);
}
function ajaxToDo(sql) {
	var msg="";
	if (ajaxExecute(sql)) {
		if (ajaxRowCount>0) {
			var fld=ajaxRow[0].split("{Col}");
			if (fld[0]>"0") msg="Hata Oluştu ! "+fld[3];
		}
	} else msg="İşlem Gerçekleştirilemedi !";
	if (msg>"") {
		alert(msg);
		return false;
	}
	return true;
}
function ajaxSqlEscape(sql) {
	var s=sql;
	s=ajaxReplaceString(s,"Select ","[x4] ");
	s=ajaxReplaceString(s,"+","[xA]");
	s=ajaxReplaceString(s,"-","[xE]");
	s=ajaxReplaceString(s,"/","[xB]");
	s=ajaxReplaceString(s,"*","[xC]");
	s=ajaxReplaceString(s,"%","[xD]");
	s=escape(s);
	return s;
}
function ajaxReplaceString(v,s,r) {
	var re=eval("/\\"+s+"/g");
	return v.replace(re,r);
}

