//Código javascrip para el diseño de menús desplegables

Browsercheck:
ie=document.all?1:0
n=document.layers?1:0

//Variables

//Zona visible en el estado out
lshow=178
//Pixels que se mueven por paso 
var move=10;
//Velocidad (milisegundos)
menuSpeed=40
//Para mover el menu con el scroll de la página
var moveOnScroll=true

//Definición de variables
var tim;
var ltop;

//Constructor del objeto 
function makeMenu(obj,nest){
    nest=(!nest) ? '':'document.'+nest+'.'
    this.css=(n) ? eval(nest+'document.'+obj):eval(obj+'.style')						
	this.state=1
	this.go=0
	this.width=n?this.css.document.width:eval(obj+'.offsetWidth')
	this.left=b_getleft
    this.obj = obj + "Object"; 	eval(this.obj + "=this")
}
//Obtiene la posición top
function b_getleft(){
	var gleft=(n) ? eval(this.css.left):eval(this.css.pixelLeft);
	return gleft;
}
/********************************************************************************
Movimiento del menú1
********************************************************************************/
function moveMenu1(){
	if(!oMenu1.state){
		clearTimeout(tim)
		mIn1()	
	}else{
		clearTimeout(tim)
		mOut1()
	}
}
//Menu in
function mIn1(){
	if(oMenu1.left()>-oMenu1.width+lshow){
		oMenu1.go=1
		oMenu1.css.left=oMenu1.left()-move
		tim=setTimeout("mIn1()",menuSpeed)
	}else{
		oMenu1.go=0
		oMenu1.state=1
	}
}
//Menu out
function mOut1(){
	if(oMenu1.left()<0){
		oMenu1.go=1
		oMenu1.css.left=oMenu1.left()+move
		tim=setTimeout("mOut1()",menuSpeed)
	}else{
		oMenu1.go=0
		oMenu1.state=0
	}	
}
/********************************************************************************
Comprueba si la página tiene scroll
********************************************************************************/
function checkScrolled1(){
	if(!oMenu1.go) oMenu1.css.top=eval(scrolled)+ltop
	if(n) setTimeout('checkScrolled1()',100)
}

/********************************************************************************
Movimiento menu2
********************************************************************************/
function moveMenu2(){
	if(!oMenu2.state){
		clearTimeout(tim)
		mIn2()	
	}else{
		clearTimeout(tim)
		mOut2()
	}
}
//Menu in
function mIn2(){
	if(oMenu2.left()>-oMenu2.width+lshow){
		oMenu2.go=1
		oMenu2.css.left=oMenu2.left()-move
		tim=setTimeout("mIn2()",menuSpeed)
	}else{
		oMenu2.go=0
		oMenu2.state=1
	}
}
//Menu out
function mOut2(){
	if(oMenu2.left()<0){
		oMenu2.go=1
		oMenu2.css.left=oMenu2.left()+move
		tim=setTimeout("mOut2()",menuSpeed)
	}else{
		oMenu2.go=0
		oMenu2.state=0
	}	
}

/********************************************************************************
Comprueba si la página tiene scroll
********************************************************************************/
function checkScrolled2(){
	if(!oMenu2.go) oMenu.css.top=eval(scrolled)+ltop
	if(n) setTimeout('checkScrolled2()',100)
}

/********************************************************************************
Movimiento menu3
********************************************************************************/
function moveMenu3(){
	if(!oMenu3.state){
		clearTimeout(tim)
		mIn3()	
	}else{
		clearTimeout(tim)
		mOut3()
	}
}
//Menu in
function mIn3(){
	if(oMenu3.left()>-oMenu3.width+lshow){
		oMenu3.go=1
		oMenu3.css.left=oMenu3.left()-move
		tim=setTimeout("mIn3()",menuSpeed)
	}else{
		oMenu3.go=0
		oMenu3.state=1
	}
}
//Menu out
function mOut3(){
	if(oMenu3.left()<0){
		oMenu3.go=1
		oMenu3.css.left=oMenu3.left()+move
		tim=setTimeout("mOut3()",menuSpeed)
	}else{
		oMenu3.go=0
		oMenu3.state=0
	}	
}

/********************************************************************************
Comprueba si la página tiene scroll
********************************************************************************/
function checkScrolled3(){
	if(!oMenu3.go) oMenu.css.top=eval(scrolled)+ltop
	if(n) setTimeout('checkScrolled2()',100)
}

