//

function reportError(request) 
{
		var out = "Error: " + request.responseText;
		alert(out);
		$('error').innerHTML = out;
}

function reportException(request, exception) 
{
		var out = "Exception: " + request.url + " " + exception;
		alert(out);
		$('error').innerHTML = out;
}

function reportSuccess(request) 
{
		var out = "Success: " + request.responseText;
		alert(out);
		$('error').innerHTML = out;
}

function update_list(updateEl,action,urlbase)
{
	params = action;
    if ( urlbase == '' || urlbase == '/' )
        var url = '/includes-piat/piat_ajax.php';
    else
        var url = urlbase + '/includes-piat/piat_ajax.php';

	//$('error').innerHTML = url + "?" + params;
	
	//alert(url + "?" + params);
	
	var ajax = new Ajax.Request(
                               	url,
                                {method: 'get', parameters: params, asynchronous: false, evalScripts: true});
	
	var elem = $(updateEl);
	elem.innerHTML = ajax.transport.responseText;

	return true;
}

function ajax_update(form,updateEl,action)
{
	var params = Form.serialize(form);
	params = params + "&" + action;
	
	var url = 'piat_ajax.php';
	
	//alert(url + "?" + params);
	
	//parent.document.getElementById('error').innerHTML = url + "?" + params;
	
	var ajax = new Ajax.Request(
                               	url,
                                {method: 'get', parameters: params, asynchronous: false, evalScripts: true});
	
	//alert(ajax.transport.status);
	parent.document.getElementById(updateEl).innerHTML = ajax.transport.responseText;
	
	return true;
}

function setCityState(request)
{
	// city, state, county_name, prefix (to field names), county name field name
	citystate = request.responseText.split(';');
	if (citystate[4] != '') {
		update_list(citystate[3]+'_county_block','action=get_state_counties&stateprov_abbr='+citystate[1]+'&selected='+citystate[2]+'&prefix='+citystate[3]+'&county_fieldname='+citystate[4],'');	
		for (var i = 0; i < eval('document.'+ajax_form+'.'+citystate[3]+'_county.length'); i++)
		{
			if ( eval('document.'+ajax_form+'.'+citystate[3]+'_county.options['+i+'].value == "'+citystate[2]+'"') )
			{
				eval('document.'+ajax_form+'.'+citystate[3]+'_county.selectedIndex = '+i);
				break;
			}
		}
	}
	eval('document.'+ajax_form+'.'+citystate[3]+'_city.value = "'+citystate[0]+'"');
	for (var i = 0; i < eval('document.'+ajax_form+'.'+citystate[3]+'_state.length'); i++)
	{
		if ( eval('document.'+ajax_form+'.'+citystate[3]+'_state.options['+i+'].value == "'+citystate[1]+'"') )
		{
			eval('document.'+ajax_form+'.'+citystate[3]+'_state.selectedIndex = '+i);
			break;
		}
	}

}

function setStateCounty(request)
{
	citystate = request.responseText.split(';');
	//update_list('county_id','action=get_state_counties&stateprov_abbr='+citystate[1]+'&selected='+citystate[2],'');
	for (var i = 0; i < document.ajax_form.ajax_state.length; i++)
	{
		if ( document.ajax_form.ajax_state.options[i].value == citystate[1] )
		{
			document.ajax_form.ajax_state.selectedIndex = i;
			break;
		}
	}
	for (var i = 0; i < document.ajax_form.ajax_county_id.length; i++)
	{
		if ( document.ajax_form.ajax_county_id.options[i].value == citystate[0] )
		{
			document.ajax_form.ajax_county_id.selectedIndex = i;
			break;
		}
	}
}

function checkZip(field_id,url,prefix,county_fieldname) 
{
	if (field_id=='') { field_id='zip'; }
	if($F(field_id).length == 5) 
	{
		//var url = 'checkZip.php';
		var params = 'zip=' + $F(field_id) + '&prefix=' + prefix + '&county_fieldname=' + county_fieldname;
		//$('error').innerHTML = url + "?" + params;
		var ajax = new Ajax.Request(
			url,
			{method: 'get', parameters: params, onFailure: reportError, onSuccess: setCityState});
	}
}

function checkCity(url,action) 
{
	var params = action;
	var ajax = new Ajax.Request(
		url,
		{method: 'get', parameters: params, onFailure: reportError, onSuccess: setStateCounty});
}

function show_disable(form)
{
	Element.show(form);	
}

var myGlobalHandlers = {
	onCreate: function(){
		Element.show('systemWorking');
	},

	onComplete: function() {
		if(Ajax.activeRequestCount == 0){
			Element.hide('systemWorking');
		}
	}
};

Ajax.Responders.register(myGlobalHandlers);
		
