var userFunctions_cookiePrefix = "ArticleLive_";
var userFunctions_separator = '|';
var userFunctions_applicationPath = '/';

	function getForeverDate()
	{
		var nowDate = new Date();         nowDate.setMonth(nowDate.getMonth() + 12);         return nowDate.toGMTString();
	}

    function getCookieValue(name)       {         var cookieString = document.cookie;         var index = cookieString.indexOf(name + "=");         if (index == -1) return null;         index = cookieString.indexOf("=", index) + 1;         var endstr = cookieString.indexOf(";", index);         if (endstr == -1) endstr = cookieString.length; 		return unescape(cookieString.substring(index, endstr));      } 
      
          function setCookieValue(cookieName, cookieValue, cookiePath, cookieExpires)       {         cookieValue = escape(cookieValue);         if (cookieExpires == "" || cookieExpires == null)           {            cookieExpires = getForeverDate();          }        if (cookiePath != "")           {            cookiePath = ";Path=" + cookiePath;           }                  document.cookie = cookieName + "=" + cookieValue + ";expires=" + cookieExpires + cookiePath;      }

function addArticleToHistory(articleID)
{
	var cookieName = userFunctions_cookiePrefix + 'History';

	var historyCookie = getCookieValue(cookieName);
	var historyIDs = historyCookie.split(userFunctions_separator).reverse();
	
	if (arrayContains(historyIDs, articleID))
	{
		historyIDs = arrayRemoveByValue(historyIDs, articleID)
	}
	else if (historyIDs.length == 10)
	{
		historyIDs.pop();
		historyIDs.shift();
	}
	
	historyIDs.push(articleID);
	
	historyCookie = historyIDs.reverse().join(userFunctions_separator);
	
	var nowDate = new Date();     nowDate.setYear(nowDate.getYear() + 20);     var cookieExpires = nowDate.toGMTString(); 

	setCookieValue(cookieName, historyCookie, userFunctions_applicationPath);
}

function arrayContains(arr, contains)
{
	for (var i = 0; i < arr.length; i++)
	{
		if (arr[i] == contains)
			return true;
	}
	return false;
}

function arrayRemoveByValue(arr, value)
{
	for (var i = 0; i < arr.length; i++)
	{
		if (arr[i] == value)
			arr.splice(i, 1);
	}
	return arr;
}

function addArticleToFavourites(articleID)
{
	var cookieName = userFunctions_cookiePrefix + 'Favourites';

	var favouritesCookie = getCookieValue(cookieName);
	if (favouritesCookie == null)
		favouritesCookie = '';
	var favouritesIDs = favouritesCookie.split(userFunctions_separator).reverse();
	
	if (arrayContains(favouritesIDs, articleID))
	{
		favouritesIDs = arrayRemoveByValue(favouritesIDs, articleID)
	}
	
	favouritesIDs.push(articleID);
	
	favouritesCookie = favouritesIDs.reverse().join(userFunctions_separator);

	setCookieValue(cookieName, favouritesCookie, userFunctions_applicationPath);
}

function removeArticleFromFavourites(articleID)
{
	var cookieName = userFunctions_cookiePrefix + 'Favourites';

	var favouritesCookie = getCookieValue(cookieName);
	var favouritesIDs = favouritesCookie.split(userFunctions_separator).reverse();
	
	if (arrayContains(favouritesIDs, articleID))
	{
		arrayRemoveByValue(favouritesIDs, articleID);
	}
	
	favouritesCookie = favouritesIDs.reverse().join(userFunctions_separator);
	
	setCookieValue(cookieName, favouritesCookie, userFunctions_applicationPath);
}

/*function markArticleAsRead(articleID)
{
	var nowDate = new Date();     nowDate.setYear(nowDate.getYear() + 20);     var cookieExpires = nowDate.toGMTString(); 

	// Add to read list.
	var readCookieName = userFunctions_cookiePrefix + 'Read';

	var readCookie = getCookieValue(readCookieName);
	if (readCookie == null)
		readCookie = '';
	var readIDs = readCookie.split(userFunctions_separator).reverse();

	if (!arrayContains(readIDs, articleID))
	{
		readIDs.push(articleID);
	}

	readCookie = readIDs.reverse().join(userFunctions_separator);
	
	setCookieValue(readCookieName, readCookie, '', cookieExpires);
	
	// Remove from read later list.
	var readLaterCookieName = userFunctions_cookiePrefix + 'ReadLater';

	var readLaterCookie = getCookieValue(readLaterCookieName);
	var readLaterIDs = readLaterCookie.split(userFunctions_separator).reverse();

	arrayRemoveByValue(readLaterIDs, articleID);
	
	readLaterCookie = readLaterIDs.reverse().join(userFunctions_separator);
	setCookieValue(readLaterCookieName, readLaterCookie, '', cookieExpires);
}*/

/*function markArticleAsUnread(articleID)
{
	var cookieName = userFunctions_cookiePrefix + 'Read';

	var readCookie = getCookieValue(cookieName);
	var readIDs = readCookie.split(userFunctions_separator).reverse();
	
	if (arrayContains(readIDs, articleID))
	{
		arrayRemoveByValue(readIDs, articleID);
	}
	
	readCookie = readIDs.reverse().join(userFunctions_separator);
	
	var nowDate = new Date();     nowDate.setYear(nowDate.getYear() + 20);     var cookieExpires = nowDate.toGMTString(); 
	
	setCookieValue(cookieName, readCookie, '', cookieExpires);
}*/

function addArticleToReadLater(articleID)
{
	var cookieName = userFunctions_cookiePrefix + 'ReadLater';

	var readLaterCookie = getCookieValue(cookieName);
	if (readLaterCookie == null)
		readLaterCookie = '';
	var readLaterIDs = readLaterCookie.split(userFunctions_separator);
	
	readLaterIDs = readLaterIDs.reverse();
	
	if (!arrayContains(readLaterIDs, articleID))
	{
		readLaterIDs.push(articleID);
	}
	
	readLaterCookie = readLaterIDs.reverse().join(userFunctions_separator);

	setCookieValue(cookieName, readLaterCookie, userFunctions_applicationPath);
}

function removeArticleFromReadLater(articleID)
{
	var cookieName = userFunctions_cookiePrefix + 'ReadLater';

	var readLaterCookie = getCookieValue(cookieName);
	var articlesToReadIDs = readLaterCookie.split(userFunctions_separator).reverse();
	
	if (arrayContains(articlesToReadIDs, articleID))
	{
		arrayRemoveByValue(articlesToReadIDs, articleID);
	}
	
	readLaterCookie = articlesToReadIDs.reverse().join(userFunctions_separator);

	setCookieValue(cookieName, readLaterCookie, userFunctions_applicationPath);
}

function emailToFriend(articleID, page)
{
	var xPos = screen.availWidth / 2 - 250;
	var yPos = screen.availHeight / 2 - 215;
	// Open the window to email this question to a friend
	window.open(page + "?ArticleID=" + articleID, "EmailPage", "width=600, height=500, toolbar=1, scrollbars=1, left=" + xPos + ", top=" + yPos);
}
