














 






/**********************************************************************************
Inicio SlideMenu 2.0
*   Copyright (C) 2002 Thomas Brattli
*   This script was released at DHTMLCentral.com
*   Visit for more great scripts!
*   This may be used and changed freely as long as this msg is intact!
*   We will also appreciate any links you could give us.
*
*   Made by Thomas Brattli
*
*Script date: 08/20/2002 (keep this date to check versions)

** Feel free to remove all comments in this file (and the HTML file)
** as long the copyright message is intact to make the files smaller.
*********************************************************************************/

/************************************************************************************
Making cross-browser objects
************************************************************************************/
function makeMenuObj(obj,nest){
	nest=(!nest) ? "":'document.'+nest+'.'
	this.evnt = document.getElementById?document.getElementById(obj):document.all?document.all[obj]:document.layers?eval(nest+'document.'+obj):0;	
	this.css = this.evnt.style?this.evnt.style:this.evnt;										
	this.ref=document.layers?this.evnt.document:document;		
	this.x=this.css.left||this.evnt.offsetLeft;
	this.y=this.css.top||this.evnt.offsetTop;		
	this.hideIt=b_hideIt; this.showIt=b_showIt; this.movey=b_movey
	this.moveIt=b_moveIt; this.moveBy=b_moveBy; this.status=0; 
	this.bgImg=b_bgImg;	this.obj = obj + "Object"; eval(this.obj + "=this"); 
	this.clipTo=b_clipTo;
	return this
}
function b_showIt(){this.css.visibility="visible"; this.status=1}
function b_hideIt(){this.css.visibility="hidden"; this.status=0}
function b_movey(y){this.y=y; this.css.top=this.y}	
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function b_moveBy(x,y){this.x=this.x+x; this.y=this.y+y; this.css.left=this.x;this.css.top=this.y}
function b_bgImg(img){
	if(document.getElementById) document.getElementById(this.id+"_img").src = img
	else if(document.layers) this.ref.layers[0].document.images[0].src = img
	else document.images[this.id+"_img"].src = img
}
function b_clipTo(t,r,b,l,w){if(document.layers){this.css.clip.top=t;this.css.clip.right=r
this.css.clip.bottom=b;this.css.clip.left=l
}else{this.css.clip="rect("+t+"px,"+r+"px,"+b+"px,"+l+"px)"; if(w){this.css.pixelWidth=this.css.width=r; this.css.pixelHeight=this.css.height=b}}}
/********************************************************************************
Initiating page, making objects..
********************************************************************************/
createSlideMenu.prototype.init = function(){
	document.write("</div>")
	this.cont=new makeMenuObj(this.name+'cont')
	this.cont.moveIt(this.menux,this.menuy)
	var yy = 0, el 	//Make top menus
	for(var j=0;j<this.topmenus.length;j++){
		el = this.menus[this.topmenus[j]]
		el.o = new makeMenuObj(this.name+"_"+el.num,this.name+"cont")
		el.o.moveIt(this.l[0].left,yy); el.top = j; el.origy = yy
		el.o.id = el.id; el.o.status=1; 
		el.o.h = this.l[0].height; el.img = this.l[0].regImage
		yy+=el.o.h + this.l[0].between; el.o.clipTo(0,this.l[0].width,el.o.h,0,1)
		if(j!=this.topmenus.length-1)	el.nexttop = this.topmenus[el.top+1] 
		this.loop(el.num,j)
	}
	this.cont.showIt(); this.cont = null; this.level = null;
}
createSlideMenu.prototype.loop = function(num,j){
	var el = this.menus[num],temp,p,h,w,y,img
	for(var i=0;i<el.childs.length;i++){
		temp = el.childs[i]
		w = this.l[temp.lev].width; h = this.l[temp.lev].height
		y = el.o.y+el.o.h + h*i + this.l[temp.lev].between*i + this.l[temp.lev].between
		temp.o = new makeMenuObj(this.name+"_"+temp.num,this.name+"cont")
		temp.o.hideIt(); temp.o.clipTo(0,w,h,0,1)
		temp.o.moveIt(this.l[temp.lev].left,y)
		el.endy =y+h; temp.origy = y
		temp.o.zIndex=temp.num
		temp.o.h = h; temp.top = j 
		temp.chnum = i; temp.o.id = temp.id 		
		if(this.useImages){ //Setting bgimage
			img=""
			if(temp.childs.length>0){ //With subs
				if(i==el.childs.length-1) img=this.l[temp.lev].subRound
				else img=this.l[temp.lev].subImg
			}else	if(i==el.childs.length-1){
				img=this.l[temp.lev].roundImg2
			}
			if(img){
				temp.o.bgImg(img); temp.img = img
			}else temp.img = this.l[temp.lev].regImage
		}
		p = this.menus[temp.parent] //Setting the next elements
		if(temp.chnum != p.childs.length-1){ //Not the last el
			temp.nextel = p.childs[temp.chnum+1].num
			temp.nexttop = temp.lev==1?p.nexttop:p.nextel
		}else{ //Last el, so we only have nexttop
			temp.nexttop = p.nextel
			if(temp.nexttop==-1) temp.nexttop = p.nexttop
		}
		if(temp.childs.length>0){
			this.loop(temp.num,j) //Recursive call
		}	
	}
}

