
function createRequestObject() {
	var ro;
	try {
		ro = new XMLHttpRequest();
	}
	catch (tryms) {
		try {
			ro = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (otherms) {
			ro = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return ro;
}

function updateData(sku, action) {
	// alert("updateData called with " + sku + " " + action);
	dbupdate = createRequestObject();
	dbupdate.open('get','/cgi-bin/wr_portfolio?sku='+sku+'&action='+action, true);
	dbupdate.onreadystatechange = dbupdateHandler;
	dbupdate.send(null);
}

function dbupdateHandler() {
	if (dbupdate.readyState == 4) { 
		// alert("dbupdate completed " +  dbupdate.statusText);
	} 
}

function setDisplayNone(id){
	// var off = document.getElementById(id);
	// off.style.display = "none";
	document.getElementById(id).style.display = "none";
}

function setDisplayInline(id){
	// var on = document.getElementById(id);
	// on.style.display="inline";
	document.getElementById(id).style.display = "inline";
}

function t_addCookie(name) {
	var id = name + "_add";
	setDisplayNone(id);
	id = name + "_remove";
	setDisplayInline(id);
}

function t_removeCookie(name) {
	var id = name + "_remove";
	setDisplayNone(id);
	id = name + "_add";
	setDisplayInline(id);
}

function addCookie(value) {
	// toggle display of the add/remove links, turn add off and remove on
	var id = value + "_add";
	setDisplayNone(id);
	id = value + "_remove";
	setDisplayInline(id);

	var val = getCookie("portfolio");
	if(val == null) {
		setCookie("portfolio", value);
		return;
	}
	var offset = val.indexOf(value);
	if(offset == -1) {
		len = val.length;
		if(len > 0) {
			setCookie("portfolio", val + ":" + value);
		}
		else {
			setCookie("portfolio", value);
		}
	}
	updateData(value, "add");
}

function removeCookie(value) {
	// toggle display of the add/remove links, turn add on and remove off
	var id = value + "_remove";
	setDisplayNone(id);
	id = value + "_add";
	setDisplayInline(id);

	var val = getCookie("portfolio");
	if(val == null) {
		setCookie("portfolio", newval);
		return;
	}
	// alert("cookie is now " + val);
	var offset = val.indexOf(value);
	// alert("found " + value + " at " + offset);
	if(offset != -1) {
		var end = val.indexOf(":", offset);
		if (end == -1) {
			end = val.length;
		}
		// alert("ends at " + end);
		if(offset > 0) {
			// not at beginning of string, need to cut out of middle
			// end at offset - 1 to get rid of :
			newval = val.substring(0, offset-1);
			newval += val.substring(end);
		}
		else {
			newval = val.substring(end+1);
		}
		// alert("cookie is now " + newval);
		setCookie("portfolio", newval);
	}
	updateData(value, "remove");
}

