
$(document).ready(function() {
	registerFancybox();
	registerHomeSlider();
	registerBoxRight();
	registerCarousel();
	$(window).resize(registerBoxRight);
	/*registerProfileLink();*/
	registerCallBackLink();
	$(document).click(cancelAllWindows);
	$(window).scroll(updateSitePreviewPosition).resize(updateSitePreviewPosition);
	registerTabs();
	registerBadIdea();
	
	$("img.imgA").hover(
		function() {
		$(this).stop().animate({"opacity": "0"}, "slow");
		},
		function() {
		$(this).stop().animate({"opacity": "1"}, "slow");
	});
	
	$('.sitemap1Toogle').click(sitemapDetailToggle);
	$('.sitemap1ToogleHaupt').click(sitemapDetailToggle);
	
	$(".color tr:even").addClass('trEven');
	$(".color tr:odd").addClass('trOdd');
	$(".color tr:first").addClass('trFirst');
	
	registerGeschichsDetailScroller();
	
	registerAllWindowLinks();
	$('.iframe.openFancyboxCallback').fancybox( { width:334 , height:374, overlayOpacity:0.3,onComplete:function() { registerAllWindowLinks(true); } } );
	$('.iframe.openFancyboxKalender').fancybox( { width:600 , height:450, overlayOpacity:0.3,onComplete:function() { registerAllWindowLinks(true); } } );	
	$('.iframe.openFancyboxLexikon').fancybox( { width:600 , height:800, overlayOpacity:0.3,onComplete:function() { registerAllWindowLinks(true); } } );
	$('.iframe.openFancyboxBlaetter').fancybox( { width:1020 , height:960, overlayOpacity:0.3,onComplete:function() { registerAllWindowLinks(true); } } );
	$('.iframe.openFancyboxNews').fancybox( { width:700 , height:550, overlayOpacity:0.3,onComplete:function() { registerAllWindowLinks(true); } } );
	$('.iframe.openFancyboxLogin').fancybox( { width:400 , height:500, overlayOpacity:0.3,onComplete:function() { registerAllWindowLinks(true); } } );
	$('.iframe.openFancyboxKontaktST').fancybox( { width:400 , height:578, overlayOpacity:0.3,onComplete:function() { registerAllWindowLinks(true); } } );
	$('.iframe.openFancyboxShare').fancybox( { width:500 , height:500, overlayOpacity:0.3,onComplete:function() { registerAllWindowLinks(true); } } );
});

function registerAllWindowLinks(useIframeScope,iframeLoaded)
{
	if(!iframeLoaded && useIframeScope)
	{
		$('iframe').load(function() { setTimeout(function() {registerAllWindowLinks(true,true);},10); });
		return true;
	}
	registerLoginLink(iframeLoaded);
	if (iframeLoaded) $('iframe').contents().find('#registerLink').click(registerRegisterLink);
	else $('#registerLink').click(registerRegisterLink);
	
	if (iframeLoaded) $('iframe').contents().find('.pwdsendLink').click(registerPwdsendLink);
	else $('.pwdsendLink').click(registerPwdsendLink);
	
	var useLastObj=iframeLoaded ? $('iframe').contents().find('.iframe.openFancyboxProfile') : $('.iframe.openFancyboxProfile');
	useLastObj.fancybox( { width:334 , height:210, overlayOpacity:0.3, onComplete:function() {
		registerAllWindowLinks(true);
		$('#fancybox-frame').contents().find('form').submit(function() {
			if($('#profileVorname',this).val().length==0)
			{
				$('#profileVorname',this).addClass('inputError');
				return false;
			}
			if($('#profileNachname',this).val().length==0)
			{
				$('#profileNachname',this).addClass('inputError');
				return false;
			}
			if($('#profilePassword',this).val().length==0)
			{
				$('#profilePassword',this).addClass('inputError');
				return false;
			}
			if($('#profilePassword',this).val()!=$('#profilePasswordRep',this).val())
			{
				$('#profilePasswordRep',this).addClass('inputError');
				return false;
			}
		});
		$('#fancybox-frame').contents().find('form input').focus(function() {
			$(this).removeClass('inputError');
		});
	} } );
}

function registerKalender()
{
	$('.iframe.openFancyboxCallback').fancybox( { width:334 , height:334,onComplete:registerAllWindowLinks } );
}


