// JavaScript Document - NRuhomutally - flyout zoom functions


// image to zoom detect mouseover
	var zoomImgID="TopTopArea";
	var getBrwsr=navigator.userAgent;
	var checkX;
	var checkY;
		
// MegaZoom variables
	var getWinSizeX=document.documentElement.clientWidth;
	var getWinSizeY=document.documentElement.clientHeight;
	var midWin=(getWinSizeX/2)-389;
	
// other variables

	var to1;
	var to2;
	var cntr=0;
	var cntr2=0;
	
	var toFlyout;
	var ctFlyout=100;
	
// Safari version tests

		
	var safari4_1=new RegExp("Version/4.1.1");
	var safari5=new RegExp("Version/5");
	var safariIphone=new RegExp("iPhone");
	var safariIpad=new RegExp("iPad");
	

// browser detection functions

function replot() { // function may not be needed
			var getWinSizeX=document.documentElement.clientWidth;
			var getWinSizeY=document.documentElement.clientHeight;
			var midWin=(getWinSizeX/2)-389;
			
			if (getBrwsr.indexOf('MSIE')>-1) {
			
			//document.getElementById('fb').innerHTML="win size = "+getWinSizeX+" x "+getWinSizeY+" : midWin="+midWin;
			document.getElementById('blackout').style.width=getWinSizeX+"px";
			document.getElementById('blackout').style.height=getWinSizeY+"px";
			document.getElementById('largeImg').style.left=midWin+"px";
			}
			else {
				return null;
			}
}

function brwsAdjust()
{	
	
	if (getBrwsr.indexOf('MSIE')>-1) {
		
		var checkOffsetID="prdpg_zoomImgID";
		var checkXOffset=document.getElementById(checkOffsetID).offsetLeft;
		var checkYOffset=document.getElementById(checkOffsetID).offsetTop;
		
		document.getElementById('prdpg_zoom_flyout').style.position="absolute";
		document.getElementById('prdpg_zoom_guide').style.position="absolute";
		document.getElementById('prdpg_ImgToZoom').style.position="absolute";
		document.getElementById('allTabs').style.height="142px";
		document.getElementById('prdpg_zoom_flyout').style.top=checkYOffset+(388+8-292)+"px"; // might need adjustments
		document.getElementById('prdpg_zoom_flyout').style.left=checkXOffset+364+"px"; // might need adjustments
		
		
		// adjust tabs
		document.getElementById('allTabs').style.marginTop="6px";
		
		if ((getBrwsr.indexOf('MSIE 7')>-1) || (getBrwsr.indexOf('MSIE 8')>-1)) {
			document.getElementById('allTabs').style.marginTop="5px";
		}
		
		if (getBrwsr.indexOf('MSIE 8')>-1) {
				document.getElementById('prdpg_zoom_flyout').style.top=checkYOffset+"px";				  
		}
			
	}
	if (getBrwsr.indexOf('Firefox')>-1) {
		document.getElementById('prdpg_zoom_flyout').style.top="-375px";
		document.getElementById('prdpg_zoom_flyout').style.left="430px"; // width + 23px
		
		/* adjust tabs*/
		document.getElementById('allTabs').style.marginTop="5px"; 
	}
	if (getBrwsr.indexOf('Safari')>-1) {
		document.getElementById('prdpg_zoom_flyout').style.top="0px"; /* 0px */
		document.getElementById('prdpg_zoom_flyout').style.left="364px"; /* 364px */
		
		if ((safari4_1.test(getBrwsr)==true) || (safari5.test(getBrwsr)==true) || (safariIphone.test(getBrwsr)==true) || (safariIpad.test(getBrwsr)==true)) {
		/*
		if (getBrwsr.indexOf('Version/5')>-1) {*/
			document.getElementById('prdpg_zoom_flyout').style.top="-375px";
			document.getElementById('prdpg_zoom_flyout').style.left="430px";
		}
		
		
		/* adjust tabs*/
		document.getElementById('allTabs').style.marginTop="5px"; 
		
	}
	if (getBrwsr.indexOf('Opera')>-1) {
		document.getElementById('prdpg_zoom_flyout').style.top="-1px";
		document.getElementById('prdpg_zoom_flyout').style.left="432px";
		
		/* adjust tabs*/
		document.getElementById('allTabs').style.marginTop="5px"; 
	}
	if (getBrwsr.indexOf('Chrome')>-1) {
		document.getElementById('prdpg_zoom_flyout').style.top="-375px";
		document.getElementById('prdpg_zoom_flyout').style.left="430px";
	}
	
}

