// Price associative array setup //

// first define an itemPrice
function itemPrice (itemid, itemdesc)
{
	this.id = itemid;
	this.desc = itemdesc;
}


//create the itemPrice "database" & assign one null entry (in case of JavaScript bugs!)

var prices = new itemPrice("null", "");

function assignID (desc)
{
	//rather than have two parameters, include the item-name in the complete description - we extract that first
	var itemid = desc.substring(1, desc.indexOf('|', 1)); // assume desc = "|2C0u|378.00|2 ... |"

	prices[itemid] = desc;  // make the complete item (including index!) indexable on the ID ie. -> associative array!
}



function updatePrice(thisform)
{
	var price = sumPrices(thisform); //

	thisform.Price.value = "AU$" + price + "/ea"
}



function buyThisItem(thisform)
{
	updatePrice(thisform);	// First make sure the price is correct and correct ID (IDname) is selected
	//alert("buyThisItem() --> IDname = " + IDname);
	//alert("buyThisItem() --> IDid = " + IDid);
	AddItemToCart(IDid, thisform.Qty.value);
}


function xKeepInSync(s, d) {


	var index = s.selectedIndex;
	if (index) {
		d.selectedIndex = index;
	}
}

function xBuyThisItem(thisform)
{
	updatePrice(thisform);	// First make sure the price is correct and correct ID (IDname) is selected

	if (thisform.atr3.selectedIndex && thisform.atr5.selectedIndex == 0) {
		alert('Select a sensor in the "cable for" field please,\n\nso we know what sensor type the cable is for!');
		return false;
	}

	AddItemToCart(IDid, thisform.Qty.value);
	return true;
}

// How to make dynamically changing displays
// first create a tag ..
//  <img border=0 src=../cart/im/LD2.jpg name=uniquename>
// call --> <a href=javascript:funx("uniquename","../cart/im/LD2.jpg")>LD2</a> --


var popupWin = ''; //Window ID for this document

function popwin (url)
{
	// popup new window
	if ( !popupWin.closed && (popupWin != ''))
		popupWin.close();
	popupWin = window.open(url, 'descWin', 'toolbar=no,scrollbars=yes,resizable=yes');
	popupWin.focus();
}


// Junk test ...
function funx(imname, imsrc)
{
	alert("element name = [" + imname + "]   image = [" + imsrc + "]");
	document[imname].src=imsrc;
}


function updateImage(attr)
{
	var ename = IDformName + "_atr" + attr;  // attribute name from form name save from updatePrice() call.
	var esrc = IDimgArray[attr];

	if (esrc == undefined) {return;}
	if (esrc == "") {
		esrc = "NOimg.jpg";
		//alert ("No image for element = " + ename + ", in form = " + IDformName);
	}
	esrc = "../cart/im/" + esrc;
	//alert("ename " + ename + "  src=" +  esrc);
	document[ename].src = esrc;
}


function updateImages()
{
	for (var i=1; i<6; i++) {updateImage(i);}
}


function popNewWin(attr)
{
	var href = IDhref[attr];  // href for the last selected item

	if (href == undefined || href == "")  {return false;}  // no link to take
	href = "../" + href;  //add relative prefix
	if (href.indexOf('.jpg') > 0
	 || href.indexOf('.gif') > 0) { // have an image to show.
		//alert("href image = " + href);
		popimage (href, 640, 480);  // used fixed size.
	}
	else {
		//alert("href URL = " + href);
		popwin(href);  //create new window.
	}
	return false;  //don't take the link
}


function updatePopWin(thisform, attr)
{
	updatePrice(thisform);  // update prices for this form (assumes multiple forms on the page).
	return popNewWin(attr);  // pop up a new window, either URL or image, for item selected by image.
}


function updatePriceImage(thisform, attr)
{
	updatePrice(thisform);  // update prices for this form (assumes multiple forms on the page).
	updateImage(attr);  // update the selected image
}


function updatePriceAllImages(thisform)
{
	updatePrice(thisform);
	updateImages();
}

