/*XMB100208 webtrends: homog. gc downs */

function addEvent(obj, type, fn){
	if (obj.addEventListener) obj.addEventListener(type, fn, false);
	else if (obj.attachEvent){
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

/*
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com
*/
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];		
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}	
	}
	return (arrReturnElements);
}

function prepareTargetBlank(className){
	if (document.getElementsByTagName){
		var as = document.getElementsByTagName('a');
		for(i=0;i<as.length;i++){
			var a = as[i];
			r=new RegExp("(^| )"+className+"($| )");
			if(r.test(a.className)){
				a.onclick = function(){
					window.open(this.href);
					return false;
				}
			}
		}
	}
}


/* Generals (origen: inline html pag. principal) */

function MM_reloadPage(init) { //reloads the window if Nav4 resized
 if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
  document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
 else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.0
 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 && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0+xmb
 var i,p,v,obj;
 var args=arguments; //en comptes de MM_showHideLayers.arguments (deprecated)
 for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
  if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
  obj.visibility=v; }
}

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_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_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];}
}

function abrirVentana(adressa){
	win=window.open(adressa);
}

/* WT */
/* DGC: Elimino la condició || esLocal() del primer if.  */
function WTGencat(){ 
	if(!document.getElementsByTagName) return false;

	metaTags["WT.cg_n"] =""; metaTags["WT.cg_s"] ="";

	var gc=WTGrupCont();
	metaTags["WT.cg_n"]=metaTags["WT.cg_s"]=
		"A "+gc.area+";S "+gc.servei+";T "+gc.tipus+";I "+gc.lang+
		";AP "+gc.area+"."+gc.tipus+
		";SP "+gc.servei+"."+gc.tipus+
		";IP "+gc.lang+"."+gc.tipus+
		";C "+gc.area+"."+gc.servei+"."+gc.tipus+"."+gc.lang
		;

	var ancores = document.getElementsByTagName("a"); 
	for(var i=0, z=ancores.length; i<z; i++){
		if(ancores[i].onclick==null){
			ancores[i].onclick = function(){ return WTClic(this,gc); }
		}
	}

	return true;
}
function WTClic(ancora,gc){
	var strLocation = ancora.href;
	var domini = strLocation.slice(strLocation.indexOf("/")+2);
	if(domini.indexOf("/")>-1){
		domini = domini.slice(0,domini.indexOf("/"));
	}
	var strURI = strLocation.replace("http://" + domini + "/", "");
	strURI = strURI.replace("https://" + domini + "/", "");
	if(domini == strURI) strURI = ""; 

	//a partir d'aqui descarregues; abans p.e. (pendent) control clicks cap l'exterior (class=extern o domini)
	if (domini.indexOf("idescat")==-1) return true; //no comptabilitzar desc. externes (o serv. intern). A biblio no hi ha descarregues
	var mime=WTmime(strURI);
	if (mime!=""){ //homog 20100208 Abans Idescat i sense combinat.
		var cglit=	 "A "+gc.area+";S "+gc.servei+";T Down"+mime+";I "+gc.lang+
						";AP "+gc.area+".Down"+
						";SP "+gc.servei+".Down"+
						";IP "+gc.lang+".Down"+
						";C "+gc.area+"."+gc.servei+".Down"+"."+gc.lang
		;
		dcsMultiTrack("DCS.dcssip", domini, "DCS.dcsuri", strURI, "WT.ti", "Download ("+mime+"): "+domini+"/"+strURI,
			"WT.cg_n", cglit, 
			"WT.cg_s", cglit
		);//alert("DCS.dcssip:"+domini+" DCS.dcsuri:"+strURI+" WT.ti:"+"Download ("+mime+"): "+domini+"/"+strURI); return false;
	}
	return true;
}
function WTmime(uri){
	if(uri.match(/\.pdf$/) || uri.indexOf(".pdf?")>-1 || uri.indexOf("PDF=TRUE")>-1) return "PDF";
	if(uri.match(/\.doc$/) || uri.indexOf(".doc?")>-1) return "DOC";
	if(uri.match(/\.ppt$/) || uri.indexOf(".ppt?")>-1) return "PPT";
	if (
		uri.match(/\.xls$/) || uri.indexOf(".xls?")>-1 || 
		(uri.match(/^(pub)|(sexterior)|(poblacioestrangera)\//)) && uri.indexOf("f=xls")>-1 ||
		(uri.match(/^(economia)|(dequavi)|(industria)|(serveis)|(treball)\//) && uri.indexOf("ex=1")>-1) ||
		(uri.match(/^onomas\//) && uri.indexOf("&EX=1&")>-1) ||
		(uri.match(/^orpi\//) && uri.indexOf("&EX=1")>-1) ||
		(uri.match(/^nomenclatures\//) && uri.indexOf("TC=50")>-1) ||
		(uri.match(/^classif\//i) && (uri.indexOf("TC=50")>-1 || uri.indexOf("EXC=1")>-1))
	) return "XLS";
	return "";
}
function WTGrupCont(){
	var uri=window.location.href;
	var hostn=window.location.hostname;
	var path=window.location.pathname;
	var query=window.location.search;
	var idioma="ca";
	//alert("uri:" + uri + "\nhostn:" + hostn + "\npath:" + query + "\nquery:");

	if (path=="/" || 	path=="/cat/")
		return {area: "ini", lang: "ca", servei: "nav", tipus: "Resta"};
	if (path=="/es/")
		return {area: "ini", lang: "es", servei: "nav", tipus: "Resta"};
	if (path=="/en/")
		return {area: "ini", lang: "en", servei: "nav", tipus: "Resta"};

	if (document.getElementById("BarraSituacio"))
		if (document.getElementById("BarraSituacio").innerHTML=="<span class=\"Darrer\">Error</span>") //caldra canviar innerHTML a firstChild.nodeValue aqui i arreu
			return {area: "404", lang: "ca", servei: "nav", tipus: "Resta"};

	if(path.match(/^\/(cat|es|en)\//)){
		idioma=path.substring(1,3); //ca es en
		if(path.match(/^\/(cat|es|en)\/poblacio\//))
			return {area: "pob", lang: idioma, servei: "nav", tipus: "Resta"};
		if(path.match(/^\/(cat|es|en)\/economia\//)){
			if (path.match(/^\/cat\/economia\/conjuntura\//)){
				if (path.match(/\.html$/)){
					return {area: "eco", lang: idioma, servei: "infConj", tipus: "Resta"};
				}else{
					return {area: "eco", lang: idioma, servei: "infConj", tipus: "Dades"};
				}
			}
			return {area: "eco", lang: idioma, servei: "nav", tipus: "Resta"};
		}
		if(path.match(/^\/(cat|es|en)\/societat\//))
			return {area: "soc", lang: idioma, servei: "nav", tipus: "Resta"};
		if(path.match(/^\/(cat|es|en)\/territori\//))
			return {area: "ter", lang: idioma, servei: "nav", tipus: "Resta"};

		if(path.match(/^\/(cat|es|en)\/idescat\//)){
			if(path.match(/^\/(cat|es|en)\/idescat\/serveis\/premsa\//))
				return {area: "ide", lang: idioma, servei: "premsa", tipus: "Resta"};
			return {area: "ide", lang: idioma, servei: "nav", tipus: "Resta"};
		}

		if(path.match(/^\/(cat|es|en)\/mapa/))
			return {area: "map", lang: idioma, servei: "nav", tipus: "Resta"};
		if(path.match(/^\/(cat|es|en)\/disseny/))
			return {area: "ide", lang: idioma, servei: "nav", tipus: "Resta"};

		return {area: "err", lang: idioma, servei: "nav", tipus: "Resta"}; //no assignat
	}else{/* virtuals, servlets etc */
		if(path.match(/^\/sort\//))
			return {area: "ide", lang: "en", servei: "sort", tipus: "Resta"};

		/* servlets visor etc */

		if(query.match(/lang=es/)) idioma="es";
		else if(query.match(/lang=en/)) idioma="en";

		/* Ordenats per visites */

		//BEMC
		if(path.match(/^\/territ\//)){
			var parent=query.match(/PARENT=(.*)$/);
			if (parent==null) //qualsevol pag on no s'ha obert arbre tematic (inicial, fitxes municipals...)
				return {area: "div", lang: idioma, servei: "bemc", tipus: WTTipus()};

			switch(parent[1].substring(0, (parent[1]+"&").indexOf("&"))){
				case "1":
					return {area: "pob", lang: idioma, servei: "bemc", tipus: WTTipus()};
				case "25":
					return {area: "soc", lang: idioma, servei: "bemc", tipus: WTTipus()};
				case "100":
					return {area: "eco", lang: idioma, servei: "bemc", tipus: WTTipus()};
				case "91": //indic geogr i basics
					return {area: "ter", lang: idioma, servei: "bemc", tipus: WTTipus()};
				default:
					return {area: "err", lang: idioma, servei: "bemc", tipus: WTTipus()};
			}
		}

		//Indic
		if(path.match(/^\/economia\//)){
			if(query.match(/id=\d\d/)){ //no index
				var id=query.match(/id=(\d)/);
				if (id[1]<5)//conj
					return {area: "eco", lang: idioma, servei: "indicConj", tipus: WTTipus()};
				if (id[1]<8)//estruct
					return {area: "eco", lang: idioma, servei: "indicEstr", tipus: WTTipus()};

				//UE deteminacio area
  				var ap=query.match(/id=(\d)(\d)/);
				switch(ap[1]+ap[2]) {
					case "81":
					case "83":
					case "84":
						return {area: "eco", lang: idioma, servei: "indicUE", tipus: WTTipus()};
					case "82":
					case "85":
					case "86":
						return {area: "soc", lang: idioma, servei: "indicUE", tipus: WTTipus()};
					case "87":
						return {area: "pob", lang: idioma, servei: "indicUE", tipus: WTTipus()};
					default:
						return {area: "err", lang: idioma, servei: "indicUE", tipus: WTTipus()};
				}

			}else{ //index
				if(query.match(/st=0/))
					return {area: "eco", lang: idioma, servei: "indicConj", tipus: "Resta"};
				if(query.match(/st=1/))
					return {area: "eco", lang: idioma, servei: "indicEstr", tipus: "Resta"};
				if(query.match(/st=2/))
					return {area: "div", lang: idioma, servei: "indicUE", tipus: "Resta"};

				return {area: "eco", lang: idioma, servei: "indicConj", tipus: "Resta"};
			}
		}

		if(path.match(/^\/novetats\//))
			return {area: "div", lang: idioma, servei: "novetats", tipus: "Resta"};

		if(path.match(/^\/treball\/epa/))
			return {area: "soc", lang: idioma, servei: "epa", tipus: WTTipus()};
		if(path.match(/^\/treball\/etcl/))
			return {area: "soc", lang: idioma, servei: "etcl", tipus: WTTipus()};

		if(path.match(/^\/industria\//))
			return {area: "eco", lang: idioma, servei: "industria", tipus: WTTipus()};
		if(path.match(/^\/serveis\//))
			return {area: "eco", lang: idioma, servei: "serveis", tipus: WTTipus()};
		if(path.match(/^\/sexterior\//))
			return {area: "eco", lang: idioma, servei: "duanes", tipus: WTTipus()};

		//dequavi
		if(path.match(/^\/dequavi\//)){
			var v=query.match(/V0=(.*)$/);
			if (v==null) //pag entrada, no hi ha V0
				return {area: "div", lang: idioma, servei: "dequavi", tipus: WTTipus()};

			switch(v[1].substring(0, (v[1]+"&").indexOf("&"))){
				case "1":
				case "3":
					return {area: "pob", lang: idioma, servei: "dequavi", tipus: WTTipus()};
				case "2":
				case "4":
				case "5":
				case "6":
				case "7":
				case "8":
				case "9":
				case "10":
				case "11":
				case "12":
				case "13":
				case "14":
				case "15":
					return {area: "soc", lang: idioma, servei: "dequavi", tipus: WTTipus()};

				default:
					return {area: "err", lang: idioma, servei: "dequavi", tipus: WTTipus()};
			}
		}

		//Pob. estrangera
		if(path.match(/^\/poblacioestrangera\//))
			return {area: "pob", lang: idioma, servei: "estrangera", tipus: WTTipus()};

		if(path.match(/^\/cercador\//))
			return {area: "ide", lang: idioma, servei: "cercador", tipus: "Resta"};

		if(path.match(/^\/classif\//i))
			return {area: "ide", lang: idioma, servei: "classif", tipus: WTTipus()};
		if(path.match(/^\/nomenclatures\//i))
			return {area: "ter", lang: idioma, servei: "codis", tipus: WTTipus()};
		if(path.match(/^\/formacio\//))
			return {area: "ide", lang: idioma, servei: "formacio", tipus: "Resta"};
		if(path.match(/^\/mobilitat\//i))
			return {area: "pob", lang: idioma, servei: "mobilitat", tipus: WTTipus()};
		if(path.match(/^\/onomas\//i))
			return {area: "pob", lang: idioma, servei: "onomas", tipus: WTTipus()};
		if(path.match(/^\/orpi\//i))
			return {area: "pob", lang: idioma, servei: "orpi", tipus: WTTipus()};
		if(path.match(/^\/cataleg\//i))
			return {area: "ide", lang: idioma, servei: "cataleg", tipus: "Resta"};

		//Visor
		if(path.match(/^\/pub\//)){
			var p=query.match(/id=(.*)$/);
			if (p==null)
				return {area: "err", lang: idioma, servei: "visor", tipus: WTTipus()};

			switch(p[1].substring(0, (p[1]+"&").indexOf("&"))){
				case "efdep":
					return {area: "soc", lang: idioma, servei: "efdep", tipus: WTTipus()};
				case "cpsc":
				case "cpsc01-05":
					return {area: "soc", lang: idioma, servei: "cpsc01-05", tipus: WTTipus()};
				case "ticll06":
				case "ticll07":
				case "ticll08":
				case "ticll09":
				case "ticll10":
					return {area: "eco", lang: idioma, servei: "ticl", tipus: WTTipus()};
				case "eticce0809":
					return {area: "eco", lang: idioma, servei: "eticce", tipus: WTTipus()};
				case "fpenl":
					return {area: "eco", lang: idioma, servei: "fpenl", tipus: WTTipus()};
				case "eac":
					return {area: "eco", lang: idioma, servei: "eac", tipus: WTTipus()};
				case "ceac":
					return {area: "eco", lang: idioma, servei: "ceac", tipus: WTTipus()};
				case "poccae09":
					return {area: "soc", lang: idioma, servei: "poccae09", tipus: WTTipus()};
				case "eee":
					return {area: "eco", lang: idioma, servei: "eee", tipus: WTTipus()};
				case "clem":
					return {area: "eco", lang: idioma, servei: "clem", tipus: WTTipus()};
				case "lma":
					return {area: "soc", lang: idioma, servei: "lma", tipus: WTTipus()};
				case "aec":
					return {area: "div", lang: idioma, servei: "aec", tipus: WTTipus()};
				default:
					return {area: "err", lang: idioma, servei: "visor", tipus: WTTipus()};
			}
		}
		//API+Giny
		if(path.match(/^\/api\//)){
			return {area: "div", lang: idioma, servei: "api", tipus: "Resta"};
		}

		//Biblioteca
		if(hostn.match(/^biblio.idescat./))
			return {area: "ide", lang: idioma, servei: "biblioteca", tipus: "Resta"};

		//Demandes (sugg no aillem)
		if(hostn.match(/^demandes.idescat./))
			return {area: "ide", lang: idioma, servei: "demandes", tipus: "Resta"};
	}
	return {area: "err", lang: "err", servei: "err", tipus: "Resta"};
}

function WTTipus(){
	// Deteccio "Dades" nomes de moment. A la home no ha d'anar aixo, ClassName no def.
	if (!document.getElementById("Principal")){
		//barra opcions std o no std
		var f=document.getElementById("Opcions")? document.getElementById("Opcions") : getElementsByClassName(document, "td", "menu_subtitol")[0];
		if (f){
			if(f.innerHTML.match(/excel/i) || f.innerHTML.indexOf("cistell")>-1 || f.innerHTML.indexOf("PDF")>-1) {
				return "Dades";
			}
		}
	}
	return "Resta";
}

function esLocal(){
	var hostd="["+window.location.hostname+"]";
	if (hostd.indexOf(".")==-1 || hostd.indexOf("[10.")>-1) return true;
	return false;
}

/* Encapsulem l'inseció de la matrícula condicionant-la a que no sigui una màquina local */
if(!esLocal())
{
	var gDcsId="dcscyfa7500000wsr9r8jbl4x_7l2k";
	var execWT = true;
	document.write("<scr" + "ipt type='text/javascript' src='http://www.gencat.cat/js/gencatAnalitica.js'></scr" + "ipt>");
}