var WATCHLIST_FUNDS_QUANTITY_MAX = 100;

function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function AddToWatchlist(cookieName, issueId, watchlistFundsExceedingMessage)
{
	var exdate=new Date()
	exdate.setDate(exdate.getDate() + 180)
	var value = getCookie(cookieName);
	if (value != null)
	{
		var found = false;
		var issueIDs_array = value.split(";");
    	
    	if (issueIDs_array.length >= WATCHLIST_FUNDS_QUANTITY_MAX) 
    	{
    		alert(String.format(watchlistFundsExceedingMessage, WATCHLIST_FUNDS_QUANTITY_MAX));
    		return false;
    	}
    	
    	for (i in issueIDs_array)
		{
			if (issueIDs_array[i] == issueId)
			{
				found = true;
				break;
			}
        }
        if (found == false)
        {
			issueIDs_array[issueIDs_array.length] = issueId;
			setCookie(cookieName, issueIDs_array.join(";"), exdate.toGMTString(), "/");
        }
	}
	else
	{
		setCookie(cookieName, issueId, exdate.toGMTString(), "/");
	}
	
	return true;
}

function DeleteFromWatchlist(cookieName, unchecked_issueIDs_array, fundsWillBeRemovedMessage)
{
	var found = false;
	for (i in unchecked_issueIDs_array)
	{
		if (unchecked_issueIDs_array[i] != null)
        {
			found = true;
			break;
        }
    }

	if (found == true)
	{
		if (confirm(fundsWillBeRemovedMessage) == false)
		{
			return false; 
		}

		var value = getCookie(cookieName);
		if (value == null)
		{
			return false;
		}

		var issueIDs_array = value.split(";");
        		
		for (i in unchecked_issueIDs_array)
		{
            if (unchecked_issueIDs_array[i] != null)
            {
				for (i_1 in issueIDs_array)
				{
					if (unchecked_issueIDs_array[i] == issueIDs_array[i_1])
					{
						issueIDs_array[i_1] = null;
					}
				}
			}	
        }
    
        var issueIDs_string = "";
		for (i_2 in issueIDs_array)
		{
			if (issueIDs_array[i_2] != null)
			{
				issueIDs_string = issueIDs_string + ((issueIDs_string == "") ? "" : ";") + issueIDs_array[i_2];
			}
		}

		var exdate=new Date()
		exdate.setDate(exdate.getDate() + 180)
		setCookie(cookieName, issueIDs_string, exdate.toGMTString(), "/");
 
		return true;
	}
	else
	{
		return false;
	}	
}