/********************************************************************************
Movimiento menu4
********************************************************************************/
function moveMenu4(){
	if(!oMenu4.state){
		clearTimeout(tim)
		mIn4()	
	}else{
		clearTimeout(tim)
		mOut4()
	}
}
//Menu in
function mIn4(){
	if(oMenu4.left()>-oMenu4.width+lshow){
		oMenu4.go=1
		oMenu4.css.left=oMenu4.left()-move
		tim=setTimeout("mIn4()",menuSpeed)
	}else{
		oMenu4.go=0
		oMenu4.state=1
	}
}
//Menu out
function mOut4(){
	if(oMenu4.left()<0){
		oMenu4.go=1
		oMenu4.css.left=oMenu4.left()+move
		tim=setTimeout("mOut4()",menuSpeed)
	}else{
		oMenu4.go=0
		oMenu4.state=0
	}	
}
/********************************************************************************
Comprueba si la página tiene scroll
********************************************************************************/
function checkScrolled4(){
	if(!oMenu4.go) oMenu.css.top=eval(scrolled)+ltop
	if(n) setTimeout('checkScrolled4()',100)
}

/********************************************************************************
Movimiento menu5
********************************************************************************/
function moveMenu5(){
	if(!oMenu5.state){
		clearTimeout(tim)
		mIn5()	
	}else{
		clearTimeout(tim)
		mOut5()
	}
}
//Menu in
function mIn5(){
	if(oMenu5.left()>-oMenu5.width+lshow){
		oMenu5.go=1
		oMenu5.css.left=oMenu5.left()-move
		tim=setTimeout("mIn5()",menuSpeed)
	}else{
		oMenu5.go=0
		oMenu5.state=1
	}
}
//Menu out
function mOut5(){
	if(oMenu5.left()<0){
		oMenu5.go=1
		oMenu5.css.left=oMenu5.left()+move
		tim=setTimeout("mOut5()",menuSpeed)
	}else{
		oMenu5.go=0
		oMenu5.state=0
	}	
}
/********************************************************************************
Comprueba si la página tiene scroll
********************************************************************************/
function checkScrolled5(){
	if(!oMenu5.go) oMenu.css.top=eval(scrolled)+ltop
	if(n) setTimeout('checkScrolled5()',100)
}

/********************************************************************************
Al iniciar la página, se construyen los objetos y se muestran
********************************************************************************/
function menuInit(){
	oMenu1=new makeMenu('divMenu1')
	scrolled=n?"window.pageYOffset":"document.body.scrollTop"
	oMenu1.css.left=-oMenu1.width+lshow
	ltop=(n)?oMenu1.css.top:oMenu1.css.pixelTop;
	oMenu1.css.visibility='visible'
	if(moveOnScroll) ie?window.onscroll=checkScrolled1:checkScrolled1();

	oMenu2=new makeMenu('divMenu2')
	scrolled=n?"window.pageYOffset":"document.body.scrollTop"
	oMenu2.css.left=-oMenu2.width+lshow
	ltop=(n)?oMenu2.css.top:oMenu2.css.pixelTop;
	oMenu2.css.visibility='visible'
	if(moveOnScroll) ie?window.onscroll=checkScrolled2:checkScrolled2();

	oMenu3=new makeMenu('divMenu3')
	scrolled=n?"window.pageYOffset":"document.body.scrollTop"
	oMenu3.css.left=-oMenu3.width+lshow
	ltop=(n)?oMenu3.css.top:oMenu3.css.pixelTop;
	oMenu3.css.visibility='visible'
	if(moveOnScroll) ie?window.onscroll=checkScrolled3:checkScrolled3();

	oMenu4=new makeMenu('divMenu4')
	scrolled=n?"window.pageYOffset":"document.body.scrollTop"
	oMenu4.css.left=-oMenu4.width+lshow
	ltop=(n)?oMenu4.css.top:oMenu4.css.pixelTop;
	oMenu4.css.visibility='visible'
	if(moveOnScroll) ie?window.onscroll=checkScrolled4:checkScrolled4();

	oMenu5=new makeMenu('divMenu5')
	scrolled=n?"window.pageYOffset":"document.body.scrollTop"
	oMenu5.css.left=-oMenu5.width+lshow
	ltop=(n)?oMenu5.css.top:oMenu5.css.pixelTop;
	oMenu5.css.visibility='visible'
	if(moveOnScroll) ie?window.onscroll=checkScrolled5:checkScrolled5();

}
