$(document).ready(function() {
	$('a.booking').each(function() {
		niceBut($(this));
	});
	$('a.button').each(function() {
		niceBut($(this));
	});
	$('input.submit').each(function() {
		niceButInput($(this));
	});
});

function niceBut(obj) {
	var inl = obj.hasClass("inline");
	obj.removeClass();
	obj.addClass("nicebut");
	var str = obj.html();
	obj.html('<div class="nicebut_left"><div class="nicebut_right">' + str + '</div></div>');
	if (inl) {
		obj.css("float", "left");
		obj.after('<span class="clear"></span>');
	}
}

function niceButInput(obj) {
	obj.removeClass();
	obj.addClass('niceinput');
	obj.wrap('<a class="niceinput_center"></a>');
	obj.wrap('<span class="niceinput_left"></span>');
	obj.wrap('<span class="niceinput_right"></span>');
}

function niceRadio(obj) {
	obj.rel = 'radiobut_' + obj.id;
	var cap = (obj.title)? obj.title : '&nbsp;';
	$('label').each(function() {
		if ($(this).attr("for") == obj.id) {
			$(this).hide();
		}
	});
	return '<a id="' + obj.rel + '" class="button' + ((obj.checked)? ' ractive' : ' inactive') + '" rel="' + obj.id + '" onclick="changeRadio(this)">' + cap + '</a>';
}

function changeRadio(obj) {
	var radio = $("#" + obj.rel).get(0);
	if (!radio.checked) radio.checked = !radio.checked;
	if ($("#" + obj.rel).attr("onchange")) {
		$("#" + obj.rel).attr("onchange")();
	}
	obj.className = (radio.checked)? 'button ractive' : 'button inactive';
	$("input[type=radio]").each(function(i) {
		var cover = $("#" + this.rel).get(0);
		cover.className = (this.checked)? 'button ractive' : 'button inactive';
	});
}

function niceCheckbox(obj, cname) {
	obj.rel = 'checkbox_' + obj.id;
	var cap = (obj.title)? obj.title : '&nbsp;';
	$('label').each(function() {
		if ($(this).attr("for") == obj.id) {
			$(this).hide();
		}
	});
	return '<a id="' + obj.rel + '" class="checkbox' + ((obj.checked)? ' active ' : ' inactive ') + cname + '" rel="' + obj.id + '" onclick="changeCheckbox(this, \'' + cname + '\')">' + cap + '</a>';
}

function changeCheckbox(obj, cname, noCall) {
	var checkbox = $("#" + obj.rel).get(0);
	if (checkbox.checked && $("#" + obj.rel).hasClass('obligatory')) return;
	checkbox.checked = !checkbox.checked;
	obj.className = (checkbox.checked)? 'checkbox active ' + cname : 'checkbox inactive ' + cname;
	if (!noCall && $("#" + obj.rel).hasClass("callback")) {
		checkboxChanged(checkbox, obj, cname);
	}
}

function toggleExpand(id, but, str_expand, str_collapse) {
	if ($("#" + id).css("display") == "none") {
		$("#" + id).fadeIn(250);
		$(but).removeClass("expand");
		$(but).addClass("collapse");
		$(but).html((str_collapse)? str_collapse : "Verbergen");
	} else {
		$("#" + id).hide();
		$(but).removeClass("collapse");
		$(but).addClass("expand");
		$(but).html((str_expand)? str_expand : "Anzeigen");
	}
}

function addRoomTypes() {
	$("input[type=radio]").each(function(i) {
		this.style.display = "none";
		var id = $(this).attr("id").split("_")[1];
		var sel = $(this).attr("checked");
		var td = $("#roomcol_" + id);
		td.click(function() {
			var id = $(this).attr("id").split("_")[1];
			var rad = $("#roomtype_" + id);
			rad.attr("checked", "1");
			changeRoomTypes();
		});
	});
	changeRoomTypes();
}

function changeRoomTypes() {
	$("input[type=radio]").each(function(i) {
		var id = $(this).attr("id").split("_")[1];
		var sel = $(this).attr("checked");
		var tr = $("#roomrow_" + id);
		tr.removeClass('selected');
		if (sel) {
			tr.addClass('selected');
		}
	});
}

function ppage(page, w, h) {
	var win = window.open('popup.php?page=' + page, 'Popup', 'width=' + w + ', height=' + h + ', scrollbars=yes, dependent=yes');
	return (win)? false : true;
}

function confirmDeleteOffer() {
	return confirm('Möchten Sie dieses Angebot unwiderruflich zurückziehen?' + "\n\n" + 'Die Gebühren für die Angebotsabgabe werden nicht zurückerstattet.');
}

function showResults(str) {
	var obj;
	var parts = str.split("&");
	for (var i=0; i<parts.length; i++) {
		var param = parts[i].split("=")[0];
		var value = parts[i].split("=")[1];
		switch(param) {
			case "field":
				obj = $('#' + value);
				break;
			case "result":
				$("#resultlist").remove();
				var reslist = buildResultList(value, obj.attr("id"));
				if (reslist) {
					obj.before(reslist);
					var pos = obj.position();
					$("#resultlist").css("left", (pos.left) + "px");
					$("#resultlist").css("top", (pos.top + obj.height() + 5) + "px");
				}
				break;
		}
	}
}

function buildResultList(list, id) {
	if (list.length < 2) return;
	list = list.split(";");
	var ostr = '<div id="resultlist">';
	for (var i=0; i<list.length; i++) {
		ostr+= '<a onclick="resetForm($(\'#' + id + '\').get(0).form); $(\'#' + id + '\').val(deescape(\'' + list[i] + '\')); $(\'#resultlist\').remove(); $(\'#' + id + '\').get(0).form.ifind.value=1; $(\'#' + id + '\').get(0).form.submit()">' + deescape(list[i]) + '</a>';
	}
	ostr+= '</div>';
	return ostr;
}

function deescape(str) {
	return unescape(str).split("+").join(" ");
}

function resetForm(frm) {
	var list = frm.elements;
	for (var i=0; i<list.length; i++) {
		if (list[i].type == "text") {
			list[i].value = "";
		}
	}
}