// Shopping Cart Configuration File

var allow_cart = 1;
var cartname = "bascart";
var dbfields = new Array();
dbfields["b_clothes"] = "db=i|db_id=i|price=i|colours_avail=s|sizes_avail=s|sleeve_avail=s|quantity=i|theme=i";
dbfields["q_toys"] = "db=i|db_id=i|price=i|gender=i|colour=i|to_suit=i|quantity=i|theme=i";
var defaultDB = "b_clothes";
var cInfo = new Array();
cInfo["EMPTY"] = "on";

// Shopping Cart Functions

function setCookie (name, value, lifespan, access_path) {
	var cookietext = name + "=" + escape(value) 
	if (lifespan != null) { 
  		var today=new Date() 
  		var expiredate = new Date() 
  		expiredate.setTime(today.getTime() + 1000*60*60*24*lifespan)
  		cookietext += "; expires=" + expiredate.toGMTString()
	}
	if (access_path != null) { 
  		cookietext += "; PATH="+access_path 
	}
	document.cookie = cookietext 
	return null 
}
function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) {
			return getCookieVal (j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) {
			break;
		}
	}
	return null;
}
function testIsValidObject(objToTest) {
		if (null == objToTest) {
			return false;
		}
		if ("undefined" == typeof(objToTest) ) {
			return false;
		}
		return true;

}
function initCookie() {
	
	
}

function cartAdd (id) {
	var Cart = GetCookie(cartname);
	
	var tFields = new Array();
	var items = "";
	var formName = id.form;
	var formID = formName.name;
	var dbname = formName.db.value;
	var dVal = dbfields[dbname];
	
	var dFields = new Array();
	dFields = dVal.split("|");
	var itemVals = new Array();
	var addStr = formID+"=";
	for (var i=0; i < dFields.length; i++) {
		if (dFields[i] != "") {
			var fTypes = new Array();
			fTypes = dFields[i].split("=");
			var fVal;
			if (fTypes[1] == "i") {
				if (eval("formName."+fTypes[0]) != null) {
					fVal = eval("formName."+fTypes[0]+".value");
					if (i == 0) {
						addStr = addStr + fTypes[0] + "-+-" + fVal;
					} else {
						itemVals[fTypes[0]] = fVal;
					}
					if (fTypes[0] == "quantity") {
						var quantity = itemVals[fTypes[0]];
					}
					if (fTypes[0] == "sleeve_avail") {
						var priceVars = new Array();
						priceVars = fVal.split("~p~");
						if (priceVars.length > 1) {
							itemVals[fTypes[0]] = priceVars[0];
							itemVals["price"] = priceVars[1];
						} else {
							itemVals[fTypes[0]] = priceVars[0];
						}
					}
				} else {
					if (i == 0) {
						addStr = addStr + fTypes[0] + "-+-" + defaultDB;
					} else {
						itemVals[fTypes[0]] = "";
					}
				}
			}
			if (fTypes[1] == "s") {
				if (eval("formName."+fTypes[0]) != null) {
					fVal = eval("formName."+fTypes[0]+".options[formName."+fTypes[0]+".selectedIndex].value");
					
					var priceVars = new Array();
					priceVars = fVal.split("|");
					if (priceVars.length > 1) {
						itemVals[fTypes[0]] = fVal;
						itemVals["price"] = priceVars[1];
					} else {
						if (i == 0) {
							addStr = addStr + fTypes[0] + "-+-" + fVal;
						} else {
							itemVals[fTypes[0]] = fVal;
						}
					}
				} else {
					if (i == 0) {
						addStr = addStr + fTypes[0] + "-+-" + defaultDB;
					} else {
						itemVals[fTypes[0]] = "";
					}
				}
			}
		}
	}
	
	if (quantity < 1) {
		alert("You must provide a correct quantity!");
		return false;
	}
	var reg = /[a-zA-Z]/gi;
	var ar;
	if (ar = reg.exec(quantity)) {
		alert("You must provide a correct quantity!");
		return false;
	}
	reg = /\./gi;
	if (ar = reg.exec(quantity)) {
		alert("You must provide a correct quantity!");
		return false;
	}
	
	for ( var i in itemVals) {
		addStr = addStr + "//" + i + "-+-" + itemVals[i];
	}
	if (Cart != null) {
		tFields = Cart.split("||");
		if (tFields.length > 0) {
			for (var i=0; i < tFields.length; i++) {
				if (tFields[i] != "") {
					addStr = addStr + "||" + tFields[i];
				}
			}
			deleteCookie(cartname, "/");
			setCookie (cartname, addStr, 365, "/");
		} else {
			deleteCookie(cartname, "/");
			setCookie (cartname, addStr, 365, "/");
		}
	} else {
		setCookie (cartname, addStr, 365, "/");
	}
	window.location = "index.php?pg=products.htm&action=viewcart";
	
}

