
function comprobarUH2(enlacesEnv, incluirUltimaHora, msgError){
	//Esta función se llama desde la modificación de última hora
	//Si está marcado el campo incluirUltimaHora comprueba que haya por lo menos un enlace en última hora 
		
		var enc = false;
		var enlaces = document.getElementById(enlacesEnv);
		if (comprobarCheckActivo(incluirUltimaHora)){
			var misEnlaces = "";
			var arrMisEnlaces = "";
			if (enlaces != null){
				//El formato de la cadena de enlaces enviados es: textoEnlace$url$icono$idEnlace$operacion$EnlaceUltimaHora y un enlace estará en 
				//la sección de última hora si EnlaceUltimaHora=UH
				misEnlaces = enlaces.value;
				arrMisEnlaces = misEnlaces.split("$");
				
				//formato del envia del 
				var i = 5;
				while ((!enc) && (i<arrMisEnlaces.length)){
					if (arrMisEnlaces[i] == "UH")
						enc = true;
					i=i+6;
				}
			}
			if (!enc)
				alert (msgError);
		}
		else{ //No está marcado siEnUH por lo que no tiene que haber ninguno en Última Hora
			if (enlaces != null){
				//El formato de la cadena de enlaces enviados es: textoEnlace$url$icono$idEnlace$operacion$EnlaceUltimaHora y un enlace estará en 
				//la sección de última hora si EnlaceUltimaHora=UH
				misEnlaces = enlaces.value;
				arrMisEnlaces = misEnlaces.split("$");
				numEnlaces = parseInt(arrMisEnlaces.length/6);
				for (i=0; i<numEnlaces; i++){
					if (arrMisEnlaces[6*i + 5]=="UH"){
						
						var cadenaAntigua = arrMisEnlaces[6*i+0] + "$" + arrMisEnlaces[6*i+1] + "$" + arrMisEnlaces[6*i+2] + "$" + arrMisEnlaces[6*i+3] + "$" + arrMisEnlaces[6*i+4] + "$" + arrMisEnlaces[6*i+5] + "$";
						var cadenaNueva = arrMisEnlaces[6*i+0] + "$" + arrMisEnlaces[6*i+1] + "$" + arrMisEnlaces[6*i+2] + "$" + arrMisEnlaces[6*i+3] + "$" + arrMisEnlaces[6*i+4] + "$NUH$";
						misEnlaces = misEnlaces.replace(cadenaAntigua, cadenaNueva);
						enlaces.setAttribute("value",misEnlaces);
					//quitarUH("enlace" + i);
					}
				}
			}
			enc = true;
		}
		return enc;
	}

function comprobarCheckActivo(idElemento){
	var activo = false;
	if (document.getElementById(idElemento) != null){
		var elemento = document.getElementById(idElemento)
		activo = elemento.checked;
	}
	return activo;
}

function comprobarResponsable(idElemento, mensaje){
	if (comprobarCheckActivo(idElemento)){
		return confirmar(mensaje);
	}
	return true;
}

function comprobarEliminarResponsable(idElemento, mensaje){
	if (comprobarCheckActivo(idElemento)){
		return mostrar(mensaje);
	}
	return true;
}

function cambiarDisabled(idElemento){
	if (document.getElementById(idElemento) != null){
		var elemento = document.getElementById(idElemento);
		elemento.disabled=!elemento.disabled;
	}
}

function activarDisabled(idElemento){
	if (document.getElementById(idElemento) != null){
		var elemento = document.getElementById(idElemento);
		elemento.disabled=false;
	}
}

function desactivarElemento(idElemento){
	if (document.getElementById(idElemento) != null){
		var elemento = document.getElementById(idElemento);
		elemento.disabled=true;
	}
}

function activarElemento(idElementoLlama, idElemento){

	var elemLlama = document.getElementById(idElementoLlama);
	var elem = document.getElementById(idElemento);
	elem.disabled = !elemLlama.checked;
}

function descheckear(idElemento){
	var elem = document.getElementById(idElemento);
	if (elem != null)
		elem.checked = false;
}

function checkear(idElemento){
	var elem = document.getElementById(idElemento);
	if (elem != null)
		elem.checked = true;
}

function activarDesactivarContrasenya(elementoLlama){
	var elementosInput = document.getElementsByTagName("input");
	var elemento;
		for (i=0; i<elementosInput.length; i++){
			elemento = elementosInput[i];
			if (elemento.type == "password"){
				activarElemento(elementoLlama.id, elemento.id);
				if (!elementoLlama.checked)
					elemento.value = "";
			}
		}
}


function desactivarGrupo(nombreGrupo) { 
	var rads = parent.document.getElementsByName(nombreGrupo); 	
	for(var i=0; i<rads.length;i++ ) 
	{ 
		rads[i].disabled = true; 
	} 
} 

function quitarNegrita(elementId){
	//Recibe como parámetro un elemento y quita la negrita a todos los span que lo componen
	var capa = document.getElementById(elementId);
	if (capa!= null)
	{
		//obtenemos todos los span de la capa
		var spans=capa.getElementsByTagName('span');
		for (var i=0; i<spans.length;i++)
			spans[i].style.fontWeight = 'normal';
		
	}
}

function ponerNegrita(elemento){
	//Recibe como parámetro un elemento y lo pone en negrita
		elemento.style.fontWeight = 'bold';
}

function mostrarDiv(elementId){
	var capa = document.getElementById(elementId);

	if ((capa != null) && (capa.nodeType == 1)){
		
		capa.style.display='block';
	}
}

function ocultarGrupoDiv(elementId){
	var capa = document.getElementById(elementId);
	
	if (capa != null){
		var divs = capa.getElementsByTagName('div');
		var id=null;
		for (var i=0; i<divs.length; i++){

			if ((divs[i].getAttribute("id") != null) && (divs[i].getAttribute("id")!="")){
			  divs[i].style.display='none';
			}
			else
			{//alert("El div no tiene atributo: ");
			
			}
		}
	}
}

