<!--- Hide script from old browsers.
<!--- To force the server to accompany .js files with the correct mime type, find the mime.types file (or
<!--- equivalent) for the server and add this line: application/x-javascript exts=js. 

	var caution = false
        var HC_DOMAIN = "highcriteria.com"
        var TR_DOMAIN = "totalrecorder.com"

  // name - name of the needed parameter in location.search
  // * return string containing value
  // of specified parameter or null if the parameter
  // does not exist
  function getParam(name) {
    var prefix = name + "="
    var paramStartIndex = location.search.indexOf(prefix)
    if (paramStartIndex == -1)
      return null
    var paramEndIndex = location.search.indexOf("&", paramStartIndex +
                          prefix.length)
    if (paramEndIndex == -1)
      paramEndIndex = location.search.length
    return unescape(location.search.substring(paramStartIndex +
            prefix.length,
            paramEndIndex))
  }

	// name - name of the cookie
	// value - value of the cookie
	// [expires] - expiration date of the cookie
	// (defaults to end of current session)
	// [path] - path for which the cookie is valid
	// (defaults to path of calling document)
	// [domain] - domain for which the cookie is valid
	// (defaults to domain of calling document)
	// [secure] - Boolean value indicating if
	// the cookie transmission requires a secure transmission
	// * an argument defaults when it is assigned null as a placeholder
	// * a null placeholder is not required for trailing omitted arguments

  function setCookie(name, value, expires, path, domain, secure) {
    var curCookie = name + "=" + escape(value) +
                    ((expires) ? "; expires=" + expires.toGMTString() : "") +
                    ((path) ? "; path=" + path : "") +
                    ((domain) ? "; domain=" + domain : "") +
                    ((secure) ? "; secure" : "")
    if (!caution || (name + "=" + escape(value)).length <= 4000)
      document.cookie = curCookie
    else
      if (confirm("Cookie exceeds 4KB and will be cut!"))
        document.cookie = curCookie
  }

  // name - name of the cookie
  // * return string containing value
  // of specified cookie or null if cookie
  // does not exist

  function getCookie(name) {
    var prefix = name + "="
    var cookieStartIndex = document.cookie.indexOf(prefix)
    if (cookieStartIndex == -1)
      return null
    var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex +
                          prefix.length)
    if (cookieEndIndex == -1)
      cookieEndIndex = document.cookie.length
    return unescape(document.cookie.substring(cookieStartIndex +
            prefix.length,
            cookieEndIndex))
  }

  // name - name of the cookie
  // [path] - path of the cookie
  // (must be same as path used to create cookie)
  // [domain] - domain of the cookie
  // (must be same as domain used to create cookie)
  // * path and domain default if assigned
  // null or omitted if no explicit argument proceeds

  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"
    }
  }


  // date - any instance of the Date object
  // * you should hand all instances of the
  // Date object to this function for "repairs"
  // * this function is taken from
  // Chapter 14, "Time and Date in JavaScript", in
  // "Learn Advanced JavaScript Programming"

  function fixDate(date) {
    var base = new Date(0)
    var skew = base.getTime()
    if (skew > 0)
      date.setTime(date.getTime() - skew)
  }


  //
  // setCookBoth() - save cookie for both domain: "www.<host>.com" and "<host>.com"
  // 

  function setCookBoth(name, value, expires, path) {
    var dom = null

    if (location.href.indexOf(HC_DOMAIN, 0) >= 0) 
      if (location.href.indexOf("www."+HC_DOMAIN, 0) >= 0) 
        dom = HC_DOMAIN
      else
        dom = "www."+HC_DOMAIN
    else if (location.href.indexOf(TR_DOMAIN, 0) >= 0) 
      if (location.href.indexOf("www."+TR_DOMAIN, 0) >= 0) 
        dom = TR_DOMAIN
      else
        dom = "www."+TR_DOMAIN
    else
      dom = null

    setCookie(name, value, expires, path)
    if (dom != null)
      setCookie(name, value, expires, path, dom)
  }


  //
  // renewRefer() - save REFERRAL PAGE in cookie expitarion term is 30 days.
  //                If there is no REFERRAL PAGE and no value saved before
  //                the valie 'NO_REF_PAGE' will be saved.
  // 

  function renewRefer() {
    var REF_NAME = "LAST_VISIT_REF"
    var ref = document.referrer.toLowerCase()
    var now = new Date()
    fixDate(now)
    now.setTime(now.getTime() + 30 * 24 * 60 * 60 * 1000)
    if (ref) { // REFERRAL PAGE exists
      // Save it if it is not from our domain
      if ((ref.indexOf(HC_DOMAIN) == -1)  &&
          (ref.indexOf(TR_DOMAIN) == -1) &&
          (ref.indexOf("test.test.com") == -1)) {
        setCookBoth(REF_NAME, ref, now, "/")
      }
    }
    else {    // REFERRAL PAGE does not exist
      // Save the value 'NO_REF_PAGE' if no value saved before
      if (!getCookie(REF_NAME))
        setCookBoth(REF_NAME, "NO_REF_PAGE", now, "/")
    }
  }


  //
  // getCookieEx() - get cookie with checking if cookies enabled.
  //            Returns:
  //            - value               - if getCookie() sccessful
  //            - null                - if getCookie() return 'null'
  //            - 'COOKIE_DISABLED'   - if setCookie() is failed
  // 

  function getCookieEx(name) {
    var TMP_NAME = "TEMP_TEST_COOKIE"
    var res = getCookie(name)
    if (!res) {
      // Try to save a temporary cookie and read it again
      setCookie(TMP_NAME, "<TEMP_TEST_COOKIE'S_VALUE>")
      if (!getCookie(TMP_NAME)) {
        // Cookie disabled
        res = "COOKIE_DISABLED"
      }
    }
    return res
  }

// End the hiding here. -->