// JavaScript Document
if (document.images) {
  image1 = new Image
  image2 = new Image

  image1.src = 'images/nv_homeu.gif'
  image2.src = 'images/nv_homehover.gif'
}

if (document.images) {
  image3 = new Image
  image4 = new Image

  image3.src = 'images/nv_searchu.gif'
  image4.src = 'images/nv_searchhover.gif'
}

if (document.images) {
  image5 = new Image
  image6 = new Image

  image5.src = 'images/nv_compareu.gif'
  image6.src = 'images/nv_comparehover.gif'
}

if (document.images) {
  image7 = new Image
  image8 = new Image

  image7.src = 'images/nv_lookupu.gif'
  image8.src = 'images/nv_lookuphover.gif'
}

if (document.images) {
  image9 = new Image
  image10 = new Image

  image9.src = 'images/nv_tlookupu.gif'
  image10.src = 'images/nv_tlookuphover.gif'
}

if (document.images) {
  image1a = new Image
  image2a = new Image

  image1a.src = '../images/nv_homeu.gif'
  image2a.src = '../images/nv_homehover.gif'
}

if (document.images) {
  image3a = new Image
  image4a = new Image

  image3a.src = '../images/nv_searchu.gif'
  image4a.src = '../images/nv_searchhover.gif'
}

if (document.images) {
  image5a = new Image
  image6a = new Image

  image5a.src = '../images/nv_compareu.gif'
  image6a.src = '../images/nv_comparehover.gif'
}

if (document.images) {
  image7a = new Image
  image8a = new Image

  image7a.src = '../images/nv_lookupu.gif'
  image8a.src = '../images/nv_lookuphover.gif'
}

if (document.images) {
  image9a = new Image
  image10a = new Image

  image9a.src = '../images/nv_tlookupu.gif'
  image10a.src = '../images/nv_tlookuphover.gif'
}

function newWindow(a_windowURL, a_windowName, a_windowWidth, a_windowHeight, a_scrollbars, a_resizable, a_menubar, a_toolbar, a_addressbar, a_statusbar, a_fullscreen)
{
  var windowLeft = (screen.width - a_windowWidth) / 2;
  var windowTop = (screen.height - a_windowHeight) / 2;
  var windowProperties = 'height=' + a_windowHeight + ',width=' + a_windowWidth + ',top=' + windowTop + ',left=' + windowLeft + ',scrollbars=' + a_scrollbars + ',resizable=' + a_resizable + ',menubar=' + a_menubar + ',toolbar=' + a_toolbar + ',location=' + a_addressbar + ',statusbar=' + a_statusbar + ',fullscreen=' + a_fullscreen + '';
  var obj_window = window.open(a_windowURL, a_windowName, windowProperties)
  //var obj_window = window.open(a_windowURL, a_windowName);
  if (parseInt(navigator.appVersion) >= 4)
   {
      obj_window.window.focus();
    }
}

function prune(original, start, end) {
  var result = original.slice(0, start);
  if(!isNaN(end)) result += original.slice(end);
    return result;
}

function isEmpty(str){
  return (str == null) || (str.length == 0);
}

function get_cookie(Name) {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    // if cookie exists
    if (offset != -1) {
      offset += search.length
      // set index of beginning of value
      end = document.cookie.indexOf(";", offset);
      // set index of end of cookie value
      if (end == -1) end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
  return returnvalue;
}

function createAJAXRequest() {
  var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
  if (window.ActiveXObject) { //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
    for (var i=0; i<activexmodes.length; i++){
      try {
        return new ActiveXObject(activexmodes[i])
      }
      catch(e) {
       //suppress error
      }
    }
  }
  else if (window.XMLHttpRequest) // if Mozilla, Safari etc
    return new XMLHttpRequest()
  else
     return false
}

/*================================================================================
Routine to write a session cookie

    Parameters:
        cookieName        Cookie name
        cookieValue       Cookie Value

    Return value:
        true              Session cookie written successfullly
        false             Failed - persistent cookies are not enabled

*/

function writeSessionCookie (cookieName, cookieValue) {
  if (testSessionCookie()) {
    document.cookie = escape(cookieName) + "=" + escape(cookieValue) + "; path=/";
    return true;
  }
  else return false;
}

/*==============================================================================

Routine to get the current value of a cookie

    Parameters:
        cookieName        Cookie name

    Return value:
        value             Value of the retrieved cookie

*/

function getCookieValue (cookieName) {
  var exp = new RegExp (escape(cookieName) + "=([^;]+)");
  if (exp.test (document.cookie + ";")) {
    exp.exec (document.cookie + ";");
    return unescape(RegExp.$1);
  }
  else return " ";
}

/*==============================================================================

Routine to see if session cookies are enabled

    Parameters:
        None

    Return value:
        true              Session cookies are enabled
        false             Session cookies are not enabled

*/

function testSessionCookie () {
  document.cookie ="testSessionCookie=Enabled";
  if (getCookieValue ("testSessionCookie")=="Enabled")
    return true
  else
    return false;
}

/*==============================================================================

Routine to see of persistent cookies are allowed:

    Parameters:
        None

    Return value:
        true              Session cookies are enabled
        false             Session cookies are not enabled


*/

function testPersistentCookie () {
  writePersistentCookie ("testPersistentCookie", "Enabled", "minutes", 1);
  if (getCookieValue ("testPersistentCookie")=="Enabled")
    return true
  else
    return false;
}

/*==============================================================================

Routine to write a persistent cookie

    Parameters:
        CookieName        Cookie name
        CookieValue       Cookie Value
        periodType        "years","months","days","hours", "minutes"
        offset            Number of units specified in periodType

    Return value:
        true              Persistent cookie written successfullly
        false             Failed - persistent cookies are not enabled


*/

function writePersistentCookie (CookieName, CookieValue, periodType, offset) {

  var expireDate = new Date ();
  offset = offset / 1;

  var myPeriodType = periodType;
  switch (myPeriodType.toLowerCase()) {
    case "years":
     var year = expireDate.getYear();
     // Note some browsers give only the years since 1900, and some since 0.
     if (year < 1000) year = year + 1900;
     expireDate.setYear(year + offset);
     break;
    case "months":
      expireDate.setMonth(expireDate.getMonth() + offset);
      break;
    case "days":
      expireDate.setDate(expireDate.getDate() + offset);
      break;
    case "hours":
      expireDate.setHours(expireDate.getHours() + offset);
      break;
    case "minutes":
      expireDate.setMinutes(expireDate.getMinutes() + offset);
      break;
    default:
      alert ("Invalid periodType parameter for writePersistentCookie()");
      break;
  }

  document.cookie = escape(CookieName ) + "=" + escape(CookieValue) + "; expires=" + expireDate.toGMTString() + "; path=/";
}

/*==============================================================================

Routine to delete a persistent cookie

    Parameters:
        CookieName        Cookie name

    Return value:
        true              Persistent cookie marked for deletion


*/

function deleteCookie (cookieName) {

  if (getCookieValue (cookieName)) writePersistentCookie (cookieName,"Pending delete","years", -1);
  return true;
}


function $(e) { return document.getElementById(e); }
function vc(e) { return $(e); }
function vcl(e) { return $(e); }
function php(e) { return $(e); }
function delphi(e) { return $(e); }
function control(e) { return $(e); }
function component(e) { return $(e); }