	var relatedinsert = "";
	var relatedIdx = 0;
	var relateds = new Array();
	var celltypes = new Array("similar","coordinate","decorate","required","recommended","tutorial");
	var category = "cell_200_related";
	var relatedsByObjid = new Array();
	var stoggle = 0;
	var adminmode = 0;
	var numrelateds = 0;
	var numrelatedsactual = 0;
	var offset = 0;
	
	
	
	function relatedProduct(currobjid,objid,cellstyle,weight,title,stocknum,navigation,thumbsrc,thumbwidth,thumbheight) {
		this.currobjid = currobjid;	// currentobjid of linkage
		this.objid = objid; // Objid of linked page
		this.cellstyle = cellstyle; // Cellstyle of linked page 
		this.weight = weight; // Location in row of linked page (weight = 1-999)
		this.title = title; // Title of linked page
		this.stocknum = stocknum; // Stock# of linked page
		this.navigation = navigation;
		this.thumbsrc = thumbsrc; // Thumbnail located at http://images.dharmatrading.com/images/eng/products/110/'src'
		this.thumbwidth = thumbwidth;	// Width of thumbnail image
		this.thumbheight = thumbheight;	// Height of thumbnail image
	}
	
	
	
	function waitForIt_WaaaiiitForIt(block) {
		var waitstr = "";
		
		waitstr += ("<div style=\"margin: 24px 0px;\"><div style=\"margin-bottom:12px;font-weight:bold;font-size:16px;color:#cc0000;\">Doin' stuff. Wait for it...</div>");
		waitstr += ("<div><img src=\"http://images.dharmatrading.com/images/public/ajax/ajax-loader-10.gif\"></div></div>");
		
		var replace = document.getElementById(block);
		replace.innerHTML = (waitstr);
		return false;
	}
	
	
	
	function adminAlert(hey) {
		var userclass = getCookie("userclass");
		if (userclass == "staff") {
			alert(hey);
		}
	}
	
	
	
	function relatedProduct_AdminSearch() {
		var terms = document.relsearchreq.relsearchterms.value;
		var waiting = ("related_search_results");
		
		if (terms==null||terms=="") {
			alert("You wanna search for nothin', huh? NO SEARCH FOR YOU, TRICKSY MONKEY!");
			return false;
		}
		testSearchXmlURL = ("http://www.dharmatrading.com/cgi-bin/admin_search.cgi?mode=xml&query=" + terms);	
		sendAjaxGETXML(testSearchXmlURL,relatedProduct_DisplaySearchResults);
		
		waitForIt_WaaaiiitForIt(waiting);

		return false ;
	}
	
	
	
	function relatedProduct_DisplaySearchResults(XMLData) {
		var soid = "";
		var ssnum = "";
		var stitle = "";
		var searchinsert = "";
		var searchXML = XMLData.getElementsByTagName('product');	
		
		for (ids=0;ids<searchXML.length;ids++){
			soid = searchXML[ids].getAttribute('objid');
			ssnum = searchXML[ids].getElementsByTagName("stocknum")[0].firstChild.nodeValue;
			stitle = searchXML[ids].getElementsByTagName("title")[0].firstChild.nodeValue;
			
			searchinsert += ("<div><a href=\"http://www.dharmatrading.com/cgi-bin/admin_webpage.cgi?mode=edit&objid=" + soid + "\" target=\"_blank\">" + ssnum + "</a>:&nbsp;" + stitle + "&nbsp;(" + soid + ")</div>");
		}
		
		var searchResults = document.getElementById('related_search_results');
		searchResults.innerHTML = searchinsert;
	}
	
	
	
	function relatedProduct_AdminSearchShow() {
		var searchForm = document.createElement('form'); 
		var href = document.createAttribute('href'); 
		searchForm.setAttribute('name','relsearchreq'); 
		searchForm.setAttribute('onSubmit','relatedProduct_AdminSearch();return(false);');
		searchForm.innerHTML = ("Search for Terms: <input type=\"text\" name=\"relsearchterms\" value=\"\" size=\"28\" /><input type=\"button\" value=\"Search\" onClick=\"relatedProduct_AdminSearch();return(false);\" />"); 
		var divAppend = document.getElementById('related_search'); 
		divAppend.appendChild(searchForm);
		
		stoggle = 1;
	}
	
	
	
	function relatedProduct_AdminSearchPurge() {
		var purgeHTML = "";
		var searchField = document.getElementById('related_search');
		var searchResults = document.getElementById('related_search_results');
		searchField.innerHTML = purgeHTML;
		searchResults.innerHTML = purgeHTML;

		stoggle = 0;
	}
	
	
	
	function relatedProduct_DoEdit(cat) {
		var saveURL = ("http://www.dharmatrading.com/cgi-bin/admin_linkage.cgi");
		var vars = "";
		var waiting = ("related_Table");
		var newvalue = "";
		var newweight = "";
		
		vars += ("mode=save");
		vars += ("&objid=" + objid);
		
		if (cat >= 0) {
			category = ("cell_200_related_" + celltypes[cat]);
		}
		else {
			category = ("cell_200_related");
		}
		
		var catarray = new Array();
		var cdx = 0;
		var cellcheck = "";
		var num = 0;
		for (num=0;num<relateds.length;num++) {
			cellcheck = relateds[num].cellstyle;
			if (cellcheck.indexOf(category) == 0) {
				catarray[cdx] = num;
				cdx++;
			}
		}

		var start = offset * 4;
		var end  = start + numrelateds;
		

		for (ids=start;ids<end;ids++) {
			newvalue = document.getElementsByName("objid_edit_"+relateds[catarray[ids]].objid)[0].value;
			newweight = document.getElementsByName("weight_edit_"+relateds[catarray[ids]].objid)[0].value;
			newcellstyle = ("cell_200_related_" + celltypes[document.getElementsByName("cellstyle_edit_" + relateds[catarray[ids]].objid)[0].selectedIndex]);
			vars += ("&currentobjid=" + relateds[catarray[ids]].currobjid);
			vars += ("&obj2_" + relateds[catarray[ids]].currobjid + "=" + newvalue);
			vars += ("&cellstyle_" + relateds[catarray[ids]].currobjid + "=" + newcellstyle);
			vars += ("&navigation_" + relateds[catarray[ids]].currobjid + "=" + relateds[catarray[ids]].navigation);
			vars += ("&linkwt_man_" + relateds[catarray[ids]].currobjid + "=" + newweight);
		}
		
		sendAjaxPOST(saveURL,vars,relatedProduct_Get);
		
		waitForIt_WaaaiiitForIt(waiting);
		
		return false;
	}
	
	

	function relatedProduct_DoAdd() {
		var saveURL = ("http://www.dharmatrading.com/cgi-bin/admin_linkage.cgi");
		var vars = "mode=save&objid=" + objid;
		var waiting = ("related_Table");
		var newProductArray = new Array();
		var fullvalue = document.getElementsByName("objid_add_related")[0].value;
		var newcellstyle = ("cell_200_related_" + celltypes[document.getElementsByName("objid_add_related_cellstyle")[0].selectedIndex]);
		var start = 0;
		var end = fullvalue.length;
		var newvalue = "";
		var newProductArray = new Array();
		var i = 0;
		fullvalue = fullvalue.split(", ").toString();
		fullvalue = fullvalue.split(" ").toString();
		//alert("original fullvalue = " + fullvalue + "<br /><br />");
		
		while (fullvalue.indexOf(",") >= 0) {
			end = fullvalue.indexOf(",");
			newProductArray[i] = fullvalue.substring(start,end);
			start = end + 1;
			fullvalue = fullvalue.substring(start,(fullvalue.length));
			i++;
			start = 0;
		}
		
		end = fullvalue.length + 1;
		newProductArray[i] = fullvalue.substring(start,end);
		
		for (i = 0; i < newProductArray.length; i++) {
			newvalue = newProductArray[i];
			
			if (relateds.length > 0) {
				var newweight = parseInt(relateds[0].weight);
				if (newweight) {
					newweight = newweight + (10 * (i + 1));
				}
				else {
					newweight = (10 * (i + 1));
				}
			}
			else {
				var newweight = (10 * (i + 1));
			}
			
			vars += ("&newobjid=" + (i+1));
			vars += ("&obj2_" + (i+1) + "=" + newvalue);
			vars += ("&cellstyle_" + (i+1) + "=" + newcellstyle);
			vars += ("&navigation_" + (i+1) + "=");
			vars += ("&linkwt_man_" + (i+1) + "=" + newweight);
		}
		
		//alert(vars);
		
		sendAjaxPOST(saveURL,vars,relatedProduct_Get);
		
		waitForIt_WaaaiiitForIt(waiting);
		
		return false;
	}

	
	
	function relatedProduct_DoRemove(objPosition,cat) {
		var saveURL = ("http://www.dharmatrading.com/cgi-bin/admin_linkage.cgi");
		var vars = "";
		var waiting = ("related_Table");
		vars += "mode=save";
		vars += ("&objid=" + objid);
		
		if (cat >= 0) {
			category = ("cell_200_related_" + celltypes[cat]);
		}
		else {
			category = ("cell_200_related");
		}
		
		var catarray = new Array();
		var cdx = 0;
		var cellcheck = "";
		var num = 0;
		for (num=0;num<relateds.length;num++) {
			cellcheck = relateds[num].cellstyle;
			if (cellcheck.indexOf(category) == 0) {
				catarray[cdx] = num;
				cdx++;
			}
		}

		var start = offset * 4;
		var end  = start + numrelateds;
		
		for (ids=start;ids<end;ids++) {
			if (ids == objPosition) {
				vars += ("&remove=" + relateds[catarray[ids]].currobjid);
			}
			else {
				newvalue = document.getElementsByName("objid_edit_" + relateds[catarray[ids]].objid)[0].value;
				vars += ("&currentobjid=" + relateds[catarray[ids]].currobjid);
				vars += ("&obj2_" + relateds[catarray[ids]].currobjid + "=" + newvalue);
				vars += ("&cellstyle_" + relateds[catarray[ids]].currobjid + "=" + relateds[catarray[ids]].cellstyle);
				vars += ("&navigation_" + relateds[catarray[ids]].currobjid + "=" + relateds[catarray[ids]].navigation);
				vars += ("&linkwt_man_" + relateds[catarray[ids]].currobjid + "=" + relateds[catarray[ids]].weight);
			}
		}
		
		sendAjaxPOST(saveURL,vars,relatedProduct_Get);
		
		waitForIt_WaaaiiitForIt(waiting);
		
		return false;
	}
	
	
	
	function relatedProduct_Previous(mode,cat) {
		offset--;
		if (mode == 0) {
			relatedProduct_Show(offset,cat);
		}
		else if (mode == 1) {
			relatedProduct_AdminShow(offset,cat);
		}
		else return;
	}
	
	
	
	function relatedProduct_Next(mode,cat) {
		offset++;
		if (mode == 0) {
			relatedProduct_Show(offset,cat);
		}
		else if (mode == 1) {
			relatedProduct_AdminShow(offset,cat);
		}
		else return false;
	}
	
	
	
	function relatedProduct_Check(cat) {
		var cata = ("cell_200_related_" + celltypes[cat]);
		var cellcheck = "";
		var num = 0;
		
		for (num=0;num<relateds.length;num++) {
			cellcheck = relateds[num].cellstyle;
			if (cellcheck.indexOf(cata) == 0) {
				return true;
			}
		}
		return false;
	}

	
	
	function relatedProduct_Show(pagenum,cat) {
		var userclass = getCookie("userclass");
		adminmode = 0;
		if (cat >= 0) {
			category = ("cell_200_related_" + celltypes[cat]);
		}
		else {
			cat = -1;
			category = ("cell_200_related");
		}
		
		var catarray = new Array();
		var cdx = 0;
		var cellcheck = "";
		var num = 0;
		for (num=0;num<relateds.length;num++) {
			cellcheck = relateds[num].cellstyle;
			if (cellcheck.indexOf(category) == 0) {
				catarray[cdx] = num;
				cdx++;
			}
		}
		
		numrelatedsactual = catarray.length;
		if (!pagenum || pagenum < 0) {
			pagenum = 0;
		}
		if (catarray.length == 0) {	// Error in linkage XML or empty related widget
			if (userclass == "staff") {
				relatedinsert = ("<div style=\"text-align:left;font-size:10px;\"><a href=\"#\" onClick=\"relatedProduct_AdminShow(0,0);return(false);\" style=\"text-decoration:none;\">Add Related Products</a></div>");
			}
		
			var checkThisOut = document.getElementById('related');
			checkThisOut.innerHTML = relatedinsert;
			
			if (stoggle == 1) {
				relatedProduct_AdminSearchPurge();
			}
			
			return false;
		}
		else if (catarray.length > 4) {
			offset = pagenum;
			numrelateds = numrelatedsactual - (offset * 4);
			if (numrelateds > 4) {
				numrelateds = 4;
			}
		}
		else {
			numrelateds = catarray.length;
			offset = 0;
		}
		var division = Math.round(564 / numrelateds);
		
		relatedinsert = ("<div align=\"center\">");
		relatedinsert += ("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"746px\" style=\"padding:0px;margin:0px;border:0px;\">");
		relatedinsert += ("<tr height=\"16\">");
		relatedinsert += ("<td nowrap align=\"left\" valign=\"bottom\" colspan=\"" + (numrelateds + 3) + "\"><div style=\"text-align:left;font-size:10px;\">");
		/* REMOVED ADMIN TOGGLE UNTIL CROSS SERVER ISSUES ARE RESOLVED */
		//if (userclass == "staff") {
			//relatedinsert += ("<a href=\"#\" onClick=\"relatedProduct_AdminShow(" + offset + "," + cat + ");return(false);\" style=\"text-decoration:none;\">Toggle Admin Manager</a>");
		//}
		//else {
			relatedinsert += ("<img src=\"http://images.dharmatrading.com/images/eng/general/clear.gif\" border=\"0\" height=\"1\" width=\"1\">");
		//}
		relatedinsert += ("</div></td></tr>");
		relatedinsert += ("<tr height=\"150\" style=\"padding:0px;margin:0px;border:0px;\">");
		
		
		// DRAW CATEGORIES START
		
		relatedinsert += ("<td align=\"left\" valign=\"top\" width=\"120px\" style=\"padding:0px;margin:0px;border:0px;\">");
		relatedinsert += ("<div style=\"line-height:22px;font-size:12px;margin-top:12px;padding-left:5px;padding-right:5px;margin-bottom:6px;width:120px;border-style:solid;border-width:1px;border-right-width:0px;border-color:#999999;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;");
		if (cat == -1) {
			relatedinsert += ("font-weight:bold;background-color:#ffffff;");
		}
		else {
			relatedinsert += ("cursor:pointer;background-color:#dde8fc;\" onClick=\"relatedProduct_Show(0,-1);return false;");
		}
		relatedinsert += ("\">Related&nbsp;Products</div>");
		if (relatedProduct_Check(3)) {
			relatedinsert += ("<div style=\"line-height:22px;font-size:12px;padding-left:5px;padding-right:5px;margin-bottom:6px;border-style:solid;border-width:1px;border-right-width:0px;border-color:#999999;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;");
			if (cat == 3) {
				relatedinsert += ("font-weight:bold;background-color:#ffffff;");
			}
			else {
				relatedinsert += ("cursor:pointer;background-color:#dde8fc;\" onClick=\"relatedProduct_Show(0,3);return false;");
			}
			relatedinsert += ("\">Required&nbsp;Products</div>");
		}
		if (relatedProduct_Check(4)) {
			relatedinsert += ("<div style=\"line-height:22px;font-size:12px;padding-left:5px;padding-right:5px;margin-bottom:6px;border-style:solid;border-width:1px;border-right-width:0px;border-color:#999999;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;");
			if (cat == 4) {
				relatedinsert += ("font-weight:bold;background-color:#ffffff;");
			}
			else {
				relatedinsert += ("cursor:pointer;background-color:#dde8fc;\" onClick=\"relatedProduct_Show(0,4);return false;");
			}
			relatedinsert += ("\">Recommended</div>");
		}
		if (relatedProduct_Check(0)) {
			relatedinsert += ("<div style=\"line-height:22px;font-size:12px;padding-left:5px;padding-right:5px;margin-bottom:6px;border-style:solid;border-width:1px;border-right-width:0px;border-color:#999999;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;");
			if (cat == 0) {
				relatedinsert += ("font-weight:bold;background-color:#ffffff;");
			}
			else {
				relatedinsert += ("cursor:pointer;background-color:#dde8fc;\" onClick=\"relatedProduct_Show(0,0);return false;");
			}
			relatedinsert += ("\">Similar to</div>");
		}
		if (relatedProduct_Check(1)) {
			relatedinsert += ("<div style=\"line-height:22px;font-size:12px;padding-left:5px;padding-right:5px;margin-bottom:6px;border-style:solid;border-width:1px;border-right-width:0px;border-color:#999999;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;");
			if (cat == 1) {
				relatedinsert += ("font-weight:bold;background-color:#ffffff;");
			}
			else {
				relatedinsert += ("cursor:pointer;background-color:#dde8fc;\" onClick=\"relatedProduct_Show(0,1);return false;");
			}
			relatedinsert += ("\">Coordinate&nbsp;with</div>");
		}
		if (relatedProduct_Check(2)) {
			relatedinsert += ("<div style=\"line-height:22px;font-size:12px;padding-left:5px;padding-right:5px;margin-bottom:6px;border-style:solid;border-width:1px;border-right-width:0px;border-color:#999999;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;");
			if (cat == 2) {
				relatedinsert += ("font-weight:bold;background-color:#ffffff;");
			}
			else {
				relatedinsert += ("cursor:pointer;background-color:#dde8fc;\" onClick=\"relatedProduct_Show(0,2);return false;");
			}
			relatedinsert += ("\">Decorate with</div>");
		}
		if (relatedProduct_Check(5)) {
			relatedinsert += ("<div style=\"line-height:22px;font-size:12px;padding-left:5px;padding-right:5px;margin-bottom:6px;border-style:solid;border-width:1px;border-right-width:0px;border-color:#999999;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;");
			if (cat == 5) {
				relatedinsert += ("font-weight:bold;background-color:#ffffff;");
			}
			else {
				relatedinsert += ("cursor:pointer;background-color:#dde8fc;\" onClick=\"relatedProduct_Show(0,5);return false;");
			}
			relatedinsert += ("\">Info &amp; Tutorials</div>");
		}
		relatedinsert += ("</td>");
		
		//DRAW CATEGORIES END
		
		
		relatedinsert += ("<td valign=\"top\" width=\"626px\" style=\"border-style:solid;border-width:1px;border-color:#999999;margin-left:0px;padding-left:10px;padding-right:10px;padding-top:12px;height:150px;-moz-border-radius:10px;\">");
		relatedinsert += ("<table summary=\"\" id=\"\" name=\"\" cellpadding=\"0\" cellspacing=\"0\" width=\"626px\" style=\"padding:0px;margin:0px;border:0px;\"><tr>");
		relatedinsert += ("<td align=\"center\" valign=\"top\" width=\"31px\"><div style=\"padding-top:60px;\">");
		if (offset > 0) {
			relatedinsert += ("<a style=\"text-decoration:none;\" href=\"#\" onClick=\"relatedProduct_Previous(" + adminmode + "," + cat + ");return false;\"><img src=\"http://images.dharmatrading.com/images/eng/general/related_previous-2.gif\" border=\"0\" height=\"20\" width=\"18\" /></a>");
		}
		else {
			relatedinsert += ("<img src=\"http://images.dharmatrading.com/images/eng/general/clear.gif\" border=\"0\" height=\"20\" width=\"18\" />");
		}
		relatedinsert += ("</div></td>");
		
		var start = offset * 4;
		var end = start + numrelateds;

		for (idz=start;idz<end;idz++) {
			relatedinsert += ("<td align=\"center\" valign=\"top\" width=\"" + division + "px\" style=\"background-color:#ffffff;padding:4px;\"><div id=\"related_product_" + relateds[catarray[idz]].objid + "\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td bgcolor=\"white\" height=\"120\" width=\"100%\" align=\"center\" valign=\"top\">");
			relatedinsert += ("<a href=\"http://www.dharmatrading.com/html/eng/" + relateds[catarray[idz]].objid + ".shtml");
			if (relateds[catarray[idz]].navigation) {
				relatedinsert += ("?lnav=" + relateds[catarray[idz]].navigation);
			}
			relatedinsert += ("\"><img src=\"http://images.dharmatrading.com/images/eng/products/110/" + relateds[catarray[idz]].thumbsrc + "\" width=\"" + relateds[catarray[idz]].thumbwidth + "\" height=\"" + relateds[catarray[idz]].thumbheight + "\" border=\"0\" alt=\"" + relateds[catarray[idz]].title + "\"></a><br />");
			relatedinsert += ("<div style=\"margin-bottom:3px;\">");
			relatedinsert += ("<a href=\"http://www.dharmatrading.com/html/eng/" + relateds[catarray[idz]].objid + ".shtml");
			if (relateds[catarray[idz]].navigation) {
				relatedinsert += ("?lnav=" + relateds[catarray[idz]].navigation);
			}
			relatedinsert += ("\"><small>" + relateds[catarray[idz]].title + "</small></a>");
			relatedinsert += ("</div></td></tr></table></td>");
		}
		
		relatedinsert += ("<td align=\"center\" valign=\"top\" width=\"31px\"><div style=\"padding-top:60px;\">");
		if (numrelatedsactual > ((offset*4)+4)) {
			relatedinsert += ("<a style=\"text-decoration:none;\" href=\"#\" onClick=\"relatedProduct_Next(" + adminmode + "," + cat + ");return false;\"><img src=\"http://images.dharmatrading.com/images/eng/general/related_next-2.gif\" border=\"0\" height=\"20\" width=\"18\" /></a>");
		}
		else {
			relatedinsert += ("<img src=\"http://images.dharmatrading.com/images/eng/general/clear.gif\" border=\"0\" height=\"20\" width=\"18\" />");
		}
		relatedinsert += ("</div></td>");

		relatedinsert += ("</tr></table></div></td></tr></table></div>");
		
		var checkThisOut = document.getElementById('related');
		checkThisOut.innerHTML = relatedinsert;
		
		if (stoggle == 1) {
			relatedProduct_AdminSearchPurge();
		}
	}

	
	
	function relatedProduct_AdminShow(pagenum,cat) {
		var userclass = getCookie("userclass");
		adminmode = 1;
		if (cat >= 0) {
			category = ("cell_200_related_" + celltypes[cat]);
		}
		else {
			cat = -1;
			category = ("cell_200_related");
		}
		
		var catarray = new Array();
		var cdx = 0;
		var cellcheck = "";
		var num = 0;
		for (num=0;num<relateds.length;num++) {
			cellcheck = relateds[num].cellstyle;
			if (cellcheck.indexOf(category) == 0) {
				catarray[cdx] = num;
				cdx++;
			}
		}
		
		numrelatedsactual = catarray.length;
		if (!pagenum || pagenum < 0) {
			pagenum = 0;
		}
		if (relateds.length == 0) {	// Error in linkage XML or no releated products
			pagenum = 0;
			
			if (userclass == "staff") {
				adminrelatedstr = ("<div style=\"text-align:left;font-size:10px;\"><a href=\"#\" onClick=\"relatedProduct_Show(0,0);return(false);\" style=\"text-decoration:none;\">Toggle Admin Manager</a></div>");
			}
			else {
				adminrelatedstr = ("");
			}
			adminrelatedstr += ("<div id=\"related_Table\"><form name=\"Add_Related\" onSubmit=\"return relatedProduct_DoAdd();\"><div style=\"text-align: left;\">Enter ObjID# or Stock# To Add A New Related Product:&nbsp;<input type=\"text\" id=\"\" size=\"20\" name=\"objid_add_related\" value=\"\" style=\"font-size: 11px; margin: 12px 0px;\">");
			adminrelatedstr += ("<select name=\"objid_add_related_cellstyle\">");
			for (i=0;i<celltypes.length;i++) {
				var currcellstyle = ("cell_200_related_" + celltypes[i]);
				adminrelatedstr += ("<option value=\"" + currcellstyle + "\">" + celltypes[i] + "</option>");
			}
			adminrelatedstr += ("</select>&nbsp;");
	
			adminrelatedstr += ("<input style=\"vertical-align: middle;\" name=\"action\" value=\"Add Product\" type=\"button\" onClick=\"return relatedProduct_DoAdd();\" /></div></form></div>");
			
			var checkThisOut = document.getElementById('related');
			checkThisOut.innerHTML = adminrelatedstr;
			
			if (stoggle == 0) {
				relatedProduct_AdminSearchShow();
			}
			
			return false;
		}
		else if (catarray.length > 4) {
			offset = pagenum;
			numrelateds = numrelatedsactual - (offset * 4);
			if (numrelateds > 4) {
				numrelateds = 4;
			}
		}
		else {
			numrelateds = catarray.length;
			offset = 0;
		}

		var division = Math.round(80 / numrelateds);
		
		var adminrelatedstr = ("<div id=\"related_Table\" align=\"center\" valign=\"middle\">");
		adminrelatedstr += ("<table border=\"0\" cellpadding=\"1\" cellspacing=\"2\" width=\"100%\">");
		adminrelatedstr += ("<tr height=\"16\">");
		adminrelatedstr += ("<td nowrap align=\"left\" valign=\"bottom\" colspan=\"2\"><div style=\"text-align:left;font-size:10px;\">");
		if (userclass == "staff") {
			adminrelatedstr += ("<a href=\"#\" onClick=\"relatedProduct_Show(" + offset + "," + cat + ");return(false);\" style=\"text-decoration:none;\">Toggle Admin Manager</a>");
		}
		else {
			adminrelatedstr += ("<img src=\"http://images.dharmatrading.com/images/eng/general/clear.gif\" border=\"0\" height=\"1\" width=\"1\">");
		}
		adminrelatedstr += ("</div></td>");
		adminrelatedstr += ("<td colspan=\"" + (numrelateds + 1) + "\"></td></tr>");
		
		adminrelatedstr += ("<tr height=\"120\">");


		//DRAW CATEGORIES START

		adminrelatedstr += ("<td align=\"left\" valign=\"top\" width=\"15%\">");
		adminrelatedstr += ("<div style=\"line-height:20px;font-weight:bold;border-style:solid;border-width:1px;border-color:#000000;padding-left:5px;margin-bottom:4px;");
		if (cat == -1) {
			adminrelatedstr += ("background-color:#bebebe;");
		}
		else {
			adminrelatedstr += ("cursor:pointer;background-color:#dedede;\" onClick=\"relatedProduct_AdminShow(0,-1);return false;");
		}
		adminrelatedstr += ("\">Related</div>");
		if (relatedProduct_Check(3)) {
			adminrelatedstr += ("<div style=\"line-height:20px;font-weight:bold;border-style:solid;border-width:1px;border-color:#000000;padding-left:5px;margin-bottom:4px;");
			if (cat == 3) {
				adminrelatedstr += ("background-color:#bebebe;");
			}
			else {
				adminrelatedstr += ("cursor:pointer;background-color:#dedede;\" onClick=\"relatedProduct_AdminShow(0,3);return false;");
			}
			adminrelatedstr += ("\">Required</div>");
		}
		if (relatedProduct_Check(4)) {
			adminrelatedstr += ("<div style=\"line-height:20px;font-weight:bold;border-style:solid;border-width:1px;border-color:#000000;padding-left:5px;margin-bottom:4px;");
			if (cat == 4) {
				adminrelatedstr += ("background-color:#bebebe;");
			}
			else {
				adminrelatedstr += ("cursor:pointer;background-color:#dedede;\" onClick=\"relatedProduct_AdminShow(0,4);return false;");
			}
			adminrelatedstr += ("\">Recommended</div>");
		}
		if (relatedProduct_Check(0)) {
			adminrelatedstr += ("<div style=\"line-height:20px;font-weight:bold;border-style:solid;border-width:1px;border-color:#000000;padding-left:5px;margin-bottom:4px;");
			if (cat == 0) {
				adminrelatedstr += ("background-color:#bebebe;");
			}
			else {
				adminrelatedstr += ("cursor:pointer;background-color:#dedede;\" onClick=\"relatedProduct_AdminShow(0,0);return false;");
			}
			adminrelatedstr += ("\">Similar to</div>");
		}
		if (relatedProduct_Check(1)) {
			adminrelatedstr += ("<div style=\"line-height:20px;font-weight:bold;border-style:solid;border-width:1px;border-color:#000000;padding-left:5px;margin-bottom:4px;");
			if (cat == 1) {
				adminrelatedstr += ("background-color:#bebebe;");
			}
			else {
				adminrelatedstr += ("cursor:pointer;background-color:#dedede;\" onClick=\"relatedProduct_AdminShow(0,1);return false;");
			}
			adminrelatedstr += ("\">Coordinate with</div>");
		}
		if (relatedProduct_Check(2)) {
			adminrelatedstr += ("<div style=\"line-height:20px;font-weight:bold;border-style:solid;border-width:1px;border-color:#000000;padding-left:5px;margin-bottom:4px;");
			if (cat == 2) {
				adminrelatedstr += ("background-color:#bebebe;");
			}
			else {
				adminrelatedstr += ("cursor:pointer;background-color:#dedede;\" onClick=\"relatedProduct_AdminShow(0,2);return false;");
			}
			adminrelatedstr += ("\">Decorate with</div>");
		}
		if (relatedProduct_Check(5)) {
			adminrelatedstr += ("<div style=\"line-height:20px;font-weight:bold;border-style:solid;border-width:1px;border-color:#000000;padding-left:5px;margin-bottom:4px;");
			if (cat == 5) {
				adminrelatedstr += ("background-color:#bebebe;");
			}
			else {
				adminrelatedstr += ("cursor:pointer;background-color:#dedede;\" onClick=\"relatedProduct_AdminShow(0,5);return false;");
			}
			adminrelatedstr += ("\">Info &amp; Tutorials</div>");
		}
		adminrelatedstr += ("</td>");

		//DRAW CATEGORIES END


		adminrelatedstr += ("<td align=\"center\" valign=\"top\" width=\"2%\"><div style=\"padding-top:60px;\">");
		if (offset > 0) {
			adminrelatedstr += ("<a href=\"#\" onClick=\"relatedProduct_Previous(" + adminmode + "," + cat + ");return false;\"><img src=\"http://images.dharmatrading.com/images/eng/general/related_previous.gif\" border=\"0\" height=\"34\" width=\"19\" /></a>");
		}
		else {
			adminrelatedstr += ("<img src=\"http://images.dharmatrading.com/images/eng/general/clear.gif\" border=\"0\" height=\"34\" width=\"19\" />");
		}
		adminrelatedstr += ("</div></td>");
			
		var start = offset * 4;
		var end = start + numrelateds;

		for (idz = start; idz < end; idz++) {
			adminrelatedstr += ("<td align=\"center\" valign=\"top\" width=\"" + division + "%\" style=\"border-style:ridge;border-width:2px;border-color:#8A91A3;background-color:#ffffff;padding:4px;\"><div id=\"related_product_" + relateds[catarray[idz]].objid + "\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td bgcolor=\"white\" height=\"150\" width=\"100%\" align=\"center\" valign=\"top\">");
			adminrelatedstr += ("<form name=\"Edit_Related_Weight\" onSubmit=\"return relatedProduct_DoEdit(" + cat + ");\">");
			adminrelatedstr += ("<div style=\"margin:5px;text-align:center;\">Weight:&nbsp;<input type=\"text\" id=\"\" size=\"10\" name=\"weight_edit_" + relateds[catarray[idz]].objid + "\" value=\"" + relateds[catarray[idz]].weight + "\" style=\"font-size:11px;\" /></div>");
			adminrelatedstr += ("</form>");
			adminrelatedstr += ("<a href=\"http://www.dharmatrading.com/html/eng/" + relateds[catarray[idz]].objid + ".shtml");
			if (relateds[catarray[idz]].navigation) {
				adminrelatedstr += ("?lnav=" + relateds[catarray[idz]].navigation);
			}
			adminrelatedstr += ("\"><img name=\"related_thumb_" + relateds[catarray[idz]].objid + "\" src=\"http://images.dharmatrading.com/images/eng/products/110/" + relateds[catarray[idz]].thumbsrc + "\" width=\"" + relateds[catarray[idz]].thumbwidth + "\" height=\"" + relateds[catarray[idz]].thumbheight + "\" border=\"0\" alt=\"" + relateds[catarray[idz]].title + "\"></a><br />");
			adminrelatedstr += ("<div style=\"margin-bottom:6px;\">");
			adminrelatedstr += ("<a href=\"http://www.dharmatrading.com/html/eng/" + relateds[catarray[idz]].objid + ".shtml");
			if (relateds[catarray[idz]].navigation) {
				adminrelatedstr += ("?lnav=" + relateds[catarray[idz]].navigation);
			}
			adminrelatedstr += ("\"><small>" + relateds[catarray[idz]].title + "</small></a></div>");
			
			// Remove Product
			adminrelatedstr += ("<div align=\"center\" style=\"margin-bottom:3px;\"><form name=\"Remove_Related\"><input style=\"vertical-align: middle;\" name=\"objid_remove_" + relateds[catarray[idz]].objid + "\" value=\"Remove\" type=\"button\" onClick=\"return relatedProduct_DoRemove(" + idz + "," + cat + ");\" /></form></div>");
			
			// Edit Product ObjID
			adminrelatedstr += ("<form name=\"Edit_Related\" onSubmit=\"return relatedProduct_DoEdit(" + cat + ");\"><div align=\"center\" style=\"margin-bottom:3px;\"><input type=\"text\" id=\"\" size=\"10\" name=\"objid_edit_" + relateds[catarray[idz]].objid + "\" value=\"" + relateds[catarray[idz]].objid + "\" style=\"font-size:11px;\" /></div>");
			
			// Edit Product Cellstyle
			adminrelatedstr += ("<div><select name=\"cellstyle_edit_" + relateds[catarray[idz]].objid + "\">");
			adminrelatedstr += ("");
			for (i=0;i<celltypes.length;i++) {
				var currcellstyle = ("cell_200_related_" + celltypes[i]);
				adminrelatedstr += ("<option value=\"" + currcellstyle + "\"");
				if (relateds[catarray[idz]].cellstyle == currcellstyle) {
					adminrelatedstr += (" selected=\"selected\"");
				}
				adminrelatedstr += (">" + celltypes[i] + "</option>");
			}
			adminrelatedstr += ("");
			adminrelatedstr += ("</select></div>");

			// Save Edit
			adminrelatedstr += ("<div align=\"center\" style=\"margin-bottom:3px;\"><input src=\"http://images.dharmatrading.com/images/eng/buttons/SaveChanges.gif\" value=\"Save Changes\" type=\"image\" onSubmit=\"return relatedProduct_DoEdit(" + cat + ");\"></div></form>");
			adminrelatedstr += ("</td></tr></table></div></td>");
			adminrelatedstr += ("<!-- end cell -->");
		}
		
		adminrelatedstr += ("<td align=\"center\" valign=\"top\" width=\"2%\"><div style=\"padding-top:60px;\">");
		if (numrelatedsactual > ((offset*4)+4)) {
			adminrelatedstr += ("<a href=\"#\" onClick=\"relatedProduct_Next(" + adminmode + "," + cat + ");return false;\"><img src=\"http://images.dharmatrading.com/images/eng/general/related_next.gif\" border=\"0\" height=\"34\" width=\"19\" /></a>");
		}
		else {
			adminrelatedstr += ("<img src=\"http://images.dharmatrading.com/images/eng/general/clear.gif\" border=\"0\" height=\"34\" width=\"19\" />");
		}
		adminrelatedstr += ("</div></td>");

		adminrelatedstr += ("</tr>");
		
		/* To Add A New Related Product */ 
		
		adminrelatedstr += ("<tr><td colspan=\"" + (relateds.length+3) + "\">");
		adminrelatedstr += ("<form name=\"Add_Related\" onSubmit=\"return relatedProduct_DoAdd();\"><div style=\"text-align: left;\">Enter ObjID# or Stock# To Add A New Related Product:&nbsp;<input type=\"text\" id=\"\" size=\"20\" name=\"objid_add_related\" value=\"\" style=\"font-size: 11px; margin: 12px 0px;\">");
		adminrelatedstr += ("<select name=\"objid_add_related_cellstyle\">");
		for (i=0;i<celltypes.length;i++) {
			var currcellstyle = ("cell_200_related_" + celltypes[i]);
			adminrelatedstr += ("<option value=\"" + currcellstyle + "\">" + celltypes[i] + "</option>");
		}
		adminrelatedstr += ("</select>&nbsp;");

		adminrelatedstr += ("<input style=\"vertical-align: middle;\" name=\"action\" value=\"Add Product\" type=\"button\" onClick=\"return relatedProduct_DoAdd();\" /></div></form></td></tr>");
		
		adminrelatedstr += ("</table></div>");
		
		var checkThisOut = document.getElementById('related');
		checkThisOut.innerHTML = adminrelatedstr;
		
		if (stoggle == 0) {
			relatedProduct_AdminSearchShow();
		}
	}
	
	
	
	function relatedProduct_Build(xmlData) {
		relatedIdx = 0;
		var xmlIdx = 0;
		var xmllinks;
		relateds = new Array();
		
		var currobjid = objid;
		
		if (xmlData) {
			var linkobjidactual = "";
			var linkobjid = "";
			var cellst = "";
			var loc = "";
			var name = "";
			var stnum = "";
			var leftnav = "";
			var thumbxml;
			var thumbobj;
			var thumbsrc = "";
			var thumbwidth = "";
			var thumbheight = "";
			
			xmllinks = xmlData.getElementsByTagName("linkage");
			
			for(xmlIdx=0;xmlIdx<xmllinks.length;xmlIdx++) {
				
				linkobjid = xmllinks[xmlIdx].getAttribute("obj1");
				
				if (linkobjid == currobjid) {
					relcell = xmllinks[xmlIdx].getAttribute("cellstyle");
					
					if (relcell.indexOf("cell_200_related") >= 0) {
						linkobjidactual = xmllinks[xmlIdx].getAttribute("objid");
						linkobjid = xmllinks[xmlIdx].getAttribute("obj2");
						loc = xmllinks[xmlIdx].getAttribute("linkwt_man");
						stnum = xmllinks[xmlIdx].getAttribute("stocknum");
						leftnav = xmllinks[xmlIdx].getAttribute("navigation");
						name = xmllinks[xmlIdx].getElementsByTagName("title")[0].firstChild.nodeValue;
						relimages = xmllinks[xmlIdx].getElementsByTagName("thumbs");
						thumbobj = relimages[0].getElementsByTagName("thumb");
						thumbsrc = thumbobj[0].getAttribute("src");
						thumbwidth = thumbobj[0].getAttribute("width");
						thumbheight = thumbobj[0].getAttribute("height");
						
						relateds[relatedIdx] = new relatedProduct(linkobjidactual,linkobjid,relcell,loc,name,stnum,leftnav,thumbsrc,thumbwidth,thumbheight);
						relatedIdx++;
					}
				}
			}
			
			var begin = (relatedProduct_Check(3)) ? 3 : -1;

			relatedProduct_Show(0,begin);
		}
		else {
			var r_backup = "";
			
			r_backup += ("<div align=\"center\"></div>");

			var checkThisOut = document.getElementById('related');
			checkThisOut.innerHTML = r_backup;
		}
	}
	
	
	
	function relatedProduct_Get() {
		productXmlURL = getXMLDataURL(objid);
		sendAjaxGETXML(productXmlURL,relatedProduct_Build);
	}
	
	relatedProduct_Get();
	
