
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_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_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];}
}

// Función que envía a url la ventana anterior y cierra la ventana actual
function abreLocationAbajo(url) 
	{
		var ventanaInferior;
		ventanaInferior = window.opener;
		
		while (ventanaInferior.parent != null && ventanaInferior.parent != ventanaInferior)
		{
			ventanaInferior = ventanaInferior.parent;
		}
		
		ventanaInferior.document.location.href = url;
		window.close();
	}

// Abre la url indicada en una nueva venta con el ancho y alto que se indica.
function windowopener(URL,ancho,alto)
{
	//var propiedades;
	//propiedades = "toolbar=no,directories=no,menubar=0,status=1,scrollbars=0,resizable=0,width=" + ancho + ",height=" + alto + ",screenX=0,screenY=0,top=0,left=0";
	//window.open(URL,'',propiedades)
	//if (navigator.appVersion.indexOf("(X11") != -1 || navigator.appVersion.indexOf("(mac") != -1)
	//window.open(URL,'',propiedades)

	var propiedades;
	propiedades = "toolbar=no,directories=no,menubar=no,status=no,scrollbars=yes,resizable=yes,width=" + ancho + ",height=" + alto;
	window.open(URL,'',propiedades)
	if (navigator.appVersion.indexOf("(X11") != -1 || navigator.appVersion.indexOf("(mac") != -1)
	window.open(URL,'',propiedades)

}

// Comprueba que haya algún radioButton marcado antes de hacer una modificación
function compruebaSeleccion(url,categoria) {
	eval ("if (!document.forms[0].tipo" + categoria + ".value) { " +
		  "   alert('Debe marcar una opción antes de modificar'); " + 
		  "} " + 
		  "else { " +
		  "  reSubmit(url); " +
		  "}");
}
// Comprueba que haya algún radioButton marcado y después muestra un mensaje de confirmación del borrado.
function compruebaBorrar(url,categoria) {
	eval ("if (!document.forms[0].tipo" + categoria + ".value) { " +
		  "   alert('Debe marcar una opción antes de borrar'); " + 
		  "} " + 
		  "else { " +
		  " if (confirm('¿Está seguro de que desea borrar?')) { " +
		  "  reSubmit(url); } " +
		  "}");
}
function compruebaBorrarGestor(url,nombre) {
	eval ("if (!document.forms[0]." + nombre + ".value) { " +
		  "   alert('Debe marcar un elemento antes de borrar'); " + 
		  "} " + 
		  "else { " +
		  " if (confirm('¿Está seguro de que desea borrar?')) { " +
		  "  reSubmit(url); } " +
		  "}");
}

//Para utilizar esta funcion es obligatoria que el primer elemento
//del primer formulario se llame nombre
function compruebaEnvia(url)
{
	if (document.forms[0].nombre.value == '')
	{
		alert ('Es obligatorio introducir un nombre');
		return;
	}
	reSubmit(url);
}

function compruebaEnviaProducto(url)
{
	var fichero;

	if (document.forms[0].nombre.value == '')
	{
		alert ('Es obligatorio introducir un nombre');
		return;
	}

	// Comprobando que en localizacion no se ha metido ninguna de las 2 barras
	fichero=document.forms[0].folletoLink.value;
	if (fichero.indexOf("/")!=-1)
	{
		alert('No introduzca / en el nombre del fichero. No indique el directorio.');
		return;		
	}
				
	//  El caracter \ para javascript es \\

	if (fichero.indexOf("\\")!=-1)
	{
		alert('No introduzca \\ en el nombre del fichero. No indique el directorio.');
		return;		
	}

	reSubmit(url);
}


function compruebaJerarquia(url,categoria)
{
	if (document.forms[0].puedeTenerHijos.value == 'no')
	{
		alert ('No se permite introducir un elemento en ese nivel.');
		reSubmit('../gestores/defaultProducto.asp#'+categoria);
	}
	else {	
		reSubmit(url);
	}
}



