<!--
// ----------------------------------------------------
// Preview Scripts
// Copyright Original T Limited
// ----------------------------------------------------

	var flash;
	var count = 0;
	var displayState = "front";
	var flashInitialised = false;
	var basketElementData = "";

	var fontStyle = new Array(5);
	for (i=0; i <5; i++) { fontStyle[i]=new Array(6) }

	var fontSize = new Array(5);
	for (i=0; i <5; i++) { fontSize[i]=new Array(6) }
	
	var fontText = new Array(5);
	for (i=0; i <5; i++) { fontText[i]=new Array(6) }

	var fontColour = new Array(5);
	for (i=0; i <5; i++) { fontColour[i]=new Array(6) }

	var fontBold = new Array(5);
	for (i=0; i <5; i++) { fontBold[i]=new Array(6) }

	var fontItalic = new Array(5);
	for (i=0; i <5; i++) { fontItalic[i]=new Array(6) }

	var currentTextFocus = new Array(5);
	for (i=0; i <5; i++) { currentTextFocus[i]="1" } // make sure all initial fields are selected by default
	
	var currentLogoID = new Array(4);
	
	var fontxPos = new Array(5);
	var fontyPos = new Array(5);
	var logoxPos = new Array(5);
	var logoyPos = new Array(5);

	var itemPrice = 0
	var elementID = ""
	
	var currentCustomDisplay = ""

	var previewStorage = new Array();
	var currentStyle = 0;
	var currentColour = 0;
	
	var totalTextLines = 3
	var totalSides = 2

	var garmentSizeID = "";
	
	var fontGap = new Array(8)
	var fontStart = new Array(8)
	
	var currentLogoSWFName = ""
	
	var a = 0
	a++; fontGap[a] = 10; fontStart[a] = 40
	a++; fontGap[a] = 15; fontStart[a] = 45
	a++; fontGap[a] = 20; fontStart[a] = 55
