/******************************** Fonctions Zoom Image Product ********************************/

function ajax_load_image(sess_id, pmodel, pcolorname, numvue)
{
	var postUrl = 'ajax_load_product_image.php';
	
	var data = 'osCsid='+sess_id+'&pmodel='+pmodel+'&pcolorname='+pcolorname+'&numvue='+numvue;
	
	var zone_a_charger = $('ajax_product_image');

	// Ajax Loader
	zone_a_charger.innerHTML = '<div class="ajax-loader" align="center"><img src="images/ajax-loader.gif" alt=""/></div>';
		
	var onSuccess = function (t)
	{		
		var el = zone_a_charger;
		el.style.display = "block";
		el.innerHTML = t;
		hideZoomImg();
	}
		
	var myAjax = new Ajax(postUrl, {method:'post', data: data, onSuccess: onSuccess});
	myAjax.request();			
}

function chage_preview_image(direction)
{
	var sess_id = document.getElementById('img_sess_id').value;
	var pmodel = document.getElementById('img_pmodel').value;
	var pcolorname = document.getElementById('img_pcolorname').value;
	var img_current = parseInt(document.getElementById('img_current').value);
	var total = parseInt(document.getElementById('img_total').value);
	
	var numvue = 1;
	for(i=1; i < total; i++)
	{
		if(i==img_current)
		{
			if(direction=="prev")
			{
				if(i==1)
				{
					numvue = (total-1);
				}
				else
				{
					numvue = i-1;
				}
			}
			if(direction=="next")
			{
				if(i==(total-1))
				{
					numvue = 1;
				}
				else
				{
					numvue = i+1;
				}
			}
		}
	}
	
	ajax_load_image(sess_id, pmodel, pcolorname, numvue);
	document.getElementById('img_current').value = numvue;
}

function centrerZoomImg(id_img)
{
	var monImg = document.getElementById(id_img);
	var monImgHeight = parseInt(monImg.height);
	var monImgWidth = parseInt(monImg.width);
	
	var monContenerImg = document.getElementById('imgZoom');
	var monContenerImgHeight = parseInt(monContenerImg.clientHeight);
	var monContenerImgWidth = parseInt(monContenerImg.clientWidth);
	
	var margeErreur = 20;
	var Img_x = (monContenerImgWidth-monImgWidth)/2;
	var Img_y = (monContenerImgHeight-monImgHeight)/2;
	//var Img_y = -margeErreur;
	
	monImg.style.left = Img_x+"px";
	monImg.style.top = Img_y+"px";
}

function alphaZoomImg(div, alphaStart, alphaEnd, id_img)
{
	var FxAlphaZoom = new Fx.Style(div, 'opacity', {
		duration:400,
		wait:false,
		onComplete: function()
		{

		}
	} );
	
	$(div).style.display="block";
	
	if(id_img)
	{
		//Centre ImgZoom
		centrerZoomImg(id_img);
	}
	
	FxAlphaZoom.set(alphaStart);
	FxAlphaZoom.start(alphaStart,alphaEnd);
}

function showZoomImg(id_img)
{	
	document.getElementById('imgThumb').style.display="none";
	document.getElementById('btn_show').style.display="none";
	
	//document.getElementById('imgZoom').style.display="block";
	alphaZoomImg('imgZoom',0,1,id_img);
	document.getElementById('btn_hide').style.display="block";
	document.getElementById('zoomTxt').style.display="block";
}

function hideZoomImg(id_img)
{
	//document.getElementById('imgThumb').style.display="block";
	alphaZoomImg('imgThumb',0,1,id_img);
	document.getElementById('btn_show').style.display="block";
	
	document.getElementById('imgZoom').style.display="none";
	document.getElementById('btn_hide').style.display="none";
	document.getElementById('zoomTxt').style.display="none";
}

function zoomImg(id_img)
{	
	//Centre ImgZoom
	//centrerZoomImg(id_img);

	//Cree l'objet			
	oImageZoom=new makeImgObj(id_img);
	
	//Check mouvements curseur
	if(navigator.appName.substring(0,3) == "Net")
		document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = moveZoom;
}

function zoomImgOff(id_img)
{			
	//Cree l'objet			
	oImageZoom=new makeImgObj(id_img);
	
	//Check mouvements curseur
	if(navigator.appName.substring(0,3) == "Net")
		document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = moveZoomOff(id_img);
}