function doZoom()
{
	document.getElementById('prdpg_zoom_flyout').style.display="block";
	document.getElementById('prdpg_zoom_guide').style.visibility="visible";
	
	if (getBrwsr.indexOf('MSIE 6')>-1) {
		document.getElementById('variant_list').style.visibility="hidden";
	}
}

function noZoom()
{
	document.getElementById('prdpg_zoom_flyout').style.display="none";
	document.getElementById('prdpg_zoom_guide').style.visibility="hidden";
	
	if (getBrwsr.indexOf('MSIE 6')>-1) {
		document.getElementById('variant_list').style.visibility="visible";
	}
}

/* Still investigating

function fadeFlyout() {
	if (document.getElementById('prdpg_zoom_guide').style.visibility=="hidden") {
	if (ctFlyout>-1) {
		if (getBrwsr.indexOf('MSIE')>-1) {
			document.getElementById('prdpg_zoom_flyout').style.filter='alpha(opacity='+ctFlyout+')';
		}
		else {
			document.getElementById('prdpg_zoom_flyout').style.opacity=ctFlyout/100;	
		}
		ctFlyout=ctFlyout-10;
		toFlyout=setTimeout("fadeFlyout()",5);
	}
	else {
		ctFlyout=100;
		clearTimeout(toFlyout);
		document.getElementById('prdpg_zoom_flyout').style.display="none";
	}
	}
	else {
		return null;
	}
}*/

function mouseTrack(event)
{
	
	var zoomImgXPos=document.getElementById(zoomImgID).offsetLeft;
	var zoomImgYPos=document.getElementById(zoomImgID).offsetTop;
	
	// raw mouse coords on window
	xraw=event.clientX;
	yraw=event.clientY;
	
	// calc x and y
	var movx=xraw-zoomImgXPos;
	var movy=yraw-zoomImgYPos;
	
	// maximum calculations
	
	var max_L_T=110; //max left and top
	var max_R_B=371; // max right and bottom
	var edge_L=0;
	var edge_R=257;
	var edge_T=-348;
	var edge_B=-91;
	var xMod=435;
	var yMod=555;
	var maxX_R_B_mod=4;
	var maxY_L_T_mod=31;
	var maxY_R_B_mod=27;
	var guideXmod=110; // size of guide - 1/4 makes this 0 xcoord rel to guide
	var guideYmod=489; // size of img + size of guide + 3/8 of guide
	var testOffsetScroll=window.pageYOffset;
	
	if (getBrwsr.indexOf('MSIE')>-1) {
		max_L_T=114;
		max_R_B=374;
		maxY_L_T_mod=33;
		maxY_R_B_mod=30;
		edge_L=67;
		edge_R=324;
		edge_T=105;
		edge_B=362;
		xMod=443;
		yMod=579;
		guideXmod=46;
		guideYmod=42;
		testOffsetScroll=document.documentElement.scrollTop;
	}
	
	
	// track and constrain guide
	if (movx<max_L_T) {
		document.getElementById('prdpg_zoom_guide').style.left=edge_L+"px";
	}
    else if (movx>max_R_B-maxX_R_B_mod) {
		document.getElementById('prdpg_zoom_guide').style.left=edge_R+"px";
	}
	else {
		document.getElementById('prdpg_zoom_guide').style.left=(movx-guideXmod)+"px";
	}
	
	if (movy<(max_L_T+maxY_L_T_mod-testOffsetScroll)) {
		document.getElementById('prdpg_zoom_guide').style.top=edge_T+"px";
	}
	else if (movy>(max_R_B+maxY_R_B_mod-testOffsetScroll)) {
		document.getElementById('prdpg_zoom_guide').style.top=edge_B+"px";
	}
	else {
		document.getElementById('prdpg_zoom_guide').style.top=((movy-guideYmod)+testOffsetScroll)+"px";
	}

	
	// pan image
	
	if (movx<max_L_T) {
		document.getElementById('prdpg_magnified_img').style.left="0px";
	}
	else if (movx>max_R_B-maxX_R_B_mod) {
		document.getElementById('prdpg_magnified_img').style.left="-1044px";
	}
	else {
		document.getElementById('prdpg_magnified_img').style.left=-((movx*4)-xMod)+"px";
	}
	
	if (movy<(max_L_T+maxY_L_T_mod-testOffsetScroll)) {
		document.getElementById('prdpg_magnified_img').style.top="-6px";
	}
	else if (movy>(max_R_B+maxY_R_B_mod-testOffsetScroll)) {
		document.getElementById('prdpg_magnified_img').style.top="-1044px";
	}
	else {
		document.getElementById('prdpg_magnified_img').style.top=-(((movy+testOffsetScroll)*4)-yMod)+"px";
	}
	
}

