$(document).ready(function(){
	if(typeof($) == 'function'){
		slideGall();
		fadeGall();
		clearInputs();
		initAccordion();
		initTabs();
		$('#sidebar .hotel select').customSelect();
	}
});
/*--- clear inputs function ---*/
function clearInputs(){
	$('input:text, input:password').each(function(){
		this.val = this.value;
		this.onfocus = function(){
			if(this.value == this.val) this.value = '';
		}
		this.onblur = function(){
			if(this.value == '') this.value = this.val;
		}
	});
}
/*--- accordion function ---*/
function initAccordion(){
	var hide_speed = 500;
	$('ul.accordion').each(function(){
		var _list = $(this).children();
		var _a = _list.index(_list.filter('.active').eq(0));
		_list.removeClass('active').eq(_a).addClass('active');
		_list.each(function(_ind){
			var _el = $(this);
			this._btn = _el.children('h3');
			this._box = _el.children('.content-block');
			if(_ind != _a) this._box.hide();
			else this._box.show();
			this._btn.click(function(){
				changeEl(_ind);
				return false;
			});
		});
		
		function changeEl(_ind){
			if(_a != -1){
				_list.eq(_a).removeClass('active');
				_list.get(_a)._box.stop().animate({height: 0}, hide_speed, function(){
					$(this).css({display: 'none', height: 'auto'});
				});
			}
			if(_ind != _a){
				_list.eq(_ind).addClass('active');
				if(_list.get(_ind)._box.is(':hiden')){
					_list.get(_ind)._h = _list.get(_ind)._box.height();
					_list.get(_ind)._box.css({height: 0, display: 'block'});
				}
				_list.get(_ind)._box.stop().animate({height: _list.get(_ind)._h}, hide_speed, function(){
					$(this).height('auto');
				});
				_a = _ind;
			}
			else{
				_a = -1;
			}
		}
	});
}
/*--- tabs function ---*/
function initTabs(){
	$('ul.tabset').each(function(_ind, _el){
		// find all <a> with class 'tab'
		var _btn = $(_el).find('a.tab');
		// already a parent <li> set to active?
		var _a = _btn.parent().index(_btn.parent().filter('.active').eq(0));
		// ThomasK:
		// old: if none active, use tab 0
		// if(_a == -1) _a = 0;
		// new: if none active, use random
		function initTabsRnd(mi, ma) {return(mi + parseInt(Math.random() * (ma - mi + 1)));}
		var rnd = initTabsRnd(0, _btn.length - 1);
		if(_a == -1) _a = rnd;
		_btn.removeClass('active').eq(_a).addClass('active');
		// ThomasK, this line was missing completely! set also parent <li> to active:
		_btn.parent().removeClass('active').eq(_a).addClass('active');
		_btn.each(function(_i){
			if(this.href.substr(this.href.indexOf("#")) != '#'){
				this._box = $(this.href.substr(this.href.indexOf("#")));
				if(_i == _a) this._box.show();
				else this._box.hide();
				this.onclick = function(){
					if(_i != _a && _btn.get(_i)._box.length){
						_btn.eq(_a).parent().removeClass('active');
						_btn.eq(_i).parent().addClass('active');
						_btn.get(_a)._box.hide();
						_btn.get(_i)._box.show();
						_a = _i;
					}
					return false;
				}
			}
		});
	});
}