/********************************************************************************
Moving all objects in the array after a provided array number
********************************************************************************/
createSlideMenu.prototype.moveItems = function(px,num){
	for(i=num;i<this.menus.length;i++){
		if(this.menus[i].o.status){ //Moving all visible menus
			this.menus[i].o.movey(this.menus[i].o.y+px)
		}
	}	
}
/********************************************************************************
Switch menu function.
********************************************************************************/
createSlideMenu.prototype.switchMenu = function(num){	
	if(this.going) return
	var m = this.menus[num]
	if(m.childs.length==0) return
	this.going = 1
	var y=m.o.y+ m.o.h +this.l[m.lev].between
	var clnum = m.num, olev = m.lev, onext = m.nextel
	if(this.active[0]>-1){
		var n = -1
		if(m.lev>0){
			if(this.active[m.lev]>-1) n=this.active[m.lev]
			else n=this.active[m.lev-1]
		}else n = this.active[0]
		m = this.menus[n]
		if(m.lev == 0 && olev==0) y = m.nexttop!=-1?this.menus[m.nexttop].origy:-1
		else if(clnum!=m.num){
			var ny = m.o.y + m.o.h + this.l[m.lev].between
			if(clnum>m.num && olev==m.lev) y = Math.min(ny,y)
			else	if(onext==m.num) y = Math.max(ny,y)
		}
	}
	this.moveUp(m.nextel!=-1?m.nextel:m.nexttop,num,y)
}
/********************************************************************************
Move items up
********************************************************************************/
createSlideMenu.prototype.moveUp = function(top,num,y){
	var move = 0, m, yy=0;
	if(this.active[0]>-1 && top>-1){
		m = this.menus[top]
		if(m.o.y>y){
			if((m.o.y-this.pxspeed)<y) yy = -(((m.o.y-y)))
			else yy=-this.pxspeed; this.moveItems(yy,top)
			move=1
		}
	}
	if(move) setTimeout(this.name+".moveUp("+top+","+num+","+y+")",this.timspeed)
	else{
		m = this.menus[num] 
		for(var i=m.lev;i<this.active.length;i++){ //Reset images - actives et cetera
			if(this.active[i]>-1){
				temp = this.menus[this.active[i]]
				temp.o.moveIt(temp.o.x-this.inset,temp.o.y)
				if(this.useImages) temp.o.bgImg(temp.img) 		//Change bg
				if(this.arrow) temp.ar.replaceChild(document.createTextNode("4"),temp.ar.childNodes[0])
				ch = temp.childs
				for(var j=0;j<ch.length;j++){
					ch[j].o.hideIt(); ch[j].o.movey(ch[j].origy)
				}
				this.active[i] = -1
			}
		}
		//Then open the current one, if childs
		if(m.childs.length == 0){this.going = 0; return}
		for(i=0;i<m.childs.length;i++){ //Show all
			m.childs[i].o.showIt()
			y = m.childs[i].o.y + m.childs[i].o.h
		}
		y+=this.l[m.lev].between
		if(m.lev>0 && m.chnum!=this.menus[m.parent].childs.length-1){
			yy=y; y = this.menus[m.parent].endy + this.l[m.lev].between
		}
		m.o.moveIt(m.o.x+this.inset,m.o.y) 	//Inset current item:
		if(this.useImages) m.o.bgImg(this.l[m.lev].roundImg) 	//Change bg
		this.active[m.lev] = num //Set active
		if(this.arrow) m.ar.replaceChild(document.createTextNode("6"),m.ar.childNodes[0])
		if(m.nexttop>-1 || m.nextel>-1) this.moveDown(m.nexttop,m.nextel,y,yy) //Then start moving all other elements down
		else this.going=0
	}
}
/********************************************************************************
Move items down
********************************************************************************/
createSlideMenu.prototype.moveDown = function(top,num,y,yyy){
	var m = this.menus[top],yy
	if(m && m.o.y<y){
		if((m.o.y+this.pxspeed)>y) yy = y-m.o.y
		else yy=this.pxspeed
		this.moveItems(yy,top)
		setTimeout(this.name+".moveDown("+top+","+num+","+y+","+yyy+")",this.timspeed)
	}else if(num>-1){
		this.moveDown(num,-1,yyy,0)
	}else this.going=0
}
/********************************************************************************
Slide menu object
********************************************************************************/
function createSlideMenu(name){
	document.write('<div id="'+name+'cont">') //The cont div start
	this.name = name
	this.menus = new Array()
	this.curr = 0
	this.lasttype = new Array()
	this.writesubsonly = 0
	this.level = new Array()
	this.l = new Array()
	this.topmenus = new Array()
	this.active = new Array()
	return this
}
/********************************************************************************
Function to create the objects and the divs
********************************************************************************/
createSlideMenu.prototype.makeMenu = function(type,text,lnk,target,end){
	var str="",tg="",parent,m,cl
	m = this.menus[this.curr] = new Object()
	this.lasttype[type] = this.curr; if(!lnk) lnk="#"
	m.lev = 0; m.type = type; m.childs = new Array()
	m.num = this.curr; m.parent = -1; m.nextel = -1
	m.nexttop = -1; parent = 0
	//DEBUGGING::::::
	m.text = text
	
	if(type.indexOf("sub")>-1){ 	//Find parent type
		if(type.length == 3){ //sub
			parent = "top"; m.lev = 1
		}else{
			parent = type.substr(3,1) //sub2+
			m.lev = parent; parent--
			if(parent==1){
				parent = "sub"; m.lev = 2
			}else parent = "sub"+parent
		}	
	}
  if(m.lev>=this.l.length){//Level control (same as CM4)
    var p1,p2=0; 
		if(m.lev>=this.level.length) p1=this.l[this.level.length-1];
    else p1=this.level[m.lev]; 
		this.l[m.lev]=new Array(); 
		if(!p2) p2=this.l[m.lev-1]
    if(m.lev!=0 && p1){ 
      for(i in p1){ //Copying an entire object
				if(p1[i]==null) this.l[m.lev][i]=p2[i]; 
				else this.l[m.lev][i]=p1[i]
			}
    }else{
			this.l[m.lev]=this.level[0]; 
		}
    this.level[m.lev]=p1=p2=null 
  } 
	this.active[m.lev] = -1
	if(parent){ //Find parent element
		m.parent = this.lasttype[parent]
		parent = this.menus[this.lasttype[parent]]
		parent.childs[parent.childs.length] = m
		if(this.arrow && parent.childs.length==1){str='<span class="'+this.arrow+'">4</span>'
			if(document.getElementById && document.getElementById(parent.id).childNodes){
				parent.ar = document.getElementById(parent.id).childNodes[this.useImage?1:0].childNodes[0]
				parent.ar.innerHTML = str+parent.ar.innerHTML; parent.ar=parent.ar.childNodes[0]} else this.arrow=""
		}
	}else this.topmenus[this.topmenus.length] = this.curr
	if(!this.writesubsonly || type!="top"){
		cl = this.l[m.lev].className
		m.id = id = this.name + "_" + this.curr
		str= '<div id="'+id+'" class="'+cl+'">' //main div start
		if(this.useImages){
			str+='<div class="'+this.bgClass+'">'//bgdiv
			str+='<img id="'+id+'_img" src="'+this.l[m.lev].regImage+'" />' 
			str+='</div>' //bgdiv
		}
		if(target) tg =' target="'+target+'" '
		str+='<div class="'+this.txtClass+'"><a href="'+lnk+'" '+tg+' onclick="'+this.name+'.switchMenu('+this.curr+'); if(document.getElementById) this.blur(); '
   	if(lnk=="#") str+='return false'
    str+='" class="'+this.l[m.lev].classNameA+'"> '+text+'</a><br /></div>\n'
		str+="</div>\n\n" //main div end
		document.write(str)
	}
	this.curr++
}