function mostrarContendido(aQuitarNegrita,aPonerNegrita,grupoDivAOcultar,divAMostrar){
	quitarNegrita(aQuitarNegrita);
	ponerNegrita(aPonerNegrita);
	ocultarGrupoDiv(grupoDivAOcultar);
	mostrarDiv(divAMostrar);
}

function activarGrupo(nombreGrupo) { 
	
	var rads = parent.document.getElementsByName(nombreGrupo); 	
	for(var i=0; i<rads.length;i++ ) 
	{ 
		rads[i].disabled = false; 
	} 
} 

function limpiar(idElemento){

	if (document.getElementById(idElemento) != null){
		document.getElementById(idElemento).value = "";
	}
}

function getRadioButtonSelectedValue(control)
{
    for(i=0;i<control.length;i++)
        if(control[i].checked) 
        	return control[i].value;
    //Si no hay ningun radio seleccionado devuelve false
    return false;
}

function fechaMenorOIgual(fechaIntroducida, fechaAComparar, nombreFechaI, nombreFechaComp){
	var fechaI = null;
	var fechaC = null;
	
	if ((document.getElementById(fechaIntroducida)) && (document.getElementById(fechaIntroducida).value != '')){
		fechaI = document.getElementById(fechaIntroducida);
	}
	else
	{
		return false;
	}
	if (document.getElementById(fechaAComparar))
		if (document.getElementById(fechaAComparar).value != '')
			fechaC = document.getElementById(fechaAComparar);
		else
			return false;
	else
	{
		return false;
	}
	var fechaIniString = fechaI.value; //Formato recibido dd/mm/aaaa
	var dia = fechaIniString.substring(0,2); 
	var mes = fechaIniString.substring(3,5);
	var anyo = fechaIniString.substring(6);
	var fechaIni = new Date (anyo,mes-1,dia);
	
	var fechaCompString = fechaC.value; //Formato recibido dd/mm/aaaa
	dia = fechaCompString.substring(0,2); 
	mes = fechaCompString.substring(3,5);
	anyo = fechaCompString.substring(6);
	var fechaComp = new Date (anyo,mes-1,dia);
	
	if (fechaIni.getTime() > fechaComp.getTime()){
		//fechaC.value = fechaIniString;
		//alert ("La fecha introducida no puede ser mayor que " + nombreFechaComp + ".\nSe ha actualizado " + nombreFechaComp + " al valor de " + nombreFechaI);
		alert ("La fecha introducida no puede ser mayor que " + nombreFechaComp + ".\nCompruebe las fechas.");
		//fechaI.focus();
		return false;
	}
	return true;
}

function fechaMayorOIgual(fechaIntroducida, fechaAComparar, nombreFechaI, nombreFechaComp){
	var fechaI = null;
	var fechaC = null;
	
	if ((document.getElementById(fechaIntroducida)) && (document.getElementById(fechaIntroducida).value != '')){
		fechaI = document.getElementById(fechaIntroducida);
	}
	else
	{
		return false;
	}
	if (document.getElementById(fechaAComparar))
		if (document.getElementById(fechaAComparar).value != '')
			fechaC = document.getElementById(fechaAComparar);
		else
			return false;
	else
	{
		alert('No existe el campo ' + fechaAComparar);
		return false;
	}
	var fechaIniString = fechaI.value; //Formato recibido dd/mm/aaaa
	var dia = fechaIniString.substring(0,2); 
	var mes = fechaIniString.substring(3,5);
	var anyo = fechaIniString.substring(6);
	var fechaIni = new Date (anyo,mes-1,dia);
	
	var fechaCompString = fechaC.value; //Formato recibido dd/mm/aaaa
	dia = fechaCompString.substring(0,2); 
	mes = fechaCompString.substring(3,5);
	anyo = fechaCompString.substring(6);
	var fechaComp = new Date (anyo,mes-1,dia);
	
	if (fechaIni.getTime() < fechaComp.getTime()){
		//fechaC.value = fechaIniString;
		//alert ("La fecha introducida no puede ser mayor que " + nombreFechaComp + ".\nSe ha actualizado " + nombreFechaComp + " al valor de " + nombreFechaI);
		alert ("La fecha introducida no puede ser menor que " + nombreFechaComp + ".\nCompruebe las fechas.");
		//fechaI.focus();
		return false;
	}
	return true;
	
	
}
//FUNCIONES JS UTILIZADAS EN LA INSERCIÓN DE CONTENIDOS

//Gestión de enlaces
numEnlaces = 0;
posArray = 0;
enlaces = new Array();


