var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) !== -1) {
					return data[i].identity;
				}
			}
			else if (dataProp) {
				return data[i].identity;
			}
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index === -1) {return;}
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{   string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{   // for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


function changeStars(target, n) {
	$(target).parents(".rating").find("span.star-rating").each(function (i) {
		if (i+1 <= n) {
			$(this).addClass("rated");
		} else {
			$(this).removeClass("rated");
		}
	});
}

$(document).ready(function() {
	document.body.className = "js";
	var bn = BrowserDetect.browser;
	var bv = BrowserDetect.version;
	$("#footernav2 li:last").addClass("last");
	$('#col1 .wortwolke.long').addClass("closed");
	
	$('#col1 .wortwolke.long').click(function (e) {
		if (e.target.nodeName.toLowerCase() === "ul") {
			if ($(this).hasClass("closed")) {
				$(this).removeClass("closed");
			} else {
				$(this).addClass("closed");
			}
		}
	});

	// Container aufklappen
	$('.aufklappcnt').hide();
    $('.klappen').css('cursor','pointer').click(function(){
	     $(this).next('div.aufklappcnt').toggle('fast', function () {
				var $img = $(this).parent().children("p.klappen").children();
				if ($(this).is(":hidden")) {
					$img.removeClass("auf").addClass("zu");
				} else {
					$img.removeClass("zu").addClass("auf");
				}
			});
	    });
	
	// Safari 4 benimmt sich nicht, wie er soll und läßt sich nicht mit CSS-Hacks zum Wohlverhalten bewegen.
	if ($.browser.safari) {
	   $('#col1 form .skala_radio').css('padding-left','4em');
	 }
	//  Einwilligung schliessen
	$('.schliessen a').one("click", function() {
		// $(this).parent().parent().parent().parent().remove();
		$(this).parents('.small').remove();
		return false;
	});	

    // Dummytext in Textfeldern und Passwörtern wegklicken
    $("input[type='text'], input[type='password']").focus(function() {
        if (this.value === this.defaultValue) {this.value = '';}
    });
    // $("input[type='text'], input[type='password']").blur(function() {
    //     if (this.value === '') { this.value = (this.defaultValue ? this.defaultValue: ''); }
    // });

	// selektor in variable speichern
	// @note Der IE6 stört sich daran
	// muss vielleicht in ein if gepackt werden, um Existenz abzufragen
	// var $rate1 = $('form :radio.auto-star');
	// $rate1.rating({callback: function (value) {
		// nach voten rating deaktivieren
		// $(this).parent().children(":radio.auto-star").rating("readOnly", true);
		// Hier AJAX-Submit einbauen
	// }});
	// Suche nach div mit class nologin
	/*var $nologin = $("div.bewerten1 div.nologin");
	if ($nologin.length === 1) {
		// wenn gefunden, dann rating deaktivieren
		$nologin.parent().find(":radio.auto-star").rating('readOnly',true);
	} else {
		// andernfalls aktivieren
		// @note auskommentiert wegen IE6
		// $rate1.rating('readOnly',false);
	}
	// cancel button loeschen, da nicht benötigt
	$("div.rating-cancel").remove();*/
	
	/* accessible tabs */
	if($('div.tabs').length) {

		$("div.tabs").accessibleTabs({
			tabhead:'h3',
			fx:"fadeIn",
			callback: function (e) {
				var $this = e.target;
				var liLen = $this.children("ul.tabs-list").children().length-1;
				if (e.index === 0) {
					$this.find(".reiter_tl").addClass("hidden");
					$this.children("ul.tabs-list").children().removeClass("inner");
				} else {
					$this.find(".reiter_tl").removeClass("hidden");
					e.currentTarget.parent().addClass("inner");
				}

				if (e.index === liLen) {
					e.currentTarget.parent().removeClass("last");
				} else {
					$this.children("ul.tabs-list").children("li:last").addClass("last");
				}
			}
		}).prepend('<span class="reiter_tl hidden">&nbsp;</span>').find("ul.tabs-list li:last").addClass("last");
		
	}


	/* lightbox */ 
	
	function isIE6() {
		if(typeof document.body.style.maxHeight === "undefined") {
			return true;
		} else {
			return false;
		}
	}

	$("a.overlay").overlay({
		speed: 0,
		left: "center",
		expose: {color: "#fff", opacity: 0.4},
		onBeforeLoad: function () {
			var wrap = this.getContent().find(".olayer1_inhalt");
			wrap.load(this.getTrigger().attr("href"), function () {
				var $this = $(this);
				var hasImgs = !!$(this).find("img").get(0);
				if (hasImgs) {
					$(this).find("img").each(function () {
						$(this).load(function () {
							var k = $this.find(".lbContent").height();
							$this.find(".lbMiddleLeft").height(k).andSelf().find(".lbMiddleRight").height(k);
						});
					});
				} else {
					var h = $(this).find(".lbContent").height();
					$(this).find(".lbMiddleLeft").height(h).andSelf().find(".lbMiddleRight").height(h);
				}
				
				if (isIE6()) {$('#olayer1').bgiframe();}
			});
		}
	});
	
	/* lightbox für forum1_alle */
	$("a.overlay2").overlay({
		speed: 0,
		onBeforeLoad: function () {
			this.getConf().top = this.getTrigger().offset().top - $(window).scrollTop() - 15;
			if (bn === "Explorer" && bv === 6 || bv === 7) {
				this.getConf().top -= 155;
			}
			this.getConf().left = this.getTrigger().offset().left - 110;
			var wrap = this.getContent().find(".olayer1_inhalt");
			wrap.load(this.getTrigger().attr("href"), function () {
				var h = $(this).find(".lbContent").height();
				$(this).find(".lbMiddleLeft").height(h).andSelf().find(".lbMiddleRight").height(h);
				if (isIE6()) {$('#olayer2').bgiframe();}
			});
		}
	});
	
	/* lightbox für rundwanderwege */
	$("a.overlay3").overlay({
		speed: 0,
		onBeforeLoad: function () {
			this.getConf().top = this.getTrigger().offset().top - $(window).scrollTop() - 15;
			this.getConf().left = this.getTrigger().offset().left;
			var wrap = this.getContent().find(".olayer1_inhalt");
			wrap.load(this.getTrigger().attr("href"), function () {
				var h = $(this).find(".lbContent").height();
				$(this).find(".lbMiddleLeft").height(h).andSelf().find(".lbMiddleRight").height(h);
				if (isIE6()) {$('#olayer3').bgiframe();}
			});
		}
	});
	
	/* sushibar */
	
	if ($(".karussell").length) {
		$(".karussell").jCarouselLite({
			visible : 3,
			btnNext: ".nextbutton",
			btnPrev: ".prevbutton",
			auto: 7000,
			speed: 800,
			circular: true,
			firstStop: true
		});
	}
	
	
	/* inline Tootlips */
	function makeTitleTip() {
		var xOff = 10, yOff = 10;
		
		$(".titleTip").each(function () {
			var $t = $(this);
			$t.data("cont", "<span class='titleTiped'>"+decodeURIComponent($t.attr("title"))+"</span>").removeAttr("title");
		}).hover(function (e) {
			$("div.tooltipFrame").html($(this).data("cont")).css({"top":(e.pageY - xOff)+"px","left":(e.pageX + yOff)+"px"}).fadeIn("fast");
		}, function () {
			$("div.tooltipFrame").empty().fadeOut("fast");
		}).mousemove(function (e) {
			$("div.tooltipFrame").css({"top":(e.pageY - xOff)+"px","left":(e.pageX + yOff)+"px"});
		}).click(function (e) {
			e.preventDefault();
		});
	}
	
	makeTitleTip();
	
	/* tooltips */
	
	function makeTooltip(ts, ttc) { // ts = the Selector, ttc = theTooltipContainer
	var xOff = 10, yOff = 10;
	
	$(ts).hover(function (e) {
		$(ttc).clone().appendTo("div.tooltipFrame").show();
		$("div.tooltipFrame").css({"top":(e.pageY - xOff)+"px","left":(e.pageX + yOff)+"px"}).fadeIn("fast");
	},
	function (e) {
		$("div.tooltipFrame").empty().fadeOut("fast");
	}).mousemove(function (e) {
		$("div.tooltipFrame").css({"top":(e.pageY - xOff)+"px","left":(e.pageX + yOff)+"px"});
	});
	}
	makeTooltip("a.tooltip", ".tooltipFavoriten");
	makeTooltip("a.tooltipTest", ".tooltip1");
	makeTooltip("a.tooltipAnheizzeit_a", ".tooltipAnheizzeit");
	makeTooltip("a.tooltipAufschneider_a", ".tooltipAufschneider");
	makeTooltip("a.tooltipNachbarschaft_a", ".tooltipNachbarschaft");
	makeTooltip("a.tooltipAusstattung_a", ".tooltipAusstattung");
	makeTooltip("a.tooltipGesundheitsfaktor_a", ".tooltipGesundheitsfaktor");
	makeTooltip("a.tooltipGrillflaeche_a", ".tooltipGrillflaeche");
	makeTooltip("a.tooltipPreis_grill_a", ".tooltipPreis_grill");
	makeTooltip("a.tooltipReinigung_a", ".tooltipReinigung");
	makeTooltip("a.tooltipZertifikat_a", ".tooltipZertifikat");
	makeTooltip("a.tooltipHandling_a", ".tooltipHandling");
	makeTooltip("a.tooltipExtras_a", ".tooltipExtras");
	makeTooltip("a.tooltipLuftwiderstand_a", ".tooltipLuftwiderstand");
	makeTooltip("a.tooltipMagnetbremsung_a", ".tooltipMagnetbremsung");
	makeTooltip("a.tooltipPreis_ergo_a", ".tooltipPreis_ergo");
	makeTooltip("a.tooltipBrustgurt_a", ".tooltipBrustgurt");
	makeTooltip("a.tooltipWasserwiderstand_a", ".tooltipWasserwiderstand");
	makeTooltip("a.tooltipZielgruppe_a", ".tooltipZielgruppe");

	function get1em() {
		var $tmp1 = $("<div id='wem' />").css({"height" : "1em", "left" : "-9999em"})
		var $tmp = $("body").append($tmp1);
		var eem = $tmp1.height();
		$tmp1.remove();
		$tmp1 = $tmp = null;
		return eem;
	}
	
	window.emRef = get1em();
	
	/* bildergalerie */
	if ($('.ad-gallery').length) {
		$('.ad-gallery').adGallery({slideshow: {enable: false}});	
	}
	
	
	/* start: CSS hacks */
	if (bn === "Firefox" && bv === 3) {
		$("#col3 .reiter_accessible .tabs ul.tabs-list li.last a, #col3 .reiter_accessible .onetab ul.tabs-list li.last span").addClass("ff3fix1");
	}
	
	if (bn === "Explorer" && bv === 8) {
		$("#col3 .reiter_accessible .tabs ul.tabs-list li.last a, #col3 .reiter_accessible .onetab ul.tabs-list li.last span").addClass("ff3fix1");
	}
	
	/* ende: CSS hacks */
	
	
	/* Textarea default Text */
	$("textarea").each(function () {
		var $tx = $(this);
		$tx.data("defText", $tx.text());
		$tx.focus(function () {
			var $ta = $(this);
			if ($ta.text() === $ta.data("defText")) {
				$ta.text("");
			}
		});
	});
	
	
	
});