//	a++; fontGap[a] = 25; fontStart[a] = 50
//	a++; fontGap[a] = 30; fontStart[a] = 40
//	a++; fontGap[a] = 35; fontStart[a] = 45
//	a++; fontGap[a] = 40; fontStart[a] = 50
//	a++; fontGap[a] = 45; fontStart[a] = 55


	function getPreviewData(styleRef) {
		AJAXRequest("get", "http://www.originalt.eu/shop/ajax/previewdata.asp?id="+styleRef+"&rnd="+Math.random(), "", processPreviewData)
	}
	function processPreviewData(myAJAX) {
		if (myAJAX.readyState == 4) {
			if (myAJAX.status == 200) {
				var response = myAJAX.responseText;
				previewStorage[currentStyle] = response
				//alert(response)

				updateStyle();
			// this check loads basket data if preview data had now been previously loaded.
			if (initialBasketLoad == true) {
				initialBasketLoad = false;
				populateBasketElement();
			}
			return

			} else {
				alert("There was a problem retrieving the XML data:\n" + myAJAX.statusText);
			}
		}
		
	}

	var initialBasketLoad = false;
	function processBasketRetrieval(myAJAX) {
		var tmpStyle = 0; var tmpPartnerItemID = 0
		if (myAJAX.readyState == 4) {
			if (myAJAX.status == 200) {
				var response = myAJAX.responseText;
				tmpPartnerItemID = findElementPairGeneric(response,"partItemID");
				//alert(response)
				//alert(tmpPartnerItemID)
				for (i=0;i<50;i++) {
					//alert(partnerItemID[i])
					if(partnerItemID[i]==tmpPartnerItemID) {
						tmpStyle = i
						//alert("found")
					}
				}
				currentStyle = tmpStyle
				//alert(currentStyle)
				basketElementData = response
				
				// check to make sure current style information is loaded
				if (typeof previewStorage[currentStyle] == "undefined") { // style not previously loaded... process
				//alert(typeof previewStorage[currentStyle])
				//alert(partnerItemID[tmpPartnerItemID])

					initialBasketLoad = true;
					//alert(initialBasketLoad)
					getPreviewData(partnerItemID[currentStyle])
					//alert(currentStyle)
					//alert(partnerItemID[currentStyle])
					changeStyle(currentStyle)
					//updateStyle();
					//populateBasketElement()
				} else {
					populateBasketElement()	// populate page from basket element
				}

			} else {
				alert("There was a problem retrieving the XML data:\n" + myAJAX.statusText);
			}
		}
		
	}


	
	function findElementPairGeneric(str, elementName) {
		searchArray = str.split("+");
		for (i=0;i<searchArray.length;i++) {
			if (searchArray[i].indexOf(elementName) != -1) {
				return searchArray[i].substring(searchArray[i].indexOf("=")+1,searchArray[i].length)
			}
		}
	}	
	function findElementPair(elementName) {
		//alert(previewStorage[currentStyle])
		if(typeof previewStorage[currentStyle] != "undefined") {
			searchArray = previewStorage[currentStyle].split("+");
			//alert(searchArray[1])
			for (i=0;i<searchArray.length;i++) {
				if (searchArray[i].indexOf(elementName) != -1) {
					return searchArray[i].substring(searchArray[i].indexOf("=")+1,searchArray[i].length)
				}
			}
		}
	}	
	function findElementPairPosition(elementName, pos) {
		searchArray = previewStorage[currentStyle].split("+");
		for (i=pos;i<searchArray.length;i++) {
			if (searchArray[i].indexOf(elementName) != -1) {
				return searchArray[i].substring(searchArray[i].indexOf("=")+1,searchArray[i].length)
			}
		}
	}	
			
	function findElementPairColour(colourID,itemName) {
		// return spacific colour details
		searchArray = previewStorage[currentStyle].split("+");
		for (i=0;i<searchArray.length;i++) {
			if (searchArray[i].indexOf("colourID="+colourID) != -1) {
				for (ii=i;ii<searchArray.length;ii++) {
					if (searchArray[ii].indexOf(itemName) != -1) {
						return searchArray[ii].substring(searchArray[ii].indexOf("=")+1,searchArray[ii].length)
					}
				}
			}
		}
	}		
	function findElementPairSize(sizeID,itemName) {
		// return spacific size details
		searchArray = previewStorage[currentStyle].split("+");
		for (i=0;i<searchArray.length;i++) {
			if (searchArray[i].indexOf("sizeID="+sizeID) != -1) {
				for (ii=i;ii<searchArray.length;ii++) {
					if (searchArray[ii].indexOf(itemName) != -1) {
						return searchArray[ii].substring(searchArray[ii].indexOf("=")+1,searchArray[ii].length)
					}
				}
			}
		}
	}		

	function prepFlash() {

		//alert("hello")
		flash.createElements("front",10,120);
		flash.createElements("back",5,120);
	}

	function changeStyle(styleRef) {
		if (styleRef == currentStyle) { return }
		currentStyle = styleRef
		// if AJAX request already made, then used storaged data
		
		if (typeof previewStorage[currentStyle] == "undefined") {
			getPreviewData(partnerItemID[currentStyle])
			//updateStyle();
			return
		}
		if (previewStorage[currentStyle] == "") {
			getPreviewData(partnerItemID[currentStyle])
		} else {
			updateStyle();
		}

	}

	function populateColours() {
		//"<a href='javascript:colourChange(\"white2\");\'><img src=''/images/colours_new/white.gif' width='15' height='15' border='0'></a> "
		var popString = ""
		// return spacific colour details
		searchArray = previewStorage[currentStyle].split("+");
		for (i=0;i<searchArray.length;i++) {
			if (searchArray[i].indexOf("colourID") != -1) {
				//colourName = findElementPairPosition("colourName", i)
				colourID = searchArray[i].substring(searchArray[i].indexOf("=")+1,searchArray[i].length)
				popString += "<a href='javascript:colourChange(\"" + colourID +"\");\'><img src='image.asp?id=" + colourID + "' width='15' height='15' border='0' alt='" + colourID + "'></a> "
			}
		}
		document.getElementById("previewColours").innerHTML = "<div class='rIndent'>" + popString + "<div>"
	}	



	function generateSizeTable() {

		var con = ""; var aa = 0;
		// dynammic elements
		//alert(currentStyle)
		searchArray = previewStorage[currentStyle].split("+");
		//alert(currentStyle)
		for (i=0;i<searchArray.length;i++) {
			if (searchArray[i].indexOf("sizeID") != -1) {
				aa++;
				sizeID = searchArray[i].substring(searchArray[i].indexOf("=")+1,searchArray[i].length)
				con = con + '<li><A href="javascript:garmentSizeSelect(\'' + sizeID + '\',\'garmentDrop\');" ><img src="/images/garment_size/' + sizeID + '.gif" border="0"/></A></li>'
			}
		}

		con = '<ul class=section_nav id=submenuon6>' + con
		con = con + '</ul>'
		document.getElementById("sizeContent").innerHTML = con

/*
		var topBit = ""; var botBit = ""; divider = ""; topRow = ""; botRow = ""; aa = 0;

		// size table - static elements	
		topBit += '<table border="0" cellspacing="0" cellpadding="0" width="10px;"><form id="sizeForm" name="sizeForm" method="post" action=""><tr>'
		divider += '</tr><tr>';
		botBit += '</tr></form></table>'

		// dynammic elements
		searchArray = previewStorage[currentStyle].split("+");
		for (i=0;i<searchArray.length;i++) {
			if (searchArray[i].indexOf("sizeID") != -1) {
				aa++;
				sizeID = searchArray[i].substring(searchArray[i].indexOf("=")+1,searchArray[i].length)
				topRow += '<td colspan="4" style="padding-bottom:3px;" valign="bottom" class="small"><strong>' + findElementPairSize(sizeID,"longName") + '</strong></td>'
				botRow += '<td><input name="quantity' + aa + '" type="text" class="fieldOff" id="quantity' + aa + '" style="width:20px;font-weight:bold;text-align:center;" value="0" maxlength="2" onkeyup="changeQuantity(\'' + ii + '\',\'keyed\');" /></td><td>&nbsp;</td>'
				botRow += '<td><a href="javascript:changeQuantity(\'' + aa + '\',\'up\');"><img src="/images/buttons/num_up.gif" alt="Increase" width="20" height="12" border="0" /></a><br />'
				botRow += '<a href="javascript:changeQuantity(\'' + aa + '\',\'down\');"><img src="/images/buttons/num_down.gif" alt="Decrease" width="20" height="9" border="0" /></a></td>'
				botRow += '<td style="padding-right:5px">&nbsp;</td>'
				itemQuantity[aa] = 0;
			}
		}
		return topBit + topRow + divider + botRow + botBit
*/	
	}
	
	function insertSizeTable() {
		// insert size table based on current
		for (i=0;i<itemQuantity.length;i++) {
			// reset all quantities
			itemQuantity[i] = 0;
		}
		generateSizeTable();
		//document.getElementById("sizeTable").innerHTML = generateSizeTable();
		//alert(generateSizeTable());
	}
	
	function adjustFinancials() {
	
	
	}

