function Basket(er, sg, hp) 
{ 
	this.er = er;
	this.sg = sg;
	this.hp = hp;
}

var basket = new Basket(0,0,0);

function setCookie(name, value)
{
   var expires=new Date();
   //var domain = "dev.acumentum.com";
   var domain = document.domain;
   var path = "/";
   expires.setTime(expires.getTime()+(24*60*60*1000)*180);
   document.cookie= name + "=" + escape(value) + "; expires=" + expires.toGMTString() + "; path=" + path + "; domain=" + domain;
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function checkCookie()
{
	var num = parseInt(getCookie("hearts"));
	if (isNaN(num)) 
	{
		num = 0;
		setCookie("hearts", num);
	}
	return num;
	//return 999;
}

function initHeats()
{
	var num = checkCookie();
	basket.er = 0;
	basket.sg = 0;
	basket.hp = 0;
	document.getElementById("hearts").innerHTML = num;
}

function sendXMLrequest(x)
{
	if (window.ActiveXObject)
	{
		var req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		var req = new XMLHttpRequest();
	}
	req.open("POST", "/libragirl/updateHearts.jsp?hearts="+(x), true);
	req.send(null);
}

function addHearts(x) {
	var num = checkCookie();
	if (num <(999-x))
	{
		num = num+x;
		setCookie("hearts",num);
	}
	writeLayer("hearts",num);
	sendXMLrequest(num);
}

function setVisibility(id, visible) {
	if (id!=null) {
		document.getElementById(id).style.visibility = (visible) ? "visible" : "hidden";
	}
}

function flashHearts(){
	document.hfcount++;
	setVisibility("hearts", document.hfcount%2);
	if (document.hfcount >= 11) clearInterval(document.si);
}

function getHeart(h, d) {
	/*img = getImage(h,d);
	if (img.offsrc == img.onsrc) return;
	img.offsrc = img.onsrc;
	var num = parseInt(getCookie("hearts"));
	if (isNaN(num)) num = 0;
	if (num <99) setCookie("hearts",++num); */
	//writeLayer(getLayer("hcount"), num);
	//document.hfcount = 1;
	//clearInterval(document.si);
	//document.si = setInterval('flashHearts()',100);
	//if (debug) document.forms['h'].hearts.value = getCookie("hearts");
	
	var num = checkCookie();
	if (isNaN(num)) num = 0;
	writeLayer("hearts", num);
}

function writeLayer(layer, text)
{
	document.getElementById(layer).innerHTML = text;
	document.hfcount = 1;
	clearInterval(document.si);
	document.si = setInterval('flashHearts()',100);
}


function resetHearts() {
	num =  checkCookie();
	if (isNaN(num)) num = 0;
	basket.er = 0;
	basket.sg = 0;
	basket.hp = 0;
	writeLayer("hearts", num);
}

function delHeart(n, t) {
	num =  checkCookie();
	cur = eval("basket."+t);
	diff = cur - n;
	if (isNaN(num)) num = 0;
	num = num - (basket.er + basket.sg + basket.hp);
	if (num + diff < 0) return false;
	f = num+diff;
	eval("basket."+t+"="+n);
	writeLayer("hearts", f);
	return true;
}

function commitHearts() {
	num = checkCookie();
	n = num - basket.er - basket.sg - basket.hp;
	setCookie("hearts", n);
	sendXMLrequest(n);
	writeLayer("hearts", n);
	basket.er = basket.sg = basket.hp = 0;
}

function swapHeart(h,d) {
	swapImage(h,d);	
}

function changeImgItem(h,d, bg) {
	i = eval(h);
	i++;
	if (i == 4) i = 1;
	swapImage(h,d,"/images/bg/"+bg+"/"+h+i+".gif");
	setCookie(h, i);
	eval(h +"="+i);
	
}
function payHearts(n, cmd, t){
	if (delHeart(n, t)){ 
		eval(cmd);
	} else {
		alert('You do not have enough hearts to get this accessory.<br>Go to your homepage to collect some more!');
	}
}
