var arrel = '<dataroot>';
var acabat = false;
var textaEscriure = '';
var elText = xmlString;
var buscat = '<F1>02_';
var buscatFinal = '</F0>';
var desdon = 0;
var tempString = '';
var nomcampCodi = 'F1';
var nomcampNomEscultura = 'F2';
var nomcampAutor = 'F3';
var nomcampAny = 'F4';
var nomcampUbicacio = 'F5';
var nomcampcoord = 'F6';
var nomcampgrup = 'F7';
var escultors = new Array ();
var llargCodi = 6;
var termeRecerca = '';
var codisTrobats;
var autorsTrobats;
var grupsTrobats;
var nomBuscat;
var origen;
var subgrup;
var codiFitxaActual = '';
var posicioFitxaActuaL = 0;
var posicioautorFitxaActuaL = 0;
var showedlayers = new Array ();
var NN = (document.layers ? true : false);
var hideName = (NN ? 'hide' : 'hidden');
var showName = (NN ? 'show' : 'visible');
var districtes = new Array ();
// codis, noms, numero i colors Districtes [es pot canviar]
var districtes = {'01':'Ciutat Vella,0,#99CCff',
              '01_1':'Raval,20,#99CCff',
	      '01_2':'G&ograve;tic,50,#99CCff',
	      '01_3':'Casc Antic,100,#99CCff',
              '01_4':'Barceloneta,120,#99CCff',
              '02':'Eixample,130,#CC66FF',
	      '03':'Sants-Montju&iuml;c,140,#6666FF',
	      '04':'Les Corts,150,#CCCC66',
              '05':'Sarri&agrave;-Sant Gervasi,160,#FFE991',
	      '06':'Gr&agrave;cia,180,#ff9933',
	      '07':'Horta-Guinard&oacute;,200,#83F388',
              '08':'Nou Barris,300,#33CC66',
	      '09':'Sant Andreu,308,#FF66CC',
	      '10':'Sant Mart&iacute;,360,#FF6666'};
// final Districtes

function escriu () {
    acabat = false;
    desdon = 0;
    while (!acabat){
	registre = new buscarParcial (elText,buscat,buscatFinal,desdon,0,0);
	if (registre.comencament == -1){
	    acabat = true;
	} else {
	    desdon = registre.elfinal;
	    elcodi = new buscarParcial (registre.fragment,'<'+nomcampCodi+'>','</'+nomcampCodi+'>',0,(nomcampCodi.length + 2),0);
	    elnom = new buscarParcial (registre.fragment,'<'+nomcampNomEscultura+'>','</'+nomcampNomEscultura+'>',0,(nomcampNomEscultura.length + 2),0);
	    lautor = new buscarParcial (registre.fragment,'<'+nomcampAutor+'>','</'+nomcampAutor+'>',0,(nomcampAutor.length + 2),0);
	    lany = new buscarParcial (registre.fragment,'<'+nomcampAny+'>','</'+nomcampAny+'>',0,(nomcampAny.length + 2),0);
	    //document.forms[0].elements[0].value += 'Codi: '+ elcodi.fragment +' <b>'+elnom.fragment + '</b>. '+lautor.fragment+', '+lany.fragment+'<br><br>'
	    document.writeln ('Codi: '+ elcodi.fragment +' <b>'+elnom.fragment + '</b>. '+lautor.fragment+', '+lany.fragment+'<br><br>');
	}
    }
}