function makeImgObj(obj,nest)
{
	nest=(!nest) ? '':'document.'+nest+'.'
	    this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;
	    this.hauteur=document.getElementById(obj).clientHeight;
	    this.largeur=document.getElementById(obj).clientWidth;
	this.moveIt=zoom_moveIt;
	this.moveItOff=zoom_moveItOff;
	return this
}

function zoom_moveIt(x,y)
{
	this.x=x;
	this.y=y;
	this.css.left=this.x;
	this.css.top=this.y
}
function zoom_moveItOff(x,y)
{
	
}

function moveZoom(e)
{	
	//Check curseur coord
	x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
	y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;

	//Ratio ImgZoom/cadre
	var monContenerImg = document.getElementById('imgZoom');
	var monContenerImgHeight = parseInt(monContenerImg.clientHeight);
	var monContenerImgWidth = parseInt(monContenerImg.clientWidth);
	var monContenerImgLeft = parseInt(monContenerImg.offsetLeft);
	var monContenerImgTop = parseInt(monContenerImg.offsetTop);
		
	var ratio_x = Math.floor(oImageZoom.largeur/monContenerImgWidth);
	var ratio_y = Math.floor(oImageZoom.hauteur/monContenerImgHeight);
				
	//var x = x*ratio_x+monContenerImgLeft+(monContenerImgWidth/2);
	//var y = y*ratio_y+monContenerImgTop+(monContenerImgHeight/2);
	
	var originLeft = 0;
	var originTop = 0;
			
	//Reste dans le Contener Img
	var margeErreur = 50;
	
	var limitLeft = -(margeErreur/2);
	var limitRight = -( (oImageZoom.largeur-monContenerImgWidth)/2 + monContenerImgLeft + margeErreur);
	
	var limitTop = -(margeErreur/2);
	var limitBottom = -( (oImageZoom.hauteur+monContenerImgHeight)/2 + (monContenerImgTop/2) - margeErreur);
	
	//Hack Firefox
	if(navigator.appName.substring(0,3) == "Net") {
		
		var monSite = document.getElementById('site');
		var monSiteLeft = parseInt(monSite.offsetLeft);
		var monSiteTop = parseInt(monSite.offsetTop);
		
		x = (x - monSiteLeft - monContenerImgLeft) * ratio_x;
		y = (y - monSiteTop - monContenerImgTop) * ratio_y;
	}
	else
	{
		x = (x*ratio_x);
		y = (y*ratio_y);
	}
	
	x = -x;
	y = -y;
	
	//document.getElementById('coord').innerHTML = "<br />X: "+ x +"<br />Y: "+ y +"<br /><br />origine Left: "+originLeft+"<br />Contener Top:"+monContenerImgTop+"<br /><br />limitBottom: "+limitBottom+"<br />limitRight:"+limitRight+"<br /><br />Cont X:"+ monContenerImgLeft +"<br />Cont Y:"+ monContenerImgTop;
	
	//Limit x
	if(x >= limitLeft)
	{
		x=originLeft;
	}
	if(x <= limitRight)
	{
		x=limitRight;
	}
	
	//Limit y
	if(y >= limitTop)
	{
		y=originTop-margeErreur;
	}
	if(y <= limitBottom)
	{
		y=limitBottom;
	}
	
	if( (x < limitTop) && (x > limitBottom) && (x < limitLeft) && (x > limitRight) )
	{				
		x = x+"px";
		y = y+"px";
		
		oImageZoom.moveIt(x,y);
	}
	else
	{
		x = x+"px";
		y = y+"px";
		
		oImageZoom.moveItOff(x,y);
	}
}

function moveZoomOff(id_img)
{	
	//Centre ImgZoom
	/*
	var monImg = document.getElementById(id_img);
	var monImgHeight = parseInt(monImg.height);
	var monImgWidth = parseInt(monImg.width);
	
	var monContenerImg = document.getElementById('imgZoom');
	var monContenerImgHeight = parseInt(monContenerImg.clientHeight);
	var monContenerImgWidth = parseInt(monContenerImg.clientWidth);
	
	var margeErreur = 20;
	var Img_x = (monContenerImgWidth-monImgWidth)/2;
	var Img_y = (monContenerImgHeight-monImgHeight)/2;
	//var Img_y = -margeErreur;
	
	monImg.style.left = Img_x+"px";
	monImg.style.top = Img_y+"px";
	
	x = Img_x+"px";
	y = Img_y+"px";
			
	oImageZoom.moveItOff(x,y);
	*/
}