window.addEvent('domready', function() {

	var cssPath = './warrenhouse_files/';
	var majorKey=getMajorKey();
	
	// If a style was previously used, then apply it
	if(Cookie.get('accessibilityStyle')){
		doStyle(Cookie.get('accessibilityStyle'));
	}

	function getMajorKey(){
		if(Cookie.get('majorKey')){
			return Cookie.get('majorKey');
		} else{
			return 1;
		}
	}
	// Apply the style
	function doStyle(styleName){
		new Asset.css(cssPath + styleName+'.css', {id: styleName});
		Cookie.set('accessibilityStyle', styleName);
	}
	
	// Navigate to the page
	function goTo(newLocation){
		window.location=newLocation;
	}
	
	// Slidey menu
	var accessibilitySlide= new Fx.Slide('accessibility');
	accessibilitySlide.hide();

	$('accessibilityToggle').addEvent('click', function(e){
		e = new Event(e);
		accessibilitySlide.toggle();
		navigationSlide.hide();
		e.stop();
	});
	
		
	// Keystroke listener and delegator
	document.onkeydown = function(event) {
		evt = event || window.event;
		el = evt.srcElement || evt.target;
		if (el.name)
			return true;

		switch (evt.keyCode) {
			
			// STYLE PAGES
			case 107: // + button
				doStyle("whlarge");
				return false;
				break;
			case 61: // + = button
				doStyle("whlarge");
				return false; 
				break;
			case 109: // - button
				doStyle("warrenhouse");
				return false;
				break;
			
			// SHOW/HIDE THE SLIDER 
			case 88: // x button
				accessibilitySlide.toggle(); 
				return false; 
				break;
				
				
			// TOP LEVEL PAGES - CHANGE MAJORKEY AND NAVIGATE
			case 49: // 1 button
				Cookie.set('majorKey', 1);
				goTo('index.php'); 
				return false;
				break;			
			case 50: // 2 button
				Cookie.set('majorKey', 2);
				goTo('conferencing.php');
				return false;
				break;
			case 51: // 3 button
				Cookie.set('majorKey', 3);
				goTo('weddings.php');
			 	return false;
			 	break;
			case 52: // 4 button
				Cookie.set('majorKey', 4);
				goTo('dining.php');
				return false;
				break;
			
			
			
			//SECOND LEVEL PAGES - NAVIGATE DEPENDING ON THE TOP PAGES (MAJORKEY)
						
			case 65: // a button
				switch(majorKey){
					case '1': // index pages
						goTo('history.php'); 
						return false;
						break;
					case '2': // conference pages
						goTo('conference_rooms.php');
						return false;
						break;										
					case '3': // wedding pages
						goTo('weddings_faq.php');
					 	return false;
						break;			
					case '4': // dining pages
						goTo('dinner_menu.php');
						return false;
						break;
				}
				return false; 
				break;
				
			case 66: // b button
				switch(majorKey){
					case '1': // index pages
						goTo('green_policy.php'); 
						return false;
						break;
					case '2': // conference pages
						goTo('london_room.php');
						return false;
						break;										
					case '3': // wedding pages
						goTo('weddings_suppliers.php');
					 	return false;
						break;			
					case '4': // dining pages
						goTo('canape.php');
						return false;
						break;
				}
				return false; 
				break;
				
			case 67:  // c button
				switch(majorKey){
					case '1': // index pages
						goTo('company.php'); 
						return false;
						break;
					case '2': // conference pages
						goTo('ballroom.php');
						return false;
						break;										
					case '3': // wedding pages
						goTo('downloads/wedding_booking.doc');
					 	return false;
						break;			
					case '4': // dining pages
						goTo('wine.php');
						return false;
						break;
				}
				return false; 
				break;
				
			case 68:  // d button
				switch(majorKey){
					case '1': // index pages
						goTo('downloads/brochure.pdf'); 
						return false;
						break;
					case '2': // conference pages
						goTo('conference_rates.php');
						return false;
						break;										
					case '3': // wedding pages
						goTo('downloads/wedding_brochure.pdf');
					 	return false;
						break;			
					case '4': // dining pages
						goTo('downloads/events_brochure.pdf');
						return false;
						break;
				}
				return false; 
				break;
				
			case 69:  // e button
				switch(majorKey){
					case '1': // index pages
						goTo('accomodation.php'); 
						return false;
						break;
					case '2': // conference pages
						goTo('buffet.php');
						return false;
						break;										
					case '3': // wedding pages
						goTo('wedding_menu.php');
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 70:  // f button
				switch(majorKey){
					case '1': // index pages
						goTo('gallery.php'); 
						return false;
						break;
					case '2': // conference pages
						goTo('reservation_enquiry.php');
						return false;
						break;										
					case '3': // wedding pages
						goTo('wine.php');
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 71:  // g button
				switch(majorKey){
					case '1': // index pages
						goTo('awards.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						goTo('wedding_enquiry.php');
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 72:  // h button
				switch(majorKey){
					case '1': // index pages
						goTo('testimonials.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						// do nothing
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 73:  // i button
				switch(majorKey){
					case '1': // index pages
						goTo('news_events.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						// do nothing
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 74:  // j button
				switch(majorKey){
					case '1': // index pages
						goTo('location.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						// do nothing
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 75:  // k button
				switch(majorKey){
					case '1': // index pages
						goTo('places_of_interest.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						// do nothing
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 76:  // l button
				switch(majorKey){
					case '1': // index pages
						goTo('contact.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						// do nothing
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 77:  // m button
				switch(majorKey){
					case '1': // index pages
						goTo('wedding_enquiry.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						// do nothing
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 78: // n button
				switch(majorKey){
					case '1': // index pages
						goTo('reservation_enquiry.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						// do nothing
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 79:  // o button
				switch(majorKey){
					case '1': // index pages
						goTo('feedback.php'); 
						return false;
						break;
					case '2': // conference pages
						// do nothing
						return false;
						break;										
					case '3': // wedding pages
						// do nothing
					 	return false;
						break;			
					case '4': // dining pages
						// do nothing
						return false;
						break;
				}
				return false; 
				break;
				
			case 80:  // p button
				goTo('accessibility.php'); 
				return false; 
				break;
		}
		return true;
	}
});

//
// List of keys and their keycodes
//	
//backspace  	8
//tab 	9
//enter 	13
//shift 	16
//ctrl 	17
//alt 	18
//pause/break 	19
//caps lock 	20
//escape 	27
//page up 	33
//page down 	34
//end 	35
//home 	36
//left arrow 	37
//up arrow 	38
//right arrow 	39
//down arrow 	40
//insert 	45
//delete 	46
//0 	48
//1 	49
//2 	50
//3 	51
//4 	52
//5 	53
//6 	54
//7 	55
//8 	56
//9 	57
//a 	65
//b 	66
//c 	67
//d 	68
//e 	69
//f 	70
//g 	71
//h 	72
//i 	73
//j 	74
//k 	75
//l 	76
//m 	77
//n 	78
//o 	79
//p 	80
//q 	81
//r 	82
//s 	83
//t 	84
//u 	85
//v 	86
//w 	87
//x 	88
//y 	89
//z 	90
//left window key 	91
//right window key 	92
//select key 	93
//numpad 0 	96
//numpad 1 	97
//numpad 2 	98
//numpad 3 	99
//numpad 4 	100
//numpad 5 	101
//numpad 6 	102
//numpad 7 	103
//numpad 8 	104
//numpad 9 	105
//multiply 	106
//add 	107
//subtract 	109
//decimal point 	110
//divide 	111
//f1 	112
//f2 	113
//f3 	114
//f4 	115
//f5 	116
//f6 	117
//f7 	118
//f8 	119
//f9 	120
//f10 	121
//f11 	122
//f12 	123
//num lock 	144
//scroll lock 	145
//semi-colon 	186
//equal sign 	187
//comma 	188
//dash 	189
//period 	190
//forward slash 	191
//grave accent 	192
//open bracket 	219
//back slash 	220
//close braket 	221
//single quote 	222