var req = new Array();
var xmlt = new Array();
var xslt = new Array();

function recxml(xmltype, n, t) {
	if ((xmlt[n].readyState==4 && xmltype=='xml') || (xslt[n].readyState==4 && xmltype=='xslt')) {
		if (xmltype=='xml') {req[n].vxml=xmlt[n].responseText;}else if (xmltype=='xslt') {req[n].vxslt=xslt[n].responseText;}
		if (req[n].vxml.length>0 && req[n].vxslt.length>0) {
			req[n].Results();
			if (req[t].hasfunc) {req[t].fn();}
		}
	}
}

function getAjaxTextResults(mailhash, tid, field, url) {
	var o = document.getElementById(tid);
	if (o) {
		url += (url.indexOf('?')>0?'&':'?')+'value=' + o.value + '&mailhash='+mailhash;
		xmlt['txt_' + tid] = GetXmlHttpObject();
		xmlt['txt_' + tid].onreadystatechange = function () {showAjaxTextResults(tid, field);}
		xmlt['txt_' + tid].open("GET",url,true);
		xmlt['txt_' + tid].send(null);
	}
}
function showAjaxTextResults(tid, field) {
	if (xmlt['txt_' + tid].readyState==4) {
		var xmlDoc = xmlt['txt_' + tid].responseXML.documentElement;
		var html = '';
		for (var i=0; i<xmlDoc.getElementsByTagName("name").length; i++) {
			html += '<li><a href="javascript:;" onclick="document.getElementById(\''+tid.replace('\'', '\\\'')+'\').value=\'' + xmlDoc.getElementsByTagName("name")[i].childNodes[0].nodeValue.replace('\'','\\\'') + '\';clearAjaxTextResults(\''+tid.replace('\'', '\\\'')+'\')">' + xmlDoc.getElementsByTagName("name")[i].childNodes[0].nodeValue + '</a></li>';
		}
		if (html.length>0) {html = '<ul>' + html + '</ul>';}
		document.getElementById('res_'+tid).style.visibility='visible';
		document.getElementById('res_'+tid).innerHTML = html;
	}
}
function clearAjaxTextResults(tid) {document.getElementById('res_'+tid).innerHTML='&nbsp;';document.getElementById('res_'+tid).style.visibility='hidden';}

function XMLReq(t, destination, mailhash, xmlurl, xslturl, func) {
	this.tag = t;
	this.dest = destination;
	this.xmlurl = xmlurl+(xmlurl.indexOf('?')>0?'&':'?')+'mailhash='+mailhash;//alert(this.xmlurl);
	this.xslturl = xslturl;
	this.vxml = '';
	this.vxslt = '';
	if (func) {this.fn = func; this.hasfunc=true;}else{this.hasfunc=false;}
	this.Send(t);
}
XMLReq.prototype.Send = function(n) {
	var t = this.tag;
	xmlt[n] = GetXmlHttpObject();
 	xslt[n] = GetXmlHttpObject();
	xmlt[n].onreadystatechange=function () {recxml('xml', n, t);}
	xmlt[n].open("GET",this.xmlurl,true);
	xmlt[n].send(null);
 	xslt[n].onreadystatechange=function () {recxml('xslt', n, t);}
 	xslt[n].open("GET",this.xslturl,true);
 	xslt[n].send(null);
}
XMLReq.prototype.Results = function() {
	if (this.dest.length>0) {
		var o = document.getElementById(this.dest);
		if (o) {
  		var pxml  = xmlParse(this.vxml);
  		var pxslt = xmlParse(this.vxslt);
  		o.innerHTML = xsltProcess(pxml, pxslt);
		}
	}
}



