/*
 *Copyright (C) 2008, 2009 Eric Satterwhite & The Muskego Hitmen
 * 
 * All Rights Reserved
 * ATTRIBUTION ASSURANCE LICENSE (adapted from the original BSD license)
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the conditions below are met.
 * These conditions require a modest attribution to ERIC SATTEERWHITE (the
 * "Muskego hitmen"), who hopes that its promotional value may help justify the
 * thousands of dollars in otherwise billable time invested in writing
 * this and other freely available, open-source software.

 * 1. Redistributions of source code, in whole or part and with or without
 * modification (the "Code"), must prominently display this GPG-signed
 * text in verifiable form.
 * 2. Redistributions of the Code in binary form must be accompanied by
 * this GPG-signed text in any documentation and, each time the resulting
 * executable program or a program dependent thereon is launched, a
 * prominent display (e.g., splash screen or banner text) of the Author's
 * attribution information, which includes:
 * (a) Name ("ERIC SATTERWHITE"),
 * (b) Professional identification ("DIRECTOR OF WEBSITE OPERATIONS"), and
 * (c) URL ("MUSKEGOHITMEN.COM").
 * 3. Neither the name nor any trademark of the Author may be used to
 * endorse or promote products derived from this software without specific
 * prior written permission.
 * 4. Users are entirely responsible, to the exclusion of the Author and
 * any other persons, for compliance with (1) regulations set by owners or
 * administrators of employed equipment, (2) licensing terms of any other
 * software, and (3) local regulations regarding use, including those
 * regarding import, export, and use of encryption software.

 * THIS FREE SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
 * EVENT SHALL THE AUTHOR OR ANY CONTRIBUTOR BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * EFFECTS OF UNAUTHORIZED OR MALICIOUS NETWORK ACCESS;
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 * --End of License
 */

/**
 * @license:	http://www.opensource.org/licenses/attribution.php Attribution Assurance License
 * @author:		Eric Satterwhite
 * 					-webmaster@muskegohitmen.com
 * 					-esatterwhite@wi.rr.com
 *
 * @version:	0.7
 * @credits:	Mootools(1.2.x)		
 * 					- A Compact Javasctipt framework that makes doin this kind of stuff less stressfull
 * 					http://www.mootools.net
 * 
 */
