// Common Cookie Functions
// Create Erase and Get/Read
function createCookie(name,value,days) //Create Single Cookie Function
{
	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 eraseCookie(name)  //Delete Single Cookie Function
{	
	createCookie(name,"",-1);
}	
			
function getCookie (name)  //Read Single Cookie Function
{ 
	var dcookie = document.cookie; 
	var cname = name + "=";
	var clen = dcookie.length;
	var cbegin = 0;
	while (cbegin < clen) {
	var vbegin = cbegin + cname.length;
		if (dcookie.substring(cbegin, vbegin) == cname) { 
			var vend = dcookie.indexOf (";", vbegin);
			if (vend == -1) vend = clen;
			return unescape(dcookie.substring(vbegin, vend));
		}
		cbegin = dcookie.indexOf(" ", cbegin) + 1;
		if (cbegin == 0) break;
    }
return null;
}

// Cookie Array Functions
// Create and Get cookie array based of name. Add a digit at the end to mimic an array
function setCookieArray(name){
	this.length = setCookieArray.arguments.length - 1;
	for (var i = 0; i < this.length; i++) {
		this[i + 1] = setCookieArray.arguments[i + 1]
		createCookie (name + i, this[i + 1], 365);
	}        
}

function getCookieArray(name){
	var i = 0;
	while (getCookie(name + i) != null) {
		this[i + 1] = getCookie(name + i);
		i++; this.length = i; 
	}
}

// Allow spaces in cookie values
function cookieSpaces(value){
	var tempValue = value;
	var i = tempValue.indexOf(' ');
	while(i > -1){
		tempValue = tempValue.replace(' ', '%20');
		i = tempValue.indexOf(' ');
	}
	return tempValue;
}

// Menu links under "My LInks" are added as Cookies
function createMenuCookie(URL)
{
	var MenuLinkArray = new getCookieArray("LinkURL");
	var MenuLinkNameArray = new getCookieArray("LinkName");		
	var LinkTotal = 0;
	var PageTitle = document.title;

	//Array with comon page titles to be ignored
	var PageTitlesArray = new Array("Unisys: Government Transformation Center - ","New Site","Unisys: Government Transformation Center");
	
	for (var h = -1; h < PageTitlesArray.length; h++) {
		var FoundMatchArray = PageTitle.split(PageTitlesArray[h])
		if (FoundMatchArray.length > 1) {
			if (FoundMatchArray[1]) {
				PageTitle = FoundMatchArray[1];
			}
			else {
				PageTitle = "New Link";
			}
		}
	}

	var LinkNameValue = prompt("Name Your Link:",PageTitle);
	if (LinkNameValue){
		if (MenuLinkArray.length > 0 ){
			for (var j = 0; j < MenuLinkArray.length; j++) {
				eraseCookie ("LinkURL" + j);
				eraseCookie ("LinkName" + j);
			}
			for (var k = 1; k < MenuLinkArray.length + 1; k++) {
					createCookie ("LinkURL" + (k-1), MenuLinkArray[i], 365);
					createCookie ("LinkName" + (k-1), cookieSpaces(MenuLinkNameArray[k]), 365);
					LinkTotal = MenuLinkArray.length			
			}
			createCookie ("LinkURL" + LinkTotal, URL, 365);
			createCookie ("LinkName" + LinkTotal,cookieSpaces(LinkNameValue), 365);
		}
		else {
			createCookie ("LinkURL" + LinkTotal, URL, 365);
			createCookie ("LinkName" + LinkTotal,cookieSpaces(LinkNameValue), 365);
		}
	
		window.location.reload( true );		
	}
}

// Delete Menu links from "My LInks" category.
function DeleteMenuCookie(MenuItem)
{
	var offset = 0;
	var answer = confirm('Are you sure you want to delete this link?')
	if (answer) {
		var MenuLinkArray = new getCookieArray("LinkURL");
		var MenuLinkNameArray = new getCookieArray("LinkName");	
		for (var j = 0; j < MenuLinkArray.length; j++) {
			eraseCookie ("LinkURL" + j);
			eraseCookie ("LinkName" + j);
		}
		for (var i = 0; i < MenuLinkArray.length; i++) {
			if ( i != MenuItem){
				createCookie ("LinkURL" + (i-offset), MenuLinkArray[i+1], 365);
				createCookie ("LinkName" + (i-offset), cookieSpaces(MenuLinkNameArray[i+1]), 365);
			}
			else{
				offset = 1;
			}
		}
		window.location.reload( true )
	}
	return;
}

//Swap Images Function				
function swapMenuMouseOver(imagename){

	if (document.getElementById(imagename).title == 'Expand') {
		document.getElementById(imagename).className = "MenuCategoryExpandOver";
		}
	if (document.getElementById(imagename).title == 'Collapse') {
		document.getElementById(imagename).className = "MenuCategoryCollapseOver";
		}

}

function swapMenuMouseOut(imagename){

	if (document.getElementById(imagename).title == 'Expand') {
		document.getElementById(imagename).className = "MenuCategoryExpand";
		}
		
	if (document.getElementById(imagename).title == 'Collapse') {
		document.getElementById(imagename).className = "MenuCategoryCollapse";
		}
}

function swapImage(imagename,image){
		imagename.src = image;
}

function swapClasses(FromClass,ToClass){
		FromClass.className = ToClass;
}


//Hide and Display Menu Active and Inactive Categories.
function Visible(cookieid,sizepx)
{
	parentb = document.getElementById('ID'+cookieid+'b');
	parenta = document.getElementById('ID'+cookieid+'a');
	imagename = document.getElementById('IMAGE'+cookieid);
	cellid = document.getElementById('CELL'+cookieid);


	startExpand("ID"+cookieid,sizepx,15);

	if (parentb.style.display == ""){
		parentb.style.display = "none";
	}
	else
	{
		parentb.style.display = "";
	}
	if (parenta.style.display == "none"){
		parenta.style.display = "";
		imagename.className = "MenuCategoryExpand";
		imagename.alt = "Expand";
		imagename.title = "Expand";
		cellid.className = "MenuCategoryOFF";
		eraseCookie(cookieid);
	}
	else
	{
		parenta.style.display = "none";
		imagename.className = "MenuCategoryCollapse";
		imagename.alt = "Collapse";
		imagename.title = "Collapse";
		cellid.className = "MenuCategoryON";
		createCookie(cookieid, 'Expanded','');		
	}
return
}

function pausecomp(millis){
	date = new Date();
	var curDate = null;
	do { var curDate = new Date(); }
	while(curDate-date < millis);
} 

function TopMenuOver(parent) {
	pausecomp(45);
	TopMenuOut(parent);
	parent.className = "TopMenuMiddleImageOver";
}

function TopMenuOut(parent) {
	pausecomp(45);
	parent.className = "TopMenuMiddleImageOut";
}

