Guest User

Spacewars

a guest
Oct 10th, 2016
479
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 229.25 KB | None | 0 0
  1. // ==UserScript==
  2. // @name SpacesWars_Revamped
  3. // @namespace none
  4. //
  5. // @include http://old.spaceswars.com*
  6. // @include http://spaceswars.fr*
  7. // @include http://www.spaceswars.fr*
  8. // @include http://spaceswars.com*
  9. // @include http://www.spaceswars.com*
  10. // @include http://niark.spaceswars.fr/userscripts/NiArK_SpacesWars/config.php*
  11. //
  12. // @grant GM_setValue
  13. // @grant GM_getValue
  14. // @grant GM_deleteValue
  15. //
  16. // @include http://spaceswars.com/forum*
  17. // @include http://www.spaceswars.com/forum*
  18. // @include http://spaceswars.fr/forum*
  19. // @include http://www.spaceswars.fr/forum*
  20. //
  21. // ==/UserScript==
  22. //
  23. // userscript created by NiArK
  24. // (some scripts by d4rkv3nom, banned for bot using...)
  25. // userscript updated and expanded by DTR
  26. //
  27. // bugs :
  28. // 1- var name 'location' makes Opera bugging
  29. // 2- add innerHTML after addEventListener don't work (Clic&Go, weird, maybe because of my code)
  30.  
  31.  
  32. /*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
  33. !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){
  34. return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ia={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qa[0].contentDocument,b.write(),b.close(),c=sa(a,b),qa.detach()),ra[a]=c),c}var ua=/^margin/,va=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wa=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xa(a,b,c){var d,e,f,g,h=a.style;return c=c||wa(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),va.test(g)&&ua.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function ya(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var za=/^(none|table(?!-c[ea]).+)/,Aa=new RegExp("^("+Q+")(.*)$","i"),Ba=new RegExp("^([+-])=("+Q+")","i"),Ca={position:"absolute",visibility:"hidden",display:"block"},Da={letterSpacing:"0",fontWeight:"400"},Ea=["Webkit","O","Moz","ms"];function Fa(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Ea.length;while(e--)if(b=Ea[e]+c,b in a)return b;return d}function Ga(a,b,c){var d=Aa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Ha(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ia(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wa(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xa(a,b,f),(0>e||null==e)&&(e=a.style[b]),va.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Ha(a,b,c||(g?"border":"content"),d,f)+"px"}function Ja(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",ta(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xa(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fa(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ba.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fa(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xa(a,b,d)),"normal"===e&&b in Da&&(e=Da[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?za.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Ca,function(){return Ia(a,b,d)}):Ia(a,b,d):void 0},set:function(a,c,d){var e=d&&wa(a);return Ga(a,c,d?Ha(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=ya(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ua.test(a)||(n.cssHooks[a+b].set=Ga)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wa(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Ja(this,!0)},hide:function(){return Ja(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Ka(a,b,c,d,e){return new Ka.prototype.init(a,b,c,d,e)}n.Tween=Ka,Ka.prototype={constructor:Ka,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ka.propHooks[this.prop];return a&&a.get?a.get(this):Ka.propHooks._default.get(this)},run:function(a){var b,c=Ka.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ka.propHooks._default.set(this),this}},Ka.prototype.init.prototype=Ka.prototype,Ka.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Ka.propHooks.scrollTop=Ka.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Ka.prototype.init,n.fx.step={};var La,Ma,Na=/^(?:toggle|show|hide)$/,Oa=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pa=/queueHooks$/,Qa=[Va],Ra={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Oa.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Oa.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sa(){return setTimeout(function(){La=void 0}),La=n.now()}function Ta(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ua(a,b,c){for(var d,e=(Ra[b]||[]).concat(Ra["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Va(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||ta(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Na.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?ta(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ua(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wa(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xa(a,b,c){var d,e,f=0,g=Qa.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=La||Sa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:La||Sa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wa(k,j.opts.specialEasing);g>f;f++)if(d=Qa[f].call(j,a,k,j.opts))return d;return n.map(k,Ua,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xa,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Ra[c]=Ra[c]||[],Ra[c].unshift(b)},prefilter:function(a,b){b?Qa.unshift(a):Qa.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xa(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pa.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Ta(b,!0),a,d,e)}}),n.each({slideDown:Ta("show"),slideUp:Ta("hide"),slideToggle:Ta("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(La=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),La=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ma||(Ma=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Ma),Ma=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Ya,Za,$a=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Za:Ya)),
  35. void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Za={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$a[b]||n.find.attr;$a[b]=function(a,b,d){var e,f;return d||(f=$a[b],$a[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$a[b]=f),e}});var _a=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_a.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ab=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ab," ").indexOf(b)>=0)return!0;return!1}});var bb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cb=n.now(),db=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var eb=/#.*$/,fb=/([?&])_=[^&]*/,gb=/^(.*?):[ \t]*([^\r\n]*)$/gm,hb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ib=/^(?:GET|HEAD)$/,jb=/^\/\//,kb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lb={},mb={},nb="*/".concat("*"),ob=a.location.href,pb=kb.exec(ob.toLowerCase())||[];function qb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rb(a,b,c,d){var e={},f=a===mb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function ub(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ob,type:"GET",isLocal:hb.test(pb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sb(sb(a,n.ajaxSettings),b):sb(n.ajaxSettings,a)},ajaxPrefilter:qb(lb),ajaxTransport:qb(mb),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gb.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||ob)+"").replace(eb,"").replace(jb,pb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kb.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pb[1]&&h[2]===pb[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pb[3]||("http:"===pb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rb(lb,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ib.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(db.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fb.test(d)?d.replace(fb,"$1_="+cb++):d+(db.test(d)?"&":"?")+"_="+cb++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nb+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rb(mb,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tb(k,v,f)),u=ub(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vb=/%20/g,wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&").replace(vb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bb=0,Cb={},Db={0:200,1223:204},Eb=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cb)Cb[a]()}),k.cors=!!Eb&&"withCredentials"in Eb,k.ajax=Eb=!!Eb,n.ajaxTransport(function(a){var b;return k.cors||Eb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cb[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Db[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cb[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Fb=[],Gb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Fb.pop()||n.expando+"_"+cb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Gb.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Gb,"$1"+e):b.jsonp!==!1&&(b.url+=(db.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Fb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Hb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Hb)return Hb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Ib=a.document.documentElement;function Jb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Jb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Ib;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ib})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Jb(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=ya(k.pixelPosition,function(a,c){return c?(c=xa(a,b),va.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Kb=a.jQuery,Lb=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Lb),b&&a.jQuery===n&&(a.jQuery=Kb),n},typeof b===U&&(a.jQuery=a.$=n),n});
  36.  
  37. var nbScripts = 14;
  38. var thisVersion = "4.1";
  39. var user = "user";
  40. var configLink = "http://niark.spaceswars.fr/userscripts/NiArK_SpacesWars/config.php";
  41. var versionLink = "http://niark.spaceswars.fr/userscripts/NiArK_SpacesWars/version.php?user=" + user;
  42. var gmicon = "http://niark.spaceswars.fr/userscripts/NiArK_SpacesWars/images/gm_icon.png";
  43. var infos_version = eval("(" + GM_getValue("infos_version") + ")");
  44. var infos_scripts = eval("(" + GM_getValue("infos_scripts") + ")");
  45. var L_ = [];
  46. var lang = "en";
  47.  
  48. var zeroclipboard = "http://niark.spaceswars.fr/zeroclipboard/";
  49. var scripts_icons = "http://niark.spaceswars.fr/userscripts/NiArK_SpacesWars/images/";
  50. var scripts_scripts = "http://niark.spaceswars.fr/userscripts/NiArK_SpacesWars/scripts/";
  51. var carto_link = "http://niark.spaceswars.fr/userscripts/NiArK_SpacesWars/carto.php";
  52.  
  53. var can_load = null;
  54.  
  55. function can_load_in_page(script) {
  56. // type "1" : get all the matching pages
  57. // type "2" : get all the not matching pages
  58. if (can_load === null) {
  59. can_load = {};
  60. can_load.RConverter = {};
  61. can_load.RConverter.type = 1;
  62. can_load.RConverter.rw = true;
  63. can_load.EasyFarm = {};
  64. can_load.EasyFarm.type = 1;
  65. can_load.EasyFarm.messages = true;
  66. can_load.AllinDeut = {};
  67. can_load.AllinDeut.type = 1;
  68. can_load.AllinDeut.buildings = true;
  69. can_load.AllinDeut.research = true;
  70. can_load.Carto = {};
  71. can_load.Carto.type = 1;
  72. can_load.Carto.galaxy = true;
  73. can_load.iFly = {};
  74. can_load.iFly.type = 1;
  75. can_load.iFly.overview = true;
  76. can_load.TChatty = {};
  77. can_load.TChatty.type = 1;
  78. can_load.TChatty.chat = true;
  79. can_load.Markit = {};
  80. can_load.Markit.type = 1;
  81. can_load.Markit.galaxy = true;
  82. can_load.ClicNGo = {};
  83. can_load.ClicNGo.type = 1;
  84. can_load.ClicNGo.index = true;
  85. can_load.More_moonsList = {};
  86. can_load.More_moonsList.type = 2;
  87. can_load.More_moonsList.chat = false;
  88. can_load.More_moonsList.forum = false;
  89. can_load.More_moonsList.index = false;
  90. can_load.More_moonsList.niark = false;
  91. can_load.More_moonsList.rw = false;
  92. //can_load.More_moonsList.leftmenu = false;
  93. can_load.More_convertDeut = {};
  94. can_load.More_convertDeut.type = 1;
  95. can_load.More_convertDeut.marchand = true;
  96. can_load.More_traductor = {};
  97. can_load.More_traductor.type = 1;
  98. can_load.More_traductor.chat = true;
  99. can_load.More_traductor.forum = true;
  100. can_load.More_traductor.message = true;
  101. can_load.More_resources = {};
  102. can_load.More_resources.type = 1;
  103. can_load.More_resources.resources = true;
  104. can_load.More_redirectFleet = {};
  105. can_load.More_redirectFleet.type = 1;
  106. can_load.More_redirectFleet.floten3 = true;
  107. can_load.More_arrows = {};
  108. can_load.More_arrows.type = 2;
  109. can_load.More_arrows.chat = false;
  110. can_load.More_arrows.forum = false;
  111. can_load.More_arrows.index = false;
  112. can_load.More_arrows.niark = false;
  113. can_load.More_arrows.rw = false;
  114. //can_load.More_arrows.leftmenu = false;
  115. can_load.More_returns = {};
  116. can_load.More_returns.type = 1;
  117. can_load.More_returns.overview = true;
  118. can_load.EasyTarget = {};
  119. can_load.EasyTarget.type = 1;
  120. can_load.EasyTarget.galaxy = true;
  121. can_load.InactiveStats = {};
  122. can_load.InactiveStats.type = 1;
  123. can_load.InactiveStats.stat = true;
  124. can_load.AllianceLink = {};
  125. can_load.AllianceLink.type = 1;
  126. can_load.AllianceLink.alliance = true;
  127. can_load.More_deutRow = {};
  128. can_load.More_deutRow.type = 2;
  129. can_load.More_deutRow.niark = false;
  130. can_load.More_deutRow.forum = false;
  131. can_load.More_deutRow.index = false;
  132. can_load.More_deutRow.chat = false;
  133. can_load.More_deutRow.rw = false;
  134. //can_load.More_deutRow.leftmenu = false;
  135. can_load.empireTotal = {};
  136. can_load.empireTotal.type = 1;
  137. can_load.empireTotal.imperium = true;
  138. }
  139. if (can_load[script].type == 1) {
  140. if (can_load[script][page] === undefined) return false;
  141. else return true;
  142. }
  143.  
  144. if (can_load[script].type == 2) {
  145. if (can_load[script][page] === undefined) return true;
  146. else return false;
  147. }
  148. return false;
  149. }
  150.  
  151. function get_slashed_nb(nStr) {
  152. temp = Math.ceil(nStr);
  153. nStr = temp + '';
  154. var x = nStr.split('.');
  155. var x1 = x[0];
  156. var x2 = x.length > 1 ? '.' + x[1] : '';
  157. var rgx = /(\d+)(\d{3})/;
  158. while (rgx.test(x1)) {
  159. x1 = x1.replace(rgx, '$1' + '.' + '$2');
  160. }
  161. return x1 + x2;
  162. }
  163.  
  164. function set_dictionnary() {
  165. var tab = [];
  166. switch (lang) {
  167. case "fr":
  168. {
  169. tab["newVersion"] = "Nouvelle version disponible.\r\nCliquez sur l'icône du menu de gauche pour plus d'informations.";
  170. tab["cantxml"] = "Votre navigateur ne vous permet pas d'envoyer des données vers la cartographie";
  171. tab["ClicNGo_universe"] = "Univers";
  172. tab["ClicNGo_username"] = "Pseudo";
  173. tab["ClicNGo_number"] = "Numéro";
  174. tab["RConverter_HoF"] = "Cochez si c'est un HoF (afin d'ajouter le lien, obligatoire sur le forum)";
  175. tab["RConverter_help"] = "Appuyez sur Ctrl+C pour copier, Ctrl+V pour coller";
  176. tab["iFly_deutfly"] = "Deutérium en vol";
  177. tab["iFly_metal"] = "Métal";
  178. tab["Markit_rank"] = "Place";
  179. tab["More_allTo"] = "Tout mettre à...";
  180. tab["More_convertInto"] = "Tout convertir en";
  181. tab["More_crystal"] = "cristal";
  182. tab["More_deuterium"] = "deutérium";
  183. tab["EasyFarm_attack"] = "Attaquer";
  184. tab["EasyFarm_looting"] = "Pillage";
  185. tab["EasyFarm_ruinsField"] = "Champ de ruines";
  186. tab["EasyFarm_spyReport"] = "Rapport d'espionnage";
  187. tab["EasyFarm_metal"] = "Métal";
  188. tab["EasyFarm_deuterium"] = "Deutérium";
  189. tab["EasyFarm_defenses"] = "Défenses";
  190. tab["AllinDeut_metal"] = "Métal";
  191. tab["AllinDeut_crystal"] = "Cristal";
  192. tab["AllinDeut_deuterium"] = "Deutérium";
  193. tab["small cargo"] = "Petit transporteur";
  194. tab["large cargo"] = "Grand transporteur";
  195. tab["light fighter"] = "Chasseur léger";
  196. tab["heavy fighter"] = "Chasseur lourd";
  197. tab["cruiser"] = "Croiseur";
  198. tab["battleship"] = "Vaisseau de bataille";
  199. tab["colony ship"] = "Vaisseau de colonisation";
  200. tab["recycler"] = "Recycleur";
  201. tab["espionage probe"] = "Sonde espionnage";
  202. tab["bomber"] = "Bombardier";
  203. tab["solar satellite"] = "Satellite solaire";
  204. tab["destroyer"] = "Destructeur";
  205. tab["deathstar"] = "Étoile de la mort";
  206. tab["battlecruiser"] = "Traqueur";
  207. tab["supernova"] = "Supernova";
  208. tab["massive_cargo"] = "Convoyeur";
  209. tab["collector"] = "Collecteur";
  210. tab["blast"] = "Foudroyeur";
  211. tab["extractor"] = "Vaisseau Extracteur";
  212. tab["alliance"] = "Alliance";
  213. tab["chat"] = "Chat";
  214. tab["help / guide"] = "Aide / Guide";
  215. tab["board"] = "Forum";
  216. tab["options"] = "Options";
  217. tab["support"] = "Support";
  218. tab["available"] = "Disponible";
  219. tab["all to"] = "Tout mettre à";
  220. tab["send"] = "Envoyer";
  221. tab["universe"] = "Univers";
  222.  
  223. tab["activate"] = "Activer";
  224. tab["deactivate"] = "Désactiver";
  225. tab["inactiveDescrip1"] = "Afficher joueurs inactifs dans la page de classements. <br />Exige que l'univers soit balayé manuellement, car les valeurs <br />sont mises à jour car ils sont considérés dans l'univers."
  226. tab["inactiveDescrip2"] = "Travaux dans la page de classements";
  227. tab["easyTargetDescrip1"] = "Afficher tous les emplacements recueillies pour chaque joueur en vue de la galaxie"
  228. tab["easyTargetDescrip2"] = "Fonctionne dans la page de galaxie";
  229. tab["import"] = "Importer";
  230. tab["export"] = "Exporter";
  231. tab["EasyImportDescrip"] = "Pour importer, coller ici et appuyez sur l'importation. Pour exporter, appuyez sur l'exportation et copier le texte qui apparaît";
  232. tab["noAutoDescrip1"] = "Désactiver autocomplete de champ sur des pages spécifiques";
  233. tab["noAutoDescrip2"] = "Fonctionne dans toutes les pages avec des champs de saisie semi-automatique";
  234. tab["noAutoGalaxy"] = "Galaxie";
  235. tab["noAutoFleet1"] = "Flotte 1";
  236. tab["noAutoFleet2"] = "Flotte 2";
  237. tab["noAutoFleet3"] = "Flotte 3";
  238. tab["noAutoShip"] = "ChantierSpatial";
  239. tab["noAutoDef"] = "Défenses";
  240. tab["noAutoSims"] = "Simulateurs";
  241. tab["noAutoMerch"] = "Marchand";
  242. tab["noAutoScrap"] = "Ferrailleur";
  243. tab["galaxyRanksDescrip1"] = "Voir les rangs des joueurs directement dans la vue de la galaxie<br /><br />Les rangs doivent être en ordre (le moins cher), et les <br />numéros valides pour qu'il soit traité correctement croissante.";
  244. tab["galaxyRanksDescrip2"] = "Fonctionne dans la page de galaxie";
  245. tab["galaxyRanksOthers"] = "Tous les autres";
  246. tab["deutRowDescrip1"] = "montrer les ressources que vous avez tous en Deut côté métal / crystal / Deut";
  247. tab["deutRowDescrip2"] = "tous apges où l'affichage des ressources apparaît";
  248. tab["galaxyRanksInactive"] = "Voir les inactifs"
  249. tab["convertCDescrip1"] = "En cliquant sur le / crystal / valeur Deut métallique convertit automatiquement toutes <br />les ressources à ce type particulier.";
  250. tab["convertCDescrip2"] = "toutes les pages où l'affichage des ressources montre. ConvertDeut doit être activé";
  251. tab["mcTransDescrip1"] = "Ajoute une option pour sélectionner suffisamment de convoyeur pour le transport de toutes <br />les ressources de la planète à l'autre (u17 seulement)";
  252. tab["mcTransDescrip2"] = "Cette page de la flotte";
  253. tab["empTotDescrip1"] = "Voir la première colonne des totaux en raison de l'empire";
  254. tab["empTotDescrip2"] = "Page d'empire";
  255. tab["mNone"] = "aucun";
  256. tab["mFridge"] = "frigo";
  257. tab["mBunker"] = "bunker";
  258. tab["mAttack"] = "à raider";
  259. tab["mDont"] = "à ne pas";
  260. tab["mTitle"] = "Sélectionnez le type de marquage:";
  261. tab["betterEmpDescrip1"] = "Mieux trier l'affichage empire, avec la colonne «total» d'abord, et la possibilité de commander les <br />planètes selon la disposition attribué dans les paramètres, et ont lunes dernière."
  262. tab["betterEmpDescrip2"] = "Fonctionne dans la page de l'empire"
  263. tab["betterEmpMain"] = "commande standard"
  264. tab["betterEmpMoon"] = "lunes derniers"
  265. tab["FPDescrip1"] = "Ajouter des points de la flotte comme une option dans la page de classements.";
  266. tab["FPDescrip2"] = "Travaux dans la page de classements";
  267. tab["FPAlert"] = "Si cette personne a changé leur nom et ne devrait plus être dans les classements, appuyez sur Entrée."
  268. }
  269. break;
  270. case "en":
  271. {
  272. tab["newVersion"] = "New version avaliable.\r\nClick on the left menu icon for more information.";
  273. tab["cantxml"] = "Your browser can't send datas to your cartography";
  274. tab["ClicNGo_universe"] = "Universe";
  275. tab["ClicNGo_username"] = "Username";
  276. tab["ClicNGo_number"] = "Number";
  277. tab["RConverter_HoF"] = "Check it if it's a HoF (to add the link, mandatory on the board)";
  278. tab["RConverter_help"] = "Press Ctrl+C to copy, Ctrl+V to paste";
  279. tab["iFly_deutfly"] = "Deuterium flying";
  280. tab["iFly_metal"] = "Metal";
  281. tab["Markit_rank"] = "Place";
  282. tab["More_allTo"] = "Set all to...";
  283.  
  284. tab["More_convertInto"] = "Exchange all in ";
  285. tab["More_crystal"] = "crystal";
  286. tab["More_deuterium"] = "deuterium";
  287. tab["EasyFarm_attack"] = "Attack";
  288. tab["EasyFarm_looting"] = "Looting";
  289. tab["EasyFarm_ruinsField"] = "Ruins field";
  290. tab["EasyFarm_spyReport"] = "Spy report";
  291. tab["EasyFarm_metal"] = "Metal";
  292. tab["EasyFarm_deuterium"] = "Deuterium";
  293. tab["EasyFarm_defenses"] = "Defenses";
  294. tab["AllinDeut_metal"] = "Metal";
  295. tab["AllinDeut_crystal"] = "Crystal";
  296. tab["AllinDeut_deuterium"] = "Deuterium";
  297. tab["small cargo"] = "Small cargo";
  298. tab["large cargo"] = "Large cargo";
  299. tab["light fighter"] = "Light Fighter";
  300. tab["heavy fighter"] = "Heavy Fighter";
  301. tab["cruiser"] = "Cruiser";
  302. tab["battleship"] = "Battleship";
  303. tab["colony ship"] = "Colony Ship";
  304. tab["recycler"] = "Recycler";
  305. tab["espionage probe"] = "Espionage Probe";
  306. tab["bomber"] = "Bomber";
  307. tab["solar satellite"] = "Solar Satellite";
  308. tab["destroyer"] = "Destroyer";
  309. tab["deathstar"] = "Deathstar";
  310. tab["battlecruiser"] = "Battlecruiser";
  311. tab["supernova"] = "Supernova";
  312. tab["massive_cargo"] = "Massive cargo";
  313. tab["collector"] = "Collector";
  314. tab["blast"] = "Blast";
  315. tab["extractor"] = "Extractor";
  316. tab["alliance"] = "Alliance";
  317. tab["chat"] = "Chat";
  318. tab["help / guide"] = "Help / Guide";
  319. tab["board"] = "Board";
  320. tab["options"] = "Options";
  321. tab["support"] = "Support";
  322. tab["available"] = "Available";
  323. tab["all to"] = "Set all to";
  324. tab["send"] = "Send";
  325. tab["universe"] = "Universe";
  326.  
  327. tab["activate"] = "Activate";
  328. tab["deactivate"] = "Deactivate";
  329. tab["inactiveDescrip1"] = "Show inactive players inthe statistics page.<br />Requires that the universe be manually scanned,<br />as values are updated as they are seen in the universe.";
  330. tab["inactiveDescrip2"] = "Works in the statistics page";
  331. tab["easyTargetDescrip1"] = "Show all gathered locations for each players in galaxy view"
  332. tab["easyTargetDescrip2"] = "Works in the galaxy page";
  333. tab["import"] = "Import";
  334. tab["export"] = "Export";
  335. tab["EasyImportDescrip"] = "To import, paste here and press import. To export, press export and copy the text that appears";
  336. tab["noAutoDescrip1"] = "Disable field auto-completion on specific pages";
  337. tab["noAutoDescrip2"] = "Works in all pages with auto-complete fields";
  338. tab["noAutoGalaxy"] = "Galaxy";
  339. tab["noAutoFleet1"] = "FleetMain";
  340. tab["noAutoFleet2"] = "FleetDest";
  341. tab["noAutoFleet3"] = "FleetRes";
  342. tab["noAutoShip"] = "Shipyard";
  343. tab["noAutoDef"] = "Defenses";
  344. tab["noAutoSims"] = "Simulators";
  345. tab["noAutoMerch"] = "Mercant";
  346. tab["noAutoScrap"] = "Scrapdealer";
  347. tab["galaxyRanksDescrip1"] = "Show the ranks of players directly in galaxy view.<br /><br />The ranks must be in increasing order (lowest first),<br />and valid numbers, for it to be processed correctly.";
  348. tab["galaxyRanksDescrip2"] = "Works in the galaxy page";
  349. tab["galaxyRanksOthers"] = "All others";
  350. tab["galaxyRanksInactive"] = "Show Inactives"
  351. tab["deutRowDescrip1"] = "show the resources you have all in deut alongside the metal/crystal/deut rows";
  352. tab["deutRowDescrip2"] = "all pages where the resource display appears";
  353. tab["convertCDescrip1"] = "Clicking on the metal/crystal/deut value will automatically convert all resources to that particular type.";
  354. tab["convertCDescrip2"] = "all pages where the resource display appears";
  355. tab["mcTransDescrip1"] = "Adds the option to select enough massive cargos to transport all resources on the planet to another (u17 only)";
  356. tab["mcTransDescrip2"] = "fleet page";
  357. tab["empTotDescrip1"] = "Show the totals column first in empire view";
  358. tab["empTotDescrip2"] = "empire page";
  359. tab["mNone"] = "None";
  360. tab["mFridge"] = "Fridge";
  361. tab["mBunker"] = "Bunker";
  362. tab["mAttack"] = "Attack";
  363. tab["mDont"] = "Don't Attack";
  364. tab["mTitle"] = "Select Marking Type:";
  365. tab["betterEmpDescrip1"] = "Better sort the empire view, with the 'total' column first, and the option to order <br />the planets according to the arrangement assigned in settings, and have moons last."
  366. tab["betterEmpDescrip2"] = "Works in the empire page"
  367. tab["betterEmpMain"] = "Standard ordering"
  368. tab["betterEmpMoon"] = "Moons last"
  369. tab["FPDescrip1"] = "Add fleet points as an option in the statistics page.";
  370. tab["FPDescrip2"] = "Works in the statistics page";
  371. tab["FPAlert"] = "If this person changed their name and shouldn't be in the stats anymore, press enter."
  372. }
  373. break;
  374. default:
  375. alert("Error with language !");
  376. return 0;
  377. }
  378. return tab;
  379. }
  380.  
  381. function check_new_version() {
  382. if (infos_version.toUp) {
  383. alert(L_["newVersion"]);
  384. return true;
  385. }
  386.  
  387. var date = new Date();
  388. if (date.getTime() - infos_version.lastCheck >= 86400000) {
  389. GM_xmlhttpRequest({
  390. url: versionLink,
  391. method: "get",
  392. data: "user=" + user,
  393. onerror: function(response) {
  394. alert("error " + response.status);
  395. },
  396. onload: function(response) {
  397. if (response.responseText != infos_version.version) {
  398. infos_version.toUp = true;
  399. alert(L_["newVersion"]);
  400. }
  401. infos_version.lastCheck = date.getTime();
  402. GM_setValue("infos_version", JSON.stringify(infos_version));
  403. }
  404. });
  405. }
  406. }
  407.  
  408. function set_infos_version() {
  409. var date = new Date();
  410. var tab = {};
  411. tab.version = "4.1";
  412. tab.language = "fr";
  413. tab.news = "";
  414. tab.nbUnis = 17;
  415. tab.toUp = false;
  416. tab.lastCheck = date.getTime();
  417. GM_setValue("infos_version", JSON.stringify(tab));
  418. return tab[0];
  419. }
  420.  
  421. function set_infos_scripts() {
  422. var list = {};
  423. list.RConverter = 1;
  424. list.EasyFarm = 1;
  425. list.AllinDeut = 1;
  426. list.Carto = 1;
  427. list.iFly = 1;
  428. list.InactiveStats = 1;
  429. list.GalaxyRanks = 1;
  430. list.TChatty = 1;
  431. list.NoAutoComplete = 1;
  432. list.Markit = 1;
  433. list.EasyTarget = 1;
  434. list.GalaxyRanks = 1;
  435. list.BetterEmpire = 1;
  436. list.FleetPoints = 1;
  437. list.More = 1;
  438. GM_setValue("infos_scripts", JSON.stringify(list));
  439. //localStorage["infos_scripts"] = JSON.stringify(list);
  440. return list;
  441. }
  442.  
  443. function set_config_scripts(uni) {
  444. if (uni > infos_version.nbUnis) {
  445. infos_version.nbUnis = uni;
  446. GM_setValue("infos_version", JSON.stringify(infos_version));
  447. }
  448.  
  449. var list = {};
  450. if (uni !== 0) // => ingame
  451. {
  452. list.RConverter = {};
  453. list.RConverter.header = "";
  454. list.RConverter.boom = "";
  455. list.RConverter.destroyed = "";
  456. list.RConverter.result = "";
  457. list.RConverter.renta = "";
  458. list.EasyFarm = {};
  459. list.EasyFarm.minPillage = 0;
  460. list.EasyFarm.colorPill = "871717";
  461. list.EasyFarm.minCDR = 0;
  462. list.EasyFarm.colorCDR = "178717";
  463. list.Carto = "";
  464. list.TChatty = {};
  465. list.TChatty.color = "FFFFFF";
  466. list.NoAutoComplete = {};
  467. list.NoAutoComplete.galaxy = true;
  468. list.NoAutoComplete.fleet = true;
  469. list.NoAutoComplete.floten1 = true;
  470. list.NoAutoComplete.floten2 = true;
  471. list.NoAutoComplete.build_fleet = true;
  472. list.NoAutoComplete.build_def = true;
  473. list.NoAutoComplete.sims = true;
  474. list.NoAutoComplete.marchand = true;
  475. list.NoAutoComplete.scrapdealer = true;
  476. list.Markit = {};
  477. list.Markit.color = {};
  478. list.Markit.color["default"] = "FFFFFF";
  479. list.Markit.color["fridge"] = "30A5FF";
  480. list.Markit.color["bunker"] = "FF9317";
  481. list.Markit.color["raidy"] = "44BA1F";
  482. list.Markit.color["dont"] = "FF2626";
  483. list.Markit.coord = {};
  484. list.Markit.ranks = 1;
  485. list.Markit.topX = 50;
  486. list.Markit.topColor = "FF2626";
  487. list.GalaxyRanks = {};
  488. list.GalaxyRanks.ranks = [5, 25, 50, 200];
  489. list.GalaxyRanks.values = ['F05151', 'FFA600', 'E8E83C', '2C79DE', '39DB4E'];
  490. list.BetterEmpire = {};
  491. list.BetterEmpire.byMainSort = 1;
  492. list.BetterEmpire.moonsLast = 1;
  493. list.More = {};
  494. list.More.moonsList = 1;
  495. list.More.convertDeut = 1;
  496. list.More.traductor = 1;
  497. list.More.resources = 1;
  498. list.More.redirectFleet = 1;
  499. list.More.arrows = 1;
  500. list.More.returns = 1;
  501. list.More.deutRow = 1;
  502. list.More.convertClick = 1;
  503. list.More.mcTransport = 1;
  504. } else // => index / niark / forum
  505. {
  506. list.ClicNGo = {};
  507. list.ClicNGo.universes = [];
  508. list.ClicNGo.usernames = [];
  509. list.ClicNGo.passwords = [];
  510. list.More = {};
  511. list.More.traductor = 1;
  512. }
  513. GM_setValue("config_scripts_uni_" + uni, JSON.stringify(list));
  514. return list;
  515. }
  516.  
  517. function get_infos_from_page() {
  518. var list = {};
  519. if (/spaceswars\.(?:fr|com)/.test(window.location.href)) {
  520. list.loc = "index";
  521. }
  522. if (/spaceswars\.(?:fr|com)\/univers[0-9]{1,2}\/(.*)\.php/.test(window.location.href)) {
  523. list.loc = /spaceswars\.(?:fr|com)\/univers[0-9]{1,2}\/(.*)\.php/.exec(window.location.href)[1];
  524. }
  525. if (/niark/.test(window.location.href)) {
  526. list.loc = "niark";
  527. }
  528. if (/spaceswars\.(?:fr|com)\/forum*/.test(window.location.href)) {
  529. list.loc = "forum";
  530. }
  531. list.universe = (/univers([0-9]{1,2})/.test(window.location.href)) ? /univers([0-9]{1,2})/.exec(window.location.href)[1] : 0;
  532. return list;
  533. }
  534.  
  535. function get_dom_xpath(xpath, inDom, row) {
  536. var tab = [];
  537. var alltags = document.evaluate(xpath, inDom, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  538. for (var i = 0; i < alltags.snapshotLength; i++) {
  539. tab[i] = alltags.snapshotItem(i);
  540. }
  541. if (row == -1) return tab;
  542. if (row == -42) return tab[tab.length - 1];
  543. else return tab[row];
  544. }
  545.  
  546. function build_node(type, attr, attrValue, content, event, eventFunc) {
  547. var elem = document.createElement(type);
  548. for (var i = 0; i < attr.length; i++)
  549. elem.setAttribute(attr[i], attrValue[i]);
  550. if (event) elem.addEventListener(event, eventFunc, false);
  551. elem.innerHTML = content;
  552. return elem;
  553. }
  554.  
  555. function sw_to_number_rc(sw_stringnumber) { //Spécial pour les RC ( virgules à la place des points) {
  556. var sw_number = parseInt(sw_stringnumber.replace(/\,/g, ''));
  557. return sw_number;
  558. }
  559.  
  560. function get_nb_from_stringtab(tab) {
  561. var result = "";
  562. for (k = 0; k < tab.length; k++)
  563. result += tab[k];
  564. return parseInt(result);
  565. }
  566.  
  567. // Page doesn't exist anymore...
  568. function send_datas_to_carto() {
  569. if (this.GM_xmlhttpRequest.toString().indexOf("not supported") > -1)
  570. alert(L_["cant_xml"]);
  571. var infos = encodeURIComponent(config.Carto);
  572. document.getElementById("loader").style.display = "inline-block";
  573. document.getElementById("Carto_send").style.display = "none";
  574. GM_xmlhttpRequest({
  575. method: "POST",
  576. url: carto_link,
  577. data: "univers=" + uni + "&data=" + infos,
  578. headers: {
  579. "Content-Type": "application/x-www-form-urlencoded"
  580. },
  581. onload: function(response) {
  582. document.getElementById("loader").style.display = "none";
  583. document.getElementById("Carto_send").style.display =
  584. "inline-block";
  585. if (response.responseText !== "") {
  586. alert(response.responseText);
  587. }
  588. }
  589. });
  590. }
  591.  
  592. function create_script_activity(name, n, tooltiptext) {
  593. var scr = build_node('div', ['class'], ['script'], "");
  594. var scr_title = build_node('div', ['class'], ['script_title'], "");
  595. var tooltip = build_node('div', ['class', 'id', 'style'], ['tooltip', 'tooltip_' + n, 'cursor:help'], name);
  596. var tool_text = build_node('div', ['id', 'class'], ['data_tooltip_' + n, 'hidden'], tooltiptext);
  597. var activate = build_node('input', ['type', 'name', 'id'], ['radio', name + '_active', name + '_activate'], "");
  598. var activate_label = build_node('label', ['for'], [name + '_activate'], L_["activate"]);
  599. var deactivate = build_node('input', ['type', 'name', 'id', 'checked'], ['radio', name + '_active', name + '_deactivate', 'checked'], "");
  600. var deactivate_label = build_node('label', ['for'], [name + '_deactivate'], L_["deactivate"]);
  601. var scr_active = build_node('div', ['class'], ['script_active'], "");
  602. scr_active.appendChild(activate);
  603. scr_active.appendChild(activate_label);
  604. scr_active.appendChild(deactivate);
  605. scr_active.appendChild(deactivate_label);
  606. scr_title.appendChild(tooltip);
  607. scr_title.appendChild(tool_text);
  608. scr_title.appendChild(scr_active);
  609. scr.appendChild(scr_title);
  610. return scr;
  611. }
  612.  
  613. function create_script_option_radio(name, niceName) {
  614. var arr = [];
  615. arr.push(document.createTextNode(niceName + " : "));
  616. arr.push(build_node('input', ['type', 'name', 'id'], ['radio', name + '_active', name + '_activate'], ""));
  617. arr.push(build_node('label', ['for'], [name + '_activate'], L_["activate"]));
  618. arr.push(build_node('input', ['type', 'name', 'id', 'checked'], ['radio', name + '_active', name + '_deactivate', 'checked'], ""));
  619. arr.push(build_node('label', ['for'], [name + '_deactivate'], L_["deactivate"] + "<br />"));
  620. return arr;
  621. }
  622.  
  623. function create_script_option(name, types, attributes, values, contents) {
  624. var result = [];
  625. for (var i = 0; i < types.length; i++) {
  626. result.push(build_node(types[i], attributes[i], values[i], contents[i]));
  627. }
  628. return result;
  629. }
  630.  
  631. function createRankOptions(len) {
  632. var result = [];
  633. for (var i = 0; i < len; i++) {
  634. var option = create_script_option('GalaxyRanks', ['label', 'input', 'label', 'input'], [
  635. ['for'],
  636. ['type', 'id', 'style'],
  637. [],
  638. ['type', 'id', 'class']
  639. ], [
  640. ['GalaxyRanks_r' + i],
  641. ['text', 'GalaxyRanks_r' + i, 'width:10%'],
  642. [],
  643. ['text', 'GalaxyRanks_c' + i, 'color']
  644. ], ['Top ', '', ' : ', '']);
  645. for (var j = 0; j < option.length; j++) {
  646. result.push(option[j]);
  647. }
  648. result.push(document.createElement('br'));
  649. }
  650. var option = create_script_option('GalaxyRanks', ['label', 'input'], [
  651. ['for'],
  652. ['type', 'id', 'class']
  653. ], [
  654. ['GalaxyRanks_r' + len],
  655. ['text', 'GalaxyRanks_c' + i, 'color']
  656. ], [L_.galaxyRanksOthers + ' : ', '']);
  657. for (var j = 0; j < option.length; j++) {
  658. result.push(option[j]);
  659. }
  660. return result;
  661. }
  662.  
  663. function createCheckBoxItems(names, width) {
  664. var result = [];
  665. for (var i = 0; i < names.length; i++) {
  666. var div = build_node('div', ['style'], ['width : ' + width + 'px;float:left'], '');
  667. var condensed = names[i].replace(/ /, '');
  668. div.appendChild(build_node('input', ['type', 'name', 'id'], ['checkbox', condensed + '_check', condensed + '_check'], ''));
  669. div.appendChild(build_node('label', ['for'], [condensed + '_check'], names[i]));
  670. //result.push(document.createElement('br'));
  671. result.push(div);
  672. }
  673. return result;
  674. }
  675.  
  676. // checking...
  677. if (infos_version === undefined || infos_version === null || infos_version.version != thisVersion) {
  678. // ... 1st install ?
  679. if (infos_version === undefined || infos_version === null) {
  680. infos_version = set_infos_version();
  681. infos_scripts = set_infos_scripts();
  682. // get a message if can't have the gm icon without F5 refresh (frames)
  683. var page = get_infos_from_page().loc;
  684. if (infos_version.version == thisVersion && page != "niark" && page != "index" && page != "forum" && page != "leftmenu" && page != "frames")
  685. alert("Script installé. Appuyez sur F5.\n\nScript installed. Press F5.");
  686. }
  687.  
  688. // ... just as updating ?
  689. if (infos_version.version != thisVersion) {
  690. console.log("Version mismatch")
  691. if (infos_version.version === undefined) // 3.8 version
  692. {
  693. GM_deleteValue("infos_version");
  694. GM_deleteValue("infos_scripts");
  695. GM_deleteValue("options_script0");
  696. GM_deleteValue("options_script1");
  697. GM_deleteValue("options_script2");
  698. GM_deleteValue("options_script3");
  699. GM_deleteValue("options_script4");
  700. GM_deleteValue("options_script5");
  701. GM_deleteValue("options_script6");
  702. GM_deleteValue("options_script7");
  703. GM_deleteValue("options_script8");
  704. infos_version = set_infos_version();
  705. infos_scripts = set_infos_scripts();
  706.  
  707. // get a message if can't have the gm icon without F5 refresh (frames)
  708. var page = get_infos_from_page().loc;
  709. if (page != "niark" && page != "index" && page != "forum" && page != "leftmenu" && page != "frames")
  710. alert("Script installé. Appuyez sur F5.\n\nScript installed. Press F5.");
  711. }
  712. if (infos_version.version == "4.0") {
  713. var config;
  714. GM_deleteValue("config_scripts_uni_0");
  715. set_config_scripts(0);
  716. for (var i = 1; i <= 17; i++) {
  717. config = eval("(" + GM_getValue("config_scripts_uni_" + i) + ")");
  718. if (config !== undefined && config !== null) {
  719. config.Markit.topX = 50;
  720. config.Markit.topColor = "FF2626";
  721. config.More.returns = 1;
  722. config.EasyFarm.colorPill = "871717";
  723. config.EasyFarm.colorCDR = "178717";
  724. config.TChatty.color = "FFFFFF";
  725. config.Markit.color["default"] = "FFFFFF";
  726. config.Markit.color["fridge"] = "30A5FF";
  727. config.Markit.color["bunker"] = "FF9317";
  728. config.Markit.color["raidy"] = "44BA1F";
  729. config.Markit.color["dont"] = "FF2626";
  730. GM_setValue("config_scripts_uni_" + i, JSON.stringify(config));
  731. }
  732. }
  733. infos_version = set_infos_version();
  734.  
  735. // get a message if can't have the gm icon without F5 refresh (frames)
  736. var page = get_infos_from_page().loc;
  737. if (page != "niark" && page != "index" && page != "forum" && page !=
  738. "leftmenu" && page != "frames") {
  739. alert("Script mis à jour.\n\nScript updated.");
  740. }
  741. }
  742. }
  743. }
  744.  
  745. // the variable name 'location' makes Opera bugging
  746. var info = get_infos_from_page();
  747. var page = info.loc;
  748. var uni = info.universe
  749. var lang = infos_version.language;
  750. var L_ = set_dictionnary();
  751. var nbUnis = infos_version.nbUnis;
  752.  
  753. if (eval("(" + GM_getValue('config_scripts_uni_' + uni) + ")") === null) {
  754. set_config_scripts(uni);
  755. }
  756.  
  757. if (eval("(" + GM_getValue('infos_scripts') + ")") === null) {
  758. set_infos_scripts();
  759. }
  760.  
  761. if (page != "forum" && page != "niark" && page != "index") {
  762. var config = eval("(" + GM_getValue("config_scripts_uni_" + uni) + ")");
  763. if (config === undefined || config === null) config = set_config_scripts(uni);
  764. }
  765.  
  766. if (page == "forum" || page == "index") {
  767. var config = eval("(" + GM_getValue("config_scripts_uni_0") + ")");
  768. if (config === undefined || config === null) config = set_config_scripts(0);
  769. }
  770.  
  771. if (page == "leftmenu") {
  772. // NV for SW ?
  773. if (document.getElementsByClassName("lm_lang")[0] === undefined) {
  774. alert("Post on the forum (http://spaceswars.com/forum/viewforum.php?f=219)\r\nwith this message :\t'lang_box problem'\r\nThanks.\r\nNiArK");
  775. // return;
  776. }
  777. // get lang
  778. var logout_box = get_dom_xpath("//a[@href='logout.php']", document, 0);
  779. if (logout_box.innerHTML === "Logout") {
  780. infos_version.language = "en";
  781. } else {
  782. infos_version.language = "fr";
  783. }
  784. GM_setValue("infos_version", JSON.stringify(infos_version));
  785. //localStorage["infos_version"] = JSON.stringify(infos_version);
  786. lang = infos_version.language;
  787. // gm_icon
  788. var lang_box = get_dom_xpath("//div[@class='lm_lang']", document, 0);
  789. var gm_icon = build_node("div", ["class", "style"], ["lm_lang", "float:right; margin-right:5px;"],
  790. "<a href='" + configLink + "?lang=" + lang + "&uni=" + uni +
  791. "' target='Hauptframe' title='Scripts_SpacesWars_Corrigé'>" + "<img src='" + gmicon + "' alt='GM'/></a>");
  792. lang_box.appendChild(gm_icon);
  793. // NV for script ?
  794. check_new_version();
  795. }
  796.  
  797. if (page == "niark") {
  798. var versionClass = get_dom_xpath("//div[@class='version4.1']", document, -1);
  799. for (var i = 0; i < versionClass.length; i++)
  800. versionClass[i].style.display = "block";
  801.  
  802. document.getElementById("no_userscript").setAttribute("class", "hidden");
  803. document.getElementById("userscript").setAttribute("class", "");
  804.  
  805. var uni = parseInt(document.getElementById("uni").innerHTML);
  806.  
  807. var config = eval("(" + GM_getValue("config_scripts_uni_" + uni) + ")");
  808.  
  809. //First time using DTR's scripts, reset the config file.
  810. if (config.GalaxyRanks === undefined || config.NoAutoComplete === undefined) {
  811. config = set_config_scripts(uni);
  812. }
  813. if (config.BetterEmpire === undefined) {
  814. config.BetterEmpire = {};
  815. config.BetterEmpire.byMainSort = 1;
  816. config.BetterEmpire.moonsLast = 1;
  817. }
  818. // Needed to get new tooltips to work
  819. get_dom_xpath("//body", document, 0).appendChild(build_node("script", ["type"], ["text/javascript"],
  820. "$(document).ready(function(){\nsetTimeout(function(){\n$('.tooltip').tooltip({width: 'auto', height: 'auto', fontcolor: '#FFF', bordercolor: '#666',padding: '5px', bgcolor: '#111', fontsize: '10px'});\n}, 10);\n}); "
  821. ));
  822. // Scripts that will have their own entry
  823. var inactiveStats = create_script_activity("InactiveStats", 9, L_.inactiveDescrip1 + "<br /><br /><font color='lime'>" + L_.inactiveDescrip2 + "</font>");
  824. var galaxyRanks = create_script_activity("GalaxyRanks", 10, L_.galaxyRanksDescrip1 + "<br /><br /><font color='lime'>" + L_.galaxyRanksDescrip2 + "</font>");
  825. var easyTarget = create_script_activity("EasyTarget", 11, L_.easyTargetDescrip1 + "<br /><br /><font color='lime'>" + L_.easyTargetDescrip2 + "</font>");
  826. var autoComplete = create_script_activity("NoAutoComplete", 12, L_.noAutoDescrip1 + "<br /><br /><font color='lime'>" + L_.noAutoDescrip2 + "</font>");
  827. var easyTarget_textArea = build_node('textarea', ['rows', 'placeholder', 'style', 'id'], ['5', L_.EasyImportDescrip,
  828. 'border:1px solid #545454;padding:1px;vertical-align:middle;border-radius:5px;color:#CDD7F8;font:8pt "Times New Roman" normal;margin:1%;background-color:rgba(0,0,0,0.8);width:96%;max-width:96%', 'EasyTarget_text'
  829. ], '');
  830. var betterEmpire = create_script_activity("BetterEmpire", 13, L_.betterEmpDescrip1 + "<br /><br /><font color='lime'>" + L_.betterEmpDescrip2 + "</font>");
  831. var FleetPoints = create_script_activity("FleetPoints", 14, L_.FPDescrip1 + "<br /><br /><font color='lime'>" + L_.FPDescrip2 + "</font>");
  832.  
  833. // create options for galaxyRanks
  834. var rank_container = build_node('div', ['class'], ['script_options'], '');
  835. var gRanks_options = createRankOptions(config.GalaxyRanks.ranks.length);
  836. for (var i = 0; i < gRanks_options.length; i++) {
  837. rank_container.appendChild(gRanks_options[i]);
  838. }
  839. rank_container.appendChild(document.createElement('br'));
  840. var rank_inactive = create_script_option_radio('ShowInactive', L_.galaxyRanksInactive);
  841. for (var i = 0; i < rank_inactive.length; i++) {
  842. rank_container.appendChild(rank_inactive[i]);
  843. }
  844.  
  845. var emp_container = build_node('div', ['class', 'style'], ['script_options', 'overflow:auto'], '');
  846. var emp_options = createCheckBoxItems([L_.betterEmpMain, L_.betterEmpMoon], 200);
  847. emp_options[0].style.clear = 'both';
  848. emp_container.appendChild(emp_options[0]);
  849. //emp_container.appendChild(document.createElement('br'));
  850. emp_container.appendChild(emp_options[1]);
  851. betterEmpire.appendChild(emp_container);
  852.  
  853. var target_container = build_node('div', ['class'], ['script_options'], '');
  854. var imprt = build_node('input', ['type', 'value'], ['button', L_['import']], '');
  855. var exprt = build_node('input', ['type', 'value'], ['button', L_['export']], '');
  856. target_container.appendChild(imprt);
  857. target_container.appendChild(exprt);
  858. target_container.appendChild(easyTarget_textArea);
  859.  
  860. // create options for NoAutoComplete
  861. var auto_options = createCheckBoxItems([L_.noAutoGalaxy, L_.noAutoFleet1, L_.noAutoFleet2, L_.noAutoFleet3, L_.noAutoShip, L_.noAutoDef, L_.noAutoSims, L_.noAutoMerch, L_.noAutoScrap], 100);
  862. var width_constraint = build_node('div', ['style'], ['max-width:300px'], '');
  863. var auto_container = build_node('div', ['class', 'style'], ['script_options', 'overflow:auto'], '');
  864. for (var i = 0; i < auto_options.length; i++) {
  865. width_constraint.appendChild(auto_options[i]);
  866. }
  867. auto_container.appendChild(width_constraint);
  868.  
  869. // Attach main new scripts and their options
  870. // Attach main new scripts and their options
  871. $('.script')[5].parentNode.appendChild(inactiveStats)
  872. $('.script')[7].parentNode.insertBefore(galaxyRanks, $('.script')[8]);
  873. $('.script')[8].appendChild(rank_container);
  874. $('.script')[5].parentNode.appendChild(easyTarget);
  875. $('.script')[5].parentNode.appendChild(autoComplete);
  876. $('.script')[8].appendChild(auto_container);
  877. $('.script')[7].appendChild(target_container);
  878. $('.script')[11].parentNode.insertBefore(betterEmpire, $('.script')[11]);
  879. $('.script')[12].parentNode.insertBefore(FleetPoints, $('.script')[12]);
  880.  
  881. $('#' + L_.betterEmpMain.replace(' ', '') + '_check').click(function() {
  882. if (this.checked) $('#' + L_.betterEmpMoon.replace(' ', '') + '_check').removeAttr('disabled');
  883. else {
  884. $('#' + L_.betterEmpMoon.replace(' ', '') + '_check').attr('checked', false);
  885. $('#' + L_.betterEmpMoon.replace(' ', '') + '_check').attr('disabled', true);
  886. }
  887. });
  888.  
  889. // Create script that will go under "More"
  890. var deutR = create_script_option_radio('More_deutRow', 'DeutRow');
  891. var convertC = create_script_option_radio('More_convertClick', 'ConvertClick');
  892. var mcTrans = create_script_option_radio('More_mcTransport', 'mcTransport');
  893. var empireTot = create_script_option_radio('More_empireTotals', 'EmpireTotals');
  894.  
  895. // Descriptions for the "More" script
  896. var deutR_descrip = build_node('li', [], [], "DeutRow : " + L_.deutRowDescrip1 + "<br />(<font color='lime'" + L_.deutRowDescrip2 + "</font>)");
  897. var convertC_descrip = build_node('li', [], [], "ConvertClick : " + L_.ConvertCDescrip1 + "<br />(<font color='lime'>" + L_.ConvertCDescrip2 + "</font>)");
  898. var mcTrans_descrip = build_node('li', [], [], "mcTransport : " + L_.mcTransDescrip1 + "<br />(<font color='lime'>" + L_.mcTransDescrip2 + "</font>)");
  899.  
  900. // Attach the additional "More" script
  901. for (var i = 0; i < deutR.length; i++) {
  902. $('#tooltip_8')[0].parentNode.parentNode.childNodes[3].appendChild(deutR[i]);
  903. }
  904. for (var i = 0; i < convertC.length; i++) {
  905. $('#tooltip_8')[0].parentNode.parentNode.childNodes[3].appendChild(convertC[i]);
  906. }
  907. for (var i = 0; i < mcTrans.length; i++) {
  908. $('#tooltip_8')[0].parentNode.parentNode.childNodes[3].appendChild(mcTrans[i]);
  909. }
  910.  
  911. // Attach the additional "More" script description
  912. $('#data_tooltip_8')[0].childNodes[2].appendChild(deutR_descrip);
  913. $('#data_tooltip_8')[0].childNodes[2].appendChild(convertC_descrip);
  914. $('#data_tooltip_8')[0].childNodes[2].appendChild(mcTrans_descrip);
  915. //Messing with the page makes the color pickers act weird. Only way I know to fix is to remove them and re-add them, yuck.
  916. var color = build_node('input', ['type', 'class'], ['text', 'color'], "");
  917. var lootColor = $('#EasyFarm_colorPill')[0];
  918. var parent = lootColor.parentNode;
  919. parent.removeChild(lootColor);
  920. parent.insertBefore(build_node('input', ['type', 'class', 'id'], ['text', 'color', 'EasyFarm_colorPill'], ""), parent.childNodes[5]);
  921. var fieldColor = $('#EasyFarm_colorCDR')[0];
  922. parent.removeChild(fieldColor);
  923. parent.insertBefore(build_node('input', ['type', 'class', 'id'], ['text', 'color', 'EasyFarm_colorCDR'], ""), parent.childNodes[15]);
  924. var fridge = $('#Markit_fridge')[0];
  925. parent = fridge.parentNode;
  926. parent.removeChild(fridge);
  927. parent.insertBefore(build_node('input', ['type', 'class', 'id'], ['text', 'color', 'Markit_fridge'], ""), parent.childNodes[0]); //0 6 11 16
  928. var bunker = $('#Markit_bunker')[0];
  929. parent.removeChild(bunker);
  930. parent.insertBefore(build_node('input', ['type', 'class', 'id'], ['text', 'color', 'Markit_bunker'], ""), parent.childNodes[7]);
  931. var attack = $('#Markit_raidy')[0];
  932. parent.removeChild(attack);
  933. parent.insertBefore(build_node('input', ['type', 'class', 'id'], ['text', 'color', 'Markit_raidy'], ""), parent.childNodes[12]);
  934. var dont = $('#Markit_dont')[0];
  935. parent.removeChild(dont);
  936. parent.insertBefore(build_node('input', ['type', 'class', 'id'], ['text', 'color', 'Markit_dont'], ""), parent.childNodes[17]);
  937. // Remove Markit's rank feature
  938. for (var i = 23; i < 33; i++) {
  939. parent.removeChild(parent.childNodes[23]);
  940. }
  941.  
  942. var actives = get_dom_xpath("//div[@class='script_active']/input[1]", document, -1),
  943. script;
  944. var options = get_dom_xpath("//div[@class='script_options']", document, -1),
  945. inputs;
  946.  
  947. if (infos_scripts === undefined || infos_scripts === null) {
  948. console.log("reset");
  949. infos_scripts = set_infos_scripts();
  950. }
  951.  
  952. for (var i = 0; i < nbScripts; i++) {
  953. script = /(.*)_activate/.exec(actives[i].id)[1];
  954. (infos_scripts[script]) ? actives[i].checked = true: actives[i].parentNode.getElementsByTagName("input")[1].checked = "false";
  955. switch (script) {
  956. case "RConverter":
  957. inputs = options[0].getElementsByTagName("input");
  958. inputs[0].value = config.RConverter.header;
  959. inputs[1].value = config.RConverter.boom;
  960. inputs[2].value = config.RConverter.destroyed;
  961. inputs[3].value = config.RConverter.result;
  962. inputs[4].value = config.RConverter.renta;
  963. break;
  964. case "EasyFarm":
  965. inputs = options[1].getElementsByTagName("input");
  966. inputs[0].value = config.EasyFarm.minPillage;
  967. inputs[1].value = config.EasyFarm.colorPill;
  968. inputs[2].value = config.EasyFarm.minCDR;
  969. inputs[3].value = config.EasyFarm.colorCDR;
  970. break;
  971. case "Carto":
  972. inputs = options[2].getElementsByTagName("input");
  973. inputs[0].addEventListener("click", function() {
  974. send_datas_to_carto();
  975. }, false);
  976. inputs[1].addEventListener("click", function() {
  977. alert(config.Carto);
  978. }, false);
  979. inputs[2].addEventListener("click", function() {
  980. if (confirm("Reset ?")) {
  981. config.Carto = "";
  982. GM_setValue("config_scripts_uni_" + uni, JSON.stringify(config));
  983. }
  984. }, false);
  985. break;
  986. case "EasyTarget":
  987. inputs = options[3].getElementsByTagName('input');
  988. inputs[0].addEventListener('click', function() {
  989. var data = $('#EasyTarget_text')[0].value;
  990. try {
  991. JSON.parse(data);
  992. } catch (err) {
  993. alert('Invalid format, not changing');
  994. return;
  995. }
  996. if (data.length !== 0) {
  997. var conf = confirm("Are you sure you want to change the galaxy data? This cannot be undone.")
  998. if (conf) GM_setValue('galaxy_data_' + uni, data);
  999. $('#EasyTarget_text')[0].value = '';
  1000. }
  1001. });
  1002. inputs[1].addEventListener('click', function() {
  1003. $('#EasyTarget_text')[0].value = GM_getValue('galaxy_data_' + uni);
  1004. $('#EasyTarget_text')[0].focus();
  1005. $('#EasyTarget_text')[0].select();
  1006. });
  1007. break;
  1008. case "NoAutoComplete":
  1009. inputs = options[4].getElementsByTagName('input');
  1010. inputs[0].checked = config.NoAutoComplete.galaxy;
  1011. inputs[1].checked = config.NoAutoComplete.fleet;
  1012. inputs[2].checked = config.NoAutoComplete.floten1;
  1013. inputs[3].checked = config.NoAutoComplete.floten2;
  1014. inputs[4].checked = config.NoAutoComplete.build_fleet;
  1015. inputs[5].checked = config.NoAutoComplete.build_def;
  1016. inputs[6].checked = config.NoAutoComplete.sims;
  1017. inputs[7].checked = config.NoAutoComplete.marchand;
  1018. inputs[8].checked = config.NoAutoComplete.scrapdealer;
  1019. break;
  1020. case "Markit":
  1021. inputs = options[5].getElementsByTagName("input");
  1022. inputs[0].value = config.Markit.color.fridge;
  1023. inputs[1].value = config.Markit.color.bunker;
  1024. inputs[2].value = config.Markit.color.raidy;
  1025. inputs[3].value = config.Markit.color.dont;
  1026. inputs[4].addEventListener("click", function() {
  1027. if (confirm("Reset ?")) {
  1028. config.Markit.coord = {};
  1029. GM_setValue('markit_data_' + uni, JSON.stringify({}));
  1030. GM_setValue("config_scripts_uni_" + uni, JSON.stringify(config));
  1031. }
  1032. }, false);
  1033. //if (config.Markit.ranks) inputs[5].checked = true;
  1034. //inputs[7].value = config.Markit.topX;
  1035. //inputs[8].value = config.Markit.topColor;
  1036. break;
  1037. case "GalaxyRanks":
  1038. inputs = options[6].getElementsByTagName('input');
  1039. for (var j = 0; j < config.GalaxyRanks.ranks.length; j++) {
  1040. inputs[j * 2].value = config.GalaxyRanks.ranks[j];
  1041. inputs[j * 2 + 1].value = config.GalaxyRanks.values[j];
  1042. }
  1043. inputs[inputs.length - 3].value = config.GalaxyRanks.values[config.GalaxyRanks.values.length - 1];
  1044. if (config.GalaxyRanks.inactives) inputs[inputs.length - 2].checked = true;
  1045. break;
  1046. case "BetterEmpire":
  1047. inputs = options[7].getElementsByTagName('input');
  1048. if (config.BetterEmpire.byMainSort) inputs[0].checked = true;
  1049. if (config.BetterEmpire.moonsLast) inputs[1].checked = true;
  1050. break;
  1051. case "More":
  1052. inputs = options[8].getElementsByTagName("input");
  1053. if (config.More.moonsList) inputs[0].checked = true;
  1054. if (config.More.convertDeut) inputs[2].checked = true;
  1055. if (config.More.traductor) inputs[4].checked = true;
  1056. if (config.More.resources) inputs[6].checked = true;
  1057. if (config.More.redirectFleet) inputs[8].checked = true;
  1058. if (config.More.arrows) inputs[10].checked = true;
  1059. if (config.More.returns) inputs[12].checked = true;
  1060. if (config.More.deutRow) inputs[14].checked = true;
  1061. if (config.More.convertClick) inputs[16].checked = true;
  1062. if (config.More.mcTransport) inputs[18].checked = true;
  1063. break;
  1064. }
  1065. }
  1066. //jscolor.init();
  1067. // When "Saved" is clicked...
  1068.  
  1069. $('img[alt="save_config"]').click(
  1070. function() {
  1071. this.src = scripts_icons + "loading.gif";
  1072. for (var i = 0; i < nbScripts; i++) {
  1073. script = /(.*)_activate/.exec(actives[i].id)[1];
  1074. infos_scripts[script] = actives[i].checked;
  1075. switch (script) {
  1076. case "RConverter":
  1077. inputs = options[0].getElementsByTagName("input");
  1078. config.RConverter.header = inputs[0].value;
  1079. config.RConverter.boom = inputs[1].value;
  1080. config.RConverter.destroyed = inputs[2].value;
  1081. config.RConverter.result = inputs[3].value;
  1082. config.RConverter.renta = inputs[4].value;
  1083. break;
  1084. case "EasyFarm":
  1085. inputs = options[1].getElementsByTagName("input");
  1086. config.EasyFarm.minPillage = parseInt(inputs[0].value);
  1087. config.EasyFarm.colorPill = inputs[1].value;
  1088. config.EasyFarm.minCDR = parseInt(inputs[2].value);
  1089. config.EasyFarm.colorCDR = inputs[3].value;
  1090. break;
  1091. case "NoAutoComplete":
  1092. inputs = options[4].getElementsByTagName('input');
  1093. config.NoAutoComplete.galaxy = inputs[0].checked;
  1094. config.NoAutoComplete.fleet = inputs[1].checked;
  1095. config.NoAutoComplete.floten1 = inputs[2].checked;
  1096. config.NoAutoComplete.floten2 = inputs[3].checked;
  1097. config.NoAutoComplete.build_fleet = inputs[4].checked;
  1098. config.NoAutoComplete.build_def = inputs[5].checked;
  1099. config.NoAutoComplete.sims = inputs[6].checked;
  1100. config.NoAutoComplete.marchand = inputs[7].checked;
  1101. config.NoAutoComplete.scrapdealer = inputs[8].checked;
  1102. case "Markit":
  1103. inputs = options[5].getElementsByTagName("input");
  1104. config.Markit.color.fridge = inputs[0].value;
  1105. config.Markit.color.bunker = inputs[1].value;
  1106. config.Markit.color.raidy = inputs[2].value;
  1107. config.Markit.color.dont = inputs[3].value;
  1108. //config.Markit.ranks = inputs[5].checked;
  1109. //config.Markit.topX = parseInt(inputs[7].value);
  1110. //config.Markit.topColor = inputs[8].value;
  1111. break;
  1112. case "GalaxyRanks":
  1113. inputs = options[6].getElementsByTagName('input');
  1114. var rs = [];
  1115. var vals = [];
  1116. for (var j = 0; j < (inputs.length - 3) / 2; j++) {
  1117. rs.push(inputs[j * 2].value);
  1118. vals.push(inputs[j * 2 + 1].value);
  1119. }
  1120. vals.push(inputs[inputs.length - 3].value);
  1121. config.GalaxyRanks.ranks = rs;
  1122. config.GalaxyRanks.values = vals;
  1123. config.GalaxyRanks.inactives = inputs[inputs.length - 2].checked;
  1124. break;
  1125. case "BetterEmpire":
  1126. inputs = options[7].getElementsByTagName('input');
  1127. config.BetterEmpire.byMainSort = inputs[0].checked;
  1128. config.BetterEmpire.moonsLast = inputs[1].checked;
  1129. break;
  1130. case "More":
  1131. inputs = options[8].getElementsByTagName("input");
  1132. config.More.moonsList = inputs[0].checked;
  1133. config.More.convertDeut = inputs[2].checked;
  1134. config.More.traductor = inputs[4].checked;
  1135. config.More.resources = inputs[6].checked;
  1136. config.More.redirectFleet = inputs[8].checked;
  1137. config.More.arrows = inputs[10].checked;
  1138. config.More.returns = inputs[12].checked;
  1139. config.More.deutRow = inputs[14].checked;
  1140. config.More.convertClick = inputs[16].checked;
  1141. config.More.mcTransport = inputs[18].checked;
  1142. break;
  1143. }
  1144. }
  1145. GM_setValue("config_scripts_uni_" + uni, JSON.stringify(config));
  1146. GM_setValue("infos_scripts", JSON.stringify(infos_scripts));
  1147. this.src = scripts_icons + "done.png";
  1148. setTimeout(function() {
  1149. get_dom_xpath("id('tooltip_0')/img", document, 0).src =
  1150. scripts_icons + "save_config.png";
  1151. }, 1000);
  1152. });
  1153. }
  1154.  
  1155. if (can_load_in_page("ClicNGo")) // doesn't count as a script (no option to deactivate it)
  1156. {
  1157. document.getElementsByTagName("body")[0].appendChild(build_node("script", [
  1158. "type"
  1159. ], ["text/javascript"], function putLogs(uni, pseudo, pass) {
  1160. document.getElementById("login_univers").value = uni;
  1161. document.getElementById("login_pseudo").value = pseudo;
  1162. document.getElementById("login_password").value = pass;
  1163. document.getElementById("login_submit").disabled = "";
  1164. document.getElementById("form_login").submit();
  1165. }));
  1166. var clicngo = build_node("div", ["style", "id"], ["float:right;cursor:pointer;padding:4px 0 0 4px;", "clicngo"],
  1167. "<img src='" + scripts_icons + "Clic&Go/connecting_people.png'></img>");
  1168.  
  1169. var script = build_node("script", ["type"], ["text/javascript"],
  1170. "$('#clicngo').click(function(){$('#clicngo_contents').css('display','block');$('body').css('opacity', '0.2');});");
  1171.  
  1172. var div = build_node("div", ["style", "id"], ["padding:5px;font:12px Times New Roman normal;width:40%;display:none;background-color:black" +
  1173. "color:white;border-radius:5px 5px 5px 5px;border:1px solid white;position:absolute;top:10%;left:30%;",
  1174. "clicngo_contents"
  1175. ], "");
  1176.  
  1177. document.body.parentNode.appendChild(div);
  1178.  
  1179. clicngo.appendChild(script);
  1180. get_dom_xpath("id('top_login_div')/div", document, 0).appendChild(clicngo);
  1181. var clicngo_contents = document.getElementById("clicngo_contents");
  1182. var html = "<div onclick='$(\"#clicngo_contents\").css(\"display\",\"none\");$(\"body\").css(\"opacity\", \"1\");'" +
  1183. " style='padding-bottom:5px;cursor:pointer;text-align:center;color:#A6FF94;border-bottom:1px solid white;font-weight:bold;'>Clic & Go !</div>";
  1184. html += "<div id='clicngo_id'></div>";
  1185. html += "<div style='width:50%;border-bottom:1px solid white;margin:10px 0 10px 0;'></div>";
  1186. html += "<div><input id='remove_nb' onclick='this.value=\"\";' type='text' value='#' style='width:20px;border:1px solid #545454;height:15px;padding:1px;" +
  1187. "vertical-align:middle;background-color:black;border-radius:5px 5px 5px 5px;color:#CDD7F8;font:13px Times New Roman normal;margin:5px 5px 1px 2px;text-align:center;'/>";
  1188. html += "<img id='remove_submit' style='cursor:pointer;position:relative;top:7px;' src='" + scripts_icons + "Clic&Go/remove.png' alt='remove'/></div>";
  1189. html += "<div><select id='add_universe' type='text' style='border:1px solid #545454;height:20px;padding:1px;" +
  1190. "vertical-align:middle;background-color:black;border-radius:5px 5px 5px 5px;color:#CDD7F8;font:13px Times New Roman normal;margin:5px 0 1px 2px;text-align:center;'>";
  1191.  
  1192. for (var i = 0; i < nbUnis; i++)
  1193. html += "<option value=" + (i + 1) + ">" + L_["ClicNGo_universe"] + " " + (i + 1) + "</option>";
  1194. html += "<input id='add_username' onclick='this.value=\"\";' type='text' value='" +
  1195. L_["ClicNGo_username"] +
  1196. "' style='border:1px solid #545454;height:15px;padding:1px;vertical-align:middle;background-color:black;border-radius:5px 5px 5px 5px;" +
  1197. "color:#CDD7F8;font:13px Times New Roman normal;margin:5px 0 1px 2px;text-align:center;'/>";
  1198. html += "<input id='add_password' onclick='this.value=\"\";' type='password' value='password' style='border:1px solid #545454;height:15px;padding:1px;" +
  1199. "vertical-align:middle;background-color:black;border-radius:5px 5px 5px 5px;color:#CDD7F8;font:13px Times New Roman normal;margin:5px 0 1px 2px;text-align:center;'/>";
  1200. html += "<img id='add_submit' style='cursor:pointer;position:absolute;'src='" +
  1201. scripts_icons + "Clic&Go/add.png' alt='add'/></div>";
  1202. clicngo_contents.innerHTML += html;
  1203.  
  1204. function insert_clicngo_contents() {
  1205. for (var i = 0; i < config.ClicNGo.universes.length; i++) {
  1206. div = build_node("div", ["id", "name", "style"], ["clicngo_" + i, "clicngo_" + i, "margin:5px;"], "#" + (i + 1) + ": " + config.ClicNGo.usernames[i] +
  1207. " (" + L_["ClicNGo_universe"] + " " + config.ClicNGo.universes[i] + ")");
  1208. document.getElementById("clicngo_id").appendChild(div);
  1209. }
  1210. for (var i = 0; i < config.ClicNGo.universes.length; i++) {
  1211. var img = build_node("img", ["name", "src", "alt", "style"], ["clicngo_" + i, scripts_icons +
  1212. "Clic&Go/login.png", "go", "margin-left:5px;cursor:pointer;position:absolute;"
  1213. ], "");
  1214. img.addEventListener("click", function() {
  1215. var index = /clicngo_(\d*)/.exec(this.name)[1];
  1216. document.getElementById("login_univers").value = config.ClicNGo.universes[index];
  1217. document.getElementById("login_pseudo").value = config.ClicNGo.usernames[index];
  1218. document.getElementById("login_password").value = config.ClicNGo.passwords[index];
  1219. document.getElementById("login_submit").click();
  1220. }, false);
  1221. document.getElementById("clicngo_" + i).appendChild(img);
  1222. }
  1223. }
  1224. insert_clicngo_contents();
  1225. document.getElementById("add_submit").addEventListener("click", function() {
  1226. var index = config.ClicNGo.universes.length;
  1227. if (isNaN(parseInt(document.getElementById("add_universe").value)))
  1228. return false;
  1229. config.ClicNGo.universes[index] = parseInt(document.getElementById("add_universe").value);
  1230. config.ClicNGo.usernames[index] = document.getElementById("add_username").value;
  1231. config.ClicNGo.passwords[index] = document.getElementById("add_password").value;
  1232. //localStorage["config_script_uni_0"] = JSON.stringify(config);
  1233. GM_setValue("config_scripts_uni_0", JSON.stringify(config));
  1234. document.getElementById("clicngo_id").innerHTML = "";
  1235. insert_clicngo_contents();
  1236. }, false);
  1237.  
  1238. document.getElementById("remove_submit").addEventListener("click", function() {
  1239. if (isNaN(parseInt(document.getElementById("add_universe").value)))
  1240. return false;
  1241. var nb = parseInt(document.getElementById("remove_nb").value);
  1242. config.ClicNGo.universes.splice(nb - 1, 1);
  1243. config.ClicNGo.usernames.splice(nb - 1, 1);
  1244. config.ClicNGo.passwords.splice(nb - 1, 1);
  1245. GM_setValue("config_scripts_uni_0", JSON.stringify(config));
  1246. //localStorage["config_scripts+_uni_0"] = JSON.stringify(config);
  1247. document.getElementById("clicngo_id").innerHTML = "";
  1248. insert_clicngo_contents();
  1249. }, false);
  1250.  
  1251. }
  1252.  
  1253. if (can_load_in_page("RConverter") && infos_scripts.RConverter) {
  1254. var couleurs_rc = {
  1255. 0: "#0000FF",
  1256. 1: "#8A2BE2",
  1257. 2: "#A52A2A",
  1258. 3: "#D2691E",
  1259. 4: "#6495ED",
  1260. 5: "#DC143C",
  1261. 6: "#00008B",
  1262. 7: "#008B8B",
  1263. 8: "#006400",
  1264. 9: "#8B008B",
  1265. 10: "#8B0000",
  1266. 11: "#1E90FF",
  1267. 12: "#B22222",
  1268. 13: "#008000",
  1269. 14: "#4B0082",
  1270. 15: "#800000",
  1271. 16: "#800080",
  1272. 17: "#FF4500",
  1273. 18: "#000",
  1274. 19: "#2E8B57",
  1275. 20: "#4682B4",
  1276. 21: "#8B4513",
  1277. 22: "#FA8072",
  1278. 23: "#FF0000",
  1279. 24: "#DA70D6",
  1280. 25: "#7B68EE",
  1281. 26: "#3CB371",
  1282. 27: "#0000CD"
  1283. };
  1284. var rapport = document.getElementById('rc_main').getElementsByClassName('rc_contain curvedtot');
  1285. var nb_tours = ((rapport.length == 3) ? 1 : 2); //nb_tours = 2 lorsqu'il y a au moins deux tours
  1286.  
  1287. var rapport_tour1 = rapport[0];
  1288. if (nb_tours != 1) {
  1289. var rapport_tour2 = rapport[rapport.length - 4];
  1290. }
  1291.  
  1292. var date_rc = document.getElementById('rc_main').getElementsByClassName('divtop curvedtot')[0].innerHTML;
  1293. var participants = [];
  1294. participants[0] = []; // Pseudos et techs
  1295. participants[1] = []; // Flottes Avant
  1296. participants[2] = []; // Flottes Après
  1297. //Noms des joueurs et technos
  1298. for (var i = 0; i < rapport_tour1.getElementsByClassName('divtop curvedtot').length; i++) {
  1299. participants[0][i] = rapport_tour1.getElementsByClassName(
  1300. 'divtop curvedtot')[i].innerHTML.replace(
  1301. /(?:Attaquant|Attacker) ([a-zA-Z0-9_]*)/g,
  1302. 'Attaquant [b][size=128][color=#FF0040]$1[/color][/size][/b]').replace(
  1303. /(?:Défenseur|Defender) ([a-zA-Z0-9_]*)/g,
  1304. 'Défenseur [b][size=128][color=#008040]$1[/color][/size][/b]').replace(
  1305. /\(/g, '\n').replace(/\)/g, '\n').replace(/\[\d:\d{1,3}:\d{1,2}\]/g, '').replace(
  1306. /<font color=\"#7BE654\">/g, '[b]').replace(/<\/font>/g, '[/b]');
  1307. }
  1308.  
  1309. var flotte_joueur_tmp, nom_vaisseau, quantite_vaisseau;
  1310.  
  1311. var flottes = rapport_tour1.getElementsByClassName('rc_space curvedtot');
  1312. for (var i = 0; i < flottes.length; i++) {
  1313. flotte_joueur_tmp = flottes[i].getElementsByClassName('rc_rows');
  1314. participants[1][i] = [];
  1315. for (var j = 0; j < flotte_joueur_tmp.length; j++) {
  1316. nom_vaisseau = flotte_joueur_tmp[j].getElementsByClassName('rc_rows1')[0].innerHTML;
  1317. quantite_vaisseau = flotte_joueur_tmp[j].getElementsByTagName('font')[0].innerHTML;
  1318. participants[1][i][j] = [nom_vaisseau, quantite_vaisseau];
  1319. }
  1320. }
  1321.  
  1322. if (nb_tours != 1) {
  1323. var flottes = rapport_tour2.getElementsByClassName('rc_space curvedtot');
  1324. for (var i = 0; i < flottes.length; i++) {
  1325. flotte_joueur_tmp = flottes[i].getElementsByClassName('rc_rows');
  1326. participants[2][i] = [];
  1327. for (var j = 0; j < flotte_joueur_tmp.length; j++) {
  1328. nom_vaisseau = flotte_joueur_tmp[j].getElementsByClassName('rc_rows1')[0].innerHTML;
  1329. quantite_vaisseau = flotte_joueur_tmp[j].getElementsByTagName('font')[0].innerHTML;
  1330. participants[2][i][j] = [nom_vaisseau, quantite_vaisseau];
  1331. }
  1332. }
  1333. }
  1334.  
  1335. var resultat_combat = rapport[rapport.length - 3].getElementsByClassName('divtop curvedtot')[0].innerHTML;
  1336. if (rapport[rapport.length - 3].getElementsByClassName('space0')[0] !== null && rapport[rapport.length - 3].getElementsByClassName('space0')[0] !== undefined) {
  1337. resultat_combat += " " + rapport[rapport.length - 3].getElementsByClassName(
  1338. 'space0')[0].innerHTML.replace(/<font color=\"#7BE654\">/g,
  1339. '[b][size=120][color=#C03000]').replace(/<\/font>/g,
  1340. '[/b][/size][/color]')
  1341. }
  1342. var resultat_CDR = rapport[rapport.length - 2].getElementsByClassName(
  1343. 'space0')[2].innerHTML.replace(/<font color=\"#7BE654\">/g,
  1344. '[b][size=120][color=#7BE654]').replace(/<\/font>/g,
  1345. '[/b][/size][/color]');
  1346. var renta_attaquant = rapport[rapport.length - 2].getElementsByClassName(
  1347. 'space0')[3].innerHTML.replace(/<font color=\"#7BE654\">/g,
  1348. '[b][size=120][color=#7BE654]').replace(/<\/font>/g,
  1349. '[/b][/size][/color]').replace(/<font color=\"#DB5656\">/g,
  1350. '[b][size=120][color=#DB5656]').replace(/<\/font>/g,
  1351. '[/b][/size][/color]').replace(/<br>/g, '\n');
  1352. var renta_defenseur = rapport[rapport.length - 2].getElementsByClassName(
  1353. 'space0')[4].innerHTML.replace(/<font color=\"#7BE654\">/g,
  1354. '[b][size=120][color=#7BE654]').replace(/<\/font>/g,
  1355. '[/b][/size][/color]').replace(/<font color=\"#DB5656\">/g,
  1356. '[b][size=120][color=#DB5656]').replace(/<\/font>/g,
  1357. '[/b][/size][/color]').replace(/<br>/g, '\n');;
  1358.  
  1359. var rapport_converti = "";
  1360. rapport_converti += "[center][b][img]" + ((config.RConverter.header === '') ?
  1361. scripts_icons + 'RConverter/header.png' : config.RConverter.header) + "[/img]\n\n";
  1362. rapport_converti += date_rc + "[/b]\n";
  1363. rapport_converti += "_________________________________________________\n\n";
  1364. for (var i = 0; i < participants[0].length; i++) {
  1365. rapport_converti += participants[0][i];
  1366. if (participants[1][i].length === 0) {
  1367. rapport_converti += "[img]" + ((config.RConverter.destroyed === '') ?
  1368. scripts_icons + 'RConverter/destroyed.png' : config.RConverter.destroyed) + "[/img]\n";
  1369. }
  1370. for (var j = 0; j < participants[1][i].length; j++) {
  1371. rapport_converti += "[color=" + couleurs_rc[j] + "]" + participants[1][i][j][0] + " " + participants[1][i][j][1] + "[/color]\n";
  1372. }
  1373. rapport_converti += "\n\n";
  1374. }
  1375.  
  1376. if (nb_tours != 1) {
  1377. var difference;
  1378. rapport_converti += "[img]" + ((config.RConverter.boom === '') ?
  1379. scripts_icons + 'RConverter/boom.png' : config.RConverter.boom) +
  1380. "[/img]";
  1381. rapport_converti += "\n\n";
  1382.  
  1383. for (var i = 0; i < participants[0].length; i++) {
  1384. rapport_converti += participants[0][i];
  1385. if (participants[2][i].length === 0) {
  1386. rapport_converti += "[img]" + ((config.RConverter.destroyed === '') ?
  1387. scripts_icons + 'RConverter/destroyed.png' : config.RConverter.destroyed
  1388. ) + "[/img]\n";
  1389. }
  1390. for (var j = 0; j < participants[2][i].length; j++) {
  1391. for (var k = 0; k < participants[1][i].length; k++) {
  1392. if (participants[2][i][j][0] == participants[1][i][k][0]) {
  1393. difference = sw_to_number_rc(participants[1][i][k][1]) -
  1394. sw_to_number_rc(participants[2][i][j][1]);
  1395. break;
  1396. }
  1397. }
  1398. rapport_converti += "[color=" + couleurs_rc[j] + "]" + participants[2][i][j][0] +
  1399. " " + participants[2][i][j][1] + "[/color][color=#FF0040] -" +
  1400. get_slashed_nb(difference) + "[/color]\n";
  1401. }
  1402. rapport_converti += "\n\n\n";
  1403. }
  1404. }
  1405. rapport_converti += "[img]" + ((config.RConverter.result === '') ?
  1406. scripts_icons + 'RConverter/result.png' : config.RConverter.result) + "[/img]\n";
  1407. rapport_converti += resultat_combat + "\n\n";
  1408. rapport_converti += resultat_CDR + "\n\n";
  1409. rapport_converti += "[img]" + ((config.RConverter.renta === '') ?
  1410. scripts_icons + 'RConverter/renta.png' : config.RConverter.renta) + "[/img]\n";
  1411. rapport_converti += renta_attaquant + "\n\n";
  1412. rapport_converti += renta_defenseur + "\n\n";
  1413. rapport_converti += "[/center]";
  1414.  
  1415. var html =
  1416. "<textarea id='RConverter' cols=50 rows=9 onclick='this.select()'>" +
  1417. rapport_converti + "</textarea><div>" + L_["RConverter_help"] + "</div>";
  1418. html +=
  1419. "<input type='radio' onclick='document.getElementById(\"RConverter\").value+=\"[spoiler=lien][url]\"+window.location.href+\"[/url][/spoiler]\";" +
  1420. " document.getElementById(\"RConverter\").select();'/>" + L_["RConverter_HoF"];
  1421. get_dom_xpath("//body", document, 0).appendChild(build_node("center", ["class", "style"], ["space1 curvedtot", "position:absolute; right:0; top:30px;"], html));
  1422. document.getElementById("RConverter").select();
  1423. }
  1424.  
  1425. if (can_load_in_page("EasyFarm") && infos_scripts.EasyFarm) {
  1426. var fleet_names = [L_["small cargo"], L_["large cargo"], L_["light fighter"], L_["heavy fighter"], L_["cruiser"], L_["battleship"], L_["colony ship"], L_["recycler"], L_["espionage probe"], L_["bomber"], L_["solar satellite"], L_["destroyer"], L_["deathstar"], L_["battlecruiser"], L_["supernova"], L_["massive cargo"], L_["collector"], L_["blast"], L_["extractor"]];
  1427. var fleet_deut = [1500, 4500, 1250, 3500, 8500, 18750, 12500, 5500, 500, 25000, 1000, 40000, 3250000, 27500, 12500000, 3750000, 55000, 71500, 37500];
  1428. var messages = get_dom_xpath("//div[@class='message_space0 curvedtot'][contains(.,\"" + L_["EasyFarm_spyReport"] + "\")][contains(.,\"" + L_["EasyFarm_metal"] + "\")]", document, -1);
  1429. get_dom_xpath("//body", document, 0).appendChild(build_node("script", ["type"], ["text/javascript"], "$(document).ready(function(){\nsetTimeout(function(){\n$('.tooltip').tooltip({width: 'auto', height: 'auto', fontcolor: '#FFF', bordercolor: '#666',padding: '5px', bgcolor: '#111', fontsize: '10px'});\n}, 10);\n}); "));
  1430. for (i = 0; i < messages.length; i++) {
  1431. messages[i].getElementsByClassName("checkbox")[0].checked = "checked";
  1432. var regNb = /\s([0-9,.]{1,})/;
  1433. // get metal crystal and deut
  1434. var metal = get_nb_from_stringtab(regNb.exec(messages[i].getElementsByClassName("half_left")[0].innerHTML)[1].split("."));
  1435. var crystal = get_nb_from_stringtab(regNb.exec(messages[i].getElementsByClassName("half_left")[1].innerHTML)[1].split("."));
  1436. var deut = get_nb_from_stringtab(regNb.exec(messages[i].getElementsByClassName("half_left")[2].innerHTML)[1].split("."));
  1437. if ((metal / 4 + crystal / 2 + deut) / 2 >= config.EasyFarm.minPillage) {
  1438. messages[i].setAttribute("style", "background-color:#" + config.EasyFarm.colorPill);
  1439. messages[i].getElementsByClassName("checkbox")[0].checked = false;
  1440. }
  1441. html = "<div><font color='#FFCC33'>" + L_["EasyFarm_looting"] + " :</font><ul style='margin-top:0'>";
  1442. html += "<li>" + L_["massive_cargo"] + " : " + get_slashed_nb(Math.ceil(((metal + crystal + deut) / 2 * 1 / 10000000)));
  1443. html += "<li>" + L_["supernova"] + " : " + get_slashed_nb(Math.ceil(((metal + crystal + deut) / 2 * 1 / 2000000)));
  1444. html += "<li>" + L_["blast"] + " : " + get_slashed_nb(Math.ceil(((metal + crystal + deut) / 2 * 1 / 8000))) + "</ul>";
  1445. var classRank = 4,
  1446. total = 0,
  1447. nbTab, nbString = "";
  1448. for (j = 0; j < fleet_names.length; j++)
  1449. if (messages[i].innerHTML.indexOf(fleet_names[j] + " : ") != -1) {
  1450. // get deut value of ship j
  1451. total += get_nb_from_stringtab(regNb.exec(messages[i].getElementsByClassName("half_left")[classRank].innerHTML)[1].split(",")) * fleet_deut[j];
  1452. classRank++;
  1453. }
  1454. if (total * 0.6 >= config.EasyFarm.minCDR) {
  1455. messages[i].setAttribute("style", "background-color:#" + config.EasyFarm.colorCDR);
  1456. messages[i].getElementsByClassName("checkbox")[0].checked = false;
  1457. }
  1458. html += "<div><font color='#7BE654'>" + L_["EasyFarm_ruinsField"] + " :</font> " + get_slashed_nb(Math.floor(total * 0.6)) + " " + L_["EasyFarm_deuterium"] + "</div>";
  1459. if (messages[i].innerHTML.indexOf(L_["EasyFarm_defenses"]) != -1) {
  1460. html += "<br/><div><font color='#55BBFF'>" + L_["EasyFarm_defenses"] + " :</font>";
  1461. for (j = 0; j < messages[i].getElementsByClassName("message_space0")[2].getElementsByClassName("half_left").length; j++)
  1462. html += "<br/>" + messages[i].getElementsByClassName("message_space0")[2].getElementsByClassName("half_left")[j].innerHTML;
  1463. html += "</div>";
  1464. }
  1465. var res = Math.ceil((metal + crystal + deut) / 2 / 12500000);
  1466. var allDeut = (metal / 4 + crystal / 2 + deut) / 2;
  1467. var deutTotal = allDeut;
  1468. var snb = get_slashed_nb;
  1469. var content = L_["massive_cargo"] + " : " + snb(res) + "<br />Deut : " + snb(allDeut);
  1470. allDeut /= 2;
  1471. var count = 1;
  1472. while (allDeut >= config.EasyFarm.minPillage && config.EasyFarm.minPillage > 0) {
  1473. count++;
  1474. deutTotal += allDeut;
  1475. allDeut /= 2;
  1476. }
  1477. var waves = (count === 1) ? " wave : " : " waves : ";
  1478. content += "<br />" + count + waves + snb(deutTotal) + " Deut";
  1479. div = build_node("div", [], [], content);
  1480. messages[i].getElementsByClassName("message_space0")[0].parentNode.appendChild(div);
  1481. div = build_node("div", ["style", "id"], ["display:none", "divToolTip"], "");
  1482. document.getElementsByTagName("body")[0].appendChild(div);
  1483. div = build_node("div", ["style", "id"], ["display:none", "data_tooltip_" +
  1484. i
  1485. ], html);
  1486. document.getElementsByTagName("body")[0].appendChild(div);
  1487. var xpath = document.evaluate("//a[text()='" + L_.EasyFarm_attack + "']",
  1488. document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  1489. xpath = xpath.snapshotItem(i);
  1490. div = build_node("a", ["class", "id", "href", "style"], ["tooltip", "tooltip_" + i, xpath.href, "float:right; width:0;"],
  1491. "<img src='" + scripts_icons + "EasyFarm/or.gif' alt='pillage'/>");
  1492. messages[i].getElementsByClassName("donthide")[0].getElementsByTagName("div")[0].appendChild(div);
  1493. }
  1494. }
  1495.  
  1496. //////////////////////////
  1497. // //
  1498. // Start of new scripts //
  1499. // //
  1500. //////////////////////////
  1501.  
  1502. if (page === 'simulator') {
  1503. if ($('.simu_120').length === 22) {
  1504. if ($('#a109').val() === '?') $('#a109').val($('#d109').val());
  1505. if ($('#d109').val() === '?') $('#d109').val($('#a109').val());
  1506. if ($('#a110').val() === '?') $('#a110').val($('#d110').val());
  1507. if ($('#d110').val() === '?') $('#d110').val($('#a110').val());
  1508. if ($('#a111').val() === '?') $('#a111').val($('#d111').val());
  1509. if ($('#d111').val() === '?') $('#d111').val($('#a111').val());
  1510. if ($('#aoff').val() === '?') $('#aoff').val($('#doff').val());
  1511. if ($('#doff').val() === '?') $('#doff').val($('#aoff').val());
  1512. }
  1513. }
  1514.  
  1515. // Shows who's inactive in the statistics page
  1516. if (can_load_in_page('InactiveStats') && (infos_scripts.InactiveStats || infos_scripts.FleetPoints)) {
  1517. var lst;
  1518. var fp = {
  1519. '1': {},
  1520. '2': {},
  1521. '3': {}
  1522. };
  1523. var fp_redirect = false;
  1524. var changed = false;
  1525. var types;
  1526. if (infos_scripts.FleetPoints) {
  1527. try {
  1528. fp = eval("(" + GM_getValue('fleet_points_uni_' + uni) + ")");
  1529. if (fp === undefined || fp === null) fp = {
  1530. '1': {},
  1531. '2': {},
  1532. '3': {}
  1533. };
  1534. } catch (err) {}
  1535. fp_redirect = !!(eval("(" + GM_getValue('fp_redirect') + ")"));
  1536. GM_setValue('fp_redirect', 0);
  1537. if (!fp['1']) fp['1'] = {};
  1538. if (!fp['2']) fp['2'] = {};
  1539. if (!fp['3']) fp['3'] = {};
  1540. }
  1541. try {
  1542. lst = eval("(" + GM_getValue('InactiveList') + ")"); //JSON.parse(localStorage.spacesWarsInactiveList);
  1543. if (lst === undefined) lst = {};
  1544. } catch (err) {
  1545. lst = {};
  1546. }
  1547.  
  1548. var players = document.getElementsByClassName('space0')[2].childNodes;
  1549.  
  1550. if (infos_scripts.FleetPoints) {
  1551. var time = $('.divtop.curvedtot')[0].innerHTML;
  1552. var months = ['Months:', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
  1553. if (lang === 'fr') types = ['Points de Flotte', 'Général', ' pas à jour!', 'Recherche', 'Bâtiment', 'Défense'];
  1554. else types = ['Fleet Points', 'General', ' not up to date!', 'Research', 'Buildings', 'Defense'];
  1555. if (lang === 'fr') {
  1556. time = time.substring(time.indexOf('nt') + 3);
  1557. } else time = time.substring(time.indexOf('on ') + 3);
  1558. var day = time.substring(0, time.indexOf(' '));
  1559. time = time.substring(time.indexOf(' ') + 1);
  1560. var month = months.indexOf(time.substring(0, time.indexOf(' ')));
  1561. time = time.substring(time.indexOf(' ') + 1);
  1562. var year = time.substring(0, time.indexOf(' '));
  1563. time = time.substring(time.indexOf(' ') + 1);
  1564. time = time.substring(time.indexOf(' ') + 1);
  1565. var hour = time.substring(0, time.indexOf(':'));
  1566. time = time.substring(time.indexOf(':') + 1);
  1567. var minutes = time.substring(0, time.indexOf(':'));
  1568. time = time.substring(time.indexOf(':') + 1);
  1569. var seconds = time;
  1570. var dte = new Date(year, month, day, hour, minutes, seconds, 0);
  1571. var who = parseInt($('select[name=who] :selected').val());
  1572. if (who === 2) dte = new Date(fp[1][Object.keys(fp[1])[0]][1][1]);
  1573.  
  1574. if (!fp_redirect) {
  1575. var type = $('select[name=type] :selected').val();
  1576. var ind = ((who === 2) ? 9 : 11);
  1577. if (type !== '2') {
  1578. for (var i = 1; i < players.length - 1; i++) {
  1579. var player;
  1580. if (players[i].childNodes[5].childNodes.length == 2) player = players[i].childNodes[5].childNodes[1].childNodes[0];
  1581. else player = players[i].childNodes[5].childNodes[0];
  1582. player = player.innerHTML
  1583. var score = parseInt(players[i].childNodes[ind].innerHTML.replace(/\./g, ''));
  1584. if (fp[who][player] === undefined) fp[who][player] = {
  1585. '1': [0, 0],
  1586. '3': [0, 0],
  1587. '4': [0, 0],
  1588. '5': [0, 0]
  1589. };
  1590. if (fp[who][player][type][1] !== dte.getTime()) {
  1591. fp[who][player][type] = [score, dte.getTime()];
  1592. changed = true;
  1593. }
  1594. }
  1595. if (changed) GM_setValue('fleet_points_uni_' + uni, JSON.stringify(fp));
  1596. }
  1597. } else {
  1598. var space = $('.space0')[1]
  1599. space.removeChild(space.childNodes[5]);
  1600. space.removeChild(space.childNodes[4]);
  1601. var head = $('.divtop.curvedtot')[1];
  1602. while (head.firstChild) head.removeChild(head.firstChild);
  1603. head.appendChild(build_node('div', ['class'], ['stats_player_1'], "Place"))
  1604. head.appendChild(build_node('div', ['class'], ['stats_player_2'], (lang === 'fr') ? 'Joueur' : 'Player'));
  1605. head.appendChild(build_node('div', ['class'], ['stats_player_2'], "Points"));
  1606. head.appendChild(build_node('div', ['class', 'style'], ['stats_player_3', 'width:150px'], "Info"));
  1607. head.appendChild(build_node('a', ['href', 'class', 'style', 'id'], ['#', 'stats_player_2', 'width:100px', 'nameChange'], (lang === 'fr') ? 'Nouveau nom?' : 'Name change?'));
  1608. var players = document.getElementsByClassName('space0')[2];
  1609. while (players.firstChild) players.removeChild(players.firstChild);
  1610. var arr = []
  1611. for (var k in fp[who]) {
  1612. arr.push([k, fp[who][k]['1'][0] - fp[who][k]['3'][0] - fp[who][k]['4'][0] - fp[who][k]['5'][0]]);
  1613. }
  1614. arr.sort(function(a, b) {
  1615. return b[1] - a[1]
  1616. });
  1617. for (var i = 0; i < arr.length; i++) {
  1618. var container = build_node('div', ['class'], [((i % 2 == 0) ? 'space1' : 'space') + ' curvedtot'], '');
  1619. var place = build_node('div', ['class'], ['stats_player_1'], i + 1);
  1620. var playr = build_node('div', ['class', 'id'], ['stats_player_2', 'player_' + i], arr[i][0]);
  1621. var point = build_node('div', ['class'], ['stats_player_2'], get_slashed_nb(arr[i][1]));
  1622. var not_updated = '&nbsp;';
  1623. for (var j = 1; j < 5; j++) {
  1624. if (j !== 2) {
  1625. if (fp[who][arr[i][0]][j][1] !== dte.getTime()) {
  1626. not_updated = types[j] + types[2];
  1627. break;
  1628. }
  1629. }
  1630. }
  1631. var info = build_node('div', ['class', 'style'], ['stats_player_3', 'width:150px'], not_updated);
  1632. container.appendChild(place);
  1633. container.appendChild(playr);
  1634. container.appendChild(point);
  1635. container.appendChild(info);
  1636. //container.appendChild(build_node('div',['class','style'],['stats_player_3','width:100px'],'[<a id=delPlayer_' + i + ' href="#">-</a>]'));
  1637. players.appendChild(container);
  1638. }
  1639. $('#nameChange').click(function() {
  1640. var en = "Make sure you have gone through all the stats in the General section, as this deletes any players where general is not up to date. It also deletes EasyTarget info, so be careful!";
  1641. var fr = "Assurez-vous que vous avez passé par toutes les statistiques de la section générale, car cela supprime tous les joueurs où le général est pas à jour. Il supprime également des informations EasyTarget, donc soyez prudent!";
  1642. var msg = (lang === 'en') ? en : fr;
  1643. if (confirm(msg)) {
  1644. for (var i = 0; i < arr.length; i++) {
  1645. var storage = eval("(" + GM_getValue("galaxy_data_" + uni) + ")");
  1646. if (storage.universe === null || storage.universe === undefined) storage = {
  1647. 'universe': {},
  1648. 'players': {}
  1649. };
  1650. if (fp[who][arr[i][0]][1][1] !== dte.getTime()) {
  1651. delete fp[who][arr[i][0]];
  1652. var locations = storage.players[arr[i][0]][0];
  1653. for (var j = 0; j < locations.length; j++) {
  1654. delete storage.universe[locations[j]];
  1655. }
  1656. delete storage.players[arr[i][0]];
  1657. }
  1658. }
  1659. GM_setValue('fleet_points_uni_' + uni, JSON.stringify(fp));
  1660. GM_setValue('fp_redirect', 1);
  1661. window.location = 'stat.php';
  1662. }
  1663. });
  1664. }
  1665. }
  1666.  
  1667. if (infos_scripts.InactiveStats) {
  1668. for (var i = 1; i < players.length - 1; i++) {
  1669. var div;
  1670. // Top 5 have avatar, have to assign div differently
  1671. if (players[i].childNodes[5].childNodes.length == 2) div = players[i].childNodes[5].childNodes[1].childNodes[0];
  1672. else div = players[i].childNodes[5].childNodes[0];
  1673. var name = div.innerHTML;
  1674. if (lst[name] === true) {
  1675. div.style.color = '#CCC';
  1676. div.innerHTML += ' (i)'
  1677. } else if (lst[name] === false) {
  1678. div.style.color = '#999';
  1679. div.innerHTML += ' (i I)';
  1680. }
  1681. }
  1682. }
  1683.  
  1684. if (infos_scripts.FleetPoints) {
  1685. var space = $('.space0')[1]
  1686. var del = space.removeChild(space.childNodes[3]);
  1687.  
  1688. del.onchange = function(e) {
  1689. if (this.value == 6) {
  1690. GM_setValue('fp_redirect', 1);
  1691. this.value = 2;
  1692. }
  1693. document.forms[1].submit();
  1694. };
  1695. del.appendChild(build_node('option', ['value'], ['6'], types[0]));
  1696. space.insertBefore(del, space.childNodes[3]);
  1697.  
  1698. del = space.removeChild(space.childNodes[1]);
  1699. del.onchange = function(e) {
  1700. if ($('select[name=type]').val() === '6') {
  1701. GM_setValue('fp_redirect', 1);
  1702. $('select[name=type]').val(2);
  1703. }
  1704. document.forms[1].submit();
  1705. }
  1706. space.insertBefore(del, space.childNodes[1]);
  1707. if (fp_redirect) {
  1708. $('select[name=type] :selected').removeAttr('selected');
  1709. $('select[name=type]').val(6);
  1710. }
  1711. }
  1712. }
  1713.  
  1714. if (can_load_in_page("More_deutRow") && infos_scripts.More && config.More.deutRow) {
  1715. var m = parseInt(($('.default_1c1b')[0].childNodes[3].childNodes[0].childNodes[0].innerHTML).replace(/\./g, ''));
  1716. var c = parseInt(($('.default_1c1b')[1].childNodes[3].childNodes[0].childNodes[0].innerHTML).replace(/\./g, ''));
  1717. var d = parseInt(($('.default_1c1b')[2].childNodes[3].childNodes[0].childNodes[0].innerHTML).replace(/\./g, ''));
  1718. var aid = parseInt(m / 4 + c / 2 + d);
  1719. var outer = build_node('div', ['class'], ['default_1c3'], "");
  1720. var picHolder = build_node('div', ['class', 'style'], ['curvedtot', 'float:left;background-color:#333;width:40px;padding:1px'], "");
  1721. var pic = build_node('div', ['class', 'style'], ['dhi1', 'float:left;background:url("http://i.imgur.com/PZnkeNS.png") no-repeat top left;width:40px;height:12px;'], "");
  1722. var textHolder = build_node('div', ['class', 'style', 'id'], ['default_1c1b', 'overflow:auto;padding-left:7px', 'ov_allindeut'], "");
  1723. var title = build_node('div', ['class', 'style'], ['decault_1c1b', 'float:left;width:60px'], "AllInDeut : ");
  1724. var amountHolder = build_node('div', ['style'], ['float:right;width:auto'], "");
  1725. var amount = build_node('a', ['href', 'class', 'title', 'style', 'id'], ['#', 'ov_align_r', aid, 'text-align:right;width:auto;float:right;color:#7BE654;', 'allin'], get_slashed_nb(aid));
  1726. amountHolder.appendChild(amount);
  1727. textHolder.appendChild(title);
  1728. textHolder.appendChild(amountHolder);
  1729. picHolder.appendChild(pic);
  1730. outer.appendChild(pic);
  1731. outer.appendChild(textHolder);
  1732. var div = $('.default_1c')[0];
  1733. div.insertBefore(outer, div.childNodes[div.childNodes.length - 2]);
  1734.  
  1735. aligner_ressources = function() {
  1736. var array_r = new Array("metal", "cristal", "deuterium", "energy", "allindeut");
  1737. var max_number = 0;
  1738. for (i = 0; i < array_r.length; i++) {
  1739. if (max_number < ($("#ov_" + array_r[i]).width())) {
  1740. max_number = $("#ov_" + array_r[i]).width();
  1741. }
  1742. }
  1743. $(".default_1c1b").css('width', max_number);
  1744. $(".ov_align_r").css({
  1745. 'text-align': 'right',
  1746. 'float': 'right'
  1747. });
  1748. }
  1749. aligner_ressources();
  1750. }
  1751.  
  1752. if (can_load_in_page('More_deutRow') && infos_scripts.More && config.More.convertClick) {
  1753. $('.default_1c1b')[0].childNodes[3].childNodes[0].childNodes[0].setAttribute('id', 'metalClick');
  1754. $('.default_1c1b')[1].childNodes[3].childNodes[0].childNodes[0].setAttribute('id', 'crystalClick');
  1755. $('.default_1c1b')[2].childNodes[3].childNodes[0].childNodes[0].setAttribute('id', 'deutClick');
  1756. $('#metalClick').click(function() {
  1757. GM_setValue('ResourceRedirect', window.location.href);
  1758. GM_setValue('ResourceRedirectType', 0);
  1759. //localStorage.spacesResourceRedirect = window.location.href;
  1760. //localStorage.spacesResourceRedirectType = 0;
  1761. window.location = "marchand.php";
  1762. });
  1763. $('#crystalClick').click(function() {
  1764. GM_setValue('ResourceRedirect', window.location.href);
  1765. GM_setValue('ResourceRedirectType', 1);
  1766. window.location = "marchand.php";
  1767. });
  1768. $('#deutClick').click(function() {
  1769. GM_setValue('ResourceRedirect', window.location.href);
  1770. GM_setValue('ResourceRedirectType', 2);
  1771. window.location = "marchand.php";
  1772. });
  1773. if (config.More.deutRow) {
  1774. $('#allin').click(function() {
  1775. GM_setValue('ResourceRedirect', window.location.href);
  1776. GM_setValue('ResourceRedirectType', 3);
  1777. window.location = "marchand.php";
  1778. });
  1779. }
  1780. }
  1781.  
  1782. if (page === 'fleet' && infos_scripts.More && config.More.mcTransport && uni === '17') {
  1783. var m = parseInt(($('.default_1c1b')[0].childNodes[3].childNodes[0].childNodes[0].innerHTML).replace(/\./g, ''));
  1784. var c = parseInt(($('.default_1c1b')[1].childNodes[3].childNodes[0].childNodes[0].innerHTML).replace(/\./g, ''));
  1785. var d = parseInt(($('.default_1c1b')[2].childNodes[3].childNodes[0].childNodes[0].innerHTML).replace(/\./g, ''));
  1786. var mc = $('#ship217');
  1787. if (mc.length) {
  1788. var num = Math.ceil((m + c + d) / 125000000000) * 10000;
  1789. var consumption = Math.ceil(num * 103659 * 10000) / 10000;
  1790. //434 = duration
  1791. // 71 = spd
  1792. num += Math.ceil(consumption / 125000000000) * 10000 + 20000;
  1793. mc[0].setAttribute('placeholder', get_slashed_nb(num));
  1794. //mc[0].value = "";
  1795. var div = build_node('div', ['class', 'style'], ['flotte_bas', '-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;-ms-user-select: none;user-select: none;'], '');
  1796. var text = build_node('a', ['class', 'id'], ['link_ship_selected', 'transport'], "MC Transport");
  1797. //var less = build_node('a', ['class', 'id', 'style'], ['link_ship_selected', 'ten', 'font-size: 5pt'], "(-10) &nbsp;");
  1798. //var more = build_node('a', ['class', 'id', 'style'], ['link_ship_selected', 'hundred', 'font-size: 5pt'], " &nbsp;(+10)");
  1799. //div.appendChild(less);
  1800. div.appendChild(text);
  1801. //div.appendChild(more);
  1802. $('.flotte_bas')[0].parentNode.insertBefore(div, $('.flotte_bas')[1]);
  1803. var w = parseInt(window.getComputedStyle($('.flotte_bas')[0], null).getPropertyValue('width'));
  1804. $('.flotte_bas').css('width', (w * 2 / 3) + 'px');
  1805. $('#transport').click(function() {
  1806. $('#ship217')[0].value = get_slashed_nb(num);
  1807. //document.forms[1].submit();
  1808. });
  1809. // $('#ten').click(function() {
  1810. // $('#ship217')[0].value = get_slashed_nb(parseInt($('#ship217')[0].value.replace(/\./g, '')) - 10000);
  1811. // });
  1812. // $('#hundred').click(function() {
  1813. // $('#ship217')[0].value = get_slashed_nb(parseInt($('#ship217')[0].value.replace(/\./g, '')) + 10000);
  1814. // });
  1815. }
  1816. }
  1817.  
  1818. if (can_load_in_page("empireTotal") && infos_scripts.BetterEmpire) {
  1819. if (!config.BetterEmpire.byMainSort) {
  1820. var space = $('.space0')[1];
  1821. for (var i = 0; i < space.childNodes.length; i++) {
  1822. var row = space.childNodes[i];
  1823. if (row.childNodes.length) {
  1824. var del = row.childNodes[row.childNodes.length - 1];
  1825. row.removeChild(del);
  1826. row.insertBefore(del, row.childNodes[1]);
  1827. }
  1828. }
  1829. } else {
  1830. var moonsLast = config.BetterEmpire.moonsLast;
  1831. var space = $('.space0')[1];
  1832. var array = [];
  1833. for (var i = 0; i < space.childNodes.length; i++) {
  1834. var row = space.childNodes[i];
  1835. if (row.childNodes.length) {
  1836. //var del = row.removeChild(row.childNodes[row.childNodes.length - 1]);
  1837. //row.insertBefore(del, row.childNodes[1]);
  1838. for (var j = row.childNodes.length - 1; j >= 0; j--) {
  1839. if (!array[j]) array[j] = [];
  1840. array[j].push(row.childNodes[j]);
  1841. row.removeChild(row.childNodes[j]);
  1842. }
  1843. }
  1844. }
  1845. //Don't know why this is needed, but apparently it is...
  1846. var tot = array[array.length - 1];
  1847. tot.splice(5, 0, tot[4].cloneNode(true));
  1848.  
  1849.  
  1850. var order = ['NameCoordinates', 'Total'];
  1851. if (lang === 'fr') order = ['NomCoordonnées', 'Total'];
  1852.  
  1853. var items = $('#cp')[0].childNodes;
  1854.  
  1855. if (!moonsLast) {
  1856. array[array.length - 1] = tot;
  1857. for (var i = 0; i < items.length; i++) {
  1858. if (items[i].nodeName !== "#text") {
  1859. var text = items[i].innerHTML;
  1860. text = text.substring(0, text.indexOf(']') + 1);
  1861. text = text.replace(/\&nbsp;/g, '');
  1862. order.push(text);
  1863. }
  1864. }
  1865. } else {
  1866. var moons = [];
  1867. var planets = [];
  1868. for (var i = 0; i < items.length; i++) {
  1869. if (items[i].nodeName !== '#text') {
  1870. var text = items[i].innerHTML;
  1871. var type = text.substring(text.length - 9, text.length - 6);
  1872. text = text.substring(0, text.indexOf(']') + 1);
  1873. text = text.replace(/\&nbsp;/g, '');
  1874. if (type === '(P)') planets.push(text);
  1875. else moons.push(text);
  1876. }
  1877. }
  1878. order = order.concat(planets.concat(moons));
  1879. }
  1880. var planets = {};
  1881.  
  1882. for (var i = 0; i < array.length; i++) {
  1883. var key = array[i][1].innerHTML;
  1884. if (array[i][2].innerHTML.indexOf('a href="galaxy') !== -1) key += array[i][2].childNodes[0].innerHTML;
  1885. else key += array[i][2].innerHTML;
  1886. planets[key] = array[i];
  1887. }
  1888. var space = $('.space0')[1];
  1889. var count1 = 0;
  1890. var count2 = 0;
  1891. var incr1 = false;
  1892. for (var i = 0; i < space.childNodes.length; i++) {
  1893. incr1 = false;
  1894. var row = space.childNodes[i];
  1895. if (row.nodeName !== '#text') {
  1896. for (var j = 0; j < order.length; j++) {
  1897. if (row.className.indexOf('empire_divtop') === -1) {
  1898. incr1 = true;
  1899. if (j == 0) {
  1900. row.appendChild(planets[order[j]][count2]);
  1901. } else {
  1902. row.appendChild(planets[order[j]][count1]);
  1903. }
  1904. } else if (j === 0) {
  1905. row.appendChild(planets[order[j]][count2]);
  1906. }
  1907. }
  1908. if (incr1) count1++;
  1909. count2++;
  1910. }
  1911. }
  1912. }
  1913. }
  1914.  
  1915. function hexToRgb(hex) {
  1916. var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  1917. return result ? {
  1918. r: parseInt(result[1], 16),
  1919. g: parseInt(result[2], 16),
  1920. b: parseInt(result[3], 16)
  1921. } : null;
  1922. }
  1923.  
  1924. if (can_load_in_page("EasyTarget")) {
  1925. var direction = false;
  1926. var rows = $('.curvedtot.space, .curvedtot.space1');
  1927. rows.splice(0, 2);
  1928. rows.splice(15);
  1929.  
  1930. //var config = eval("("+GM_getValue('config_scripts_uni_' + uni)+")");
  1931. var rnks = config.GalaxyRanks.ranks;
  1932. var vals = config.GalaxyRanks.values;
  1933.  
  1934. document.body.appendChild(build_node('div', ['id', 'style'], ['markit_current', 'display:none'], "0"));
  1935. var markit;
  1936. var choosebox;
  1937. if (infos_scripts.Markit) {
  1938. try {
  1939. markit = eval("(" + GM_getValue('markit_data_' + uni) + ")");
  1940. if (markit === undefined || markit === null) markit = {};
  1941. } catch (err) {
  1942. markit = {};
  1943. }
  1944. choosebox = build_node('div', ['class', 'id', 'style'], ['divtop', 'markit_choose', 'width:200px;margin:auto;height:auto;border-radius:15px;text-align:center;position:relative;bottom:400px;opacity:0.8;'], "<div class='space0'>" + L_.mTitle + "</div>");
  1945. choosebox.innerHTML += "<div class='space0' style='margin-left: 60px;text-align:left'>" +
  1946. "<input type='radio' name='markit_type' value='default' id='default' />" +
  1947.  
  1948. "<label for='default' style='margin: auto 20px auto 10px;vertical-align:text-top;line-height:6pt;'>" + L_.mNone + "</label><br />" +
  1949. "<input type='radio' name='markit_type' value='fridge' id='fridge' />" +
  1950. "<label for='fridge' style='color:#" + config.Markit.color.fridge + ";margin: auto 20px auto 10px;vertical-align:text-top;line-height:6pt;'>" + L_.mFridge + "</label><br />" +
  1951. "<input type='radio' name='markit_type' value='bunker' id='bunker' />" +
  1952. "<label for='bunker' style='color:#" + config.Markit.color.bunker + ";margin: auto 20px auto 10px;vertical-align:text-top;line-height:6pt;'>" + L_.mBunker + "</label><br />" +
  1953. "<input type='radio' name='markit_type' value='raidy' id='raidy' />" +
  1954. "<label for='raidy' style='color:#" + config.Markit.color.raidy + ";margin: auto 20px auto 10px;vertical-align:text-top;line-height:6pt;'>" + L_.mAttack + "</label><br />" +
  1955. "<input type='radio' name='markit_type' value='dont' id='dont' />" +
  1956. "<label for='dont' style='color:#" + config.Markit.color.dont + ";margin: auto 20px auto 10px;vertical-align:text-top;line-height:6pt;'>" + L_.mDont + "</label><br />" +
  1957. "</div><input type='submit' style='margin:5px;padding:5px;text-align:center' value='Submit' id='markit_submit' />";
  1958. document.body.appendChild(choosebox);
  1959. $('#markit_choose').hide();
  1960. $('#markit_submit').click(function() {
  1961. var num = parseInt($('#markit_current')[0].innerHTML);
  1962. var galaxy = $('#galaxy')[0].value;
  1963. var sys = document.getElementsByName('system')[0].value;
  1964. var type = $('input[name="markit_type"]:checked').val();
  1965. var loc = galaxy + ':' + sys + ':' + num
  1966. if (type === "default") {
  1967. if (markit[loc] !== undefined) delete markit[loc];
  1968. rows[num - 1].style.backgroundColor = '';
  1969. } else {
  1970. markit[galaxy + ':' + sys + ':' + num] = $('input[name="markit_type"]:checked').val();
  1971. var c = hexToRgb('#' + config.Markit.color[type]);
  1972. $(rows[num - 1]).animate({
  1973. backgroundColor: 'rgba(' + c.r + ',' + c.g + ',' + c.b + ', 0.5)'
  1974. }, 500);
  1975. }
  1976. $('#markit_choose').fadeOut(500);
  1977. GM_setValue('markit_data_' + uni, JSON.stringify(markit));
  1978. });
  1979. }
  1980. //var markit = {'2:408:10' : 'raidy', '2:408:15' : 'dont'}
  1981. var changed = false;
  1982. var storage;
  1983. var inactiveList;
  1984. //GM_setValue('galaxy_data_17',JSON.stringify({'universe' : {'2:408:15' : 'DTR', '2:408:11' : 'Krabbekun'}, 'players' : {'DTR' : [['2:408:15'],[]], 'Krabbekun' : [['2:408:11'],[]]}}));
  1985. if (infos_scripts.EasyTarget) {
  1986. try {
  1987. storage = eval("(" + GM_getValue("galaxy_data_" + uni) + ")");
  1988. if (storage === undefined) storage = {
  1989. 'universe': {},
  1990. 'players': {}
  1991. };
  1992. if (storage.universe === undefined || storage.universe === null || storage.players === undefined || storage.universe === null) storage = {
  1993. 'universe': {},
  1994. 'players': {}
  1995. };
  1996. } catch (err) {
  1997. changed = true;
  1998. storage = {
  1999. 'universe': {},
  2000. 'players': {}
  2001. };
  2002. }
  2003. } else storage = {
  2004. 'universe': {},
  2005. 'players': {}
  2006. };
  2007.  
  2008. // if (localStorage.spacesWarsInactiveList === undefined) {
  2009. // localStorage.spacesWarsInactiveList = JSON.stringify({});
  2010. // }
  2011.  
  2012. try {
  2013. inactiveList = eval("(" + GM_getValue("InactiveList") + ")");
  2014. if (inactiveList === undefined || inactiveList === null) inactiveList = {};
  2015. //inactiveList = JSON.parse(localStorage.spacesWarsInactiveList);
  2016. } catch (err) {
  2017. inactiveList = {};
  2018. }
  2019.  
  2020. var targetPlanet = -1;
  2021. var redir;
  2022. try {
  2023. redir = JSON.parse(localStorage.EasyTargetRedirect);
  2024. } catch (err) {
  2025. redir = undefined;
  2026. }
  2027. if (redir !== undefined) {
  2028. if (parseInt(redir.redirect) === 1) {
  2029. if (redir.g !== -1) {
  2030. $('#galaxy')[0].value = redir.g;
  2031. document.getElementsByName('system')[0].value = redir.s;
  2032. document.forms['galaxy_form'].submit();
  2033. } else {
  2034. targetPlanet = parseInt(redir.planet);
  2035. direction = true;
  2036. }
  2037. }
  2038. localStorage.EasyTargetRedirect = JSON.stringify({
  2039. 'planet': -1,
  2040. 'redirect': 0
  2041. });
  2042. }
  2043. var changedPlayers = [];
  2044. var changedMoons = [];
  2045.  
  2046. $('#galaxy').keypress(function(e) {
  2047. var a = [];
  2048. var k = e.which;
  2049.  
  2050. for (i = 48; i < 58; i++)
  2051. a.push(i);
  2052.  
  2053. if (!(a.indexOf(k) >= 0))
  2054. e.preventDefault();
  2055. });
  2056. rows.css({
  2057. '-moz-user-select': '-moz-none',
  2058. '-khtml-user-select': 'none',
  2059. '-webkit-user-select': 'none',
  2060. '-ms-user-select': 'none',
  2061. 'user-select': 'none'
  2062. });
  2063. for (var i = 0; i < 15; i++) {
  2064. var row = rows[i];
  2065. var name = row.childNodes[11].childNodes[1];
  2066. var gal = document.getElementById('galaxy').value;
  2067. var sys = document.getElementsByName('system')[0].value;
  2068. var planet = i + 1;
  2069. var sum = gal + ":" + sys + ":" + planet;
  2070. if (infos_scripts.Markit && markit[sum] !== undefined) {
  2071. var c = hexToRgb('#' + config.Markit.color[markit[sum]]);
  2072. if (name !== undefined && planet !== targetPlanet) $(row).animate({
  2073. backgroundColor: 'rgba(' + c.r + ',' + c.g + ',' + c.b + ', 0.5)'
  2074. }, 750);
  2075. else if (name === undefined) delete markit[sum];
  2076. }
  2077. //Name of the person previously stored at the given coord
  2078. var locValue = storage.universe[sum];
  2079. if (name !== undefined) { // There's a player here
  2080. // Create span that shows rank
  2081. var span = document.createElement("span");
  2082. var id = name.onclick.toString();
  2083. id = id.substring(id.indexOf("('") + 2, id.indexOf("')"));
  2084.  
  2085. var rank = document.getElementById(id).childNodes[1].innerHTML;
  2086. rank = parseInt(rank.substring(rank.indexOf(":") + 2));
  2087. span.innerHTML = '(' + rank + ')';
  2088.  
  2089. var val = name.childNodes[0].nodeValue;
  2090. if (val === null) val = name.childNodes[0].innerHTML;
  2091. else val = val.substring(0, val.length - 1);
  2092. if (infos_scripts.EasyTarget && locValue !== undefined && locValue !== null && locValue !== val) {
  2093.  
  2094. changed = true;
  2095. // If the owner of a planet has changed, and the new owner is not in the list, assume that
  2096. // the user changed names and change things accordingly. I think
  2097. if (storage.players[val] === undefined) {
  2098. var locations = storage.players[locValue][0];
  2099. for (var j = 0; j < locations.length; j++) {
  2100.  
  2101. storage.universe[locations[j]] = val;
  2102. }
  2103. storage.players[val] = storage.players[locValue];
  2104. delete storage.players[locValue];
  2105. }
  2106. storage.universe[sum] = val;
  2107. if (storage.players[locValue] !== undefined) {
  2108. storage.players[locValue][0].splice(storage.players[locValue][0].indexOf(sum), 1);
  2109. var moon = storage.players[locValue][1].indexOf(sum);
  2110. if (moon !== -1) {
  2111. storage.players[locValue][1].splice(moon, 1);
  2112. }
  2113. }
  2114. }
  2115. var lune = (row.childNodes[7].childNodes.length > 1);
  2116.  
  2117. if (infos_scripts.EasyTarget && storage.universe[sum] !== val) {
  2118. storage.universe[sum] = val;
  2119. changed = true;
  2120. }
  2121.  
  2122. if (name.className.indexOf('inactive') === -1 || config.GalaxyRanks.inactives) {
  2123. if (inactiveList[val] !== undefined && name.className.indexOf('inactive' === -1)) delete inactiveList[val];
  2124. span.style.color = '#' + vals[vals.length - 1];
  2125. for (var j = 0; j < rnks.length; j++) {
  2126. if (rank <= parseInt(rnks[j])) {
  2127. span.style.color = '#' + vals[j];
  2128. break;
  2129. }
  2130. }
  2131. } else {
  2132. span.style.color = window.getComputedStyle(name).color;
  2133. if (name.className.indexOf('longinactive') !== -1) {
  2134. inactiveList[val] = false;
  2135. } else inactiveList[val] = true;
  2136. }
  2137. if (infos_scripts.GalaxyRanks) name.parentNode.appendChild(span);
  2138. if (infos_scripts.EasyTarget) {
  2139. if (storage.players[val] === undefined) {
  2140. changed = true;
  2141. storage.players[val] = [
  2142. [],
  2143. []
  2144. ];
  2145. }
  2146. if (storage.players[val][0].indexOf(sum) == -1) {
  2147. if (changedPlayers.indexOf(val) === -1) changedPlayers.push(val);
  2148. changed = true;
  2149. storage.players[val][0].push(sum);
  2150. }
  2151. if (lune && storage.players[val][1].indexOf(sum) === -1) {
  2152. if (changedMoons.indexOf(val) === -1) changedMoons.push(val);
  2153. changed = true;
  2154. storage.players[val][1].push(sum);
  2155. }
  2156. if (!lune && storage.players[val][1].indexOf(sum) !== -1) {
  2157. changed = true;
  2158. storage.players[val][1].splice(storage.players[val][1].indexOf(sum), 1);
  2159. }
  2160. }
  2161. } else {
  2162. if (infos_scripts.EasyTarget && storage.universe[sum] !== undefined) {
  2163. changed = true;
  2164. storage.players[locValue][0].splice(storage.players[locValue][0].indexOf(sum), 1);
  2165. if (storage.players[locValue][1].indexOf(sum) !== -1)
  2166. storage.players[locValue][1].splice(storage.players[locValue][1].indexOf(sum), 1);
  2167. delete storage.universe[sum];
  2168. }
  2169. }
  2170. if ((infos_scripts.EasyTarget || infos_scripts.Markit) && name !== undefined) {
  2171. if (infos_scripts.EasyTarget) {
  2172. get_dom_xpath("//body", document, 0).appendChild(build_node("script", ["type"], ["text/javascript"],
  2173. "$(document).ready(function(){\nsetTimeout(function(){\n$('.tooltip').tooltip(" +
  2174. "{width: 'auto', height: 'auto', fontcolor: '#FFF', bordercolor: '#666',padding: '5px', bgcolor: '#111', fontsize: '10px'});\n}, 10);\n}); "
  2175. ));
  2176. var html = "<div><font color='#FFCC33'>Locations :</font><br />";
  2177. var loc = storage.players[val][0];
  2178. for (var j = 0; j < loc.length; j++) {
  2179. var space = (j < 9) ? "&nbsp" : "";
  2180. html += (j + 1) + space + " : " + loc[j];
  2181. if (storage.players[val][1].indexOf(loc[j]) !== -1) html += " (L)";
  2182. html += "<br />";
  2183. }
  2184. var div = build_node("div", ["style", "id"], ["display:none;", "divToolTip"], "");
  2185. document.getElementsByTagName("body")[0].appendChild(div);
  2186. div = build_node("div", ['style', 'id'], ['display:none', 'data_tooltip_' + i], html);
  2187. document.getElementsByTagName("body")[0].appendChild(div);
  2188. }
  2189. div = build_node('a', ['class', 'id', 'style'], ['tooltip', 'tooltip_' + i, 'float:left; width:15px;'], "");
  2190. img = build_node('img', ['src', 'id'], ['http://i.imgur.com/vCZBxno.png', 'img_' + (i + 1)], "");
  2191. div.appendChild(img);
  2192. if (infos_scripts.EasyTarget) {
  2193. var insertee = name.parentNode.parentNode;
  2194. var insert = document.createElement('div');
  2195. for (var j = 0; j < storage.players[val][0].length; j++) {
  2196. var element = document.createElement('a');
  2197. element.innerHTML = storage.players[val][0][j];
  2198. if (element.innerHTML === sum) element.style.color = '#7595EB';
  2199. if (storage.players[val][1].indexOf(storage.players[val][0][j]) !== -1) element.innerHTML += " (L)";
  2200. element.id = 'target_' + (i + 1) + '_' + (j + 1);
  2201. element.style.margin = '10px 10px 0px 10px';
  2202. element.style.textAlign = 'left';
  2203. element.style.float = 'left';
  2204. insert.appendChild(element);
  2205. }
  2206. insert.style.clear = 'both';
  2207. insert.style.display = 'none';
  2208. insertee.appendChild(insert);
  2209.  
  2210. if (targetPlanet == i + 1) {
  2211. name.parentNode.parentNode.style.backgroundColor = 'rgba(0, 100, 0, .8)';
  2212. if (infos_scripts.Markit && markit[sum] !== undefined) {
  2213. setTimeout(function() {
  2214. ploc = sum.substring(0, sum.indexOf(':', sum.indexOf(':') + 1) + 1);
  2215. ploc += targetPlanet;
  2216. var c = hexToRgb('#' + config.Markit.color[markit[ploc]]);
  2217. if (name !== undefined) {
  2218. $(rows[targetPlanet - 1]).animate({
  2219. backgroundColor: 'rgba(' + c.r + ',' + c.g + ',' + c.b + ', 0.5)'
  2220. }, 'slow');
  2221. }
  2222. }, 1000);
  2223. }
  2224. window.onkeyup = function(e) {
  2225. var key = e.keyCode ? e.keyCode : e.which;
  2226.  
  2227. if (key === 83) {
  2228. e.preventDefault();
  2229. var element = rows[targetPlanet - 1].childNodes[15].childNodes[1];
  2230. if (element !== undefined) {
  2231. var title = element.getAttribute('title');
  2232. if (title === 'Spy') {
  2233. element.click();
  2234. }
  2235. }
  2236. }
  2237.  
  2238. if (key === 78 || key === 80) {
  2239. var ploc = sum.substring(0, sum.indexOf(':', sum.indexOf(':') + 1) + 1);
  2240. ploc += targetPlanet;
  2241.  
  2242. var n = storage.universe[ploc];
  2243. var player = storage.players[n][0];
  2244. var index = player.indexOf(ploc);
  2245. var oldGal = ploc.substring(0, ploc.indexOf(':'));
  2246. ploc = ploc.substring(ploc.indexOf(':') + 1);
  2247. var oldSys = ploc.substring(0, ploc.indexOf(':'));
  2248. var coords = '';
  2249.  
  2250. if (key === 78) {
  2251. coords = player[(index + 1) % player.length];
  2252. } else {
  2253. if (index == 0) index += player.length
  2254. coords = player[(index - 1) % player.length];
  2255. }
  2256.  
  2257. var gal = coords.substring(0, 1);
  2258. coords = coords.substring(2);
  2259. var sys = coords.substring(0, coords.indexOf(':'));
  2260. var planet = coords.substring(coords.indexOf(':') + 1);
  2261. if (gal === oldGal && sys === oldSys) {
  2262. if (targetPlanet % 2 === 0) {
  2263. $(rows[targetPlanet - 1]).animate({
  2264. backgroundColor: '#111'
  2265. }, 'fast');
  2266. } else {
  2267. $(rows[targetPlanet - 1]).animate({
  2268. backgroundColor: 'rgba(17, 17, 17, 0.0)'
  2269. }, 'fast');
  2270. }
  2271. $(rows[parseInt(planet) - 1]).animate({
  2272. backgroundColor: 'rgba(0, 100, 0, 0.8)'
  2273. }, 'fast');
  2274. targetPlanet = planet;
  2275. } else {
  2276. localStorage.EasyTargetRedirect = JSON.stringify({
  2277. 'g': -1,
  2278. 's': -1,
  2279. 'planet': planet,
  2280. 'redirect': 1
  2281. });
  2282. $('#galaxy')[0].value = gal;
  2283. document.getElementsByName('system')[0].value = sys;
  2284. document.forms['galaxy_form'].submit();
  2285. }
  2286. }
  2287. }
  2288. }
  2289. }
  2290. row.childNodes[15].appendChild(div);
  2291. if (infos_scripts.Markit) {
  2292. $('#img_' + (i + 1)).click(function() {
  2293. window.onkeyup = function(e) {
  2294. var key = e.keyCode ? e.keyCode : e.which;
  2295. if (key === 27) {
  2296. $('#markit_choose').fadeOut(750);
  2297. }
  2298. }
  2299. var gal = $('#galaxy')[0].value;
  2300. var sys = document.getElementsByName('system')[0].value;
  2301. var planet = this.id.substring(this.id.indexOf('_') + 1);
  2302. var loc = gal + ':' + sys + ':' + planet;
  2303. $('#markit_current').html(planet);
  2304. if (markit[loc] !== undefined) $('#' + markit[loc])[0].checked = 'checked';
  2305. else $('#default')[0].checked = 'checked';
  2306. $('#markit_choose').fadeIn(500);
  2307. });
  2308. }
  2309. if (infos_scripts.EasyTarget) {
  2310. for (var j = 1; j < 14; j += 2) {
  2311. $(row.childNodes[j]).click(function() {
  2312. var kid = this.parentNode.childNodes[this.parentNode.childNodes.length - 1];
  2313. if (kid.style.display === 'block') {
  2314. kid.style.display = 'none';
  2315. } else {
  2316. kid.style.display = 'block';
  2317. }
  2318. });
  2319. }
  2320. for (var j = 0; j < storage.players[val][0].length; j++) {
  2321. $('#target_' + (i + 1) + '_' + (j + 1)).click(function() {
  2322. var coords = this.innerHTML;
  2323. var gal = coords.substring(0, 1);
  2324. coords = coords.substring(2);
  2325. var sys = coords.substring(0, coords.indexOf(':'));
  2326. var planet = coords.substring(coords.indexOf(':') + 1);
  2327. localStorage.EasyTargetRedirect = JSON.stringify({
  2328. 'g': -1,
  2329. 's': -1,
  2330. 'planet': planet,
  2331. 'redirect': 1
  2332. });
  2333. $('#galaxy')[0].value = gal;
  2334. document.getElementsByName('system')[0].value = sys;
  2335. document.forms['galaxy_form'].submit();
  2336. });
  2337. }
  2338. }
  2339. }
  2340.  
  2341. }
  2342. for (var i = 0; i < changedPlayers.length; i++) {
  2343. var name = changedPlayers[i];
  2344. storage.players[name][0].sort(galaxySort);
  2345. }
  2346. for (var i = 0; i < changedMoons.length; i++) {
  2347. storage.players[changedMoons[i]][1].sort(galaxySort);
  2348. }
  2349. if (infos_scripts.EasyTarget && changed) {
  2350. GM_setValue("galaxy_data_" + uni, JSON.stringify(storage));
  2351. }
  2352. GM_setValue('InactiveList', JSON.stringify(inactiveList));
  2353. //localStorage.spacesWarsInactiveList = JSON.stringify(inactiveList);
  2354. }
  2355.  
  2356. function galaxySort(a, b) {
  2357. var a1 = parseInt(a.substring(0, 1)),
  2358. b1 = parseInt(b.substring(0, 1));
  2359. if (a1 != b1) {
  2360. return a1 - b1;
  2361. } else {
  2362. a = a.substring(2);
  2363. b = b.substring(2);
  2364. a1 = parseInt(a.substring(0, a.indexOf(":"))), b1 = parseInt(b.substring(0, b.indexOf(":")));
  2365. if (a1 != b1) {
  2366. return a1 - b1;
  2367. } else {
  2368. a = a.substring(a.indexOf(":") + 1)
  2369. b = b.substring(b.indexOf(":") + 1)
  2370. return (parseInt(a) - parseInt(b));
  2371. }
  2372. }
  2373. }
  2374.  
  2375. function auto_complete_selected(p) {
  2376. var pages = config.NoAutoComplete;
  2377. if (pages[p]) return true;
  2378. else if (pages.sims && p.indexOf('sim') != -1) {
  2379. return true
  2380. }
  2381. return false;
  2382. }
  2383.  
  2384. if (infos_scripts.NoAutoComplete && auto_complete_selected(page)) {
  2385. elements = document.getElementsByTagName('input');
  2386. for (var i = 0; i < elements.length; i++) {
  2387. elements[i].setAttribute('autocomplete', 'off');
  2388. }
  2389. }
  2390.  
  2391. if (can_load_in_page("AllinDeut") && infos_scripts.AllinDeut) {
  2392. var xpath_pages = {
  2393. "buildings": "//div[@class='buildings_1b']/div[@class='buildings_1b1'][3]",
  2394. "research": "//div[@class='research_1b']/div[@class='research_1b1'][3]"
  2395. };
  2396. var regMetal_pages = {
  2397. "buildings": new RegExp(L_["AllinDeut_metal"] +
  2398. "\\s:\\s<font\\s.{15}>([^<]*)</font>"),
  2399. "research": new RegExp(L_["AllinDeut_metal"] +
  2400. "\\s:\\s<font\\s.{15}>([^<]*)</font>")
  2401. };
  2402. var regCrystal_pages = {
  2403. "buildings": new RegExp(L_["AllinDeut_crystal"] +
  2404. "\\s:\\s<font\\s.{15}>([^<]*)</font>"),
  2405. "research": new RegExp(L_["AllinDeut_crystal"] +
  2406. "\\s:\\s<font\\s.{15}>([^<]*)</font>")
  2407. };
  2408. var regDeut_pages = {
  2409. "buildings": new RegExp(L_["AllinDeut_deuterium"] +
  2410. "\\s:\\s<font\\s.{15}>([^<]*)</font>"),
  2411. "research": new RegExp(L_["AllinDeut_deuterium"] +
  2412. "\\s:\\s<font\\s.{15}>([^<]*)</font>")
  2413. };
  2414. var separator_pages = {
  2415. "buildings": ".",
  2416. "research": ".",
  2417. };
  2418.  
  2419. var doms = get_dom_xpath(xpath_pages[page], document, -1);
  2420. var inDeut = 0;
  2421. for (var i = 0; i < doms.length; i++) {
  2422. inDeut = 0;
  2423. if (regMetal_pages[page].test(doms[i].innerHTML)) inDeut +=
  2424. get_nb_from_stringtab(regMetal_pages[page].exec(doms[i].innerHTML)[1].split(
  2425. separator_pages[page])) / 4;
  2426. if (regCrystal_pages[page].test(doms[i].innerHTML)) inDeut +=
  2427. get_nb_from_stringtab(regCrystal_pages[page].exec(doms[i].innerHTML)[1].split(
  2428. separator_pages[page])) / 2;
  2429. if (regDeut_pages[page].test(doms[i].innerHTML)) inDeut +=
  2430. get_nb_from_stringtab(regDeut_pages[page].exec(doms[i].innerHTML)[1].split(
  2431. separator_pages[page]));
  2432. doms[i].appendChild(build_node("div", [], [],
  2433. "<font color='lime'>AllinDeut</font> : " + get_slashed_nb("" +
  2434. parseFloat(inDeut))));
  2435. }
  2436.  
  2437. }
  2438.  
  2439. if (can_load_in_page("iFly") && infos_scripts.iFly) {
  2440. var i = 1,
  2441. ressources, metal, cristal, deut, metal_total = 0,
  2442. cristal_total = 0,
  2443. deut_total = 0,
  2444. equivalent_deut_total = 0,
  2445. chaine_total = "";
  2446. while (document.getElementById("data_tooltip_" + i) !== null) {
  2447. ressources = document.getElementById("data_tooltip_" + i).getElementsByTagName(
  2448. "div");
  2449. if (ressources[0].innerHTML.indexOf(L_["iFly_metal"]) != -1) {
  2450. metal = ressources[0].innerHTML.replace(/[^0-9]/g, '');
  2451. cristal = ressources[1].innerHTML.replace(/[^0-9]/g, '');
  2452. deut = ressources[2].innerHTML.replace(/[^0-9]/g, '');
  2453. if (chaine_total.indexOf(metal) == -1 || chaine_total.indexOf(cristal) ==
  2454. -1 || chaine_total.indexOf(deut) == -1) {
  2455. metal_total += parseInt(metal);
  2456. cristal_total += parseInt(cristal);
  2457. deut_total += parseInt(deut);
  2458. chaine_total += metal + cristal + deut;
  2459. }
  2460. }
  2461. i = i + 1;
  2462. }
  2463. equivalent_deut_total = parseInt(metal_total / 4) +
  2464. parseInt(cristal_total / 2) + deut_total;
  2465.  
  2466. var html = "<div class='padding5 linkgreen'>iFly :</div>";
  2467. html += "<div class='default_space padding5 curvedot'>" + L_["iFly_deutfly"] +
  2468. " : " + get_slashed_nb(equivalent_deut_total) + "</div>";
  2469. document.getElementById("data_tooltip_10000").appendChild(build_node("div", [], [],
  2470. html));
  2471. }
  2472.  
  2473. if (can_load_in_page("TChatty") && infos_scripts.TChatty) {
  2474. var color = config.TChatty.color;
  2475. var toolbar = get_dom_xpath("//div[@class='toolbar']", document, 0);
  2476. var send = document.getElementById("send");
  2477. var message = document.getElementById("message");
  2478. toolbar.removeChild(document.getElementById("chat_couleur"));
  2479. document.getElementsByTagName("head")[0].appendChild(build_node("script", [
  2480. "src", "type"
  2481. ], [scripts_scripts + "jscolor/jscolor.js", "text/javascript"], ""));
  2482.  
  2483. toolbar.innerHTML = '<input class="color" id="jscolorid" value="' + color +
  2484. '">' + toolbar.innerHTML;
  2485. message.cols = 90;
  2486. message.id = "message2";
  2487. toolbar.innerHTML +=
  2488. ' <textarea id="message" style="display:none" name="message"></textarea>';
  2489. //Correction ToolBar
  2490. toolbar.innerHTML = toolbar.innerHTML.replace(/'message'/g, "'message2'");
  2491. //Correction Smileys
  2492. var smileys = document.getElementById('smiley').getElementsByTagName('img');
  2493. for (var i = 0; i < smileys.length; i++) {
  2494. smileys[i].addEventListener('click', function(e) {
  2495. document.getElementById("message2").value += this.alt;
  2496. document.getElementById("message").value = "[color=#" + document.getElementById(
  2497. 'jscolorid').value + "]" + document.getElementById("message2").value +
  2498. "[/color]";
  2499. }, false);
  2500. }
  2501. var jscolorid = document.getElementById("jscolorid");
  2502. jscolorid.addEventListener("click", function() {
  2503. document.getElementById("jscolor_box").addEventListener("mouseout",
  2504. function() {
  2505. config.TChatty.color = document.getElementById("jscolorid").value;
  2506. GM_setValue("config_scripts_uni_" + uni, JSON.stringify(config));
  2507. }, false);
  2508. }, false);
  2509.  
  2510. var textarea = document.getElementById("message2");
  2511. textarea.addEventListener('keyup', function(e) {
  2512. reg = new RegExp("\[[0-9]+\:[0-9]+\:[0-9]+\]", "gi");
  2513. this.value = this.value.replace(reg, "[x:xxx:x]");
  2514. if (this.value.length > 232) this.value = this.value.substring(0, 232); //¨La limite de 255 - la place que les balises colors prennent
  2515. if (this.value.charAt(0) != "/" && this.value !== "") {
  2516. document.getElementById("message").value = "[color=#" + document.getElementById(
  2517. 'jscolorid').value + "]" + this.value + "[/color]";
  2518. } else {
  2519. document.getElementById("message").value = this.value;
  2520. }
  2521. if (e.keyCode == 13) {
  2522. this.value = "";
  2523. if (navigator.userAgent.indexOf("Firefox") != -1) {
  2524. document.getElementById("send").click();
  2525. }
  2526. }
  2527. }, false);
  2528. send.addEventListener('click', function(e) {
  2529. document.getElementById("message2").value = "";
  2530. }, false);
  2531. }
  2532.  
  2533. if (infos_scripts.More) {
  2534.  
  2535. if (can_load_in_page("More_moonsList") && config.More.moonsList) {
  2536. var options = document.getElementById("changeplanet").getElementsByTagName("option");
  2537. for (i = 0; i < options.length; i++)
  2538. if (/(\(M\))|(\(L\))/.test(options[i].innerHTML)) options[i].style.color =
  2539. "SteelBlue";
  2540. }
  2541.  
  2542. if (can_load_in_page("More_convertDeut") && config.More.convertDeut) {
  2543. if (document.getElementById('marchand_suba') !== null) {
  2544. var a = document.getElementById("marchand_suba").getElementsByTagName("a")
  2545. var script = "";
  2546. for (i = 0; i < a.length; i++)
  2547. script += a[i].getAttribute("onclick");
  2548. div = build_node("div", [], [], L_["More_convertInto"] +
  2549. ' : <a style="color:#F2A10A" id="allMetal" href="javascript:" onclick="' + script +
  2550. 'document.getElementById(\'metal2\').checked=\'checked\'; calcul();">' +
  2551. "metal" +
  2552. '</a> | <a style="color:#55BBFF" id="allCryst" href="javascript:" onclick="' + script +
  2553. 'document.getElementById(\'cristal2\').checked=\'checked\'; calcul();">' +
  2554. L_["More_crystal"] +
  2555. '</a> | <a style="color:#7BE654" id="allDeut" href="javascript:" onclick="' + script +
  2556. 'document.getElementById(\'deut2\').checked=\'checked\'; calcul();">' +
  2557. L_["More_deuterium"] + '</a>');
  2558. document.getElementById("marchand_suba").parentNode.insertBefore(div, document.getElementById(
  2559. "marchand_suba"));
  2560. if (GM_getValue('ResourceRedirect') !== 0) {
  2561. GM_setValue('ResourceRedirectRef', GM_getValue('ResourceRedirect'));
  2562. GM_setValue('ResourceRedirect', 1);
  2563. var type = parseInt(GM_getValue('ResourceRedirectType'));
  2564. if (type === 0) $('#allMetal').click();
  2565. else if (type === 1) $('#allCryst').click();
  2566. else $('#allDeut').click();
  2567. document.forms[1].submit();
  2568. }
  2569. } else {
  2570. if (GM_getValue('ResourceRedirect') === 1) {
  2571. GM_setValue('ResourceRedirect', 0);
  2572. window.location = GM_getValue('ResourceRedirectRef');
  2573. }
  2574. }
  2575. }
  2576.  
  2577. if (can_load_in_page("More_traductor") && config.More.traductor) {
  2578. function to_translate(word, lang1, lang2) {
  2579. GM_xmlhttpRequest({
  2580. url: "http://www.wordreference.com/" + lang1 + lang2 + "/" + word,
  2581. method: "GET",
  2582. onload: function(response) {
  2583. gettraduction(response.responseText);
  2584. }
  2585. });
  2586.  
  2587. function gettraduction(text) {
  2588. text = (/<div class=id>IDIOMS:/.test(text)) ?
  2589. /<div class=se id=se[0-9]{2,5}>([\s\S]*)<div class=id>IDIOMS:/.exec(
  2590. text)[1] :
  2591. /<div class=se id=se[0-9]{2,5}>([\s\S]*)<div id='FTintro'/.exec(
  2592. text)[1];
  2593. text += "</div>";
  2594. //text = text.replace(/<span class=b>(.*)<\/span>/g, "<b>$1</b>"); text = text.replace(/<span class=u>(.*)<\/span>/g, "<u>$1</u>"); text = text.replace(/<span class=i>(.*)<\/span>/g, "<em>$1</em>");
  2595. html =
  2596. "<div style='background-color:black; opacity:0.8; border:1px solid white; font-color:white; padding:5px;'>" +
  2597. text + "</div>";
  2598. document.getElementById("gm_traductionofword").innerHTML = html;
  2599. return;
  2600. }
  2601. return;
  2602. }
  2603. html1 = "<option style='background:url(\"" + scripts_icons +
  2604. "Traductor/FR.png\") no-repeat; text-align:right;' value='fr'>FR</option>";
  2605. html2 = "<option style='background:url(\"" + scripts_icons +
  2606. "Traductor/EN.png\") no-repeat; text-align:right;' value='en'>EN</option>";
  2607. html = "<option style='background:url(\"" + scripts_icons +
  2608. "Traductor/DE.png\") no-repeat; text-align:right;' value='de'>DE</option>";
  2609. html += "<option style='background:url(\"" + scripts_icons +
  2610. "Traductor/ES.png\") no-repeat; text-align:right;' value='es'>ES</option>";
  2611. html += "<option style='background:url(\"" + scripts_icons +
  2612. "Traductor/IT.png\") no-repeat; text-align:right;' value='it'>IT</option>";
  2613. if (lang == "en") {
  2614. select1 = build_node("select", ["id", "style"], ["gm_lang1",
  2615. "height:18px;"
  2616. ], html1 + html2);
  2617. select2 = build_node("select", ["id", "style"], ["gm_lang2",
  2618. "height:18px;"
  2619. ], html2 + html1);
  2620. } else {
  2621. select1 = build_node("select", ["id", "style"], ["gm_lang1",
  2622. "height:18px;"
  2623. ], html2 + html1);
  2624. select2 = build_node("select", ["id", "style"], ["gm_lang2",
  2625. "height:18px;"
  2626. ], html1 + html2);
  2627. }
  2628. input = build_node("img", ["type", "src", "style"], ["submit",
  2629. scripts_icons + "Traductor/GO.png",
  2630. "float:right;height:18px;cursor:pointer"
  2631. ], "", "click", function() {
  2632. to_translate(document.getElementById("gm_wordtotranslate").value,
  2633. document.getElementById("gm_lang1").value, document.getElementById(
  2634. "gm_lang2").value);
  2635. });
  2636. div = build_node("div", ["id", "style"], ["gm_traduction",
  2637. "background-color:black; padding:0 0 1px 2px; position:fixed; bottom:1px; right:1px; "
  2638. ],
  2639. "<input id='gm_wordtotranslate' type='text' style='width:80px;height:9px;'/>"
  2640. );
  2641. div.appendChild(select1);
  2642. div.appendChild(select2);
  2643. div2 = build_node("div", ["id"], ["gm_traductionofword"], "");
  2644. div.appendChild(input);
  2645. document.getElementsByTagName("body")[0].appendChild(div2);
  2646. document.getElementsByTagName("body")[0].appendChild(div);
  2647. }
  2648.  
  2649. if (can_load_in_page("More_resources") && config.More.resources) {
  2650. html = "<div class='ressources_sub1a' style='float:left'>" + L_[
  2651. "More_allTo"] + "</div>";
  2652. html +=
  2653. '<div class="ressources_sub1c" style="float:right; padding-right:12px; overflow:hidden;">' +
  2654. '<select size="1" style="border:none;" onchange="var selects = document.getElementById(\'main\')' +
  2655. '.getElementsByTagName(\'select\'); for (var i=0; i<selects.length; i++) { selects[i].value=this.value; }' +
  2656. 'document.ressources.submit();">' +
  2657. '<option value="100">100%</option><option value="90">90%</option><option value="80">80%</option>' +
  2658. '<option value="70">70%</option><option value="60">60%</option><option value="50">50%</option>' +
  2659. '<option value="40">40%</option><option value="30">30%</option><option value="20">20%</option>' +
  2660. '<option value="10">10%</option><option value="0">0%</option><option selected="selected">?</option></select></div>';
  2661. var div = build_node("div", ["class"], [
  2662. "space0 ressources_font_little ressources_bordert"
  2663. ], html);
  2664. document.getElementById("main").insertBefore(div, document.getElementsByClassName(
  2665. "space0 ressources_font_little ressources_bordert")[0]);
  2666. }
  2667.  
  2668. if (can_load_in_page("More_redirectFleet") && config.More.redirectFleet) {
  2669. window.onload = function() {
  2670. window.location.href = "fleet.php";
  2671. };
  2672. }
  2673.  
  2674. if (can_load_in_page("More_returns") && config.More.returns) {
  2675. var returns = document.getElementsByClassName('curvedtot return');
  2676. for (i = 0; i < returns.length; i++)
  2677. returns[i].style.opacity = "0.6";
  2678. }
  2679.  
  2680. if (can_load_in_page("More_arrows") && config.More.arrows) {
  2681. document.getElementById("previousplanet").value = "<<<<";
  2682. document.getElementById("nextplanet").value = ">>>>";
  2683. }
  2684. }
  2685.  
  2686. (function(a, b) {
  2687. function m(a, b, c) {
  2688. var d = h[b.type] || {};
  2689. return a == null ? c || !b.def ? null : b.def : (a = d.floor ? ~~a : parseFloat(a),
  2690. isNaN(a) ? b.def : d.mod ? (a + d.mod) % d.mod : 0 > a ? 0 : d.max < a ? d.max : a)
  2691. }
  2692.  
  2693. function n(b) {
  2694. var c = f(),
  2695. d = c._rgba = [];
  2696. return b = b.toLowerCase(),
  2697. l(e, function(a, e) {
  2698. var f, h = e.re.exec(b),
  2699. i = h && e.parse(h),
  2700. j = e.space || "rgba";
  2701. if (i) return f = c[j](i), c[g[j].cache] = f[g[j].cache],
  2702. d = c._rgba = f._rgba, !1
  2703. }), d.length ? (d.join() === "0,0,0,0" && a.extend(d, k.transparent), c) : k[b]
  2704. }
  2705.  
  2706. function o(a, b, c) {
  2707. return c = (c + 1) % 1, c * 6 < 1 ? a + (b - a) * c * 6 : c * 2 < 1 ? b : c * 3 < 2 ? a + (b - a) * (2 / 3 - c) * 6 : a
  2708. }
  2709. var
  2710. c = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
  2711. d = /^([\-+])=\s*(\d+\.?\d*)/,
  2712. e = [{
  2713. re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
  2714. parse: function(a) {
  2715. return [a[1], a[2], a[3], a[4]]
  2716. }
  2717. }, {
  2718. re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
  2719. parse: function(a) {
  2720. return [a[1] * 2.55, a[2] * 2.55, a[3] * 2.55, a[4]]
  2721. }
  2722. }, {
  2723. re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
  2724. parse: function(a) {
  2725. return [parseInt(a[1], 16), parseInt(a[2], 16), parseInt(a[3], 16)]
  2726. }
  2727. }, {
  2728. re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
  2729. parse: function(a) {
  2730. return [parseInt(a[1] + a[1], 16), parseInt(a[2] + a[2], 16), parseInt(a[3] + a[3], 16)]
  2731. }
  2732. }, {
  2733. re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
  2734. space: "hsla",
  2735. parse: function(a) {
  2736. return [a[1], a[2] / 100, a[3] / 100, a[4]]
  2737. }
  2738. }],
  2739. f = a.Color = function(b, c, d, e) {
  2740. return new a.Color.fn.parse(b, c, d, e)
  2741. },
  2742. g = {
  2743. rgba: {
  2744. props: {
  2745. red: {
  2746. idx: 0,
  2747. type: "byte"
  2748. },
  2749. green: {
  2750. idx: 1,
  2751. type: "byte"
  2752. },
  2753. blue: {
  2754. idx: 2,
  2755. type: "byte"
  2756. }
  2757. }
  2758. },
  2759. hsla: {
  2760. props: {
  2761. hue: {
  2762. idx: 0,
  2763. type: "degrees"
  2764. },
  2765. saturation: {
  2766. idx: 1,
  2767. type: "percent"
  2768. },
  2769. lightness: {
  2770. idx: 2,
  2771. type: "percent"
  2772. }
  2773. }
  2774. }
  2775. },
  2776. h = {
  2777. "byte": {
  2778. floor: !0,
  2779. max: 255
  2780. },
  2781. percent: {
  2782. max: 1
  2783. },
  2784. degrees: {
  2785. mod: 360,
  2786. floor: !0
  2787. }
  2788. },
  2789. i = f.support = {},
  2790. j = a("<p>")[0],
  2791. k, l = a.each;
  2792. j.style.cssText = "background-color:rgba(1,1,1,.5)", i.rgba = j.style.backgroundColor.indexOf("rgba") > -1,
  2793. l(g, function(a, b) {
  2794. b.cache = "_" + a, b.props.alpha = {
  2795. idx: 3,
  2796. type: "percent",
  2797. def: 1
  2798. }
  2799. }), f.fn = a.extend(f.prototype, {
  2800. parse: function(c, d, e, h) {
  2801. if (c === b) return this._rgba = [null, null, null, null], this;
  2802. if (c.jquery || c.nodeType) c = a(c).css(d),
  2803. d = b;
  2804. var i = this,
  2805. j = a.type(c),
  2806. o = this._rgba = [];
  2807. d !== b && (c = [c, d, e, h], j = "array");
  2808. if (j === "string") return this.parse(n(c) || k._default);
  2809. if (j === "array") return l(g.rgba.props, function(a, b) {
  2810. o[b.idx] = m(c[b.idx], b)
  2811. }), this;
  2812. if (j === "object")
  2813. return c instanceof f ? l(g, function(a, b) {
  2814. c[b.cache] && (i[b.cache] = c[b.cache].slice())
  2815. }) : l(g,
  2816. function(b, d) {
  2817. var e = d.cache;
  2818. l(d.props, function(a, b) {
  2819. if (!i[e] && d.to) {
  2820. if (a === "alpha" || c[a] == null) return;
  2821. i[e] = d.to(i._rgba)
  2822. }
  2823. i[e][b.idx] = m(c[a], b, !0)
  2824. }), i[e] && a.inArray(null, i[e].slice(0, 3)) < 0 && (i[e][3] = 1,
  2825. d.from && (i._rgba = d.from(i[e])))
  2826. }), this
  2827. },
  2828. is: function(a) {
  2829. var b = f(a),
  2830. c = !0,
  2831. d = this;
  2832. return l(g,
  2833. function(a, e) {
  2834. var f, g = b[e.cache];
  2835. return g && (f = d[e.cache] || e.to && e.to(d._rgba) || [], l(e.props,
  2836. function(a, b) {
  2837. if (g[b.idx] != null) return c = g[b.idx] === f[b.idx], c
  2838. })), c
  2839. }), c
  2840. },
  2841. _space: function() {
  2842. var a = [],
  2843. b = this;
  2844. return l(g, function(c, d) {
  2845. b[d.cache] && a.push(c)
  2846. }), a.pop()
  2847. },
  2848. transition: function(a, b) {
  2849. var c = f(a),
  2850. d = c._space(),
  2851. e = g[d],
  2852. i = this.alpha() === 0 ? f("transparent") :
  2853. this,
  2854. j = i[e.cache] || e.to(i._rgba),
  2855. k = j.slice();
  2856. return c = c[e.cache], l(e.props, function(a, d) {
  2857. var e = d.idx,
  2858. f = j[e],
  2859. g = c[e],
  2860. i = h[d.type] || {};
  2861. if (g === null) return;
  2862. f === null ? k[e] = g : (i.mod && (g - f > i.mod / 2 ? f += i.mod : f - g > i.mod / 2 && (f -= i.mod)), k[e] = m((g - f) * b + f, d))
  2863. }),
  2864. this[d](k)
  2865. },
  2866. blend: function(b) {
  2867. if (this._rgba[3] === 1) return this;
  2868. var c = this._rgba.slice(),
  2869. d = c.pop(),
  2870. e = f(b)._rgba;
  2871. return f(a.map(c, function(a, b) {
  2872. return (1 - d) * e[b] + d * a
  2873. }))
  2874. },
  2875. toRgbaString: function() {
  2876. var b = "rgba(",
  2877. c = a.map(this._rgba,
  2878. function(a, b) {
  2879. return a == null ? b > 2 ? 1 : 0 : a
  2880. });
  2881. return c[3] === 1 && (c.pop(), b = "rgb("), b + c.join() + ")"
  2882. },
  2883. toHslaString: function() {
  2884. var b = "hsla(",
  2885. c = a.map(this.hsla(), function(a, b) {
  2886. return a == null && (a = b > 2 ? 1 : 0), b && b < 3 && (a = Math.round(a * 100) + "%"), a
  2887. });
  2888. return c[3] === 1 && (c.pop(), b = "hsl("), b + c.join() + ")"
  2889. },
  2890. toHexString: function(b) {
  2891. var c = this._rgba.slice(),
  2892. d = c.pop();
  2893. return b && c.push(~~(d * 255)), "#" + a.map(c, function(a) {
  2894. return a = (a || 0).toString(16), a.length === 1 ? "0" + a : a
  2895. }).join("")
  2896. },
  2897. toString: function() {
  2898. return this._rgba[3] === 0 ? "transparent" : this.toRgbaString()
  2899. }
  2900. }), f.fn.parse.prototype = f.fn, g.hsla.to =
  2901. function(a) {
  2902. if (a[0] == null || a[1] == null || a[2] == null) return [null, null, null, a[3]];
  2903. var b = a[0] / 255,
  2904. c = a[1] / 255,
  2905. d = a[2] / 255,
  2906. e = a[3],
  2907. f = Math.max(b, c, d),
  2908. g = Math.min(b, c, d),
  2909. h = f - g,
  2910. i = f + g,
  2911. j = i * .5,
  2912. k, l;
  2913. return g === f ? k = 0 : b === f ? k = 60 * (c - d) / h + 360 :
  2914. c === f ? k = 60 * (d - b) / h + 120 : k = 60 * (b - c) / h + 240, h === 0 ? l = 0 : j <= .5 ? l = h / i : l = h / (2 - i), [Math.round(k) % 360, l, j, e == null ? 1 : e]
  2915. },
  2916. g.hsla.from = function(a) {
  2917. if (a[0] == null || a[1] == null || a[2] == null) return [null, null, null, a[3]];
  2918. var b = a[0] / 360,
  2919. c = a[1],
  2920. d = a[2],
  2921. e = a[3],
  2922. f = d <= .5 ? d * (1 + c) : d + c - d * c,
  2923. g = 2 * d - f;
  2924. return [Math.round(o(g, f, b + 1 / 3) * 255),
  2925. Math.round(o(g, f, b) * 255), Math.round(o(g, f, b - 1 / 3) * 255), e
  2926. ]
  2927. }, l(g, function(c, e) {
  2928. var g = e.props,
  2929. h = e.cache,
  2930. i = e.to,
  2931. j = e.from;
  2932. f.fn[c] = function(c) {
  2933. i && !this[h] && (this[h] = i(this._rgba));
  2934. if (c === b) return this[h].slice();
  2935. var d,
  2936. e = a.type(c),
  2937. k = e === "array" || e === "object" ? c : arguments,
  2938. n = this[h].slice();
  2939. return l(g,
  2940. function(a, b) {
  2941. var c = k[e === "object" ? a : b.idx];
  2942. c == null && (c = n[b.idx]), n[b.idx] = m(c, b)
  2943. }), j ? (d = f(j(n)),
  2944. d[h] = n, d) : f(n)
  2945. }, l(g, function(b, e) {
  2946. if (f.fn[b]) return;
  2947. f.fn[b] = function(f) {
  2948. var g = a.type(f),
  2949. h = b === "alpha" ? this._hsla ? "hsla" : "rgba" :
  2950. c,
  2951. i = this[h](),
  2952. j = i[e.idx],
  2953. k;
  2954. return g === "undefined" ? j : (g === "function" && (f = f.call(this, j), g = a.type(f)),
  2955. f == null && e.empty ? this : (g === "string" && (k = d.exec(f), k && (f = j + parseFloat(k[2]) * (k[1] === "+" ? 1 : -1))), i[e.idx] = f,
  2956. this[h](i)))
  2957. }
  2958. })
  2959. }), f.hook = function(b) {
  2960. var c = b.split(" ");
  2961. l(c, function(b, c) {
  2962. a.cssHooks[c] = {
  2963. set: function(b, d) {
  2964. var e, g, h = "";
  2965. if (d !== "transparent" && (a.type(d) !== "string" || (e = n(d)))) {
  2966. d = f(e || d);
  2967. if (!i.rgba && d._rgba[3] !== 1) {
  2968. g = c === "backgroundColor" ? b.parentNode : b;
  2969. while ((h === "" || h === "transparent") && g && g.style)
  2970. try {
  2971. h = a.css(g, "backgroundColor"), g = g.parentNode
  2972. } catch (j) {}
  2973. d = d.blend(h && h !== "transparent" ? h : "_default")
  2974. }
  2975. d = d.toRgbaString()
  2976. }
  2977. try {
  2978. b.style[c] = d
  2979. } catch (j) {}
  2980. }
  2981. }, a.fx.step[c] = function(b) {
  2982. b.colorInit || (b.start = f(b.elem, c),
  2983. b.end = f(b.end), b.colorInit = !0), a.cssHooks[c].set(b.elem, b.start.transition(b.end, b.pos))
  2984. }
  2985. })
  2986. }, f.hook(c),
  2987. a.cssHooks.borderColor = {
  2988. expand: function(a) {
  2989. var b = {};
  2990. return l(["Top", "Right", "Bottom", "Left"],
  2991. function(c, d) {
  2992. b["border" + d + "Color"] = a
  2993. }), b
  2994. }
  2995. }, k = a.Color.names = {
  2996. aqua: "#00ffff",
  2997. black: "#000000",
  2998. blue: "#0000ff",
  2999. fuchsia: "#ff00ff",
  3000. gray: "#808080",
  3001. green: "#008000",
  3002. lime: "#00ff00",
  3003. maroon: "#800000",
  3004. navy: "#000080",
  3005. olive: "#808000",
  3006. purple: "#800080",
  3007. red: "#ff0000",
  3008. silver: "#c0c0c0",
  3009. teal: "#008080",
  3010. white: "#ffffff",
  3011. yellow: "#ffff00",
  3012. transparent: [null, null, null, 0],
  3013. _default: "#ffffff"
  3014. }
  3015. })(jQuery);
Add Comment
Please, Sign In to add comment