
/////////////////////////////////////////////////////////////////
//Generic Cookie and Search Normalization Functions (For All Search Forms):
function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}


function isEmpty(s) {
   return ((s == null) || (s.length == 0))
}
// Returns true if string s is empty or 
// whitespace characters only.

function isWhitespace (s) {
    var whitespace = " \t\n\r";
    var i;
    // Is s empty?
    if (isEmpty(s)) return true;
    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.
    for (i = 0; i < s.length; i++) { 
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    // All characters are whitespace.
    return true;
}


//////////////////////////////////////////////////////////////////
//Quest QuickSearch: Used when patron clicks on "Search" button 
function setBasicSearch(theForm) {
  if ( isWhitespace(document.form1.scan_start.value) ) {
      var message = "Please enter search terms in the text box";
      alert(message);
	  document.form1.scan_start.focus();
      return false;
   } else {
      var scan_start_normal = theForm.scan_start.value;
      setCookie('scan_start',scan_start_normal,null,'/','.bc.edu',false);
      setCookie('browseType',document.form1.scan_code.selectedIndex,null,'/','.bc.edu',false);
	  setCookie('last_search','find-b-0',null,'/','.bc.edu',false);
      var opt = document.form1.scan_code[document.form1.scan_code.selectedIndex].value.split("_");
	  setCookie('scan_code',opt[1],null,'/','.bc.edu',false);
      if ( opt[0] == "F1" ) {
         document.form4.find_code.value = opt[1];
         document.form4.request.value = document.form1.scan_start.value;
         document.form4.submit();
      } else {
         document.form3.scan_code.value  = opt[1];
         document.form3.scan_start.value = document.form1.scan_start.value;
         document.form3.submit();
      }
   }
}
   
//////////////////////////////////////////////////////////////////////
//Quest QuickSearch: Used when patron hits "Enter" to submit search
function submitBasicSearch(theForm,event) {
  setCookie('last_search','find-b-0',null,'/','.bc.edu',false);
  if (navigator.appName == "Microsoft Internet Explorer") {
    if (window.event && window.event.keyCode == 13) {
	  var scan_start_normal = theForm.scan_start.value;
      setCookie('scan_start',scan_start_normal,null,'/','.bc.edu',false);
      setCookie('browseType',theForm.scan_code.selectedIndex,null,'/','.bc.edu',false);
      var opt = theForm.scan_code[theForm.scan_code.selectedIndex].value.split("_");
	  setCookie('scan_code',opt[1],null,'/','.bc.edu',false);
      if ( opt[0] == "F1" ) {
           document.form4.find_code.value = opt[1];
           document.form4.request.value = theForm.scan_start.value;
           document.form4.submit();
      } else {
           document.form3.scan_code.value  = opt[1];
           document.form3.scan_start.value = theForm.scan_start.value;
           document.form3.submit();
      }
	} else {
	  return true;
	}
  } else {
    if (event && event.which == 13) {
	  var scan_start_normal = theForm.scan_start.value;
      setCookie('scan_start',scan_start_normal,null,'/','.bc.edu',false);
      setCookie('browseType',theForm.scan_code.selectedIndex,null,'/','.bc.edu',false);
      var opt = theForm.scan_code[theForm.scan_code.selectedIndex].value.split("_");
	  setCookie('scan_code',opt[1],null,'/','.bc.edu',false);
      if ( opt[0] == "F1" ) {
           document.form4.find_code.value = opt[1];
           document.form4.request.value = theForm.scan_start.value;
           document.form4.submit();
      } else {
           document.form3.scan_code.value  = opt[1];
           document.form3.scan_start.value = theForm.scan_start.value;
           document.form3.submit();
      }
	} else {
	  return true;
	}
  }
}

/////////////////////////////////////////////////////
//Reset Quest QuickSearch
function resetBasicBrowse(form) {
  deleteCookie("scan_start","/",".bc.edu");
  deleteCookie("browseType","/",".bc.edu");
  deleteCookie("scan_code","/",".bc.edu");
  form.reset();
  form.scan_start.value = "";
  var currentBase = "&base";
  if (currentBase == "bcl_ser") {
    form.scan_code.selectedIndex=2;
  } else {
    form.scan_code.selectedIndex=0;
  }
  form.scan_start.focus();
  return false;
}


//////////////////////////////////////////////////////////////////////
//Course Reserves QuickSearch: Used when patron clicks "Submit" button
function setCRSearch(theForm) {
  setCookie('cr_scan_start',theForm.scan_start.value,null,'/','.bc.edu',false);
  setCookie('cr_browse_type',theForm.scan_code.selectedIndex,null,'/','.bc.edu',false);
  setCookie('cr_scan_code',theForm.scan_code[theForm.scan_code.selectedIndex].value,null,'/','.bc.edu',false);
  setCookie('last_search','find-b-0',null,'/','.bc.edu',false);
  var opt = theForm.scan_code[theForm.scan_code.selectedIndex].value.split("_");
  if ( opt[0] == "F1" ) {
       document.form5.find_code.value = opt[1];
       document.form5.request.value = theForm.scan_start.value;
       document.form5.submit();
  } else {
       document.form6.scan_code.value  = opt[1];
       document.form6.scan_start.value = theForm.scan_start.value;
       document.form6.submit();
  }
}

//////////////////////////////////////////////////////////////////
//Course Reserves QuickSearch: Used when patron hits "Enter" button 
function submitCRForm(theForm,event) {
  if (navigator.appName == "Microsoft Internet Explorer") {
    if (window.event && window.event.keyCode == 13) {
      setCookie('cr_scan_start',theForm.scan_start.value,null,'/','.bc.edu',false);
      setCookie('cr_browse_type',theForm.scan_code.selectedIndex,null,'/','.bc.edu',false);
      setCookie('cr_scan_code',theForm.scan_code[theForm.scan_code.selectedIndex].value,null,'/','.bc.edu',false);
	  setCookie('last_search','find-b-0',null,'/','.bc.edu',false);
      var opt = theForm.scan_code[theForm.scan_code.selectedIndex].value.split("_");
      if ( opt[0] == "F1" ) {
           document.form5.find_code.value = opt[1];
           document.form5.request.value = theForm.scan_start.value;
           document.form5.submit();
      } else {
           document.form6.scan_code.value  = opt[1];
           document.form6.scan_start.value = theForm.scan_start.value;
           document.form6.submit();
      }
	} else {
	  return true;
	}
  } else {
    if (event && event.which == 13) {
      setCookie('cr_scan_start',theForm.scan_start.value,null,'/','.bc.edu',false);
      setCookie('cr_browse_type',theForm.scan_code.selectedIndex,null,'/','.bc.edu',false);
      setCookie('cr_scan_code',theForm.scan_code[theForm.scan_code.selectedIndex].value,null,'/','.bc.edu',false);
	  setCookie('last_search','find-b-0',null,'/','.bc.edu',false);
      var opt = theForm.scan_code[theForm.scan_code.selectedIndex].value.split("_");
      if ( opt[0] == "F1" ) {
           document.form5.find_code.value = opt[1];
           document.form5.request.value = theForm.scan_start.value;
           document.form5.submit();
      } else {
           document.form6.scan_code.value  = opt[1];
           document.form6.scan_start.value = theForm.scan_start.value;
           document.form6.submit();
      }
	} else {
	  return true;
	}
  }
}

/////////////////////////////////////////////////////
//Reset Course Reserves QuickSearch
function resetBasicCRBrowse(form) {
  deleteCookie("cr_scan_start","/",".bc.edu");
  deleteCookie("cr_browse_type","/",".bc.edu");
  deleteCookie("cr_scan_code","/",".bc.edu");
  form.reset(); 
  form.scan_start.value = "";
  form.scan_code.selectedIndex=0;
  form.scan_start.focus();
  return false;
}