// JavaScript Document - NRuhomutally - flyout zoom functions


// image to zoom detect mouseover
	var zoomImgID="site_body";
	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 safari4_1_2=new RegExp("Version/4.1.2");
	var safari4_1_3=new RegExp("Version/4.1.3");
	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;
		//alert(checkXOffset);
		
		
		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('allTabs').style.marginTop="6px";
		document.getElementById('prdpg_zoom_flyout').style.top=checkYOffset+0+"px"; // might need adjustments(388+8-292)
		document.getElementById('prdpg_zoom_flyout').style.left=checkXOffset+348+12+20+4+"px"; // might need adjustments364
		
		
		// adjust tabs
		document.getElementById('allTabs').style.zIndex=50000;
		
		if ((getBrwsr.indexOf('MSIE 7')>-1) || (getBrwsr.indexOf('MSIE 8')>-1)) {
			document.getElementById('allTabs').style.marginTop="4px";
		}
		
		if (getBrwsr.indexOf('MSIE 8')>-1) {
				document.getElementById('prdpg_zoom_flyout').style.top=checkYOffset+"px";		
				document.getElementById('prdpg_zoom_flyout').style.left=(checkXOffset*2)+281+12+20+4+"px";
		}
			
	}
	if (getBrwsr.indexOf('Firefox')>-1) {
		document.getElementById('prdpg_zoom_flyout').style.top="-375px";
		document.getElementById('prdpg_zoom_flyout').style.left="450px"; // 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) || (safari4_1_2.test(getBrwsr)==true) || (safari4_1_3.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="450px";
		}
		
		
		/* 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) {
	    ShowOrHideElement('variant_lists', 'hidden');
	    ShowOrHideAspElement('UD1', '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) {
	    ShowOrHideElement('variant_lists', 'visible');
	    ShowOrHideAspElement('UD1', '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+16; // max left
	var max_R_B=371-86; // max right and bottom
	var edge_L=0;
	var edge_R=236+22;
	var edge_T=-348;
	var edge_B=-91;
	var xMod=91+91+91+91+87+22+11;
	var yMod=87+87+87+33+11+7;
	var maxX_R_B_mod=-91-6; // corrects right edge limit
	var maxY_L_T_mod=56-85-22+5;	// corrects top edge limit
	var maxY_R_B_mod=52;	// correct bottom edge limit
	var guideXmod=83+43; // size of guide - 4px for border
	var guideYmod=385+43; // size of Img + 3/8 of guide + 4px
	var testOffsetScroll=window.pageYOffset;
	
	if (getBrwsr.indexOf('MSIE')>-1) {
		var getBody="entire_container";
		var zoomImgXPos=document.getElementById(getBody).offsetLeft;
		var zoomImgYPos=document.getElementById(getBody).offsetTop;
		var movx=xraw-zoomImgXPos;
		var movy=yraw-zoomImgYPos;
		var checkXBodyOffset=document.getElementById(getBody).offsetLeft;
		//alert(checkXBodyOffset);
		max_L_T=20+12+67+44+6;
		max_R_B=20+12+67+348;
		maxX_R_B_mod=44-3;
		maxY_L_T_mod=100-16;
		maxY_R_B_mod=55-13;
		edge_L=0+68;
		edge_R=325;
		edge_T=1;
		edge_B=261-3;
		xMod=443+100+43;
		yMod=679+100+87+43+6+4+1+2;
		guideXmod=11+44+11+11+4;
		guideYmod=232;
		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";
	$('div#blackout').height($(document).height());
	
	if (getBrwsr.indexOf('MSIE')>-1) {
	document.getElementById('blackout').style.width=getWinSizeX+"px";
	$('div#blackout').height($(document).height());
	//document.getElementById('largeImg').style.left=0+"px";
	if (getBrwsr.indexOf('MSIE 6') > -1) {

	    ShowOrHideElement('variant_lists', 'hidden');
	    ShowOrHideAspElement('UD1', '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 6')>-1) || (getBrwsr.indexOf('MSIE 7')>-1) || (getBrwsr.indexOf('MSIE 8')>-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) {
		    ShowOrHideElement('variant_lists', 'visible');
		    ShowOrHideAspElement('UD1', 'visible');
	    }
	}
}


function ShowOrHideElement(theElementID, showHideValue) {

    var htmlElement = document.getElementById(theElementID);

    if (htmlElement != null) {
        htmlElement.style.visibility = showHideValue;
    }

}

function ShowOrHideAspElement(theElementID, showhideValue) {

    var aspElement = $("[id$='" + theElementID + "']");

    if (aspElement != null) {
        aspElement.css('visibility', showhideValue);
    }
}



