/*
ADOBE CONFIDENTIAL
Copyright 2009 Adobe Systems Incorporated
All Rights Reserved.

NOTICE:  All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers,
if any.  The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its
suppliers and may be covered by U.S. and Foreign Patents, patents in process, and are protected by trade secret or
copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior
written permission is obtained from Adobe Systems Incorporated.
*/

//effects&utility////////////////////////////////////////////////////////////////////////////////////////////
sj=[];
sj.path='../dhtml/';
var zoomFactor = 2 ;
function checkPath(){
	if (typeof(sj_codebase)!="undefined"){
		if (sj_codebase.substring(sj_codebase.length-1)!='/' && sj_codebase!='')
			sj_codebase+='/';
		sj.path=sj_codebase;
	}
	return sj.path;
}

var timoutHolder = null;
var eventHolder = "J";



function sjPBreak(str) {
	return( (str.indexOf("?")>=0?"&":"?") );
};

Number.prototype.NaN0=function() { return isNaN(this) ? 0 : this; };

function findPos(obj){
var x = y = 0;
	while( obj != null ){
		x += obj.offsetLeft ;
		y += obj.offsetTop ;
		obj = obj.offsetParent ;
	}
	return [x,y];
}

function sjFixPNG (img) {
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
    if ((version >= 5.5) && (version <=8) && (document.body.filters) && (img.src.indexOf("http://images3.pacsun.com/is/image/pacsun/spacer-t?$img_png-alpha$&$ext=.png") == -1)){
		var src = img.src;
		img.style.width = img.width + "px";
		img.style.height = img.height + "px";
		img.style.backgroundImage="none";
		if (img.filters){
			if (img.filters.length>0){
				if (img.filters["DXImageTransform.Microsoft.AlphaImageLoader"]){
					img.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src;
					img.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = 'scale';
					img.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").enabled = true;
					img.src = "http://images3.pacsun.com/is/image/pacsun/spacer-t?$img_png-alpha$&$ext=.png";
				}else{
					img.style.filter += " progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src='" + src + "', sizingMethod='scale')";
				}
			}else{
				img.style.filter = " progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src='" + src + "', sizingMethod='scale')";
			}
			img.src = "http://images3.pacsun.com/is/image/pacsun/spacer-t?$img_png-alpha$&$ext=.png";
		}
	}
};

function sjSetOpacity(inObj,inOpacity) {
	if(inOpacity < 0) inOpacity = 0;
	if(inOpacity > 99) inOpacity = 99;
	inObj.style.opacity = (inOpacity / 100);
	inObj.style.MozOpacity = (inOpacity / 100);
	inObj.style.KhtmlOpacity = (inOpacity / 100);
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
    if ((version >= 5.5) && (version <=8) && (document.body.filters)){
		if(inOpacity > 99){
			inOpacity = 100;
			inObj.style.opacity = (inOpacity / 100);
		}
		if (inObj.filters){
			if (inObj.filters.length>0){
				if (inObj.filters["DXImageTransform.Microsoft.Alpha"]){
					inObj.filters.item("DXImageTransform.Microsoft.Alpha").Opacity = inOpacity;
				}else{
					inObj.style.filter += " progid:DXImageTransform.Microsoft.Alpha(opacity="+inOpacity+")";
				}
			}else{
				inObj.style.filter = " progid:DXImageTransform.Microsoft.Alpha(opacity="+inOpacity+")";
			}
		}
	}
	inObj.opacity = inObj.style.opacity;
	return inObj.opacity;
}

function sjFadeEffect(inObj,fromOpacity, toOpacity, time, fps,callback){
	inObj.effectStartTime	= new Date().getTime();
	inObj.time	= time;
	if(typeof inObj._fadeOpId != 'undefined'){
		clearTimeout(inObj._fadeOpId);
		inObj._fadeOpId = null;
	}
	var steps = Math.ceil(fps * (time / 1000));
	var delta = (toOpacity - fromOpacity) / steps;
	sjFadeOpacityStep(inObj,0, steps, fromOpacity, delta, (time / steps),callback);
}

function sjFadeOpacityStep(inObj,stepNum, steps, fromOpacity, delta, timePerStep,callback){
	var dt = new Date().getTime() - inObj.effectStartTime;
	sjSetOpacity(inObj,Math.round(fromOpacity + (delta * stepNum)));
    if (dt <= inObj.time){
		stepNum = Math.round(steps * dt / inObj.time);
        inObj._fadeOpId = setTimeout(function(){
									sjFadeOpacityStep(inObj,(stepNum+1),steps,fromOpacity ,delta,timePerStep,callback );
								}, timePerStep);
	}else{
		if (callback){
			callback();
		}
	}
}

