function importXML(xmlFileName)
{
 	var context = getContext();

	var xmlHttp = new XMLHttpRequest();
	xmlHttp.open("GET", context + xmlFileName, false);
	xmlHttp.send(null);

	xmlDoc = xmlHttp.responseXML;

	if ((typeof(xmlDoc.parseError) == 'undefined') || (xmlDoc.parseError == 0)){
		createTable();
 	}
	else{
		alert(Sarissa.getParseErrorText(xmlDoc));
	}
}

function importDetailXML(xmlFileName)
{
 	var context = getContext();

	var xmlHttp = new XMLHttpRequest();
	xmlHttp.open("GET", context + xmlFileName, false);
	xmlHttp.send(null);

	xmlDoc = xmlHttp.responseXML;

	if ((typeof(xmlDoc.parseError) == 'undefined') || (xmlDoc.parseError == 0)){
		createDetail();
	}
	else{
		alert(Sarissa.getParseErrorText(xmlDoc));
	}
}

function updateTable(document, xmlDoc, detailPage, numItemsPerRow)
{
 	var preLoadImages = "";

	//var numItemsPerRow = 4;

	var writeRoot = document.getElementById('writeroot');

	var items = xmlDoc.getElementsByTagName("item");

	var newEl = document.createElement("TABLE");
	newEl.setAttribute("cellspacing", "40px", 0);
	newEl.setAttribute("cellpadding", "0px", 0);
	var tmp = document.createElement("TBODY");
	newEl.appendChild(tmp);
	var row = document.createElement("TR");
	row.setAttribute("valign", "top", 0);
    tmp.appendChild(row);

	var currentItem = 1;
	var currentLineItem = 1;
	if (items.length < 1)
	{
 		var container = document.createElement("TD");
 		container.setAttribute("valign", "top", 0);

 		var newFont = document.createElement("FONT");
 		newFont.setAttribute("face", "Verdana,Tahoma,Arial", 0);
 		newFont.setAttribute("size", "1", 0);
 		container.appendChild(newFont);

 		var newB = document.createElement("B");
 		newFont.appendChild(newB);

 		var newText = document.createTextNode("This site is currently under construction.  Please check back later...");
 		newB.appendChild(newText);

		row.appendChild(container);
 	}
	else
	{
		for (i = 0; i < items.length; i++)
		{
	     	if (currentLineItem > numItemsPerRow)
			{
		 		row = document.createElement("TR");
	 			row.setAttribute("valign", "top", 0);
	     		tmp.appendChild(row);
				currentLineItem = 1
			}

			var item =  items[i];

			var id = items[i].getAttribute("id");

			var container = document.createElement("TD");
			container.setAttribute("valign", "top", 0);
			container.setAttribute("border", "0", 0);
			container.setAttribute("nowrap", "true", 0);
			container.setAttribute("align", "center", 0);

			var name = getValue(item.getElementsByTagName("name"));
			var description = getValue(item.getElementsByTagName("description"));
			var materials = getValue(item.getElementsByTagName("materials"));
			var price = getValue(item.getElementsByTagName("price"));
			var shippingCost = getValue(item.getElementsByTagName("shippingcost"));
			var inquireOnly = getValue(item.getElementsByTagName("inquireonly"));
			var tax = getValue(item.getElementsByTagName("tax"));
			var dimensions = getValue(item.getElementsByTagName("dimensions"));
			var images = item.getElementsByTagName("image");

			var smallImage = getValue(item.getElementsByTagName("smallImage"));
			var smallImageMouseOver = getValue(item.getElementsByTagName("smallImageMouseOver"));
            var largeImage = getValue(item.getElementsByTagName("largeImage"));

			if (currentItem > 1)
			{
             	preLoadImages = preLoadImages + ","
   			}
            preLoadImages = preLoadImages + "'" + smallImage + "','" + smallImageMouseOver + "'";

			var newFont = document.createElement("FONT");
			newFont.setAttribute("face", "Verdana,Tahoma,Arial", 0);
			newFont.setAttribute("size", "1", 0);
			container.appendChild(newFont);

			var newB = document.createElement("B");
			newFont.appendChild(newB);

			if (name != "Archives")
			{
				var newText = document.createTextNode(name);
				newB.appendChild(newText);
   			}

			var newBr = document.createElement("BR");
			newFont.appendChild(newBr);

	        var a = document.createElement("A");
			a.setAttribute("href", "#", 0);

	  		setEvent(a, "onmouseout", "Javsacript:MM_swapImgRestore()");
  			setEvent(a, "onmouseover", "Javsacript:MM_swapImage('" + smallImage + "', '', '" + smallImageMouseOver + "', 1);");

			if (name == "Archives")
			{
				setEvent(a, "onclick", "Javsacript:self.location='archive.html';");
   			}
			else
			{
             	if (largeImage != "")
				{
             		setEvent(a, "onclick", "Javsacript:openWindow('" + detailPage + "?id=" + id + "', 'detail', '580', '580');");
				}
			}

			var img = document.createElement("IMG");
			img.setAttribute("src", smallImage, 0);
			img.setAttribute("alt", name, 0);
			img.setAttribute("name", smallImage, 0);
			img.setAttribute("id", smallImage, 0);
			img.setAttribute("width", "125", 0);
			img.setAttribute("border", "0", 0);
			a.appendChild(img);

			container.appendChild(a);

			var newForm = document.createElement("FORM");
			newForm.setAttribute("method", "post", 0);
	   	 	newForm.setAttribute("target", "paypal", 0);
			newForm.setAttribute("action", "https://www.paypal.com/cgi-bin/webscr", 0);
			container.appendChild(newForm);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "add", 0);
			newInput.setAttribute("value", "1", 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "cmd", 0);
			newInput.setAttribute("value", "_cart", 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "business", 0);
			newInput.setAttribute("value", "info@contexthome.com", 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "item_name", 0);
			newInput.setAttribute("value", name, 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "item_number", 0);
			newInput.setAttribute("value", id, 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "amount", 0);
			newInput.setAttribute("value", price, 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "quantity", 0);
			newInput.setAttribute("value", 1, 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "no_shipping", 0);
			newInput.setAttribute("value", "2", 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "no_note", 0);
			newInput.setAttribute("value", "1", 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "currency_code", 0);
			newInput.setAttribute("value", "USD", 0);
			newForm.appendChild(newInput);

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "no_shipping", 0);
			newInput.setAttribute("value", "2", 0);
			newForm.appendChild(newInput);

			if (shippingCost != "")
			{
				var newInput = document.createElement("INPUT");
				newInput.setAttribute("type", "hidden", 0);
	    		newInput.setAttribute("name", "shipping", 0);
				newInput.setAttribute("value", shippingCost, 0);
				newForm.appendChild(newInput);

				var newInput = document.createElement("INPUT");
				newInput.setAttribute("type", "hidden", 0);
	    		newInput.setAttribute("name", "shipping2", 0);
				newInput.setAttribute("value", shippingCost, 0);
				newForm.appendChild(newInput);
   			}

			if (tax != "")
			{
				var newInput = document.createElement("INPUT");
				newInput.setAttribute("type", "hidden", 0);
	    		newInput.setAttribute("name", "tax", 0);
				newInput.setAttribute("value", tax, 0);
				newForm.appendChild(newInput);
   			}

			var newInput = document.createElement("INPUT");
			newInput.setAttribute("type", "hidden", 0);
	    	newInput.setAttribute("name", "bn", 0);
			newInput.setAttribute("value", "PP-ShopCartBF", 0);
			newForm.appendChild(newInput);

			if (inquireOnly == "true")
			{
	 		    if (price != "SOLD")
				{
			        var newA = document.createElement("A");
 					newA.setAttribute("alt", "Inquire about purchasing " + name, 0);
 					var mailTo = "mailto:inquire@contextinfo.com?subject=" + name;
 					newA.setAttribute("href", "#", 0);
 					setEvent(newA, "onclick", "Javsacript:location.href='mailto:info@contexthome.com?subject=Inquire About Purchasing: " + name +"'");
        	        newForm.appendChild(newA);

 					var newImg = document.createElement("IMG");
 					newImg.setAttribute("src", "images/inquiry.gif", 0);
 					newImg.setAttribute("alt", "Inquire about purchasing " + name, 0);
 					newImg.setAttribute("name", "inquiry", 0);
 					newImg.setAttribute("id", "inquiry", 0);
 					newImg.setAttribute("width", "125", 0);
 					newImg.setAttribute("border", "0", 0);

 					newA.appendChild(newImg);
    			}
			}
			else
			{
             	if (price != "SOLD")
				{
                 	if (name != "Archives")
					{
		 				var newInput = document.createElement("INPUT");
 						newInput.setAttribute("type", "image", 0);
 		    			newInput.setAttribute("src", "images/add.gif", 0);
 						newInput.setAttribute("border", "0", 0);
 						newInput.setAttribute("name", "submit", 0);
 						newInput.setAttribute("width", "125", 0);
 						newInput.setAttribute("height", "16", 0);
 						newInput.setAttribute("align", "center", 0);
 						newInput.setAttribute("alt", "Make payments with PayPal - it's fast, free and secure!", 0);
 						newForm.appendChild(newInput);
					}
				}
			}

			row.appendChild(container);
			tmp.appendChild(row);
			currentItem = currentItem + 1;
            currentLineItem = currentLineItem + 1;
		}
 	}

	writeRoot.appendChild(newEl);

	var body = document.getElementsByTagName("body")
	setEvent(body[0], "onload", "MM_preloadImages(" + preLoadImages + ");");
}

