/**********************************************************/
/*  digiWrapper: Flexible "Accordion"					  */ 
/*	Copyright DIGIPETS 2009								  */
/*	Version 0.7											  */
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

$(document).ready(function() {
	

	
	$.fn.digiWrapper = function(o) {
		o = $.extend({
	    element: '.wrapperItemContainer', //Element, das geöffnet/geschlossen werden soll (muss im HTML auf gleicher Ebene liegen)
			toggler: '.wrapperToggler', //Element das das öffnen/schließen auslöst
			togglerHeight: 0, //Höhe des Togglers (für den Hover benötigt)
			closeOnOpen: true, //Bestimmt, ob die restlichen Elemente geschlossen werden sollen, wenn ein Element geöffnet wird (Accordion)
			speed: 300
	    	
			}, o || {});
	
		$(this).each(function(i){
			
		
			var clickToggler = false, oldHeight = $(this).parent().find(o.element).height();
								
			$(this).parent().find(o.element).slideUp(0);	
			
			//Hover der Toggler
			/* !!!OBSOLETE SINCE VER. 0.6!!!
			$(this).hover(
				//beim Drauffahren
				function(){
					if (clickToggler == false) {
						$(this).parent().find(o.element).height(o.togglerHeight);
					}
				},
				//beim Herunterfahren
				function(){
					if (clickToggler == false) {
						$(this).parent().find(o.element).height(0);
					}
			});
			*/
			
			function resetToggle(selector) {
				selector.each(function() {
			    	this.lastToggle = undefined;
				});
			}
			
			
			//TogglerFunktionen
			
			function toggleOpen(toggler) {
				clickToggler = true;
					toggler.removeClass('toggleOpen').addClass('toggleClose');
					toggler.css('background-position', '0 0');
			     	toggler.parent().find(o.element).slideDown(o.speed, function() {
				
				   
			
					if($.browser.msie && $.browser.version == 7){
				
				
					toggler.parent().find('.contenttable').css('display', 'none');
					toggler.parent().find('.contenttable').fadeIn();
				
						}
				
					
					
				  });
				
				
				
				
				return false;
			}
			
			function toggleClose(toggler) {
				clickToggler = false;
				toggler.parent().find(o.element).slideUp(o.speed);
				toggler.removeClass('toggleClose').addClass('toggleOpen');
				toggler.css('background-position', '0 -156px');
				resetToggle(toggler);
				return false;
			}
			
			
      // //Klick auf die Toggler
      // $(this).toggle(
      //  //öffnen
      //  function () {
      //    if (o.closeOnOpen == true) {
      //      toggleClose($(this).parent().parent().find(o.toggler).not($(this)));
      //    }
      //    toggleOpen($(this));
      // 
      //  //schließen
      // }, function () {
      //  toggleClose($(this));
      // });
			

			$(this).click(function(){
			
					toggleClose($(this).parent().parent().find(o.toggler).not($(this)));
					if($(this).hasClass('toggleClose')){
						toggleClose($(this));
					} else{
					  toggleOpen($(this));	
					}
						
				
			});


		});
					
	}
	
	
		$('.wrapperToggler').digiWrapper({togglerHeight: 18, speed: 300, closeOnOpen: true});
		$('.wrapperToggler').each(function(i){
			$(this).mouseenter(function(){
				if( $(this).hasClass('toggleOpen')){
					$(this).css('background-position', '0 -312px')
				}
			});
			
			$(this).mouseleave(function(){
				if( $(this).hasClass('toggleOpen')){
					$(this).css('background-position', '0 -156px')
				}
			})
			
			
		});
});
