function checkAll() {
	var self = $(this);
	$('.listing input[type=checkbox]').attr('checked', self.is(':checked')?'checked':'');
}

$(document).ready(function(){
	// activating select-all feature
	$('input.chk_all').click(checkAll);
});

function updateMap(elem, type) {
	var tmp1 = $(elem).attr('name').replace(type=='region'?'country':'region', 'city');
	var tmp2 = $(elem).attr('name').replace(type=='region'?'country':'region', type=='region'?'region':'country');

	$(elem).attr('disabled','disabled');
	$('select[name='+tmp1+']').attr('disabled','disabled');
	$('select[name='+tmp2+']').attr('disabled','disabled');
	
	cancelLoad = function(elem, tmp1, tmp2) {
		$(elem).removeAttr('disabled');
		$('select[name='+tmp1+']').removeAttr('disabled');
		$('select[name='+tmp2+']').removeAttr('disabled');
	}
	
	$.ajax({
		url: '/ajax/map/',
		type: 'GET',
		dataType: 'json',
		data: {id: $(elem).children('[selected]').val(), type: type},
		success: function(data) {
			if(data.status == 'ok') {
				if(type == 'region') $('select[name='+(tmp1.replace('city', 'region'))+']').replaceWith(data.regions.replace('<select', '<select name="'+tmp1.replace('city', 'region')+'"'));
				$('select[name='+tmp1+']').replaceWith(data.cities.replace('<select', '<select name="'+tmp1+'"'));
			}
			cancelLoad(elem, tmp1, tmp2);
		},
		error: function() {
			cancelLoad(elem, tmp1, tmp2);
		},
		timeout: function() {
			cancelLoad(elem, tmp1, tmp2);
		},
	});
}