// Common Script File
var bIE = (navigator.userAgent.toLowerCase().indexOf("msie") > -1) ? true : false;
var bMOZ = (document.implementation && document.implementation.createDocument) ? true : false;


//Month Array
var arrMonth = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

// String Buffer - Function to Handle String Buffer for optimized String Concatenation
function StrBuffer() { 
	this.buffer = new Array(); } 

StrBuffer.prototype.append = function append(str) { 
	this.buffer.push(str);  }; 

StrBuffer.prototype.toString = function toString() { 
	return this.buffer.join(""); };

StrBuffer.prototype.clear = function clear() { 
	this.buffer.length = 0;};
	
function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}	

function encodeXML(str)
{
	return String(str).replace(/\&/g,'&amp;').replace(/\</g,'&lt;').replace(/\>/g,'&gt;').replace(/\'/g,'&apos;').replace(/"/g,'&quot;');
}

function decodeXML(str)
{
	return String(str).replace(/\&amp\;/g,'&').replace(/\&lt\;/g,'<').replace(/\&gt\;/g,'>').replace(/\&apos\;/g,"'").replace(/\&quot\;/g,'"');
}

function encodeSQL(str)
{
	return String(str).replace(/\'/g,"''");
}

function decodeURL(str) 
{
  return unescape(String(str).replace(/\+/g, " ")); 
}

function stripCommas(str)
{
	return String(str).replace(/\,/g,"");
}

function getAbsPosition(obj,strReturnType,strStopID)
{
	// getAbsPosition(obj,"returnAsArray","divTop")

	var pos_left 	= 0;
	var pos_top 	= 0;
	var bLoop 	= true;
	while( obj != null && bLoop) {
		if(strStopID != "" && obj.id==strStopID)
			bLoop = false;
		else {
			pos_top 	+= obj.offsetTop;
			pos_left 	+= obj.offsetLeft;
			obj 		=  obj.offsetParent;
		}
	}
	if ((strReturnType!=undefined) && (strReturnType=="returnAsArray"))
	{
		var aryRet = new Array();
		aryRet.push(pos_left);
		aryRet.push(pos_top);
		return aryRet;
	}
	else
		return (pos_left + "," + pos_top);
}

/* ----------------------------------------------------------------------------------------------- */
/* Initialization Functions 									   */
/* ----------------------------------------------------------------------------------------------- */

function SetContentSize()
{
	iContentAreaHeight = document.getElementById("contentspace").offsetHeight;
	iContentHeight = document.getElementById("content").offsetHeight;
	iFooterHeight = document.getElementById("footer").offsetHeight;
	iSpacerHeight = parseInt(iContentAreaHeight - iContentHeight - iFooterHeight);
	if (iSpacerHeight>0)
		document.getElementById("spacer").style.height = iSpacerHeight;	
	return false;
}

function SetOpenMenus()
{
	// Pre-Creates all Menus
	
	oMenu = new objMenu()
	oMenu.Init();
	
	var xmlDoc = document.getElementById("category");
	if (bIE)
	{
		if (xmlDoc!=undefined && xmlDoc!=null)
		{
			var objDataNode = xmlDoc.XMLDocument.selectSingleNode("/data");

			if (objDataNode!=null)
			{
				var objNode = objDataNode.firstChild;
				while (objNode!=null)
				{
					var strCatID = getNodeValue(objNode.firstChild);
					var strCatNm = getNodeValue(objNode.firstChild.nextSibling);
					document.getElementById("menucachediv").appendChild(oMenu.BuildMenu(strCatID,escape(strCatNm)));

					objNode = objNode.nextSibling;
				}
			}
		}
	}
	else if (bMOZ)
	{
		var parser = new DOMParser();
		var strData = xmlDoc.innerHTML;
		var objDoc = parser.parseFromString(strData, "text/xml");
		var objDataNode = FFSelectSingleNode(objDoc,"/data");

		if (objDataNode!=null && objDataNode!=undefined)
		{

			for (var i=0;i<objDataNode.childNodes.length;i++)
			{
				var objNode = objDataNode.childNodes[i];
				if (objNode.nodeName=="category")
				{
					for (var j=0;j<objNode.childNodes.length;j++)
					{
						var objItemNode = objNode.childNodes[j];
						if (objItemNode.nodeName=="catid")
						{
							var strCatID = objItemNode.textContent;
						}
						
						if (objItemNode.nodeName=="catnm")
						{
							var strCatNm = objItemNode.textContent;
						}						
					}
					document.getElementById("menucachediv").appendChild(oMenu.BuildMenu(strCatID,escape(strCatNm)));
				}

			}
		}
	}	

	return false;
}

/* ----------------------------------------------------------------------------------------------- */
/* Initialize pop-up help							   */
/* ----------------------------------------------------------------------------------------------- */
var oImg;

function InitializeHelp()
{
	oImg = new DivPopupPic();
	oImg.initDiv();

	oPopUp = new DivPopup();
	oPopUp.strFormName = "eform";
	oPopUp.initDiv();
}

/* ----------------------------------------------------------------------------------------------- */
/* MAIN - Handles all posts from main website							   */
/* ----------------------------------------------------------------------------------------------- */

function ValidateEmail(strEmail)
{
	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	var strValid = regex.test(strEmail);
	return strValid;
}

function ValidatePhone(strPhn)
{
	var regex = /^\d{3}\-\d{3}\-\d{4}$/;
	var strValid = regex.test(strPhn);
	return strValid;
}

function PostForSubmitMain(strClass)
{
	switch (strClass)
	{
		case "keyword":
			var strWord = document.eform.keysearch.value;
			if (strWord=="" || strWord=="Search Products")
			{
				alert("Please enter a Keyword");
				return;
			}
			else
			{
				document.eform.action = "keyword-results.asp";
				document.eform.submit();
			}
			break;

		case "maillist":
			var strEml = document.eform.mailinglist.value;
			if (strEml=="" || strEml=="enter your email address...")
			{
				alert('Please Enter Email Address');
			}
			else
			{
				if ( ValidateEmail(strEml)) {
					document.getElementById('mailinglistframe').src="/kkd/includes/mailing-list-post.asp?emladrs=" + encodeURI(strEml);
				}
				else 
					alert("Please Enter a Valid Email Address");
			}
		break;
	}
	return;
}

/* ----------------------------------------------------------------------------------------------- */
/* UTILITY Function replicate IE SelectSingleNode function in FireFox 							   */
/* ----------------------------------------------------------------------------------------------- */

function FFSelectSingleNode (xmlDoc,elementPath)
{
	var xpe = new XPathEvaluator();
	var nsResolver = xpe.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement);
	var results = xpe.evaluate(elementPath,xmlDoc,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE, null);
	return results.singleNodeValue;
}

/* ----------------------------------------------------------------------------------------------- */
/* UTILITY Function replicate IE objXML.xml function in FireFox 				   */
/* ----------------------------------------------------------------------------------------------- */
function serializeXML(xmlDoc)
{
	// FF to replace xmlDoc.xml;
	var oSerializer = new XMLSerializer();
	return oSerializer.serializeToString(xmlDoc);
}


/* ----------------------------------------------------------------------------------------------- */
/* MENU Functions			 							   */
/* ----------------------------------------------------------------------------------------------- */

var iMouseFunc = "";
var iMouseFuncCounter = "0";
var bActiveMenuView = false;
var oMenu;

function mouseCallFunc(strFunc, strCallerId)
{
	strFunc = strFunc.replace(/\)/,",'" + strCallerId + "')")
	iMouseFunc = strFunc;
	iMouseFuncCounter++;
	setTimeout("mouseExecFunc('"+escape(strFunc)+"',"+iMouseFuncCounter+")",500)
}