function registerCarousel()
{
	$(".whbTicker").jCarouselLite({
	    auto: 2500,
	    speed: 1000,
		vertical: true,
		visible: 3
	});
	
	$(".subcontent_2").jCarouselLite({
	    auto: 4000,
	    speed: 2000,
		vertical: true,
		visible: 1
	});	
}

function registerFancybox()
{
	$('a.content-image-zoom').fancybox({
		'overlayOpacity':0.6,
		'overlayColor':'#FFFFFF',
		'titleShow':false,
		'padding':15,onComplete:registerAllWindowLinks
	});
	
	$('a.features-product-overlay, a.features-product-overlaysister').hover(function(e) {
		$('#features-product-overlaybox').remove();
		var os=$('div.product').offset();
		var useHref=$(this).hasClass('features-product-overlaysister') ? $(this).siblings('.features-product-overlay').attr('href') : $(this).attr('href');
		var useLeft=$('div.product').outerWidth()-430;
		var useTop=$(window).scrollTop() + ( $(window).height() / 2 ) - os.top - 161;
		//var useLeft = ( e.pageX+430>$('body').width() ) ? $('body').width()-430-os.left : e.pageX-os.left;
		//$('<div id="features-product-overlaybox"><div id="features-product-overlaybox-loading"></div></div>')
		//.appendTo('div.product').load($(this).attr('href')+' .ajax-inner-content').css({'left':useLeft+'px','top':(e.pageY+0-os.top)+'px'});
		$('<div id="features-product-overlaybox"><div id="features-product-overlaybox-loading"></div></div>')
		.appendTo('div.product').load(useHref+' .ajax-inner-content').css({'left':useLeft+'px','top':useTop+'px'});		
		//alert(e.pageX+'..'+e.pageY);
	},function() {  }).filter('a.features-product-overlay').click(function() { return false; });
}

function updateSitePreviewPosition()
{
	var useBox=$('#features-product-overlaybox');
	if(useBox.length==0) return true;
	useBox.css('top', $(window).scrollTop() + ( $(window).height() / 2 ) - $('div.product').offset().top - 161 + 'px' );
}

function registerBoxRight()
{
	if($('.content_2').height()>$('.right_outer_content').height())
	{
		$('.right_outer_content').height($('.content_2').height());
	}
}

/*function registerProfileLink()
{
	$('#profileLink').click(function() {
		var newPos=$(window).height()/2-140+$('html').scrollTop()-133; // -133 wegen zeile oben
		$('#profileWindow').css({'top':newPos+'px'}).fadeIn(200);
		//alert($('html').scrollTop()+'..'+$(window).height());
	});
	$('#profileWindow form').submit(function() {
		if($('#profileVorname').val().length==0)
		{
			$('#profileVorname').addClass('inputError');
			return false;
		}
		if($('#profileNachname').val().length==0)
		{
			$('#profileNachname').addClass('inputError');
			return false;
		}
		if($('#profilePassword').val().length==0)
		{
			$('#profilePassword').addClass('inputError');
			return false;
		}
		if($('#profilePassword').val()!=$('#profilePasswordRep').val())
		{
			$('#profilePasswordRep').addClass('inputError');
			return false;
		}
	});
	$('#profileWindow form input').focus(function() {
		$(this).removeClass('inputError');
	});
}*/

function registerCallBackLink()
{
	$('#callBackLink').click(function() {
		var newPos=$(window).height()/2-140+$('html').scrollTop()-133; // -133 wegen zeile oben
		$('#callBackWindow').css({'top':newPos+'px'}).fadeIn(200);
		//alert($('html').scrollTop()+'..'+$(window).height());
	});
	$('#callBackWindow form').submit(function() {
		if($('#regEmail').val().length==0 || $('#regEmail').val().lastIndexOf('@')<1 )
		{
			$('#regEmail').addClass('inputError');
			return false;
		}
		if($('#regTelefon').val().length==0)
		{
			$('#regTelefon').addClass('inputError');
			return false;
		}
	});
	$('#callBackWindow form input').focus(function() {
		$(this).removeClass('inputError');
	});
}

