function BSearchStr(v, t, s)
{
	var hp=t.length/s;
	var lp=0;
	var ci;
	v=v.toLowerCase();
	for(;;)
	{
		ci=Math.floor((hp+lp)/2);
		if(ci==lp) return((v!=t[lp*s].toLowerCase())?-1:ci*s);
		if(v<t[ci*s].toLowerCase()) hp=ci;
		else if(v>t[ci*s].toLowerCase()) lp=ci;
		else return ci*s;
	}
}

function BSearch(v, t, s)
{
	var hp=t.length/s;
	var lp=0;
	var ci;
	for(;;)
	{
		ci=Math.floor((hp+lp)/2);
		if(ci==lp) return((v!=t[lp*s])?-1:ci*s);
		if(v<t[ci*s]) hp=ci;
		else if(v>t[ci*s]) lp=ci;
		else return ci*s;
	}
}

function DrawSeries()
{
	for(var i=0,c=0;i<g_Series.length;i+=g_SeriesFldCnt,c++)
	{
		document.writeln('<tr><td valign="top"><img src="pics/arrow.gif" height="12" width="8"></td><td valign="top"><a href="series.htm?seridx='+c+'" target="MAINFRAME" class="sbar">'+g_Series[i+fld_Series_Desc]+'</a></td></tr>');
	}
}

function GetStockStatus(partIdx)
{
	return g_Part[partIdx+fld_Part_Status] & 3; // stock status stored in first 2 bits
}

function GetSpecStatus(partIdx)
{
	return g_Part[partIdx+fld_Part_Status] & 4; // spec status stored in bit 3
}

