function setTableHover(table) {
	
	table.getElements('tr').each(function(tr) {
		if(tr.hasClass('inactive')) return;
		tr.addEvents({
			'mouseenter': function() {
				this.addClass('active');
			},
			'mouseleave': function() {
				this.removeClass('active');
			}
		});										  
	});
	
}

function menuInitialize() {
	
	$('navy').getElements('li').each(function(item) {
		item.addEvents({
			'mouseenter': function() {
				this.addClass('hover');
			},
			'mouseleave': function() {
				this.removeClass('hover');
			}
		});
	});
	
	$('navy').getChildren().each(function(item) {

		if(Browser.Engine.presto) {
			item.setStyle('width', item.getWidth());
		}

		/* First level menu canvas */
		item.underlayer({
			stroke: {
				size: 2,
				startColor: '#fff',
				endColor: '#fff'
			},
			fill: {
				startColor: '#B50505',
				endColor: '#3F0202'
			},
			corners: 13
		});
		
		/* First level menu canvas dot */
		item.underlayer({
			style: {
				add: 'underlayer underlayerDot',
				width: 16,
				height: 16
			},
			fill: {
				startColor: '#ffffff',
				endColor: '#ffffff'
			},
			corners: 8
		});
		
		if(item.getElement('ul')) {
			///* Second level menu canvas */
			item.getElement('ul').underlayer({
				style: {
					height: item.getElement('ul').getHeight() + 1
				},
				stroke: {
					size: 2,
					startColor: '#fff',
					endColor: '#fff'
				},
				fill: {
					startColor: '#52443B',
					endColor: '#52443B'
				},
				corners: 13
			});
			/* Second level menu canvas */
			item.getElements('li').each(function(sitem) {
				var corners = [0, 0, 0, 0];
				if(sitem.hasClass('first')) {
					corners = [13, 13, 0, 0];
				}
				if(sitem.hasClass('last')) {
					corners = [0, 0, 13, 13];
				}

				sitem.underlayer({
					stroke: {
						size: 1,
						startColor: '#fff',
						endColor: '#fff'
					},
					fill: {
						startColor: '#960303',
						endColor: '#960303'
					},
					corners: corners
				});
			});
		}
	});	
	
}


function setCentralCanvas() {
	
	$('central').getElements('.brown').each(function(box) {
		if(box.getElement('.underlayer')) box.getElement('.underlayer').destroy();
		box.underlayer({
			style: {
				left: 0
			},
			fill: {
				startColor: '#4C0C08'.hexToRgb(true).include(0.5),
				endColor: '#610F0B'.hexToRgb(true).include(0.5)
			},
			corners: 13
		});
	});

	$('central').getElements('.white').each(function(box) {
		if(box.getElement('.underlayer')) box.getElement('.underlayer').destroy();
		box.underlayer({
			style: {
				left: Browser.Engine.trident4 ? -3 : 0
			},
			stroke: {
				size: 2,
				startColor: '#EE7443',
				endColor: '#EE7443'
			},
			fill: {
				startColor: '#ffffff',
				endColor: '#ffffff'
			}
		});
	});	
	
}

function setSideCanvas() {
	
	$('rside').underlayer({
		fill: {
			startColor: '#A92111'.hexToRgb(true).include(0.5),
			endColor: '#A92111'.hexToRgb(true).include(0.5)
		},
		corners: [0, 0, 10, 10]
	});

	if($('index')) {
		
		$('lside').underlayer({
			fill: {
				startColor: '#A92111'.hexToRgb(true).include(0.5),
				endColor: '#A92111'.hexToRgb(true).include(0.5)
			},
			corners: [0, 0, 10, 10]
		});
		
		if($('randPhoto')) {
			$('randPhoto').underlayer({
				fill: {
					startColor: '#9C2615',
					endColor: '#BB2F18'
				}
			});
		}
		
		if($('ratings')) {
			$('ratings').getElement('.content').underlayer({
				fill: {
					startColor: '#FF912D',
					endColor: '#FF912D'
				},
				corners: [0, 0, 10, 10]
			});
		}

	} else {
		
		$('lside').getElements('.undl').underlayer({
			fill: {
				startColor: '#A92111'.hexToRgb(true).include(0.5),
				endColor: '#A92111'.hexToRgb(true).include(0.5)
			},
			corners: 0
		});
		
		$('lside').getElements('.undl2').underlayer({
			fill: {
				startColor: '#A92111'.hexToRgb(true).include(0.5),
				endColor: '#A92111'.hexToRgb(true).include(0.5)
			},
			corners: [0, 0, 10, 10]
		});
		
		$('lside').setStyle('background-color', 'transparent');
		
	}	
}

