
/*
Accordion Funktionalität 
********************************/

/* UNBEDINGT NOTWENDIG, DAMIT JQUERY FUNKTIONIERT */
jQuery(document).ready(function () {
	
	initAccordeons();

});


function initAccordeons() {
	jQuery("#accordion-1").unbind('click');
	jQuery("#accordion-1").click(function(){
		var $this = jQuery(this);
		if( $this.is('.accordion-plus') ) {
			jQuery("#portlet-content-1").slideUp("medium");
			$this.removeClass('accordion-plus');
			$this.addClass('accordion-minus');
			$this.attr('title', 'Aufklappen');
		}
		else {
			jQuery("#portlet-content-1").slideDown("medium");
			$this.removeClass('accordion-minus');
			$this.addClass('accordion-plus');
			$this.attr('title', 'Zuklappen');
		}
		return false;
});

jQuery("#accordion-2").unbind('click');
jQuery("#accordion-2").click(function(){
		var $this = jQuery(this);
		if( $this.is('.accordion-plus') ) {
				jQuery("#portlet-content-2").slideUp("medium");
				$this.removeClass('accordion-plus');
				$this.addClass('accordion-minus');
				$this.attr('title', 'Aufklappen');
		}
		else {
				jQuery("#portlet-content-2").slideDown("medium");
				$this.removeClass('accordion-minus');
				$this.addClass('accordion-plus');
				$this.attr('title', 'Zuklappen');
		}
		return false;
});

jQuery("#accordion-3").unbind('click');
jQuery("#accordion-3").click(function(){
		var $this = jQuery(this);
		if( $this.is('.accordion-plus') ) {
				jQuery("#portlet-content-3").slideUp("medium");
				$this.removeClass('accordion-plus');
				$this.addClass('accordion-minus');
				$this.attr('title', 'Aufklappen');					
		}
		else {
				jQuery("#portlet-content-3").slideDown("medium");
				$this.removeClass('accordion-minus');
				$this.addClass('accordion-plus');
				$this.attr('title', 'Zuklappen');						
		}
		return false;
});

jQuery("#accordion-4").unbind('click');
jQuery("#accordion-4").click(function(){
		var $this = jQuery(this);
		if( $this.is('.accordion-plus') ) {
				jQuery("#portlet-content-4").slideUp("medium");
				$this.removeClass('accordion-plus');
				$this.addClass('accordion-minus');
				$this.attr('title', 'Aufklappen');					
		}
		else {
				jQuery("#portlet-content-4").slideDown("medium");
				$this.removeClass('accordion-minus');
				$this.addClass('accordion-plus');
				$this.attr('title', 'Zuklappen');						
		}
		return false;
});
}


/* ACCORDEON TOGGLERS */

/** Klappt Accordeon mit spezif. Nummer auf, falls nicht schon offen. */
function showAccordeon(accNumber){
	var $this = jQuery("#accordion-" + accNumber);
	if( $this.is('.accordion-minus') ) {
		jQuery("#portlet-content-" + accNumber).slideDown("medium");
		$this.removeClass('accordion-minus');
		$this.addClass('accordion-plus');
		$this.attr('title', 'Zuklappen');
	}
}

/** Klappt Accordeon mit spezif. Nummer zu, falls nicht schon geschlossen. */
function closeAccordeon(accNumber){
	var $this = jQuery("#accordion-" + accNumber);
	if( $this.is('.accordion-plus') ) {
		jQuery("#portlet-content-" + accNumber).slideUp("medium");
		$this.removeClass('accordion-plus');
		$this.addClass('accordion-minus');
		$this.attr('title', 'Aufklappen');
	}
}
 
/** Zeigt Accordeon mit spezif. Nummer als zugeklappt an, falls nicht schon geschl. */
function hideAccordeon(accNumber) {
	var $this = jQuery("#accordion-" + accNumber);
	if( $this.is('.accordion-plus') ) {
		jQuery("#portlet-content-" + accNumber).hide();
		$this.removeClass('accordion-plus');
		$this.addClass('accordion-minus');
		$this.attr('title', 'Aufklappen');
	}
}



/* jQuery Lightbox Togglers
*********************************/


