


$( function () {
	function parse_popups () {

		$('.dbkoerperkompass_popup').unbind().click( function () {
			$(this).dbkoerperkompass_popup( { url:$(this).attr('href'), position:$(this).offset() } );
			return false;
		}).mouseleave( function (){
			//$('.dbkoerperkompass_popupwindow').fadeOut('fast');
		});
		
	}
	
	try { register_page_init_func( parse_popups ); } catch (e) {}
	parse_popups();
	
});


(function($){
	$.fn.extend({
	
		'dbkoerperkompass_pageslider': function () {
			return this.each( function () {
				$(this).click( function( e ) {
					alert("OK");
					var c_off = e.pageY - $(this).offset().top;
					var m_off = e.pageY - $('body').scrollTop();
					
					var l = $(this).attr('href').split('#a_')[1];
					var a = '.letter_' + l;
					$('body').animate( { scrollTop: $(a).find('li.l_'+l+' a').offset().top - m_off + c_off }, {duration:1000, easing:'easeInOutQuint'} );
					
					return false;
				});
			});
		},
		
		'dbkoerperkompass_scrollToAnchor': function ( opt ) {

			var def = { top:false };
			var opt = $.extend( def, opt);
			
			return this.each( function () {
				$(this).click( function( e ) {

					var l = $(this).attr('href');
					if (l) l = l.split('#a_')[1];
					var top = opt.top === false ? $('.letter_'+l).offset().top : opt.top;
					
					$('body').animate( { scrollTop: top}, {duration:1000, easing:'easeInOutQuint'} );
					
					return false;
				});
			});
		},
		
		'dbkoerperkompass_accordeon': function ( opt ) {
		
			var def = { closeOther:true, sliderDiv:'.sliderbox' };
			var opt = $.extend( def, opt);
			var _ref = this;
			
			return this.each( function () {	
				$(this).click( function () {
					var isOpen = $(this).parent().find(opt.sliderDiv).is(':visible');
					if (opt.closeOther || isOpen) {
						$(_ref).parent().find(opt.sliderDiv+':visible').slideUp();
						$(_ref).removeClass('selected');
					}
					if (!isOpen) $(this).addClass('selected');
					if (!isOpen) $(this).parent().find(opt.sliderDiv).slideDown();
				});
			});
		},
		
		'dbkoerperkompass_tabs': function ( opt ) {
			
			var _ref = this;
			var def = { navi:$(_ref).find('ul.letter_navi'), start_sheet:'t' };
			var opt = $.extend( def, opt);
			
			show_sheet(opt.start_sheet, false );
			
			$(opt.navi).find('li').each ( function () {				
				$(this).click( function () {
					var l = $(this).find('a').attr('href');
					if (l) l = l.split('#a_')[1];
					show_sheet( l );
					return false;
				});	
			});
			
			return this.each( function () {});
			
			function show_sheet( letter, ani ) {
							
				if (ani === false) {
					$(_ref).find('.letter_sheet').css({display:'none'});
					$(_ref).find('.letter_'+letter).css({display:'block'});
				} else {
					if ($(_ref).find('.letter_sheet:visible').length > 0) {
						$(_ref).find('.letter_sheet:visible').animate( {'opacity':0}, {complete:function(){ 
							$(_ref).find('.sliderbox').hide();
							$(_ref).find('.letter_sheet').css({display:'none'});
							$(_ref).find('.letter_'+letter).css({display:'block', opacity:0}).animate( {opacity:1} );
						}});
					} else {
						$(_ref).find('.letter_'+letter).css({display:'block', opacity:0}).animate( {opacity:1} );
					}
				}
				
				$(opt.navi).find('li a, li').removeClass('selected');
				$(opt.navi).find('li.l_'+letter+' a, li.l_'+letter ).addClass('selected');

			}
			
		},
		
		'dbkoerperkompass_popup': function ( opt ) {
		
			var _ref = this;
			var def = { url:false, pos:false };
			var opt = $.extend(def, opt);
			
			var vis = $('.dbkoerperkompass_popupwindow').is(':visible');
			$('.dbkoerperkompass_popupwindow').remove();
			if (vis) return false;
			
			$('body').prepend('<div class="dbkoerperkompass_popupwindow"><div class="close"></div><div class="inner"></div><div class="corner corner_bottom"></div></div>');
			
			var ref = $('.dbkoerperkompass_popupwindow');
			var pos = opt.position;			
			
			if (pos.top - ref.height() < $('body').scrollTop()) {
				pos.top += 20;
				ref.find('.corner').remove();
				ref.prepend('<div class="corner corner_top"></div>');
			} else {
				pos.top -= ref.height();
			}
			
			if (pos.left + ref.width() > $(window).width()) {
				var o = $(window).width() - ref.width() - 50;
				ref.find('.corner').css( {'margin-left':pos.left - o} );
				pos.left = o;
			}
			

			ref.find('.inner').addClass('loading');
			ref.offset( pos ).hide().fadeIn('fast');
			
			ref.find('.close').click( function () {
				ref.fadeOut('fast');
			});
		
			var n = $.ajax({ 	
						url: 	 $.noCacheURL ? $.noCacheURL(opt.url) : opt.url, 
						success: function (data) {
							ref.find('.inner').removeClass('loading');
							if (!data) return false;
							var str = $(data).find('.dbkoerperkompass_single');
							ref.find('.inner').append( str );
						}
				});
		}
		
		
	});
})(jQuery);






