var mwPoiLayer = {
	mainCbIdList: null,
	subCbIdList: null,
	layerPrefix: 'tx_mwpoi_pi1_tr_',
	mainCbPrefix: 'tx_mwpoi_pi1[kat_haupt_uid_',
	mainCbSuffix: ']',
	subCbPrefix: 'tx_mwpoi_pi1[kat_unter_uid_',
	subCbSuffix: ']',

	showHideLayer: function (layerId) {
		var currentLayer = false;
		var layerObj = null;

		// all layers off except given layer
		for (var i = 0; i < this.mainCbIdList.length; i++) {
			currentLayer = (this.mainCbIdList[i] == layerId);
			layerObj = document.getElementById(this.layerPrefix + this.mainCbIdList[i].toString());
			// if there is no layer with subCheckboxes, layerObj is null
			if (layerObj) layerObj.style.display = (currentLayer && (layerObj.style.display == 'none')) ? '' : 'none';
		}
	},

	mainCheckboxClicked: function (mainId) {
		var mainCbObj = document.getElementById(this.mainCbPrefix + mainId.toString() + this.mainCbSuffix);
		var cbObj = null;

		// check/uncheck all sub checkboxes according to main checkbox
		var subCbText = this.subCbIdList['i' + mainId.toString()];
		if (! subCbText) return;

		var subCbList = subCbText.split(',');
		for (var i = 0; i < subCbList.length; i++) {
			cbObj = document.getElementById(this.subCbPrefix + subCbList[i].toString() + this.subCbSuffix);
			cbObj.checked = mainCbObj.checked;
		}
	},

	subCheckboxClicked: function (mainId) {
		var mainCbObj = document.getElementById(this.mainCbPrefix + mainId.toString() + this.mainCbSuffix);
		var allSubCbUnchecked = true;
		var cbObj = null;

		// check/uncheck main checkbox if one sub cb checked/all sub cb unchecked
		var subCbText = this.subCbIdList['i' + mainId.toString()];
		if (! subCbText) return;

		var subCbList = subCbText.split(',');
		for (var i = 0; i < subCbList.length; i++) {
			cbObj = document.getElementById(this.subCbPrefix + subCbList[i].toString() + this.subCbSuffix);
			if (cbObj.checked) {
				allSubCbUnchecked = false;
				break;
			}
		}

		mainCbObj.checked = (allSubCbUnchecked) ? false : true;
	},

	checkForm: function () {
		var cbObj = null;

		// checkboxes
		var allMainCbUnchecked = true;
		for (var i = 0; i < this.mainCbIdList.length; i++) {
			cbObj = document.getElementById(this.mainCbPrefix + this.mainCbIdList[i].toString() + this.mainCbSuffix);
			if (cbObj.checked) {
				allMainCbUnchecked = false;
				break;
			}
		}

		// name
		var nameObj = document.getElementById('tx_mwpoi_pi1[name]');
		var nameObjEmpty = (nameObj.value == '');

		// select
		var selectObj = document.getElementById('tx_mwpoi_pi1[region_uid]');
		var selectObjFirst = (selectObj.selectedIndex == 0);


		if (allMainCbUnchecked && nameObjEmpty && selectObjFirst) {
			alert('Bitte geben Sie mindestens ein Kriterium für die Suche an');
			return false;
		}

		return true;
	}
}