function mouseExecFunc(strFunc,iCallCounter)
{
	if (iMouseFunc == unescape(strFunc) && iCallCounter==iMouseFuncCounter)
	{
		try {
			eval(unescape(strFunc))
		}
		catch(err) {}
	}
}

function mouseCancelFunc()
{
	iMouseFunc = ""
}

function objMenu()
{
	this.oDataSrc = "";

	this.Init = function () {
		if (bIE)
		{
			this.objShim = document.createElement("iframe");
			this.objShim.src = "";
			this.objShim.id = "menushim";
			this.objShim.style.display= "none";
			this.objShim.style.height = "1px";
			this.objShim.style.position = "absolute";
			this.objShim.zindex = "2";
			document.body.appendChild(this.objShim);
		}

		this.objDiv = document.createElement("div");
		this.objDiv.id = "menudiv";
		this.objDiv.style.backgroundColor="#F8F8F8";
		this.objDiv.style.border = "solid 1px #777777"
		this.objDiv.style.position = "absolute";
		this.objDiv.style.display = "none";
		this.objDiv.style.padding = "0";
		this.objDiv.style.margin = "0";
		this.objDiv.onmouseover = function() {bActiveMenuView=true;this.style.display="";if (bIE) document.getElementById("menushim").style.display="";}
		this.objDiv.onmouseout = function() {bActiveMenuView=false;this.style.display="none";if (bIE) document.getElementById("menushim").style.display="none";}
		//this.objDiv.className = "";
		//this.objDiv.style.backgroundImage = "url(/kkd/images/menu-background.gif)"

		document.body.appendChild(this.objDiv);
		
		// Cache Div
		this.objDivCache = document.createElement("div");
		this.objDivCache.id = "menucachediv";
		this.objDivCache.style.display = "none";
		document.body.appendChild(this.objDivCache);
	}

	this.MenuItem = function(strPrntID, strLabel,strID)
	{
		var tr_obj_menu = document.createElement("tr");
		var td_obj_menu = document.createElement("td");

		td_obj_menu.style.width="14px";
		td_obj_menu.style.height="27px";
		var td_obj_img = document.createElement("img");
		td_obj_img.src = "/kkd/images/tiny-blue-square.gif";
		td_obj_menu.appendChild(td_obj_img);
		tr_obj_menu.appendChild(td_obj_menu);

		var td_obj_menu = document.createElement("td");
		td_obj_menu.innerHTML = strLabel;
		td_obj_menu.className = "menuitem";
		td_obj_menu.onclick = function() {ViewCategory(strPrntID,strID)};
		td_obj_menu.onmouseover = function() {this.style.backgroundColor = "#C4DEE2";}
		td_obj_menu.onmouseout = function() {this.style.backgroundColor = "";}	
		tr_obj_menu.appendChild(td_obj_menu);

		return tr_obj_menu;
	}

	this.BuildMenu = function(strCatID,strCatNm)
	{
		var oCacheTbl = document.getElementById("menutbl_" + strCatID);
		if (oCacheTbl)
		{
			return oCacheTbl;
		}
		else
		{
			var tbl_obj_menu = document.createElement("table");
			tbl_obj_menu.id = "menutbl_" + strCatID;
			tbl_obj_menu.width = "220px";
			//tbl_obj_menu.style.border = "outset 2px #EFEEED";tbl_obj_menu.style.backgroundColor = "#D6D3CE";
			tbl_obj_menu.cellPadding = "3";
			tbl_obj_menu.cellSpacing = "0";
			tbl_obj_menu.style.backgroundImage = "url(/kkd/images/menu-background.gif)"

			var tbody_obj_menu = document.createElement("tbody");

			// Show all products Link
			tbody_obj_menu.appendChild(this.MenuItem(strCatID,"<font style=\";font-size:13;font-weight:bold\" color=\"#6891A1\" class=\"menuitem\">ALL "+unescape(strCatNm)+"</font>",""));

			// Sub-Category
			var xmlDoc = document.getElementById("category");

			if (bIE)
			{
				var objDataNode = xmlDoc.XMLDocument.selectSingleNode("/data/category[@id='" + strCatID +"']");

				if (objDataNode!=null)
				{
					var objNode = objDataNode.firstChild;
					objNode = objNode.nextSibling;
					objNode = objNode.nextSibling;
					objNode = objNode.firstChild;

					while (objNode!=null)
					{
						var objSubCatID = objNode.firstChild;
						var objSubCatNm = objSubCatID.nextSibling;

						var strSubCatID = getNodeValue(objSubCatID);
						var strSubCatNm = getNodeValue(objSubCatNm)

						tbody_obj_menu.appendChild(this.MenuItem(strCatID,strSubCatNm,strSubCatID));

						objNode = objNode.nextSibling;
					}
				}
			}
			else if (bMOZ)
			{
				var parser = new DOMParser();
				var strData = xmlDoc.innerHTML;
				var objDoc = parser.parseFromString(strData, "text/xml");
				var objDataNode = FFSelectSingleNode(objDoc,"/data/category[@id='" + strCatID +"']");

				if (objDataNode!=null && objDataNode!=undefined)
				{

					for (var i=0;i<objDataNode.childNodes.length;i++)
					{
						var objNode = objDataNode.childNodes[i];
						if (objNode.nodeName=="subcategory")
						{
							//alert(serializeXML(objNode));

							for (var j=0;j<objNode.childNodes.length;j++)
							{
								var objItemNode = objNode.childNodes[j];
								if (objItemNode.nodeName=="subcat")
								{
									var strCatID = "", strCatNm = "";
									for (var k=0;k<objItemNode.childNodes.length;k++)
									{
										var objSubItemNode = objItemNode.childNodes[k];
										switch(objSubItemNode.nodeName)
										{
											case "subcatid":
												strSubCatID = objSubItemNode.textContent; break;
											case "subcatnm":
												strSubCatNm = objSubItemNode.textContent; break;
											default: break;
										}
									}
									tbody_obj_menu.appendChild(this.MenuItem(strCatID,strSubCatNm,strSubCatID));
								}
							}

						}

					}
				}
			}

			tbl_obj_menu.appendChild(tbody_obj_menu)
			return tbl_obj_menu;
		}		
	}

	this.showMenu = function(strCatID,strCatNm,strCallerID) {
		//var screenW = document.body.offsetWidth - 10;
		//var screenH = document.body.offsetHeight - 10;
		
		var screenW = document.body.clientWidth;
		var screenH = document.body.clientHeight;

		var oCaller = document.getElementById(strCallerID)
		var aryPos = getAbsPosition(oCaller,"returnAsArray","")

		x = aryPos[0] + oCaller.offsetWidth + 2;
		y = aryPos[1];

		oDiv = document.getElementById("menudiv");
		
		if (oDiv.firstChild)
			document.getElementById("menucachediv").appendChild(oDiv.firstChild);
		oDiv.innerHTML = "";
		
		oDiv.appendChild(this.BuildMenu(strCatID,strCatNm));
		oDiv.style.display="block";

		if(((y-document.body.scrollTop) + oDiv.clientHeight) > screenH) {
			var tempy = y;
			tempy -= oDiv.clientHeight;
			tempy += oCaller.clientHeight;
			
			if (tempy>0)
				y = tempy;
		}

		oDiv.style.top = y;
		oDiv.style.left = x;

		if (bIE)
		{
			oShim = document.getElementById("menushim");
			oShim.style.top = y;
			oShim.style.left = x;

			oShim.style.width = oDiv.offsetWidth;
			oShim.style.height = oDiv.offsetHeight;
			oShim.style.display="block";
		}

		window.status=" ";
		
		setTimeout("oMenu.hideMenu('"+strCatID+"')",1800);
	}
	
	this.hideMenu = function (strCatID)
	{
		var oTbl = document.getElementById('menudiv').firstChild;
		if (oTbl.id=="menutbl_" + strCatID)
		{
			if (!bActiveMenuView)
			{
				document.getElementById('menudiv').style.display='none';
				if (bIE) 
					document.getElementById('menushim').style.display='none';
			}
		}
	}
}

