/* script that returns the appropriate XML for letter */
var sourceurl='azxml.php';

var xmlhttp=false;

function xinit(){
	if(xmlhttp)return;
	//create xmlhttprequest
        /*@cc_on @*/
       	/*@if (@_jscript_version >= 5)
      	// JScript gives us Conditional compilation, we can cope with old IE versions.
        // and security blocked creation of the objects.
        try {
     		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
          	try {
           		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          	} catch (E) {
           		xmlhttp = false;
          	}
         }
        @end @*/
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
      		xmlhttp = new XMLHttpRequest();
        }
}

function retrieve(letter){
	// letter being a character in [a..z]
	if (letter.length != 1
		|| 'abcdefghijklmnopqrstuvwxyz'.indexOf(letter) == -1){
		return false;
	}

	xinit();
	if(!xmlhttp) return false; // I've heard of browsers that don't support it
	url = 'xml_cache/' + letter + '.xml';
	xmlhttp.open('POST',url,true);
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.onreadystatechange=
		function(){
			xstate=xmlhttp.readyState;
			if(xstate==4 && xmlhttp.status==200){
				action();
				xmlhttp=false;
				return true;
			}	
		};
	xmlhttp.send('letter='+letter);
	return;
}

/* assumes div with id='azlistcontents' exists */
function action(){
	resp=xmlhttp.responseXML.documentElement;
	if(!resp)return;
	divtoupdate=document.getElementById('azlistcontents');
	newcontent=document.createElement('div');
	sites=resp.getElementsByTagName('site');
	for (i=0;i<sites.length;i++){
		desc=sites[i].getElementsByTagName('description');
		link=sites[i].getElementsByTagName('link');
		if (link[0].firstChild!=null) {
			link=link[0].firstChild.data;
			desc=desc[0].firstChild.data;
			p=document.createElement('p');
			a=document.createElement('a');
			a.setAttribute("href",link);
			t=document.createTextNode(desc);
			a.appendChild(t);
			p.appendChild(a);
			newcontent.appendChild(p);
		}
	}
	divtoupdate.replaceChild(newcontent,divtoupdate.firstChild);
	return true;
}

lookFor = document.URL.charAt(document.URL.length-2);
if (lookFor=='#' || lookFor=='?' )
	retrieve( document.URL.charAt(document.URL.length-1) );

