	var FOLDING = "79";
	var FOLDED_WIDTH = "96";
	var FOLDED_LENGTH = "97";
	var NUMBER_OF_PAGES = "225";
	var PMS_COLORS = "226";
	var BUNDLE_SIZE = "227";
	var NUMBER_OF_PERFORATIONS = "238";
	var DRILL_HOLE_SIZE = "237";
	var NUMBERING = "229";
	var INK_COLOR = "230";
	var START_NUMBER = "231";
	var BOOKLET_COVER = "239";
	var BOOKLET_COATING = "245";
	var MAILING_LIST_TYPE = "242";
	var COATING = "78";
	var PAPER_STOCK = "44";
	var WAFER_SEALS = "235";
	var MAGAZINE_COVER = "304";
	var MAGAZINE_COVER_COATING = "301";
//	var MAGAZINE_NUMBER_OF_PAGES = "305";
	var MAGAZINE_VALUE = "28824";
	var BOOKLET_PROOF_TYPE = "291";
	var PROOF_TYPE = "80";

	var FSC_LOGO = "253";
	var RECYCLED_PAPER = "252";
	var FSC_CERTIFIED_PAPER = "251";
	var FLAT_WIDTH = "94";
	var FLAT_LENGTH = "95";
	var MAILING_SERVICES = "241";
	var COLORS_INKS_ON_BACK = "75";
	var PAPER_STOCK_70LB_OPAQUE = "28554";

	var STICKER_PRODUCT = "28988";
	var LABEL_PRODUCT = "28989";
	var L_S_NUMBER_OF_SHEETS = "335";
	var L_S_FOUR_SHEETS_MODIFIER_ITEM = "28990";
	var PAPER_STOCK_60LB_UNCOATED_PERM_AD = "28991";
	var PAPER_STOCK_70LB_HIGH_GLOSS_LASER = "29008";

	function makeHttpRequest(url, callback_function, return_xml) {
		var xmlHttp = false;
		if (window.XMLHttpRequest) { 
			xmlHttp = new XMLHttpRequest();
			if (xmlHttp.overrideMimeType) {
				xmlHttp.overrideMimeType('text/xml');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!xmlHttp) {
			return false;
		}
		xmlHttp.onreadystatechange = 
			function() {
				if (xmlHttp.readyState == 4) {
					if (xmlHttp.status == 200) {
						if (return_xml) {
							eval(callback_function + '(xmlHttp.responseXML)');
						} else {
							eval(callback_function + '(xmlHttp.responseText)');
						}
					} else {
						return false;
					}
				}
			}
		xmlHttp.open('GET', url, true);
		xmlHttp.send(null);
	}
	
	function setCoatings(ExcludeC1S) {
		var url = "/DesktopModules/48HPOMFrontEnd/QuoteRequestCoatings.aspx";
		if(ExcludeC1S)
			url = url +"?ExcludeC1S=1";
		makeHttpRequest(url, 'setCoatings_Callback', true);
	}
	
	function setCoatings_Callback(xmlDoc) {
		var coatingSelect = document.getElementById("c78");
		var selected = coatingSelect.value;
		for (var count = coatingSelect.options.length-1; count >-1; count--) {
			if(coatingSelect.options[count].value != "")
				coatingSelect.options[count] = null;
		}
		var optionNodes = xmlDoc.getElementsByTagName('option');
		var value;
		var name; 
		var optionItem;
		for (var count = 0; count < optionNodes.length; count++) {
   			text = getInnerText(optionNodes[count]);
			value = optionNodes[count].getAttribute("id");
			optionItem = new Option(text, value, false, value == selected);
			coatingSelect.options[coatingSelect.length] = optionItem;
		}
	}
		
	function setBinderyOptions(dd) {
		var url = "/DesktopModules/48HPOMFrontEnd/QuoteRequestBindery.aspx";
		url = url +"?ProductType=" + dd.value;
		makeHttpRequest(url, 'setBinderyOptions_Callback', true);	
	}

	function setBinderyOptions_Callback(xmlDoc) {
		var checkboxes = document.getElementsByName("c92");
		for (var i = 0; i < checkboxes.length; i++)
			checkboxes[i].disabled = false;
		
		var optionNodes = xmlDoc.getElementsByTagName('option');
		var id;
		for (var count = 0; count < optionNodes.length; count++) {
   			id = getInnerText(optionNodes[count]);
			el = document.getElementById(id);
			el.disabled = true;
			el.checked = false;
							
			if(id == "cb1612") { // perforations
				hideControl(NUMBER_OF_PERFORATIONS);
			}
			else if(id == "cb1613") { // folds
				hideControl(FOLDING);
				hideControl(FOLDED_WIDTH);
				hideControl(FOLDED_LENGTH);
			}
			else if(id == "cb1615") { // drill hole
				hideControl(DRILL_HOLE_SIZE);
			}
			else if(id == "cb1617") { // ink jetting
				hideControl(NUMBERING);
				hideControl(INK_COLOR);
				hideControl(START_NUMBER);
			}
			else if(id == "cb1619") { // shrink wrapping
				hideControl(BUNDLE_SIZE);
			}
			else if(id == "cb28573") { // shrink wrapping
				hideControl(WAFER_SEALS);
			}
		}
	}
	
	function setupControls() {
		var coatingSelect = document.getElementById("c44");
		if(coatingSelect.value == "95")
			setCoatings(false);
		else
			setCoatings(true);
			
		var productTypeSelect = document.getElementById("c76");
		setBinderyOptions(productTypeSelect);
	}
	
	function getInnerText(node) {
		return (node.textContent || node.innerText || node.text) ;
	}

	function hideControl(id) {
	    try {
		    document.getElementById("tr" + id).style.display = "none";
		    disableControl(id);
		}
		catch (ex) {
		    //alert(id); 
		}
	}
	
	function showControl(id) {
	    try {
		    document.getElementById("tr" + id).style.display = "block";
		    enableControl(id);
        } catch (ex) {
            //alert(id); 
		}
	}
	
	function disableControl(id) {
		document.getElementById("c" + id).disabled = true;
		document.getElementById("c" + id).value = "";
	}

	function enableControl(id) {
		document.getElementById("c" + id).disabled = false;
	}
	
	function checkQuantity(tb) {
		el = document.getElementById("c76"); // product type
		quantity = parseInt(tb.value.replace(',','')) ;
		if(isNaN(quantity)) {
			tb.value = "";
			return;
		}
		if(el.value == "1541") { // pocket folders
			if(quantity <= 100)
				quantity = 100;
			else
				quantity = Math.ceil(quantity/ 250) * 250;
		}
		else if (el.value == "28467" || el.value == MAGAZINE_VALUE) { // booklets or magazines
			quantity = Math.ceil(quantity/ 250) * 250;
		}
		else {
			if(quantity <= 500)
				quantity = 500;
			else
				quantity = Math.ceil(quantity/ 250) * 250;
		}
		
		tb.value = quantity;
	}
	
	function checkboxSelect(cb) {
		if(cb.id == "cb1613") { // folds
			if(cb.checked) {
				showControl(FOLDING);
				showControl(FOLDED_WIDTH);
				showControl(FOLDED_LENGTH);
			}
			else {
			    hideControl(FOLDING);
				el = document.getElementById("c76"); // product type
				if (el.value != "28467" && el.value != "28824" &
				    el.value != "1536" && el.value != "28461" & 
				    el.value != "28462") { 
				// booklets, magazines, brochures, menus, folded cards
					hideControl(FOLDED_WIDTH);
					hideControl(FOLDED_LENGTH);
				}
			}
		}
		else if(cb.id == "cb1619") { // shrink wrapping
			if(cb.checked) {
				showControl(BUNDLE_SIZE);
			}
			else {
				hideControl(BUNDLE_SIZE);
			}			
		}
		else if(cb.id == "cb1612") { // perforations
			if(cb.checked) {
				showControl(NUMBER_OF_PERFORATIONS);
			}
			else {
				hideControl(NUMBER_OF_PERFORATIONS);
			}			
		}
		else if(cb.id == "cb1615") { // drill hole
			if(cb.checked) {
				showControl(DRILL_HOLE_SIZE);
			}
			else {
				hideControl(DRILL_HOLE_SIZE);
			}			
		}
		else if(cb.id == "cb1617") { // numbering
			if(cb.checked) {
				showControl(NUMBERING);
				showControl(INK_COLOR);
				showControl(START_NUMBER);
			}
			else {
				hideControl(NUMBERING);
				hideControl(INK_COLOR);
				hideControl(START_NUMBER);
			}			
		}
		else if(cb.id == "cb28573") { // wafer seals
			if(cb.checked) {
				showControl(WAFER_SEALS);
			}
			else {
				hideControl(WAFER_SEALS);
			}	
		}
	}
	
	function radioSelect(rb) {
		if(rb.value == "28531") { 
			showControl(MAILING_LIST_TYPE);
		}
		else if(rb.value == "28532") { 
			hideControl(MAILING_LIST_TYPE);
		}
	}
	
	function dropdownSelect(dd) {
		if(dd.id == "c74") { // inks on front
			if(dd.value != "" && dd.value != "1526") {
				showControl(PMS_COLORS);
			}
			else {
				el = document.getElementById("c75"); // inks on back
				if(el.value == "1531" || el.value == "1529" || el.value == "") {
					hideControl(PMS_COLORS);
				}
			}
		}
		else if(dd.id == "c75") { // inks on back
			if(dd.value != "" && dd.value != "1531" && dd.value != "1529") {
				showControl(PMS_COLORS);
			}
			else {
				el = document.getElementById("c74"); // inks on front
				if(el.value == "" || el.value == "1526") {
					hideControl(PMS_COLORS);
				}
			}
		}
		else if(dd.id == "c44") { // paper stock
		    if (dd.value == "28554" || dd.value == "28660") { // 70#
				disableControl(COATING);
			}
			else {
				enableControl(COATING);
			}
			
			if(dd.value == "95") { // 14pt.
				setCoatings(false);
			}
			else {
				setCoatings(true);
			}
		}
		else if(dd.id == "c76") { // product type
			setBinderyOptions(dd);
			
			el = document.getElementById("c240"); // quantity
			checkQuantity(el);

			if (dd.value == "28467") { // booklets
			    //alert("yes booklet");
				//showControl(NUMBER_OF_PAGES);
				showControl(BOOKLET_COVER);
				showControl(BOOKLET_COATING);
				//showControl(FOLDED_WIDTH);
				//showControl(FOLDED_LENGTH);
				//showControl(BOOKLET_PROOF_TYPE);
				//hideControl(PROOF_TYPE);
			}
			else {
			    //alert("no booklet");
			//	hideControl(NUMBER_OF_PAGES);
				hideControl(BOOKLET_COVER);
				hideControl(BOOKLET_COATING);
				//hideControl(BOOKLET_PROOF_TYPE);
				//showControl(PROOF_TYPE);
            }
			

			if (dd.value == MAGAZINE_VALUE) { // magazines

			  //  showControl(NUMBER_OF_PAGES);  
			    showControl(MAGAZINE_COVER);
			    //showControl(FOLDED_WIDTH);
			    //showControl(FOLDED_LENGTH);
			    showControl(MAGAZINE_COVER_COATING);
			}
			else {
			    //alert("no magazine");
		//	    hideControl(MAGAZINE_NUMBER_OF_PAGES);
			  //  hideControl(NUMBER_OF_PAGES);
			    hideControl(MAGAZINE_COVER);
			    hideControl(MAGAZINE_COVER_COATING); 
			    //hideControl(BOOKLET_COATING);A
			}
			
			if (dd.value == "28467" || dd.value == MAGAZINE_VALUE) {
			//if (dd.value == "28467") {
			    //alert("hide proof");
			    showControl(BOOKLET_PROOF_TYPE);
			    hideControl(PROOF_TYPE);
			   // showControl(BOOKLET_COATING);
			    showControl(NUMBER_OF_PAGES);  
			  
			}
			else {
			    //alert("hide booklet");
			    hideControl(BOOKLET_PROOF_TYPE);
			    showControl(PROOF_TYPE);
			    //hideControl(MAGAZINE_COVER); sd
			    hideControl(BOOKLET_COATING);
			    hideControl(NUMBER_OF_PAGES);
			}


			if (dd.value == "28462" || dd.value == "28461" ||
			    dd.value == "1536" || dd.value == "28467" ||
			    dd.value == MAGAZINE_VALUE) { // folded cards
			    showControl(FOLDED_WIDTH);
			    showControl(FOLDED_LENGTH);
			}
			//else {
			//    hideControl(FOLDED_LENGTH);
			//    hideControl(FOLDED_WIDTH); 
			//}

			if (dd.value == "1539" || dd.value == "28454" ||        // letterhead & envelope
			    dd.value == LABEL_PRODUCT || dd.value == STICKER_PRODUCT) {
			    if (dd.value == "1539" || dd.value == "28454") { // letterhead & envelope
			        disableControl(COATING);
			        document.getElementById("c" + COATING).disabled = true;
			        
			        document.getElementById("c" + PAPER_STOCK).value = PAPER_STOCK_70LB_OPAQUE; // 70# Opaque
			        document.getElementById("c" + PAPER_STOCK).disabled = true;
			    }
			    if (dd.value == LABEL_PRODUCT) {
			        disableControl(PAPER_STOCK);
			        document.getElementById("c" + PAPER_STOCK).value = PAPER_STOCK_60LB_UNCOATED_PERM_AD; // 60# Uncoated Permanent Adhesive
			        document.getElementById("c" + PAPER_STOCK).disabled = true;
			    }
			    if (dd.value == STICKER_PRODUCT) {
			        disableControl(PAPER_STOCK);
			        document.getElementById("c" + PAPER_STOCK).value = PAPER_STOCK_70LB_HIGH_GLOSS_LASER; // 70# High Gloss Laser
			        document.getElementById("c" + PAPER_STOCK).disabled = true;
			    }
			}
			else {
				
				el = document.getElementById("c44"); // paper stock
				if (el.value != "28554" && el.value != "28660") { // 70# and 110#
					enableControl(COATING);
				}
				enableControl(PAPER_STOCK);
			}

			if (!document.getElementById("cb1613").checked && dd.value != "28467" && dd.value != "28462" && dd.value != MAGAZINE_VALUE && dd.value != "28461" && dd.value != "1536") {

				hideControl(FOLDED_WIDTH);
				hideControl(FOLDED_LENGTH);
				}
				
            if (dd.value == STICKER_PRODUCT || dd.value == LABEL_PRODUCT) {

                hideControl(FOLDED_WIDTH);
                hideControl(FOLDED_LENGTH);
                
                disableControl(COATING);
                hideControl(MAILING_SERVICES); // Mailing services
                hideControl(COLORS_INKS_ON_BACK); // Colors/Inks on back
            }
            else {
                showControl(MAILING_SERVICES) // Mailing services
                showControl(COLORS_INKS_ON_BACK); // Colors/Inks on back
                //showControl(COATING); <- THIS NEEDS TO BE LEFT OUT!! It causes the coating modifier to be enabled for items that don't need it!
            }
        }


        // hide for Labels & Sticker and all others
        hideControl(L_S_FOUR_SHEETS_MODIFIER_ITEM);
        hideControl(L_S_NUMBER_OF_SHEETS);

        hideControl(RECYCLED_PAPER);
        hideControl(FSC_CERTIFIED_PAPER);
	}
