var jsuche = {
	// Uncheckt Item "alle", wenn ein anderes Item angeklickt wird
	checkOne: function(klassedercheckboxgruppe) {
					$j("#"+klassedercheckboxgruppe+"alle").attr('checked', false);
					jsuche.checkLogic(klassedercheckboxgruppe);
	},

	// Checkt "alle" und uncheckt alle anderen Items in dem div
	checkAll: function(klassedercheckboxgruppe) {
		$j("."+klassedercheckboxgruppe).attr('checked', false);
		$j("#ortealle").attr('checked', true);
	},
	
	// Duchläuft alle Checkboxen mit der übergebenen Klasse
	// Prüft, ob überhaupt eine angeklickt ist und checkt andernfalls "Alle"
	checkLogic: function(klassedercheckboxgruppe) {
		anzahlChecked = $j("."+klassedercheckboxgruppe+":checked").length;
		if(anzahlChecked == 0  | anzahlChecked == ''){
			$j("#"+klassedercheckboxgruppe+"alle").attr('checked', true);
		}
	},
	/**
	 * Ein Formular auslesen und aus den Feldern einen Query-String machen.
	 * Felder, deren Name mit "ajax" beginnt, werden ignoriert.
	 * Ebenso alle Felder, deren Name in <ignoreField> enthalten ist.
	 */
	formToQuery: function(form, ignoreField, noCharset) {
		// Ajax-Aufrufe sind UTF-8 kodiert - das muß die Action wissen
		var params = "charset=utf-8";
		if (noCharset != null) {
			if (noCharset) {
				params = "";
			}
		}
		for (i = 0; i < form.elements.length; i++) {
			var ignoreFlag = true;
			if (ignoreField != null) {
				if (ignoreField.indexOf(form.elements[i].name) >= 0) {
					ignoreFlag = false;
				}
			}
			if(typeof(form.elements[i].type) != 'undefined'){
				if ((form.elements[i].name.substr(0,4) != 'ajax') && ignoreFlag) {
					if ((form.elements[i].type.substr(0,6) == 'hidden') || (form.elements[i].type.substr(0,4) == 'text')) {
						if (params != "") {
							params = params.concat("&");
						}
						params = params.concat(form.elements[i].name).concat("=").concat(encodeURIComponent(form.elements[i].value));
					} else if ((form.elements[i].type.substr(0,8) == 'checkbox') || (form.elements[i].type.substr(0,5) == 'radio')) {
						if (form.elements[i].checked == true) {
							if (params != "") {
								params = params.concat("&");
							}
							params = params.concat(form.elements[i].name).concat("=").concat(encodeURIComponent(form.elements[i].value));
						}
					} else if (form.elements[i].type.substr(0,6) == 'select') {
						for (j = 0; j < form.elements[i].options.length; j++) {
							if (form.elements[i].options[j].selected == true) {
								if (params != "") {
									params = params.concat("&");
								}
								params = params.concat(form.elements[i].name).concat("=").concat(encodeURIComponent(form.elements[i].options[j].value));
							}
						}
					}
				}
			}
		}
		return(params);
	}
	
};