function cancelAllWindows(eve)
{
	if(eve.target.id=='registerLink' || eve.target.id=='registerWindow' || $(eve.target).parents('#registerWindow').length>0)
	{
		return true;
	}
	else
	{
		$('#registerWindow').fadeOut(200);
	}
	
	if(eve.target.id=='callBackLink' || eve.target.id=='callBackWindow' || $(eve.target).parents('#callBackWindow').length>0)
	{
		return true;
	}
	else
	{
		$('#callBackWindow').fadeOut(200);
	}	
	
	if(eve.target.id=='profileLink' || eve.target.id=='profileWindow' || $(eve.target).parents('#profileWindow').length>0)
	{
		return true;
	}
	else
	{
		$('#profileWindow').fadeOut(200);
	}
	
	if(eve.target.id=='loginLink' || eve.target.id=='loginWindow' || $(eve.target).parents('#loginWindow').length>0)
	{
		return true;
	}
	else
	{
		$('#loginWindow').fadeOut(200);
	}
}

function sitemapDetailToggle()
{
	if($(this).hasClass('sitemap1ToogleHaupt')) {arrowThis=$(this).siblings('.sitemap1Toogle');}
	else {arrowThis=$(this)}
	
	if(arrowThis.hasClass('sitemap1ToogleDown'))
	{
		$('.sitemap1Toogle').removeClass('sitemap1ToogleDown').removeClass('sitemap1ToogleUp').addClass('sitemap1ToogleDown');
		arrowThis.removeClass('sitemap1ToogleDown').addClass('sitemap1ToogleUp');
	}
	else if(arrowThis.hasClass('sitemap1ToogleUp'))
	{
		arrowThis.removeClass('sitemap1ToogleUp').addClass('sitemap1ToogleDown');
	}

	var jqThis=$(this).siblings('.sitemap1');	
	if(jqThis.is(':animated')) return false;
	
	if($('.sitemap1').hasClass('sitemap1Open'))
	{
		$('.sitemap1').hide('slow', function() { $(this).removeClass('sitemap1Open').addClass('sitemap1Closed'); });
	}
	if(jqThis.hasClass('sitemap1Open'))	
	{
		jqThis.hide('slow', function() { $(this).removeClass('sitemap1Open').addClass('sitemap1Closed'); });
	}
	else if(jqThis.hasClass('sitemap1Closed'))	
	{
		jqThis.show('slow', function() { $(this).removeClass('sitemap1Closed').addClass('sitemap1Open'); });
		
	}
}

function registerGeschichsDetailScroller()
{
	var browser=$('div.geschichte_bilder');
	if(browser.length==0) return false;
	browser.each(function() {
		if($('.geschichte_scroll_container .geschichte_scroll > div',this).length<=3) $('a.pointer',this).css('visibility','hidden');
		else $('a.pointer',this).click(geschichtsDetailScroll).filter('.pointer_left').fadeTo(0,0.2);
	});
}

function geschichtsDetailScroll()
{
	var jqThis=$(this);
	var direction=(jqThis.hasClass('pointer_left')) ? -1 : 1;
	var moveDiv=jqThis.siblings('.geschichte_scroll_container').children('.geschichte_scroll');
	if(moveDiv.is(':animated')) return false;
	var maxPage=Math.ceil(moveDiv.children('div').length*184/552);
	var currentPage=(-parseInt(moveDiv.css('left').split('p')[0])/552)+1;
	var moveToPage=currentPage+direction;
	if(moveToPage<1 || moveToPage>maxPage) return false;
	moveDiv.animate({ 'left':-(moveToPage-1)*552+'px' },800,function() {
		if($('#geschichte_'+moveToPage)) {
			$('.geschichte').slideUp();
			$('#geschichte_'+moveToPage).slideDown();
		};
		if(moveToPage<=1) jqThis.fadeTo(500,0.2);
		else jqThis.siblings('.pointer_left').fadeTo(500,1);
		if(moveToPage>=maxPage) jqThis.fadeTo(500,0.2);
		else jqThis.siblings('.pointer_right').fadeTo(500,1);
	});
}

function checkCallback() {
	v_name = 0;
	v_telefon = 0;
	v_bereich = 0;
	v_msg = '';
	
	if (document.getElementById('cbName').value == '') {v_name = 1;}
	if (document.getElementById('cbTelefon').value == '') {v_telefon = 1;}
	if (document.getElementById('cbBereich1').checked == false && document.getElementById('cbBereich2').checked == false && document.getElementById('cbBereich3').checked == false && document.getElementById('cbBereich4').checked == false && document.getElementById('cbBereich5').checked == false) {v_bereich = 1;}
	
	if (v_name == 1 || v_telefon == 1 || v_bereich == 1) {
		if (v_name == 1) {v_msg = v_msg + 'Bitte geben Sie einen Namen an!\n';}
		if (v_telefon == 1) {v_msg = v_msg + 'Bitte geben Sie eine Telefonnummer an!\n';}
		if (v_bereich == 1) {v_msg = v_msg + 'Bitte geben Sie einen Bereich an!\n';}
		alert(v_msg);
		return false;
	}
}

