// THIS VERSION INCLUDES ALL JAVASCIRPT EFFECTS WITH effects CHECKING

// Javascripts for FramesByMail.com Custom framing.
// Created by AGFTech.com

var doEndLoop = 'no';


function start(){
	// Check to see if you are editing a cart item
	if(document.getElementById('iniHgt').value != ''){
		iniSet(); // Set all pulldowns to new initial values
	}
	// Check the rules
	if(document.getElementById('linenRule').value == 'N'){
		document.getElementById('linenLink').style.display = 'none';
	}
	if(document.getElementById('plexiRule').value == 'N'){
		document.getElementById('plexi').disabled = true;
		document.getElementById('backing').disabled = true;
		document.getElementById('backWarning').innerHTML = 'Plexi and Backing are not available for this profile.';
	}
	if(document.getElementById('matRule').value == '2'){
		document.getElementById('matTab3').style.display = 'none';
	} else if(document.getElementById('matRule').value == '1'){
		document.getElementById('matTab2').style.display = 'none';
		document.getElementById('matTab3').style.display = 'none';
	} else if(document.getElementById('matRule').value == '0'){
		document.getElementById('paperMats').style.display = 'none';
		document.getElementById('noMats').style.display = 'block';
// alert("hide BACKING AND PLEXI 1");
		document.getElementById('backingAndPlexi').style.display = 'none';
		document.getElementById('noBackingAndPlexi').style.display='block';
	}//start
      	if(document.getElementById('canvasRule').value == 'Y'){
                document.getElementById('paperMats').style.display = 'none';
                document.getElementById('noMats').style.display = 'block';
		document.getElementById('backingAndPlexi').style.display = 'none';
        }
	if(document.getElementById('multiMatRule').value == 'Y'){
		//alert('multimat');
		document.getElementById('multiMatRuleId').innerHTML = document.getElementById('multiMatDesc').value;;
		document.getElementById('paperMats').style.display = 'none';
		document.getElementById('addchangeprint').style.display = 'none';
		document.getElementById('matPrice').style.display = 'none';
		document.getElementById('RemovePrint').style.display = 'none';
				document.getElementById('backingAndPlexi').style.display = 'block';
		document.getElementById('noBackingAndPlexi').style.display='none';
	}

	document.customFrame.matNum.value = '1';
	changeItems();
}
function iniSet(){
	//add print
	document.getElementById('printSku').value = document.getElementById('iniPrint').value;

	// Width and height
	changePD(75, 'openWdt', document.getElementById('iniWdt').value);
	changePD(15, 'openWdtFrac', document.getElementById('iniWdt2').value);
	changePD(75, 'openHgt', document.getElementById('iniHgt').value);
	changePD(15, 'openHgtFrac', document.getElementById('iniHgt2').value);
	// Mat 1
	if(document.getElementById('iniMat1').value != ''){
		sku = document.getElementById('iniMat1').value;
		changeMat('1', document.getElementById('iniMat1Hex').value, sku, document.getElementById('iniMat1Metal').value);
		// Adjust the sizes:
		changePD(13, '1MatTopWdt', document.getElementById('iniMat1Top1').value);
		changePD(15, '1MatTopWdtFrac', document.getElementById('iniMat1Top2').value);
		changePD(13, '1MatSideWdt', document.getElementById('iniMat1Side1').value);
		changePD(15, '1MatSideWdtFrac', document.getElementById('iniMat1Side2').value);
		changePD(13, '1MatBottomWdt', document.getElementById('iniMat1Bot1').value);
		changePD(15, '1MatBottomWdtFrac', document.getElementById('iniMat1Bot2').value);
		
	}
	// Mat 2
	if(document.getElementById('iniMat2').value != ''){
	var iniMat2Size = '';
	iniMat2Size = document.getElementById('iniMat2Size').value;
		sku = document.getElementById('iniMat2').value;
		changeMat('2', document.getElementById('iniMat2Hex').value, sku, document.getElementById('iniMat2Metal').value);
		changePD(14, '2MatWdt', iniMat2Size.substring(iniMat2Size.indexOf('.')));
	}
	// Mat 3
	if(document.getElementById('iniMat3').value != ''){
		var iniMat3Size = '';
		iniMat3Size = document.getElementById('iniMat3Size').value;
		sku = document.getElementById('iniMat3').value;
		changeMat('3', document.getElementById('iniMat3Hex').value, sku, document.getElementById('iniMat3Metal').value);
		changePD(14, '3MatWdt', iniMat3Size.substring(iniMat3Size.indexOf('.')));
	}
	// Liners
	if(document.getElementById('iniLiner').value != ''){
		changeLiner(document.getElementById('iniLiner').value, document.getElementById('iniLinerWidth').value, document.getElementById('iniLinerHex').value);
	}
	// No Cut
	if(document.getElementById('iniNoCut').value == 'Y'){
		if(document.getElementById('assembly').value == 'Y'){
			document.getElementById('noCut').checked = false;
			document.getElementById('noCutDiv').style.display = 'none';
		}else{
			document.getElementById('noCut').checked = true;
		}
	}
	// Plexi and Backing
	if(document.getElementById('iniPlexi').value != ''){
		//document.getElementById('plexi').checked = true;
		changePD(2, 'plexi', document.getElementById('iniPlexi').value);
	}
	if(document.getElementById('iniBacking').value != ''){
		changePD(3, 'backing', document.getElementById('iniBacking').value);
	}
	if(document.getElementById('assembly').value == 'Y'){
		document.getElementById('noCut').checked = false;
		document.getElementById('noCutDiv').style.display = 'none';
		document.forms['customFrame'].backing.options[4] = new Option('assembly','assembly');
		document.forms['customFrame'].backing.selectedIndex = 4;
		document.getElementById('mattingHeader').innerHTML = "Step Two: Matting";
		if(document.getElementById('multiMatRule').value != 'Y'){
		document.getElementById('backingAndPlexi').style.display = 'none';
		}
		document.getElementById('assemblyValue').value = 'Y';


		document.getElementById('assemblyNote').innerHTML = "This is ready to hang, assembled artwork. <a href=\"javascript:changeAssembly('N');\" style=\"text-decoration: none;\">(Click for Self-Assembly)</a> 1 PRINT:"+document.getElementById('printSku').value;
	} else if(document.getElementById('assembly').value == 'M'){
		document.forms['customFrame'].backing.options[4] = new Option('Mounting','mounting');
		document.forms['customFrame'].backing.selectedIndex = 4;
// alert("assembly (M): "+document.getElementById('assembly').value);
		document.getElementById('mattingHeader').innerHTML = "Step Three: Matting";
		if(document.getElementById('noBackingAndPlexi').style.display != 'block')
			document.getElementById('backingAndPlexi').style.display = 'block';
		document.getElementById('assemblyValue').value = 'M';
	} else if(document.getElementById('printSku').value != ''){
//		alert("assembly (other): "+document.getElementById('assembly').value);
// 		alert("disable drop down now");
// asdf		document.forms['customFrame'].backing.disabled = true;
// GAW lock drop down on MOUNTING if chosen (rather than Assembled [dont show at all] or self [unlocked, shown, all choices])
 		if(document.getElementById('multiMatRule').value != 'Y'){
			document.forms['customFrame'].backing.options[4] = new Option('Mounting','mounting');
		}
		
	}
	
	document.getElementById('savedAssemblyValue').value = document.getElementById('ini_savedAssembly').value;
	if(document.getElementById('multiMatRule').value == 'Y'){
	changeItems();
	}

}
function changePD(total, pulldown, term){
	for (i=0; i < total+1; i++){
		var checkState = document.getElementById(pulldown).options[i].value;
		if (checkState == term){
			document.getElementById(pulldown).options[i].selected=true;
			return;
		}
	}
}
// You're basic AJAX scripts...
var isWorking = false;
var pixelseed = 5;
function getHTTPObject() { 
	var xmlhttp; 
	/*@cc_on 
	@if (@_jscript_version >= 5)
	 try { 
	 	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) { 
	 	try { 
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
	    } 
	 } 
	@else 
	xmlhttp = false; 
	@end @*/  
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { 
		try { 
			xmlhttp = new XMLHttpRequest();
		} catch (e) { 
			xmlhttp = false;
		} 
	} 
	return xmlhttp; 
}
var http = getHTTPObject(); // We create the HTTP Object
function returnHttpResponse() {
//alert(http.responseText);
  if (http.readyState == 4) {
    if (http.responseText.indexOf('invalid') == -1 && http.status == 200) {
    	// Split the comma delimited response into an array	
		results = http.responseText.split("*");
		document.getElementById('framePrc').value = round_decimals(results[0], 2);
		document.getElementById('clearanceFramePrc').value = round_decimals(results[1],2);
		document.getElementById('frameDesc').innerHTML = results[2];
		document.getElementById('mat1Prc').value = round_decimals(results[3], 2);
		document.getElementById('clearanceMat1Prc').value = round_decimals(results[4],2);
		document.getElementById('mat1desc').innerHTML = results[5];
		document.getElementById('mat2Prc').value = round_decimals(results[6], 2);
		document.getElementById('clearanceMat2Prc').value = round_decimals(results[7],2);
		document.getElementById('mat2desc').innerHTML = results[8];
		document.getElementById('mat3Prc').value = round_decimals(results[9], 2);
		document.getElementById('clearanceMat3Prc').value = round_decimals(results[10],2);
		document.getElementById('mat3desc').innerHTML = results[11];
		document.getElementById('linerPrc').value = round_decimals(results[12], 2);
		document.getElementById('clearanceLinerPrc').value = round_decimals(results[13],2);
		document.getElementById('linerDesc').innerHTML = results[14];
		document.getElementById('backPrc').value = round_decimals(results[15], 2);
		document.getElementById('plexiPrc').value = round_decimals(results[16], 2);	
		document.getElementById('totalPrc').value = round_decimals(results[17], 2);
		document.getElementById('clearanceTotalPrc').value = round_decimals(results[18],2);
		document.customFrame.frameTotalWdt.value = results[19];
		document.customFrame.frameTotalHgt.value = results[20];
		document.getElementById('printPrc').value = round_decimals(results[21],2);
		document.getElementById('clearancePrintPrc').value = round_decimals(results[22],2);
		document.getElementById('printDesc').innerHTML = results[23];
		updateReceipt();
    	isWorking = false;
	} else {
		//alert("Our server is experiencing a heavy load right now and is having problems handling your request.");
	}
  }
}
// End AJAX scripts
// Start Matting Functions
function showMat(num){
	var flag = 0;
	if(num == 2 && document.getElementById('mat1sku').value == ''){
		alert("You must pick a Single mat before selecting a Double mat.");
		flag = 1;
	} else if(num == 3 && document.getElementById('mat2sku').value == ''){
		alert("You must pick a Double mat before selecting a Triple mat.");
		flag = 1;
	}
	if(flag == 0){
		for(x=1;x<4;x++){
			if(x != num){
				document.getElementById('matTab'+x).className = '';
				document.getElementById('matHead'+x).style.display = 'none';
				document.getElementById('Mat'+x).style.display = 'none';
			} else {
				// Set the new showing mat tab to "current"
				document.getElementById('matTab'+num).className = 'current';
				// Display the correct tab
				document.getElementById('Mat'+num).style.display = 'block';
				document.getElementById('matHead'+x).style.display = 'block';
			}
		}
		document.customFrame.matNum.value = num;
	}
}
function changeMat(num, hex, sku, metal, oversize){
	var flag = 0;
	if (hex == '') { hex = 'ffffff'; }
	if(document.getElementById('linerSku').value != ''){
		if(confirm("Adding this mat will clear your Linen Liner settings. Proceed?")){
			changeLiner('', '0', 'ffffff', '');
			flag = 1;
		}
	} else { flag = 1; }
	
	if(flag == 1){
		// Pull some initial values
		if(num == ''){ num = document.customFrame.matNum.value; }
		// Check to see if there is an image associated (for metallic mats)
		colorStripe = document.getElementById('colorStripe'+num)
		if(metal == 'N' || metal == ''){
			colorStripe.style.background = "#"+hex;
		}else if(metal == 'F'){
			colorStripe.style.background = " url('/atlas/images/mats/"+sku+".jpg')";
		} else {
			colorStripe.style.background = "#"+hex+" url('/atlas/images/mats/"+sku+".jpg')";
		}
		// Set the oversize flag
		document.getElementById('mat'+num+'oversize').value = oversize;
		
		//document.getElementById('mat'+num+'color').value = hex;
		if(sku == '') { 
			colorStripe.innerHTML = 'No mat selected';
			document.getElementById('mat'+num+'sku').value = ''; 
			if(num == '1'){
				document.getElementById("1MatTopWdt").options[0].selected = true;
				document.getElementById("1MatTopWdtFrac").options[0].selected = true;
				document.getElementById("1MatSideWdt").options[0].selected = true;
				document.getElementById("1MatSideWdtFrac").options[0].selected = true;
				document.getElementById("1MatBottomWdt").options[0].selected = true;
				document.getElementById("1MatBottomWdtFrac").options[0].selected = true;
			} else{
				document.getElementById(num+"MatWdt").options[0].selected = true;
			}
			if (document.getElementById('mat'+x+'desc')) {

			document.getElementById('mat'+x+'desc').innerHTML = '';
			}
			if (document.getElementById('mat'+x+'wdt')) {
			document.getElementById('mat'+x+'wdt').innerHTML = '';
			}
			
		} else { 
			colorStripe.innerHTML = '';
			document.getElementById('mat'+num+'sku').value = sku; 
		
			// Check to see if the size for the mat isn't changed.
			if(num == '1'){
				// Top Width
				if(document.getElementById('1MatTopWdt').options[0].selected == true && document.getElementById('1MatTopWdtFrac').options[0].selected == true){
					document.getElementById('1MatTopWdt').options[2].selected = true;
				}
				// Side Width
				if(document.getElementById('1MatSideWdt').options[0].selected == true && document.getElementById('1MatSideWdtFrac').options[0].selected == true){
					document.getElementById('1MatSideWdt').options[2].selected = true;
				}
				// Bottom Width
				if(document.getElementById('1MatBottomWdt').options[0].selected == true && document.getElementById('1MatBottomWdtFrac').options[0].selected == true){
					document.getElementById('1MatBottomWdt').options[2].selected = true;
				}
			} else {
				matWdtObj = document.getElementById(num+'MatWdt');
				if(matWdtObj.options[0].selected == true){
					matWdtObj.options[3].selected = true;
				}
			}
		}
	}
	var wh = getWH();
	var w= wh[0];
	var h= wh[1];
	if((w > 60 || h > 40)&&(w > 40 || h > 60)){
		//alert('w:'+w+'\nh:'+h);
		if (doEndLoop == 'no') {
		var doEndLoop = 'yes';
		alert('Maximum mat size is 60 x 40 (W x H).\nYour total size, '+w+' x '+h+' , now exceeds mat maximum.\nPlease change your window opening to allow for a mat max of 60 x 40.');
		//killMat('max');
		//changeItems();
		}
	}
}
function returnMatWidth(num){
	// Return the mat width as a string and the pixel values in an array
	var widthArray = new Array()
	if(num == 1){
		var topWdt = document.getElementById('1MatTopWdt').value;
		var topWdtFrac = document.getElementById('1MatTopWdtFrac').value;
		var sideWdt = document.getElementById('1MatSideWdt').value;
		var sideWdtFrac = document.getElementById('1MatSideWdtFrac').value;
		var botWdt = document.getElementById('1MatBottomWdt').value;
		var botWdtFrac = document.getElementById('1MatBottomWdtFrac').value;
		if (topWdt == '0' && topWdtFrac == '.0' && sideWdt == '0' && sideWdtFrac == '.0' && botWdt == '0' && botWdtFrac == '.0'){
			var wdt = '';
		} else {
			// Combine them together
			var wdt = '( '+topWdt+' '+fraction(topWdtFrac)+'", '+sideWdt+' '+fraction(sideWdtFrac)+'", '+botWdt+' '+fraction(botWdtFrac)+'" )';
		}
		// Now convert the widths to pixels and put them in the array as well.
		widthArray[0] = wdt;
		// top
		widthArray[1] =  inches2pixels(document.getElementById('1MatTopWdt').value + document.getElementById('1MatTopWdtFrac').value, pixelseed);
		// side
		widthArray[2] = inches2pixels(document.getElementById('1MatSideWdt').value + document.getElementById('1MatSideWdtFrac').value, pixelseed);
		// bottom
		widthArray[3] = inches2pixels(document.getElementById('1MatBottomWdt').value + document.getElementById('1MatBottomWdtFrac').value, pixelseed);
	} else {
		if (document.getElementById(num+'MatWdt').value == '0'){
			wdt = '';
		} else {
			var wdt = '( '+fraction(document.getElementById(num+'MatWdt').value)+'" )';
		}
		widthArray[0] = wdt;
		widthArray[1] = widthArray[2] = widthArray[3] = inches2pixels(document.getElementById(num+'MatWdt').value);
	}
	return widthArray;
}
function killMat(num) {
	if(num ==''){
		if(confirm("Are you sure you want to remove this mat and any higher numbered mats?")){
			var num = document.customFrame.matNum.value;
			for(x=num;x<4;x++){
				changeMat(x, 'ffffff', '', '');
			}
		}
	} else if(num = 'max'){
		changeMat('1','ffffff','','');

	} else {
		for(x=num;x<4;x++){
			changeMat(x, 'ffffff', '', '');
		}
	}
}
// Other functions
function openWinPop(url){
// this function opens the hidden div in .com/custom - it then reveals the URL of choice from the findPrints.php drop down iframed into .com/custom (customFrame.php)
// alert("url: '"+url+"'");
	if(url==''){return false;}
	parent.window.document.getElementById('popWin').style.display='block'; // used for prints and frames
	// parent.window.document.getElementById('popWinprint_pop').style.display='block'; // used for prints and frames
	// parent.window.document.getElementById('iprint_pop').src = "/printspop/"+url;
	parent.window.document.getElementById('popIframe').src = url;
}