function optionControllers()
{
//	document.write('<option value="2J1u">2J1</option>');
	document.write('<option value="3A1u" selected>3A1</option>');
	document.write('<option value="3A2u">3A2</option>');
	document.write('<option value="3B1u">3B1</option>');
	document.write('<option value="2C0u">2C0</option>');
	document.write('<option value="2D0u">2D0</option>');
	document.write('<option value="2D1u">2D1</option>');
	document.write('<option value="3E1u">3E1</option>');
	document.write('<option value="3E2u">3E2</option>');
//	document.write('<option value="2A0u">2A0</option>');
//	document.write('<option value="2A1u">2A1</option>');
//	document.write('<option value="2E0u">2E0</option>');
}

function optionSensors()
{
	document.write('<option value="&nosen">no</option>');
	document.write('<option value="006066">6066</option>');
	document.write('<option value="007057">7057*</option>');
	document.write('<option value="007200" selected>7200</option>');
	document.write('<option value="017025">17025</option>');
	//document.write('<option value="L1H1">L1H1</option>');
}


function optionSensorTypes() //debug!!
{
	document.write('<option value="&nosen">---</option>');
	document.write('<option value="&for6066">6066</option>');
	document.write('<option value="&for7057">7057*</option>');
	document.write('<option value="&for7200" selected>7200</option>');
	document.write('<option value="&for17025">17025</option>');
	document.write('<option value="&forL1H1">L1H1</option>');
}

function optionSensorsNo49()
{
	document.write('<option value="&nosen">no</option>');
	document.write('<option value="006066">6066</option>');
	document.write('<option value="007057">7057*</option>');
	document.write('<option value="007200" selected>7200</option>');
	//document.write('<option value="017025">17025</option>');
	//document.write('<option value="L1H1">L1H1</option>');
}


function optionCables()
{
	document.write('<option value="&nocbl">no</option>');
	document.write('<option value="&0m4">0.4 m</option>');
	document.write('<option value="&1m0">1.0 m</option>');
	document.write('<option value="&2m6" selected>2.6 m</option>');
	document.write('<option value="&4m0">4.0 m</option>');
	document.write('<option value="&8m0">8.0 m</option>');
}


function optionControllerDisplays()
{
	document.write('<option value="&nodsp">no</option>');
	document.write('<option value="&LX1" selected">LX1</option>');
	document.write('<option value="&LD2">LD02 red</option>');
	document.write('<option value="&LD2G">LD02 green</option>');
	document.write('<option value="&LA1">LA1 red</option>');
	document.write('<option value="&LA1G">LA1 green</option>');
	document.write('<option value="&BD1">BD1</option>');
}

function optionDisplays()
{
	document.write('<option value="&nodsp">no</option>');
	document.write('<option value="LX1" selected>LX1</option>');
	document.write('<option value="LD2">LD02 red</option>');
	document.write('<option value="LD2G">LD02 green</option>');
	document.write('<option value="LA1">LA1 red</option>');
	document.write('<option value="LA1G">LA1 green</option>');
	document.write('<option value="BD1">BD1</option>');
}


