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')) {
			var ul1 = item.getElement('ul');

			///* Second level menu canvas */
			ul1.underlayer({
				style: {
					height: ul1.getHeight() + 1
				},
				stroke: {
					size: 2,
					startColor: '#fff',
					endColor: '#fff'
				},
				fill: {
					startColor: '#52443B',
					endColor: '#52443B'
				},
				corners: 13
			});

			/* Second level menu canvas */
			ul1.getElements('li').each(function(sitem) {
var levelF = sitem.parentNode.className=='smenu';
				var corners = [0, 0, 0, 0];
				if(sitem.hasClass('first')) {
					corners = [13, 13, 0, 0];
				}
				if(sitem.hasClass('last')) {
					corners = [0, 0, 13, 13];
				}
//if(levelF) {
				sitem.underlayer({
					stroke: {
						size: 1,
						startColor: '#fff',
						endColor: '#fff'
					},
					fill: {
						startColor: '#960303',
						endColor: '#960303'
					},
					corners: corners
				});
//}	
			       if( sitem.getElement('ul')) {
			         var ul2 = sitem.getElement('ul');

			///* Second level menu canvas */
			         ul2.underlayer({
				  style: {
					height: ul2.getHeight() + 1
				  },
				  stroke: {
					size: 2,
					startColor: '#fff',
					endColor: '#fff'
				  },
				  fill: {
					startColor: '#52443B',
					endColor: '#52443B'
				  },
				  corners: 13
			          });

			          /* Third level menu canvas */
			          ul2.getElements('li').each(function(lsitem) {

				    var corners = [0, 0, 0, 0];
				    if(lsitem.hasClass('first')) {
					corners = [13, 13, 0, 0];
				    }
				    if(lsitem.hasClass('last')) {
					corners = [0, 0, 13, 13];
				    }

				    lsitem.underlayer({
					stroke: {
						size: 1,
						startColor: '#fff',
						endColor: '#fff'
					},
					fill: {
						startColor: '#860303',
						endColor: '#860303'
					},
					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();
	
	$('foot').setStyle('border', 'solid 1px #000000');
	$('foot').setStyle('border', 'solid 0px #000000');
}



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 setCalendarCanvas() {
	if(!$('popupCalendar')) return;
	$('popupCalendar').underlayer({
		fill: {
			startColor: '#FDD7C8',
			endColor: '#FDD7C8'
		},
		stroke: {
			size: 3,
			startColor: '#EE7443',
			endColor: '#EE7443'
		}
	});	
	
	
}

function popupClose() {
	if(!$('popup')) return;
	$('popup').addClass('closed');
}

function popupOpen() {
	if(!$('popup')) return;
	setPopupCanvas();
	$('popup').removeClass('closed');
}



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;
		}		
	})	


	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();
	
	$$('.select').each(function(sel) {
		initializeSelect(sel);
	})
	
});


window.addEvent('load', function() {

	setTplDimensions();
	setCentralCanvas();
	setSideCanvas();

});