function closeWinPop(id){
	// added because GAW needed to close/hide the PARENT page'ed window
        // new Effect.Appear(id);
        parent.window.document.getElementById(id).style.display='none';
		parent.window.document.getElementById('popIframe').src = '/blank.php';
}

function openWin(id){
	//new Effect.Appear(id);
	document.getElementById(id).style.display='block';
	if(id == 'changePrint'){
		document.getElementById('notes').style.display = 'none';
		document.getElementById('form').style.display = 'none';
		document.getElementById('close').style.display = 'none';
		// not working: document.getElementById('printSearchTerm').focus();
	}else if(id == 'changeFrame'){
		document.getElementById('frameDetail').style.display = 'none';
		document.getElementById('frameOptions').style.display = 'none';
		document.getElementById('frameInfo').style.display = 'none';
	}
}

function closeWin(id){
	//new Effect.SwitchOff(id);
	document.getElementById(id).style.display='none';
	if(id == 'changePrint'){
		showImageUpload();
	}else if(id == 'changeFrame'){
		document.getElementById('frameDetail').style.display = 'block';
		document.getElementById('frameOptions').style.display = 'block';
		document.getElementById('frameInfo').style.display = 'block';
	}
}

function resetFrameWin(){
	document.getElementById('framesframe').src = "/workspace/findFrame.php";
}