function displayItemIDsPrice(idname, optionalText) {

	var item = prices[idname];
	var itemID = getField(1,item);
	var itemURL = getField(8,item);
	var formID = itemID;

	if (itemURL.indexOf('http:') == -1) {
		itemURL = '../' + itemURL;
	}

	if (itemID.length > 0 && itemID.charAt(0) != '&') {

		document.write(
			'<a name=' + itemID + '><img height=1 width=500 src=../cart/im/lb_dot.gif></a>\n'
			+ '<table><tr><td>\n'
			+ '<a target=notthis href="' + itemURL + '">'
			+ '<img border=0 align=left height=60 src="../cart/im/' + getField(7,item) + '"></a> <b id=b>'
			+ itemID
			+ '</b> @ <input class=price type=submit name=Price value="AU$' + getField(2,item) + '/ea" onClick="return false;"><br>\n<b>&rArr;</b> <a href="' + itemURL + '">' + getField(3,item) + '.</a>\n'
			//+ 'area = <i id=r>' + getField(5,item) + '</i> sq mm,  height = <i id=r>'+ getField(6,item) + '</i>\n'
			+ '<br>&rarr; <i id=r>' + getField(4,item) + '</i> grams<br>\n'

			+ '<form name=f' + formID
			+ ' action="../cart/managecart.htm" onSubmit="AddItemToCart(\''
			+ item + '\', f'
			+ itemID + '.Qty.value)">\n'
			//+ getField(3,item)
			//+ ' @ AU$' + getField(2,item)
			+ '\n<td><td> Qty: <input type=text name="Qty" value="1" size=2>\n<input type=image src=../cart/im/add2cart.gif border=0 align=top>\n'
			//+ '<br><i id=lgy>' + getField(4,item) + ' grams/e</i>\n</form>\n'
			+ '</i>\n</form>\n'
			+ '</td></tr></table>\n'

//				+ '<hr size=1 color=lightgray>\n'
//				+ item + '<hr size=1 color=lightgray>\n'

		);
	}
}

//assignID("|PART|99.50|Part description goes here|25|1400|35|7057CON.jpg|cable/connkit.htm|");
//assignID("|ONEPART|19.50|One part's description goes here|25|1400|35|6066CON.jpg|cable/kit6066.jpg|");
//assignID("|ONEPART|19.50|One part's description goes here|25|1400|35|6066CON.jpg|cable/connkit.htm|");
//         Part ID (case is important!)
//              Price
//                    Part description to be shown on order
//                                               weight (grams)
//                                                  area (sq mm)
//                                                       height (mm)
//                                                          image file name (relative to WBo2.com/
//                                                                    URL for description ( "" )

// UNITS
//assignID("|&nou|0.00|no unit|0|0|0||");


assignID("|2J1u|159.00|2J1 unit - cables attached|362|40000|50|2J1hand.jpg|2J/default.htm|");

assignID("|3A1b|287.00|3A1 bare|266|40000|50|3A1b.jpg|3a1/default.htm|");
assignID("|3A1u|299.00|3A1 unit|388|40000|50|3A1u.jpg|3a1/default.htm|");
assignID("|3A1misc|18.00|power, RS232 + 3A/3E connectors|70|40000|50|3E1bits.jpg|3a1/im/3A1misc.jpg|");
assignID("|3A2b|302.00|3A2 bare|266|40000|50|3A1b.jpg|3a1/default.htm|");
assignID("|3A2u|324.00|3A2 unit|388|40000|50|3A1u.jpg|3a1/default.htm|");

assignID("|3B1b|344.00|3B1 bare|404|40000|50|3B1b.jpg|3B1/default.htm|");
assignID("|3B1u|354.50|3B1 unit|526|40000|50|3b1u.jpg|3B1/default.htm|");
assignID("|3B1misc|18.00|power, RS232 + 3B connectors|70|40000|50|3B1bits.jpg|3a1/im/3A1misc.jpg|");

assignID("|3E1b|335.50|3E1 bare|255|40000|50|3E1b.jpg|3a1/3e1.htm|");
assignID("|3E1u|345.50|3E1 unit|377|40000|50|3E1u.jpg|3a1/3e1.htm|");
assignID("|3E1misc|18.00|power, RS232 + 3A/3E connectors|70|40000|50|3E1bits.jpg|3a1/im/3A1misc.jpg|");
assignID("|3E2b|360.50|3E2 bare|255|40000|50|3E1b.jpg|3a1/3e1.htm|");
assignID("|3E2u|370.50|3E2 unit|377|40000|50|3E1u.jpg|3a1/3e1.htm|");

assignID("|3H1b|449.00|3H1 bare|410|40000|50|3H1b.jpg|3H1/default.htm|");
assignID("|3H1u|459.00|3H1 unit|535|40000|50|3H1u.jpg|3H1/default.htm|");
assignID("|3H1misc|18.00|power, RS232 + 3H connectors|70|40000|50|3B1bits.jpg|3a1/im/3A1misc.jpg|");

