	var cart_y_offset = 0;
    
	function fn_Search(){
		var obj = document.getElementById("searchterm")
			if(obj.value == ""){alert("You must enter a keyword before a search can proceed.");return false;}
			return true;
		}
    
    function showxcart() {
	var oHttp = GetXmlHttpObject();
		try {
			oHttp.onreadystatechange = function() { displayxcartdata(oHttp); }	        
			var url = location.protocol + "//" + location.hostname + "/default" + "." + "a" + "spx?Z=C&action=bagx";
			oHttp.open("POST", url, true);
			oHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			oHttp.setRequestHeader("Content-length", url.length);
//			oHttp.setRequestHeader("Connection", "close");
			showCartLoadingBox();
			oHttp.send("");
			return false;
		}catch(e){
			return true;
		}
		return false;
    }
    
	function displayxcartdata(oHttp) {
		if (oHttp.readyState == 4) {	
			if (oHttp.status == 200) {	
				try{
					var rtn = oHttp.responseText;   			    
					var cartDiv = document.getElementById("CartSummaryPopUp");
					if (cartDiv != null) {
//			        cartDiv.style.visibility = "hidden";
					var targetDiv = document.getElementById('ajax_feedback');
					if (targetDiv != null) {
						InsertElementOnPage(targetDiv, rtn, 1);
						var cartContentDiv = document.getElementById('cartContent');
						if (cartContentDiv != null) {
							InsertElementOnPage(cartDiv, cartContentDiv.innerHTML, 1);
						}
						InsertElementOnPage(targetDiv, '&nbsp;', 1);

						switchResizing('cart');
						fnSetOpacity(cartDiv, 1);
//              cartDiv.style.visibility = "visible";	 
					}
				}
				}catch(e){}   			
			}		
		}
	}

	function hidexcartdata(){
		var cartDiv = document.getElementById("CartSummaryPopUp");
		if (cartDiv != null) {
			needsResizingBag = false;
			switchResizing('');
//			faderDirections["CartSummaryPopUp"] = -1;
//			fSmoothShow("CartSummaryPopUp", 25, 1, 0, 1, -0.1);
//        cartDiv.style.visibility = "hidden";
			cartDiv.style.display = "none";
		}
		return false;
	}
    
    var needsResizingBag = false;
    
    function handleWindowResize() {
      var wdth;
      if (document.all)
      {wdth = document.body.clientWidth;}
      else
      {wdth = window.innerWidth;}
      
      if (needsResizingBag) {
        document.getElementById("BagSummary").style.left = (wdth + 768) / 2 - 275 + 'px';
      }
    }

    function handleWindowYScroll() {
	  var y;
      // scrolling offset calculation via www.quirksmode.org
      if (self.pageYOffset){
        y = self.pageYOffset;
      }else if (document.documentElement && document.documentElement.scrollTop) { 
        y = document.documentElement.scrollTop; 
      }else if (document.body) { 
        y = document.body.scrollTop; 
      }
	  
	  if (needsResizingBag) {
	    if (y > cart_y_offset) {
          document.getElementById("BagSummary").style.top = y + 'px';}
		else {
          document.getElementById("BagSummary").style.top = cart_y_offset + 'px';}
      }

    }

    function switchResizing(obj) {
      switchFound = false;
      if (obj != null) {
        if (obj == 'cart') {
          needsResizingBag = true;
          switchFound = true;
        }
      }
      if (switchFound) {
		var popupObj = document.getElementById("CartSummary");
		offsetPair = findPos(popupObj);
		cart_y_offset = offsetPair[1] + 20;
        window.onresize = handleWindowResize;
        window.onscroll = handleWindowYScroll;
        handleWindowResize();
		handleWindowYScroll();
      }
      else {
        window.onresize = null;
        window.onscroll = null;
      }
    }
    
        
	function fHide(){
		needsResizingBag = false;
		switchResizing('');
//      document.getElementById("CartSummaryPopUp").style.visibility = "hidden";
//		if (document.getElementById("CartSummaryPopUp").style.display == '') {
//			fSmoothShow("CartSummaryPopUp", 25, 1, 0, 1, -0.1);
//		}
		document.getElementById("CartSummaryPopUp").style.display = "none";
	}

    
    function updateCartQty() {
      var cartCommentDiv = document.getElementById("qtyCartArea");
      var cartQtyDiv = document.getElementById("CX");
	  var cartShowLbl = document.getElementById("cartShowTextPlace");
      var qty = 0;
      
      if (cartQtyDiv != null)  {
        qty = cartQtyDiv.value;
      }
      if (cartCommentDiv != null) {
        cartCommentDiv.innerHTML =  qty;// + ' item(s) in shopping bag';
      }
	  
	  if (cartShowLbl != null) {
	    if (qty == 0) {
		  cartShowLbl.style.display = 'none';
		}
		else {
		  cartShowLbl.style.display = 'inline';
		}
	  }
    }
	
	function fireProductPopup(styleCode) {
		if (styleCode != '') {
			document.getElementById("styled_popup").style.display = "";
			document.getElementById("TB_overlay").style.display = "";
		  
			var oHttp = GetXmlHttpObject();
			try {
				oHttp.onreadystatechange = function() { displayxprodpopup(oHttp); }	        
				var url = location.protocol + "//" + location.hostname + "/support" + "." + "a" + "spx?iSAMS=axpop&cs=" + styleCode;
				oHttp.open("POST", url, true);
				oHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				oHttp.setRequestHeader("Content-length", url.length);
//				oHttp.setRequestHeader("Connection", "close");
				oHttp.send("");
				return false;
			}catch(e){
				return true;
			}
		}
		return false;
	}
  
      function fRenderCart(oHttp){    
	    if (oHttp.readyState == 4) {	
		    if (oHttp.status == 200) {		    
		      try{
			      var rtn = oHttp.responseText;   			    
            var cartDiv = document.getElementById("CartSummaryPopUp");
            if (cartDiv != null) {
//			        cartDiv.style.visibility = "hidden";
              var targetDiv = document.getElementById('ajax_feedback');
			  InsertElementOnPage(targetDiv, rtn, 1);
              var cartContentDiv = document.getElementById('cartContent');
              if (cartContentDiv != null) {
                InsertElementOnPage(cartDiv, cartContentDiv.innerHTML, 1);
              }
              InsertElementOnPage(targetDiv, '&nbsp;', 1);
              updateCartQty();
              switchResizing('cart');
//              cartDiv.style.visibility = "visible";	 
					faderDirections["CartSummaryPopUp"] = -1;
			        setTimeout("fHide()", 10000);
            }
			    }catch(e){}   			
		    }		
	    }
    }

	function fn_iSAMS_HotLink(_pdId, _pdTitle, _hsType, evt) {
		if(navigator.userAgent.indexOf('Safari') > 1) {
			return fn_iSAMS_HotLink_z(_pdId, _pdTitle, _hsType, '65');
		}
		var o = fPosition(evt);
		var o2 = document.getElementById("oLoader");
		o2.style.display = "";
		o2.style.top = o.y + "px";
		o2.style.left = o.x + "px";
		return fn_iSAMS_HotLink_z(_pdId, _pdTitle, _hsType, '65'); // 65 - Online books
	}

	function fn_iSAMS_HotLink_Src(_pdId, _pdTitle, _hsType, evt, _src) {
		if(navigator.userAgent.indexOf('Safari') > 1) {
			return fn_iSAMS_HotLink_z(_pdId, _pdTitle, _hsType, _src);
		}
		var o = fPosition(evt);
		var o2 = document.getElementById("oLoader");
		o2.style.display = "";
		o2.style.top = o.y + "px";
		o2.style.left = o.x + "px";
		if ((_src == null) || (_src == '')) { _src = '65'; }
		return fn_iSAMS_HotLink_z(_pdId, _pdTitle, _hsType, _src);
	}

	function fn_iSAMS_HotLink_z(_pdId, _pdTitle, _hsType, _src) {
		var pdId = parseInt(_pdId);
		var hsType = parseInt(_hsType);
		var xurl = '';

		if ((_src == null) || (_src == '')) { _src = '65'; }

		if(navigator.userAgent.indexOf('Safari') > 1) {
			document.location = location.protocol + "//" + location.hostname + "/default.a" + 'spx?P=' + pdId + "&source=" + _src;
			return true;
		}

		switch(hsType) {
			case 1: // product redirect
				break;
			case 2: // product pop-up
				if (pdId > 0) {
					xurl = location.protocol + "//" + location.hostname + "/support" + "." + "a" + "spx?iSAMS=axpop&pid=" + pdId + "&pp_src=" + _src;
				}
				break;
			case 3: // link redirect
				break;
			case 4: // link pop-op by target = _blank
				break;
			default:
				break;
			return false;
		}

		if (xurl != '') {
			document.getElementById("styled_popup").style.display = "";
			document.getElementById("TB_overlay").style.display = "";

			var oHttp = GetXmlHttpObject();
			try {
				oHttp.onreadystatechange = function() { displayxprodpopup(oHttp); }	        
				oHttp.open("POST", xurl, true);
				oHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				oHttp.setRequestHeader("Content-length", xurl.length);
//				oHttp.setRequestHeader("Connection", "close");
				oHttp.send("");
				return false;
			}catch(e){
				return true;
			}
		}
		return true;
	}

	function fn_iSAMS_HotLink_s(_style, _pdTitle, _hsType, _src) {
	    var pdId = 1;
	    var hsType = parseInt(_hsType);
	    var xurl = '';

	    if ((_src == null) || (_src == '')) { _src = '65'; }

	    if (navigator.userAgent.indexOf('Safari') > 1) {
	        document.location = location.protocol + "//" + location.hostname + "/default.a" + 'spx?P=' + pdId + '&cs=' + _style + "&source=" + _src;
	        return true;
	    }

	    switch (hsType) {
	        case 1: // product redirect
	            break;
	        case 2: // product pop-up
	            if (pdId > 0) {
	                xurl = location.protocol + "//" + location.hostname + "/support" + "." + "a" + "spx?iSAMS=axpop&pid=" + pdId + '&cs=' + _style + "&pp_src=" + _src;
	            }
	            break;
	        case 3: // link redirect
	            break;
	        case 4: // link pop-op by target = _blank
	            break;
	        default:
	            break;
	            return false;
	    }

	    if (xurl != '') {
	        document.getElementById("styled_popup").style.display = "";
	        document.getElementById("TB_overlay").style.display = "";

	        var oHttp = GetXmlHttpObject();
	        try {
	            oHttp.onreadystatechange = function() { displayxprodpopup(oHttp); }
	            oHttp.open("POST", xurl, true);
	            oHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	            oHttp.setRequestHeader("Content-length", xurl.length);
	            //				oHttp.setRequestHeader("Connection", "close");
	            oHttp.send("");
	            return false;
	        } catch (e) {
	            return true;
	        }
	    }
	    return true;
	}
	
	function displayxprodpopup(oHttp) {
		if (oHttp.readyState == 4) {	
			if (oHttp.status == 200) {	
				try{
					var rtn = oHttp.responseText;
					var o2 = document.getElementById("oLoader");
					if (o2 != null) {
						o2.style.display = "none";
					}

					var resDiv = document.getElementById("styled_popup");
					if (resDiv != null) {
						InsertElementOnPage(resDiv, rtn, 1);
					}
					try {
						document.location="#top";
					}
					catch(e) {
					}
				}catch(e){}   			
			}		
		}
	}

	function hidexprodpopup() {
		var resDiv = document.getElementById("styled_popup");
		if (resDiv != null) {
			InsertElementOnPage(resDiv, '&nbsp;', 1);
			resDiv.style.display = "none";
			document.getElementById("TB_overlay").style.display = "none";
		}
	}
	
	function performxcall(targetName, popupMode, loaderName, xurl) {
		if (xurl != '') {
			if (targetName != null) {
				var targetObj = document.getElementById(targetName);	

				if (popupMode == true) {
					document.getElementById("styled_popup").style.display = "";
					document.getElementById("TB_overlay").style.display = "";
				}

				var oHttp = GetXmlHttpObject();
				try {
					oHttp.onreadystatechange = function() { displayxpopup(oHttp, loaderName, targetName); }
					oHttp.open("POST", xurl, true);
					oHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
					oHttp.setRequestHeader("Content-length", xurl.length);
					oHttp.send("");
					return false;
				}catch(e){
					return true;
				}
			}
		}
		return true;
	}
	
	function displayxpopup(oHttp, loaderName, targetName) {
		if (oHttp.readyState == 4) {
			if (oHttp.status == 200) {
				try{
					var rtn = oHttp.responseText;
					if (loaderName != "") {
						var o2 = document.getElementById(loaderName);
						if (o2 != null) {
							o2.style.display = "none";
						}
					}
					if (targetName != "") {
						var resDiv = document.getElementById(targetName);
						if (resDiv != null) {
							InsertElementOnPage(resDiv, rtn, 1);

							if (navigator.userAgent.indexOf('Safari') != -1) {
							    var jsObj = document.getElementById('paf_scripts');
							    if (jsObj != null) { execJS(jsObj); }
							}
						}
					}
				}catch(e){}
			}
		}
	}

	function hidexpopup(targetName) {
		if (targetName != "") {
			var resDiv = document.getElementById(targetName);
			if (resDiv != null) {
				InsertElementOnPage(resDiv, '&nbsp;', 1);
				resDiv.style.display = "none";
				document.getElementById("TB_overlay").style.display = "none";
				document.getElementById("styled_popup").style.display = "none";
			}
		}
	}

	function showCartLoadingBox() {
		var cartDiv = document.getElementById("CartSummaryPopUp");
		var cartLoaingDiv = document.getElementById("cartLoadingContent");
		if ((cartDiv != null) && (cartLoaingDiv != null)) {
			InsertElementOnPage(cartDiv, cartLoaingDiv.innerHTML, 1);
			switchResizing('cart');
//			cartDiv.style.visibility = "visible";
			fnSetOpacity(cartDiv, 1);
			cartDiv.style.display = "";
		}
	}


	function fnInitZoomVariables(_photo_w, _photo_h, _photo2_w, _photo2_h, _zoom_w, _zoom_h, _border, _smallPhotoDivName, _smallPhotoShadowDivName, _bigPhotoDivName, _flyBoxDivName, _flyBoxPhotoDivName, _zoomBoxDivName, _popupDivName, _objName) {

		var SettingsObject = new Object; 

		SettingsObject.photo_w = _photo_w;
		SettingsObject.photo_h = _photo_h;
		SettingsObject.photo2_w = _photo2_w;
		SettingsObject.photo2_h = _photo2_h;
		SettingsObject.zoom_w = _zoom_w;
		SettingsObject.zoom_h = _zoom_h;
		SettingsObject.border = _border;

		SettingsObject.ratio_x = _photo2_w / _photo_w;
		SettingsObject.ratio_y = _photo2_h / _photo_h;

		SettingsObject.fly_w = _zoom_w / SettingsObject.ratio_x - 1;
		SettingsObject.fly_h = _zoom_h / SettingsObject.ratio_y - 1;
		
		SettingsObject.smallPhotoDivName = _smallPhotoDivName;
		SettingsObject.smallPhotoShadowDivName = _smallPhotoShadowDivName;
		SettingsObject.bigPhotoDivName = _bigPhotoDivName;
		SettingsObject.flyBoxDivName = _flyBoxDivName;
		SettingsObject.flyBoxPhotoDivName = _flyBoxPhotoDivName;
		SettingsObject.zoomBoxDivName = _zoomBoxDivName;
		SettingsObject.popupDivName = _popupDivName;
		SettingsObject.objName = _objName;

		SettingsObject.smallPhotoOffset = {x:0, y:0};
		SettingsObject.bigPhotoOffset = {x:0, y:0};

		SettingsObject.popupOffset = {x:0, y:0};

		if (_popupDivName != '') {
			var popupDiv = document.getElementById(_popupDivName);
			if (popupDiv != null) {
				offsetPair = findPos(document.getElementById(_popupDivName));
				SettingsObject.popupOffset.x = offsetPair[0];
				SettingsObject.popupOffset.y = offsetPair[1];
			}
		}

		return SettingsObject;
	}
	
	function fnTrackMouse(setObj, evt) {
		if (setObj == null) {return;}
		max_x = setObj.photo_w + setObj.border - setObj.fly_w - setObj.border*2;
		max_y = setObj.photo_h + setObj.border - setObj.fly_h - setObj.border*2;

		min_x = setObj.border;
		min_y = setObj.border;

		max_x2 = setObj.zoom_w/1 - setObj.photo2_w;
		max_y2 = setObj.zoom_h/1 - setObj.photo2_h;
		min_x2 = 0;
		min_y2 = 0;

		var bigPhoto = document.getElementById(setObj.bigPhotoDivName);
		var flyDiv = document.getElementById(setObj.flyBoxDivName);
		var flyPhotoDiv = document.getElementById(setObj.flyBoxPhotoDivName);
		if (flyPhotoDiv != null) {
			var o = fPosition(evt);
			
			var smallPhoto = document.getElementById(setObj.smallPhotoDivName);
			
			real_x = o.x - setObj.smallPhotoOffset.x - setObj.popupOffset.x;
			real_y = o.y - setObj.smallPhotoOffset.y - setObj.popupOffset.y;
			
			x = real_x - setObj.fly_w/2;
			y = real_y - setObj.fly_h/2;

			if (x > max_x) {x = max_x;}
			if (y > max_y) {y = max_y;}
			if (x < min_x) {x = min_x;}
			if (y < min_y) {y = min_y;}
			
			x2 = 0 - (real_x) * setObj.ratio_x + (setObj.zoom_w)/2;
			y2 = 0 - (real_y) * setObj.ratio_y + (setObj.zoom_h)/2;
			
			if (x2 > min_x2) {x2 = min_x2;}
			if (y2 > min_y2) {y2 = min_y2;}
			if (x2 < max_x2) {x2 = max_x2;}
			if (y2 < max_y2) {y2 = max_y2;}
			
			bigPhoto.style.left = x2 + 'px';
			bigPhoto.style.top = y2 + 'px';

			flyDiv.style.left = setObj.smallPhotoOffset.x - setObj.border + x + 'px';
			flyDiv.style.top = setObj.smallPhotoOffset.y - setObj.border + y + 'px';
			
			flyPhotoDiv.style.left = 0 - x + 'px';
			flyPhotoDiv.style.top = 0 - y + 'px';
		}
	}

	function fnStepOnOff(setObj, onoff) {
		if (setObj == null) {return;}
		var intObj = document.getElementById('globalBackGround');
		if (onoff == true) {
			document.getElementById(setObj.smallPhotoShadowDivName).style.display = '';
			document.getElementById(setObj.flyBoxDivName).style.display = '';
			faderDirections[setObj.zoomBoxDivName] = 1;
			fSmoothShow(setObj.zoomBoxDivName, 25, 0, 1, 0, 0.1);

			if (setObj.objName != '') {
				if (navigator.appName.indexOf("Microsoft") != -1) {
				  intObj.onmousemove = function() {return fDblCheckZoom(setObj, event);}
				}
				else { // Firefox, Opera, Safari etc.
				  intObj.setAttribute("onmousemove", "fDblCheckZoom(" + setObj.objName + ", event);");
				}
			}
		}
		else {
			document.getElementById(setObj.smallPhotoShadowDivName).style.display = 'none';
			document.getElementById(setObj.flyBoxDivName).style.display = 'none';
			faderDirections[setObj.zoomBoxDivName] = -1;
			fSmoothShow(setObj.zoomBoxDivName, 25, 1, 0, 1, -0.1);

			if (setObj.objName != '') {
				if (navigator.appName.indexOf("Microsoft") != -1) {
				  intObj.onmousemove = "";
				}
				else { // Firefox, Opera, Safari etc.
				  intObj.setAttribute("onmousemove", "");
				}
			}
		}
	}

	function fSetFlySize(setObj) {
		if (setObj == null) {return;}
		var targetDiv = document.getElementById(setObj.flyBoxDivName);
		if (targetDiv != null) {
			targetDiv.style.width = setObj.fly_w + 'px';
			targetDiv.style.height = setObj.fly_h + 'px';
		}
	}
	
	function fDblCheckZoom(setObj, evt) {
		if (setObj == null) {return;}
		var flyDiv = document.getElementById(setObj.flyBoxDivName);
		var o = fPosition(evt);
		if ((flyDiv.style.display == '') && ((o.x < (setObj.smallPhotoOffset.x + setObj.popupOffset.x)) || (o.x > ((setObj.smallPhotoOffset.x + setObj.popupOffset.x) + setObj.photo_w)) || (o.y < (setObj.smallPhotoOffset.y + setObj.popupOffset.y)) || (o.y > ((setObj.smallPhotoOffset.y + setObj.popupOffset.y) + setObj.photo_h )))) {
			fnStepOnOff(setObj, false);
		}
	}


	function fnCalculateZoomPos(setObj) {
		if (setObj == null) {return;}
		var imgplace = 	document.getElementById(setObj.smallPhotoDivName);
		var imgpos = findPos(imgplace);
		var detpos = findPos(imgplace);

		dx = parseInt(imgplace.style.width);
		detpos[0] = imgpos[0] + dx;


		var photoplace = document.getElementById(setObj.smallPhotoDivName);
		var photoplaceshadow = document.getElementById(setObj.smallPhotoShadowDivName);
		var zoombox = document.getElementById(setObj.zoomBoxDivName);

		photoplace.style.left = imgpos[0] - setObj.popupOffset.x + 'px';
		photoplace.style.top = imgpos[1] - setObj.popupOffset.y + 'px';
		photoplace.style.display = '';

		photoplaceshadow.style.left = imgpos[0] - setObj.popupOffset.x + 'px';
		photoplaceshadow.style.top = imgpos[1] - setObj.popupOffset.y + 'px';

		zoombox.style.left = detpos[0] - setObj.popupOffset.x + 'px';
		zoombox.style.top = detpos[1] - setObj.popupOffset.y + 'px';
		
		zoombox.style.width = setObj.zoom_w + 'px';
		zoombox.style.height = setObj.zoom_h + 'px';

		setObj.smallPhotoOffset.x = imgpos[0] - setObj.popupOffset.x;
		setObj.smallPhotoOffset.y = imgpos[1] - setObj.popupOffset.y;

		fSetFlySize(setObj);
	}

	function fnShowLargeColour(sender, colourImgSrc, rgbCode, colourCaption) {
		var colourDiv = document.getElementById("LgeColour");
		if (colourDiv != null) {
			var imgObj = document.getElementById("LgeImage");
			var clrBoxObj = document.getElementById("LgeColourBox");
			var captionObj = document.getElementById("LgeCaption");
			if ((imgObj != null) && (captionObj != null) && (clrBoxObj != null)) {
				clrBoxObj.style.display = 'none';
				imgObj.style.display = 'none';
				clrBoxObj.style.backgroundColor = colourDiv.style.backgroundColor;
				if (colourImgSrc != '') {
					if (imgObj.nodeName == 'IMG') {
						imgObj.src = colourImgSrc;
						imgObj.style.display = '';
					}
				}
				else if (rgbCode != '') {
					if (clrBoxObj.nodeName == 'DIV') {
						clrBoxObj.style.display = '';
						clrBoxObj.style.backgroundColor = rgbCode;
					}
				}
				if (captionObj.nodeName == 'SPAN') {
					captionObj.innerHTML = colourCaption;
				}
				var imgpos = findPos(sender);
				colourDiv.style.left = imgpos[0] - 2 + 'px';
				colourDiv.style.top = imgpos[1] - 5 - parseInt(colourDiv.style.height) + 'px';
				colourDiv.style.display = '';
			}
		}
	}
	
	function fnHideLargeColour() {
		var colourDiv = document.getElementById("LgeColour");
		if (colourDiv != null) {
			colourDiv.style.display = 'none';
		}
		else {
		}
	}

	function GetPersMinMax(sz, cl, mode) {
		if ((sz > 0) && (cl > 0)) {
			var minVal;
			var maxVal;
			if (mode == 1) {
				minVal = oItemsPersMinArr[cl + '_' + sz];
				maxVal = oItemsPersMaxArr[cl + '_' + sz];
			}
			else if (mode == 2) {
				minVal = oItemsPersMinArr_popup[cl + '_' + sz];
				maxVal = oItemsPersMaxArr_popup[cl + '_' + sz];
			}
			if (isNaN(minVal)) {
				minVal = 0;
			}
			if (isNaN(maxVal)) {
				maxVal = 0;
			}
		}
		return [minVal, maxVal];
	}

	function TrackPersonalizationLabel(sz, cl, target, mode) {
		if ((sz > 0) && (cl > 0) && (target != '')) {
			var MinMaxPair = GetPersMinMax(sz, cl, mode);
			var minVal = MinMaxPair[0];
			var maxVal = MinMaxPair[1];

			msgArea = document.getElementById(target);
			if (msgArea != null) {
				var msg = '(maximum of 12 characters)';
//				if (minVal > 0 && maxVal > 0) {
//					if (minVal != maxVal) {
//						msg = '(minimum of ' + minVal + ' and maximum of ' + maxVal + ' characters)';
//					}
//					else {
//						msg = '(' + maxVal + ' characters)';
//					}
//				}
//				else if (minVal == 0 && maxVal > 0) {
//					msg = '(maximum of ' + maxVal + ' characters)';
//				}
				if (maxVal > 0) {
					msg = '(maximum of ' + maxVal + ' characters)';
				}
				msgArea.innerHTML = msg;
			}
		}
		return;
	}

	function TrackItemPriceLabel(sz, cl, target, mode) {
		if ((sz > 0) && (cl > 0) && (target != '')) {

			msgArea = document.getElementById(target);
			if (msgArea != null) {
				var msg = "";
				if (mode == 1) {
					msg = oItemsPriceWasNow[cl + '_' + sz];
				}
				else if (mode == 2) {
					msg = oItemsPriceWasNow_popup[cl + '_' + sz];
				}
				if (msg == null) {msg = '';}

				msgArea.innerHTML = msg;
			}
		}
		return;
	}

	function ValidatePersonalizationSize(sz, cl, mode, msg_in) {
		var MinMaxPair = GetPersMinMax(sz, cl, mode);
		var minVal = MinMaxPair[0];
		var maxVal = MinMaxPair[1];
		var msg_len = msg_in.length;
		var res_str = '';
//		if (msg_len < minVal) {
//			res_str = 'personalisation text is too short'
//		}
//		else {
			if (msg_len > maxVal) {
				res_str = 'personalisation text is too long'
			}
//		}
		return res_str;
	}

	function closeColourSizePopup_popup() {
		document.getElementById("Matrix_popup").style.display = "none";
	}

	function fireColourSizePopup_popup() {
		var _obj = document.getElementById("Matrix_popup");
		_obj.style.marginLeft = "-400px";
		_obj.style.display = "";
		_obj.style.marginLeft = 0 - parseInt(_obj.clientWidth) / 2 + "px";
	}
