cms.RootPath = '';
/* WebFilter 0x101000640000008C */
window.plat = window.plat || {};
plat.dashboard = plat.dashboard || function () { };
/* WebFilter 0x10100064000000B2 */
local.populateSuggestion = function(sel) {
	var s = $(sel);
	s.closest('td').find('textarea').val(s.val());
	s.val('');
};
local.autoPopulateSuggestions = function() {
	$('.auto-populate').each(function(){
		var ta = $(this).closest('td').find('textarea');
		if (ta.val() == '') {
			var $options = $(this).find('option'),
			    random = ~~(Math.random() * ($options.length - 1));
			
			ta.val($options.eq(random+1).text());
		}
	});
};
/* WebFilter 0x10100064000000DD */
local.changeTargetImage = function(selector, smallVerId,largeVerId) {
	cms.Popup.ImgChangeDynamic(selector, smallVerId,largeVerId);
	return false;
};

local.enableImageZoom = function(tgt) {
	var zoomData = tgt.data('imgZoom');
	
	if (zoomData == null) {
		zoomData = { };
		tgt.data('imgZoom',zoomData);
		tgt.addClass('item-img-zoom-init');
		var nh = tgt.height();
		var nw = tgt.width();
		var ar = nh / nw;
		tgt.mouseover(local.imgZoomMouseOver);		
		tgt.mousemove(local.imgZoomMouseMove);
		//Set event handler as 'mouseleave' if original image is less than 450px high
		if(ar < 0.4){
			tgt.mouseleave(local.imgZoomMouseOut);
		} else {
			tgt.mouseout(local.imgZoomMouseOut);
		}
		tgt.find('img').load(local.imgZoomLoadImg);
		local.imgZoomSetSizes(tgt);
	}
};

local.imgZoomSetSizes = function(tgt) {
	var zoomData = tgt.data('imgZoom');

	var lge = tgt.find('.item-img-zoom');
	
	
	var w = tgt.width();	
	var h = tgt.height();	
	var bw = lge.width();
	var bh = lge.height();
	var xMax = (bw - w);
	var yMax = (bh - h);

	zoomData.pad = 20;
	zoomData.w = w;
	zoomData.h = h;
	zoomData.ar = h / w;
	zoomData.bw = bw;
	zoomData.bh = bh;
	zoomData.xMax = xMax;
	// Set the height of the element to be equal to the height of the large image if less than 450px
	// so that the mouse move pad is correctly setup for the new, larger height.
	if(zoomData.ar < 0.4){		
		zoomData.o = h;
		h = bh;
		zoomData.h = bh;
		zoomData.yMax = bh;
	} else {
		zoomData.yMax = yMax;
	}
	zoomData.pos = tgt.offset();
	
	zoomData.xt = bw - w;
	zoomData.yt = bh - h;

	zoomData.xRatio = (w - zoomData.pad * 2) / zoomData.xt;
	zoomData.yRatio = (h - zoomData.pad * 2) / zoomData.yt;
	
};

local.imgZoomLoadImg = function(e) {
	var tgt = $(this).closest('.item-img-zoom-init');
	if (tgt.length > 0) {
		local.imgZoomSetSizes(tgt);
	}
};

local.imgZoomMouseOver = function(e) {
	if($(e.relatedTarget).is('img') == false) {
		var tgt = $(this);
		tgt.closest('.carousel-product').find('.carousel-indicators').hide();
		var lge = tgt.find('.item-img-zoom');
		var bh = lge.height();
		var zoomData = tgt.data('imgZoom');
		//Make the image box the size of the large image if less than 450px.
		if(zoomData.ar < 0.4){
			$(this,'#target_img').animate({
				height: bh
			});			
		}
		$(this).find('.item-img-zoom').fadeIn();
	}
};
local.imgZoomMouseMove = function(e) {
	var tgt = $(this);
	var lge = tgt.find('.item-img-zoom');
	var zoomData = tgt.data('imgZoom');
	zoomData.pos = tgt.offset();

	var x = e.pageX - zoomData.pos.left;
	var y = e.pageY - zoomData.pos.top;
	if (x > zoomData.w - zoomData.pad) { x = zoomData.w - zoomData.pad; }
	x = Math.max(0,(x - zoomData.pad));
	if (y > zoomData.h - zoomData.pad) { y = zoomData.h - zoomData.pad; }
	y = Math.max(0,(y - zoomData.pad));
	
	x = -(x / zoomData.xRatio);
	y = -(y / zoomData.yRatio);
	if (x > 0) { x = 0; }
	if (y > 0) { y = 0; }
	if (x < -zoomData.xMax) { x = -zoomData.xMax; }
	if (y < -zoomData.yMax) { y = -zoomData.yMax; }

	lge.css('top',y + 'px');
	lge.css('left',x + 'px');
};
local.imgZoomMouseOut = function(e) {
	if($(e.relatedTarget).is('img') == false) {
		
		$(this).find('.item-img-zoom').fadeOut();
		$(this).closest('.carousel-product').find('.carousel-indicators').show();
		var tgt = $(this);
		// Put image box back to original size and remove height styling.
		var zoomData = tgt.data('imgZoom');
		if(zoomData.ar < 0.4){
			$(this,'#target_img').css('height', '');			
		}
	}
	
	
};