function addEnlaceCategoria(){

	var divEnlaces = document.getElementById("enlaces");
	var numEnlaces=0;
	var ultimoHijo = divEnlaces.lastElementChild;
	if (ultimoHijo != null){
		var ultimoHijoId = ultimoHijo.id;
		var arrNumEnlaces = ultimoHijoId.split("enlace");
		numEnlaces = parseInt(arrNumEnlaces[1]) + 1;
	}
	else {//Si versión Firefox < 3.5 e iexplorer < 9 no existe "lastElementChild" hay que obtener el elementos de otra manera
		var hijos = divEnlaces.children;
		if ((hijos != null) && (hijos.length > 0)){
			ultimoHijo = hijos[hijos.length - 1];
			ultimoHijoId = ultimoHijo.id;
			arrNumEnlaces = ultimoHijoId.split("enlace");
			numEnlaces = parseInt(arrNumEnlaces[1]) + 1;
		}
	}
	textoEnlace = document.getElementById("textoEnlace");
	url = document.getElementById("enlace");
	if ((textoEnlace.value == "")||(url.value == "")){
		alert ("Hay que introducir el texto y la url del enlace");
		return;
	}
	categoria = document.getElementById("categoria");
	if (categoria[categoria.selectedIndex].value == -1){
		alert ("Hay que seleccionar una categor&iacute;a");
		return;
	}
	
	
	
	var nuevoP = document.createElement("div");
	var idNuevoP = "enlace" + numEnlaces;
	nuevoP.setAttribute("id", idNuevoP);
	nuevoP.setAttribute("name", idNuevoP);
	nuevoP.style.width = "45em";
	nuevoP.style.height = "1.5em";
	nuevoP.style.paddint = "0.3em";
	nuevoP.style.cssFloat = "left";
	nuevoP.style.float = "left";

	//Ahora hay que añadir el contenido al nuevo párrafo

	var idNuevoE = "text" + idNuevoP;
	
	var enlace= document.createElement("div");
	enlace.setAttribute("id", idNuevoE);
	enlace.setAttribute("name", idNuevoE);
	enlace.setAttribute("class", "ellipsis");
//	enlace.className="ellipsis";
	enlace.style.whiteSpace="nowrap";
	enlace.style.textOverflow="ellipsis"; /* for internet explorer */
	enlace.style.OTextOverflow = "ellipsis"; /* para Opera */
	enlace.style.display = "inline";
	enlace.style.maxWidth = "8em";
	enlace.style.width = "8em ";
	enlace.style.cssFloat = "left";
	enlace.style.float = "left";
	enlace.style.paddingLeft = "1em";
	enlace.style.overflow = "hidden";
	enlace.title = textoEnlace.value;
	enlace.innerHTML = textoEnlace.value;
	
	
	var link = document.createElement("div");
	var idNuevoUrlE = "url" + idNuevoP;
	link.setAttribute("id", idNuevoUrlE);
	link.setAttribute("name", idNuevoUrlE);
//	link.className = "ellipsisLargo";
	link.style.whiteSpace="nowrap";
	link.style.textOverflow="ellipsis"; /* for internet explorer */
	link.style.OTextOverflow = "ellipsis"; /* para Opera */
	link.style.display = "inline";
	link.style.maxWidth = "17em";
	link.style.width = "17em ";
	link.style.cssFloat = "left";
	link.style.float = "left";
	link.style.paddingLeft = "1em";
	link.style.overflow = "hidden";
	link.title = url.value;
	link.innerHTML = url.value;
	
	
	var categori = document.createElement("div");
	var idNuevaCatE = "categ" + idNuevoP;
	categori.setAttribute("id", idNuevaCatE);
	categori.setAttribute("name", idNuevaCatE);
//	categori.className="ellipsis";
	enlace.style.whiteSpace="nowrap";
	categori.style.textOverflow="ellipsis"; /* for internet explorer */
	categori.style.OTextOverflow = "ellipsis"; /* para Opera */
	categori.style.display = "inline";
	categori.style.maxWidth = "8em";
	categori.style.width = "8em ";
	categori.style.cssFloat = "left";
	categori.style.float = "left";
	categori.style.paddingLeft = "1em";
	categori.style.overflow = "hidden";
	categori.title = categoria[categoria.selectedIndex].text;
	categori.innerHTML = categoria[categoria.selectedIndex].text;
	
	var categoriaId = document.createElement("div");
	var idNuevaCatIdE = "categId" + idNuevoP;
	categoriaId.setAttribute("id", idNuevaCatIdE);
	categoriaId.setAttribute("name", idNuevaCatIdE);
	categoriaId.style.display = "none";
	categoriaId.innerHTML = categoria[categoria.selectedIndex].value;
	
	var divBotEliminar = document.createElement("div");
	
	divBotEliminar.style.cssFloat = "right";
//	divBotEliminar.style.float = "right";
	divBotEliminar.style.width = "20px";
	divBotEliminar.style.display = "inline";
	
	var botEliminar = document.createElement("img");
    var idNuevoBotEliminar = "bteeliminar" + idNuevoP;
	botEliminar.setAttribute("id", idNuevoBotEliminar);
	botEliminar.onclick = function(){eliminarEnlace(idNuevoP);};
	//botEliminar.setAttribute("onclick", "eliminarEnlaceMod('" + idNuevoP + "')");
	botEliminar.setAttribute("src", "imagenes/maqueta/operaciones/delete.png");
	botEliminar.style.padding = "0 0.15em";
	botEliminar.style.cssFloat = "right";
	botEliminar.style.float = "right";
	
	
	divBotEliminar.appendChild(botEliminar);
	var espacios = document.createElement("div");
	espacios.style.width = "0.5em";
	espacios.style.cssFloat = "left";
	espacios.style.float = "left";
	espacios.style.display = "inline";
	espacios.innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;";
	var espacios2 = document.createElement("div");
	espacios2.style.width = "0.5em";
	espacios2.style.cssFloat = "left";
	espacios2.style.float = "left";
	espacios2.style.display = "inline";
	espacios2.innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;";
	var espacios3 = document.createElement("div");
	espacios3.style.width = "0.5em";
	espacios3.style.cssFloat = "left";
	espacios3.style.float = "left";
	espacios3.style.display = "inline";
	espacios3.innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;";
	var espacios4 = document.createElement("div");
	espacios4.style.width = "0.5em";
	espacios4.style.cssFloat = "left";
	espacios4.style.float = "left";
	espacios4.style.display = "inline";
	espacios4.innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;";
	
	nuevoP.appendChild(enlace);
	nuevoP.appendChild(espacios);
	nuevoP.appendChild(link);
	nuevoP.appendChild(espacios2);
	nuevoP.appendChild(categori);
	nuevoP.appendChild(espacios4);
	nuevoP.appendChild(categoriaId);
	nuevoP.appendChild(divBotEliminar);
	//nuevoP.appendChild(botEliminar);
	
	
	divEnlaces.appendChild(nuevoP);
	
	numEnlaces++;
	//Actualizamos el input hidden en el que enviaremos los enlaces del evento con el siguiente formato
	//textoEnlace$url$categoriaId$operacion$
	
	var enlaces = document.getElementById("enlacesEnv");
	var enlacesaux = enlaces.value + textoEnlace.value + "$" + url.value + "$" + categoria[categoria.selectedIndex].value + "$3$";
	enlaces.setAttribute("value", enlacesaux);
	
	
//	textoEnlace.setAttribute("value","");
//	url.setAttribute("value", "");
//	document.getElementById("iconoEnlace0").setAttribute("checked", "checked");
	textoEnlace.value="";
	url.value="";
	return;
}