function registerLoginLink(useIframe) {
	var useObj = useIframe ? $('iframe').contents().find('#loginLink,.loginLink') : $('#loginLink,.loginLink');
	useObj.click(function() {
		$.fancybox.close();
		var wind=$('#loginWindow');
		if(wind.is(':animated')) return true;
		if(wind.length==0)
		{
			$('#menu div.login').append('<div id="loginWindow"></div>');
			wind=$('#loginWindow');
		}
		wind.load('/inc/accountWindows.cfm',function() {
			accountWindowLoaded(this);
		});
	});
}

function accountWindowLoaded(obj,isReg)
{
	$(obj).fadeIn(200);
	$('#registerLink',obj).click(registerRegisterLink);
	$('#pwdsendLink',obj).click(registerPwdsendLink);
	$('form',obj).submit(function() {
		if(isReg)
		{
			$('form input',obj).focus(function() {
				$(this).removeClass('inputError');
			});
			if($('#regEmail').val().length==0 || $('#regEmail').val().lastIndexOf('@')<1 )
			{
				$('#regEmail').addClass('inputError');
				return false;
			}
			if($('#regVorname').val().length==0)
			{
				$('#regVorname').addClass('inputError');
				return false;
			}
			if($('#regNachname').val().length==0)
			{
				$('#regNachname').addClass('inputError');
				return false;
			}
			if($('#regPassword').val().length==0)
			{
				$('#regPassword').addClass('inputError');
				return false;
			}
			if($('#regPassword').val()!=$('#regPasswordRep').val())
			{
				$('#regPasswordRep').addClass('inputError');
				return false;
			}
		}
		$.post('/inc/accountWindows.cfm',$(this).serializeArray(),function(res) {
			if($.trim(res)=='1') window.location.href='/index.cfm?seite=login';
			else if($.trim(res)=='2') window.location.href='/index.cfm?seite=login&justregged=1';
			else
			{
				$(obj).html(res);
				accountWindowLoaded(obj);
			}
		});
		return false;
	});
}

function registerRegisterLink(eve)
{
	$.fancybox.close();
	var wind=$('#registerWindow');
		if(wind.is(':animated') || wind.is(':visible')) return true;
		$('#loginWindow').fadeOut(200);
		if(wind.length==0)
		{
			//$('#wrap').append('<div id="registerWindow"></div>');
			$('#menu div.login').append('<div id="registerWindow"></div>');
			wind=$('#registerWindow');
		}
		wind.load('/inc/accountWindows.cfm?displayForm=2',function() {
			accountWindowLoaded(this,true);
			//var newPos=$(window).height()/2-wind.innerHeight()/2-17+$('html').scrollTop()-10;
			//$(this).css({'top':newPos+'px'});
		});
}

function registerPwdsendLink(eve)
{
	$.fancybox.close();
	var wind=$('#loginWindow');
	if(wind.length==0)// return false; //Error
	{
		$('#menu div.login').append('<div id="loginWindow"></div>');
		wind=$('#loginWindow');
	}
	wind.load('/inc/accountWindows.cfm?displayForm=3',function() {
		accountWindowLoaded(this);
	});
}

function registerTabs()
{
	$('ul.tab-titles li').hover(function() { $(this).filter(':not(.tab-title-active)').addClass('tab-title-hover'); },function() { $(this).removeClass('tab-title-hover'); }).filter('.tab-title').click(function() {
		$(this).addClass('tab-title-active').parent().siblings('.tab-box').hide().filter('#'+this.id+'-box').show();
		$(this).siblings().removeClass('tab-title-active');
	});
}

function registerBadIdea()
{
	$('.forceLinkOnHover').hover(function() {
		var useObj=$(this);
		useObj.data('badIdeaAction',setTimeout(function() { window.location.href=useObj.attr('href'); },500));
	},function() {
		clearTimeout($(this).data('badIdeaAction'));
		$(this).removeData('badIdeaAction');
	});
}