function resetPOPFrameWin_NOT_USED(url){ // NON-POP version is used in customFrame.php (thought I'd need this... dont think so now)
	document.getElementById('popWin').src = url;	// "/workspace/findFrame.php";
}

function changePlexi(type){
	if (type=='regular')
		document.forms['customFrame'].plexi.selectedIndex = 1;
	if (type=='non-glare')
		document.forms['customFrame'].plexi.selectedIndex = 2;
	changeItems();
}

function changeAssembly(assemblyValue){
// asdf
if(document.getElementById('printSku').value !='')
{
	fxPrint = true;
}else{
	fxPrint = false;
}

	if (assemblyValue=='N'){
	   	if(document.getElementById('canvasRule').value == 'Y'){
                        document.getElementById('plexi').disabled = true;
			document.getElementById('plexiDesc').innerHTML = "Not Available with canvas prints";		
                }

	    	if(document.getElementById('savedAssemblyValue').value == "M"){
		document.forms['customFrame'].backing.options[4] = new Option('Mounting','mounting');
		document.forms['customFrame'].backing.selectedIndex = 4;
		document.getElementById('mattingHeader').innerHTML = "Step Three: Matting";
		if(document.getElementById('backingAndPlexi').style.display != 'block')
			document.getElementById('backingAndPlexi').style.display = 'block';
		document.getElementById('assemblyValue').value = 'M';
if(fxPrint)
{
	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
}else{
	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a>";
}

// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 2 PRINT:"+document.getElementById('printSku').value;

	   
	}else{
		document.forms['customFrame'].backing.options[4] = new Option('Mounting','mounting');
		document.forms['customFrame'].backing.selectedIndex = 4; // GAW changed from 0 to 4
		document.getElementById('mattingHeader').innerHTML = "Step Three: Matting";
		if(document.getElementById('noBackingAndPlexi').style.display != 'block')
			document.getElementById('backingAndPlexi').style.display = 'block';
		document.getElementById('assemblyValue').value = 'N';

if(fxPrint)
{
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
}else{
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a>";
}
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 3 PRINT:"+document.getElementById('printSku').value;
		// document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf2";
	   }
	   document.getElementById('noCutDiv').style.display = 'block';
	}else if (assemblyValue=='Y'){
		document.getElementById('noCut').checked = false;
		document.getElementById('noCutDiv').style.display = 'none';
		document.forms['customFrame'].backing.options[4] = new Option('assembly','assembly');
		document.forms['customFrame'].backing.selectedIndex = 4;
		document.getElementById('mattingHeader').innerHTML = "Step Two: Matting";
		// alert("hide BACKING AND PLEXI 3");
		document.getElementById('backingAndPlexi').style.display = 'none';
		document.getElementById('assemblyValue').value = 'Y';
//		document.getElementById('assemblyNote').innerHTML = "This is ready to hang, assembled artwork. <a href=\"javascript:changeAssembly('N');\" style=\"text-decoration: none;\">(Click for Self-Assembly)</a>";
		if(document.forms['customFrame'].plexi.selectedIndex == 0){
			document.forms['customFrame'].plexi.selectedIndex = 1;
			document.getElementById('plexiDesc').innerHTML = "Plexiglass <a href=\"javascript:changePlexi('non-glare');\" style=\"text-decoration: none;\">(Click to Add Non-Glare Plexiglass)</a>";
		}

	}else if (assemblyValue=='M'){
		alert("HERE - NOT HITTING!!!");
		document.getElementById('noCutDiv').style.display = 'block';
		document.forms['customFrame'].backing.options[4] = new Option('Mounting','mounting');
		document.forms['customFrame'].backing.selectedIndex = 4;
		// GAW added... document.forms['customFrame'].plexi.selectedIndex = 1;
		document.getElementById('mattingHeader').innerHTML = "Step Three: Matting";
		if(document.getElementById('noBackingAndPlexi').style.display != 'block')
			document.getElementById('backingAndPlexi').style.display = 'block';
		document.getElementById('assemblyValue').value = 'M';

if(fxPrint)
{
document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
}else{
document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a>";
}
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 4 PRINT:"+document.getElementById('printSku').value;
		// document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf3";
	}
	changeItems();
}

function changePrint(sku, width, height, assembly){
	if(document.getElementById('printSku').value !='')
	{
		fxPrint = true;
	}else{
		fxPrint = false;
	}
// alert("pre-pause - assembly: "+assembly);
	closeWin('changePrint');
	document.getElementById('printSku').value = sku;
	document.getElementById('savedAssemblyValue').value = assembly;
	
	if(assembly=='Y'){
//	alert("assembly logic HERE");
		document.getElementById('noCutDiv').style.display = 'none';	
		document.getElementById('backingLabel').innerHTML = "Assembly:";
		document.getElementById('assemblyValue').value = "Y";
// alert("hide BACKING AND PLEXI 4");
		document.getElementById('backingAndPlexi').style.display = 'none';
		document.getElementById('mattingHeader').innerHTML = "Step Two: Matting";
	if(fxPrint)
	{
		document.getElementById('assemblyNote').innerHTML = "This is ready to hang, assembled artwork. <a href=\"javascript:changeAssembly('N');\" style=\"text-decoration: none;\">(Click for Self-Assembly)</a>";
	}else{
		document.getElementById('assemblyNote').innerHTML = "This is ready to hang, assembled artwork.";
	}
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "This is ready to hang, assembled artwork. <a href=\"javascript:changeAssembly('N');\" style=\"text-decoration: none;\">(Click for Self-Assembly)</a> 5 PRINT:"+document.getElementById('printSku').value;
		//set backing value to assembly and reg. plexi default 
		document.forms['customFrame'].backing.options[4] = new Option('assembly','assembly');
		document.forms['customFrame'].backing.selectedIndex = 4;
		document.forms['customFrame'].plexi.selectedIndex = 1;
	document.forms['customFrame'].backing.disabled = false;
	}else if(assembly=='N'){
		document.getElementById('noCutDiv').style.display = 'block';	
		document.getElementById('assemblyValue').value="N";
		if(document.getElementById('noBackingAndPlexi').style.display=='' || document.getElementById('noBackingAndPlexi').style.display=='none')
			document.getElementById('backingAndPlexi').style.display = 'block';
		//changePrint 'N'
		if(document.getElementById('canvasRule').value == 'Y'){//alert('canvasRule');
                        document.getElementById('backingAndPlexi').style.display = 'none';
                        document.getElementById('noMatsHeader').innerHTML = "Step Two: Matting";
                }
		document.getElementById('backingLabel').innerHTML = "Backing-GAW1:";
	// document.getElementById('assemblyValue').value = "M";
// backing
	// document.forms['customFrame'].backing.options[4] = new Option('Mounting','mounting');
	// document.getElementById('backingLabel').innerHTML = "Mounting-GAW1:";
// http://www.quirksmode.org/js/options.html
		document.getElementById('mattingHeader').innerHTML = "Step Three: Matting";
	if(fxPrint)
	{
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>"
	}else{
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a>";
	}
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 6 PRINT:"+document.getElementById('printSku').value;
		// document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf4";
		
		//reset backing and plexi values to 0 - none
		document.forms['customFrame'].backing.options[4] = new Option('Mounting','mounting');
		document.forms['customFrame'].backing.selectedIndex = 4; // GAW changed from 0 to 4
		document.forms['customFrame'].plexi.selectedIndex = 1; // GAW changed from 0 to 1
	document.forms['customFrame'].backing.disabled = false;
	}else if(assembly=='M'){
// alert("M for assembly   ---- customFrame'].backing");
	document.forms['customFrame'].plexi.selectedIndex = 1; // GAW added this line here.
		document.getElementById('noCutDiv').style.display = 'block';
		document.getElementById('backingLabel').innerHTML = "Mounting-GAW2:";
// alert("pause... lock drop down... where is GAW2?");
		document.getElementById('assemblyValue').value = "M";
		document.forms['customFrame'].backing.options[4] = new Option('Mounting','mounting');
		document.forms['customFrame'].backing.selectedIndex = 4;
		document.forms['customFrame'].backing.disabled = true;

// GAW lock drop down on MOUNTING if chosen (rather than Assembled [dont show at all] or self [unlocked, shown, all choices])

		document.getElementById('mattingHeader').innerHTML = "Step Three: Matting";
		if(document.getElementById('noBackingAndPlexi').style.display=='' || document.getElementById('noBackingAndPlexi').style.display == 'none')
			document.getElementById('backingAndPlexi').style.display = 'block';	
		//stopping backingAndPlexi block if canvasRule after picking 'Mounting'
		//changePrint 'M'
		if(document.getElementById('canvasRule').value == 'Y'){//alert('canvasRule');
                        document.getElementById('backingAndPlexi').style.display = 'none';
			document.getElementById('noMatsHeader').innerHTML = "Step Two: Matting";
                }

	if(fxPrint)
	{
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
	}else{
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a>";
	}
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 7 PRINT:"+document.getElementById('printSku').value;
		// document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf5";
	}

	//Set Frame Opening To Image Width and Height Values
	var widthTmp = pad_with_zeros(width, 4);
	var heightTmp = pad_with_zeros(height, 4);
	
	var widthArray = widthTmp.split(".");
	document.customFrame.openWdt.value = widthArray[0];
	document.customFrame.openWdtFrac.value = "." + widthArray[1];

	var heightArray = heightTmp.split(".");
	document.customFrame.openHgt.value = heightArray[0];
	document.customFrame.openHgtFrac.value = "." + heightArray[1];
	changeItems();
	
	//refresh image
	if(document.getElementById('canvasRule').value == 'Y'){
		//alert('canvas');
		document.getElementById('turn_off_1').style.display = 'block';
		document.getElementById('noBackingAndPlexi').style.display = 'block';
		document.getElementById('noMats').style.display = 'block';
	}else{
		document.getElementById('turn_off_1').style.display = 'block';
        	document.getElementById('backingAndPlexi').style.display = 'block';
		document.getElementById('paperMats').style.display = 'block';
	}

	document.getElementById('right').style.position = "absolute";
	document.getElementById('right').style.left = "58%";
	document.getElementById('right').style.top = "110px"
	document.getElementById('assemblyNote').style.display = 'block';
	document.getElementById('receipt').style.display = 'block';
	document.getElementById('buyNow').style.display = 'block';
	document.getElementById('getridofclose').style.display = 'block';
	document.getElementById('customFooter').style.margin = '10px';

	document.getElementById('uploadImage').style.display = 'none';
	document.getElementById('frameDisplay').style.display = 'block';
	updateFrameShop();

}