assignID("|2C0b|212.00|2C0 (out of stock until 02 nov 2009) bare|98|40000|50|2C0b.jpg|2C0/default.htm|");
assignID("|2C0u|219.50|2C0 (out of stock until 02 nov 2009) unit|222|40000|50|2C0u.jpg|2C0/default.htm|");
assignID("|2C0misc|15.00|power, RS232 + 2C0 connector|50|40000|50|2C0bits.jpg|2C0/default.htm|");


assignID("|2D0b|229.00|2D0 bare|85|40000|50|2D0b.jpg|2d0/default.htm|");
assignID("|2D0u|249.00|2D0 + cncks|140|40000|50|2D0u.jpg|2d0/default.htm|");
assignID("|2D0bits|20.00|2D0 misc|55|40000|50|2D0bits.jpg|2D0/default.htm#purchaseOptions|");
assignID("|2D1b|229.00|2D1 bare|52|40000|50|2D1b.jpg|2D1/default.htm|");
assignID("|2D1u|249.00|2D1 + cncks|106|40000|50|2D1u.jpg|2d1/default.htm|");
assignID("|2D1bits|20.00|2D1 misc|55|40000|50|2D1bits.jpg|2D1/default.htm#purchaseOptions|");

//assignID("|2A0b|142.00|2A0 bare|295|40000|50|2A0b.jpg|2A0/default.htm|");
//assignID("|2A0u|149.50|2A0 unit|318|40000|50|2A0u.jpg|2A0/default.htm|");
//assignID("|2A1b|161.00|2A1 bare|302|40000|50|2A1b.jpg|2A0/default.htm|");
//assignID("|2A1u|168.50|2A1 unit|325|40000|50|2A1u.jpg|2A0/default.htm|");
assignID("|2A0misc|15.00|power, RS232 + 2A connector|50|40000|50|2A0bits.jpg|2A0/default.htm|");

//assignID("|&2E0b|325.00|2E0 bare|295|40000|50|2E0.jpg|2E0/default.htm|");
//assignID("|&2E0u|335.00|2E0 unit|418|40000|50|2E0.jpg|2E0/default.htm|");
//assignID("|&2E0misc|10.00|2E0 unit|139|40000|50|2E0misc.jpg|2E0/default.htm|");

assignID("|006066|157.00|6066 LSU|180|40000|50|6066.jpg|lsu/sensors.htm|");
//assignID("|007057|89.00|7057 (7200 is newer!)|210|40000|50|7057.jpg|lsu/sensors.htm|");
assignID("|007057|97.00|7057 (7200 shipped!)|210|40000|50|7057.jpg|lsu/sensors.htm|");
assignID("|007200|97.00|7200 LSU|210|40000|50|7200.jpg|lsu/sensors.htm|");
assignID("|017025|129.00|LSU 4.9|217|40000|50|7025.jpg|lsu/sensors.htm|");
assignID("|LSM11|259.00|LSM-11 (4 wire NB) sensor|367|60000|50|LSM11.jpg|lsu/sensors.htm|");

assignID("|&2x06066|314.00|2x 6066 LSU|360|40000|50|6066.jpg|lsu/sensors.htm|");
//assignID("|&2x07057|178.00|2x 7057 (7200 replaces 7057)|420|40000|50|7057.jpg|lsu/sensors.htm|");
assignID("|&2x07057|194.00|2x 7057 (7200 shipped!)|420|40000|50|7057.jpg|lsu/sensors.htm|");
assignID("|&2x07200|194.00|2x 7200 LSU|425|40000|50|7200.jpg|lsu/sensors.htm|");
assignID("|&2x17025|258.00|2x LSU 4.9|434|40000|50|7025.jpg|lsu/sensors.htm|");

