function Animal(name, id)
{
	this.name = name;
	this.id = id;
}
function Animals()
{
	this.animals = new Array();
	
	this.addAnimal = function(animal)
	{
		this.animals[this.animals.length] = animal;
	}
	
	this.getAnimalByName = function(animalName)
	{
		for(var i=0; i<this.animals.length; i++)
		{
			if(this.animals[i].name == animalName)
				return this.animals[i];
		}
		
		return null;
	}
	
	this.getAnimalById = function(id)
	{
		for(var i=0; i<this.animals.length; i++)
		{
			if(parseInt(this.animals[i].id) == parseInt(id))
				return this.animals[i];
		}
		
		return null;
	}
}

function PowerSource(name, id)
{
	this.name = name;
	this.id = id;
}
function PowerSources()
{
	this.powerSources = new Array();
	
	this.addPowerSource = function(powerSource)
	{
		this.powerSources[this.powerSources.length] = powerSource;
	}
	
	this.getPowerSourceByName = function(powerSourceName)
	{
		for(var i=0; i<this.powerSources.length; i++)
		{
			if(this.powerSources[i].name == powerSourceName)
				return this.powerSources[i];
		}
		
		return null;
	}
}

function LinePost(name, animals, id)
{
	this.name = name;
	this.id = id;
	this.animals = animals.split(",");

	this.containsAnimal = function(animalName)
	{
		for(var i=0; i<this.animals.length; i++)
		{
			if(this.animals[i] == animalName)
				return true;
		}
		return false;
	}
}
function LinePosts()
{
	this.linePosts = new Array();
	
	this.addLinePost = function(linePost)
	{
		this.linePosts[this.linePosts.length] = linePost;
	}
	
	this.getLinePostByName = function(linePostName)
	{
		for(var i=0; i<this.linePosts.length; i++)
		{
			if(this.linePosts[i].name == linePostName)
				return this.linePosts[i];
		}
		
		return null;
	}
	
	this.getLinePostsByAnimalName = function(animalName)
	{
		var posts = new Array();
		
		for(var i=0; i<this.linePosts.length; i++)
		{
			if(this.linePosts[i].containsAnimal(animalName))
			{
				posts[posts.length] = this.linePosts[i];
			}			
		}
		
		return posts.length == 0 ? null : posts;
	}
}

function CornerPost(name, animals, id)
{
	this.name = name;
	this.id = id;
	this.animals = animals.split(",");
	
	this.containsAnimal = function(animalName)
	{
		for(var i=0; i<this.animals.length; i++)
		{
			if(this.animals[i] == animalName)
				return true;
		}
		return false;
	}
}
function CornerPosts()
{
	this.cornerPosts = new Array();
	
	this.addCornerPost = function(cornerPost)
	{
		this.cornerPosts[this.cornerPosts.length] = cornerPost;
	}
	
	this.getCornerPostByName = function(cornerPostName)
	{
		for(var i=0; i<this.cornerPosts.length; i++)
		{
			if(this.cornerPosts[i].name == cornerPostName)
				return this.cornerPosts[i];
		}
		
		return null;
	}

	this.getCornerPostsByAnimalName = function(animalName)
	{
		var posts = new Array();
		
		for(var i=0; i<this.cornerPosts.length; i++)
		{
			if(this.cornerPosts[i].containsAnimal(animalName))
			{
				posts[posts.length] = this.cornerPosts[i];
			}			
		}
		
		return posts.length == 0 ? null : posts;
	}
}

function Wire(wireType, animals, metalType, gauges, colors, thickness)
{
	this.wireType = (wireType == null || wireType == "") ? null : wireType;
	this.animals = (animals == null || animals == "") ? null : animals;
	this.metalType = (metalType == null || metalType == "") ? null : metalType;
	this.gauges = (gauges == null || gauges == "") ? null : gauges;
	this.colors = (colors == null || colors == "") ? null : colors;
	this.thickness = (thickness == null || thickness == "") ? null : thickness;
	
	this.containsAnimal = function(animalName)
	{
		var animalArray = this.animals.split(",")
		
		for(var i=0; i<animalArray.length; i++)
		{
			if(animalArray[i] == animalName)
				return true;		
		}
		return false; 
	}
}
function Wires()
{
	this.wires = new Array();
	
	this.addWire = function(wire)
	{
		this.wires[this.wires.length] = wire;
	}
	
	this.getWireTypesByAnimalName = function(animalName)
	{
		var wireTypes = new Array();
		
		for(var i=0; i<this.wires.length; i++)
		{
			if(this.wires[i].containsAnimal(animalName))
			{
				if(wireTypes.length > 0)
				{
					var duplicate = false;
					
					for(var j=0; j<wireTypes.length; j++)
					{
						if(wireTypes[j].wireType == this.wires[i].wireType)
						{
							duplicate = true;
							break;
						}
					}
					
					if(!duplicate)
					{
						wireTypes[wireTypes.length] = this.wires[i];
					}
				}
				else
				{
					wireTypes[wireTypes.length] = this.wires[i];
				}
			}			
		}
		
		return wireTypes.length == 0 ? null : wireTypes;
	}

	this.getMetalTypesByWireType = function(wireType)
	{
		var metalTypes = new Array();
		
		for(var i=0; i<this.wires.length; i++)
		{
			if(this.wires[i].wireType == wireType)
			{
				if(metalTypes.length > 0)
				{
					var duplicate = false;
					
					for(var j=0; j<metalTypes.length; j++)
					{
						if(metalTypes[j] == this.wires[i].metalType)
						{
							duplicate = true;
							break;
						}
					}
					
					if(!duplicate)
					{
						if(this.wires[i].metalType != null)
							metalTypes[metalTypes.length] = this.wires[i].metalType;
					}
				}
				else
				{
					if(this.wires[i].metalType != null)
						metalTypes[metalTypes.length] = this.wires[i].metalType;
				}
			}			
		}
		
		return metalTypes.length == 0 ? null : metalTypes;
	}
	
	this.getGaugesByMetalType = function(metalType)
	{
		var gauges = new Array();
		
		for(var i=0; i<this.wires.length; i++)
		{
			if(this.wires[i].metalType == metalType)
			{
				var tmp = this.wires[i].gauges.split(",");
				
				for(var k=0; k<tmp.length; k++)
				{
					if(gauges.length > 0)
					{
						var duplicate = false;
						
						for(var j=0; j<gauges.length; j++)
						{
							if(gauges[j] == tmp[k])
							{
								duplicate = true;
								break;
							}
						}
						
						if(!duplicate)
						{
							if(this.wires[i].metalType != null)
								gauges[gauges.length] = tmp[k];
						}
					}
					else
					{
						if(this.wires[i].metalType != null)
							gauges[gauges.length] = tmp[k];
					}
				}
			}			
		}
		
		return gauges.length == 0 ? null : gauges;
	}

	this.getColorsByWireType = function(wireType)
	{
		var colors = new Array();
		
		for(var i=0; i<this.wires.length; i++)
		{
			if(this.wires[i].wireType == wireType)
			{
				var tmp = this.wires[i].colors.split(",");
				
				for(var k=0; k<tmp.length; k++)
				{
					if(colors.length > 0)
					{
						var duplicate = false;
						
						for(var j=0; j<colors.length; j++)
						{
							if(colors[j] == tmp[k])
							{
								duplicate = true;
								break;
							}
						}
						
						if(!duplicate)
						{
							if(this.wires[i].wireType != null)
								colors[colors.length] = tmp[k];
						}
					}
					else
					{
						if(this.wires[i].wireType != null)
							colors[colors.length] = tmp[k];
					}
				}
			}			
		}
		
		return colors.length == 0 ? null : colors;
	}

	this.getThicknessesByWireType = function(wireType)
	{
		var thicknesses = new Array();
		
		for(var i=0; i<this.wires.length; i++)
		{
			if(this.wires[i].wireType == wireType)
			{
				var duplicate = false;
				
				for(var j=0; j<thicknesses.length; j++)
				{
					if(this.wires[i] == thicknesses[j])
					{
						duplicate = true;
						break;
					}
				}
	
				if(!duplicate && (this.wires[i].thickness != null))
				{
					thicknesses[thicknesses.length] = this.wires[i].thickness;
				}
			}
		}
		
		return thicknesses.length == 0 ? null : thicknesses;
	}

	this.getColorsByThickness = function(thickness)
	{
		var colors = new Array();
		
		for(var i=0; i<this.wires.length; i++)
		{
			if(this.wires[i].thickness == thickness)
			{
				var tmp = this.wires[i].colors.split(",");
				
				for(var k=0; k<tmp.length; k++)
				{
					if(colors.length > 0)
					{
						var duplicate = false;
						
						for(var j=0; j<colors.length; j++)
						{
							if(colors[j] == tmp[k])
							{
								duplicate = true;
								break;
							}
						}
						
						if(!duplicate)
						{
							if(this.wires[i].thickness != null)
								colors[colors.length] = tmp[k];
						}
					}
					else
					{
						if(this.wires[i].thickness != null)
							colors[colors.length] = tmp[k];
					}
				}
			}			
		}
		
		return colors.length == 0 ? null : colors;
	}
}

