function SaveFavorite(page) {
	var cookie = ReadCookie("EventmarketFavorites");
	if (cookie == null) {
		cookie = page;
	} else {
		cookie = cookie + "#" + page;
	}
	CreateCookie("EventmarketFavorites", cookie, 365);
	
	// Change the save link
	id = page.split("_")[0];
	if (window.location.href.indexOf("PresentationPage") != -1) {
		aTop = document.getElementById("SaveLink" + id + "Top");
		aTop.className = "Favorite";
		aTop.href = "Favorites.aspx";
		aTop.innerHTML = "Favorit";
		aBottom = document.getElementById("SaveLink" + id + "Bottom");
		aBottom.className = "Favorite";
		aBottom.href = "Favorites.aspx";
		aBottom.innerHTML = GetText("Favorite");
	} else {
		a = document.getElementById("SaveLink" + id);
		a.className = "Favorite";
		a.href = "Favorites.aspx";
		a.innerHTML = GetText("Favorite");
	}
}

function EraseFavorite(id) {
	var erase = confirm(GetText("ConfirmDeleteFavorite"));
	if (erase) {
		var oldCookie = ReadCookie("EventmarketFavorites");
		var pages = oldCookie.split("#");
		var removeIndex = 654321;
		for(i=0; i< pages.length; i++) {
			if (pages[i].indexOf(id) != -1)
				removeIndex = i;
		}
		if (removeIndex != 654321) pages.splice(removeIndex,1);
		
		if (pages.length > 0) {
			var newCookie = pages.join("#");
			
			CreateCookie("EventmarketFavorites", newCookie, 365);
		
			var tr = document.getElementById("Favorite" + id);
			tr.parentNode.removeChild(tr);
		
			StripeTable("FavoritesTable");
		} else {
			EraseCookie("EventmarketFavorites");
			InsertEmptyCell();
		}
	}
}

function EraseAllFavorites() {
	var erase = confirm(GetText("ConfirmDeleteAllFavorites"));
	if (erase) {
		EraseCookie("EventmarketFavorites");
		InsertEmptyCell();
	}
}

function InsertEmptyCell() {
	table = document.getElementById("FavoritesTable");
	rows = table.getElementsByTagName("TR");
	while(table.hasChildNodes()) {
		table.removeChild(table.firstChild);
	}
	tbody = document.createElement("tbody");
	tr = document.createElement("tr");
	td = document.createElement("td");
	text = document.createTextNode(GetText("NoFavorites"));
	
	td.appendChild(text);
	tr.appendChild(td);
	tbody.appendChild(tr)
	table.appendChild(tbody);
}

function StripeTable(table) {
	table = document.getElementById(table);
	for (i=0; (tr = table.getElementsByTagName("TR")[i]); i++) {
		tr.className = "";
		if ((i+1)%2==0) {
			tr.className = "Even";
		}
	}
}

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 UpdateHitCounter(counterID) {
	var xmlHttp;

	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				// browser does not support ajax
				return false;
			}
		}
	}
	
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			// response went through
		}
	}

	xmlHttp.open("GET", "../Code/UpdateFavoriteCounter.aspx?CounterID=" + counterID, true);
	xmlHttp.send(null);
}