/********************************************************************************
Level object
********************************************************************************/
function slideMenu_makeLevel(){
  var c=this, a=arguments; 
	c.left=a[0]||0; c.width=a[1]||null; c.height=a[2]||null;
	c.between=a[3]||null; c.className=a[4]||null; c.classNameA=a[5]||null;
	c.regImage=a[6]||null; c.roundImg=a[7]||null; c.roundImg2=a[8]||null; 
	c.subImg=a[9]||null; c.subRound=a[10]||null; return c
}
/********************************************************************************
Preloading images
********************************************************************************/
function preLoadBackgrounds(){
  for(i=0;i<arguments.length;i++){
    this[i]=new Image()
    this[i].src=arguments[i]
  }
  return this
}

/**********************************************************************************
Final SlideMenu 2.0
**********************************************************************************/













//Creating the menu object -- You can call it whatever you want - just remember to
//have the same name as the argument.
slideMenu = new createSlideMenu("slideMenu")

//Variables to set:
slideMenu.menuy=150 //The top placement of the menu.
slideMenu.menux=9 //The left placement of the menu
slideMenu.useImages = 0 //Are you using images or not?
slideMenu.pxspeed=10 //The pixel speed of the animation
slideMenu.timspeed=50 //The timer speed of the animation
slideMenu.inset = 0 //How much the selected items should pop to the left
slideMenu.arrow = 0 //Set this to className that has font-family:webdings
										//if you want to use the arrow feature. Note:
										//This ONLY works on DOM capable browsers, and with
										//useImages set to 0 - It's basically just a test I did.
										//I hope to improve it later on.

