function isBlank(item) {
	item = String(item).toLowerCase();
	if(item == "undefined" || item == "" || item == "null") return true;
	else return false;
}

function getCurrentDomainName() {
	var url = String(location);
	var domainName = extractDomain(url);	
	return domainName;
}

function extractDomain(url) {
	var url = url.replace("http://", "");
	var slashIndex = url.indexOf("/");
	if(slashIndex == -1) slashIndex = url.length;
	var url = url.substring(0, slashIndex);
	var urlSectionArray = url.split('.');
	var urlSectionArrayLength = urlSectionArray.length;
	var domainName = "";
	for(var i=urlSectionArrayLength - 2;i<urlSectionArrayLength; i++) {
		domainName += "." + urlSectionArray[i];
	}
	return domainName;
}

function getCookie(cookieName) {
	var allCookies = document.cookie;
	var cookieStart = allCookies.indexOf(cookieName)
	if(cookieStart == -1) return "";
	cookieStart = cookieStart + cookieName.length + 1;
	var cookieEnd = allCookies.indexOf(";", cookieStart);
	if(cookieEnd == -1) cookieEnd = allCookies.length;
	var cookieValue = allCookies.substring(cookieStart, cookieEnd);
	return cookieValue;
}

function getProductList() {
	var storeCode = getStoreCode();
	var cartCookieInfoName = "pdrv_" + storeCode + "_info";
	var cartCookieName = "pdrv_" + storeCode + "_";
	var productList = new Array();
	var pd_productListInfo = getCookie(cartCookieInfoName);
	var cookieValue = "";
	for(var i=0;i<pd_productListInfo;i++) {
		cookieValue += getCookie(cartCookieName + i);
	}
	cookieValue = unescape(cookieValue);
	try {
		if(cookieValue.length > 10)	eval(cookieValue);
	} catch(e) {
		//alert(cookieValue);
	}

	return productList;
}

function addProductToProductList(product, productList, maxItems) {
	var item = new Object();
	for(item in productList) {
		if(productList[item].productId == product.productId) return productList;
	}
	if(isBlank(maxItems) || maxItems == 0) maxItems = 5;
	productList.unshift(product);
	productList = productList.splice(0,maxItems);
	return productList;
}

function recordProductList(productList, storeCode, cookieDomain, expirationDate) {
	var productListString = serialize("productList", productList);
	var chunkSize = 4000;
	var cookieArray = new Array();
	var j = 0;
	var i = 0;
	for(i=0;i<productListString.length;i+=chunkSize) {
		cookieArray[j] = productListString.substring(i, chunkSize + i);
		j++;
	}
	var cookieString = "pdrv_" + storeCode + "_info=" + j +";domain=" + cookieDomain + ";path=/";
	if(!isBlank(expirationDate)) {
		cookieString += ";expires=" + expirationDate.toGMTString();
	}
	document.cookie = cookieString;
	
	for(i=0;i<j;i++) {
		cookieString = "pdrv_" + storeCode + "_" + i + "=" + escape(cookieArray[i]) + ";domain=" + cookieDomain + ";path=/";
		if(!isBlank(expirationDate)) cookieString +=";expires=" + expirationDate.toGMTString();
		document.cookie = cookieString;
	}
	return true;
}

function formatCurrency(item) {
	item = String(Math.round(item * 100) /100);
	var frontString = "";
	var backString = "";
	var decimalIndex = item.indexOf(".");		

	if(decimalIndex == -1) {
		item += ".00";
		decimalIndex = item.indexOf(".");
	}

	//*****************************************
	//**** FORMAT WHOLE AND DECIMAL PARTS *****		
	//*****************************************
	frontString = item.substring(0, decimalIndex);
	backString = item.substring(decimalIndex, item.length);
	if(backString.length < 3) backString += "0";
	
	//***********************************************************
	//***** COMMA-FORMAT WHOLE PORTION OF OUR CURRENCY VALUE ****
	//***********************************************************
	if(true) {
		var tempString = new String();
		var frontLength = frontString.length;
		var i = 0;
		var j = 0;
		for(i=frontLength; i>=0;i--) {
			tempString += String(frontString.charAt(i));
			if(j%3 == 0 && j<frontLength && j != 0 && frontString.charAt(i-1) != '-') tempString += ",";
			j++;
		}
	
		frontString = "";
		var tempLength = tempString.length;
		for(i=tempLength; i>=0;i--) {
			frontString += String(tempString.charAt(i));				
		}
		
	}
	
	//***********************************************************
	//***** RECONSTRUCT AND RETURN FORMATTED CURRENCY VALUE *****
	//***********************************************************		
	item = "$" + frontString + backString;
	return (item);
}