    /* Ajax-Events: Alle Form-Felder an ...
       ...Struts-Action uebermitteln
    */
    function getResultListSize() {      
        var serializedForm = $("form").serialize();
        $.ajax({
            type: "GET",
            url:  "/verbraucherutf8/bierMySqlDe!ajaxResultCounter.do",
            data: serializedForm,
            success: function(html){
                $("#dynamicSubmit").replaceWith(html);
            }
        });   
    }  
    
    function getDetailPageData(params) {      
        $.ajax({
            type: "POST",
            url:  "/verbraucherutf8/bierMySqlDe!execDetail.do",
            data: params,
            success: function(html){
                $("#verbraucherdetail").show("slow");
                $("#verbraucherdetail").html(html);
            }
        });   
    }      

    /* Alle Checkboxen ausschalten, alle DropDown-Listen ...
       ...verstecken und nur aktive Checkboxen wieder einschalten 
    */
    function disableOtherCB(thisCB){
        $(".attributesDropDown").hide("slow");
        $(".attributesCB").each(function(){
          this.checked = false;
        });
        $(thisCB).each(function(){
          this.checked = true;
        });
    }

    $(document).ready(function(){
    
        /* Ajax-Events: Bei DopDown-Listen ...
           ...Events Ajax triggern 
        */
	    $(".ajaxSensible").change(function () {
            getResultListSize();
	    });
	    
	    /* Ajax-Events: Bei Preistraeger-Radios ...
           ...Events Ajax triggern 
        */
	    $(".ajaxSensibleRadio").click(function () {
            getResultListSize();
	    });	    
	    
	    /* Effects: Hide/Show Effekte triggern, wenn ...
	       Checkboxen aktiviert/deaktiviert wurden 
	    */
		$("input[name='untergaerigeBiereCB']").click(function(){
            if($("#untergaerigeBiereCB:checked").val()){
              disableOtherCB(this);
              $("#untergaerigeBiere").show("slow");
            } else {
              $("#untergaerigeBiere").hide("slow");
            }
            getResultListSize();
		});
		$("input[name='obergaerigeBiereCB']").click(function(){
            if($("#obergaerigeBiereCB:checked").val()){
              disableOtherCB(this);
              $("#obergaerigeBiere").show("slow");
            } else {
              $("#obergaerigeBiere").hide("slow");
            }
            getResultListSize();
		});
		$("input[name='hefehaltigeObergaerigeBiereCB']").click(function(){
            if($("#hefehaltigeObergaerigeBiereCB:checked").val()){
              disableOtherCB(this);
              $("#hefehaltigeObergaerigeBiere").show("slow");
            } else {
              $("#hefehaltigeObergaerigeBiere").hide("slow");
            }
            getResultListSize();
		});
		$("input[name='biermischgetraenkeCB']").click(function(){
            if($("#biermischgetraenkeCB:checked").val()){
              disableOtherCB(this);
              $("#biermischgetraenke").show("slow");
            } else {
              $("#biermischgetraenke").hide("slow");
            }
            getResultListSize();
		});
				
    });
    
// Adds onmouseover, onmouseout, and onclick handlers to each table row.  The onmouseover handler changes the row's class attribute to
// rowMouseOver.  The onmouseout handler changes it back.  The onclick function makes a request for the specified url, including the
// innerHTML of the specified column as a request parameter.
function addRowHandlers(tableId, rowClassName, connectionColumnIndex, paramName, paramColumnIndex) {
    var previousClass = null;
    var table = document.getElementById(tableId);
    var rows = table.getElementsByTagName("tr");
    for (i = 1; i < rows.length; i++) {
        rows[i].onmouseover = function () {
            previousClass = this.className;
            this.className = "row-highlighted";
        };
        
        rows[i].onmouseout = function () {
            this.className = previousClass;
        };
        
        rows[i].onclick = function () {
            var connectionCell = this.getElementsByTagName("td")[connectionColumnIndex];
            var connectionValue = connectionCell.innerHTML;
            var paramCell = this.getElementsByTagName("td")[paramColumnIndex];
            var paramValue = paramCell.innerHTML;
            var params = "conn=" + connectionValue + "&" + paramName + "=" + paramValue;
            getDetailPageData(params);
            
        };
    }
}

