function menu() {	
	//console.log(menus);
	
	$A($$('#menuCabecera ul li a')).each(function(el, i ) {
		
		el.setStyle('padding-top', 0);
	});
	
	$('menuCabecera').setStyle('display', 'block');
	
	$A($$('#menuCabecera ul li a')).each(function(el, i ) {
		
		//console.log(el);
	
		var menuTexto = el.getText();
		el.setText('');
		
		el.addEvents({
			'mouseover' : mover.bindWithEvent(el, 'down'),
			'mouseout' : mover.bindWithEvent(el, 'up')
		});

		function mover(e, action) {
			if(action == 'down'){
				this.effect('padding-top', {duration: 130, transition: Fx.Transitions.linear}).start(100, 110);
			}
			else if(action == 'up') {				
				this.effect('padding-top', {duration: 130, transition: Fx.Transitions.linear}).start(110, 100);
			}
				
		}

		addEffect.pass(el).delay(i * 500);

		function addEffect(actual) {
			var myEffects = new Fx.Styles(el, {duration: 1500, transition: Fx.Transitions.elasticOut});
 
			myEffects.start({
		    'padding-top': [0, 100]
		    //'padding-top': [0, (i != 4) ? 100 : 82],
		    //'opacity': [0, 1]
			});
			actual.effect('opacity', {duration: 500, transition: Fx.Transitions.linear}).start(0, 1);
		}

		//console.log(el.text);

		setTitle.pass([el, menuTexto]).delay((i + 1) * 500);
		//el.setText(menuTexto);
	})

	function setTitle(dest, text) {
		var fontSize = 0;
		if(document.getElementsByTagName('body')[0].getStyle) {
			fontSize = document.getElementsByTagName('body')[0].getStyle('font-size');
			fontSize = fontSize.replace(/px$/, '');
		}
		
/*		var p = new Element('p').setStyles({
			'color' : '#fff',
			'margin' : '5.5em 0.7em 0 0.7em'
		}).injectInside(dest);
	*/	
		var nText = text.length;
		for(var i = 0 ; i < nText ; i++) {
			addChar.pass([dest, text.charAt(i)]).delay(i * 100);
		}

		function addChar(dest, char) {
			var tamInicial = parseSize(dest.getStyle('height'));

			dest.setText(dest.getText() + char);

			var tamFinal = parseSize(dest.getStyle('height'));

			if(dest.getText().length > 1 && tamInicial != tamFinal && fontSize > 0) {
				var actualMargin = parseSize(dest.getStyle('margin-top'));

				actualMargin = actualMargin - (tamFinal - tamInicial);
				dest.setStyle('margin-top', actualMargin + 'px');
			}

			function parseSize(size) {
			
				if(size.search(/em$/) != -1) {
					size = size.replace(/em$/, '');
					size *= fontSize;
				}
				else if(size.search(/px$/) != -1)
					size = size.replace(/px$/, '');

				return size;
			}
		}
	}

	function matrix(dest, cadena) {
		dest.setText('');
		var letras = 'abcdefghijklmnñopqrstuvwxyz';
		var nText = cadena.length;
			
		//console.log("length: " + nText);
			
		for(var i = 0 ; i < nText ; i++) {			
			addChar.pass([dest, letras.charAt(Math.round(letras.length * Math.random()))]).delay(i * 100);
			setDestText.pass([dest, cadena]).delay(nText * 100);
				
			//console.log(i);			
		}			
			
		function addChar(dest, char) {
			dest.setText(dest.getText() + char);
		}
			
		function setDestText(dest, str) {
			dest.setText(str)
		}
	}
}

