    /**
     * 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();
    }

	function sendFormDataAjax(event)
	{
			/**
			 * Prevent the onchange event
			 */
			new Event(event).stop();

			/**
			 * This empties the log and shows the spinning indicator
			 */
			// var log = $('log_res').empty().addClass('ajax-loading');

			/**
			 * send takes care of encoding and returns the Ajax instance.
			 * onComplete removes the spinner from the log.
			 */
			var request_param = '';

			$('Realtime').getFormElements().each(function(el){
					var name = el.name;
					var value = el.getValue();

					if ((name != 'displayList' && name && 'schluessel_suche' && name != 'reset_search' && name == 'apply_search' && name != 'textsuche_suche'))
					//{
					    //if ( value == false) value = "";
						request_param = request_param + '&' + name + '=' + value;
					//}

			});

			// alert(request_param);

			$('Realtime').send({
				data: "ajax_action=onchange"+request_param+"&schluessel_suche=1",
				update: ajax_refresh,
				evalScripts: true,
				onComplete: function() {
									// log.removeClass('ajax-loading');
								}
			});
	}


	function submit_on_change() {
		$("showList").setProperty("value", "0");
		// alert($("showList").getProperty("value"));
		$("Realtime").submit();
	}

	function checked_button_set(event, key) {
		  var clicked_event = new Event(event);
		  var clicked_key	= key;
		  var button_el = $(clicked_event.target);
		   var image_string = button_el.getProperty("src");
		   if ($("id_" + clicked_key).getProperty("value") != "") {
			   if (image_string == "'.BASE_HREF.'/images/icons/icon_schloss.gif") {
					$("hidden_checkbox_" + clicked_key).setProperty("value", "0");
					$("noscript_checkbox_" + clicked_key).setProperty("value", "0");
					button_el.setProperty("src","'.BASE_HREF.'/images/icons/icon_schloss_offen.gif");
			   }
			   else {
					$("hidden_checkbox_" + clicked_key).setProperty("value", "1");
					$("noscript_checkbox_" + clicked_key).setProperty("value", "0");
				    button_el.setProperty("src","'.BASE_HREF.'/images/icons/icon_schloss.gif");
			   }
			} else {
				$("hidden_checkbox_" + clicked_key).setProperty("value", "0");
				$("noscript_checkbox_" + clicked_key).setProperty("value", "0");
				button_el.setProperty("src","'.BASE_HREF.'/images/icons/icon_schloss_offen.gif");
			}
		   submit_on_change();
	}

	function autofill_set(event) {
		  var clicked_event = new Event(event).stop();;
		  var link_el = $(clicked_event.target);
		   if ($("autofill_hidden").getProperty("value") == "1") {
				// alert('deaktivate');
				$("autofill_hidden").setProperty("value", "1");
				$("noscript_autofill").setProperty("value", "0");
			}
			else {
			    // alert('aktivate');
				$("autofill_hidden").setProperty("value", "1");

			}
		submit_on_change();
	}