// Menu Function
function SwitchAdminMenu(id)
{
	var strURL = "";
	switch(id) {
		case "dash": 
			strURL = "admin-dashboard.asp"
			break;
		case "prodcat": 
			strURL = "admin-prodcat_list.asp"
			break;
		case "prod": 
			strURL = "admin-product_list.asp?qryfld_active=1"
			break;	
		case "user": 
			strURL = "admin-users_list.asp"
			break;	
		case "content": 
			strURL = "admin-content_list.asp"
			break;
		case "reports": 
			strURL = "admin-reports_list.asp"
			break;	
		case "prodview": 
			strURL = "admin-preview-products.asp"
			break;
		case "codes": 
			strURL = "admin-codes_list.asp"
			break;	
		case "promotions": 
			strURL = "admin-promotions_list.asp"
			break;
		case "sales": 
			strURL = "admin-sales_list.asp"
			break;				
		case "orders": 
			strURL = "admin-orders_list.asp"
			break;				
		case "logout": 
			strURL = "admin-logout.asp"
			break;
		case "emails": 
			strURL = "admin-emails_list.asp"
			break;	
		case "maintain": 
			strURL = "admin-maintenance_list.asp"
			break;
		case "sitemap": 
			strURL = "admin-sitemap.asp"
			break;				
		case "seo": 
			strURL = "admin-seo_list.asp"
			break;
		case "rss": 
			strURL = "admin-rss.asp"
			break;	
		case "rev": 
			strURL = "admin-review.asp"
			break;				
		default:
			break
		
	}
	if (strURL!="")
		location.href = strURL;
	
	return false;
}

/* ----------------------------------------------------------------------------------------------- */
/* DIV POPUP Functions			 							   */
/* ----------------------------------------------------------------------------------------------- */

function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;
	}

	arrayPageScroll = new Array(xScroll,yScroll)
	return arrayPageScroll;
}

function getPageSize(){

	var xScroll, yScroll;

	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
	return arrayPageSize;
}

// --------------------------------------- POP-UP Content ----------------------------------------------------------
// =============================================================================================

function ShowPopUp(strObjID, iWidth, iHeight,strTitle)
{
	// DO NOT call with <a> tags. Use Span instead.
	// Default is to initialize with all pop-ups under "eform" change init call if needed
	
	if (oPopUp != null)
	{
		oPopUp.setWidth(iWidth);
		oPopUp.setHeight(iHeight);
		oPopUp.setContent(strObjID);
		if (strTitle==undefined)
			strTitle = "&nbsp;"
		oPopUp.oPopUpTitle.innerHTML = strTitle;
	
		oPopUp.showDiv();
		return false;
	}
	else return false;
}

function HidePopUp()
{
	if (oPopUp != null)
	{	
		oPopUp.hideDiv();
	}
	return false;
}

