All pastes #170218 Raw Edit

comrade693

public javascript v1 · immutable
·published 2006-09-14 13:33 UTC
rendered paste body
// ==UserScript==// @name           RvB Message Alert Popup// @namespace      http://rvb.roosterteeth.com/joequincy// @include        http://*.roosterteeth.com/*// ==/UserScript==// This is a modification of a script by #Jo\n// all credit goes to him for the original concept.// http://www.myspace.com/slipinsin/* There are still some bugs to work out in this one.It has issues handling more than one type of alert at once.I'm going to put it out as a beta version though, and ask for the assistance of better Javascript coders than I.*/// Configuration Options:messages = true;messageIcon = 'http://r4wr.com/images/GMmessage.png';friendrequests = true;friendrequestIcon = 'http://r4wr.com/images/GMfriendrequest.png';comments = true;commentIcon = 'http://r4wr.com/images/GMcomment.png';imgcomments = true;imgcommentIcon = 'http://r4wr.com/images/GMcamera.png';blogComments = true;blogCommentIcon = 'http://r4wr.com/images/GMbcom.png';blogSubscriptions = true;blogSubscriptionIcon = 'http://r4wr.com/images/GMsubblog.png';events = true;eventIcon = 'http://r4wr.com/images/GMevent.png';birthdays = true;birthdayIcon = 'http://r4wr.com/images/GMbirthday.png';/* Don't edit anything below unless you know what you're doing */function makeRequest() {GM_xmlhttpRequest({  method:"GET",  url:"http://www.roosterteeth.com/members/index.php",  headers:{    "User-Agent":"monkeyagent",    "Accept":"text/monkey,text/xml",    },   onload: function(details) {					// Store html of the RvB homepage.			var response=details.responseText;						// Retrieve the user's current site.			var site=window.location.host;						// Fill in applicable notifications			var html= '';			var msgTest=/You have (.*)(\d+)(.*) new message(s?)\./i;			var msgLength=msgTest.test(response);			if(msgLength == true) {				msgText=msgTest.exec(response)[0];				msghtml= '<a href="http://'+site+'/members/messaging/"><img src="'+messageIcon+'">&nbsp;'+msgText+'</a><br>';				show = 1;			} else{				msghtml= '';				}			var reqTest=/You have (.*)(\d+)(.*) new friend request(s?)\./i;			var reqLength=reqTest.test(response);			if(reqLength == true) {				reqText=reqTest.exec(response)[0];				reqhtml= '<a href="http://'+site+'/members/messaging/"><img src="'+friendrequestIcon+'">&nbsp;'+reqText+'</a><br>';				show = 1;			}else{				reqhtml= '';				}			var comTest=/You have (.*)(\d+)(.*) new personal comment(s?)\./i;			var comLength=comTest.test(response);			if(comLength == true) {				comText=comTest.exec(response)[0];				comhtml= '<a href="http://'+site+'/members/comments/"><img src="'+commentIcon+'">&nbsp;'+comText+'</a><br>';				show = true;			}else{				comhtml= '';				}			/* var imgAlert=response.split("<a href='/members/images/image.php?id=*'>You have <b>*</b> new image comment*</a>");			var imgText=response.split("/members/images/image.php?id=*'");			var reqLength=reqAlert.length - 1;			if(reqLength == 0) {				html+= '<a href="http://'+site+''+imgText+'"><img src="'+imgcommentIcon+'">&nbsp;You have new Image Comments!</a><br>';				show = true;			}			var jcomAlert=response.split("<a href='/members/journal/entry.php?id=*'>You have <b>*</b> new journal comment*</a>");			var imgText=response.split("/members/journal/entry.php?id=*'");			var reqLength=reqAlert.length - 1;			if(reqLength == 0) {				html+= '<a href="http://'+site+''+jcomText+'"><img src="'+blogCommentIcon+'">&nbsp;You have new Journal Comments!</a><br>';				show = true;			}						*/			if(show) {				// Create notifier element.				var notifier = document.createElement('div');				notifier.setAttribute('id', 'GM_RvBNotify');				document.body.appendChild(notifier);								notifier.innerHTML = msghtml + reqhtml + comhtml;								// Apply some custom CSS to the notifier element.				GM_addStyle('#GM_RvBNotify {' +					'display:block!important;' +					'position:fixed!important;' +					'top:0!important;' +					'left:0!important;' +					'z-index:9999!important;' +					'width:160px!important;' +					'background-color:#660000!important;' +					'opacity:0.9!important;' +					'text-align:left!important;' +					'-moz-border-radius:0 10px 10px 0!important;' +					'padding:3px!important;}' +					'#GM_RvBNotify a {' +					'display:inline!important;' +					'color:#000000!important;' +					'text-decoration:none!important;' +					'line-height:8px;' +					'font:normal 10px Arial, serif!important;}' +					'#GM_RvBNotify br {display:inline!important}' +					'#GM_RvBNotify img {width:12px!important;opacity:1!important;border:none!important}'				);			}  }});}// Make sure we're not in a frame's body, then execute script.if(top.location == location) {	makeRequest();}