Position.GetWindowSize = function(w) {
    w = w ? w : window;
    var width = w.innerWidth || (w.document.documentElement.clientWidth || w.document.body.clientWidth);
    var height = w.innerHeight || (w.document.documentElement.clientHeight || w.document.body.clientHeight);
    return [width, height]
}

var _active = null;
var _click = false;
var _speed = 0.6
var _recoje_list = Array()
var _recoje_interval = null;
var _first_click = false;
var cuenta = 0;
var panel_destacado = null;
var tapa_desta = null;

if (navigator.userAgent.indexOf("Firefox")!=-1) document.write('<link href="/css/firefox.css" rel="stylesheet" type="text/css" />');
else document.write('<style>html{overflow:hidden;}</style>');

function initPage()
{
//alert("Start")
	if(navigator.appVersion.indexOf("MSIE 7.0")!=-1){
		if (typeof $("menu").down().down().onclick == "function"){
			//
			//alert(cuenta)
			go()
			return
		}
		cuenta++
		$("menu").down().down().onclick = function(){alert(cuenta)}
		setTimeout("initPage()",200)
	} else		
		go()
}

function resizeMe(){
	//alert(Position.GetWindowSize()[1]/5)
	/*var alto = Position.GetWindowSize()[1]/10
	$("logo").style.marginTop = (alto)+"px"
	$("content").style.marginTop = (alto+20)+"px"
	var main = $("main")*/
}


function isIE()
{
	return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}

function wrapElement( el, wrapper, clss) { 
	var newNode = document.createElement(wrapper);
	if (clss)newNode.setAttribute("class", clss) 
	var parent = el.parentNode; 
	newNode.appendChild(el.cloneNode(true));
	parent.replaceChild(newNode, el);  
} 