function updateDetail(qsParm, document, xmlDoc)
{
 	var preLoadImages = "";

	var writeRoot = document.getElementById('writeroot');

	var id = qsParm["id"];
	var item = getById(xmlDoc, id);
	if (item != null)
	{
		var name = getValue(item.getElementsByTagName("name"));
		var description = getValue(item.getElementsByTagName("description"));
		var colors = getValue(item.getElementsByTagName("colors"));
		var materials = getValue(item.getElementsByTagName("materials"));
		var price = getValue(item.getElementsByTagName("price"));
		var quantity = getValue(item.getElementsByTagName("quantity"));
		var shippingCost = getValue(item.getElementsByTagName("shippingCost"));
		var dimensions = getValue(item.getElementsByTagName("dimensions"));
		var images = item.getElementsByTagName("image");

	 	var newTable = document.createElement("TABLE");
		newTable.setAttribute("id", "table_01", 0);
		newTable.setAttribute("align", "left", 0);
		newTable.setAttribute("border", "0px", 0);
		newTable.setAttribute("cellpadding", "5px", 0);
		newTable.setAttribute("cellspacing", "0px", 0);
		newTable.setAttribute("height", "530px", 0);
		newTable.setAttribute("width", "580px", 0);

		var newTbody = document.createElement("TBODY");
		newTable.appendChild(newTbody);

		var currentNode = 0;
		for (i = 0; i < images.length; i++)
		{
			var smallImage = images[i].getElementsByTagName("smallImage")[0].firstChild.nodeValue;
			var smallImageMouseOver = images[i].getElementsByTagName("smallImageMouseOver")[0].firstChild.nodeValue;
            var largeImage = images[i].getElementsByTagName("largeImage")[0].firstChild.nodeValue;

			if (currentNode > 0)
			{
             	preLoadImages = preLoadImages + ","
   			}
            preLoadImages = preLoadImages + "'" + smallImage + "','" + smallImageMouseOver + "','" + largeImage + "'";

			var newTr = document.createElement("TR");
			newTbody.appendChild(newTr);

			//var container = document.createElement('TD');
			if (currentNode == 0)
			{
				var newTd = document.createElement("TD");
				newTd.setAttribute("rowspan", "3", 0);

   				var newImg = document.createElement("IMG");
		   		newImg.setAttribute("src", largeImage, 0);
   				newImg.setAttribute("name", "detail", 0);
   				newImg.setAttribute("id", "detail", 0);
   				newImg.setAttribute("border", "0", 0);
   				newImg.setAttribute("width", "400", 0);
   				newImg.setAttribute("height", "400", 0);
				newTd.appendChild(newImg);

				newTr.appendChild(newTd);
   			}

			var newTd = document.createElement("TD");
        	var newA = document.createElement("A");
 			newA.setAttribute("href", "#", 0);

			// mozilla
		    if( document.addEventListener )
			{
	 			setEvent(newA, "onmouseover", "Javsacript:MM_swapImage('detail', '', '" + largeImage + "', 1);");
				setEvent(newA, "onmouseout", "Javsacript:MM_swapImgRestore()");
				setEvent(newA, "onmouseover", "Javsacript:MM_swapImage('" + smallImage + "', '', '" + smallImageMouseOver + "', 1);");
  			}
			// Internet Explorer
		    else if( document.attachEvent )
  			{
				setEvent(newA, "onmouseout", "Javsacript:MM_swapImgRestore()");
				setEvent(newA, "onmouseover", "Javsacript:MM_swapImage('" + smallImage + "', '', '" + smallImageMouseOver + "', 1);");
 				setEvent(newA, "onmouseover", "Javsacript:MM_swapImage('detail', '', '" + largeImage + "', 1);");
			}

	 		var newImg = document.createElement("IMG");
 			newImg.setAttribute("src", smallImage, 0);
			newImg.setAttribute("name", smallImage, 0);
			newImg.setAttribute("id", smallImage, 0);
 			newImg.setAttribute("border", "0", 0);
  			newImg.setAttribute("width", "125", 0);
  			newImg.setAttribute("height", "125", 0);
 			newA.appendChild(newImg);

			newTd.appendChild(newA);
			newTr.appendChild(newTd);
			currentNode = currentNode + 1;
		}

		var newTr = document.createElement("TR");
		newTbody.appendChild(newTr);

		var newTd = document.createElement("TD");
		newTd.setAttribute("colspan", "2", 0);
		newTr.appendChild(newTd);

		var newFont = document.createElement("FONT");
		newFont.setAttribute("face", "Verdana,Tahoma,Arial", 0);
		newFont.setAttribute("size", "1", 0);
		newTd.appendChild(newFont);

		var newP = document.createElement("P");
		newFont.appendChild(newP);

		var newB = document.createElement("B");
		newP.appendChild(newB);

		var newText = document.createTextNode(name);
		newB.appendChild(newText);

		var newBr = document.createElement("BR");
		newB.appendChild(newBr);
		var newBr = document.createElement("BR");
		newB.appendChild(newBr);

		var newB = document.createElement("B");
		newP.appendChild(newB);

		if (description != "")
		{
	 		var newText = document.createTextNode("Description: ");
 			newB.appendChild(newText);

 			var newText = document.createTextNode(description);
 			var newBr = document.createElement("BR");

 			newP.appendChild(newText);
 			newP.appendChild(newBr);
  		}

		if (colors != "")
		{
			var newB = document.createElement("B");
			newP.appendChild(newB);

			var newText = document.createTextNode("Colors: ");
			newB.appendChild(newText);

			var newText = document.createTextNode(colors);
			var newBr = document.createElement("BR");

			newP.appendChild(newText);
			newP.appendChild(newBr);
  		}

		if (materials != "")
		{
			var newB = document.createElement("B");
			newP.appendChild(newB);

			var newText = document.createTextNode("Materials: ");
			newB.appendChild(newText);

			var newText = document.createTextNode(materials);
			var newBr = document.createElement("BR");

			newP.appendChild(newText);
			newP.appendChild(newBr);
  		}

		if (dimensions != "")
		{
			var newB = document.createElement("B");
			newP.appendChild(newB);

			var newText = document.createTextNode("Measurements: ");
			newB.appendChild(newText);

	  		var newText = document.createTextNode(dimensions);
  			newP.appendChild(newText);

  			var newBr = document.createElement("BR");
			newP.appendChild(newBr);
  		}

		var newBr = document.createElement("BR");
		newP.appendChild(newBr);

		if (price != "")
		{
			var newB = document.createElement("B");
			newP.appendChild(newB);

			var newText = document.createTextNode("Price: ");
			newB.appendChild(newText);

            var newText;
			if (price == "SOLD")
			{
             	newText = document.createTextNode(price);
   			}
            else
			{
	  			newText = document.createTextNode("$" + price);
			}
			var newBr = document.createElement("BR");

  			newP.appendChild(newText);
  			newP.appendChild(newBr);
  		}

		if (quantity != "")
		{
			var newB = document.createElement("B");
			newP.appendChild(newB);

	 		var newText = document.createTextNode("Quantity: ");
 			newB.appendChild(newText);

 			var newText = document.createTextNode(quantity);
 			var newBr = document.createElement("BR");

 			newP.appendChild(newText);
 			newP.appendChild(newBr);
  		}

		var newP = document.createElement("P");
		newFont.appendChild(newP);

		writeRoot.appendChild(newTable);
  	}

	var body = document.getElementsByTagName("body")
	setEvent(body[0], "onload", "MM_preloadImages(" + preLoadImages + ");");
}

