var zoomTimer = 0;
var zoomFadeImage=null;
var zoomImage=null;
zoomImageLoaded=false;
var zoomOnclick;
var zoomOnkeypress;
var zoomOnscroll;
function zoom_image(type,src,width,height,func){
	if(src.src){
		src=src.src;
	}
	if(!func)func='cubicInOut';
	var zoomWindow=client_size();
	if(zoomFadeImage){
		zoomFadeImage.style.display='';
	}else{
		document.body.innerHTML='<div id=zoomBodyDiv>'+document.body.innerHTML+'</div>';
		zoomFadeImage=document.createElement('IMG');
		zoomFadeImage.style.position='absolute';
		zoomFadeImage.src='lib4/images/wait_tr.png';
		document.body.appendChild(zoomFadeImage);
	}
	var b=getDimensions(document.getElementById('zoomBodyDiv'));
	zoomFadeImage.style.top=b.y;
	zoomFadeImage.style.left=b.x;
	zoomFadeImage.style.width=b.w;
	zoomFadeImage.style.height=b.h;
	if(!zoomImage){
		zoomImage=document.createElement('DIV');
		zoomImage.id='zoomImageID';
		zoomImage.style.position='absolute';
		zoomImage.style.backgroundColor='#F0F0F0';
		zoomImage.border='1px solid #000000';
		document.body.appendChild(zoomImage);
	}
	if(width>zoomWindow.w-10){
		height=height*(zoomWindow.w-10)/width;
		width=zoomWindow.w-10;
	}
	if(height>zoomWindow.h-10){
		width=width*(zoomWindow.h-10)/height;
		height=zoomWindow.h-10;
	}
	zoomSteps=width;
	if(zoomSteps>50){
		zoomSteps=50;
	}
	zoomOnclick=document.onclick;
	document.onclick=zoomOnclickFunc;
	zoomOnkeypress=document.onkeypress;
	document.onkeypress=zoomOnkeypressFunc;
	zoomOnscroll=window.onscroll;
	window.onscroll=zoomOnscrollFunc;
	var zoomImageEmbedID;
	switch(type){
		case "swf":
		case "swc":
			zoomImage.innerHTML='<embed id=zoomImageEmbedID width="100%" height="100%" src="'+src+'" type="application/x-shockwave-flash" play="true" loop="true" menu="false" scale="exactfit"></embed>';
			zoomImageEmbedID=document.getElementById('zoomImageEmbedID');
			disableTags(1,zoomImageEmbedID);
			zoomImage.style.display='';
			zoomImageLoaded=true;
			zoom_image_do(0,0,width,0,height,zoomSteps,func);
			break;
		case 'flv':
			p=location.pathname.split('/').slice(0,-1).join('/')+'/';
			zoomImage.innerHTML='<embed id=zoomImageEmbedID width="100%" height="100%" src="lib4/images/player.swf?file='+p+src+'&type=flv&stretching=none&autostart=true" allowscriptaccess="false" allowfullscreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
			zoomImageEmbedID=document.getElementById('zoomImageEmbedID');
			disableTags(1,zoomImageEmbedID);
			zoomImage.style.display='';
			zoomImageLoaded=true;
			zoom_image_do(0,0,width,0,height,zoomSteps,func);
			break;
		case 'jpg':
		case 'gif':
		case 'png':
			zoomImageLoaded=false;
			zoomImage.innerHTML='<img id=zoomImageEmbedID width="100%" height="100%" src="'+src+'">';
			zoomImageEmbedID=document.getElementById('zoomImageEmbedID');
			disableTags(1,zoomImageEmbedID);
			zoomImage.style.display='';
			zoomImageEmbedID.onload = function(){zoomImageLoaded=true;}
			zoom_image_do(0,0,width,0,height,zoomSteps,func);
			break;
		default:
			zoomImage.innerHTML='<div id=zoomImageEmbedID>'+src+'</div>';
			zoomImageEmbedID=document.getElementById('zoomImageEmbedID');
			disableTags(1,zoomImageEmbedID);
			zoomImage.style.display='';
			zoomImageLoaded=true;
			zoom_image_do(0,0,width,0,height,zoomSteps,func);
			break;
	}
}
function zoom_image_do(zoomCurrent,zoomStartW,zoomChangeW,zoomStartH,zoomChangeH,zoomSteps,func){
	if(zoomCurrent==zoomSteps+1){
		if(zoomTimer){
			clearInterval(zoomTimer);
			zoomTimer=0;
		}
	}else{
		if(zoomImageLoaded){
			eval('var moveW='+func+'(zoomCurrent,zoomStartW,zoomChangeW,zoomSteps);');
			eval('var moveH='+func+'(zoomCurrent,zoomStartH,zoomChangeH,zoomSteps);');
			var zoomWindow=client_size();
			var moveX=zoomWindow.x+(zoomWindow.w-moveW)/2;
			var moveY=zoomWindow.y+(zoomWindow.h-moveH)/2;
			zoomImage.style.left=moveX;
			zoomImage.style.top=moveY;
			zoomImage.style.width=moveW;
			zoomImage.style.height=moveH;
			zoomCurrent++;
		}
		if(zoomTimer){
			clearInterval(zoomTimer);
		}
		zoomTimer=setInterval("zoom_image_do("+zoomCurrent+","+zoomStartW+","+zoomChangeW+","+zoomStartH+","+zoomChangeH+","+zoomSteps+","+func+")",2);
	}
}
function linear(t,b,c,d){
	t=c*t/d+b;
	if(t>c)t=c;
	return t;
}
function sineInOut(t,b,c,d){
	t=-c/2*(Math.cos(Math.PI*t/d)-1)+b;
	if(t>c)t=c;
	return t;
}
function cubicIn(t,b,c,d){
	t=c*(t/=d)*t*t+b;
	if(t>c)t=c;
	return t;
}
function cubicOut(t,b,c,d){
	t=c*((t=t/d-1)*t*t+1)+b;
	if(t>c)t=c;
	return t;
}
function cubicInOut(t,b,c,d){
	if((t/=d/2)<1)t=c/2*t*t*t+b;
	else t=c/2*((t-=2)*t*t+2)+b;
	if(t>c)t=c;
	return t;
}
function bounceOut(t,b,c,d){
	if((t/=d)<(1/2.75))t=c*(7.5625*t*t)+b;
	else if(t<(2/2.75))t=c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;
	else if(t<(2.5/2.75))t=c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;
	else t=c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;
	if(t>c)t=c;
	return t;
}
function zoomOnkeypressFunc(evt) {
	if(zoomTimer)return;
	disableTags(0);
	zoomImage.style.display=zoomFadeImage.style.display='none';
	zoomImage.style.width=zoomImage.style.height=1;
	zoomImage.innerHTML='';
	document.onclick=zoomOnclick;
	document.onkeypress=zoomOnkeypress;
	window.onscroll=zoomOnscroll;
}
function zoomOnclickFunc() {
	if(zoomTimer)return;
	disableTags(0);
	zoomImage.style.display=zoomFadeImage.style.display='none';
	zoomImage.style.width=zoomImage.style.height=1;
	zoomImage.innerHTML='';
	document.onclick=zoomOnclick;
	document.onkeypress=zoomOnkeypress;
	window.onscroll=zoomOnscroll;
}
function zoomOnscrollFunc() {
	var zoomWindow=client_size();
	var d=getDimensions(zoomImage);
	zoomImage.style.top=zoomWindow.y+(zoomWindow.h-d.h)/2;
	zoomImage.style.left=zoomWindow.x+(zoomWindow.w-d.w)/2;
}