/* UNBEDINGT NOTWENDIG, DAMIT JQUERY FUNKTIONIERT */
jQuery(document).ready(function () {


/* Lightbox Personen */
jQuery('#show-personen-suche-1').click(function() {
	jQuery('#light-personen-suche').fadeIn('medium');
	jQuery('#show-personen-suche-1').removeClass('deactive');
	jQuery('#show-personen-suche-1').addClass('active');
});
jQuery('#show-personen-suche-2').click(function() {
	jQuery('#light-personen-suche').fadeIn('medium');
	jQuery('#show-personen-suche-2').removeClass('deactive');
	jQuery('#show-personen-suche-2').addClass('active');
});
jQuery('#show-personen-suche-3').click(function() {
	jQuery('#light-personen-suche').fadeIn('medium');
	jQuery('#show-personen-suche-3').removeClass('deactive');
	jQuery('#show-personen-suche-3').addClass('active');
});
jQuery('#close-personen-suche').click(function() {
	jQuery('#light-personen-suche').fadeOut('medium');
  	jQuery('#show-personen-suche-1').removeClass('active');
	jQuery('#show-personen-suche-1').addClass('deactive');
  	jQuery('#show-personen-suche-2').removeClass('active');
	jQuery('#show-personen-suche-2').addClass('deactive');
  	jQuery('#show-personen-suche-3').removeClass('active');
	jQuery('#show-personen-suche-3').addClass('deactive');	
});



});


/* LIGHTBOX FUNCTIONS */

function showLightbox(idLightbox, idShowButton) {
	jQuery(idLightbox).fadeIn('medium');
	if(idShowButton) {
		jQuery(idShowButton).removeClass('deactive');
		jQuery(idShowButton).addClass('active');
	}
}
function hideLightbox(idLightbox, idShowButton) {
	jQuery(idLightbox).fadeOut('medium');
	if(idShowButton) {
		jQuery(idShowButton).removeClass('active');
		jQuery(idShowButton).addClass('deactive');
	}
}

/* Lightbox Leiter */
function hideLeiterSucheLightbox() {
	jQuery('#light-leiter-suche').fadeOut('medium');
  	jQuery('#show-leiter-suche').removeClass('active');
	jQuery('#show-leiter-suche').addClass('deactive');
}
/*#group-voransicht */
function showGroupVoransichtFormLightbox() {
	jQuery('#light-group-voransicht').fadeIn('medium');
  	jQuery('#show-group-voransicht').addClass('active');
	jQuery('#show-group-voransicht').removeClass('deactive');
}

function hideGroupVoransichtFormLightbox() {
	jQuery('#light-group-voransicht').fadeOut('medium');
  	jQuery('#show-group-voransicht').removeClass('active');
	jQuery('#show-group-voransicht').addClass('deactive');
}

jQuery(document).ready(function () {

/* verschiedenes */
jQuery('#auswahl-berechtigungsprofile').click(function() {
	jQuery('#light-Berechtigungsprofile').fadeIn('medium');
	jQuery('#auswahl-berechtigungsprofile').removeClass('deactive');
	jQuery('#auswahl-berechtigungsprofile').addClass('active');
});
jQuery('#close-berechtigungsprofile').click(function() {
	jQuery('#light-Berechtigungsprofile').fadeOut('medium');
  	jQuery('#auswahl-berechtigungsprofile').removeClass('active');
	jQuery('#auswahl-berechtigungsprofile').addClass('deactive');
});

jQuery('#auswahl-anwendungen').click(function() {
	jQuery('#light-Anwendungen').fadeIn('medium');
	jQuery('#auswahl-anwendungen').removeClass('deactive');
	jQuery('#auswahl-anwendungen').addClass('active');
});
jQuery('#close-anwendungen').click(function() {
	jQuery('#light-Anwendungen').fadeOut('medium');	
  	jQuery('#auswahl-anwendungen').removeClass('active');
	jQuery('#auswahl-anwendungen').addClass('deactive');	
});

jQuery('#close-oe').click(function() {
	jQuery('#oe').fadeOut('medium');
  	jQuery('#auswahl-oe').removeClass('active');
	jQuery('#auswahl-oe').addClass('deactive');
  	jQuery('#auswahl-oe-1').removeClass('active');
	jQuery('#auswahl-oe-1').addClass('deactive');
  	jQuery('#auswahl-oe-2').removeClass('active');
	jQuery('#auswahl-oe-2').addClass('deactive');
});


});