function posaBoletes () {
    acabat = false;
    desdon = 0;
    bola = '';
    codisTrobats = new Array ();
    grupsTrobats = new Array ();
    subgrup = new Array ();
    while (!acabat){
	if (termeRecerca.length > 0){
	    registre = new buscarParcial (elText,termeRecerca,buscatFinal,desdon,0,0);
	    if (registre.comencament == -1){
		acabat = true;
	    } else {
		desdon = registre.elfinal;
		elcodi = new buscarParcial (registre.fragment,'<'+nomcampCodi+'>','</'+nomcampCodi+'>',0,(nomcampCodi.length + 2),0);
		elnom = new buscarParcial (registre.fragment,'<'+nomcampNomEscultura+'>','</'+nomcampNomEscultura+'>',0,(nomcampNomEscultura.length + 2),0);
		lautor = new buscarParcial (registre.fragment,'<'+nomcampAutor+'>','</'+nomcampAutor+'>',0,(nomcampAutor.length + 2),0);
		lany = new buscarParcial (registre.fragment,'<'+nomcampAny+'>','</'+nomcampAny+'>',0,(nomcampAny.length + 2),0);
		laubicacio = new buscarParcial (registre.fragment,'<'+nomcampUbicacio+'>','</'+nomcampUbicacio+'>',0,(nomcampUbicacio.length + 2),0);
		coordenades = new buscarParcial (registre.fragment,'<'+nomcampcoord+'>','</'+nomcampcoord+'>',0,(nomcampcoord.length + 2),0);
		grup = new buscarParcial (registre.fragment,'<'+nomcampgrup+'>','</'+nomcampgrup+'>',0,(nomcampgrup.length + 2),0);
		punts = coordenades.fragment.split(',');
		posicio = codisTrobats.length;
		theleft = Number(punts[1]) + mapaEsquerra - 4;
		thetop = Number(punts[0]) + mapaDalt - 4;
		codiFitxaActual = elcodi.fragment;
		posicioFitxaActuaL = posicio;
		if (grup.fragment > ''){
		    if (grup.fragment.indexOf ('|') > -1){
			nougrup = grup.fragment.split('|');
			subgruppropi = subgrup.length;
			subgrup[subgrup.length] = new Array ();
			subgrup[subgruppropi][0] = nougrup[0];
			subgrup[subgruppropi][1] = posicioFitxaActuaL;
			posicioengrup = 1;
			grupsTrobats[elcodi.fragment] = subgruppropi;
			dintreText = '<table cellpadding=\"5\"><tr><td bgcolor=\"#CCCCCC\" class=\"textretols\">'+ nougrup[0] +'</td></tr></table>';
			externText = genL ('text'+elcodi.fragment,(Number(theleft) + 10),(Number(thetop) - 10),null,null,hideName,'#CCCCCC',dintreText,100,'');
			externText += endL ();
			dintreBola = '<a href=\"javascript:parent.novaFinestra (\'\','+ posicioFitxaActuaL +',\'framefitxa.html\',\'esculturesBCNFitxa\');\"';
			dintreBola += ' onmouseover=\"showtheL (\'text'+ elcodi.fragment +'\',\'\',1);top.status = \'Obrir fitxa\'\"';
			dintreBola += ' onmouseout=\"hidetheL (\'text'+ elcodi.fragment +'\',\'\',1);top.status = \'\'\"';
			dintreBola += ' onclick=\"hidetheL (\'text'+ elcodi.fragment +'\',\'\',1)">';
			dintreBola += '<img src=\"imatges/boleta.gif\" width=\"9\" height=\"9\" border=\"0\">';
			dintreBola += '</a>';
			externBola = genL('bola'+elcodi.fragment,theleft, thetop,9,9, showName,'none',dintreBola,80,'');
			externBola += endL ();
			bola += externText + '\n';
			bola += externBola + '\n'
		    } else {
			subgruppropi = grupsTrobats[grup.fragment];
			posicioengrup = subgrup[subgruppropi].length;
			subgrup[subgruppropi][subgrup[subgruppropi].length] = posicioFitxaActuaL;
		    }
		    codisTrobats[codisTrobats.length] = [elcodi.fragment,elnom.fragment,lautor.fragment,lany.fragment,laubicacio.fragment,subgruppropi,posicioengrup];
		} else {
		    dintreText = '<table cellpadding=\"5\"><tr><td bgcolor=\"#CCCCCC\" class=\"textretols\">'+ elnom.fragment +'</td></tr></table>';
		    externText = genL ('text'+elcodi.fragment,(Number(theleft) + 10),(Number(thetop) - 10),null,null,hideName,'#CCCCCC',dintreText,100,'');
		    externText += endL ();
		    dintreBola = '<a href=\"javascript:parent.novaFinestra (\'\','+ posicioFitxaActuaL +',\'framefitxa.html\',\'esculturesBCNFitxa\');\"';
		    dintreBola += ' onmouseover=\"showtheL (\'text'+ elcodi.fragment +'\',\'\',1);top.status = \'Obrir fitxa\'\"';
		    dintreBola += ' onmouseout=\"hidetheL (\'text'+ elcodi.fragment +'\',\'\',1);top.status = \'\'\"';
		    dintreBola += ' onclick=\"hidetheL (\'text'+ elcodi.fragment +'\',\'\',1)">';
		    dintreBola += '<img src=\"imatges/boleta.gif\" width=\"9\" height=\"9\" border=\"0\">';
		    dintreBola += '</a>';
		    externBola = genL('bola'+elcodi.fragment,theleft, thetop,9,9, showName,'none',dintreBola,80,'');
		    externBola += endL ();
		    bola += externText + '\n';
		    bola += externBola + '\n'
		    codisTrobats[codisTrobats.length] = [elcodi.fragment,elnom.fragment,lautor.fragment,lany.fragment,laubicacio.fragment];
		}
	    }
	}
    }
    top.frames[1].document.writeln (bola);
}

