Wowhead - Creating in-game links for Spells and Quests

By Zuo Last update Mar 26, 2008 — Installed 144 times. Daily Installs: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0
// ==UserScript==
// @name           Links for Spells and Quests
// @namespace      Wowhead Spells and Quests
// @description    Spells and Quests
// @include        http://www.wowhead.com/?spell=*
// @include        http://www.wowhead.com/?quest=*
// ==/UserScript==

// Original HTML
var middle_part = "";
var original_html = document.getElementById('infobox-sticky').innerHTML + "";

// Get ID
var cur_url = location.href + "";
var cur_url = cur_url.match("\\d{1,5}");

// Spacer if required
if( original_html.search("None yet") ) {
	var middle_part = "";
} else {
	var middle_part = "<br>";
}

// Get spell/quest name
var titleElement;
if (document.getElementsByTagName) {
	titleElement = document.getElementsByTagName('title')[0];
	if(titleElement) {
		var title_raw = titleElement.innerHTML;
		var title_thing = title_raw.replace(" - Spells - World of Warcraft","");
		var title_thing = title_thing.replace(" - Quests - World of Warcraft","");
		var title_detect = title_raw.replace(" - World of Warcraft","");
		var title_detect = title_detect.replace(title_thing + " - ","");
		if(title_detect=="Spells") {
			var this_is = "SPELL";
		} else if(title_detect=="Quests") {
			var this_is = "QUEST";
		} else {
			var this_is = "ERROR";
		}
	}
}

// What is it?
if(cur_url>0) {
	if(this_is=="SPELL") {
		var link_btn_title = "Spell Link";
		var link_to_this = "/script DEFAULT_CHAT_FRAME:AddMessage(&#34;Shift-click this link to put into chat: &#92;&#92;124cff71d5ff&#92;&#92;124Hspell:"+cur_url+"&#92;&#92;124h["+title_thing.replace("'","\\\\\\'")+"]&#92;&#92;124h&#92;&#92;124r&#34;);";
	}
	if(this_is=="QUEST") {
		var quest_color = "ffff00";	// quest color is set to yellow
		var quest_level = "70";		// quest level is set to 70
		var link_btn_title = "Quest Link";
		var link_to_this = "/script DEFAULT_CHAT_FRAME:AddMessage(&#34;Shift-click this link to put into chat: &#92;&#92;124cff"+quest_color+"&#92;&#92;124Hspell:"+cur_url+":"+quest_level+"&#92;&#92;124h["+title_thing.replace("'","\\\\\\'")+"]&#92;&#92;124h&#92;&#92;124r&#34;);";
	}
} else {
	var this_is = "ERROR";
}

// Custom HTML
var customiz_html = "<br><a style=\"float:left\" href=\"javascript:;\" class=\"button-red\" onclick=\"this.blur();prompt('Copy/paste this into the game chat to generate a link:','" + link_to_this + "');\"><div><blockquote><i>"+ link_btn_title +"</i></blockquote><span>"+ link_btn_title +"</span></div></a> <!--<a style=\"float:left\" href=\"javascript:;\" class=\"button-red\" onclick=\"this.blur();\"><div><blockquote><i>DUMMY</i></blockquote><span>DUMMY</span></div></a>-->";

// Output
if(this_is=="ERROR") {
} else {
	document.getElementById('infobox-sticky').innerHTML = original_html + middle_part + customiz_html;
}