/*
+--------------------------------------------------------
+	Copyright (c) 2004-2007 WeSofts
+	JavaScript Project for wespace
+	http://www.wesofts.com
+--------------------------------------------------------
*/
function Ajax_objecter(){
	this.prefix = '';
	this.create = null;
	this.elementid = '';
	this.requester = function(){
		if(window.XMLHttpRequest){
			this.create = new XMLHttpRequest();
			if(this.create.overrideMimeType){
				this.create.overrideMimeType('text/xml');
			}
		}else if(window.ActiveXObject){
			var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
			for(var i=0; i<versions.length; i++){
				try{
					this.create = new ActiveXObject(versions[i]);
					if(this.create){
						return this.create;
					}
				}catch(e){}
			}
		}
	}
	this.get = function(url,eid){
		this.targeter = this.createurl(url);
		this.elementid = eid && eid != '' ? eid : 'displayer';
		if(window.XMLHttpRequest){
			this.create.open('GET',this.targeter);
			this.create.send(null);
		}else{
			this.create.open("GET",this.targeter,true);
			this.create.send();
		}
		this.create.onreadystatechange = this.process;
		if (this.create.readyState != 1) {
			this.get(url,eid);
		}
	}
	this.process = function(){
		if(Ajax.create.readyState == 4){
			if(Ajax.create.status == 200){
				this.responsed = Ajax.create.responseXML.lastChild.firstChild.nodeValue;
				if (this.responsed != ''){
					if ($(Ajax.elementid)){
						$(Ajax.elementid).innerHTML = this.responsed;
					}
					Ajax.evaler(this.responsed);
				}
			}
		}
	}
	this.createurl = function(url){
		this.comma = '';
		this.tmpurl = url.split('|');
		this.targeter = this.prefix;
		for (var i = 0; i < this.tmpurl.length; i++){
			if (this.tmpurl[i] != ''){
				switch (i){
					case 0 : this.tmp = 'action';	break;
					case 1 : this.tmp = 'option';	break;
					case 2 : this.tmp = 'extent';	break;
					case 3 : this.tmp = 'info';		break;
				}
				this.targeter += this.comma + this.tmp + '=' + this.tmpurl[i];
				this.comma = '&';
			}
		}
		return this.targeter;
	}
	this.evaler = function(str){
		if (str.indexOf('<script') == -1){
			return false;
		}
		var JsTmp;
		var JsReg = /<script>.*?<\/script>/ig;
		while ( (JsTmp = JsReg.exec(str)) != null){
			eval(JsTmp[0].replace(/<[a-z\/]+>/ig,''));
		}
	}
}
Ajax = new Ajax_objecter();
Ajax.prefix = 'a' + 'j' + 'a' + 'x' + '.' + 'p' + 'h' + 'p' + '?';
Ajax.requester();