function cartUpdate (id) {
	var Cart = GetCookie(cartname);
	
	var tFields = new Array();
	var items = "";
	var formName = id.form;
	var formID = formName.name;
	var dbname = formName.db.value;
	var dVal = dbfields[dbname];
	var addStr = "";
	var updateStr = "";
	var tmp;
	var dFields = new Array();
	dFields = dVal.split("|");
	var itemVals = new Array();
	updateStr = formID+"=";
	for (var i=0; i < dFields.length; i++) {
		if (dFields[i] != "") {
			var fTypes = new Array();
			fTypes = dFields[i].split("=");
			var fVal;
			if (fTypes[1] == "i") {
				if (eval("formName."+fTypes[0]) != null) {
					fVal = eval("formName."+fTypes[0]+".value");
					if (i == 0) {
						updateStr = updateStr + fTypes[0] + "-+-" + fVal;
					} else {
						itemVals[fTypes[0]] = fVal;
					}
					if (fTypes[0] == "quantity") {
						var quantity = itemVals[fTypes[0]];
					}
					if (fTypes[0] == "sleeve_avail") {
						var priceVars = new Array();
						
						priceVars = fVal.split("~p~");
						if (priceVars.length > 1) {
							itemVals[fTypes[0]] = priceVars[0];
							itemVals["price"] = priceVars[1];
						} else {
							itemVals[fTypes[0]] = priceVars[0];
						}
					}
				} else {
					if (i == 0) {
						updateStr = updateStr + fTypes[0] + "-+-" + defaultDB;
					} else {
						itemVals[fTypes[0]] = "";
					}
				}
			}
			if (fTypes[1] == "s") {
				if (eval("formName."+fTypes[0]) != null) {
					
					fVal = eval("formName."+fTypes[0]+".options[formName."+fTypes[0]+".selectedIndex].value");
					var priceVars = new Array();
					priceVars = fVal.split("~p~");
					if (priceVars.length > 1) {
						itemVals[fTypes[0]] = fVal;
						itemVals["price"] = priceVars[1];
					} else {
						if (i == 0) {
							updateStr = updateStr + fTypes[0] + "-+-" + fVal;
						} else {
							itemVals[fTypes[0]] = fVal;
						}
					}
					
					
				} else {
					if (i == 0) {
						updateStr = updateStr + fTypes[0] + "-+-" + defaultDB;
					} else {
						itemVals[fTypes[0]] = "";
					}
				}
			}
		}
	}
	
	if (quantity < 1) {
		alert("You must provide a correct quantity!");
		return false;
	}
	var reg = /[a-zA-Z]/gi;
	var ar;
	if (ar = reg.exec(quantity)) {
		alert("You must provide a correct quantity!");
		return false;
	}
	reg = /\./gi;
	if (ar = reg.exec(quantity)) {
		alert("You must provide a correct quantity!");
		return false;
	}
	
	if (Cart != null) {
		tFields = Cart.split("||");
		var fStart = 0;
		if (tFields.length > 0) {
		
			for (var i=0; i < tFields.length; i++) {
				tmp = tFields[i];
				
				var tCart = new Array();
				if (tFields[i] != "") {
					tCart = tmp.split("=");
					
					if (formID == tCart[0]) {
						
						if (fStart != 1) {
							for ( var j in itemVals) {
								updateStr = updateStr + "//" + j + "-+-" + itemVals[j];
							}
							addStr = updateStr;
							fStart = 1;
						} else {
							for ( var j in itemVals) {
								updateStr = updateStr + "//" + j + "-+-" + itemVals[j];
							}
							addStr = addStr + "||" + updateStr;
						}
						
					} else {
						if (fStart != 1) {
							addStr = addStr + tCart[0] + "=" + tCart[1];
							fStart = 1;
						} else {
							addStr = addStr + "||" + tCart[0] + "=" + tCart[1];
						}
					}
					
			
				}
			}
			deleteCookie(cartname, "/");
			setCookie (cartname, addStr, 365, "/");
		} else {
			deleteCookie(cartname, "/");
			setCookie (cartname, addStr, 365, "/");
		}
	}
	window.location = "index.php?pg=products.htm&action=viewcart";
}

function cartClear() {
	deleteCookie(cartname, "/");
	window.location = "index.php?pg=products.htm&action=viewcart";
}

function cartRemove (id) {
	var Cart = GetCookie(cartname);
	
	var tFields = new Array();
	var items = "";
	var formName = id.form;
	var formID = formName.name;
	var addStr = "";
	var tmp;
	if (Cart != null) {
		tFields = Cart.split("||");
		var fStart = 0;
		if (tFields.length > 0) {
			for (var i=0; i < tFields.length; i++) {
				tmp = tFields[i];
				var tCart = new Array();
				if (tFields[i] != "") {
					tCart = tmp.split("=");
					if (formID == tCart[0]) {
					} else {
						if (fStart != 1) {
							addStr = addStr + tCart[0] + "=" + tCart[1];
							fStart = 1;
						} else {
							addStr = addStr + "||" + tCart[0] + "=" + tCart[1];
						}
					}
				}
			}
			deleteCookie(cartname, "/");
			setCookie (cartname, addStr, 365, "/");
		} else {
			deleteCookie(cartname, "/");
			setCookie (cartname, addStr, 365, "/");
		}
	}
	window.location = "index.php?pg=products.htm&action=viewcart";
}

function deleteCookie(Name, Path) {
	setCookie(Name,"Deleted", -1, Path)
}

function opendetailwindow(url) { 
    window.open(url,'detailwindow','toolbar=no,scrollbars=yes,resizable=no,width=800,height=480');
}

function emailUs(to, domain, ext, subject) {
	var url = 'mailTo:'+to+'@'+domain+'.'+ext+'?'+subject;
	window.open(url);
}

function openMenu(id) {
	var p=document.getElementById(id);
	p.style.visiblility = 'visible';

}

