var breedte = 500;
var x_pos = -breedte;
var scroll = true;
var richting = 0;
var snelheid = 80;

function fScroller()
{
	var inhoud = document.getElementById('scrollerinhoud').innerHTML;
	var doc = document.getElementById('scrollerinhoud');
	doc.innerHTML = '<div id="jScroller" style="position:relative;left:' + x_pos + 'px">' + inhoud + inhoud + inhoud + '</div>';
	doc.style.top = 0;
	//document.getElementById('scroller').innerHTML = '<marquee id="marquee" onmouseover="this.stop()" onmouseout="this.start()" scrollAmount="4">'+document.getElementById('scroller').innerHTML+'</marquee>';
	setInterval("fPushScroller()",snelheid);
	fPushScroller();
	//scrollerinhoud
}
function fPushScroller()
{
	if (scroll)
	{
		document.getElementById('jScroller').style.left=x_pos + 'px';
		if (richting == 0)
		{
			x_pos++;
		}
		else
		{
			x_pos--;
		}
		if (x_pos == 0)
		{
			richting=1;
		}
		if (x_pos == -breedte)
		{
			richting=0;
		}
	}
}


function favoriet(title){
var url = document.location.href;
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}



// Muisvolg script
var divName = 'product_detail_zoomvak';
var witvlakHeight = 160;
var witvlakWidth = 150;
var offX = -(parseInt(witvlakWidth/2));          // X offset from mouse position
var offY = -(parseInt(witvlakHeight/2));          // Y offset from mouse position
var vergrootnaarBreedte = 600;



function follow(evt) {
	if (document.getElementById) {
		var obj = document.getElementById(divName).style; obj.visibility = 'visible';
		var offset = findPos('productdetail_fotogroot');		
		var afbeeldingX = document.getElementById('afbeelding_groot').offsetWidth;
		var afbeeldingY = document.getElementById('afbeelding_groot').offsetHeight;
		var vermfactorX = ((vergrootnaarBreedte)/afbeeldingX);
		var vermfactorY = vermfactorX;
		
		var mouseposX = (parseInt(mouseX(evt))+offX);
		var mouseposY = (parseInt(mouseY(evt))+offY);
		var xmoved = false;
		var ymoved = false;
		var useXMouse = mouseposX;
		var useYMouse = mouseposY;
		
		// Witvlak verplaatsen en vangen binnen afbeelding
		if (   (mouseposY > offset[1]) && (mouseposY < (offset[1] + afbeeldingY-witvlakHeight))  )
			{obj.top = (parseInt(mouseY(evt))+offY) + 'px';ymoved = true;}
		
		if ( (mouseposX > offset[0])  && (mouseposX < (offset[0] + afbeeldingX-witvlakWidth)) )
			{obj.left = (parseInt(mouseX(evt))+offX) + 'px';xmoved = true;}	
		
		
		// Hoog en laag uitersten syncen (niet noodzakelijk, maar prettiger voor bediening)
		if (mouseposY < offset[1]) // Voor het gevoel maximaal op tophoogte zetten
			{obj.top = offset[1] + 'px';useYMouse=offset[1];}
		if (mouseposY > (offset[1] + afbeeldingY-witvlakHeight)) // Voor het gevoel maximaal op tophoogte zetten
			{obj.top = (offset[1] + afbeeldingY-witvlakHeight) + 'px';useYMouse=(offset[1] + afbeeldingY-witvlakHeight);}
		if (mouseposX < offset[0]) // Voor het gevoel maximaal op tophoogte zetten
			{obj.left = offset[0] + 'px';useXMouse=offset[0];}
		if (mouseposX > (offset[0] + afbeeldingX-witvlakWidth)) // Voor het gevoel maximaal op tophoogte zetten
			{obj.left = (offset[0] + afbeeldingX-witvlakWidth) + 'px';offset[0]=(offset[0] + afbeeldingX-witvlakWidth);document.getElementById('productdetail_fotozoom').style.left = -afbeeldingX + 'px';}	
			
		// Indien muis op grenzen zit, dan syncen.	
		if (mouseposY < offset[1])
			{document.getElementById('productdetail_fotozoom').style.top =0;}
		if (mouseposX < offset[0])
			{document.getElementById('productdetail_fotozoom').style.left = 0;}

		//
		//document.getElementById('debug').innerHTML = offset[0];
		//mouseposX + ' ' + (offset[0]+afbeeldingX-(witvlakWidth/2));
		// Wel of niet zoomen?
		if (mouseposX < parseInt(offset[0]-(witvlakWidth/2)) || mouseposX > (offset[0]+afbeeldingX-(witvlakWidth/2)) || (mouseposY < parseInt(offset[1]-(witvlakHeight/2))) || (mouseposY > (offset[1]+afbeeldingY-(witvlakHeight/2))) )
		{
			// Zoom uitzetten
			stopzoom();
			
		}
		
		else
		{
			// Zoomen
			// Wat is positie van het zoomvak?
			//var posZoom = findPos('product_detail_zoomvak')
			if (xmoved)
			{
				var xpos = (parseInt((useXMouse-offset[0])*vermfactorX)-10);
				if (xpos < 0)
					xpos = 0;
				//document.getElementById('debug').innerHTML = '!' + xmoved;
				document.getElementById('productdetail_fotozoom').style.left = '-' + xpos + 'px';
				}
			if (ymoved)
			{
				var ypos = parseInt((useYMouse-offset[1])*vermfactorY);
				if (ypos < 0)
					ypos = 0;
				document.getElementById('productdetail_fotozoom').style.top = '-' + ypos + 'px';
				}
			
		}
	}
}


function startzoom(evt){
	document.getElementById('product_detail_zoomvak').style.display='';
	document.getElementById('productdetail_uitvergroting').style.display='';
	document.onmousemove = follow;
}
function stopzoom(){
	document.getElementById('product_detail_zoomvak').style.display='none';
	document.onmousemove = null;
	document.getElementById('productdetail_uitvergroting').style.display='none';	
}

function mouseX(evt) {if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
function mouseY(evt) {if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}

function findPos(divID) {
	obje = document.getElementById(divID);
	var curleft = curtop = 0;
	if (obje.offsetParent) {
		do {
			curleft += obje.offsetLeft;
			curtop += obje.offsetTop;
			} while (obje = obje.offsetParent);
		return [curleft,curtop];
		}
}
