var W3CDOM = (document.createElement && document.getElementsByTagName);

var e = {
	addEvent : function(obj, evType, fn, useCapture){
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		}else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		}else {
			return false;
		}
	}
}

document.getElementsByClassName = function(className, container){
   var data = tags = [];
   var obj = document.getElementById("wrapper");
   var node = aux = null;		
	if(container) node = (typeof(container) == "object") ? container : document.getElementById(container);
	else node = (obj) ? obj : document;		   
	aux = node.getElementsByTagName("*");		
	tags = (document.all) ? node.all : aux;	
   for(var i=0;i<tags.length;i++) { if(tags[i].className == className || tags[i].className.indexOf(className) != -1) data[data.length]=tags[i];}
   return data;
}

var siteMap = {
	setLinks:function(){
		var content = document.getElementsByClassName("contentMap", "wrapperPopup");		
		var listSectionsLinks = document.getElementsByTagName("h2");
		var listLinks = [];		
		// enlaces principales
		for(var i = 0; i < listSectionsLinks.length; i++){
			listSectionsLinks[i].getElementsByTagName("a")[0].onclick = siteMap.loadURL;
		}
		// enlaces interiores
		for(var i = 0; i < content.length; i++){
			listLinks = content[i].getElementsByTagName("a");
			for(var j = 0; j < listLinks.length; j++){
				listLinks[j].onclick = siteMap.loadURL;
			}
		}	
	},
	loadURL:function(){		
		window.opener.location.href = this.href;
		self.close();
		return false;
	}
}

var popUp = {
	winn : null, 	 
	openWindow : function (cual, scrol, wid, heig, windowName, atributos){ 
		var LeftP, TopP, wid, heig;
		var caracteristicas = "";
		LeftP = (screen.width) ? (screen.width-wid) / 2 : 0; 
		TopP = (screen.height) ? (screen.height-heig) / 2 : 0; 
		if(popUp.winn){ 
			if(!popUp.winn.closed) popUp.winn.close(); 
			popUp.winn = null; 
		}
		if(!windowName) windowName = "";
		if(atributos){
			caracteristicas = "Directories=yes, Location=yes , Menubar=yes, Status=yes, Titlebar=yes, Toolbar=yes,"
		}
		window.focus(); 
		popUp.winn=eval("open('"+cual+"','"+windowName+"','"+caracteristicas+"width="+wid+",height="+heig+",top="+TopP+",left="+LeftP+",scrollbars="+scrol+",resizable=yes')");  
	},
	openWindowUser : function (cual, windowName, properties){ 		
		popUp.winn=eval("open('"+cual+"','"+windowName+"','"+properties+"')");  
	},
	checkExternalLinks:function() {
		 if (!document.getElementsByTagName) return; 
		 var anchors = document.getElementsByTagName("a"); 		 
		 for(var i = 0; i < anchors.length; i++)
			   if (anchors[i].getAttribute("href") &&  anchors[i].getAttribute("rel") == "popup") 
			   		anchors[i].target = "_blank"; 		 
	},
	openParent:function(cual){
		window.opener.document.location.href = cual;
		self.close();
	},
	pintoHerramientas:function(){
		var layHerramientas = document.getElementById("headPopup");
		var listElement= document.createElement("ul");
		
		var liElementPrint = document.createElement("li");
		liElementPrint.className = "print";
		
		var lnkPrint = document.createElement("a");
		lnkPrint.setAttribute("href","#");
		lnkPrint.setAttribute("title","Imprimir");
		lnkPrint.onclick = function(){
			window.print();
			return false;
		}
		lnkPrint.appendChild(document.createTextNode("Imprimir"));
		liElementPrint.appendChild(lnkPrint);
		

		var liElementClose = document.createElement("li");
		liElementClose.className = "close";
		liElementClose.id = "cerrar";

		var lnkClose = document.createElement("a");
		lnkClose.setAttribute("href","#");
		lnkClose.setAttribute("title","Cerrar");
		lnkClose.onclick = function(){
			window.close();
			return false;
		}
		lnkClose.appendChild(document.createTextNode("Cerrar"));
		liElementClose.appendChild(lnkClose);
		
		listElement.appendChild(liElementPrint);
		listElement.appendChild(liElementClose);

		layHerramientas.appendChild(listElement);
	}

}

/*--  Funcion para el segundo listado: establece una anchura porcentual a cada elemento para que ocupe el ancho disponible --*/

var seconLevelMenu={
	flistado:function (){					
		var navLevel = document.getElementById("menu");
		var list = navLevel.getElementsByTagName("li");
		var form = navLevel.getElementsByTagName("form");
		var i = sum_letras = rel = 0;			
		var widthNavLevel = (form.length == 0) ? 99.6 : 68;		
		for(i = 0; i < list.length; i++) sum_letras += list[i].getElementsByTagName("a")[0].firstChild.nodeValue.length;
		rel = (widthNavLevel / sum_letras);
		if(list.length > 1)
			for(i = 0; i < list.length; i++){
				list[i].style.width = ((rel * list[i].getElementsByTagName("a")[0].firstChild.nodeValue.length)) + "%";				
			}
		else		
			list[0].style.width = list[0].getElementsByTagName("a")[0].firstChild.nodeValue.length + "%";
	},
	claseMenu:function (){
		var navLevel = document.getElementById("menu");
		var list = navLevel.getElementsByTagName("li");
		if(list.length > 1){
			for(var i = 0; i < list.length; i++){
				if(list[i].className.indexOf("last active") != -1) navLevel.className = "bgClear";
			}
		}
	}
}