assignID("|&nosen|0.00|no sensor|0|0|0|NOS.jpg|lsu/sensors.htm|");
assignID("|&06066|0.00|6066 LSU|180|40000|50|6066.jpg|lsu/sensors.htm|");
//assignID("|&07057|0.00|7057 (7200 replaces 7200)|210|40000|50|7057.jpg|lsu/sensors.htm|");
assignID("|&07057|0.00|7057 (7200 shipped!)|210|40000|50|7057.jpg|lsu/sensors.htm|");
assignID("|&07200|0.00|7200 LSU|210|40000|50|7200.jpg|lsu/sensors.htm|");
assignID("|&17025|0.00|LSU 4.9|217|40000|50|7025.jpg|lsu/sensors.htm|");
assignID("|&L1H1|0.00|UEGO L1H1|210|40000|50|L1H1.jpg|http://techedge.com.au/vehicle/wbo2/wbntk.htm|");

assignID("|&nosen|0.00|-|0|0|0|NOS.jpg|lsu/sensors.htm|");
assignID("|&for6066|0.00|for 6066 LSU|180|40000|50|6066.jpg|cable/default.htm|");
assignID("|&for7057|0.00|for 7200/7057|210|40000|50|7057.jpg|cable/default.htm|");
assignID("|&for7200|0.00|for 7200/7057|210|40000|50|7200.jpg|cable/default.htm|");
assignID("|&for17025|0.00|for LSU 4.9|217|40000|50|17025.jpg|cable/default.htm|");
assignID("|&forL1H1|0.00|for L1H1|210|40000|50|L1H1.jpg|http://techedge.com.au/vehicle/wbo2/wbntk.htm|");

// CABLES
assignID("|&nocbl|0.00|no cbl|0|0|0|NOC.jpg|cable/default.htm|");
assignID("|&0m4|29.00|0.4m cbl|67|60000|50|CBL0m4.jpg|cable/default.htm|"); // generic
assignID("|&1m0|53.00|1.0m cbl|203|60000|50|CBL1m0.jpg|cable/default.htm|");
assignID("|&2m6|65.00|2.6m cbl|332|60000|50|CBL2m6.jpg|cable/default.htm|");
assignID("|&4m0|79.00|4.0m cbl|479|60000|50|CBL4m0.jpg|cable/default.htm|");
assignID("|&8m0|105.00|8.0m cbl|988|60000|50|CBL8m0.jpg|cable/default.htm|");

assignID("|&2x0m4|58.00|2x 0.4m cbl|136|60000|50|CBL0m4.jpg|cable/default.htm|"); // generic x2
assignID("|&2x1m0|103.00|2x 1.0m cbl|406|60000|50|CBL1m0.jpg|cable/default.htm|");
assignID("|&2x2m6|130.00|2x 2.6m cbl|664|60000|50|CBL2m6.jpg|cable/default.htm|");
assignID("|&2x4m0|158.00|2x 4.0m cbl|995|60000|50|CBL4m0.jpg|cable/default.htm|");
assignID("|&2x8m0|190.00|2x 8.0m cbl|1975|60000|50|CBL8m0.jpg|cable/default.htm|");

assignID("|&c0m4|00.00|cbl||||CBL0m4.jpg|cable/default.htm|"); // prefix to go with cable type (see below)
assignID("|&c1m0|00.00|cbl||||CBL1m0.jpg|cable/default.htm|");
assignID("|&c2m6|00.00|cbl||||CBL2m6.jpg|cable/default.htm|");
assignID("|&c4m0|00.00|cbl||||CBL4m0.jpg|cable/default.htm|");
assignID("|&c8m0|00.00|cbl||||CBL8m0.jpg|cable/default.htm|");

assignID("|6066c0m4|49.00|6066 0.4m cbl|62|60000|50|for6066.jpg|cable/default.htm|");
assignID("|6066c1m0|73.00|6066 1.0m cbl|198|60000|50|for6066.jpg|cable/default.htm|");
assignID("|6066c2m6|85.00|6066 2.6m cbl|326|60000|50|for6066.jpg|cable/default.htm|");
assignID("|6066c4m0|99.00|6066 4.0m cbl|482|60000|50|for6066.jpg|cable/default.htm|");
assignID("|6066c8m0|115.00|6066 8.0m cbl|983|60000|50|for6066.jpg|cable/default.htm|");