function LatestBuildsPart(Idx)
{
	var ipnIdx = g_PartIdx[BSearch(Idx, g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
  document.write('<a href="http://www.mysterybyte.com/pages/part-small.php?args='+Idx+'&keepThis=true&TB_iframe=true&width=700" class="thickbox">'+g_Part[ipnIdx+fld_Part_Desc]+'</a>');
}

function DrawPartSmall(Idx)
{
  var ipnIdx = g_PartIdx[BSearch(Idx, g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
	var oDoc = document;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var ipn = g_Part[ipnIdx+fld_Part_Id];
	var pic = "http://www.mysterybyte.com/viewimage.php/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg?width=125&height=125&cropratio1:1&image=/itempics/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg";
  var kgs = g_Part[ipnIdx+fld_Part_Weight];
	var lbs = RoundOff2(kgs * 2.2046);
	var stockStatusValue = GetStockStatus(ipnIdx);
	if(g_Part[ipnIdx+fld_Part_Desc].charAt(0)=='*') stockStatusValue=3;
	oDoc.writeln('<div class="view-part-special">');
  oDoc.writeln('<a href="/part/'+ipn+'/">'+g_Part[ipnIdx+fld_Part_Desc]+'</a>');
  oDoc.writeln('<div class="description"><form>');
  oDoc.writeln('<div class="picture"><img src="'+pic+'" /></div><ul>');
  oDoc.writeln('<li><b>Part:</b> '+ipn+'</li>');
  oDoc.writeln('<li><b>Availability:</b> '+stockStatus[stockStatusValue]+'</li>');
  oDoc.writeln('<li><b>Weight:</b> '+kgs+'Kg,&nbsp;&nbsp;'+lbs+'lb</li>');
  oDoc.writeln('<li><b>Price:</b> $'+g_Part[ipnIdx+fld_Part_Price]+'</li>');
	oDoc.writeln('<li><b>Quanity:</b> <input type="text" name="qty" size="1" maxlength="3" value="1"></li>');
  oDoc.writeln('<li><br /><INPUT onClick="ShopListAdd('+ipn+',this.form.qty.value)" type="button" value="Add To List"></li>');
  oDoc.writeln('</ul></form></div></div>');
}

function DrawPartDetail(ipnIdx)
{
	var oDoc = document;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var ipn = g_Part[ipnIdx+fld_Part_Id];
	var pic = "http://www.mysterybyte.com/viewimage.php/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg?width=125&height=125&cropratio1:1&image=/itempics/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg";
  var kgs = g_Part[ipnIdx+fld_Part_Weight];
	var lbs = RoundOff2(kgs * 2.2046);
	var stockStatusValue = GetStockStatus(ipnIdx);
	if(g_Part[ipnIdx+fld_Part_Desc].charAt(0)=='*') stockStatusValue=3;
	oDoc.writeln('<div class="view-part-special">');
  oDoc.writeln('<h3><a href="/part/'+ipn+'/">'+g_Part[ipnIdx+fld_Part_Desc]+'</a></h3>');
  oDoc.writeln('<div class="description"><form>');
  oDoc.writeln('<div class="picture"><img src="'+pic+'" /></div><ul>');
  oDoc.writeln('<li><b>Part:</b> '+ipn+'</li>');
  oDoc.writeln('<li><b>Availability:</b> '+stockStatus[stockStatusValue]+'</li>');
  oDoc.writeln('<li><b>Weight:</b> '+kgs+'Kg,&nbsp;&nbsp;'+lbs+'lb</li>');
  oDoc.writeln('<li><b>Price:</b> $'+g_Part[ipnIdx+fld_Part_Price]+'</li>');
	oDoc.writeln('<li><b>Quanity:</b> <input type="text" name="qty" size="1" maxlength="3" value="1"></li>');
  oDoc.writeln('<li><br /><INPUT onClick="ShopListAdd('+ipn+',this.form.qty.value)" type="button" value="Add To List"></li>');
  oDoc.writeln('</ul></form></div></div>');
}

function DrawNotebook(ipnIdx)
{
	var oDoc = document;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var ipn = g_Part[ipnIdx+fld_Part_Id];
	var pic = "http://www.mysterybyte.com/viewimage.php/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg?width=125&height=125&cropratio1:1&image=/itempics/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg";
  var kgs = g_Part[ipnIdx+fld_Part_Weight];
	var lbs = RoundOff2(kgs * 2.2046);
	var stockStatusValue = GetStockStatus(ipnIdx);
	if(g_Part[ipnIdx+fld_Part_Desc].charAt(0)=='*') stockStatusValue=3;
	oDoc.writeln('<div class="view-part-special">');
  oDoc.writeln('<h3><a href="/part/'+ipn+'/">'+g_Part[ipnIdx+fld_Part_Desc]+'</a></h3>');
  oDoc.writeln('<div class="description"><form>');
  oDoc.writeln('<div class="picture"><img src="'+pic+'" /></div><ul>');
  oDoc.writeln('<li><b>Part:</b> '+ipn+'</li>');
  oDoc.writeln('<li><b>Availability:</b> '+stockStatus[stockStatusValue]+'</li>');
  oDoc.writeln('<li><b>Weight:</b> '+kgs+'Kg,&nbsp;&nbsp;'+lbs+'lb</li>');
  oDoc.writeln('<li><b>Price:</b> $'+g_Part[ipnIdx+fld_Part_Price]+'</li>');
	oDoc.writeln('<li>&nbsp;</li>');
  oDoc.writeln('<li><br /><a href="/part/'+ipn+'/"><img src="/images/view-specs.jpg" alt="View Specs" /></a></li>');
  oDoc.writeln('</ul></form></div></div>');
}

Array.min = function( array ){
    return Math.min.apply( Math, array );
};

function DrawSeriesLowestPrice(m_SeriesIdx)
{
  var ID = g_Series[(m_SeriesIdx*g_SeriesFldCnt)+fld_Series_Id];
  var price = new Array();
  v=0;
  for(var i=1;i<g_System.length;i=i+5){if(g_System[i] == ID){price[v] = parseFloat(g_System[i+2].replace(".00","")); v++;}}
  document.write(price.min());
}

function DrawPartDetail2(Idx)
{
  var ipnIdx = g_PartIdx[BSearch(Idx, g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
  
  var subcatidx;
  var subcatid = g_Part[ipnIdx];
  for(var i=0;i<g_SubCat.length;i=i+5){ if(g_SubCat[i] == subcatid){ subcatidx = i; } }
  var subcatname = g_SubCat[subcatidx+fld_SubCat_Desc];

  var catidx;
  var catid = g_SubCat[subcatidx+fld_SubCat_CatId];
  
  for(var x=0;x<g_Cat.length;x = x + 4){ if(g_Cat[x] == catid){ catidx = x; } }
  catidx = RoundOff(catidx/4);
  if(!catidx.indexOf(".")=="-1") { catidx = catidx.substring(0, 2); catidx++; }
  var catname = g_Cat[(4*catidx)+fld_Cat_Desc];
  
  var oDoc = document;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var ipn = g_Part[ipnIdx+fld_Part_Id];
  var pic = "http://www.mysterybyte.com/viewimage.php/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg?width=125&amp;height=125&amp;cropratio1:1&amp;image=/itempics/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg";
  var kgs = g_Part[ipnIdx+fld_Part_Weight];
	var lbs = RoundOff2(kgs * 2.2046);
	var stockStatusValue = GetStockStatus(ipnIdx);
	if(g_Part[ipnIdx+fld_Part_Desc].charAt(0)=='*') stockStatusValue=3;
	oDoc.writeln('<div id="part-category"><a href="/">Home</a> » <a href="/category/'+catidx+'/">'+catname+'</a> » <a href="/category/'+catidx+'/#'+subcatname+'">'+subcatname+'</a> » <b>'+g_Part[ipnIdx+fld_Part_Desc].substring(0, 50)+'...</b></div>');
  oDoc.writeln('<div class="lb-dotted"></div>');
  oDoc.writeln('<div id="view-part">');
	oDoc.writeln('<h2>'+g_Part[ipnIdx+fld_Part_Desc]+'</h2>');
  oDoc.writeln('<div id="picture"><img src="http://www.mysterybyte.com/viewimage.php/'+ipn+'.jpg?width=125&amp;height=125&amp;cropratio=1:1&amp;image=/itempics/'+ipn+'.jpg" /></div>');
  oDoc.writeln('<div id="description">\n<form>\n');
  oDoc.writeln('<ul>');
  oDoc.writeln('<li><b>Part:</b> '+ipn+'</li>');
  oDoc.writeln('<li class="stock"><b>Availability:</b> '+stockStatus[stockStatusValue]+'</li>');
  oDoc.writeln('<li><b>Weight:</b> '+kgs+'Kg,&nbsp;&nbsp;'+lbs+'lb</li>');
  oDoc.writeln('<li><b>Price:</b> $'+g_Part[ipnIdx+fld_Part_Price]+'</li>');
	oDoc.writeln('<li><b>Quanity:</b> <input type="text" name="qty" size="1" maxlength="3" value="1"></li>');
  oDoc.writeln('<li><INPUT onClick="ShopListAdd('+ipn+',this.form.qty.value);" type="button" value="Add To List"></li>');
  oDoc.writeln('</ul>');
  oDoc.writeln('</div>');
  oDoc.writeln('<br style="clear: both;" />');
  oDoc.writeln('</div>\n</form>\n');
}

function DrawPartDetailSpecial(Idx,discount)
{
  var ipnIdx = g_PartIdx[BSearch(Idx, g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
  
  var subcatidx;
  var subcatid = g_Part[ipnIdx];
  for(var i=0;i<g_SubCat.length;i=i+5){ if(g_SubCat[i] == subcatid){ subcatidx = i; } }
  var subcatname = g_SubCat[subcatidx+fld_SubCat_Desc];

  var catidx;
  var catid = g_SubCat[subcatidx+fld_SubCat_CatId];
  
  for(var x=0;x<g_Cat.length;x = x + 4){ if(g_Cat[x] == catid){ catidx = x; } }
  catidx = RoundOff(catidx/4);
  if(!catidx.indexOf(".")=="-1") { catidx = catidx.substring(0, 2); catidx++; }
  var catname = g_Cat[(4*catidx)+fld_Cat_Desc];
  
  var oDoc = document;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var ipn = g_Part[ipnIdx+fld_Part_Id];
  var pic = "http://www.mysterybyte.com/viewimage.php/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg?width=125&amp;height=125&amp;cropratio1:1&amp;image=/itempics/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg";
  var kgs = g_Part[ipnIdx+fld_Part_Weight];
	var lbs = RoundOff2(kgs * 2.2046);
	var stockStatusValue = GetStockStatus(ipnIdx);
	if(g_Part[ipnIdx+fld_Part_Desc].charAt(0)=='*') stockStatusValue=3;
	price = parseFloat(g_Part[ipnIdx+fld_Part_Price]);
  var total = price - discount;
  oDoc.writeln('<div id="part-category"><a href="/">Home</a> » <a href="/category/'+catidx+'/">'+catname+'</a> » <a href="/category/'+catidx+'/#'+subcatname+'">'+subcatname+'</a> » <b>'+g_Part[ipnIdx+fld_Part_Desc].substring(0, 50)+'...</b></div>');
  oDoc.writeln('<div class="lb-dotted"></div>');
  oDoc.writeln('<div id="view-part">');
  oDoc.writeln('<div style="color: red; font-weight: bold; font-size: 14px; margin-top: 10px;">Save $'+discount+'.00! Limited Time Only!</div>');
	oDoc.writeln('<h2>'+g_Part[ipnIdx+fld_Part_Desc]+'</h2>');
	
  oDoc.writeln('<div id="picture"><img src="http://www.mysterybyte.com/viewimage.php/'+ipn+'.jpg?width=125&amp;height=125&amp;cropratio=1:1&amp;image=/itempics/'+ipn+'.jpg" /></div>');
  oDoc.writeln('<div id="description">\n<form>\n');
  oDoc.writeln('<ul>');
  oDoc.writeln('<li><b>Part:</b> '+ipn+'</li>');
  oDoc.writeln('<li class="stock"><b>Availability:</b> '+stockStatus[stockStatusValue]+'</li>');
  oDoc.writeln('<li><b>Weight:</b> '+kgs+'Kg,&nbsp;&nbsp;'+lbs+'lb</li>');
  oDoc.writeln('<li><b>Quanity:</b> <input type="text" name="qty" size="1" maxlength="3" value="1"></li>');
  oDoc.writeln('<li>&nbsp;</li>');
  oDoc.writeln('<li><b style="color: green; font-size: 16px;">Sale Price: $'+total+'</b></li>');
  oDoc.writeln('<li><i style="font-size: 10px">(Reg. Price: $'+price+')</i></li>');
	oDoc.writeln('<li>&nbsp;</li>');
  oDoc.writeln('<li><input onclick="ShopListAddSpecial('+ipn+',this.form.qty.value,\''+ipn+'|'+discount+'\')" value="Add To List" type="button"></li>');
  oDoc.writeln('</ul>');
  oDoc.writeln('</div>');
  oDoc.writeln('<br style="clear: both;" />');
  oDoc.writeln('</div>\n</form>\n');
}

function DrawSmallPartDetail(Idx)
{
  var ipnIdx = g_PartIdx[BSearch(Idx, g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
  
  var oDoc = document;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var ipn = g_Part[ipnIdx+fld_Part_Id];
  var pic = "http://www.mysterybyte.com/viewimage.php/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg?width=125&amp;height=125&amp;cropratio1:1&amp;image=/itempics/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg";
  var kgs = g_Part[ipnIdx+fld_Part_Weight];
	var lbs = RoundOff2(kgs * 2.2046);
	var stockStatusValue = GetStockStatus(ipnIdx);
	if(g_Part[ipnIdx+fld_Part_Desc].charAt(0)=='*') stockStatusValue=3;
  oDoc.writeln('<div id="view-part">');
	oDoc.writeln('<h3>'+g_Part[ipnIdx+fld_Part_Desc]+'</h3>');
  oDoc.writeln('<div id="picture"><img src="http://www.mysterybyte.com/viewimage.php/'+ipn+'.jpg?width=125&amp;height=125&amp;cropratio=1:1&amp;image=/itempics/'+ipn+'.jpg" /></div>');
  oDoc.writeln('<div id="description">');
  oDoc.writeln('<ul>');
  oDoc.writeln('<li><b>Part:</b> '+ipn+'</li>');
  oDoc.writeln('<li class="stock"><b>Availability:</b> '+stockStatus[stockStatusValue]+'</li>');
  oDoc.writeln('<li><b>Weight:</b> '+kgs+'Kg,&nbsp;&nbsp;'+lbs+'lb</li>');
  oDoc.writeln('<li><b>Price:</b> $'+g_Part[ipnIdx+fld_Part_Price]+'</li>');
  oDoc.writeln('</ul>');
  oDoc.writeln('</div>');
  oDoc.writeln('<br style="clear: both;" />');
  oDoc.writeln('</div>');
}

function DrawSpecialPartDetail(Idx,discount)
{
  var ipnIdx = g_PartIdx[BSearch(Idx, g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
  var oDoc = document;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var ipn = g_Part[ipnIdx+fld_Part_Id];
  var pic = "http://www.mysterybyte.com/viewimage.php/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg?width=125&amp;height=125&amp;cropratio1:1&amp;image=/itempics/" + g_Part[ipnIdx+fld_Part_Id] + ".jpg";
  var kgs = g_Part[ipnIdx+fld_Part_Weight];
	var lbs = RoundOff2(kgs * 2.2046);
	var stockStatusValue = GetStockStatus(ipnIdx);
	price = parseFloat(g_Part[ipnIdx+fld_Part_Price]);
  var total = price - discount;
	
	if(g_Part[ipnIdx+fld_Part_Desc].charAt(0)=='*') stockStatusValue=3;
  oDoc.writeln('<div class="view-item-special">');
	oDoc.writeln('<a href="/part/'+ipn+'/">'+g_Part[ipnIdx+fld_Part_Desc]+'</a>');
	oDoc.writeln('<div class="description"><form>');
  oDoc.writeln('<div class="picture"><img src="http://www.mysterybyte.com/viewimage.php/'+ipn+'.jpg?width=125&amp;height=125&amp;cropratio=1:1&amp;image=/itempics/'+ipn+'.jpg" /></div>');
  oDoc.writeln('<ul>');
  oDoc.writeln('<li><b>Part:</b> '+ipn+'</li>');
  oDoc.writeln('<li class="stock"><b>Availability:</b> '+stockStatus[stockStatusValue]+'</li>');
  oDoc.writeln('<li><b>Weight:</b> '+kgs+'Kg,&nbsp;&nbsp;'+lbs+'lb</li>');
  oDoc.writeln('<li><b>Price:</b> $'+RoundOff2(total)+'</li>');
  oDoc.writeln('<li class="stock"><b>Save:</b> $'+discount+'</li>');
  oDoc.writeln('<li><b>Quanity:</b> <input name="qty" size="1" maxlength="3" value="1" type="text"></li>');
  oDoc.writeln('<li><input onclick="ShopListAddSpecial('+ipn+',this.form.qty.value,\''+ipn+'|'+discount+'\')" value="Add To List" type="button"></li>');
  oDoc.writeln('</ul>');
  oDoc.writeln('</div></form>');
  oDoc.writeln('</div>');
}

function DrawNewProducts() {
  var partIdx;
  bColorFlag = 1;
  for(var i=0;i<ipnSpecial.length;i++)
  {
  	partIdx = g_PartIdx[BSearch(ipnSpecial[i], g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
  	document.write('<div class="view-part-'+bColorFlag+'">');
  	DrawPartDetail(partIdx);
  	document.write('</div>');
  	if(bColorFlag == 1) bColorFlag = 2;
		else bColorFlag = 1;
  }
}

function DrawSpecials() {
  var partIdx;
  bColorFlag = 1;
  for(var i=0;i<ipnSpecial.length;i++)
  {
  	partIdx = g_PartIdx[BSearch(ipnSpecial[i], g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
  	document.write('<div class="view-special-'+bColorFlag+'">');
  	DrawPartDetail(partIdx);
  	document.write('</div>');
  	if(bColorFlag == 1) bColorFlag = 2;
		else bColorFlag = 1;
  }
}

function DrawArrival(ipn)
{
	var partIdx = g_PartIdx[BSearch(ipn, g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];
	var partStatus = GetStockStatus(partIdx);
	document.write('<li class="idx">'+ipn+'</li>\n');
	document.write('<li class="description"><a href="/part/'+ipn+'/">'+g_Part[partIdx+fld_Part_Desc]+'</a></li>\n');
	document.write('<li class="price">'+g_Part[partIdx+fld_Part_Price]+'</li>\n'); 
}

function DrawPartArrival()
{
  document.write('<div id="product-arrivals">\n');
	document.write('<h1>Product Arrivals</h1>\n');
	document.write('<p>(The following products will be arriving within the next few days)</p>');
  document.write('<ul class="title">\n');
  document.write('<li class="idx">Part #</li>\n');
  document.write('<li class="description">Product Description</li>\n');
  document.write('<li class="price">Price (CAD)</li>\n');
  document.write('</ul>\n');
  bColorFlag=1;
  for(var i=0;i<ipnArrival.length;i++)
  {
    document.write('<ul class="list-'+bColorFlag+'">\n');
    DrawArrival(ipnArrival[i]);
  	document.write('</ul>\n');
  	if(bColorFlag == 1) bColorFlag = 2;
		else bColorFlag = 1;
  }
  document.write('</div>\n');
}


function DrawCategory(m_CategoryIdx)
{
	var cat = m_CategoryIdx*g_CatFldCnt;
	var oDoc = document;
	var CatName,SubCatName,SubCatIdx,SubCatCnt,PartIdx,PartCnt,bColorFlag,stockStatusValue;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var statusPic = ["/images/stock/red.gif","/images/stock/green.gif","/images/stock/yellow.gif","/images/stock/blue.gif"];
	CatName = g_Cat[cat+fld_Cat_Desc];
	SubCatIdx = g_Cat[cat+fld_Cat_Idx]*g_SubCatFldCnt;
	SubCatIdx2 = g_Cat[cat+fld_Cat_Idx]*g_SubCatFldCnt;
	SubCatCnt = g_Cat[cat+fld_Cat_Cnt];
	oDoc.writeln('<h1><a name="top"></a>'+CatName+'</h1>');
	oDoc.writeln('<ul id="sub-category">');
	for(var z=0;z<SubCatCnt;z++) // Loop Through SubCats
	{
  	SubCatName = g_SubCat[SubCatIdx2+fld_SubCat_Desc];
  	oDoc.writeln('<li><a href="#'+SubCatName+'">'+SubCatName+'</a></li>');
  	SubCatIdx2+=g_SubCatFldCnt;
	}
	oDoc.writeln('</ul>');
	oDoc.writeln('<div class="lb-dotted"></div>');
	
	for(var i=0;i<SubCatCnt;i++) // Loop Through SubCats
	{
	  if(SubCatIdx==403){ continue; }
		SubCatName = g_SubCat[SubCatIdx+fld_SubCat_Desc];
		PartIdx = g_SubCat[SubCatIdx+fld_SubCat_Idx]*g_PartFldCnt;
		PartCnt = g_SubCat[SubCatIdx+fld_SubCat_Cnt];
		oDoc.writeln('<h2><a name="'+SubCatName+'">'+SubCatName+'<a href="/sub-category/'+SubCatIdx+'/" class="viewall">(View All)</a></h2>');
    oDoc.writeln('<div class="wrap">');
    oDoc.writeln('<ul class="title">');
    oDoc.writeln('<li class="idx">Part #</li>');
    oDoc.writeln('<li class="description">Product Description</li>');
    oDoc.writeln('<li class="stock">Stock</li>');
    oDoc.writeln('<li class="price">Price (CAD)</li>');
    oDoc.writeln('</ul>');
    bColorFlag=1;
		for(var x=0;x<PartCnt;x++)
		{
		  stockStatusValue = GetStockStatus(PartIdx);
			if(g_Part[PartIdx+fld_Part_Desc].charAt(0)=='*')
      {
        g_Part[PartIdx+fld_Part_Desc] = g_Part[PartIdx+fld_Part_Desc].substr(1);
        stockStatusValue = 3;
      };
      oDoc.writeln('<ul class="list-'+bColorFlag+'">');
/*      oDoc.writeln('<li class="list-description"><div><a href="/part/'+PartIdx+'">' + g_Part[PartIdx+fld_Part_Desc].substring(0, 65) + '</a></div></li>'); */
      oDoc.writeln('<li class="idx">'+g_Part[PartIdx+fld_Part_Id]+'</li>');
      oDoc.writeln('<li class="description"><a href="/part/'+g_Part[PartIdx+fld_Part_Id]+'/">'+g_Part[PartIdx+fld_Part_Desc]+'</a></li>');
      oDoc.writeln('<li class="stock"><img src="'+statusPic[stockStatusValue]+'" /></li>');
      oDoc.writeln('<li class="price">$'+g_Part[PartIdx+fld_Part_Price]+'</li>');
      oDoc.writeln('<li class="add"><a href="javascript:void(null)" onclick="ShopListAdd('+g_Part[PartIdx+fld_Part_Id]+',1);"><img src="/images/components-add-white.jpg" alt="Add" /></a></li>');
      oDoc.writeln('</ul>');
			if(bColorFlag == 1) bColorFlag = 2;
			else bColorFlag = 1;
			PartIdx+=g_PartFldCnt;
		} // end for loop
		SubCatIdx+=g_SubCatFldCnt;
		oDoc.writeln('<div class="stock"><img src="/images/stock/green.gif" alt="In Stock" /> In Stock <img src="/images/stock/yellow.gif" alt="Low Stock" /> Low Stock <img src="/images/stock/red.gif" alt="Out of Stock" /> Out of Stock <img src="/images/stock/blue.gif" alt="Call" /> Call</div>');
		oDoc.writeln('<div class="top"><a href="#top">Back to the top<img src="/images/back-to-top.gif" alt="UP" /></a></div>');
		oDoc.writeln('</div>');
	} // end for loop
}

function DrawFullCategory(m_CategoryIdx)
{
	var cat = m_CategoryIdx*g_CatFldCnt;
	var oDoc = document;
	var CatName,SubCatName,SubCatIdx,SubCatCnt,PartIdx,PartCnt,bColorFlag,stockStatusValue;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var statusPic = ["/images/stock/red.gif","/images/stock/green.gif","/images/stock/yellow.gif","/images/stock/blue.gif"];
	CatName = g_Cat[cat+fld_Cat_Desc];
	SubCatIdx = g_Cat[cat+fld_Cat_Idx]*g_SubCatFldCnt;
	SubCatIdx2 = g_Cat[cat+fld_Cat_Idx]*g_SubCatFldCnt;
	SubCatCnt = g_Cat[cat+fld_Cat_Cnt];
	oDoc.writeln('<h1><a name="top"></a>'+CatName+'</h1>');
	oDoc.writeln('<ul id="sub-category">');
	for(var z=0;z<SubCatCnt;z++) // Loop Through SubCats
	{
  	SubCatName = g_SubCat[SubCatIdx2+fld_SubCat_Desc];
  	oDoc.writeln('<li><a href="#'+SubCatName+'">'+SubCatName+'</a></li>');
  	SubCatIdx2+=g_SubCatFldCnt;
	}
	oDoc.writeln('</ul>');
	
	for(var i=0;i<SubCatCnt;i++) // Loop Through SubCats
	{
	  if(SubCatIdx==403){ continue; }
		SubCatName = g_SubCat[SubCatIdx+fld_SubCat_Desc];
		PartIdx = g_SubCat[SubCatIdx+fld_SubCat_Idx]*g_PartFldCnt;
		PartCnt = g_SubCat[SubCatIdx+fld_SubCat_Cnt];
		oDoc.writeln('<div class="lb-dotted"></div>');
		oDoc.writeln('<h1><a name="'+SubCatName+'">'+SubCatName+'</h1>');
    oDoc.writeln('<div>');
    bColorFlag=1;
		for(var x=0;x<PartCnt;x++)
		{
		  document.write('<div class="view-part-'+bColorFlag+'">');
    	DrawPartDetail(PartIdx);
    	document.write('</div>');
    	if(bColorFlag == 1) bColorFlag = 2;
  		else bColorFlag = 1;
  		PartIdx+=g_PartFldCnt;
		} // end for loop
		SubCatIdx+=g_SubCatFldCnt;
		oDoc.writeln('</div>');
	} // end for loop
}

function DrawNotebooks(m_CategoryIdx)
{
	var cat = m_CategoryIdx*g_CatFldCnt;
	var oDoc = document;
	var CatName,SubCatName,SubCatIdx,SubCatCnt,PartIdx,PartCnt,bColorFlag,stockStatusValue;
	var stockStatus = ["2-3 Day Order","In Stock","Low Stock","Call"];
	var statusPic = ["/images/stock/red.gif","/images/stock/green.gif","/images/stock/yellow.gif","/images/stock/blue.gif"];
	CatName = g_Cat[cat+fld_Cat_Desc];
	SubCatIdx = g_Cat[cat+fld_Cat_Idx]*g_SubCatFldCnt;
	SubCatIdx2 = g_Cat[cat+fld_Cat_Idx]*g_SubCatFldCnt;
	SubCatCnt = g_Cat[cat+fld_Cat_Cnt];
	oDoc.writeln('<h1><a name="top"></a>'+CatName+'</h1>');
	oDoc.writeln('<ul id="sub-category">');
	for(var z=0;z<SubCatCnt;z++) // Loop Through SubCats
	{
  	if(SubCatIdx2 == 570 || SubCatIdx2 == 575){ SubCatIdx2+=g_SubCatFldCnt; continue; }
    SubCatName = g_SubCat[SubCatIdx2+fld_SubCat_Desc];
  	oDoc.writeln('<li><a href="#'+SubCatName+'">'+SubCatName+'</a></li>');
  	SubCatIdx2+=g_SubCatFldCnt;
	}
	oDoc.writeln('</ul>');
	
	for(var i=0;i<SubCatCnt;i++) // Loop Through SubCats
	{
	  if(SubCatIdx == 570 || SubCatIdx == 575){ SubCatIdx+=g_SubCatFldCnt; continue; }
		SubCatName = g_SubCat[SubCatIdx+fld_SubCat_Desc];
		PartIdx = g_SubCat[SubCatIdx+fld_SubCat_Idx]*g_PartFldCnt;
		PartCnt = g_SubCat[SubCatIdx+fld_SubCat_Cnt];
		oDoc.writeln('<div class="lb-dotted"></div>');
		oDoc.writeln('<h1><a name="'+SubCatName+'">'+SubCatName+'</h1>');
    oDoc.writeln('<div>');
    bColorFlag=1;
		for(var x=0;x<PartCnt;x++)
		{
		  document.write('<div class="view-part-'+bColorFlag+'">');
    	DrawNotebook(PartIdx);
    	document.write('</div>');
    	if(bColorFlag == 1) bColorFlag = 2;
  		else bColorFlag = 1;
  		PartIdx+=g_PartFldCnt;
		} // end for loop
		SubCatIdx+=g_SubCatFldCnt;
		oDoc.writeln('</div>');
	} // end for loop
}


function DrawSubCategory(id) {
  var bColorFlag = 1;
  var m_SubCatIdx = id;
	var ipn = g_SubCat[m_SubCatIdx+fld_SubCat_Idx]*g_PartFldCnt;
	var ipncnt = g_SubCat[m_SubCatIdx+fld_SubCat_Cnt];
	
	var ipnIdx = g_PartIdx[BSearch(ipn, g_PartIdx, g_PartIdxFldCnt)+fld_PartIdx_Idx];

  var catidx;
  var catid = g_SubCat[m_SubCatIdx+fld_SubCat_CatId];
  var subcatname = g_SubCat[m_SubCatIdx+fld_SubCat_Desc];
  
  for(var x=0;x<g_Cat.length;x = x + 4){ if(g_Cat[x] == catid){ catidx = x; } }
  catidx = RoundOff(catidx/4);
  if(!catidx.indexOf(".")=="-1") { catidx = catidx.substring(0, 2); catidx++; }
  var catname = g_Cat[(4*catidx)+fld_Cat_Desc];
  
	document.writeln('<div id="part-category"><a href="/">Home</a> » <a href="/category/'+catidx+'/">'+catname+'</a> » <b>'+subcatname+'</b></div>');
  document.writeln('<div class="lb-dotted"></div>');
	document.writeln("<h1>"+subcatname+"</h1>");
	while(ipncnt--)
	{
	  document.write('<div class="view-part-'+bColorFlag+'">');
  	DrawPartDetail(ipn);
  	document.write('</div>');
  	if(bColorFlag == 1) bColorFlag = 2;
		else bColorFlag = 1;
		ipn += g_PartFldCnt;
	}
}

function DrawSystemOverview(sysIdx) {
	var ipn;
	var partIdx;
	var systemName=g_System[sysIdx+fld_System_Name];
	var systemPic=g_System[sysIdx+fld_System_Pic];
	var systemPrice=g_System[sysIdx+fld_System_Price];
	var systemId=g_System[sysIdx+fld_System_Id];
	document.writeln('<div class="system-view">');
	document.writeln('<h2>'+systemName+'</h2>');
	document.writeln('<div class="picture"><img src="http://www.mysterybyte.com/syspics/lg_'+systemPic+'" border=0 /></div>');
	document.writeln('<br><img src="http://www.mysterybyte.com/syspics/options.gif" width=330 height=16 border=0><br>'); 
	document.writeln('<b>Details:</b><br>');
	for(var i=0;i<g_SysPart.length;i+=g_SysPartFldCnt) {
		if(g_SysPart[i+fld_SysPart_SysId]==systemId) {
			ipn=g_SysPart[i+fld_SysPart_Ipn];
			if(ipn!=739) {
				partIdx=g_PartIdx[BSearch(ipn,g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
				document.writeln("&#8226;<font size=1 face=Verdana>"+g_Part[partIdx+fld_Part_Desc]+"</font><br>");
			}
		}
	}
	document.writeln('<br /><b>Priced at:</font>&nbsp;<font color=#FF0000 size=3 face=Verdana>$'+systemPrice+'</b></font><br />');
	document.writeln("<input type=\"button\" value=\"Customize & Quote\" onClick=\"location.href='http://www.mysterybyte.com/build-system/"+systemId+"/'\">");
  document.writeln('</div>');
}

function DisplaySeriesName(m_SeriesIdx)
{
  var m_SeriesId = g_Series[(m_SeriesIdx*g_SeriesFldCnt)+fld_Series_Id];
	document.write(g_Series[(m_SeriesIdx*g_SeriesFldCnt)+fld_Series_Desc]);
}

function DisplaySystemsFromSeries(m_SeriesIdx) {
  var cnt = 0;
  var m_SeriesId = g_Series[(m_SeriesIdx*g_SeriesFldCnt)+fld_Series_Id];
	for(var i=0;i<g_System.length;i+=g_SystemFldCnt) {
		if(g_System[i+fld_System_Series]==m_SeriesId) {
			DrawSystemOverview(i,6);
			document.write('<br /><div class="lb-dotted"></div>');
			cnt++;
		}
	}
}

function GetSeriesPosition(seriesId)
{
	var cnt=0;
	for(var t=0;t<g_Series.length;t+=g_SeriesFldCnt)
	{
		if(g_Series[t+fld_Series_Id]==seriesId)	return cnt;
		cnt++;
	}
	return 0;
}

function DrawHomePageSystemOverview(sysPos, maxLines)
{
	var ipn,partIdx;
	var sysIdx=sysPos*g_SystemFldCnt;
	var seriesNum=GetSeriesPosition(g_System[sysIdx+fld_System_Series]);
	var systemName=g_System[sysIdx+fld_System_Name];
	var systemPic=g_System[sysIdx+fld_System_Pic];
	var systemPrice=g_System[sysIdx+fld_System_Price];
	var systemId=g_System[sysIdx+fld_System_Id];
	document.writeln('<table width="200" border="0"><tr>');
	document.writeln('<td	align=center><a	href="series.htm?seridx='+seriesNum+'"><img src="http://mysterybyte.com/syspics/sm_'+systemPic+'" width=155 height=116 border=0></a></td>');
	document.writeln('</tr><tr><td bgcolor="#CCCCCC"></td></tr><tr><td align=center>');
	document.writeln('<table width=150 border=0 cellpadding=0	cellspacing=0 height=25><tr><td	align=center><font size=1 face=verdana><strong>'+systemName+'</strong></font></td></tr>');
	document.writeln('</table></td></tr><tr><td	bgcolor="#CCCCCC"></td></tr></table><table width="200" height="180"	border="0"><tr><td valign="top">');
	for(var i=0;i<g_SysPart.length;i+=g_SysPartFldCnt)
	{
		if(g_SysPart[i+fld_SysPart_SysId]==systemId)
		{
			ipn=g_SysPart[i+fld_SysPart_Ipn];
			if(ipn!=739)
			{
				partIdx=g_PartIdx[BSearch(ipn,g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
				document.writeln('<table border=0 cellpadding=0 cellspacing=0><tr><td><img src="http://mysterybyte.com/pics/arrow2.gif">&nbsp;<font size=1 face=Verdana>'+g_Part[partIdx+fld_Part_Desc]+'</font></td></tr></table>');
				maxLines--;
			}
		}
		if(maxLines<=0) break;
	}
	document.writeln('</td></tr></table><table width="200" border="0">');
	document.writeln('<tr><td colspan="2" bgcolor="#CCCCCC"></td></tr>');
	document.writeln('<tr><td align=center><font color=#FF0000 size=2 face=Verdana><b>$'+systemPrice+'</b></font></td>');
	document.writeln('<td align=center><a href="/build-system/'+systemId+'/" class=info>VIEW&nbsp;SERIES '+sysIdx+'</a></td>');
	document.writeln('</tr><tr><td colspan="2" bgcolor="#CCCCCC"></td></tr></table>');
}

function DrawCategoryList()
{
	var cnt=0;
	document.write('<ul>\n');
	for(var i=0;i<g_Cat.length;i+=g_CatFldCnt)
	{
  	if(cnt%2==0) {
    	document.write('<li><a href="/category/'+cnt+'/">'+g_Cat[i+fld_Cat_Desc]+'</a></li>\n');
    	cnt++;
  	} else {
      document.write('<li class="alt"><a href="/category/'+cnt+'/">'+g_Cat[i+fld_Cat_Desc]+'</a></li>\n');
    	cnt++;
    }
  }
  document.write('</ul>\n');
}

function PartSearch(obj,bFocus)
{
	var srchStr,bFlag;
	var f = top.MAINFRAME.document;
	var tableStartFlag=0;
	var count=0;
	var patStr=obj.value;
	var sLineColor=["#FFFFFF","#DFEFFF"];
	if(patStr.length==0)
	{
		if(bFocus)
		{
			obj.focus();
			obj.select();
		}
		return;
	}
	patStr=patStr.toUpperCase();
	bFlag=0;
	for(var i=0;i<g_Part.length;i+=g_PartFldCnt)
	{
		srchStr=g_Part[i+fld_Part_Desc];
		srchStr=srchStr.toUpperCase();
		if(srchStr.indexOf(patStr)!=-1)
		{
			count++;
			if(tableStartFlag==0)
			{
				tableStartFlag=1;
				SearchTableStart(patStr);
			}
			if(count<=5)
			{
				f.write('<TR><TD nowrap align=left bgcolor=\"'+sLineColor[bFlag]+'\" width=40>'+g_Part[i+fld_Part_Id]+'</TD>');
				f.write('<TD align=left bgcolor=\"'+sLineColor[bFlag]+'\">&nbsp;<a href="item.htm?partidx='+i+'" target="MAINFRAME" class="plink">'+g_Part[i+fld_Part_Desc]+'</a></TD>');
				f.write('<TD nowrap align=right bgcolor=\"'+sLineColor[bFlag]+'\">'+g_Part[i+fld_Part_Price]+'</TD></TR>');
			}
			else
			{
				count=5;
				break;
			}
			if(bFlag==0) bFlag=1;
			else bFlag=0;
		}
	}
	if(tableStartFlag==1)
	{
		SearchTableEnd(count);
	}
	else if(count==0) SearchFailed(patStr);
	if(bFocus)
	{
		obj.focus();
		obj.select();
	}
}

function SearchFailed(str)
{
	var f=top.MAINFRAME.document;
	f.open();
	f.write('<HTML><HEAD></HEAD>');
	f.write('<BODY BGCOLOR="#FFFFFF" LEFTMARGIN=8 RIGHTMARGIN=8 TOPMARGIN=8 MARGINWIDTH=8 MARGINHEIGHT=8 TEXT="#000000" LINK="#0000FF" ALINK="#0000FF" VLINK="#0000FF">');
	f.write('<BR><B>No Items matching '+str+' could be found. Please try again.</B>');
	f.write('<BR><BR>This search works on keywords only, here are some examples:');
	f.write('<UL><LI>ati - returns items containing the word ati');
	f.write('<LI>17" - returns items containing the word 17"');
	f.write('<LI>asus - returns items containing the word asus</UL>');
	f.write('<BR>Search is limited to 5 Items.');
	f.write('<form onSubmit="top.SIDEFRAME.onSearch(keySearch,0);return false"><div style="font-size:12pt;font-weight:bold">Search Again:&nbsp;&nbsp;<input type=text name=keySearch size=12 style="border-width:1px;border-color:#000000">&nbsp;&nbsp;<input type=submit value="Search" style="font-size:9pt"></div></form>');
	f.write('</BODY></HTML>');
	f.close();
}

function SearchTableStart(str)
{
	var f = top.MAINFRAME.document;
	f.open();
	f.write('<HTML><HEAD><link rel=stylesheet type=text/css href=mb.css></HEAD>');
	f.write('<BODY BGCOLOR="#FFFFFF" LEFTMARGIN=4 RIGHTMARGIN=4 TOPMARGIN=0 MARGINWIDTH=4 MARGINHEIGHT=0 TEXT="#000000" LINK="#0000FF" ALINK="#0000FF" VLINK="#0000FF">');
	f.write('<BR><B>Search Results For:</B>&nbsp;&nbsp;'+str);
	f.write('<BR><BR><TABLE cellpadding=0 cellspacing=4 width=640><tr><td align=left>');
	f.write('<TABLE style="font-size: 12pt" bgcolor="#0080FF" border=0 cellpadding=1 cellspacing=1 width="100%">');
	f.writeln('<TR style="font-size:10pt;font-weight:bold"><TD width=40 nowrap bgcolor="#DDDDDD">&nbsp;Part #&nbsp;</TD><TD align=center nowrap bgcolor="#DDDDDD">&nbsp;Product Description</TD><TD align=center nowrap bgcolor="#DDDDDD" colspan=2>Price (CAD)</TD></TR>');
}

function SearchTableEnd(nItems)
{
	var f=top.MAINFRAME.document;
	f.writeln('</TABLE></TD></TR></TABLE>');
	if(nItems!=25) f.write('<BR><B>Number of Matching Items Returned:</B>&nbsp;&nbsp;'+nItems);
	else f.write('<BR>First 25 Matching Items Returned.');
	f.write('<form onSubmit="top.SIDEFRAME.PartSearch(keySearch,0);return false"><div style="font-size:12pt;font-weight:bold">Search Again:&nbsp;&nbsp;<input type=text name=keySearch size=12 style="border-width:1px;border-color:#000000">&nbsp;&nbsp;<input type=submit value="Search" style="font-size:9pt"></div></form>');
	f.write('<BR></BODY></HTML>');
	f.close();
}

function ShopListAdd(ipn, qty)
{
	if(isNaN(parseInt(ipn))||isNaN(parseInt(qty))) return;
	var arCookItem=GetCookie('ITEMS');
	var arCookQty=GetCookie('QTY');
	if(arCookItem==null||arCookQty==null)
	{
		SetTempCookie('ITEMS',ipn);
		SetTempCookie('QTY',qty);
	}
	else
	{
		arItem=arCookItem.split('/');
		arQty=arCookQty.split('/');
		bExists=0;
		var sIpn=""+ipn;
		var sQty=""+qty;
		for(var i=0;i<arItem.length;i++)
		{
			if(arItem[i]==sIpn)
			{
				var newQty=parseInt(arQty[i],10)+parseInt(qty,10);
				ShopListDelete(sIpn);
				ShopListAdd(sIpn,newQty);
				return;
			}
		}
		arCookItem+="/";
		arCookItem+=ipn;
		arCookQty+="/";
		arCookQty+=qty;
		SetTempCookie('ITEMS',arCookItem);
		SetTempCookie('QTY',arCookQty);
	}
	DisplayNumCartItems();
}

function ShopListAddSpecial(ipn, qty, coupon)
{
  var arCookCoupons=GetCookie('COUPONS');
  if(arCookCoupons==null)
	{
		SetTempCookie('COUPONS',coupon+"/");
	}
	else
	{
    arCookCoupons+=coupon;
    arCookCoupons+="/";
    SetTempCookie('COUPONS',arCookCoupons);
	}
  ShopListAdd(ipn, qty);
}

function ShopListDelete(ipn)
{
	if(isNaN(parseInt(ipn))) return;
	var i;
	var delMe;
	var len;
	var cItems=GetCookie('ITEMS');
	var cQty=GetCookie('QTY');
	if(cItems!=null&&cQty!=null)
	{
		var sIpn=""+ipn;
		var aItem=cItems.split('/');
		var aQty=cQty.split('/');
		len=aItem.length;
		delMe=-1;
		for(i=0;i<len;i++)
		{
			if(aItem[i]==sIpn)
			{
				delMe=i;
				break;
			}
		}
		if(delMe==-1) return;
		if(delMe==0&&len==1)
		{
			DeleteCookie("ITEMS");
			DeleteCookie("QTY");
			return;
		}
		var newItems="";
		var newQty="";
		var cnt=0;
		for(i=0;i<len;i++)
		{
			if(i!=delMe)
			{
				if(cnt!=0)
				{
					newItems+="/";
					newQty+="/";
				}
				newItems+=aItem[i];
				newQty+=aQty[i];
				cnt++;
			}
		}
		SetTempCookie('ITEMS',newItems);
		SetTempCookie('QTY',newQty);
	}
}

function ShopListUpdate()
{
	ShopListCheckQty();
	DisplayNumCartItems();
	document.location = "/cart/";
}

function ShopListCheckQty()
{
	var f=document.FRMSL;
	var len=f.ckbox.length;
	if(isNaN(len))
	{
		var v=f.txtQty.value;
	    if(f.ckbox.checked==true||parseInt(v,10)<=0)
	    {
		    DeleteCookie('ITEMS');
		    DeleteCookie('QTY');
			return;
	    }
		SetTempCookie('QTY',v);
		return;
	}
	var i;
	var cQty=GetCookie('QTY');
	if(cQty==null) return;
	var oldQty=cQty.split('/');
	if(isNaN(len)) return;
	var delFlg = new Array(len);
	for(i=0;i<len;i++) delFlg[i]=0;
	for(i=0;i<len;i++)
	{
	    if(f.ckbox[i].checked==true) delFlg[i]=1;
		else
		{
			var val=f.txtQty[i].value;
			if(parseInt(val,10)<=0) delFlg[i]=1;
		}
		oldQty[i]=val;
	}
    var newQty=oldQty[0];
    for(i=1;i<len;i++)
    {
		newQty+="/";
		newQty+=oldQty[i];
    }
    SetTempCookie('QTY',newQty);
	var cItems=GetCookie('ITEMS');
	if(cItems==null) return;
	var aItem=cItems.split('/');
    for(i=0;i<len;i++)
    {
		if(delFlg[i]==1)
		{
			ShopListDelete(aItem[i]);
		}
    }
}

function ShopListQuote()
{
	var i,t,item,qty,Price,partIdx;
	var cItems=GetCookie('ITEMS');
	var cQty=GetCookie('QTY');
	var subTotal=0;
	item=cItems.split('/');
	qty=cQty.split('/');
	for(i=0;i<item.length;i++)
	{
		partIdx=g_PartIdx[BSearch(item[i],g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
		if(partIdx>=0)
		{
			Price=g_Part[partIdx+fld_Part_Price];
			document.write("<TR style='font-family:arial;font-size:10pt'><TD nowrap align=center>"+qty[i]+"</TD><TD nowrap>"+item[i]+"</TD><TD>"+g_Part[partIdx+fld_Part_Desc]+"</TD><TD align=right nowrap>$"+Price+"</TD><TD align=right nowrap>$"+RoundOff2(qty[i]*Price)+"</TD></TR>");
			subTotal+=(parseFloat(Price)*qty[i]);
		}
	}
	document.writeln('<TR><TD colspan=5><TABLE cellspacing=0 cellpadding=0 border=0 width="100%"><TR><TD bgcolor="#000000" width="100%" height=1><img src="pics/tp.gif" width=1 height=1></TD></TR></TABLE></TD></TR>');
	return(subTotal);
}

function LatestBuildsTotal(Idx)
{
  var i,item,Price,partIdx;
	var subTotal=0;
	var item = Idx.split('/');
	for(i=0;i<item.length;i++)
	{
  	partIdx=g_PartIdx[BSearch(item[i],g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
		Price=g_Part[partIdx+fld_Part_Price];
		subTotal+=parseFloat(Price);
  }
  document.write(RoundOff2(subTotal));
}

function SystemQuote()
{
	var i,t,item,qty,Price,partIdx;
	var cItems=GetCookie('QITEMS');
	if(cItems==null) return(0);
	var subTotal=0;
	item=cItems.split('/');
	for(i=0;i<item.length;i++)
	{
		partIdx=g_PartIdx[BSearch(item[i],g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
		if(partIdx>=0)
		{
			Price=g_Part[partIdx+fld_Part_Price];
			document.write("<TR style='font-family:arial;font-size:10pt'><TD align=left nowrap>"+item[i]+"</TD><TD align=left>"+g_Part[partIdx+fld_Part_Desc]+"</TD><TD align=right nowrap>$"+Price+"</TD></TR>");
			subTotal+=parseFloat(Price);
		}
	}
	document.writeln('<TR><TD colspan=4><TABLE cellspacing=0 cellpadding=0 border=0 width="100%"><TR><TD bgcolor="#000000" width="100%" height=1><img src="pics/tp.gif" width=1 height=1></TD></TR></TABLE></TD></TR>');
	return(subTotal);
}

var g_MouseX=0,g_MouseY=0,g_AniX=0,g_AniY=0,g_AniVelX=0,g_AniVelY=0,g_Timer=0,g_ScrollX=0,g_ScrollY=0,g_TargetX=0,g_TargetY=0;

function GetScroll()
{
	g_ScrollX=0;
	g_ScrollY=0;
	var oDoc=top.MAINFRAME.document;
	var oWin=top.MAINFRAME;
	if(typeof(oWin.pageYOffset)=='number')
	{
		g_ScrollX=oWin.pageXOffset;
		g_ScrollY=oWin.pageYOffset;
	}
	else if(oDoc.body&&oDoc.body.scrollTop)
	{
		g_ScrollX=oDoc.body.scrollLeft;
		g_ScrollY=oDoc.body.scrollTop;
	}
	else if(oDoc.documentElement&&oDoc.documentElement.scrollTop)
	{
		g_ScrollX=oDoc.documentElement.scrollLeft;
		g_ScrollY=oDoc.documentElement.scrollTop;
	}
}

function MoveHandler(e)
{
	GetScroll();
	var oWin=top.MAINFRAME;
	if(oWin.document.all)
	{
		g_MouseX=oWin.event.x+g_ScrollX;
		g_MouseY=oWin.event.y+g_ScrollY;
	}
	else
	{
		g_MouseX=e.pageX;
		g_MouseY=e.pageY;
	}
}

function GetNumCartItems()
{
	var cokQty=GetCookie("QTY");
	if(cokQty!=null)
	{
		var arQuantity=cokQty.split('/');
		var len=0;
		for(var i=0;i<arQuantity.length;i++) len+=parseInt(arQuantity[i],10);
		return len;
	}
	return 0;
}

function DisplayNumCartItems()
{
	var ci=GetNumCartItems();
	if(ci>0) document.getElementById("divShoplistQty").innerHTML = '&nbsp;<a href="/cart/" onMouseOver="self.status=\'Shopping Cart\';return true"><img src="/images/cart.gif" /> '+ci+' Items <span id="price">($'+RoundOff2(CreateTotal())+')</span></a>';
	else document.getElementById("divShoplistQty").innerHTML = '&nbsp;<a href="/cart/" onMouseOver="self.status=\'Shopping Cart\';return true"><img src="/images/cart.gif" /> 0 Items <span id="price">($0.00)</span></a>';
}

function OLDCreateTotal()
{
  var i,qty,price,partIdx,items;
  var sItems=GetCookie('ITEMS');
  var sQty=GetCookie('QTY');
  var subTotal=0;
  var total=0;
  items=sItems.split('/');
  qty=sQty.split('/');
  for(i=0;i<items.length;i++)
  {
  	partIdx=g_PartIdx[BSearch(items[i],g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
		price = g_Part[partIdx+fld_Part_Price];
		subTotal += (price*qty[i]);
  }
  return(subTotal);
}

function OLDCreateCartTotal()
{
  var i,qty,price,partIdx,items;
  var sItems=GetCookie('ITEMS');
  var sQty=GetCookie('QTY');
  var subTotal=0;
  items=sItems.split('/');
  qty=sQty.split('/');
  for(i=0;i<items.length;i++)
  {
  	partIdx=g_PartIdx[BSearch(items[i],g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
		price = g_Part[partIdx+fld_Part_Price];
		subTotal += (parseFloat(price)*qty[i]);
		subTotal = RoundOff2(subTotal);
  }
  return(subTotal);
}

function AddSysToList()
{
	var v,va;
	for(var i=0;i<document.fSys.SlctPrts.length;i++)
	{
		v=document.fSys.SlctPrts[i].value;
		ShopListAdd(v,1);
	}
}

function CreateCartTotal()
{
  var i,q,qty,price,partIdx,items,coupons,discount,subtract;
  var sItems=GetCookie('ITEMS');
  var sQty=GetCookie('QTY');
  var sCoupons=GetCookie('COUPONS');
  //var sCoupons="13765|10/13767|10/13766|10/";
  items=sItems.split('/');
  qty=sQty.split('/');
  coupons=sCoupons.split('/');
  var subTotal=0;
  for(i=0;i<items.length;i++)
  {
  	partIdx=g_PartIdx[BSearch(items[i],g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
  	price = g_Part[partIdx+fld_Part_Price];
  	for(q=0;q<coupons.length;q++)
    {
      subtract = coupons[q].split('|');
      discount = parseFloat(subtract[1]);
      if (coupons[q].indexOf(items[i])!=-1)
      { 
        price = g_Part[partIdx+fld_Part_Price] - discount;
        break;
      }
    }
    subTotal += parseFloat(price*qty[i]);
  }
  subTotal = RoundOff2(subTotal);
  return(subTotal);
}

function CreateTotal()
{
  var i,q,qty,price,partIdx,items,coupons,discount,subtract;
  var sItems=GetCookie('ITEMS');
  var sQty=GetCookie('QTY');
  var sCoupons=GetCookie('COUPONS');
  items=sItems.split('/');
  qty=sQty.split('/');
  var subTotal=0;
  if(sCoupons != null){
    coupons=sCoupons.split('/');
    for(i=0;i<items.length;i++)
    {
    	partIdx=g_PartIdx[BSearch(items[i],g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
    	price = g_Part[partIdx+fld_Part_Price];
    	for(q=0;q<coupons.length;q++)
      {
        subtract = coupons[q].split('|');
        discount = parseFloat(subtract[1]);
        if (coupons[q].indexOf(items[i])!=-1)
        { 
          price = g_Part[partIdx+fld_Part_Price] - discount;
          break;
        }
      }
    subTotal += parseFloat(price*qty[i]);
    }
    return(subTotal);
  } else {
    for(i=0;i<items.length;i++)
    {
    	partIdx = g_PartIdx[BSearch(items[i],g_PartIdx,g_PartIdxFldCnt)+fld_PartIdx_Idx];
  		price = g_Part[partIdx+fld_Part_Price];
  		subTotal += parseFloat(price*qty[i]);
    }
    return(subTotal);
  }
}

addLoadEvent(DisplayNumCartItems);