function DivPopup()
{
	this.width 	= 400;
	this.height = 400;
	this.strFormName = "";

	this.setWidth = function(x) {
		this.objDiv.style.width = x;
		this.width = x;
	}

	this.setHeight = function(y) {
		this.objDiv.style.height = y;
		this.height=y;
	}

	this.showDiv = function () {
		var aryScroll = getPageScroll();
		var scrollx = aryScroll[0];
		var scrolly = aryScroll[1];

		var aryPage = getPageSize()
		var pagex = aryPage[0];
		var pagey = aryPage[1];
		var winx = aryPage[2];
		var winy = aryPage[3]

		// Calc Position
		var offsetx = (parseInt(winx) - this.width)/2;
		var offsety = (parseInt(winy) - this.height)/2;

		this.objDiv.style.left = offsetx + parseInt(scrollx);
		this.objDiv.style.top = offsety + parseInt(scrolly);
		this.objDiv.style.display = "";
		
		// Create Background-Fade
		this.objBackDiv.style.left = 0;
		this.objBackDiv.style.top = 0;
		this.objBackDiv.style.width = pagex;
		this.objBackDiv.style.height = pagey;
		
		this.objBackDiv.style.display = "";		
		
		if (bIE)
		{		
			this.objShim.style.left = offsetx + parseInt(scrollx);
			this.objShim.style.top = offsety + parseInt(scrolly);
			this.objShim.style.width=this.width;
			this.objShim.style.height=this.height;
			this.objShim.style.display = "";
		}
	}

	this.initDiv = function() {
	
		if (bIE)
		{		
			this.objShim = document.createElement("iframe");
			this.objShim.src = "https://www.kathykuodesigns.com/kkd/includes/blank.htm";
			this.objShim.id = "shim";
			this.objShim.style.display= "none";
			this.objShim.style.position = "absolute";
			this.objShim.zindex = "2";
			document.body.appendChild(this.objShim);
		}	
		this.objDiv = document.createElement("div");
		this.objDiv.setAttribute("id","popdivcontainer");
		//this.objDiv.style.backgroundColor="#F8F8F8";
		this.objDiv.style.backgroundColor="#FFFFFF";
		this.objDiv.style.border = "solid 1px #777777"
		this.objDiv.style.position = "absolute";
		this.objDiv.style.width = 400;
		this.objDiv.style.height = 400;
		this.objDiv.style.display= "none";
		//this.objDiv.onclick = function() { this.style.display="none";document.getElementById("backdiv").style.display="none";if (bIE) document.getElementById("shim").style.display="none";}
		this.objDiv.className = "poptext";
		this.objDiv.style.padding = "6px";
		this.objDiv.style.zIndex = "3";

		if (this.strFormName!="" && document.forms[this.strFormName]) {
			document.forms[this.strFormName].appendChild(this.objDiv);
		}
		else
			document.body.appendChild(this.objDiv);
		
		// Create Back Div
		this.objBackDiv = document.createElement("div");
		this.objBackDiv.style.backgroundColor="#777777";
		this.objBackDiv.style.filter = "alpha(opacity=70)";
		this.objBackDiv.style.opacity = "0.5";
		this.objBackDiv.id = "backdiv";
		this.objBackDiv.style.border = "solid 1px #333333"
		this.objBackDiv.style.position = "absolute";
		this.objBackDiv.style.display= "none";
		this.objBackDiv.style.zIndex = "1";
		
		document.body.appendChild(this.objBackDiv);

		// Create Menu Close Button for use in setContent function
		this.objMenu = document.createElement("table");
		//this.objMenu.style.paddingTop = "10px";
		this.objMenu.cellPadding = "0";
		this.objMenu.cellSpacing = "0";
		this.objMenu.style.width = "100%";
		
		var oTmpTb = document.createElement("tbody");
		var oTmpTr = document.createElement("tr");
		
		this.oPopUpTitle = document.createElement("td");
		this.oPopUpTitle.className = "header2";
		this.oPopUpTitle.style.borderBottom = "solid 1px #BBBBBB";
		oTmpTr.appendChild(this.oPopUpTitle);
		
		var oTmpTd = document.createElement("td");
		oTmpTd.style.borderBottom = "solid 1px #BBBBBB";
		oTmpTd.style.paddingBottom = "3px";
		oTmpTd.style.textAlign = "right";
		var oTmpButton = document.createElement("img");
		oTmpButton.className = "popimg";
		//oTmpButton.onclick = function() {document.getElementById("popdivcontainer").style.display="none";document.getElementById("backdiv").style.display="none";if (bIE) document.getElementById("shim").style.display="none";return false}
		oTmpButton.src = "/kkd/images/close-window.gif"
		oTmpButton.onclick = function(){return HidePopUp();}
		
		oTmpTd.appendChild(oTmpButton);
		oTmpTr.appendChild(oTmpTd);
		oTmpTb.appendChild(oTmpTr);
		this.objMenu.appendChild(oTmpTb);
		
		this.objDiv.appendChild(this.objMenu);	
	}

	this.setContent = function(strContentID) {
			var bAdded = false;
			
			for (var i=1;i<this.objDiv.childNodes.length;i++)
			{					
				if (this.objDiv.childNodes[i].id==strContentID) {
					this.objDiv.childNodes[i].style.display = "";
					bAdded = true;
				}
				else
					this.objDiv.childNodes[i].style.display = "none";					
			}
			
			if (!bAdded)
			{
				//this.objDiv.insertBefore(document.getElementById(strContentID),this.objDiv.firstChild)
				this.objDiv.appendChild(document.getElementById(strContentID),this.objDiv.firstChild)
				document.getElementById(strContentID).style.display = "";
			}
	}
	
	this.hideDiv = function () {
		this.objDiv.style.display = "none";
		this.objBackDiv.style.display = "none";
		if (bIE)
		{		
			this.objShim.style.display = "none";
		}
	}
	
	return false;
}

// --------------------------------------- POP-UP Image ------------------------------------------------------------
// =============================================================================================

function ShowPic(strImgSrc)
{
	if (oImg != null)
	{
		oImg.setImg(strImgSrc)
		ShowPicDiv();
	}
	else return;
}

function ShowPicDiv()
{
	if (oImg.objImg.complete)
		oImg.showDiv();
	else
		setTimeout("ShowPicDiv()",300);
}

function DivPopupPic()
{
	this.width 	= 0;
	this.height 	= 0;
	this.imgSrc	= "";

	this.setWidth = function(x) {
		this.objDiv.style.width = x;
	}

	this.setHeight = function(y) {
		this.objDiv.style.height = y;
	}
		
	this.getImgSize = function() {
		var newImg 	= new Image();
		newImg.src 	= this.imgSrc;
		var iheight 	= newImg.height;
		var iwidth 	= newImg.width;
		
		return iwidth + "|" + iheight;
	}

	this.showDiv = function () {
		var aryScroll = getPageScroll();
		var scrollx = aryScroll[0];
		var scrolly = aryScroll[1];

		var aryPage = getPageSize()
		var pagex = aryPage[0];
		var pagey = aryPage[1];
		var winx = aryPage[2];
		var winy = aryPage[3];
		
		// Get Image Dimensions
		this.width = this.objImg.width;
		this.height= this.objImg.height;
		
		/*var strTmp = this.getImgSize()
		var aryTmp = strTmp.split("|");
		this.width = aryTmp[0];
		this.height = aryTmp[1];
		
		alert(this.height + " - " + this.width);
		*/

		// Calc Position
		var offsetx = (parseInt(winx) - this.width)/2;
		var offsety = (parseInt(winy) - this.height)/2;

		var starty = offsety + parseInt(scrolly);
		if (starty<0)
			starty = 0;
		
		this.objDiv.style.left = offsetx + parseInt(scrollx);
		this.objDiv.style.top = starty;
		this.objDiv.style.display = "";

		// Create Background-Fade
		this.objBackDiv.style.left = 0;
		this.objBackDiv.style.top = 0;
		this.objBackDiv.style.width = pagex;
		this.objBackDiv.style.height = pagey;
		
		this.objBackDiv.style.display = "";

		if (bIE)
		{		
			this.objShim.style.left = offsetx + parseInt(scrollx);
			this.objShim.style.top = offsety + parseInt(scrolly);
			this.objShim.style.display = "";
			this.objShim.style.width=this.width;
			this.objShim.style.height=this.height;
		}		
		
	}

	this.initDiv = function() {
		
		if (bIE)
		{	// Create Shim	
			this.objShim = document.createElement("iframe");
			this.objShim.src = "https://www.kathykuodesigns.com/kkd/includes/blank.htm";
			this.objShim.id = "imgshim";
			this.objShim.style.display= "none";
			this.objShim.style.position = "absolute";
			this.objShim.style.zIndex = "2";
			document.body.appendChild(this.objShim);
		}
		
		// Create Image Div
		this.objDiv = document.createElement("div");
		this.objDiv.setAttribute("id","popimgcontainer");
		this.objDiv.style.backgroundColor="#F8F8F8";
		this.objDiv.style.border = "solid 1px #777777"
		this.objDiv.style.position = "absolute";
		this.objDiv.style.display= "none";
		this.objDiv.onclick = function() { this.style.display="none";document.getElementById("backimgdiv").style.display="none";if (bIE) document.getElementById("imgshim").style.display="none";}
		this.objDiv.className = "popimg";
		this.objDiv.style.padding = "1px";
		this.objDiv.style.zIndex = "3";
		
		document.body.appendChild(this.objDiv);
		
		// Create Back Div
		this.objBackDiv = document.createElement("div");
		this.objBackDiv.style.backgroundColor="#777777";
		this.objBackDiv.style.filter = "alpha(opacity=70)";
		this.objBackDiv.style.opacity = "0.5";
		this.objBackDiv.id = "backimgdiv";
		this.objBackDiv.style.border = "solid 1px #333333"
		this.objBackDiv.style.position = "absolute";
		this.objBackDiv.style.display= "none";
		this.objBackDiv.style.zIndex = "1";
		
		document.body.appendChild(this.objBackDiv);

		//this.objMsg = document.createElement("div");
		//this.objMsg.style.height="25px";
		//this.objMsg.style.backgroundColor="#EEEAE3";
		//this.objMsg.className = "poptext";
		//this.objMsg.style.textAlign = "right";
		//this.objMsg.innerHTML = "<button style=\"margin:0px;padding:0px;height:18px\">X</button>";
		//this.objDiv.appendChild(this.objMsg);
		
		// Image
		//this.objImg = document.createElement("img");
		//this.objImg.id = "popupimg";
		//this.objDiv.appendChild(this.objImg);
		
	}
	
	this.setImg = function(strImgURL) {
		this.imgSrc = strImgURL;
		this.objDiv.innerHTML = "";
		this.objImg = new Image();
		this.objImg.id = "popupimg";
		this.objImg.src = strImgURL;
		this.objDiv.appendChild(this.objImg);
	}

	return false;
}

