var VinesQuestManager=new Class({Implements:[Events,Options],QUEST_PROGRESS:0,QUEST_COMPLETE:1,SET_COMPLETE:2,timers:{},actions:{},initialize:function(a){window.addEvent("domready",this.domready.bind(this))},domready:function(){this.userbar=$("userbar");$(document.body).addEvent("click:relay(.open-tracker)",this.openTracker.bind(this));if(!this.userbar){return}this.progressCheck();$$("a.js-track-click-action").each(function(a){this.trackClick(a)}.bind(this));$$('.content-pod.browse-quests [id^="tabcontent"]').each(function(a){a.setProperty("data-js-paginate-url",a.getProperty("data-ajax_url"))});$$('.content-pod.browse-quests [id^="tabcontent"]').addEvent("contentloaded",function(b){var a=new VinesPaginator(b);this.addCompletedToggleListeners(b)}.bind(this));$$(".quest-stats a.limited-quests-completed").addEvent("click",function(a){a.stop();$("tabcontent-limited").setProperties({loaded:false,ajax_url:this.href});$("tab-limited").fireEvent("click")})},addCompletedToggleListeners:function(a){a.getElements(".complete-toggle a").addEvent("click",function(e){e.stop();var c=a.getCoordinates().height;a.setStyle("height",c).empty();var g=new Element("div.loading").inject(a);var f=new Element("div",{styles:{position:"absolute",width:a.getCoordinates().width}}).inject(a);var d=new Fx.Morph(a,{link:"chain"});var b=new Request.HTML({url:e.target.href,update:f,onComplete:function(){var h=f.getCoordinates().height;g.destroy();a.setStyle("opacity",0).set("html",f.get("html"));d.start({height:h}).start({opacity:1}).chain(function(){a.setStyle("height","auto")});f.destroy();a.fireEvent("contentloaded",a)}}).get()}.bind(this))},progressCheck:function(){if(typeof(VINES_QUEST_NOTIFICATIONS)==="undefined"||VINES_QUEST_NOTIFICATIONS.length===0){return}Array.each(VINES_QUEST_NOTIFICATIONS,function(b,a){this.questProgress(b)}.bind(this))},questProgress:function(e){var i={className:"quest"};var f=new Element("a",{href:this.buildUrl(e.type,e.id)});if(window.WizardLaunchPad){f.addEvent("click",this.openTracker.bind(this))}else{f.addEvent("click",function(j){return false});f.setStyle("cursor","default")}var g=new Element("img",{src:e.icon}).inject(f);var a=new Element("span",{text:e.name}).inject(f);if(e.tracking_image){var b=new Element("img",{src:e.tracking_image,width:1,height:1,border:0}).inject(f)}i.className+=" "+e.skin;switch(e.type){case this.QUEST_COMPLETE:i.className+=" complete";progress=new Element("span",{text:"Quest Complete!"}).inject(g,"after");break;case this.SET_COMPLETE:i.className+=" complete";progress=new Element("span",{text:"Set Complete"}).inject(g,"after");break;case this.QUEST_PROGRESS:i.className+=" progress";progress=new Element("span.steps",{text:e.steps+" of "+e.total+" steps complete."}).inject(f);break;default:break}if(e.xp){setTimeout(function(){USERBAR.addXp(e.xp)}.bind(this),1000)}if(e.tracking){var d,c,h;d=e.tracking.stripScripts(function(j){c=j});if(d){h=new Element("span",{html:d}).inject(f)}if(c){Browser.exec(c)}}USERBAR.addNotification(f,i)},buildUrl:function(b,c){var a="/quest/";switch(b){case this.QUEST_COMPLETE:case this.QUEST_PROGRESS:case this.SET_COMPLETE:a+="tracker/"+c+"/";break;default:break}return a},openTracker:function(b){b.stop();if(this.golem()){return}var a=b.target.href?b.target.href:$(b.target).getParents("a").get("href")[0];if(a===""||!window.WizardLaunchPad){return}this.tracker=new WizardLaunchPad({titleTextStr:"Quest Tracker",url:a,className:"quest-tracker",mask:false});this.tracker.open();this.tracker.addEvent("openComplete",function(){$$("a.js-track-click-action").each(function(c){this.trackClick(c)}.bind(this))}.bind(this))},trackClick:function(b){var a=b.get("href"),c=b.getParent("div.quest-info");if(c){var d=c.get("quest_id");b.href="/quest/click-event/"+d+"/?redirect_url="+a}},golem:function(){if(window.VINES_USER_NAME){return false}var j=document.body.scrollHeight<window.innerHeight?window.innerHeight:document.body.scrollHeight;var m=new Element("div",{id:"masker",styles:{height:j,width:"100%"},"class":"opacity-mask"}).inject(document.body);var h=new Element("div#quest-gatekeeper").inject(document.body),i=new Element("div.cannot-pass").inject(h),f=new Element("div.golem").inject(h),l=new Element("div.hunt").inject(h);function b(){h.destroy();m.destroy()}var k=new Element("a",{styles:{width:20,height:20,background:"url("+MEDIA_URL+"vine/img/white/btn/btn-close.gif)",position:"absolute",top:8,right:8,"z-index":10003}}).inject(h).addEvent("click",b);var c=["sorry-warrior.png","golem.png","join-the-hunt.png"];var a=0;function e(){a+=1;if(a<c.length){return}f.setStyle("opacity",0);l.setStyle("opacity",0);var n=new Fx.Tween(f,{property:"opacity",duration:"long",onComplete:function(){i.morph({width:475,left:25});l.tween("opacity",1)}}).start(1)}Array.each(c,function(o){var n=new Element("img",{src:MEDIA_URL+"quest/img/misc/"+o}).addEvent("load",e)});var d=new Element("button.btn",{text:"Signup"}).inject(l).addEvent("click",function(){window.location="/profile/signup/"});var g=new Element("button.btn.orange",{text:"Login"}).inject(l).addEvent("click",function(){b();vinesLoginRequired("Join the hunt")});return true},trackerLoaded:function(){},closeTracker:function(a){}});var QUESTMANAGER=new VinesQuestManager();