function addEnlaceMod(){
	var divEnlaces = document.getElementById("enlaces");
	//Comprobamos cual es el número de enlaces
	var numEnlaces=0;
	var ultimoHijo = divEnlaces.lastElementChild;
	if (ultimoHijo != null){
		var ultimoHijoId = ultimoHijo.id;
		var arrNumEnlaces = ultimoHijoId.split("enlace");
		
		numEnlaces = parseInt(arrNumEnlaces[1]) + 1;
	}
	else {//Si versión Firefox < 3.5 e iexplorer < 9 no existe "lastElementChild" hay que obtener el elementos de otra manera
		var hijos = divEnlaces.children;
		if ((hijos != null) && (hijos.length > 0)){
			ultimoHijo = hijos[hijos.length - 1];
			ultimoHijoId = ultimoHijo.id;
			arrNumEnlaces = ultimoHijoId.split("enlace");
			numEnlaces = parseInt(arrNumEnlaces[1]) + 1;
		}
	}
	textoEnlace = document.getElementById("textoEnlace");
	url = document.getElementById("enlace");
	if ((textoEnlace.value == "")||(url.value == "")){
		alert ("Hay que introducir el texto y la url del enlace");
		return;
	}
	icono = document.getElementsByName("iconoEnlace");
	var nuevoP = document.createElement("div");
	var idNuevoP = "enlace" + numEnlaces;
	nuevoP.setAttribute("id", idNuevoP);
	nuevoP.style.cssText = "max-width: 45em !important; width:45em; height:2em; float:left;";

	//Ahora hay que añadir el contenido al nuevo párrafo

	var idNuevoE = "text" + idNuevoP;
	
	var enlace= document.createElement("div");
	enlace.setAttribute("id", idNuevoE);
	enlace.style.cssText = 'white-space: nowrap; text-overflow:ellipsis; -o-text-overflow:ellipsis; display: inline; max-width: 8em !important; width: 8em; float: left; padding-left: 1em; overflow: hidden;';
	enlace.setAttribute("title", textoEnlace.value);
	enlace.innerHTML = textoEnlace.value;
	
	
	
	var link = document.createElement("div");
	var idNuevoUrlE = "url" + idNuevoP;
	link.setAttribute("id", idNuevoUrlE);
	link.style.cssText = 'white-space: nowrap; text-overflow:ellipsis; -o-text-overflow:ellipsis; display: inline; max-width: 17em !important; width: 17em; float: left; padding-left: 1em; overflow: hidden;';
	link.setAttribute("title", textoEnlace.value);
	link.innerHTML = url.value;
	
	var iconoSeleccionado = getRadioButtonSelectedValue(icono);
	if (iconoSeleccionado != null){
		var spanIconoEnlace = document.createElement("div");
		var divIconoEnlace = document.createElement("div");
		var iconoEnlace = document.createElement("img");
		var idNuevoSpan = "spanIcono" + idNuevoP;
		var idNuevoIcono= "ico" + idNuevoP;
		spanIconoEnlace.setAttribute("id", idNuevoSpan);
		spanIconoEnlace.style.display="none";
		spanIconoEnlace.innerHTML = getRadioButtonSelectedValue(icono);
		iconoEnlace.setAttribute("id", idNuevoIcono);
		iconoEnlace.setAttribute("name", idNuevoIcono);
		iconoEnlace.src = getRadioButtonSelectedValue(icono);
		divIconoEnlace.style.cssText = "padding-left:0.5em; float: left; max-width: 17px !important; width: 17px;";
		divIconoEnlace.appendChild(iconoEnlace);
		
	}
	
	
	var spanId = document.createElement("div");
	var idNuevoSpanId = "idenlace" +  idNuevoP;
	spanId.setAttribute("id", idNuevoSpanId);
	spanId.style.display="none";
	spanId.innerHTML = ""; //Porque hasta que no se inserte el enlace no tengo su id
	
	var spanOperacion = document.createElement("div");
	var idNuevoSpanOperacion = "operacion" + idNuevoP;
	spanOperacion.setAttribute("id", idNuevoSpanOperacion);
	spanOperacion.style.cssText = "display:none;"
	spanOperacion.innerHTML = "3"; //Valor de operación 3 es enlace nuevo
	
	var incluirEnlaceUltimaHora = document.getElementById("incluirEnlaceUltimaHora");
	var spanEnlaceUltimaHora = document.createElement("div");
	var idNuevoUH = "UH"+idNuevoP;
	spanEnlaceUltimaHora.setAttribute("id", idNuevoUH);
	spanEnlaceUltimaHora.style.cssText="padding-left:0.5em; float:left; max-width:3em !important; width:3em;";
	var enUltimaHora = "NUH";
	if (incluirEnlaceUltimaHora != null)
		enUltimaHora= (incluirEnlaceUltimaHora.checked)?"UH":"NUH";
	else
		spanEnlaceUltimaHora.setAttribute("style", "display:none");
	spanEnlaceUltimaHora.innerHTML = enUltimaHora;
	
	
	
	
	var divBotAnadirUH = document.createElement("div");
	var botAnadirUH = document.createElement("img");
    var idNuevoBotAnyadirUH = "bteenlaceanyadirUH" + idNuevoP;
    divBotAnadirUH.style.cssText = "float:right; position:relative; width:17px; height:17px; border: 1px solid; display:inline;";
    
    botAnadirUH.setAttribute("id", idNuevoBotAnyadirUH);
    
	//botEliminar.onclick = function(){eliminarEnlaceMod(idNuevoP);};
    botAnadirUH.onclick = function(){anyadirUH(idNuevoP);};
    //botAnadirUH.setAttribute("onclick", "anyadirUH('" + idNuevoP + "')");
    botAnadirUH.setAttribute("src", "imagenes/maqueta/operaciones/UH-add.png");
    botAnadirUH.style.cssText = "display:inline; position:absolute; left:18px;";
    
    
	var divBotQuitarUH = document.createElement("div");
	var botQuitarUH = document.createElement("img");
    var idNuevoBotQuitarUH = "bteenlacequitarUH" + idNuevoP;
    divBotQuitarUH.style.cssText = "float:right; position:relative; width:17px; height:17px; border: 1px solid; display:inline;";
  
    botQuitarUH.setAttribute("id", idNuevoBotQuitarUH);
    botQuitarUH.onclick = function(){quitarUH(idNuevoP);};
    //botQuitarUH.setAttribute("onclick", "quitarUH('" + idNuevoP + "')");
    botQuitarUH.setAttribute("src", "imagenes/maqueta/operaciones/UH-delete.png");
    botQuitarUH.style.cssText = "display:inline; position:absolute; left:1px;";
	
    var divBotEliminar = document.createElement("div");
	var botEliminar = document.createElement("img");
    var idNuevoBotEliminar = "bteeliminar" + idNuevoP;
    divBotEliminar.style.cssText = "float: right; display:inline; position:relative; width:55px; height:17px;";
    
	botEliminar.setAttribute("id", idNuevoBotEliminar);
	botEliminar.onclick = function(){eliminarEnlaceMod(idNuevoP);};
	botEliminar.setAttribute("src", "imagenes/maqueta/operaciones/delete.png");
	botEliminar.style.cssText = "display:inline; position:absolute; left:38px";
	if (incluirEnlaceUltimaHora != null){
		divBotEliminar.appendChild(botAnadirUH);
		divBotEliminar.appendChild(botQuitarUH);
	}
	divBotEliminar.appendChild(botEliminar);
	
	
	var divBotModificar = document.createElement("div");
	var botModificar = document.createElement("img");
    var idNuevoBotModificar = "btemodificar" + idNuevoP;
    divBotModificar.style.cssFloat = "right";
    divBotModificar.style.width = "17px";
	botModificar.setAttribute("id", idNuevoBotModificar);
	botModificar.setAttribute("src", "imagenes/maqueta/operaciones/modify.png");
	botModificar.style.padding = "0 0.15em";
	divBotModificar.appendChild(botModificar);

	
	nuevoP.appendChild(enlace);
	nuevoP.appendChild(link);
	if (iconoSeleccionado != null){
		nuevoP.appendChild(spanIconoEnlace);
		nuevoP.appendChild(divIconoEnlace);
	}
	nuevoP.appendChild(spanId);
	nuevoP.appendChild(spanOperacion);
	nuevoP.appendChild(spanEnlaceUltimaHora);
	nuevoP.appendChild(divBotEliminar);

	
	
	divEnlaces.appendChild(nuevoP);
	
	numEnlaces++;
	//Actualizamos el input hidden en el que enviaremos los enlaces del evento con el siguiente formato
	//textoEnlace$url$icono$id$operacion
	
	var enlaces = document.getElementById("enlacesEnv");
	var enlacesaux = enlaces.value + textoEnlace.value + "$" + url.value + "$" + iconoSeleccionado + "$$3$" + enUltimaHora + "$";
	enlaces.setAttribute("value", enlacesaux);
	
	
//	textoEnlace.setAttribute("value","");
//	url.setAttribute("value", "");
//	document.getElementById("iconoEnlace0").setAttribute("checked", "checked");
	textoEnlace.value="";
	url.value="";
	document.getElementById("iconoEnlace0").checked = true;
	return;
}