////////////////////
//	'wipeLR', 'wipeRL', 'wipeTB', 'wipeBT'
////////////////////
function sjShutterEffect(inObj,fromClip, toClip, direction, time, fps,callback){
	inObj.effectStartTime	= new Date().getTime();
	inObj.time	= time;
	if(typeof inObj._shutterOpId != 'undefined'){
		clearTimeout(inObj._shutterOpId);
		inObj._shutterOpId = null;
	}
	var steps = Math.ceil(fps * (time / 1000));
	var delta = new Object();
	delta.top = (toClip.top - fromClip.top) / steps;
	delta.right = (toClip.right - fromClip.right) / steps;
	delta.bottom = (toClip.bottom - fromClip.bottom) / steps;
	delta.left = (toClip.left - fromClip.left) / steps;
	shutterStep(inObj,0, steps, fromClip, direction, delta, Math.ceil(time / steps), callback);
}

function shutterStep(inObj,stepNum, steps, fromClip, direction, delta, timePerStep,callback){
	var dt = new Date().getTime() - inObj.effectStartTime;
	//rect(top right bottom left)
	switch(direction){
		case 'top':
			inObj.style.clip = 'rect(' +
				Math.round(inObj.offsetHeight - inObj.offsetHeight/100*(fromClip.bottom + delta.bottom * stepNum)) + 'px, ' +
				inObj.offsetWidth + 'px, ' +
				inObj.offsetHeight + 'px, ' +
				'0px' +
			')';
			inObj.clipArea = Math.round(fromClip.bottom + (delta.bottom * stepNum));
			break;
		case 'right':
			inObj.style.clip = 'rect(' +
				'0px, ' +
				Math.round(inObj.offsetWidth/100*(fromClip.right + delta.right * stepNum)) + 'px, ' +
				inObj.offsetHeight + 'px, ' +
				'0px' +
			')';
			inObj.clipArea = Math.round(fromClip.right + (delta.right * stepNum));
			break;
		case 'bottom':
			inObj.style.clip = 'rect(' +
				'0px, ' +
				inObj.offsetWidth + 'px, ' +
				Math.round(inObj.offsetHeight/100*(fromClip.bottom + delta.bottom * stepNum)) + 'px, ' +
				'0px' +
			')';
			inObj.clipArea = Math.round(fromClip.bottom + (delta.bottom * stepNum));
			break;
		case 'left':
			inObj.style.clip = 'rect(' +
				'0px, ' +
				inObj.offsetWidth + 'px, ' +
				inObj.offsetHeight + 'px, ' +
				Math.round(inObj.offsetWidth - inObj.offsetWidth/100*(fromClip.right + delta.right * stepNum)) + 'px' +
			')';
			inObj.clipArea = Math.round(fromClip.right + (delta.right * stepNum));
			break;
		default:
			inObj.style.clip = 'rect(' +
				'0px, ' +
				Math.round(inObj.offsetWidth/100*(fromClip.right + delta.right * stepNum)) + 'px, ' +
				inObj.offsetHeight + 'px, ' +
				'0px' +
			')';
			inObj.clipArea = Math.round(fromClip.right + (delta.right * stepNum));
			break;
	}

    if (dt <= inObj.time){
			stepNum = Math.round(steps * dt / inObj.time);
			inObj._shutterOpId = setTimeout(function(){
										shutterStep(inObj,stepNum,steps,fromClip ,direction ,delta,timePerStep ,callback);
									}, timePerStep);
	}else{
		if (callback){
			callback();
		}
	}
}
//end effects&utility////////////////////////////////////////////////////////////////////////////////////////

