// Copyright (c) 2009-2010 Manchester United Premier Cup, <http://www.manchesterunitedpremiercup.com>
window.addEvent("domready",function(){if(Browser.Engine.trident){document.ondragstart=function(){return false}}var c=$("dreamTeamForm");if(!c){return}var j=c.getElement("fieldset.players").setStyles({position:"absolute",visibility:"hidden"});var g=new Element("ul",{id:"dreamTeam"});g.inject(c,"before");var a=function(k){if(!k.length){return"/images/dream-team/no-player.png"}return"/images/dream-team/players/"+k.toLowerCase().replace(/[^a-z0-9]/g,"-").replace(/(-+)/g,"-")+".jpg"};j.getElements("select").each(function(k){var l=(k.get("value")||"Select a player");g.adopt(new Element("li",{"class":k.get("name")}).adopt(new Element("div"),new Element("img",{src:a(k.get("value")),alt:l}),new Element("span",{html:l})))});var h=new Element("ul");var b=new Element("ul");var f=new Element("ul");var e=new Element("ul");var i=[{list:h,droppables:g.getElements(".goalkeeper")},{list:b,droppables:g.getElements(".defender1, .defender2, .defender3, .defender4")},{list:f,droppables:g.getElements(".midfielder1, .midfielder2, .midfielder3, .midfielder4")},{list:e,droppables:g.getElements(".forward1, .forward2, .forward3")}];i.each(function(k){j.getElements('select[name="'+k.droppables[0].get("class")+'"] option').each(function(l){if(!l.get("value")){return}k.list.adopt(new Element("li").adopt(new Element("div",{"class":"dreamTeamPlayer",events:{mouseenter:function(){this.store("timer",(function(){this.getElements("div, span").tween("top",53)}).delay(100,this))},mouseleave:function(){$clear(this.retrieve("timer"));if(!this.retrieve("dragging")){this.getElements("div, span").tween("top",83)}}}}).adopt(new Element("img",{src:a(l.get("value"))}),new Element("div",{tween:{link:"cancel"}}),new Element("span",{html:l.get("text"),tween:{link:"cancel"}})).store("dragging",false)))})});document.getElement(".columnKey").adopt(new Element("h2",{html:"Drag Players into Position"}),new Element("div",{"class":"dreamTeamPlayers"}).adopt(new Element("h3",{html:"Goalkeepers"}),h),new Element("div",{"class":"dreamTeamPlayers"}).adopt(new Element("h3",{html:"Defenders"}),b),new Element("div",{"class":"dreamTeamPlayers"}).adopt(new Element("h3",{html:"Midfielders"}),f),new Element("div",{"class":"dreamTeamPlayers"}).adopt(new Element("h3",{html:"Forwards"}),e));var d=document.getElements(".columnKey h3").setStyle("cursor","pointer");new Fx.Accordion(d,[h,b,f,e],{opacity:false,show:0});d.addEvent("mouseenter",function(){this.fireEvent("click")});i.each(function(k){k.list.getElements("li > div").setStyle("cursor","move").makeDraggable({droppables:k.droppables.set("tween",{link:"cancel"}),onBeforeStart:function(l){if(!l.retrieve("origin")){l.store("originparent",l.getParent()).store("origin",l.getParent().getCoordinates())}l.setStyles(l.retrieve("origin")).inject(document.getElement("body"))},onStart:function(l){l.store("dragging",true).setStyle("z-index",10000)},onEnter:function(l,m){m.getElement("img").tween("border-color","#ec1c24");m.getElements("div, span").tween("opacity",0)},onLeave:function(l,m){m.getElement("img").tween("border-color","#ffffff");m.getElement("div").tween("opacity",0.6);m.getElement("span").tween("opacity",1)},onDrop:function(l,n){l.store("dragging",false);var m=false;if(n){n.getElement("img").tween("border-color","#ffffff");k.droppables.each(function(o){if(o.getElement("span").get("text")==l.getElement("span").get("text")){m=true}})}if(!m&&n){l.inject(l.retrieve("originparent")).set({styles:{left:0,top:0,opacity:0},tween:{onComplete:function(){l.set({styles:{zIndex:9999},tween:{onComplete:$empty}}).fireEvent("mouseleave")}}}).tween("opacity",1);n.getElement("img").set({src:l.getElement("img").get("src"),alt:l.getElement("span").get("text")});n.getElement("span").set("html",l.getElement("span").get("text"));n.getElements("div, span").setStyles({top:77,opacity:0.6}).tween("top",107);n.getElement("span").setStyle("opacity",1);j.getElement('select[name="'+n.get("class")+'"] option').set("value",l.getElement("span").get("text"))}else{l.set("morph",{onComplete:function(){l.set({styles:{zIndex:9999,left:0,top:0},morph:{onComplete:$empty}}).inject(l.retrieve("originparent"))}}).morph(l.retrieve("origin"))}}})})});