/* ********************************************************************************** */
/* $Revision: 114338 $
 * $Id: cmtaggingservices.js.txt 114338 2009-04-07 14:51:08Z croberts $
 *
 * Author: Coremetrics/PSD 
 * Coremetrics  v2.0, 20090407
 * COPYRIGHT 1999-2008 COREMETRICS, INC. 
 * ALL RIGHTS RESERVED. U.S.PATENT PENDING
 * Disclaimer: Coremetrics is not responsible for hosting or maintenance or this file
 *
 */
/* ********************************************************************************** */
//Production data warehouse flag
cmSetProduction();
/*===========================GLOBAL VARIABLES ===============================*/
// options for debug mode when sending tag:
// 1: only alert
// 2: only send tag
// 3: alert & send tag
var G_PS_DEBUG_MODE = 2;
var G_PS_ARR_DOMAIN = ["vitaminshoppe.com"];//value must be one array of domains or null
var G_PS_URL_PATH = "" + document.location.href.toLowerCase();
var G_PS_PATHNAME = document.location.pathname.toLowerCase();
var G_PS_QUERYSTRING = document.location.search.toLowerCase();
var G_PS_URL_REFERRER = document.referrer.toLowerCase();
var G_PS_COOKIE_LIFETIME = 432000; // 5*24*60*60 = 5 days
var G_PS_COOKIE_CATID = "PS_CATID";
var G_PS_COOKIE_PROD_CATID = "PS_PROD_CATID";
var G_PS_COOKIE_PROD_NAME = "PS_PROD_NAME";
var G_PS_COOKIE_PROFILE = "PS_PROFILE";
var G_PS_COOKIE_PROFILE_TEMP = "PS_PROFILE_TEMP";
var G_PS_COOKIE_FLAG = "PS_FLAG";		// used as a "session" variable to handle events between pages
var G_PS_COOKIE_CATID_MENU = "PS_CATID_MENU";
// current category ID while browsing/searching/refining, etc
var G_PS_CUR_CATID = null;

