function escape2(entrada) {
	var aux = entrada;
	aux = aux.replace(/\u00e1/g, "#aacute;");
	aux = aux.replace(/\u00e9/g, "#eacute;");
	aux = aux.replace(/\u00ed/g, "#iacute;");
	aux = aux.replace(/\u00f3/g, "#oacute;");
	aux = aux.replace(/\u00fa/g, "#uacute;");
	aux = aux.replace(/\u00c1/g, "#Aacute;");
	aux = aux.replace(/\u00c9/g, "#Eacute;");
	aux = aux.replace(/\u00cd/g, "#Iacute;");
	aux = aux.replace(/\u00d3/g, "#Oacute;");
	aux = aux.replace(/\u00da/g, "#Uacute;");
	aux = aux.replace(/\u00f1/g, "#ntilde;");
	aux = aux.replace(/\u00d1/g, "#Ntilde;");

	aux = aux.replace(/\u00fc/g, "#uuml;");//ü  u minúscula con diéresis    U+00FC
	aux = aux.replace(/\u00dc/g, "#Uuml;");//Ü	U mayúscula con diéresis	U+00DC
	
	aux = escape(aux);
	return aux;
} 

function unescape2(entrada) {
	var aux = entrada;
	aux = unescape (aux);
	aux = replaceAll(aux, "#aacute;", "\u00e1");
	aux = replaceAll(aux, "#eacute;", "\u00e9");
	aux = replaceAll(aux, "#iacute;", "\u00ed");
	aux = replaceAll(aux, "#oacute;", "\u00f3");
	aux = replaceAll(aux, "#uacute;", "\u00fa");
	aux = replaceAll(aux, "#Aacute;", "\u00c1");
	aux = replaceAll(aux, "#Eacute;", "\u00c9");
	aux = replaceAll(aux, "#Iacute;", "\u00cd");
	aux = replaceAll(aux, "#Oacute;", "\u00d3");
	aux = replaceAll(aux, "#Uacute;", "\u00da");
	aux = replaceAll(aux, "#ntilde;", "\u00f1");
	aux = replaceAll(aux, "#Ntilde;", "\u00d1");

	aux = replaceAll(aux, "#uuml;", "\u00fc");//ü  u minúscula con diéresis    U+00FC
	aux = replaceAll(aux, "#Uuml;", "\u00dc");//Ü	U mayúscula con diéresis	U+00DC
	
	return aux;
} 

function AddImage(ph, xml) {
 if (xml == 'undefined' || xml == null) return;
 var item = replaceAll(unescape2(document.getElementById(prefixGallery+ph+"_0").value),'+',' ');
 var xmlDoc = loadXML(item);
 var xmlImg = loadXML(xml);

 xmlDoc.documentElement.appendChild(xmlImg.documentElement);
 document.getElementById(prefixGallery+ph+"_0").value = escape2(xmlDoc.documentElement.xml);
 eval(prefixGallery+ph+"numImg = "+prefixGallery+ph+"_maxImages;");
 eval(prefixGallery+ph+"_maxImages++;");
 setImageAuthoring(ph, eval(prefixGallery+ph+'numImg'));
}

function EditImage(ph, xml) {
 if (xml == 'undefined' || xml == null) return;
 var item = replaceAll(unescape2(document.getElementById(prefixGallery+ph+"_0").value),'+',' ');
 var xmlDoc = loadXML(item);
 var xmlImg = loadXML(xml);
 var xmlImgOld = xmlDoc.documentElement.getElementsByTagName("Image")[eval(prefixGallery+ph+"numImg")];
 xmlDoc.documentElement.replaceChild(xmlImg.documentElement, xmlImgOld);

 document.getElementById(prefixGallery+ph+"_0").value = escape2(xmlDoc.documentElement.xml);
 setImageAuthoring(ph, eval(prefixGallery+ph+'numImg'));
}

function setImage(ph, imgId){
	try{
		//alert(document.getElementById(imgId).value.split('##')[0]);
		//alert(document.getElementById(imgId).value.split('##')[1]);
	
		var item = document.getElementById(prefixGallery+ph+"_");
		item.src = document.getElementById(imgId).value.split('##')[0];
		//David item.title = document.getElementById(imgId).value.split('##')[2];
		item.alt = document.getElementById(imgId).value.split('##')[2];
		item.longDesc = document.getElementById(imgId).value.split('##')[3];

		document.getElementById("carruselfotos_"+ph).getElementsByTagName("em")[0].innerHTML = item.alt;
		
		if (document.getElementById(prefixGallery+ph+"_").src == "undefined") 
			document.getElementById(prefixGallery+ph+"_").src="/imgs/sinimagen.gif"; 
			
		if (document.getElementById(imgId).value.split('##')[0] == document.getElementById(imgId).value.split('##')[1] || document.getElementById(imgId).value.split('##')[1] == "fichero grande...")
		{
			document.getElementById("zoomfoto").style.display = "none";			
		}
		else
		{
			document.getElementById("zoomfoto").style.display = "block";			
		}
			
	}catch(e){
		document.getElementById(prefixGallery+ph+"_").src="/imgs/sinimagen.gif";
	}
}

