YAHOO.util.Event.onDOMReady(function() {
	
	////////////////////////////////////////////////////////
	// autocomplete for countries
	////////////////////////////////////////////////////////

	var countryDataSource = new YAHOO.util.XHRDataSource('/manager-country.php');
	countryDataSource.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
	countryDataSource.responseSchema = {
		resultsList : 'matches',
		fields : [
	        { key: 'name' },
	        { key: 'id' }
		]
	};

	var countryAutoComplete = new YAHOO.widget.AutoComplete('country_name', 'country_container', countryDataSource);
	
	countryAutoComplete.generateRequest = function(sQuery) {
		return '?action=get&query=' + sQuery;
	};

	countryAutoComplete.animVert = true;

	countryAutoComplete.animHoriz = false;

	countryAutoComplete.animSpeed = 0.3;

	countryAutoComplete.typeAhead = false;

	countryAutoComplete.forceSelection = true;
	
	countryAutoComplete.useIFrame = true;

	var setCountryID = function(sType, aArgs) {
		var oData = aArgs[2]; // object literal of selected item's result data
		document.getElementById('country_id').value = oData[1];
	};
	countryAutoComplete.itemSelectEvent.subscribe(setCountryID);


	////////////////////////////////////////////////////////
	// autocomplete for countries
	////////////////////////////////////////////////////////
	/*
	myDataSource = new YAHOO.widget.DS_XHR('./manager-country.php', [';', ',']);
	myDataSource.responseType = YAHOO.widget.DS_XHR.TYPE_FLAT;
	myDataSource.scriptQueryAppend = 'action=get';

	var countryAutoComplete = new YAHOO.widget.AutoComplete('countryname', 'countryContainer', myDataSource);

	countryAutoComplete.animVert = true;

	countryAutoComplete.animHoriz = false;

	countryAutoComplete.animSpeed = 0.3;

	countryAutoComplete.maxResultsDisplayed = 8;

	countryAutoComplete.useIFrame = true;

	countryAutoComplete.typeAhead = false;

	countryAutoComplete.forceSelection = true;
	*/
	
	////////////////////////////////////////////////////////
	// autocomplete for metropolitan areas
	////////////////////////////////////////////////////////

	var areaDataSource = new YAHOO.util.XHRDataSource('/manager-area.php');
	areaDataSource.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
	areaDataSource.responseSchema = {
		resultsList : 'matches',
		fields : [
	        { key: 'name' },
	        { key: 'id' }
		]
	};

	var areaAutoComplete = new YAHOO.widget.AutoComplete('metropolitan_area', 'area_container', areaDataSource);
	
	areaAutoComplete.generateRequest = function(sQuery) {
		return '?action=get&country='+document.getElementById('country_id').value+'&query=' + sQuery;
	};

	areaAutoComplete.animVert = true;

	areaAutoComplete.animHoriz = false;

	areaAutoComplete.animSpeed = 0.3;

	areaAutoComplete.typeAhead = false;

	areaAutoComplete.forceSelection = true;

	var setAreaID = function(sType, aArgs) {
		var oData = aArgs[2]; // object literal of selected item's result data
		document.getElementById('area_id').value = oData[1];
	};
	areaAutoComplete.itemSelectEvent.subscribe(setAreaID);

	////////////////////////////////////////////////////////
	// autocomplete for areas
	////////////////////////////////////////////////////////
	/*
	myDataSource = new YAHOO.widget.DS_XHR('./manager-area.php', [';', ',']);
	myDataSource.responseType = YAHOO.widget.DS_XHR.TYPE_FLAT;
	myDataSource.scriptQueryAppend = 'action=get&country=';

	var areaAutoComplete = new YAHOO.widget.AutoComplete('metropolitanarea', 'areaContainer', myDataSource);

	areaAutoComplete.animVert = true;

	areaAutoComplete.animHoriz = false;

	areaAutoComplete.animSpeed = 0.3;

	areaAutoComplete.maxResultsDisplayed = 5;

	areaAutoComplete.useIFrame = true;

	areaAutoComplete.typeAhead = false;

	areaAutoComplete.forceSelection = false;

	countryAutoComplete.itemSelectEvent.subscribe(function(oSelf, elItem, oData) {
		areaAutoComplete.dataSource.flushCache();
		areaAutoComplete.dataSource.scriptQueryAppend = 'action=get&country='+elItem[2]
	});
	*/

	////////////////////////////////////////////////////////
	// form validation
	////////////////////////////////////////////////////////
		

	callback = function(result) {
		dialog = make_alert('dialog', 'Transfer successful', 'The data has been saved.', function() {location.href = result.location_path; } );
		dialog.show();
	}

	var validator = new AJAXFormValidator('location_form', callback, '/manager-location.php', false);
	validator.setActivityIndicator('activity-indicator');
	validator.setFading(fading_config);
	
});