function changeFrame(sku, preview, description, profilePic, maxUnited, linenRule, plexiRule, matRule){
	closeWin('changeFrame');
// alert("in changeFrame... assembly logic here???");
	document.customFrame.frameSku.options[1] = null;
	document.customFrame.frameSku.options[1] = new Option(sku + " -- " + description, sku+","+preview);
	document.customFrame.frameSku.options[1].selected = true;

	document.getElementById('profilePic').src = profilePic;
	document.getElementById('maxUnited').value = maxUnited;

	if(linenRule == 'N'){
		document.getElementById('linenLink').style.display = 'none';
	}

	if(plexiRule == 'N'){
		document.getElementById('plexi').disabled = true;
		document.getElementById('backing').disabled = true;
		document.getElementById('backWarning').innerHTML = 'Plexi and Backing are not available for this profile.';
	}else{
		document.getElementById('plexi').disabled = false;
		document.getElementById('backing').disabled = false;
		document.getElementById('backWarning').innerHTML = '';
	}

	if(matRule == '3'){
		document.getElementById('noMats').style.display = 'none';	
		document.getElementById('noBackingAndPlexi').style.display = 'none';
		if(document.getElementById('assemblyValue').value == 'N' || document.getElementById('assemblyValue').value == 'M')
			document.getElementById('backingAndPlexi').style.display='block';
		document.getElementById('paperMats').style.display='block';
	}else if(matRule == '2'){
		document.getElementById('matTab3').style.display = 'none';
	} else if(matRule == '1'){
		document.getElementById('matTab2').style.display = 'none';
		document.getElementById('matTab3').style.display = 'none';
	} else if(matRule == '0'){
		document.getElementById('paperMats').style.display = 'none';
		document.getElementById('noMats').style.display = 'block';
// alert("hide BACKING AND PLEXI 5");
		document.getElementById('backingAndPlexi').style.display = 'none';
		document.getElementById('noBackingAndPlexi').style.display='block';
	}
	//changeFrame
	if(document.getElementById('canvasRule').value=='Y'){
		document.getElementById('paperMats').style.display = 'none';
                document.getElementById('noMats').style.display = 'block';
		document.getElementById('backingAndPlexi').style.display = 'none';
	}
	if(document.getElementById('multiMatRule').value == 'Y'){
		document.getElementById('paperMats').style.display = 'none';
	}

	document.customFrame.matNum.value = '1';

	//refresh image
	
	changeItems();	
}

function removeImages(){ // not removing the image if it is an uploaded image. (is it session?)

/*	var removeString = "/atlas/customFrame.php?removeSessionImage=yes";
	if (!isWorking && http) {
                http.open("GET", removeString, true);
                // Send it via AJAX
                http.onreadystatechange = returnHttpResponse;
                isWorking = true;
            	http.send(null);
        }
*/                                                                         
	document.getElementById('printSku').value = '';
	if (document.getElementById('assemblyValue').value == 'M'){
		document.getElementById('assemblyValue').value = 'N';
		document.forms['customFrame'].backing.options[4] = null;
		document.forms['customFrame'].backing.selectedIndex = 0;
	}
	changeItems();

}

function updatePrint(string){
//alert(http.responseText);
	if (http.readyState == 4) {
    	if (http.responseText.indexOf('invalid') == -1 && http.status == 200) {
			var flag = 1; 
			string = http.responseText;
		}
	} else if(string){
  		var flag = 1;  
  	}
	if(flag == 1){
		// Split the returned string at the pipe to pull the meta info off
		results = string.split("|");
		// Now send the totals off to be displayed
		displayTotals(results[1]);
    	// Split the comma delimited response into an array
		info = results[0].split("*");
		if(info[0] == ''){ info[0] = 'None'; }
		document.getElementById('print_description').innerHTML = info[0];
		document.getElementById('print').value = document.getElementById('print_sku').innerHTML = info[1];
    	isWorking = false;
	}
}

function getWH(){
        var openWdt = (document.customFrame.openWdt.value + document.customFrame.openWdtFrac.value)*1;
        var openHgt = (document.customFrame.openHgt.value + document.customFrame.openHgtFrac.value)*1;
        var mat1side = (document.getElementById('1MatSideWdt').value + document.getElementById('1MatSideWdtFrac').value)*2;
        var mat1top = (document.getElementById('1MatTopWdt').value + document.getElementById('1MatTopWdtFrac').value)*1;
        var mat1bot = (document.getElementById('1MatBottomWdt').value + document.getElementById('1MatBottomWdtFrac').value)*1;
        var matWdt2 = document.getElementById('2MatWdt').value*2;
        var matWdt3 = document.getElementById('3MatWdt').value*2;
        var linerWdt = document.getElementById('linerWidth').value*2;

        totalWidth = openWdt + mat1side + matWdt2 + matWdt3 + linerWdt;
        totalHeight = openHgt + mat1top + mat1bot + matWdt2 + matWdt3 + linerWdt;
	
	var tots=new Array(2);
	tots[0]=totalWidth;
	tots[1]=totalHeight;
	return tots;
}