var analytics = {
	
	load:function(){
		var htmlBody=document.getElementsByTagName("body")[0];
		var imgElement = document.createElement("img");
		imgElement.className = "imgAnalytics";
			if(sensorUri!=0){
				imgElement.src  = sensorUri;
				htmlBody.appendChild(imgElement);
			}
	
	}
}

var load={
	existeId:function(cid){
		if(document.getElementById(cid)) return true;
		return false;
	},
	onlyThisElement:function(tag,obj){
		var newObj=[]
		for(var xx=0;xx<obj.childNodes.length;xx++){
			if(obj.childNodes[xx].tagName==tag.toUpperCase()){
				newObj[newObj.length]=obj.childNodes[xx]
			}
		}
		return newObj
	},
	existeClass:function(className){
		var content = document.getElementById("content");
		var existsClass = false;
		if(content){			
			if(content.className.indexOf(className) != -1) existsClass = true;
		}	
		return existsClass;		
	},
	existeName:function(cname){
		if(document.getElementsByName(cname)) return true;
		return false;
	},		
	setEvents:function(){
		popUp.checkExternalLinks();
		
		if(load.existeId("headPopup")) popUp.pintoHerramientas();
		
		if(load.existeId("wrapperPopup") && document.getElementsByClassName("contentMap", "wrapperPopup").length != 0) siteMap.setLinks();
		
    	if(load.existeId("linkAnterior")) galeriaImagenes.showLink(false, 'linkAnterior');
		
		if(load.existeId("menu")) {
			seconLevelMenu.flistado();
			seconLevelMenu.claseMenu();
		}
	analytics.load();	
	}
}



/* Funcion para la galeria Fotografica */


var galeriaImagenes = {
    indexImage: 0,
    divBigImage: "imageBig",
    divBigTxt: "txtBig",
    divPagination: "txtTotal",
    divNext: "linkSiguiente",
    divPrevious: "linkAnterior",
    divLinks: "link",
    divHightImage: "linkHightResolution",
    divHightText: "txtHightResolution",
    divHightLink: "linkDownImage",
    strPaginationSeparator: "/",
    strHightLinkSeparator: ": ",
    writeLy : function(strTxt, idLink) {
        if(load.existeId(idLink)) document.getElementById(idLink).innerHTML = strTxt;
    },
    showLink : function(blShow, idLink){
        if(load.existeId(idLink)) document.getElementById(idLink).style.display = (blShow) ?'block' :'none';
    },
    changeClass : function(idLink, strClass){
        if(load.existeId(idLink)) document.getElementById(idLink).className = strClass;
    },
    changePagination : function(intSuma, nImgs, arrayImgs, arrayTxts, arraySizes, arrayLinks, txtPreLink, txtLink){
        galeriaImagenes.indexImage += intSuma;
        galeriaImagenes.changeImage(arrayImgs[galeriaImagenes.indexImage], arrayTxts[galeriaImagenes.indexImage], galeriaImagenes.indexImage, nImgs, arraySizes[galeriaImagenes.indexImage], arrayLinks[galeriaImagenes.indexImage], txtPreLink, txtLink)
    },
    changeImage : function(srcImage, txtImage, iImg, nImgs, txtSize, link, txtPreLink, txtLink) {
        document.images[galeriaImagenes.divBigImage].src = srcImage;
        document.images[galeriaImagenes.divBigImage].title = txtImage;
        galeriaImagenes.writeLy(txtImage, galeriaImagenes.divBigTxt);
        galeriaImagenes.writeLy((iImg+1) + galeriaImagenes.strPaginationSeparator + nImgs, galeriaImagenes.divPagination);
        galeriaImagenes.indexImage = iImg;
        galeriaImagenes.changeHightResolution(txtSize, link, txtPreLink, txtLink);
        for(var i=0;i<nImgs;i++){
            galeriaImagenes.changeClass(galeriaImagenes.divLinks + i, (i==galeriaImagenes.indexImage) ? "active" : "");
        }
        galeriaImagenes.showLink((iImg!=nImgs-1), galeriaImagenes.divNext);
        galeriaImagenes.showLink((iImg!=0), galeriaImagenes.divPrevious);
     },
    changeHightResolution : function(txtSize, link, txtPreLink, txtLink) {
        if(link.length>0) {
            galeriaImagenes.showLink(true, galeriaImagenes.divHightImage);
            galeriaImagenes.writeLy(txtPreLink + galeriaImagenes.strHightLinkSeparator, galeriaImagenes.divHightText);
            if(load.existeId(galeriaImagenes.divHightLink)) {
                document.getElementById(galeriaImagenes.divHightLink).innerHTML = txtLink + " (" + txtSize + ")";
                document.getElementById(galeriaImagenes.divHightLink).title = txtPreLink + " (" + txtSize + ")";
                document.getElementById(galeriaImagenes.divHightLink).href = link;
            }
        } else {
            galeriaImagenes.showLink(false, galeriaImagenes.divHightImage);
        }
    }
    
}

if(W3CDOM) e.addEvent(window, "load", load.setEvents, false);