/*
 * @name:     RadioSwitch
 * @version:  0.1
 * @release:  2009-06-19 18:24:38
 * @type:     jQuery plugin
 * @author:   David Sklar
--------------------------------------- */
(function($){var RadioSwitch=function(box,opts){var $this=box;var trigger;var region;var wrapper;var css;var easing=[];var duration;var options=opts;trigger=options.trigger;region=$(options.region);css=options.css;wrapper=$('<div class="'+css+'"></div>');easing.show=$.easing[opts.easing.show]?opts.easing.show:'swing';easing.hide=$.easing[opts.easing.hide]?opts.easing.hide:'swing';duration=options.duration;region.each(function(i){switch(this.nodeName.toLowerCase()){case'tr':$(this).find('th, td').wrapInner(wrapper);break;case'th':case'td':$(this).wrapInner(wrapper);break;default:$(this).addClass(css);}});$('.'+css).each(function(i){$(this).data('height',$(this).height()).hide();});$this.bind(options.event,function(e){if($(e.target).is(trigger)&&$this.data('log')!=e.target){$this.data('log',e.target);$('.'+css).stop();hide($('.'+css));var id=e.target.id;if(id){if($('.'+id).hasClass(css)){show($('.'+id));}else{show($('.'+id).find('.'+css));}}}
if(options.prevent){e.preventDefault();}});var show=function(obj){if($.browser.msie){obj.each(function(){$(this).css({'height':0}).animate({'height':$(this).data('height')},{queue:false,duration:duration.show,easing:easing.show,complete:function(){$(this).find('input:first, select:first, textarea:first').focus();}});});}else{obj.each(function(){$(this).css({'height':0,'opacity':0}).animate({'height':$(this).data('height')},{queue:false,duration:duration.show,easing:easing.show,complete:function(){$(this).animate({'opacity':1},{queue:false,duration:duration.opacity,complete:function(){$(this).find('input:first, select:first, textarea:first').focus();}});}});});}};var hide=function(obj){obj.each(function(){$(this).animate({'height':0},{queue:true,duration:duration.hide,easing:easing.hide,complete:function(){}});});};};$.fn.radioSwitch=function(options){var opts=$.extend({},{trigger:':radio',event:'change click',prevent:false,region:'.part',css:'radio-switch-box',easing:{show:'easeOutQuart',hide:'swing'},duration:{show:350,hide:300,opacity:200}},options);return this.each(function(){return new RadioSwitch($(this),opts);});};})(jQuery);