// Large image functions

function showLargeImg() {
	var getWinSizeX=document.documentElement.clientWidth;
	var getWinSizeY=document.documentElement.clientHeight;
	var midWin=(getWinSizeX/2)-389;
	
	//document.getElementById('megaZoomImg').src=othrImgs[passImgNo] + "?$Flyout778x778$";
	document.getElementById('blackout').style.display="block";
	document.getElementById('largeImg').style.display="block";
	
	
	if (getBrwsr.indexOf('MSIE')>-1) {
	document.getElementById('blackout').style.width=getWinSizeX+"px";
	document.getElementById('blackout').style.height=getWinSizeY+"px";
	document.getElementById('largeImg').style.left=0+"px";
	if (getBrwsr.indexOf('MSIE 6')>-1) {
		document.getElementById('variant_list').style.visibility="hidden";
	}
	fadeIn();
	}
	else {
		fadeIn();
		//return null;
	}
	
}

function closeLargeImg() {
	fadeOut(); // - used for effects
	//document.getElementById('blackout').style.display="none"; - used for no effects
	//document.getElementById('largeImg').style.display="none"; - used for no effects
	
}

function fadeIn() {
	if (cntr2<101) {
		if (getBrwsr.indexOf('MSIE')>-1) {
			document.getElementById('blackout').style.filter='alpha(opacity=80)';
			document.getElementById('largeImg').style.filter='alpha(opacity='+cntr2+')';
		}
		else {
			document.getElementById('blackout').style.opacity=0.8;
			document.getElementById('largeImg').style.opacity=(cntr2)/100;
		}
		cntr2=cntr2+25;
		to1=setTimeout("fadeIn()",1);
	}
	else {
		cntr=80;
		cntr2=100;
		clearTimeout(to1);
	}
	
}


function fadeOut() {
	if (cntr2>-1) {
		if (getBrwsr.indexOf('MSIE')>-1) {
			document.getElementById('largeImg').style.filter='alpha(opacity='+cntr2+')';
			document.getElementById('blackout').style.filter='alpha(opacity='+cntr+')';
		}
		else {
			document.getElementById('largeImg').style.opacity=cntr2/100;
			document.getElementById('blackout').style.opacity=cntr/100;
		}
		cntr2=cntr2-25;
		cntr=cntr-25;
		to2=setTimeout("fadeOut()",30);
	}
	else {
		cntr2=0;
		cntr=0;
		clearTimeout(to2);
		document.getElementById('blackout').style.display="none";
		document.getElementById('largeImg').style.display="none";
		if (getBrwsr.indexOf('MSIE 6')>-1) {
		document.getElementById('variant_list').style.visibility="visible";
	}
	}
}