function changeItems(){
	thinking('on');
	if(document.getElementById('printSku').value !='')
	{
		fxPrint = true;
	}else{
		fxPrint = false;
	}
	// Calculate the total window opening
	var openWdt = (document.customFrame.openWdt.value + document.customFrame.openWdtFrac.value)*1; 
	var openHgt = (document.customFrame.openHgt.value + document.customFrame.openHgtFrac.value)*1;
	var mat1side = (document.getElementById('1MatSideWdt').value + document.getElementById('1MatSideWdtFrac').value)*2;
	var mat1top = (document.getElementById('1MatTopWdt').value + document.getElementById('1MatTopWdtFrac').value)*1;
	var mat1bot = (document.getElementById('1MatBottomWdt').value + document.getElementById('1MatBottomWdtFrac').value)*1;
	var matWdt2 = document.getElementById('2MatWdt').value*2;
	var matWdt3 = document.getElementById('3MatWdt').value*2;
	var linerWdt = document.getElementById('linerWidth').value*2;

	totalWidth = openWdt + mat1side + matWdt2 + matWdt3 + linerWdt;
	totalHeight = openHgt + mat1top + mat1bot + matWdt2 + matWdt3 + linerWdt;

	//totalHeight = document.customFrame.frameTotalHgt.value*1;
	//totalWdt = document.customFrame.frameTotalWdt.value*1;
	
	var ui = totalHeight + totalWidth;

	// Check for oversize
	/*if(ui > 72 || totalWidth > 40 || totalHeight > 40){*/
	if(ui > 72 || (totalWidth > 40 && totalHeight < 32) || (totalHeight > 40 && totalWidth < 32) || (totalHeight > 32  && totalWidth > 32)){
		var oversize = true;
		// Check to see if the mat they have is oversize...
		document.getElementById('color').style.display = 'none';
		document.getElementById('oversize').style.display = 'block';
	} else {
		var oversize = false;
		document.getElementById('oversize').style.display = 'none';
		document.getElementById('color').style.display = 'block';
	}
	// Change the frame
	var alertMsg = "";
	if(document.customFrame.frameSku.value !== ''){
		// Check the max size for this frame
		var maxUnited = document.getElementById('maxUnited').value;
	
		if((totalWidth + totalHeight) > maxUnited){
			// Warn user
			alertMsg += "This profile has a suggested size limit of "+maxUnited+" united inches. \n While you may still order this frame, there is a greater chance of it breaking at this size.";
		}

		var value = document.customFrame.frameSku.value.split(",");
		var sku = value[0];
	
		// Change the detailed view of the frame picture
		document.getElementById('framePic').src="/img/"+sku+"-cr.jpg";
		document.getElementById('framePic').style.display = 'block';
		document.getElementById('profilePic').style.display = 'none';
		var wdtArray;
		var hgtArray;
		totalWidthStr = totalWidth.toString();
		totalHeightStr = totalHeight.toString();
		if(totalWidthStr.indexOf(".") !== -1){
			wdtArray = totalWidthStr.split('.')
			var showWdt = wdtArray[0]+' '+fraction('.'+wdtArray[1]);
		} else {
			var showWdt = totalWidthStr;
		}
		if(totalHeightStr.indexOf(".") !== -1){
			hgtArray = totalHeightStr.split('.')
			var showHgt = hgtArray[0]+' '+fraction('.'+hgtArray[1]);
		} else {
			var showHgt = totalHeightStr;
		}
		//document.getElementById('frameDesc').innerHTML = desc+'('+sku+')'+' ( '+showWdt+'" x '+showHgt+'" )';
		if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('frameDesc', {startcolor: "#666666", endcolor: "#eeeeee"}); }
		//document.getElementById('frameDetail').style.display = 'block';
	} else {
		document.getElementById('frameDesc').innerHTML = '';
		document.getElementById('frameDetail').style.display = 'none';
		//showDetail('profile');
	}

	if(ui > 83 && (document.customFrame.plexi.value != '0' || document.getElementById('backing').value != '0' || document.getElementById('mat1sku').value != '')) {		
		// Have they seen this error already?
		alertMsg += "\n \nThis item has become too large (over 84 united inches) to ship with plexi, backing or matting.";
		//Remove plexi, backing, and matting. Update assembly note
		document.forms['customFrame'].plexi.selectedIndex = 0;
		document.getElementById('plexiDesc').innerHTML = '';
		document.forms['customFrame'].backing.options[4] = null;
		document.forms['customFrame'].backing.selectedIndex = 0;
		document.getElementById('backingLabel').innerHTML = 'Backing:';
		document.getElementById('backDesc').innerHTML = '';
		document.getElementById('mat1sku').value = '';
		document.getElementById('mat2sku').value = '';
		document.getElementById('mat3sku').value = '';
	if(fxPrint)
	{
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
	}else{
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a>";
	}
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 8 PRINT:"+document.getElementById('printSku').value;
		// document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf6";
		document.getElementById('mattingHeader').innerHTML = "Step Three: Matting";
		if(document.getElementById('noBackingAndPlexi').style.display != 'block')
			document.getElementById('backingAndPlexi').style.display = 'block';
		
	
	
//		document.getElementById('final_total_price').innerHTML = 'Waiting on size change...';
//		document.getElementById('total_price').innerHTML = 'Waiting on size change...';
	} //else {
	if (alertMsg != "")
		alert(alertMsg);

		// Change the warning variable to NULL
		document.getElementById('error01').value = '';
		// Change the Mats
		for(x=1;x<4;x++){
			if(document.getElementById('mat'+x+'sku').value != ''){
				// Check oversize
				if(oversize && document.getElementById('mat'+x+'oversize').value == 'n'){
					alert("Because the size of this frame is considered oversize, we must remove all mats that can not be sold at that size.");
					//killMat(x);
					//changeItems();
					for(y=x;y<4;y++){
						changeMat(y, 'ffffff', '', '');
					}
				} else {
					// Check to see if the mat is too thin (under 1 3/8")
					if(x == 1){
						var step = new Array(3) 
						step[0] = 'Top';
						step[1] = 'Side';
						step[2] = 'Bottom';
						for(n=0;n<3;n++){
							if(document.getElementById('1Mat'+step[n]+'Wdt').options[1].selected == true || document.getElementById('1Mat'+step[n]+'Wdt').options[0].selected == true){
								if((document.getElementById('1Mat'+step[n]+'WdtFrac').value*1 < .375) || (document.getElementById('1Mat'+step[n]+'Wdt').options[0].selected == true) ){
									document.getElementById('1Mat'+step[n]+'Wdt').options[1].selected = true;
									document.getElementById('1Mat'+step[n]+'WdtFrac').options[6].selected = true;
								}
							}
						}
					}
					var info = document.getElementById('mat'+x+'sku');
					//document.getElementById('mat'+x+'desc').innerHTML = info[1]; 
					if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('mat'+x+'desc', {startcolor: "#666666", endcolor: "#ffffff"}); }
	
					var width = returnMatWidth(x);
					if(width[0] == ''){ 
						killMat(x); 
					} else {
						document.getElementById('mat'+x+'wdt').innerHTML = width[0];
						if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('mat'+x+'wdt', {startcolor: "#666666", endcolor: "#ffffff"}); }
					}
				}
			} else {
				document.getElementById('mat'+x+'desc').innerHTML = '';
				document.getElementById('mat'+x+'wdt').innerHTML = '';
			}
		}
		// Linen Liners done in seperate function //

		// Change the backing
		value = document.customFrame.backing.value;
		if(value == 'assembly'){
			// Change description	
			document.getElementById('backingLabel').innerHTML = 'Assembly:';
	if(fxPrint && document.getElementById('multiMatRule').value != 'Y')
	{
		document.getElementById('backDesc').innerHTML = "Assembled, Ready to Hang <a href=\"javascript:changeAssembly('N');\" style=\"text-decoration: none;\">(Click for Self-Assembly)</a>";
		document.getElementById('assemblyNote').innerHTML = "This is ready to hang, assembled artwork. <a href=\"javascript:changeAssembly('N');\" style=\"text-decoration: none;\">(Click for Self-Assembly)</a>";
	}else{
		document.getElementById('backDesc').innerHTML = "Assembly";
		document.getElementById('assemblyNote').innerHTML = "This is ready to hang, assembled artwork."
	}
// ORIG with PRINT STRING:	document.getElementById('backDesc').innerHTML = "Assembly <a href=\"javascript:changeAssembly('N');\" style=\"text-decoration: none;\">(Click for Self-Assembly)</a> 9 PRINT:"+document.getElementById('printSku').value;
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "This is ready to hang, assembled artwork. <a href=\"javascript:changeAssembly('N');\" style=\"text-decoration: none;\">(Click for Self-Assembly)</a> 10 PRINT:"+document.getElementById('printSku').value;
			document.getElementById('assemblyValue').value = 'Y';
		}else if (value=='mounting'){
			// Change description
			document.getElementById('backingLabel').innerHTML = 'Mounting:';
	if(fxPrint && document.getElementById('multiMatRule').value != 'Y')
	{
		document.getElementById('backDesc').innerHTML = "Mounting <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
	}else{
		document.getElementById('backDesc').innerHTML = "Mounting";
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a>";
	}
// ORIG with PRINT STRING:	document.getElementById('backDesc').innerHTML = "Mounting <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 11 PRINT:"+document.getElementById('printSku').value;
			// document.getElementById('backDesc').innerHTML = "Mounting <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf7";
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 12 PRINT:"+document.getElementById('printSku').value;
			// document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf8";
			document.getElementById('assemblyValue').value = 'M';	
		} else if (value == '0'){
			// Change description
			document.getElementById('backingLabel').innerHTML = 'Backing:';
	if(fxPrint && document.getElementById('multiMatRule').value != 'Y')
	{
		document.getElementById('backDesc').innerHTML = "<a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
	}else{
		document.getElementById('backDesc').innerHTML = "";
		document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a>";
	}
// ORIG with PRINT STRING:	document.getElementById('backDesc').innerHTML = "<a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 13 PRINT:"+document.getElementById('printSku').value+"'";
// ORIG with PRINT STRING:	document.getElementById('assemblyNote').innerHTML = "Frames include assembly hardware. Wire not included.<br /><a href=\"#\" onClick=\"popup('/instructions.php');\">Click here to get information on how to assemble this frame.</a><br /><a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 13B PRINT:"+document.getElementById('printSku').value;

// alert("print: '"+document.getElementById('printSku').value+"'");
			// document.getElementById('backDesc').innerHTML = "<a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf9";
		} else if(value == '1'){
			document.getElementById('backingLabel').innerHTML = 'Backing:';
if(fxPrint && document.getElementById('multiMatRule').value != 'Y')
{
	document.getElementById('backDesc').innerHTML = "Foam Core Backing <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
}else{
	document.getElementById('backDesc').innerHTML = "Foam Core Backing";
}
// ORIG with PRINT STRING:	document.getElementById('backDesc').innerHTML = "Foam Core Backing <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 14 PRINT:"+document.getElementById('printSku').value;
			// document.getElementById('backDesc').innerHTML = "Foam Core Backing <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf10";
			if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('backDesc', {startcolor: "#666666", endcolor: "#eeeeee"}); }
		} else {
			document.getElementById('backingLabel').innerHTML = 'Backing:';
			if(totalHeight > 60 || totalWidth > 60){
				alert('Your backing choice has a width or height limit of 60".  If you wish to have backing at this size, you must choose Foam Core Backing.');
				changePD('4', 'backing', '1');
			} else {
				if(value == '2'){
	if(fxPrint && document.getElementById('multiMatRule').value != 'Y')
	{
		document.getElementById('backDesc').innerHTML = "Acid Free Foam Core Backing <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
	}else{
		document.getElementById('backDesc').innerHTML = "Acid Free Foam Core Backing";
	}
// ORIG with PRINT STRING:	document.getElementById('backDesc').innerHTML = "Acid Free Foam Core Backing <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 15 PRINT:"+document.getElementById('printSku').value;
					// document.getElementById('backDesc').innerHTML = "Acid Free Foam Core Backing <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> - asdf11";
					if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('backDesc', {startcolor: "#666666", endcolor: "#eeeeee"}); }
				} else if(value == '3') {
	if(fxPrint && document.getElementById('multiMatRule').value != 'Y')
	{
		document.getElementById('backDesc').innerHTML = "Black Regular Foam Core Backing <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a>";
	}else{
		document.getElementById('backDesc').innerHTML = "Black Regular Foam Core Backing";
	}
// ORIG with PRINT STRING:	document.getElementById('backDesc').innerHTML = "Black Regular Foam Core Backing <a href=\"javascript:changeAssembly('Y');\" style=\"text-decoration: none;\">(Click for Assembled Artwork)</a> 16 PRINT:"+document.getElementById('printSku').value;
					if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('backDesc', {startcolor: "#666666", endcolor: "#eeeeee"}); }
				}
			}
		}
		// Change the plexi
		value = document.customFrame.plexi.value;
		if(value == '0'){
			if(document.getElementById('canvasRule').value == 'Y'){
                        	document.getElementById('plexiDesc').innerHTML = "Not Available with canvas prints";
                        }
			else{
			document.getElementById('plexiDesc').innerHTML = '';
			}

		} else if(value == '1'){
			if(document.getElementById('canvasRule').value == 'Y'){
			document.getElementById('plexiDesc').innerHTML = "Not Available with canvas prints";
			}
			else{
			document.getElementById('plexiDesc').innerHTML = "Plexiglass <a href=\"javascript:changePlexi('non-glare');\" style=\"text-decoration: none;\">(Click to Add Non-Glare Plexiglass)</a>";
			}
			if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('plexiDesc', {startcolor: "#666666", endcolor: "#ffffff"}); }
		} else if(value == '2'){
			if(document.getElementById('canvasRule').value == 'Y'){
			document.getElementById('plexiDesc').innerHTML = "Not Available with canvas prints";
                        }
                        else{
				document.getElementById('plexiDesc').innerHTML = "Non-Glare Plexiglass <a href=\"javascript:changePlexi('regular');\" style=\"text-decoration: none;\">(Click to Add Regular Plexiglass)</a>";
			}
			if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('plexiDesc', {startcolor: "#666666", endcolor: "#ffffff"}); }
		}
		updateFrameShop();
		updatePrices();
	//}
}
function updateFrameShop(){
	var width = document.customFrame.frameTotalWdt.value;
	var height = document.customFrame.frameTotalHgt.value;
	
	// START NEW
	var wdt = document.getElementById('openWdt').value+document.getElementById('openWdtFrac').value;
	var hgt = document.getElementById('openHgt').value+document.getElementById('openHgtFrac').value;
	var value = document.customFrame.frameSku.value.split(",");
	var frame = value[0];
	var print = document.getElementById('printSku').value;
	var mat1 = document.getElementById('mat1sku').value;
	var mat1top = document.getElementById('1MatTopWdt').value+document.getElementById('1MatTopWdtFrac').value;
	var mat1side = document.getElementById('1MatSideWdt').value+document.getElementById('1MatSideWdtFrac').value;
	var mat1bot = document.getElementById('1MatBottomWdt').value+document.getElementById('1MatBottomWdtFrac').value;
	var mat2 = document.getElementById('mat2sku').value;
	var mat2size = document.getElementById('2MatWdt').value;
	var mat3 = document.getElementById('mat3sku').value;
	var mat3size = document.getElementById('3MatWdt').value;
	var liner = document.getElementById('linerSku').value;
	document.getElementById('uploadImage').style.display = 'none';

//	alert("in updateFrameShop... can assebly logic go here? frame:"+frame+" and print: "+print+" and uploadImage: ** can we tell?**");
// alert("in updateFrameShop... print: '"+print+"'");
	if(print != ''){
// 	alert("ENABLE ASSEMBLE LINK NOW/HERE");
//		document.getElementById('assemblyNote').style.display = 'block';
		document.getElementById('openWdt').disabled = true;
		document.getElementById('openWdtFrac').disabled = true;
		document.getElementById('openHgt').disabled = true;
		document.getElementById('openHgtFrac').disabled = true;
	}else {
//	alert("REMOVE ASSEMBLE LINK NOW/HERE");
	// changeAssembly('N');
// alert("can I trigger function changeAssembly('N') here?");
//		document.getElementById('assemblyNote').style.display = 'none';
		document.getElementById('openWdt').disabled = false;
		document.getElementById('openWdtFrac').disabled = false;
		document.getElementById('openHgt').disabled = false;
		document.getElementById('openHgtFrac').disabled = false;
	}	
	var url = '/atlas/framed.new.php?wdt='+wdt+'&hgt='+hgt+'&frame='+frame+'&mat1='+mat1+'&mat1top='+mat1top+'&mat1side='+mat1side+'&mat1bot='+mat1bot+'&mat2='+mat2+'&mat2size='+mat2size+'&mat3='+mat3+'&mat3size='+mat3size+'&liner='+liner+'&printSku='+print;

	document.getElementById('image').src = url;

	if(document.getElementById('iniInsertPrint').value == 'true'){
		document.getElementById('iniInsertPrint').value = 'false';
		document.getElementById('resultsframe').src = "/workspace/findPrint.php?sku="+print+"&width="+document.getElementById('openWdt').value+document.getElementById('openWdtFrac').value+"&height="+document.getElementById('openHgt').value+document.getElementById('openHgtFrac').value;
		document.getElementById('changePrint').style.display = 'block';
		document.getElementById('notes').style.display = 'none';
		document.getElementById('form').style.display = 'none';
		document.getElementById('close').style.display = 'none';
		document.getElementById('frameDisplay').style.display = 'none';
		document.getElementById('noPreview').style.display = 'none';
		document.getElementById('uploadImage').style.display = 'block';	
	}	
}

