var galerie_aktiv = 0;
var galerie_timeout = 5000;
// var root = 'http://localost/hihc/';
var root = ROOT;

// var dompref = '/hihc/';
var dompref = '/';

oaeq = 0;
bzkchecked = new Object();
regchecked = new Object();
ctr = 0;
var oabtns;

$(function() {

	$('.ikontform').submit(function() {
		vals = $(this).serialize();
		$.post(ROOT + 'ajax/send_ikont.php', vals, function(data) {
			$('.ikontform .msg').html(data);
		});
		return false;
	});
	$('#empfehlen form').submit(function() {
		vals = $(this).serialize();
		$.post(ROOT + 'ajax/send_empfehlen.php', vals, function(data) {
			$('#empfehlen .msg').html(data);
		});
		return false;
	});
	galerie_dots();
	gt = setTimeout('galerie_autoscroll()', galerie_timeout);
	$(".immobilien .top_immo_galerie .dots a").click(function() {
		if (!$(this).hasClass('aktiv')) {
			window.clearTimeout(gt);
			b = $(".immobilien .top_immo_galerie .dots a").index(this);
			galerie_switch(b);
		}
	});
	doc_ready();
});

function refreshBzks() {
	/*
	 * for (bzkid in bzkarr) { $('#bzk' +
	 * bzkid).parent().children('.count').text(bzkarr[bzkid]); }
	 */
	$('.fullcount').text(fullcount);
	$('#reg' + regarr);
	for (regid in regarr) {
		$('#reg' + regid + ' ~ .count').text(regarr[regid]);
		if (regarr[regid] <= 0) {
			$('#reg' + regid).parent().hide();
		} else {
			$('#reg' + regid).parent().show();
		}
		$('.bb').show();

		$('.bb:not(:has(:visible))').hide();
	}
	$('.selectbox > label > input').each(function(i, el) {
		bidstr = $(el).attr('id');
		bid = bidstr.slice(3);
		if (bzkarr[bid] == undefined) {
			$(el).parent().children('.count').empty();
			$(el).parent().hide();
		} else {
			$(el).parent().children('.count').text(bzkarr[bid]);
			$(el).parent().show();
		}
	});
}
function refreshFullctr() {
	$('.fullcount').text(fullcount);
}
function ajaxRefreshBzks() {
	vals = $('.searchform form').serialize();
	$.post(dompref + 'ajax/get_bzkctr.php', vals, refreshBzks, 'script');
}
function ajaxRefreshFullctr() {
	vals = $('.searchform form').serialize();
	$.post(dompref + 'ajax/get_fullctr.php', vals, refreshFullctr, 'script');
}
function doc_ready() {

	$('.immobilien .searchform form')
			.submit(
					function() {
						ctr = $('.immobilien .searchform .fullcount').text();
						if (ctr <= 0) {
							alert('Keine Immobilien gefunden, bitte erweitern Sie ihre Suche!');
							return false;
						} else {
							return true;
						}
					});

	$('.immobilien .searchform .search_output p').show();
	$('.selectbox > label input').click(function() {
		clickBzk(this);
		return false;
	});

	$('.selectbox > .bb > label input').click(function() {
		clickReg(this);
		return false;
	});

	$(".immobilien .searchform .search_wohnen #vermarktungsart_mieten").click(
			function() {
				$(".show_kaufen").hide();
				$(".show_kaufen input").removeAttr('checked');

			});
	$(".immobilien .searchform .search_wohnen #vermarktungsart_kaufen").click(
			function() {
				$(".show_kaufen").show();
			});
	$(".immobilien .searchform .search_wohnen #objektart_haus").click(
			function() {
				$(".hide_grundstueck").show();
				$(".show_grundstueck").hide();
			});
	$(".immobilien .searchform .search_wohnen #objektart_wohnung").click(
			function() {
				$(".hide_grundstueck").show();
				$(".show_grundstueck").hide();
			});
	$(".immobilien .searchform .search_wohnen #objektart_grundstueck").click(
			function() {
				$(".hide_grundstueck").hide();
				$(".show_grundstueck").show();
			});

	$('.searchform .selectbox > .bb').show();
	$('.searchform .search_output .fullcount').show();
	// refreshRegCounts();

	$('.searchform .radio').click(ajaxRefreshBzks);
	$('.searchform .checkbox').click(ajaxRefreshBzks);
	$('.searchform .input.small').change(ajaxRefreshBzks);
	$('.searchform .selectbox > label > input').click(ajaxRefreshFullctr);

	$(".immobilien .searchform .navigation a").removeAttr('href');
	$(".immobilien .searchform .navigation a")
			.click(
					function() {
						var tmp_obj = $(this).attr('id').substring(7);
						$(".immobilien .box .bottom").hide();
						$(".immobilien .searchform")
								.slideUp(
										'fast',
										function() {
											$(".immobilien .searchform")
													.load(
															dompref + 'ajax/search_navigation.php',
															{
																navigation : "search_"
																		+ tmp_obj,
																langcode : $(
																		'body')
																		.attr(
																				'id')
															},
															function() {

																$(
																		".immobilien .searchform")
																		.slideDown(
																				'fast',
																				function() {
																					doc_ready();
																				});
															});
										});
						$(
								".immobilien div.latest_three > div:not(."
										+ tmp_obj + ") div.kartei").fadeOut();
						$(
								".immobilien div.latest_three > div:not(."
										+ tmp_obj + ")")
								.slideUp(
										'fast',
										function() {
											$(
													".immobilien div.latest_three > div."
															+ tmp_obj)
													.fadeIn(
															function() {
																$(
																		".immobilien div.latest_three > div."
																				+ tmp_obj
																				+ " div.kartei")
																		.slideDown(
																				'fast',
																				function() {
																					$(
																							".immobilien .box .bottom")
																							.show();
																				});
															});
										});
					});

	$('.immobilien_detail .thumbbox .thumbs a')
			.click(
					function() {
						src = $(this).children('img').attr('src');
						src = src.substr(0, src.length - 10);
						src = src + '.jpg';
						img = new Image();
						img.src = src;
						lf = function() {
							ntbl = $(
									'<table><tr><td><img title="" alt="" src="' + src + '"></td></tr></table>')
									.hide();
							$('.immobilien_detail .galeriebox .big').append(
									ntbl);
							$('.immobilien_detail .galeriebox .big table:eq(1)')
									.fadeIn('fast');
							$('.immobilien_detail .galeriebox .big table:eq(0)')
									.fadeOut('fast', function() {
										$(this).remove();
									});
						}
						if (img.complete) {
							lf();
						} else {
							img.onLoad = lf();
						}
						return false;
					});

}

