/*
	plcookies.js
	
	Program to manage PubList cookies

	Author: John D. Lewis
	Created: 9/17/99	
	$Id$
 */
 
function showClipboard() {
	/* old implementation:
	var arr = _getFavorites();
	alert('Favorites:\n- ' + arr.join('\n- '));
	*/
	// new implementation:
	// first try: alert('Favorites: ' + document.frmAddTest.favs.value)
	// second try:
	var newURL = "/cgi-bin/UserReg/clipview.cgi";
	window.open(newURL, "favWin", 'resizable=no,width=400,height=400,screenX=0,screenY=0,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes');
};

function clearText() {
	_nukeCookie('plText');
	document.clipForm.clipText.value = "";
	alert('Text is now cleared.');
};

function clearView() {
	_nukeCookie('plView');
	alert('Last viewed list is now empty.');
};

function clearFavorites() { 
	_nukeCookie('plFav'); 
	alert('Favorites list is now empty.'); 
};

function delFavorite(val) {
	var maxLen = 5;

	var arr = _getFavorites();
	var arrStr = arr.join('&');
	var isInThere = arrStr.indexOf(val);

	if (isInThere == -1) {
		alert(val + ' is not in your favorites list');
	} else {
		var newArr = new Array();
		//alert('arr.length = ' + arr.length);
		for (i=0; i < arr.length; i++) {
			if (arr[i] != val) {
				//alert('in if... newArr.length = ' + newArr.length);
				newArr[newArr.length] = arr[i];
			};
			//alert('i = ' + i + '\narr = ' + arr[i] + '\nnewArr = ' + newArr.join('+'));
		}; // for (i=0...

		if (newArr.length > 0) {
			document.cookie = "plFav=" + newArr.join('&') + ";path=/";
		} else {
			document.cookie = "plFav=;path=/;expires=Fri, 02-Jan-1970 00:00:00 GMT";
		};
		alert(val + ' removed from your favorites list');
	}; // if (isInThere == -1)
}; // function delFavorite


function setText(val) {
	if (!val) {
		val = document.clipForm.clipText.value;
	};

	if (val.length <= 0) {
		document.cookie = "plText=;path=/;expires=Fri, 02-Jan-1970 00:00:00 GMT";
		document.clipForm.clipText.value = "";
		alert('Text cleared.');
	} else {
		var escval = escape(val);
		if (escval.length > 2000) {
			escval = escval.substr(0, 2000);
			val = unescape(escval);
		};
		document.cookie = "plText=" + escval + ";path=/";
		document.clipForm.clipText.value = val;
		alert('Text set to ' + unescape(escval));
	};
};

function addFavorite(val) {
	if (!val) {
		val = document.dataForm.PLID.value;
	};

	var arr = _getFavorites();
	var arrStr = arr.join('&');
	var isInThere = arrStr.indexOf(val);
	if (isInThere == -1) {
		// Not in there
		arr[arr.length] = val;
		var oldLen = arr.length;
		if (oldLen > 5) {
			arr.length = 6;
			for (i=0; i < 6; i++) {
				arr[i] = arr[i+1];
			};
			arr.length = 5;
		}; // if (oldLen > 5)
		document.cookie = "plFav=" + arr.join('&') + ";path=/";
		alert(val + ' added to favorites');
	} else {
		alert(val + ' already in your favorites list');
	}; // if (isInThere == -1)
};

function _nukeCookie(val) {
	document.cookie = val + "=;path=/;expires=Fri, 02-Jan-1970 00:00:00 GMT";
};

function _nukeAllCookies() {
	_nukeCookie('plView');
	_nukeCookie('plFav');
	_nukeCookie('plText');
};

function setupCookies() { _nukeAllCookies(); };

function clearUp(sect) {
	//alert('sect = ' + sect);
	var cookieName = 'pl' + sect;
	//alert('cookieName = ' + cookieName);
	_nukeCookie(cookieName);
	showClipboard();
};

function _getFavorites() {
	var arr = new Array();

	var s = this.document.cookie;
	var start = s.indexOf('plFav=');
	if (start == -1) return(arr);
	start = start + 6;
	var end = s.indexOf(';', start);
	if (end == -1) end = s.length;
	var value = s.substring(start, end);

	arr = value.split('&');
	return(arr);
};

function _validPLID(inPLID) {
	if (inPLID.length == 7 &&
		inPLID.substr(0,5) > 100000 &&
		(inPLID.charAt(6) == 'X' || (isNaN(parseInt(inPLID.charAt(6)))))
		) {
		return true;
	};
	return false;
};