function FreezePage(strMsg)
{
	//FreezePage("<br>Please Wait. Loading Page")

	var boxwidth = "220"
	var boxheight = "70"
	var aryScroll 	= getPageScroll();
	var scrollx 	= aryScroll[0];
	var scrolly 	= aryScroll[1];

	var aryPage 	= getPageSize()
	var pagex 	= aryPage[0];
	var pagey 	= aryPage[1];
	var winx 	= aryPage[2];
	var winy 	= aryPage[3];
	
	// Calc Position
	var offsetx = (parseInt(winx) - boxwidth)/2;
	var offsety = (parseInt(winy) - boxheight)/2;

	// Create Back Div
	var objBackDiv = document.createElement("div");
	objBackDiv.style.backgroundColor="#777777";
	objBackDiv.style.filter = "alpha(opacity=60)";
	objBackDiv.style.opacity = "0.5";
	objBackDiv.id = "backdiv";
	objBackDiv.style.border = "solid 1px #333333"
	objBackDiv.style.position = "absolute";
	objBackDiv.style.display= "block";
	objBackDiv.style.zIndex = "1";
	objBackDiv.style.left = 0;
	objBackDiv.style.top = 0;
	objBackDiv.style.width = pagex;
	objBackDiv.style.height = pagey;	

	document.body.appendChild(objBackDiv);
	
	// Create Image Div
	var objDiv = document.createElement("div");
	objDiv.style.backgroundColor="#F8F8F8";
	objDiv.style.border = "solid 1px #777777"
	objDiv.style.position = "absolute";
	objDiv.style.display= "";
	objDiv.style.padding = "10px";
	objDiv.style.zIndex = "3";
	objDiv.style.width = boxwidth;
	objDiv.style.height = boxheight;	
	objDiv.style.left = offsetx + parseInt(scrollx);
	objDiv.style.top = offsety + parseInt(scrolly);
	objDiv.style.textAlign = "center"
	objDiv.style.verticalAlign = "middle"
	//objDiv.style.color = "#6891A1"
	objDiv.style.font = "normal 9pt Century Gothic";
	
	var strLogo = "<div width=\"100%\" align=\"center\"><img border=\"0\" src=\"/kkd/images/kk-designs-logo.jpg\"></div>";
	objDiv.innerHTML = strLogo + "<div width=\"100%\" align=\"center\">" + strMsg + "</div>";
	//objDiv.style.backgroundImage = "url(/kkd/images/menu-background.gif)"

	document.body.appendChild(objDiv);	
}


// FORM FUNCTIONS
// -------------------------------------------------------------------------------------

function ValidateFields(aryFields,aryLabels)
{
	var strErr = "";
	var strErrFields = "";
	
	if (aryFields.length!=aryLabels.length)
		alert("ERROR: FIELDS DO NOT MATCH LABELS");
	
	for (var i=0;i<aryFields.length;i++)
	{
		if (!document.eform.elements[aryFields[i]])
			alert("ERROR: FIELD NOT FOUND - " + aryFields[i]);
		else 
		{
			var strTyp = document.eform.elements[aryFields[i]].type.toLowerCase();
			var strVal = document.eform.elements[aryFields[i]].value;
			if (strVal == "")
			{
				strErrFields += "     - " + aryLabels[i] + "\n";
			}
		}
	}
	
	if (strErrFields !="")
		strErr = "The following fields are required:\n" + strErrFields;
	
	return strErr;
}

function PopulateForm(strXmlId)
{
	this.FormatDate = function (strDt)
	{		
		var oDt = new Date(strDt);
		if (strDt == "0000-00-00")
			return "";		
		else if (oDt == undefined || oDt == null || oDt=="Invalid Date" || oDt=="NaN" || (strDt.indexOf("-")==-1 && strDt.indexOf("/")==-1))
			return strDt;
		else
			return oDt.getFullYear() + "-" + (parseInt(oDt.getUTCMonth())+1) + "-" + oDt.getUTCDate();
	}
	
	this.SetData = function (strName,strVal)
	{
		if (document.eform.elements["db_"+strXmlId+"_"+strName])
		{
			var strType = document.eform.elements["db_"+strXmlId+"_"+strName].type.toLowerCase();
			if (strType=="checkbox")
			{
				if (strVal=="1")
					document.eform.elements["db_"+strXmlId+"_"+strName].checked = true;
				else
					document.eform.elements["db_"+strXmlId+"_"+strName].checked = false;
			}
			else
				document.eform.elements["db_"+strXmlId+"_"+strName].value = this.FormatDate(strVal);

			//alert(document.eform.elements["db_"+strXmlId+"_"+strName].name);
		}
		else if (document.getElementById("db_"+strXmlId+"_"+strName))
		{
			document.getElementById("db_"+strXmlId+"_"+strName).innerHTML = decodeXML(strVal);
		}
		
		return false;	
	}
	
	var xmlDoc = document.getElementById(strXmlId);
	if (xmlDoc==undefined || xmlDoc==null)
		return false;
	
	if (bIE)
	{
		var objDataNode = xmlDoc.XMLDocument.selectSingleNode("/data");
		if (objDataNode!=null)
		{
			var objNode = objDataNode.firstChild;
			while (objNode!=null)
			{
				var strName = objNode.nodeName;
				var strVal  = objNode.text;
				
				this.SetData(strName,strVal);

				objNode = objNode.nextSibling;
			}
		}
	}
	else if (bMOZ)
	{
		var parser = new DOMParser();
		var strData = xmlDoc.innerHTML;
		var objDoc = parser.parseFromString(strData, "text/xml"); 
		
		var objDataNode = FFSelectSingleNode(objDoc,"/data");
		
		for (i=0;i<objDataNode.childNodes.length;i++)
		{
			var objNode = objDataNode.childNodes[i];
			if (objNode.nodeValue==null)
			{
				var strName 	= objNode.nodeName;
				var strVal 	= objNode.textContent;
				
				this.SetData(strName,strVal);
			}
		
		}
	}	
	
	
	return;
}

