var cGrupos = new Grupos();

function Grupos () {
	this.aGrupos = new Array();
	return this;
}

function Grupo (idGrupo,urlBase,nombreBase,extImg,nImg){
	this.idGrupo = idGrupo;
	this.urlBase = urlBase;
	this.nombreBase = nombreBase;
	this.extImg = extImg;
	this.nImg = nImg;
	this.aImg = new Array();
	this.estadoImg = new Array();
	for (iG=0; iG<nImg; iG++) this.estadoImg[iG]=false;
	return this;
}
	
function TImagen (idImg,params){
	this.idImg = idImg;
	this.params = params;
	this.nImagen = -1;
}

function regGrupo(idGrupo,urlBase,nombreBase,extImg,nImg){
	for (igg=0;igg<cGrupos.aGrupos.length; igg++) {
		if (cGrupos.aGrupos[igg].idGrupo == idGrupo) 
			return cGrupos.aGrupos[igg];
	}
	tmpG = new Grupo(idGrupo,urlBase,nombreBase,extImg,nImg);
	cGrupos.aGrupos[cGrupos.aGrupos.length] = tmpG;
	return tmpG;
}

function regImagen(grupo,idImg,params){
	for (iri=0; iri<grupo.aImg.length; iri++) {
		if (grupo.aImg[iri].idImg == idImg)
			return grupo.aImg[iri];
	}
	tmpI = new TImagen(idImg,params);
	grupo.aImg[grupo.aImg.length] = tmpI;
	return tmpI;
}

function addImagenAleatoria(idGrupo,urlBase,nombreBase,extImg,nImg,idImg,params) {
	tmpG = regGrupo(idGrupo,urlBase,nombreBase,extImg,nImg);
	tmpI = regImagen(tmpG,idImg,params);
	var nImagen;
	do {
	    nImagen = Math.floor( Math.random(1) * tmpG.nImg);
	} while (tmpG.estadoImg[nImagen]);
	tmpG.estadoImg[nImagen] = true;
	if (tmpI.nImagen>=0)
		tmpG.estadoImg[tmpI.nImagen] = false;
	tmpI.nImagen = nImagen;

	var tagIMG = '<IMG src="'+urlBase+nombreBase+nImagen+'.'+extImg+'" '+params+' name="'+idImg+'">';
	document.write(tagIMG);
}

var tareaCIA = -1;
var tiempoCIA = 0;
var grupoCIA;
var imagenCIA;

function carruselImagenAleatoriaON(idGrupo,urlBase,nombreBase,extImg,nImg,idImg,tiempo) {
	if (tareaCIA != -1) clearTimeout(tareaCIA);

	grupoCIA = regGrupo(idGrupo,urlBase,nombreBase,extImg,nImg);
	imagenCIA = regImagen(tmpG,idImg);
	tiempoCIA = tiempo;
	
	carruselImagenAleatoria();
}

function carruselImagenAleatoriaOFF() {
	if (tareaCIA != -1)  {
		clearTimeout(tareaCIA);
		tareaCIA = -1;
	}
}

function carruselImagenAleatoria() {		
	var nImagen;
	do {
	    nImagen = Math.floor( Math.random(1) * grupoCIA.nImg);
	} while (grupoCIA.estadoImg[nImagen]);
	grupoCIA.estadoImg[nImagen] = true;
	if (imagenCIA.nImagen>=0)
		grupoCIA.estadoImg[imagenCIA.nImagen] = false;
	imagenCIA.nImagen = nImagen;
	
	var imagen;
	if (document.getElementById) {
		imagen = document.getElementById(imagenCIA.idImg);
	} else if (document.all){
		imagen = document.all[imagenCIA.idImg];
	} else if (document.images[imagenCIA.idImg]){
		imagen = document.images[imagenCIA.idImg];
	} else {
		carruselImagenAleatoriaOFF();
		return;
	}
	
	imagen.src = grupoCIA.urlBase + grupoCIA.nombreBase + imagenCIA.nImagen + "." + grupoCIA.extImg;
	tareaCIA = setTimeout(carruselImagenAleatoria,tiempoCIA);
}

// Invocada para abrir una ventana emergente con la ampliación de una foto
var vetanita = null;
var url_Global;
var w_Global;
var h_Global;
var pie_Global;

function ampliarFoto(url,w,h,pie,alturaPie)
{
	if (alturaPie==null) alturaPie = 0; 
	hv = h + 24 + alturaPie;
	wv = w + 30;
	pw = parseInt((screen.width - wv) / 2);
	ph = parseInt((screen.height -hv) / 2);
	
	if (vetanita!=null && !vetanita.closed) vetanita.close();
	vetanita=null;
	vetanita=window.open('/comun/htm/FotoAmpliada.html',"Ventana",'toolbar=no,resizable=no,status=no,scrollbars=no,location=no,menubar=no,width='+wv+',height='+hv+',left='+pw+',top='+ph);
	
	url_Global = url;
	w_Global   = w;
	h_Global   = h;
	pie_Global = pie;
	
	sleep();
}

function sleep(){
	if (!vetanita.isLoaded){
		a = setTimeout("sleep()",200);
	}else{
		vetanita.cargarFoto(url_Global,w_Global,h_Global,pie_Global);
	}
}

function cargarFoto(url,w,h,pie) 
{
	if (pie==null) pie = "";
		txt  = '<table border="0" cellspacing="0" cellpadding="0" align="center">';
		txt += '<tr><td>';
		txt += '<img src="'  +url+  '" alt="'  +pie+  '" width="'  +w+  '" height="'  +h+  '" border="0" hspace="5" vspace="5">';
		txt += '</td><tr><td align="center" class="pieFoto">';
	if (pie!="") 
		txt += pie;
		txt += '</td></tr>';
		txt += '</table>';
	
		layerWrite('capaVF',txt);
	isLoaded = true;
}

function layerWrite(id,text) 
{
	if (document.layers) {
		var lyr = document.layers['capaVF'].document;
		lyr.open();
		lyr.write(text);
		lyr.close();
	} else if (ie){
		document.all[id].innerHTML = text;
	} else if (ns6){
		document.getElementById(id).innerHTML = text;
	}
}

function abrirVentana(url,w,h){
	vetanita=window.open(url,'ventanita','toolbar=no,resizable=no,status=no,scrollbars=no,location=no,menubar=no,width='+w+',height='+h);
}

function doNothing(){}

// Funcion para abrir en un pop-up una imagen sin saber su tamaño a priori
function popUpPic(sPicURL)
{
	window.open( "/comun/htm/popUp.html?"+sPicURL, "","resizable=1,HEIGHT=200,WIDTH=200");
}