jQuery.fn.showHide = function(options) {

	var defaults = {
		
		triggerClass: "box-header",
		contentClass: "box-content",
		animationSpeed: "normal",
		triggerSymbolClass: "trigger-symbol",
		triggedSymbolClass: "trigged-symbol",
		useSymbol: true,
		triggerText: "",
		triggedText: ""	
	};
	
	var options = jQuery.extend(defaults, options);
	
	return this.each(function() {
			
		obj = jQuery(this);
		
		//var trigger = obj.find( "." + options.triggerClass);
		//var content = obj.find( "." + options.contentClass);

		
		var trigger = jQuery( "." + options.triggerClass, obj );
		var content = jQuery( "." + options.contentClass, obj );
		
		//console.log(content.attr("id"));
		//console.log(trigger.attr("id"));

		trigger.css("cursor", "pointer");
		content.css("display", "none");
		
		if (options.useSymbol) {
			trigger.prepend("<div class='" + options.triggerSymbolClass + "'></div>");
			var triggerSymbol = trigger.find("." + options.triggerSymbolClass);
			triggerSymbol.height(triggerSymbol.parent().height());
		}
		
		if(options.triggerText.length > 0){
			trigger.html(options.triggerText);
		}
		
		trigger.click(function(event){
			event.preventDefault();
			//console.log(content.attr("id"));
			//console.log(trigger.attr("id"));
			
			if (content.css("display") == "none" ) {
				content.slideDown(options.animationSpeed);
				if (options.useSymbol) {
					triggerSymbol.addClass(options.triggedSymbolClass);
				}
				
				if(options.triggedText.length > 0){
					trigger.html(options.triggedText);
				}
				
			
			} else {
				content.slideUp(options.animationSpeed);
				if (options.useSymbol) {
					triggerSymbol.removeClass(options.triggedSymbolClass);
				}
				
				if(options.triggerText.length > 0){
					trigger.html(options.triggerText);
				}
			}
			
		});
	
	});
	/* End of each */
	
};
/* End of wrapper function */
