﻿// General Cookie manipulation code - cookies expire in one day - used for the Comparator
    function setCookie( cName, sValue )
    {
         var today = new Date();
         var expire = new Date();
         var nDays=1;
         expire.setTime(today.getTime() + 3600000*24*nDays);
         delete_cookie( cName );
         document.cookie = cName + "="+escape(sValue)
                         + ";path=/;expires="+expire.toGMTString();
    }
 
    function get_cookie ( cookie_name )
    {
        var results = document.cookie.match ( cookie_name + '=(.*?)(;|$)' );

        if ( results )
        return ( unescape ( results[1] ) );
        else
        return null;
    }

    function delete_cookie ( cookie_name )
    {
      var cookie_date = new Date ( );  // current date & time
      cookie_date.setTime ( cookie_date.getTime() - 1 );
      document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
    }
    
    function replaceIt(sString, sReplaceThis, sWithThis) {
        if (sReplaceThis != "" && sReplaceThis != sWithThis) {
            var counter = 0;
            var start = 0;
            var before = "";
            var after = "";
                while (counter<sString.length) {
                start = sString.indexOf(sReplaceThis, counter);
                if (start == -1) {
                    break;
                    } else {
                    before = sString.substr(0, start);
                    after = sString.substr(start + sReplaceThis.length, sString.length);
                    sString = before + sWithThis + after;
                    counter = before.length + sWithThis.length;
                }
            }
        }
        return sString;
    }

    var Cookie = {
      set: function(name, value, daysToExpire) {
        var expire = '';
        if (daysToExpire != undefined) {
          var d = new Date();
          d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
          expire = '; expires=' + d.toGMTString();
        }
        return (document.cookie = escape(name) + '=' + escape(value || '') + expire);
      },
      get: function(name) {
        var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
        return (cookie ? unescape(cookie[2]) : null);
      },
      erase: function(name) {
        var cookie = Cookie.get(name) || true;
        Cookie.set(name, '', -1);
        return cookie;
      },
      accept: function() {
        if (typeof(navigator.cookieEnabled) == 'boolean') {
          return navigator.cookieEnabled;
        }
        Cookie.set('_test', '1');
        return (Cookie.erase('_test') == '1');
      }
    };