// register an event handler to an element
function setEvent(xmlNode, strName, strFunction)
{
    strName = strName.substr( 0, 2 ) == "on" ? strName.substr( 2, strName.length ) : strName;

    // w3c compatible style, not supported by internet explorer yet
    if( document.addEventListener )
        xmlNode.addEventListener( strName, new Function( "event", "event.preventDefault( ); " + strFunction ), true );
    // Internet Explorer
    else if( document.attachEvent )
        xmlNode.attachEvent( "on" + strName, new Function("event", strFunction ));
    // old style (tag.onclick)
    else
        xmlNode[ "on" + strName ] = new Function( "event", strFunction );
}

function getById(obj, name)
{
 	return getByTypeId( obj, "*", name );
}

function getByTypeId(obj, type, name )
{
 	var c = obj.getElementsByTagName( type );
	for ( var i = 0; i < c.length; i++ )
	{
		if ( c[i].getAttribute("id") != null && c[i].getAttribute("id") == name )
			return c[i].cloneNode( true );
	}

	return null;
}

function getValue(element)
{
 	var value = "";
 	if (element != null)
	{
     	if (element[0] != null)
		{
     		if (element[0].firstChild != null)
			{
     			if (element[0].firstChild.nodeValue != null)
				{
         			value = element[0].firstChild.nodeValue;
  				}
			}
		}
 	}

	return value;
}

function getContext()
{
 	var context = "http://localhost/";

 	var location = window.location.href;
	var slashPos = location.lastIndexOf("/");
	if (slashPos > 0)
	{
		context = location.substring(0, slashPos + 1);
 	}

	return context;
}