var HITMEN={};HITMEN.Stats=new Class({Implements:[Events,Options],options:{forceTruncate:true,forceRound:false,decimalPlace:2},initialize:function(options){this.setOptions(options)},get_qbrating:function(attempts,complete,yards,tds,ints){var min,max,round,C,Y,T,I,rating;max=Math.max;min=Math.min;if(complete>attempts){return"completions cannot be greater than attempts"}else if(attempts<=0||typeof(attempts)!=="number"){return 0}else{C=((complete/(attempts))*100-30)/20;Y=((yards/attempts)-3)/4;T=(tds)/(attempts)*20;I=2.375-(ints/attempts)*25;rating=((max(min(C,2.375),0)+max(min(Y,2.375),0)+max(min(T,2.375),0)+max(min(I,2.375),0))/6)*100;if(this.options.forceRound&&this.options.forceTruncate){return rating.round(this.options.decimalPlace)}if(this.options.forceRound){rating=rating.round()}if(this.options.forceTruncate){rating=rating.toFixed(this.options.decimalPlace)}return rating}}});HITMEN.Overlay=new Class({Implements:[Options,Events,Chain],options:{isMaskOn:false,loadClass:'loader',closeable:true,_closeable:null,color:'#000',opacity:0.6,onReveal:$empty,onHide:$empty,onWait:$empty},initialize:function(options){var overlay=$('mask');this.setOptions(options);this.options._closeable=this.options.closeable||null;if(overlay===null){overlay=new Element('div',{'id':'mask',styles:{'width':'100%','height':$(document.body).getScrollSize().y,'background-color':this.options.color,'visibility':'hidden','position':'absolute','opacity':0,'z-index':500}})}overlay.injectTop(document.body);overlay.addEvent('click',function(e){this.options.closeable?this.hide():false}.bind(this))},reveal:function(){if(!this.options.isMaskOn){this.options.isMaskOn=true;$('mask').fade(this.options.opacity);this.fireEvent('reveal')}},hide:function(){var m=$('mask');if(this.options.isMaskOn){m.fade('out')}this.options.isMaskOn=false;this.options.closeable=this.options._closeable;m.empty();m=null;this.fireEvent('hide')},wait:function(){var dim,yScroll,pad,mask;this.options.closeable=false;dim=getScrollSize();yScroll=self.pageYOffset?self.pageYOffset:document.documentElement.scrollTop;pad=new Element('div',{id:'tmp',html:'',styles:{position:'absolute',top:yScroll+dim.y/3, left:dim.x/2}});pad.setStyle('top',yScroll+dim.y/3);mask=$('mask');mask.addClass(this.options.loadClass||'');pad.inject(mask);this.reveal();this.fireEvent('onWait')},kill:function(){$('mask').dispose()}});HITMEN.LaunchPad=new Class({Implements:[Options,Events],Extends:HITMEN.Overlay,options:{closeable:false,modalBox:null,title:null,stage:null,titleBar:null,className:'smallBox',isMaskOn:false,onBoxopen:$empty,onBoxclose:$empty},initialize:function(options){this.setOptions(options);this.parent(options)},build:function(){var m,dim,yscroll,box,titleBar,closebutton,stagewrap,stagecontainer,stage;m=$('mask');dim=getScrollSize();yScroll=self.pageYOffset?self.pageYOffset:document.documentElement.scrollTop;box=new Element('div',{id:'hitpad_base',styles:{position:'absolute',top:yScroll+50,padding:'5px','z-index':700,opacity:0},events:{dblclick:function(e){if(this.options.closeable){this.hide();this.hideBox()}}.bind(this)}});if(this.options.className){box.addClass(this.options.className)}titleBar=new Element('h2',{'class':'title draggable',html:this.options.titleBar||''}).injectTop(box);stagewrap=new Element('div',{id:"stagewrap",'class':'bg-deep p_all-8'}).inject(box);stagecontainer=new Element('div',{id:'stagecontainer'}).inject(stagewrap);stage=new Element('div',{id:'stage','class':'bg-med border-light pb-8'}).inject(stagecontainer);stage.set('html',this.options.stage||'');this.setOptions({stage:stage,titleBar:titleBar,modalBox:box,closebutton:closebutton});box.inject(document.body);box.setStyle('left',(dim.x/2)-(box.getSize().x/1.5));new Drag(box,{handle:titleBar})},showBox:function(options){if(options){this.setOptions(options)}this.build();this.reveal();this.options.modalBox.fade('in');this.setOptions({isMaskOn:true})},hideBox:function(){this.options.modalBox.fade('out');this.hide();this.options.modalBox.dispose();this.hide.delay(1500)},show:function(){this.options.modalBox.fade('in');this.setOptions({isMaskOn:true})}});HITMEN.EditMode=new Class({Implements:[Options,Events],options:{isEditModeOn:false,editorScriptsLoaded:false,warningBlock:null,MEDIA_URL:'http://media.muskegohitmen.com/',formURL:null,editor_element:'id_content',editorActions:"h2 h4 p | bold italic | insertunorderedlist indent outdent | undo redo | hitmensearch unlink | image | insertcode toggleview",wikiArea:'js-wiki-',_RTE:null,onBuildcomplete:$empty},initialize:function(options){if(options!==undefined){this.setOptions(options)}this.build()},build:function(){var block,close_btn,title,button_wrap;block=new Element('div',{id:'warningBlock',styles:{background:'#b30000',padding:'10px 0px',position:'fixed',bottom:'0','z-index':10000,opacity:0,visibility:'hidden',width:'100%'}}).addClass('width100').inject(document.body);title=new Element('h1',{'text':"Edit Mode",styles:{'margin-right':'20px','color':'#000','font-family':"Arial Black"}});title.addClass('fr');button_wrap=new Element('span',{'class':'fr mt-8 mr-10'}).inject(block);close_btn=new Element('a',{'class':'dark_button',text:'cancel!',events:{'click':function(evt){this.confirmExit()}.bind(this)}}).inject(button_wrap);title.inject(block);this.setOptions({warningBlock:block})},confirmExit:function(){if(confirm("Are you sure you want to exit with out saving??")){this.options.warningBlock.fade('out');this.turnOff.delay(800,this)}},turnOn:function(){if(!this.options.isEditModeOn){this.setOptions({isEditModeOn:true});this.options.warningBlock.fade('in')}else{return false}},turnOff:function(){if(this.options.isEditModeOn){this.setOptions({isEditModeOn:false});window.location.reload()}else{return false}},buildEditor:function(){if(!this.options.isEditModeOn){this.turnOn()}else{return false}var send_btn,form_wrap,form,moo,form_set,controls;form=new Element('form',{method:'post',action:this.options.formURL,id:'document_form',enctype:'multipart/form-data'});form_set=new Element('fieldset',{}).inject(form);form_wrap=new Element('ul').inject(form_set);if(this.options.formURL===null){return false}new Request.HTML({method:'get',url:this.options.formURL,onFailure:function(){},onSuccess:function(rTree,rEls,rHTML,rScripts){var wikiContainer;wikiContainer=$$('div[id^={wikiArea}]'.substitute(this.options))[0];wikiContainer.empty();wikiContainer.adopt(form);form_wrap.set('html',rHTML);moo=$(this.options.editor_element).mooEditable({externalCSS:"{MEDIA_URL}css/editor_black.css".substitute(this.options),actions:this.options.editorActions});this.options._RTE=moo}.bind(this)}).send();controls=new Element('li').inject(form_set,'bottom');send_btn=new Element('a',{text:"submit",href:"#",'class':'dark_button p_all-6',events:{'click':function(evt){this.options._RTE.saveContent();form.submit()}.bind(this)}}).inject(controls);this.fireEvent('buildcomplete')},insert:function(content){this.options._RTE.selection.insertContent(content)}});HITMEN.ScollPanel=new Class({Implements:[Options,Events],options:{scrollPanel:'scroll-panel',controlContainer:'controls',buttonElement:'li',controls:[],offset:245,onSlide:$empty,onComplete:$empty},initialize:function(options){this.setOptions(options);this.options.controls=$$("#".concat(this.options.controlContainer," ",this.options.buttonElement));this.options.controls.each(function(el){el.addEvent('click',function(e){var multiplier,moveTo,panel;this.buttonClick(el);multiplier=el.id.split('-')[1]-1;panel=$(this.options.scrollPanel);moveTo=this.options.offset*multiplier;this.fireEvent('slide',"Sliding",100);panel.tween('left',-moveTo);this.fireEvent('complete')}.bind(this))}.bind(this))},buttonClick:function(button){if(!button.hasClass('on')){this.options.controls.removeClass('on');button.addClass('on')}}});HITMEN.ContentRevealer=new Class({Implements:[Events,Options,Chain],options:{controller:'',element:'js-reveal-content-',_elements:[],_controlers:[],container:'div',selector:'.slide',splitter:'-',isClosed:false,onOpen:$empty,onClose:$empty,onOpenAll:$empty,onCloseAll:$empty},initialize:function(control,options){if(options){this.setOptions(options)}this.options.controller=control;this.options._elements=$$(this.options.container+this.options.selector);this.options._elements.each(function(el){el.set('slide',{duration:'long',transition:'quad:out'});el.slide('hide');this.setOptions({isClosed:true})}.bind(this));this.options._controllers=$$('span[id^='+this.options.controller+"]");this.options._controllers.each(function(el){el.addEvent('click',function(){var elementToToggle=$(this.options.element.concat(el.id.split(this.options.splitter).getLast()));this.toggle(elementToToggle)}.bind(this))}.bind(this))},toggle:function(el){if(!this.options.isClosed){this.setOptions({isClosed:true});el.slide('out');this.fireEvent('close',el)}else{el.slide('in');this.setOptions({isClosed:false});this.fireEvent('open',el)}},openAll:function(){this.options._elements.each(function(el){el.slide('in');this.fireEvent('open',el)});this.options.isClosed=false;this.fireEvent('openall',this.options._elements)},closeAll:function(){this.options._elements.each(function(el){el.slide('out');this.fireEvent('close',el)});this.options.isClosed=true;this.fireEvent('closeall',this.options._elements)}});HITMEN.MultiLineAutoComplete=new Class({Extends:Autocompleter.Request.JSON,Impliments:[Options,Events,Class.Occlude],options:{onRemove:$empty,onInsert:$empty,searchInput:null,mainInput:null,replaceInput:true,replaceID:'id_recipient',searchFieldID:'id_search',formID:'messageForm',optionClass:'selectbox-option',closeLinkClass:'small red',closeLinkHref:'#',highlightColor:'#EF0E0E',_inputdata:null,tokens:null,postVar:'q',url:null,method:'POST'},initialize:function(options){if(options){this.setOptions(options)}this.options.mainInput=$(this.options.searchFieldID);this.options._inputdata=$(this.options.replaceID);this.options._inputdata.setProperty('type','hidden');this.parent(this.options.searchFieldID,this.options.url,this.options);var container=new Element('div',{'class':'multi-input'}).inject(this.options._inputdata,'before').adopt(this.options.mainInput);this.options.mainInput.focus();new Element('br',{'class':'clearfloat'}).inject(container,'bottom')},choiceSelect:function(choice){if(choice){this.choiceOver(choice)}this.setSelection(true);this.queryValue=false;this.hideChoices();if(!this.checkOptions({obj_id:choice.retrieve('obj_id')})){var opt=new Element('li',{html:choice.get('text'),'class':'multiline '+this.options.optionClass,events:{mouseover:function(e){e.target.removeProperty('style')}}});new Element('a',{text:' (x)','class':this.options.closeLinkClass,href:"#",events:{'click':function(e){e.target.getParent('li').dispose();this.options.mainInput.focus();this.fireEvent('remove')}.bind(this)}}).inject(opt);new Element('input',{type:'hidden',id:'data-'+choice.retrieve('obj_id')}).setProperties({'content_type':choice.retrieve('ct'),'obj_id':choice.retrieve('obj_id'),'value':choice.retrieve('username')}).inject(opt);opt.inject(this.options.mainInput,'before');this.fireEvent('insert',opt)}this.options.mainInput.value=''},checkOptions:function(opts){var options=$$('input[obj_id={obj_id}]'.substitute(opts)).getParent();if(options.length>0){options[0].highlight(this.options.highlightColor);return true}else{return false}},setData:function(){data=$$('input[id^=data-]');var x=[];data.each(function(el){x.push(el.value)});this.options._inputdata.value=x.toString();x=null}});HITMEN.TabToggler=new Class({initialize:function(){$$('div a[id^="tab-"]').each(function(tab){tab.addEvent('click',function(e){this.tabClick(tab)}.bind(this))}.bind(this))},tabShow:function(currentTab,shouldShow){if(shouldShow===true){currentTab.addClass('on');$("container-"+currentTab.id.split('-')[1]).removeClass('dn')}else{currentTab.removeClass('on');$("container-"+currentTab.id.split('-')[1]).addClass('dn')}},getAllTabs:function(tab){var tabParent=tab.parentNode.tagName;if(tabParent=="DIV"){var tabs=tab.parentNode.getElementsByTagName('a');return tabs}tabParent=tabParent.parentNode;return false},tabClick:function(tab){var tabs=this.getAllTabs(tab);$each(tabs,function(id,index){this.tabShow(tabs[index],false)}.bind(this));this.tabShow(tab,true)},getTabcontentID:function(tabID){return tabID.split('-')[1]}});HITMEN.AjaxTabToggler=new Class({Implements:[Events,Options,HITMEN.TabToggler],options:{tabs:[],container:'stats-container'},initialize:function(options){this.setOptions(options);var t=$$('div a[id^="ajaxtab-"]');this.setOptions({tabs:t});this.options.tabs.each(function(tab){tab.addEvent('click',function(e){var anE=e.stop();this.tabClick(tab)}.bind(this))}.bind(this));this.tabShow(this.options.tabs[0],true);this.tabClick(this.options.tabs[0])},tabShow:function(currentTab,shouldShow){if(shouldShow===true){currentTab.addClass('on')}else{currentTab.removeClass('on')}},getAllTabs:function(tab){var tabParent=tab.parentNode.tagName;if(tabParent=="DIV"){var tabs=tab.parentNode.getElementsByTagName('a');return tabs}tabParent=tabParent.parentNode;return false},tabClick:function(tab){this.options.tabs.each(function(el){el.removeClass('on')});tab.addClass('on');var url=tab.href;var tContainer=$(this.options.container);tContainer.empty();if(tab.retrieve('content')!==null){tContainer.setProperty('html',tab.retrieve('content'))}else{var rhtml=new Request.HTML({'method':'get','url':url,'onRequest':function(){var cel=new Element('center');var loader=new Element('img',{'src':'http://media.muskegohitmen.com/css/img/ajax-loader.gif'});loader.inject(cel);cel.inject(tContainer)},'onSuccess':function(Tree,Elements,HTML,JavaScript){tContainer.empty();tContainer.setProperty('html',HTML);tab.store('content',tContainer.getProperty('html'))},'onFailure':function(xhrresp){}}).send()}},getTabcontentID:function(tabID){return tabID.split('-')[1]}});toggleOnOff=function(el_is_on,el_is_off){if(el_is_on&&el_is_off){el_is_on.addClass('dn');el_is_off.removeClass('dn')}else if(el_is_on&&el_is_off===undefined){el_is_on.toggleClass('dn')}else{return false}};window.addEvent('domready',function(){var isEditorLoaded=false;var mainMenu=new MenuMatic({id:'mainNav',subMenusContainerId:'subMenusContainer'});$$('a.js-login').each(function(el){el.addEvent('click',function(e){var myE=new Event(e).stop();$('login_form').submit();return false})});$$('a[id^=ajaxlogin]').each(function(el){el.addEvent('click',function(e){e.stop();var pad;var rHtml=new Request.HTML({url:'/ajax/login/',onComplete:function(token){var adminli=new Element('li',{'id':'admin'});var subButton=new Element('a',{'class':'btn_yellow p_all-4','text':'Log In'});var canButton=new Element('a',{'class':'btn_red p_all-4','text':'Cancel'});pad=new HITMEN.LaunchPad();pad.showBox({titleBar:'Log In',stage:"<form id='login_form' method='post' action='/ajax/login/' /><fieldset id='login_set' />"});$('login_form').addEvent('keypress',function(el){if(el.key=='enter'){subButton.fireEvent('click',el)}});subButton.addEvent('click',function(evt){evt.stop();var rJson=new Request.JSON({'method':'POST','url':'/ajax/login/','data':'username='+$('id_username').value+"&password="+$('id_password').value,'onComplete':function(token){if(token.user){pad.hideBox();if(token.location){window.location=token.location}}else{if(token.msg){var message=new Element('div',{'id':'message','text':token.msg,'class':'red align-c bold'});message.inject('stage','bottom')}}}}).send()});canButton.addEvent('click',function(evt){evt.stop();pad.hideBox()});$('login_set').adopt(token);subButton.inject(adminli);canButton.inject(adminli);adminli.inject('login_set')}}).send()})});$$('a.js-hitmen-enlist').each(function(el){el.addEvent('click',function(evt){evt.stop();var r=new Request.HTML({'method':'get','url':'/Prospect/ajax_enlist/','onSuccess':function(resp){ha.showBox({'titleBar':"Want To Be A Hitmen?",'stage':'<form id="enlist_form" method="POST" action="/Prospect/ajax_enlist/" />','className':'editorBox',closeable:true});$('enlist_form').adopt(resp);var submit_btn=new Element('a',{'class':'btn_yellow mt-4','text':'Enlist'});submit_btn.addEvent('click',function(evt){evt.stop();$('enlist_form').submit()});var close_btn=new Element('a',{'class':'btn_red','text':'Cancel'});close_btn.addEvent('click',function(evt){evt.stop();ha.hideBox()});var admin=new Element('li',{'id':'admin'});submit_btn.inject(admin);close_btn.inject(admin);admin.inject('enlist_form')},'onComplete':function(e){if($('newMask')){}}});r.send();return false})});$$('#footer_logo a').each(function(element){var footerZoom=new ReMooz(element,{'origin':'img','shadow':'onOpenEnd','resizeFactor':0.9,'cutOut':false,'opacityResize':0.1,'dragging':false,'centered':true})});var autosearch=new Autocompleter.Request.JSON('player-search','/search/hitmen/',{'tokens':null,'minLength':2,'selectMode':'pick','postVar':'search','injectChoice':function(choice){var c=new Element('li',{events:{'click':function(e){Log.log(choice);document.location.href=choice.url}}});new Element('img',{src:choice.avatar,'class':'fl pr-4'}).inject(c);new Element('div',{'class':choice.rankclass,'html':this.markQueryValue(choice.name)}).inject(c);c.store('obj_id',choice.obj_id);var d="";if(choice.number!==null){d+="#"+choice.number}d+=" "+choice.position+" "+choice.rank;new Element('div',{'class':'smallText','html':d,'id':'position'}).inject(c);new Element('br',{'class':'clearfloat'}).inject(c,'bottom');this.addChoiceEvents(c).inject(this.choices)}});var scroller=new Fx.SmoothScroll({duration:700},window);var toggler=new HITMEN.TabToggler()});var ha=new HITMEN.LaunchPad({'stage':'','titleBar':''});