/* Die Checkbox für Vergabe toggeln. */
function toggleCheckBox(el){
	var trNode = el.parentNode.parentNode;

	/* den tr-Node suchen */
	while(trNode.nodeName != 'TR') {
		trNode = trNode.parentNode;				
	}
	  
	var children = trNode.getElementsByTagName('td');
	var checkBox = children[0].getElementsByTagName('input');
	if (checkBox[0].checked == false) {
		checkBox[0].checked = true;
		/* den style auf dem tr-Element setzen */
		trNode.style.background = '#E6E6E6';
	} else {
		checkBox[0].checked = false;
		trNode.style.background = '';
	}
}


/* Suchfeld Script zum Austauschen des Styles
*********************************/
jQuery(document).ready(function(){
	    jQuery(".portlet-search input").addClass("idle");            
		jQuery(".portlet-search input").focus(function(){            
		if (this.value==this.defaultValue)this.value='';		    
		jQuery(this).addClass("active").removeClass("idle");}).blur(function(){                
		if (this.value=='')this.value=this.defaultValue;
		jQuery(this).removeClass("active").addClass("idle");  
		});
		/* für das Setzen der Titel-Anzeige auf die Auf-und Zuklapp-Icons beim Laden */
		jQuery('#accordion-1').attr('title', 'Zuklappen');
		jQuery('#accordion-2').attr('title', 'Zuklappen');
		jQuery('#accordion-3').attr('title', 'Zuklappen');
		jQuery('#accordion-4').attr('title', 'Zuklappen');
		
		initSearchInputText('input.unitSearchInput');
});

/* Ausblenden des Suchfeld-Wertes bei Hineinklicken */
function initSearchInputText(selector) {
	jQuery(selector).focus(
			function(){            
				if (this.value==this.defaultValue)this.value='';		    
			}
	).blur(
			function(){                
				if (this.value=='')this.value=this.defaultValue;    
			}
	);
}


/* Script zum Ausblenden eines Bereichs (Angabe der Id) , wenn
'hideDetail' true.
*********************************/
function closeDetails(compId) {
	jQuery(compId).hide("slow");
}

function fadeInDetail(compId, showDetail) {
	if (showDetail) {
		jQuery(compId).fadeIn('medium');
	}
}

function fadeOutDetail(compId) {
	jQuery(compId).fadeOut('medium');
}

/**
 * Blendet Elemement schnell aus.
 * @param compIdOrClass = css-Klasse oder id des auszublendenen Elements
 * @return
 */
function hideDetail(compIdOrClass) {
	jQuery(compIdOrClass).fadeOut("fast");
}



/* LOAD-INDECATOR Functions */


var loadDelay=false;
function showLoadIndecatorWithDelay(id){
	var elid=id;
	loadDelay=true;
		setTimeout(function(){executeShowLoadIndecatorWithDelay(elid);}, 0);
}  

function executeShowLoadIndecatorWithDelay(id) { 
	if(loadDelay) {
		showLoadIndecator(id);
	}
}

function showLoadIndecator(id) {
	jQuery("#"+id).css("display","block");
	loadDelay=false;
}

function hideLoadIndecator(id) {
	jQuery("#"+id).fadeOut("medium");
	loadDelay=false;
}


/* TOOLTIP */
function positionTableToolTip(element, offsetTop, compIdOrClass) {
	var toolTip = jQuery(compIdOrClass);
	var position = jQuery(element.parentNode).position();
	toolTip.css("top", (offsetTop + position.top) + "px");
	toolTip.fadeIn("fast");
}



/* Verhindert normalen Pagereload bei Enter sondern aktiviert AJAX-Button
* param event: von Javascript generiertes onkeydown Event
* param buttonClass: eindeutige CSS-Klasse des zu aktivierenden Buttons */
function ajaxOnEnter(event,buttonClass){
	if(event.keyCode==13){
		ieSafePreventEvent(event);
		jQuery("."+buttonClass).click();
	}
}

/* Bugfix fuer IE, bei welchem preventDefault nicht funktiniert. */
function ieSafePreventEvent(event){
	if (event.preventDefault) {
		/* Firefox usw. */
		event.preventDefault();
	} else { 
		/* IE */
		event.returnValue = false;
	}
}