function SJZoomer(smallImage,bigImage){
var obj = null;
	obj = smallImage;
	var flyout = {wid:parseInt(smallImage.clientWidth),hei:parseInt(smallImage.clientHeight),left:parseInt(smallImage.clientWidth)+10,top:0};
	var transition = {effect:"none" , duration:1 , direction:"right"};
	var iconURL = null;
	var frameBorder = '#ffffff 10px solid';
	var flyoutBorder = '#0000ff 1px solid';
	var transparent = "false";
	var params = smallImage.getAttribute("params");
	var paramList = params.split(';');
	for (var i = 0; i < paramList.length; i++){
		var paramObj = paramList[i].split(':');
		switch (paramObj[0].toLowerCase()){
			case "transition":
				transition.effect = (paramObj[1].split(","))[0].toLowerCase();
				transition.duration = (isNaN(parseFloat((paramObj[1].split(","))[1])) || (parseFloat((paramObj[1].split(","))[1]) <= 0)) ? transition.duration:parseFloat((paramObj[1].split(","))[1]);
			break;
			case "flyout":
				flyout.wid  = (isNaN(parseInt((paramObj[1].split(","))[0])) || (parseInt((paramObj[1].split(","))[0]) < 0)) ? flyout.wid:parseInt((paramObj[1].split(","))[0]);
				flyout.hei  = (isNaN(parseInt((paramObj[1].split(","))[1])) || (parseInt((paramObj[1].split(","))[1]) < 0)) ? flyout.hei:parseInt((paramObj[1].split(","))[1]);
				flyout.left = (isNaN(parseInt((paramObj[1].split(","))[2]))) ? flyout.left:parseInt((paramObj[1].split(","))[2]);
				flyout.top  = (isNaN(parseInt((paramObj[1].split(","))[3]))) ? flyout.top:parseInt((paramObj[1].split(","))[3]);
			break;
			case "zoomfactor":
				zoomFactor = (isNaN(parseFloat(paramObj[1])) || (parseFloat(paramObj[1]) <= 0)) ? zoomFactor:parseFloat(paramObj[1]);
			break;
			case "iconurl":
				iconURL = unescape(paramObj[1]);
			break;
			case "frameborder":
				frameBorder = paramObj[1];
			break;
			case "flyoutborder":
				flyoutBorder = paramObj[1];
			break;
			case "transparent":
				transparent = paramObj[1].toLowerCase();
			break;
		}
	}

////////////////
	function setPosition() {
		if (cont && smallImage){
			//pac
			//cont.style.left = findPos(smallImage)[0]+parseInt(smallImage.style.borderLeftWidth).NaN0();
			//cont.style.top = findPos(smallImage)[1]+parseInt(smallImage.style.borderTopWidth).NaN0();
			cont.style.left = findPos(smallImage)[0]+parseInt(smallImage.style.borderLeftWidth).NaN0() + "px";
			cont.style.top = findPos(smallImage)[1]+parseInt(smallImage.style.borderTopWidth).NaN0() + "px";
		}
		if (lupaV && smallImage){
			//pac
			//lupaV.style.left = findPos(smallImage)[0] + flyout.left;
			//lupaV.style.top = findPos(smallImage)[1] + flyout.top;
			lupaV.style.left = findPos(smallImage)[0] + parseInt(flyout.left) + "px";
			lupaV.style.top = findPos(smallImage)[1] + parseInt(flyout.top) + "px";
		}
	}

	function updates(coor){
		lupa.style.left = coor.x1 + "px";
		lupa.style.top = coor.y1 + "px";
		zoomImgCV.style.left = coor.x2 + "px";
		zoomImgCV.style.top = coor.y2 + "px";
		lupa.style.visibility = 'inherit';
	}

/////////////////////////////////////////////////////

	function Handlemouse(e,obj){
		if (!e) var e = window.event;
		if(e == null){
			if( document.createEvent ) {
				 var evObj = document.createEvent('MouseEvents');
				 evObj.initEvent( 'mouseover', true, false );
				 obj.dispatchEvent(evObj);
			} else if( document.createEventObject ) {
				 obj.fireEvent('onmouseover');
			}
			return;
		}

		if (e.pageX || e.pageY){
			e.posx = e.pageX;
			e.posy = e.pageY;
		}else if (e.clientX || e.clientY){
			//pac
			//e.posx = e.clientX + document.body.scrollLeft;
			//e.posy = e.clientY + document.body.scrollTop;
			e.posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
			e.posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
		}
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();
		if (e.preventDefault) e.preventDefault();
		if(window.event) window.event.cancelBubble=true;

		obj.xr = findPos(obj)[0];
		obj.yr = findPos(obj)[1];
		var coor = {x1:0,y1:0,x2:0,y2:0};
		if (e.posx >= obj.xr){
			coor.x1 = obj.xr-parseInt(lupa.style.borderLeftWidth).NaN0();
		}
		if (e.posx >= obj.xr+lupa.offsetWidth/2-parseInt(lupa.style.borderLeftWidth).NaN0()){
			coor.x1 = e.posx-lupa.offsetWidth/2;
		}
		if (e.posx >= obj.xr+obj.offsetWidth-lupa.offsetWidth/2+parseInt(lupa.style.borderRightWidth).NaN0()){
			coor.x1 = obj.xr+obj.offsetWidth-lupa.offsetWidth+parseInt(lupa.style.borderRightWidth).NaN0();
		}

		if (e.posy >= obj.yr){
			coor.y1 = obj.yr-parseInt(lupa.style.borderTopWidth).NaN0();
		}
		if (e.posy >= obj.yr+lupa.offsetHeight/2-parseInt(lupa.style.borderTopWidth).NaN0()){
			coor.y1 = e.posy-lupa.offsetHeight/2;
		}
		if (e.posy >= obj.yr+obj.offsetHeight-lupa.offsetHeight/2+parseInt(lupa.style.borderBottomWidth).NaN0()){
			coor.y1 = obj.yr+obj.offsetHeight-lupa.offsetHeight+parseInt(lupa.style.borderBottomWidth).NaN0();
		}
		var multiplierX = zoomImgCV.clientWidth/obj.clientWidth;
		var multiplierY = zoomImgCV.clientHeight/obj.clientHeight;
		coor.x2 = -(
						parseInt(lupa.style.left)+parseInt(lupa.style.borderLeftWidth).NaN0()
						- obj.xr
					)*multiplierX;
		coor.y2 = -(
						parseInt(lupa.style.top)+parseInt(lupa.style.borderTopWidth).NaN0()
						- obj.yr
					)*multiplierY;
		if(e.type == 'mousemove') {
			setTimeout(function(){
							updates(coor);
						},10);
		}else if(e.type == 'mouseout') {
			if (transition.effect == 'fade'){
/*				$("#productDetailsContainer").show();
				$("#crossSells").show();*/
				$("#lupaVflyzoom").hide();
			}else{
				lupaV.style.visibility = 'hidden';
				if (typeof s7onFlyoutEnd != 'undefined'){
					s7onFlyoutEnd(smallImage.id);
				}
			}
			setTimeout(
					function(){
						lupa.style.visibility = 'hidden';
					},10);
			lupa.style.visibility = 'hidden';
			var imgSrc = $("#flyzoom").attr("src");
			imgSrc = imgSrc.replace("&bgColor=255,255,255&op_brightness=-80","");
			$("#flyzoom").attr("src", imgSrc );
		}else if(e.type == 'mouseover') {
			if (typeof s7onFlyoutStart != 'undefined'){
				s7onFlyoutStart(smallImage.id);
			}
			if (transition.effect == 'fade'){
/*				$("#productDetailsContainer").hide();
				$("#crossSells").hide();*/
				$("#lupaVflyzoom").show();
				sjSetOpacity(lupaV,100);
			}
//			lupaV.style.visibility = 'inherit';
			var imgSrc = $("#flyzoom").attr("src");
			if(imgSrc.indexOf("op_brightness") < 1){
				$("#flyzoom").attr("src", imgSrc + "&bgColor=255,255,255&op_brightness=-80");
			}

		}
		return e;
	}

/////////////////////////////////////////////////////

	var cont = document.getElementById('cont'+obj.id);
	if (cont){
	  cont.onmousemove = null;
	  cont.onmouseout = null;
	  cont.onmouseover = null;
	  document.body.removeChild(cont);
	  cont = null;
	}
	cont = document.createElement("img");
	cont.id = 'cont'+obj.id;
	cont.style.width = parseInt(obj.clientWidth) + "px";
	cont.style.height = parseInt(obj.clientHeight) + "px";
	cont.style.left = parseInt(findPos(smallImage)[0]+parseInt(smallImage.style.borderLeftWidth).NaN0()) + "px";
	cont.style.top = parseInt(findPos(smallImage)[1]+parseInt(smallImage.style.borderTopWidth).NaN0()) + "px";

	cont.style.overflow = 'hidden';
	cont.style.position = 'absolute';
	cont.style.zIndex = 10000;
	cont.style.cursor = "pointer";
	cont.onmousemove = function(event) {
		Handlemouse(event, this);
		return false;
	};
	cont.onmouseout = function(event) {
		clearTimeout(timoutHolder);
		Handlemouse(event, this);
		return false;
	};

	cont.onmouseover = function(event) {
		eventHolder = event;
		doStuff();
		return false;
	};

	document.body.appendChild(cont);
	sjSetOpacity(cont,0);

	var lupa = document.getElementById('lupa'+obj.id);
	if (lupa){
		document.body.removeChild(lupa);
		lupa = null;
	}
	lupa = document.createElement("img");
	lupa.id = 'lupa'+obj.id;
	lupa.style.width = 100 + "px";
	lupa.style.height = 100 + "px";
	lupa.style.left = cont.style.left;
	lupa.style.top = cont.style.top;
	lupa.style.border = frameBorder;
	lupa.style.position = 'absolute';
	lupa.style.visibility = 'hidden';
	if ((typeof iconURL !='undefined') && (iconURL != "null") && (iconURL != null)&& (iconURL != "")){
		lupa.src = iconURL;
	}else{
		lupa.src = 'http://images3.pacsun.com/is/image/pacsun/spacer-t?$img_png-alpha$&$ext=.png';
	}
	document.body.appendChild(lupa);
			 sjSetOpacity(lupa,60);

	$(lupa).pngfix();



//	lupa.style.backgroundColor = "#FFFFFF";
	var lupaV = document.getElementById('lupaV'+obj.id);
	var zoomImgCV = document.getElementById("zoomImgCV"+obj.id);
	var zoomImgV = document.getElementById("zoomImgV"+obj.id);
	if (lupaV){
		if (zoomImgCV){
			zoomImgV.onload = null;
			zoomImgV.onerror = null;
			zoomImgCV.removeChild(zoomImgV);
			lupaV.removeChild(zoomImgCV);
		}
		document.body.removeChild(lupaV);
		zoomImgCV = null;
		zoomImgV = null;
		lupaV = null;
	}
	lupaV = document.createElement("div");
	lupaV.id = 'lupaV'+obj.id;
	//pac
	//lupaV.style.width = flyout.wid || obj.clientWidth;
	//lupaV.style.height = flyout.hei || obj.clientHeight;
	//lupaV.style.left = findPos(smallImage)[0] + flyout.left;
	//lupaV.style.top = findPos(smallImage)[1] + flyout.top;
	lupaV.style.width = parseInt(flyout.wid || obj.clientWidth) + "px";
	lupaV.style.height = parseInt(flyout.hei || obj.clientHeight) + "px";
	lupaV.style.left = parseInt(findPos(smallImage)[0] + flyout.left) + "px";
	lupaV.style.top = parseInt(findPos(smallImage)[1] + flyout.top) + "px";
	lupaV.style.overflow = 'hidden';
	lupaV.style.position = 'absolute';
//	lupaV.style.visibility = 'hidden';
	lupaV.style.border = flyoutBorder;

	zoomImgCV = document.createElement("div");
	zoomImgCV.id = 'zoomImgCV'+obj.id;
	zoomImgCV.style.overflow = 'hidden';
	zoomImgCV.style.position = 'absolute';

	zoomImgV = document.createElement("img");
	zoomImgV.id = 'zoomImgV'+obj.id;
	zoomImgV.style.position = 'absolute';
	//pac
	//zoomImgV.style.left = 0;
	//zoomImgV.style.top = 0;
	zoomImgV.style.left = 0 + "px";
	zoomImgV.style.top = 0 + "px";
	zoomImgV.style.display = 'inline-block';

	zoomImgCV.appendChild(zoomImgV);
	lupaV.appendChild(zoomImgCV);
	document.body.appendChild(lupaV);
	lupaV.content = zoomImgCV;

	sjSetOpacity(lupaV,0);

	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	//if ((version >= 5.5) && (version <=8) && (document.body.filters) && (bigImage.indexOf("png-alpha") != -1)){
		if ((version >= 5.5) && (version <=8) && (document.body.filters) && (transparent == "true")){
		sjSetOpacity(zoomImgCV,100);//urgent request of AlphaImageLoader??
	}
	lupaV.clipArea = 100;
	zoomImgCV.clipArea = 100;
	//pac
	//lupa.style.width = Math.round(lupaV.clientWidth / zoomFactor);
	//lupa.style.height = Math.round(lupaV.clientHeight / zoomFactor);
	lupa.style.width = Math.round(lupaV.clientWidth / zoomFactor) + "px";
	lupa.style.height = Math.round(lupaV.clientHeight / zoomFactor) + "px";

	// if lupa is larger than the image adjust zoomFactor(aka flash)
	if (parseInt(lupa.style.height) > smallImage.clientHeight || parseInt(lupa.style.width) > smallImage.clientWidth) {
		var zoomViewScale = 1;
		if (parseInt(lupaV.style.width) / parseInt(lupaV.style.height) > smallImage.clientWidth / smallImage.clientHeight) {
			// fit width
			zoomFactor *= parseInt(lupa.style.width) / smallImage.clientWidth;
			zoomViewScale = smallImage.clientWidth / parseInt(lupa.style.width);
		}
		else { // fit height
			zoomFactor *= parseInt(lupa.style.height) / smallImage.clientHeight;
			zoomViewScale = smallImage.clientHeight / parseInt(lupa.style.height);
		}
		var scaleY = zoomViewScale;
		var scaleX = zoomViewScale;
		//pac
		//lupa.style.width = Math.round(parseInt(lupa.style.width) * scaleX);
		//lupa.style.height = Math.round(parseInt(lupa.style.height) * scaleY);
		lupa.style.width = Math.round(parseInt(lupa.style.width) * scaleX) + "px";
		lupa.style.height = Math.round(parseInt(lupa.style.height) * scaleY) + "px";
	}
	//

	zoomImgV.onload = function() {
		//pac
		//zoomImgV.style.width = this.width;
		//zoomImgV.style.height = this.height;
		//zoomImgCV.style.width = this.width;
		//zoomImgCV.style.height = this.height;
		zoomImgV.style.width = parseInt(this.width) + "px";
		zoomImgV.style.height = parseInt(this.height) + "px";
		zoomImgCV.style.width = parseInt(this.width) + "px";
		zoomImgCV.style.height = parseInt(this.height) + "px";
		if (transparent == "true") {
			sjFixPNG(this);
		}
		this.loaded = true;
	};

	zoomImgV.onerror = function() {
		this.loaded = false;
	};

//	var zImageURL = bigImage + sjPBreak(bigImage) + "wid="+Math.round(zoomFactor*smallImage.clientWidth)+
//							"&hei="+Math.round(zoomFactor*smallImage.clientHeight)+"&fit=fit,1";
	
	var zImageURL = bigImage.replace("08_product_detail","08_product_flyout") + "&fit=fit,1";

	var tempDir = transition.effect.substring(4);
	switch (tempDir){
		case "lr":transition.direction = "right";
		break;
		case "rl":transition.direction = "left";
		break;
		case "tb":transition.direction = "bottom";
		break;
		case "bt":transition.direction = "top";
		break;
	}

	smallImage.transparent = transparent;
	zoomImgV.src = zImageURL;
	setInterval(function(){
					setPosition();
				}, 25);

	function isImageReady() {
		var imgOver = document.getElementById("zoomImgVflyzoom");
//		console.log(imgOver);
//		console.log(imgOver.complete);
//		console.log(imgOver.naturalWidth);
		if( !imgOver.complete || (imgOver.naturalWidth == 0)  ) {
			return false;
		}
		return true;
	}

	function doStuff() {
		if (isImageReady()) {
			Handlemouse(eventHolder, cont);
		} else {
			timoutHolder = setTimeout(doStuff, 300);
		}
	}
}

