DepartureModel
    .addObserver('changed', function() {
	    function unselect() {
		var name, i;
		for(i=0; i<arguments.length; ++i) {
		    name = arguments[i];
		    $('#PremiumTour .selector-'+ name).removeClass('selected-'+ name).addClass('unselected-'+ name);
		    $('.category-container').removeClass('tour-group-'+ name);
		}
	    }
	    function select(name) {
		$('#PremiumTour .selector-'+ name).addClass('selected-'+ name).removeClass('unselected-'+ name);
		$('.category-container').addClass('tour-group-'+ name);
	    }
	    switch(DepartureModel.currentName()) {
	    case 'osaka':
		unselect('tokyo', 'haneda', 'nagoya');
		select('osaka');
		break;
	    case 'nagoya':
		unselect('tokyo', 'haneda', 'osaka');
		select('nagoya');
		break;
	    case 'haneda':
		unselect('tokyo', 'osaka', 'nagoya');
		select('haneda');
		break;
	    default:
		unselect('haneda', 'osaka', 'nagoya');
		select('tokyo');
	    }
	});

jQuery(function($){
	$('a.link-to-grouped-tour').live('click', function(e){
		e.preventDefault();
		var container = $(this).parents('.category-container');
		var tourByDept = container.find('input.tour_url_from_dept_'+ DepartureModel.current());
		if(tourByDept.length == 0) {
		    // TODO: force to select tokyo
		    tourByDept = container.find('input.tour_url_from_dept_'+ "1");
		}
		var url = tourByDept.eq(0).val();
		location.href = url;
	    })
    });