// DATE FUNCTIONS
// -------------------------------------------------------------------------------------

function isValidDate(strDate) {
     // (\d{1,2}) means 4 or 12
     // (\/|-) means either (/ or -), 4-12 or 4/12
     // NOTE: we have to escape / (\/)
     // or else pattern matching will interpret it to mean the end instead of the literal "/"
     // \2 use the 2nd placeholder (\/|-) "here"
     // (\d{2}|\d{4}) means 02 or 2002
     var datePat = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
     var matchArray = strDate.match(datePat);

     if (matchArray == null) return false;

     // matchArray[0] will be the original entire string, for example, 4-12-02 or 4/12/2002
     var month = matchArray[2];     // (\d{1,2}) - 1st parenthesis set - 4
     var day = matchArray[3];         // (\d{1,2}) - 3rd parenthesis set - 12
     var year = matchArray[1];        // (\d{2}|\d{4}) - 5th parenthesis set - 02 or 2002
     
     if (month < 1 || month > 12) return false;
     if (day < 1 || day > 31) return false;
     if ((month == 4 || month == 6 || month==9 || month == 11) && day == 31) return false;
     if (month == 2) {
          var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));

          if (day > 29 || (day == 29 && !isleap)) return false;
     }
     return true;
}

function ValidateDate(objFld)
{
	if (isValidDate(objFld.value))
	{
		return true;
	}
	else
	{
		alert("Invalid Date");
		objFld.value = "";
		objFld.focus();
		return false;
	}
}

function GetCurrentMySQLDate()
{
	var oCurDate = new Date();
	var strMonth = oCurDate.getMonth() + 1;
	var strDate = oCurDate.getDate();
	var strYear = oCurDate.getFullYear();
	
	return strYear + "-" + strMonth + "-" + strDate;
}


// PRODUCT FUNCTIONS
// -------------------------------------------------------------------------------------

function AddtoCart(id,productnm,prodcode,price,imgsrc,surcharge)
{
	var strURL = "shoppingcart.asp?action=add&productid="+id;
	strURL += "&productnm=" + encodeURI(productnm);
	strURL += "&code=" + prodcode;
	strURL += "&price=" + price;
	strURL += "&imgsrc=" + encodeURI(imgsrc);
	strURL += "&quantity=" + document.eform.quantity.value;
	strURL += "&surcharge=" + surcharge;
	// Add Browsing Information
	strURL += ProductBrowseURL();	
	
	location.href = strURL
	//alert(strURL);

	return false;
}

function ProductBrowseURL()
{
	var strBrowseURL = "";
	if (document.eform.qryfld_catid)
		strBrowseURL += "&qryfld_catid=" + document.eform.qryfld_catid.value;
		
	if (document.eform.qryfld_subcatid)
		strBrowseURL += "&qryfld_subcatid=" + document.eform.qryfld_subcatid.value;
		
	/*if (document.eform.qryfld_catnm)
		strBrowseURL += "&qryfld_catnm=" + encodeURI(document.eform.qryfld_catnm.value);
		
	if (document.eform.qryfld_subcatnm)
		strBrowseURL += "&qryfld_subcatnm=" + encodeURI(document.eform.qryfld_subcatnm.value);
	*/	
	if (document.eform.qryfld_newflg)
		strBrowseURL += "&qryfld_newflg=" + document.eform.qryfld_newflg.value;
		
	if (document.eform.qryfld_saleflg)
		strBrowseURL += "&qryfld_saleflg=" + document.eform.qryfld_saleflg.value;
		
	if (document.eform.qryfld_subcatid)
		strBrowseURL += "&qryfld_subcatid=" + document.eform.qryfld_subcatid.value;		

	if (document.eform.pagecount)
		strBrowseURL += "&pagecnt=" + document.eform.pagecnt.value ;			
	
	if (document.eform.page)
		strBrowseURL += "&page=" + document.eform.page.value;

	if (document.eform.viewall)
		strBrowseURL += "&viewall=" + document.eform.viewall.value;
	
	return strBrowseURL;

}

// USERS FUNCTIONS
// -------------------------------------------------------------------------------------
function EditUser(id)
{
	location.href = "admin-users_edit.asp?id=" + id;
	return false;
}

function AddUser()
{
	location.href = "admin-users_edit.asp?id=";
	return false;
}

function SaveUser()
{
	var aryFlds = new Array("db_users_typcd","db_users_frstnm","db_users_lstnm","db_users_emladrs","db_users_pswd");
	var aryLbls = new Array("Type","First Name","Last Name","Email Address / Login","Password");
	
	var strError = ValidateFields(aryFlds,aryLbls);		
	
	if (strError!="") {
		alert(strError)
		return false;
	}
	else
		document.eform.submit();
}

function DeleteUser(id)
{
	location.href = "dbpost.asp?action=delete&class=users&db_users_id="+id;
	return false;
}

// CODE FUNCTIONS
// -------------------------------------------------------------------------------------
function EditCode(catcd,itmcd)
{
	location.href = "admin-codes_edit.asp?catcd=" + catcd;
	return false;
}

function AddCode()
{
	location.href = "admin-codes_edit.asp?catcd=";
	return false;
}

function DeleteCode(catcd,itmcd)
{
	location.href = "dbpost-multi-entry.asp?action=delete&class=code&db_code_catcd=" + catcd;
	return false;
}

// CATEGORY & SUBCATEGORY FUNCTIONS
// -------------------------------------------------------------------------------------

function getNodeValue(obj)
{
	if (bMOZ)
		var strVal= obj.firstChild.nodeValue
	else if (bIE)
		var strVal  = obj.text;

	return strVal;
}

function BuildCatDropDowns(fld)
{
	var objCatOp = document.eform.elements[fld].options;
	var xmlDoc = document.getElementById("category");

	if (bIE)
	{
		var objDataNode = xmlDoc.XMLDocument.selectSingleNode("/data");
		
		if (objDataNode!=null)
		{
			var objNode = objDataNode.firstChild;

			while (objNode!=null)
			{
				var objCatID = objNode.firstChild;
				var objCatNm = objCatID.nextSibling;
				var objSub = objCatNm.nextSibling;

				var strCatID = getNodeValue(objCatID);
				var strCatNm = getNodeValue(objCatNm)

				objCatOp[objCatOp.length] = new Option(strCatNm,strCatID);

				objNode = objNode.nextSibling;
			}
		}		
	}
	else if (bMOZ)
	{
		var parser = new DOMParser();
		var strData = xmlDoc.innerHTML;
		var objDoc = parser.parseFromString(strData, "text/xml"); 
		
		var objDataNode = FFSelectSingleNode(objDoc,"/data");
		
		for (i=0;i<objDataNode.childNodes.length;i++)
		{
			var objNode = objDataNode.childNodes[i];
			if (objNode.nodeValue==null)
			{
				var strCatID = "", strCatNm = "";
				for (j=0;j<objNode.childNodes.length;j++)
				{
					var objItemNode = objNode.childNodes[j];
					
					if (objItemNode.nodeValue==null)
					{
						switch (objItemNode.nodeName)
						{
							case "catid":
								strCatID = objItemNode.textContent; break;
							case "catnm":
								strCatNm = objItemNode.textContent; break;
							default: break;
						}
						//alert(serializeXML(objNode.childNodes[j]))	
					}
				}
				objCatOp[objCatOp.length] = new Option(strCatNm,strCatID);
			}
		
		}
	}
	
	return false;
}

