// JavaScript Document
function dimension(win, otro) {
	var result = win ? win : 0;
	return otro && (!result || (result > otro)) ? otro : result;
}
function ContainerWidth(container) {
contenedor=document.getElementById(container);
	return parseInt(dimension (
		contenedor.innerWidth ? contenedor.innerWidth : 0,
		contenedor.clientWidth ? contenedor.clientWidth : 0
		/*document.body ? document.body.clientWidth : 0*/
	));
}
function ContainerHeight(container) {
contenedor=document.getElementById(container);
	return parseInt(dimension (
		contenedor.innerHeight ? contenedor.innerHeight : 0,
		/*contenedor.clientHeight ? contenedor.clientHeight : 0*/
		contenedor.clientHeight ? contenedor.clientHeight : 0
	));
}
function ContainerLeft(container) {
	return parseInt(dimension (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? container.scrollLeft : 0
	));
}
function ContainerTop(container) {
	return parseInt(dimension (
		container.pageYOffset ? container.pageYOffset : 0,
		document.documentElement ? container.scrollTop : 0
	));
}
function insideWidth(obj, element)
{
	var act=document.getElementById(obj);
	var divs=act.getElementsByTagName(element);
	var inner =0;
	var j=0;
	for (var i = 0; i < divs.length; i++)
	{
		if(divs[i].parentNode.id==act.id)
		{
			//if(divs[i].hasChildNodes())
			//{
				if(divs[i].className!="nav")
				{
				inner=inner+ContainerWidth(divs[i].id);
				j++;
				}
			//}
		}
	}
	inner=inner-60;
	return inner;
}
function insideHeight(obj, element)
{
	var act=document.getElementById(obj);
	var divs=act.getElementsByTagName(element);
	var inner =0;
	var j=0;
	for (var i = 0; i < divs.length; i++)
	{
		if(divs[i].parentNode.id==act.id)
		{
			//if(divs[i].hasChildNodes())
			//{
				if(divs[i].className!="nav")
				{
				inner=inner+ContainerHeight(divs[i].id);
				j++;
				}
			//}
		}
	}
	return inner;
}
function hijosWidth(obj, element)
{
	var act=document.getElementById(obj);
	var divs=act.getElementsByTagName(element);
	var widthArray = Array();
	var j=0;
	for (var i = 0; i < divs.length; i++)
	{
		if(divs[i].parentNode.id==act.id)
		{
			//if(divs[i].hasChildNodes())
			//{	
				if(divs[i].className!="nav")
				{
				widthArray[j]=ContainerWidth(divs[i].id);
				j++;
				}
			//}
		}
	}
	return widthArray;
}
function hijosHeight(obj, element)
{
	var act=document.getElementById(obj);
	var divs=act.getElementsByTagName(element);
	var heightArray = Array();
	var j=0;
	for (var i = 0; i < divs.length; i++)
	{
		if(divs[i].parentNode.id==act.id)
		{
			//if(divs[i].hasChildNodes())
			//{
				if(divs[i].className!="nav")
				{	
				heightArray[j]=ContainerHeight(divs[i].id);
				j++;
				}
			//}
		}
	}
	return heightArray;
}
function navs(obj, element)
{
	var act=document.getElementById(obj);
	var divs=act.getElementsByTagName(element);
	var firstborn = Array();
	var j=0;
	for (var i = 0; i < divs.length; i++)
	{
		if(divs[i].parentNode.id==act.id)
		{
			//if(divs[i].hasChildNodes())
			//{
				if(divs[i].className=="nav")
				{
				firstborn[j]=divs[i].id;
				j++;
				}
			//}
		}
	}
	return firstborn;
}
function firstborn(obj, element)
{
	var act=document.getElementById(obj);
	var divs=act.getElementsByTagName(element);
	var firstborn = Array();
	var j=0;
	for (var i = 0; i < divs.length; i++)
	{
		if(divs[i].parentNode.id==act.id)
		{
			//if(divs[i].hasChildNodes())
			//{
				if(divs[i].className!="nav")
				{
				firstborn[j]=divs[i].id;
				j++;
				}
			//}
		}
	}
	return firstborn;
}

function resize()
{
setupmenu();
setuppage();
}
window.onresize=resize;
function menu(obj, dvs, hijo, nieto){
this.width = (ContainerWidth(obj));//devuelve la anchura del contenedor principal
this.height = ContainerHeight(obj);//devuelve la altura del contenedor principal
this.divWidth = insideWidth(obj, dvs);//devuelve la anchura total de los elementos segundarios "div"
this.divHeight = insideHeight(obj, dvs);//devuelve la altura total de los elementos segundarios "div"
this.hijos = firstborn(obj, hijo);//devuelve array de elementos segundarios "ul"
this.hijosWidth = hijosWidth(obj, hijo);//devuelve array la anchura de elementos segundarios individual
this.hijosHeight = hijosHeight(obj, hijo);//devuelve array la altura de elementos segundarios individual
this.navs = navs(obj, dvs);
this.nietos= firstborn(obj, hijo); 
for (var i in this.hijos)
this.nietos[this.hijos[i]]=firstborn(this.hijos[i], nieto)
this.nietoswidth=hijosWidth(obj, hijo)
for (var i in this.hijos)
this.nietoswidth[this.hijos[i]]=hijosWidth(this.hijos[i], nieto)
this.innerframe = (this.width) - (this.divWidth+170);
}
