- Fixed a bunch of bugs for existing paginations
[FlickrHacks.git] / _greasemonkey_ / flickrcommenttools.user.js
blob2170e12780c48277f4c294a96dc50ac45fce55c1
1 // Flickr Comment Tools\r
2 // version 1.4\r
3 // 2006-31-05\r
4 //\r
5 // SEE BELOW FOR INSTALLATION INSTRUCTIONS\r
6 //\r
7 // This entire script is released under BSD license\r
8 // \r
9 // Copyright (c) 2006, Thom Shannon\r
10 // All rights reserved.\r
11 //\r
12 // This is a Greasemonkey user script.\r
13 // HOW TO INSTALL\r
14 //\r
15 // Firefox:\r
16 // To install, you need Greasemonkey: http://greasemonkey.mozdev.org/\r
17 // Then restart Firefox and revisit this script.\r
18 // Under Tools, there will be a new menu item to "Install User Script".\r
19 // Accept the default configuration and install.\r
20 //\r
21 // --------------------------------------------------------------------\r
22 //\r
23 // ==UserScript==\r
24 // @name          FlickrCommentTools\r
25 // @namespace     http://www.ts0.com/\r
26 // @description   HTML editor and quick insert of your own images into comments\r
27 // @include       http://flickr.com*\r
28 // @include       http://www.flickr.com*\r
29 // @exclude       http://www.flickr.com/photos/organize*\r
30 // @exclude       http://flickr.com/photos/organize*\r
31 // ==/UserScript==\r
34 function addGlobalStyle(css) {\r
35     var head, style;\r
36     head = document.getElementsByTagName('head')[0];\r
37     if (!head) { return; }\r
38     style = document.createElement('style');\r
39     style.type = 'text/css';\r
40     style.innerHTML = css;\r
41     head.appendChild(style);\r
42 }\r
45 String.prototype.replaceAll = function(strTarget,strSubString){\r
46         var strText = this;\r
47         var intIndexOfMatch = strText.indexOf( strTarget );\r
48         while (intIndexOfMatch != -1){\r
49                 strText = strText.replace( strTarget, strSubString )\r
50                 intIndexOfMatch = strText.indexOf( strTarget );\r
51         }\r
52         return( strText );\r
53 }\r
56 addGlobalStyle(\r
57 '.commentToolButton img {border:solid 1px white;} '+\r
58 '.commentToolClose,.commentToolCancel {font-size:12px;float:right;margin-right:4px;margin-top:2px;color:blue;} '+\r
59 '.commentToolCancel {color:#444;} '+\r
60 '.smilePad {width:45px;text-align:center;float:left;} '+\r
61 '.commentToolButton:hover img.commentToolOff {display:none;} '+\r
62 '.commentToolButton:hover img.commentToolOn {border-color:white #999999 #999999 white;display:inline;} '+\r
63 '.commentToolButton img.commentToolOn {display:none;} \n'+\r
64 '.commentChooser {width:400px;height:340px;border:solid 1px #bbb;background:white;position:absolute;text-align:center;padding-top:7px;} '+\r
65 '.commentSmile {width:340px; height:200px;} '+\r
66 '.commentHTML {width:340px; height:250px;} '+\r
67 '.overlay {\nposition:absolute;\ndisplay:block;\n}\n.tt {\nvisibility:hidden;\nposition:absolute;\ncolor:#333;\nbackground-color:#FDFFB4;\nfont-family:arial,helvetica,verdana,sans-serif;\npadding:2px;\nborder:1px solid #FCC90D;\nfont:100% sans-serif;\nwidth:auto;\n}\n* html body.masked select {\nvisibility:hidden;\n}\n* html div.panel-container select {\nvisibility:inherit;\n}\n* html div.drag select {\nvisibility:hidden;\n}\n* html div.hide-select select {\nvisibility:hidden;\n}\n.mask {\nz-index:0;   \ndisplay:none;\nposition:absolute;\ntop:0;\nleft:0;\nbackground-color:#CCC;\n-moz-opacity: 0.5;\nopacity:.50;\nfilter: alpha(opacity=50);\n}\n.mask[id]{ /* IE6 and below Can\'t See This */\nposition:fixed;\n}\n.hide-scrollbars * {\noverflow:hidden;\n}\n.hide-scrollbars textarea, .hide-scrollbars select {\noverflow:hidden;\ndisplay:none;\n}\n.show-scrollbars textarea, .show-scrollbars select {\noverflow:visible;\n}\n.panel-container {\nposition:absolute;\nbackground-color:transparent;\nz-index:6;\nvisibility:hidden;\noverflow:visible;\nwidth:auto;\n}\n.panel-container.matte {\npadding:3px;\nbackground-color:#FFF;\n}\n.panel-container.matte .underlay {\ndisplay:none;\n}\n.panel-container.shadow {\npadding:0px;\nbackground-color:transparent;\n}\n.panel-container.shadow .underlay {\nvisibility:inherit;\nposition:absolute;\nbackground-color:#CCC;\ntop:3px;left:3px;\nz-index:0;\nwidth:100%;\nheight:100%;\n-moz-opacity: 0.7;\nopacity:.70;\nfilter:alpha(opacity=70);\n}\n.panel {\nvisibility:hidden;\nborder-collapse:separate;\nposition:relative;\nleft:0px;top:0px;\nfont:1em Arial;\nbackground-color:#FFF;\nborder:1px solid #000;\nz-index:1;\noverflow:auto;\n}\n.panel .hd {\nbackground-color:#3d77cb;\ncolor:#FFF;\nfont-size:1em;\nheight:1em;\nborder:1px solid #FFF;\nborder-bottom:1px solid #000;\nfont-weight:bold;\noverflow:hidden;\npadding:4px;\n}\n.panel .bd {\noverflow:hidden;\npadding:4px;\n}\n.panel .bd p {\nmargin:0 0 1em;\n}\n.panel .close {\nposition:absolute;\ntop:5px;\nright:4px;\nz-index:6;\nheight:12px;\nwidth:12px;\nmargin:0px;\npadding:0px;\nbackground-repeat:no-repeat;\ncursor:pointer;\nvisibility:inherit;\n}\n.panel .close.nonsecure {\nbackground-image:url(http://us.i1.yimg.com/us.yimg.com/i/nt/ic/ut/alt3/close12_1.gif);\n}\n.panel .close.secure {\nbackground-image:url(https://a248.e.akamai.net/sec.yimg.com/i/nt/ic/ut/alt3/close12_1.gif);\n}\n.panel .ft {\npadding:4px;\noverflow:hidden;\n}\n.simple-dialog .bd .icon {\nbackground-repeat:no-repeat;\nwidth:16px;\nheight:16px;\nmargin-right:10px;\nfloat:left;\n}\n.dialog .ft, .simple-dialog .ft {\npadding-bottom:5px;\npadding-right:5px;\ntext-align:right;\n}\n.dialog form, .simple-dialog form {\nmargin:0;\n}\n.button-group button {\nfont:100 76% verdana;\ntext-decoration:none;\nbackground-color: #E4E4E4;\ncolor: #333;\ncursor: hand;\nvertical-align: middle;\nborder: 2px solid #797979;\nborder-top-color:#FFF;\nborder-left-color:#FFF;\nmargin:2px;\npadding:2px;\n}\n.button-group button.default {\nfont-weight:bold;\n}\n.button-group button:hover, .button-group button.hover { \nborder:2px solid #90A029;\nbackground-color:#EBF09E;\nborder-top-color:#FFF;\nborder-left-color:#FFF;\n}\n.button-group button:active { \nborder:2px solid #E4E4E4;\nbackground-color:#BBB;\nborder-top-color:#333;\nborder-left-color:#333;\n'\r
68 );\r
70 var imgLoading = "data:image/gif;base64,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";\r
72 var toolBarDescription = {"Buttons":[\r
73         {Label:"Insert Image",\r
74         imgOn:"data:image/gif;base64,R0lGODlhLQATAOYAAAAAAP///3jc23nc23rd3Hvd3IHe3ojg3pXk47zu7Y3h37Tr6Xrc1JDh1oTdzYbdx5rdpYTOjGzDcnXHfI/QjKHdnDimGzinHTyoIECqJF+2RKXdlUSpI0muJUyuKrDcgKjUcMDgkczhd8/dXc7YRdPYPPX0nvf2ouLcMfLvlvb0nufcKOrkg+vlhe3oiu/pje7qjfDskPLulefeeuffeujhf/HbF/DbG9/SZd7SZeDTZ9/TZuHVa+TaceTZctTCStPCStfGUdnKWNrLWsmyMMu1NMq1NM+6Pc66PtPASNTBSi4uLv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEwALAAAAAAtABMAAAflgAGCg4SFhoeIiYqLjI2CS5CRkpCOlYNLOzg6PD00LDApKicnS4IAAaeopgCnrK2sq6mXQpOTpKaoraqDsqm+hks/SwkGBQQPFRAOS7eqr6uxub3ASEsIAwIMHysoG8ylzrmEurjThUtFSwsKBw0jNjci3+XlsNK7v+dESxQSExEgSpAIMc+SoyVGlmSwcAEDhw4eNBQ0yGjJkVqSmoXDJS6aq0NLlCQBEmRIDh81XMgwofEZrF+ydiGqNaNFjEjjwr16Ke5jxU+UCpHbSG5oxRdBhcosCu1exaQUo0qdSrWq1aiBAAA7",\r
75         imgOff:"data:image/gif;base64,R0lGODlhLQATAKIAAAAAAP///4CAgH9/f3h4eHd3d////wAAACH5BAEAAAYALAAAAAAtABMAAAOGGLrc/jDKSasqJOuMif2LN4lCUJqKoJqrerpNwbp0SbLomS7v3ni6RkmWwxlhMB8DCLHtSise6in9TR3OYi6K9AUVzEcWVJF9pSIyxVyjBYiBwfWlQ0ato4W8BaVWIRwEBXCCaXFFUF18Zw8iGQ57Uj2THx6PkHNTdCl3EhpqoKGio6SlowkAOw==",\r
76         //Click:function(){GetImageHTML();return false;}\r
77         Click:function(){GetImageHTML();return false;}\r
78         },\r
79         {Label:"Bold",\r
80         imgOn:"data:image/gif;base64,R0lGODlhEwATAMQAAAAAAP///+/v79/f38/Pz7+/v6+vr5+fn4+Pj4CAgHBwcGBgYFBQUEBAQCAgIBAQEP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAATABMAAAVUYCCOZGmeqJmsbIIMaQDMNH2ks9PsDU2gswSJEAQChCPBDGFcFJ4GBuAhMNZoBdyV9vidiiPDA9AwIkeJmZkk6D2MOt4YoLBuG9VTq+WN+f+AgQEhADs=",\r
81         imgOff:"data:image/gif;base64,R0lGODlhEwATAMQAAAAAAP////b29u7u7uXl5dzc3NTU1MvLy8LCwrq6urKysqmpqaCgoJiYmIaGhn5+fnV1df///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAATABMAAAVUYCCOZGmeqJmsbIIMaQDNNH2ks9PsDU2gswSJEARChCPBDGFcFJ4GBuQhMNZoBdyV9vidiiPDA9IwIkeJmZkk6D2MOt4YorBuG9VTq+WN+f+AgQEhADs=",\r
82         Click:function(){ifrm.contentDocument.execCommand('bold',false,false);return false;}\r
83         },\r
84         {Label:"Italic",\r
85         imgOn:"data:image/gif;base64,R0lGODlhEwATAMQAAAAAAP///+/v79/f38/Pz7+/v6+vr5+fn4+Pj4CAgHBwcGBgYFBQUEBAQDAwMCAgIBAQEP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAATABMAAAU+YCCOZGmeaKqqSeM2wjoaACKTCBDfIvPwI8gCGBgADsQDgEBUQIgBRwMKSBALgAJPUGhUB7dBYpzQQs9oVQgAOw==",\r
86         imgOff:"data:image/gif;base64,R0lGODlhEwATAMQAAAAAAP////b29u7u7uXl5dzc3NTU1MvLy8LCwrq6urKysqmpqaCgoJiYmI+Pj4aGhn5+fnV1df///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAATABMAAAU+YCCOZGmeaKqqSeM2wjoaESKTSBTfIvPwI8gCGBhEDsRDhEBUQIgBRwMaSRALkQJPUGhUB7dBYpzQQs9oVQgAOw==",\r
87         Click:function(){ifrm.contentDocument.execCommand('italic',false,false);return false;}\r
88         },\r
89         {Label:"Underline",\r
90         imgOn:"data:image/gif;base64,R0lGODlhEwATALMAAAAAAP///+/v79/f38/Pz7+/v6+vr4+Pj4CAgHBwcGBgYFBQUCAgIP///wAAAAAAACH5BAEAAA0ALAAAAAATABMAAARFMMhJq704a4tAqd13haCHkRTKmSm7ipNawpLc0oEduzXfGpWEb1IAKCoMgCZ5EAQGCkBCQ0gCroCFc1NAIA6EjXhMJkcAADs=",\r
91         imgOff:"data:image/gif;base64,R0lGODlhEwATALMAAAAAAP////b29u7u7uXl5dzc3NTU1MLCwrq6urKysqmpqaCgoIaGhnV1df///wAAACH5BAEAAA4ALAAAAAATABMAAARFMMhJq704a4taqd13haCHkRTKmSm7ipNawpLc0oEduzXfGpWEb1JoKCqMhiZ5EAQGikZCQ0g2ro2Fc1NAIA6EjXhMJkcAADs=",\r
92         Click:function(){ifrm.contentDocument.execCommand('underline',false,false);return false;}\r
93         },\r
94         {Label:"Hyperlink",\r
95         imgOn:"data:image/gif;base64,R0lGODlhEwATALMAAAAAAP///wAA/wAAgACAgACAAMDAwICAgE1NTf///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAAATABMAAARkMMhJq734ns3z3IQhFoh3BAZarCS2CaggC+tpHYJoDCvd3jlWYUDglYBBoexYwc2EBAGTchg8WYKBzYKYIb6IAXg6CSNSqRKaLDmP3wZ2ya1zB+TxNzh+OaPuf3wYY3dgHocBEQA7",\r
96         imgOff:"data:image/gif;base64,R0lGODlhEwATAKIAAAAAAP///93d3bq6up+fn5iYmP///wAAACH5BAEAAAYALAAAAAATABMAAANWGLrc/vCNSeOaRehC7AgCWIwcVAnUMH7OpAmkWrYDTN4dXd/FlDcpWezHUFFuRgiBQmgSOM7HkxAKdarEBdXJbQqygc72tQ07tl3nV1o1YyPccNRCTwAAOw==",\r
97         Click:function(){ifrm.contentDocument.execCommand('createlink',false,getUrl());return false;}\r
98         },\r
99         {Label:"Indent",\r
100         imgOn:"data:image/gif;base64,R0lGODlhEwATAJEAAAAAgAAAAP///wAAACH5BAAAAAAALAAAAAATABMAAAIplI+pyy3hYgwU1kulBAjfBHCGVx3hqZnigzEr+6XSR2YyQ0P3PvJ+VAAAOw==",\r
101         imgOff:"data:image/gif;base64,R0lGODlhEwATAIAAAMDAwP///yH5BAAAAAAALAAAAAATABMAAAInjI+pyx3gYgQU1kulhAfflBle1X2ayD0Yk6rmOZFjCC8fXedtzjcFADs=",\r
102         Click:function(){ifrm.contentDocument.execCommand('indent',false,'blockquote');return false;}\r
103         },\r
104         {Label:"Outdent",\r
105         imgOn:"data:image/gif;base64,R0lGODlhEwATAJEAAAAAgAAAAP///wAAACH5BAAAAAAALAAAAAATABMAAAIplI+pyy3hYgwU1kulBAhfBHCHVx3hqRlhhzGi4aXaR2YyQ0P3DvN+VAAAOw==",\r
106         imgOff:"data:image/gif;base64,R0lGODlhEwATAIAAAMDAwP///yH5BAAAAAAALAAAAAATABMAAAImjI+pyx3gYgQU1kulhAdflHVe+HxaCWIMZ3in9o3kq8Qsjd/43hQAOw==",\r
107         Click:function(){ifrm.contentDocument.execCommand('outdent',false,'blockquote');return false;}\r
108         },\r
109         {Label:"Smiley",\r
110         imgOn:"data:image/gif;base64,R0lGODlhEwATAMQAAP7QyPnllPXaV/jZfM9sEf747Oq7RvO4M/KTO/ftZvblXvfBWPTMQfvxve+oUvbkZNWhM+V9Lffmavjya/j3cfPHPPTQSOqzMczM/zMzzPWlNfbhWe7TVvj5c6uCNP///yH5BAAAAAAALAAAAAATABMAAAWl4CeOZGmSXqqeqFcEAlMdKes2wqYoW0ybt01iQkwkNpaLp+R6JDofCrRzZCxHroCi08lwvROF5SfyABYLSQfDZT8WBvLHjHBwOAYIxHB3IDRXcwB+EhQNhw1SEQ6AWAAEEQ9SXFwPEQRyHgMBEAQcEg+gHAR8SigBEgaXBKwRBhtWTAtaeA4OfAIWEIFYBgM5Oz0MuzYeBxUMMkq8JyorLNDR0iYhADs=",\r
111         imgOff:"data:image/gif;base64,R0lGODlhEwATAMQAAMjIyMXFxdjY2M7Ozri4uNra2t7e3rOzs9HR0d3d3d/f39vb2+Li4vX19cLCwsbGxs3Nzenp6a6ursTExNnZ2cfHx8HBwbu7u8DAwL6+vtDQ0KCgoNXV1eTk5J+fn////yH5BAAAAAAALAAAAAATABMAAAWi4CeOZGmSXqqeqPc1C/BYKet+HCcIHAI4N5SIs1AYEwsO5BIUuQqJzoch7SQ4gKarIeh0JF6wggIBjlxJQ7V6HZidn8pAowkcDgENZVCZBF0DGAYMJFQEA35nHxsEBVReXgUEG28fHhERBxsaBgWdGht5TCgNBgGTG6kEAVhNlghcdQMDeUoHrpYQEQg6PD63Nh4WDwAyGTUsTirIyc3Ozx8hADs=",\r
112         Click:function(){GetSmileyHTML();return false;}\r
113         },\r
114         //button by SortBart, http://www.flickr.com/photos/shotbart/\r
115         {Label:"Insert HTML",\r
116         imgOn:"data:image/gif;base64,R0lGODlhKgATAMQAAJGRnOvr9nBxeLe43sjI2uXl8/n5/NPT6y4uMbO0uk1NVPb2+/7+/sPDy8PE4w8PEfz8/vDw+Nja7X9/idfY68/R6c3O6N/g8Dw8Q9nZ3MnJ5vv7/R8fIV5ecAAAAP///yH5BAAAAAAALAAAAAAqABMAAAX/4CeOZGmeaHoyzNeqcDwyQrNAcq5C3BUYr49HKBoKPUNkEllkrhKCSsFAWhKNxZFxS2JBWDTA4cfKWo/NJRbLyHAIC8YGcZBgABHgFa0lmvsuDQ9iARsNChYXFBwCBXFJZk5KflwfCR4CDgcRGwIAUhGCChdxOikCHAMOU3MEFHkRAh4OATimJw0cGBqFh4lxlx0DBRtZV0xrfiQLBAgdpBMTUgYNHhMDvLaVW1ZYIxsRBxiNCK4RGQgJDhqOL0rbe94ichEXB76kBgEUFO2A8H9MsFgQIJqUDQwWRMgThJKxZJMEbsBgDsyXhrd2TOhXKuMtBhEKRLDl0ZScBQhLA8YIAQA7",\r
117         imgOff:"data:image/gif;base64,R0lGODlhKgATAMQAAPn5+fX19bq6uvDw8Pr6+sLCwunp6eTk5LS0tNzc3OHh4ZGRkezs7KGhoerq6ry8vMzMzObm5oqKiv39/fz8/Pf39/Pz8+/v75mZmfb29u7u7qmpqcXFxf7+/oKCgv///yH5BAAAAAAALAAAAAAqABMAAAXz4CeOZGmeaKqubDs+B9W5NNotVjWR3tf7Io/QNxT+jKmEQJPZjXpF4HMq/ZFmIgHkosMCoccw2Gr9MBYGWQdzGTQgBCeUyJN+qZ+DBDLQHTYMFhcLDwEUd19DRHNVIgkeDwYXABNaTAR6G4Y1KQILBwaGExgRA3EADx4OFV6cJAoLDQwAHX+BMo8IEQFyQYt2jCQEBhgIFgQFHEwTBx4FBwysvo10USUdAG4CARgGAwAMGAkGDJtBSI1zZSMdBIK2otl9h1RH04gmHRQAycv6AHFK2KOWaN2ICQ280RLRytWKDgUGmHNYo12AhRQ56XOSUUUIADs=",\r
118         Click:function(){GetCodeHTML();return false;}\r
119         }\r
120 ]}\r
122 var Smiles = [\r
123 {Name:"happy",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/1.gif"},\r
124 {Name:"sad",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/2.gif"},\r
125 {Name:"winking",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/3.gif"},\r
126 {Name:"big grin",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/4.gif"},\r
127 {Name:"batting eyelashes",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/5.gif"},\r
128 {Name:"big hug",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/6.gif"},\r
129 {Name:"confused",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/7.gif"},\r
130 {Name:"love struck",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/8.gif"},\r
131 {Name:"blushing",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/9.gif"},\r
132 {Name:"tongue",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/10.gif"},\r
133 {Name:"kiss",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/11.gif"},\r
134 {Name:"broken heart",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/12.gif"},\r
135 {Name:"surprise",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/13.gif"},\r
136 {Name:"angry",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/14.gif"},\r
137 {Name:"smug",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/15.gif"},\r
138 {Name:"cool",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/16.gif"},\r
139 {Name:"worried",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/17.gif"},\r
140 {Name:"whew!",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/18.gif"},\r
141 {Name:"devil",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/19.gif"},\r
142 {Name:"crying",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/20.gif"},\r
143 {Name:"laughing",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/21.gif"},\r
144 {Name:"straight face",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/22.gif"},\r
145 {Name:"raised eyebrow",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/23.gif"},\r
146 {Name:"rolling on the floor",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/24.gif"},\r
147 {Name:"angel",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/25.gif"},\r
148 {Name:"nerd",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/26.gif"},\r
149 {Name:"talk to the hand",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/27.gif"},\r
150 {Name:"call me - New!",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/101.gif"},\r
151 {Name:"on the phone - New!",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/100.gif"},\r
152 {Name:"at wits' end - New!",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/102.gif"},\r
153 {Name:"wave - New!",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/103.gif"},\r
154 {Name:"time out - New!",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/104.gif"},\r
155 {Name:"daydreaming - New!",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/105.gif"},\r
156 {Name:"sleepy",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/28.gif"},\r
157 {Name:"rolling eyes",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/29.gif"},\r
158 {Name:"loser",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/30.gif"},\r
159 {Name:"sick",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/31.gif"},\r
160 {Name:"don't tell anyone",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/32.gif"},\r
161 {Name:"not talking",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/33.gif"},\r
162 {Name:"clown",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/34.gif"},\r
163 {Name:"silly",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/35.gif"},\r
164 {Name:"party",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/36.gif"},\r
165 {Name:"yawn",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/37.gif"},\r
166 {Name:"drooling",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/38.gif"},\r
167 {Name:"thinking",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/39.gif"},\r
168 {Name:"d'oh",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/40.gif"},\r
169 {Name:"applause",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif"},\r
170 {Name:"nailbiting",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/42.gif"},\r
171 {Name:"hypnotized",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/43.gif"},\r
172 {Name:"liar",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/44.gif"},\r
173 {Name:"waiting",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/45.gif"},\r
174 {Name:"sigh",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/46.gif"},\r
175 {Name:"phbbbbt",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/47.gif"},\r
176 {Name:"cowboy",URL:"http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/48.gif"}\r
179 ToolBar = function()\r
181         this.buttons = new Array();\r
183 with(ToolBar){\r
184         prototype.onSelect = null;\r
185         prototype.Render = function(placeHolder,desc)\r
186         {\r
187                 for(i in desc.Buttons){\r
188                         a = document.createElement("a");\r
189                         imgoff = document.createElement("img");\r
190                         imgon = document.createElement("img");\r
191                         \r
192                         a.className = 'commentToolButton';\r
193                         a.href='#';\r
194                         a.title = desc.Buttons[i].Label;\r
195                         imgoff.src=desc.Buttons[i].imgOff;\r
196                         imgoff.className = 'commentToolOff';\r
197                         imgon.src=desc.Buttons[i].imgOn;\r
198                         imgon.className = 'commentToolOn';\r
199                         a.onclick=desc.Buttons[i].Click;\r
200                         a.appendChild(imgoff);\r
201                         a.appendChild(imgon);\r
202                         placeHolder.appendChild(a);\r
203                 }\r
204         }\r
207 function GetImageHTML(){\r
208                 \r
209         divFind = document.createElement("div");\r
210         divFind.className = 'commentChooser';\r
211         divFind.id = 'dialogBody';\r
212         divFind.innerHTML = '<img style="margin:138px;" src="'+imgLoading+'" alt="Loading"/>'\r
213         \r
214                                 btn = document.createElement("a");\r
215                                 btn.innerHTML = 'cancel';\r
216                                 btn.href="#";\r
217                                 btn.className = 'commentToolCancel'\r
218                                 btn.onclick = function(){return false;}\r
219                                 divFind.appendChild(btn);\r
220                         \r
221         lwBox = new LightWeightBox(divFind);\r
222         lwBox.Render();\r
223         \r
224                                 btn.onclick = function(){lwBox.Close(lwBox);return false;};\r
225                 \r
226         GM_xmlhttpRequest({\r
227         method: 'GET',\r
228         url: 'http://www.flickr.com/services/feeds/photos_public.gne?id='+window.wrappedJSObject.global_nsid+'&format=rss_200',\r
229         headers: {\r
230         'User-agent': 'Mozilla/4.0 (compatible) FlickrCommentTool www.ts0.com',\r
231         'Accept': 'text/plain'\r
232         },\r
233         onload: function(o) {\r
234                         \r
235                         divDialog = document.getElementById('dialogBody');\r
236                         divDialog.innerHTML = '';\r
237         \r
238                                 var xpe = new XPathEvaluator();\r
239                                 function fNSResolver(prefix) {\r
240                                   if(prefix == 'media') {\r
241                                     return 'http://search.yahoo.com/mrss/';\r
242                                   }\r
243                                 }\r
244         var parser = new DOMParser();\r
245         var feedXML = parser.parseFromString(o.responseText,"application/xml");\r
247                                 items = xpe.evaluate("//item",feedXML, fNSResolver, 0, null);\r
249                                 while (xmlItem = items.iterateNext())\r
250                                 {\r
251                                         xmlThumb = xpe.evaluate("./media:thumbnail", xmlItem, fNSResolver, 0, null).iterateNext();\r
252                                         photoThumb = document.createElement("img");\r
253                                         photoThumb.src = xmlThumb.getAttribute("url");\r
254                                         photoThumb.width = 75;\r
255                                         photoThumb.height = 75;\r
256                                         photoThumb.style.margin="1px";\r
257                                         photoThumb.url = xpe.evaluate("./link", xmlItem, fNSResolver, 0, null).iterateNext().firstChild.nodeValue;\r
258                                         photoThumb.img = xmlThumb.getAttribute("url").replace('_s.','_m.');\r
259                                         photoThumb.onclick = function(){;\r
260                                                 ifrm.contentDocument.execCommand('inserthtml',false,'<a href="notrela123'+this.url+'"><img src="'+this.img+'" border="0"></a>');\r
261                                                 lwBox.Close(lwBox);\r
262                                                 };\r
263                                 divDialog.appendChild(photoThumb);\r
264                                 }\r
265                                 btn = document.createElement("a");\r
266                                 btn.innerHTML = 'close';\r
267                                 btn.href="#";\r
268                                 btn.className = 'commentToolClose'\r
269                                 btn.onclick = function(){return false;}\r
270                                 divDialog.appendChild(btn);\r
271                                 btn.onclick = function(){lwBox.Close(lwBox);return false;};\r
272                  \r
273                   }\r
274                                 });\r
275                 \r
276         \r
279 function GetSmileyHTML(){\r
281     divSmile = document.createElement("div");\r
282     divSmile.className = 'commentChooser commentSmile';\r
283     divSmile.id = 'dialogBody';\r
285     divSmile.innerHTML = '';\r
288     for(x=0;x<Smiles.length;x++)\r
289     {\r
290             divspace = document.createElement("div");\r
291             divspace.className = "smilePad";\r
292             \r
293         smile = Smiles[x];\r
294             img = document.createElement("img");\r
295             img.src = smile.URL;\r
296             img.title = smile.Name;\r
297             img.alt = smile.Name;\r
298             img.style.margin="2px";\r
299             img.style.cursor = "pointer";\r
300             img.url = smile.URL;\r
301             img.onclick = function(){;\r
302                     ifrm.contentDocument.execCommand('inserthtml',false,'<a title="Smilies" style="background:white !important;" href="http://www.ts0.com/flickrcommenttools/"><img align="absmiddle" style="vertical-align:middle;" src="'+this.url+'" border="0"></a>');\r
303                     lwBox.Close(lwBox);\r
304                     };\r
305                 divspace.appendChild(img);\r
306         divSmile.appendChild(divspace);\r
307     }\r
309     btn = document.createElement("a");\r
310     btn.innerHTML = 'cancel';\r
311     btn.href="#";\r
312     btn.className = 'commentToolCancel'\r
313     btn.onclick = function(){return false;}\r
314     divSmile.appendChild(btn);\r
316     lwBox = new LightWeightBox(divSmile);\r
317     lwBox.Render();\r
318     btn.onclick = function(){lwBox.Close(lwBox);return false;};\r
319                 \r
320         \r
323 //Added by Pierre Andrews\r
324 function GetCodeHTML(){\r
326     divSmile = document.createElement("div");\r
327     divSmile.className = 'commentChooser commentHTML';\r
328     divSmile.id = 'dialogBody';\r
330         divSmile.innerHTML = '<label for="htmlarea" style="display:block;">Type your HTML code here:</label>';\r
331     var htmlarea = divSmile.appendChild(document.createElement('textarea'));\r
332         htmlarea.setAttribute('style','width:300px;height:200px;');\r
333         htmlarea.id = 'htmlarea';\r
335         var btndiv = divSmile.appendChild(document.createElement('div'));\r
336     btnC = document.createElement("a");\r
337     btnC.innerHTML = 'cancel';\r
338     btnC.href="#";\r
339     btnC.className = 'commentToolCancel'\r
340     btnC.onclick = function(){return false;}\r
341     btndiv.appendChild(btnC);\r
343         \r
344     btn = document.createElement("a");\r
345     btn.innerHTML = 'Insert';\r
346     btn.href="#";\r
347     btn.className = 'commentToolCancel'\r
348     btn.onclick = function(){return false;}\r
349     btndiv.appendChild(btn);\r
351     lwBox = new LightWeightBox(divSmile);\r
352     lwBox.Render();\r
353     btnC.onclick = function(){lwBox.Close(lwBox);return false;};\r
354         btn.onclick = function() {\r
355                                                           ifrm.contentDocument.execCommand('inserthtml',false,htmlarea.value);\r
356                                                           lwBox.Close(lwBox);\r
357         };\r
358         \r
362 function SetHTML(val)\r
364         ifrm.contentDocument.body.innerHTML = val.replaceAll('\n','<br>');\r
366 function GetHTML()\r
368         return ifrm.contentDocument.body.innerHTML.replaceAll('<br>','\n').replaceAll('notrela123','').replaceAll('&nbsp;',' ');\r
371 var editingForm,txtArea;\r
372 document = document.wrappedJSObject;\r
374 for(i=0;i<document.forms.length;i++)\r
376         for(x=0;x<document.forms[i].elements.length;x++)\r
377         {\r
378                 if(document.forms[i].elements[x].name=='message')\r
379                 {\r
380                                 editingForm=document.forms[i];\r
381                                 txtArea=document.forms[i].elements[x]\r
382                 }\r
383         }\r
387 var ifrm = document.createElement("iframe");\r
388 dTest = document.createElement("div");\r
390 txtArea.parentNode.insertBefore(ifrm,txtArea);\r
391 txtArea.parentNode.insertBefore(dTest,txtArea);\r
393 //Modified by Pierre Andrews\r
394 txtArea.style.left = '-1000px';\r
395 txtArea.style.position='absolute';\r
398 ifrm.contentDocument.designMode = 'on';\r
399 ifrm.contentDocument.write('<html><style>body{font:normal 10pt arial,verdana;margin:3px;}</style><body></body></html>');\r
400 ifrm.contentDocument.close();\r
403 SetHTML(txtArea.value);\r
405 var previousHTML = GetHTML();\r
406 var previousText = txtArea.value;\r
408 setInterval(function(){\r
409         if (previousHTML!=GetHTML()+'')\r
410         {\r
411                         txtArea.value=GetHTML();\r
412                         previousText=txtArea.value;\r
413                         previousHTML=GetHTML()+'';\r
414                 }\r
415         else if (previousText!=txtArea.value+'')\r
416         {\r
417                         SetHTML(txtArea.value);\r
418                         previousText=txtArea.value;\r
419                 }\r
420         \r
421         },20);\r
423 ifrm.style.border = 'solid 1px #404040;'\r
424 ifrm.style.width = "350px";\r
425 ifrm.style.height = "200px";\r
426 ifrm.contentDocument.execCommand('useCSS',false, true);\r
428 editingForm.onsubmit = function(){setTextarea();editingForm.onsubmit();};\r
430 var toolBar = new ToolBar();\r
432 divToolBar = document.createElement("div")\r
433 toolBar.Render(divToolBar,toolBarDescription);\r
434 ifrm.parentNode.insertBefore(divToolBar,ifrm);\r
436 function getUrl()\r
438         url = prompt('Web Address');\r
439         if(url.indexOf('://')<1)\r
440         {\r
441                 url='http://'+url\r
442         }\r
443         return url;\r
447 function promptHTML()\r
449         var div = document.createElement('div');\r
450         var txtarea = div.appendChild(document.createElement('textarea'));\r
452         \r
453     btn = document.createElement("a");\r
454     btn.innerHTML = 'Insert';\r
455     btn.href="#";\r
456     btn.className = 'commentToolButton'\r
457     div.appendChild(btn);\r
459     btnC = document.createElement("a");\r
460     btnC.innerHTML = 'Insert';\r
461     btnC.href="#";\r
462     btnC.className = 'commentToolCancel'\r
463     div.appendChild(btnC);\r
465     lwBox = new LightWeightBox(div);\r
466     lwBox.Render();\r
467         var html = '';\r
468     btn.addEventListener('click',function(){html = txtarea.value;lwBox.Close(lwBox);return false;},false);\r
469     btnC.addEventListener('click',function(){lwBox.Close(lwBox);return false;},false);\r
470         return html;\r
474 var LightWeightBoxOn=false;\r
475 var LightWeightBox = function(ele){\r
476         this.ele = ele;\r
477         this.backgroundColor = '#CCC';\r
478         this.opacity = 0.5;\r
480 with (LightWeightBox){\r
481         prototype.Render = function(){\r
482                 if (!LightWeightBoxOn){\r
483                         bgDiv = document.createElement('div');\r
484                         bgDiv.innerHTML = ''\r
485                         bgDiv.style.backgroundColor = this.backgroundColor;\r
486                         bgDiv.style.position='fixed';\r
487                         bgDiv.style.height='100%';\r
488                         bgDiv.style.width='100%';\r
489                         bgDiv.style.top=0;\r
490                         bgDiv.style.left='0';\r
491                         bgDiv.style.opacity=this.opacity;\r
492                         this.ele.style.position='fixed';\r
493                         this.bgDiv=bgDiv;\r
494                         document.body.appendChild(this.bgDiv);\r
495                         document.body.appendChild(this.ele);\r
496                         this.CheckSize();\r
497                         LightWeightBoxOn = true;\r
498                         var oSelf=this;\r
499                         //this.sizeCheck = setInterval(function(){oSelf.CheckSize();},20);\r
500                 }\r
501         }\r
502         prototype.CheckSize = function(){\r
503                 if (this.ele.offsetHeight!=this.currentHeight) {\r
504                         this.offsetTop = (document.body.clientHeight/2)-(this.ele.offsetHeight/2);\r
505                         this.ele.style.top = this.offsetTop+'px';\r
506                         this.currentHeight=this.ele.offsetHeight;\r
507                 }\r
508                 if (this.ele.offsetWidth!=this.currentWidth) {\r
509                         this.offsetLeft = (document.body.clientWidth/2)-(this.ele.offsetWidth/2);\r
510                         this.ele.style.left = this.offsetLeft+'px';\r
511                         this.currentWidth=this.ele.offsetWidth;\r
512                 }\r
513         }\r
515         prototype.Close=function(oSelf){\r
516                 document.body.removeChild(oSelf.bgDiv);\r
517                 document.body.removeChild(oSelf.ele);\r
518                 LightWeightBoxOn = false;\r
519         }\r