//carrusel de fotos
function MostrarImagenMiniatura(ph, imgId, num2, max, accion){
	try{
		var item;
		var indiceImg;
		var imagenesMostradas;
		
		var num = parseInt(num2);
		
		if(num2 > 3  && accion == '1' )
		{
			num = parseInt(num2) - 3;
		}
		for(var i=0;i<4;i++){
			if(imgId.length>19){
				indiceImg = imgId.substring(0,19) + num;
			}else{
				indiceImg = imgId.substring(0,18) + num;
			}
			
			item = document.getElementById(prefixGallery+ph+"_Min"+i);
			
			item.src = document.getElementById(indiceImg).value.split('##')[0];
			item.alt = document.getElementById(indiceImg).value.split('##')[2];
			item.longDesc = document.getElementById(indiceImg).value.split('##')[3];	
			num = parseInt(num) + 1;
		}
		if (document.getElementById(prefixGallery+ph+"_").src == "undefined") 
			document.getElementById(prefixGallery+ph+"_").src="/imgs/sinimagen.gif"; 
			
		if (document.getElementById(indiceImg).value.split('##')[0] ==
			document.getElementById(indiceImg).value.split('##')[1])
		{
			document.getElementById("zoomfoto").style.display = "none";			
		}
		else
		{
			document.getElementById("zoomfoto").style.display = "block";			
		}	
	}catch(e){
		document.getElementById(prefixGallery+ph+"_").src="/imgs/sinimagen.gif";
	}
}

function cambiarSelect(num)
{
	try{
		var numImagen = num;
		if(numImagen == '4')
		{
			numImagen = '3';
		}
		if(numImagen == '-1')
		{
			numImagen = '0';
		}
		for(var i = 0;i<4;i++){
			if(parseInt(numImagen) == i){
				if(parseInt(numImagen) == 3){
					item3 = document.getElementById("vinculo" + i);
					item3.className = "ultimo activo";
				}else{
					item3 = document.getElementById("vinculo" + i);
					item3.className = "activo";
				}
			}else{
				if(i != 3){
					item3 = document.getElementById("vinculo" + i);
					item3.className = "";
				}else{
					item3 = document.getElementById("vinculo" + i);
					item3.className = "ultimo";
				}
			}
		}
	}catch(e){
		//document.getElementById(prefixGallery+ph+"_").src="/imgs/sinimagen.gif";
	}		
}

function ClickImagen(numeroImagen, ph)
{
	var numAvances = numeroAvances(numeroImagen);
	cambiarSelect(numeroImagen);	
	
	var maxImagenes = eval(prefixGallery+ph+'_maxImages');
	
	if(numAvances > 0){	
		eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg+numAvances)%'+prefixGallery+ph+'_maxImages;');
	}else{
		eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg+numAvances)%'+prefixGallery+ph+'_maxImages;');
	}
	eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
}

function numeroAvances(numeroImagenClick)
{
	try
	{
		var item3;
		var numImagenSelect;
		for(var i = 0;i<4;i++){
			item3 = document.getElementById("vinculo" + i);
			if(item3.className == "ultimo activo" || item3.className == "activo"){
				numImagenSelect = i;
				break;
			}
		}	
	}catch(e){
		//document.getElementById(prefixGallery+ph+"_").src="/imgs/sinimagen.gif";
	}
	if(numImagenSelect < numeroImagenClick){
		return numeroImagenClick - numImagenSelect;
	}else{
		return -1*(numImagenSelect - numeroImagenClick);
	}
}

function ImgSelect(accion)
{
	try
	{
		var item3;
		var numImagen;
		for(var i = 0;i<4;i++){
			item3 = document.getElementById("vinculo" + i);
			if(item3.className == "ultimo activo" || item3.className == "activo"){
				numImagen = i;
				if(accion == "0" && numImagen < 4){
					numImagen = parseInt(numImagen) + 1;
				}
				if(accion == "1" && numImagen > -1){
					numImagen = parseInt(numImagen) - 1;
				}
				break;
			}
		}	
	}catch(e){
		//document.getElementById(prefixGallery+ph+"_").src="/imgs/sinimagen.gif";
	}
	return numImagen;
}