function setTplDimensions() {
	if($('ratings') && $('randPhoto')) {
		var height = Math.max($('ratings').getHeight(), $('randPhoto').getHeight())
		$('ratings').getElement('.content').setStyle('height', height - 51);
		$('randPhoto').setStyle('height', height - 20);
	}
	if($('lside') && $('central').getElement('.brown')) {
		var height = Math.max($('lside').getHeight(), $('central').getElement('.brown').getHeight())
		$('central').getElement('.brown').setStyle('height', height - 38);
		$('lside').setStyle('height', height - 15);
	}	
	if($('index')) $('rside').setStyle('height', $('content').getHeight() - 187);	
}


function toggleBox(index) {
	var box = $('box' + index);
	var toggler = box.getPrevious();

	box.toggleClass('closed');
	
	if(box.hasClass('closed')) {
		toggler.addClass('closed');
	} else {
		toggler.removeClass('closed');
	}
	
	setCentralCanvas();
}



function setPopupCanvas() {
	if(!$('popup')) return;
	
	$('popup').getElements('.underlayer').each(function(canvas) {
		canvas.destroy();
	});
	
	$('popup').underlayer({
		style: {
			zindex: -2
		},
		stroke: {
			size: 2,
			startColor: '#EE7443',
			endColor: '#EE7443'
		},
		fill: {
			startColor: '#ffffff',
			endColor: '#ffffff'
		}
	});	

	$('popup').getElement('.head').underlayer({
		fill: {
			startColor: '#F4BFAA',
			endColor: '#F4BFAA'
		},
		corners: [11, 11, 0, 0]
	});	

	$('popup').getElement('.foot').underlayer({
		fill: {
			startColor: '#F4BFAA',
			endColor: '#F4BFAA'
		},
		corners: [0, 0, 11, 11]
	});	

}

function popupClose() {
	if(!$('popup')) return;
	$('popup').addClass('closed');
}

function popupOpen() {
	if(!$('popup')) return;
	setPopupCanvas();
	$('popup').removeClass('closed');
}


function setCalendarCanvas() {
	$$('.popupCalendar').underlayer({
		fill: {
			startColor: '#FDD7C8',
			endColor: '#FDD7C8'
		},
		stroke: {
			size: 3,
			startColor: '#EE7443',
			endColor: '#EE7443'
		}
	});	
	
}

function calendarOpenInit() {
	
	$$('a.calendar').each(function(caller) {
		caller.addEvent('click', function() {
			var cc = caller.getCoordinates('page');
			$('popupCalendar').removeClass('closed');
			$('popupCalendar').set('styles', {
				'top': cc.top + cc.height + 10,
				'left': cc.left - 250
			});
			// Set styles to appear below calendar link
		});
	})
	
}


function initializeSelect(selectHolder) {
	var list = selectHolder.getElement('ul');
	var text = selectHolder.getElement('span');
	var inp = selectHolder.getElement('input');
	
	selectHolder.addEvent('click', function() {
		this.toggleClass('opened');
		this.opened = this.hasClass('opened');
	})
	
	list.getElements('li').each(function(li) {
		li.addEvents({
			'click': function() {
				inp.set('value', this.get('title'));
				text.set('text', this.get('text'));
			},
			'mouseenter': function() {
				this.addClass('active');
			},
			'mouseleave': function() {
				this.removeClass('active');
			}			
		})
	});
	
	document.addEvent('click', function(event) {
		if(selectHolder.opened && event.target != selectHolder) {
			selectHolder.removeClass('opened');
			selectHolder.opened = false;
		}		
	})	
}



/* Unfortunately IE needs all content to be loaded to init canvas. */
window.addEvent(Browser.Engine.trident ? 'load': 'domready', function() {
	
	$('content').getElements('table.hasHover').each(function(table) {
		setTableHover(table);
	});
	menuInitialize();
	setPopupCanvas();
	setCalendarCanvas();
	calendarOpenInit();
	
	$$('.select').each(function(sel) {
		initializeSelect(sel);
	})
	
	
	
});


window.addEvent('load', function() {

	setTplDimensions();
	setCentralCanvas();
	setSideCanvas();

});