function mostraMapa (quinmapa){
    //termeRecerca = '<F1>' + quinmapa;
    window.frames[1].location.href = quinmapa + 'map.html'
}

function buscarParcial (untext,inicialText,finalText,punter,ajustPre,ajustPost) {
    this.comencament = untext.indexOf (inicialText,punter);
    this.elfinal = untext.indexOf (finalText,this.comencament);
    if (this.comencament == -1){
	this.fragment = ''
    } else {
	this.fragment = untext.substring (this.comencament + ajustPre,this.elfinal + ajustPost);
    }
}

function refL(aLayer,aLayout,theFrame) {
    theDoc = (theFrame == '')? document : top.frames[theFrame].document;
    if (document.getElementById) {
	    return theDoc.getElementById(aLayer);
    } else if (document.layers){
	    if (aLayout != ''){
		    return theDoc.layers[aLayout].document.layers[aLayer]
	    } else {
		    return theDoc.layers[aLayer]
	    }
    } else if (document.all){
	    return eval('theDoc.all.' + aLayer);
    }
}

function novaFinestra (unnom,posicioF,theURL,winName,features) {
   if (typeof (posicioF) == 'number'){
      posicioFitxaActuaL = posicioF + 1;
      origen = 'districte'
   } else {
       posicioautorFitxaActuaL = 1;
       acabat = false;
       desdon = 0;
       arrayObres = new Array ();
       autorsTrobats = new Array ();
       if (posicioF.indexOf (',') > -1){
	    arrayObres = posicioF.split(',');
       } else {
	    arrayObres[0] = posicioF
       }	   
       origen = 'autor';
       for (e = 0;e < arrayObres.length;e++){
	    registre = new buscarParcial (elText,'<F1>' + arrayObres[e],buscatFinal,0,0,buscatFinal.length);
	    elnom = new buscarParcial (registre.fragment,'<'+nomcampNomEscultura+'>','</'+nomcampNomEscultura+'>',0,(nomcampNomEscultura.length + 2),0);
	    lautor = new buscarParcial (registre.fragment,'<'+nomcampAutor+'>','</'+nomcampAutor+'>',0,(nomcampAutor.length + 2),0);
	    lany = new buscarParcial (registre.fragment,'<'+nomcampAny+'>','</'+nomcampAny+'>',0,(nomcampAny.length + 2),0);
	    laubicacio = new buscarParcial (registre.fragment,'<'+nomcampUbicacio+'>','</'+nomcampUbicacio+'>',0,(nomcampUbicacio.length + 2),0);
	    elgrup = new buscarParcial (registre.fragment,'<'+nomcampgrup+'>','</'+nomcampgrup+'>',0,(nomcampgrup.length + 2),0);
	    codiautorFitxaActual = arrayObres[e];
	    nomBuscat = unnom;
	    llarg = autorsTrobats.length;
	    autorsTrobats[llarg] = [arrayObres[e],elnom.fragment,lautor.fragment,lany.fragment,laubicacio.fragment];
	    if (elgrup.fragment > ''){
		if (elgrup.fragment.indexOf ('|') > -1){
		    autorsTrobats[llarg][5] = arrayObres[e]
		} else {
		    autorsTrobats[llarg][5] = elgrup.fragment
		}
	    }
	}
    }
    if (!window.finestra){
	finestra = window.open ('',winName + numeroalatzar (),'status=yes,scrollbars=auto,resizable=yes,width=620,height=490');
	finestra.location.href = theURL;
	finestra.focus ()
    } else {
	if (window.finestra.closed){
	    finestra = window.open ('',winName + numeroalatzar (),'status=yes,scrollbars=auto,resizable=yes,width=620,height=490');
	    finestra.location.href = theURL;
	    finestra.focus ()
	    
	} else {
	    finestra.location.href = theURL;
	    finestra.focus ()
	}
    }
}
function numeroalatzar (){
	torna = String (Math.random ());
	if (torna.length > 1){
		torna = torna.substring (2);
		return torna
	} else {
		return torna
	}
}