// ------------------------ KEY FUNCTIONS -------------------

	function populateBasketElement() {
	
		insertPreviewPanelElements();
	
		insertSizeTable();
		
		populateColours();
		
		itemColour = findElementPairGeneric(basketElementData,"colourID")

		currentColour = itemColour
		
		loadPreviewItems(itemColour)
		
		initialiseDefaultDropDowns();
		
		clearText();
	
		for (side=1;side<5;side++) {
			
			for (lineNumber=1;lineNumber<6;lineNumber++) {
				
				lineContent = findElementPairGeneric(basketElementData,"content"+side+lineNumber)
				if ((lineContent != "") && (lineContent != "undefined")) {
					
					//document.forms["form"+getdisplayState(side)]["text"+lineNumber].value=lineContent
					document.forms["form"+getDisplayStateName(side)]["text"+lineNumber].value=lineContent
					fontText[side][lineNumber] = lineContent
					
					fontStyle[side][lineNumber] = findElementPairGeneric(basketElementData,"fontStyle"+side+lineNumber)
					fontSize[side][lineNumber] = findElementPairGeneric(basketElementData,"fontSize"+side+lineNumber)
					fontColour[side][lineNumber] = findElementPairGeneric(basketElementData,"fontColour"+side+lineNumber)
					fontBold[side][lineNumber] = findElementPairGeneric(basketElementData,"fontBold"+side+lineNumber)
					fontItalic[side][lineNumber] = findElementPairGeneric(basketElementData,"fontItalic"+side+lineNumber)
					flash.changeText(getDisplayStateName(side),lineNumber,fontText[side][lineNumber]);
					flash.changeTextFormat(getDisplayStateName(side),lineNumber,fontStyle[side][lineNumber],fontSize[side][lineNumber],fontBold[side][lineNumber],fontItalic[side][lineNumber],fontColour[side][lineNumber],"center");
					positionText();
					
				}
					
	
			}
		
		}

		rePrice();
		popupclose();		
		
	}

	function popupateFormFields(side,lineNumber,content) {
		
	}

	function updateStyle(basketUpdate) {
		// function called when style selector chosen
		insertPreviewPanelElements();
		insertSizeTable();
		populateColours();
		defaultColour = findElementPair("defaultColour",previewStorage[currentStyle])
		currentColour = defaultColour
		loadPreviewItems(defaultColour)
				
		loadLogos();
		showCustom(currentCustomDisplay)
		
		// create flash text element
		if (!flashInitialised) {
			//flash.changeLogo("front","/partners/standard/logo.swf",125,40);
			count++
			flash.moveText("front",1,0,70);flash.changeTextFormat("front",1,"eurostile",12,true,false,0x000000,"center");
			flash.moveText("front",2,0,100);flash.changeTextFormat("front",2,"eurostile",12,true,false,0x000000,"center");
			flash.moveText("front",3,0,130);flash.changeTextFormat("front",3,"eurostile",12,true,false,0x000000,"center");
			flash.moveText("back",1,0,45);flash.changeTextFormat("back",1,"eurostile",12,true,false,0x000000,"center");
			flash.moveText("back",2,0,75);flash.changeTextFormat("back",2,"eurostile",12,true,false,0x000000,"center");
			flash.moveText("back",3,0,105);flash.changeTextFormat("back",3,"eurostile",12,true,false,0x000000,"center");
			flashInitialised=true;
		}
		positionText();
		rePrice();
		checkCustomisation();
	}

	// return font position array reference
	function textRef(fS) {
		for (a=0;a<9;a++) {
			if(fS==dPointsS[a]) { return a }	
		}
	}
	
	function positionText() {
		
		//for (t=1;t<4;t++) {
			
			
			flash.moveText("front",1,67,fontStart[textRef(fontSize[1][1])]);
			flash.moveText("front",2,67,fontStart[textRef(fontSize[1][1])]+fontGap[textRef(fontSize[1][1])]);
			flash.moveText("front",3,67,fontStart[textRef(fontSize[1][1])]+fontGap[textRef(fontSize[1][1])]+fontGap[textRef(fontSize[1][2])])
			flash.moveText("back",1,67,fontStart[textRef(fontSize[2][1])]);
			flash.moveText("back",2,67,fontStart[textRef(fontSize[2][1])]+fontGap[textRef(fontSize[2][1])]);
			flash.moveText("back",3,67,fontStart[textRef(fontSize[2][1])]+fontGap[textRef(fontSize[2][1])]+fontGap[textRef(fontSize[2][2])])

			//alert(fontSize[2][1])
		//}
		
	}

	// these variables are used so non customisation messages aren't accidentally erased.
	var logoAvailable = new Array();
	for (a=1;a<5;a++) { logoAvailable[a] = false };

	function loadLogos() {

		var loaded = new Array(4)
		loaded[1]=false
		loaded[2]=false
		loaded[3]=false
		loaded[4]=false
		var i = 0
		var logoID = ""
		var frontContent = "<br />"
		var backContent = "<br />"
		// remove current logos
		flash.changeLogo('front',"",0,0)
		flash.changeLogo('back',"",0,0)
		for (i=1;i<30;i++) {
			logoID = findElementPair("logoID"+i)
			if(logoID!="") {
				if (findElementPair("side"+i) == "1") {
					frontContent = frontContent + "<a style=\"visBorder\" href=\"javascript:changeLogo('" + logoID + "','1','"+i+"')\"><img src=\"/partners/logos/" + findElementPair("gifFileName"+i) + "\" border=\"0\" style=\"visBorder\"></a><br><br>"
					if (loaded[1] == false) { // load initial logo without manual selection
						loaded[1] = true
						changeLogo(logoID,'1',i)
					}
				}
				if (findElementPair("side"+i) == "2") {
					backContent = backContent + "<a href=\"javascript:changeLogo('" + logoID + "','2','"+i+"')\"><img src=\"/partners/logos/" + findElementPair("gifFileName"+i) + "\" border=\"0\" style=\"visBorder\"></a><br><br>"
					if (loaded[2] == false) { // load initial logo without manual selection
						loaded[2] = true
						changeLogo(logoID,'2',i)
					}
				}
			}
		}
		
		if (frontContent != "") { frontContent = "<div style=\"overflow:auto; height: 190px;background-color:#F1F1F1\"" + frontContent + "</div><div><br /><a href=\"javascript:showPopupZoom(currentLogoSWFName)\">Zoom Currently Selected Logo</a></div>"; }// logoAvailable[1] = true }
		if (backContent != "") { backContent = "<div style=\"overflow:auto; height: 190px;background-color:#F1F1F1 \"" + backContent + "</div><div><br /><a href=\"javascript:showPopupZoom(currentLogoSWFName)\">Zoom Currently Selected Logo</a></div>";}// logoAvailable[2] = true }
		document.getElementById("frontlogocontent").innerHTML = frontContent
		document.getElementById("backlogocontent").innerHTML = backContent 

	}
	
	function changeLogo (logoID, side, pos) {
		// pos is position in data string
		logoxPos[side] = findElementPair("xPos" + pos)
		logoyPos[side] = findElementPair("yPos" + pos)
		currentLogoID[side] = logoID
		flash.changeLogo(getDisplayStateName(parseInt(side)),"/partners/logos/"+findElementPair("swfFileName"+pos),logoxPos[side],logoyPos[side]);
		currentLogoSWFName = findElementPair("swfFileName"+pos)
	}

	function logoOff (side, pos) {
		// pos is position in data string
		logoxPos[side] = findElementPair("xPos" + pos)
		logoyPos[side] = findElementPair("yPos" + pos)
		currentLogoID[side] = 0
		flash.changeLogo(getDisplayStateName(parseInt(side)),"",0,0);
		currentLogoSWFName = ""
	}

	function determineCustomSides() {
		
		
	}