function go(){

	window.onresize = function(){resizeMe()}
	resizeMe()
	var menu = $("menu");
	if (menu)
	{	
		var firsts = menu.immediateDescendants()
		
		firsts.each(function(first){if(first.down().next())first.down().next().className+= " first"})
		var _links = menu.getElementsBySelector("a");
		
		var txt = "";
		_links.each(function(_link){
			if (_link.href.indexOf("#") == -1){
				_link.onclick = function (){
					
					/*parent = _active
					parent.ul.fade()
					while(parent = parent.aParent()){
						parent.ul.style.visibility="hidden"
					}
					var firsts = $("menu").immediateDescendants()
					firsts.each(function(first){first.down().style.visibility="hidden"})
					
					//$("menu").slideUp()
					
					/*wrapElement($("menu"),"div","slider")
					wrapElement($("menu").up(),"div","wrapper")
					$("menu").up().slideUp()*/
					/*var anchors = $("menu").getElementsBySelector("a")*/
					
					return true;
				}
			} else {
				var parent_descendants = $(_link.parentNode).immediateDescendants();
				var encontrado = false;
				var i = 0;
				_link.will_hide = false
				//
				while(!encontrado&&(i<parent_descendants.length)){
					var p = parent_descendants[i];
					if ((p.tagName=="DIV")&&(p.className.indexOf("wrapper")!=-1)){
						wrapper_elem = p
						encontrado = true;
					} 
					i++;
				}
				var _wrapper = $(wrapper_elem);
				var _slider = _wrapper.down();
				var _ul = _slider.down();
				if (_wrapper)
				{
					_link.wrapper = _wrapper;
					_link.slider = _slider;
					var uldim = _ul.getDimensions()
					_ul.realwidth = uldim.width
					_link.ul = _ul;
					_link.will_hide = true;
	
					/*
					*
					* TODO:
					*
					*/
					
					if(_link.parentNode.className.indexOf("select") != -1)
					{
						var lev = parseInt(_link.parentNode.parentNode.className.replace("level",""));
						var prev = _link.up();
						while(lev > 0 && prev.tagName.toUpperCase() == 'LI')
						{
							if(prev.className.indexOf("select") == -1)
							{
								prev.className += " select";
							}
							prev = $(prev.parentNode.parentNode.parentNode.parentNode);
							lev--;
						}
						if(_link.parentNode.className.indexOf("destacado")!= -1){
								panel_destacado = _link.up().up().up().up()
						}
						_active = _link;
					}
				}
				
				_link.expandElem = function (after){
					this.wrapper.style.left = this.slider.parentNode.parentNode.parentNode.offsetWidth + 20+ "px";
					this.slider.style.width = this.ul.realwidth+3+"px";	
					Effect.SlideDown(this.slider,{duration:_speed, afterFinish:after});	
				}
				_link.closeElem = function (after, before){
					this.slider.style.width = this.ul.realwidth+3+"px";
					Effect.SlideUp(this.slider,{duration:_speed, afterFinish: after, beforeStart: before})
				}
				_link.toggleElem = function (){
						this.closeElem(function(elem){
							var slider = elem.element
						 	var li = elem.element.up().up()
						 	var a = li.down()
							_click = false;
							slider.style.width = "";
							_active = a.aParent()
							li.className = li.className.replace("select", "");
						})
					}
	
				_link.onclick = function() {
					if (!_click)
					{
						_click = true;
						// aqu� quita la flecha
						if (!_first_click){
							/*if(not = document.getElementById("notiDestacada"))
								not.style.display = "none"*/
							if(tapa_desta != null){
								tapa_desta.style.background = "#192224"
								timeout = setTimeout("delete_tapa()",1100) 
							}
							_first_click = true
						}
						if(this.up().up().id != "menu")
							var this_lev = parseInt(this.parentNode.parentNode.className.replace("level",""));
						if(!this_lev)
							var this_lev = 1
						if (_active){
							
							var active_lev = parseInt(_active.parentNode.parentNode.className.replace("level",""));
							if (!active_lev)
								active_lev = 1
						}
						if (this == _active){
						
							this.toggleElem()
						} else {
							var _check = false;
							/* TODO: revisar esto */
							//alert(this_lev+" : "+active_lev)
							if(active_lev&&this_lev<=active_lev){
							//alert(this_lev+" : "+active_lev)
								populate_recoje_list(this);
							}
							//alert(_recoje_list.length)
							if (_recoje_list.length>0)
								_check = true
							//if(this.up().className.indexOf("select")==-1)
							this.up().className += " select";
							if (this.slider) {	
								_active = this;		
								if (!_check) {
								
									this.expandElem(function(elem){
										//elem.element.style.width = ""
										_click = false 
									});
								} else {
									_recoje_list.reverse()
									recoje_next()
								}
							}
	
						}
					}
					return false;
				};
			}
			_link.liParent = function() {
				if(!this.liparent){
					ul = this.up().up()
					if (ul.tagName.toUpperCase() == "UL" && ul.id != "menu"){
						li = ul.up().up().up()
						this.liparent = li
					} else {
						return null
					}
				}
				return this.liparent
			}
			_link.aParent = function (){
				if(!this.aparent && this.liParent())
					this.aparent = this.liParent().down()
				return this.aparent
			}
		});
		_links.each(function(_link){
				if(_link.parentNode.className.indexOf("select") != -1)
				{
				
					_link.slider.style.height = "auto";
					_link.slider.style.overflow = "visible";
					_link.wrapper.style.left = _link.slider.parentNode.parentNode.parentNode.offsetWidth + 20+ "px";
				} else {
					if(_link.will_hide == true)	_link.slider.hide()
				}
				
		});
		
		
	}
	
	document.getElementById("content").style.visibility="visible" 
	if(panel_destacado!=null){
		tapa_desta = document.createElement("div");
		tapa_desta.className = "arrow";
		tapa_desta.id = "tapa_desta"
		tapa_desta.style.position = "absolute"
		tapa_desta.style.left = panel_destacado.style.left;
		tapa_desta.style.top = "65px"
		tapa_desta.style.width = panel_destacado.getWidth()+5+"px"
		tapa_desta.style.height = panel_destacado.getHeight()+"px"
		var where = panel_destacado.getWidth()-10
		tapa_desta.style.background = "#192224 url(/images/arrow.gif) no-repeat "+where+"px 11px";
		//tapa_desta.innerHTML = "hola";
		document.getElementById("content").appendChild(tapa_desta)
		//(panel_destacado.style.left);
	}
}

function visi(nr)
{
	if (document.layers)
	{
		vista = (document.layers[nr].visibility == 'hide') ? 'show' : 'hide'
		document.layers[nr].visibility = vista;
	}
	else if (document.all)
	{
		vista = (document.all[nr].style.visibility == 'hidden') ? 'visible'	: 'hidden';
		document.all[nr].style.visibility = vista;
	}
	else if (document.getElementById)
	{
		vista = (document.getElementById(nr).style.visibility == 'hidden') ? 'visible' : 'hidden';
		document.getElementById(nr).style.visibility = vista;

	}
}

function recoje_next (){
	//alert(_recoje_list.length)
	if(elem = _recoje_list.pop()){
		//elem.style.background = "#fff"
		elem.closeElem(function(elem){
			var slider = elem.element
		 	var li = elem.element.up().up()
		 	var a = li.down()
			_click = false
			slider.style.width = ""
			li.className = li.className.replace("select", "")
			
		}, function(elem){
			//alert(_speed*0.8*1000)
			setTimeout("recoje_next()",_speed*750)
		} )
	}else{
		
		setTimeout("expand_active()",150)
	}
}

function expand_active() {
	if (_active)
	{
		_active.expandElem(function(elem){
								//elem.element.style.width = ""
								_click = false
							});	
	}
}

function populate_recoje_list(click_elem){
	if(_active){
		recursive_elem = _active
		while (click_elem.liParent()!=recursive_elem.liParent()){
			_recoje_list.push(recursive_elem)
			recursive_elem = recursive_elem.aParent()
			//alert(recursive_elem)
		}
		_recoje_list.push(recursive_elem)
	}
}

function delete_tapa(){
	document.getElementById("content").removeChild(tapa_desta)
}