function BuildSubDropdowns(id,fld)
{
	var objCatOp = document.eform.elements[fld].options;
	objCatOp.length = 1;
	var xmlDoc = document.getElementById("category");
	
	if (bIE)
	{
		var objDataNode = xmlDoc.XMLDocument.selectSingleNode("/data/category[@id='" + id +"']");
		
		if (objDataNode!=null)
		{
			var objNode = objDataNode.firstChild;
			objNode = objNode.nextSibling;
			objNode = objNode.nextSibling;
			objNode = objNode.firstChild;

			while (objNode!=null)
			{
				var objSubCatID = objNode.firstChild;
				var objSubCatNm = objSubCatID.nextSibling;

				var strSubCatID = getNodeValue(objSubCatID);
				var strSubCatNm = getNodeValue(objSubCatNm)

				objCatOp[objCatOp.length] = new Option(strSubCatNm,strSubCatID);

				objNode = objNode.nextSibling;
			}
		}		
	}
	else if (bMOZ)
	{
		var parser = new DOMParser();
		var strData = xmlDoc.innerHTML;
		var objDoc = parser.parseFromString(strData, "text/xml"); 
		var objDataNode = FFSelectSingleNode(objDoc,"/data/category[@id='" + id +"']");
		
		if (objDataNode!=null && objDataNode!=undefined)
		{
		
			for (var i=0;i<objDataNode.childNodes.length;i++)
			{
				var objNode = objDataNode.childNodes[i];
				if (objNode.nodeName=="subcategory")
				{
					//alert(serializeXML(objNode));

					for (var j=0;j<objNode.childNodes.length;j++)
					{
						var objItemNode = objNode.childNodes[j];
						if (objItemNode.nodeName=="subcat")
						{
							var strCatID = "", strCatNm = "";
							for (var k=0;k<objItemNode.childNodes.length;k++)
							{
								var objSubItemNode = objItemNode.childNodes[k];
								switch(objSubItemNode.nodeName)
								{
									case "subcatid":
										strCatID = objSubItemNode.textContent; break;
									case "subcatnm":
										strCatNm = objSubItemNode.textContent; break;
									default: break;
								}
							}
							objCatOp[objCatOp.length] = new Option(strCatNm,strCatID);
							//alert(serializeXML(objItemNode))	
						}
					}

				}

			}
		}
	}

	return false;
}


// CHECKOUT ADDRESS FUNCTIONS
// -------------------------------------------------------------------------------------

function BuildSavedAddressList()
{
	var objCatOp1 = document.eform.billing_usesavedaddress.options;
	var objCatOp2 = document.eform.shipping_usesavedaddress.options;
	
	var xmlDoc = document.getElementById("addresslist");
	
	if (xmlDoc==undefined || xmlDoc==null)
		return false;	

	if (bIE)
	{
		var objDataNode = xmlDoc.XMLDocument.selectSingleNode("/data");
		
		if (objDataNode!=null)
		{
			var objNode = objDataNode.firstChild;

			while (objNode!=null)
			{
				for (j=0;j<objNode.childNodes.length;j++)
				{				
					var objNodeL1 = objNode.childNodes[j];
					var strNodeName = objNodeL1.nodeName+"";
					
					switch (strNodeName)
					{
						case "id":
							id = objNodeL1.text; break;
						case "frstnm":
							frstnm = objNodeL1.text; break;
						case "lstnm":
							lstnm = objNodeL1.text; break;
						case "adrs1":
							adrs1 = objNodeL1.text; break;
						case "adrs2":
							adrs2 = objNodeL1.text; break;
						case "cty":
							cty = objNodeL1.text; break;
						case "st":
							st = objNodeL1.text; break;
						case "zpcd":
							zpcd = objNodeL1.text; break;
						case "phnnum":
							phnnum = objNodeL1.text; break;

						default: break;
					}				
				}

				var strOpt = frstnm + " " + lstnm + " | " + adrs1 + " " + adrs2 + " " + cty + " " + st + " " + zpcd + " | " + phnnum;
				strOpt = unescape(strOpt);
				if (strOpt.length>120)
					strOpt = strOpt.substring(0,120) + "..."
				objCatOp1[objCatOp1.length] = new Option(strOpt,id);
				objCatOp2[objCatOp2.length] = new Option(strOpt,id);

				objNode = objNode.nextSibling;
			}
		}		
	}
	else if (bMOZ)
	{
		var parser = new DOMParser();
		var strData = xmlDoc.innerHTML;
		var objDoc = parser.parseFromString(strData, "text/xml"); 
		
		var objDataNode = FFSelectSingleNode(objDoc,"/data");
		
		for (i=0;i<objDataNode.childNodes.length;i++)
		{
			var objNodeL1 = objDataNode.childNodes[i];
			if (objNodeL1.nodeValue==null)
			{
				for (j=0;j<objNodeL1.childNodes.length;j++)
				{
					var objNodeL2 = objNodeL1.childNodes[j];
					if (objNodeL2.nodeValue==null)
					{
						switch (objNodeL2.nodeName)
						{
							case "id":
								id = objNodeL2.textContent; break;
							case "frstnm":
								frstnm = objNodeL2.textContent; break;
							case "lstnm":
								lstnm = objNodeL2.textContent; break;
							case "adrs1":
								adrs1 = objNodeL2.textContent; break;
							case "adrs2":
								adrs2 = objNodeL2.textContent; break;
							case "cty":
								cty = objNodeL2.textContent; break;
							case "st":
								st = objNodeL2.textContent; break;
							case "zpcd":
								zpcd = objNodeL2.textContent; break;
							case "phnnum":
								phnnum = objNodeL2.textContent; break;
								
							default: break;
						}	
					}
				}
				
				var strOpt = frstnm + " " + lstnm + " | " + adrs1 + " " + adrs2 + " " + cty + " " + st + " " + zpcd + " | " + phnnum;
				if (strOpt.length>120)
					strOpt = strOpt.substring(0,120) + "..."
				objCatOp1[objCatOp1.length] = new Option(strOpt,id);
				objCatOp2[objCatOp2.length] = new Option(strOpt,id);
			}
		
		}
	}
	
	return false;
}

