window.addEvent('domready', function() {
	$$('#navMenu > li').each( function(ele) {
		if(ele.getElements('ul').length>0) {
			ele.getElement('ul').fade('hide');
			ele.getElement('ul').setStyle('display', 'block');
			if(is_touch_device()) {
				ele.addEvent('click', function(e) {
					if(!ele.hasClass("selected") && ele.getChildren("ul").length) {
						ele.getElement('ul').fade('in');
						ele.addClass("selected");
						if(ele.getChildren("A") && e.target==ele.getChildren("A")[0]) {
							e.preventDefault();
						}
/*						if(ele.getSiblings("li.selected").length) {
							ele.getSiblings("li.selected").each( function(sibling) {
								sibling.getElement('ul').fade('out');
								sibling.removeClass("selected");
							});
						}*/
					}
				});
				$(document.body).addEvent('click',function(e) {
					if((ele != e.target) && !$(e.target).getParents().contains(ele)) { 
						ele.getElement('ul').fade('out');
						ele.removeClass("selected");
					}
				});
			} else {
				ele.addEvent('mouseenter', function() {
					ele.getElement('ul').fade('in');
				});
				ele.addEvent('mouseleave', function() {
					ele.getElement('ul').fade('out');
				});
			}
		}
	});

	var toolsFX = new Fx.Reveal($('toolsContainer'));
	$$('#toolsHandle li').addEvent('click', function() {
		toolsFX.toggle();
	});
	$$('a.mediaPlayer').addEvent('click',function() {
		var width = 500;
		var height = 200;
		
		var regExp = /([a-z]+)\[(\d+),(\d+)\]/i;
		var varArr = regExp.exec(this.get('rel'));
		if(varArr) {
			if(varArr[1]=="video") {
				if(varArr[2]!=0)
					width = parseInt(varArr[2]);
				if(varArr[3]!=0)
					height = parseInt(varArr[3]);
			}
			width+=37;
			height+=95;
			newWin = window.open(this.get('href'),"newWin","width=" + width + ",height=" + height);
			newWin.focus();
		}
		return false;
	});
	
	if($('printTool')) {
		$('printTool').addEvent('click', function() {
			print();
			return false;
		});
	}
});

function getNodeText(node) {
	if(!node.text) 
		return node.textContent;
	else 
		return node.text;
	
}