(function(b){b.fn.mslider=function(l){m(this);var a=b.extend({},b.fn.mslider.defaults,l);slideItem=b(this);var f=Math.ceil(slideItem.length/a.viewItems);if(n(slideItem,a.buttonAlign,a.viewItems)==false){return false}var o=b("<div id=\""+a.slideArea+"\"><div id=\""+a.slideView+"\"><div id=\""+a.slideContainer+"\"></div></div></div>");if(slideItem.is(":hidden")){slideItem.show()}slideItem.wrapAll(o);var h=0;var g=b(this).css("min-height");var i=b(this).css("height");if(!parseInt(i)){if(parseInt(g)){b(this).css("height",g)}}else{if(parseInt(g)&&(parseInt(g)>parseInt(i))){b(this).css("height",g)}}slideItem.each(function(){if(!parseInt(b(this).css("margin-top"))){b(this).css("margin-top","0px")}if(!parseInt(b(this).css("margin-bottom"))){b(this).css("margin-bottom","0px")}if(!parseInt(b(this).css("margin-left"))){b(this).css("margin-left","0px")}if(!parseInt(b(this).css("margin-right"))){b(this).css("margin-right","0px")}h=Math.max(0,b(this).outerHeight()+parseInt(b(this).css("margin-top"))+parseInt(b(this).css("margin-bottom")))});(a.width!=0)?w=a.width:w=(slideItem.outerWidth()+parseInt(slideItem.css("margin-left"))+parseInt(slideItem.css("margin-right")))*a.viewItems;b("#"+a.slideArea).css("position","relative");b("#"+a.slideView).css({overflow:"hidden",position:"relative",width:w});b("#"+a.slideContainer).css({left:0,position:"relative",width:w*f});if(a.buttonAlign=="middle"){b("#"+a.slideContainer).append("<div class=\""+a.slidePage+"\"></div><div class=\""+a.slidePage+"\"></div>");b("."+a.slidePage).css({clear:"left",height:h,styleFloat:"left",width:"100%"});if(f%2){f=f+1}b("#"+a.slideContainer).css({width:w*f/2});goMiddle=function(c,d,e,j){for(x=0;x<j;x++){c.parent("#"+d).children(c).eq(0).appendTo("div."+e+":eq(0)")}for(y=0;y<j;y++){c.parent("#"+d).children(c).eq(0).appendTo("div."+e+":eq(1)")}};if(slideItem.length>=a.viewItems){while(slideItem.parent("#"+a.slideContainer).children(slideItem).length>0){do{goMiddle(slideItem,a.slideContainer,a.slidePage,a.viewItems)}while(slideItem.parent("#"+a.slideContainer+" > div."+a.slidePage).children(slideItem).length<=a.viewItems)}}else{goMiddle(slideItem,a.slideContainer,a.slidePage,a.viewItems)}}else{if(b("#"+a.slideContainer).children(slideItem).length>0){b("#"+a.slideContainer).children(slideItem).wrapAll("<div class=\""+a.slidePage+"\"></div>")}}if(a.startPage=="last"){if(a.viewItems!=1){b("#"+a.slideContainer).css({left:b("#"+a.slideView).width()-b("#"+a.slideContainer).width()})}else{b("#"+a.slideContainer).css({left:b("#"+a.slideView).width()-b("#"+a.slideContainer).width()+parseInt(slideItem.css("margin-left"))+parseInt(slideItem.css("margin-right"))})}b(a.buttonRight).click()}if(a.autoMargin=="true"&&a.viewItems!=1){var k=(w-(slideItem.outerWidth()*a.viewItems))/(a.viewItems-1);b(this).css("margin-left","0px");b(this).css("margin-right","0px");for(x=0;x<slideItem.length;x++){b(slideItem).eq(x).next().css("margin-left",k+"px");b(slideItem).eq(x).nextAll(":lt("+(a.viewItems-2)+")").css("margin-right",k+"px");x=x+a.viewItems-1}}if(a.buttonAlign=="default"){b(a.buttonLeft).prependTo("#"+a.slideArea);b(a.buttonRight).appendTo("#"+a.slideArea)}else{if(a.buttonAlign=="top"){b("<div id=\""+a.slideNavContainer+"\"></div>").append(a.buttonLeft).append(a.buttonRight).prependTo("#"+a.slideArea)}else{if(a.buttonAlign=="bottom"){b("<div id=\""+a.slideNavContainer+"\"></div>").append(a.buttonLeft).append(a.buttonRight).appendTo("#"+a.slideArea)}else{if(a.buttonAlign=="middle"){b("<div id=\""+a.slideNav+"\"><div id=\""+a.slideNavContainer+"\"></div></div>").appendTo("#"+a.slideArea).css({position:"absolute",top:b("div."+a.slidePage).children(slideItem).outerHeight()+parseInt(b("div."+a.slidePage).children(slideItem).css("margin-top"))+parseInt(b("div."+a.slidePage).children(slideItem).css("margin-bottom")),width:w});b("#"+a.slideNavContainer).append(a.buttonLeft);b("#"+a.slideNavContainer).append(a.buttonRight);b("div."+a.slidePage+":eq(1)").css({marginTop:b("#"+a.slideNav).height()+parseInt(slideItem.css("margin-bottom"))+parseInt(slideItem.css("padding-bottom"))})}}}}toggleNav=function(c,d){if(c==a.buttonLeft){className="buttonLeft_off"}else{if(c==a.buttonRight){className="buttonRight_off"}}if(d==1){b(c).addClass(className)}else{if(d==0){b(c).removeClass(className)}}};b(a.buttonLeft).click(function(){if(b("#"+a.slideContainer).is(":animated")){return false}if(parseInt(b("#"+a.slideContainer).css("left"))<0){b("#"+a.slideContainer).animate({"left":"+="+w},"normal",function(){if(b(a.buttonRight).hasClass("buttonRight_off")==true){toggleNav(a.buttonRight,0)}if(!(parseInt(b("#"+a.slideContainer).css("left"))<0)){toggleNav(a.buttonLeft,1)}})}});b(a.buttonRight).click(function(){if(b("#"+a.slideContainer).is(":animated")){return false}if(parseInt(b("#"+a.slideContainer).css("left"))>w-parseInt(b("#"+a.slideContainer).css("width"))){b("#"+a.slideContainer).animate({"left":"-="+w},"normal",function(){if(b(a.buttonLeft).hasClass("buttonLeft_off")==true){toggleNav(a.buttonLeft,0)}if(!(parseInt(b("#"+a.slideContainer).css("left"))>w-parseInt(b("#"+a.slideContainer).css("width")))){toggleNav(a.buttonRight,1)}})}});if(!(parseInt(b("#"+a.slideContainer).css("left"))<0)){toggleNav(a.buttonLeft,1)}if(!(parseInt(b("#"+a.slideContainer).css("left"))>w-parseInt(b("#"+a.slideContainer).css("width")))){toggleNav(a.buttonRight,1)}};function m(c){if(window.console&&window.console.log){window.console.log("mSlider items found: "+c.size())}};function n(c,d,e){if(c.length==0){alert("Error! Unable to find items.");if(c.is(":hidden")){c.show()}return false}if(!(d=="default"||d=="top"||d=="middle"||d=="bottom")){alert("Error! Invalid navigation bar position:\nbuttonAlign = "+d);if(c.is(":hidden")){c.show()}return false}if(isNaN(parseInt(e))||!(e>0)){alert("Error! Invalid value:\nviewItems = "+e+"\n\nHint: allowed minimum value: 1");if(c.is(":hidden")){c.show()}return false}};b.fn.mslider.defaults={slideArea:"mSlider",slideView:"mSlideView",slideContainer:"mSlideContainer",slidePage:"mSlidePage",slideNav:"mSlideNav",slideNavContainer:"mSlideNavContainer",autoMargin:"true",buttonAlign:"default",buttonLeft:b("<div id=\"lSlideNav\">LEFT</div>"),buttonRight:b("<div id=\"rSlideNav\">RIGHT</div>"),startPage:"default",viewItems:3,width:0}})(jQuery);