// /ppd/pub/pub_html/worequest.js

// Original code by Tom Puckett, July 2001.

// CAUTION: Netscape 4 got stuck with no automatic type conversion of equality
// operands when embedded in a JavaScript 1.2 <SCRIPT>. Because of this we
// force conversion below in advance of the comparison.

var WoRequestData = new Cookie(document, "WoRequest", 24*90, "/", ".ppd.nmsu.edu");
// third parameter is cookie retention in hours

function ClearWoRequest()            // initialize a new cookie
{
   WoRequestData.Version              =  2;

   WoRequestData.Requestor            = "";
   WoRequestData.PhoneArea            = ""; // 505?
   WoRequestData.PhoneExchange        = ""; // 646?
   WoRequestData.PhoneNumber          = "";
   WoRequestData.EMailAddr            = "";

   WoRequestData.Contact              = "";
// following four planned fields currently rental requests only, no workorder correspondents 11/8/01
// WoRequestData.ContactPhoneArea     = ""; // 505?
// WoRequestData.ContactPhoneExchange = ""; // 646?
// WoRequestData.ContactPhoneNumber   = "";
// WoRequestData.ContactEMailAddr     = "";

   WoRequestData.Department           = "";
   WoRequestData.DeptCode             = "";
   WoRequestData.DeptRef              = ""; // delete as this data not likely to be reused?
   WoRequestData.Box                  = "";
   WoRequestData.Building             = "";
   WoRequestData.Room                 = "";
   WoRequestData.CampusNumber         = ""; // 01?
   WoRequestData.LedgerNumber         = "";
   WoRequestData.AccountNumber        = "";
}
// a form may contain only a subset of these fields

if (!WoRequestData.load()) ClearWoRequest();

if ( (WoRequestData.Version - 0) == 1 )
{
   // add version 2 cookie fields  to version 1 cookie

   WoRequestData.Version       = 2;

   WoRequestData.DeptCode      = "";

   WoRequestData.CampusNumber  = WoRequestData.Account.substr(0, 2);
   WoRequestData.LedgerNumber  = WoRequestData.Account.substr(2, 1);
   WoRequestData.AccountNumber = WoRequestData.Account.substr(3, 5);

   WoRequestData.PhoneExchange = WoRequestData.Phone.substr( 0, 3);
   WoRequestData.PhoneNumber   = WoRequestData.Phone.substr(-4, 4); // may fail with IE

   if (WoRequestData.PhoneExchange == "646")
      WoRequestData.PhoneArea = "505";       // tentative, area code split currently underway
   else
      WoRequestData.PhoneArea = "";
}

// After I find time to clean up wo_req-j.htm to use the new account and phone
// number fields we will no longer need the old fields. Until then the two sets
// of fields will exist independently and unknowingly of each other.
//
// delete WoRequestData.Account;     // note 'delete' requires JavaScript 1.2
// delete WoRequestData.Phone;

else if ( (WoRequestData.Version - 0) == 2 )
{
   ;  // do nothing
}

else
{
   alert('Unexpected cookie version: ' + WoRequestData.Version);
}

// sigh... above should be a case statement, but Internet Explorer bungles them