function eliminarEnlace(idEnlace){
	//Vacía las posiciones del array asignadas a ese enlace (nombre y url)
		var enlace = document.getElementById(idEnlace);

		
		var enlaces = document.getElementById("enlacesEnv");
		var cadenaEnlaces = enlaces.value;
		
		var cadenaAborrar = enlace.childNodes[0].innerHTML + "$" + enlace.childNodes[2].innerHTML + "$" + enlace.childNodes[4].innerHTML + "$" + enlace.childNodes[6].innerHTML + "$3$";//3 significa operación enlace creado en esta inserción
		var nuevaCadena = "";
		
		var arrCadenaEnlaces = cadenaEnlaces.split("$");
		var numEnlace = idEnlace.split("enlace");
		var divEnlaces = document.getElementById("enlaces");
		//var ultimoHijo = divEnlaces.lastElementChild;
		var ultimoHijo = divEnlaces.children[divEnlaces.children.length - 1];
		var ultimoHijoId = ultimoHijo.id;
		var ultimoHijoNumId = parseInt(ultimoHijoId.split("enlace")[1]);
		if (numEnlace[1] != ultimoHijoNumId){//Si no es el último
			//sustituimos el lo que ha cambiado del enlace en el arrayCadenaEnlaces
			arrCadenaEnlaces[4*numEnlace[1]+3] = "5";
			cadenaEnlaces=arrCadenaEnlaces.join("$");
		}
		else //Si es el último.
			//Hay que ver también si el enlace que queda después de eliminar el último también se creó y eliminó en 
			//esta operación de modificación. En caso afirmativo también hay que eliminarlo
		{
			var longitud = arrCadenaEnlaces.length;
			var numeroEnlaces = parseInt(longitud/4);
			var nuevaCadenaEnlaces="";
			
			//el último ya sabemos que hay que eliminarlo por lo que empezamos a comprobar a partir del penúltimo enlace
			var i=longitud -3 - 3;//La última posición del array está vacía y hay que retroceder además dos más
			var enc = false;
			while (i>0 && !enc){
				if (arrCadenaEnlaces[i] != 5)
					enc = true;
				else
					i=i-4;
			}
			//la posición nos la da el índice "i" incrementado las posiciones necesarias para completar la cadena del enlace
			for (j=0; j<=i; j++)//Al comprobar <= llegamos hasta el índice de la propiedad "Ultima Hora" del enlace
				nuevaCadenaEnlaces += arrCadenaEnlaces[j] + "$";
			
			cadenaEnlaces = nuevaCadenaEnlaces;
		}
		enlaces.setAttribute("value", cadenaEnlaces);
		var padre = enlace.parentNode;
		padre.removeChild(enlace);
}

