/*	ajaxselect.js
	This code uses modified elements of Dynamic Drive's ajaxcontent.js (www.dynamicdrive.com)
	Modifications (c) 2007 Nuvola Ltd
*/

var loadedobjects=""
var rootdomain="http://"+window.location.hostname

function ajaxselect(url, selectid)
{
	//alert(url);
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e){}
			}
		}
	else
		return false
	page_request.onreadystatechange=function(){
		loadoptions(page_request, selectid)
	}
	page_request.open('GET', url, true)
	page_request.send(null)
}

function loadoptions(page_request, selectid)
{ 
	var opts, row, i;
	
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	{
		
		if(page_request.responseText.substring(0,5) == "ERROR")
		{
			alert(page_request.responseText);
		}
		else if(page_request.responseText.substring(0,5) == "ASSOC")		//associated fields
		{
			opts = page_request.responseText.split("\n");	//split the response text by newline
			row = opts[1].split("\t");		//get field values from second line split by tabs
			var ctls = selectid.split(",");		//control list
			
			if(row.length != ctls.length)
			{
				alert("ERROR - number of fields in UI doesn't match server definitions")
			}
			else
			{
				for(i = 0; i < row.length; i ++)
				{
					document.getElementById(ctls[i]).value = row[i]
				}
			}
		}
		else
		{
			opts = page_request.responseText.split("\n");	//split the response text by newline
			document.getElementById(selectid).options.length = 0;	//clear current options
			document.getElementById(selectid).options[0] = new Option("Please select...", 0);	//default option value zero
			
			if(page_request.responseText != "")
			{
				for (i = 1; i <= opts.length; i ++)
				{
					row = opts[i-1].split("\t");	//split rows by tab
					document.getElementById(selectid).options[i] = new Option(row[1], row[0]);		//add new option
				}
			}
		}
	}
		
	
}