// ------------------------------------------------------------
	function insertPreviewPanelElements(){
		
		document.getElementById("previewDescription").innerHTML = "<a href=\"javascript:popupBox()\" onclick=\"showPopup('preview')\" onmouseout=\"window.status='';return true\" onmouseover=\"window.status='Info';return true\"><p><strong>" + findElementPair("brand") + "</strong></a><br />" + findElementPair("material") + "</p>"
		document.getElementById("previewSelectorFront").innerHTML = "<img src='../images/items/" + findElementPair("selectorFront") + "' width='40' height='44' border='0'>"
		document.getElementById("previewSelectorBack").innerHTML = "<img src='../images/items/" + findElementPair("selectorBack") + "' width='40' height='44' border='0'>"
		document.getElementById("previewPreview").innerHTML = "<img src='../images/items_photos/" + findElementPair("realLifeVisualIcon") + "' width='40' height='44' hspace='5' border='0'>"
	}

	function loadPreviewItems(col) {
		flash.changeImage("front","/images/items/" + findElementPairColour(col, "interactiveFront"));
		flash.changeImage("back","/images/items/" + findElementPairColour(col, "interactiveBack"));
	}

	function colourChange(col) {
		flash.changeImage("front","/images/items/" + findElementPairColour(col, "interactiveFront"));
		flash.changeImage("back","/images/items/" + findElementPairColour(col, "interactiveBack"));
		currentColour = col
	}
	function swapSides(side) {
		if (side == displayState) { return }
		flash.swapSide(side);
		displayState = side;
		var fldName = ""
		// intelligently choose side that can be customised
		if (currentCustomDisplay=="graphic") { fldName = "Logo" }
		fldName = "custom" + getDisplayRef(displayState) + fldName
		if (findElementPair(fldName) == "0") {
			if (currentCustomDisplay == "graphic") {
				currentCustomDisplay = "text"
			} else {
				currentCustomDisplay = "graphic"
			}
		}
		// turn off all custom panels
		closeAllCustomPanels("graphic")
		closeAllCustomPanels("text")

		if (side=="front") {
			showCustom(currentCustomDisplay)
			//showCustom('front')
			//overlayCustomiseLayer(document.getElementById("customNavigation"), 'custom' + currentCustomDisplay + 'front', 10)
		} else {
			showCustom(currentCustomDisplay)
			//overlayCustomiseLayer(document.getElementById("customNavigation"), 'custom' + currentCustomDisplay + 'back', 10)
		}
	}


	// this function tests to see if a side can be customised... if it can't and there was previous edits, then remove the text
	function checkCustomisation() {
		var fldName = "custom" + getDisplayRef(displayState)
		if (findElementPair(fldName) == "0") {
			clearText();
		}


		//if ((findElementPair(fldName) == "1") && (findElementPair(fldName + "Logo") == "1")) {
		//	if (checkAllFields() == true) { turnOnLogo() } else { turnOffLogo() };
		//}

	}

	// close all custom panels
	function closeAllCustomPanels(side) {
		overlayclose("custom" + side + "back")
		overlayclose("custom" + side + "back" + "none")
		overlayclose("custom" + side + "front")
		overlayclose("custom" + side + "front" + "none")
	}
	
	function showCustom(panel) {
	
		var fldName = ""
		if (panel=="graphic") { fldName = "Logo" }
		fldName = "custom" + getDisplayRef(displayState) + fldName
		//if (panel == currentCustomDisplay) { return }
		overlayclose("custom" + currentCustomDisplay + displayState)
		overlayclose("custom" + currentCustomDisplay + displayState + "none")
		//alert(findElementPair(fldName))
		if (findElementPair(fldName) == "1") {
			overlayCustomiseLayer(document.getElementById("customNavigation"), 'custom' + panel + displayState, 10)
			currentCustomDisplay = panel
		} else {
			// show non-customisation message
			overlayCustomiseLayer(document.getElementById("customNavigation"), 'custom' + panel + displayState + "none", 10)
			currentCustomDisplay = panel
			
		}
	}



	function initialiseDefaultDropDowns() {
	
		for (i=1; i <5; i++) { for (ii=1;ii<6;ii++) { fontStyle[i][ii]="eurostile" } }
		for (i=1; i <5; i++) { for (ii=1;ii<6;ii++) { fontSize[i][ii]="12" } }
		for (i=1; i <5; i++) { for (ii=1;ii<6;ii++) { fontColour[i][ii]="0x000000" } }
		for (i=1; i <5; i++) { for (ii=1;ii<6;ii++) { fontBold[i][ii]=true } }
		for (i=1; i <5; i++) { for (ii=1;ii<6;ii++) { fontItalic[i][ii]=false } }
		
		

	}	
	function textFocus(line,obj) {
	//alert(currentTextFocus[getDisplayRef(displayState)])
		if (typeof currentTextFocus[getDisplayRef(displayState)] != "undefined") {
			if (currentTextFocus[getDisplayRef(displayState)] != line) {
				document.forms["form"+displayState]["text" + currentTextFocus[getDisplayRef(displayState)]].className="fieldOff"
			}
		}
		obj.className="fieldOn"
		currentTextFocus[getDisplayRef(displayState)] = line
		document["drop" + getDisplayRef(displayState) + "Selection"].src = "/images/fonts/font_" + fontStyle[getDisplayRef(displayState)][line] + ".gif"
		for(i=0;i<dPointsS.length;i++) { if (dPointsS[i]==fontSize[getDisplayRef(displayState)][line]) { size = dAS[i] }}
		document["size" + getDisplayRef(displayState) + "Selection"].src = "/images/sizes/size_" + size + ".gif"
		for(i=0;i<colRef.length;i++) { if (colRef[i]==fontColour[getDisplayRef(displayState)][line]) { colour = colName[i] }}
		document["font" + getDisplayRef(displayState) + "Selection"].src = "/images/font_swatches/" + colour + ".gif"
		
	}
	function textBlur(line,obj) {
		currentTextFocus[getDisplayRef(displayState)] = line
	}


	function fontSelect (fontFamily,dropBox) {
		var line = currentTextFocus[getDisplayRef(displayState)]
		var fileName = "/images/fonts/font_" + fontFamily + ".gif"
		fileName = fileName.replace(" ","")
		document[dropBox + "Selection"].src = fileName.replace(" ","")
		overlayclose(currentDrop)
		if (fontFamily == "times") { tmpFontFamily = "Times New Roman" } else { tmpFontFamily = fontFamily }
		flash.changeTextFormat(displayState,line,tmpFontFamily,fontSize[getDisplayRef(displayState)][line],fontBold[getDisplayRef(displayState)][line],fontItalic[getDisplayRef(displayState)][line],fontColour[getDisplayRef(displayState)][line],"center");
		fontStyle[getDisplayRef(displayState)][line] = fontFamily
	}

	function garmentSizeSelect (size,dropBox) {
		var line = currentTextFocus[getDisplayRef(displayState)]
		document[dropBox + "Selection"].src = "/images/garment_size/" + size + ".gif"
		overlayclose(currentDrop)
		garmentSizeID = size
	}

	function sizeSelect (sizeFamily,dropBox) {
		var line = currentTextFocus[getDisplayRef(displayState)]
		var size = 12
		document[dropBox + "Selection"].src = "/images/sizes/size_" + sizeFamily + ".gif"
		overlayclose(currentDrop)
		size = dPointsS[parseInt(sizeFamily)-1]
		//if (sizeFamily=="small") { size = 12;  }
		//if (sizeFamily=="medium") { size =  20 }
		//if (sizeFamily=="large") { size = 32 }
		flash.changeTextFormat(displayState,line,fontStyle[getDisplayRef(displayState)][line],size,fontBold[getDisplayRef(displayState)][line],fontItalic[getDisplayRef(displayState)][line],fontColour[getDisplayRef(displayState)][line],"center");
		fontSize[getDisplayRef(displayState)][line] = size
		changeFieldLength (line);
		positionText();
	}
	
	function changeFieldLength (line) {
		
		var fldLength = 20
		switch (fontSize[getDisplayRef(displayState)][line]) {
			case 6:
				fldLength = 20;
				break;
			case 10:
				fldLength = 18;
				break;
			case 12:
				fldLength = 16;
				break;
			case 16:
				fldLength = 13;
				break;
			case 24:
				fldLength = 9;
				break;
			case 60:
				fldLength = 2;
				break;
			default:
			break;
		}
		document.forms["form"+displayState]["text"+line].value=document.forms["form"+displayState]["text"+line].value.substring(0,fldLength)
		document.forms["form"+displayState]["text"+line].maxLength=fldLength;
		changeText(line, document.forms["form"+displayState]["text"+line].value);
	}
	
	var colName = new Array(); var colRef = new Array();
	i = 0
	colRef[i] = "0x"+"000000"; colName[i] = "black"; i++
	colRef[i] = "0x"+"FFFFFF"; colName[i] = "white"; i++
	colRef[i] = "0x"+"3A5727"; colName[i] = "forestgreen"; i++
	colRef[i] = "0x"+"100551"; colName[i] = "navyblue"; i++
	colRef[i] = "0x"+"3F4C9B"; colName[i] = "pacificblue"; i++
	colRef[i] = "0x"+"204E9B"; colName[i] = "royalblue"; i++
	colRef[i] = "0x"+"1C69A6"; colName[i] = "vividblue"; i++
	colRef[i] = "0x"+"2291BD"; colName[i] = "ltblue"; i++
	colRef[i] = "0x"+"3F3A8B"; colName[i] = "purple"; i++
	colRef[i] = "0x"+"DB2635"; colName[i] = "red"; i++
	colRef[i] = "0x"+"F39EC2"; colName[i] = "pink"; i++
	colRef[i] = "0x"+"EF5CA4"; colName[i] = "fluopink"; i++
	colRef[i] = "0x"+"F0F2C4"; colName[i] = "beige"; i++
	colRef[i] = "0x"+"BDC8C9"; colName[i] = "grey"; i++
	colRef[i] = "0x"+"BD9F79"; colName[i] = "mettallicgold"; i++
	colRef[i] = "0x"+"ACABA8"; colName[i] = "mettallicsilver"


	function colourSelect (colourFamily,dropBox) {
		var line = currentTextFocus[getDisplayRef(displayState)]
		var color = ""
		document[dropBox + "Selection"].src = "/images/font_swatches/" + colourFamily + ".gif"
		overlayclose(currentDrop)
		for(i=0;i<colName.length;i++) { if (colName[i]==colourFamily) { colour = colRef[i] }}
		flash.changeTextFormat(displayState,line,fontStyle[getDisplayRef(displayState)][line],fontSize[getDisplayRef(displayState)][line],fontBold[getDisplayRef(displayState)][line],fontItalic[getDisplayRef(displayState)][line],colour,"center");
		fontColour[getDisplayRef(displayState)][line] = colour
		rePrice();
	}

	function boldSelect() {
		var line = currentTextFocus[getDisplayRef(displayState)]
		if (fontBold[getDisplayRef(displayState)][line] == false) {
			document["bold" + getDisplayRef(displayState)].src = "/images/buttons/bold_on.gif"
			fontBold[getDisplayRef(displayState)][line] = true
		} else {
			document["bold" + getDisplayRef(displayState)].src = "/images/buttons/bold.gif"
			fontBold[getDisplayRef(displayState)][line] = false
		}		
		flash.changeTextFormat(displayState,line,fontStyle[getDisplayRef(displayState)][line],fontSize[getDisplayRef(displayState)][line],fontBold[getDisplayRef(displayState)][line],fontItalic[getDisplayRef(displayState)][line],fontColour[getDisplayRef(displayState)][line],"center");
	}

	function italicSelect() {
		var line = currentTextFocus[getDisplayRef(displayState)]
		if (fontItalic[getDisplayRef(displayState)][line] == false) {
			document["italic" + getDisplayRef(displayState)].src = "/images/buttons/italic_on.gif"
			fontItalic[getDisplayRef(displayState)][line] = true
		} else {
			document["italic" + getDisplayRef(displayState)].src = "/images/buttons/italic.gif"
			fontItalic[getDisplayRef(displayState)][line] = false
		}		
		flash.changeTextFormat(displayState,line,fontStyle[getDisplayRef(displayState)][line],fontSize[getDisplayRef(displayState)][line],fontBold[getDisplayRef(displayState)][line],fontItalic[getDisplayRef(displayState)][line],fontColour[getDisplayRef(displayState)][line],"center");
	}



	function checkAllFields() {
		// this is used to check for other blank fields - turn logos back on if all blank.
		var blankFields = true;
		
		for (i=1;i<4;i++) {
			if (typeof document.forms["form"+displayState]["text"+i].value != "undefined") {
				if (document.forms["form"+displayState]["text"+i].value != "") {
					blankFields = false;
					
				}
			}
		}
		return blankFields;
	}
	

	function changeText(line,content) {
		if(content == "") { // this is to overcome bug in flash external api which sends null back rather than blank value
			flash.changeText(displayState,line,"blank-ot-field");
		} else{
			flash.changeText(displayState,line,content);
		}
		fontText[getDisplayRef(displayState)][line] = content
		rePrice();
		// this turns logo on or off depending on customisation of text
		
		// if all fields are blank, turn the logos back on (*assuming they exist)
		//if (checkAllFields() == true) { turnOnLogo() } else { turnOffLogo() };
	}



	var logoOff = new Array(4);
	var logoContentHolder = new Array(4);
	var logoSelectedHolder = new Array(4);

	logoOff[1] = false;	logoOff[2] = false;	logoOff[3] = false;	logoOff[4] = false;
	
	function turnOffLogo() {
		//if (logoAvailable[getDisplayRef(displayState)] == true) {
		var fldName = "custom" + getDisplayRef(displayState) + "Logo"
		if (findElementPair(fldName) == "1") {
			if (logoOff[getDisplayRef(displayState)] == false) {
				logoOff[getDisplayRef(displayState)] = true;
				logoContentHolder[getDisplayRef(displayState)] = currentLogoID[getDisplayRef(displayState)]; // store logo previously selected
				logoContentHolder[getDisplayRef(displayState)] = document.getElementById(displayState + "logocontent").innerHTML;
				document.getElementById(displayState + "logocontent").innerHTML = "<br />Sorry. You can't add a logo to the same side you have entered custom text.<br /><br /><a href=\"javascript:clearText('" + getDisplayRef(displayState) + "')\">Click here</a> to clear the text you have already entered on this side and choose a logo instead.";
		
				// pos is position in data string
				currentLogoID[getDisplayRef(displayState)] = 0
				flash.changeLogo(getDisplayStateName(parseInt(getDisplayRef(displayState))),"",0,0);
			}
		}
	}

	function dvalue() {
		//alert(currentLogoID[displayState])
	}

	function turnOnLogo() {
		if (logoOff[getDisplayRef(displayState)] = true) {
		
			logoOff[getDisplayRef(displayState)] = false;
			//currentLogoID[getDisplayRef(displayState)] = logoContentHolder[getDisplayRef(displayState)];
			//document.getElementById(displayState + "logocontent").innerHTML = logoContentHolder[getDisplayRef(displayState)];
			changeLogo(currentLogoID[getDisplayRef(displayState)],getDisplayRef(displayState),2);
		}
	
	}

	function clearText(){
		//for (i=1;i<4;i++) {
			//alert(i)
			//if (typeof document.forms["form"+displayState]["text"+i].value != "undefined") {
				document.forms["form"+displayState]["text1"].value = "";
				changeText (1,"");
				document.forms["form"+displayState]["text2"].value = "";
				changeText (2,"");
				document.forms["form"+displayState]["text3"].value = "";
				changeText (3,"");
			//}
		//}
		rePrice();
		turnOnLogo();
	}
	
	function changeFontFace(line,font) {
		flash.changeTextFormat(displayState,line,font,fontSize[getDisplayRef(displayState)][line],true,false,fontColour[getDisplayRef(displayState)][line],"center");
		fontStyle[getDisplayRef(displayState)][line] = font
	}

	function changeFontSize(line,size) {
		flash.changeTextFormat(displayState,line,fontStyle[getDisplayRef(displayState)][line],size,true,false,fontColour[getDisplayRef(displayState)][line],"center");
		fontSize[getDisplayRef(displayState)][line] = size
	}

	function changeFontColour(line,colour) {
		flash.changeTextFormat(displayState,line,fontStyle[getDisplayRef(displayState)][line],fontSize[getDisplayRef(displayState)][line],true,false,colour,"center");
		fontColour[getDisplayRef(displayState)][line] = colour
	}


	function getDisplayRef(state) {
	
		switch (state) {
			case "front":
				return "1";
				break;
			case "back":
				return "2";
				break;
			case "left":
				return "3";
				break;
			case "right":
				return "4";
				break;
		}
	}
	function getDisplayStateName(ref) {
	
		switch (ref) {
			case 1:
				return "front";
				break;
			case 2:
				return "back";
				break;
			case 3:
				return "left";
				break;
			case 4:
				return "right";
				break;
		}
	}