function quitarUH(idEnlace){
	//Vacía las posiciones del array asignadas a ese enlace (nombre y url)
		
	    var enlace = document.getElementById(idEnlace);
	    //Formato cadenaAborrar:textoEnlace$url$icono$idEnlace$operacion$ultimaHora
		var enlaces = document.getElementById("enlacesEnv");
		var cadenaEnlaces = enlaces.value;
		//var cadenaAntigua = enlace.childNodes[0].innerHTML + "$" + enlace.childNodes[2].innerHTML + "$" + enlace.childNodes[4].innerHTML + "$" + enlace.childNodes[7].innerHTML + "$" + enlace.childNodes[8].innerHTML + "$" + enlace.childNodes[10].innerHTML + "$";
		//var cadenaNueva = enlace.childNodes[0].innerHTML + "$" + enlace.childNodes[2].innerHTML + "$" + enlace.childNodes[4].innerHTML + "$" + enlace.childNodes[7].innerHTML + "$2$NUH$";
		var cadenaAntigua = enlace.children[0].innerHTML + "$" + enlace.children[1].innerHTML + "$" + enlace.children[2].innerHTML + "$" + enlace.children[4].innerHTML + "$" + enlace.children[5].innerHTML + "$" + enlace.children[6].innerHTML + "$";
		var cadenaNueva = enlace.children[0].innerHTML + "$" + enlace.children[1].innerHTML + "$" + enlace.children[2].innerHTML + "$" + enlace.children[4].innerHTML + "$2$NUH$";
		//cadenaEnlaces = cadenaEnlaces.replace(cadenaAntigua, cadenaNueva);
		var arrCadenaEnlaces = cadenaEnlaces.split("$");
		numEnlace = idEnlace.split("enlace");
		//sustituimos el lo que ha cambiado del enlace en el arrayCadenaEnlaces
		if (enlace.children[5].innerHTML != 3)//Si no se ha dado de alta nuevo
			arrCadenaEnlaces[6*numEnlace[1]+4] = "2";
		arrCadenaEnlaces[6*numEnlace[1]+5] = "NUH";
		cadenaEnlaces=arrCadenaEnlaces.join("$");
		enlace.children[6].innerHTML = "NUH";
		enlaces.setAttribute("value",cadenaEnlaces);
	  //Habría que comprobar si hay algún enlace en UH para avisar
	    if (!comprobarUH3('enlacesEnv')){// Si no hay ningún enlace en última hora
		    var UHCheck = document.getElementById("incluirUltimaHora");
		    
		    if (UHCheck != null){
		    	UHCheck.checked=false;
		    	desactivarElemento('fechaUltimaHora');desactivarElemento('textoUltimaHora');descheckear('incluirEnlaceUltimaHora');desactivarElemento('incluirEnlaceUltimaHora')
		    }
	    }
	
	
}

function anyadirUH(idEnlace){
	//Vacía las posiciones del array asignadas a ese enlace (nombre y url)
		
	    var enlace = document.getElementById(idEnlace);
	    //Activamos el check de añadir en última hora
	    var UHCheck = document.getElementById("incluirUltimaHora");
	    if (UHCheck != null){
	    	UHCheck.checked=true;
	    	activarDisabled('fechaUltimaHora');activarDisabled('textoUltimaHora');checkear('incluirEnlaceUltimaHora');activarDisabled('incluirEnlaceUltimaHora')
	    }
	  //Formato cadenaAborrar:textoEnlace$url$icono$idEnlace$operacion$ultimaHora
		var enlaces = document.getElementById("enlacesEnv");
		var cadenaEnlaces = enlaces.value;
		var cadenaAntigua = enlace.children[0].innerHTML + "$" + enlace.children[1].innerHTML + "$" + enlace.children[2].innerHTML + "$" + enlace.children[4].innerHTML + "$" + enlace.children[5].innerHTML + "$" + enlace.children[6].innerHTML + "$";
		var cadenaNueva = enlace.children[0].innerHTML + "$" + enlace.children[1].innerHTML + "$" + enlace.children[2].innerHTML + "$" + enlace.children[4].innerHTML + "$2$UH$";

		var arrCadenaEnlaces = cadenaEnlaces.split("$");
		numEnlace = idEnlace.split("enlace");
		//sustituimos el lo que ha cambiado del enlace en el arrayCadenaEnlaces
		if (enlace.children[5].innerHTML != 3)//Si no se ha dado de alta nuevo
			arrCadenaEnlaces[6*numEnlace[1]+4] = "2";
		arrCadenaEnlaces[6*numEnlace[1]+5] = "UH";
		cadenaEnlaces=arrCadenaEnlaces.join("$");
		
		enlace.children[6].innerHTML = "UH";
		enlaces.setAttribute("value",cadenaEnlaces);
	
}