function WireType(name, id)
{
	this.name = name;
	this.id = id;
}
function WireTypes()
{
	this.wireTypes = new Array();
	
	this.addWireType = function(wireType)
	{
		this.wireTypes[this.wireTypes.length] = wireType;
	}
	
	this.getWireTypeByName = function(wireTypeName)
	{
		for(var i=0; i<this.wireTypes.length; i++)
		{
			if(this.wireTypes[i].name == wireTypeName)
				return this.wireTypes[i];
		}
		
		return null;
	}
	
	this.getWireTypeById = function(wireTypeId)
	{
		for(var i=0; i<this.wireTypes.length; i++)
		{
			if(this.wireTypes[i].id == wireTypeId)
				return this.wireTypes[i];
		}
		
		return null;
	}
}

function Gauge(gauge, id)
{
	this.gauge = gauge;
	this.id = id;
}
function Gauges()
{
	this.gauges = new Array();
	
	this.addGauge = function(gauge)
	{
		this.gauges[this.gauges.length] = gauge;
	}
	
	this.getGaugeByName = function(gaugeName)
	{
		for(var i=0; i<this.gauges.length; i++)
		{
			if(this.gauges[i].gauge == gaugeName)
				return this.gauges[i];
		}
		
		return null;
	}
}

function MetalType(name, id)
{
	this.name = name;
	this.id = id;
}
function MetalTypes()
{
	this.metalTypes = new Array();
	
	this.addMetalType = function(metalType)
	{
		this.metalTypes[this.metalTypes.length] = metalType;
	}
	
	this.getMetalTypeByName = function(metalTypeName)
	{
		for(var i=0; i<this.metalTypes.length; i++)
		{
			if(this.metalTypes[i].name == metalTypeName)
				return this.metalTypes[i];
		}
		
		return null;
	}
}

function Color(name, id)
{
	this.name = name;
	this.id = id;
}
function Colors()
{
	this.colors = new Array();
	
	this.addColor = function(color)
	{
		this.colors[this.colors.length] = color;
	}
	
	this.getColorByName = function(colorName)
	{
		for(var i=0; i<this.colors.length; i++)
		{
			if(this.colors[i].name == colorName)
				return this.colors[i];
		}
		
		return null;
	}
}

function Thickness(name, id)
{
	this.name = name;
	this.id = id;
}
function Thicknesses()
{
	this.thicknesses = new Array();
	
	this.addThickness = function(thickness)
	{
		this.thicknesses[this.thicknesses.length] = thickness;
	}
	
	this.getThicknessByName = function(thicknessName)
	{
		for(var i=0; i<this.thicknesses.length; i++)
		{
			if(this.thicknesses[i].name == thicknessName)
				return this.thicknesses[i];
		}
		
		return null;
	}
}

function Item(internalId, itemType, qty)
{
	this.internalId = internalId;
	this.quantity = qty;
	this.itemType = itemType;
}
function Items()
{
	this.items = new Array();
	
	this.addItem = function(item)
	{
		this.items[this.items.length] = item;
	}
}

function createXMLHttp()
{
	if( typeof XMLHttpRequest != "undefined")
	{
		return new XMLHttpRequest();	
	}
	else if (window.ActiveXObject)
	{
		var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
		
		for (var i=0; i< aVersions.length; i++)
		{
			try
			{
				var oXmlHttp = new ActiveXObject(aVersions[i]);
				return oXmlHttp;
			}
			catch (ex)
			{
				
			}
		}
	}
	
	throw new Error("XMLHttp object could not be created.");
}


this.account = "672033";
this.url = "http://www.farmsupplystore.com";

this.debug = false;
this.objAnimals = new Animals();
this.objPowerSources = new PowerSources();
this.objLinePosts = new LinePosts();
this.objCornerPosts = new CornerPosts();
this.objWireTypes = new WireTypes();
this.objGauges = new Gauges();
this.objMetalTypes = new MetalTypes();
this.objWires = new Wires();
this.objColors = new Colors();
this.objThicknesses = new Thicknesses();
this.objItems = new Items();
this.processShoppingCartItemsID = null;