function clickReg(obj) {
	if ($(obj).is('input')) {
		input = $(obj);
	} else {
		input = $(obj).find('input');
	}
	idstr = input.attr('id');
	reg = parseInt(idstr.substring(3, 10));
	selectReg(reg);
	window
			.setTimeout(
					'$("#' + idstr + '").attr("checked","checked");ajaxRefreshFullctr();',
					10);
}
function selectReg(reg) {
	input = $('#reg' + reg);
	if (input.is(':visible')) {
		input.attr('checked', 'checked');
		input.unbind('click');
		input.bind('click', function() {
			unClickReg(this);
			return false;
		});
		regchecked[reg] = true;
		for (cid in regionen[reg]['childs']) {
			selectReg(regionen[reg]['childs'][cid]);
		}
		for (bid in regionen[reg]['bzks']) {
			selectBzk(regionen[reg]['bzks'][bid]);
		}
		checkRegs(regionen[reg]['parent']);
	}
}

function unClickReg(obj) {
	if ($(obj).is('input')) {
		input = $(obj);
	} else {
		input = $(obj).find('input');
	}
	idstr = input.attr('id');
	reg = parseInt(idstr.substring(3, 10));
	unSelectReg(reg);
	window.setTimeout(
			'$("#' + idstr + '").removeAttr("checked");ajaxRefreshFullctr();',
			10);
}
function unSelectReg(reg) {
	input = $('#reg' + reg);
	if (input.is(':visible')) {
		input.removeAttr('checked');
		input.unbind('click');
		input.click(function() {
			clickReg(this);
			return false;
		});
		regchecked[reg] = false;
		for (bid in regionen[reg]['bzks']) {
			unSelectBzk(regionen[reg]['bzks'][bid]);
		}
		unCheckRegs(regionen[reg]['parent']);
		for (cid in regionen[reg]['childs']) {
			unSelectReg(regionen[reg]['childs'][cid]);
		}

	}
}

function clickBzk(obj) {
	if ($(obj).is('input')) {
		input = $(obj);
	} else {
		input = $(obj).find('input');
	}
	idstr = input.attr('id');
	bzk = parseInt(idstr.substring(3, 10));
	selectBzk(bzk);
	window
			.setTimeout(
					'$("#' + idstr + '").attr("checked","checked");ajaxRefreshFullctr();',
					10);
}
function selectBzk(bzk, checkregs) {
	bzkchecked[bzk] = true;
	$('#bzk' + bzk).attr('checked', 'checked');
	$('#bzk' + bzk).unbind('click');
	$('#bzk' + bzk).click(function() {
		unClickBzk(this);
		return false;
	});
	if (checkregs == undefined || checkregs == true) {
		for (regi in bzk_regs[bzk]) {
			reg = bzk_regs[bzk][regi];
			checkRegs(reg);
		}
	}

}