/*--- fade gallery function ---*/
function fadeGall(){
	var change_t = 3000;
	var change_speed = 500;
	$('div.ephcontrols-full').each(function(){
		var _hold = $(this);
		var _list = _hold.find('.sliders-list > li');
		var _btn  = $('<ul class="nav"></ul>');
		_hold.append(_btn);
		var _a = _list.index(_list.filter('active').eq(0));
		if(_a == -1) _a = 0;
		var _t;
		var _f = true;
		_list.each(function(_ind){
			_btn.append('<li><a href="#">'+(_ind+1)+'</a></li>');
		});
		_btn = _btn.children();
		if ($.browser.msie && $.browser.version < 7) _list.removeClass('active').hide().eq(_a).addClass('active').show();
		else _list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		_btn.eq(_a).addClass('active');
		_btn.each(function(_ind){
			this.onclick = function(){
				_f = false;
				if(_ind != _a) changeEl(_ind);
				return false;
			}
		});
		_hold.mouseenter(function(){
			if(_t) clearTimeout(_t);
			_f = false;
		}).mouseleave(function(){
			_f = true;
			if(_t) clearTimeout(_t);
			if(_f) _t = setTimeout(function(){
				changeEl();
			}, change_t);
		});
		
		function changeEl(_i){
			if(_t) clearTimeout(_t);
			if(_i == undefined){
				if(_a == _list.length - 1) _i = 0;
				else _i = _a + 1;
			}
			_btn.eq(_a).removeClass('active');
			_btn.eq(_i).addClass('active');
			if ($.browser.msie && $.browser.version < 7){
				_list.eq(_a).removeClass('active').hide();
				_list.eq(_i).addClass('active').show();
			}
			else{
				_list.eq(_a).removeClass('active').animate({opacity: 0}, { queue:false, duration: change_speed});
				_list.eq(_i).addClass('active').animate({opacity: 1}, { queue:false, duration: change_speed});
			}
			_a = _i;
			if(_f) _t = setTimeout(function(){
				changeEl();
			}, change_t + change_speed);
		}
		if(_f) _t = setTimeout(function(){
			changeEl();
		}, change_t);
	});
}
/*--- slide Gallery function ---*/
function slideGall(){
	$('.visual .holder').each(function(){
		var list_h = $(this).find('.picture > ul');
		var _list = list_h.children();
		var _step = list_h.parent().width();
		var _a = 0;
		var _m;
		$(this).find('.controls ul .prev a').click(function(){
			if(_a == 0) changeEl(_list.length - 1);
			else changeEl(_a - 1);
			return false;
		});
		$(this).find('.controls ul .next a').click(function(){
			if(_a == _list.length - 1) changeEl(0);
			else changeEl(_a + 1);
			return false;
		});
		function changeEl(_ind){
			if(_ind != _a){
				_m = _ind*_step;
				list_h.animate({marginLeft: -_m}, {queue:false, duration:500});
				_a = _ind;
			}
		}
	});
}
/*--- custom select function ---*/
jQuery.fn.customSelect = function(_options) {
var _options = jQuery.extend({
	selectStructure: '<div class="selectArea"><div class="left"></div><div class="center"></div><a href="#" class="selectButton">&nbsp;</a><div class="disabled"></div></div>',
	selectText: '.center',
	selectBtn: '.selectButton',
	selectDisabled: '.disabled',
	optStructure: '<div class="selectOptions"><ul></ul></div>',
	optList: 'ul'
}, _options);
return this.each(function() {
	var select = jQuery(this);
	if(!select.hasClass('outtaHere')) {
		if(select.is(':visible')) {
			var replaced = jQuery(_options.selectStructure);
			var selectText = replaced.find(_options.selectText);
			var selectBtn = replaced.find(_options.selectBtn);
			var selectDisabled = replaced.find(_options.selectDisabled).hide();
			var optHolder = jQuery(_options.optStructure);
			var optList = optHolder.find(_options.optList);
			if(select.attr('disabled')) selectDisabled.show();
			select.find('option').each(function() {
				var selOpt = $(this);
				var _opt = jQuery('<li><a href="#">' + selOpt.html() + '</a></li>');
				if(selOpt.attr('selected')) {
					selectText.html(selOpt.html());
					_opt.addClass('selected');
				}
				_opt.children('a').click(function() {
					optList.find('li').removeClass('selected');
					select.find('option').removeAttr('selected');
					$(this).parent().addClass('selected');
					selOpt.attr('selected', 'selected');
					selectText.html(selOpt.html());
					select.change();
					optHolder.hide();
					return false;
				});
				optList.append(_opt);
			});
			replaced.width(select.outerWidth());
			replaced.insertBefore(select);
			optHolder.css({
				width: select.outerWidth(),
				display: 'none',
				position: 'absolute'
			});
			jQuery(document.body).append(optHolder);
			
			var optTimer;
			replaced.hover(function() {
				if(optTimer) clearTimeout(optTimer);
			}, function() {
				optTimer = setTimeout(function() {
					optHolder.hide();
				}, 200);
			});
			optHolder.hover(function() {
				if(optTimer) clearTimeout(optTimer);
			}, function() {
				optTimer = setTimeout(function() {
					optHolder.hide();
				}, 200);
			});
			selectBtn.click(function() {
				if(optHolder.is(':visible')) {
					optHolder.hide();
				}
				else {
					optHolder.css({
						top: replaced.offset().top + replaced.outerHeight(),
						left: replaced.offset().left,
						display: 'block'
					});
				}
				return false;
			});
			select.addClass('outtaHere');
		}
	}
});
}