function GetAnimals()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.4/ctype.SS/SS.48/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var animal = new Animal(row.cells[1].innerHTML, row.cells[0].innerHTML);

		this.objAnimals.addAnimal(animal);
	}
	
	myDiv.innerHTML = "";
}
function GetPowerSources()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.14/ctype.SS/SS.55/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf(alert));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var powerSource = new PowerSource(row.cells[1].innerHTML, row.cells[0].innerHTML);

		this.objPowerSources.addPowerSource(powerSource);
	}
	
	myDiv.innerHTML = "";
}
function GetLinePosts()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.13/ctype.SS/SS.53/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var post = new LinePost(row.cells[0].innerHTML, row.cells[1].innerHTML, row.cells[2].innerHTML);

		this.objLinePosts.addLinePost(post);
	}
	
	myDiv.innerHTML = "";
}
function GetCornerPosts()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.6/ctype.SS/SS.49/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='cornerPostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}
	
	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var post = new CornerPost(row.cells[0].innerHTML, row.cells[1].innerHTML, row.cells[2].innerHTML);

		this.objCornerPosts.addCornerPost(post);
	}
	
	myDiv.innerHTML = "";
}
function GetWireTypes()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.20/ctype.SS/SS.58/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var wireType = new WireType(row.cells[1].innerHTML, row.cells[0].innerHTML);

		this.objWireTypes.addWireType(wireType);
	}
	
	myDiv.innerHTML = "";
}
function GetGauges()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.17/ctype.SS/SS.52/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var gauge = new Gauge(row.cells[1].innerHTML, row.cells[0].innerHTML);

		this.objGauges.addGauge(gauge);
	}
	
	myDiv.innerHTML = "";
}
function GetMetalTypes()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.18/ctype.SS/SS.54/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var metalType = new MetalType(row.cells[1].innerHTML, row.cells[0].innerHTML);

		this.objMetalTypes.addMetalType(metalType);
	}
	
	myDiv.innerHTML = "";
}
function GetWires()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.21/ctype.SS/SS.59/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		
		var _wireType = row.cells[0].innerHTML.replace("&nbsp;", "");
		var _animals = row.cells[1].innerHTML.replace("&nbsp;", "");
		var _metalTypes = row.cells[2].innerHTML.replace("&nbsp;", "");
		var _gauges = row.cells[3].innerHTML.replace("&nbsp;", "");
		var _thickness = row.cells[4].innerHTML.replace("&nbsp;", "");
		var _colors = row.cells[5].innerHTML.replace("&nbsp;", "");
		
		var wire = new Wire(_wireType, _animals, _metalTypes, _gauges, _colors, _thickness);

		this.objWires.addWire(wire);
	}
	
	myDiv.innerHTML = "";
}
function GetColors()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.16/ctype.SS/SS.56/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var color = new Color(row.cells[1].innerHTML, row.cells[0].innerHTML);

		this.objColors.addColor(color);
	}
	
	myDiv.innerHTML = "";
}
function GetThicknesses()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.19/ctype.SS/SS.57/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		var thickness = new Thickness(row.cells[1].innerHTML, row.cells[0].innerHTML);

		this.objThicknesses.addThickness(thickness);
	}

	myDiv.innerHTML = "";
}
function GetDefaultItems()
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.9/ctype.SS/SS.51/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		
		var internalId = row.cells[0].innerHTML;
		var itemType = row.cells[2].innerHTML;
		var qty = row.cells[3].innerHTML;
		
		var item = new Item(internalId, itemType, qty);

		this.objItems.addItem(item);
	}
	
	myDiv.innerHTML = "";
}
function GetGateItems(animalName)
{
	var req = createXMLHttp();
	req.open("GET", this.url + "/s.nl/c.672033/sc.7/category.8/ctype.SS/SS.50/.f", false);
	req.send("");

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<div id='div__body' style=\"margin: 0px; \">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='linePostsDiv'");

	var myDiv = document.getElementById("helperDiv");
	myDiv.innerHTML = tmp;

	var tables = document.getElementById("helperDiv").getElementsByTagName("table");
	var valuesTable;

	for(var i=0; i<tables.length; i++)
	{
		if(tables[i].className == "listtable")
		{
			valuesTable = tables[i];
			break;
		}
	}

	for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
	{
		var row = valuesTable.childNodes[1].rows[i];
		
		var internalId = row.cells[0].innerHTML;
		var animal = row.cells[1].innerHTML;
		var isGateKit = row.cells[2].innerHTML == "Yes" ? true : false;
		var isUndergroundWire = row.cells[3].innerHTML == "Yes" ? true : false;
		var qty = row.cells[1].innerHTML;
		
		var item = null;
		
		// Look if the animal exists in the list
		var animals = animal.split(",");
		var animalFound = false;
		for(var j=0; j<animals.length; j++)
		{
			if(animalName == animals[j])
			{
				animalFound = true;
				break;
			}
		}
		
		if(animalFound)
		{
			if(isGateKit) // Add one gate kit per strand per opening
			{
				qty = this.numberOfGates * this.numberOfStrands;

				var item = new Item(internalId, "Gate Kit", qty);
				this.objItems.addItem(item);
			}
			else if(isUndergroundWire) // Add enough underground wire (75 feet per order) to cover every gate (16 feet per gate)
			{
				qty = Math.ceil(this.numberOfGates * 16 / 75);

				var item = new Item(internalId, "Underground Wire", qty);
				this.objItems.addItem(item);
			}
			else
			{
				var item = new Item(internalId, null, qty);
				this.objItems.addItem(item);
			}
		}
	}
	
	myDiv.innerHTML = "";
}
function GetTensionerItems()
{
	var searchId = 15;
	var tensionSpringId = "157";
	var ratchetId = "156";
	var handleId = "154";
	
	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);

	this.wireTypeIdVal = getSelectedRadioButtonValue("wireTypeId");

	postData += "CUSTRECORD_INV_WIRE_TYPE2type=ANYOF";
	postData += "&CUSTRECORD_INV_WIRE_TYPE2=" + this.wireTypeIdVal;

	if(this.wireTypeIdVal == this.objWireTypes.getWireTypeByName("Metal Wire").id)
	{
		var metalType = document.getElementById("metalType").value;
		var gauge = document.getElementById("gauges").value;

		postData += "&CUSTRECORD_METAL2type=ANYOF";
		postData += "&CUSTRECORD_METAL2=" + metalType;
		postData += "&CUSTRECORD_GAUGE2type=ANYOF";
		postData += "&CUSTRECORD_GAUGE2=" + gauge;
	}
	else if(this.wireTypeIdVal == this.objWireTypes.getWireTypeByName("Polytape").id)
	{
		var width = document.getElementById("polytapeThickness").value;

		postData += "&CUSTRECORD_WIDTHtype=ANYOF";
		postData += "&CUSTRECORD_WIDTH=" + width;
	}

	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=6";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%2Fc." + this.account + "%2Fsc.7%2F.f%3Fscrollid%3D6";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Tensioners";
	postData += "&searchtitleorig=FB+-+Tensioners";
	postData += "&searchtype=Custom";
	postData += "&rectype=15";
	postData += "&owner=4";
	postData += "&frame=be";
	postData += "&sort1=ABA_CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=F";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&category=-107";
	postData += "&id=6";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=ABA_CUSTITEM_ITEM_TYPE%01ANYOF%01%0114%01";
	postData += "&nextfiltersidx=2";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=ABA_Item_INTERNALID%01%01%01%01%01F%02ABA_CUSTITEM_ITEM_TYPE%01%01%01%01%01F%02CUSTRECORD_INV_WIRE_TYPE2%01%01%01%01%01F%02CUSTRECORD_METAL2%01%01%01%01%01F%02CUSTRECORD_GAUGE2%01%01%01%01%01F%02ABA_CUSTITEM_QTY_PER_PACK%01%01%01%01%01F%02ABA_CUSTITEM_IS_PREFERRED%01%01%01%01%01F";
	postData += "&nextreturnfieldsidx=8";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=";
	postData += "&nextdetailfieldsidx=1";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTRECORD_INV_WIRE_TYPE2%01F%01%02CUSTRECORD_METAL2%01F%01%02CUSTRECORD_GAUGE2%01F%01%02CUSTRECORD_WIDTH%01F%01";
	postData += "&nextfilterfieldsidx=5";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);
	
	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" class=\"listtable\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='tensionersDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		var _wireType = "";
		var _metal = "";
		var _gauge = "";
		var _qtyPerPack = 1;
		
		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].rows[i];
			
			_itemInternalId = parseInt(row.cells[0].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[1].innerHTML.replace("&nbsp;", "");
			_wireType = row.cells[2].innerHTML.replace("&nbsp;", "");
			_metal = row.cells[3].innerHTML.replace("&nbsp;", "");
			_gauge = row.cells[4].innerHTML.replace("&nbsp;", "");
			_qtyPerPack = parseInt(row.cells[5].innerHTML.replace("&nbsp;", ""));
			
			break;
		}
		
		if(_itemInternalId == tensionSpringId) //If tension spring comes up, add accessories
		{
			var qty = 0;
			
			//Add 1 tension spring per strand per 3000 feet
			qty = Math.ceil(Math.ceil(Math.ceil(this.perimeterVal / 3000) * this.numberOfStrands) / _qtyPerPack);
			var item = new Item(tensionSpringId, _itemType, qty);
			this.objItems.addItem(item);
			
			//Add 1 ratchet per tension spring
			qty = Math.ceil(Math.ceil(Math.ceil(this.perimeterVal / 3000) * this.numberOfStrands) / _qtyPerPack);
			var item = new Item(ratchetId, _itemType, qty);
			this.objItems.addItem(item);
			
			//Add 1 handle
			var item = new Item(handleId, _itemType, 1);
			this.objItems.addItem(item);
		}
		else //If not the tension spring, just add the tensioners
		{
			var qty = Math.ceil(Math.ceil(Math.ceil(this.perimeterVal / 3000) * this.numberOfStrands) / _qtyPerPack);
			
			var item = new Item(_itemInternalId, _itemType, qty);
			this.objItems.addItem(item);
		}
		
		myDiv.innerHTML = "";
	}
}
function GetEnergizerItems()
{
	var searchId = 10;

	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);

	postData += "CUSTITEM_POWER_SOURCEtype=ANYOF";
	postData += "&CUSTITEM_POWER_SOURCE=" + this.powerSourceVal;
	
	var miles = this.perimeterVal / 5280 * this.numberOfStrands
	postData += "&CUSTITEM_MILEStype=GTE";
	postData += "&CUSTITEM_MILESfrom=" + miles;
	postData += "&CUSTITEM_MILESto=";
	
	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=3";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%2Fc."+this.account+"%2Fsc.7%2F.f%3Fscrollid%3D3";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Energizers";
	postData += "&searchtitleorig=FB+-+Energizers";
	postData += "&searchtype=Item";
	postData += "&rectype=-1";
	postData += "&owner=4";
	postData += "&sc=7";
	postData += "&frame=be";
	postData += "&sort1=CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=T";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&id=3";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=CUSTITEM_ITEM_TYPE%01ANYOF%01%014%01%02CUSTITEM_POWER_SOURCE%01ANYOF%01%011%01%02CUSTITEM_MILES%01GTE%01%019.46969696969697%05%01";
	postData += "&nextfiltersidx=4";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=Item_INTERNALID%01%01%01%01%01F%02CUSTITEM_ITEM_TYPE%01%01%01%01%01F%02CUSTITEM_MILES%01%01%01%01%01F";
	postData += "&nextreturnfieldsidx=4";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=Item_NAME%01%02Item_DISPLAYNAME%01%02Item_DESCRIPTION%01%02Item_TYPE%01%02Item_PRICE%01%02Item_ISSUEPRODUCT%01%02CUSTITEM_INV_WIRE_TYPE%01";
	postData += "&nextdetailfieldsidx=8";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTITEM_POWER_SOURCE%01F%01%02CUSTITEM_MILES%01F%01";
	postData += "&nextfilterfieldsidx=3";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);
	
	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='energizersDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		var _miles = 0;
		
		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].childNodes[0].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].childNodes[0].rows[i];
			
			_itemInternalId = parseInt(row.cells[1].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[2].innerHTML.replace("&nbsp;", "");
			_miles = row.cells[3].innerHTML.replace("&nbsp;", "");
			
			break;
		}

		var item = new Item(_itemInternalId, _itemType, 1);
		this.objItems.addItem(item);
		
		myDiv.innerHTML = "";
	}
}
function GetLineInsulatorItems()
{
	var searchId = 31;

	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);

	postData += "CUSTRECORD_INV_POST_TYPEtype=ANYOF";
	postData += "&CUSTRECORD_INV_POST_TYPE=" + this.linePostVal;  // Post Type
	postData += "&CUSTRECORD_INV_WIRE_TYPE2type=ANYOF";
	postData += "&CUSTRECORD_INV_WIRE_TYPE2=" + getSelectedRadioButtonValue("wireTypeId"); // Wire Type
	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=11";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%2Fc."+this.account+"%2Fsc.7%2F.f%3Fscrollid%3D11";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Line+Insulators";
	postData += "&searchtitleorig=FB+-+Line+Insulators";
	postData += "&searchtype=Custom";
	postData += "&rectype=15";
	postData += "&owner=4";
	postData += "&sc=7";
	postData += "&frame=be";
	postData += "&sort1=ABA_CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=T";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&id=11";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=ABA_CUSTITEM_ITEM_TYPE%01ANYOF%01%019%01%02CUSTRECORD_INV_WIRE_TYPE2%01ANYOF%01%014%01%02CUSTRECORD_INV_POST_TYPE%01ANYOF%01%011%01";
	postData += "&nextfiltersidx=4";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=ABA_Item_INTERNALID%01%01%01%01Internal+ID%01F%02ABA_CUSTITEM_ITEM_TYPE%01%01%01%01Item+Type%01F%02CUSTRECORD_INV_POST_TYPE%01%01%01%01%01F%02CUSTRECORD_INV_WIRE_TYPE2%01%01%01%01%01F%02ABA_CUSTITEM_QTY_PER_PACK%01%01%01%01Qty+per+pack%01F%02ABA_CUSTITEM_IS_PREFERRED%01%01%01%01%01F";
	postData += "&nextreturnfieldsidx=7";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=";
	postData += "&nextdetailfieldsidx=1";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTRECORD_INV_POST_TYPE%01F%01%02CUSTRECORD_INV_WIRE_TYPE2%01F%01";
	postData += "&nextfilterfieldsidx=3";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);
	
	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" class=\"listtable\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='lineInsulatorsDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		var _postType = "";
		var _wireType = "";
		var _qtyPerPack = 0;
		
		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].rows[i];
			
			_itemInternalId = parseInt(row.cells[0].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[1].innerHTML.replace("&nbsp;", "");
			_postType = row.cells[2].innerHTML.replace("&nbsp;", "");
			_wireType = row.cells[3].innerHTML.replace("&nbsp;", "");
			_qtyPerPack = parseInt(row.cells[4].innerHTML.replace("&nbsp;", ""));
			
			break;
		}

		var qty = 0;
		qty = Math.ceil(this.numberOfPosts * this.numberOfStrands / _qtyPerPack);
		var item = new Item(_itemInternalId, _itemType, qty);
		this.objItems.addItem(item);
		
		myDiv.innerHTML = "";
	}
}
function GetCornerInsulatorItems()
{
	var searchId = 32;

	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);

	postData += "CUSTRECORD_INV_POST_TYPEtype=ANYOF";
	postData += "&CUSTRECORD_INV_POST_TYPE=" + this.cornerPostVal;  // Post Type
	postData += "&CUSTRECORD_INV_WIRE_TYPE2type=ANYOF";
	postData += "&CUSTRECORD_INV_WIRE_TYPE2=" + getSelectedRadioButtonValue("wireTypeId"); // Wire Type
	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=12";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%2Fc."+this.account+"%2Fsc.7%2F.f%3Fscrollid%3D12";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Corner+Insulators";
	postData += "&searchtitleorig=FB+-+Corner+Insulators";
	postData += "&searchtype=Custom";
	postData += "&rectype=15";
	postData += "&owner=4";
	postData += "&sc=7";
	postData += "&frame=be";
	postData += "&sort1=ABA_CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=T";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&id=12";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=ABA_CUSTITEM_ITEM_TYPE%01ANYOF%01%018%01%02CUSTRECORD_INV_WIRE_TYPE2%01ANYOF%01%011%01%02CUSTRECORD_INV_POST_TYPE%01ANYOF%01%011%01";
	postData += "&nextfiltersidx=4";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=ABA_Item_INTERNALID%01%01%01%01Internal+ID%01F%02ABA_CUSTITEM_ITEM_TYPE%01%01%01%01Item+Type%01F%02CUSTRECORD_INV_POST_TYPE%01%01%01%01%01F%02CUSTRECORD_INV_WIRE_TYPE2%01%01%01%01%01F%02ABA_CUSTITEM_QTY_PER_PACK%01%01%01%01Qty+per+pack%01F%02ABA_CUSTITEM_IS_PREFERRED%01%01%01%01%01F";
	postData += "&nextreturnfieldsidx=7";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=";
	postData += "&nextdetailfieldsidx=1";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTRECORD_INV_POST_TYPE%01F%01%02CUSTRECORD_INV_WIRE_TYPE2%01F%01";
	postData += "&nextfilterfieldsidx=3";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);
	
	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" class=\"listtable\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='cornerInsulatorsDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		var _postType = "";
		var _wireType = "";
		var _qtyPerPack = 0;
		
		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].rows[i];
			
			_itemInternalId = parseInt(row.cells[0].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[1].innerHTML.replace("&nbsp;", "");
			_postType = row.cells[2].innerHTML.replace("&nbsp;", "");
			_wireType = row.cells[3].innerHTML.replace("&nbsp;", "");
			_qtyPerPack = parseInt(row.cells[4].innerHTML.replace("&nbsp;", ""));
			
			break;
		}

		var qty = Math.ceil( (((2 * this.numberOfGates) + this.numOfCornersVal) * this.numberOfStrands) / _qtyPerPack );
		
		var item = new Item(_itemInternalId, _itemType, qty);
		this.objItems.addItem(item);
		
		myDiv.innerHTML = "";
	}
}
function GetJumperItems()
{
	var searchId = 11;

	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);
	
	postData += "CUSTRECORD_INV_WIRE_TYPE2type=ANYOF";
	postData += "&CUSTRECORD_INV_WIRE_TYPE2=" + this.wireTypeIdVal; // Wire Type
	
	if(this.objWireTypes.getWireTypeById(this.wireTypeIdVal).name == "Polytape")
	{
		postData += "&CUSTRECORD_WIDTH=" + document.getElementById("polytapeThickness").value;
	}
	postData += "&CUSTRECORD_WIDTHtype=ANYOF";
	
	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=4";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%3Fc%3D"+this.account+"%26sc%3D7%26category%3D-107%26category%3D%26scrollid%3D4";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Jumpers";
	postData += "&searchtitleorig=FB+-+Jumpers";
	postData += "&searchtype=Custom";
	postData += "&rectype=15";
	postData += "&owner=4";
	postData += "&sc=7";
	postData += "&frame=be";
	postData += "&sort1=ABA_CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=F";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&id=4";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=ABA_CUSTITEM_ITEM_TYPE%01ANYOF%01%0110%01%02CUSTRECORD_INV_WIRE_TYPE2%01ANYOF%01%011%01%02CUSTRECORD_WIDTH%01ANYOF%01%011%01";
	postData += "&nextfiltersidx=4";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=ABA_Item_INTERNALID%01%01%01%01Internal+ID%01F%02ABA_CUSTITEM_QTY_PER_PACK%01%01%01%01Qty+per+pack%01F%02CUSTRECORD_INV_WIRE_TYPE2%01%01%01%01%01F%02CUSTRECORD_WIDTH%01%01%01%01%01F%02ABA_CUSTITEM_ITEM_TYPE%01%01%01%01%01F%02ABA_CUSTITEM_IS_PREFERRED%01%01%01%01%01F";
	postData += "&nextreturnfieldsidx=7";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=";
	postData += "&nextdetailfieldsidx=1";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTRECORD_INV_WIRE_TYPE2%01F%01%02CUSTRECORD_WIDTH%01F%01";
	postData += "&nextfilterfieldsidx=3";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);
	
	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" class=\"listtable\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='jumpersDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		var _qtyPerPack = 0;
		
		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].rows[i];

			_itemInternalId = parseInt(row.cells[0].innerHTML.replace("&nbsp;", ""));
			_qtyPerPack = parseInt(row.cells[1].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[4].innerHTML.replace("&nbsp;", "");
			
			break;
		}

		var qty = Math.ceil( (this.numberOfStrands - 1) / _qtyPerPack );
		var item = new Item(_itemInternalId, _itemType, qty);
		this.objItems.addItem(item);
		
		myDiv.innerHTML = "";
	}
}
function GetWireToEnergizerItem()
{
	var searchId = 22;

	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);

	postData += "CUSTRECORD_INV_WIRE_TYPE2type=ANYOF";
	postData += "&CUSTRECORD_INV_WIRE_TYPE2=" + this.wireTypeIdVal; // Wire Type
	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=7";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%3Fc%3D"+this.account+"%26sc%3D7%26category%3D-107%26category%3D%26scrollid%3D7";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Wire-to-Energizer+Connector";
	postData += "&searchtitleorig=FB+-+Wire-to-Energizer+Connector";
	postData += "&searchtype=Custom";
	postData += "&rectype=15";
	postData += "&owner=4";
	postData += "&frame=be";
	postData += "&sort1=ABA_CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=F";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&id=7";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=ABA_CUSTITEM_ITEM_TYPE%01ANYOF%01%011%01%02ABA_CUSTITEM_IS_FOR_ENERGIZER%01T%01%01%01";
	postData += "&nextfiltersidx=3";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=ABA_Item_INTERNALID%01%01%01%01Internal+ID%01F%02ABA_CUSTITEM_ITEM_TYPE%01%01%01%01Item+Type%01F%02ABA_CUSTITEM_IS_PREFERRED%01%01%01%01Preferred%01F";
	postData += "&nextreturnfieldsidx=4";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=";
	postData += "&nextdetailfieldsidx=1";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTRECORD_INV_WIRE_TYPE2%01F%01";
	postData += "&nextfilterfieldsidx=2";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);
	
	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" class=\"listtable\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='wireToEnergizerConnDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		
		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].rows[i];

			_itemInternalId = parseInt(row.cells[0].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[1].innerHTML.replace("&nbsp;", "");
			
			break;
		}

		var item = new Item(_itemInternalId, _itemType, 1);
		this.objItems.addItem(item);
		
		myDiv.innerHTML = "";
	}
}
function GetWireItems()
{
	var searchId = 24;

	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);

	postData += "CUSTITEM_WIRE_TYPEtype=ANYOF";
	postData += "&CUSTITEM_WIRE_TYPE=" + this.wireTypeIdVal;

	var wireTypeName = this.objWireTypes.getWireTypeById(this.wireTypeIdVal).name;

	postData += "&CUSTITEM_GAUGEtype=ANYOF";
	postData += "&CUSTITEM_METAL_TYPEtype=ANYOF";
	postData += "&CUSTITEM_COLORtype=ANYOF";
	postData += "&CUSTITEM_THICKNESStype=ANYOF";
	
	switch(wireTypeName)
	{
		case "Metal Wire":
			postData += "&CUSTITEM_GAUGE=" + document.getElementById("gauges").value;
		
			postData += "&CUSTITEM_METAL_TYPE=" + document.getElementById("metalType").value;
			
			break;
		case "Polyrope":
			postData += "&CUSTITEM_COLOR=" + document.getElementById("polyropeColor").value;
			
			break;
		case "Polytape":
			postData += "&CUSTITEM_COLOR=" + document.getElementById("polytapeColor").value;
			
			postData += "&CUSTITEM_THICKNESS=" + document.getElementById("polytapeThickness").value;

			break;
		case "Polywire":
			postData += "&CUSTITEM_COLOR=" + document.getElementById("polywireColor").value;

			break;
	}

	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=9";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%3Fc%3D"+this.account+"%26sc%3D7%26category%3D-107%26category%3D%26scrollid%3D9";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Wires";
	postData += "&searchtitleorig=FB+-+Wires";
	postData += "&searchtype=Item";
	postData += "&rectype=-1";
	postData += "&owner=4";
	postData += "&frame=be";
	postData += "&sort1=CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=T";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&id=9";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=CUSTITEM_ITEM_TYPE%01ANYOF%01%0116%01%02CUSTITEM_LENGTH%01GT%01%010%05%01";
	postData += "&nextfiltersidx=3";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=Item_INTERNALID%01%01%01%01%01F%02CUSTITEM_ITEM_TYPE%01%01%01%01Item+Type%01F%02CUSTITEM_LENGTH%01%01%01%01Length%01F";
	postData += "&nextreturnfieldsidx=4";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=Item_NAME%01%02Item_DISPLAYNAME%01%02Item_DESCRIPTION%01%02Item_TYPE%01%02Item_PRICE%01%02Item_ISSUEPRODUCT%01%02CUSTITEM_INV_WIRE_TYPE%01%02CUSTITEM_INV_POST_TYPE%01";
	postData += "&nextdetailfieldsidx=9";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTITEM_WIRE_TYPE%01F%01%02CUSTITEM_GAUGE%01F%01%02CUSTITEM_METAL_TYPE%01F%01%02CUSTITEM_COLOR%01F%01%02CUSTITEM_THICKNESS%01F%01";
	postData += "&nextfilterfieldsidx=6";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='wireToEnergizerConnDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		
		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].childNodes[0].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].childNodes[0].rows[i];

			_itemInternalId = parseInt(row.cells[1].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[2].innerHTML.replace("&nbsp;", "");
			this.wireLength = parseInt(row.cells[3].innerHTML.replace("&nbsp;", ""));
			
			// If it's metal wire, add 3 crimps per wire spool (+1) used on one strand times # of strands (to ensure enough)
			if(wireTypeName == "Metal Wire")
			{
				GetCrimpsItem();						
			}					
			
			break;
		}
		
		var qty = Math.ceil(this.perimeterVal / this.wireLength * this.numberOfStrands);
		var item = new Item(_itemInternalId, _itemType, qty);
		this.objItems.addItem(item);
		
		myDiv.innerHTML = "";
	}
}
function GetCrimpsItem()
{
	var searchId = 7;

	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);

	postData += "CUSTRECORD_GAUGE2type=ANYOF";
	postData += "&CUSTRECORD_GAUGE2=" + document.getElementById("gauges").value;
	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=2";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%3Fc%3D"+this.account+"%26sc%3D7%26category%3D-107%26category%3D%26scrollid%3D2";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Crimps";
	postData += "&searchtitleorig=FB+-+Crimps";
	postData += "&searchtype=Custom";
	postData += "&rectype=15";
	postData += "&owner=4";
	postData += "&frame=be";
	postData += "&sort1=ABA_CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=F";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&id=2";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=ABA_CUSTITEM_ITEM_TYPE%01ANYOF%01%013%01";
	postData += "&nextfiltersidx=2";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=ABA_Item_INTERNALID%01%01%01%01Internal+ID%01F%02ABA_CUSTITEM_QTY_PER_PACK%01%01%01%01Qty+per+pack%01F%02ABA_CUSTITEM_ITEM_TYPE%01%01%01%01%01F%02ABA_CUSTITEM_IS_PREFERRED%01%01%01%01%01F";
	postData += "&nextreturnfieldsidx=5";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=";
	postData += "&nextdetailfieldsidx=1";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTRECORD_GAUGE2%01F%01";
	postData += "&nextfilterfieldsidx=2";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" class=\"listtable\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='wireToEnergizerConnDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		var _qtyPerPack = 0;

		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].rows[i];

			_itemInternalId = parseInt(row.cells[0].innerHTML.replace("&nbsp;", ""));
			_qtyPerPack = parseInt(row.cells[1].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[2].innerHTML.replace("&nbsp;", "");

			break;
		}
		
		var qty = Math.ceil( ((this.perimeterVal / this.wireLength) + 1) * (3 + this.numberOfStrands) / _qtyPerPack);
		var item = new Item(_itemInternalId, _itemType, qty);
		this.objItems.addItem(item);

		myDiv.innerHTML = "";
	}
}
function GetWireToWireItem()
{
	var searchId = 23;

	var postData = "";
	var req = createXMLHttp();
	req.open("POST", this.url + "/s.nl", false);

	postData += "CUSTRECORD_INV_WIRE_TYPE2type=ANYOF";
	postData += "&CUSTRECORD_INV_WIRE_TYPE2=" + this.wireTypeIdVal;
	postData += "&CUSTRECORD_WIDTHtype=ANYOF";

	if(this.objWireTypes.getWireTypeById(this.wireTypeIdVal).name == "Polytape")
	{	
		postData += "&CUSTRECORD_WIDTH=" + document.getElementById("polytapeThickness").value;
	}

	postData += "&submitter=Submit";
	postData += "&_eml_nkey_=0";
	postData += "&nluser=0";
	postData += "&nlrole=17";
	postData += "&nldept=0";
	postData += "&nlloc=0";
	postData += "&selectedtab=";
	postData += "&id=8";
	postData += "&externalid=";
	postData += "&type=find";
	postData += "&whence=%2Fs.nl%3Fc%3D"+this.account+"%26sc%3D7%26category%3D-107%26category%3D%26scrollid%3D8";
	postData += "&cu=F";
	postData += "&adv=F";
	postData += "&audittrail=F";
	postData += "&searchtitle=FB+-+Wire-to-Wire+Connector";
	postData += "&searchtitleorig=FB+-+Wire-to-Wire+Connector";
	postData += "&searchtype=Custom";
	postData += "&rectype=15";
	postData += "&owner=4";
	postData += "&frame=be";
	postData += "&sort1=ABA_CUSTITEM_IS_PREFERRED";
	postData += "&sort1desc=F";
	postData += "&sort2=";
	postData += "&sort2desc=F";
	postData += "&sort3=";
	postData += "&sort3desc=F";
	postData += "&outputtype=";
	postData += "&hidefilterdropdowns=F";
	postData += "&defaulttextfieldfilter=STARTSWITH";
	postData += "&audienceid=";
	postData += "&allroles=T";
	postData += "&searchid=" + searchId;
	postData += "&c=" + this.account;
	postData += "&sc=7";
	postData += "&id=8";
	postData += "&it=I";
	postData += "&submitted=T";
	postData += "&encoding=UTF-8";
	postData += "&_button=";
	postData += "&filtersfields=filterfilter%01filterattr%01filtermod%01filtervals%01filterformula";
	postData += "&filtersflags=0%010%010%010%010";
	postData += "&filtersloaded=F";
	postData += "&filterstypes=text%01text%01text%01text%01text";
	postData += "&filterslabels=%01%01%01%01Formula";
	postData += "&filtersdata=ABA_CUSTITEM_ITEM_TYPE%01ANYOF%01%011%01%02ABA_CUSTITEM_IS_FOR_ENERGIZER%01F%01%01%01";
	postData += "&nextfiltersidx=3";
	postData += "&returnfieldsfields=rffield%01rfsummary%01rffunction%01rfformula%01rflabel%01rfalertrecipient";
	postData += "&returnfieldsflags=1%010%010%010%010%010";
	postData += "&returnfieldsloaded=F";
	postData += "&returnfieldstypes=select%01select%01select%01text%01text%01checkbox";
	postData += "&returnfieldslabels=Field%01Summary+Type%01Function%01Formula%01Custom+Label%01";
	postData += "&returnfieldsdata=ABA_Item_INTERNALID%01%01%01%01Internal+ID%01F%02ABA_CUSTITEM_ITEM_TYPE%01%01%01%01Item+Type%01F%02ABA_CUSTITEM_QTY_PER_PACK%01%01%01%01Qty+per+pack%01F%02ABA_CUSTITEM_IS_PREFERRED%01%01%01%01Preferred%01F";
	postData += "&nextreturnfieldsidx=5";
	postData += "&detailfieldsfields=dffield%01dflabel";
	postData += "&detailfieldsflags=1%010";
	postData += "&detailfieldsloaded=F";
	postData += "&detailfieldstypes=select%01text";
	postData += "&detailfieldslabels=Field%01Custom+Label";
	postData += "&detailfieldsdata=";
	postData += "&nextdetailfieldsidx=1";
	postData += "&filterfieldsfields=fffilter%01fffooter%01fflabel";
	postData += "&filterfieldsflags=1%010%010";
	postData += "&filterfieldsloaded=F";
	postData += "&filterfieldstypes=select%01checkbox%01text";
	postData += "&filterfieldslabels=Filter%01Show+in+Footer%01Label";
	postData += "&filterfieldsdata=CUSTRECORD_INV_WIRE_TYPE2%01F%01%02CUSTRECORD_WIDTH%01F%01";
	postData += "&nextfilterfieldsidx=3";
	postData += "&highlightfields=hlfilters%01hlattrs%01hlvals%01hlmods%01hlleftparens%01hlrightparens%01hlandors%01hlnots%01hlformulas%01hlcond%01hlimage%01hltextcolor%01hlbackgroundcolor%01hlbold%01hldescr";
	postData += "&highlightflags=0%010%010%010%010%010%010%010%010%011%010%010%010%010%010";
	postData += "&highlightloaded=F";
	postData += "&highlighttypes=text%01text%01text%01text%01text%01text%01text%01text%01text%01text%01select%01color%01color%01checkbox%01text";
	postData += "&highlightlabels=%01%01%01%01%01%01%01%01%01Condition%01Image%01Text+Color%01Background+Color%01Bold%01Description";
	postData += "&highlightdata=";
	postData += "&nexthighlightidx=1";

	req.setRequestHeader("Host","shopping.netsuite.com");
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	req.send(postData);

	var tmp = req.responseText;
	tmp = tmp.replace(/\n/g, '');
	tmp = tmp.substring(tmp.indexOf("<table id=\"" + searchId + "__tab\" border=\"0\" cellspacing=\"0\" class=\"listtable\" cellpadding=\"0\" width=\"100%\">"));
	tmp = tmp.substring(0, tmp.indexOf("<div id='div__footer' class='noprint' leftmargin='0' topmargin='0' marginwidth='1' marginheight='1'>"));
	tmp = tmp.replace("id='div__body'", "id='wireToWireConnDiv'");

	if(tmp.indexOf("No results found. Please try less restrictive criteria.") < 0)
	{
		var myDiv = document.getElementById("helperDiv");
		myDiv.innerHTML = tmp;

		var _itemInternalId = "";
		var _itemType = "";
		var _qtyPerPack = 0;

		var valuesTable = document.getElementById(searchId + "__tab");

		for(var i=0; i<valuesTable.childNodes[1].rows.length; i++)
		{
			var row = valuesTable.childNodes[1].rows[i];

			_itemInternalId = parseInt(row.cells[0].innerHTML.replace("&nbsp;", ""));
			_itemType = row.cells[1].innerHTML.replace("&nbsp;", "");
			_qtyPerPack = parseInt(row.cells[2].innerHTML.replace("&nbsp;", ""));

			break;
		}
		
		var qty = Math.ceil( ((this.perimeterVal / this.wireLength) + 1) * this.numberOfStrands / _qtyPerPack);
		var item = new Item(_itemInternalId, _itemType, qty);
		this.objItems.addItem(item);

		myDiv.innerHTML = "";
	}
}

