activeImage = 'im0';
cw=0;
ch=0;
im='';
zooming=false;

function StartZoom(){
	var mimg = document.getElementById('mini_img');
	zooming=false;
	imdiv = document.getElementById(activeImage);
	imdiv.style.top = getPosition(mimg).y; 
	$(imdiv).fadeIn(300);	
	$('div.good_info div').fadeOut(300);	
	$('td.g_brands > div').hide(100);	
	imdiv = document.getElementById(activeImage);
	imdiv.style.backgroundPosition='0px '+'0px';
	imdiv.style.backgroundImage='url(\''+im+'\')';
	zooming=true;
}


function GetThumbFName(image,w,h,params){	
	var fstr = path+"thumbs.php?r="+base64_encode(image+"::"+w+"::"+h+"::"+params+"");
	return fstr;
}

function base64_encode( data ) {    // Encodes data with MIME base64
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i=0, enc='';
    do { 
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);
        bits = o1<<16 | o2<<8 | o3;
        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;
        enc += b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
    switch( data.length % 3 ){
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }
    return enc;
}


function ChooseImage(w,h,i,e){
	var mimg = document.getElementById('mini_img');
	mimg.src=GetThumbFName(i,290,0,'inbox');
	cw=w;
	ch=h;
	im=path+'files/'+i;
	
}

function StopZoom(){
	imdiv = document.getElementById(activeImage);
	$(imdiv).fadeOut(300);	
	$('div.good_info div').fadeIn(300);
	$('td.g_brands > div').show(300);
	zooming=false;
}

function ZoomMove(event){
	if (!zooming) {
		return 0;
	} 
	var imdiv = document.getElementById(activeImage);
	var mimg = document.getElementById('mini_img');
	var otp = document.getElementById("outp");
	
	var mult = (cw/mimg.clientWidth);
	var mcoords=mousePageXY(event);
	
	var new_x = (-mult*mcoords.x+300);
	if (new_x>0)
		new_x=0;
	if (new_x<(600-cw))
		new_x=600-cw;
	var new_y = (-mult*mcoords.y+200);
	if (new_y>0)
		new_y=0;
	if (new_y<(400-ch))
		new_y=400-ch;
	
	imdiv.style.backgroundPosition=new_x+'px '+new_y+'px';
	
	//otp.innerHTML = mcoords.x+' '+mcoords.y;
	//otp.innerHTML = (-mult*mcoords.x+300)+'px<br>'+(-mult*mcoords.y+200)+'px';
	//otp.innerHTML = im;
	
	
}

function getPosition(obj) {
	 var x=0, y=0;
	 while(obj) {
	    x+=obj.offsetLeft;
	    y+=obj.offsetTop;
	    obj=obj.offsetParent;
	 }
	 return {x: x, y:y};
}

function mousePageXY(e)
{  
	var x = 0, y = 0;
	var coord=new Array();
	  if (!e) e = window.event;
	  if (e.pageX || e.pageY)
	  { x = e.pageX;
	    y = e.pageY;
	  }
	  else if (e.clientX || e.clientY)
	  { x = e.clientX + (document.documentElement.scrollLeft ||
	document.body.scrollLeft) - document.documentElement.clientLeft;
	    y = e.clientY + (document.documentElement.scrollTop ||
	document.body.scrollTop) - document.documentElement.clientTop;
	  }
	  var r = getPosition(document.getElementById('mini_img'));
	  return {x: (x-r.x), y:(y-r.y)};
	  return coord;

}