function showurl(){
	document.getElementById('debug').innerHTML = document.getElementById('image').src;
}
/*function updateFrameShopMats(num, top, side, bottom, color){
	if(top == 0 && side == 0 && bottom == 0){
		document.getElementById('mat'+num+'border').style.border = 'none';
	} else {
		
		document.getElementById('mat'+num+'border').style.border = '1px solid #fff';
	}
	if(!color){
		color = document.getElementById('colorStripe'+num).style.backgroundColor;
	}
	for(n=1; n<9; n++){
		//alert(color);
		document.getElementById('FS-mat'+num+'-'+n).style.background = color;
		//var matImg = document.getElementById('FS-mat'+num+'-'+n+'img').style;
		if(n == 1 || n == 3){
			document.getElementById('FS-mat'+num+'-'+n+'img').style.height = top+'px';
		}
		if(n == 1 || n == 3 || n == 6 || n == 8){
			document.getElementById('FS-mat'+num+'-'+n+'img').style.width = side+'px';
		}
		if(n == 6 || n == 8){
			document.getElementById('FS-mat'+num+'-'+n+'img').style.height = bottom+'px';
		}
	}
}*/
function inches2pixels(value, seed){
	var pixels = seed * value;
	return pixels;
}
/* PRICING CALCULATIONS AND DISPLAY */
function updatePrices(){
	var openWdt = document.customFrame.openWdt.value + document.customFrame.openWdtFrac.value;
	var openHgt = document.customFrame.openHgt.value + document.customFrame.openHgtFrac.value;
	var getString = "/atlas/customFrame.php?price=1"+"&openWdt="+escape(openWdt)+"&openHgt="+escape(openHgt);
	// Get every variable needed to update the prices with the GET string.  (this is going to be a big function)
	// Frame / Window Opening
	if(document.customFrame.frameSku.value !== ''){
		var frameValue = document.customFrame.frameSku.value.split(",");
		var frameSku = frameValue[0];
		getString = getString + "&frameSku="+escape(frameSku);
	}
// alert("in updatePrices... "+document.getElementById('printSku').value);	
	// Print
	if(document.getElementById('printSku').value !== ''){
		var printValue = document.getElementById('printSku').value.split(",");
		var printSku = printValue[0];	
		getString = getString + "&printSku="+escape(printSku);
	}

	// Mat #1
	if(document.getElementById('mat1sku').value != ''){
		var mat1info = document.getElementById('mat1sku').value.split(",");
// alert ("mat1info: "+mat1info);
		var mat1sku = mat1info[0];
// alert ("mat1sku: "+mat1sku);
		var matTopWdt = document.getElementById('1MatTopWdt').value + document.getElementById('1MatTopWdtFrac').value;
		var matSideWdt = document.getElementById('1MatSideWdt').value + document.getElementById('1MatSideWdtFrac').value;
		var matBotWdt = document.getElementById('1MatBottomWdt').value + document.getElementById('1MatBottomWdtFrac').value;
		getString = getString + "&mat1sku="+escape(mat1sku)+"&matTopWdt="+escape(matTopWdt)+"&matSideWdt="+escape(matSideWdt)+"&matBotWdt="+escape(matBotWdt);
		// Mat #2
		if(document.getElementById('mat2sku').value != ''){
			var mat2info = document.getElementById('mat2sku').value.split(",");
			var mat2sku = mat2info[0];
			var mat2wdt =  document.getElementById('2MatWdt').value;
			getString = getString + "&mat2sku="+escape(mat2sku)+"&mat2wdt="+escape(mat2wdt);
			// Mat #2
			if(document.getElementById('mat3sku').value != ''){
				var mat3info = document.getElementById('mat3sku').value.split(",");
				var mat3sku = mat3info[0];
				var mat3wdt =  document.getElementById('3MatWdt').value;
				getString = getString + "&mat3sku="+escape(mat3sku)+"&mat3wdt="+escape(mat3wdt);
			}
		}
	} else if(document.getElementById('linerSku').value != ''){
		// Linen Liners
		var linerSku = document.getElementById('linerSku').value;
		getString = getString + "&linerSku="+escape(linerSku);
	}

	// Backing and Plexi
	var backType = document.getElementById('backing').value;
	var assemblyValue = document.getElementById('assemblyValue').value;
	var plexi = document.getElementById('plexi').value;

	getString = getString + "&backtype="+escape(backType)+"&assemblyValue="+assemblyValue+"&plexi="+escape(plexi);

	// Display the debug link:
	// document.getElementById('debug').innerHTML = "http://192.168.0.125"+getString;

	if (!isWorking && http) {
		http.open("GET", getString, true);
		// Send it via AJAX
		http.onreadystatechange = returnHttpResponse; 
		isWorking = true;
 		http.send(null);
	}
}
function updateReceipt(){
	var print = document.getElementById('printPrc').value;
	var clearancePrint = document.getElementById('clearancePrintPrc').value*1;
	var frame = document.getElementById('framePrc').value;
	var clearanceFrame = document.getElementById('clearanceFramePrc').value*1;
	var mat1 = document.getElementById('mat1Prc').value*1;
	var clearanceMat1 = document.getElementById('clearanceMat1Prc').value*1;
	var mat2 = document.getElementById('mat2Prc').value*1;
	var clearanceMat2 = document.getElementById('clearanceMat2Prc').value*1;
	var mat3 = document.getElementById('mat3Prc').value*1;
	var clearanceMat3 = document.getElementById('clearanceMat3Prc').value*1;
	var liner = document.getElementById('linerPrc').value;
	var clearanceLiner = document.getElementById('clearanceLinerPrc').value*1;
	//var mat = parseFloat(mat1 + mat2 + mat3);
	var backing = document.getElementById('backPrc').value;
	var plexi = document.getElementById('plexiPrc').value;
	var old_plexi = '0';
	if(document.getElementById('canvasRule').value == 'Y'){
		document.forms['customFrame'].plexi.selectedIndex = 0;
                old_plexi = plexi;
                plexi = '0.00';
        }
	var total = document.getElementById('totalPrc').value - old_plexi;
	var clearanceTotal = document.getElementById('clearanceTotalPrc').value - old_plexi;
	
	// Update the frame
	if (clearanceFrame != '0.00'){
		document.getElementById('frame_price').innerHTML = "<del>$ " + round_decimals(frame, 2) + "</del>";	
		document.getElementById('clearance_frame_price').innerHTML = "<font color=\"#FF0000\">&nbsp;$ " + round_decimals(clearanceFrame, 2) + "</font>";
		document.getElementById('clearance').style.display = 'block';
	}else{
		document.getElementById('frame_price').innerHTML = "$ " + round_decimals(frame, 2);
		document.getElementById('clearance_frame_price').innerHTML ='';
		document.getElementById('clearance').style.display = 'none';
	}
	
	// Update the print
	if (clearancePrint != '0.00'){
		document.getElementById('print_price').innerHTML = "<del>$ " + round_decimals(print, 2) + "</del>";
		document.getElementById('clearance_print_price').innerHTML = "<font color=\"#FF0000\">&nbsp;$ " + round_decimals(clearancePrint, 2) + "</font>";
	}else{
		document.getElementById('print_price').innerHTML = "$ " + round_decimals(print,2);
		document.getElementById('clearance_print_price').innerHTML = '';
	}

	// Update the mats
	//Mat1
	if (clearanceMat1 != '0.00'){
		document.getElementById('mat1_price').innerHTML = "<del>$ " + round_decimals(mat1, 2) + "</del>";
		document.getElementById('clearance_mat1_price').innerHTML = "<font color=\"#FF0000\">&nbsp;$ " + round_decimals(clearanceMat1, 2) + "</font>";
	}else{
		document.getElementById('mat1_price').innerHTML = "$ " + round_decimals(mat1, 2);
		document.getElementById('clearance_mat1_price').innerHTML='';
	}
	//Mat2
	if (clearanceMat2 != '0.00'){
		document.getElementById('mat2_price').innerHTML = "<del>$ " + round_decimals(mat2, 2) + "</del>";
		document.getElementById('clearance_mat2_price').innerHTML = "<font color=\"#FF0000\">&nbsp;$ " + round_decimals(clearanceMat2, 2) + "</font>";
	}else{
		document.getElementById('mat2_price').innerHTML = "$ " + round_decimals(mat2, 2);
		document.getElementById('clearance_mat2_price').innerHTML='';
	}
	//Mat3
	if (clearanceMat3 != '0.00'){
		document.getElementById('mat3_price').innerHTML = "<del>$ " + round_decimals(mat3, 2) + "</del>";
		document.getElementById('clearance_mat3_price').innerHTML = "<font color=\"#FF0000\">&nbsp;$ " + round_decimals(clearanceMat3, 2) + "</font>";
	}else{
		document.getElementById('mat3_price').innerHTML = "$ " + round_decimals(mat3, 2);
		document.getElementById('clearance_mat3_price').innerHTML='';
	}
	
	//Update the linen liner
	if (clearanceLiner != '0.00'){
		document.getElementById('liner_price').innerHTML = "<del>$ " + round_decimals(liner, 2) + "</del>";
		document.getElementById('clearance_liner_price').innerHTML = "<font color=\"#FF0000\">&nbsp;$ " + round_decimals(clearanceLiner, 2) + "</font>";
	}else{
		document.getElementById('liner_price').innerHTML = "$ " + round_decimals(liner, 2);
		document.getElementById('clearance_liner_price').innerHTML='';
	}

	// Update the backing
	document.getElementById('back_price').innerHTML = "$ " + round_decimals(backing, 2);
	// Update the plexi
	document.getElementById('plexi_price').innerHTML = "$ " + round_decimals(plexi, 2);
	// Total price 
	document.getElementById('total_price').innerHTML = "$ " + round_decimals(total, 2);
	// Clearance Total Price

	if (clearanceTotal != '0.00'  && clearanceTotal != total){	
		document.getElementById('total_price').innerHTML = "<del>$ " + round_decimals(total, 2) +"</del>";
		document.getElementById('clearance_total_price').innerHTML = "<font color=\"#FF0000\">&nbsp;$ " + round_decimals(clearanceTotal, 2) + "</font>";
	}else{	
		document.getElementById('total_price').innerHTML = "$ " + round_decimals(total, 2);
		document.getElementById('clearance_total_price').innerHTML='';
	}
	// Check the final total price
	// Update total frame size
	frameTotalHeight = document.customFrame.frameTotalHgt.value.split('.');
	frameTotalWidth = document.customFrame.frameTotalWdt.value.split('.');

	document.getElementById('totalsize').innerHTML = frameTotalWidth[0]+" "+fraction(Math.round(parseFloat('.'+frameTotalWidth[1])*10000)/10000)+"\" x "+frameTotalHeight[0]+" "+fraction(Math.round(parseFloat('.'+frameTotalHeight[1])*10000)/10000)+"\"";
	//document.getElementById('totalsize').innerHTML = document.customFrame.frameTotalWdt.value+" x "+document.customFrame.frameTotalHgt.value;
	calcFinalTotal();
	thinking('off');
}
function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}
function pad_with_zeros(rounded_value, decimal_places) {
    // Convert the number to a string
    var value_string = rounded_value.toString();
    // Locate the decimal point
    var decimal_location = value_string.indexOf(".");
    // Is there a decimal point?
    if (decimal_location == -1) {      
        // If no, then all decimal places will be padded with 0s
        decimal_part_length = 0;
        // If decimal_places is greater than zero, tack on a decimal point
        value_string += decimal_places > 0 ? "." : "";
    }
    else {
        // If yes, then only the extra decimal places will be padded with 0s
        decimal_part_length = value_string.length - decimal_location - 1;
    }
    // Calculate the number of decimal places that need to be padded with 0s
    var pad_total = decimal_places - decimal_part_length;
    if (pad_total > 0) {
        // Pad the string with 0s
        for (var counter = 1; counter <= pad_total; counter++) {
            value_string += "0";
        }
	}
    return value_string
}
function fraction(num){
	if(num== '0' || num == '.0' || num == '.00' || num== '.000' || num== '.0000'){ return ''; } 
	else if(num == '.0625'){ return '1/16';	} 
	else if (num == '.1250'){ return '1/8'; } 
	else if (num == '.1875'){ return '3/16'; } 
	else if (num == '.2500'){ return '1/4'; } 
	else if (num == '.3125'){ return '5/16'; } 
	else if (num == '.3750'){ return '3/8'; } 
	else if (num == '.4375'){ return '7/16'; } 
	else if (num == '.5000' || num == '.50'){ return '1/2'; } 
	else if (num == '.5625'){ return '9/16'; } 
	else if (num == '.6250'){ return '5/8'; } 
	else if (num == '.6875'){ return '11/16'; } 
	else if (num == '.7500'){ return '3/4'; } 
	else if (num == '.8125'){ return '13/16'; } 
	else if (num == '.8750'){ return '7/8'; } 
	else if (num == '.9375'){ return '15/16'; }
}
function thinking(toggle){
	var think = document.getElementById('thinking');
	if(toggle == 'on'){
		think.innerHTML = '<img src="/atlas/images/spinner.gif" />';
	} else if(toggle == 'off'){
		think.innerHTML = '';
	}
}