function rePrice() {

	var basePrice = findElementPair("salePrice",previewStorage[currentStyle])
	var additionalText = findElementPair("additionalText",previewStorage[currentStyle])
	var additionalColour = findElementPair("additionalColour",previewStorage[currentStyle])
	var totalColours = 0
	var previousColour = ""
	var totalTextLines = 0
	var tmpColours = new Array(20);
	var cntr = -1;

	// how many lines of text are being customised?
	for (side=1;side<5;side++) {
		for (lineNumber=1;lineNumber<6;lineNumber++) {
			if ((fontText[side][lineNumber] != "") && (typeof fontText[side][lineNumber] != "undefined")) { //
				totalTextLines++
				cntr++
				tmpColours[cntr] = fontColour[side][lineNumber]
			}
		}
	}
	// determine how many colours are being used
	tmpColours.sort()
	for (i=0;i<tmpColours.length;i++) {
		if (typeof tmpColours[i] != "undefined") {
			if (tmpColours[i] != previousColour) { totalColours++ }
		}
		previousColour = tmpColours[i]
	}

	itemPrice = (Math.round((parseFloat(basePrice) + (parseFloat(additionalText) * parseFloat(totalTextLines)) + (parseFloat(additionalColour) * parseFloat(totalColours)))*100)/100)
	
	document.getElementById("totalPrice").innerHTML = "&pound;" + (parseInt(itemPrice) * parseInt(itemQuantity)).toFixed(2)
	
	//alert("colours:"+totalColours+", lines:"+totalTextLines)
	
}


// -->