var hexcase=0;var b64pad="";var chrsz=8;function hex_md5(s){return binl2hex(core_md5(str2binl(s),s.length*chrsz))}function b64_md5(s){return binl2b64(core_md5(str2binl(s),s.length*chrsz))}function str_md5(s){return binl2str(core_md5(str2binl(s),s.length*chrsz))}function hex_hmac_md5(key,data){return binl2hex(core_hmac_md5(key,data))}function b64_hmac_md5(key,data){return binl2b64(core_hmac_md5(key,data))}function str_hmac_md5(key,data){return binl2str(core_hmac_md5(key,data))}function md5_vm_test(){return hex_md5("abc")=="900150983cd24fb0d6963f7d28e17f72"}function core_md5(x,len){x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd)}return Array(a,b,c,d)}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b)}function md5_ff(a,b,c,d,x,s,t){return md5_cmn((b&c)|((~b)&d),a,b,x,s,t)}function md5_gg(a,b,c,d,x,s,t){return md5_cmn((b&d)|(c&(~d)),a,b,x,s,t)}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t)}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|(~d)),a,b,x,s,t)}function core_hmac_md5(key,data){var bkey=str2binl(key);if(bkey.length>16)bkey=core_md5(bkey,key.length*chrsz);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++){ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C}var hash=core_md5(ipad.concat(str2binl(data)),512+data.length*chrsz);return core_md5(opad.concat(hash),512+128)}function safe_add(x,y){var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF)}function bit_rol(num,cnt){return(num<<cnt)|(num>>>(32-cnt))}function str2binl(str){var bin=Array();var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz)bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<(i%32);return bin}function binl2str(bin){var str="";var mask=(1<<chrsz)-1;for(var i=0;i<bin.length*32;i+=chrsz)str+=String.fromCharCode((bin[i>>5]>>>(i%32))&mask);return str}function binl2hex(binarray){var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++){str+=hex_tab.charAt((binarray[i>>2]>>((i%4)*8+4))&0xF)+hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF)}return str}function binl2b64(binarray){var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3){var triplet=(((binarray[i>>2]>>8*(i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);for(var j=0;j<4;j++){if(i*8+j*6>binarray.length*32)str+=b64pad;else str+=tab.charAt((triplet>>6*(3-j))&0x3F)}}return str}var dateFormat=function(){var token=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,timezone=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,timezoneClip=/[^-+\dA-Z]/g,pad=function(val,len){val=String(val);len=len||2;while(val.length<len)val="0"+val;return val};return function(date,mask,utc){var dF=dateFormat;if(arguments.length==1&&Object.prototype.toString.call(date)=="[object String]"&&!/\d/.test(date)){mask=date;date=undefined}date=date?new Date(date):new Date;if(isNaN(date))throw SyntaxError("invalid date");mask=String(dF.masks[mask]||mask||dF.masks["default"]);if(mask.slice(0,4)=="UTC:"){mask=mask.slice(4);utc=true}var _=utc?"getUTC":"get",d=date[_+"Date"](),D=date[_+"Day"](),m=date[_+"Month"](),y=date[_+"FullYear"](),H=date[_+"Hours"](),M=date[_+"Minutes"](),s=date[_+"Seconds"](),L=date[_+"Milliseconds"](),o=utc?0:date.getTimezoneOffset(),flags={d:d,dd:pad(d),ddd:dF.i18n.dayNames[D],dddd:dF.i18n.dayNames[D+7],m:m+1,mm:pad(m+1),mmm:dF.i18n.monthNames[m],mmmm:dF.i18n.monthNames[m+12],yy:String(y).slice(2),yyyy:y,h:H%12||12,hh:pad(H%12||12),H:H,HH:pad(H),M:M,MM:pad(M),s:s,ss:pad(s),l:pad(L,3),L:pad(L>99?Math.round(L/10):L),t:H<12?"a":"p",tt:H<12?"am":"pm",T:H<12?"A":"P",TT:H<12?"AM":"PM",Z:utc?"UTC":(String(date).match(timezone)||[""]).pop().replace(timezoneClip,""),o:(o>0?"-":"+")+pad(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4),S:["th","st","nd","rd"][d%10>3?0:(d%100-d%10!=10)*d%10]};return mask.replace(token,function($0){return $0 in flags?flags[$0]:$0.slice(1,$0.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};Date.prototype.format=function(mask,utc){return dateFormat(this,mask,utc)};jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000))}else{date=options.expires}expires='; expires='+date.toUTCString()}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('')}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break}}}return cookieValue}};(function($){$.extend($.fn,{livequery:function(type,fn,fn2){var self=this,q;if($.isFunction(type))fn2=fn,fn=type,type=undefined;$.each($.livequery.queries,function(i,query){if(self.selector==query.selector&&self.context==query.context&&type==query.type&&(!fn||fn.$lqguid==query.fn.$lqguid)&&(!fn2||fn2.$lqguid==query.fn2.$lqguid))return(q=query)&&false});q=q||new $.livequery(this.selector,this.context,type,fn,fn2);q.stopped=false;q.run();return this},expire:function(type,fn,fn2){var self=this;if($.isFunction(type))fn2=fn,fn=type,type=undefined;$.each($.livequery.queries,function(i,query){if(self.selector==query.selector&&self.context==query.context&&(!type||type==query.type)&&(!fn||fn.$lqguid==query.fn.$lqguid)&&(!fn2||fn2.$lqguid==query.fn2.$lqguid)&&!this.stopped)$.livequery.stop(query.id)});return this}});$.livequery=function(selector,context,type,fn,fn2){this.selector=selector;this.context=context||document;this.type=type;this.fn=fn;this.fn2=fn2;this.elements=[];this.stopped=false;this.id=$.livequery.queries.push(this)-1;fn.$lqguid=fn.$lqguid||$.livequery.guid++;if(fn2)fn2.$lqguid=fn2.$lqguid||$.livequery.guid++;return this};$.livequery.prototype={stop:function(){var query=this;if(this.type)this.elements.unbind(this.type,this.fn);else if(this.fn2)this.elements.each(function(i,el){query.fn2.apply(el)});this.elements=[];this.stopped=true},run:function(){if(this.stopped)return;var query=this;var oEls=this.elements,els=$(this.selector,this.context),nEls=els.not(oEls);this.elements=els;if(this.type){nEls.bind(this.type,this.fn);if(oEls.length>0)$.each(oEls,function(i,el){if($.inArray(el,els)<0)$.event.remove(el,query.type,query.fn)})}else{nEls.each(function(){query.fn.apply(this)});if(this.fn2&&oEls.length>0)$.each(oEls,function(i,el){if($.inArray(el,els)<0)query.fn2.apply(el)})}}};$.extend($.livequery,{guid:0,queries:[],queue:[],running:false,timeout:null,checkQueue:function(){if($.livequery.running&&$.livequery.queue.length){var length=$.livequery.queue.length;while(length--)$.livequery.queries[$.livequery.queue.shift()].run()}},pause:function(){$.livequery.running=false},play:function(){$.livequery.running=true;$.livequery.run()},registerPlugin:function(){$.each(arguments,function(i,n){if(!$.fn[n])return;var old=$.fn[n];$.fn[n]=function(){var r=old.apply(this,arguments);$.livequery.run();return r}})},run:function(id){if(id!=undefined){if($.inArray(id,$.livequery.queue)<0)$.livequery.queue.push(id)}else $.each($.livequery.queries,function(id){if($.inArray(id,$.livequery.queue)<0)$.livequery.queue.push(id)});if($.livequery.timeout)clearTimeout($.livequery.timeout);$.livequery.timeout=setTimeout($.livequery.checkQueue,20)},stop:function(id){if(id!=undefined)$.livequery.queries[id].stop();else $.each($.livequery.queries,function(id){$.livequery.queries[id].stop()})}});$.livequery.registerPlugin('append','prepend','after','before','wrap','attr','removeAttr','addClass','removeClass','toggleClass','empty','remove');$(function(){$.livequery.play()});var init=$.prototype.init;$.prototype.init=function(a,c){var r=init.apply(this,arguments);if(a&&a.selector)r.context=a.context,r.selector=a.selector;if(typeof a=='string')r.context=c||document,r.selector=a;return r};$.prototype.init.prototype=$.prototype})(jQuery);
(function($){$.url={};$.extend($.url,{_params:{},init:function(){var paramsRaw="";try{paramsRaw=(document.location.href.split("?",2)[1]||"").split("#")[0].split("&")||[];for(var i=0;i<paramsRaw.length;i++){var single=paramsRaw[i].split("=");if(single[0])this._params[single[0]]=unescape(single[1]);}}catch(e){alert(e);}},param:function(name){return this._params[name]||"";},paramAll:function(){return this._params;}});$.url.init();})(jQuery);
;(function($){$.fn.extend({autocomplete:function(urlOrData,options){var isUrl=typeof urlOrData=="string";options=$.extend({},$.Autocompleter.defaults,{url:isUrl?urlOrData:null,data:isUrl?null:urlOrData,delay:isUrl?$.Autocompleter.defaults.delay:10,max:options&&!options.scroll?10:150},options);options.highlight=options.highlight||function(value){return value;};options.formatMatch=options.formatMatch||options.formatItem;return this.each(function(){new $.Autocompleter(this,options);});},result:function(handler){return this.bind("result",handler);},search:function(handler){return this.trigger("search",[handler]);},flushCache:function(){return this.trigger("flushCache");},setOptions:function(options){return this.trigger("setOptions",[options]);},unautocomplete:function(){return this.trigger("unautocomplete");}});$.Autocompleter=function(input,options){var KEY={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var $input=$(input).attr("autocomplete","off").addClass(options.inputClass);var timeout;var previousValue="";var cache=$.Autocompleter.Cache(options);var hasFocus=0;var lastKeyPressCode;var config={mouseDownOnSelect:false};var select=$.Autocompleter.Select(options,input,selectCurrent,config);var blockSubmit;$.browser.opera&&$(input.form).bind("submit.autocomplete",function(){if(blockSubmit){blockSubmit=false;return false;}});$input.bind(($.browser.opera?"keypress":"keydown")+".autocomplete",function(event){lastKeyPressCode=event.keyCode;switch(event.keyCode){case KEY.UP:event.preventDefault();if(select.visible()){select.prev();}else{onChange(0,true);}break;case KEY.DOWN:event.preventDefault();if(select.visible()){select.next();}else{onChange(0,true);}break;case KEY.PAGEUP:event.preventDefault();if(select.visible()){select.pageUp();}else{onChange(0,true);}break;case KEY.PAGEDOWN:event.preventDefault();if(select.visible()){select.pageDown();}else{onChange(0,true);}break;case options.multiple&&$.trim(options.multipleSeparator)==","&&KEY.COMMA:case KEY.TAB:case KEY.RETURN:if(selectCurrent()){event.preventDefault();blockSubmit=true;return false;}break;case KEY.ESC:select.hide();break;default:clearTimeout(timeout);timeout=setTimeout(onChange,options.delay);break;}}).focus(function(){hasFocus++;}).blur(function(){hasFocus=0;if(!config.mouseDownOnSelect){hideResults();}}).click(function(){if(hasFocus++>1&&!select.visible()){onChange(0,true);}}).bind("search",function(){var fn=(arguments.length>1)?arguments[1]:null;function findValueCallback(q,data){var result;if(data&&data.length){for(var i=0;i<data.length;i++){if(data[i].result.toLowerCase()==q.toLowerCase()){result=data[i];break;}}}if(typeof fn=="function")fn(result);else $input.trigger("result",result&&[result.data,result.value]);}$.each(trimWords($input.val()),function(i,value){request(value,findValueCallback,findValueCallback);});}).bind("flushCache",function(){cache.flush();}).bind("setOptions",function(){$.extend(options,arguments[1]);if("data"in arguments[1])cache.populate();}).bind("unautocomplete",function(){select.unbind();$input.unbind();$(input.form).unbind(".autocomplete");});function selectCurrent(){var selected=select.selected();if(!selected)return false;var v=selected.result;previousValue=v;if(options.multiple){var words=trimWords($input.val());if(words.length>1){v=words.slice(0,words.length-1).join(options.multipleSeparator)+options.multipleSeparator+v;}v+=options.multipleSeparator;}$input.val(v);hideResultsNow();$input.trigger("result",[selected.data,selected.value]);return true;}function onChange(crap,skipPrevCheck){if(lastKeyPressCode==KEY.DEL){select.hide();return;}var currentValue=$input.val();if(!skipPrevCheck&&currentValue==previousValue)return;previousValue=currentValue;currentValue=lastWord(currentValue);if(currentValue.length>=options.minChars){$input.addClass(options.loadingClass);if(!options.matchCase)currentValue=currentValue.toLowerCase();request(currentValue,receiveData,hideResultsNow);}else{stopLoading();select.hide();}};function trimWords(value){if(!value){return[""];}var words=value.split(options.multipleSeparator);var result=[];$.each(words,function(i,value){if($.trim(value))result[i]=$.trim(value);});return result;}function lastWord(value){if(!options.multiple)return value;var words=trimWords(value);return words[words.length-1];}function autoFill(q,sValue){if(options.autoFill&&(lastWord($input.val()).toLowerCase()==q.toLowerCase())&&lastKeyPressCode!=KEY.BACKSPACE){$input.val($input.val()+sValue.substring(lastWord(previousValue).length));$.Autocompleter.Selection(input,previousValue.length,previousValue.length+sValue.length);}};function hideResults(){clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){var wasVisible=select.visible();select.hide();clearTimeout(timeout);stopLoading();if(options.mustMatch){$input.search(function(result){if(!result){if(options.multiple){var words=trimWords($input.val()).slice(0,-1);$input.val(words.join(options.multipleSeparator)+(words.length?options.multipleSeparator:""));}else
$input.val("");}});}if(wasVisible)$.Autocompleter.Selection(input,input.value.length,input.value.length);};function receiveData(q,data){if(data&&data.length&&hasFocus){stopLoading();select.display(data,q);autoFill(q,data[0].value);select.show();}else{hideResultsNow();}};function request(term,success,failure){if(!options.matchCase)term=term.toLowerCase();var data=cache.load(term);if(data&&data.length){success(term,data);}else if((typeof options.url=="string")&&(options.url.length>0)){var extraParams={timestamp:+new Date()};$.each(options.extraParams,function(key,param){extraParams[key]=typeof param=="function"?param():param;});$.ajax({mode:"abort",port:"autocomplete"+input.name,dataType:options.dataType,url:options.url,data:$.extend({q:lastWord(term),limit:options.max},extraParams),success:function(data){var parsed=options.parse&&options.parse(data)||parse(data);cache.add(term,parsed);success(term,parsed);}});}else{select.emptyList();failure(term);}};function parse(data){var parsed=[];var rows=data.split("\n");for(var i=0;i<rows.length;i++){var row=$.trim(rows[i]);if(row){row=row.split("|");parsed[parsed.length]={data:row,value:row[0],result:options.formatResult&&options.formatResult(row,row[0])||row[0]};}}return parsed;};function stopLoading(){$input.removeClass(options.loadingClass);};};$.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(row){return row[0];},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(value,term){return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>");},scroll:true,scrollHeight:180};$.Autocompleter.Cache=function(options){var data={};var length=0;function matchSubset(s,sub){if(!options.matchCase)s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};function add(q,value){if(length>options.cacheLength){flush();}if(!data[q]){length++;}data[q]=value;}function populate(){if(!options.data)return false;var stMatchSets={},nullData=0;if(!options.url)options.cacheLength=1;stMatchSets[""]=[];for(var i=0,ol=options.data.length;i<ol;i++){var rawValue=options.data[i];rawValue=(typeof rawValue=="string")?[rawValue]:rawValue;var value=options.formatMatch(rawValue,i+1,options.data.length);if(value===false)continue;var firstChar=value.charAt(0).toLowerCase();if(!stMatchSets[firstChar])stMatchSets[firstChar]=[];var row={value:value,data:rawValue,result:options.formatResult&&options.formatResult(rawValue)||value};stMatchSets[firstChar].push(row);if(nullData++<options.max){stMatchSets[""].push(row);}};$.each(stMatchSets,function(i,value){options.cacheLength++;add(i,value);});}setTimeout(populate,25);function flush(){data={};length=0;}return{flush:flush,add:add,populate:populate,load:function(q){if(!options.cacheLength||!length)return null;if(!options.url&&options.matchContains){var csub=[];for(var k in data){if(k.length>0){var c=data[k];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub.push(x);}});}}return csub;}else
if(data[q]){return data[q];}else
if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var c=data[q.substr(0,i)];if(c){var csub=[];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub[csub.length]=x;}});return csub;}}}return null;}};};$.Autocompleter.Select=function(options,input,select,config){var CLASSES={ACTIVE:"ac_over"};var listItems,active=-1,data,term="",needsInit=true,element,list;function init(){if(!needsInit)return;element=$("<div/>").hide().addClass(options.resultsClass).css("position","absolute").appendTo(document.body);list=$("<ul/>").appendTo(element).mouseover(function(event){if(target(event).nodeName&&target(event).nodeName.toUpperCase()=='LI'){active=$("li",list).removeClass(CLASSES.ACTIVE).index(target(event));$(target(event)).addClass(CLASSES.ACTIVE);}}).click(function(event){$(target(event)).addClass(CLASSES.ACTIVE);select();input.focus();return false;}).mousedown(function(){config.mouseDownOnSelect=true;}).mouseup(function(){config.mouseDownOnSelect=false;});if(options.width>0)element.css("width",options.width);needsInit=false;}function target(event){var element=event.target;while(element&&element.tagName!="LI")element=element.parentNode;if(!element)return[];return element;}function moveSelect(step){listItems.slice(active,active+1).removeClass(CLASSES.ACTIVE);movePosition(step);var activeItem=listItems.slice(active,active+1).addClass(CLASSES.ACTIVE);if(options.scroll){var offset=0;listItems.slice(0,active).each(function(){offset+=this.offsetHeight;});if((offset+activeItem[0].offsetHeight-list.scrollTop())>list[0].clientHeight){list.scrollTop(offset+activeItem[0].offsetHeight-list.innerHeight());}else if(offset<list.scrollTop()){list.scrollTop(offset);}}};function movePosition(step){active+=step;if(active<0){active=listItems.size()-1;}else if(active>=listItems.size()){active=0;}}function limitNumberOfItems(available){return options.max&&options.max<available?options.max:available;}function fillList(){list.empty();var max=limitNumberOfItems(data.length);for(var i=0;i<max;i++){if(!data[i])continue;var formatted=options.formatItem(data[i].data,i+1,max,data[i].value,term);if(formatted===false)continue;var li=$("<li/>").html(options.highlight(formatted,term)).addClass(i%2==0?"ac_even":"ac_odd").appendTo(list)[0];$.data(li,"ac_data",data[i]);}listItems=list.find("li");if(options.selectFirst){listItems.slice(0,1).addClass(CLASSES.ACTIVE);active=0;}if($.fn.bgiframe)list.bgiframe();}return{display:function(d,q){init();data=d;term=q;fillList();},next:function(){moveSelect(1);},prev:function(){moveSelect(-1);},pageUp:function(){if(active!=0&&active-8<0){moveSelect(-active);}else{moveSelect(-8);}},pageDown:function(){if(active!=listItems.size()-1&&active+8>listItems.size()){moveSelect(listItems.size()-1-active);}else{moveSelect(8);}},hide:function(){element&&element.hide();listItems&&listItems.removeClass(CLASSES.ACTIVE);active=-1;},visible:function(){return element&&element.is(":visible");},current:function(){return this.visible()&&(listItems.filter("."+CLASSES.ACTIVE)[0]||options.selectFirst&&listItems[0]);},show:function(){var offset=$(input).offset();element.css({width:typeof options.width=="string"||options.width>0?options.width:$(input).width(),top:offset.top+input.offsetHeight,left:offset.left}).show();if(options.scroll){list.scrollTop(0);list.css({maxHeight:options.scrollHeight,overflow:'auto'});if($.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var listHeight=0;listItems.each(function(){listHeight+=this.offsetHeight;});var scrollbarsVisible=listHeight>options.scrollHeight;list.css('height',scrollbarsVisible?options.scrollHeight:listHeight);if(!scrollbarsVisible){listItems.width(list.width()-parseInt(listItems.css("padding-left"))-parseInt(listItems.css("padding-right")));}}}},selected:function(){var selected=listItems&&listItems.filter("."+CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);return selected&&selected.length&&$.data(selected[0],"ac_data");},emptyList:function(){list&&list.empty();},unbind:function(){element&&element.remove();}};};$.Autocompleter.Selection=function(field,start,end){if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}field.focus();};})(jQuery);
var $j=jQuery.noConflict();var services_url="services/";var stat_types={'agil':'Agi','attackp':'AP','rap':'RAP','crit':'Crit Rating','hit':'Hit Rating','pen':'ArP Rating','haste':'Haste Rating','intellect':'Int','stam':'Sta','mp5':'Mp5','res':'Res','str':'Str','spirit':'Spirit','dps':'DPS','speed':'Speed'};var shot_talents={'talent_18':'bestialwrath','talent_35':'aimed','talent_40':'readiness','talent_50':'silence','talent_53':'chimera','talent_78':'ba','talent_81':'explosive'};var pet_talents={'ptalent_2':'dash','ptalent_11':'charge','ptalent_17':'cotw','ptalent_15':'rabid','ptalent_26':'wolverine','ptalent_34':'thunderstomp'};var buff_overrides={'cs':'bloodpact','might':'bs','ab':'felpuppy'};var rotation_settings=['rotation_test','shot_wait','wait_kill','wait_chimera','wait_explosive','wait_aimed'];var gear_tab=1;var rotation_tab=3;var gear_taint=0;var scratchlist=[];var dialogs=[];var $my,i;var ptr_url="http://ptr.wowhead.com/item=";var current_public_sort='dps';var current_private_sort='name';var expire_date=7*52;var current_delete_select='';var current_lang='en';function roundNumber(rnum,rlength){var newnumber=Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);return(newnumber)}function howToDisplay(){dialogs.help.dialog('open')}function alertMsg(msg,title){if(!msg){return}dialogs.alert.html(msg);if(!title){title=lang.error}dialogs.alert.dialog('option','title',title).dialog('open')}function displayError(errorblock,errorfield,errortext){$j('#'+errorfield).html(errortext);$j('#'+errorblock).show()}function displayHighlightError(errorblock,errortext){errortext="<span class=\"ui-icon ui-icon-alert\" style=\"float: left; margin-right: .3em;\"></span>"+errortext;if($my[errorblock]){$my[errorblock].html(errortext).effect('highlight',{},1500)}else{$j('#'+errorblock).html(errortext).effect('highlight',{},1500)}}function dpsTainted(){gear_taint=1;if($my.stats_display.html()){$j('#dps_status_frame').show();if($my.gearform.data('last_update')){$j('#revert').show()}}}function encodeScratch(scratch){if(scratch.length<1){return}var scratchpieces=[];var pad,i;for(i=0;i<scratchlist.length;i++){pad=scratchlist[i];scratchpieces.push(pad.dps+"<"+pad.note+"<"+pad.date)}var encoded_scratch=scratchpieces.join(">");return(encoded_scratch)}function decodeScratch(scratch){var decoded_scratch=[];if(!scratch){return(decoded_scratch)}var scratchpieces=scratch.split(">");if(scratchpieces.length<1){return(decoded_scratch)}var pad,tempscratch,i,j;for(i=0;i<scratchpieces.length;i++){tempscratch=scratchpieces[i].split("<");if(tempscratch.length<1){continue}for(j=0;j<tempscratch.length;j++){if(!tempscratch[j].match(/^[\/\w\d\-_:\+\(\), ]+$/)){continue}}pad={'dps':tempscratch[0],'note':tempscratch[1],'date':tempscratch[2]};decoded_scratch.push(pad)}return(decoded_scratch)}function updateScratchDisplay(){if(scratchlist.length<1){$j('#scratch_body').html("");$j('#scratch_empty').show();$j('#scratch_table').hide();return}var scratch_content='';var pad,i,dps_change;var del_img='<img width="11" height="16" border="0" alt="'+lang.remove+'" src="/images/trash_small.gif">';var last_dps=0;var difference_class="nobonus";for(i=0;i<scratchlist.length;i++){pad=scratchlist[i];if(i>0){dps_change=roundNumber((pad.dps-last_dps),2);if(dps_change>0){dps_change="+"+dps_change;difference_class="yesbonus"}else if(dps_change<0){difference_class="notvalid"}else{difference_class="nobonus"}}else{dps_change="N/A"}last_dps=pad.dps;scratch_content+="<tr>\n<td style=\"text-align: right\">"+pad.dps+"</td>\n";scratch_content+="<td>"+pad.note+"</td>\n";scratch_content+="<td style=\"text-align: right\" class=\""+difference_class+"\">"+dps_change+"</td>\n";scratch_content+="<td>"+pad.date+"</td>\n";scratch_content+="<td><a href=\"javascript:deleteThisScratch("+i+")\">"+del_img+"</a></td></tr>\n"}$j('#scratch_body').html(scratch_content);$j('#scratch_empty').hide();$j('#scratch_table').show()}function createScratchDisplay(cookie){scratchlist=decodeScratch(cookie);updateScratchDisplay()}function saveCurrentScratchpad(){var now=new Date();var update_date=now.getTime();var new_cookie=encodeScratch(scratchlist);if(scratchlist.length<1){$j.cookie("scratchpad",null,{path:'/'})}else{$j.cookie("scratchpad",new_cookie,{expires:expire_date,path:'/'});$j.cookie("scratch_updated",update_date,{expires:expire_date,path:'/'})}if(!$j.cookie("account_id")){return}$j.post(services_url+"store_scratchpad.php",{account_id:$j.cookie('account_id'),scratchpad:new_cookie,scratch_updated:update_date,lang:current_lang})}function is_int(value){if((parseFloat(value)==parseInt(value,10))&&!isNaN(parseInt(value,10))){return true}else{return false}}function deleteThisScratch(row){if(!is_int(row)){return}if(row<0){return}if(row>=scratchlist.length){return}scratchlist.splice(row,1);updateScratchDisplay();saveCurrentScratchpad()}function addToScratchpad(){var error_frame='scratch_errorframe';$my[error_frame].html("");if(!($j('#combined_dps').html()&&!gear_taint)){displayHighlightError(error_frame,lang.err_refresh_scratch);return}var note=$j('#scratch_note').val();if(!note){displayHighlightError(error_frame,lang.err_note_scratch);return}if(!note.match(/^[\/\w\d\.\-_:\+\(\), ]+$/)){displayHighlightError(error_frame,lang.err_invalid_note);return}if($j('#scratch_table').is(":hidden")){$j('#scratch_empty').hide();$j('#scratch_table').show()}var now=new Date();var pad={'dps':$j('#combined_dps').html(),'note':$j('#scratch_note').val(),'date':dateFormat(now,'yyyy-mm-dd h:MM TT')};scratchlist.push(pad);updateScratchDisplay();saveCurrentScratchpad()}function clearScratchpad(){var error_frame='scratch_errorframe';$my[error_frame].html("");if(!$j('#scratch_del_confirm').attr('checked')){displayHighlightError(error_frame,lang.err_confirm_scratch);return}scratchlist=[];updateScratchDisplay();saveCurrentScratchpad()}function tempMessage(fieldname,message,checkfield){if(checkfield){if($j('#'+checkfield).is(":visible")){$j('#'+fieldname).html("");return}}$j('#'+fieldname).html(message);setTimeout(function(){$j('#'+fieldname).html("")},5000)}function enableTab(tab_id){var tab_active=$my.form_menu.find("h3:eq("+tab_id+")").hasClass("ui-state-active");if(!tab_active){$my.form_menu.accordion('activate',tab_id)}}function enableGearTab(){var gear_active=$my.form_menu.find("h3:eq("+gear_tab+")").hasClass("ui-state-active");if(!gear_active){$my.form_menu.accordion('activate',gear_tab)}}function toggleLogin(account_id,username,email){$my.acct_username.removeClass('ui-state-error');$my.acct_pwd.removeClass('ui-state-error');$j("#acct_pwd_repeat").removeClass('ui-state-error');$j("#acct_email").removeClass('ui-state-error');$my.login_errorframe.html("");$my.create_account_errorframe.html("");$j.cookie("account_id",account_id,{expires:expire_date,path:'/'});$j.cookie("acct_username",username,{expires:expire_date,path:'/'});$j.cookie("acct_email",email,{expires:expire_date,path:'/'});if(email){$j('#feedback_email').val(email);$j('#new_email').val(email)}dialogs.login.dialog('close');$my.login_button.hide();$my.logout_button.show()}function updateDefaultSetting(){var new_default=$j("input[name='default_setting']:checked").val();if(new_default==''){$j.cookie("default_setting_id",null,{path:'/'});alertMsg(lang.alert_default_disabled,lang.title_default_disabled)}else{$j.cookie("default_setting_id",new_default,{expires:expire_date,path:'/'});alertMsg(lang.alert_default_updated,lang.title_default_updated)}}function publicDisplay(){$my.public_errorframe.html("");$j('#public_status').html("");dialogs.settings_public.dialog('open')}function searchPublic(sort_type){$my.public_errorframe.html("");var display_frame=$j('#public_display');if(sort_type){if(current_public_sort==sort_type){sort_type+='_rev'}current_public_sort=sort_type}else{display_frame.html(lang.searching+'...')}var search_string=$my.public_setting_form.serialize();display_frame.load(services_url+'public_settings.php?lang='+current_lang+'&sort='+current_public_sort+'&'+search_string)}function sortPrivate(sort_type){if(sort_type){if(current_private_sort==sort_type){sort_type+='_rev'}current_private_sort=sort_type}else{return}var account_id=$j.cookie('account_id');if(!account_id){return}$j.getJSON(services_url+"sort_settings.php",{lang:current_lang,account_id:account_id,sort:current_private_sort},function(json){if(json.result=='1'){$my.saved_settings_list.html(json.detailed_settings_list)}})}function openScratchpad(){dialogs.scratchpad.dialog('open')}function loginForm(){dialogs.login.dialog('open')}function armoryImportForm(){dialogs.armory.dialog('open')}function loadSettingsForm(){if($j.cookie('account_id')){dialogs.settings_load.dialog('open')}else{displayHighlightError('login_errorframe',lang.err_login_loadset);dialogs.login.dialog('open')}}function editAcctForm(){if($j.cookie('account_id')){dialogs.acct_edit.dialog('open')}else{displayHighlightError('login_errorframe',lang.err_login_modacct);dialogs.login.dialog('open')}}function saveSettingsForm(){if($j.cookie('account_id')){dialogs.settings_save.dialog('open')}else{displayHighlightError('login_errorframe',lang.err_login_saveset);dialogs.login.dialog('open')}}function feedbackForm(){dialogs.feedback.dialog('open')}function loginAccount(){var error_frame='login_errorframe';var username=$my.acct_username.val();var pwd=$my.acct_pwd.val();var login_time=$j('#login_time').val();var default_setting=$j.cookie('default_setting_id');$my.acct_username.removeClass('ui-state-error');$my.acct_pwd.removeClass('ui-state-error');$my[error_frame].html("");if(!username){$my.acct_username.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_login_username);return}if(!pwd){$my.acct_pwd.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_login_pwd);return}var temp_pwd=hex_hmac_md5(pwd,$j('#login_salt').val());var encoded_pwd=hex_hmac_md5(temp_pwd,login_time);var scratch_update=0;if($j.cookie('scratch_updated')){scratch_update=$j.cookie('scratch_updated')}$j.getJSON(services_url+"verify_account.php",{lang:current_lang,username:username,password:encoded_pwd,challenge:login_time,scratch_update:scratch_update,default_setting_id:default_setting},function(json){if(json.account_id){toggleLogin(json.account_id,username,json.email);$my.saved_settings_list.html(json.settings_list);if(json.scratchpad){if(json.scratch_update>$j.cookie('scratch_updated')){$j.cookie("scratchpad",json.scratchpad,{expires:expire_date,path:'/'});$j.cookie("scratch_updated",json.scratch_update,{expires:expire_date,path:'/'});createScratchDisplay(json.scratchpad)}}}else{$my.acct_username.addClass('ui-state-error');$my.acct_pwd.addClass('ui-state-error');displayHighlightError(error_frame,json.error);return}})}function logoutAccount(){$j.cookie("account_id",null,{path:'/'});$j.cookie("acct_username",null,{path:'/'});$j.cookie("acct_email",null,{path:'/'});$my.logout_button.hide();$my.login_button.show()}function adjustOffHand(){var weapon_type=$my.slot_mainhand.find("option:selected").parent().attr("id");var cur_enchant_type=$my.enchant_slot_mainhand.find("option:selected").parent().attr("id");if(weapon_type=='h2_group'){$my.h2_enchant_group.attr('disabled',false);$my.h1_off_group.attr('disabled',true);$my.slot_offhand.val("");clearItemDisplay('slot_offhand');$my.enchant_slot_offhand.val("")}else{$my.h2_enchant_group.attr('disabled',true);if(cur_enchant_type=="h2_enchant_group"){$my.enchant_slot_mainhand.val("")}$my.h1_off_group.attr('disabled',false)}}function clearItemDisplay(item){var display_name='gems_'+item;$my[display_name].hide();$my[display_name].find("select[name^='socket']").each(function(){$my[this.name].attr("disabled",true)});$my['sockbonus_amount_'+item].html("").attr('class','nobonus');$my['sockbonus_'+item].hide();$my['stats_'+item].html("");if(item=="slot_mainhand"){adjustOffHand()}}function enableBSGems(){$my.extra_bracers_socket.attr("checked",true);$my.extra_gloves_socket.attr("checked",true);$my.socket3_slot_bracers.attr("disabled",false);$my.socket3_slot_gloves.attr("disabled",false)}function createAccount(){var username=$my.acct_username.val();var pwd=$my.acct_pwd.val();var error_frame='create_account_errorframe';var acct_pwd_repeat=$j("#acct_pwd_repeat");var acct_email=$j("#acct_email");$my.acct_username.removeClass('ui-state-error');$my.acct_pwd.removeClass('ui-state-error');acct_pwd_repeat.removeClass('ui-state-error');acct_email.removeClass('ui-state-error');$my[error_frame].html("");if(!username){$my.acct_username.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_create_username);return}if(!pwd){$my.acct_pwd.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_create_pwd);return}if(acct_pwd_repeat.val()!=pwd){acct_pwd_repeat.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_create_match);return}var encoded_pwd=hex_hmac_md5(pwd,$j('#login_salt').val());$j.getJSON(services_url+"create_account.php",{lang:current_lang,username:username,password:encoded_pwd,email:acct_email.val()},function(json){if(json.account_id){toggleLogin(json.account_id,username,acct_email.val())}else{displayHighlightError(error_frame,json.error)}})}function resetPwd(){var username=$my.acct_username.val();var error_frame='reset_pwd_errorframe';var acct_pwd_repeat=$j("#acct_pwd_repeat");var acct_email=$j("#acct_email");var email=acct_email.val();$my.acct_username.removeClass('ui-state-error');$my.acct_pwd.removeClass('ui-state-error');acct_pwd_repeat.removeClass('ui-state-error');acct_email.removeClass('ui-state-error');$my[error_frame].html("");if(!username){$my.acct_username.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_reset_username);return}if(!email){acct_email.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_reset_email);return}$j.getJSON(services_url+"reset_pwd.php",{lang:current_lang,username:username,email:email},function(json){if(json.account_id){dialogs.login.dialog('close');alertMsg(lang.alert_pwd_reset,lang.title_pwd_reset)}else{displayHighlightError(error_frame,json.error)}})}function updateAccount(){var acct_id=$j.cookie('account_id');var pwd_field=$j('#verify_pwd');var new_pwd_field=$j('#new_pwd');var new_pwd2_field=$j('#new_pwd2');var error_frame='acctedit_errorframe';var pwd=pwd_field.val();var new_pwd=new_pwd_field.val();var new_pwd2=new_pwd2_field.val();var email=$j('#new_email').val();var salt=$j('#login_salt').val();var login_time=$j('#login_time').val();var encoded_new_pwd='';pwd_field.removeClass('ui-state-error');new_pwd_field.removeClass('ui-state-error');new_pwd2_field.removeClass('ui-state-error');$my[error_frame].html("");if(!acct_id){displayHighlightError(error_frame,lang.err_edit_login);return}if(!pwd){pwd_field.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_edit_pwd_req);return}if(new_pwd){if(!new_pwd2){new_pwd2_field.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_edit_confirm);return}if(new_pwd!=new_pwd2){new_pwd2_field.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_edit_match);return}encoded_new_pwd=hex_hmac_md5(new_pwd,salt)}var temp_pwd=hex_hmac_md5(pwd,salt);var encoded_old_pwd=hex_hmac_md5(temp_pwd,login_time);$j.getJSON(services_url+"edit_account.php",{lang:current_lang,acct_id:acct_id,password:encoded_old_pwd,new_pwd:encoded_new_pwd,email:email,challenge:login_time},function(json){if(json.error){displayHighlightError(error_frame,json.error)}else if(json.account_id){dialogs.acct_edit.dialog('close');alertMsg(lang.alert_edit_success,lang.title_edit_success);$j.cookie("acct_email",email,{expires:expire_date,path:'/'});$j('#feedback_email').val(email)}else{displayHighlightError(error_frame,lang.err_edit_unable)}})}function sendFeedback(){var email_field=$j('#feedback_email');var message_field=$j('#feedback_message');var status_field=$j('#feedback_status');var error_frame='feedback_errorframe';var email=email_field.val();var message=message_field.val();var account_id=$j.cookie('account_id');status_field.html("");email_field.removeClass('ui-state-error');message_field.removeClass('ui-state-error');$my[error_frame].html("");if(!message){message_field.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_feed_msgreq);return}status_field.html(lang.sending+'...');$j.getJSON(services_url+"send_feedback.php",{lang:current_lang,message:message,email:email,account_id:account_id},function(json){status_field.html("");if(json.error){if(json.error=='nomessage'){message_field.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_feed_msgreq)}else if(json.error=='invalidemail'){email_field.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_invalid_email)}else{displayHighlightError(error_frame,json.error)}}else{dialogs.feedback.dialog('close')}})}function togglePetAttacks(pts,ability){if(pts>0){$j('#petpriority_'+ability).attr("class",'ui-state-default')}else{$j('#petpriority_'+ability).attr("class",'ui-state-disabled')}}function toggleTalentShots(pts,shot){if(pts>0){$j('#shotpriority_'+shot).attr("class",'ui-state-default')}else{$j('#shotpriority_'+shot).attr("class",'ui-state-disabled')}}function toggleRaceShots(race_name){if(race_name=='Troll'){$j('#shotpriority_berserk').attr("class",'ui-state-default')}else{$j('#shotpriority_berserk').attr("class",'ui-state-disabled')}if(race_name=='Orc'){$j('#shotpriority_bloodfury').attr("class",'ui-state-default')}else{$j('#shotpriority_bloodfury').attr("class",'ui-state-disabled')}if(race_name=='Blood Elf'){$j('#shotpriority_arcanet').attr("class",'ui-state-default')}else{$j('#shotpriority_arcanet').attr("class",'ui-state-disabled')}}function updateEnabledShots(){var talent;for(talent in shot_talents){toggleTalentShots($my[talent].val(),shot_talents[talent])}}function create_rotation(){var shot_string="<li class=\"ui-widget-header\">Enabled Shots Below</li>\n";var unused_string="<li class=\"ui-widget-header\">Disabled Shots Below</li>\n";var am_used_shot='multi';var am_unused_shot='aimed';if($my.talent_35.val()>0){am_used_shot='aimed';am_unused_shot='multi'}var shot_pieces=['rapidfire','kill'];var unused_pieces=[am_unused_shot,'extrap','immotrap','scorpid','viper'];if($my.talent_18.val()>0){shot_pieces.push('bestialwrath')}else{unused_pieces.push('bestialwrath')}if($my.race.val()=='Troll'){shot_pieces.push('berserk')}else{unused_pieces.push('berserk')}if($my.race.val()=='Orc'){shot_pieces.push('bloodfury')}else{unused_pieces.push('bloodfury')}if($my.race.val()=='Blood Elf'){shot_pieces.push('arcanet')}else{unused_pieces.push('arcanet')}if($my.talent_50.val()>0){shot_pieces.push('silence')}else{unused_pieces.push('silence')}if($my.total_tree_2.html()>50){shot_pieces.push('serpent');if($my.talent_53.val()>0){shot_pieces.push('chimera')}else{unused_pieces.push('chimera')}shot_pieces.push(am_used_shot);if($my.talent_40.val()>0){shot_pieces.push('readiness')}else{unused_pieces.push('readiness')}if($my.talent_34.val()>0){shot_pieces.push('arcane')}else{unused_pieces.push('arcane')}unused_pieces.push('explosive','ba')}else if($my.total_tree_3.html()>50){if($my.talent_81.val()>0){shot_pieces.push('explosive');unused_pieces.push('arcane')}else{unused_pieces.push('explosive');shot_pieces.push('arcane')}if($my.talent_78.val()>0){shot_pieces.push('ba')}else{unused_pieces.push('ba')}shot_pieces.push('serpent',am_used_shot);unused_pieces.push('chimera','readiness')}else{shot_pieces.push('arcane',am_used_shot,'serpent');if($my.talent_40.val()>0){shot_pieces.push('readiness')}else{unused_pieces.push('readiness')}unused_pieces.push('chimera','explosive','ba')}shot_pieces.push('steady');var i,temp_shot;for(i=0;i<shot_pieces.length;i++){temp_shot=shot_pieces[i];shot_string+="<li id=\"shotpriority_"+temp_shot+"\" class=\"ui-state-default\">"+lang[temp_shot]+"</li>\n"}for(i=0;i<unused_pieces.length;i++){temp_shot=unused_pieces[i];unused_string+="<li id=\"shotpriority_"+temp_shot+"\" class=\"ui-state-default\">"+lang[temp_shot]+"</li>\n"}$my.shot_priority.html(shot_string);$my.shots_not_used.html(unused_string);updateEnabledShots();toggleRaceShots($my.race.val())}function updateEnabledPetAttacks(){var talent;for(talent in pet_talents){togglePetAttacks($j('#'+talent).val(),pet_talents[talent])}}function deselectPet(){$my.pet_talent_list.html("");$j('#petpriority_special').html(lang.pet_special);$j('#petpriority_focus').html(lang.pet_focus);updateEnabledPetAttacks();$my.pet_rotation.hide()}function saveSettings(){var save_field=$j('#save_name');var replace_label_field=$j('#save_replace_label');var status_field=$j('#save_status');var error_frame='save_settings_errorframe';var account_id=$j.cookie('account_id');var default_setting=$j.cookie('default_setting_id');save_field.removeClass('ui-state-error');replace_label_field.removeClass('ui-state-error');$my[error_frame].html("");if(!save_field.val()){save_field.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_saveset_namereq);return}if(!account_id){displayHighlightError(error_frame,lang.err_saveset_login);return}var shotData=$my.shot_priority.sortable('serialize');var petData=$my.pet_priority.sortable('serialize');var formData=$my.gearform.find(":input").serialize();formData+='&'+$j('#saveform :input').serialize();formData+='&'+$j('#armform :input').serialize();var varstring=formData+"&account_id="+account_id+"&"+shotData+"&"+petData+"&lang="+current_lang;var talentString=$my.total_tree_1.html()+"-"+$my.total_tree_2.html()+"-"+$my.total_tree_3.html();varstring+="&talent_breakdown="+talentString;varstring+="&sort="+current_private_sort;varstring+="&default_setting_id="+default_setting;if(!gear_taint){var hunter_dps=$j('#hunter_dps').html();var pet_dps=$j('#pet_dps').html();var combined_dps=$j('#combined_dps').html();if(hunter_dps){varstring+="&hunter_dps="+hunter_dps}if(pet_dps){varstring+="&pet_dps="+pet_dps}if(combined_dps){varstring+="&combined_dps="+combined_dps}}status_field.html(lang.saving+'...');$j.ajax({url:services_url+'save_settings.php',data:varstring,dataType:"json",error:function(XMLHttpRequest,textStatus,errorThrown){status_field.html("");displayHighlightError(error_frame,lang.err_saveset_timeout)},success:function(data,textStatus){if(data.error){status_field.html("");if(data.error=="Name Used"){replace_label_field.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_saveset_dupe)}else{if(data.error_type=="name"){save_field.addClass('ui-state-error')}displayHighlightError(error_frame,data.error)}}else{status_field.html("");$my.saved_settings_list.html(data.detailed_settings_list);dialogs.settings_save.dialog('close')}}})}function deleteThisSetting(setting_id){current_delete_select='';if(!setting_id){return}var account_id=$j.cookie('account_id');if(!account_id){return}var setting_name=$j('#ssn_'+setting_id).html();if(!setting_name){return}$my.ssn_name.html(setting_name);current_delete_select=setting_id;dialogs.delete_confirm.dialog('open')}function deleteSetting(){var setting_id=current_delete_select;current_delete_select='';if(!setting_id){return}var account_id=$j.cookie('account_id');if(!account_id){return}var default_setting=$j.cookie('default_setting_id');$j.getJSON(services_url+"delete_settings.php",{lang:current_lang,account_id:account_id,setting_id:setting_id,sort:current_private_sort,default_setting_id:default_setting},function(data){if(data.error){alertMsg(data.error)}else{if(default_setting==setting_id){$j.cookie("default_setting_id",null,{path:'/'})}$my.saved_settings_list.html(data.detailed_settings_list);alertMsg(lang.alert_set_deleted,lang.title_set_deleted);dialogs.settings_load.dialog('close')}})}function toggleExoticPets(exoticval){var curpet=$my.pet_id.val();if(exoticval=="1"){$my.exotic_group.attr('disabled',false);if(curpet){$j('#max_pet_talents').html("20")}}else{if(curpet){var curfamily=$my.pet_id.find("option:selected").parent().attr("id");if(curfamily=='Exotic_group'){$my.pet_id.val("");deselectPet();alertMsg(lang.alert_disabled_pet)}else{$j('#max_pet_talents').html("16")}}else{deselectPet()}$my.exotic_group.attr('disabled',true)}}function checkBonus(slotname){var socketname,testcolor,curcolor;var matches_bonus=1;for(var i=1;i<=3;i++){socketname='socket'+i+'_'+slotname;if(socketname=='socket1_slot_helm'){if($my.socketmeta_slot_helm.is(":enabled")){socketname="socketmeta_slot_helm"}}if($my[socketname].is(":disabled")){continue}testcolor=$j('#color_'+socketname).attr('class');if(!testcolor){continue}curcolor=$my[socketname].find("option:selected").parent().attr("class");if(curcolor=='Prismatic'){continue}if(testcolor=='Prismatic'){continue}switch(curcolor){case'Meta':if(testcolor!=curcolor){matches_bonus=0}break;case'Red':if((testcolor!=curcolor)&&(testcolor!='Prismatic')){matches_bonus=0}break;case'Yellow':if(testcolor!=curcolor){matches_bonus=0}break;case'Blue':if(testcolor!=curcolor){matches_bonus=0}break;case'Orange':if(testcolor=='Blue'){matches_bonus=0}break;case'Purple':if(testcolor=='Yellow'){matches_bonus=0}break;case'Green':if(testcolor=='Red'){matches_bonus=0}break;default:matches_bonus=0;break}if(matches_bonus===0){break}}if(matches_bonus==1){$my['sockbonus_amount_'+slotname].attr("class","yesbonus")}else{$my['sockbonus_amount_'+slotname].attr("class","nobonus")}}function displayBonusActivation(gemColors,gemReq){var bonusMet=1;var color;var bonusPieces=[];for(color in gemColors){if(gemReq[color]>0){bonusPieces.push(gemColors[color]+"/"+gemReq[color]+" "+lang[color])}if(gemColors[color]<gemReq[color]){bonusMet=0}}var bonus_string=bonusPieces.join(", ");if(bonusMet){$my.meta_bonus.html(lang.meta_activated+' ('+bonus_string+')').attr("class","yesbonus")}else{$my.meta_bonus.html(bonus_string).attr("class","nobonus")}}function checkMeta(){var metaId=$my.socketmeta_slot_helm.val();if(!metaId){$my.meta_bonus.html("");return}var gemColors={'Red':0,'Yellow':0,'Blue':0};$my.gearlist.find("select[name^='socket']").each(function(){var fieldname=this.name;if($my[fieldname].is(":disabled")){return}var curcolor=$my[fieldname].find("option:selected").parent().attr("class");switch(curcolor){case'Prismatic':gemColors.Red++;gemColors.Yellow++;gemColors.Blue++;break;case'Red':gemColors.Red++;break;case'Orange':gemColors.Red++;gemColors.Yellow++;break;case'Purple':gemColors.Red++;gemColors.Blue++;break;case'Green':gemColors.Blue++;gemColors.Yellow++;break;case'Yellow':gemColors.Yellow++;break;case'Blue':gemColors.Blue++;break}});var gemReq=$my.slot_helm.data('meta_req');if(gemReq){displayBonusActivation(gemColors,gemReq)}else{$j.getJSON(services_url+"get_meta_reqs.php",{lang:current_lang,gem_id:metaId},function(json){$my.slot_helm.data('meta_req',json);displayBonusActivation(gemColors,json)})}}function setGemstoDefault(){var default_gem=$my.default_gem.val();$my.gearlist.find("select[name^='slot_']").each(function(){var socketname;for(var i=1;i<=3;i++){socketname='socket'+i+'_'+this.name;if($my[socketname].is(":enabled")){$my[socketname].val(default_gem)}}checkBonus(this.name)});checkMeta()}function updateTalentTotals(){var talenttotal=0;var i;for(i=1;i<=3;i++){var treename="tree_"+i;var treetotal=0;$my[treename].find('select').each(function(){treetotal+=parseInt($my[this.name].val(),10)});$my['total_'+treename].html(treetotal);talenttotal+=treetotal}$my.total_talents_spent.html(talenttotal);if(talenttotal>71){$my.total_talents_spent.attr("class","notvalid")}else if(talenttotal<71){$my.total_talents_spent.removeClass()}else{$my.total_talents_spent.attr("class","exactvalid")}}function updatePetTalentTotals(){var talenttotal=0;$j("#pet_tree select").each(function(){talenttotal+=parseInt($j(this).val(),10)});var total_pet=$j('#total_pet_talents_spent');var max_pet=$j('#max_pet_talents').html();total_pet.html(talenttotal);if(talenttotal>max_pet){total_pet.attr("class","notvalid")}else if(talenttotal<max_pet){total_pet.removeClass()}else{total_pet.attr("class","exactvalid")}}function toggleHitBuff(faction){if(faction=='horde_group'){$my.buff_draeneihit.val("").attr("disabled",true).parents('tr').attr("class","nobenefit")}else{$my.buff_draeneihit.attr("disabled",false).parents('tr').removeClass()}}function enableTalents(talents){var temp_talentname='';var i;for(i=0;i<talents.length;i++){temp_talentname='talent_'+(i+1);$my[temp_talentname].val(talents[i]);if(i==25){toggleExoticPets(talents[i])}}updateTalentTotals();updateEnabledShots()}function createItemDisplay(data){var item=data.item_key;var geardata=data.geardata;if(geardata){data=geardata.db_data}var i,key,socketkey,socket_datakey,temp_socket;var gem_missing='';var default_gem='';if(!geardata){default_gem=$my.default_gem.val()}var item_string='';if(data.game_id>0){item_string="<a href=\"";if(data.ptr=='1'){item_string+=ptr_url}else{item_string+=wowhead_url}item_string+=data.game_id+"\" target=\"_blank\">"+lang.stats+"</a>"}else{var stat_array=[];for(key in stat_types){if(data[key]>0){stat_array.push(data[key]+" "+lang[key])}}if(data.dmg_min>0){if(item!="slot_ammo"){stat_array.push(data.dmg_min+"-"+data.dmg_max+' '+lang.dmg)}}if(data.item_effects){stat_array.push(data.item_effects)}item_string+=stat_array.join(", ")}item_string+="<br />\n";$my['stats_'+item].html(item_string);if(geardata.permanentenchant>0){if($my['enchant_'+item]){$my['enchant_'+item].val(geardata.permanentenchant)}}var matches=item.match(/slot_(\w+)/);var slot_short=matches[1];var extra_socket=0;switch(slot_short){case'belt':case'bracers':case'gloves':extra_socket=1;var temp_checkbox=$my['extra_'+slot_short+'_socket'];break}$my['gems_'+item].find('select[id^=socket]').each(function(){if(this.name=='socketmeta_slot_helm'){if(data.socket1=="Meta"){socketkey='gem0Id';$my.socketmeta_slot_helm.attr('disabled',false);$my.meta_section.show();if(geardata[socketkey]>0){$my.socketmeta_slot_helm.val(geardata[socketkey]);if($my.socketmeta_slot_helm.find(':selected').val()!=geardata[socketkey]){gem_missing=1}}else if(geardata){$my.socketmeta_slot_helm.val("")}}else{$my.socketmeta_slot_helm.attr('disabled',true).val("");$my.meta_section.hide()}}else{temp_socket=this.name;matches=this.name.match(/socket(\d)/);i=matches[1];socketkey='gem'+(i-1)+"Id";socket_datakey="socket"+i;if((data[socket_datakey]=="Meta")||(data[socket_datakey]=="No")||(!data[socket_datakey])){if(extra_socket&&(i=='3')){$my['section_'+this.name].show();socketkey='gem'+data.num_sockets+'Id';if(geardata[socketkey]>0){temp_checkbox.attr("checked",true);$my[temp_socket].val(geardata[socketkey]);if($my[temp_socket].find(':selected').val()!=geardata[socketkey]){gem_missing=1}}else if(geardata){$my[temp_socket].val("")}else if(temp_checkbox.attr('checked')){$my[temp_socket].val(default_gem)}if(temp_checkbox.attr('checked')){$my[temp_socket].attr('disabled',false)}}else{$my[temp_socket].attr("disabled",true).val("").removeClass();$my['section_'+this.name].hide()}}else{$my[temp_socket].attr("disabled",false).attr('class','socket_'+data[socket_datakey]);$my['section_'+this.name].show();$j('#color_'+this.name).html(lang[data[socket_datakey]]).attr('class',data[socket_datakey]);if(geardata[socketkey]>0){$my[temp_socket].val(geardata[socketkey]);if($my[temp_socket].find(':selected').val()!=geardata[socketkey]){gem_missing=1}}else if(geardata){$my[temp_socket].val("")}else{$my[temp_socket].val(default_gem)}}}});if(data.socketb_amount>0){$my['sockbonus_amount_'+item].html("+"+data.socketb_amount+" "+data.socketb_stat);$my['sockbonus_'+item].show();checkBonus(item)}else{$my['sockbonus_amount_'+item].html("").attr('class','nobonus');$my['sockbonus_'+item].hide()}return(gem_missing)}function updateItemDisplay(item,geardata,check_meta){var id=$j('#'+item).val();var display_name='gems_'+item;var gem_missing='';if(!id){clearItemDisplay(item);if(check_meta){checkMeta()}return}if(geardata){var data={'geardata':geardata,'display_name':display_name,'item_key':item};gem_missing=createItemDisplay(data);$j("#"+display_name).show()}else{$j.getJSON(services_url+"item_query.php",{lang:current_lang,item_id:id},function(data){data.geardata='';data.display_name=display_name;data.item_key=item;createItemDisplay(data);$j("#"+display_name).show();if(check_meta){checkMeta()}})}if(item=="slot_mainhand"){adjustOffHand()}return(gem_missing)}function cleanSlotName(slotname){var matches=slotname.match(/slot_([a-zA-z]+)(\d)?/);if(!matches){return}var temp_name=matches[1];temp_name=temp_name.substr(0,1).toUpperCase()+temp_name.substr(1);if(matches[2]){temp_name+=" "+matches[2]}if(temp_name){return(temp_name)}}function updateRaceData(race_data){var race_stats=['agi','int','sta','str','spi','health','mana'];var race_pieces=[];var stat,i;for(i=0;i<race_stats.length;i++){stat=race_stats[i];if(race_data['race_'+stat]){race_pieces.push(race_data['race_'+stat]+" "+lang[stat])}}if(race_data.race_bonus){race_pieces.push(lang.bonus+': '+race_data.race_bonus)}var race_string=race_pieces.join(", ");$my.race_data.html(race_string)}function updateBuffDisplay(){if($my.buff_cs.val()){$my.buff_bloodpact.parents('tr').attr("class","nobenefit")}else{$my.buff_bloodpact.parents('tr').removeClass()}if($my.buff_might.val()=="I"){$my.buff_bs.parents('tr').attr("class","nobenefit")}else{$my.buff_bs.parents('tr').removeClass()}if($my.buff_ab.val()){$my.buff_felpuppy.parents('tr').attr("class","nobenefit")}else{$my.buff_felpuppy.parents('tr').removeClass()}if($my.flask_buff.val()>0){$my.flask_buff.parents('tr').removeClass();$my.battle_buff.val("").parents('tr').attr("class","nobenefit");$my.guardian_buff.val("").parents('tr').attr("class","nobenefit")}else{$my.battle_buff.parents('tr').removeClass();$my.guardian_buff.parents('tr').removeClass();if(($my.battle_buff.val()>0)||($my.guardian_buff.val()>0)){$my.flask_buff.val("").parents('tr').attr("class","nobenefit")}else{$my.flask_buff.parents('tr').removeClass()}}}function parseArmoryData(data,skip_settings,armory_called){var gear=data.gear;var missing=[];var missing_enchants=[];var missing_gems=[];var gem_missing='';var error_frame='armory_errorframe';var slotkey;if(!skip_settings){skip_settings={}}$my[error_frame].hide();$my.stats_display.html("");if(!skip_settings.race){$my.race.val(data.race);var faction=$my.race.find("option:selected").parent().attr("id");toggleHitBuff(faction);toggleRaceShots(data.race);if(data.race){updateRaceData(data.race_stats)}else{$my.race_data.html("")}$my.prof1.val(data.prof1);$my.prof1_data.html(data.prof1_bonus);$my.prof2.val(data.prof2);$my.prof2_data.html(data.prof2_bonus);if((data.prof1=='Blacksmithing')||(data.prof2=="Blacksmithing")){enableBSGems()}if(armory_called=="1"){if((data.prof1=="Alchemy")||(data.prof2=="Alchemy")){$my.settings_use_mixology.attr("checked",true)}else{$my.settings_use_mixology.attr("checked",false)}}else{if(data.settings_use_mixology=="1"){$my.settings_use_mixology.attr("checked",true)}else{$my.settings_use_mixology.attr("checked",false)}}if(data.settings_use_bombs=="1"){$my.settings_use_bombs.attr("checked",true)}else{$my.settings_use_bombs.attr("checked",false)}}if(!skip_settings.gear){if(data.ammo_id<0){$my.ammo.val("");missing.push('slot_ammo')}else{$my.ammo.val(data.ammo_id)}$my.slot_helm.data('meta_req',gear.slot_helm.meta_reqs);for(slotkey in gear){$my[slotkey].val(gear[slotkey].id);gem_missing=updateItemDisplay(slotkey,gear[slotkey]);if(gear[slotkey].id){if($my[slotkey].val()!=gear[slotkey].id){missing.push(slotkey);continue}if((gear[slotkey].permanentenchant>0)&&($my['enchant_'+slotkey])){if($my['enchant_'+slotkey].val()!=gear[slotkey].permanentenchant){missing_enchants.push(slotkey)}}if(gem_missing){missing_gems.push(slotkey)}}}checkMeta()}if(!skip_settings.talents){enableTalents(data.talent_list);var glyphs=data.glyph_list;$my.glyph_list.find('select').each(function(){$my[this.name].val(glyphs[this.name])})}if(!skip_settings.pet){if(data.pet_id){$my.pet_id.val(data.pet_id);if(data.pet_priority_pieces){$my.pet_priority.html(data.pet_priority_pieces.used);$my.pet_not_used.html(data.pet_priority_pieces.unused)}$my.pet_talent_list.html(data.pet_data.talent_string);if(skip_settings.talents){toggleExoticPets($my.talent_26.val())}if($my.pet_id.val()){$j('#pet_tree :input').each(function(){$j(this).val(data[this.name])});updatePetTalentTotals();$j('#petpriority_special').html(data.pet_data.pet_speclang);$j('#petpriority_focus').html(data.pet_data.pet_focuslang);$my.pet_rotation.show();updateEnabledPetAttacks()}}}if((missing.length<1)&&(missing_enchants.length<1)&&(missing_gems.length<1)){return}var missing_string='';var temp_name,i;var clean_missing='';for(i=0;i<missing.length;i++){temp_name=cleanSlotName(missing[i]);if(temp_name){clean_missing+='<li>'+temp_name+"</li>\n"}}if(clean_missing){missing_string='<p>'+lang.err_missing_slots+":</p>\n<ul>\n"+clean_missing+"\n</ul>\n"}clean_missing='';for(i=0;i<missing_enchants.length;i++){temp_name=cleanSlotName(missing_enchants[i]);if(temp_name){clean_missing+='<li>'+temp_name+"</li>\n"}}if(clean_missing){missing_string+='<p>'+lang.err_missing_enchants+":</p>\n<ul>\n"+clean_missing+"\n</ul>\n"}clean_missing='';for(i=0;i<missing_gems.length;i++){temp_name=cleanSlotName(missing_gems[i]);if(temp_name){clean_missing+='<li>'+temp_name+"</li>\n"}}if(clean_missing){missing_string+='<p>'+lang.err_missing_gems+":</p>\n<ul>\n"+clean_missing+"\n</ul>\n"}if(data.missing_pet_talents){missing_string+='<p>'+lang.err_missing_ptalents+"</p>\n"}return(missing_string)}function loadTheseSettings(json,skip_settings){var i;if(!skip_settings.rotation){$my.shot_priority.html(json.shot_priority_pieces.used);$my.shots_not_used.html(json.shot_priority_pieces.unused);if(skip_settings.talents){updateEnabledShots()}for(i=0;i<rotation_settings.length;i++){if(rotation_settings[i]=="shot_wait"){$my.settings_shot_wait.val(json.settings_shot_wait)}else{if(json['settings_'+rotation_settings[i]]=="1"){$my['settings_'+rotation_settings[i]].attr("checked",true)}else{$my['settings_'+rotation_settings[i]].attr("checked",false)}}}}if(!skip_settings.gear){$my.default_gem.val(json.default_gem);$my.customgear.find('input:text').each(function(){$j(this).val(json[this.name])})}var missing_string=parseArmoryData(json,skip_settings);if(!skip_settings.buffs){$my.buff_table.find(':input').add($my.debuff_table.find('select')).each(function(){if($my[this.name].attr("type")=="checkbox"){if(json[this.name]=="1"){$my[this.name].attr("checked",true)}else{$my[this.name].attr("checked",false)}}else{$my[this.name].val(json[this.name])}});updateBuffDisplay();$my.fightbuff_table.find(':input').each(function(){$j(this).val(json[this.name])})}if(!skip_settings.sets){$my.settings_list.find(':input').each(function(){if($my[this.name].attr("type")=="checkbox"){if(json[this.name]=="1"){$my[this.name].attr("checked",true)}else{$my[this.name].attr("checked",false)}}else{$my[this.name].val(json[this.name])}})}if(!skip_settings.pet){if(!json.pet_id){$my.pet_id.val('');deselectPet()}if(json.pet_name){$my.pet_name.val(json.pet_name)}}if(missing_string){alertMsg(missing_string)}}function loadSettings(setting_id,private_load){var errorframe='load_settings_errorframe';var statusframe='load_status';var dlog='';var set_type;var skip_settings={'race':0,'gear':0,'talents':0,'rotation':0,'buffs':0,'pet':0,'sets':0};if(!setting_id){return}if(private_load=='1'){dlog=dialogs.settings_load;for(set_type in skip_settings){if(!$my['l_'+set_type].attr('checked')){skip_settings[set_type]=1}}}else{$my.load_setting.val(setting_id);errorframe='public_errorframe';statusframe='public_status';dlog=dialogs.settings_public;for(set_type in skip_settings){if(!$my['p_'+set_type].attr('checked')){skip_settings[set_type]=1}}}var status_frame=$j('#'+statusframe);var account_id=$j.cookie('account_id');if(!account_id){account_id=''}$my.load_setting.removeClass('ui-state-error');$my[errorframe].html("");status_frame.html("");var query={id:setting_id,account_id:account_id,skip_settings:skip_settings.sets,skip_gear_settings:skip_settings.gear,lang:current_lang};status_frame.html("Loading...");dialogs.progress_meter.dialog('open');$j.ajax({url:services_url+'load_settings.php',data:query,dataType:"json",error:function(XMLHttpRequest,textStatus,errorThrown){status_frame.html("");displayHighlightError(errorframe,lang.err_loadset_timeout)},success:function(json,textStatus){dlog.dialog('close');$my.char_name.val(json.char_name);$my.region.val(json.char_region);$my.server.val(json.char_server);loadTheseSettings(json,skip_settings);$j('#save_name').val(json.save_name);status_frame.html("");$my[errorframe].html("");enableTab(gear_tab)},complete:function(XMLHttpRequest,textStatus){dialogs.progress_meter.dialog('close')}})}function loadMySetting(setting_id){loadSettings(setting_id,'1')}function loadArmory(){var error_frame='armory_errorframe';var charname=$my.char_name.val();var charserver=$my.server.val();var region=$my.region.val();var second_spec_field=$j('#second_spec');var pet_name=$my.pet_name.val();var secondspec='';if(second_spec_field.attr('checked')){secondspec=second_spec_field.val()}$my.char_name.removeClass('ui-state-error');$my.server.removeClass('ui-state-error');$my[error_frame].html("");if(!charname){$my.char_name.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_arm_charreq);return}if(!charserver){$my.server.addClass('ui-state-error');displayHighlightError(error_frame,lang.err_arm_servreq);return}var status_frame=$j('#armory_loading');status_frame.html(lang.loading+'...');dialogs.progress_meter.dialog('open');$j.ajax({url:services_url+"armory_query.php",data:{charname:charname,server:charserver,secondspec:secondspec,region:region,pet:pet_name,lang:current_lang},dataType:"json",error:function(XMLHttpRequest,textStatus,errorThrown){status_frame.html("");displayHighlightError(error_frame,lang.err_arm_timeout)},success:function(json,textStatus){status_frame.html("");if(json.ajax_error){if(json.error_type=="charname"){$my.char_name.addClass('ui-state-error')}else if(json.error_type=="server"){$my.server.addClass('ui-state-error')}displayHighlightError(error_frame,json.ajax_error)}else if(json['class']!="Hunter"){displayHighlightError(error_frame,lang.err_arm_huntonly)}else{var missing_string=parseArmoryData(json,'','1');create_rotation();$my[error_frame].html("");dialogs.armory.dialog('close');enableTab(rotation_tab);if(missing_string){alertMsg(missing_string)}}},complete:function(XMLHttpRequest,textStatus){dialogs.progress_meter.dialog('close')}})}function updateStatsDisplay(){$my.stats_errorframe.hide();if(!$my.race.val()){alertMsg(lang.alert_dps_racereq);return}if(!$my.slot_ranged.val()){alertMsg(lang.alert_dps_rangedreq);return}if((!$my.ammo.val())&&($my.slot_ranged.val()!='34334')){alertMsg(lang.alert_dps_ammoreq);return}var shotData=$my.shot_priority.sortable('serialize');if(!shotData){alertMsg(lang.alert_dps_rotreq);return}var petData=$my.pet_priority.sortable('serialize');if($my.pet_id.val()){if(!petData){alertMsg(lang.alert_dps_petrotreq);return}}var formData=$my.gearform.find(":input").serialize();formData+="&"+shotData+"&"+petData+"&lang="+current_lang;$my.gearform.data('last_update',formData);$j('#revert').hide();$j('#stats_status').html(lang.calculating+'...');var last_dps=$j('#combined_dps').html();$my.stats_display.html('');$j.post(services_url+"update_stats.php",formData,function(data){tempMessage('stats_status',lang.dps_updated+'!','stats_errorframe');gear_taint=0;$j('#dps_status_frame').hide();$my.stats_display.html(data);if(last_dps){var new_dps=$j('#combined_dps').html();var dps_difference=roundNumber((new_dps-last_dps),2);var difference_class="nobonus";if(dps_difference>0){dps_difference="+"+dps_difference;difference_class="yesbonus"}else if(dps_difference<0){difference_class="notvalid"}else{dps_difference=lang.no_change}$j('#dps_summary').append('<tr><th>'+lang.previous+':</th> <td>'+last_dps+'</td> <td class="'+difference_class+'">'+dps_difference+'</td></tr>')}var element=document.getElementById('stats_status');element.scrollIntoView(true)})}function resetTalentTrees(){var i;for(i=1;i<=3;i++){var treename="tree_"+i;$my[treename].find('select').each(function(){$my[this.name].val("0")});$my['total_'+treename].html("0")}$my.total_talents_spent.html("0").removeClass();updateEnabledShots()}function rightPad(n,len){n+=(new Array(len-String(n).length+1)).join("0");return(n)}function parseWowhead(wowhead_tal){if(!wowhead_tal){return('')}var bm_string='';var mm_string='';var sv_string='';var talent_pair,key;var talent_map={'0':'00','z':'01','M':'02','c':'03','m':'04','V':'05','o':'10','k':'11','R':'12','s':'13','a':'14','q':'15','b':'20','d':'21','r':'22','f':'23','w':'24','i':'25','h':'30','u':'31','G':'32','I':'33','N':'34','A':'35','L':'40','p':'41','T':'42','j':'43','n':'44','y':'45','x':'50','t':'51','g':'52','e':'53','v':'54','E':'55'};var talent_trees=wowhead_tal.split("Z",3);if(talent_trees[0].length>13){talent_trees[2]=talent_trees[1];talent_trees[1]=talent_trees[0].substr(13);talent_trees[0]=talent_trees[0].substr(0,13)}if(talent_trees[1].length>14){talent_trees[2]=talent_trees[1].substr(14);talent_trees[1]=talent_trees[1].substr(0,14)}var bm_talents=talent_trees[0].split("");var mm_talents=talent_trees[1].split("");var sv_talents=talent_trees[2].split("");for(key in bm_talents){talent_pair=bm_talents[key];bm_string+=talent_map[talent_pair]}bm_string=rightPad(bm_string,26);for(key in mm_talents){talent_pair=mm_talents[key];mm_string+=talent_map[talent_pair]}if(mm_string.length>27){mm_string=mm_string.substr(0,(mm_string.length-1))}mm_string=rightPad(mm_string,27);for(key in sv_talents){talent_pair=sv_talents[key];sv_string+=talent_map[talent_pair]}sv_string=rightPad(sv_string,28);var talent_string=bm_string+mm_string+sv_string;return(talent_string)}function importTalents(){var talent_string=$j('#talent_url').val();var matches='';var talent_piece='';var talents='';if(talent_string.match(/mmo\-champion/)){matches=talent_string.match(/hunter=(\d+)/);if(matches){talent_piece=matches[1];talents=talent_piece.split("")}}else if(talent_string.match(/wowarmory/)){matches=talent_string.match(/tal=(\d+)/);if(matches){talent_piece=matches[1];talents=talent_piece.split("")}}else if(talent_string.match(/wowhead/)){matches=talent_string.match(/talent#c([\w0]+)/);if(matches){talent_piece=parseWowhead(matches[1]);talents=talent_piece.split("")}}else{alertMsg(lang.alert_import_sites);return}if(talents){enableTalents(talents);alertMsg(lang.alert_import_success,lang.title_import_success)}else{alertMsg(lang.alert_import_invalid)}}function resetPetTalents(){$j("#pet_tree select").each(function(){$j(this).val("0")});$j('#total_pet_talents_spent').html("0").removeClass();updateEnabledPetAttacks()}function enableCommonPetSpec(){var curfamily=$j('#pet_family_name').attr("class");var bmtalent=$my.talent_26.val();if(!curfamily){return}$j("#pet_tree select").each(function(){$j(this).val("0")});$j('#ptalent_1').val('2');$j('#ptalent_9').val('3');$j('#ptalent_7').val('3');if(bmtalent>0){$j('#ptalent_19').val('2')}else{$j('#ptalent_19').val('1')}if(curfamily=="Ferocity"){$j('#ptalent_2').val('1');$j('#ptalent_13').val('3');$j('#ptalent_15').val('1');$j('#ptalent_17').val('1');if(bmtalent>0){$j('#ptalent_6').val('2');$j('#ptalent_18').val('2')}else{$j('#ptalent_6').val('1');$j('#ptalent_18').val('0')}}else if(curfamily=="Cunning"){$j('#ptalent_2').val('1');$j('#ptalent_21').val('2');$j('#ptalent_25').val('2');$j('#ptalent_26').val('1');$j('#ptalent_28').val('1');if(bmtalent>0){$j('#ptalent_23').val('1');$j('#ptalent_24').val('2')}else{$j('#ptalent_23').val('0');$j('#ptalent_24').val('0')}}else if(curfamily=="Tenacity"){$j('#ptalent_11').val('1');$j('#ptalent_3').val('2');$j('#ptalent_34').val('1');$j('#ptalent_29').val('2');$j('#ptalent_30').val('1');if(bmtalent>0){$j('#ptalent_37').val('1');$j('#ptalent_3').val('3');$j('#ptalent_31').val('1')}else{$j('#ptalent_3').val('2');$j('#ptalent_37').val('0');$j('#ptalent_31').val('0')}}updatePetTalentTotals();updateEnabledPetAttacks()}function enableCommonRaidBuffs(){$my.buff_kings.val("Y");$my.pbuff_kings.val("Y");$my.buff_might.val("I");$my.pbuff_might.val("I");$my.buff_bs.parents('tr').attr("class","nobenefit");$my.buff_tsa.val("Y");$my.buff_soe.val("I");$my.buff_lop.val("Y");$my.buff_sancret.val("Y");$my.buff_swiftret.val("Y");$my.buff_gift.val("I");$my.buff_wisdom.val("I");$my.buff_ab.val("Y");$my.buff_felpuppy.parents('tr').attr("class","nobenefit");$my.buff_fort.val("I");$my.buff_cs.val("I");$my.buff_bloodpact.parents('tr').attr("class","nobenefit");$my.buff_replenish.val("Y");$my.buff_draeneihit.val("Y");$my.buff_heroism.val("Y");$my.pbuff_windfury.val("I");$my.food_buff.val("42999");$my.pfood_buff.val("spiced");$my.flask_buff.val("46377").parents('tr').removeClass();$my.battle_buff.val("").parents('tr').attr("class","nobenefit");$my.guardian_buff.val("").parents('tr').attr("class","nobenefit");$my.potion_buff.val('speed');var faction=$my.race.find("option:selected").parent().attr("id");toggleHitBuff(faction)}function disableRaidBuffs(){$my.buff_table.find('select').each(function(){$j(this).val("")});$my.buff_bs.parents('tr').removeClass();$my.buff_felpuppy.parents('tr').removeClass();$my.buff_bloodpact.parents('tr').removeClass();$my.battle_buff.parents('tr').removeClass();$my.guardian_buff.parents('tr').removeClass();$my.pbuff_strscroll.attr("checked",false);var faction=$my.race.find("option:selected").parent().attr("id");toggleHitBuff(faction)}function enableCommonRaidDebuffs(){$my.debuff_table.find('select').each(function(){if(this.name=='debuff_mark'){$my[this.name].val("B")}else{$my[this.name].val("Y")}})}function disableDebuffs(){$my.debuff_table.find('select').each(function(){$my[this.name].val("")})}function disableCustomBuffs(){$my.fightbuff_table.find('select').each(function(){$j('#'+this.name).val("")});$my.fightbuff_table.find('input:text').each(function(){$j('#'+this.name).val("0")})}function getProfData(prof_name,slot){$j.getJSON(services_url+'get_prof_bonus.php',{lang:current_lang,prof_name:prof_name},function(json){$my['prof'+slot+'_data'].html(json)})}function filter_items(){var ilevel=$my.filter_min_ilevel.val();var rarity=$my.filter_min_rarity.val();var gem_rarity=$my.filter_min_gem_rarity.val();var jc_gems='0';if($my.filter_disable_jc_gems.attr('checked')){jc_gems='1'}var query={ilevel:ilevel,rarity:rarity,gem_rarity:gem_rarity,jc_gems:jc_gems,lang:current_lang};$j.cookie("min_ilevel",ilevel,{expires:expire_date,path:'/'});$j.cookie("item_rarity",rarity,{expires:expire_date,path:'/'});$j.cookie("gem_rarity",gem_rarity,{expires:expire_date,path:'/'});$j.cookie("disable_jc_gems",jc_gems,{expires:expire_date,path:'/'});$j.getJSON(services_url+'filter_items.php',query,function(json){if(json.success){var origval='';var orig_oh='';var slot_name,i;var missing_items={};var missing_gems=[];if(json.gem_list){origval=$my.default_gem.val();$my.default_gem.html(json.gem_list).val(origval);$my.gearlist.find('select[id^=socket]').each(function(){if(this.name=='socketmeta_slot_helm'){return}origval=$my[this.name].val();$my[this.name].html(json.gem_list).val(origval);if(origval){if($my[this.name].val()!=origval){missing_gems.push(this.name)}}})}for(slot_name in json.slots){origval=$my[slot_name].val();$my[slot_name].html(json.slots[slot_name]).val(origval);if(origval){if(origval!=$my[slot_name].val()){clearItemDisplay(slot_name);missing_items[slot_name]=1}}}origval=$my.slot_mainhand.val();orig_oh=$my.slot_offhand.val();$my.h2_group.html(json.special_slots['2H']);$my.h1_main_group.html(json.special_slots['1H']);$my.h1_off_group.html(json.special_slots['1H']);$my.slot_mainhand.val(origval);$my.slot_offhand.val(orig_oh);if(origval){if(origval!=$my.slot_mainhand.val()){clearItemDisplay('slot_mainhand');missing_items.slot_mainhand=1}}if(orig_oh){if(orig_oh!=$my.slot_offhand.val()){clearItemDisplay('slot_offhand');missing_items.slot_offhand=1}}$my.gearlist.find("select[name^='slot_']").each(function(){if($my[this.name].val()){checkBonus(this.name)}});checkMeta();var missing_item_string='';for(i in missing_items){slot_name=$my.gearlist.find('label[for='+i+']').html().replace(":","");missing_item_string+="<li>"+slot_name+"</li>\n"}if(missing_item_string){missing_item_string='<p>'+lang.err_filter_items+":</p><ul>\n"+missing_item_string+"</ul>\n"}var missing_gem_string='';if(missing_gems.length>0){var clean_missing_gems={};for(i=0;i<missing_gems.length;i++){slot_name=missing_gems[i].match(/slot_.*/g);if(missing_items[slot_name]){continue}clean_missing_gems[slot_name]=1}for(i in clean_missing_gems){slot_name=$my.gearlist.find('label[for='+i+']').html().replace(":","");missing_gem_string+="<li>"+slot_name+"</li>\n"}if(missing_gem_string){missing_gem_string='<p>'+lang.err_filter_gems+":</p><ul>\n"+missing_gem_string+"</ul>\n";missing_item_string+=missing_gem_string}}if(missing_item_string){alertMsg(missing_item_string)}}})}function copy_url(setting_num){if(!setting_num){return}var setting_url="http://www.femaledwarf.com/?setting_id="+setting_num;var new_form='<form method="GET" action="">'+"\n";new_form+='<label for="setting_url_copy">'+lang.alert_copy_url+":</label><br />\n";new_form+='<input type="text" name="setting_url_copy" id="setting_url_copy" value="'+setting_url+'" size="'+setting_url.length+'" />';new_form+="</form>\n";dialogs.alert.html(new_form);dialogs.alert.dialog('option','title',lang.title_copy_url).dialog('open');$j('#setting_url_copy').select()}function revertSettings(){var orig_settings=$my.gearform.data('last_update');if(!orig_settings){return}var status_field=$j('#stats_status');status_field.html(lang.loading+'...');dialogs.progress_meter.dialog('open');$j.getJSON(services_url+"revert_settings.php",orig_settings,function(data){if(!data.error){var skip_settings={};loadTheseSettings(data,skip_settings);$j('#revert').hide()}dialogs.progress_meter.dialog('close');status_field.html("")})}function updateBuffOverride(buff_name){var buffval=$my['buff_'+buff_name].val();var cobuff=buff_overrides[buff_name];if(((buff_name=='might')&&(buffval=="I"))||((buff_name!='might')&&buffval)){$my['buff_'+cobuff].parents('tr').attr("class","nobenefit")}else{$my['buff_'+cobuff].parents('tr').removeClass()}}function updateConsumableOverride(priority){var fval=$j('#flask_buff').val();var bval=$j('#battle_buff').val();var gval=$j('#guardian_buff').val();if(((priority=='elixir')||(fval<=0))&&((bval>0)||(gval>0))){$j('#flask_buff').val("").parents('tr').attr("class","nobenefit");fval=0}else{$j('#flask_buff').parents('tr').removeClass()}if(fval>0){$j('#battle_buff').val("").parents('tr').attr("class","nobenefit");$j('#guardian_buff').val("").parents('tr').attr("class","nobenefit")}else{$j('#battle_buff').parents('tr').removeClass();$j('#guardian_buff').parents('tr').removeClass()}}function settingsDisplayUpdate(){var race_name=$my.race.val();var faction=$my.race.find("option:selected").parent().attr("id");var key;checkMeta();$my.gearlist.find("select[name^='slot_']").each(function(){if($my[this.name].val()){checkBonus(this.name)}});toggleHitBuff(faction);toggleRaceShots(race_name);updateEnabledShots();for(key in buff_overrides){updateBuffOverride(key)}updateConsumableOverride();if($my.pet_id.val()){$my.pet_rotation.show()}updateTalentTotals();updatePetTalentTotals();updateEnabledPetAttacks()}function updateProf(profnum){var prof_name=$my['prof'+profnum].val();if((prof_name)&&($my.prof1.val()==$my.prof2.val())){$my['prof'+profnum].val("");$my['prof'+profnum+'_data'].html("");alertMsg(lang.alert_prof_dupe+'!')}else{getProfData(prof_name,profnum);if(prof_name=='Blacksmithing'){enableBSGems()}}}function enableExtraSocket(slot){var default_gem='';if($my['extra_'+slot+'_socket'].attr('checked')){default_gem=$my.default_gem.val()}$my['socket3_slot_'+slot].val(default_gem).attr("disabled",!$my['extra_'+slot+'_socket'].attr('checked'))}$j(document).ready(function(){$j.ajaxSetup({timeout:300000});window.$my={gearform:$j('#gearform'),gearlist:$j('#gear_list'),talentlist:$j('#talent_list'),customgear:$j('#custom_gear'),extra_belt_socket:$j('#extra_belt_socket'),extra_bracers_socket:$j('#extra_bracers_socket'),extra_gloves_socket:$j('#extra_gloves_socket'),prof1:$j('#prof1'),prof1_data:$j('#prof1_data'),prof2:$j('#prof2'),prof2_data:$j('#prof2_data'),form_menu:$j('#accordion'),login_button:$j('#login_button'),logout_button:$j('#logout_button'),pet_load_status:$j('#pet_load_status'),pet_talent_list:$j('#pet_talent_list'),pet_special:$j('#petpriority_special'),pet_focus:$j('#petpriority_focus'),pet_rotation:$j('#pet_rotation'),pet_id:$j('#pet_id'),race:$j('#char_race'),debuff_table:$j('#debuff_table'),fightbuff_table:$j('#fightbuff_table'),buff_table:$j('#buff_table'),glyph_list:$j('#glyph_list'),server:$j('#char_server'),char_name:$j('#char_name'),ammo:$j('#ammo_id'),load_setting:$j('#load_setting'),settings_list:$j('#settings_list'),meta_bonus:$j('#metabonus'),meta_section:$j('#section_socketmeta_slot_helm'),socketmeta_slot_helm:$j('#socketmeta_slot_helm'),login_errorframe:$j('#login_errorframe'),feedback_errorframe:$j('#feedback_errorframe'),delete_settings_errorframe:$j('#delete_settings_errorframe'),save_settings_errorframe:$j('#save_settings_errorframe'),create_account_errorframe:$j('#create_account_errorframe'),load_settings_errorframe:$j('#load_settings_errorframe'),stats_errorframe:$j('#stats_errorframe'),armory_errorframe:$j('#armory_errorframe'),scratch_errorframe:$j('#scratch_errorframe'),public_errorframe:$j('#public_errorframe'),acctedit_errorframe:$j('#acctedit_errorframe'),reset_pwd_errorframe:$j('#reset_pwd_errorframe'),acct_username:$j('#acct_username'),acct_pwd:$j('#acct_pwd'),total_tree_1:$j('#total_tree_1'),total_tree_2:$j('#total_tree_2'),total_tree_3:$j('#total_tree_3'),tree_1:$j('#tree_1'),tree_2:$j('#tree_2'),tree_3:$j('#tree_3'),total_talents_spent:$j('#total_talents_spent'),stats_display:$j('#stats_display'),region:$j('#char_region'),shot_priority:$j('#shot_priority'),shots_not_used:$j('#shots_not_used'),pet_priority:$j('#pet_priority'),pet_not_used:$j('#pet_not_used'),h2_group:$j('#h2_group'),h2_enchant_group:$j('#h2_enchant_group'),h1_main_group:$j('#h1_main_group'),h1_off_group:$j('#h1_off_group'),h1_enchant_group:$j('#h1_enchant_group'),pet_name:$j('#pet_name'),exotic_group:$j('#Exotic_group'),race_data:$j('#race_data'),default_gem:$j('#default_gem'),setting_link:$j('#setting_link'),l_race:$j('#l_race'),l_gear:$j('#l_gear'),l_talents:$j('#l_talents'),l_rotation:$j('#l_rotation'),l_buffs:$j('#l_buffs'),l_pet:$j('#l_pet'),l_sets:$j('#l_sets'),p_race:$j('#p_race'),p_gear:$j('#p_gear'),p_talents:$j('#p_talents'),p_rotation:$j('#p_rotation'),p_buffs:$j('#p_buffs'),p_pet:$j('#p_pet'),p_sets:$j('#p_sets'),public_setting_form:$j('#public_setting_form'),settings_rotation_test:$j('#settings_rotation_test'),item_filters:$j('#item_filters'),saved_settings_list:$j('#saved_settings_list'),ssn_name:$j('#ssn_name'),lang:$j('#lang_selected')};$my.gearlist.find("select[name^='slot_']").each(function(){var fieldname=this.name;var i;$my[fieldname]=$j(this);switch(fieldname){case'slot_neck':case'slot_trinket1':case'slot_trinket2':case'slot_belt':break;default:$my['enchant_'+fieldname]=$j('#enchant_'+fieldname)}$my['stats_'+fieldname]=$j('#stats_'+fieldname);for(i=1;i<=3;i++){$my['socket'+i+'_'+fieldname]=$j('#socket'+i+'_'+fieldname);$my['section_socket'+i+'_'+fieldname]=$j('#section_socket'+i+'_'+fieldname)}$my['sockbonus_'+fieldname]=$j('#sockbonus_'+fieldname);$my['sockbonus_amount_'+fieldname]=$j('#sockbonus_amount_'+fieldname);$my['gems_'+fieldname]=$j('#gems_'+fieldname)});$my.item_filters.find(':input').each(function(){$my[this.name]=$j(this)});$my.glyph_list.find('select').each(function(){$my[this.name]=$j(this)});$my.talentlist.find('select').each(function(){$my[this.name]=$j(this)});$my.buff_table.find(':input').each(function(){$my[this.name]=$j(this)});$my.debuff_table.find('select').each(function(){$my[this.name]=$j(this)});$my.settings_list.find(':input').each(function(){$my[this.name]=$j(this)});$my.settings_use_mixology=$j('#settings_use_mixology');$my.settings_use_bombs=$j('#settings_use_bombs');for(i=0;i<rotation_settings.length;i++){$my['settings_'+rotation_settings[i]]=$j('#settings_'+rotation_settings[i])}$my.pet_rotation.hide();$my.gearlist.find("select[id^='slot_']").each(function(){if($my[this.name].val()<=0){$my['gems_'+this.name].hide()}});$j("#shot_priority, #shots_not_used").sortable({connectWith:'.connectedSortable',placeholder:'ui-state-highlight',items:'li:not(.ui-widget-header)',change:function(event,ui){dpsTainted()}}).disableSelection();$j("#pet_priority, #pet_not_used").sortable({connectWith:'.petSortable',placeholder:'ui-state-highlight',items:'li:not(.ui-widget-header)',change:function(event,ui){dpsTainted()}}).disableSelection()});$j(window).load(function(){$j('a.new').click(function(){window.open(this.href,'info','toolbar=0, height=800, width=700, location=0, scrollbars=1');return false});$my.gearlist.find("select[name^='slot_']").change(function showItemInfo(){updateItemDisplay(this.name,'','1')});$my.gearlist.find("select[name^='socket']").change(function(){var fieldname=this.name;if((this.name=='socket1_slot_helm')||(this.name=='socketmeta_slot_helm')){$my.slot_helm.data('meta_req','')}var slotname=fieldname.match(/slot_.*/g);checkBonus(slotname);checkMeta()});$my.extra_belt_socket.change(function(){enableExtraSocket('belt')});$my.extra_bracers_socket.change(function(){enableExtraSocket('bracers')});$my.extra_gloves_socket.change(function(){enableExtraSocket('gloves')});$my.talentlist.find("select[name^='talent_']").change(function(){updateTalentTotals();if(this.name=='talent_26'){toggleExoticPets(this.value)}else if(shot_talents[this.name]){toggleTalentShots(this.value,shot_talents[this.name])}});$my.pet_talent_list.find("select[name^='ptalent_']").livequery('change',function(){if(pet_talents[this.name]){togglePetAttacks(this.value,pet_talents[this.name])}updatePetTalentTotals()});$my.customgear.find("input[name^='custom_']").change(function(){var testval=$j(this).val();if(testval){if(!testval.match(/^\-?\d+$/)){var labeltext=$my.customgear.find('label[for='+this.name+']').html();if(!labeltext){labeltext=this.name}alertMsg(lang.custom+' '+labeltext+' '+lang.valid_number);$j(this).val("0")}}});$my.race.change(function(){var race_name=$my.race.val();var faction=$my.race.find("option:selected").parent().attr("id");toggleHitBuff(faction);toggleRaceShots(race_name);if(!race_name){$j('#race_data').html("");return}$j.getJSON(services_url+'race_query.php',{lang:current_lang,race_name:race_name},function(json){updateRaceData(json)})});$my.prof1.change(function(){updateProf('1')});$my.prof2.change(function(){updateProf('2')});$my.glyph_list.find('select').change(function(){var glyph_slot=this.name;var glyph_val=$j(this).val();if(!glyph_val){return}$my.glyph_list.find('select').each(function(){if(this.name==glyph_slot){return}if($j(this).val()==glyph_val){$j('#'+glyph_slot).val("");alertMsg(lang.alert_glyph_dupe+'!');return false}})});$my.server.autocomplete(services_url+'server_list.php',{extraParams:{region:function(){return $my.region.val()}},autoFill:true,minChars:2});$j(".valid_number").change(function(){var testval=$j(this).val();if(testval){if(!testval.match(/^\d+$/)){var labeltext=$j('label[for='+this.name+']').html();if(!labeltext){labeltext=this.name}alertMsg(labeltext+' '+lang.valid_number)}}});$j(".valid_percent").change(function(){var testval=$j(this).val();if(testval){if(!testval.match(/^[01]?\d?\d$/)){var labeltext=$j('label[for='+this.name+']').html();if(!labeltext){labeltext=this.name}alertMsg(labeltext+' '+lang.valid_perc)}}});$j(".valid_decimal").change(function(){var testval=$j(this).val();if(testval){if(!testval.match(/^\d*\.?\d*$/)){var labeltext=$j('label[for='+this.name+']').html();if(!labeltext){labeltext=this.name}alertMsg(labeltext+' '+lang.valid_intdec)}}});$my.buff_cs.change(function(){updateBuffOverride('cs')});$my.buff_might.change(function(){updateBuffOverride('might')});$my.buff_ab.change(function(){updateBuffOverride('ab')});$j('#flask_buff').change(function(){updateConsumableOverride()});$j('#battle_buff').change(function(){updateConsumableOverride('elixir')});$j('#guardian_buff').change(function(){updateConsumableOverride('elixir')});$j("input[name='default_setting']").live('change',function(){updateDefaultSetting()});$my.pet_id.change(function(){var pet_id=$my.pet_id.val();if(pet_id){var exotic_talent=$my.talent_26.val();var curfamily=$j('#pet_family_name').attr("class");var newfamily=$my.pet_id.find("option:selected").attr("class");$my.pet_load_status.html(lang.loading+'...');$j.getJSON(services_url+"get_pet_talents.php",{pet_id:pet_id,exotic:exotic_talent,lang:current_lang},function(data){if(!data.talent_string){$my.pet_load_status.html("");displayError('load_pet_errorframe','load_pet_error_msg',lang.err_pet_noload);$my.pet_talent_list.html("");$j('#petpriority_special').html(lang.pet_special);$j('#petpriority_focus').html(lang.pet_focus);$my.pet_rotation.hide();return}if(newfamily!=curfamily){$my.pet_talent_list.html(data.talent_string);var talentnum;for(talentnum in pet_talents){$j('#petpriority_'+pet_talents[talentnum]).attr("class","ui-state-disabled")}}$j('#petpriority_special').html(data.pet_speclang);$j('#petpriority_focus').html(data.pet_focuslang);$my.pet_rotation.show();tempMessage('pet_load_status',lang.done_loading+'!','load_pet_errorframe')})}else{deselectPet()}});$j(".fg-button:not(.ui-state-disabled)").hover(function(){$j(this).addClass("ui-state-hover")},function(){$j(this).removeClass("ui-state-hover")}).mousedown(function(){$j(this).addClass("ui-state-active")}).mouseup(function(){$j(this).removeClass("ui-state-active")}).mouseout(function(){$j(this).removeClass("ui-state-active")});$my.gearform.find(':input').change(function(){dpsTainted()});$j('#public_filter_mindate').datepicker({dateFormat:'yy-mm-dd'});$j('#public_filter_maxdate').datepicker({dateFormat:'yy-mm-dd'});$j("#dps_range").slider({orientation:"horizontal",range:true,min:0,max:25000,step:100,values:[0,25000],slide:function(event,ui){$j("#public_filter_dps").val(ui.values[0]+' - '+ui.values[1])}});if(($j.url.param("setting_id"))||($j.cookie('default_setting_id'))){settingsDisplayUpdate()}if($j.cookie("scratchpad")){createScratchDisplay($j.cookie("scratchpad"))}if($j.cookie("lang")){current_lang=$j.cookie("lang")}$my.lang.change(function(){var newlang=$my.lang.val();$j.cookie("lang",newlang,{expires:expire_date,path:'/'});window.location.reload()})});
if(typeof $WH=="undefined"){$WH={wowheadRemote:true}}if(typeof $WowheadPower=="undefined"){var $WowheadPower=new function(){var U=$WH.wowheadRemote;var y={applyto:3},s=document.getElementsByTagName("head")[0],G=true,h,O,S,J,u,Y,M,K,j=0,ac=false,N={},i={},z={},H={},T={},ae={},f={},X=1,B=1,R=0,P=1,k=2,v=3,Q=4,w=1,m=2,D=3,I=5,x=6,p=10,l=100,r=15,F=15,C={loading:"Loading...",noresponse:"No response from server :(",achievementcomplete:"Achievement earned by $1 on $2/$3/$4"},t={1:[N,"npc","NPC"],2:[i,"object","Object"],3:[z,"item","Item"],5:[H,"quest","Quest"],6:[T,"spell","Spell"],10:[ae,"achievement","Achievement"],100:[f,"profile","Profile"]},e={0:"enus",2:"frfr",3:"dede",6:"eses",7:"ruru",ptr:"ptr",beta:"beta"},c={wotlk:"www"};if(U){var b={getId:function(){return 0},getName:function(){return"enus"}}}if(G){}else{c.ptr="www"}function Z(){if(U){var af=document.createElement("script");af.src="http://static.wowhead.com/js/basic.js?5";s.appendChild(af)}else{V()}}function V(){if(ac){return}ac=true;$WH.aE(document,"mouseover",A)}this.init=function(){if(U){$WH.ae(s,$WH.ce("link",{type:"text/css",href:"http://static.wowhead.com/css/basic.css?5",rel:"stylesheet"}))}V()};function q(af){var ag=$WH.g_getCursorPos(af);M=ag.x;K=ag.y}function ab(ar,an){if(ar.nodeName!="A"&&ar.nodeName!="AREA"){return -2323}if(!ar.href.length){return}if(ar.rel&&ar.rel.indexOf("np")!=-1){return}var ak,aj,ah,ag,al={};u=al;var af=function(at,av,au){if(av=="buff"||av=="sock"){al[av]=true}else{if(av=="rand"||av=="ench"||av=="lvl"||av=="c"){al[av]=parseInt(au)}else{if(av=="gems"||av=="pcs"){al[av]=au.split(":")}else{if(av=="who"||av=="domain"){al[av]=au}else{if(av=="when"){al[av]=new Date(parseInt(au))}}}}}};if(y.applyto&1){aj=2;ah=3;if(ar.href.indexOf("http://")==0){ak=1;ag=ar.href.match(/^http:\/\/(.+?)?\.?wowhead\.com\/\??(item|quest|spell|achievement|npc|object)=([0-9]+)/);if(ag==null){ag=ar.href.match(/^http:\/\/(.+?)?\.?wowhead\.com\/\??(profile)=([^&#]+)/)}B=0}else{ag=ar.href.match(/()\??(item|quest|spell|achievement|npc|object)=([0-9]+)/);if(ag==null){ag=ar.href.match(/()\??(profile)=([^&#]+)/)}B=1}}if(ag==null&&ar.rel&&(y.applyto&2)){ak=0;aj=1;ah=2;ag=ar.rel.match(/(item|quest|spell|achievement|npc|object).?([0-9]+)/);if(ag==null){ag=ar.rel.match(/(profile).?([^&#]+)/)}B=1}ar.href.replace(/([a-zA-Z]+)=?([a-zA-Z0-9:-]*)/g,af);if(ar.rel){ar.rel.replace(/([a-zA-Z]+)=?([a-zA-Z0-9:-]*)/g,af)}if(al.gems&&al.gems.length>0){var am;for(am=Math.min(3,al.gems.length-1);am>=0;--am){if(parseInt(al.gems[am])){break}}++am;if(am==0){delete al.gems}else{if(am<al.gems.length){al.gems=al.gems.slice(0,am)}}}if(ag){var aq,ai="www";Y=ar;if(al.domain){ai=al.domain}else{if(ak&&ag[ak]){ai=ag[ak]}}if(c[ai]){ai=c[ai]}aq=$WH.g_getLocaleFromDomain(ai);if(ai=="ptr"){aq="ptr"}else{if(ai=="beta"||ai=="cata"){aq="beta"}}J=ai;if(ar.href.indexOf("#")!=-1&&document.location.href.indexOf(ag[aj]+"="+ag[ah])!=-1){return}j=((ar.parentNode.className.indexOf("icon")==0&&ar.parentNode.nodeName=="DIV")?1:0);if(!ar.onmouseout){if(j==0){ar.onmousemove=a}ar.onmouseout=aa}q(an);var ap=$WH.g_getIdFromTypeName(ag[aj]),ao=ag[ah];E(ap,ao,aq,al)}}function A(ah){ah=$WH.$E(ah);var ag=ah._target;var af=0;while(ag!=null&&af<5&&ab(ag,ah)==-2323){ag=ag.parentNode;++af}}function a(af){af=$WH.$E(af);q(af);$WH.Tooltip.move(M,K,0,0,r,F)}function aa(){h=null;Y=null;$WH.Tooltip.hide()}function W(af){return(u&&u.buff?"buff_":"tooltip_")+e[af]}function n(ag,ai,ah){var af=t[ag][0];if(af[ai]==null){af[ai]={}}if(af[ai].status==null){af[ai].status={}}if(af[ai].status[ah]==null){af[ai].status[ah]=R}}function E(ag,ak,ai,aj){if(!aj){aj={}}var ah=g(ak,aj);h=ag;O=ah;S=ai;u=aj;n(ag,ah,ai);var af=t[ag][0];if(af[ah].status[ai]==Q||af[ah].status[ai]==v){ad(af[ah][W(ai)],af[ah].icon)}else{if(af[ah].status[ai]==P){ad(C.loading)}else{d(ag,ak,ai,null,aj)}}}function d(ao,aj,ap,ah,ak){var af=g(aj,ak);var am=t[ao][0];if(am[af].status[ap]!=R&&am[af].status[ap]!=k){return}am[af].status[ap]=P;if(!ah){am[af].timer=setTimeout(function(){o.apply(this,[ao,af,ap])},333)}var ai="";for(var al in ak){if(al!="rand"&&al!="ench"&&al!="gems"&&al!="sock"){continue}if(typeof ak[al]=="object"){ai+="&"+al+"="+ak[al].join(":")}else{if(al=="sock"){ai+="&sock"}else{ai+="&"+al+"="+ak[al]}}}var an=$WH.g_getDomainFromLocale(ap);if(ap=="ptr"){an="ptr"}else{if(ap=="beta"){an="cata"}}var ag="";if(typeof g_dev=="undefined"||!g_dev){ag+="http://"+an+".wowhead.com"}else{if(window.location.hostname.indexOf("dev.wowhead.com")!=-1){if(an!="www"&&window.location.hostname.indexOf(an)!=0){ag+="http://"+an+"."+window.location.hostname}}}ag+="/"+t[ao][1]+"="+aj+"&power"+ai;$WH.g_ajaxIshRequest(ag)}function ad(ai,aj){if(Y&&Y._fixTooltip){ai=Y._fixTooltip(ai,h,O,Y)}var ak=false;if(!ai){ai=t[h][2]+" not found :(";aj="inv_misc_questionmark";ak=true}else{if(u!=null){if(u.pcs&&u.pcs.length){var al=O.match(/^(\d+)/);al=al[1];var am=0;for(var ah=0,ag=u.pcs.length;ah<ag;++ah){var af;if(af=ai.match(new RegExp("<span><!--si([0-9]+:)*"+u.pcs[ah]+'(:[0-9]+)*--><a href="/\\?item=(\\d+)">(.+?)</a></span>'))){ai=ai.replace(af[0],'<span class="q8"><!--si'+u.pcs[ah]+'--><a href="/item='+af[3]+'">'+(($WH.isset("g_items")&&g_items[u.pcs[ah]])?g_items[u.pcs[ah]]["name_"+e[S]]:af[4])+"</a></span>");++am}}if(am>0){ai=ai.replace("(0/","("+am+"/");ai=ai.replace(new RegExp("<span>\\(([0-"+am+"])\\)","g"),'<span class="q2">($1)')}}if(u.lvl){ai=$WH.g_setTooltipLevel(ai,u.lvl,u.buff)}if(u.who&&u.when){ai=ai.replace("<table><tr><td><br />",'<table><tr><td><br /><span class="q2">'+$WH.sprintf(C.achievementcomplete,u.who,u.when.getMonth()+1,u.when.getDate(),u.when.getFullYear())+"</span><br /><br />");ai=ai.replace(/class="q0"/g,'class="r3"')}}}if(j==1){$WH.Tooltip.setIcon(null);$WH.Tooltip.show(Y,ai)}else{$WH.Tooltip.setIcon(aj);$WH.Tooltip.showAtXY(ai,M,K,r,F)}if(U&&$WH.Tooltip.logo){$WH.Tooltip.logo.style.display=(B?"block":"none")}}function o(ag,ai,ah){if(h==ag&&O==ai&&S==ah){ad(C.loading);var af=t[ag][0];af[ai].timer=setTimeout(function(){L.apply(this,[ag,ai,ah])},3850)}}function L(ag,ai,ah){var af=t[ag][0];af[ai].status[ah]=k;if(h==ag&&O==ai&&S==ah){ad(C.noresponse)}}function g(ag,af){return ag+(af.rand?"r"+af.rand:"")+(af.ench?"e"+af.ench:"")+(af.gems?"g"+af.gems.join(","):"")+(af.sock?"s":"")}this.register=function(ah,aj,ai,ag){var af=t[ah][0];n(ah,aj,ai);if(af[aj].timer){clearTimeout(af[aj].timer);af[aj].timer=null}$WH.cO(af[aj],ag);if(af[aj].status[ai]==P){if(af[aj][W(ai)]){af[aj].status[ai]=Q}else{af[aj].status[ai]=v}}if(h==ah&&aj==O&&S==ai){ad(af[aj][W(ai)],af[aj].icon)}};this.registerNpc=function(ah,ag,af){this.register(w,ah,ag,af)};this.registerObject=function(ah,ag,af){this.register(m,ah,ag,af)};this.registerItem=function(ah,ag,af){this.register(D,ah,ag,af)};this.registerQuest=function(ah,ag,af){this.register(I,ah,ag,af)};this.registerSpell=function(ah,ag,af){this.register(x,ah,ag,af)};this.registerAchievement=function(ah,ag,af){this.register(p,ah,ag,af)};this.registerProfile=function(ah,ag,af){this.register(l,ah,ag,af)};this.request=function(af,aj,ah,ai){if(!ai){ai={}}var ag=g(aj,ai);n(af,ag,ah);d(af,aj,ah,1,ai)};this.requestItem=function(ag,af){this.request(D,ag,b.getId(),af)};this.requestSpell=function(af){this.request(x,af,b.getId())};this.getStatus=function(ag,ai,ah){var af=t[ag][0];if(af[ai]!=null){return af[ai].status[ah]}else{return R}};this.getItemStatus=function(ag,af){this.getStatus(D,ag,af)};this.getSpellStatus=function(ag,af){this.getStatus(x,ag,af)};if(U){this.set=function(af){$WH.cO(y,af)};this.showTooltip=function(ah,af,ag){q(ah);ad(af,ag)};this.hideTooltip=function(){$WH.Tooltip.hide()};this.moveTooltip=function(af){a(af)}}Z()}};