assignID("|7057c0m4|49.00|7200/7057 0.4m cbl|67|60000|50|for7200.jpg|cable/default.htm|");
assignID("|7057c1m0|73.00|7200/7057 1.0m cbl|203|60000|50|for7200.jpg|cable/default.htm|");
assignID("|7057c2m6|85.00|7200/7057 2.6m cbl|332|60000|50|for7200.jpg|cable/default.htm|");
assignID("|7057c4m0|99.00|7200/7057 4.0m cbl|495|60000|50|for7200.jpg|cable/default.htm|");
assignID("|7057c8m0|115.00|7200/7057 8.0m cbl|988|60000|50|for7200.jpg|cable/default.htm|");

assignID("|L1H1c0m4|49.00|L1H1 0.4m cbl|67|60000|50|forL1H1.jpg|cable/default.htm|");
assignID("|L1H1c1m0|73.00|L1H1 1.0m cbl|203|60000|50|forL1H1.jpg|cable/default.htm|");
assignID("|L1H1c2m6|85.00|L1H1 2.6m cbl|332|60000|50|forL1H1.jpg|cable/default.htm|");
assignID("|L1H1c4m0|99.00|L1H1 4.0m cbl|479|60000|50|forL1H1.jpg|cable/default.htm|");
assignID("|L1H1c8m0|115.00|L1H1 8.0m cbl|988|60000|50|forL1H1.jpg|cable/default.htm|");

assignID("|17025c0m4|53.00|17025 (LSU-4.9) 0.4m cbl|67|60000|50|for17025.jpg|cable/default.htm|");
assignID("|17025c1m0|77.00|17025 (LSU-4.9) 1.0m cbl|203|60000|50|for17025.jpg|cable/default.htm|");
assignID("|17025c2m6|89.00|17025 (LSU-4.9) 2.6m cbl|332|60000|50|for17025.jpg|cable/default.htm|");
assignID("|17025c4m0|103.00|17025 (LSU-4.9) 4.0m cbl|479|60000|50|for17025.jpg|cable/default.htm|");
assignID("|17025c8m0|119.00|17025 (LSU-4.9) 8.0m cbl|988|60000|50|for17025.jpg|cable/default.htm|");

// CONNECTORS
assignID("|DIY26CBL|10.00|2.6 m DIY cable|321|39000|45|DIY26CBL.jpg|cable/default.htm|");
assignID("|DIY40CBL|15.00|4.0 m DIY cable|469|39000|45|DIY40CBL.jpg|cable/default.htm|");

assignID("|CNK7057|9.95|6 pin (2x3) 7057 cnctr kit|25|1400|35|CNK7057.jpg|cable/connkit.htm|");
assignID("|CNK6066|9.90|6 pin (flat) 6066 cnctr kit|20|1400|35|CNK6066.jpg|cable/connkit.htm|");
assignID("|CNK17025|13.95|6 pin (2x3) LSU 4.9 cnctr kit|25|1400|35|CNK17025.jpg|cable/connkit.htm|");
assignID("|CNKSUMI|9.50|7/8 pin L1H1 cnctr kit|22|1400|35|CNKSUMI.jpg|cable/connkit.htm|");

assignID("|S8PIN|5.00|8 pin circ PANEL socket (male)|13|1400|35|S8PIN.jpg|2a0/parts/s8pin.jpg|");
assignID("|P8PIN|5.75|8 pin circ CABLE plug (female)|14|1400|35|P8PIN.jpg|cable/8pin.jpg|");

assignID("|8PINCKIT|8.25|8 pin circ plug & wire kit|24|1400|35|8PINCKIT.jpg|cable/8pinckit.jpg|");