function HideProgressBar()
{
	parent.document.getElementById("progress").style["display"] = "none";
}

function Initialize()
{
	GetAnimals();
	GetPowerSources();
	GetLinePosts();
	GetCornerPosts();
	GetGauges();
	GetMetalTypes();
	GetWireTypes();
	GetWires();
	GetColors();
	GetThicknesses();
	GetDefaultItems();
	
	HideProgressBar();

	DisplayStep1();
}
function changeGauge()
{
	var metalTypeList = document.getElementById("metalType");
	var gaugesList = document.getElementById("gauges");
	
	if(metalTypeList && gaugesList)
	{
		var metalType = metalTypeList.options[metalTypeList.selectedIndex].innerHTML;
		
		var gauges = this.objWires.getGaugesByMetalType(metalType);
		gaugesList.options.length = gauges.length;
		
		for(var j=0; j<gauges.length; j++)
		{
			var gauge = this.objGauges.getGaugeByName(gauges[j]);
			gaugesList.options[j].text = gauge.gauge;
			gaugesList.options[j].value = gauge.id;
		}
	}
}
function changeColor()
{
	var thicknessesList = document.getElementById("polytapeThickness");
	var colorsList = document.getElementById("polytapeColor");
	
	if(thicknessesList && colorsList)
	{
		var thickness = thicknessesList.options[thicknessesList.selectedIndex].innerHTML;

		var colors = this.objWires.getColorsByThickness(thickness);
		colorsList.options.length = colors.length;

		for(var j=0; j<colors.length; j++)
		{
			var color = this.objColors.getColorByName(colors[j]);
			colorsList.options[j].text = color.name;
			colorsList.options[j].value = color.id;
		}
	}
}