function Selecciona (id,nombreFormulario,nombreCampo,valor,nombreCampo2,valor2) {
	eval ("document.forms['" + nombreFormulario + "']." + nombreCampo + id + ".value = '" + valor + "';");
	eval ("document.forms['" + nombreFormulario + "']." + nombreCampo2 + ".value = '" + valor2 + "';");
}

function SeleccionaPrograma (nombreFormulario,nombreCampo,valor) {
	eval ("document.forms['" + nombreFormulario + "']." + nombreCampo + ".value = '" + valor + "';");
}


function reSubmit(URL) {
	document.forms[0].method='post';
	document.forms[0].action = URL;
	document.forms[0].submit(); 
}	

// Comprueba que estén llenos todos los campos necesarios del formularioPrograma.asp
function compruebaEnviaPrograma(url)
{
	var fichero;

	if (document.forms[0].nombre.value == '')
	{
		alert ('Es obligatorio introducir el nombre del programa.');
		return;
	}
	else 
	{
	   if (document.forms[0].descripcion.value == '')
	   {
			alert('Es obligatorio introducir una descripción del programa.');
			return;
	   }	
	   else
	   {
			if (document.forms[0].link.value == '') 
			{
				alert ('Es obligatorio introducir el nombre del fichero.');
				return;
			}
			else
			{
				if (document.forms[0].idIcono.value == '') 
				{
				alert ('Es obligatorio seleccionar un icono asociado.');
				return;
				}
			}
	   }
	}
	// Comprobando que en localizacion no se ha metido ninguna de las 2 barras
	fichero=document.forms[0].link.value;
	if (fichero.indexOf("/")!=-1 && fichero.indexOf("://")==-1)
	{
		alert('No introduzca / en el nombre del fichero. No indique el directorio.');
		return;		
	}
				
	//  El caracter \ para javascript es \\

	if (fichero.indexOf("\\")!=-1 && fichero.indexOf("://")==-1)
	{
		alert('No introduzca \\ en el nombre del fichero. No indique el directorio.');
		return;		
	}
	
	if (fichero.indexOf("://")==-1)
	{
		document.forms[0].link.value="programas/"+fichero;
	}
	
	reSubmit(url);
}

// Comprueba que haya algún radioButton marcado antes de hacer una modificación en un programa o banner
function compruebaSeleccionGestor(url,nombre) {
	eval ("if (!document.forms[0]." + nombre + ".value) { " +
		  "   alert('Debe marcar una opción antes de modificar'); " + 
		  "} " + 
		  "else { " +
		  "  reSubmit(url); " +
		  "}");
}

// Función que establece el focus del formulario nombreFormulario en el elemento nombreElemento.
function ponCursorEn(nombreFormulario,nombreElemento)
{
	eval ("document.forms['" + nombreFormulario + "']." + nombreElemento + ".focus();");
}

function llamaAlCalendario(fecha,objName) 
{
	var campito = findObj(objName);
	var top = 0;
	var left = 0;


	top = campito.clientTop + campito.offsetTop + campito.clientHeight + 5;
	left = campito.clientLeft + campito.offsetLeft;
	
	var padre = campito.offsetParent;
	while (padre != null) {
		top += padre.offsetTop;	
		left += padre.offsetLeft;
		padre = padre.offsetParent; 
	} 
	cal.setFechaSeleccionada(fecha);
	cal.mostrar(top,left,objName);
}

function string2fecha(cadena) {
	if (!cadena)
		return new Date();
				
	trozos = cadena.split("/");
	if (trozos.length != 3)
		return new Date();
				
	return new Date(trozos[2],trozos[1]-1,trozos[0]);
}
		
function fecha2string(fecha) {
	var dia = new String(fecha.getDate());
	var mes = new String(fecha.getMonth()+1);
	var anio = new String(fecha.getFullYear());
			
	if (dia.length == 1)
		dia = "0" + dia;
				
	if (mes.length == 1)
		mes = "0" + mes;
				
	return dia + "/" + mes + "/" + anio;
}

