function asr () {
	var self = this;
	var oo=null;
	try {
		oo=new XMLHttpRequest();
	} catch(e) {
		try {
			oo=new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			try {
				oo=new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				oo=null;
			}
		}
	}
	self.o=oo;
	self.o.onerror = function(event) { self.onerror(event); };
	self.onerror = function (evt) {
		this.o.abort();
		//alert(evt.target+": "+'Uncatched connection error.');
		return false;
	};
	self.fixWhitespace = function(node) {
		if (node.nodeType!=1) { return; }
		if (node.childNodes.length>0) {
			var c = node.childNodes[0];
			while (c) {
				var p = c;
				c = p.nextSibling;
				if (p&&p.nodeType!=1&&p.nodeValue.match(/^\s*$/)) {
					node.removeChild(p);
				} else {
					self.fixWhitespace(p);
				}
			}
		}
	};
	self.req = function(url,cb) {
		if (typeof this.o != "object") { return false; }
		var $_=this.o;
		with ($_) {
			var rsc = function() {
				if (readyState==4) {
					if (status==200) {
						var res = responseXML;
						var res_xml_node = undefined;
						var nodes = res.getElementsByTagName('result');
						if (nodes) {
							var res_xml_node = (res.getElementsByTagName('result'))[0];
							self.fixWhitespace(res_xml_node);
							if (typeof cb=='function') {
								cb(res_xml_node);
							} else {
								//alert("No callback!");
							}
						}
					} else {
						//alert('Connection status error.');
					}
				}
			};
			open("GET", url, true);
			onreadystatechange = rsc;
			send(null);
		}
		return true;
	}
	return this;
}

d.ready(function() {
	var r = new asr();
	var u = undefined;
	if (which=='news'){
		u = '/cgi-bin/view.pl?w=news&as=xml&l=';
	}
	else if (which=='arrangmts'){
		u = '/cgi-bin/view.pl?w=arrangmts&as=xml&l=';
	}
	var cb = function(rn) {
		var pool = function(node,cond) {
			if (node.nodeType!=1) { return null; }
			var found = null;
			//alert((new XMLSerializer()).serializeToString(rn))
			for (var n=0; n<node.childNodes.length; n++) {
				var cn = node.childNodes[n];
				if (cn.nodeType!=1) { continue; }
				cond = cond.replace(/\$NODE/i,'cn');
				if (eval(cond)) {
					found = [cn,node];
					break;
				} else {
					found = pool(cn,cond);
					if (found) { break;	}
				}
			}
			return found;
		};

		if (which=='news'){
			var e = d.getElementById('news');
			if (!e) { return; }

			var p = e.parentNode;

			for (var i=0; i<rn.childNodes.length; i++) {
				var cn = rn.childNodes[i];
				if (cn.nodeName=='news') {
					var r_text = cn.childNodes[1].firstChild.nodeValue;

					var elt = e.cloneNode(true);
					elt.setAttribute('id','news-'+cn.getAttribute('id'));

					var node_text = pool(elt,'$NODE.className=="news_text"');
					if (node_text) {
						if (node_text[0].firstChild) {
							node_text[0].removeChild(node_text[0].firstChild);
						}
						var text = d.createElement('SPAN');
						node_text[0].appendChild(text);
						text.innerHTML = r_text;
					}

					p.insertBefore(elt,e);
					elt.style.display='';
				}
			}
			p.removeChild(e);
		}
		else if (which=='arrangmts'){

			var e = d.getElementById('arrangmts');
			if (!e) { return; }

			var p = e.parentNode;

			for (var i=0; i<rn.childNodes.length; i++) {
				var cn = rn.childNodes[i];
				if (cn.nodeName=='arrangmts') {
					//var n_title = cn.childNodes[0].firstChild.nodeValue;
					var n_text = cn.childNodes[1].firstChild.nodeValue;
					//var n_link = cn.childNodes[2].firstChild.nodeValue;
					var n_img;
					if (cn.childNodes[3].firstChild) { n_img = cn.childNodes[3].firstChild.nodeValue; }
					var elt = e.cloneNode(true);
					elt.setAttribute('id','arrangmts-'+cn.getAttribute('id'));

					//var node_title = pool(elt,'$NODE.className=="arrangmts_title"');
					var node_text = pool(elt,'$NODE.className=="arrangmts_text"');
					//var node_link = pool(elt,'$NODE.className=="arrangmts_link"');
					var node_img = pool(elt,'$NODE.className=="arrangmts_img"');

					/*
					if (node_title) {
							if (node_title[0].firstChild) {
								node_title[0].removeChild(node_title[0].firstChild);
							}
							var title = d.createTextNode(n_title);
							node_title[0].appendChild(title);
					}
					*/
					if (node_text) {
						if (node_text[0].firstChild) {
							node_text[0].removeChild(node_text[0].firstChild);
						}
						var text = d.createElement('SPAN');
						node_text[0].appendChild(text);
						text.innerHTML = n_text;
					}
					/*
					if (node_link) {
						if (node_link[0].firstChild) {
							node_link[0].removeChild(node_link[0].firstChild);
						}
						//var link = d.createElement('SPAN');
						var a = d.createElement('A');
						a.setAttribute('href',n_link);
						a.setAttribute('target','_blank');
						//link.appendChild(a);
						node_link[0].appendChild(a);
					}
					*/
					if (n_img && node_img) {
						node_img[0].setAttribute('src',n_img);
					}
//alert((new XMLSerializer()).serializeToString(elt))
					p.insertBefore(elt,e);
					elt.style.display='';
				}
			}
			p.removeChild(e);
		}
	}
	if (u) {
		r.req(u+langid,cb);
	}
});

