var scaleX = 0;
var scaleY = 0;
var zoomSizeX = 0;
var zoomSizeY = 0;

var findBrowser={init:function(){this.browser=this.searchString(this.dataBrowser)||"Unknown Browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"Unknown Version";this.OS=this.searchString(this.dataOS)||"Unknown OS";},searchString:function(data){for(var i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!=-1)return data[i].identity;} else if(dataProp) return data[i].identity;}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1));},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};

function findPos( obj ) {
	var curleft = curtop = scrolltop = scrollleft = 0;

	if ( obj == null )
		return;

	if ( obj.offsetParent ) {
		curleft    = obj.offsetLeft;
		curtop     = obj.offsetTop;

		scrolltop  = obj.scrollTop;
		scrollleft = obj.offsetLeft;

		findBrowser.init();

		var objBody = null;

		while( obj = obj.offsetParent ) {
			curleft += obj.offsetLeft;
			curtop  += obj.offsetTop;

			scrolltop  += obj.scrollTop;
			scrollleft += obj.offsetLeft;

			if ( obj.tagName=="BODY" )
				objBody = obj;
		}
		if ( objBody ) {
			scrolltop  += objBody.parentNode.scrollTop;
		}
	}
	if( findBrowser.browser=="Safari") {
		scrolltop=0;
	}
	return [ curleft, curtop, scrollleft, scrolltop ];
}

function zoomImage(selectedProdImage, selectedZoomImage, ZoomImageSizeX, ZoomImageSizeY) {
	zoomSizeX = ZoomImageSizeX;
	zoomSizeY = ZoomImageSizeY;
	if ( selectedProdImage != "" ) {
		$("imagem_descricao").src = selectedProdImage;

		// http://wb4b.5pmweb.com?def=1&task=2559
		// Adiciona evento para permitir zoom em mais de uma imagem  
		// Não foi necessário remover os eventos (não da erro de js).  
		Event.observe($('imagem_descricao'), 'mousemove', function (event) {if(typeof pos != 'undefined') pos(event, 385, 500, 'zoomBase')});
		Event.observe($('imagem_descricao'), 'mouseout',  function (event) {if(typeof pos != 'undefined') pos(event, 385, 500, 'zoomBase')});

		if ( $("produto_zoom") )
			$("produto_zoom").style.display = "";

		if(document.getElementById("bImage")!=null) {
			var width = $("bImage").width;
			$("bImage").src=selectedZoomImage;
		}
		// BDA - http://wb4b.5pmweb.com?def=1&task=5265
		// A comparação abaixo é para o IE6 pois o mesmo possui
		// problemas com renderização de objetos em tempo real
		// acaso a renderização do objeto ainda não tenha sido
		// liberada no atributo display, o src irá puxar imagem NULL
		// portanto, esta sendo executado uma trigger com timeout de
		// 100 milisegundos para possibilitar tempo suficiente do
		// IE 6 renderizar o objeto recem redefinido com o atributo
		// display, após estes 100ms, ele atribui a imagem ao objeto
		// ini - PMS5265 - bug fixed IE6 
		if ( findBrowser.browser == undefined || findBrowser.browser == 'Explorer'){
			if (findBrowser.version == 6 || findBrowser.version == undefined )
			setTimeout('$("bImage").src="'+selectedZoomImage+'"',100);
			setTimeout('$("imagem_descricao").src="'+selectedProdImage+'"',100);
		}
		// fim - PMS5265 - bug fixed IE6
	}
	else {
		$("imagem_descricao").src = "";

		if ( $("produto_zoom") )
			$("produto_zoom").style.display = "none";

		if(document.getElementById("bImage")!=null) {
			$("bImage").src = "";
		}
	}
}

function pos(event, width, height, divConteudo ) {
	if ( zoomSizeX > 0 && zoomSizeY > 0 && $("imagem_descricao").src != "" )
	{
		var myPos=findPos( $("imagem_descricao") );

		var cLeft = myPos[0];
		var cRight  = cLeft + $("imagem_descricao").width;
		var cTop  = myPos[1];
		var cBottom = cTop + $("imagem_descricao").height;

		var ex = event.clientX;
		var ey = event.clientY;

		var scaleX = zoomSizeX/$("imagem_descricao").width;
		var scaleY = zoomSizeY/$("imagem_descricao").height;

		var tx, ty, tx2, ty2;
		if( ex < cLeft || ex > cRight || ( ey + myPos[3] ) < cTop || ( ey + myPos[3] ) > cBottom ) {
			$("over").style.display="none";
			$("produto_descricao_zoom_externo").style.display="none";
			$("produto_descricao_zoom").style.display="none";
			$(divConteudo).style.display="";
			return;
		}

		tx  = Math.floor( width / scaleX );
		tx2 = Math.floor( tx / 2 );
		ty  = Math.floor( height / scaleY );
		ty2 = Math.floor( ty / 2 );
		
		$("over").style.display = "";
		$(divConteudo).style.display = "none";

		$("over").style.width  = tx + "px";
		$("over").style.height = ty + "px";

		$("produto_descricao_zoom").style.width   = (width) + "px";
		$("produto_descricao_zoom").style.height  = (height) + "px";
		$("produto_descricao_zoom").style.display = "";
		$("produto_descricao_zoom_externo").style.display = "";

		$("produto_descricao_zoom").scrollLeft = scaleX*( event.clientX-tx2-cLeft);
		$("produto_descricao_zoom").scrollTop  = scaleY*((event.clientY+myPos[3])-ty2-cTop);

		$("over").style.left = (ex-tx2-myPos[2])+"px";
		$("over").style.top  = (ey-ty2-myPos[1]+myPos[3])+"px";
	}
}
