    /**
     * L�scht den Eintrag mit der $id aus dem Cookie
     * �berarbeitet Version von exozet
     *
     * @author    Alexander K�mmerer <kaemmerer@exozet.com>
     * @param    $id        String    Zeitreihen ID
     */
    function removeEntry ($id)
    {
        var $s = "";
        var $x = -1;
        $s = $separator + ReadCookieValue($cookiename) + $separator;
        $x = $s.indexOf($separator + $id + $separator)
        if ($x != -1) {
            $s = $s.substring(0, $x) + $s.substring($x + $id.length + 1, $s.length);
        }
        if ($s.substring(0, 1) == $separator) {
            $s = $s.substring(1, $s.length);
        }
        if ($s.substring($s.length - 1, $s.length) == $separator) {
            $s = $s.substring(0, $s.length - 1);
        }
        window.document.cookie = $cookiename + "=" + $s + "; path=/";

        preselectCheckboxes(document.form);
    }

    /**
     * Diese Methode liest das aktuelles Cookie ein und ermittelt die
     * Anzahl an elemeneten die im Warenkorb enthalten sind.
     *
     * @author    Alexander K�mmerer <kaemmerer@exozet.com>
     * @return    Number    Die anzahl an elementen im Warenkorb
     */
    function getShoppingCartLength()
    {
        $s = unescape(ReadCookieValue($cookiename));

        if( $s.length <= 0 )
            return 0;

        return $s.split($separator).length;
    }

    /**
     * Diese Methode aktualisiert die Ansicht der aktuellen
     * Element im Warenkorb
     *
     * @author    Alexander K�mmerer <kaemmerer@exozet.com>
     */
    function updateShoppingCartLengthField()
    {
        var shoppingCartLengthField = document.getElementById('shoppingCartLengthField');

        if( shoppingCartLengthField != undefined )
        {
            shoppingCartLengthField.innerHTML = getShoppingCartLength();
        }
    }

    /**
     * F�gt die Zeitreihe mit der $id in das Cookie hinzu,
     * die Zeitreihe wird angehangen
     *
     * @author    Alexander K�mmerer <kaemmerer@exozet.com>
     * @param    $id        String    Zeitreihen ID
     */
    function addEntry ($id, $lang) {
        var $s = "";
        var $z = 0;
        var $x = 0;

        removeEntry($id);
        $s = ReadCookieValue($cookiename);

        // Trennzeichen zaehlen, zur Ueberpruefung der maximalen Eintragsanzahl
        while ($x < $s.length && $x != -1) {
            $x = $s.indexOf($separator, $x);
            if ($x != -1) {
                $z++;
                $x++;
            }
        }

        // Cookie setzen bzw. Meldung ausgeben
        if ($z > $maxentries - 2)
        {
            if ( $lang == 'en' )
            {
                alert("Download can only contain up to " + $maxentries + " time series.");
            }
            else
            {
                alert("Es können maximal " + $maxentries + " Zeitreihen in die Download-Liste übernommen werden.");
            }
            preselectCheckboxes(document.form);
        }
        else
        {
            if ($s == "") {
                $s = $s + $id;
            }
            else
            {
                $s = $s + $separator + $id;
            }
            window.document.cookie = $cookiename + "=" + $s + "; path=/";
        }

        preselectCheckboxes(document.form);

        if ( window.document.cookie == '' )
        {
              return false;
        }
        else
        {
              return true;
        }
    }

    /**
     * �berpr�ft welche Zeitreiehen im Warenkorb entalten sind
     * und �nder bei denen das Ansichtsbild zum l�schen aus dem Warenkorb.
     *
     * @author    Alexander K�mmerer <kaemmerer@exozet.com>
     * @param    frm        Object    Das Form element der seite.
     */
    function preselectCheckboxes(frm)
    {
        if (frm)
        {
            for (var $i=0; $i < frm.length; $i++)
            {
                var _id = frm.elements[$i].id;

                if ( frm.elements[$i].name == $cbname )
                {
                    if ( isEntry(_id ))
                    {
                          document.getElementById( 'add_' + _id ).style.display = 'none';
                          document.getElementById( 'remove_' + _id ).style.display = 'inline';
                    }
                      else
                      {
                        document.getElementById( 'add_' + _id ).style.display = 'inline';
                        document.getElementById( 'remove_' + _id ).style.display = 'none';
                    }
                  }
            }
        }

        updateShoppingCartLengthField();
    }

