// Largura do box descri??o do Zoom
function larguraBoxZoom(){
	if (document.getElementById('imgZoom') != null) {
		var largura = document.getElementById('imgZoom').width;	
	}	
	if (document.getElementById('fotoZoom')) document.getElementById('descricao').style.width=largura;
}
window.onload = larguraBoxZoom;

/* ----- zoom ---- */

	function getPageSize() {
		var xScroll, yScroll;
		if (window.innerHeight && window.scrollMaxY){
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else {
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		var windowWidth, windowHeight;
		if (self.innerHeight) {
			windowWidth = self.innerWidth;
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) {
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) {
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		if(yScroll < windowHeight) pageHeight = windowHeight;
		else pageHeight = yScroll;
		if(xScroll < windowWidth) pageWidth = windowWidth;
		else pageWidth = xScroll;
		arrayPageSize = {pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight}
		return arrayPageSize;
	}
	
	function getPageScroll(){
		var yScroll;
		if (self.pageYOffset) yScroll = self.pageYOffset;
		else if (document.documentElement && document.documentElement.scrollTop) yScroll = document.documentElement.scrollTop;
		else if (document.body) yScroll = document.body.scrollTop;
		arrayPageScroll = {yScroll:yScroll};
		return arrayPageScroll;
	}

 	function initZoom(div) {
		var container = document.getElementById(div);	
		var lnks = container.getElementsByTagName('a');
		for(var i=0,len=lnks.length;i<len;i++) {
			if(lnks[i].className.indexOf('linkZoom') > -1) {
				lnks[i].onclick = function() {
					openZoom(this);
					return false;
				}
			}
		}
	}
	
	function closeZoom(obj) {
		var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10);
		document.body.removeChild(document.getElementById('zoom'));
		document.body.removeChild(document.getElementById('sombra'));
		obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);		
		if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) {
			 displaySelectBoxes();
		}		
	}
	
	function resizeZoom(obj) {
		var largura = obj.width;
		var altura = obj.height;
		var box = obj.parentNode.parentNode;
		var pageSize = getPageSize();
		var pageScroll = getPageScroll();
		var boxTop = pageScroll.yScroll + ((pageSize.windowHeight - altura - 26) / 2);
		var boxLeft = ((pageSize.pageWidth - largura - 40) / 2);
		box.style.top = (boxTop < 0) ? "0px" : boxTop + "px";
		box.style.left = (boxLeft < 0) ? "0px" : boxLeft + "px";
		box.style.visibility = 'visible';
		try {
			var divZoom = document.getElementById('zoom_'+obj.className);
			var divDescricao = document.getElementById('desc_'+obj.className);
			if(divZoom) divZoom.style.width = largura;
			if(divDescricao) divDescricao.style.width = largura;
		} catch(erro) {}
	}
	
	function openZoom(obj,fonte,descricao) {
		var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10);
		if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) {
			 hideSelectBoxes();
		}
		var pageSize = getPageSize();
//		var fonte = '&nbsp;';
//		var descricao = '&nbsp;';
		var classe = 'abc';
		var divs = obj.parentNode.getElementsByTagName('div');				
		//for(var i=0,len=divs.length;i<len;i++) {
			//if(divs[i].className.indexOf('fonte') > -1) fonte = divs[i].innerHTML;
//			if(divs[i].className.indexOf('descricao') > -1) descricao = divs[i].innerHTML;
		//}					
		var divContainer = document.createElement('div');
		divContainer.id = 'zoom';
		divContainer.className = 'zoom';
		divContainer.style.height = (pageSize.pageHeight + 'px');
		var divSombra = document.createElement('div');
		divSombra.id = 'sombra';
		divSombra.className = 'sombra';
		divSombra.style.height = (pageSize.pageHeight + 'px');
		document.body.appendChild(divSombra);
		var divZoom = document.createElement('div');
		divZoom.id = 'zoom_' +  classe;
		divZoom.className = 'fotoZoom';
		var spanFonte = document.createElement('span');
		spanFonte.className = 'fonte';
		spanFonte.innerHTML = fonte;
		var imgZoom = document.createElement('img');
		imgZoom.id = 'img_' +  classe;
		imgZoom.className = classe;
		imgZoom.src = obj.href;
		imgZoom.alt = 'Foto';
		var divDescricao = document.createElement('div');
		divDescricao.id = 'desc_' +  classe;
		divDescricao.className = 'descricao';
		var p = document.createElement('p');
		p.innerHTML = descricao;
		var divFechar = document.createElement('div');
		divFechar.className = 'close';
		var aFechar = document.createElement('a');
		aFechar.title = 'close';
		aFechar.innerHTML = 'close';
		aFechar.href = '#';
		aFechar.onclick = function() {
			closeZoom(this);
			return false;
		}
		divDescricao.appendChild(imgZoom);
		divFechar.appendChild(aFechar);
		divDescricao.appendChild(p);
		divZoom.appendChild(divFechar);
		divZoom.appendChild(spanFonte);
		divZoom.appendChild(divDescricao);
		divContainer.appendChild(divZoom);		
		document.body.appendChild(divContainer);
		if(imgZoom.width && imgZoom.width > 56) {
		 resizeZoom(imgZoom);
		}
		imgZoom.onload = function() {
		  resizeZoom(this);
		  return false;
		}	
	}						

function hideSelectBoxes() {
	for(var i = 0; i < document.forms.length; i++) {
		for(var e = 0; e < document.forms[i].length; e++){
			if(document.forms[i].elements[e].tagName == "SELECT") {
				document.forms[i].elements[e].style.visibility="hidden";
			}
		}
	}
	
	
	for (var j=0;j< window.top.self.frames.length;j++) {					
		 eval("v_j=parent."+window.top.frames[j].name+".document.forms.length");						 
		for(var i = 0; i < v_j; i++) {							
				eval("v_e=parent."+window.top.frames[j].name+".document.forms["+i+"].length");								
			  for(var e = 0; e < v_e; e++){							  	 							  
				  eval("v_tagname=parent."+window.top.frames[j].name+".document.forms["+i+"].elements["+e+"].tagName");								 								 
				 if(v_tagname == "SELECT") {								 	 
					  eval("parent."+window.top.frames[j].name+".document.forms["+i+"].elements["+e+"].style.visibility='hidden'");									  
				  }
				}		
			}																	
    }

	
}

/**
* Makes all drop down form select boxes on the screen visible so they do not reappear after the dialog is closed.
* IE has a problem with wanted select form tags to always be the topmost z-index or layer
*/
function displaySelectBoxes() {
	for(var i = 0; i < document.forms.length; i++) {
		for(var e = 0; e < document.forms[i].length; e++){
			if(document.forms[i].elements[e].tagName == "SELECT") {
			document.forms[i].elements[e].style.visibility="visible";
			}
		}
	}
	

	for (var j=0;j< window.top.self.frames.length;j++) {					
		 eval("v_j=parent."+window.top.frames[j].name+".document.forms.length");						 
		for(var i = 0; i < v_j; i++) {							
				eval("v_e=parent."+window.top.frames[j].name+".document.forms["+i+"].length");								
			  for(var e = 0; e < v_e; e++){							  	 							  
				  eval("v_tagname=parent."+window.top.frames[j].name+".document.forms["+i+"].elements["+e+"].tagName");								 								 
				 if(v_tagname == "SELECT") {								 	 
					  eval("parent."+window.top.frames[j].name+".document.forms["+i+"].elements["+e+"].style.visibility='visible'");									  
				  }
				}		
			}																	
    }


	
	
}	
/* --------- */