function comprobarUH3(enlacesEnv){
	//Esta función se llama desde la modificación de última hora
	//Si está marcado el campo incluirUltimaHora comprueba que haya por lo menos un enlace en última hora para desmarcar los checks y desactivar los elementeos correspondientes  
		
		var enc = false;
		var enlaces = document.getElementById(enlacesEnv);
		if (enlaces != null){
			var arrMisEnlaces = "";
			misEnlaces = enlaces.value;
			arrMisEnlaces = misEnlaces.split("$");
			numEnlaces = parseInt(arrMisEnlaces.length/6);
			//formato del envia del 
			var i = 5;
			while ((!enc) && (i<arrMisEnlaces.length)){
				if (arrMisEnlaces[i] == "UH")
					enc = true;
				i=i+6;
			}
		}
		return enc;
	}


function eliminarEnlaceMod(idEnlace){
	//Vacía las posiciones del array asignadas a ese enlace (nombre y url)
		var enlace = document.getElementById(idEnlace);
		
		var enlaces = document.getElementById("enlacesEnv");
		var cadenaEnlaces = enlaces.value;
		
		//Formato cadenaAborrar:textoEnlace$url$icono$idEnlace$operacion$UltimaHora
		var cadenaAmodificar = enlace.children[0].innerHTML + "$" + enlace.children[1].innerHTML + "$" + enlace.children[2].innerHTML + "$" + enlace.children[4].innerHTML + "$" + enlace.children[5].innerHTML + "$" + enlace.children[6].innerHTML + "$";
		var operacion=parseInt(enlace.children[5].innerHTML);
		var nuevaCadena = "";

		/*Valores que puede tomar operación:
			1:igual
			2:modificar
			3:nuevo
			4:eliminar
			5:nada. Se ha creado nuevo y se ha eliminado
		*/
		
		if (!isNaN(operacion)){
			switch(operacion){
			case 1://igual. El enlace todavía no ha sufrido ningún cambio. Se procede a eliminarlo
			case 2://modificar. El enlace ya había sido modificado. Se procede a eliminarlo
				//nuevaCadena = enlace.childNodes[0].innerHTML + "$" + enlace.childNodes[2].innerHTML + "$" + enlace.childNodes[4].innerHTML + "$" + enlace.childNodes[7].innerHTML + "$4";
				var arrCadenaEnlaces = cadenaEnlaces.split("$");
				numEnlace = idEnlace.split("enlace");
				//sustituimos el lo que ha cambiado del enlace en el arrayCadenaEnlaces
				arrCadenaEnlaces[6*numEnlace[1]+4] = "4";
				cadenaEnlaces=arrCadenaEnlaces.join("$");
				//cadenaEnlaces=cadenaEnlaces.replace(cadenaAmodificar,nuevaCadena);
				break;
			case 3://nuevo. El enlace ha sido creado en esta operación de modificación. 
				//Si es el último enlace que se ha añadido se procede a eliminarlo y se quita de cadenaEnlaces
				//si no es el último enlace que se ha añadido se marca con la operación 5
				//cadenaEnlaces = cadenaEnlaces.replace(cadenaAmodificar,"");
				
				arrCadenaEnlaces = cadenaEnlaces.split("$");
				numEnlace = idEnlace.split("enlace");
				
				var divEnlaces = document.getElementById("enlaces");
				//var ultimoHijo = divEnlaces.lastElementChild;
				var ultimoHijo = divEnlaces.children[divEnlaces.children.length - 1];
				var ultimoHijoId = ultimoHijo.id;
				var ultimoHijoNumId = parseInt(ultimoHijoId.split("enlace")[1]);
				if (numEnlace[1] != ultimoHijoNumId){//Si no es el último
					//sustituimos el lo que ha cambiado del enlace en el arrayCadenaEnlaces
					arrCadenaEnlaces[6*numEnlace[1]+4] = "5";
					cadenaEnlaces=arrCadenaEnlaces.join("$");
				}
				else //Si es el último.
					//Hay que ver también si el enlace que queda después de eliminar el último también se creó y eliminó en 
					//esta operación de modificación. En caso afirmativo también hay que eliminarlo
				{
					var longitud = arrCadenaEnlaces.length;
					var numeroEnlaces = parseInt(longitud/6);
					var nuevaCadenaEnlaces="";
					
					//el último ya sabemos que hay que eliminarlo por lo que empezamos a comprobar a partir del penúltimo enlace
					var i=longitud -3 - 6;//La última posición del array está vacía y hay que retroceder además dos más
					var enc = false;
					while (i>0 && !enc){
						if (arrCadenaEnlaces[i] != 5)
							enc = true;
						else
							i=i-6;
					}
					//la posición nos la da el índice "i" incrementado las posiciones necesarias para completar la cadena del enlace
					for (j=0; j<=i+1; j++)//Al comprobar <= llegamos hasta el índice de la propiedad "Ultima Hora" del enlace
						nuevaCadenaEnlaces += arrCadenaEnlaces[j] + "$";
					
					cadenaEnlaces = nuevaCadenaEnlaces;
				}
				break;
			}
			enlaces.setAttribute("value", cadenaEnlaces);
			var padre = enlace.parentNode;
			padre.removeChild(enlace);
		}
		
		
		
}

function confirmar ( mensaje ) {
	return confirm( mensaje );
	}

function mostrar ( mensaje ) {
	alert( mensaje );
	return false;
	}

