// products.js
// For building the dynamic list of products
var fams = new Array();

// add product family
function _PF(familyId,familyName) {
	var fam = new Array();
	fam[0] = familyId;
	fam[1] = familyName;
	fam[2] = new Array();
	fams[fams.length] = fam;
}
// add product
function _P(familyId,sku,title,desc) {
	var thisFam = fams[familyId];
	var prod = new Array();
	prod[0] = sku;
	prod[1] = title;
	prod[2] = desc;
	thisFam[2][thisFam[2].length] = prod;
}
function getProdDesc(sku) {
	for (var i  = 0; i < fams.length; i++) {
		if (fams[i][2] != null) {
			for (var j = 0; j < fams[i][2].length; j++) {
				var prod = fams[i][2][j];
				if (prod[0] == sku) {
					return prod[2];
				}
			}
		}
	}
	return '';
}
function getProdTitle(sku) {
	for (var i  = 0; i < fams.length; i++) {
		if (fams[i][2] != null) {
			for (var j = 0; j < fams[i][2].length; j++) {
				var prod = fams[i][2][j];
				if (prod[0] == sku) {
					return prod[1];
				}
			}
		}
	}
	return '';
}

function initFams() {
_PF(0,"--Please Select a Category--");
_PF(1,"Post-it&reg; Notes Original");
_PF(2,"Post-it&reg; Notes Recycled Paper");
_PF(3,"Post-it&reg; Super Sticky Notes");
_PF(4,"Post-it&reg; Pop-up Super Sticky Notes");
_PF(5,"Post-it&reg; Flags");
_PF(6,"Post-it&reg; Durable Tabs");
_PF(7,"Post-it&reg; Flag+ Writing Instruments");
_PF(8,"Post-it&reg; Easel Pads");
_PF(9,"Post-it&reg; Bulletin Boards");
_PF(10,"3M Whiteboards");
_PF(11,"3M Workspace");
}