function DisplayStep1()
{
	// Show Step 1 Div
	document.getElementById("step1").style["display"] = "block";

	// Set the list of animals	
	var animalsDiv = document.getElementById("animalsDiv");
	animalsDiv.innerHTML = "<b>What type of animal does the fence primarily apply to?</b>";
	for(var i=0; i<this.objAnimals.animals.length; i++)
	{
		animalsDiv.innerHTML +=  "<br><input type=\"radio\" name=\"animal\" id=\"animal\" value=\""+this.objAnimals.animals[i].id+"\" />" + this.objAnimals.animals[i].name;
	}

	// Set the list of power sources
	var powerSourcesDiv = document.getElementById("powerSourceDiv");
	powerSourcesDiv.innerHTML = "<b>What type of power source do you want?</b>";
	for(var i=0; i<this.objPowerSources.powerSources.length; i++)
	{
		powerSourcesDiv.innerHTML +=  "<br><input type=\"radio\" name=\"powerSource\" id=\"powerSource\" value=\""+this.objPowerSources.powerSources[i].id+"\" />" + this.objPowerSources.powerSources[i].name;
	}
	
	// Set the perimeter input box
	var perimeterDiv = document.getElementById("perimeterDiv");
	perimeterDiv.innerHTML = "<b>What is the size of your land perimeter?</b><br/><input type=\"text\" name=\"perimeter\" id=\"perimeter\" /> <select id=\"perimeterUnit\" name=\"perimeterUnit\"><option value=\"Feet\">Feet</option><option value=\"Miles\">Miles</option></select>";
	
	// Set the Next button
	var nextStepDiv = document.getElementById("step2ButtonDiv");
	nextStepDiv.innerHTML = "<input type=\"button\" onclick=\"javascript:GoToStep2(); return false;\" value=\"Next >>\"/>";
}
function GoToStep2()
{
	this.animalVal = getSelectedRadioButtonValue("animal");
	this.powerSourceVal = getSelectedRadioButtonValue("powerSource");
	this.perimeterVal = parseInt(document.getElementById("perimeter").value);
	
	if(this.animalVal == null)
	{
		alert("Please choose a primary animal for your fence.");
		return;
	}
	
	if(this.powerSourceVal == null)
	{
		alert("Please choose a power source for your fence.");
		return;		
	}
	
	if(this.perimeterVal == null || isNaN(this.perimeterVal))
	{
		alert("Please enter a valid number for the perimeter of your property.");
		return;		
	}
	else
	{
		// Convert to feet if Miles has been selected
		if( document.getElementById("perimeterUnit").options[document.getElementById("perimeterUnit").selectedIndex].value == "Miles" )
		{
			this.perimeterVal = parseInt(this.perimeterVal) * 5280;
		}
	}
	
	// Hide Step 1 Div
	document.getElementById("step1").style["display"] = "none";
	
	// Show Step 2
	DisplayStep2();
}

