var boundLists = new Array();
var listOptions = {};
var onFocusFunc = null;
var onChangeFunc = null;
var selectExplicitProgress = new Array();
var selectExplicitProgressCnt = new Array();
var onSelectListItemHooks = new Array();
var onSelectAjaxedHooks = new Array();
var onListChangeHooks = new Array();
var loadImg = new Image();
loadImg.src = '/images/busy.gif';

function jsCountrySelect(cdd)
{
	var parts = cdd.name.split('_');
	var prefix = (parts.length>1) ? parts[0] + '_':'';
	var srcForm = cdd.form;
	var sdd = srcForm.elements[prefix + 'State'];
	cdd.disabled = true;
	sdd.disabled = true;
	$("#LoadCity").get(0).disabled = true;
	sdd.options.length = 1;
	
	var imgItem = document.createElement('IMG');
	imgItem.setAttribute('id', 'busy_image');
	imgItem.setAttribute('src', '/images/busy.gif');
	sdd.parentNode.appendChild(imgItem);


        $.ajax({
        url: '/act/index.php?r=ajaxCities',
        dataType: 'json',
        type: 'POST',
        data: {
            type: 'states',
            prefix: prefix,
            country: cdd.value
        },
        success:function (data)
	{
		var bgColor = data['hasPostcodes'] ? '':'#ddd';
		if (data['prefix']=='event_')
		{
			if (srcForm.event_zip)
			{
                srcForm.event_zip.value = '';
			    srcForm.event_zip.disabled = !data['hasPostcodes'];
			    srcForm.event_zip.style.backgroundColor = bgColor;
			}
		}
		else
		if (srcForm.Postcode)
		{
			srcForm.Postcode.value = '';
			srcForm.Postcode.disabled = !data['hasPostcodes'];
			srcForm.Postcode.style.backgroundColor = bgColor;
		}		
	    if (data['type']=='states'){
			for (var stateID in data['items'])
				sdd.options[sdd.options.length] = new Option(data['items'][stateID], stateID);			
			sdd.disabled = false;
		}else{
			$("#LoadCity").unautocomplete();
			$("#LoadCity").val('');
			$("#LoadCity").get(0).disabled = false;
			$("#LoadCity").autocomplete("/act/index.php?r=ajaxCities", {
				width: 260,
				selectFirst: false,
				url: '/act/index.php?r=ajaxCities',
				type :'POST',
				scroll: true,		
				extraParams: {type: 'cities', prefix: '', country: $("[name='CountryID']").val(), state: $("[name='State']").val(), test: true}
			});
			$("#LoadCity").result(function(){if(arguments[1] && arguments[1][1]){$("#City").val(arguments[1][1])}});					
		}
		var busyItem = document.getElementById('busy_image');
		busyItem.parentNode.removeChild(busyItem);
		
		srcForm.elements[prefix + 'CountryID'].disabled = false;
								
	}});
}

function jsStateSelect(sdd){
    var parts = sdd.name.split('_');
	var prefix = (parts.length>1) ? parts[0] + '_':'';
	var srcForm = sdd.form;
	var cdd = srcForm.elements[prefix + 'CountryID'];	
	cdd.disabled = true;
	sdd.disabled = true;
	$("#LoadCity").get(0).disabled = false;
	var imgItem = document.createElement('IMG');
	imgItem.setAttribute('id', 'busy_image');
	imgItem.setAttribute('src', '/images/busy.gif');
	srcForm.elements[prefix + 'CountryID'].disabled = false;
	srcForm.elements[prefix + 'State'].disabled = false;
	$("#LoadCity").unautocomplete();
	$("#LoadCity").val('');
	$("#LoadCity").autocomplete("/act/index.php?r=ajaxCities", {
		width: 260,
		selectFirst: false,
		url: '/act/index.php?r=ajaxCities',
		type :'POST',
		scroll: true,		
		extraParams: {type: 'cities', prefix: '', country: $("[name='CountryID']").val(), state: $("[name='State']").val(), test: true}
	});
	$("#LoadCity").result(function(){if(arguments[1] && arguments[1][1]){$("#City").val(arguments[1][1])}});
	
}
