function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function inFavorites(houseID, houseName)
{
	var houseCookie = readCookie("hh_faves");
	if(houseCookie != null)
	{
		houses = houseCookie.split("|");
		for(var i = 0; i < houses.length; i++)
		{
			var attr = houses[i].split("~");
			if(attr[0] == houseID && attr[1] == houseName)
			{
				return true;
			}
		}
	}
	return false;
}

function addToFavorites(houseID,houseName,linkEl)
{
	var houseCookie = readCookie("hh_faves");
	var houses = houseCookie ? houseCookie.split("|") : [];
	var alreadySaved = inFavorites(houseID, houseName);
	if(alreadySaved == false)
	{
		houses[houses.length] = houseID+"~"+houseName;
		var houseString = houses.join("|");
		createCookie("hh_faves", houseString, 3);
		linkEl.innerHTML = "Remove from Favorites";
	}
	else
	{
		removeFromFavorites(houseID, houseName);
		linkEl.innerHTML = "Add to Favorites";
	}
	return false;
}

function removeFromFavorites(houseID, houseName)
{
	var houses = Array();
	var houseCookie = readCookie("hh_faves");
	var alreadySaved = false;

	if(houseCookie != null)
	{
		houses = houseCookie.split("|");
		for(var i = 0; i < houses.length; i++)
		{
			var attr = houses[i].split("~");
			if(attr[0] == houseID && attr[1] == houseName)
			{
				houses.splice(i,1);
			}
		}
		var houseString = houses.join("|");
		createCookie("hh_faves", houseString, 3);
	}
	return false;
}

function getFavorites()
{
	var houseCookie = readCookie("hh_faves");
	if(houseCookie == null)
		return null;
	
	var houses = houseCookie.split("|");
	var returnArray = Array();
	for(var i = 0; i < houses.length; i++)
	{
		var attr = houses[i].split("~");
		returnArray[i] = Array(attr[0], attr[1]);
	}
	return returnArray;
}

$().ready(function () {
	var favoriteLinks = document.getElementsBySelector(".flink");
	if(favoriteLinks.length > 0)
	{
		for(var i = 0; i < favoriteLinks.length; i++)
		{
			var info = favoriteLinks[i].getAttribute("rel").split("#");
			if(inFavorites(info[0], info[1]))
			{
				favoriteLinks[i].innerHTML = "Remove from Favorites";	
			}
		}
	}
});