function AnteriorMiniaturas(ph) {
	
	var ImagenSelect = ImgSelect('1');
	cambiarSelect(ImagenSelect);
	
	var numeroImagen = eval(prefixGallery+ph+'numImg-1');
	var maxImagenes = eval(prefixGallery+ph+'_maxImages');
	if(parseInt(ImagenSelect) > -1)
	{
		if (eval(prefixGallery+ph+'numImg-1') > -1) {
			eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg-1)%'+prefixGallery+ph+'_maxImages;');
			eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
		}
	}else
	{
		if (eval(prefixGallery+ph+'numImg-1') > -1 ) {
			eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg-1)%'+prefixGallery+ph+'_maxImages;');
			eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
			eval('MostrarImagenMiniatura(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg,\''+numeroImagen + '\',\''+maxImagenes +'\',\'0\');');
		}
	}
	
}

function SiguienteMiniaturas(ph) {
	escape2("");
	var ImagenSelect = ImgSelect('0');
	
	var numeroImagen = eval(prefixGallery+ph+'numImg + 1');
	var maxImagenes = eval(prefixGallery+ph+'_maxImages');
	
	if( parseInt(maxImagenes) > parseInt(ImagenSelect))
	{
		cambiarSelect(ImagenSelect);
		
		if(parseInt(ImagenSelect) < 4)
		{
			if (eval(prefixGallery+ph+'numImg+1') < eval(prefixGallery+ph+'_maxImages') ) {
				eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg+1)%'+prefixGallery+ph+'_maxImages;');
				eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
			} 
		}else{
			if (eval(prefixGallery+ph+'numImg+1') < eval(prefixGallery+ph+'_maxImages') ) {
				eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg+1)%'+prefixGallery+ph+'_maxImages;');
				eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
				eval('MostrarImagenMiniatura(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg,\''+numeroImagen + '\',\''+maxImagenes +'\',\'1\');');
			}

		}
	}
}

function ejecutarCarrusel(ph) {
	if (eval(prefixGallery+ph+'numImg') < eval(prefixGallery+ph+'_maxImages') ) {
		var numeroImagen = eval(prefixGallery+ph+'numImg');
		var maxImagenes = eval(prefixGallery+ph+'_maxImages');
		eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg)%'+prefixGallery+ph+'_maxImages;');
		eval('MostrarImagenMiniatura(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg,\''+numeroImagen + '\',\''+maxImagenes +'\');');
	}
}

//fin carrusel fotos