/*--- sub nav ---*/
var timeout         = 500;
var closetimer		= 0;
var ddmenuitem      = 0;

function nav_open()
{	nav_canceltimer();
	nav_close();
	$(this).find('div div').eq(0).css('width', $(this).find('em').width() - 2);
	ddmenuitem = $(this).find('div').eq(0).css('visibility', 'visible');}

function nav_close()
{	if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function nav_timer()
{	closetimer = window.setTimeout(nav_close, timeout);}

function nav_canceltimer()
{	if(closetimer)
	{	window.clearTimeout(closetimer);
		closetimer = null;}}

$(document).ready(function()
{	$('#nav > li').bind('mouseover', nav_open);
	$('#nav > li').bind('mouseout',  nav_timer);});

document.onclick = nav_close;

/*--- advanced search ---*/
document.write(
'<style type="text/css">'+
	'.sub.field, .part2 .dlist, h2.more, .more .section, '+
	'h2.what, div.section.what { display: none; } '+
'</style>'
);

$(document).ready(function() {
	$('.where input[type="checkbox"]').click(checkChildren);
	
	$('.keyword input:first').focus(function(){
		$(this).val('');
		$(this).css('color', 'black');
	});
	
	$('.section.what input[type="checkbox"]').click( showSection );
	
	$('.part2 input[name="direction"]').change( chooseDestination );
	$('.part2 .dlist select').change( chooseRoute );
	$('#Departure').change( chooseDestination );
	
	$('.more .box input[type="checkbox"]').click( checkAll );
	
	$('input[type="submit"]').click( checkSearch );
}); // End document.ready

function checkChildren(e) {
	var all         = $('.where input[value="All Iceland"]');
	var checkboxes  = $('.where input[type="checkbox"]').not(all);
	var subfields   = $('.where .sub.field');
	var checked     = $(e.target).attr('checked');
	var isall       = $(e.target).attr('value') == 'All Iceland';
	var hasChildren = $(e.target).hasClass('hasChildren');
	var isChild     = $(e.target).parent().hasClass('sub');
	
	var children    = hasChildren ? $(e.target).parent().children('.sub.field') : '';
	var siblings    = isChild ? $(e.target).siblings().filter('input[type="checkbox"]') : '';
	var parent      = isChild ? $(e.target).parent().parent().children('input[type="checkbox"]:first') : '';
	
	if ( isall && checked ) {
		$(subfields).show();
		$(checkboxes).attr('checked', 'checked');
		
	} else if ( isall && !checked ) {
		$(subfields).hide();
		$(checkboxes).removeAttr('checked');
		
	} else if ( !isall && checked ) {
		if ( hasChildren ) {
			$(children).show();
			$(children).children('input[type="checkbox"]').attr('checked', 'checked');
		}
		
		if ( isChild ) {
			var all_checked = true;
			for ( var i=0; i<siblings.length; i++ ) {
				if ( !$(siblings[i]).attr('checked') ) {
					all_checked = false;
					$(parent).removeAttr('checked');
					$(all).removeAttr('checked');
					break;
				}
			}
			if ( all_checked ) $(parent).attr('checked', 'checked');
		}
		
		var all_checked = true;
		for ( var i=0; i<checkboxes.length; i++ ) {
			if ( !$(checkboxes[i]).attr('checked') ) {
				all_checked = false;
				$(all).removeAttr('checked');
				break;
			}
			if ( all_checked ) $(all).attr('checked', 'checked');
		}
		
	} else if ( !isall && !checked ) {
		$(all).removeAttr('checked');
		if ( isChild ) $(parent).removeAttr('checked');
		if ( hasChildren ) {
			$(children).children('input[type="checkbox"]').removeAttr('checked');
			$(children).hide();
		}
	}
	
	var none_checked = false;
	if ( !checked ) {
		none_checked = true;
		for ( var i=0; i<checkboxes.length; i++ ) {
			if ( $(checkboxes[i]).attr('checked') ) {
				none_checked = false;
				break;
			}
		}
	}
	
	if ( none_checked ) {
		$('.part2 *').removeAttr('disabled');
		$('.more .section input[type="checkbox"]').removeAttr('checked');
		$('.more .section').hide('slow');
		$('h2.more').hide('slow');
		$('.section.what input[type="checkbox"]').removeAttr('checked');
		$('h2.what').hide('slow');
		$('.section.what').hide('slow');
	} else {
		$('.part2 *').attr('disabled', 'disabled');
		$('h2.what').show('slow');
		$('.section.what').show('slow');
	}
} // End checkChildren function

function showSection(e) {
	var obj = e.target;
	var section_name = $(obj).attr('value');
	
	if ( $(obj).attr('checked') ) {
		if ( section_name == 'All' ) {
			$('.what input[type="checkbox"]').attr('checked', 'checked');
			$('.more .section input[type="checkbox"]').attr('checked', 'checked');
			$('.more .section').show('slow', setHeight);
		} else {
			$('.more .section.'+section_name+' input[type="checkbox"]').attr('checked', 'checked');
			$('.section.'+section_name).show('slow', setHeight);
		}
	} else {
		if ( section_name == 'All' ) {
			$('.what input[type="checkbox"]').removeAttr('checked');
			$('.more .section input[type="checkbox"]').removeAttr('checked');
			$('.more .section').hide('slow', setHeight);
		} else {
			$('.more .section.'+section_name+' input[type="checkbox"]').removeAttr('checked');
			$('.section.'+section_name).hide('slow', setHeight);
			$('.what input[value="All"]').removeAttr('checked');
		}
	}
	
	var checkboxes = $('.what input[type="checkbox"]').not('.what input[value="All"]');
	var all_checked = true;
	var none_checked = true;
	for ( var i=0; i<checkboxes.length; i++ ) {
		if ( $(checkboxes[i]).attr('checked') ) {
			none_checked = false;
		} else {
			all_checked = false;
		}
	}
	
	if ( all_checked ) $('.what input[value="All"]').attr('checked', 'checked');
	if ( none_checked ) {
		$('h2.more').slideUp('slow');
	} else {
		$('h2.more').slideDown('slow');
	}
	//setHeight();
} // End showSection function

function setHeight() {
	blocks = $('.more .section');
	$(blocks).height('auto');
	var max_height = 0;
	for ( var i=0; i<blocks.length; i++ ) {
		if ( $(blocks[i]).css('display') == 'block' ) {
			if ( $(blocks[i]).height() > max_height ) max_height = $(blocks[i]).height();
		}
	}
	if ( max_height > 0 ) $(blocks).height(max_height);
} // End setHeight function

function chooseDestination( e ) {
	var departure = $('#Departure').val();
	
	$('.part2 .dlist').hide();
	$('.route input[type="checkbox"]').removeAttr('checked');
	
	if ( departure == '' ) {
		$('.part2 select').val('');
		$('.part1 .where input[type="checkbox"]').removeAttr('disabled');
		$('.more .section input[type="checkbox"]').removeAttr('checked');
		$('.more .section').hide('slow');
		$('h2.more').hide('slow');
		$('.section.what input[type="checkbox"]').removeAttr('checked');
		$('h2.what').hide('slow');
		$('.section.what').hide('slow');
		return true;
	} else {
		$('.part1 .where input[type="checkbox"]').attr('disabled', 'disabled');
		$('h2.what').show('slow');
		$('.section.what').show('slow');
	}
	
	var direction = $('input[name="direction"]:checked').val();
	var dest_id   = departure + '_' + ((direction == 'clockwise')?'cwise':'ccwise');
	
	$('.part2 .dlist.'+dest_id).show();
} // End chooseDestination function

function chooseRoute(e) {
	$('.route input[type="checkbox"]').removeAttr('checked');
	//if ( $(e.target).val() != '' ) $('.route input[type="checkbox"]').attr('checked', 'checked');
	$('.route input[type="checkbox"]').removeAttr('checked');
	
	// If you want to see it work, uncomment the following line to show the
	// route checkboxes
//	$('.route').show();
	
	// If there's no destination selected, don't do anything.
	if ( $(e.target).val() == '' ) return true;
	
	// Get the values from the form
	// The direction is either clockwise or counterclockwise
	// The departure is the value from the first drop-down list labeled "from"
	// The destination is the value from the second drop-down list labeled "to"
	var direction   = $('input[name="direction"]:checked').val();
	var departure   = $('#Departure').val();
	var dest_id     = departure + '_' + ((direction == 'clockwise')?'cwise':'ccwise');
	var destination = $('.part2 .dlist.'+dest_id+' select').val();
	
	// Make an array which is a list of all of the hidden checkbox objects in
	// the route block
	var routes = $('.route input');
	
	var selected_routes = new Array();
	
	// Identify the values of the checkboxes which need to be checked
	// In the HTML code, these checkboxes are each identified by `value="xx"'
	// where the "xx" is the value that will be used to determine whether or not
	// to check the box
	// The values here must exactly match the value attribute of the <option>
	// element for the drop-down
	if ( direction == 'clockwise' ) {
		if ( departure == 'Reykjavík' ) {
			switch (destination) {
			case 'Borgarnes':
				selected_routes = ['a1'];
				break;
			case 'Blöndós':
				selected_routes = ['a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1'];
				break;
			default:
				break;
			} // End destination
		} // End departure
		if ( departure == 'Borgarnes' ) {
			switch (destination) {
			case 'Blöndós':
				selected_routes = ['b1'];
				break;
			case 'Akureyri':
				selected_routes = ['b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			default:
				break;
			}
		} // End departure = Borgarnes
		if ( departure == 'Blöndós' ) {
			switch (destination) {
			case 'Akureyri':
				selected_routes = ['c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			default:
				break;
			}
		} // End departure = Blöndós
		if ( departure == 'Akureyri' ) {
			switch (destination) {
			case 'Egilsstaðir':
				selected_routes = ['d1'];
				break;
			case 'Höfn':
				selected_routes = ['d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1'];
				break;
			default:
				break;
			}
		} // End departure = Akureyri
		if ( departure == 'Egilsstaðir' ) {
			switch (destination) {
			case 'Höfn':
				selected_routes = ['e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1'];
				break;
			default:
				break;
			}
		} // End departure = Egilsstaðir
		if ( departure == 'Höfn' ) {
			switch (destination) {
			case 'Kirkjubæjarklaustur':
				selected_routes = ['f1'];
				break;
			case 'Vík':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			default:
				break;
			}
		} // End departure = Höfn
		if ( departure == 'Kirkjubæjarklaustur' ) {
			switch (destination) {
			case 'Vík':
				selected_routes = ['g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			default:
				break;
			}
		} // End departure = Kirkjubæjarklaustur
		if ( departure == 'Vík' ) {
			switch (destination) {
			case 'Hvolsvöllur':
				selected_routes = ['h1'];
				break;
			case 'Selfoss':
				selected_routes = ['h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['h1','Hvolsvöllur','i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			default:
				break;
			}
		} // End departure = Vík
		if ( departure == 'Hvolsvöllur' ) {
			switch (destination) {
			case 'Selfoss':
				selected_routes = ['i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['i1','Selfoss','j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['i1','Selfoss','j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1'];

				break;
			default:
				break;
			}
		} // End departure = Hvolsvöllur
		if ( departure == 'Selfoss' ) {
			switch (destination) {
			case 'Hveragerði':
				selected_routes = ['j1'];
				break;
			case 'Reykjavík':
				selected_routes = ['j1','Hveragerði','k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['j1','Hveragerði','k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			default:
				break;
			}
		} // End departure = Selfoss
		if ( departure == 'Hveragerði' ) {
			switch (destination) {
			case 'Reykjavík':
				selected_routes = ['k1'];
				break;
			case 'Borgarnes':
				selected_routes = ['k1','Reykjavík','a1'];
				break;
			case 'Blöndós':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1'];
				break;
			case 'Akureyri':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1'];
				break;
			case 'Höfn':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1'];
				break;
			case 'Vík':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1'];
				break;
			case 'Selfoss':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1'];
				break;
			case 'Hveragerði':
				selected_routes = ['k1','Reykjavík','a1','Borgarnes','b1','Blöndós','c1','Akureyri','d1','Egilsstaðir','e1','Höfn','f1','Kirkjubæjarklaustur','g1','Vík','h1','Hvolsvöllur','i1','Selfoss','j1'];
				break;
			default:
				break;
			}
		} // End departure = Hveragerði
		
	} // End clockwise
	
	if ( direction == 'counterclockwise' ) {
		if (departure == 'Reykjavík') {
			switch (destination) {
			case 'Hveragerði':
				selected_routes = ['k1'];
				break;
			case 'Selfoss':
				selected_routes = ['k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Reykjavík
		if (departure == 'Hveragerði') {
			switch (destination) {
			case 'Selfoss':
				selected_routes = ['j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Hveragerði
		if (departure == 'Selfoss') {
			switch (destination) {
			case 'Hvolsvöllur':
				selected_routes = ['i1'];
				break;
			case 'Vík':
				selected_routes = ['i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Selfoss
		if (departure == 'Hvolsvöllur') {
			switch (destination) {
			case 'Vík':
				selected_routes = ['h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Hvolsvöllur
		if (departure == 'Vík') {
			switch (destination) {
			case 'Kirkjubæjarklaustur':
				selected_routes = ['g1'];
				break;
			case 'Höfn':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Vík
		if (departure == 'Kirkjubæjarklaustur') {
			switch (destination) {
			case 'Höfn':
				selected_routes = ['f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Kirkjubæjarklaustur
		if (departure == 'Höfn') {
			switch (destination) {
			case 'Egilsstaðir':
				selected_routes = ['e1'];
				break;
			case 'Akureyri':
				selected_routes = ['e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Höfn
		if (departure == 'Egilsstaðir') {
			switch (destination) {
			case 'Akureyri':
				selected_routes = ['d1'];
				break;
			case 'Blöndós':
				selected_routes = ['d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['d1','Akureyri','c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Egilsstaðir
		if (departure == 'Akureyri') {
			switch (destination) {
			case 'Blöndós':
				selected_routes = ['c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['c1','Blöndós','b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['c1','Blöndós','b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Akureyri
		if (departure == 'Blöndós') {
			switch (destination) {
			case 'Borgarnes':
				selected_routes = ['b1'];
				break;
			case 'Reykjavík':
				selected_routes = ['b1','Borgarnes','a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['b1','Borgarnes','a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Blöndós
		if (departure == 'Borgarnes') {
			switch (destination) {
			case 'Reykjavík':
				selected_routes = ['a1'];
				break;
			case 'Hveragerði':
				selected_routes = ['a1','Reykjavík','k1'];
				break;
			case 'Selfoss':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1'];
				break;
			case 'Hvolsvöllur':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1'];
				break;
			case 'Vík':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1'];
				break;
			case 'Kirkjubæjarklaustur':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1'];
				break;
			case 'Höfn':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1'];
				break;
			case 'Egilsstaðir':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1'];
				break;
			case 'Akureyri':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1'];
				break;
			case 'Blöndós':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1'];
				break;
			case 'Borgarnes':
				selected_routes = ['a1','Reykjavík','k1','Hveragerði','j1','Selfoss','i1','Hvolsvöllur','h1','Vík','g1','Kirkjubæjarklaustur','f1','Höfn','e1','Egilsstaðir','d1','Akureyri','c1','Blöndós','b1'];
				break;
			default:
				break;
			} // End destination
		} // End departure Borgarnes
		
	} // End counterclockwise
	
	// This block is for debugging, but I left it in because it should provide
	// some partial protection from typographical errors
	var all_routes = new Array();
	for ( var i=0; i<routes.length; i++ ) all_routes.push( $(routes[i]).val() );
	for ( var i=0; i<selected_routes.length; i++ ) {
		var route_checker = 0;
		for ( var j=0; j<routes.length; j++ ) {
			if ( selected_routes[i] == $(routes[j]).val() ) {
				route_checker++;
			}
		}
		if ( route_checker == 0 ) alert( 'direction: '+ direction+ ' / departure: '+ departure+ ' / destination: '+ destination+ ' / Unidentified route: "' + selected_routes[i] + '"' );
	}
	
	// Go through the list of selected routes and compare their values to the
	// route checkboxes
	for ( var i=0; i<selected_routes.length; i++ ) {
		for ( var j=0; j<routes.length; j++ ) {
			if ($(routes[j]).val() == selected_routes[i]) {
				$(routes[j]).attr('checked', 'checked');
			}
		}
	}
} // End chooseRoute function

function checkAll( e ) {
	var checked  = $(e.target).attr('checked');
	var isall    = $(e.target).attr('value') == 'All';
	var all      = isall ? e.target : $(e.target).siblings().filter('[value="All"]');
	var siblings = $(e.target).siblings().filter('input[type="checkbox"]').not(all);
	
	if ( isall && checked ) {
		$(siblings).attr('checked', 'checked');
	} else if ( isall && !checked ) {
		$(siblings).removeAttr('checked');
	} else if ( !isall && checked ) {
		var all_checked = true;
		for ( var i=0; i<siblings.length; i++ ) {
			if ( $(siblings[i]).attr('value') == 'All' ) continue;
			if ( !$(siblings[i]).attr('checked') ) {
				$(all).removeAttr('checked');
				all_checked = false;
				break;
			}
		}
		if ( all_checked ) $(all).attr('checked', 'checked');
	} else if ( !isall && !checked ) {
		$(all).removeAttr('checked');
	}
} // End checkAll function

function checkSearch(e) {
	if ( $('#CAT_txtKeywords3').val() == 'enter keyword (optional)' ) $('#CAT_txtKeywords3').val('');
} // End checkSearch function