//Needed dummy classes - leave in the stylesheet!
slideMenu.bgClass =	"spainGTslideMenuBG"
slideMenu.txtClass = "spainGTslideMenuText"

slideMenu.level[0] = new slideMenu_makeLevel(
	left = 0,
	width = 138,
	height = 15,
	between = 5,
	className = "spainGTclSlideMenu",
	classNameA = "spainGTclA0",
	regImage = "",
	roundImg = "",
	roundImg2 = "",
	subImg = "",
	subRound= "")
	
slideMenu.level[1] = new slideMenu_makeLevel(5,138,15,2,"spainGTclSlideMenu","spainGTclA1","","","","","")
slideMenu.level[2] = new slideMenu_makeLevel(21,118,18,2,"spainGTclSlideMenu","spainGTclA2","","","","","")
slideMenu.level[3] = new slideMenu_makeLevel(33,108,20,2,"spainGTclSlideMenu","spainGTclA3","","","","","")
slideMenu.level[4] = new slideMenu_makeLevel(40,107,19,2,"spainGTclSlideMenu","spainGTclA4","","","","","")


for(var i=0; i<slideMenu.level; i++){
	var l = slideMenu.level[i];
	new preLoadBackgrounds(l.regImage,l.roundImg,l.roundImg2,l.subImg,l.subRound);
}





 
 


















 









				slideMenu.makeMenu('top','Cover','/icex/cda/controller/pageInv/0,2958,35868_32475425_3028550_232320_231523_en_,00.html');


	 

 
 


















 











////////////////////////////////////////////////////////////////////////////////////////////
//Canales para la revista del XX Aniversario

 
 


















 









				//slideMenu.makeMenu('top','Remembrance');





 
 


















 









				//slideMenu.makeMenu('top','Background');





 
 


















 









				//slideMenu.makeMenu('top','Inside Perspectives');





 
 


















 









				//slideMenu.makeMenu('top','Outside Perspectives');





 
 


















 









				//slideMenu.makeMenu('top','Top of the Range');