function comprobarIgual(campo, idCampoAComprobar){
	var valorCampo = campo.value;
	
	divMensaje = campo.id + "Error";
	if (document.getElementById(divMensaje) == null)
		divMensaje = idCampoAComprobar + "Error";
	if ((valorCampo != null) && (valorCampo != ""))
	{
		var campoAComprobar = document.getElementById(idCampoAComprobar);
		var valorCampoAComprobar;
		if (campoAComprobar != null)
			valorCampoAComprobar = campoAComprobar.value;
		
		if ((valorCampoAComprobar != null) && (valorCampoAComprobar != "")){//Si el campo a comprobar existe y no está vacio
			
			if (valorCampo != valorCampoAComprobar){
					document.getElementById(divMensaje).setAttribute("style","display:block;");
					campo.focus();
			}
			else{
				document.getElementById(divMensaje).setAttribute("style","display:none;");
			}
		}
		else{
			document.getElementById(divMensaje).setAttribute("style","display:none;");
		}
	}
	else
	{
		document.getElementById(divMensaje).setAttribute("style","display:none;");
	}

}

function validate(nombreCampo){
	var validar = new LiveValidation(nombreCampo);
	validar.add(Validate.Format, {pattern: /^((((ht|f)tp(s?))|(file))\:\/\/)([0-9a-zA-Z\-]+\.?)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/, failureMessage: "url incorrecta" });

	return validar.validate();
}

function comprobarSiEnlaces(elementoId, mensajeError){
	var valor = 0;
	if (document.getElementById(elementoId)!= null)
		valor = document.getElementById(elementoId).value.length
	if (valor <= 0)
		alert (mensajeError);
	return valor>0;
}

function actualizarEnlaces(siEnUH){
	if (comprobarCheckActivo(siEnUH.id)){//Si activo el  checkbox hay que poner los enlaces lo que hubiese en su destino a última hora
		var enlacesEnv = document.getElementById('enlacesEnv');
		if (enlacesEnv != null){//Si existe el campo
			var valorEnlacesEnv = enlacesEnv.value;
			if (valorEnlacesEnv != ""){//Si tiene contenido
				var ArrEnlacesEnv = valorEnlacesEnv.split("$");
				var numeroEnlaces = parseInt(ArrEnlacesEnv.length/4);
				for (var i=0; i<numeroEnlaces; i++)
						document.getElementById('UHenlace' + i).innerHTML=ArrEnlacesEnv[i*4 + 3];
			}
		}
	}
	else //Hay que poner que los enlaces no van a última hora
	{
		enlacesEnv = document.getElementById('enlacesEnv');
		if (enlacesEnv != null){//Si existe el campo
			valorEnlacesEnv = enlacesEnv.value;
			if (valorEnlacesEnv != ""){//Si tiene contenido
				ArrEnlacesEnv = valorEnlacesEnv.split("$");
				numeroEnlaces = parseInt(ArrEnlacesEnv.length/4);
				for (i=0; i<numeroEnlaces; i++)
						document.getElementById('UHenlace' + i).innerHTML="NUH";
			}
		}
	}
}

function actualizarEnlacesMod(siEnUH){
	if (comprobarCheckActivo(siEnUH.id)){//Si activo el  checkbox hay que poner los enlaces lo que hubiese en su destino a última hora
		var enlacesEnv = document.getElementById('enlacesEnv');
		if (enlacesEnv != null){//Si existe el campo
			var valorEnlacesEnv = enlacesEnv.value;
			if (valorEnlacesEnv != ""){//Si tiene contenido
				var ArrEnlacesEnv = valorEnlacesEnv.split("$");
				var numeroEnlaces = parseInt(ArrEnlacesEnv.length/6);
				for (var i=0; i<numeroEnlaces; i++)
						document.getElementById('UHenlace' + i).innerHTML=ArrEnlacesEnv[i*6 + 5];
			}
		}
	}
	else //Hay que poner que los enlaces no van a última hora
	{
		enlacesEnv = document.getElementById('enlacesEnv');
		if (enlacesEnv != null){//Si existe el campo
			valorEnlacesEnv = enlacesEnv.value;
			if (valorEnlacesEnv != ""){//Si tiene contenido
				ArrEnlacesEnv = valorEnlacesEnv.split("$");
				numeroEnlaces = parseInt(ArrEnlacesEnv.length/6);
				for (i=0; i<numeroEnlaces; i++)
						document.getElementById('UHenlace' + i).innerHTML="NUH";
			}
		}
	}
}

function actualizarEnlacesUH(siEnUH){
	if (comprobarCheckActivo(siEnUH.id)){//Si activo el  checkbox hay que poner los enlaces lo que hubiese en su destino a última hora
		var enlacesEnv = document.getElementById('enlacesEnv');
		if (enlacesEnv != null){//Si existe el campo
			var valorEnlacesEnv = enlacesEnv.value;
			if (valorEnlacesEnv != ""){//Si tiene contenido
				var ArrEnlacesEnv = valorEnlacesEnv.split("$");
				var numeroEnlaces = parseInt(ArrEnlacesEnv.length/6);
				for (var i=0; i<numeroEnlaces; i++)
						document.getElementById('UHenlace' + i).innerHTML=ArrEnlacesEnv[i*6 + 5];
			}
		}
	}
	else //Hay que poner que los enlaces no van a última hora
	{
		enlacesEnv = document.getElementById('enlacesEnv');
		if (enlacesEnv != null){//Si existe el campo
			valorEnlacesEnv = enlacesEnv.value;
			if (valorEnlacesEnv != ""){//Si tiene contenido
				ArrEnlacesEnv = valorEnlacesEnv.split("$");
				numeroEnlaces = parseInt(ArrEnlacesEnv.length/6);
				for (i=0; i<numeroEnlaces; i++)
						document.getElementById('UHenlace' + i).innerHTML="NUH";
			}
		}
	}
}