assignID("|17025END|22.95|6 pin (2x3) premade 17025 cable end|26|1400|35|17025END.jpg|lsu/im/17025end.jpg|");
assignID("|7057END|19.75|6 pin (2x3) premade 7057 cable end|26|1400|35|7057END.jpg|lsu/im/7057end.jpg|");
assignID("|6066END|19.00|6 pin (flat) premade 6066 cable end|21|1400|35|6066END.jpg|lsu/im/6066end.jpg|");
assignID("|SUMIEND|19.50|7/8 pin Sumitomo cable end|23|1400|35|SUMIEND.jpg|lsu/im/sumiend.jpg|");

// Bundled DISPLAYS
assignID("|&nodsp|0.00|no display|0|0|0|NOD.jpg||");
assignID("|&LD2|130.00|LD02 unit|224|60000|50|LD2.jpg|ld02/default.htm|");
assignID("|&LD2UPGRADE|130.00|LD02 unit|224|60000|50|LD2.jpg|ld02/default.htm|");
assignID("|&LD2G|135.00|LD02 green|224|60000|50|LD2G.jpg|ld02/default.htm|");
assignID("|&LA1|155.00|LA1 unit|245|60000|50|LA1.jpg|la1/default.htm|");
assignID("|&LA1G|159.00|LA1 green|245|60000|50|LA1G.jpg|la1/default.htm|");
assignID("|&LX1|136.00|LX1 + reprog adapt|128|60000|50|LX1.jpg|lx1/default.htm|");
assignID("|&BD1|210.00|BD1 + reprog adapt|888|60000|50|BD1.gif|BD1/default.htm|");

// DISPLAYS
assignID("|LD2|140.00|LD02 red + reprog adapt|224|60000|50|LD2.jpg|ld02/default.htm|");
assignID("|LD2G|145.00|LD02 green + reprog adapt|224|60000|50|LD2G.jpg|ld02/default.htm|");
assignID("|LA1|165.00|LA1 red + reprog adapt|245|60000|50|LA1.jpg|la1/default.htm|");
assignID("|LA1G|169.00|LA1 green + reprog adapt|245|60000|50|LA1G.jpg|la1/default.htm|");
assignID("|LX1|139.00|LX1 + reprog adapt|128|60000|50|LX1.jpg|lx1/default.htm|");
assignID("|BD1|220.00|BD1 + reprog adapt|888|60000|50|BD1.gif|BD1/default.htm|");

assignID("|DIYLD2_R|49.00|LD02 RED DIY Display kit|252|39000|45|DIYLD2R.jpg|ld02/kit.htm|");
assignID("|DIYLD2_G|53.00|LD02 GREEN DIY Display|252|39000|45|DIYLD2G.jpg|ld02/kit.htm|");
assignID("|LEDwSR|18.00|RED LEDs and screen for LD02|25|200|20|LD2L&S-R.jpg|ld02/im/ld2l&s-r.jpg|");
assignID("|LEDwSG|20.50|GREEN LEDs and screen for LD02|25|200|20|LD2L&S-G.jpg|ld02/im/ld2l&s-r.jpg|");

assignID("|DIY2Y1|99.00|2Y1 DIY kit|340|39000|45|2Y1.jpg|2y/default.htm|");
assignID("|DIY2Y1M|124.95|2Y1 DIY kit with 1 M byte logger module|350|39000|45|2Y1M.jpg|2y/default.htm|");
assignID("|LM1MBK|29.90|2Y logger module 1M byte|15|0|0|LM1MK.jpg|2y/1mbkit.htm|");
assignID("|LAMB2Y|30.00|2Y lambda module (25 pin)|15|0|0|LAMB2Y.jpg|2y/kit.htm|");
//assignID("|DIY2|83.00|2A0 DIY kit|340|39000|45|DIY2A0.jpg|2a0/kit.htm|");
//assignID("|DIY2A1|92.00|2A1 DIY kit|340|39000|45|DIY2A1.jpg|2a1/kit.htm|");
//assignID("|DIY2E0|109.00|2E0 DIY kit|340|39000|45|DIY2E0.jpg|2e0/kit.htm|");
// MISC ITEMS
assignID("|PROGDSP|7.75|Display re-programming adaptor|13|100|12|PROGDSP.jpg|ld02/im/progdsp.jpg|");
assignID("|RJ45SPLT|13.50|RJ45 Splitter for WBo2|32|100|12|RJ45SPLT.jpg|hw/splitter.htm|");

