var AJAX_URL = URL_CMSROOT+"ajax/CottonOnStoreLocatorBlock";
var typeNameToId = {
	main: 1,
	kids: 2,
	body: 3,
	rubi: 4,
	typo: 5
};

$(document).ready(function() {
	setupHandlers();
});

function setupHandlers() {
	$(".store-locator .region-select").change(regionChange);
	$(".store-locator .store-select").change(storeChange);
	$(".store-locator .region-select").change();
	$(".store-locator .store-select").change();
}

function regionChange() {
	regionBox = $(this);
	regionId = regionBox.val();
	typeId = typeNameToId[(regionBox.attr('id').split('_')[0])];
	storeList = regionBox.next();
	storeList.empty();
	if (regionId == 0) {
		storeList.html('<option value="0">- select a location -</option>');
		return;
	}
	storeList.html('<option value="0">loading...</option>');
	$.getJSON(
		AJAX_URL,
		{
			action: 'getStoresForRegion',
			region: regionId,
			type: typeId,
			ajaxType: 'json'
		},
		function(data) {
			if (data.status == 'error') {
				alert(data.message);
				return;
			}
			storeList.html('<option value="0">- select a store -</option>');
			$.each(data.stores, function(i, store) {
				storeList.append('<option value="' + store.storeId + '">' + store.name + '</option>');
			});
		}
	);
}

function storeChange() {
	storeSelect = $(this);
	storeId = storeSelect.val();
	
	storeDetails = $(".store-locator .storeDetails");
	
	if (storeId == 0) {
		return;
	}
	storeDetails.fadeOut("fast");
	$.getJSON(
		AJAX_URL,
		{
			action: 'getStoreDetails',
			store: storeId,
			ajaxType: 'json'
		},
		function(data) {
			if (data.status == 'error') {
				alert(data.message);
				return;
			}
			storeDetails.html('<h5>' + data.store.name + '</h5>');
			storeDetails.append('<p><label><strong>Phone:</strong></label>' + data.store.phone + '</p>');
			storeDetails.append('<p><label><strong>Fax:</strong></label>' + data.store.fax + '</p>');
			storeDetails.append(
				'<p><label><strong>Address:</strong></label>'+
				data.store.address.replace(/,/g,"<br />")+
				'<br />'+
				data.store.suburb + '&nbsp;&nbsp;' + data.store.postcode + '</p>'
			);
			storeDetails.fadeIn("fast");

		}
	);
}
