function ajaxStart(){
	if (navigator.appName=="Microsoft Internet Explorer")
	    return new ActiveXObject("Microsoft.XMLHTTP");
	else{
		try{
			netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesRead");
		}
		catch(err){}
		return new XMLHttpRequest();
	}
}

function ajaxGet(link){
	var objHTTP = ajaxStart();

	try{
		objHTTP.open('GET',link,false);
	}
	catch(err){
		try{
			objHTTP.open('GET',localPath+'ajax_remote.php?link='+escape(link),false);
		}
		catch(e){
			alert('Cannot open remote link because the browser won\'t let me.\nPlease use another browser');
			return "\tBad Browser";
		}
	}
	objHTTP.send(null);
	return objHTTP.responseText;
}



function ajaxMatrix(content,line_separator,field_separator){
	var matrix=content.split(line_separator);
	for(i=0;i<matrix.length;i++)
		matrix[i]=matrix[i].split(field_separator);
	return matrix;
}

var ajaxSelectsLoaded=new Array();

function ajaxFillSelect(selId,link,reset,reload){
	if(ajaxSelectsLoaded[selId] && !reload){
		alert('List already loaded');
		return;
	}
	ajaxSelectsLoaded[selId]=true;
	matrix=ajaxMatrix(ajaxGet(link),'\r\n','\t');
	selectBox=document.getElementById(selId);
	if(reset)
		selectBox.options.length=0;
	offset=selectBox.options.length;
	for(i=0;i<matrix.length;i++){
		if(matrix[i][1]){
			selectBox.options[i+offset]=new Option(matrix[i][1],matrix[i][0]);
		}
	}
}