jQuery.noConflict();
jQuery(document).ready(function ($) {

	// hacks
	if ($.browser.msie) {
		if ($.browser.version.substr(0, 1) > 7) {
			$('body').addClass('ie8');
			// $('#content aside section section:last-child').addClass('lC');
		}
		if ($.browser.version.substr(0, 1) <= 6) {
			var ie6text = 'Sie verwenden einen veralteten Browser, den wir leider nicht mehr unterstützen. Bitte <a href="http://www.microsoft.com/germany/windows/internet-explorer/worldwide-sites.aspx" title="Internet Explorer updaten">aktualisieren Sie Ihren Browser</a> oder installieren Sie eine kostenlose aktuelle Alternative: <a href="http://www.mozilla-europe.org/de/firefox/" title="Download Firefox">Firefox</a>, <a href="http://www.google.com/chrome/" title="Download Google Chrome">Chrome</a>, <a href="http://www.apple.com/de/safari/" title="Download Safari">Safari</a>.';
			$('body').addClass('ie6').append('<div id="ie6Warning">' + ie6text + '</div>');
		}
	}
	if ($.browser.safari) {
		$('body').addClass('safari');
	}

	
	// 
	//	ACCORDION h3 KONZEPTE
	//
	
	$('.csc-textpic-imagewrap').addClass('container');

	$('.slide .csc-textpic').addClass('container');
	
	// init accordion
	var speed = 500;
	var accContainer = $('#content #mainContent #leftContent .csc-textpic');
	
	var acc_konzept = $('body').hasClass('h3_acc');
	var innerAcc = $('#fzgDataContainer .tabInnerContent .csc-textpic');
	if (acc_konzept === true || innerAcc.length ) {
	

		accContainer.each(function (index) {
			var clonedH3 = $(this).children().find('h3').clone().addClass('cloned');
			$(this).children().find('h3').remove();
			$(this).children().wrapAll('<div class="accContent container"></div>');
			$(this).prepend(clonedH3);
			$(this)
				.children('div.accContent')
				.data('oldH',$(this).children('div.accContent').innerHeight());
			$(this).not('.active').addClass('closed').children('div.accContent')
				.css('height', 0).fadeOut(function () {
					$(this).hide();
				});
		});
	}
	else {
		// return false;
	}
	var accHandlers = $(accContainer).children('h3.cloned');
	accHandlers.append('<span class="arrow"></span>');
	// toggle handlers
	if (accHandlers) {
		accHandlers.toggle(function (e) {
			e.preventDefault();
	
			// first click
			if ($(this).parent('div').hasClass('opened')) {
				$(this).parent('div').removeClass('opened').addClass('closed')
				.children('div.accContent')
					.animate({
						height : 0,
						opacity: 0
					}, speed
					, function () {
						$(this).hide();
					});
			}
			else {
				$(this).parent('div').addClass('opened').removeClass('closed')
				.children('div.accContent')
				.animate({
					height : $(this).next('div.accContent').data('oldH'),
					opacity: 1
				}, speed)
				.fadeIn();
			}
		}, function (e) {
			e.preventDefault();
			// 2nd click
			if ($(this).parent('div').hasClass('opened')) {
				$(this).parent('div').removeClass('opened').addClass('closed')
				.children('div.accContent')
					.animate({
						height : 0,
						opacity: 0
					}, speed
					, function () {
						$(this).hide();
					});
			}
			else {
				$(this).addClass('opened').removeClass('closed')
				.children('div.accContent')
				.animate({
					height : $(this).children('div.accContent').data('oldH'),
					opacity: 1
				}, speed)
				.fadeIn();
			}
		});
	}
	else {
		// nothing / break
	}
	
	
	
	
	// INIT contentswitcher
	// active class on first handler
	
	
	var fzgDataContainer = $('#fzgDataContainer');
	var fzgDataContainerDivs = $('#fzgDataContainer > div');
	var handlers = $('ul#handlers li');
	var tabInnerContent = $('div.tabInnerContent');
	
	
	
	if (window.location.href.indexOf("#") !== -1) {
		var loadActive = $(window.location.hash);
		window.scrollTo(0, 700);
	}
	else {
		var loadActive = $('ul#handlers li:first-child');
	}
	loadActive.addClass('active');
	// nummeriert die handler, slides und das innerMenu
	handlers.each(function (index) {
		$(this).data('index', index);
	});
	fzgDataContainerDivs.each(function (index) {
		$(this).data('index', index);
	});
	$('ul.tabInnerMenu').each(function (index) {
		$(this).children('li').each(function (index) {
			$(this).data('index', index);
		});		
	});
	tabInnerContent.each(function (index) {
		$(this).children('div.slide').each(function (index) {
			$(this).data('index', index);
		});
	});
	// richtigen handler anfangs active setzen
	var ui = $(loadActive).data('index');
	handlers.each(function () {
		if ($(this).data('index') === ui) {
			$(this).addClass('active');
		}
	});
	// versteckt alle slideCONTAINER nur der erste ist sichtbar

	fzgDataContainerDivs.each(function () {
		if ($(this).data('index') !== ui) {
			$(this).hide();
		}
	});
	fzgDataContainerDivs.not(':hidden').addClass('active');
	
	// versteckt alle slides nur der erste ist sichtbar
	tabInnerContent.children('div.slide').not(':first-child').hide();
	tabInnerContent.children('div.slide').not(':hidden').addClass('active');
	$('ul.tabInnerMenu > li:first-child').addClass('active');

	
	
	handlers.click(function () {
		// handlers active class
		handlers.removeClass('active');
		$(this).addClass('active');
		// zeigt den slide der zum clicked handler gehoert
		// und versteckt alle anderen
		$('#fzgDataContainer > div').not(':hidden').hide().removeClass('active');
		var elmIndex = $(this).data('index');
		$('#fzgDataContainer > div').filter(function () {		
			if ($(this).data('index') === elmIndex) {
				$(this).show().addClass('active');
			}
		});
		$('.tabInnerContent > div').hide().removeClass('active');
		$('.tabInnerContent > div:first-child').show().addClass('active');
		$('ul.tabInnerMenu > li').removeClass('active');
		$('ul.tabInnerMenu > li:first-child, #fzgDataContainer div.tabInnerContent > div:first-child').addClass('active');
		
	});
	
	
	
	// innerMENU function
	$('ul.tabInnerMenu > li a').click(function (event, e) {
		event.preventDefault();
		// active class
		$('ul.tabInnerMenu > li').removeClass('active');
		$(this).parent('li').addClass('active');
		var elmIndex2 = $(this).parent('li').data('index');
		$(this)
			.parent('li').parent('ul').next('.tabInnerContent').children()
			.hide().removeClass('active')
			.filter(function () {		
				if ($(this).data('index') === elmIndex2) {
					$(this).show().addClass('active');
				}
			});
	});
	
	
	
	// input + textarea clearing
	$('input[type!=submit]')
		.focus(function () {
			var defaultVal = $(this).val();
			$(this).data('defaultVal', defaultVal);
			if ($(this).val() === defaultVal) {
				$(this).val("").addClass('inFocus');
			}
		})
		.blur(function () {
			$(this).removeClass('inFocus');
			if ($(this).val() === "") {
				var defaultVal = $(this).data('defaultVal');
				$(this).val(defaultVal).removeClass('inFocus');
			}
		});   
	$('textarea')
		.focus(function () {
			var defaultVal = $(this).html();
			$(this).data('defaultVal', defaultVal);
			if ($(this).html() === defaultVal) {
				$(this).html("").addClass('inFocus');
			}
		})
		.blur(function () {
			if ($(this).html() === "") {
				var defaultVal = $(this).data('defaultVal');
				$(this).html(defaultVal).removeClass('inFocus');
			}
		});
	
	// LITTLE HELPERS
	
	$('#externalthumbs').addClass('container');
	
	$('a#sonderTableLink,a#fussnoten').fancybox({
		"padding": 20,
		"centerOnScroll": false
	});
	
	
	// append styling spans in menu
	$('ul#menu .subMenu').append('<span class="subMenuTop"></span><span class="subMenuBot"></span>');
	
		// fancybox for content images
	if ($("*").is(".jqfancybox")) {
		$(".jqfancybox").fancybox({
			"padding": 20,
			"speedIn": 300,
			"speedOut": 300,
			"changeSpeed": 300,
			"transitionIn": "elastic",
			"transitionOut": "elastic",
			"titlePosition": "over",
			"titleShow": true,
			"easingIn": "swing",
			"easingOut": "swing",
			"showCloseButton": true,
			"showNavArrows": true,
			"enableEscapeButton": true,
			"overlayShow": true,
			"overlayOpacity": 0.4,
			"overlayColor": "#666",
			"centerOnScroll": false,
			"hideOnContentClick": false,
			"onComplete"		 :	function () {
				$("#fancybox-wrap").hover(function () {
					$("#fancybox-title").show();
				}, function () {
					$("#fancybox-title").hide();
				});
			},
			"titleFormat": function (title, currentArray, currentIndex, currentOpts) {
				return '<span id="fancybox-title-over">Bild ' + (currentIndex + 1) + ' von ' + currentArray.length + (title.length ? ' : &nbsp; ' + title : '') + '</span>';
			}
		});
	}

	
	
	
	
	// INFO 
	// zebra tables serienausstattung etc. passiert in ext. html file 
	
	// zebra tables
	$('table tr:odd').addClass('odd');
	
	// zebra tables for usedCaravans
	$('.usedCaravans table').each(function () {
		var tableRows = $(this).find('tr');
		var odds = tableRows.find('tr:odd');
		tableRows.find('td:eq(1)').addClass('TDright');
		odds.addClass('odd');
		
	});
	

	
	// startseite text abschneiden
	
	var longText = $('#footer li:eq(2) p');
	var moreLinkText = '+ mehr...';
	var lessLinkText = 'weniger...';
	var moreLink = '<a href="" class="moreText">' + moreLinkText + '</a>';
	longText.data('height', longText.innerHeight()).addClass('zu').parent('li').append(moreLink);
	$('a.moreText').toggle(function (e) {
		e.preventDefault();
		$(this).text(lessLinkText);
		var longTextCssHeight = longText.innerHeight();
		longText.data('height2', longTextCssHeight).animate({
			height : longText.data('height')
		});
	},
	function (e) {
		e.preventDefault();
		$(this).text(moreLinkText).addClass('linkZu');
		longText.animate({
			height : longText.data('height2')
		});
	});

	// language select
	$('div#lang').removeAttr('class');
	var activeLang = $('div#lang a.act').clone();
	$('div#lang a.act').remove();
	$('div#lang').prepend(activeLang);


	$('div#lang a.act').click(function (e) {
		e.preventDefault();
		$('div#lang').addClass('opened');
	});
	
	// HAENDLER KARTE
	$('address.hidden').fadeOut();
				
	var karteConfig = {
		sensitivity: 1, // number = sensitivity threshold (must be 1 or higher)
		interval: 80, // number = milliseconds for onMouseOver polling interval
		timeout: 100, // number = milliseconds delay before onMouseOut
		speed : 100,
		handler : $('div.pin'),
		over: function () {
				$(this).children('address').removeAttr('class').fadeIn();
			},
		out: function () {
				$(this).children('address').fadeOut(function () {
					$(this).addClass('hidden');
				});
			}
	};
	karteConfig.handler.hoverIntent(karteConfig);
	
	
	
	// sliding startseite
	var slideContainer1 = $('#images');
	if (slideContainer1.children('li').length) {
		slideContainer1.cycle({ 
			fx: 'fade',
			manualTrump: false,
			autostop: true,
			autostopCount: 1,
			speed: 500
		});
	}
	// STARTSEITE AKKORDION
	$('#acordion li').each(function (index) {
		$(this)
			.data('openHeight', $(this).height()).data('index', index)
			.css('height', 20)
			.append('<span></span>');
			
		$('#acordion li:first-child').addClass('opened').css('height', $(this).data('openHeight'));
	});
	$('#acordion h2').click(function (event) {
		event.stopPropagation();
		
		// close the opened 
		$('#acordion li.opened').animate({
			height: 20
		}, 700).removeClass('opened');
		
		// open the clicked
		$(this).parent('li').animate({
			height: $(this).parent('li').data('openHeight')
		}, 700).addClass('opened');
		$('#images').cycle($(this).parent('li').data('index')); 
		return false; 
	});
	

	// slider fzg Bilder
	var slideContainer2 = $('#fzgImages');
	var indicators = $('#fzgImageContainer #indicators');
	if (slideContainer2.children('li').length) {
		slideContainer2.cycle({ 
			fx: 'fade',
			manualTrump: false,
			pager: indicators
		});
	}
	indicators.children('a').each(function () {
		$(this).text('');
	});

	
	
	
});
