var cssdropdown={
disappeardelay: 250,

dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all,

getposOffset:function(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
},

showhide:function(obj, e, visible, hidden){
if (this.ie || this.firefox)
this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px"
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
},

iecompattest:function(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
},

clearbrowseredge:function(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=this.ie && !window.opera? this.iecompattest().scrollLeft+this.iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth
if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure)  //move menu to the left?
edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=this.ie && !window.opera? this.iecompattest().scrollTop : window.pageYOffset
var windowedge=this.ie && !window.opera? this.iecompattest().scrollTop+this.iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight
if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){ //move up?
edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight
if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure) //up no good either?
edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
},

dropit:function(obj, e, dropmenuID){
if (this.dropmenuobj!=null) //hide previous menu
this.dropmenuobj.style.visibility="hidden"
this.clearhidemenu()
if (this.ie||this.firefox){
obj.onmouseout=function(){cssdropdown.delayhidemenu()}
this.dropmenuobj=document.getElementById(dropmenuID)
this.dropmenuobj.onmouseover=function(){cssdropdown.clearhidemenu()}
this.dropmenuobj.onmouseout=function(){cssdropdown.dynamichide(e)}
this.dropmenuobj.onclick=function(){cssdropdown.delayhidemenu()}
this.showhide(this.dropmenuobj.style, e, "visible", "hidden")
this.dropmenuobj.x=this.getposOffset(obj, "left")
this.dropmenuobj.y=this.getposOffset(obj, "top")
this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge")+"px"
this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"
}
},

contains_firefox:function(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
},

dynamichide:function(e){
var evtobj=window.event? window.event : e
if (this.ie&&!this.dropmenuobj.contains(evtobj.toElement))
this.delayhidemenu()
else if (this.firefox&&e.currentTarget!= evtobj.relatedTarget&& !this.contains_firefox(evtobj.currentTarget, evtobj.relatedTarget))
this.delayhidemenu()
},

delayhidemenu:function(){
this.delayhide=setTimeout("cssdropdown.dropmenuobj.style.visibility='hidden'",this.disappeardelay)
},

clearhidemenu:function(){
if (this.delayhide!="undefined")
clearTimeout(this.delayhide)
}
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function comprueba(valor,identificador) {
	if(identificador=='') { return false; }
	if(valor=='') { return true; }
	longitud = valor.length;
	if (valor.length!=0) {
		switch(identificador)
		{
			case 'tel':
				var objRegExp  = /^[0-9]{9}$/;
				return objRegExp.test(valor);
			case 'num':
				var objRegExp  = /^[0-9]{1,}$/;
				return objRegExp.test(valor);
			case 'fec':
				var objRegExp = /^\d{2}(\-|\/|\.)\d{2}\1\d{4}$/;
				
				if(!objRegExp.test(valor))
				{
					return false;
				}
				else
				{
					if (valor.length != 10) return false ;
					
					var strSeparator = valor.substring(2,3);
					var arrayDate = valor.split(strSeparator);

					if ((isNaN (arrayDate [0])) || (isNaN (arrayDate [1])) || (isNaN (arrayDate [2]))) return false ;

					var mesOK = false;
					var diaOK = false;
					
					var arrayDays = new Array(0,31,29,31,30,31,30,31,31,30,31,30,31);
					var intDay = parseInt(arrayDate[0]);
					var intMonth = parseInt(arrayDate[1]);
					var intYear = parseInt(arrayDate[2]);
					var maxDays = arrayDays[intMonth];
					
					if ((intMonth > 0) && (intMonth < 13))
					{
						mesOK = true;
						if (intDay <= maxDays) diaOK = true;
						
						if (intMonth == 2)
						{
							if (((intDay == 29) && !((intYear % 4 == 0) && ((intYear % 100 != 0) || (intYear % 400 == 0)))))
							{
								diaOK = false;
							}
						}
					}

					if (diaOK && mesOK) return true;
				}
				return false;
				
				
			case 'hor':
				var objRegExp = /^([0-2][0-3]:[0-5][0-9])|([0-1][0-9]:[0-5][0-9])$/;
				return objRegExp.test(valor);
			case 'cod':
				var objRegExp  = /^[0-9]{5}$/;
				return objRegExp.test(valor);
			case 'ema':
				var objRegExp = /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi; 
				return objRegExp.test(valor);
			case 'eda':
				var objRegExp  = /^[0-9]{1,2}$/;
				return objRegExp.test(valor);
			case 'dni':
				var objRegExpDNI  = /^[0-9]{7,8}[a-zA-Z]{1}$/;
				var objRegExpNIF  = /^[a-zA-Z]{1}[0-9]{7,8}$/;
				if(objRegExpDNI.test(valor)) return true;
				if(objRegExpNIF.test(valor)) return true;
				return false;
			case 'neg':
				var objRegExp  = /^-[0-9]{1,}$|^[0-9]{1,}$/;
				return objRegExp.test(valor);
			case 'dec':
				var objRegExp = /^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$/;
				return objRegExp.test(valor);
			case 'ned':
				var objRegExp = /^-[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$|^-[0-9]{1,}$/;
				return objRegExp.test(valor);
			case 'tar':
				return (checkcreditcard(valor));				
			default:
				return true;
		}

	}else{
		return false;
	}
}
	function aux(tipo,idItem) {
		window.open('ver-item.html?tipo='+ tipo +'&item='+ idItem, 'explicacionitem', "toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,width=550,height=400,resizable=no" );
	}
	function ampliar(URLampliacion,nombreventana,ancho,alto) {
 		window.open(URLampliacion, nombreventana, "toolbar=no,location=no,status=yes,menubar=no,scrollbars=auto,width="+ancho+",height="+alto+",resizable=no" );
	}
