
(function($)
{$.fn.expandCollapse=function(options)
{options=$.extend({},$.fn.expandCollapse.defaults,options);$.fn.expandCollapse.doClick=function(event)
{text=event.data.text;target=event.data.target;trigger=event.data.trigger;options=event.data.options;hidden=(target.is(":hidden")?true:false);tText=(hidden?options.collapseText:options.expandText);tAddClass=(hidden?options.collapseClass:options.expandClass);tRemoveClass=(hidden?options.expandClass:options.collapseClass);tAnimation=(hidden?options.expandAnimation:options.collapseAnimation);tDuration=(hidden?options.expandDuration:options.collapseDuration);target.animate(tAnimation,tDuration);if(options.updateClass){trigger.removeClass(tRemoveClass).addClass(tAddClass);}
if(options.updateText){text.text(tText);}
return false;};return this.each(function()
{if(options.startHidden)$(this).hide();hidden=($(this).is(":hidden")?true:false);tText=(hidden?options.expandText:options.collapseText);tClass=(hidden?options.expandClass:options.collapseClass);if(!options.triggerElement.length)
{triggerElement=$(options.triggerTag).append($("<a/>").attr({"href":"#"}));if(options.updateText){triggerElement.children().text(tText);}
if(options.updateClass){triggerElement.addClass(tClass);}
triggerElement.bind('click',{options:options,trigger:triggerElement,text:triggerElement.children(),target:$(this)},function(event){return $.fn.expandCollapse.doClick(event);});$(this).after(triggerElement);}
else
{textElement=((options.textElement.length)?options.textElement:options.triggerElement);if(options.updateText){textElement.text(tText);}
if(options.updateClass){options.triggerElement.addClass(tClass);}
options.triggerElement.bind('click',{options:options,trigger:options.triggerElement,text:textElement,target:$(this)},function(event){return $.fn.expandCollapse.doClick(event);});}});};$.fn.expandCollapse.defaults={updateText:true,updateClass:true,startHidden:true,triggerTag:"<div/>",triggerElement:"",expandClass:"expand",collapseClass:"collapse",textElement:"",expandText:"",collapseText:"",expandAnimation:{height:"show",width:"show"},collapseAnimation:{height:"hide",width:"hide"},expandDuration:"fast",collapseDuration:"slow"};})(jQuery);