function SetSavedAddress(fld,prefix)
{
	var aryFlds = new Array("id","frstnm","mdlnm","lstnm","adrs1","adrs2","st","cty","zpcd","phnnum");
	var objFld = document.eform.elements[fld]
	var strID = objFld.value;
	
	// Reset
	objFld.options.selectedIndex=0;
	
	if (strID=="")
	{
		for (var i=0;i<aryFlds.length;i++)
		{
			if (document.eform.elements["db_orders_" + prefix + aryFlds[i]])
				document.eform.elements["db_orders_" + prefix + aryFlds[i]].value="";
		}
	}
		
	var xmlDoc = document.getElementById("addresslist");

	if (bIE)
	{
		var objDataNode = xmlDoc.XMLDocument.selectSingleNode("/data/addressitem[@id='" + strID +"']");
		
		if (objDataNode!=null)
		{
			var aryData = new Array();
			var objNode = objDataNode.firstChild;
			while (objNode!=null)
			{
				switch (objNode.nodeName)
				{
					case "id":
						aryData["id"] = objNode.text; break;
					case "frstnm":
						aryData["frstnm"] = objNode.text; break;
					case "lstnm":
						aryData["lstnm"] = objNode.text; break;
					case "adrs1":
						aryData["adrs1"] = objNode.text; break;
					case "adrs2":
						aryData["adrs2"] = objNode.text; break;
					case "cty":
						aryData["cty"] = objNode.text; break;
					case "st":
						aryData["st"] = objNode.text; break;
					case "zpcd":
						aryData["zpcd"] = objNode.text; break;
					case "phnnum":
						aryData["phnnum"] = objNode.text; break;

					default: break;
				}	

				objNode = objNode.nextSibling;
			}
			
			for (var k=0;k<aryFlds.length;k++)
			{
				if (document.eform.elements["db_orders_"+prefix+aryFlds[k]]) {
					document.eform.elements["db_orders_"+prefix+aryFlds[k]].value = aryData[aryFlds[k]];
				}
			}			
		}		
	}
	else if (bMOZ)
	{
		var parser = new DOMParser();
		var strData = xmlDoc.innerHTML;
		var objDoc = parser.parseFromString(strData, "text/xml"); 
		
		var objDataNode = FFSelectSingleNode(objDoc,"/data/addressitem[@id='" + strID +"']");
		
		//alert(serializeXML(objDataNode))
		var aryData = new Array();
		
		for (i=0;i<objDataNode.childNodes.length;i++)
		{
			var objNodeL1 = objDataNode.childNodes[i];
			if (objNodeL1.nodeValue==null)
			{
				switch (objNodeL1.nodeName)
				{
					case "id":
						aryData["id"] = objNodeL1.textContent; break;
					case "frstnm":
						aryData["frstnm"] = objNodeL1.textContent; break;
					case "lstnm":
						aryData["lstnm"] = objNodeL1.textContent; break;
					case "adrs1":
						aryData["adrs1"] = objNodeL1.textContent; break;
					case "adrs2":
						aryData["adrs2"] = objNodeL1.textContent; break;
					case "cty":
						aryData["cty"] = objNodeL1.textContent; break;
					case "st":
						aryData["st"] = objNodeL1.textContent; break;
					case "zpcd":
						aryData["zpcd"] = objNodeL1.textContent; break;
					case "phnnum":
						aryData["phnnum"] = objNodeL1.textContent; break;

					default: break;
				}	
			}
		}
		for (var k=0;k<aryFlds.length;k++)
		{
			if (document.eform.elements["db_orders_"+prefix+aryFlds[k]]) {
				document.eform.elements["db_orders_"+prefix+aryFlds[k]].value = aryData[aryFlds[k]];
			}
		}		
		
	}
	
	return false;
}



/* COOKIE FUNCTIONS */
// -------------------------------------------------------------------------------------
function setCookie(szName, szValue, szDays, szPath, szDomain, bSecure)
{
	if (szDays) {
		var date = new Date();
		date.setTime(date.getTime()+(szDays*24*60*60*1000));
		var szExpires = date.toGMTString();
	}
	else
		szExpires = "";
	
	var szCookieText = 	   escape(szName) + '=' + escape(szValue);
	szCookieText +=	 	   (szExpires ? '; EXPIRES=' + szExpires : '');	
	szCookieText += 	   (szPath ? '; PATH=' + szPath : '');
	szCookieText += 	   (szDomain ? '; DOMAIN=' + szDomain : '');
	szCookieText += 	   (bSecure ? '; SECURE' : '');
	
	document.cookie = szCookieText;
	
	return false;
}

function getCookie(szName)
{
 	var szValue =	  null;
	if(document.cookie)	   //only if exists
	{
       	var arr = 		  document.cookie.split((escape(szName) + '=')); 
       	if(2 <= arr.length)
       	{
           	var arr2 = 	   arr[1].split(';');
       		szValue  = 	   unescape(arr2[0]);
       	}
	}
	return szValue
}

/* Form ID Generator */
// -------------------------------------------------------------------------------------
function getFormID(strFormType)
{
	var oDate = new Date();
	var strDate = strFormType + oDate.getTime();
	return strDate;
}

/* BLOG FUNCTIONS */
// -------------------------------------------------------------------------------------

	function EditEntry(strID)
	{
		location.href = "/kkd/blog-entry.asp?id=" + strID;
		return false;
	}
	function DeleteEntry()
	{
		document.eform.action.value="delete";
		document.eform.submit();
	}
	function NewEntry()
	{
		location.href = "/kkd/blog-entry.asp";
		return false;
	}
	function SaveEntry()
	{
		if (document.eform.db_blogitem_titletxt.value=="") {
			alert("Please enter a title for your blog entry");
		}
		else {
			document.eform.submit();
		}
		return false;
	}
	function ImageManager()
	{
		location.href = "/kkd/image-list.asp";
		return false;
	}
	function ReturnBlog()
	{
		var strPrimaryFlg = document.eform.primaryflg.value;
		location.href = "/kkd/blog.asp?primaryflg="+strPrimaryFlg;
		return false;
	}
	function ImageManager()
	{
		location.href = "/kkd/image-list.asp?action=list";
		return false;
	}	
	function EditSettings()
	{
		document.getElementById("blogsettings").style.display="block";
		return;
	}
	function CloseSettings()
	{
		document.getElementById("blogsettings").style.display="none";
		return false;	
	}
	function ViewBlogItem(id)
	{
		var strPrimaryFlg = document.eform.primaryflg.value;
		var strFormID = getFormID("blogentry");
		
		var strURL = "/kkd/blog-item.asp?id="+id;
		strURL += "&primaryflg=" + strPrimaryFlg;
		strURL += "&formid=" + strFormID;
		location.href = strURL;
		return false;	
	}
	function SaveSettings()
	{
		if (document.eform.db_blog_titletxt.value=="")
			alert("Enter in a Blog Title");
		else if (document.eform.db_blog_descrtxt.value=="")
			alert("Enter in a Blog Description");
		else
		{
			document.eform.postaction.value="save";
			document.eform.submit();
		}
	}