assignID("|DB9FKIT|6.00|DB9 (female) and backshell kit|20|1400|35|DB9FKIT.jpg|2a0/im/db9fkit.jpg|");

assignID("|20PWRCBL|8.00|WBo2 2.0 m power cable complete|75|200|20|20PWRCBL.jpg|2a0/im/powercbl.jpg|");
assignID("|12RS232|9.50|RS232 1.2 m cable (RJ45-DB9) complete|47|200|20|12RS232.jpg|3a1/im/cbl45db9.jpg|");
assignID("|USB232|16.35|USB to RS232 adapter 1.0 m cable|47|200|20|USB232.jpg|hw/usb232.htm|");

assignID("|PWRPLGK|2.50|Molex power connector kit|2|200|20|PWRPLGK.jpg|2a0/im/PWRPLGK.jpg|");
assignID("|6WAY350|5.00|Screw terminal plug (6 way @ 3.50 mm)|6|200|20|6WAY350.jpg|2c0/im/6way350.jpg|");
assignID("|8WAY508|6.50|Screw terminal plug (8 way @ 5.08 mm)|17|200|20|8WAY508.jpg|2a0/im/8way508.jpg|");
assignID("|10WAY381|7.00|Screw terminal plug (10 way @ 3.81 mm)|10|200|20|10WAY381.jpg|3a1/im/10way381.jpg|");
assignID("|2A0TO1LM|34.90|2A0 to 2A1 logger module|30|0|0|2A0TO1LM.jpg|2a0/1mbkit.htm|");
assignID("|2A1LM|27.90|2A1 logger module|13|0|0|2A1LM.jpg|2a0/im/1mb.jpg|");

assignID("|M8_2A0|11.00|Replacement pre-prog M8 for 2A0|13|0|0|M8.jpg|2a0/kit.htm|");
assignID("|M168_2A1|12.50|Replacement pre-prog M168 for 2A1|13|0|0|M168.jpg|2a0/2a1.htm|");
assignID("|M168_2Y1|12.50|Replacement pre-prog M168 for 2Y1|13|0|0|M168.jpg|2y/kit.htm|");
assignID("|M8_2E0|11.00|Replacement programmed M8 for 2E0|13|0|0|M8.jpg|2e0/kit.htm|");
assignID("|M8LD02|11.00|Replacement programmed M8 for LD02|13|0|0|M8.jpg|ld02/kit.htm|");
assignID("|M8_2D0|11.00|Replacement programmed M8 for 2D0|13|0|0|M8.jpg|2d0/default.htm|");
assignID("|M8Q_2J1|30.00|2J1 pre-programmed M8 unlimited purchase|5|0|0|M8QFP.jpg|2j/default.htm|");
assignID("|T26LD1AFR|8.50|Replacement AFR pre-prog (not Lambda) T26 for LD01|13|0|0|T26.jpg|ld01/default.htm|");
assignID("|T26LD1LMB|8.50|Replacement Lambda pre-prog (not AFR) T26 for LD01|13|0|0|T26.jpg|ld01/default.htm|");
assignID("|16F5301|8.50|Replacement pre-prog TE-5301 display chip (16F84A)|13|0|0|M16F84.jpg|http://techedge.com.au/vehicle/wbo2/info5301.htm|");

assignID("|CASEAEB|10.00|ABS case (BLACK) A/E size|123|0|0|CASEAEB.jpg|2a0/kit.htm|");
assignID("|CASEAEG|10.00|ABS case (GREY) A/E size|123|0|0|CASEAEG.jpg|2a0/kit.htm|");

assignID("|&EMSUP|35.00|Upgrade AirMail to EMS Courier|0|0|0|.jpg|2a0/parts/274-025.jpg|");

assignID("|&none|0.00||0|0|0|none.gif||");
assignID("|&blank|0.00||0|0|0|blank.gif||");