function updateZoomImage(){
	var smallImage = $("#flyzoom");
	var bigImage = $("#flyzoom").attr("src");
//	var newsrc = bigImage + sjPBreak(bigImage) + "wid="+Math.round(zoomFactor*smallImage.width())+
//							"&hei="+Math.round(zoomFactor*smallImage.height())+"&fit=fit,1";
	var newsrc = bigImage.replace("08_product_detail","08_product_flyout") + "&fit=fit,1";
	$("#zoomImgVflyzoom").attr("src",newsrc);
	}

function sjFlyout(inId,inURL){
	var smallImage = document.getElementById(inId);
	smallImage.onerror = function(){
		var cont = document.getElementById('cont'+inId);
		if (cont){
		  cont.onmousemove = null;
		  cont.onmouseout = null;
		  cont.onmouseover = null;
		}

		if (smallImage.transparent == "true"){
			if (img.filters){
				if (img.filters.length>0){
					if (img.filters["DXImageTransform.Microsoft.AlphaImageLoader"]){
						img.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").enabled = false;
					}else{
						this.style.filter += " progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=false,src='" + "" + "', sizingMethod='scale')";
					}
				}else{
					this.style.filter = " progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=false,src='" + "" + "', sizingMethod='scale')";
				}
			}
		}
	}

	//pac
	//smallImage.src =  inURL + sjPBreak(inURL) +"wid="+smallImage.clientWidth+"&hei="+smallImage.clientHeight+"&fit=fit,1";
	smallImage.src =  inURL + sjPBreak(inURL); // +"wid="+smallImage.clientWidth+"&hei="+smallImage.clientHeight+"&fit=fit,1";
	updateZoomImage();
}


