User:H/FU remove.js

From Wikipedia, the free encyclopedia

Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.

 // WARNING, this is buggy, use at your own risk, or better yet don't use.
 // Even better, rewrite it and give me a copy.
 
 /**
 *
 *  UTF-8 data encode / decode
 *  http://www.webtoolkit.info/
 *
 **/
 
 var Utf8 = {
 
 	// public method for url encoding
 	encode : function (string) {
 		string = string.replace(/\r\n/g,"\n");
 		var utftext = "";
 
 		for (var n = 0; n < string.length; n++) {
 
 			var c = string.charCodeAt(n);
 
 			if (c < 128) {
 				utftext += String.fromCharCode(c);
 			}
 			else if((c > 127) && (c < 2048)) {
 				utftext += String.fromCharCode((c >> 6) | 192);
 				utftext += String.fromCharCode((c & 63) | 128);
 			}
 			else {
 				utftext += String.fromCharCode((c >> 12) | 224);
 				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
 				utftext += String.fromCharCode((c & 63) | 128);
 			}
 
 		}
 
 		return utftext;
 	},
 
 	// public method for url decoding
 	decode : function (utftext) {
 		var string = "";
 		var i = 0;
 		var c = c1 = c2 = 0;
 
 		while ( i < utftext.length ) {
 
 			c = utftext.charCodeAt(i);
 
 			if (c < 128) {
 				string += String.fromCharCode(c);
 				i++;
 			}
 			else if((c > 191) && (c < 224)) {
 				c2 = utftext.charCodeAt(i+1);
 				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
 				i += 2;
 			}
 			else {
 				c2 = utftext.charCodeAt(i+1);
 				c3 = utftext.charCodeAt(i+2);
 				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
 				i += 3;
 			}
 
 		}
 
 		return string;
 	}
 
 }
 
 function getQueryVariable(variable) {
   var query = window.location.search.substring(1);
   var vars = query.split("&");
   for (var i=0;i<vars.length;i++) {
     var pair = vars[i].split("=");
     if (pair[0] == variable) {
       return pair[1];
     }
   } 
   return 0;
 }
 
 function removeFU()
   {
   if (document.getElementById('wpSummary').value.indexOf('fair use images can only be used in articles') != -1)
     {
     document.getElementById('wpSave').focus();
     scroll(0,0);
     }
   if (getQueryVariable("FUimage"))
     {
     var image_name = Utf8.decode(unescape(getQueryVariable("FUimage")));
     var re_image_name = image_name;
     re_image_name = re_image_name.replace(/ /g,'(\\s|_|%20)');
 //    re_image_name = re_image_name.replace(/^Image/ig, '(Image|Media)');
     var textbox = document.getElementById( 'wpTextbox1' );
     myregexp = new RegExp('\\[\\['+re_image_name+'.*?\\]\\]', 'ig');
     textbox.value = textbox.value.replace(myregexp, '');
 //    myregexp2 = new RegExp('^'+re_image_name+'\\.*', 'i');
 //    textbox.value = textbox.value.replace(myregexp2, '');
     document.getElementById('wpSummary').value = ('Per \[\[WP:FUC#FUC9\]\] fair use images can only be used in articles. I have removed \[\[:'+image_name+'\]\] from this page accordingly.');
     document.getElementById('wpDiff').click();
     }
   }
 
 addOnloadHook(removeFU);