(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

jQuery.fn.customShow = function() {
	return this.each(function() {
		if( jQuery.support.opacity) {
			jQuery(this).show("drop", { direction: "up" }, 300);
		} else {
			jQuery(this).show();
		}
	});
}

jQuery.fn.customHide = function() {
	return this.each(function() {
		if( jQuery.support.opacity) {
			jQuery(this).hide("drop", { direction: "up" }, 300);
		} else {
			jQuery(this).hide();
		}
	});
}



jQuery(document).ready(function() {
//------------------------------------------------//

	// Bildpreloader
	jQuery.preLoadImages("/fileadmin/template/media/ajax_loading.gif");
	
	// Sucheingabe
	jQuery ('.sucheingabe').focus( function() {
	
		 if( $(this).val() == "Bitte Suchbegriff eingeben!") { $(this).val(""); }
	});
	
	$("label[for='tx_newloginbox_pi1[DATA][username]']").parent().hide();
	$("input[name='tx_newloginbox_pi1[DATA][username]']").hide();
	$("label[for='tx_newloginbox_pi1[DATA][username]']").hide();
	
	/* SATZUNG */
	jQuery('.satzung_container ol').hide();
	jQuery('.satzung').addClass("ausklapper");
	
	jQuery('.satzung').toggle( function() {
		jQuery(this).removeClass("ausklapper").addClass("einklapper");
		/* Liste speichern und neu rendern lassen um IE li:hover bug zu umgehen */
		if( jQuery.support.opacity) {
			jQuery(this).parent().children('ol').show("drop", { direction: "up" }, 300);
		} else {
			var htmlStr = jQuery(this).parent().children('ol').html();
			jQuery(this).parent().children('ol').show();
			jQuery(this).parent().children('ol').html(htmlStr);
		}
	}, function() {
		jQuery(this).removeClass("einklapper").addClass("ausklapper");
		jQuery(this).parent().children('ol').customHide();
	});
	
	/* MITGLIEDERLISTE */
	// Zweigstellen
	jQuery('.zweigstelle_container dl').hide();
	jQuery('.zweigstelle_container').removeClass("zweigstelle_border");
	jQuery('.zweigstelle_head').addClass("ausklapper");
	
	jQuery('.zweigstelle_head').toggle( function() {
		jQuery(this).removeClass("ausklapper").addClass("einklapper");
		jQuery(this).parent().addClass("zweigstelle_border");
		jQuery(this).parent().children('dl').customShow();
	}, function() {
		jQuery(this).removeClass("einklapper").addClass("ausklapper");
		jQuery(this).parent().removeClass("zweigstelle_border");
		jQuery(this).parent().children('dl').customHide();
	});
	
	// Hauptsitze
	jQuery('div.hauptsitz').hide();
	jQuery('.hauptsitz_head').addClass("ausklapper");
	jQuery('.hauptsitz_head').parent().addClass("nobg");
	 
	jQuery('.hauptsitz_head').toggle( function() {
		jQuery(this).removeClass("ausklapper").addClass("einklapper");
		jQuery(this).parent().removeClass("nobg");
		jQuery(this).parent().children('div').customShow();
	}, function() {
		jQuery(this).removeClass("einklapper").addClass("ausklapper");
		jQuery(this).parent().addClass("nobg");
		jQuery(this).parent().children('div').customHide();
	});
	
	/* AJAX FORMULAR */
	jQuery('#auswahl_taetigkeiten').hide();
	jQuery('#auswahl_geschaeftsfelder').hide();
	jQuery('#auswahl_zertifikationen').hide();
	jQuery('#head_taetigkeiten').addClass("ausklapper");
	jQuery('#head_geschaeftsfelder').addClass("ausklapper");
	jQuery('#head_zertifikationen').addClass("ausklapper");
	
	jQuery('#head_taetigkeiten').toggle( function() {
		jQuery(this).removeClass("ausklapper").addClass("einklapper");
		jQuery('#auswahl_taetigkeiten').customShow();
	}, function() {
		jQuery(this).removeClass("einklapper").addClass("ausklapper");
		jQuery('#auswahl_taetigkeiten').customHide();
	});
	
	jQuery('#head_geschaeftsfelder').toggle( function() {
		jQuery(this).removeClass("ausklapper").addClass("einklapper");
		jQuery('#auswahl_geschaeftsfelder').customShow();
	}, function() {
		jQuery(this).removeClass("einklapper").addClass("ausklapper");
		jQuery('#auswahl_geschaeftsfelder').customHide();
	});
	
	jQuery('#head_zertifikationen').toggle( function() {
		jQuery(this).removeClass("ausklapper").addClass("einklapper");
		jQuery('#auswahl_zertifikationen').customShow();
	}, function() {
		jQuery(this).removeClass("einklapper").addClass("ausklapper");
		jQuery('#auswahl_zertifikationen').customHide();
	});

	jQuery('#ajax_form').submit( function(event) {
		event.preventDefault();
		jQuery.ajaxMitgliedersuche();
	});
	
	jQuery('#ajax_form input[type=checkbox]').change( function() {
	
		jQuery.ajaxMitgliedersuche();
	});
	
	/* halbe Sekunde nach Texteingabe Ajaxsuche ausfuehren */
	var timeout;
	jQuery('#ajax_form input[type=text]').bind( 'textchange', function() {
		clearTimeout(timeout);
		timeout = setTimeout(function () { jQuery.ajaxMitgliedersuche(); }, 500);
	});
	
	$.ajaxMitgliedersuche = function() {
		if( jQuery.support.opacity) {
			jQuery('.content_links .tx-gvffb-pi2').hide("drop", { direction: "down" }, 300,
				function(){
					jQuery('.content_links .tx-gvffb-pi2').html('<div style="text-align:center;padding:50px 0;"><img src="/fileadmin/template/media/ajax_loading.gif" alt="Ladevorgang l&auml;uft, bitte warten." /></div>');					
					jQuery('.content_links .tx-gvffb-pi2').show("fade", { }, 150);
					jQuery.post(
						"/fileadmin/template/php/ajax_mitgliedersuche.php", 
						jQuery("#ajax_form").serialize(), 
						function(data){
							jQuery('.content_links .tx-gvffb-pi2').html(data);
						}
					);
				}
			);
		} else {
			jQuery('.content_links .tx-gvffb-pi2').html('<div style="text-align:center;padding:50px 0;"><img src="/fileadmin/template/media/ajax_loading.gif" alt="Ladevorgang l&auml;uft, bitte warten." /></div>');
			jQuery.post(
				"/fileadmin/template/php/ajax_mitgliedersuche.php", 
				jQuery("#ajax_form").serialize(), 
				function(data){
					jQuery('.content_links .tx-gvffb-pi2').html(data);
				}
			);
		}
	}
//------------------------------------------------//
});
