// ==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':'Über','Add':'Dazuzählen','adminAccount':'Konto','adminDevwatch':'DevWatch','adminFriends':'Freunde','adminGallery':'Galerie','adminJournal':'Tagebuch','adminProfile':'Profil','adminSettings':'Einstellungen','adminWishlist':'Wunschliste','applyOptions':'Anwenden','ApproximatePercentage':'Prozentualer Gewinn','AspectRatio':'Größenverhältnis','Author':'Autor','btnCalcAspect':'Berechnen','btnCancel':'Abbrechen','btnCollapseAllSections':'Alle Kategorien zusammenklappen','btnExpandAllSections':'Alle Kategorien aufklappen','btnTrack':'Deviant verfolgen','CalcAspectAbstract':'Geben Sie die Breite und Höhe eines Bildes ein um dessen Größenverhältniss zu berechnen. Das ist vor allem Praktisch wenn man Druckbilder hochladen möchte.','Category':'Kategorie','CloseScreen':'Dieses Fenster schliessen','closeToolbox':'Toolbox schliessen','collapsableSections':'Klappbare Kategorien','daArchivedFeaturedDeviations':'Tägliche Deviations Archiv','daRandomDeviant':'Zufalls-Deviant','daRandomDeviation':'Zufalls-Deviation','daShoutbox':'Shoutbox','daToday':'DeviantART heute','daTodaysFeaturedDeviations':'Tägliche Deviations','devDDS':'Tägliche Deviations','devGallery':'Galerie','Deviant':'Deviant','Deviation':'Deviation','devPrints':'Produkte','devScraps':'Entwürfe','devSubmit':'Hochladen','devWallpapers':'Bildschirmhintergründe','displaySections':'Kategorien anzeigen','displayTitleText':'Titeltext anzeigen','displayVanity':'Fusszeile anzeigen','displayWelcome':'Benutzername anzeigen','EditingTrackedUser':'Um die Verfolgungsdetails für diesen Deviant zu bearbeiten, nehmen Sie einfach hier die gewünschten Änderungen vor.','editTrackedUser':'Die Verfolgungsdetails für diesen Deviant bearbeiten','enablePricingEnhancement':'Preisbrechnungs-Helfer','ExistingCategories':'Bestehende Kategorien','Homepage':'Homepage','horizontal':'Horizontal','HTMLStructureNotice':'Die Struktur des aktuellen Seite entspricht nicht\nder erwarteten Struktur. Es ist möglich dass diese\nsich geändert hat - die Toolbox muss angepasst werden\num die neue Struktur zu verwenden. Bitte geben Sie mir\nBescheid wenn Sie diese Meldung sehen.','ImageSize':'Bildmaße','Information':'Hinweis','KnownTrackedUser':'Sie verfolgen schon diesen Deviant. Wenn sie wollen, können Sie hier die Verfolgungsdetails bearbeiten.','language':'Sprache','layout':'Ausrichtung','listModeAvatarsOnly':'Nur Avatare','listModeFull':'Detailliert','listModeSlim':'Schlank (kleine Avatare, keine Notizen)','listModeUltraSlim':'Ultra schlank (nur Namen)','maxLinkLabelLength':'Maximale Linktitellänge','no':'Nein','NotesAndComments':'Notizen & Kommentare','NoTrackedDeviantsYet':'Sie verfolgen noch keine Deviants.','openToolbox':'Toolbox aktivieren','options':'Optionen','persistState':'Offen halten','pleaseLogIn':'Logg dich ein um die Toolbox zu verwenden.','printAdmin':'Shop-Administration','printAspectCalc':'Bild-Größenverhältnis-Rechner','printHomepage':'Shop-Homepage','printProducts':'Produkte bearbeiten','printStats':'Verkaufsstatistiken','printStorefront':'Startseite bearbeiten','printSubmit':'Hochladen','QuoteBy':'Zitat von %authorName','ReleaseDate':'Datum','Screen_About':'Über die Toolbox','Screen_CalcAspect':'Bild-Größenverhältnis-Rechner','Screen_Options':'Toolbox-Einstellungen','Screen_StyleEditor':'Farbschema-Editor','Screen_TrackedList':'Verwaltung der verfolgten Deviants','Screen_TrackUser':'Einen Deviant verfolgen','ScreenBuildFailed':'Konnte Fenster %screenID nicht erstellen. Bitte geben\\nSie mir Bescheid wenn Sie diesen Fehler sehen, aber\nstellen Sie vorher sicher, dass Sie die letzte Version\nder Toolbox haben.','section_admin':'Administrieren','section_da':'DeviantART','section_devs':'Meine Deviations','section_options_enhancements':'Verbesserungen','section_options_layout':'Aussehen','section_options_settings':'Einstellungen','section_prints':'Meine Produkte','section_tools':'Werkzeuge','section_user':'Meine Seiten','SelectListMode':'Listenanzeige','skin':'Farbschema','skinAeonCyan':'Aeon\'s cyan','skinDAClassic':'DeviantART klassisch','skinGrey':'Eleganz in Grau','skinSilver':'Silber deluxe','Substract':'%amount Abziehen','toolsEmoticons':'Smileys-Referenz','toolsStyleEditor':'Farbschema-Editor','TrackUserAbstract':'Hier können Sie den aktuellen Deviant zu einer persönlichen Liste hinzufügen - eine Art erweiterter deviantWatch für die Leute die Sie immer in der Nähe haben wollen :)','TrackUserLink':'%deviant verfolgen','TrackUserNotUserPage':'Ich kann keine Informationen über einen Deviant in der aktuellen Seite finden. Gehen Sie zu der Hauptseite oder in die Galerie eines Deviants um ihn/sie zu verfolgen.','translateLinks':'Links Übersetzen','UnderConstruction':'An diesem Bereich wird noch mächtig entwickelt. Er ist wahrscheinlich noch nicht einsatzfähig und könnte alles aus Ihrem Leben in einem Klick löschen. Nee, wirklich :)','untrackUser':'Diesen Deviant von der Verfolgungsliste entfernen','userActivity':'Aktivität','userDevwatch':'deviantWatch','userFavourites':'Favoriten','userFriends':'Freunde','userGalleryStats':'Statistiken','userHomepage':'Homepage','userJournal':'Tagebuch','userMessages':'Nachrichten','userNotes':'Notizen','userTrackedList':'Verfolgte Deviants','userWishlist':'Wishlist','Version':'Version','vertical':'Hochkant','Website':'Webseite','welcomeUser':'Hallo','yes':'Ja',},'quotes':[['Es lebe die Community!','AeonOfTime'],['Die Kunst hat Schwingen, die Wissenschaft hat Krücken.','Georges Braque'],['Die Kunst ist eine Tochter der Freiheit.','Friedrich Schiller'],['Die Kunst spiegelt in Wahrheit den Betrachter und nicht das Leben.','Oscar Wilde'],['Kunst findet überall Nahrung.','Sprichwort aus Dänemark'],['Ziel der Kunst ist, einfach eine Stimmung zu erzeugen.','Oscar Wilde'],['Natur ist Wahrheit; Kunst ist die höchste Wahrheit.','Marie von Ebner-Eschenbach'],['Mit Kunst kann man sich nicht die Zähne putzen.','Theo van Doesburg'],['Kunst ist schön, macht aber viel Arbeit.','Karl Valentin'],['Kunst gibt nicht das Sichtbare wieder, sondern macht sichtbar.','Paul Klee'],['Ein Spiel mit ernsten Problemen. Das ist Kunst.','Kurt Schwitters'],]};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();