function DisplayStep2()
{
	// Show Step 2 Div
	document.getElementById("step2").style["display"] = "block";
	
	// Set the line posts
	var linePostsDiv = document.getElementById("linePostsDiv");
	linePostsDiv.innerHTML = "<b>What type of line posts will you be using?</b>";
	var availablePosts = this.objLinePosts.getLinePostsByAnimalName(this.objAnimals.getAnimalById(this.animalVal).name);
	for(var i=0; i<availablePosts.length; i++)
	{
		linePostsDiv.innerHTML +=  "<br><input type=\"radio\" name=\"linePost\" id=\"linePost\" value=\"" + availablePosts[i].id + "\" />" + availablePosts[i].name;
	}

	// Set the corner posts
	var cornerPostsDiv = document.getElementById("cornerPostsDiv");
	cornerPostsDiv.innerHTML = "<b>What type of corner posts will you be using?</b>";
	var availablePosts = this.objCornerPosts.getCornerPostsByAnimalName(this.objAnimals.getAnimalById(this.animalVal).name);
	for(var i=0; i<availablePosts.length; i++)
	{
		cornerPostsDiv.innerHTML +=  "<br><input type=\"radio\" name=\"cornerPost\" id=\"cornerPost\" value=\"" + availablePosts[i].id + "\" />" + availablePosts[i].name;
	}
	
	// Set the terrain
	var terrainDiv = document.getElementById("terrainDiv");
	terrainDiv.innerHTML = "<b>Does the terrain have many rises and/or dips?</b><br/><input type=\"radio\" name=\"hillyTerrain\" value=\"1\"/> Yes <input type=\"radio\" name=\"hillyTerrain\" value=\"0\" checked=\"checked\" /> No";

	// Set the "distance between line posts" input box
	var linePostsDistanceDiv = document.getElementById("linePostsDistanceDiv");
	linePostsDistanceDiv.innerHTML = "<b>What will be the average distance between line posts?</b><br/><input type=\"text\" name=\"linePostsDistance\" id=\"linePostsDistance\" style=\"width:100px;\" /> feet";

	// Set the perimeter input box
	var numOfCornersDiv = document.getElementById("numOfCornersDiv");
	numOfCornersDiv.innerHTML = "<b>How many corners will your fence have?</b><br/><input type=\"text\" name=\"numOfCorners\" id=\"numOfCorners\" style=\"width:50px;\" /> corners";

	// Set the Next button
	var nextStepDiv = document.getElementById("step3ButtonDiv");
	nextStepDiv.innerHTML = "<input type=\"button\" onclick=\"javascript:GoToStep3(); return false;\" value=\"Next >>\"/>";
}
function GoToStep3()
{
	this.linePostVal = getSelectedRadioButtonValue("linePost");
	this.cornerPostVal = getSelectedRadioButtonValue("cornerPost");
	this.isHillyVal = getSelectedRadioButtonValue("hillyTerrain");
	this.distLinePostsVal = parseInt(document.getElementById("linePostsDistance").value);
	this.numOfCornersVal = parseInt(document.getElementById("numOfCorners").value);
	
	if(this.linePostVal == null)
	{
		alert("Please choose a line post type for your fence.");
		return;
	}
	
	if(this.cornerPostVal == null)
	{
		alert("Please choose a corner post type for your fence.");
		return;
	}
	
	if(this.distLinePostsVal == null || isNaN(this.distLinePostsVal))
	{
		alert("Please enter a valid number for the space between posts.");
		return;		
	}
	
	if(this.numOfCornersVal == null || isNaN(this.numOfCornersVal))
	{
		alert("Please enter a valid number for the number of corners.");
		return;		
	}
	
	// Hide Step 2 Div
	document.getElementById("step2").style["display"] = "none";

	// Show Step 3
	DisplayStep3();	
}