function showImageUpload(){
	if(document.getElementById('uploadImage').style.display == 'none'){
		document.getElementById('frameDisplay').style.display = 'none';
		document.getElementById('noPreview').style.display = 'none';
		document.getElementById('notes').style.display = 'block';
		document.getElementById('form').style.display = 'block';
		document.getElementById('close').style.display = 'block';
	
		if(document.getElementById('effects').value == 'y'){ Effect.Appear('uploadImage'); }
		else { document.getElementById('uploadImage').style.display = 'block'; }
	} else {
		document.getElementById('uploadImage').style.display = 'none';
		document.getElementById('frameDisplay').style.display = 'block';
		updateFrameShop();
	}
}

function showDetail(what){
	if(what == 'frame'){
		document.getElementById('profilePic').style.display = 'none';
		document.getElementById('framePic').style.display = 'block';
	} else if (what == 'profile'){
		document.getElementById('framePic').style.display = 'none';
		document.getElementById('profilePic').style.display = 'block';
	}
}
function selectStock(num){
	var total = 3;
	for(x=1;x<total+1;x++){
		document.getElementById('stock'+x).style.backgroundColor = "";
	}
	document.getElementById('stock'+num).style.backgroundColor = "pink";
	document.uploadForm.stock.value = num;
}
function switchMat(value){
	// Set the tab to 1
	showMat('1');
	// Hide both
	document.getElementById('paperMats').style.display = 'none';
	document.getElementById('liners').style.display = 'none';
	// show the one
	document.getElementById(value).style.display = 'block';
}
function calcFinalTotal(){
	if(document.getElementById('qty').value == '0'){
		document.getElementById('qty').value = '1';
	}

	if(document.getElementById('clearanceTotalPrc').value != '0.00' && document.getElementById('clearanceTotalPrc').value != document.getElementById('totalPrc'))
		var final_total = round_decimals(document.customFrame.clearanceTotalPrc.value * document.getElementById('qty').value, 2);
	else
		var final_total = round_decimals(document.customFrame.totalPrc.value * document.getElementById('qty').value, 2);		
	document.getElementById('final_total_price').innerHTML = "$ "+final_total;
	document.customFrame.finalPrc.value = final_total;
	// Set the value to pass to the cart
	document.customFrame.qty.value = document.getElementById('qty').value;
	if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('finalTotalPrice', {startcolor: "#666666", endcolor: "#eeeeee"}); }
}
function changeLiner(sku, width, hex){
	var flag;
	if(document.getElementById('mat1sku').value != ''){
		if(confirm("Changing your matting to a Linen Liner will clear all previous mat settings.  Proceed?")){
			killMat('1');
			flag = 1;
		}
	} else {
		flag = 1;
	}
	if(flag == 1){
		var profile = document.getElementById('linenProfile');
		var corner = document.getElementById('linenCorner');
		// Get the total height and width ????
		//var totalHgt = document.customFrame.frameTotalWdt.value;
		//var totalWdt = document.customFrame.frameTotalHgt.value;
		// Put the information in the right places
		document.getElementById('linerSku').value = sku;			// a hidden input field in customFrame.php
		document.getElementById('linerColor').value = hex;			// a hidden input field in customFrame.php
		document.getElementById('linerWidth').value = width;		// a hidden input field in customFrame.php
		//document.getElementById('linerDesc').innerHTML = desc;
		if(sku == ''){
			profile.style.display = 'none';
			corner.style.display = 'none';
			document.getElementById('noLinen').style.display = 'block';
		} else {
			// Highlight the description
			if(document.getElementById('effects').value == 'y'){ new Effect.Highlight('linerDesc', {startcolor: "#666666", endcolor: "#ffffff"}); }
			// Show the pictures
			document.getElementById('noLinen').style.display = 'none';
			profile.src = "/atlas/images/liners/p"+sku+".jpg";
			corner.src = "/atlas/images/liners/"+sku+".jpg";
			profile.style.display = 'block';
			corner.style.display = 'block';
		}
	}
}