/*=========================== BEGIN NAVIGATION ===============================*/
if (psIsSearchView()){
	psPostSearchView();
}
else if (psIsProductView()){
	psPostProductView();
}
else if (psIsCartView()){
	psPostCartView();
}
else if (psIsOrderView()){
	psPostOrderView();
}
else if (psIsPageView()){
	psPostPageView();
}
else{	
	psCreatePageviewTag(G_PS_PATHNAME, "ADD URL"); // Other pages go to "ADD URL" category
}
psHijackMenuOnClick();
psHijackLinkProViewInContPage();
psPostRegistration();	
function psIsSearchView(){	
	var bFlag = false;
	if (G_PS_PATHNAME.indexOf("search/en/query.jsp")>=0 || G_PS_PATHNAME.indexOf("search/en/browse.jsp")>0)
		bFlag = true;
	return bFlag;
}
function psIsProductView(){
	var bFlag = false;
	if (G_PS_PATHNAME.indexOf("store/en/browse/sku_detail.jsp")>=0)
		bFlag=true;	
	return bFlag;
}
function psIsCartView(){
	var bFlag = false;
	if (G_PS_PATHNAME.indexOf("store/en/browse/shopping_cart.jsp")>=0 || G_PS_PATHNAME.indexOf("store/en/shop/shopping_cart.jsp")>=0)
		bFlag=true;
	return bFlag;	
}
function psIsPageView(){
	var bFlag = false;	
	if (G_PS_PATHNAME.indexOf("store/en/index.jsp")>=0 || G_PS_PATHNAME.indexOf("store/en/centers/vitaminsherbs/")>=0 || 
		G_PS_PATHNAME.indexOf("store/en/centers/weight_mgmt/")>=0 || G_PS_PATHNAME.indexOf("store/en/centers/sports/")>=0 ||							   
		G_PS_PATHNAME.indexOf("store/en/centers/personalcare/")>=0 || G_PS_PATHNAME.indexOf("content/en/health/index.jsp")>=0 || 
		G_PS_PATHNAME.indexOf("content/en/vitaminshoppe/index.jsp")>=0 || G_PS_URL_PATH.indexOf("community.vitaminshoppe.com")>=0 ||
		G_PS_PATHNAME.indexOf("store/en/profile/")>=0 || G_PS_PATHNAME.indexOf("content/en/support/")>=0 || 
		G_PS_PATHNAME.indexOf("content/en/sitemap/")>=0 || G_PS_PATHNAME.indexOf("content/en/stores/")>=0 || 
		G_PS_PATHNAME.indexOf("store/en/support/")>=0 || G_PS_PATHNAME.indexOf("store/en/browse/")>=0 ||
		G_PS_PATHNAME.indexOf("content/en/careers/")>=0 || G_PS_PATHNAME.indexOf("store/en/specials/")>=0 ||
		G_PS_PATHNAME.indexOf("content/en/healthguide/")>=0 || G_PS_PATHNAME.indexOf("content/sp/healthguide/")>=0 || 
		G_PS_PATHNAME.indexOf("store/en/shop/")>=0 || G_PS_PATHNAME.indexOf("store/en/centers/calculators/")>=0 ||
		G_PS_PATHNAME.indexOf("content/en/other/")>=0 || G_PS_PATHNAME.indexOf("content/en/dave_foreman/")>=0 ||
		G_PS_PATHNAME.indexOf("store/en/quick_order/")>=0 || G_PS_PATHNAME.indexOf("store/en/popups/")>=0 ||
		G_PS_PATHNAME.indexOf("content/en/bonus/featured/")>=0 || G_PS_PATHNAME.indexOf("store/en/welcome/")>=0){		
		bFlag = true;
	}
	return bFlag;	
}
function psIsOrderView(){
	var bFlag = false;
	if (G_PS_PATHNAME.indexOf("store/en/shop/order_confirm.jsp")>=0)
		bFlag = true;
	return bFlag;
}
/*============================ END NAVIGATION ================================*/
/*===================== BEGIN TAGGING BUSSINESS LOGIC ========================*/
function psPostSearchView(){	
	G_PS_CUR_CATID = "SEARCH";
	var pageId = null;
	var sTerm = psGetSearchTerm();
	var sResult = psGetSearchResult();	
	if (sResult=="0")
		pageId="SEARCH UNSUCCESSFUL";
	else{
		if (G_PS_PATHNAME.indexOf("search/en/query.jsp")>=0){
			var temp = document.getElementsByName("jumpPage");		
		}
		else{
			var temp = document.getElementsByName("c");		
		}
		if (psCheckArrayExist(temp)==true)
			var pageno =temp[0].value;
		else
			pageno = "1";
		pageId="SEARCH SUCCESSFUL PAGE ["+pageno+"]";
	}	
	if (pageId != null){
		psCreatePageviewTag(pageId, G_PS_CUR_CATID, psHtmlDecode(sTerm),sResult);
		psSetCookie(G_PS_COOKIE_CATID,G_PS_CUR_CATID);
	}
	psHijackAddToCartForSearch();
}
function psGetSearchTerm(){	
	var term = "";
	var tagH1 = document.getElementsByTagName("H1");
	if (psCheckArrayExist(tagH1)==true){
		var arr1 = psGetInnerText(tagH1[0]).split("&gt;");
		var temp = psTrim(psCleanText(arr1[arr1.length-1]));
		if (temp=="")
			temp = psTrim(psCleanText(arr1[arr1.length-2]));		
	}
	if (temp==""){
		var temp1 = psGetElementsByClassName(document,"SPAN","bodyheaderelement")		
		if (psCheckArrayExist(temp1)==true){
			var pStr  = psGetInnerText(temp1[0]);
			temp = psCleanText(pStr.split("|")[0]);
		}
	}	
	term = psTrim(temp);
	return term;
}
function psGetSearchResult(){
	var result = "0";		
	var temp = psGetElementsByClassName(document,"SPAN","bodyheaderelement")	
	if (psCheckArrayExist(temp)==true){
		if (G_PS_PATHNAME.indexOf("search/en/query.jsp")>=0){
			var pStr  = psGetInnerText(temp[1]);
			result = psCleanNumber(pStr); //pStr.split("|")[1];
		}
		else{			
			var pStr  = psGetInnerText(temp[0]);
			result =  pStr.split("|")[1];
		}		
	}		
	return result;
}
function psPostProductView(){
	
	var prd = new psProduct();
	if (prd.getProduct()) // Get product info successfully?
		psCreateProductviewTag(prd.id, prd.name, prd.catId);	
	window.setTimeout("psHijackAddToCart_CrossSell()", 3000);	
	psHijeckCategoryforProduct();
	psHiajckAddToCart();
}
function psPostCartView(){	
	G_PS_CUR_CATID = "ORDERING";
	psCreatePageviewTag("shopping_cart", G_PS_CUR_CATID, null);	
	var cartTbl = psGetElementsByClassName(document,"table","bodytext");    
	if (psCheckArrayExist(cartTbl) == false)
		return;
	var rows = cartTbl[0].rows; 
	var prd = new psProduct();	
	for (var r = 4; r < rows.length; r++){	
		if (rows[r].cells[1]!=null){			
			if (prd.getItem5(rows[r]))
				psCreateShopAction5Tag(prd.id, prd.name, prd.quantity, prd.price, prd.catId);
		}
	}	
	psDisplayShop5s();
	window.setTimeout("psHijackAddToCart_CartView()", 3000);
	psHijackLinkProductViewinShopCart();
}
function psPostOrderView(){	
	G_PS_CUR_CATID = "CHECKOUT";
	psCreatePageviewTag("THANK YOU", G_PS_CUR_CATID, null);	
	var ord = new psOrder();    
	if (ord.getOrder()){		
		var uP = new psProfile();
		if (uP.readProfile()){
			var prd = new psProduct();			
			var cartTbl = psGetElementsByClassName(document,"table","bodytext");
			if (psCheckArrayExist(cartTbl)==true){
				var rows = cartTbl[0].rows; // use rows variable for optimization
				var prd = new psProduct();	
				for (var r = 3; r < rows.length; r++){
					if (rows[r].cells[1]!=null){
						if (prd.getItem9(rows[r]))
							psCreateShopAction9Tag(prd.id, prd.name, prd.quantity, prd.price, uP.cusId, ord.id, ord.subtotal, prd.catId);
					}
				}
			}									
			psDisplayShop9s();
			psCreateOrderTag(ord.id, ord.subtotal, ord.shipping, uP.cusId, uP.city, uP.state, uP.zipcode);
			psCreateRegistrationTag(uP.cusId, uP.email, uP.city, uP.state, uP.zipcode, null, null);			
			psSetCookie(G_PS_COOKIE_FLAG, "", "delete");
		}
	}
	psHijackLinkProductViewOrderConfirm();
}
function psPostPageView(){
	var pPageID=null; var pCatID=null;
	if (G_PS_PATHNAME.indexOf("store/en/index.jsp")>=0){
		pPageID = pCatID= "HOME";
		psSetCookie(G_PS_COOKIE_CATID_MENU,pCatID);
	}
	else if (psGetDomain(G_PS_URL_PATH).indexOf("community.vitaminshoppe.com")>=0){				
		if (G_PS_PATHNAME.indexOf("dir-app")>=0){
			psCreatePageviewTag(G_PS_PATHNAME, "ADD URL");
			return;
		}
		else{
			pCatID = "community";			
			var breadCrumb = document.getElementById("ptcBreadcrumbs");		
			if (psCheckElementExist(breadCrumb)==true){							
				var arrTemp = breadCrumb.innerHTML.split("&gt;")
				pPageID = psTrim(psGetInnerText(arrTemp[arrTemp.length-1]));
			}
			else{
				var breadCrumb = document.getElementById("ptcBreadCrumb");		
				if (psCheckElementExist(breadCrumb)==true){					
					var arrTemp = breadCrumb.innerHTML.split("&gt;")
					pPageID = psTrim(psGetInnerText(arrTemp[arrTemp.length-1]));
				}
				else{
					var breadCrumb = psGetElementsByClassName(document,"DIV","ptcBreadcrumbBar");		
					if (psCheckArrayExist(breadCrumb)==true){									
						var arrTemp = breadCrumb[0].innerHTML.split("&gt;")
						pPageID = psTrim(psGetInnerText(arrTemp[arrTemp.length-1]));
					}
					else{
						var tagTD = psGetElementsByClassName(document,"TD","ptTitleBarText");
						if (psCheckArrayExist(tagTD)==true)
							pPageID = psTrim(psGetInnerText(tagTD[0]));
						else{
							var tagTr = psGetElementsByClassName(document,"TR","ptcHead");
							if (psCheckArrayExist(tagTr)==true)
								pPageID = psTrim(psGetInnerText(tagTr[0]));
						}
					}				
				}						
			}			
		}
	}
	else if (G_PS_PATHNAME.indexOf("store/en/centers/vitaminsherbs/")>=0){
		pCatID = "Vitamin & Herb";
		var intsource = psGetValueFromUrl(G_PS_URL_PATH,"intsource");
		var bonustype = psGetValueFromUrl(G_PS_URL_PATH,"bonustype");
		if (intsource==null && bonustype==null)
			pPageID = "vitaminsherbs";
		else{
			if ((intsource=="header" && bonustype==null) || intsource=="footer")
				pPageID = "vitaminsherbs";
			else{
				var tagfont = document.getElementsByTagName("font");
				if (psCheckArrayExist(tagfont)==true){
					for(var i=0; i < tagfont.length; i++){
						if (tagfont[i].color.toLowerCase()=="#c00000"){
							pPageID = psTrim(psGetInnerText(tagfont[i])).split("&gt;")[1];
							break;
						}
					}
				}
			}			
		}		
	}
	else if (G_PS_PATHNAME.indexOf("store/en/centers/weight_mgmt/")>=0){
		pCatID = "Weight Management";
		pPageID = psGetInfoPageID();
		if (pPageID=="")
			pPageID = pCatID;					
	}
	else if (G_PS_PATHNAME.indexOf("store/en/centers/sports/")>=0){		
		pCatID = "Sports Nutrition";
		pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));								
	}
	else if (G_PS_PATHNAME.indexOf("store/en/centers/personalcare/")>=0){
		pCatID = "Bath & Beauty";
		pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));						
		if (pPageID=="index")
			pPageID = "personalcare";
	}
	else if (G_PS_PATHNAME.indexOf("content/en/health/index.jsp")>=0){
		pPageID = "health"; pCatID = "Articles & More";
	}
	else if (G_PS_PATHNAME.indexOf("content/en/vitaminshoppe/index.jsp")>=0){
		pPageID = "vitaminshoppe"; pCatID = "Vitamin Shoppe Brand";
		psHijackVitaminShoppeBrand();
	}	
	else if (G_PS_PATHNAME.indexOf("store/en/profile/")>=0){
		var pNameFile = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));		
		pCatID =  "My Account";
		var pStr = document.getElementsByTagName("H1");
		if (psCheckArrayExist(pStr)==true){
			var temp = psGetInnerText(pStr[0]).split("&gt;");
			pPageID =psTrim(psHtmlDecode(temp[temp.length-1]));			
		}		
		if (pNameFile == "your_account"){
			pPageID = "Login Page"; pCatID =  "My Account";
			var temp = psGetElementsByClassName(document,"SPAN","bodyheaderpage")		
			if (psCheckArrayExist(temp)==true){
				var pStr  = psGetInnerText(temp[0]);
				if (pStr.toLowerCase()!="my account"){
					psSetCookie(G_PS_COOKIE_FLAG, "", "delete");
				}				
			}			
		}
		else if (pNameFile == "community_login"){
			pCatID =  "community";
			pPageID = pNameFile;
		}
		else if (pNameFile == "logout"){
			psSetCookie(G_PS_COOKIE_PROFILE, "", "delete");
			pPageID = pNameFile;
		}	
		else if (pNameFile == "login_update" || pNameFile == "login_newuser" || pNameFile == "bill_address" || pNameFile == "ship_address" || pNameFile == "bill_update"){																		   
			var pError = psGetElementsByClassName(document,"SPAN","registrationerror"); 
			if (psCheckArrayExist(pError)==false){
				pError = psGetElementsByClassName(document,"DIV","formErrors");
			}
			if (psCheckArrayExist(pError)==true){
				if (psGetInnerText(pError[0]).length > 5){
					psSetCookie(G_PS_COOKIE_FLAG, "", "delete");
					psSetCookie(G_PS_COOKIE_PROFILE_TEMP, "", "delete");	
				}				
			}			
			pPageID = pNameFile;
		}
		else
			pPageID = pNameFile;
		psSubscribeProfilePages();		
	}
	else if (G_PS_PATHNAME.indexOf("store/en/support/")>=0){
		pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));	
		if (pPageID=="requestcatalog" || pPageID=="requestcatalogconfirm")
			pCatID="Catalog Request";
		else
			pCatID=pPageID;
	}
	else if (G_PS_PATHNAME.indexOf("store/en/browse/")>=0){
		pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));	
		if (pPageID=="category" || pPageID=="new" || pPageID=="hot" || pPageID=="scat" || pPageID=="low"){
			if (pPageID=="category"){
				var cat = psGetValueFromUrl(G_PS_URL_PATH,"cat");
				if (cat!=null)
					pCatID = psRemovePlus(cat);
				else
					pCatID = pPageID;
			}
			else if (pPageID=="new")
				pCatID = "New Advances in Health Support";
			else if (pPageID=="hot")
				pCatID = "Web Only Specials Sale";
			else if (pPageID=="scat"){
				var pSc = psTrim(psGetValueFromUrl(G_PS_URL_PATH,"sc"));
				if (pSc!=null)
					pCatID = pSc;
				else				
					pCatID = pPageID;
			}				
			else if (pPageID=="low"){pCatID = "Customers favorites";}			
			else{pCatID = pPageID}
				
			pPageID = psGetInfoPageID();			
			if (pPageID=="")
				pPageID = pCatID;
		}		
		else if (pPageID=="skurestriction"){pCatID = "Shipping Restrictions";}
		else if (pPageID=="brands"){
			pPageID = "Shop by 400 Brands";
			pCatID = psGetCookie(G_PS_COOKIE_CATID_MENU);
			if (pCatID==null)
				pCatID="Home";
		}
		else if (pPageID=="gift_cards"){pCatID="Gift Cards";}
		else if (pPageID=="order_gift_card"){
			pCatID="Gift Cards";
			var frm =document.getElementsByTagName("form");
			if (psCheckArrayExist(frm)==true){
				for(var i=0; i< frm.length;i++){
					if (psCheckArrayExist(frm[i].action)==true){
						if (frm[i].action.toLowerCase().indexOf("order_gift_card.jsp")>=0){							
							frm[i].OldFunc = frm[i].onsubmit; // Back up original pointer
							frm[i].onsubmit = function(){																	
								psSetValueToCookie(G_PS_COOKIE_PROD_CATID,"gc-6003",pCatID);
								psSetValueToCookie(G_PS_COOKIE_PROD_CATID,"gc-6005",pCatID);
								psSetValueToCookie(G_PS_COOKIE_PROD_CATID,"gc-6006",pCatID);
								psSetValueToCookie(G_PS_COOKIE_PROD_CATID,"gc-6007",pCatID);
								psSetValueToCookie(G_PS_COOKIE_PROD_CATID,"gc-6008",pCatID);
								if (this.OldFunc != null)
									return this.OldFunc();
							}
							break;
						}						
					}
				}				
			}
		}		
		else{pCatID=pPageID;}
	}
	else if (G_PS_PATHNAME.indexOf("store/en/specials/")>=0){
		pCatID = "specials";
		pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));	
		if (pPageID=="books"){pCatID="Bookstore";}
		else if (pPageID=="shopper_favorites"){
			pCatID = "Shopper Favorites";
			var tagfont = document.getElementsByTagName("font");
			if (psCheckArrayExist(tagfont)==true){
				for(var i=0; i < tagfont.length; i++){					
					if (tagfont[i].color.toLowerCase()=="#c00000"){
						pPageID = psTrim(psGetInnerText(tagfont[i]));
						break;
					}
				}
			}
		}
		else if (pPageID=="hotnew_products"){
			pCatID = "Hot New Products";
		}
		else if (pPageID=="bonus"){
			pCatID ="Special Products";
			var bonusType = psGetValueFromUrl(G_PS_URL_PATH,"bonustype");
			if (bonusType!=null)
				pPageID = bonusType;
			else
				pPageID = pCatID;
		}
		else if (pPageID=="this_week_only"){
			pCatID ="Weekly Sale";			
		}
	}
	else if (G_PS_PATHNAME.indexOf("content/en/stores/")>=0){
		pCatID ="Store Locator";
		pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));
		if (pPageID=="index")
			pPageID = pCatID;
		else if(pPageID=="stores"){
			var temp = psGetElementsByClassName(document,"SPAN","bodyheaderpage");
			if (psCheckArrayExist(temp)==true)
				pPageID = psTrim(psGetInnerText(temp[0]));
			else
				pPageID =psTrim(psGetValueFromUrl(G_PS_URL_PATH,"lstState"));				
		}
		else if(pPageID=="store_detail"){
			var tagH2 = document.getElementsByTagName("H2");
			if (psCheckArrayExist(tagH2)==true)
				pPageID = psTrim(psGetInnerText(tagH2[0]));
		}
		else
			pPageID = pCatID;
			
	}	
	else if (G_PS_PATHNAME.indexOf("content/en/support/")>=0 || G_PS_PATHNAME.indexOf("content/en/sitemap/")>=0  || G_PS_PATHNAME.indexOf("content/en/careers/")>=0){	
		var pStr = document.getElementsByTagName("H1");
		if (psCheckArrayExist(pStr)==true){
			var temp = psGetInnerText(pStr[0]).split("&gt;")
			pPageID =psTrim(psHtmlDecode(temp[temp.length-1]));
			pCatID = psTrim(psHtmlDecode(temp[temp.length-2]));					
		}
		else{
			pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));	
			var strTemp = G_PS_PATHNAME.substring(0,G_PS_PATHNAME.lastIndexOf("/"));
			pCatID = strTemp.substring(strTemp.lastIndexOf("/")+1,strTemp.length);			
		}		
	}			
	else if (G_PS_PATHNAME.indexOf("content/en/healthguide/")>=0 || G_PS_PATHNAME.indexOf("content/sp/healthguide/")>=0){
		pCatID = "Health Guides";
		if (G_PS_PATHNAME.indexOf("content/en/healthguide/")>=0){
			var pStr = document.getElementsByTagName("H1");
			if (psCheckArrayExist(pStr)==true){
				var temp = psGetInnerText(pStr[0]).split("&gt;")
				pPageID =psTrim(psHtmlDecode(temp[temp.length-1]));
				pCatID = psTrim(psHtmlDecode(temp[temp.length-2]));					
			}
			if(pPageID==""){
				var tagDiv  = document.getElementById("Article-Title");
				if (psCheckElementExist(tagDiv)==true){
					pPageID = psGetInnerText(tagDiv);
				}				
			}			
		}
		else if (G_PS_PATHNAME.indexOf("content/sp/healthguide/")>=0){
			var ptable = document.getElementsByTagName("table");
			var tagA  =document.getElementsByTagName("A");
			if (psCheckArrayExist(tagA)==true){
				for(var i=0; i<tagA.length;i++){
					if (psGetInnerText(tagA[i])=="Portal"){						
						var pParentNote = tagA[i].parentNode;
						if (pParentNote.tagName.toUpperCase()=="B"){
							var temp = psGetInnerText(pParentNote.innerHTML).split("&gt;")
							pPageID =psTrim(psHtmlDecode(temp[temp.length-1]));	
							pCatID = psTrim(psHtmlDecode(temp[temp.length-2]));	
							break;							
						}
					}
				}
			}						
		}
		if (pPageID==null || pPageID=="")	
			pPageID = pCatID;
	}
	else if (G_PS_PATHNAME.indexOf("store/en/centers/calculators/")>=0){
		pCatID="Health Calculators";
		var tagdiv = psGetElementsByClassName(document,"div","bodyheaderelement");
		if (psCheckArrayExist(tagdiv)==true)
			pPageID = psGetInnerText(tagdiv[0]);
		else
			pPageID= pCatID;
	}
	else if (G_PS_PATHNAME.indexOf("content/en/bonus/featured/")>=0){
		pCatID="Featured Product";
		var pStr = document.getElementsByTagName("H1");
		if (psCheckArrayExist(pStr)==true){
			var temp = psGetInnerText(pStr[0]).split("&gt;");
			pPageID =psTrim(psHtmlDecode(temp[temp.length-1]));			
		}
		else{
			var dyk_body =  psGetElementsByClassName(document,"SPAN","dyk_body");
			if (psCheckArrayExist(dyk_body)==true){
				var tagB = dyk_body[0].getElementsByTagName("B");
				if (psCheckArrayExist(tagB)==true)
					pPageID = psGetInnerText(tagB[0]);
			}
			else
				pPageID = pCatID;
		}
	}
	else if (G_PS_PATHNAME.indexOf("content/en/other/")>=0 || G_PS_PATHNAME.indexOf("content/en/dave_foreman/")>=0){
		if (G_PS_PATHNAME.indexOf("content/en/other/")>=0)
			pCatID="other";
		else if (G_PS_PATHNAME.indexOf("content/en/dave_foreman/")>=0)
			pCatID="Dave Foreman"; 
		var pStr = document.getElementsByTagName("H1");
		if (psCheckArrayExist(pStr)==true){
			var temp = psGetInnerText(pStr[0]).split("&gt;");
			pPageID =psTrim(psHtmlDecode(temp[temp.length-1]));			
		}
		else
			pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));
	}
	else if (G_PS_PATHNAME.indexOf("store/en/welcome/")>=0){
		pCatID = "Vitamin Shoppe Brand";
		pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));
	}
	else if (G_PS_PATHNAME.indexOf("store/en/shop/")>=0){
		pCatID = "checkout";
		var temp = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));	
		if (temp=="order_by_catalog"){
			pPageID = temp;
			pCatID = psGetCookie(G_PS_COOKIE_CATID_MENU);
			if (pCatID==null)
				pCatID="Home";
			psHijackAddToCartOrderItemNumber();	
		}
		else if (temp=="checkout"){
			pPageID = "Review Order";
			psHijackLinkProductViewInReviewOrder();
		}
		else if (temp=="payment_info_gc"){pPageID = "Billing and Payment"}
		else if (temp=="order_confirm"){}	
		else if (temp=="set_reorder_reminders"){pCatID = "My Account"; pPageID = "Set Reorder Reminders";}
		else if (temp =="reorder_reminders_confirm"){pCatID = "My Account"; pPageID = "Confirm";}	
		else
			pPageID = temp;
	}
	else if (G_PS_PATHNAME.indexOf("store/en/quick_order/")>=0){
		var pStr = document.getElementsByTagName("H1");
		pCatID ="My Account";
		if (psCheckArrayExist(pStr)==true){
			var temp = psGetInnerText(pStr[0]).split("&gt;");
			pPageID =psTrim(psHtmlDecode(temp[temp.length-1]));				
		}
		else
			pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));
		psSubscribeProfilePages();	
	}
	else if (G_PS_PATHNAME.indexOf("store/en/popups/")>=0){
		pPageID = G_PS_PATHNAME.substring(G_PS_PATHNAME.lastIndexOf("/")+1,G_PS_PATHNAME.indexOf("."));
		if (pPageID=="eo_thankyou"){pPageID = "Thank You"; pCatID ="Email Offers";}
	}
	if (pPageID==null){pPageID="UN-KNOWN";}
	if (pCatID==null){pCatID="UN-KNOWN";}
	psSetCookie(G_PS_COOKIE_CATID,pCatID);	
	psCreatePageviewTag(pPageID,pCatID,null,null);	
	window.setTimeout("psHijackAddToCart_CrossSell()", 3000);
	window.setTimeout("psHijackAddToCart_CenterPage()", 3000);
}
/*====================== END TAGGING BUSSINESS LOGIC =========================*/
function psHijackLinkProViewInContPage(){
	var tagImg = document.getElementsByTagName("IMG");
	if (psCheckArrayExist(tagImg)==true){
		for(var i=0;i<tagImg.length;i++){
			if (psCheckArrayExist(tagImg[i].src)==true){
				if (tagImg[i].src.toLowerCase().indexOf("shop/cart_column_header2.gif")>=0){
					var pParentNode =  tagImg[i].parentNode.parentNode.parentNode.parentNode;
					if (pParentNode.tagName.toUpperCase()=="TABLE"){
						var tagA = pParentNode.getElementsByTagName("A");
						if (psCheckArrayExist(tagA)==true){
							for(var j=0;j<tagA.length;j++){
								if (psCheckArrayExist(tagA[j].href)==true){
									if (tagA[j].href.toLowerCase().indexOf("browse/sku_detail.jsp")>=0){
										tagA[j].OldFunc = tagA[j].onclick; // Back up original pointer										
										tagA[j].onclick = function(){						
											var prodID = psTrim(psGetValueFromUrl(this.href,"id"));						
											var pCatID = psGetValueFromCookie(G_PS_COOKIE_PROD_CATID,prodID.toLowerCase());
											psSetCookie(G_PS_COOKIE_CATID,pCatID);											
											if (this.OldFunc != null)
												return this.OldFunc();
										}
									}
								}
							}							
						}						
					}
				}
			}
		}
	}
}
function psHijackLinkProductViewInReviewOrder(){
	var aTag = document.getElementsByTagName("A");			
	if (psCheckArrayExist(aTag)==true){
		for(var i=0; i < aTag.length;i++){
			if (psCheckArrayExist(aTag[i].href)==true){	
				if (aTag[i].href.toLowerCase().indexOf("store/en/browse/sku_detail.jsp")>=0){
					aTag[i].OldFunc = aTag[i].onclick; // Back up original pointer										
					aTag[i].onclick = function(){						
						var prodID = psTrim(psGetValueFromUrl(this.href,"id"));						
						var pCatID = psGetValueFromCookie(G_PS_COOKIE_PROD_CATID,prodID.toLowerCase());
						psSetCookie(G_PS_COOKIE_CATID,pCatID);						
						if (this.OldFunc != null)
							return this.OldFunc();
					}	
				}								
			}			    	
		}		
	}
}
function psHijackLinkProductViewOrderConfirm(){
	var cartTbl = psGetElementsByClassName(document,"table","bodytext");    
	if (psCheckArrayExist(cartTbl) == false)
		return;

	var rows = cartTbl[0].rows; // use rows variable for optimization
	var prd = new psProduct();	
	for (var r = 3; r < rows.length; r++){	
		if (rows[r].cells[1]!=null){			
			var aTag = rows[r].cells[2].getElementsByTagName("A");			
			if (psCheckArrayExist(aTag)==true){
				if (psCheckArrayExist(aTag[0].href)==true){
					aTag[0].OldFunc = aTag[0].onclick; // Back up original pointer										
					aTag[0].onclick = function(){						
						var prodID = psTrim(psGetValueFromUrl(this.href,"id"));						
						var pCatID = psGetValueFromCookie(G_PS_COOKIE_PROD_CATID,prodID.toLowerCase());
						psSetCookie(G_PS_COOKIE_CATID,pCatID);						
						if (this.OldFunc != null)
							return this.OldFunc();
					}					
				}			    
			}						
		}
	}
}
function psHijackLinkProductViewinShopCart(){
	var cartTbl = psGetElementsByClassName(document,"table","bodytext");    
	if (psCheckArrayExist(cartTbl) == false)
		return;

	var rows = cartTbl[0].rows; // use rows variable for optimization
	var prd = new psProduct();	
	for (var r = 4; r < rows.length; r++){	
		if (rows[r].cells[1]!=null){			
			var aTag = rows[r].cells[2].getElementsByTagName("A");			
			if (psCheckArrayExist(aTag)==true){
				if (psCheckArrayExist(aTag[0].href)==true){
					aTag[0].OldFunc = aTag[0].onclick; // Back up original pointer										
					aTag[0].onclick = function(){						
						var prodID = psTrim(psGetValueFromUrl(this.href,"id"));						
						var pCatID = psGetValueFromCookie(G_PS_COOKIE_PROD_CATID,prodID.toLowerCase());
						psSetCookie(G_PS_COOKIE_CATID,pCatID);						
						if (this.OldFunc != null)
							return this.OldFunc();
					}					
				}			    
			}						
		}
	}
}
function psHijackAddToCartOrderItemNumber(){
	var frm = document.getElementsByTagName("FORM");
	if (psCheckArrayExist(frm)==true){
		for(var i=0; i < frm.length; i++){
			if (frm[i].action.toLowerCase().indexOf("shop/order_by_catalog.jsp")>=0){
				frm[i].OldFunc = frm[i].onsubmit; // Back up original pointer
				frm[i].onsubmit = function(){					
					psSetCookie(G_PS_COOKIE_CATID,"Order by Item");					
					if (this.OldFunc != null)
						return this.OldFunc();
				}
			}
		}
	}
}
function psHiajckAddToCart(){
	var frm =document.getElementsByTagName("skuForm");
	if (psCheckArrayExist(frm)==true){
		frm[0].OldFunc = frm[0].onsubmit; // Back up original pointer
		frm[0].onsubmit = function(){				
			var pProdID =psGetValueFromUrl(this.action,"id");																			
			var pCatID = psGetCookie(G_PS_COOKIE_CATID);					
			psSetValueToCookie(G_PS_COOKIE_PROD_CATID,prodID.toLowerCase(),pCatID);			
			if (this.OldFunc != null)
				return this.OldFunc();
		}
	}
}
function psGetInfoPageID(){
	var temp="";
	var fontTag = psGetElementsByClassName(document,"FONT","BodyHeaderElement");
	if (psCheckArrayExist(fontTag)==false)
		fontTag = psGetElementsByClassName(document,"DIV","BodyHeaderElement");	
	if (psCheckArrayExist(fontTag)==true){
		var tagB = fontTag[0].getElementsByTagName("B");
		if (psCheckArrayExist(tagB)==true){			
			var bPara =  psGetInnerText(tagB[0]).split("&gt;");
			if (bPara.length==1)
				temp = psTrim(bPara[0]);
			else if (bPara.length==2)
				temp = psTrim(bPara[0]) +":"+ psTrim(bPara[1]);
			else if (bPara.length==3)
				temp = psTrim(bPara[0]) +":"+ psTrim(bPara[1])+":"+ psTrim(bPara[2]);
			else if (bPara.length==4)
				temp = psTrim(bPara[0]) +":"+ psTrim(bPara[1])+":"+ psTrim(bPara[2])+":"+ psTrim(bPara[3]);
		}				
	}
	return temp;	
}
function psHijackAddToCartForSearch(){
	var tagImage = document.getElementsByTagName("IMG");
	if (psCheckArrayExist(tagImage)==true){
		for(var i=0; i < tagImage.length; i++){
			if (psCheckArrayExist(tagImage[i].src)==true){
				if (tagImage[i].src.indexOf("browse/btn_addtocart_p")>=0){					
					tagImage[i].OldFunc = tagImage[i].onclick; // Back up original pointer										
					tagImage[i].onclick = function(){
						var pParentNote = this.parentNode;
						if (pParentNote.tagName.toUpperCase()=="A"){
							if (psCheckArrayExist(pParentNote.href)==true){
								var skuIds = psTrim(psGetValueFromUrl(pParentNote.href.toLowerCase(),"skuids"));								
							}
						}
						psSetValueToCookie(G_PS_COOKIE_PROD_CATID,skuIds.toLowerCase(),"Search");
						psSetCookie(G_PS_COOKIE_CATID,"Search");
						
					}
				}
			}
		}
	}	
}
function psHijackVitaminShoppeBrand(){
	var tagImage = document.getElementsByTagName("IMG");
	if (psCheckArrayExist(tagImage)==true){
		for(var i=0; i < tagImage.length; i++){
			if (psCheckArrayExist(tagImage[i].src)==true){
				if (tagImage[i].src.indexOf("browse/btn_addtocart_green")>=0){					
					tagImage[i].OldFunc = tagImage[i].onclick; // Back up original pointer										
					tagImage[i].onclick = function(){
						var pParentNote = this.parentNode;
						if (pParentNote.tagName.toUpperCase()=="A"){
							if (psCheckArrayExist(pParentNote.href)==true){
								var skuIds = psTrim(psGetValueFromUrl(pParentNote.href.toLowerCase(),"skuids"));								
							}
						}
						psSetValueToCookie(G_PS_COOKIE_PROD_CATID,skuIds.toLowerCase(),"Vitamin Shoppe Brand");
						psSetCookie(G_PS_COOKIE_CATID,"Vitamin Shoppe Brand");
						
					}
				}
			}
		}
	}	
}
function psHijeckCategoryforProduct(){
	var tableTag = psGetElementsByClassName(document,"table","also_available");
	if (psCheckArrayExist(tableTag)==true){
		for(var i=0; i< tableTag.length;i++){
			var tagA = tableTag[i].getElementsByTagName("A");
			if (psCheckArrayExist(tagA)==true){
				for(var x=0; x< tagA.length;x++){
					if (psCheckArrayExist(tagA[x].href)==true){
						if (tagA[x].href.indexOf("browse/sku_detail.jsp")>=0){
							tagA[x].OldFunc = tagA[x].onclick; // Back up original pointer										
							tagA[x].onclick = function(){
								psSetCookie(G_PS_COOKIE_CATID,"Also Available");
							}							
						}
					}
				}				
			}
		}
	}
			
}
function psHijackAddToCart_CenterPage(){
	var skuForm = document.getElementsByName("skuForm");	
	if (psCheckArrayExist(skuForm)==true){
		for(var i=0; i< skuForm.length; i++){					
			skuForm[i].OldFunc = skuForm[i].onsubmit; // Back up original pointer
			skuForm[i].onsubmit = function(){				
				var pParentNote = this.parentNode.parentNode;													
				if (pParentNote.tagName.toUpperCase()=="TABLE"){
					var tagfont = pParentNote.getElementsByTagName("font");
					if (psCheckArrayExist(tagfont)==true){
						var prodID = psTrim(psGetInnerText(tagfont[0]));										
					}								
				}				
				var pCatID = psGetCookie(G_PS_COOKIE_CATID);					
				psSetValueToCookie(G_PS_COOKIE_PROD_CATID,prodID.toLowerCase(),pCatID);			
				if (this.OldFunc != null)
					return this.OldFunc();
			}
		}
	}
	var tempAddToCard= psGetElementsByClassName(document,"table","BodyTextSpecials");
	if (psCheckArrayExist(tempAddToCard)==true){
		for(var i=0; i< tempAddToCard.length;i++){
			var tagImag = tempAddToCard[i].getElementsByTagName("img");
			if (psCheckArrayExist(tagImag)==true){
				for(l=0;l<tagImag.length;l++){
					if (psCheckArrayExist(tagImag[l].src)==true){
						if (tagImag[l].src.toLowerCase().indexOf("btn_addtocart_p")>=0){																
							tagImag[l].OldFunc = tagImag[l].onclick; // Back up original pointer										
							tagImag[l].onclick = function(){	
								var pParentNote = this.parentNode.parentNode;									
								if (pParentNote.tagName.toUpperCase()=="TD"){
									var tagfont = pParentNote.getElementsByTagName("font");
									if (psCheckArrayExist(tagfont)==true){
										var prodID = psTrim(psGetInnerText(tagfont[0]));										
									}								
								}
								var pCatID = psGetCookie(G_PS_COOKIE_CATID);								
								psSetValueToCookie(G_PS_COOKIE_PROD_CATID,prodID.toLowerCase(),pCatID);
								if (this.OldFunc != null)
									return this.OldFunc();
							}
						} 
					}
				}
			}
		}
	}
}
function psGetCategoryIDforCrossSell(tagDiv){
	var pCatID = "Cross-Sell";
	if (psCheckElementExist(tagDiv)==true){
		var tagH1 = tagDiv.getElementsByTagName("H1");			
		if (psCheckArrayExist(tagH1)==true){
			if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("top sellers")>=0)
				pCatID = "Top Sellers";
			else if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("also viewed")>=0)
				pCatID = "Also Viewed";
			else if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("ultimately bought")>=0)
				pCatID = "Ultimately Bought";	
			else if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("also bought")>=0)
				pCatID = "Also Bought";	
			else if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("customers viewing")>=0)
				pCatID = "Customers Viewing";
			else if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("recent searches")>=0)
				pCatID = "Recent Searches";	
			else if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("recently viewed items")>=0)
				pCatID = "Recently Viewed Items";
			else if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("items viewed")>=0)
				pCatID = "Items Viewed";
			else if (psGetInnerText(tagH1[0]).toLowerCase().indexOf("Items related")>=0)
				pCatID = "Items Related";		
			else
				pCatID = "Cross-Sell";						
		}
	}
	return pCatID;
}
function psSetHijackCategoryCrossSell(tagDiv){
	if (psCheckElementExist(tagDiv)==true){		
		var tagA = tagDiv.getElementsByTagName("A");		
		if (psCheckArrayExist(tagA)==true){
			for(var i=0; i< tagA.length; i++){				
				if (psCheckArrayExist(tagA[i].className)==true){
					if (tagA[i].className.toLowerCase()=="productname"){											
						tagA[i].OldFunc = tagA[i].onclick; // Back up original pointer
						tagA[i].onclick = function(){
							var pParentHeader = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;				
							var pCatID  = psGetCategoryIDforCrossSell(pParentHeader);
							psSetCookie(G_PS_COOKIE_CATID,pCatID);
							if (this.OldFunc != null)
								return this.OldFunc();
						}
					}			
				}
				else{
					var tagAImg =  tagA[i].getElementsByTagName("img");
					if (psCheckArrayExist(tagAImg)==true){
						for(var j=0; j< tagAImg.length; j++){						
							if (psCheckArrayExist(tagAImg[j].className)==true){
								if (tagAImg[j].className.toLowerCase()=="skuimage"){							
									tagAImg[j].OldFunc = tagAImg[j].onclick; // Back up original pointer
									tagAImg[j].onclick = function(){
										var pParentHeader = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;				
										var pCatID  = psGetCategoryIDforCrossSell(pParentHeader);
										psSetCookie(G_PS_COOKIE_CATID,pCatID);
										if (this.OldFunc != null)
											return this.OldFunc();
									}
								}
							}
							else {
								if (psCheckArrayExist(tagAImg[j].src)==true){								
									if (tagAImg[j].src.toLowerCase().indexOf("btn_addtocart_p")>=0){																		
										tagAImg[j].OldFunc = tagAImg[j].onclick; // Back up original pointer										
										tagAImg[j].onclick = function(){							
											var pParentNote = this.parentNode.parentNode;			
											if (pParentNote.tagName.toUpperCase()=="DIV"){
												var tagfont = pParentNote.getElementsByTagName("font");
												if (psCheckArrayExist(tagfont)==true){
													var prodID = psTrim(psGetInnerText(tagfont[0]));
												}								
											}
											var pParentHeader = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;				
											var pCatID  = psGetCategoryIDforCrossSell(pParentHeader);
											psSetValueToCookie(G_PS_COOKIE_PROD_CATID,prodID.toLowerCase(),pCatID);
											if (this.OldFunc != null)
												return this.OldFunc();
										}
									}
								}
							}
						}					
					}
				}
			}
		}	
	}
}
function psHijackAddToCart_CrossSell(){
	var recWrapSide = document.getElementById("recWrapSide");	
	if (psCheckElementExist(recWrapSide)==true)
		psSetHijackCategoryCrossSell(recWrapSide);
	
	var recWrap = document.getElementById("recWrap");	
	if (psCheckElementExist(recWrap)==true)
		psSetHijackCategoryCrossSell(recWrap);
	
}
function psHijackAddToCart_CartView(){		
	var tagDiv = psGetElementsByID(document,"DIV","recWrap");	
	if (psCheckArrayExist(tagDiv)==true){
		for(var z = 0; z < tagDiv.length ; z++){
			psSetHijackCategoryCrossSell(tagDiv[z]);
		}
	}
}
function psHijackMenuOnClick(){
	var tagA = document.getElementsByTagName("A");
	if (psCheckArrayExist(tagA)==true){
		for(var i=0; i< tagA.length; i++){
			if (psCheckArrayExist(tagA[i].id)==true){
				if (tagA[i].id.toLowerCase().indexOf("vs_header_")>=0){
					tagA[i].OldFunc = tagA[i].onclick; // Back up original pointer
					tagA[i].onclick = function()
					{
						var psCat = psHtmlDecode(psTrim(psGetInnerText(this)));						
						psSetCookie(G_PS_COOKIE_CATID_MENU,psCat);
						if (this.OldFunc != null)
							return this.OldFunc();
					}
				}
			}
		}
	}
}
function psSubscribeProfilePages()
{
	if (G_PS_PATHNAME.indexOf("store/en/profile/your_account.jsp")>=0 || G_PS_PATHNAME.indexOf("store/en/profile/community_login.jsp")>=0 || 
		G_PS_PATHNAME.indexOf("store/en/profile/login.jsp")>=0 || G_PS_PATHNAME.indexOf("store/en/quick_order/order_list.jsp")>=0 || 
		G_PS_PATHNAME.indexOf("store/en/quick_order/all_products.jsp")>=0){		
		var frm = document.getElementsByName("signUp");		
		if (psCheckArrayExist(frm)==true){			
			frm[0].OldFunc = frm[0].onsubmit; // Back up original pointer
			frm[0].onsubmit = function()
			{
				var uP = new psProfile();
				var pEmail = document.getElementsByName("/atg/userprofiling/ProfileFormHandler.value.email");														 
				if (psCheckElementExist(pEmail)==true)
				{
					uP.cusId = pEmail[0].value;
					uP.email = pEmail[0].value;
				}				
				uP.writeProfile();						
				psSetCookie(G_PS_COOKIE_FLAG, "login");
				if (this.OldFunc != null)
					return this.OldFunc();
			}			
		}
		var frm1 = document.getElementsByName("loginin");		
		if (psCheckArrayExist(frm1)==true)
		{			
			frm1[0].OldFunc = frm1[0].onsubmit; // Back up original pointer
			frm1[0].onsubmit = function()
			{
				var uP = new psProfile();
				var pEmail = document.getElementsByName("email");														 
				if (psCheckElementExist(pEmail)==true)
				{
					uP.cusId = pEmail[0].value;
					uP.email = pEmail[0].value;
				}				
				uP.writeProfile();						
				psSetCookie(G_PS_COOKIE_FLAG, "create");
				if (this.OldFunc != null)
					return this.OldFunc();
			}			
		}	
	}	
	else if (G_PS_PATHNAME.indexOf("store/en/profile/login_update.jsp")>=0)
	{
		var frm = document.getElementsByTagName("form");
		if (psCheckArrayExist(frm)==true){
			for(var i = 0; i< frm.length; i++)
			{			
				if(frm[i].action.indexOf("store/en/profile/login_update.jsp")>=0)
				{					
					frm[i].OldFunc = frm[i].onsubmit; // Back up original pointer
					frm[i].onsubmit = function()
					{					
						//var uP = new psProfile();
						var pEmail = document.getElementsByName("/atg/userprofiling/ProfileFormHandler.value.email");														 
						if (psCheckElementExist(pEmail)==true)
						{
							var pcusId = pEmail[0].value;
						}				
						//uP.writeProfile();						
						psSetCookie(G_PS_COOKIE_PROFILE_TEMP,pcusId);
						psSetCookie(G_PS_COOKIE_FLAG, "update");
						if (this.OldFunc != null)
							return this.OldFunc();
					}
					break;
				}
			}
		}		
	}
	else if (G_PS_PATHNAME.indexOf("store/en/profile/bill_update.jsp")>=0 || G_PS_PATHNAME.indexOf("store/en/profile/bill_address.jsp")>=0)
	{
		if (G_PS_PATHNAME.indexOf("store/en/profile/bill_update.jsp")>=0){
			var frm = document.getElementsByName("frmBillToAddress");
		}
		else if (G_PS_PATHNAME.indexOf("store/en/profile/bill_address.jsp")>=0){			
			var frm = document.getElementsByName("frmCreateAddress");
		}		
		if (psCheckArrayExist(frm)==true)
		{
			frm[0].OldFunc = frm[0].onsubmit; // Back up original pointer
			frm[0].onsubmit = function(){
				var uP = new psProfile();
				uP.readProfile(); 				
				var pCity  = document.getElementsByName("bcity");
				if (psCheckArrayExist(pCity)==true){
					uP.city = pCity[0].value;	
				}
				var pState  = document.getElementsByName("bstate");
				if (psCheckArrayExist(pState)==true){
					uP.state = pState[0].value;	
				}
				var pZipcode  = document.getElementsByName("/vitaminshoppe/profile/VsBillToAddressFormHandler.value.billingAddress.postalCode");														
				if (psCheckArrayExist(pZipcode)==false){
					pZipcode  = document.getElementsByName("/vitaminshoppe/profile/VsCreateProfileFormHandler.value.billingAddress.postalCode");
				}				
				if (psCheckArrayExist(pZipcode)==true){
					uP.zipcode = pZipcode[0].value;	
				}				
				uP.writeProfile();						
				psSetCookie(G_PS_COOKIE_FLAG, "createbill");
				if (this.OldFunc != null)
					return this.OldFunc();
			}
		}		
	}
}
function psPostRegistration(){
	if (psGetCookie(G_PS_COOKIE_FLAG) == "login" || psGetCookie(G_PS_COOKIE_FLAG) == "update" || psGetCookie(G_PS_COOKIE_FLAG) == "create"){
		var uP = new psProfile();
		if (psGetCookie(G_PS_COOKIE_FLAG) == "update"){
			var pcusId = psGetCookie(G_PS_COOKIE_PROFILE_TEMP);
			if (pcusId!=null){
				uP.cusId = uP.email = pcusId;
				uP.writeProfile();
				psSetCookie(G_PS_COOKIE_PROFILE_TEMP, "", "delete");
			}
		}		
		uP.readProfile(); 
		psCreateRegistrationTag(uP.cusId, uP.email);
		psSetCookie(G_PS_COOKIE_FLAG, "", "delete"); // turn off flag
	}
	else if (psGetCookie(G_PS_COOKIE_FLAG) == "updatebill" || psGetCookie(G_PS_COOKIE_FLAG) == "createbill"){
		var uP = new psProfile();
		uP.readProfile(); 
		psCreateRegistrationTag(uP.cusId, uP.email,uP.city,uP.state,uP.zipcode);
		psSetCookie(G_PS_COOKIE_FLAG, "", "delete"); // turn off flag
	}
}
function psProduct(){
    this.id = null;
    this.name = null;
    this.catId = null;
    this.price = null;
    this.quantity = null;

	this.reset = function()
	{
		this.id = null;
		this.name = null;
		this.catId = null;
		this.price = null;
		this.quantity = null;
	}	
	this.getProduct = function()
	{
		try
		{
			var pErr = psGetElementsByClassName(document,"SPAN","registrationerror");
			if (psCheckArrayExist(pErr)==true){				
				if (psGetInnerText(pErr[0]).length > 5){
					return false;
				}
			}			
			this.reset(); // DO NOT REMOVE THIS IMPORTANT STATEMENT!			 
			this.id =psTrim(psGetValueFromUrl(G_PS_URL_PATH,"id"));			 			
			var tempStr="";
			var pProName1 = psGetElementsByID(document,"SPAN","opManufact");			
			var pProName2 = psGetElementsByID(document,"SPAN","opProduct");			
			if (psCheckArrayExist(pProName1)==true){
				for(var i=0;i<pProName1.length;i++){
					if (psTrim(psGetInnerText(pProName1[i]))!=""){
						tempStr = tempStr + " " +  psTrim(psGetInnerText(pProName1[i]));
						tempStr = psTrim(tempStr);
					}
				}
			}
			if (psCheckArrayExist(pProName2)==true){
				for(var j=0;j<pProName2.length;j++){
					if (psTrim(psGetInnerText(pProName2[j]))!=""){
						tempStr = tempStr + " " + psTrim(psGetInnerText(pProName2[j]));
						tempStr = psTrim(tempStr);
					}
				}
			}
			this.name =psTrim(tempStr);	
			if (this.name==""){
				var brand_name = psGetElementsByClassName(document,"TD","brand_name");
				if (psCheckArrayExist(brand_name)==true){
					this.name = psGetInnerText(brand_name[0]);
				}
			}			
			 // In most cases, catId is retrived from cookie G_PS_COOKIE_CATID as follows:			
			if (G_PS_URL_REFERRER!=""){
				this.catId = psGetCookie(G_PS_COOKIE_CATID);
				if (psGetDomain(G_PS_URL_REFERRER).indexOf("vitaminshoppe.com")>=0){					
					if (this.catId == null){
						this.catId="SEARCH";
					}
				}
				else
					this.catId="BookMarks";
			}
			else
				this.catId="BookMarks";
				
			if (this.catId==null){
				this.catId = "UN-KNOWN";
			}			
			psSetCookie(G_PS_COOKIE_CATID,this.catId)			
			return true;
		}
		catch (ex) { return false; }
	}	
	this.getItem5 = function(itemRow){
		try{
			this.reset(); // DO NOT REMOVE THIS IMPORTANT STATEMENT!			
			var aTag = itemRow.cells[2].getElementsByTagName("A");
			if (psCheckArrayExist(aTag)==true){
			    this.id =psTrim(psGetValueFromUrl(aTag[0].href,"id"));
			}			
			var tagB = itemRow.cells[2].getElementsByTagName("B");
			var pdesc ="";
			if (psCheckArrayExist(tagB)==true){
				pdesc = psTrim(psGetInnerText(tagB[0]));
				if (pdesc!=null){
					if (pdesc.indexOf("ships")>=0)
						pdesc="";
					else
						pdesc = pdesc.toLowerCase();
				}	
			}
			var tagA = itemRow.cells[2].getElementsByTagName("A");
			if (psCheckArrayExist(tagA)){
				var pname1 = psTrim(psGetInnerText(tagA[0]));
			}
			var temp = psTrim(psGetInnerText(itemRow.cells[2]));			
			var tempSub =temp.toLowerCase().substring(0,temp.toLowerCase().indexOf(this.id.toLowerCase()));					
			this.name = psTrim(tempSub).replace(pdesc,"") + " " + pname1;
			this.name = psTrim(this.name);
			this.price = psCleanPrice(itemRow.cells[8].innerHTML);
			var pInput = itemRow.cells[10].getElementsByTagName("INPUT");			
			if (psCheckArrayExist(pInput)==true){
				this.quantity = psCleanNumber(pInput[0].value);
			}
			 // In most cases, catId is retrived from cookie G_PS_COOKIE_PROD_CATID as follows:
			this.catId = psGetValueFromCookie(G_PS_COOKIE_PROD_CATID, this.id.toLowerCase());
			if (this.catId ==null){
				this.catId = psGetCookie(G_PS_COOKIE_CATID);
				psSetValueToCookie(G_PS_COOKIE_PROD_CATID, this.id.toLowerCase(),this.catId);
			}
			if (this.catId==null){
				this.catId="UN-KNOWN";
			}			
			return true;
		}
		catch (ex) { return false; }
	}	
	this.getItem9 = function(itemRow){
		try
		{
			this.reset(); // DO NOT REMOVE THIS IMPORTANT STATEMENT!			
			var aTag = itemRow.cells[2].getElementsByTagName("A");
			if (psCheckArrayExist(aTag)==true){
			    this.id = psTrim(psGetValueFromUrl(aTag[0].href,"id"));
			}
			var tagA = itemRow.cells[2].getElementsByTagName("A");
			if (psCheckArrayExist(tagA)){
				var pname1 = psTrim(psGetInnerText(tagA[0]));
			}
			var tagB = itemRow.cells[2].getElementsByTagName("B");
			var pdesc ="";
			if (psCheckArrayExist(tagB)==true){
				pdesc = psTrim(psGetInnerText(tagB[0]));
				if (pdesc!=null){
					if (pdesc.indexOf("ships")>=0)
						pdesc="";
					else
						pdesc = pdesc.toLowerCase();
				}	
			}
			var temp = psTrim(psGetInnerText(itemRow.cells[2]));			
			var tempSub =temp.toLowerCase().substring(0,temp.toLowerCase().indexOf(this.id.toLowerCase()));					
			this.name = psTrim(tempSub).replace(pdesc,"") + " " + pname1;	
			this.name = psTrim(this.name);	
			this.price = psCleanPrice(psGetInnerText(itemRow.cells[8]));			
			this.quantity = psCleanNumber(psGetInnerText(itemRow.cells[10]));						
			 // In most cases, catId is retrived from cookie G_PS_COOKIE_PROD_CATID as follows:
			this.catId = psGetValueFromCookie(G_PS_COOKIE_PROD_CATID, this.id.toLowerCase());
			if (this.catId ==null)
				this.catId="UN-KNOWN";			
			return true;
		}
		catch (ex) { return false; }
	}
}
function psProfile(){
	this.cusId = null;
    this.email = null;
    this.city = null;
    this.state = null;
    this.zipcode = null;
	this.newsletter = null;
	this.subscribe = null;	
	this.readProfile = function()
	{
		try
		{
			this.cusId = psGetCookie(G_PS_COOKIE_PROFILE);
			if (this.cusId != null)
			{
				var buf = this.cusId.split('|');
				for (var i=0; i<buf.length; i++)
				{
					var tempVal = buf[i];
					// when NULL is written to cookie, it becomes string, not literal constant
					buf[i] = (tempVal=="null" ? null : tempVal); 
				}
				this.cusId = buf[0];
				if (!this.cusId)
					this.cusId = psGenerateRandomValue();
				this.email = buf[1];
				this.city = buf[2];
				this.state = buf[3];
				this.zipcode = buf[4];
				this.newsletter = buf[5];
				this.subscribe = buf[6];
			}
			return true;
		}
		catch (ex) { return false; }
	}
	/*
	 * Set user profile to cookie
	 */
	this.writeProfile = function()
	{
		try
		{
			if (this.cusId == null)
				return;
			// make sure that the data contains 4 parts separated by 3 '|'
			var data = this.cusId + "|" + this.email + '|' + this.city + '|' + this.state + '|' 
				+ this.zipcode + "|" + this.newsletter + '|' + this.subscribe;
			// store on cookie
			psSetCookie(G_PS_COOKIE_PROFILE, data);			
			return true;
		}
		catch (ex) { return false; }
	}
}
function psOrder(){
	this.id = null;
	this.subtotal = null;
	this.shipping = null;
	
	this.getOrder = function(){
		try{		
			var tagTD = document.getElementsByTagName("TD");
			if (psCheckArrayExist(tagTD)==true){				
				for(var i=0;tagTD.length;i++){						
					if (psGetInnerText(tagTD[i]).toLowerCase().indexOf("your order number:")>=0 &&  psTrim(psGetInnerText(tagTD[i])).length < 40){						
						this.id =psTrim(psGetInnerText(tagTD[i]).split(":")[1]);						
						break;
					}
				}
			}
			var bFlag1=false; var bFlag2=false;
			var pPromo=0;
			var tagTR = document.getElementsByTagName("TR");
			if (psCheckArrayExist(tagTR)==true){
				for(var i=0;tagTR.length;i++){										
					if (psGetInnerText(tagTR[i]).toLowerCase().indexOf("subtotal:")>=0 && psTrim(psGetInnerText(tagTR[i])).length < 40 ){											
						this.subtotal =psCleanPrice(psTrim(psGetInnerText(tagTR[i])));						
						bFlag1=true;
					}
					if (psGetInnerText(tagTR[i]).toLowerCase().indexOf("shipping:")>=0 && psTrim(psGetInnerText(tagTR[i])).length < 40){						
						this.shipping =psCleanPrice(psGetInnerText(tagTR[i]));						
						bFlag2=true;
					}
					if (psGetInnerText(tagTR[i]).toLowerCase().indexOf("promotions:")>=0 && psTrim(psGetInnerText(tagTR[i])).length < 40){						
						pPromo = psCleanPrice(psGetInnerText(tagTR[i]));								
					}
					if (bFlag1==true && bFlag2==true){
						break;
					}
				}
			}						
			if (pPromo!=0 || pPromo!="0"){				
				this.subtotal = parseFloat(this.subtotal) - parseFloat(pPromo);	
			}
			if (!this.id)
				this.id = psGenerateRandomValue();				
			
			var uP = new psProfile();
			uP.readProfile();  // Ensure to get the customer Id & email persisted at login stage
			var tagSpan = psGetElementsByClassName(document,"SPAN","bodytext");			
			if (psCheckArrayExist(tagSpan)==true){
				for(var i=0; i < tagSpan.length; i++){						
					if (psGetInnerText(tagSpan[i]).toLowerCase().indexOf("bill to:")>=0){						
						var arrAray =tagSpan[i].innerHTML.toLowerCase().split("<br>");						
						var temp=arrAray[6];
						if(temp.indexOf(",")<0){
							temp=arrAray[5];
							if(temp.indexOf(",")<0){
								temp=arrAray[4];
							}
						}						
						uP.zipcode = temp.substring(temp.lastIndexOf(" "),temp.length)
						temp = temp.substring(0,temp.lastIndexOf(" "));
						uP.state = psTrim(temp.split(",")[1]);
						uP.city =  psTrim(temp.split(",")[0])
						break;						
					}
				}
			}			
			if (uP.cusId == null)
				uP.cusId = psGenerateRandomValue();				
			return uP.writeProfile(); // Persist profile for later use at Receipt stage
		}
		catch (ex) {return false;}
	}
}
function psIsEqual(){
	for (var i=0; i<arguments.length; i++){
		if(arguments[0] == null || arguments[i] == null){
			return false;
		}
		else if(arguments[0].toUpperCase() != arguments[i].toUpperCase()){
			return false;
		}
	}
	return true;
}
function psGetInnerText(pTagOjb){
	var pattern = /<script[\s\S]*?<\/script>/gi; // question mark means non-greedy
	if (pTagOjb != null){
		var sT = (typeof(pTagOjb) == "object") ? pTagOjb.innerHTML : pTagOjb;
		// remove all script tags and its content
		while (sT.search(pattern) > -1){
			sT = sT.replace(pattern, "");
		}
		return sT.replace(/\<+.+?\>+/g, "");
	}
	return null;
}
function psCleanCatId(pCatId){
    return (pCatId != null) ? pCatId.replace(/[\'\":,\?\?]/g, "") : null;
}
function psCleanPageId(pPageId){
	return (pPageId != null) ? pPageId.replace(/[\n\t\v\r?\'\"\?\?]/gi, "") : null; 
}
function psCleanProductName(pProductName){
    return (pProductName != null) ? pProductName.replace(/[\n\t\v\r?\'\"\?\?]/gi, "") : null; 
}
function psRemovePlus(pString){
	if (pString != null){
		pString = pString.replace(/[\&\'\(\)]/gi, "");
		pString = pString.replace(/[\+]/gi, " ");
	}
	return pString; 
}
function psCleanText(pText){
	var temp=pText;
	temp=temp.replace(String.fromCharCode(34),"");	
	temp=temp.replace(String.fromCharCode(0x22),"");
	temp=temp.replace(String.fromCharCode(34),"");	
	temp=temp.replace(String.fromCharCode(0x22),"");	
	temp=psTrim(temp);
	return psTrim(temp);
}
function psTrim(pStr){
	if (pStr == null || typeof(pStr) != "string")
		return pStr;
	return (pStr != null) ? pStr.replace(/&nbsp;|\u00A0/gi, ' ').replace(/^\s+|\s+$/g, '') : null;
}
function psGetValueFromUrl(pUrl, pKey){
	pUrl = (pUrl != null) ? "?" + psTrim(pUrl.toLowerCase()) : null;
	pKey = (pKey != null) ? psTrim(pKey.toLowerCase()) : null;

	if (pUrl == null || pKey == null || pUrl.indexOf(pKey) == -1) 
		return null;
	
	var start = pUrl.indexOf('&' + pKey + '=');
	start = (start == -1) ? pUrl.indexOf('?' + pKey + '=') : start;
	if (start >= 0)
	{
		start = start + pKey.length;
		var end = pUrl.indexOf("&", start);
		if(end == -1) 
			end = pUrl.length;
		var middle = pUrl.indexOf("=", start);
		return pUrl.substring(middle + 1, end);
	}
	return null;
}
function psGetElementValueById(pTagId, pValueFlag){
    var tag = document.getElementById(pTagId);
    return psGetElementValue(tag, pValueFlag);
}
function psGetElementValue(pTagObj, pValueFlag){
    var tagValue = null;
    if (pTagObj != null){
        if (pTagObj.tagName.search(/^INPUT$/i) > -1)
            tagValue = pTagObj.value;
        else if (pTagObj.tagName.search(/^SELECT$/i) > -1){
            if (pValueFlag == true)
                tagValue = pTagObj.options[pTagObj.selectedIndex].value;
            else
                tagValue = psHtmlDecode(pTagObj.options[pTagObj.selectedIndex].innerHTML);// return label instead of value
        }
        else
            tagValue = psHtmlDecode(pTagObj.innerHTML);
    }

    return tagValue;
}
function psCheckEmail(pEmail) {
    if (pEmail){
        var i = pEmail.search(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
        return (i > -1);
    }

    return false;
}
function psHtmlDecode(pValue){
    if (pValue)
    {
        pValue = pValue.replace(/&nbsp;/gi, " ");
        pValue = pValue.replace(/&quot;/gi, '"');
        pValue = pValue.replace(/&amp;/gi, "&");
        pValue = pValue.replace(/&lt;/gi, "<");
        pValue = pValue.replace(/&gt;/gi, ">");
    }

    return pValue;
}
function psGetMainDomain(pUrl){
	var se = /^https*\:\/\/([^\/\:]+)/gi;
	var domain = (pUrl.search(se) > -1) ? RegExp.$1 : null;
	if(domain != null)
	{
		if(domain.indexOf("www")==0)
		{
			domain = domain.substring(4,domain.length);
		}
		if(G_PS_ARR_DOMAIN != null)
		{
			for(var i =0; i<G_PS_ARR_DOMAIN.length; i++)
			{
				se = new RegExp("[\.]" + G_PS_ARR_DOMAIN[i] + "$","gi");
				if(("." + domain).search(se) > -1)
				{
					domain = G_PS_ARR_DOMAIN[i];
					break;
				}
			}
		}
		domain = "." + domain;
	}
	return domain;
	
}
function psGetDomain(pUrl){
    var se = /^https*\:\/\/([^\/\:]+)/gi;
    return (pUrl.search(se) > -1) ? RegExp.$1 : null;
}
function psCleanPrice(pPrice){
	var pattern = /[^0-9\.]/gi;
    return (pPrice != null ? pPrice.toString().replace(pattern, "") : null);
}
function psGetCookie(pCookieName){
	var cookies = document.cookie;
	if (!pCookieName || !cookies)
		return null;

	cookies = "; " + cookies.toLowerCase();
	var key = "; " + pCookieName.toLowerCase() + "=";
	var start = cookies.lastIndexOf(key);
	if (start >= 0)
	{
		start = start + key.length;
		var end = cookies.indexOf(";", start);
		if (end == -1)
			end = cookies.length;

		return unescape(cookies.substring(start, end));
	}

    return null;
}
function psSetCookie(pCookieName, pCookieValue, pLifeTime){
    if (!pCookieName)
		return false;

	var pDomain = psGetMainDomain(G_PS_URL_PATH);
	if(pLifeTime == "delete") 
    {         
        CC(pCookieName, pDomain);//delete cookie by calling coremetrics's cookie function
        return true;
    }
    // set cookie by calling coremetrics's cookie function
    var expire = (pLifeTime) ? (new Date((new Date()).getTime() + (1000 * pLifeTime))).toGMTString() : null;
    
    return CB(pCookieName, escape(pCookieValue), expire, pDomain);
}
function psSetValueToCookie(pCookieName, pKey, pValue){
	// "normalize" input parameters
	pCookieName = psTrim(pCookieName);
	pKey = (pKey != null) ? "#" + psTrim(pKey).toLowerCase() + "~" : pKey;
	// 
	var catCookie = psGetCookie(pCookieName);
	catCookie = (catCookie == null) ? "" : catCookie;

	var start = catCookie.indexOf(pKey);
	if (start >= 0) // Store before -> remove the old value
	{
		var end = catCookie.indexOf("#", start + pKey.length);
		if (end == -1)
			end = catCookie.length;
		catCookie = catCookie.replace(catCookie.substring(start, end), "");
	}
	
	// remove the last items (eldest items) until cookie size < 3500	
	if (pValue != null && pValue != '')
	{
		catCookie = pKey + pValue + catCookie;
		var cookieArray = null;
		while (catCookie.length > 3500)
		{
			cookieArray = catCookie.split("#");
			cookieArray.pop();
			catCookie = cookieArray.join("#");
		}
	}
	// Save to cookie
	psSetCookie(pCookieName, catCookie, G_PS_COOKIE_LIFETIME);
}
function psGetValueFromCookie(pCookieName, pKey){
	// "normalize" input parameters
	pCookieName = psTrim(pCookieName);
	pKey = (pKey != null) ? "#" + psTrim(pKey).toLowerCase() + "~" : pKey;
	// extract catId associated with the specified key (pKey)
    var catCookie = psGetCookie(pCookieName);
    if (catCookie != null)
    {
        var start = catCookie.indexOf(pKey);
		if (start >=0 )
		{
			start = start + pKey.length;
			var end = catCookie.indexOf("#", start);
			if (end == -1)
				end = catCookie.length;
			return catCookie.substring(start, end);
		}
		return null;
    }
    return null;
}
function psGenerateRandomValue(){
	var dtDate = new Date();
	var cusRandom = (dtDate.getTime()%10000000) + (Math.floor(Math.random()*10000));
	return cusRandom;
}
function psCleanNumber(pNumber){
	var pattern = /[^0-9]/gi;
    return (pNumber != null ? pNumber.toString().replace(pattern, "") : null);
}
function psCheckArrayExist(pArrElement){
    if(typeof(pArrElement) == "undefined" || pArrElement == null || pArrElement.length <= 0)
    {
        return false;
    }

    return true;
}
function psCheckElementExist(pElement){
    if(typeof(pElement) == "undefined" || pElement == null)
    {
        return false;
    }

    return true;
}
function psGetElementsByClassName(psDocument, psElementTagName, psClassName){
    var arrResult = new Array();
    var index = 0;
    var arrInputs = psDocument.getElementsByTagName(psElementTagName);
    if(arrInputs == null)
    {
        return null;
    }
    for(var i = 0; i < arrInputs.length; i ++ )
    {
        if(arrInputs[i].className.toLowerCase() == psClassName.toLowerCase())
        {
            arrResult[index ++ ] = arrInputs[i];
        }
    }
    return arrResult;
}
function psGetElementsByID(psDocument, psElementTagName, psID){
    var arrResult = new Array();
    var index = 0;
    var arrInputs = psDocument.getElementsByTagName(psElementTagName);
    if(arrInputs == null)
    {
        return null;
    }
    for(var i = 0; i < arrInputs.length; i ++ )
    {
        if(arrInputs[i].id.toLowerCase() == psID.toLowerCase())
        {
            arrResult[index ++ ] = arrInputs[i];
        }
    }
    return arrResult;
}
/* ****************************************************** */
/* WRAPPER FOR COREMETRICS' TAG FUNCTIONS               */
/* ****************************************************** */
function psCreatePageviewTag(pId, pCatId, pSrchTerm, pSrchResult) 
{
	pId = psCleanPageId(pId);
	pCatId = psCleanCatId(pCatId);
    if (pSrchResult != null)
        pSrchResult += "";
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmCreatePageviewTag(" + pId + ", " + pCatId + ", " + pSrchTerm + ", " + pSrchResult + ")");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmCreatePageviewTag(pId, pCatId, pSrchTerm, pSrchResult);
}

function psCreateProductviewTag(pId, pName, pCatId) 
{
	pName = psHtmlDecode(psCleanProductName(pName));
	pCatId = psCleanCatId(pCatId);
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmCreateProductviewTag(" + pId + ", " + pName + ", " + pCatId + ")");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmCreateProductviewTag(pId, pName, pCatId);
}

function psCreateShopAction5Tag(pId, pName, pQuantity, pPrice, pCatId) 
{
	pName = psHtmlDecode(psCleanProductName(pName));
	pCatId = psCleanCatId(pCatId);
	pQuantity = psCleanPrice(pQuantity);
	pPrice = psCleanPrice(pPrice);
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmCreateShopAction5Tag(" + pId + ", " + pName + ", " + pQuantity + ", " + pPrice + ", " + pCatId + ")");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmCreateShopAction5Tag(pId, pName, pQuantity, pPrice, pCatId);    
}

function psCreateShopAction9Tag(pId, pName, pQuantity, pPrice, pCusID, pOrderID, pOrderTotal, pCatId) 
{
	pName = psHtmlDecode(psCleanProductName(pName));
	pCatId = psCleanCatId(pCatId);
	pQuantity = psCleanPrice(pQuantity);
	pPrice = psCleanPrice(pPrice);
	pOrderTotal = psCleanPrice(pOrderTotal);
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmCreateShopAction9Tag(" + pId + ", " + pName + ", " + pQuantity + ", " + pPrice + ", " + pCusID + ", " + pOrderID + ", " + pOrderTotal + ", " + pCatId + ")");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmCreateShopAction9Tag(pId, pName, pQuantity, pPrice, pCusID, pOrderID, pOrderTotal, pCatId);
}

function psCreateOrderTag(pId, pOrderTotal, pOrderShipping, pCusID, pCusCity, pCusState, pCusZip) 
{
	pOrderTotal = psCleanPrice(pOrderTotal);
	pOrderShipping = psCleanPrice(pOrderShipping);
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmCreateOrderTag(" + pId + ", " + pOrderTotal + ", " + pOrderShipping + ", " + pCusID + ", " + pCusCity + ", " + pCusState + ", " + pCusZip + ")");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmCreateOrderTag(pId, pOrderTotal, pOrderShipping, pCusID, pCusCity, pCusState, pCusZip);
}

function psCreateConversionEventTag(pId, pActionType, pCatID, pPoints) 
{
	pCatID = psCleanCatId(pCatID);
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmCreateConversionEventTag(" + pId + ", " + pActionType + ", " + pCatID + ", " + pPoints + ")");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmCreateConversionEventTag(pId, pActionType, pCatID, pPoints);
}

function psCreateRegistrationTag(pCusID, pCustEmail, pCusCity, pCusState, pCusZip, pNewsletter, pSubscribe) 
{
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmCreateRegistrationTag(" + pCusID + ", " + pCustEmail + ", " + pCusCity + ", " + pCusState + ", " + pCusZip + ", " + pNewsletter + ", " + pSubscribe + ")");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmCreateRegistrationTag(pCusID, pCustEmail, pCusCity, pCusState, pCusZip, pNewsletter, pSubscribe);
}

function psCreateErrorTag(pPageID, pCatId) 
{
	pPageID = psCleanPageId(pPageID);
	pCatId = psCleanCatId(pCatId);
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmCreateErrorTag(" + pPageID + ", " + pCatId + ")");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmCreateErrorTag(pPageID, pCatId);
}

function psDisplayShop5s()
{
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmDisplayShop5s()");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmDisplayShop5s();
}

function psDisplayShop9s()
{
    if (G_PS_DEBUG_MODE == 1 || G_PS_DEBUG_MODE == 3)
        alert("cmDisplayShop9s()");
    if (G_PS_DEBUG_MODE == 2 || G_PS_DEBUG_MODE == 3)
        cmDisplayShop9s();
}
/*===========================END GENERAL UTILITY FUNCTION ==================*/