////////////////////////////////////////////////////////////////////////////////
//
// W. L. Graham
// (c) 2004, Trustees of Chicago State University
// These functions may be freely used in any legal endeavor
// DATARELOAD, HARDRELOAD, SOFTRELOAD
//
function dataReload() {
   location.reload(true)
   return
}

function hardReload() {
   location.reload()
   return
}

function softReload() {
   history.go(0)
   return
}

////////////////////////////////////////////////////////////////////////////////
// ISEMPTY
// This general-purpose function returns a truth-value for any empty field
// or a blank field
//
function isEmpty (iS) {
   return (iS == null || iS == "" || iS == " ")
}

////////////////////////////////////////////////////////////////////////////////
// ISADMINISTRATOR
//
function isAdministrator (overrideKey) {
   return ( overrideKey == '81818181' ) 
}

////////////////////////////////////////////////////////////////////////////////
// CHECKREQUEST
//
function checkRequest (form) {
   value=true
   if (isAdministrator (form.overridekey.value)) {
      return true
   }   
   needSomething=false
   errmsg  = "There is information missing or conflicting information. Please enter all required data and resubmit the form.\nPlease correct the following:\n"
   required=""

   if (isEmpty (form.firstname.value)) {
      required += "first name\n"
      needSomething=true
   }

   if (isEmpty (form.lastname.value)) {
      required += "last name\n"
      needSomething=true
   }

   if (isEmpty (form.office.value)) {
      required += "your department\n"
      needSomething=true
   }

   if (isEmpty (form.telephone.value)) {
      required += "campus telephone number\n"
      needSomething=true
   }

   if (isEmpty (form.idtype.value)) {
      required += "type of I.D.\n"
      needSomething=true
   }

   if (isEmpty (form.id.value)) {
      required += "I.D.\n"
      needSomething=true
   }

   if (isEmpty (form.roomnumber.value)) {
      required += "roomnumber\n"
      needSomething=true
   }

   if (isEmpty (form.ssn.value)) {
      required += "passkey (4-digit personal key)\n"
      needSomething=true
   }

   if (form.service.options[form.service.selectedIndex].text == "Choose") {
      required += "\nPlease specify whether you are receiving (Pickup) or returning (Dropoff) equipment."
      value = false
   }
 
//   if (form.service.options[form.service.selectedIndex].text != "Pickup") {
//      required += "\nOnly Pack and Go Pickup service is available at this time."
//      value = false
//   }
   
   if (form.equipment.options[form.equipment.selectedIndex].text == "None") {
      required += "\nYou specified no equipment.  What equipment do you need?"
      value=false
   } else {

      if (form.equipment.options[form.equipment.selectedIndex].text == "Public Address System (PA System)") {
         if (isEmpty (form.roomsize.value)) {
            required += "\nPlease specify the number of people listening to the presentation."
            value=false
         }
      }

   }

   value = ( value && !needSomething )

   if (!value) {
      alert (errmsg+required)
   }


   return value
}

////////////////////////////////////////////////////////////////////////////////
// CHECKADMINISTRATORREQUEST
//
function checkAdministratorRequest (form) {

   errmsg  = "You must specify the administrator key and date-range."

   value = true

   if ( isEmpty (form.key.value) || isEmpty (form.start.value) || isEmpty (form.end.value) ) {
      alert (errmsg)
      value=false
   }

   if  ( ! isAdministrator (form.key.value) ) {

      if ( !isEmpty(form.key.value) ) {

         alert ("This is not the valid administrator key.  Try again.")

      }

      value=false

   }

   return value

}
////////////////////////////////////////////////////////////////////////////////
// LEAP
//
function leap(year) {

// Returns the number of days in February, given a particular year
// Either 28 or 29 for a leap year
// A leap-year is a year evenly divisible by 4 unless it is a century,
// in which case it must be evenly divisible by 400

   if ( year % 4 == 00 ) {
      if ( year % 100 == 0 ) {
         if ( year % 400 == 0 ) {
            return 29
         }
         return 28
      }
      return 29
   }
   return 28
}

////////////////////////////////////////////////////////////////////////////////
// MAKEJAVASCRIPTDATE
// Returns a JavaScript-parsable datetime value "yy,mm,dd,hh,mm,ss"
//
function makeJavascriptDate (yyyy,month,dd,hh,mm,ss) {
   var monthnumbers = new Array
   monthnumbers ["January"]	="31"
   monthnumbers ["February"]	=String(leap(form.yearneeded.value))
   monthnumbers ["March"]	="31"
   monthnumbers ["April"]	="30"
   monthnumbers ["May"]		="31"
   monthnumbers ["June"]	="30"
   monthnumbers ["July"]	="31"
   monthnumbers ["August"]	="31"
   monthnumbers ["September"]	="30"
   monthnumbers ["October"]	="31"
   monthnumbers ["November"]	="30"
   monthnumbers ["December"]	="31"

   monthnumber=monthnumbers[form.monthneeded.value]
   
   datestring = yyyy.substr(2,2) // "2004" ==> "04"
   datestring+= ','+monthnumbers[month]
   datestring+= ','+dd+','+hh+','+mm+','+ss
   return datestring
}

////////////////////////////////////////////////////////////////////////////////
// MAKEWHENWANTED
// Returns a JavaScript-parsable datetime value "yy,mm,dd,hh,mm,ss"
//
function makeWhenWanted (doc,form) {
   return makeJavascriptDate(form.yearneeded.value,form.monthneeded.value,form.dayneeded.value,
                             form.hourneeded.value,form.minuteneeded.value,"00")
}
var UserHelpWindow
var TechHelpWindow
////////////////////////////////////////////////////////////////////////////////
function helpUsers () {
   UserHelpWindow = window.open("http://library.csu.edu/listlr/userhelp.html","users","scrollbars=yes,resizable=yes,width=600,height=450")
}

////////////////////////////////////////////////////////////////////////////////
function helpTechies () {
   TechHelpWindow = window.open("http://library.csu.edu/listlr/techhelp.html","users","scrollbars=yes,resizable=yes,width=600,height=450")
}
////////////////////////////////////////////////////////////////////////////////
function checkComments (form) {
	if ( isEmpty (form.name.value) && !isEmpty (form.emailaddr.value) ) {
		alert ("Please enter your name.")
		return false
	}
	return true
}