function addToCart(){

	var assembly = document.getElementById('assemblyValue').value;
	var ui = document.customFrame.frameTotalHgt.value*1 + document.customFrame.frameTotalWdt.value*1;
	
	//Check the assembly	
	if(assembly == 'Y' && (document.customFrame.frameSku.value == '' || document.getElementById('printSku').value == '')){
		alert("An assembled custom design must contain both a frame and a print.  Please add missing components or select self-assembly.");
	//	document.getElementById('final_total_price').innerHTML = 'Waiting on assembly...';
	//	document.getElementById('total_price').innerHTML = 'Waiting on assembly...';
	// Check the total United Inches	
	}else if (assembly == 'M' && (document.getElementById('printSku').value == '')){
		alert("A mounted custom design must contain a print.  Please add a print or remove mounting.");
	}else if(ui > 83 && (document.getElementById('plexi').checked == true || document.getElementById('backing').value != '0' || document.getElementById('mat1sku').value != '')) {		
		// Have they seen this error already?
		alert("This item has become too large (over 84 united inches) to ship with plexi, backing or matting. They will either need to be removed or your item must decrease in size. Then try again.");
		document.getElementById('final_total_price').innerHTML = 'Waiting on size change...';
		document.getElementById('total_price').innerHTML = 'Waiting on size change...';
	} else if(document.getElementById('backing').value == '0' && document.getElementById('mat1sku').value == '' && document.getElementById('plexi').checked == false && document.customFrame.frameSku.value == '' && document.getElementById('linerSku').value == '') {
		alert("Please add something to your order before you put it in your cart.");
		return;
	} else {
		calcFinalTotal(); 
		document.getElementById('openWdt').disabled = false;
		document.getElementById('openWdtFrac').disabled = false;
		document.getElementById('openHgt').disabled = false;
		document.getElementById('openHgtFrac').disabled = false;

		document.customFrame.submit();
		//alert('ORDERED');
	}
}

// ## GAW added for FBM frameshop 'print change' - when searching, 'subject' redirects to: /prints/subject

// alert ("initial load");

function findPrint_searchForPrint_dropDownMenu(value)
{
	// alert ("im in: "+value);
	if(value=='subject')
	{
// alert ("inside subject");
		document.getElementById('subject_dd').style.display = 'block';

		document.getElementById('printSearchTerm').style.display = 'none';
		document.getElementById('findPrint_searchForPrint_Submit').style.display = 'none';
		
		document.getElementById('artist_dd_abc').style.display = 'none';
		document.getElementById('sub_cat_artist_dd').style.display = 'none';
		
// alert("open subject drop down - then sub-category drop down based on first");
// alert ("after");

		// set focus
		document.getElementById('subject_dd').focus();


	}else if(value==''){ // is EMPTY STRING '' (not the same as NULL or "not set")
// alert ("inside NULL/Nothing");

		// parent.window.document.getElementById('popWin').style.display='none'; // close the popup if a "Choose Search Type" selected
	
		document.getElementById('printSearchTerm').style.display = 'none';
		document.getElementById('findPrint_searchForPrint_Submit').style.display = 'none';

		document.getElementById('subject_dd').style.display = 'none';
		document.getElementById('sub_cat_subject_dd').style.display = 'none';		

  // document.getElementById('artist_dd_abc_div').style.display = 'none';
		document.getElementById('artist_dd_abc').style.display = 'none';
		document.getElementById('sub_cat_artist_dd').style.display = 'none';

		// set focus
		document.getElementById('printSearchType').focus();

	}else if(value=='artist'){
// alert ("inside artist");

		document.getElementById('artist_dd_abc').style.display = 'block';
		document.getElementById('sub_cat_artist_dd').style.display = 'none';

		document.getElementById('subject_dd').style.display = 'none';
		document.getElementById('sub_cat_subject_dd').style.display = 'none';		
// alert ("here now!!! - need to start showing HARD CODED a,b,c drop-down, THEN allow those changes to populate the 2nd drop-down.  I think some of my $cat code, etc from subject will 'step on the toes' of artist");
		document.getElementById('printSearchTerm').style.display = 'none';
		document.getElementById('findPrint_searchForPrint_Submit').style.display = 'none';
  // document.getElementById('artist_dd_abc_div').style.display = 'block';

		// set focus
		document.getElementById('artist_dd_abc').focus();
		
	}else{
		// is NULL or NOT SET.  This is not the same as '' (empty string), not SUBJECT and not ARTIST (TITLE & SKU WILL HIT)
// alert ("inside ELSE... TITLE & SKU");

		// hide subject drop down menu/list
		document.forms['form_findPrint_searchForPrint'].subject_dd.selectedIndex = 0;
		document.getElementById('subject_dd').style.display = 'none';
		document.getElementById('sub_cat_subject_dd').style.display = 'none';

		// hide artist drop down menu/list
  // document.getElementById('artist_dd_abc_div').style.display = 'none';
		document.getElementById('artist_dd_abc').style.display = 'none';
		document.getElementById('sub_cat_artist_dd').style.display = 'none';
		
		
		// make text box and submit/find button visible
		document.getElementById('printSearchTerm').style.display = 'block';
		document.getElementById('findPrint_searchForPrint_Submit').style.display = 'block';
// alert ("now");

		// set focus
		document.getElementById('printSearchTerm').focus();
		document.getElementById('printSearchTerm').select();

		// printSearchTerm.focus();
	}
	return false;
}

// function changeBacking(value)
// {
//	// GAW added to allow link(s) to change backing in FBM Frameshop based on assembly
//	// currently not used.. search "changeBacking" to find potential USE of this function
//	document.forms['customFrame'].backing.selectedIndex = value;
// }