function DisplayStep3()
{
	// Setup wires
	var availableWireTypes = this.objWires.getWireTypesByAnimalName(this.objAnimals.getAnimalById(this.animalVal).name);
	var wireTypeDiv = document.getElementById("wireTypeDiv");
	wireTypeDiv.innerHTML += "<b>What type of wire will you be using?</b><br>";
	
	for(var i=0; i<availableWireTypes.length; i++)
	{
		var wireType = this.objWireTypes.getWireTypeByName(availableWireTypes[i].wireType);
		
		wireTypeDiv.innerHTML += "<input type=\"radio\" name=\"wireTypeId\" id=\"wireTypeId\" value=\"" + wireType.id + "\">" + wireType.name + " ";
		
		if(availableWireTypes[i].wireType == "Metal Wire")
		{
			var metalTypes = this.objWires.getMetalTypesByWireType(availableWireTypes[i].wireType);
			var tmp = "";
			
			tmp += "<select name=\"metalType\" id=\"metalType\" onchange=\"changeGauge();\">";
			
			for(var j=0; j<metalTypes.length; j++)
			{
				var metalType = this.objMetalTypes.getMetalTypeByName(metalTypes[j]);
				tmp += "<option value=\"" + metalType.id + "\">" + metalType.name + "</option>";
			}
			
			tmp += "</select>";
			
			tmp += " <select name=\"gauges\" id=\"gauges\">";
			
			wireTypeDiv.innerHTML += tmp;
			
			changeGauge();
		}
		else if(availableWireTypes[i].wireType == "Polyrope")
		{
			var polyropeColors = this.objWires.getColorsByWireType(availableWireTypes[i].wireType);
			var tmp = "";
			
			tmp += "<select name=\"polyropeColor\" id=\"polyropeColor\">";
			
			for(var j=0; j<polyropeColors.length; j++)
			{
				var color = this.objColors.getColorByName(polyropeColors[j]);
				tmp += "<option value=\"" + color.id + "\">" + color.name + "</option>";
			}
			
			tmp += "</select>";
			wireTypeDiv.innerHTML += tmp;
		}
		else if(availableWireTypes[i].wireType == "Polytape")
		{
			var thicknesses = this.objWires.getThicknessesByWireType(availableWireTypes[i].wireType);
			var tmp = "";
			
			tmp += "<select name=\"polytapeThickness\" id=\"polytapeThickness\" onchange=\"changeColor();\">";
			
			for(var j=0; j<thicknesses.length; j++)
			{
				var thickness = this.objThicknesses.getThicknessByName(thicknesses[j]);
				tmp += "<option value=\"" + thickness.id + "\">" + thickness.name + "</option>";
			}
			
			tmp += "</select>";
			
			tmp += " <select name=\"polytapeColor\" id=\"polytapeColor\">";
			
			wireTypeDiv.innerHTML += tmp;
			
			changeColor();
		}
		else if(availableWireTypes[i].wireType == "Polywire")
		{
			var polywireColors = this.objWires.getColorsByWireType(availableWireTypes[i].wireType);
			var tmp = "";
			
			tmp += "<select name=\"polywireColor\" id=\"polywireColor\">";
			
			for(var j=0; j<polywireColors.length; j++)
			{
				var color = this.objColors.getColorByName(polywireColors[j]);
				tmp += "<option value=\"" + color.id + "\">" + color.name + "</option>";
			}
			
			tmp += "</select>";
			wireTypeDiv.innerHTML += tmp;
		}
		
		wireTypeDiv.innerHTML += "<br>";
	}
	
	// Set the strands input box
	var strandsDiv = document.getElementById("strandsDiv");
	strandsDiv.innerHTML = "<b>How many strands of wire will you need?</b><br/><input type=\"text\" name=\"numOfStrands\" id=\"numOfStrands\" style=\"width:50px;\" /> strands";

	// Set the gates input box
	var gatesDiv = document.getElementById("gatesDiv");
	gatesDiv.innerHTML = "<b>How many gate openings will your fence have?</b><br/><input type=\"text\" name=\"numOfGates\" id=\"numOfGates\" style=\"width:50px;\" /> openings";
	
	// Show Step 3 Div
	document.getElementById("step3").style["display"] = "block";
	
	// Set the Build My Fence >> button
	var nextStepDiv = document.getElementById("buildFenceButtonDiv");
	nextStepDiv.innerHTML = "<input type=\"button\" id=\"buildFenceButton\" onclick=\"javascript:BuildFence(); return false;\" value=\"Build My Fence >>\"/>";
}

