// Devuelve true si _sfec_ es una fecha correcta en formato dia/mes/aņo
function FechaCorrecta(sfec)
{
	var ss = sfec.split("/");
	var dia, mes, ano, dia2, mes2, ano2;
	
	if(ss.length > 0)  dia = ss[0];  else dia = "";
	if(ss.length > 1)  mes = ss[1];  else mes = "";
	if(ss.length > 2)  ano = ss[2];  else ano = "";
	if(!isNaN(dia))  dia = dia / 1;  else dia = 0;
	if(!isNaN(mes))  mes = mes / 1;  else mes = 0;
	if(!isNaN(ano))  ano = ano / 1;  else ano = 0;

	if(ano > 0  &&  ano < 100) {
		if(ano < 10)
			ano = 2000 + ano;
		else
			ano = 1900 + ano;
	}
	var fec = new Date(ano, mes - 1, dia);

	dia2 = fec.getDate();
	mes2 = fec.getMonth() + 1;
	ano2 = fec.getFullYear();

	if(dia != dia2  ||  mes != mes2  ||  ano != ano2)
	  return false;
	else
	  return true;
}

// Cambia el origen de un objeto IMG (imagen) por el archivo indicado
var ultimaIMG = "";
var ultimoArchivo = "";
function CambiaIMG(nombre, archivo)
{
	var obj = ObjetoCapa(nombre);
	if(obj)
	  if(obj.src) {
		  // Guarda los datos previos
		  ultimaIMG = nombre;
			ultimoArchivo = obj.src;
			// Cambia la imagen
	    obj.src = archivo;
		}
}

// Restaura la ultima imagen cambiada con CambiaIMG
function RestauraIMG()
{
	if(ultimaIMG != ""  &&  ultimoArchivo != "")
	  CambiaIMG(ultimaIMG, ultimoArchivo);
}

// Busca un objeto en cualquier nivel de capas anidadas
function ObjetoCapa(nombre, doc)
{
var i, n, obj;

  	if(!doc) {
	    doc = document;
		}
		
    if(!(obj=doc[nombre]))
	    if(doc.all)
	      obj = doc.all[nombre];
	    else if(doc.getElementById)
	      obj = doc.getElementById(nombre);

    for(i=0; !obj  &&  doc.layers  &&  i < doc.layers.length; i++)
	    obj = ObjetoCapa(nombre, doc.layers[i].document);
			
		for(i=0; !obj  &&  doc.forms  &&  i < doc.forms.length; i++) {
		  for(n=0; n < doc.forms[i].length; n++) {
		    if(doc.forms[i][n].name == nombre) {
				  obj = doc.forms[i][n];
				  break;
				}
			}
	    //obj = ObjetoCapa(nombre, doc.forms[i]);
		}
	  
	return obj;
}

// Muestra un objeto capa
function MuestraObjeto(capa)
{
var v;

	if (capa != null) {
      if (!document.layers) {   // Para MS Explorer o Netscape 6+
		v = "visible";
	  }
	  else               // Para Netscape
	    v = "show";
      capa.visibility=v; 
	}
}

// Muestra una capa dado su nombre
function MuestraCapa(nombre)
{
var v, obj;

	obj = BuscaCapa(nombre);
	MuestraObjeto(obj);
}

// Oculta un objeto capa
function OcultaObjeto(capa)
{
var v;

	if (capa != null) {
    if (!document.layers)   // Para MS Explorer o Netscape 6+
		  v = "hidden";
	  else               // Para Netscape
	    v = "hide";
    capa.visibility = v; 
	}
}

// Oculta una capa dado su nombre
function OcultaCapa(nombre)
{
var obj;

	obj = BuscaCapa(nombre);
	OcultaObjeto(obj);
}

// Busca la capa cuyo nombre se pasa y devuelve el objeto correspondiente para cambiar
// sus propiedades (o sea, en MS explorer devolvera capa.style)
function BuscaCapa(nombre)
{
var obj;

	obj = ObjetoCapa(nombre);
	if(obj)
	  if(obj.style) {
	    obj = obj.style;
	  }
	return obj;
}

// Abre una ventana que al cerrarse recargala ventana padre
var ventana = 0;
var accion = "";
var desp = 4;

function AbrirVentana(name, url, width, height, left, top)
{
	width = (width == null) ? 400 : width;
	height = (height == null) ? 300 : height;

	if(document.all) {
		left = (left == null) ? screenLeft + desp : screenLeft + left;
		top = (top == null) ? screenTop + desp : screenTop + top;
	} else {
		left = (left == null) ? window.screenX + desp : window.screenX + left;
		top = (top == null) ? window.screenY + desp : window.screenY + top;
	}

	ventana = window.open(url, name, "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,left=" + left + ",top=" + top + ",width=" + width + ",height=" + height);
	ventana.focus();

	if(desp < 100) {
		desp += 24;
	} else {
		desp = 4;
	}

	if(accion != "") {
		setTimeout("ComprobarVentana()", 1000);
	}
}
function ComprobarVentana()
{
	if(ventana.closed) {
		setTimeout(accion, 50);
	} else {
		setTimeout("ComprobarVentana()", 1000);
	}
}
function EstablecerAccion(nuevaAccion)
{
	accion = nuevaAccion;
}

// Rollovers de Macromedia
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) { //v3.0
  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); 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 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;
}
