/* ==========================================================
 * MobilySelect
 * date: 18.1.2010
 * author: Marcin Dziewulski
 * last update: 25.1.2010
 * web: http://www.mobily.pl or http://playground.mobily.pl
 * email: hello@mobily.pl
 * Free to use under the MIT license.
 * ========================================================== */
(
	function($){$.fn.mobilyselect=function(options)
	{
		var defaults={collection:"all",animation:"absolute",duration:500,listClass:"selecterContent",btnsClass:"selecterBtns",btnActiveClass:"active",elements:"li",onChange:function(){},onComplete:function(){}};
		var sets=$.extend({},defaults,options);
		return this.each(function()
		{
			var $t=$(this),list=$t.find("."+sets.listClass),btns=$t.find("."+sets.btnsClass),btn=btns.find("a"),li=list.find(sets.elements),w=li.width(),h=li.height(),l=li.length,finishTime;if(sets.animation=="absolute"){li.css({position:"relative"}).children().css({position:"absolute",top:0,left:0
		})}
	var select={
		init:function(){this.start();this.trigger()},
		start:function(){if(sets.collection!="all"){li.hide().filter("."+sets.collection).show();btn.removeClass(sets.btnActiveClass).filter(function(){return $(this).attr("rel")==sets.collection}).addClass(sets.btnActiveClass)}},
		trigger:function(){btn.bind("click",function(){var $t=$(this),rel=$t.attr("rel"),selected=li.filter("."+rel),s=li.filter(function(){return $(this).css("display")=="block"});if(rel=="all"){if(l!=s.length){select.animation(li,li)}}else{select.animation(li,selected)}btn.removeClass(sets.btnActiveClass);$t.addClass(sets.btnActiveClass);sets.onChange.call(this);return false})},
		animation:function(not,selected){switch(sets.animation){
			case"plain":$(not).hide();$(selected).show();break;
			case"fade":$(not).fadeOut(sets.duration);setTimeout(function(){$(selected).fadeIn(sets.duration)},sets.duration+400);	break;
			case"absolute":setTimeout(function(){$(selected).show().children().animate({top:0,left:0},sets.duration)},sets.duration+400);$(not).children().animate({top:-h+"px",left:-w+"px"},sets.duration,function(){$(not).hide()});break}if(sets.animation=="absolute"||sets.animation=="fade"){finishTime=sets.duration*2+400}else{finishTime=100}setTimeout(function(){sets.onComplete.call(this)},finishTime)}};
		select.init()})}
	}
(jQuery)
);