function hideaL(thename,alayer,theFrame) {
    top.showedlayers = new Array ()
    if (NN){refL(thename,alayer,theFrame).visibility = hideName} else {refL(thename,alayer,theFrame).style.visibility = hideName}
}

function showaL(thename,alayer,theFrame) {
    if (top.showedlayers.length > 0){ top.hideaL(top.showedlayers[0],'',1) }
    if (NN){refL(thename,alayer,theFrame).visibility = showName} else {refL(thename,alayer,theFrame).style.visibility = showName}
    top.showedlayers[0] = thename;
}

function desenfoca (elque){
    if (elque.blur){ elque.blur () }
}

function genL(sName, sLeft, sTop, sWdh, sHgt, sVis,sColor,copy,lindex,handlers) {
	if (document.layers) {
		tWidth = (!sWdh)? '' : ' WIDTH="' + sWdh + '"';
		tHeight = (!sHgt)? '' : ' HEIGHT="' + sHgt + '"';
		tHandlers = (!handlers)? '' : handlers;
		var s = '<LAYER NAME="' + sName + '" LEFT="' + sLeft;
		s += '" TOP="' + sTop + '"';
		s += tWidth;
		s += tHeight;
		s += ' VISIBILITY="' + sVis + '"';
		s += ' z-Index="' + lindex + '" ';
		if (sColor != 'none'){
		    if (typeof (sColor) == 'number'){
			s += ' background="' + to_load[sColor] + '"';
		    } else {
			s += ' bgcolor="' + sColor + '"';
		    }
		}
		s += tHandlers + '>\n' + copy;
		return s;
	} else {
		tWidth = (!sWdh)? '' : ' width:' + sWdh + 'px;';
		tHeight = (!sHgt)? '' : ' height:' + sHgt + 'px;';
		tHandlers = (!handlers)? '' : handlers;
		var s = '<DIV ID="' + sName + '" STYLE="position:absolute; overflow:clip;';
		s += ' left:' + sLeft + 'px;';
		s += ' top:' + sTop + 'px;';
		s += tWidth;
		s += tHeight;
		s += ' visibility:' + sVis + '; z-Index:' + lindex + ';';
		if (sColor != 'none'){
		    s += ' background:'
		    s += (typeof (sColor) == 'number'? imgs_url[sColor] : sColor);
		}
		s += '"' + tHandlers + '>\n' + copy;
		return s;
	}
}

function endL (){
	if (document.layers){
		return '</LAYER>\n';
	}
	else{
		return '</DIV>\n';
	}
}

