var mark = '~!#';

function SetLoginCookie(username, inpass, servername, notesdomain, serverlist)
{
  var password = encode(inpass, 7);

	outTime = new Date();
	outval = username + mark + password + mark + outTime + mark + servername + mark + notesdomain + mark + serverlist;
	WM_setCookie("DS9WT", outval, null, "/");
}


function ReadLoginCookie(item)
{
	var scook = WM_readCookie("DS9WT");
	if (!scook)
	{
		return null;
	}

	var tempArray = scook.split(mark);

  switch (item)
  {
  case "username":
    return tempArray[0];

  case "password":
    return encode(tempArray[1], 7);

  case "server":
    return tempArray[3];

  case "domain":
    return tempArray[4];

  case "serverlist":
    return tempArray[5];

  case "date":
		var cookiedate = tempArray[2];
		var cookietime = new Date(cookiedate);
    return cookietime;

  default:
    return null;
  }
}


function GetNotesDomain(host)
{
  var h = host.substr(0, 5);
  h.toLowerCase();

  if (h == "tycho")
    return "UMUC";
  else if (h == "drtyc")
    return "UMUC";
  else if (h == "night")
    return "UCTRAIN";
  else if (h == "slamd")
    return "SLAM";
  else if (h == "tydev")
    return "LEADS";
  else
    return "CALR";
}


function GetServerList(notesdom)
{
  if (notesdom == "CALR")
    var hosts = new Array("apollo.umuc.edu", "raven.umuc.edu");
  else if (notesdom == "UCTRAIN")
    var hosts = new Array("nighthawk.umuc.edu");
  else if (notesdom == "SLAM")
    var hosts = new Array("slamdance.umuc.edu", "slamdance2.umuc.edu");
  else if (notesdom == "LEADS")
    var hosts = new Array("tydevusa1.umuc.edu", "tydevusa2.umuc.edu", "tydevusa3.umuc.edu");
  else
    var hosts = new Array("tychousa1.umuc.edu", "tychousa2.umuc.edu", "tychousa3.umuc.edu", "tychousa4.umuc.edu", "tychousa5.umuc.edu", "tychousa6.umuc.edu", "tychousa7.umuc.edu", "tychousa8.umuc.edu");

  return hosts;
}


function encode(OrigString, CipherVal)
{
	Ref="0123456789abcdefghijklmnopqrstuvwxyz,+-!._~ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        var refLen = 69;
	CipherVal = parseInt(CipherVal);
	var Temp="";

	for (Count=0; Count < OrigString.length; Count++)
	{
		var TempChar = OrigString.substring (Count, Count+1);
		var Conv = cton(TempChar);

		if (Conv != -1)
		{
			var Cipher = Conv^CipherVal;
                        if (Cipher > refLen)
                        {
                                Temp += TempChar;
                        }
                        else
                        {
				Cipher = ntoc(Cipher);
				Temp += Cipher;
                        }
		}
		else
			Temp += TempChar;

	}
	return (Temp);
}


function cton(Char)
{
	return (Ref.indexOf(Char));
}


function ntoc(Val)
{
	return (Ref.substring(Val, Val+1));
}