function getSelectedRadioButtonValue(radioButtonName)
{
	try
	{
		var radioButton = document.getElementsByName(radioButtonName); 
		
		if(radioButton == null || radioButton.length < 1) { return null; }
		
		for(var i=0; i<radioButton.length; i++)
		{
			if(radioButton[i].checked == true)
			{
				return radioButton[i].value;
			}
		}
		
		return null;
	}
	catch(e)
	{
		return null;
	}
}

function BuildFence()
{
	document.getElementById("buildFenceButton").value = "Please wait...";

	window.setTimeout("ProcessShoppingCartItems()", 500);
}

function ProcessShoppingCartItems()
{
	window.clearTimeout(this.processShoppingCartItemsID)
	
	if(getSelectedRadioButtonValue("wireTypeId") == null || getSelectedRadioButtonValue("wireTypeId") == "")
	{
		alert("Please choose a wire type for your fence.");
		return;
	}
	
	if(parseInt(document.getElementById("numOfStrands").value) == null || isNaN(parseInt(document.getElementById("numOfStrands").value)))
	{
		alert("Please enter a valid number of strands.")
		return;
	}

	if(parseInt(document.getElementById("numOfGates").value) == null || isNaN(parseInt(document.getElementById("numOfGates").value)))
	{
		alert("Please enter a valid number of openings.")
		return;
	}

	//Determine estimated perimeter
	if(this.isHillyVal == "1")
		this.perimeterVal =  Math.ceil(parseFloat(this.perimeterVal) * 1.5);
	else
		this.perimeterVal =  Math.ceil(parseFloat(this.perimeterVal));
	
	//Determine # posts
	this.numberOfPosts = Math.ceil(this.perimeterVal / this.distLinePostsVal);

	// Modify the quantity of Sign item: One sign for every 500 feet of fence (not times strands)
	for(var i=0; i<this.objItems.items.length; i++)
	{
		if(this.objItems.items[i].itemType == "Sign")
		{
			this.objItems.items[i].quantity = Math.ceil(this.perimeterVal / 500);
		}
	}

	// Parse the number of openings
	this.numberOfGates = parseInt(document.getElementById("numOfGates").value);
	if(isNaN(this.numberOfGates)) { this.numberOfGates = 0; }

	// Parse the number for strands
	this.numberOfStrands = Math.ceil(document.getElementById("numOfStrands").value);
	if(isNaN(this.numberOfStrands)) { this.numberOfStrands = 0; }
	
	//If any gates, add the gates items and accessories:
	if(this.numberOfGates > 0)
	{
		GetGateItems(this.objAnimals.getAnimalById(this.animalVal).name);
	}

	// Add tensioner
	GetTensionerItems();

	// Add one energizer
	GetEnergizerItems();

	// Add 1 line insulator per strand per line post
	GetLineInsulatorItems();

	// Add 1 corner insulator per strand per corner post (plus two per strand per gate)
	GetCornerInsulatorItems();

	// Add 1 jumper for every strand over the first
	if(this.numberOfStrands > 1)
	{
		GetJumperItems();
	}

	// Add 1 wire-to-energizer connector
	GetWireToEnergizerItem();

	// Add enoguh wire to cover the estimated perimeter (times strands)
	GetWireItems();

	// Ad 1 wire-to-wire connector per wire spool (+ # of strands)
	GetWireToWireItem();
	
	if(!this.debug)
	{
		AddItemsToCart();
	}
}

function AddItemsToCart()
{
	var req = createXMLHttp();
	var items = "";
	
	/*
	// Add Energizers to the shopping cart first
	items = "";
	for(var i=0; i<this.objItems.items.length; i++)
	{
		if(this.objItems.items[i] != null && this.objItems.items[i].itemType.indexOf("Energizer") > -1)
		{
			items += this.objItems.items[i].internalId + "," + this.objItems.items[i].quantity + ";";
			this.objItems.items[i] = null;
		}
	}
	req.open("post", this.url + "/app/site/backend/additemtocart.nl?c="+this.account+"&qtyadd=1&buyid=multi&multi=" + items, false);
	req.send("");

	// Then tape, rope or wire
	items = "";
	for(var i=0; i<this.objItems.items.length; i++)
	{
		if(this.objItems.items[i] != null && this.objItems.items[i].itemType.indexOf("Wire / Polytape / Polyrope") > -1)
		{
			items += this.objItems.items[i].internalId + "," + this.objItems.items[i].quantity + ";";
			this.objItems.items[i] = null;
		}
	}
	req.open("post", this.url + "/app/site/backend/additemtocart.nl?c="+this.account+"&qtyadd=1&buyid=multi&multi=" + items, false);
	req.send("");

	// Then insulators
	items = "";
	for(var i=0; i<this.objItems.items.length; i++)
	{
		if(this.objItems.items[i] != null && (this.objItems.items[i].itemType.indexOf("Insulator - Corner") > -1 || this.objItems.items[i].itemType.indexOf("Insulator - Line") > -1))
		{
			items += this.objItems.items[i].internalId + "," + this.objItems.items[i].quantity + ";";
			this.objItems.items[i] = null;
		}
	}
	req.open("post", this.url + "/app/site/backend/additemtocart.nl?c="+this.account+"&qtyadd=1&buyid=multi&multi=" + items, false);
	req.send("");

	// Then connectors
	items = "";
	for(var i=0; i<this.objItems.items.length; i++)
	{
		if(this.objItems.items[i] != null && this.objItems.items[i].itemType.indexOf("Clips &amp; Connectors") > -1)
		{
			items += this.objItems.items[i].internalId + "," + this.objItems.items[i].quantity + ";";
			this.objItems.items[i] = null;
		}
	}
	req.open("post", this.url + "/app/site/backend/additemtocart.nl?c="+this.account+"&qtyadd=1&buyid=multi&multi=" + items, false);
	req.send("");

	// Then gate stuff
	items = "";
	for(var i=0; i<this.objItems.items.length; i++)
	{
		if(this.objItems.items[i] != null && (this.objItems.items[i].itemType.indexOf("Gate Kit") > -1 || this.objItems.items[i].itemType.indexOf("Underground Wire") > -1))
		{
			items += this.objItems.items[i].internalId + "," + this.objItems.items[i].quantity + ";";
			this.objItems.items[i] = null;
		}
	}
	req.open("post", this.url + "/app/site/backend/additemtocart.nl?c="+this.account+"&qtyadd=1&buyid=multi&multi=" + items, false);
	req.send("");

	// Then grounding
	item = "";
	for(var i=0; i<this.objItems.items.length; i++)
	{
		if(this.objItems.items[i] != null && this.objItems.items[i].itemType.indexOf("Ground") > -1)
		{
			items += this.objItems.items[i].internalId + "," + this.objItems.items[i].quantity + ";";
			this.objItems.items[i] = null;
		}
	}
	req.open("post", this.url + "/app/site/backend/additemtocart.nl?c="+this.account+"&qtyadd=1&buyid=multi&multi=" + items, false);
	req.send("");

	// Then everything else
	items = "";
	for(var i=0; i<this.objItems.items.length; i++)
	{
		if(this.objItems.items[i] != null)
		{
			items += this.objItems.items[i].internalId + "," + this.objItems.items[i].quantity + ";";
		}
	}
	req.open("post", this.url + "/app/site/backend/additemtocart.nl?c="+this.account+"&qtyadd=1&buyid=multi&multi=" + items, false);
	req.send("");
	*/


	for(var i=0; i<this.objItems.items.length; i++)
	{
		items += this.objItems.items[i].internalId + "," + this.objItems.items[i].quantity + ";";
	}

	req.open("post", this.url + "/app/site/backend/additemtocart.nl?c="+this.account+"&qtyadd=1&buyid=multi&multi=" + items, false);
	req.send("");

	parent.location = this.url + "/s.nl?c="+this.account+"&sc=3&whence=";
}