////////////////////////////////////////////////////////////////////////////////////////////


 
 


















 









				slideMenu.makeMenu('top','Around & About','/icex/cda/controller/pageInv/0,2958,35868_2607609_3028550_231884_231523_en_,00.html');





 
 


















 









				slideMenu.makeMenu('top','Wines','/icex/cda/controller/pageInv/0,2958,35868_2607612_3028550_232318_231523_en_,00.html');


	


 
 


















 









			slideMenu.makeMenu('top','Food Basics');

					slideMenu.makeMenu('sub','Extra-Virgin Olive Oils','/icex/cda/controller/pageInv/0,2958,35868_2607615_3028550_232320_231523_en_,00.html');

					slideMenu.makeMenu('sub','Avocados','/icex/cda/controller/pageInv/0,2958,35868_2607615_3028550_234491_231523_en_,00.html');




 
 


















 












 
 


















 









			slideMenu.makeMenu('top','Culinary Fare');

					slideMenu.makeMenu('sub','Tapas in Seville','/icex/cda/controller/pageInv/0,2958,35868_2607618_3028550_234514_231523_en_,00.html');

					slideMenu.makeMenu('sub','Gastronomic Meetings','/icex/cda/controller/pageInv/0,2958,35868_2607618_3028550_234518_231523_en_,00.html');




 
 


















 









				//slideMenu.makeMenu('top','Training');




slideMenu.makeMenu('top','Recipes','/icex/cda/controller/pageInv/0,2958,35868_2607621_3075206_0_231523_en_,00.html');



slideMenu.makeMenu('top','Photo Gallery','/icex/cda/controller/pageInv/0,2958,35868_2607624_3074968_0_231523_en_,00.html');


slideMenu.makeMenu('top','Archive','/icex/cda/controller/pageInv/0,2958,35868_32477933_32477666_0_231523_en_,00.html');

	
function menuGlance(){
	if((navigator.appName!="Microsoft Internet Explorer")){
		alert('You need Microsoft Explorer 6.0 or higher to correctly view this section. We are currently working to make the section available to users of other web browsers. We apologise for any inconvenience that this may cause.');
	}else{
		versionNav = navigator.appVersion;
		indice = navigator.appVersion.indexOf("MSIE");
		versionIE = versionNav.substring(indice+5,indice+6);
		if(parseInt(versionIE)<6){
			alert('You need Microsoft Explorer 6.0 or higher to correctly view this section. We are currently working to make the section available to users of other web browsers. We apologise for any inconvenience that this may cause.');
		}		
	}
}

slideMenu.makeMenu('top','<a href="#" onclick="menuGlance();nuevaVentana(\'/SAG/web/home.html\',\'SpainAtAGlance\',790,490,\'no\');"  class="SpainGTclA0">Spain at a Glance</a>','','')

slideMenu.makeMenu('top','')
 
slideMenu.makeMenu('top','')


slideMenu.makeMenu('top','<a href="#" onclick="nuevaVentana(\'/icex/cda/controller/pageInv/0,2958,35868_32477933_2624900_0_231523_en_,00.html\',\'aboutus\',730,525,\'no\');" class="SpainGTclA0">About Us</a>','','')


slideMenu.makeMenu('top','<a href="#" onclick="nuevaVentana(\'/icex/cda/controller/pageInv/0,2958,35868_32477933_3023150_0_231523_en_,00.html\',\'LegalNotice\',750,525,\'yes\');" class="SpainGTclA0">Legal Notice</a>','','')

slideMenu.makeMenu('top','<a href="#" onclick="nuevaVentana(\'/icex/cda/controller/pageInv/0,2958,35868_32477933_6791271_0_231523_en_,00.html\',\'PrivacyPolicy\',750,525,\'yes\');" class="SpainGTclA0">Privacy Policy</a>','','')

//slideMenu.makeMenu('top','Privacy Policy')
	
slideMenu.makeMenu('top','')	

slideMenu.init()		

