// JavaScript Document
var StoreLocator = new Class({
	Extends: Page,
	
	setForm: null,
	setStateSelect: null,
	setCountrySelect: null,
	setStoreList: null,
	
	initialize: function(pageState) {
		this.parent('store-locator', pageState);
		
		this.setForm = this.setBlock.pass(['divForm', 'form'], this);
		this.setStateSelect = this.setBlock.pass(['divSelState', 'stateSelect', false], this);
		this.setCountrySelect = this.setBlock.pass(['divSelCountry', 'countrySelect', false], this);
		this.setStoreList = this.setBlock.pass(['divStoreList', 'storeList', false], this);
	},
	
	requestForm: function() {
		return {
			server: 'StoreLocatorServer',
			handler: 'form',
			params: []
		};
	},
	requestStateSelect: function() {
		return {
			server: 'StoreLocatorServer',
			handler: 'stateSelect',
			params: []
		};
	},
	requestCountrySelect: function() {
		return {
			server: 'StoreLocatorServer',
			handler: 'countrySelect',
			params: []
		};
	},
	requestStoreList: function(formValues) {
		return {
			server: 'StoreLocatorServer',
			handler: 'storeList',
			params: [formValues]
		};
	},
	
	storeList: function(form) {
		this.addRequest(this.requestForm());
		this.addRequest(this.requestStateSelect());
		this.addRequest(this.requestCountrySelect());
		this.addRequest(this.requestStoreList(form.getFormValues()));
		this.sendRequests();
	}
});