function loadXML(xml)
{
	var xmlDoc
	//load xml file
	// code for IE
	if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.loadXML(xml);
	}
	// code for Mozilla, etc.
	else if (document.implementation &&
		document.implementation.createDocument)
	{
		var parser = new DOMParser();
		xmlDoc = parser.parseFromString(xml, "text/xml");
	}
	else
	{
		alert('Your browser cannot handle this script');
	}
	return xmlDoc;
}
function replaceAll(oldStr,findStr,repStr) {
  var srchNdx = 0;  // srchNdx will keep track of where in the whole line
                    // of oldStr are we searching.
  var newStr = "";  // newStr will hold the altered version of oldStr.
  while (oldStr.indexOf(findStr,srchNdx) != -1)  
                    // As long as there are strings to replace, this loop
                    // will run. 
  {
    newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx));
                    // Put it all the unaltered text from one findStr to
                    // the next findStr into newStr.
    newStr += repStr;
                    // Instead of putting the old string, put in the
                    // new string instead. 
    srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length);
                    // Now jump to the next chunk of text till the next findStr.           
  }
  newStr += oldStr.substring(srchNdx,oldStr.length);
                    // Put whatever's left into newStr.             
  return newStr;
}
function setImageAuthoring(ph, imgId){
	try{
		var xml = replaceAll(unescape2(document.getElementById(prefixGallery+ph+"_0").value),"+"," ");

 		var xmlDoc = loadXML(xml);

		var nodeImage = xmlDoc.documentElement.getElementsByTagName("Image")[imgId];

		var smallUrl = nodeImage.attributes[0].value;
		var bigUrl = nodeImage.attributes[1].value;

		var altText = nodeImage.getElementsByTagName("AlternateText")[0].attributes[1].value;
		var longDescText = nodeImage.getElementsByTagName("LongDescription")[0].attributes[1].value;

		var item = document.getElementById(prefixGallery+ph+"_");
		item.src = smallUrl;
		item.alt = altText;
		item.longDesc = longDescText;
		//David item.title = altText;
		document.getElementById("carruselfotos_"+ph).getElementsByTagName("em")[0].innerHTML = item.alt;
 }catch(e){
		document.getElementById(prefixGallery+ph+'_').src="/imgs/sinimagen.gif";
 }
}
function Anterior(ph) {
	if (eval(prefixGallery+ph+'numImg-1') > -1 ) {
		eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg-1)%'+prefixGallery+ph+'_maxImages;');
		eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
	}
}
function SiguienteCarrusel(ph) {
	if (eval(prefixGallery+ph+'numImg+1') < eval(prefixGallery+ph+'_maxImages') ) {
		eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg+1)%'+prefixGallery+ph+'_maxImages;');
		eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
	} 
	else 
	{
		eval(prefixGallery+ph+'numImg=0;');
		eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
	}
	timerID = setTimeout("SiguienteCarrusel('"+ph+"')", 4000);
}
function Siguiente(ph) {
	escape2("");

	if (eval(prefixGallery+ph+'numImg+1') < eval(prefixGallery+ph+'_maxImages') ) {
		eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg+1)%'+prefixGallery+ph+'_maxImages;');
		eval('setImage(\''+ph+'\',\''+prefixGallery+ph+'_\'+'+prefixGallery+ph+'numImg);');
	} 
}
function AnteriorAuthoring(ph) {
	if (eval(prefixGallery+ph+'numImg-1') > -1 ) {
		eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg-1)%'+prefixGallery+ph+'_maxImages;');
		eval('setImageAuthoring(\''+ph+'\','+prefixGallery+ph+'numImg);');
 }
}
function SiguienteAuthoring(ph) {
	if (eval(prefixGallery+ph+'numImg+1') < eval(prefixGallery+ph+'_maxImages') ) {
		eval(prefixGallery+ph+'numImg=('+prefixGallery+ph+'numImg+1)%'+prefixGallery+ph+'_maxImages;');
		eval('setImageAuthoring(\''+ph+'\','+prefixGallery+ph+'numImg);');
 }
}

function ventana(url,name,features) {
  window.open(url,name,features);
  return false;
}

function Zoom(ph) {
	try{
		var imgId = eval(prefixGallery+ph+'numImg');
		var imagen = document.getElementById(prefixGallery+ph+"_"+imgId).value.split('##')[1];
		var alt    = document.getElementById(prefixGallery+ph+"_"+imgId).value.split('##')[3];
		
		ventana(imagen, "zoom");
		
	}catch(e){
	}	
}

var timerID = 0;
function Carrusel(ph) {
	if (timerID == 0) {
		timerID = setTimeout("SiguienteCarrusel('"+ph+"')", 4000);
	} else {
		clearTimeout(timerID);
		timerID  = 0;
	}
}

function RemoveImage(ph, imgId) {
	if (!confirm("Va a borrar la imagen actual del carrusel. ¿Está seguro/a?")) return;
	var item = replaceAll(unescape2(document.getElementById(prefixGallery+ph+"_0").value),'+',' ');
	var xmlDoc = loadXML(item);
	var xmlDocNew = loadXML('<?xml version="1.0" encoding="ISO-8859-15"?>\r\n<Gallery/>');

	var nodes = xmlDoc.documentElement.getElementsByTagName("Image");
	for (var i=0; i<nodes.length; i++)
	{
		if (i != imgId)
			xmlDocNew.documentElement.appendChild(nodes[i])
		else
		{
			eval(prefixGallery+ph+"_maxImages--;");
			if (eval(prefixGallery+ph+"_maxImages=="+imgId))
			{
				eval(prefixGallery+ph+'numImg--;')
			}
		}
	}
	 
	document.getElementById(prefixGallery+ph+"_0").value = escape2(xmlDocNew.documentElement.xml);
	setImageAuthoring(ph, eval(prefixGallery+ph+'numImg'));	
}

function GetCurrentEditImage(ph) {
	var xml = replaceAll(unescape2(document.getElementById(prefixGallery+ph+"_0").value),'+',' ');
	var xmlDoc = loadXML(xml);
	var nodeImage = xmlDoc.documentElement.getElementsByTagName("Image")[eval(prefixGallery+ph+"numImg")];
	
	return nodeImage.xml;
}