function unClickBzk(obj) {
	if ($(obj).is('input')) {
		input = $(obj);
	} else {
		input = $(obj).find('input');
	}
	idstr = input.attr('id');
	bzk = parseInt(idstr.substring(3, 10));
	unSelectBzk(bzk);
	window.setTimeout(
			'$("#' + idstr + '").removeAttr("checked"); ajaxRefreshFullctr();',
			10);
}
function unSelectBzk(bzk) {
	if ($('#bzk' + bzk).is(':visible')) {
		bzkchecked[bzk] = false;
		$('#bzk' + bzk).unbind('click');
		$('#bzk' + bzk).click(function() {
			clickBzk(this);
			return false;
		});
		$('#bzk' + bzk).removeAttr('checked');
		for (regi in bzk_regs[bzk]) {
			regid = bzk_regs[bzk][regi];
			unCheckRegs(regid);
		}

	}
}

function unCheckRegs(reg) {
	if (reg != null && $('#reg' + reg).is(':visible')) {
		regchecked[reg] = false;
		$('#reg' + reg).removeAttr('checked');
		$('#reg' + reg).unbind('click');
		$('#reg' + reg).click(function() {
			clickReg(this);
			return false;
		});
		unCheckRegs(regionen[reg]['parent']);
	}
}

function checkRegs(reg) {
	if (reg != null && $('#reg' + reg).is(':visible')
			&& $('#reg' + reg).not(':checked')) {
		cregchecked = true;
		bzkloop: for (bzki in regionen[reg]['bzks']) {
			regbzk = regionen[reg]['bzks'][bzki];
			if ($('#bzk' + regbzk).is(':visible')
					&& (bzkchecked[regbzk] == undefined || bzkchecked[regbzk] == false)) {
				cregchecked = false;
				// alert(regbzk);
				break bzkloop;
			}
		}
		regloop: for (regi in regionen[reg]['childs']) {
			creg = regionen[reg]['childs'][regi];
			if ($('#reg' + creg).is(':visible')
					&& (regchecked[creg] == undefined || regchecked[creg] == false)) {
				cregchecked = false;
				break regloop;
			}
		}
		if (cregchecked) {
			regchecked[reg] = true;
			$('#reg' + reg).attr('checked', 'checked');
			$('#reg' + reg).unbind('click');
			$('#reg' + reg).click(function() {
				unClickReg(this);
				return false;
			});
			checkRegs(regionen[reg]['parent']);
		}
	}
}

function addBzkCount(bzk, count, reg) {
	if (regcount[reg] == undefined) {
		regcount[reg] = new Object();
	}
	regcount[reg][bzk] = count;
	preg = regionen[reg]['parent'];
	if (preg != null) {
		addBzkCount(bzk, count, preg);
	}
}
function printCountSum() {
	for (reg in regcount) {
		ctr = 0;
		for (bzk in regcount[reg]) {
			ctr += regcount[reg][bzk];
		}
		$('#reg' + reg + ' ~ .count').text(ctr);
		// alert(ctr);
	}
}
function refreshRegCounts() {
	$('.searchform .selectbox .bb .count').empty();
	regcount = new Object();
	for (bzk in bzk_regs) {
		if ($('#bzk' + bzk).is(':visible')) {
			bzkcount = parseInt($('#bzk' + bzk + ' ~ .count').text());
			if (bzkcount > 0) {
				for (regind in bzk_regs[bzk]) {

					reg = bzk_regs[bzk][regind];
					addBzkCount(bzk, bzkcount, reg);
				}
			}
		}
	}
	printCountSum();
	$('.searchform .selectbox > label .count:empty').parent().hide().find(
			'input').attr('checked', 'checked');
	$('.searchform .selectbox > label .count:not(:empty)').parent().show();
	$('.bb').show();
	// $('.bb:not(:has(:visible))').hide();
}
function galerie_autoscroll() {
	a = $(".immobilien .top_immo .galerie_bit").length - 1;
	// alert(a);
	if (a > 1) {
		if (galerie_aktiv >= a) {
			galerie_aktiv = 0;
		} else {
			galerie_aktiv++;
		}
		galerie_switch(galerie_aktiv);
		gt = setTimeout('galerie_autoscroll()', galerie_timeout);
	}
}
function galerie_dots() {

	a = $(".immobilien .top_immo .galerie_bit").length;
	for (i = 0; i < a; i++) {
		// alert(i);
		$(".immobilien .top_immo_galerie .dots").append('<a></a>');
	}
	$(".immobilien .top_immo_galerie .dots a:first").addClass('aktiv');
}
function galerie_switch(itemid) {
	galerie_aktiv = itemid;
	$(".immobilien .top_immo .galerie_bit").fadeOut();
	$(".immobilien .top_immo .galerie_bit:eq(" + galerie_aktiv + ")").fadeIn();
	$(".immobilien .top_immo_galerie .dots a").removeClass("aktiv");
	$(".immobilien .top_immo_galerie .dots a:eq(" + galerie_aktiv + ")")
			.addClass("aktiv");
}

