(function(f){var b;function a(){NIKEOS.extendNatives();String.extend({shorten:function(){if(this.test(/^\d{4}$/)){return this.slice(2)}else{return this.replace(/'|\.|&.+?;/g,"").replace(/ /g,"_").toLowerCase()}}})}function e(g,h){switch(h){case"team":return b.leagues[g.league].imgs+"teams/"+g.team.shorten()+"_hdr.jpg";case"thumb":return b.leagues[g.league].imgs+"players/"+g.id+".png";case"player":return b.leagues[g.league].imgs+"players/big/"+g.id+"_big.png";case"logo":return b.leagues[g.league].imgs+"logos/"+g.type+"/"+g.name.shorten()+".png";case"conference":return b.leagues[g.league].imgs+g.conference+".png";case"icon":return b.leagues[g]?b.leagues[g].imgs+"icon.png":b.imgs+"icons/"+g+".png";case"position":return b.imgs+"positions/"+(g.test(/^(F|G)$/)?"P":"")+g+".png";case"kicks":return b.imgs+"kicks/"+g.shorten()+".png"}}function d(i,h){var g=i.shorten();return(h&&b.copy[h]&&b.copy[h][g])||b.copy[g]||i}function c(){if(!this.cached){this.cached=[]}for(var k=0,h=arguments.length;k<h;k++){var m=arguments[k];var g=false;if(typeof m=="object"){m=e(m[0],m[1])}else{if(m.test(/^#/)){m=((f(m).css("background-image")||"").match(/^url\((.+?)\)/i)||[])[1]}else{if(m.test(/^\./)){g=true;m=m.slice(1).replace(/\./g," ")}}}if(!m||this.cached.contains(m)){continue}var j=f("<div />").css({position:"absolute",height:"1px",width:"1px",display:"block"}).prependTo("body");if(g){j.addClass(m)}else{j.bgImage(m)}this.cached.push(m);(function(){j.remove()}).delay(5000)}}f.extend({Banner:function(o){var p=this;var s={fade:600,duration:10000};var h,i,k,r,n;var q=f("#banner");var g=f("#player-info");function l(){g.fade("out",s.fade,"empty");i.fade("out",s.fade,function(){i.remove();(function(){r.fade("in",s.fade*2,j)}).delay(s.fade)});(function(){h.fade("out",s.fade,"remove")}).delay(s.fade/2)}function m(){n=o();k=f('<div class="bg" />').bgImage(n,"team");r=new f.Player(n,true);q.append(r).prepend(k)}function j(){h=k;i=r;var v=f('<div class="name" />');var t=new f.ViewProfile(n);var u=f('<div class="team" />').text(n.team);g.append(v,t,u).show();v.typewrite(n.name,25,function(){t.fade("in");u.fade("in")});l.delay(s.duration);m()}m();r.fade("in",s.fade);j();return this},ViewProfile:function(g){if(b.leagues[g.league].profiles){return new f.Round("profile",d("View Profile",g.league)).profileLink(g)}else{return f('<div class="profile" />')}},PickLeague:function(h){h=f.extend(true,{duration:1000,animation:{left:[110,10],opacity:[0,1]}},h);var i=new f.Round("pickleague",d("Pick a League"));var k,g=true,j=true;f.extend(this,{show:function(){if(j){j=false;k=(function(){i.appendTo("#filters").morph(h.animation,h.duration,"easeOutBounce")}).delay(g?2000:800)}g=false;return this},hide:function(){if(!j){j=true;if(k){k=$clear(k)}i.stop().remove()}g=false;return this}});return this},Player:function(h,g){return f('<div class="player" />').bgImage(h,g?"player":"thumb")},Image:function(h,g){if(g){h=e(h,g)}return f('<img src="'+h+'" />')},Logo:function(h,i,g){return new f.Image({league:i,type:h,name:g},"logo").addClass("logo")},Round:function(g){var k=f('<div class="round" />').append('<div class="lt" />','<div class="rt" />');if(g){k.addClass(g)}for(var j=1,h=arguments.length;j<h;j++){k.append((typeof arguments[j]!="string"||arguments[j].test(/^</))?arguments[j]:"<span>"+arguments[j]+"</span>")}return k},Filter:function(i,n,m){var g=this;var h=new f.Round("filter",new f.Image(i,"icon"),n).attr("id",i+"-filter");var j=f('<div class="close" />').appendTo(h);var l=false,k=false;f.extend(this,{$el:h,type:i,stuck:function(o){if(o==undefined){return l}l=!!o;if(!l){h.removeClass("hover")}return this},active:function(o){if(o==undefined){return k}l=false;k=!!o;if(o){h.addClass("active").removeClass("hover")}else{h.removeClass("active")}return this},callback:function(o){m.call(g,o,true)}});h.hover(function(){if(!h.hasClass("active")){h.addClass("hover")}},function(){if(!l){h.removeClass("hover")}}).click(function(o){if(f(o.target).is(".close")){return}if(h.hasClass("hover")){g.stuck(!l)}m.call(g,"click")});j.click(function(){g.active(false);h.addClass("hover");m.call(g,"close")});return this},PageBar:function(k,h,m){var i=new f.Round("page-bar");var g=k.map(function(n,o){return f('<div class="page-sel">'+n+"</div>").appendTo(i).click(function(){if(!f(this).hasClass("on")){l(o)}})});var j=0;function l(n){if(typeof n!="string"||!l[n].hasClass("off")){if(n=="left"){n=j-1}else{if(n=="right"){n=j+1}}if(m&&m(g[n].text(),n)===false){return}l.left[n==0?"addClass":"removeClass"]("off");l.right[n==g.length-1?"addClass":"removeClass"]("off");g[j].removeClass("on");g[n].addClass("on");j=n}}l.left=f('<div class="page-left" />').click(l.pass("left"));l.right=f('<div class="page-right" />').click(l.pass("right"));if(h){i.addClass("arrows");l.left.insertBefore(g[0]);l.right.appendTo(i);c(".page-left",".page-right.off")}l(0);return i},Menu:function(h,p,k){var q=this;var l=f("#menu");var v=f("#menu-tip");var y=f("#menu-top");var t=f("#menu-body");var g=f('<div class="close" />').appendTo(y);var i=f("#leagues");var x=f("#filters");c("#menu-top","#menu-bottom","#menu-tip");function s(z){if(j.filter){m[j.league][j.filter].active(false)}if(z.filter){m[j.league][z.filter].active(true);j.filter=z.filter}n();k(z)}function w(z){if(j.shown){m[j.league][j.shown].stuck(false)}else{l.fade("in")}j.shown=z;o[j.league][z].show();var A=m[j.league][z].$el;v.css("right",(910-A.position().left-v.width()/2-A.outerWidth()/2-A.css("margin-left").toInt()).toCSS())}function n(){if(j.shown){m[j.league][j.shown].stuck(false);j.shown=null;l.fade("out")}}var u={},m={},o={},j={};for(var r in h.leagues){h.leagues[r]=f.extend({filters:"name, position, kicks, team, college, birthplace, allstar",alphabet:"a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z",positions:"PG, SG, SF, PF, C",conference:"western",birthplace:"country"},h.leagues[r]);["filters","alphabet","positions","conference","birthplace"].each(function(z){h.leagues[r][z]=h.leagues[r][z].split(/,\s*/)});u[r]=new f.Filter(r,r,function(B,z){if(B=="click"&&this.active()){return}n();x.children(".filter:visible").hide();if(j.filter){m[j.league][j.filter].active(false);j.filter=null}if(j.league){u[j.league].active(false);j.league=null;n()}if(B=="click"){this.active(true);j.league=this.type;for(var A in m[j.league]){m[j.league][A].$el.show()}x.columns(".filter:visible")}if(!z){k()}});i.append(u[r].$el);m[r]={};o[r]={};h.leagues[r].filters.each(function(z){m[r][z]=new f.Filter(z,d(z,r),function(A){if(A=="click"&&(this.stuck()||this.active())){w(this.type)}else{n()}if(A=="close"){j.filter=null;k()}});x.append(m[r][z].$el);o[r][z]=new f.MenuFilter(r,z,p,s);t.append(o[r][z].$el)})}g.click(n.bind(this));f(document).click(function(A){var z=f(A.target);if(j.shown&&!z.parents("#menu").size()&&!z.parents(".filter").size()){n()}});this.state=function(z){if(!z){return j}else{if(z.league){NIKEOS.preload(h.leagues[z.league].filters.map(function(A){return e(A,"icon")}),function(){u[z.league].callback("click");s(z)})}}return this};return this},MenuFilter:function(g,j,m,n){var p=f("<div />").addClass("menu").addClass("menu-"+j).hide();var i=function(){};function o(q){q.league=g;q.filter=j;n(q)}function k(){p.columns(".page-bar");if(!p.find(".menu-column").size()){p.columns(".menu-item:visible")}i();k=function(){}}function h(s){function t(v){var u=(s.pages)?s.pages[v]:m.getColumn(g,v,s.record||null);if(u.length){return new f.Columns(u,s.cols,function(x){var w=f('<div class="menu-item">'+x+"</div>").click(function(){var y={};y[s.column||v]=x;o(y)});if(s.img){w.prepend(s.img(x))}return w}).addClass("menu-column")}}if(s.columns.length>1){var r={};s.columns.each(function(u){r[u]=f('<div class="menu-page" />').appendTo(p).append(t(u));if(s.modpage){s.modpage.call(r[u],u)}});var q;i=function(){q=new f.PageScroller(p,p.children(".menu-page"))};new f.PageBar(s.trans||s.columns,s.arrows,function(v,u){return q?q.changeTo(u):true}).prependTo(p)}else{t(s.columns[0]).appendTo(p)}}var l={position:function(){b.leagues[g].positions.each(function(q){f('<div class="menu-item">'+q+"</div>").prepend(new f.Image(q,"position")).appendTo(p).click(function(){o({position:q})})})},allstar:function(){m.getColumn(g,"allstar","AllStar").each(function(q){q=q.toString();f('<div class="menu-item">'+q.shorten("allstar")+"</div>").prepend(new f.Logo("allstar",g,q)).appendTo(p).click(function(){o({allstar:"%"+q+"%"})})})},name:function(){var t=["first_name","last_name"];var q=t.map(function(u){return d(u,g)});var r;new f.PageBar(q,false,function(u){r=t[q.indexOf(u)]}).appendTo(p);var s=f('<div class="menu-page" />').appendTo(p).show();b.leagues[g].alphabet.each(function(u){f('<div class="menu-item">'+u+"</div>").appendTo(s).click(function(){var v={};v[r]=u+"%";v.order=r;o(v)})})},birthplace:function(){h({columns:b.leagues[g].birthplace,trans:[d("USA",g),d("International",g)],cols:4})},team:function(){h({record:"Team",column:"team",columns:b.leagues[g].conference,trans:[d("Western",g),d("Eastern",g)],cols:3,img:function(q){return new f.Logo("team",g,q)},modpage:function(q){this.bgImage({league:g,conference:q},"conference")}})},college:function(){var r=["A-M","N-Z"],s={},q={};r.each(function(t){s[t]=new RegExp("^["+t+"]","i");q[t]=[]});m.getColumn(g,"college").each(function(u){for(var t in s){if(s[t].test(u)){q[t].push(u);return}}});h({columns:r,pages:q,cols:4,column:"college",img:function(t){return new f.Logo("college",g,t)}})},kicks:function(){var r=3,t=0,s=[],q={};m.getColumn(g,"kicks").each(function(v,u){if(u%r==0){s.push(++t)}if(!q[t]){q[t]=[]}q[t].push(v)});h({columns:s,pages:q,cols:3,arrows:true,column:"kicks",img:function(u){return new f.Image(u,"kicks")}})}};if(l[j]){l[j]()}f.extend(this,{$el:p,show:function(){p.siblings(":visible").hide();p.show();k()}});return this},PageScroller:function(h,k,r){var p=this;r=f.extend({valign:"bottom",duration:"normal",onChange:function(){},onHide:function(){},onShow:function(){}},r);var q=f("<div />").appendTo(h).css({width:"100%",overflow:"hidden",position:"relative"});var g=f("<div />");var j=f(k).appendTo(g);var i=q.width();var m=f("<div />").appendTo(q).css({position:"relative",width:j.size()*i});j.each(function(t){var u=f(this).appendTo(m);var s={position:"absolute",width:i-u.css("padding-left").toInt()-u.css("padding-right").toInt(),left:t*i};s[r.valign]=0;u.css(s)});m.css("height",j.eq(0).height());var l=0,o=j.size()-1,n=false;f.extend(this,{changeTo:function(t,s){if(n||t<0||t>o){return false}n=true;m.animate({left:-t*i,height:j.eq(t).height()},r.duration,function(){l=t;r.onChange.call(p,l,q,m);if(s){s.call(p,l,q,m)}n=false});return true},next:function(){return p.changeTo(l+1)},prev:function(){return p.changeTo(l-1)},hide:function(s,t){m.animate({height:0},s||r.duration,function(){r.onHide.call(p,l,q,m);if(t){t.call(p,l,q,m)}});return this},show:function(s,t){r.onShow.call(p,l,q,m);m.animate({height:j.eq(l).height()},s||r.duration,function(){if(t){t.call(p,l,q,m)}});return this}});return this},Columns:function(i,k,l){var g=(i.length/k).ceil();var h,j;i.each(function(o,n){if(n%g==0){j=f("<div />");h=h?h.add(j):j}var m=l(o);if(m){j.append(m)}});h.css("width",(99/h.size()).toInt()+"%");return h},Thumb:function(k,g){var h=this;var j=f('<div class="thumb"><div class="bg-over" /></div>').appendTo("#thumbs");var i=f('<div class="bg" />').appendTo(j);j.append(new f.Player(k,g));if(g){j.addClass("big");f('<div class="name">'+k.name+"</div>").appendTo(j)}j.hover(function(){i.fade("out",750,function(){new f.Card(h)});c([k,"player"])},function(){i.fade("in",750)});this.$el=j.fade("in");this.big=!!g;this.player=k;return this},Card:function(g){f("#card").remove();var r=f('<div id="card" />').prependTo("body");var i=f('<div class="bg" />').appendTo(r);var k=new f.Player(g.player,true).profileLink(g.player).appendTo(i);var q=f('<div class="info"><div class="name">'+g.player.name+"</div></div>").prepend(new f.Logo("team",g.player.league,g.player.team),'<div class="jersey">#'+g.player.no+"</div>").appendTo(r).append(new f.ViewProfile(g.player)).columns(".profile","left");var p=i.getCSS("top","left","bottom","right");var o=g.$el.getProps("width","height","offset");var h={top:o.offset.top-p.top,left:o.offset.left-p.left,opacity:0.25};var j={opacity:1};if(!g.big){k.hide(true);q.hide(true);var l=r.getCSS("width","height");f.extend(h,{height:o.height+p.top+p.bottom,width:o.width+p.left+p.right});f.extend(j,{top:h.top-(o.height/2).round(),left:h.left-(o.width/2).round(),width:l.width,height:l.height});var m=f(window).getProps("height","scrollTop");var n=f("#page-content").getProps("width","offset");if(j.left<n.offset.left){j.left=n.offset.left}else{if(j.left+j.width>n.offset.left+n.width){j.left=n.offset.left+n.width-j.width}}if(j.top<m.scrollTop){j.top=m.scrollTop}else{if(j.top+j.height>m.scrollTop+m.height){j.top=m.scrollTop+m.height-j.height}}}if(f.browser.msie&&f.browser.version<8){delete h.opacity;delete j.opacity}r.css(h).animate(j,200,function(){k.fade("in");q.fade("in")});r.bind("mouseleave",function(){r.stop().animate(h,200,function(){r.remove()})});return this},Database:function(o,r){var q={Player:{String:["id","first_name","last_name","name","city","state","country","team","conference","allstar","college","position","kicks","league"],Number:["no"]},AllStar:{String:["league"],Number:["allstar"]},Team:{String:["league","team","eastern","western"]}};var h={};var s={};for(var j in q){h[j]={};s[j]=[];for(var p in q[j]){q[j][p].each(function(t){h[j][t]={type:p}})}}var l=TrimPath.makeQueryLang(h);var k=0;function g(t,u){f("Player",t).each(function(){var y=f(this);var x={};for(var w in h.Player){x[w]=(y.attr(w)||"").replace("'","&rsquo;")}x.name=(x.first_name+" "+x.last_name);x.league=u;s.Player.push(x);if(x.team){var v={league:u,team:x.team};v[(x.conference||"western").toLowerCase()]=x.team;s.Team.push(v)}if(x.allstar){x.allstar.split(/,\s*/).each(function(z){s.AllStar.push({league:u,allstar:z.toInt()})})}});if(++k<m.length){return}s.Player.shuffle();if(r){r()}}var m=[];for(var i in o){m.push(i)}m.each(function(t){f.get("/nikebasketball/global/jsp/remote.jsp?url="+o[t].xml,null,function(u){g(u,t)},"xml")});function n(v,t){try{return l.parseSQL(v,t).filter(s)}catch(u){alert("Error with executing SQL statement:\n\n"+u.message);return[]}}f.extend(this,{getRandom:function(t){if(t){return this.getPlayers({league:t}).getRandom()}else{return s.Player.getRandom()}},getColumn:function(z,w,v,t){v=v||"Player";var y=n("SELECT * FROM "+v+" WHERE "+v+"."+w+" AND "+v+".league = ? GROUP BY "+v+"."+w+" ORDER BY "+v+"."+(t||w),[z]);for(var x=0,u=y.length;x<u;x++){y[x]=y[x][w]}return y},getPlayers:function(y){var v=[],w=[];if(y.order){var t=y.order;delete y.order}for(var u in y){if(!y[u]){continue}w.push("Player."+u+" "+(y[u].contains("%")?"LIKE":"=")+" ?");v.push(y[u])}var x="SELECT * FROM Player";if(w.length){x+=" WHERE "+w.join(" AND ")}if(t){x+=" ORDER BY Player."+t}return n(x,v)}});return this},State:function(g){g=g||"family";this.save=function(i){if(!f.cookie||!JSON){console.log("jQuery.cookie and JSON are needed to save states!");return null}else{if(!i){i=JSON.parse(f.cookie(g)||"{}");for(var h in i){if(i[h]){return i}}return null}}f.cookie(g,JSON.stringify(i));return this};return this},Family:function(q,n){var o=this;if(f.browser.msie&&f.browser.version<7){return}if(b){console.log("You can't have more than one Family!");return}b=q;a();var j,h=new f.State();var m=new f.Database(q.leagues,function(){j=new f.Menu(q,m,l);var r=h.save();if(r){j.state(r)}else{l()}new f.Banner(function(){return m.getRandom(j.state().league)});if(n){n()}});var k,i;function p(w,s){var v=s?12:48;var r=(w.length/v).ceil();function t(y){$clear(i);f("#thumbs").empty();var z=v*(y-1);var x=Math.min(z+v,w.length);if(!x){return}if(s){i=(function(){new f.Thumb(w[z++],s);if(z==x){$clear(i)}}).periodical(25)}else{while(z<x){new f.Thumb(w[z++],s)}}}if(k){k.remove()}k=null;if(r>1){pagelist=[];for(var u=1;u<=r;u++){pagelist.push(u)}k=new f.PageBar(pagelist,true,t).appendTo("#info")}else{t(1)}}var g=new f.PickLeague();function l(w){if(w){w.order=w.order||"last_name"}else{w={}}w.league=j.state().league;if(w.league){g.hide()}else{g.show()}h.save(w);delete w.filter;var u=m.getPlayers(w);var v='<span class="num">'+u.length+"</span>"+d(u.length==1?"Player":"Players");var r;for(var t in w){if(r&&t=="league"){continue}r=w[t];if(t=="position"){r=d(r,w.league)}else{if(t=="allstar"){r+=" "+d(t,w.league)}else{if(t=="first_name"||t=="last_name"){r=d(t,w.league)+" - "+r}}}}if(r){v+=": "+r.replace(/%/g,"")}f("#player-num").html(v);p(u,!!q.bigthumbs||(w.league&&q.leagues[w.league].bigthumbs)||!!j.state().filter);if(window.location.hash!==""){window.location.hash=""}var s="";if(typeof w.league!=="undefined"&&w.league!==null){for(var t in w){if(s!==""){s+="&"}s+=t+"="+w[t]}window.location.hash=s}}}});f.fn.extend({bgImage:function(h,g){if(g){h=e(h,g)}return this.css("background-image",h.test(/^url\(.+?\)/)?h:"url("+h+")")},show:function(){return this.each(function(){f(this).css({display:"block",visibility:"visible"})})},hide:function(g){return this.each(function(){if(g){f(this).css("visibility","hidden")}else{f(this).css("display","none")}})},cannotFade:function(){if(f.browser.msie&&f.browser.version<8){if(f.browser.version<7){return true}var g=false;this.find("*").andSelf().each(function(){if((this.tagName=="IMG"?this.src:f(this).css("background-image")).test(/\.png/)){g=true;return false}});return g}return false},morph:function(m,i,l,n){if(this.cannotFade()){delete m.opacity}var g={},j={};for(var h in m){var k=(m[h].constructor==Array);var o=(k&&m[h].length>1);if(o){g[h]=m[h][0]}j[h]=k?m[h][o?1:0]:m[h]}return this.stop().css(g).animate(j,i,l,n)},fade:function(h,j,l){var g=this;if(this.cannotFade()){h=(h=="in")?"show":((h=="out")?"hide":"none")}if(h=="in"||h=="out"){this.stop()}else{$clear(this.timer)}var k=function(m,o){var n={opacity:m};if(o){n.display=o}if(o=="block"){n.visibility="visible"}g.css(n)};var i={duration:j||300,queue:false,complete:function(){if(h=="out"){k("","none")}if(l){if(typeof l=="string"){g[l]()}else{l.call(g)}}}};switch(h){case"in":if(this.is(":hidden")){k(0,"block")}this.animate({opacity:1},i);break;case"out":this.animate({opacity:0},i);break;case"show":k("","block");this.timer=i.complete.delay(i.duration,this);break;case"hide":k("","none");this.timer=i.complete.delay(i.duration,this);break}return this},typewrite:function(i,h,l){var g=this.empty();var k=i.match(/[^&;]|&.+?;/g);i="";var j=(function(){if(k[0]){i+=k.shift();g.html(i)}else{$clear(j);if(l){l.call(g)}}}).periodical(h);return this},profileLink:function(g){if(b.leagues[g.league].profiles){return f("<a />").attr("href",b.leagues[g.league].profiles+"?league="+g.league+"&player="+g.id).append(this)}else{return this}},getCSS:function(i){var h=Array.flatten(arguments);var g={};h.each(function(j){g[j]=this.css(j).toInt()},this);return g},getProps:function(i){var h=Array.flatten(arguments);var g={};h.each(function(j){g[j]=this[j]()},this);return g},columns:function(h,j){var g=this;var i=h?this:this.parent();i.each(function(){var l=0;var m=f(this);var k=h?m.find(h):g;k.each(function(){l+=f(this).outerWidth()}).css(j||"margin-left",((m.width()-l)/(k.size()+1)).toInt())});return this},chain:function(n,o){var h=[],j=[];for(var g in n){h.push(g);j.push($splat(n[g]))}var l=o.bind(this);for(var k=h.length;k--;k){l=this[h[k]].pass(j[k].push(l),this)}l();return this}});f.extend(f.easing,{easeOutBounce:function(h,i,g,k,j){if((i/=j)<(1/2.75)){return k*(7.5625*i*i)+g}else{if(i<(2/2.75)){return k*(7.5625*(i-=(1.5/2.75))*i+0.75)+g}else{if(i<(2.5/2.75)){return k*(7.5625*(i-=(2.25/2.75))*i+0.9375)+g}else{return k*(7.5625*(i-=(2.625/2.75))*i+0.984375)+g}}}}})})(jQuery);
