// ==UserScript==
// @name		DeviantART Toolbox
// @namespace	http://aeonoftime.deviantart.com
// @description	The swiss army knife for DeviantART which bundles a number of useful utilities for everyday DA tasks, from a comprehensive navigation system to an integrated user tracking system and print management utilities.
// @include		http://*.deviantart.*
// @exclude		http://shout.deviantart.com/*
// @exclude		http://*.deviantart.com/friends/*
// ==/UserScript==

// Homepage..: http://sebastian.mordziol.com/deviantToolbox
// Version...: 1.0beta2, released 08.09.2006
// Author....: Sebastian Mordziol aka AeonOfTime
// Link......: http://aeonoftime.deviantart.com

var dto={'version':'1.0beta2','releaseDate':'08.09.2006','data':{},'prefix':'dto_','open':false,'openBtn':'<img src="http://i.deviantart.com/icons/favicon.png" style="float:left;"/>','closeBtn':'<img src="http://i.deviantart.com/icons/favicon.png" style="float:left;"/>','sections':['devs','user','prints','admin','tools','da'],'offset':[5,5],'baseZIndex':1000000,'tm':'Full','displayEl':null,'deviant':false,'deviation':false,'userToEdit':false,'listModes':['Full','Slim','UltraSlim','AvatarsOnly'],'screens':{'Options':{'id':'Options','created':false,'width':400,'priority':200,'element':null,'needsRefresh':true,'buttons':[['applyOptions','dto.applyOptions();dto.cs(\'TrackUser\');'],['btnCancel','dto.cs(\'Options\');']]},'About':{'id':'About','created':false,'width':330,'priority':100,'element':null,'needsRefresh':false},'CalcAspect':{'id':'CalcAspect','created':false,'width':330,'priority':0,'element':null,'needsRefresh':false,'buttons':[['btnCalcAspect','dto.calcAspect();']]},'StyleEditor':{'id':'StyleEditor','created':false,'width':450,'priority':0,'element':null,'needsRefresh':false},'TrackUser':{'id':'TrackUser','created':false,'width':450,'priority':50,'element':null,'needsRefresh':true,'buttons':[['btnTrack','dto.userTracker.saveUser();dto.cs(\'TrackUser\');'],['btnCancel','dto.cs(\'TrackUser\');']]},'TrackedList':{'id':'TrackedList','created':false,'width':500,'priority':0,'element':null,'needsRefresh':true,'init':function(){dto.trackedListDetails(GM_getValue('tm', dto.tm));}},},'bulletImage':'http://e.deviantart.com/emoticons/p/pointr.gif','dp':['http://comments.deviantart.com/emoticons','http://ads.deviantart.com','http://pagead2.googlesyndication'],'o':{'persistState':'yes','layout':'vertical','skin':'silver','displaySections':'devs,user,prints,admin,tools,da','displayWelcome':'yes','displayVanity':'yes','displayTitleText':'yes','enablePricingEnhancement':'yes','maxLinkLabelLength':40},'colorParts':['frame','frameText','borders','content','contentText','button','cbt','cba','cbx','footer','footerText','link','la','deleteText','screen'],'colors':{'daClassic':{'frame':'#88938d','frameText':'#dedede','borders':'#4a584a','content':'#bbc2bb','contentText':'#000','listHighlights':'#cad2ca','button':'#d6dbd6','cbt':'#000','cba':'#000','cbx':'#fff','footer':'#5e6a63','footerText':'#aaa','link':'#333','la':'#fff','deleteText':'#cc0000','screen':'#bbc2bb','message':'#faf29b','ff':'verdana'},'aeoncyan':{'frame':'#7dafbb','frameText':'#edfcff','borders':'#446770','content':'#c1dee4','contentText':'#000000','listHighlights':'#d8f0f5','button':'#e6f6fb','cbt':'#000000','cba':'#000000','cbx':'#ffffff','footer':'#a5cbd4','footerText':'#54808b','link':'#0285a0','la':'#ffffff','deleteText':'#cc0000','screen':'#c1dee4','message':'#faf29b','ff':'verdana'},'grey':{'frame':'#b7bfc4','frameText':'#ffffff','borders':'#444444','content':'#ffffff','contentText':'#000000','listHighlights':'#f3f6f7','button':'#ffffff','cbt':'#000000','cba':'#000000','cbx':'#ffffff','footer':'#dfe6ea','footerText':'#81898d','link':'#666666','la':'#000000','deleteText':'#cc0000','screen':'#ebedee','message':'#faf29b','ff':'verdana'},'silver':{'frame':'#b7bfc4','frameText':'#444444','borders':'#444444','content':'#ffffff','contentText':'#000000','listHighlights':'#f3f6f7','button':'#ffffff','cbt':'#000000','cba':'#000000','cbx':'#ffffff','footer':'#dfe6ea','footerText':'#666666','link':'#666666','la':'#000000','deleteText':'#cc0000','screen':'#ebedee','message':'#faf29b','ff':'verdana','ifb':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAyCAMAAACqJUG4AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA2UExURfz9/dPY2/Dy88DHy7jAxf///+Xo6u3v8Pn6+szS1cbM0PX297e/xOvt7rzDyL3EyeDj5dre4BJ1xroAAAAsSURBVHjapMdBAoAQAACwKVRE/P+z/KHdJrkEn1fUnYpnfxqy5lDdfloCDAAxLACbcRNKJgAAAABJRU5ErkJggg==','iob':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAyCAMAAACqJUG4AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABUUExURbvDx/////z8/fHy88jO0uDj5urt7v7+//T19v7+/tjc37rCx7/Gy+nr7cbN0c7U1/r7++Dk5tfc3uTn6Pf4+cHIzLe/xPb3+O7w8dDV2Pj5+ufq6xvbKQkAAAA+SURBVHjajMvHDcAwAMPAc3rvPfvvGY8Q8UMQkCBzaHUGo8Wsl9okQqRUR5s8TlXsl8JrlWvc8bn7sU+AAQBkAwGGZ9s8+wAAAABJRU5ErkJggg==','ica':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFTSURBVHjaYnRxcWEAAmcgjgZieQbc4BUQbwLi5SAOCxC7+vv793t5eUkrKSkJ4NL1/v37Hxs3bjScM2cOGycn50IGoI1L79279+E/GgCKowv9f/ny5VcnJ6fVQHNEmYCEhJi4BP/Xb98ZYNjV1RVsC4hGFmdmYWVjZGTkgmlkeP/xExwH+PuBNc1ftARMg/gwuQ+fPsNczgzyI8Prt+/hfunqnwymE+Ni4GyY/K9fv+DqwDa+/fARBZcV5oIlQTSy+LuPH1E1/vv7F447G2vAEqU1jWAaxEeWhwGQU9/8//Prs6iYOC9YYd8kuCQyGwQ+fvjwGxi432AaF1w6f1bb0clZWl5eHmc8vnv39vuJKxcfffz48QiQ+5cRaAKDtbW1PxsbWxALC4sMLo1///598+XLl5OnT5/eB+Q+BWsEAWD8CILiB4i58CS7nyDLQWkBIMAAP3XZlTDTHbMAAAAASUVORK5CYII=','iea':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFVSURBVHjaYnRxcWEAAmcgjgZieQbc4BUQbwLi5SAOCxC7+vv793t5eUkrKSkJ4NL1/v37Hxs3bjScM2cOGycn50IGoI1L79279+E/EeDly5dfnZycVgPNEWUCEhJi4hL8X799ZwBhV1dXMEZngzAzCysbIyMjF0wjw/uPn+B4/qIlYKcF+PuBaRAfJvfh02eYy5nBGl+/fY+Cu/ong2VBNLL4m3cf4H4GBQ7D2w8f4QKdjTVgury+haGsMBfOBoHfv3/B1YFt/Pf3LxyX1jSiGADiI8sja3zz/8+vzyJCggww3Nk3CaIZSCOLc7Gz/wYG7jeYUxdcOn9W29HJWVpeXh4ej8tWrEKJx3fv3n4/ceXio48fPx4Bcv8yAk1gsLa29mdjYwtiYWGRwZUA/v79++bLly8nT58+vQ/IfQrWCALA+BEExQ8Qc+FJdj9BloPSAkCAAQCxydq0YyMmrAAAAABJRU5ErkJggg==','im':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEbSURBVHjaYmQAAhcXF2cgFQ3E8gy4wSsg3rRnz57lQPUMLEDC1d/fv9/Ly0taSUlJAJeu9+/f/9i4caPh9+/f2YDchSDblt67d+/DfyLAy5cvvzo5Oa0GahRlARISYuIS/F+/fWcgBJhZWNkYGRm5YBoZ3n/8xEAM+PnzJ8IMEPn67Xu4ZFlhLoaGrv7JYPrXr19wMbDGtx8+wgXK61swNMLkf/9G0/jv71+inIqsDqTxzf8/vz6LionzEtL48cOH38DA/QbTuODS+bPajk7O0vLy8jjj8d27t99PXLn46OPHj0eA3L+MIEErKyt/Nja2IBYWFhlcGv/+/fvmy5cvJ0+fPr0PyH3KiCQnCIofIObCFyMgy0FpASDAABKClJloEo2YAAAAAElFTkSuQmCC','ip':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE5SURBVHjaYnRxcWEAAmcgjgZieQbc4BUQbwLi5SAOCxC7+vv793t5eUkrKSkJ4NL1/v37Hxs3bjScM2cOGycn50IGoI1L79279+E/EeDly5dfnZycVgPNEWUCEhJi4hL8X799Z0DGrq6uDOhizCysbIyMjFwgjSxgZ3z8hN15aOI/f/6EMZnBGl+/fQ+XLCvMhbMT42LAdFf/ZDD969cvuBxY49sPH+EC5fUtYLqzsQbOhsn//o2m8d/fv1idii6OzAdpfPP/z6/PomLivMiKOvsmYRj08cOH38DA/QbTuODS+bPajk7O0vLy8jjj8d27t99PXLn46OPHj0eA3L+MQBMYrK2t/dnY2IJYWFhkcGn8+/fvmy9fvpw8ffr0PiD3KVgjCADjRxAUP0DMhSfZgeLjHSgtAAQYAHxStmD74nl4AAAAAElFTkSuQmCC','ib':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACpSURBVHjaYmQAAhcXl70MeMDu3budGWAK58+ff+M/DgCSA6kBMiGK/xMAUJsNmECmf/32HY5BwNXVFUMMBMCK33/8BMdPnr8EuZEhwN8PLgYDLCDi9dv3KB6SkRRnwCYOVvz2w0e4gIuNOdgZ5fUtKOJwxf/+/oUL7Dp4jKG0phFFDEXxuZPHbrp5eqtjC+Nd27fehLEZiYmUPXv2FMMVQ4EBA35wASDAAHAKlR6KYN74AAAAAElFTkSuQmCC','id':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGlSURBVHjadFJNSwJRFD2aaAU2Y2REmgYRiLOQNglFtIh2QiAUNELlSgj6Cy36AyFRawuyVS4i2hUEbcJNHyKEtDA06MOPURyVJuu+V4qbuXC595xzD+8+3jOAYhNYoBKidEM/3inPDoATBkxkWpwPh3dnVlcdDq9X1HNVPz4a17HYlBKNmo+BQxNxG7OhkHPU4xGK5TKes1k+aBMElBSF9xNuNwbt9t5ZWR47j0YDRF0w44hotQpqPo/XXA7TwSAf3pJl7MXjvH9MJNDrdMJQr5uNQD9RdiMTyqkUTyOZ9yMRPtw2Mcx4pivpdHvzHnYiCslk5y7uahVrPh+O7u95XZEkfJOhQJqmaZ05bizd3XFQISFJ9zzKZDhm5u3JSfyIIgZMJmitVsfIV201GjyVWg07/6bl4WFeGWZ8e6b7xE/j+HhVFARrT7OJeCDAhfW5uU7vopUFiwU1Vf1qPTyobWMsq6rSkN/vkFwuUdJ5x0qxWH+6vHyhX3BD8NvASBlY6gOCFsCp9wG+aLMicHsKXBHMG7o0G3sf/L2TXjQpyY+3XwEGACgwoKws4ATJAAAAAElFTkSuQmCC','ie':'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEaSURBVHjaYnRxcWEAAmcgjgZieQbc4BUQb9qzZ89yEIcFiF39/f37vby8pJWUlARw6Xr//v2PjRs3Gn7//p3t6NGjCxmANi69d+/eh/9EgJcvX351cnJaDTRHFGSjhJi4BP/Xb98ZCAFmFlY2RkZGLphGhvcfPzEQA37+/IkwA0S+fvueKI2/fv2Cs5lAxNsPH8G4rDAXL/vdx49wjWAb//39CxfAx0bmgzS++f/n12dRMXHezr5JcAls7I8fPvwGBu43mMYFl86f1XZ0cpaWl5fHGY/v3r39fuLKxUcfP348AuT+ZQQJWllZ+bOxsQWxsLDI4NL49+/fN1++fDl5+vTpfUDuU0YkOUFQ/AAxF74YAVkOxC8BAgwAHtatnL+ejwAAAAAASUVORK5CYII='}},'userTracker':{'users':[],'tbx':null,load:function(tbx){this.tbx=tbx;var stored=GM_getValue('Users','');var lines=stored.split('%u%');for(var i=0; i < lines.length; i++){var line=lines[i].split('%p%');if(line[0]==''){continue;}var user=this.createUser(line[0], line[1], line[2], line[3]);this.users.push(user);}},getCategories:function(){var temp={};var cats=[];for(var i=0; i < this.users.length; i++){var cat=this.users[i].category;if(!temp[cat]){temp[cat]=true;cats.push(cat);}}return cats;},getUser:function(name){for(var i=0; i < this.users.length; i++){if(this.users[i].name==name){return this.users[i];}}return false;},saveUser:function(){var name=this.tbx.g('TrackingName').value;var avatar=this.tbx.g('TrackingAvatar').value;var category=this.tbx.g('TrackingCategory').value;var notes=this.tbx.g('TrackingNotes').value;if(this.getUser(name)){var user=this.getUser(name);user.avatar=avatar;user.notes=notes;user.category=category;this.storeUsers();return true;}var user=this.createUser(name, avatar, category, notes);this.users.push(user);this.storeUsers();return true;},getUsers:function(){return this.users;},storeUsers:function(){var lines=[];for(var i=0; i < this.users.length; i++){lines.push(this.users[i].toString());}var toStore=lines.join('%u%');GM_setValue('Users', toStore);},createUser:function(name, avatar, category, notes){return {'name':name,'avatar':avatar,'category':category,'notes':notes,toString:function(){var els=[this.name,this.avatar,this.category,this.notes];return els.join('%p%');}};},untrack:function(name){var okToDelete=confirm('Delete user '+name+'?');if(!okToDelete){return;}this.tbx.g('TrackingRow'+name).style.display='none';var newUsers=[];for(var i=0; i < this.users.length; i++){if(this.users[i].name != name){newUsers.push(this.users[i]);}}this.users=newUsers;this.storeUsers();}},start:function(){if(!this.allowedHere()){return false;}if(!this.collectData()){return false;}if(!this.createDisplayElement()){return false;}if(GM_getValue('open')==true){this.expand();}this.runEnhancements();this.registerKeys();},collectData:function(){this.userTracker.load(this);if(!document.getElementById('deviantART-v5')){var metas=document.getElementsByTagName('meta');var loggedIn=false;for(var idx in metas){if(!metas[idx].getAttribute || metas[idx].getAttribute('name') != 'deviantMETA'){continue;}eval('this.data='+metas[idx].getAttribute('content'));loggedIn=true;}this.data.loggedIn=loggedIn;} else {this.data=unsafeWindow.deviantART.deviant;}if(!GM_getValue('defaultsSet', false)){this.revertToDefaults();} else {for(var option in this.o){if(GM_getValue(option)=='undefined'){GM_setValue(option, this.o[option]);}}}if(GM_getValue('persistState')=='yes'){this.open=GM_getValue('open', false);}if(GM_getValue('displayTitleText')=='yes'){this.openBtn += '&#160;'+this.s('openToolbox');this.closeBtn += '&#160;'+this.s('closeToolbox');if(this.hc('ip') && this.hc('im')){this.openBtn += '&#160;<img src="'+this.gc('ip')+'" align="absmiddle"/>';this.closeBtn += '&#160;<img src="'+this.gc('im')+'" align="absmiddle"/>';} else {this.openBtn += '&#160;<span style="font:bold 11px monospace;">[+]</span>';this.closeBtn += '&#160;<span style="font:bold 11px monospace;">[-]</span>';}}if(this.hc('ib')){this.bulletImage=this.gc('ib');}this.detectUser();return true;},detectUser:function(){var nodes=document.evaluate("//a[@class='u']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);if(nodes.snapshotLength < 1){return false;}var linkNode=false;for(var i=0; i < nodes.snapshotLength; i++){var node=nodes.snapshotItem(i);if(node.firstChild && node.firstChild.nextSibling && node.firstChild.nextSibling.nodeName=='IMG'){linkNode=nodes.snapshotItem(i);break;}}if(!linkNode){return false;}var userName=linkNode.firstChild.data;var userAvatar=linkNode.firstChild.nextSibling.getAttribute('src');if(userName==this.data.username){return true;}this.deviant={'name':userName,'avatar':userAvatar};return true;},registerKeys:function(){document.addEventListener('keydown',function(event){dto.checkKey(event)},true);},checkKey:function(event){if(!event.ctrlKey || !event.altKey){return;}switch(event.keyCode){case 84:this.toggleScreen('TrackedList');break;case 79:this.toggleScreen('Options');break;case 65:this.toggleScreen('CalcAspect');break;case 88:this.toggle();break;case 85:this.toggleScreen('TrackUser');break;}},createDisplayElement:function(){var el=document.createElement('div');document.getElementsByTagName('body')[0].appendChild(el);el.style.position='fixed';el.style.top=this.offset[0]+'px';el.style.right=this.offset[1]+'px';el.style.border='solid 1px '+this.gc('borders');el.style.borderRightWidth='2px';el.style.borderBottomWidth='1px';el.style.backgroundColor=this.gc('frame');el.style.zIndex=this.baseZIndex+1;el.id=this.m('Element');var contentID=this.m('Content');if(this.hc('ifb')){el.style.backgroundRepeat='repeat-x';el.style.backgroundImage='url("'+this.gc('ifb')+'")';}var h='<div style="font:normal 11px '+this.gc('ff')+';color:'+this.gc('frameText')+';border-bottom:solid 1px '+this.gc('borders')+';padding:2px 6px;cursor:pointer;text-align:right;height:15px;" onclick="dto.toggle();" id="'+this.m('Toggler')+'">'+this.openBtn+'</div><div id="'+contentID+'" style="display:none;text-align:left;font:normal 11px '+this.gc('ff')+'"><style type="text/css">#'+contentID+' A:link, #'+contentID+' A:visited{text-decoration:none;color:'+this.gc('link')+';}#'+contentID+' A:active, #'+contentID+' A:hover{text-decoration:underline;color:'+this.gc('la')+';}</style><div style="background:'+this.gc('content')+';color:'+this.gc('contentText')+';padding:7px;">'+this.buildShortcutLinks()+this.buildWelcome()+this.bodevs()+this.bouser()+this.boprints()+this.boadmin()+this.botools()+this.boda()+this.bC()+'</div><div id="'+this.m('FrameFooter')+'" style="color:'+this.gc('footerText')+';background:'+this.gc('footer')+';font-size:10px;padding:2px 6px;text-align:center;border-top:solid 1px '+this.gc('borders')+';border-bottom:solid 1px '+this.gc('borders')+'">'+this.buildFooter()+'</div></div>';el.innerHTML=h;this.displayEl=el;if(this.hc('iob')){var el=this.g('FrameFooter');el.style.backgroundRepeat='repeat-x';el.style.backgroundImage='url("'+this.gc('iob')+'")';}return true;},g:function(id){return document.getElementById(this.m(id));},buildShortcutLinks:function(){var h='<div align="right" style="font-size:9px;padding:0 0 2px 0;">';if(this.hc('iea') && this.hc('ica')){h +=this.b('javascript:dto.expandAll();this.blur();','<img src="'+this.gc('iea')+'" style="margin-right:3px;"/>',{'title':this.s('btnExpandAllSections')})+this.b('javascript:dto.collapseAll();this.blur();','<img src="'+this.gc('ica')+'" style="margin-right:3px;"/>',{'title':this.s('btnCollapseAllSections')});} else {h +='['+this.b('javascript:dto.expandAll();this.blur();','++',{'title':this.s('btnExpandAllSections')})+'|'+this.b('javascript:dto.collapseAll();this.blur();','--',{'title':this.s('btnCollapseAllSections')})+']';}h += '</div>';return h;},buildFooter:function(){var h='';if(GM_getValue('displayVanity', this.o.displayVanity)=='yes'){h += 'deviantToolbox v'+this.version+' | ';}h +=this.b('javascript:dto.ds(\'Options\');',this.s('options'),{'style':'color:'+this.gc('footerText')})+' | '+this.b('javascript:dto.ds(\'About\');',this.s('aboutLinkTitle'),{'style':'color:'+this.gc('footerText')});return h;},buildWelcome:function(){var h='';if(!this.data.loggedIn){h += '<div style="padding:0 0 10px 0;"><i>'+this.s('pleaseLogIn')+'</i></div>';} else {if(GM_getValue('displayWelcome', this.o.displayWelcome)=='yes'){h += '<div style="padding:0 0 10px 0;">'+this.s('welcomeUser')+',&#160;';if(typeof(this.data.symbol) != 'undefined'){h += this.data.symbol;}h += this.data.username+'.</div>';}}return h;},bodevs:function(){if(!this.se('devs')){return '';}if(!this.data.loggedIn){return '';}var uBase=this.gu();var h='<div style="'+this.gt()+'">'+this.bl(uBase+'gallery/','devGallery')+this.bl(uBase+'scraps/','devScraps')+this.bl(uBase+'store/','devPrints')+this.bl(uBase+'wallpapers/','devWallpapers')+this.bl(uBase+'dds/','devDDS')+this.bl('http://www.deviantart.com/submit/','devSubmit')+'</div>';return this.buildSection('devs', h);},boda:function(){if(!this.se('da')){return '';}var h='<div style="'+this.gt()+'">'+this.bl('http://www.deviantart.com/random/deviant','daRandomDeviant')+this.bl('http://www.deviantart.com/random/deviation','daRandomDeviation')+this.bl('http://today.deviantart.com/','daToday')+this.bl('http://today.deviantart.com/features/','daTodaysFeaturedDeviations')+this.bl('http://dd.deviantart.com/','daArchivedFeaturedDeviations')+this.bl('http://shout.deviantart.com/popup','daShoutbox', {'onclick':'return popup(\'http://shout.deviantart.com/popup\', \'shoutbox\', 500, 600);'})+'</div>';return this.buildSection('da', h);},bouser:function(){if(!this.se('user')){return '';}if(!this.data.loggedIn){return '';}var uBase=this.gu();var h='<div style="'+this.gt()+'">'+this.bl(uBase, 'userHomepage')+this.bl(uBase+'favourites/','userFavourites')+this.bl('http://my.deviantart.com/messages/','userMessages')+this.bl(uBase+'friends/','userFriends', {'rel':'popup(name:friends,width:400,height:600)'})+this.bl('http://my.deviantart.com/devwatch/','userDevwatch')+this.bl('http://my.deviantart.com/notes/','userNotes')+this.bl(uBase+'journal/','userJournal')+this.bl(uBase+'wishlist/','userWishlist')+this.bl(uBase+'activity/','userActivity')+this.bl(uBase+'stats/gallery/','userGalleryStats')+'</div>';return this.buildSection('user', h);},boprints:function(){if(!this.se('prints')){return '';}if(!this.data.loggedIn){return '';}var h='<div style="'+this.gt()+'">'+this.bl('http://'+this.data.username+'.deviantart.com/store/','printHomepage')+this.bl('http://services.deviantart.com/prints/','printAdmin')+this.bl('http://store.deviantart.com/store/','printStorefront')+this.bl('http://store.deviantart.com/manage/','printProducts')+this.bl('http://store.deviantart.com/stats/','printStats')+this.bl('javascript:dto.ds(\'CalcAspect\');','printAspectCalc', {'onclick':'this.blur();'})+this.bl('http://www.deviantart.com/submit/sell/','printSubmit')+'</div>';return this.buildSection('prints', h);},botools:function(){if(!this.se('tools')){return '';}var h='<div style="'+this.gt()+'">'+this.bl('http://comments.deviantart.com/emoticons','toolsEmoticons', {'onclick':'return popup(\'http://comments.deviantart.com/emoticons\', \'emoticons\', 400, 600);' })+this.bl('javascript:dto.ds(\'CalcAspect\');','printAspectCalc', {'onclick':'this.blur();'})+this.bl('javascript:dto.ds(\'TrackedList\');','userTrackedList', {'onclick':'this.blur();'})+this.getTrackUserLink()+'</div>';return this.buildSection('tools', h);},boadmin:function(){if(!this.se('admin')){return '';}if(!this.data.loggedIn){return '';}var base='http://my.deviantart.com/';var h='<div style="'+this.gt()+'">'+this.bl(base+'account/','adminAccount')+this.bl(base+'journal/','adminJournal')+this.bl(base+'profile/','adminProfile')+this.bl(base+'settings/','adminSettings')+this.bl(base+'wishlist/','adminWishlist')+this.bl(base+'gallery/','adminGallery')+this.bl(base+'deviants/','adminFriends')+this.bl(base+'deviants/','adminDevwatch')+'</div>';return this.buildSection('admin', h);},buildSection:function(id, contentHTML){var display='block';if(GM_getValue('sectionCollapsed_'+id, false)==true){display='none';}var h='<div'+this.gy()+'><div style="font-weight:bold;cursor:pointer;" onclick="dto.toggleSection(\''+id+'\');" id="'+this.m('SectionToggler'+id)+'">'+this.gl(id)+'</div><div id="'+this.m('Section'+id)+'" style="display:'+display+';">'+contentHTML+'</div></div>';return h;},expandAll:function(){var sections=this.getSections();for(var idx in sections){this.expandSection(sections[idx]);}},collapseAll:function(){var sections=this.getSections();for(var idx in sections){this.collapseSection(sections[idx]);}},toggleSection:function(id){var el=this.g('Section'+id);if(GM_getValue('sectionCollapsed_'+id, false)==false){this.collapseSection(id);return true;}this.expandSection(id);return true;},expandSection:function(id){var el=this.g('Section'+id);var te=this.g('SectionToggler'+id);el.style.display='block';GM_setValue('sectionCollapsed_'+id, false);te.innerHTML=this.gl(id);this.repositionScreens();},collapseSection:function(id){var el=this.g('Section'+id);var te=this.g('SectionToggler'+id);el.style.display='none';GM_setValue('sectionCollapsed_'+id, true);te.innerHTML=this.gl(id);this.repositionScreens();},repositionSection:function(id){var el=this.g('Section'+id);},gl:function(id){var h='';var sign='&#45;';var imgName='im';if(GM_getValue('sectionCollapsed_'+id, false)){sign='&#43;';imgName='ip';}if(this.hc(imgName)){h='<img src="'+this.gc(imgName)+'" title="'+this.s('section_'+id)+'" align="absmiddle"/> ';} else {h='<span style="font:normal 11px monospace;" title="'+this.s('section_'+id)+'">['+sign+']</span> ';}if(GM_getValue('layout')=='vertical' || sign=='-'){h += '<span onmouseover="this.style.color=\''+this.gc('la')+'\';" onmouseout="this.style.color=\''+this.gc('contentText')+'\';">'+this.s('section_'+id)+'</span>';}return h;},se:function(id){sections=this.getSections();for(var idx in sections){if(sections[idx]==id){return true;}}return false;},getSections:function(){sections=GM_getValue('displaySections', this.o.displaySections).split(',');return sections;},getTrackUserLink:function(){if(!this.deviant){return '';}var title=this.iv('TrackUserLink','deviant', this.deviant.name);return this.bl('javascript:dto.ds(\'TrackUser\');', [title]);},so:function(optionID, values){var h='<tr><td align="right" style="font-size:11px;">'+this.s(optionID)+'</td><td width="150"><select id="'+this.m('F'+optionID)+'" style="'+this.getFieldStyle('select')+'">';for(var idx in values){h += '<option value="'+values[idx][0]+'" '+this.fieldSelected(GM_getValue(optionID, this.o[optionID]), values[idx][0])+'>'+this.s(values[idx][1])+'</option>';}h +='</select></td></tr>';return h;},opLayout:function(){var yesno=[['yes','yes'],['no','no']];var h='<table cellpadding="3" cellspacing="0" style="border:none;margin-bottom:8px;" width="100%">'+this.so('layout', [['horizontal','horizontal'],['vertical','vertical']])+this.so('displayTitleText', yesno)+this.so('displayWelcome', yesno)+this.so('displayVanity', yesno)+this.so('skin', [['daClassic','skinDAClassic'],['aeoncyan','skinAeonCyan'],['grey','skinGrey'],['silver','skinSilver']])+'<tr><td align="right" style="font-size:11px;">'+this.s('maxLinkLabelLength')+'</td><td><input type="text" id="'+this.m('FmaxLinkLabelLength')+'" style="'+this.getFieldStyle('select')+'" size="2" maxlength="3" value="'+GM_getValue('maxLinkLabelLength', this.o.maxLinkLabelLength)+'"></td></tr></table>';return this.buildSection('options_layout', h);},opSettings:function(){var h='<table cellpadding="3" cellspacing="0" style="border:none;margin-bottom:8px;" width="100%">'+this.so('persistState', [['yes','yes'],['no','no']])+'<tr><td valign="top" align="right" style="font-size:11px;">'+this.s('displaySections')+'</td><td>'+this.opdisplaySections()+'</td></tr></table>';return this.buildSection('options_settings', h);},opEnhancements:function(){var h='<table cellpadding="3" cellspacing="0" style="border:none;margin-bottom:8px;" width="100%">'+this.so('enablePricingEnhancement', [['yes','yes'],['no','no']])+'</table>';return this.buildSection('options_enhancements', h);},opdisplaySections:function(){var h='<table cellpadding="0" cellspacing="0" border="0" style="border:none;">';for(var idx in this.sections){var sectionID=this.sections[idx];var checked='';if(this.se(sectionID)){checked='checked';}var itemID=this.m('FdisplaySections_'+sectionID);h +='<tr valign="top"><td><input type="checkbox" id="'+itemID+'" '+checked+'></td><td style="padding:2px 0 0 2px;font-size:11px;"><label for="'+itemID+'">'+this.s('section_'+sectionID)+'</label></td></tr>';}h += '</table>';return h;},applyOptions:function(){for(var option in this.o){switch(option){case 'maxLinkLabelLength':var el=this.g('F'+option);var value=parseInt(el.value);if(!isNaN(value)){GM_setValue(option, value);}break;case 'displaySections':var newList=[];for(idx in this.sections){var sectionID=this.sections[idx];var el=this.g('FdisplaySections_'+sectionID);if(el.checked){newList.push(sectionID);}}GM_setValue(option, newList.join(','));break;default:var el=this.g('F'+option);if(!el || !el[el.selectedIndex] || !el[el.selectedIndex].value){alert('Option '+option+' has no value.');continue;}var value=el[el.selectedIndex].value;GM_setValue(option, value);break;}}location.reload();},revertToDefaults:function(){for(var option in this.o){GM_setValue(option, this.o[option]);}GM_setValue('defaultsSet', true);},s:function(stringID){if(typeof(this.strings[stringID])=='undefined'){return 'unknown';}return this.strings[stringID];},gu:function(){return 'http://'+this.data.username+'.deviantart.com/';},iv:function(stringID, varName, value){var reg=new RegExp('%'+varName);var lstring=this.s(stringID);lstring=lstring.replace(reg, value);return lstring;},focus:function(el){el.style.background=this.gc('cba');el.style.color=this.gc('cbx');},blur:function(el){el.style.background=this.gc('button');el.style.color=this.gc('cbt');},gy:function(){if(GM_getValue('layout', this.o.layout)=='vertical'){return '';}return ' style="float:left;margin:0 20px 0 0;"';},fieldSelected:function(value, expected){if(value==expected){return 'selected';}return '';},m:function(name){return this.prefix+name;},allowedHere:function(){var cnt=this.dp.length;var where=window.location.href;for(var i=0; i < cnt; i++){if(where.substring(0, this.dp[i].length)==this.dp[i]){return false;}}return true;},toggle:function(){if(this.open){this.collapse();return;}this.expand();},expand:function(){contentEl=this.g('Content');buttonEl=this.g('Toggler');contentEl.style.display='block';buttonEl.innerHTML=this.closeBtn;GM_setValue('open', true);this.open=true;},collapse:function(){contentEl=this.g('Content');buttonEl=this.g('Toggler');contentEl.style.display='none';buttonEl.innerHTML=this.openBtn;GM_setValue('open', false);this.open=false;},gc:function(name){var scheme=GM_getValue('skin', this.o.skin);if(typeof(this.colors[scheme])=='undefined'){scheme=this.o.skin;}return this.colors[scheme][name];},hc:function(name){var scheme=GM_getValue('skin', this.o.skin);if(typeof(this.colors[scheme])=='undefined'){scheme=this.o.skin;}if(typeof(this.colors[scheme][name]) != 'undefined'){return true;}return false;},buildButton:function(stringID, onclickAction){var h='<div style="text-align:center;cursor:pointer;padding:2px 12px;border:solid 1px '+this.gc('borders')+';color:'+this.gc('cbt')+';background:'+this.gc('button')+'" onclick="'+onclickAction+'" onmouseover="dto.focus(this);" onmouseout="dto.blur(this);">'+this.s(stringID)+'</div>';return h;},bl:function(target, stringID, attribs){return '<div><img src="'+this.bulletImage+'" style="float:left;margin:2px 4px 0 0;"/>'+this.bN(target, stringID, attribs)+'</div>';},b:function(target, label, attribs){var renderedAttribs='';if(typeof(attribs)=='undefined'){attribs={};}var styles='color:'+this.gc('link')+';text-decoration:none;';if(attribs.style){styles += attribs.style;attribs.style=null;}for(var attrib in attribs){if(attribs[attrib]==null){continue;}renderedAttribs += ' '+attrib+'="'+attribs[attrib]+'"';}var h='<a href="'+target+'" '+renderedAttribs+' style="'+styles+'">'+label+'</a>';return h;},bN:function(target, stringID, attribs){var title='';if(typeof(stringID)=='string'){title=this.s(stringID);} else if(typeof(stringID)=='object'){title=stringID[0];}title=this.al(title);return this.b(target, title, attribs);},bC:function(){return '<div style="clear:both;"></div>';},al:function(label){var maxlen=GM_getValue('maxLinkLabelLength', this.o.maxLinkLabelLength);if(label.length > maxlen){label=label.substring(0, maxlen)+'...';}return label;},gt:function(){return 'padding:3px 0 8px 20px;';},getFieldStyle:function(fieldType){var style='background:'+this.gc('button')+';color:'+this.gc('cbt')+';border:solid 1px '+this.gc('borders')+';font-size:11px;';return style;},getRandomQuote:function(){var rand=Math.round((Math.random() * (this.quotes.length)));if(rand==this.quotes.length){rand=rand-1;}var quote=this.quotes[rand];if(!quote[2]){quote[2]='c/community.gif';}var h='<table cellpadding="0" cellspacing="0" border="0" style="border:none;"><tr><td style="padding-right:10px;"><img src="http://e.deviantart.com/emoticons/'+quote[2]+'"/></td><td align="right"><i title="'+this.iv('QuoteBy','authorName', quote[1])+'" style="font-size:11px;">'+quote[0]+'</i></td></tr></table>';return h;},getOption:function(name){return GM_getValue(name, this.o[name]);},calcAspect:function(){var aspect;var w=parseInt(this.g('AspectWidth').value);var h=parseInt(this.g('AspectHeight').value);if (isNaN(w) || isNaN(h) || w < 1 || h < 1){aspect='??';} else {if (w > h){aspect=Math.round(w / h * 100) / 100;} else {aspect=Math.round(h / w * 100) / 100;}}this.g('AspectDisplay').innerHTML=aspect;},runEnhancements:function(){if(GM_getValue('enablePricingEnhancement')=='yes'){this.enhancement_priceCalculators();}},enhancement_priceCalculators:function(){var activateUrl='http://services.deviantart.com/prints/manage/details';if(window.location.href.substring(0, activateUrl.length) != activateUrl){return true;}var inputs=document.getElementsByTagName('input');var cnt=inputs.length;for(var i=0; i < cnt; i++){if(inputs[i].name.substring(0, 6) != 'prices'){continue;}var td=inputs[i].parentNode;if(!td.nextSibling.nextSibling || !td.nextSibling.nextSibling.nextSibling.nextSibling){alert('Cannot find price cells.\n\nThe HTML structure of the page has probably\nchanged, the Toolbox needs to be updated for\nthe pricing calculators to work.');return true;}var minimumEl=td.nextSibling.nextSibling;var profitEl=td.nextSibling.nextSibling.nextSibling.nextSibling;dpm.addPrice(inputs[i], minimumEl, profitEl);}dpm.setGain(GM_getValue('printsProfit'));dpm.enable();return true;},buildScreen:function(screen){var elementID=this.m('Screen'+screen.id);var footerID=this.m('ScreenFooter'+screen.id);var contentID=this.m('ScreenContent'+screen.id);var quoteID=this.m('ScreenQuote'+screen.id);var title=this.s('Screen_'+screen.id);var el=document.createElement('div');document.getElementsByTagName('body')[0].appendChild(el);el.style.position='absolute';el.style.top='5px';el.style.left='5px';el.style.visibility='hidden';el.style.border='solid 1px '+this.gc('borders');el.style.borderRightWidth='2px';el.style.borderBottomWidth='2px';el.style.width=screen.width+'px';el.style.backgroundColor=this.gc('frame');el.id=elementID;el.style.zIndex=this.baseZIndex+screen.priority;if(this.hc('ifb')){el.style.backgroundRepeat='repeat-x';el.style.backgroundImage='url("'+this.gc('ifb')+'")';}var closeLink='<span style="font:normal 11px monospace;">[-]</span>';if(this.hc('im')){closeLink='<img src="'+this.gc('im')+'" align="absmiddle"/>';}var h='<div style="padding:2px 6px;color:'+this.gc('frameText')+';text-align:right;cursor:pointer;" onclick="dto.cs(\''+screen.id+'\');">'+title+' '+closeLink+'</div><div id="'+contentID+'" style="background:'+this.gc('screen')+';color:'+this.gc('contentText')+';border-top:solid 1px '+this.gc('borders')+';padding:8px;">'+this.gsHTML(screen)+'</div>';if(screen.buttons){h +='<div style="border-top:solid 1px '+this.gc('borders')+';padding:11px;background:'+this.gc('frame')+'"><table cellpadding="2" cellspacing="0" style="border:none;margin-top:6px;"><tr>';var cnt=screen.buttons.length;for(var i=0; i < cnt; i++){h +='<td>'+this.buildButton(screen.buttons[i][0], screen.buttons[i][1])+'</td>';}h +='</tr></table></div>';}h +='<div style="border-top:solid 1px '+this.gc('borders')+';background:'+this.gc('footer')+';color:'+this.gc('footerText')+';padding:5px 6px;min-height:23px;font-size:11px;line-height:12px;" id="'+footerID+'"></div>';el.innerHTML=h;screen.created=true;screen.element=el;screen.content=document.getElementById(contentID);screen.footer=document.getElementById(footerID);if(this.hc('iob')){screen.footer.style.backgroundRepeat='repeat-x';screen.footer.style.backgroundImage='url("'+this.gc('iob')+'");';}if(screen.init){screen.init();}return true;},buildScreenMessage:function(stringID){var h='<div style="border:solid 1px '+this.gc('borders')+';background:'+this.gc('message')+';padding:13px;"><b>'+this.s('Information')+':</b> '+this.s(stringID)+'</div>';return h;},ds:function(screenID){var screen=this.gs(screenID);if(!screen){return;}this.css();if(!screen.created){this.buildScreen(screen);} else if(screen.needsRefresh){screen.content.innerHTML='';screen.content.innerHTML=this.gsHTML(screen);if(screen.init){screen.init();}}this.repositionScreen(screen);screen.active=true;screen.footer.innerHTML=this.getRandomQuote();},toggleScreen:function(screenID){var screen=this.gs(screenID);if(!screen){return;}if(screen.active){return this.cs(screenID);}this.ds(screenID);},repositionScreens:function(){for(var screenID in this.screens){if(!this.screens[screenID].element){continue;}if(this.screens[screenID].element.style.visibility=='visible'){this.repositionScreen(this.screens[screenID]);}}},repositionScreen:function(screen){var width=window.innerWidth;var height=window.innerHeight;var x=(width / 2) - (screen.element.offsetWidth / 2) + window.pageXOffset;var y=((height / 2) - (screen.element.offsetHeight / 2)) + window.pageYOffset;if(y < 1){y=this.offset[1];}screen.element.style.top=y+'px';screen.element.style.left=x+'px';screen.element.style.visibility='visible';},cs:function(screenID){var screen=this.gs(screenID);if(!screen){return;}if(screen.element){screen.element.style.visibility='hidden';}screen.active=false;},css:function(){for(var screenID in this.screens){this.cs(screenID);}},gs:function(screenID){if(!this.screens[screenID]){return false;}return this.screens[screenID];},gsHTML:function(screen){return eval('dto.bH'+screen.id+'();');},bHStyleEditor:function(){var h='<b>'+this.s('UnderConstruction')+'</b><br/><br/><table cellpadding="2" cellspacing="2" style="border:none;margin-bottom:8px;">';var cnt=this.colorParts.length;var reg=new RegExp('#');for(var i=0; i < cnt; i++){var value=this.gc(this.colorParts[i]).replace(reg, '');if(GM_getValue('colorPart_'+this.colorParts[i])){value=GM_getValue('colorPart_'+this.colorParts[i]);}h +='<tr><td align="right" style="background:'+this.gc('footer')+';color:'+this.gc('footerText')+'">'+this.colorParts[i]+'</td><td><input type="text" size="6" maxlength="6" id="'+this.m('colorPart'+this.colorParts[i])+'" value="'+value+'" style="'+this.getFieldStyle()+';font-family:monospace;"/></td><td><div style="background:#'+value+';width:14px;height:14px;overflow:hidden;border:solid 1px #000;">&#160;</div></td></tr>';}h += '</table>';return h;},bHAbout:function(){var lines={'Version':this.version,'ReleaseDate':this.releaseDate,'Deviation':this.b('http://www.deviantart.com/view/32751353/','#32751353'),'Website':this.b('http://deviantToolbox.aeonoftime.com','deviantToolbox.aeonoftime.com'),'Author':this.b('http://aeonoftime.deviantart.com','=AeonOfTime'),'Homepage':this.b('http://sebastian.mordziol.de','sebastian.mordziol.de')+' <small>(fr)</small>'};var h='<b>deviantToolbox</b><br/><br/><img src="http://a.deviantart.com/avatars/a/e/aeonoftime.gif" style="float:right;"/><table cellpadding="2" cellspacing="2" style="border:none;margin-bottom:8px;">';for(var stringID in lines){h += this.bHAbout_Line(stringID, lines[stringID]);}h += '</table>';return h;},bHAbout_Line:function(stringID, value){var h='<tr><td align="right" style="background:'+this.gc('footer')+';color:'+this.gc('footerText')+';white-space:nowrap;">'+this.s(stringID)+'</td><td>'+value+'</td></tr>';return h;},bHTrackUser:function(){var user, screenAbstract;if(this.userToEdit){screenAbstract=this.s('EditingTrackedUser');this.cs('TrackedList');user=this.userTracker.getUser(this.userToEdit);this.userToEdit=false;} else {if(this.userTracker.getUser(this.deviant.name)){screenAbstract=this.s('KnownTrackedUser');user=this.userTracker.getUser(this.deviant.name);} else {screenAbstract=this.s('TrackUserAbstract');user={'name':this.deviant.name,'avatar':this.deviant.avatar,'notes':'','category':''}}}if(typeof(user.name)=='undefined'){this.screens['TrackUser'].buttons=[['btnCancel','dto.cs(\'TrackUser\');']];return this.buildScreenMessage('TrackUserNotUserPage');}var h='<img src="'+user.avatar+'" style="float:right;border:solid 1px '+this.gc('borders')+';margin:0 0 10px 10px;"/><b>'+user.name+'</b><p style="font-size:11px;">'+screenAbstract+'</p><input type="hidden" id="'+this.m('TrackingName')+'" value="'+user.name+'"/><input type="hidden" id="'+this.m('TrackingAvatar')+'" value="'+user.avatar+'"/><p>'+this.s('Category')+':<br/>';var cats=this.userTracker.getCategories();if(cats.length >= 1){h +='<select style="float:right;'+this.getFieldStyle()+'" onchange="document.getElementById(\''+this.m('TrackingCategory')+'\').value=this[this.selectedIndex].value;"><option value="">'+this.s('ExistingCategories')+'...</option><option value=""></option>';for(var i=0; i < cats.length; i++){h += '<option value="'+cats[i]+'">'+cats[i]+'</option>';}h += '</select>';}h +='<input type="text" id="'+this.m('TrackingCategory')+'" value="'+user.category+'" maxlength="30" style="'+this.getFieldStyle()+'"/><br/></p><p>'+this.s('NotesAndComments')+':<br/><textarea id="'+this.m('TrackingNotes')+'" style="'+this.getFieldStyle()+';width:100%;" rows="4">'+user.notes+'</textarea></p>';return h;},editUser:function(name){this.userToEdit=name;this.ds('TrackUser');},trackedListDetails:function(detailLevel){GM_setValue('tm', detailLevel);var dS='[-]';if(this.hc('id')){dS='<img src="'+this.gc('id')+'" style="border:none;"/>';}var eS='[.]';if(this.hc('ie')){eS='<img src="'+this.gc('ie')+'" style="border:none;"/>';}var cats=this.userTracker.getCategories();var users=this.userTracker.getUsers();for(var j=0; j < cats.length; j++){var sectionID='TrackedUsers'+j;var sectionContentEl=this.g(sectionID+'Content');var sH='';var odd=false;var rowStyle='';for(var i=0; i < users.length; i++){if(users[i].category != cats[j]){continue;}change=true;if(odd){change=false;odd=false;} else if (change){odd=true;}sH += this.tlCommon(detailLevel, cats[j], users[i], odd, dS, eS);}sectionContentEl.innerHTML=sH+this.bC();}},tlCommon:function(mode, category, user, odd, dS, eS){if(mode=='AvatarsOnly'){return this.tlAvatarsOnly(category, user, odd, dS, eS);}var rowStyle='';if(odd){rowStyle='background:'+this.gc('listHighlights');}var paddingSize=4;if(mode=='Slim' || mode=='UltraSlim'){paddingSize=2;}var avatarSize=null;if(mode=='Slim'){avatarSize=' width="25" height="25"';}var h='<div style="padding:'+paddingSize+'px;'+rowStyle+';border-bottom:dotted 1px '+this.gc('borders')+'">';if(mode=='Full' || mode=='Slim'){h +='<div style="padding-right:8px;float:left;">'+this.b('http://'+user.name+'.deviantart.com','<img src="'+user.avatar+'" title="'+user.name+'" '+avatarSize+' border="0"/>')+'</div>';}h +='<div><div style="float:right;text-align:right;margin-left:6px;">'+this.b('javascript:dto.editUser(\''+user.name+'\');',eS,{'title':this.s('editTrackedUser')})+' '+this.b('javascript:dto.userTracker.untrack(\''+user.name+'\');',dS,{'title':this.s('untrackUser')})+'</div><p style="margin:0;padding:0 0 3px 0;">'+this.b('http://'+user.name+'.deviantart.com','<b>'+user.name+'</b>')+'</p>';if(mode=='Full'){h +='<p style="margin:0;padding:0;font-size:11px;">'+user.notes+'</p>';}h +='</div>'+this.bC()+'</div>';return h;},tlAvatarsOnly:function(category, user, odd, dS, eS){var h='<div style="padding:2px;float:left;">'+this.b('http://'+user.name+'.deviantart.com','<img src="'+user.avatar+'" border="0"/>',{'title':user.name})+'</div>';return h;},bHTrackedList:function(){var users=this.userTracker.getUsers();if(users.length < 1){return this.buildScreenMessage('NoTrackedDeviantsYet');}var h='<div align="right" style="padding-bottom:4px">'+this.s('SelectListMode')+': <select onchange="dto.trackedListDetails(this[this.selectedIndex].value);" style="'+this.getFieldStyle()+'">';for(var i=0; i < this.listModes.length; i++){var active='';if(this.listModes[i]==GM_getValue('tm')){active=' selected="selected"';}h += '<option value="'+this.listModes[i]+'"'+active+'>'+this.s('listMode'+this.listModes[i])+'</option>';}h +='</select></div>';var cats=this.userTracker.getCategories();for(var j=0; j < cats.length; j++){var sectionID='TrackedUsers'+j;var sH='<div style="padding:8px 0;" id="'+this.m(sectionID+'Content')+'"></div>';this.strings['section_'+sectionID]=cats[j];h += this.buildSection(sectionID, sH);}return h;},bHOptions:function(){var h=this.opLayout()+this.opSettings()+this.opEnhancements()+this.bC();return h;},bHCalcAspect:function(){var h='<p>'+this.s('CalcAspectAbstract')+'</p><p>'+this.s('ImageSize')+': <input type="text" id="'+this.m('AspectWidth')+'" value="" maxlength="5" size="4" style="'+this.getFieldStyle()+'"/> x <input type="text" id="'+this.m('AspectHeight')+'" value="" maxlength="5" size="4" style="'+this.getFieldStyle()+'"/></p><div>'+this.s('AspectRatio')+': <b style="font-size:13px;"><span id="'+this.m('AspectDisplay')+'">??</span>:1</b></div>';return h;},'strings':{'aboutLinkTitle':'À propos','Add':'Ajouter','adminAccount':'Compte','adminDevwatch':'DevWatch','adminFriends':'Amis','adminGallery':'Galerie','adminJournal':'Journal','adminProfile':'Profil','adminSettings':'Réglages','adminWishlist':'Wishliste','applyOptions':'Appliquer','ApproximatePercentage':'Marge en pourcents','AspectRatio':'Ratio','Author':'Auteur','btnCalcAspect':'Calculer','btnCancel':'Annuler','btnCollapseAllSections':'Replier toutes les catégories','btnExpandAllSections':'Déplier toutes les catégories','btnTrack':'Suivre ce déviant','CalcAspectAbstract':'Entrez la largeur et l\'hauteur d\'une image pour calculer son ratio. C\'est surtout utile quand vous voulez ajouter des images à imprimer.','Category':'Catégorie','CloseScreen':'Fermer cette fenêtre','closeToolbox':'Fermer la Toolbox','collapsableSections':'Catégories pliables','daArchivedFeaturedDeviations':'Archive des déviations journalières','daRandomDeviant':'Déviant au hasard','daRandomDeviation':'Déviation au hasard','daShoutbox':'Shoutbox','daToday':'DeviantART aujourd\'hui','daTodaysFeaturedDeviations':'Déviations','devDDS':'Déviations journalières','devGallery':'Galerie','Deviant':'Déviant','Deviation':'Déviation','devPrints':'Produits','devScraps':'Brouillons','devSubmit':'Ajouter une déviation','devWallpapers':'Fonds d\'écran','displaySections':'Catégories à afficher','displayTitleText':'Afficher le titre','displayVanity':'Afficher la version','displayWelcome':'Afficher le pseudo','EditingTrackedUser':'Pour modifier les détails de suivi de ce déviant, faites simplement vos changements ici.','editTrackedUser':'Modifier les détails de suivi pour ce déviant','enablePricingEnhancement':'Aide au calcul des prix','ExistingCategories':'Catégories existantes','Homepage':'Page perso','horizontal':'Horizontal','HTMLStructureNotice':'La structure de la page actuelle est incorrecte.\nIl est possible qu\'elle a changé, dans ce cas la\nToolbox doit être mise à jour. Envoyez-moi une\nnote si vous voyez ce mesage.','ImageSize':'Taille d\'image','Information':'Information','KnownTrackedUser':'Vous suivez déjà ce déviant. Si vous voulez, vous pouvez modifier les détails de suivi ici,','language':'Langue','layout':'Orientation','listModeAvatarsOnly':'Avatars seulement','listModeFull':'Détaillée','listModeSlim':'Simple (petits avatars, pas de notes)','listModeUltraSlim':'Ultra simple (noms seulement)','maxLinkLabelLength':'Longueur max. de lien','no':'Non','NotesAndComments':'Notes & commentaires','NoTrackedDeviantsYet':'Vous ne suivez encore aucun déviant.','openToolbox':'Activer la Toolbox','options':'Options','persistState':'Garder ouvert','pleaseLogIn':'Authentifiez-vous pour utiliser la Toolbox.','printAdmin':'Administration de la boutique','printAspectCalc':'Calculateur de ratio d\'image','printHomepage':'Accueil boutique','printProducts':'Éditeur de produits','printStats':'Statistiques de vente','printStorefront':'Éditeur de la page d\'accueil','printSubmit':'Ajouter un produit','QuoteBy':'Citation de %authorName','ReleaseDate':'Date','Screen_About':'À propos de la Toolbox','Screen_CalcAspect':'Calculateur de ratio d\'image','Screen_Options':'Réglages de la Toolbox','Screen_StyleEditor':'Éditeur de couleurs','Screen_TrackedList':'Gestion des déviants suivis','Screen_TrackUser':'Suivre un déviant','ScreenBuildFailed':'Impossible de créer l\'écran %screenID. Envoyez-moi\nune note si vous voyez ce message s.v.p, mais\nassurez-vous d\'avoir la dernière version de la Toolbox.','section_admin':'Administrer','section_da':'DeviantART','section_devs':'Mes déviations','section_options_enhancements':'Améliorations','section_options_layout':'Visuel','section_options_settings':'Options','section_prints':'Mes produits','section_tools':'Outils','section_user':'Mes pages','SelectListMode':'Affichage de la liste','skin':'Couleurs','skinAeonCyan':'Aeon emeraude','skinDAClassic':'DeviantART classique','skinGrey':'Gris élégance','skinSilver':'Chrome deluxe','Substract':'Enlever %amount','toolsEmoticons':'Légende des émoticônes','toolsStyleEditor':'Éditeur de couleurs','TrackUserAbstract':'Ici vous pouvez ajouter le déviant actuel à une liste de suivis personnelle - une sorte de deviantWatch étendu pour les personnes que vous voulez toujours avoir près de vous :)','TrackUserLink':'Suivre %deviant','TrackUserNotUserPage':'La page actuelle ne contient pas d\'informations sur un Déviant. Allez sur la page principale ou la galerie d\'un Déviant pour le/la suivre.','translateLinks':'Traduire les liens','UnderConstruction':'Cette section est encore en cours de développement massf. Il est probable qu\'elle ne fonctionne  pas encore et son utilisation peut tout effacer de votre vie en un click. Non, vraiment :)','untrackUser':'Supprimer ce déviant de votre liste de suivis','userActivity':'Activité','userDevwatch':'deviantWatch','userFavourites':'Favoris','userFriends':'Amis','userGalleryStats':'Statistiques','userHomepage':'Page principale','userJournal':'Journal','userMessages':'Messages','userNotes':'Notes','userTrackedList':'Déviants suivis','userWishlist':'Wishliste','Version':'Version','vertical':'Vertical','Website':'Site','welcomeUser':'Bienvenue','yes':'Oui',},'quotes':[['Il y a en somme, en peinture plus à chercher la suggestion que la description .','Paul Gauguin'],['Vive la communauté!','AeonOfTime'],['La vie imite l\'art, bien plus que l\'art n\'imite la vie.','Oscar Wilde'],['Une oeuvre d\'art est un coin de la création vu à travers un tempérament.','Emile Zola'],['L\'art est une abstraction.','Paul Gauguin'],[' L\'objet profond de l\'artiste est de donner plus qu\'il ne possède.','Paul Valéry'],['L\'art est une démonstration dont la nature est la preuve.','Georges Sand'],['Il ne s\'agit pas de peindre la vie. Il s\'agit de rendre vivante la peinture.','Pierre Bonnard'],['En art, la malchance a bien souvent forcé l\'éclosion du génie.','Jacques Lacretelle'],['Le mystère de l\'art, c\'est que tout sonne juste, quand tout est faux.','Yves Navarre'],]};var dpm={'prices':{},'pricesCount':0,'gain':20,'enabled':false,setGain:function(gain){this.gain=gain;if(this.enabled){for(var id in this.prices){this.prices[id].setGain();}}},addPrice:function(inputEl, minEl, profitEl){this.pricesCount=this.pricesCount + 1;this.prices[this.pricesCount]={'id':this.pricesCount,'inputEl':inputEl,'minEl':minEl,'profitEl':profitEl,'percentDisplayEl':null,'minimum':null,'profit':null,'price':null,'gain':this.gain,'gainPrecision':0.1,'pi':1,enable:function(){var reg=new RegExp('\$');this.minimum=this.minEl.firstChild.data.replace(reg, '');this.price=parseFloat(this.inputEl.value);this.profit=(this.price - this.minimum) / 2;this.gain=this.profit*100/this.price;this.inputEl.setAttribute('disabled','disabled');this.inputEl.setAttribute('onChange','dpm.manualUpdate(\''+this.id+'\')');var cel1=document.createElement('span');var cel2=document.createElement('span');cel1.style.fontSize='13px';cel2.style.fontSize='13px';this.inputEl.parentNode.removeChild(this.inputEl.parentNode.firstChild);this.inputEl.parentNode.insertBefore(cel1, this.inputEl);this.inputEl.parentNode.appendChild(cel2);var style='cursor:pointer;letter-spacing:-2px;';var tabIndex=3000;var steps=['0.5','1','5'];var signLeft='&laquo;';var signRight='&raquo;';for(var i=0; i<steps.length; i++){cel1.innerHTML += dto.b('javascript:dpm.mp(\''+this.id+'\','+steps[i]+');',this.repeat(signLeft, i+1)+' ',{'title':this.iv('Substract','amount', steps[i]),'style':style,'tabindex':tabIndex});}for(var i=(steps.length-1); i>-1; --i){cel2.innerHTML += dto.b('javascript:dpm.pp(\''+this.id+'\','+steps[i]+');',' '+this.repeat(signRight, i+1),{'title':this.iv('Add','amount', steps[i]),'style':style,'tabindex':tabIndex});}this.inputEl.removeAttribute('disabled');this.update();return true;},repeat:function(string, amount){var result='';for(var i=0; i<amount; i++){result += string;}return result;},manualUpdate:function(){this.price=parseFloat(this.inputEl.value);this.profit=(this.price - this.minimum) / 2;this.gain=this.profit*100/this.price;this.update();},update:function(){this.profit=(this.price - this.minimum) / 2;this.inputEl.value=this.formatPrice(this.price);this.profitEl.innerHTML='<b>$'+this.formatPrice(this.profit)+'</b> <acronym title="'+this.s('ApproximatePercentage')+'">('+this.formatPercent(this.gain)+'%)</acronym>';},pp:function(amount){this.price=this.price+amount;this.profit=(this.price - this.minimum) / 2;this.gain=this.profit*100/this.price;this.update();},mp:function(amount){newPrice=this.price-amount;if(newPrice < this.minimum){return true;}this.price=newPrice;this.profit=(this.price - this.minimum) / 2;this.gain=this.profit*100/this.price;this.update();},formatPrice:function(price){price=parseFloat(price);return price.toFixed(2);},formatPercent:function(percent){percent=parseFloat(percent);return percent.toFixed(1);},calcRealGain:function(price, gain){var realGain=gain;while(this.calcRealPercent(price, realGain) < gain){realGain=realGain+this.gainPrecision;}return realGain;},calcRealPercent:function(price, percent){var endPrice=price+(price*percent/100);var realPercent=price*percent/endPrice;return realPercent;},s:function(stringID){return dto.s(stringID);}};},enable:function(){for(var id in this.prices){if(!this.prices[id].enable()){return false;}}this.enabled=true;return true;},manualUpdate:function(id){this.prices[id].manualUpdate();},pp:function(id, amount){this.prices[id].pp(amount);},mp:function(id, amount){this.prices[id].mp(amount);},displayChangeGain:function(){var gain=prompt('Target percentage', this.gain);this.setGain(gain);}};unsafeWindow.dto=dto;unsafeWindow.dpm=dpm;dto.start();