function generar_fecha() {
    var fecha = new Date();
    var dia_letra = fecha.getDay();
    var dia = fecha.getDate();
    var mes = fecha.getMonth();
    var anyo = fecha.getFullYear();

    switch(dia_letra) {
        case 0: dia_letra = "Domingo"; break;
        case 1: dia_letra = "Lunes"; break;
        case 2: dia_letra = "Martes"; break;
        case 3: dia_letra = "Miércoles"; break;
        case 4: dia_letra = "Jueves"; break;
        case 5: dia_letra = "Viernes"; break;
        case 6: dia_letra = "Sábado"; break;
        default: dia_letra = "Domingo"; break;
    }
    switch(mes) {
        case 0: mes = "Enero"; break;
        case 1: mes = "Febrero"; break;
        case 2: mes = "Marzo"; break;
        case 3: mes = "Abril"; break;
        case 4: mes = "Mayo"; break;
        case 5: mes = "Junio"; break;
        case 6: mes = "Julio"; break;
        case 7: mes = "Agosto"; break;
        case 8: mes = "Septiembre"; break;
        case 9: mes = "Octubre"; break;
        case 10: mes = "Noviembre"; break;
        case 11: mes = "Diciembre"; break;
        default: mes = ""; break;
    }
    document.write(dia_letra+", "+dia+" de "+mes+" de "+anyo);
}

function RestaurarImagen()
{
 var Contador, Imagen, Documento = document.RI; 
  
 for (Contador = 0; (Documento) && (Contador < Documento.length) && (Imagen = Documento[Contador]) && (Imagen.oSrc); Contador++)
  Imagen.src = Imagen.oSrc;
}

function CambiarImagen()
{
 var Contador, Posicion = 0, Imagen, Argumentos = CambiarImagen.arguments; 
    
 document.RI = new Array; 
    
 for(Contador = 0; Contador < (Argumentos.length - 2); Contador += 3)
  if ((Imagen = BuscarImagen(Argumentos[Contador])) != null)
  {  
   document.RI[Posicion++] = Imagen; 
      
   if (!Imagen.oSrc) 
    Imagen.oSrc = Imagen.src; 
   
   Imagen.src = Argumentos[Contador + 2];
  }
}

function BuscarImagen(Cadena, Documento) 
{
 var Contador, Posicion, Objeto;  
    
 if (!Documento) 
  Documento = document; 
    
 if (((Posicion = Cadena.indexOf("?")) > 0) && (parent.frames.length)) 
 {
  Documento = parent.frames[Cadena.substring(Posicion + 1)].document; 
  Cadena = Cadena.substring(0,Posicion);
 }
    
 if (!(Objeto = Documento[Cadena])&& (Documento.all)) 
  Objeto = Documento.all[Cadena]; 
     
 for (Contador = 0; (!Objeto) && (Contador < Documento.forms.length); Contador++) 
  Objeto = Documento.forms[Contador][Cadena];
     
 for (Contador = 0; (!Objeto) && (Documento.layers) && (Contador < Documento.layers.length); Contador++) 
  Objeto = BuscarImagen(Cadena,Documento.layers[Contador].document); 
     
 return Objeto;
}

function localizacionCursor(nombreFormulario,nombreCampo)
{
	eval ("document.forms['" + nombreFormulario + "']." + nombreCampo + ".focus();");
}


//Nuevas funciones---------------------------------------------------------------------------------------

function rellenaCampo(nombreFormulario, nombreCampo, valor)
{
	eval ("document.forms['" + nombreFormulario + "']." + nombreCampo + ".value = '" + valor + "';");
}

function compruebaNombreFichero(texto)
{ 
    var nombreficherores = true;             
    var cadena = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890@._- "; 
    var punto = texto.lastIndexOf("."); 
                 
    for (var contador = 0 ; contador < texto.length ; contador++)
    { 
        if (cadena.indexOf(texto.substr(contador, 1),0) == -1)
        { 
            nombreficherores = false; 
            break; 
		}
    }

    if ((punto + 1 < (texto.length)) && (nombreficherores == true) && (texto.indexOf("..",0) == -1)) 
		nombreficherores = true; 
    else 
		nombreficherores = false; 
                 
    return nombreficherores; 
} 

