var zoomTimer = 0;
var zoomFadeImage=null;
var zoomImage=null;
var zoomOnclick;
var zoomOnkeypress;
var zoomOnscroll;
var zoomClose;
var zoomAfterClick;
function zoom_image(type,src,width,height,close,click,func){
	if(src && src.src){
		src=src.src;
	}
	zoomClose=close;
	zoomAfterClick=click;
	if(!func)func='cubicInOut';
	if(zoomFadeImage){
		zoomFadeImage.style.display='';
	}else{
		zoomFadeImage=document.createElement('DIV');
		zoomFadeImage.style.position='absolute';
		zoomFadeImage.style.zIndex=999999;
		zoomFadeImage.innerHTML='<img src="lib4/images/wait_tr.png" width=100% height=100%>';
		document.body.appendChild(zoomFadeImage);
	}
	var b=window_scroll();
	zoomFadeImage.style.top=0;
	zoomFadeImage.style.left=0;
	zoomFadeImage.style.width=(b.w-20)+'px';
	zoomFadeImage.style.height=b.h+'px';
	if(!zoomImage){
		zoomImage=document.createElement('DIV');
		zoomImage.id='zoomImageID';
		zoomImage.style.position='absolute';
		document.body.appendChild(zoomImage);
	}
	zoomImage.style.zIndex=1000000;
	zoomImage.style.overflow='hidden';
	var zoomWindow=client_size();
	if(width>zoomWindow.w){
		height=height*(zoomWindow.w-10)/width;
		width=zoomWindow.w;
	}
	if(height>zoomWindow.h){
		width=width*(zoomWindow.h-10)/height;
		height=zoomWindow.h;
	}
	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;
	window.onresize=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='';
			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='';
			break;
		case 'jpg':
		case 'gif':
		case 'png':
			zoomImage.innerHTML='<img id=zoomImageEmbedID width="100%" height="100%" src="'+src+'">';
			zoomImageEmbedID=document.getElementById('zoomImageEmbedID');
			disableTags(1,zoomImageEmbedID);
			zoomImage.style.display='';
			break;
		default:
			zoomImage.innerHTML='<div id=zoomImageEmbedID style="width:100%;height:100%">'+src+'</div>';
			zoomImageEmbedID=document.getElementById('zoomImageEmbedID');
			disableTags(1,zoomImageEmbedID);
			zoomImage.style.display='';
			break;
	}
	if(zoomClose && zoomClose.length){
		if(zoomClose.indexOf('[zoomImage]')>=0){
			zoomImage.innerHTML=zoomClose.replace('[zoomImage]',zoomImage.innerHTML);
		}else{
			zoomImage.innerHTML=zoomClose+zoomImage.innerHTML;
		}
	}
	zoom_image_do(0,0,width,0,height,zoomSteps,func);
}
function zoom_image_do(zoomCurrent,zoomStartW,zoomChangeW,zoomStartH,zoomChangeH,zoomSteps,func){
	if(zoomCurrent==zoomSteps+1){
		if(zoomTimer){
			clearInterval(zoomTimer);
			zoomTimer=0;
		}
		//zoomImage.style.overflow='auto';
	}else{
		eval('var moveW='+func+'(zoomCurrent,zoomStartW,zoomChangeW,zoomSteps);');
		eval('var moveH='+func+'(zoomCurrent,zoomStartH,zoomChangeH,zoomSteps);');
		moveW=Math.round(moveW);
		moveH=Math.round(moveH);
		var zoomWindow=client_size();
		var moveX=zoomWindow.x+(zoomWindow.w-moveW)/2;
		var moveY=zoomWindow.y+(zoomWindow.h-moveH)/2;
		zoomImage.style.left=moveX+'px';
		zoomImage.style.top=moveY+'px';
		zoomImage.style.width=moveW+'px';
		zoomImage.style.height=moveH+'px';
		++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 zoomCloseFunc(){
	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;

	var cback=function(r){}
	ajaxCall(cback,'index.php','MDL=ajax&f=setssVar&ssVar=ssZoomImageClose=1');

	if(zoomAfterClick && zoomAfterClick.length){
		location.href=zoomAfterClick;
	}
}
function zoomOnkeypressFunc(evt){
	if(zoomClose)return;
	zoomCloseFunc();
}
function zoomOnclickFunc() {
	if(zoomClose)return;
	zoomCloseFunc();
}
function zoomOnscrollFunc() {
	var zoomWindow=client_size();
	var d=getDimensions(zoomImage);
	zoomImage.style.top=(zoomWindow.y+(zoomWindow.h-d.h)/2)+'px';
	zoomImage.style.left=(zoomWindow.x+(zoomWindow.w-d.w)/2)+'px';
	if(document.compatMode=='CSS1Compat'){
		var b=window_scroll();
		zoomFadeImage.style.width=b.w+'px';
		zoomFadeImage.style.height=b.h+'px';
	}
}