function initProds() {
// goes like this _P( [family id], [SKU], [Drop-down text], [Description]);
// make sure to use HTML entities to escape trademarks, etc., and escape quotes with \ (i.e., " = \");
_P(1,"70071349289","Canary Yellow, 14/PK + 4 FREE Assorted Color Pads", "Post-it&reg; Notes, Original Pad, 3\"X3\", Canary Yellow, 14/PK + 4 FREE Assorted Color Pads");
_P(1,"70071208865","Assorted Ultra Colors, Value Pack, 14 Pads/Pack", "Post-it&reg; Notes, Original Pad, 3\"X3\", Assorted Ultra Colors, Value Pack, 14 Pads/Pack");
_P(1,"70070080877","Canary Yellow, 12 Pads/Pack", "Post-it&reg; Notes, Original Pad, 3\"X3\", Canary Yellow, 12 Pads/Pack");
_P(1,"70071414901","Assorted Colors, Office Pack 24 Pads/Pack", "Post-it&reg; Notes, Original Pad, 3\"X3\", Assorted Colors, Office Pack 24 Pads/Pack");
_P(1,"70071225737","Canary Yellow, Cabinet Pack, 18 Pads/Pack", "Post-it&reg; Notes, Original Pad, 3\"X3\", Canary Yellow, Cabinet Pack, 18 Pads/Pack");
_P(1,"70071354818","Canary Yellow, Cabinet Pack, 24 Pads/Pack", "Post-it&reg; Notes, Original Pad, 3\"X3\", Canary Yellow, Cabinet Pack, 24 Pads/Pack");
_P(2,"70071490679","Canary Yellow, Cabinet Pack, 24 Pads/Pack", "Post-it&reg; Notes, Original Pad, 3\"X3\", Recycled, Canary Yellow, Cabinet Pack, 24 Pads/Pack");
_P(2,"70071490042","Recycled, Assorted Pastel Colors, Cabinet Pack, 24 Pads/Pack", "Post-it&reg; Notes, Original Pad, 3\"X3\", Recycled, Assorted Pastel Colors, Cabinet Pack, 24 Pads/Pack");
_P(3,"70071208592","Canary Yellow, Cabinet Pack, 12 Pads/Pack", "Post-it&reg; Notes, Super Sticky Pad, 3\"X3\", Canary Yellow, Cabinet Pack, 12 Pads/Pack");
_P(3,"70071365970","Assorted Ultra Colors, Value Pack, 14 Pads/Pack", "Post-it&reg; Notes, Original Pad, 3\"X3\", Assorted Ultra Colors, Value Pack, 14 Pads/Pack");
_P(3,"70071208626","Canary Yellow, 5 Pads/Pack", "Post-it&reg; Notes, Super Sticky Pad, 4\"X6\", Lined, Canary Yellow, 5 Pads/Pack");
_P(3,"70071308335","Assorted Ultra Colors, 3 Pads/Pack", "Post-it&reg; Notes, Super Sticky Pad, 4\"X6\", Lined, Assorted Ultra Colors, 3 Pads/Pack");
_P(3,"70071208642","Canary Yellow, 6 Pads/Pack", "Post-it&reg; Notes, Super Sticky Pad, 4\"X4\", Lined, Canary Yellow, 6 Pads/Pack");
_P(3,"70071308343","Assorted Ultra Colors, 6 Pads/Pack", "Post-it&reg; Notes, Super Sticky Pad, 4\"X4\", Lined, Assorted Ultra Colors, 6 Pads/Pack");
_P(4,"70071419785","Assorted Bright Colors, 12/PK", "Post-it&reg; Notes, Super Sticky Pop-up Refill, 3\"x3\", Assorted Bright Colors, 12/PK, Includes FREE Pop-up Dispenser");
_P(4,"70071483773","Assorted Ultra Colors", "Post-it&reg; Notes, Super Sticky Pop-up Refill, 3\"x3\", Assorted Ultra Colors, 10 Pads/Pack");
_P(4,"70071419595","Canary Yellow, 12 Pads/Pack", "Post-it&reg; Notes, Super Sticky Pop-up Refill, 3\"X3\", Canary Yellow, 12 Pads/Pack");
_P(4,"70071375573","Starter Kit", "Post-it&reg; Notes Dispenser, Pop-up, 3\"x3\", Black/Clear Top, Starter Kit, Includes Pop-up Refills, Flags, FREE Super Sticky");
_P(5,"70071357761","Printed Message Flags, 1\", \"Sign Here\"", "Post-it&reg; Printed Message Flags, 1\", \"Sign Here\", Ideal For Contracts, Insurance Docs, Asst Colors, 50/Disp, 4 Disp/Pack");
_P(5,"70071358488","Flags, 1/2\"", "Post-it&reg; Flags, 1/2\", Ideal For Marking And Flagging Paper Documents, Assorted Colors, 35/Disp, 8 Disp/Pack, FREE Flags");
_P(5,"70071358686","Printed Message Flags, 1/2\", \"Sign Here\"", "Post-it&reg; Printed Message Flags, 1/2\", \"Sign Here\", 30/Disp, 4 Disp/PK");
_P(5,"70071422250","Flags, 1\", Assorted Colors", "Post-it&reg; Flags, 1\", Assorted Colors, 50/Disp, 4 Disp/Pack, FREE Durable Index Tabs");
_P(5,"70071351343","Flags, 1/2\", Assorted Bright Colors", "Post-it&reg; Flags, 1/2\", Ideal For Marking And Flagging Paper Documents, Assorted Bright Colors, 35/Disp, 4 Disp/Pack");
_P(5,"70071174430","Flags, 1/2\", Assorted Colors", "Post-it&reg; Flags, 1/2\", Ideal For Marking And Flagging Paper Docs, Assorted Colors, 100/Dispenser");
_P(5,"70071503588","Flags, 150 - 1\"", "Post-it&reg; Flags, 150 - 1\", 50 each of Red, Yellow, and Blue with Desk Grip Dispenser.");
_P(6,"70071358538","Durable Index Tabs, 1\"", "Post-it&reg; Durable Index Tabs, 1\", Ideal For Binders And File Folders, Assorted Colors, 66/Dispenser");
_P(6,"70071424140","Durable Filing Tabs, 2\"", "Post-it&reg; Durable Filing Tabs, 2\", Assorted Colors, 24/Pack");
_P(6,"70071424132","Durable Hanging File Folder Tabs", "Post-it&reg; Durable Hanging File Folder Tabs, 2\", Angled, Ideal For Hanging File Folders, Assorted Colors, 24/Pack");
_P(7,"70071424835","Flag+ Highlighter, Assorted", "Post-it&reg; Flag+ Highlighter, Ideal For Marking And Highlighting, Yellow, Pink, Blue and 3/8\" Flags, Assorted Colors, 3/Pack");
_P(7,"70071424843","Flag+ Highlighter, Fluorescent Colors", "Post-it&reg; Flag Highlighter, Ideal For Marking And Highlighting, Bright Yellow, Green, Orange & 3/8\" Flags, Fluorescent Colors, 3/Pack");
_P(7,"70005015444","Flag+ Ballpoint Pen, Black", "Post-it&reg; Flag+ Ballpoint Pen, Ideal For Marking And Writing, Black with 50-3/8\" Polka Dot Flags, 2/Pack");
_P(7,"70005015451","Flag+ Ballpoint Pen, Blue", "Post-it&reg; Flag+ Ballpoint Pen, Ideal For Marking And writing, Blue with 50-3/8\" Polka Dot Flags, 2/Pack");
_P(7,"70005015469","Flag+ Ultra fine Permanent Marker", "Post-it&reg; Flag+ Ultra fine Permanent Marker, Ideal For Marking And Writing, Black with 50-3/8\" White Flags, 2/Pack");
_P(8,"70005016343","Easel Pad, Self-Stick, 25\"x30\"", "Post-it&reg; Easel Pad, Self-Stick, 25\"x30\", White, 30 Sheets/Pad, 2 Pads/Carton");
_P(8,"70005008696","Self-Stick Easel Pad, Tabletop", "Post-it&reg; Self-Stick Easel Pad, Tabletop, Dry Erase Surface, 20\"x23\", White, 20 Sheets/Pad");
_P(8,"70071318839","Easel Pad, Self-Stick, 25\"x30\"", "Post-it&reg; Easel Pad, Self-Stick, 25\"x30\", White, Value Pack, 30 Sheets/Pad, 4 Pads/Carton");
_P(8,"70005016483","Self-Stick Easel Pad, Tabletop", "Post-it&reg; Self-Stick Easel Pad, Tabletop, 20\"x23\", White, 20 Sheets/Pad");
_P(9,"70071365939","Sticky Cork and Dry Erase Surface with Dry Erase Marker", "Post-it&reg; Bulletin Board, Sticky Cork and Dry Erase Surface with Dry Erase Marker, 22\" x 36\"");
_P(9,"70071393824","Sticky Cork Surface", "Post-it&reg; Bulletin Board, Sticky Cork Surface, 22\" x 36\"");
_P(10,"70005011294","Mahogany colored aluminum frame, Porcelain, 48\"x36\"", "3M&trade; Dry Erase Board, Elegant Style, Mahogany colored aluminum frame, Porcelain, 48\"x36\"");
_P(10,"70005011286","Wide Screen Style, Aluminum Frame, Porcelain, 48\"x36\"", "3M&trade; Dry Erase Board, Wide Screen Style, Aluminum Frame, Porcelain, 48\"x36\"");
_P(10,"70005011393","Mahogany colored aluminum frame, Porcelain, 72\"x48\"", "3M&trade; Dry Erase Board, Elegant Style, Mahogany colored aluminum frame, Porcelain, 72\"x48\"");
_P(10,"70005011369","Mahogany colored aluminum frame, Porcelain, 96\"x48\"", "3M&trade; Dry Erase Board, Elegant Style, Mahogany colored aluminum frame, Porcelain, 96\"x48\"");
_P(10,"70005011401","Aluminum Frame, 72\"x48\"", "3M&trade; Dry Erase Board, Porcelain, Aluminum Frame, 72\"x48\"");
_P(10,"70005011385","Wide Screen Style, Aluminum Frame, Porcelain, 96\"x48\"", "3M&trade; Dry Erase Board, Wide Screen Style, Aluminum Frame, Porcelain, 96\"x48\"");
_P(11,"70071474558","Gel Wrist Rest", "3M&trade; Gel Wrist Rest, Large Size, with Antimicrobial Product Protection");
_P(11,"70071480613","Gel Mousepad Wrist Rest", "3M&trade; Gel Mousepad Wrist Rest, Large Size, with Antimicrobial Product Protection");
_P(11,"70071506490","3M&trade; Disinfecting Office Cleaner", "3M&trade; Disinfecting Office Cleaner");
_P(11,"70071206182","3M&trade; Disinfecting Desk & Office Wipes", "3M&trade; Disinfecting Desk & Office Wipes");
_P(11,"70071028115","3M&trade; In-Line Document Holder", "3M&trade; In-Line Document Holder");
_P(11,"70071479359","3M&trade; Easy Adjust Keyboard Tray with Adjustable Platform", "3M&trade; Easy Adjust Keyboard Tray with Adjustable Platform");
}

function initFamDD() {
	var l = document.getElementById('selectCategory');
	for (i = 0; i < fams.length; i++) {
		l.options[i] = new Option(fams[i][1], fams[i][0]);
		l.options[i].innerHTML = fams[i][1];
	}
}

function famDDSelect(id) {
	var l = document.getElementById('selectProduct');
	for (i = l.length-1; i >= 0; i--) {
		l.remove(i);		
	}
	l.options[0] = new Option('--Please Select a Product--', 'cat_0');
	var products = fams[id][2];
	for (i = 0; i < products.length; i++) {
		l.options[i+1] = new Option(products[i][1], products[i][0]);
		l.options[i+1].innerHTML = products[i][1];
	}
	var disable = document.getElementById('selectCategory').value == "0";
	l.disabled = disable;
	document.getElementById('zipcode').disabled = disable;
}
