Permalink
Browse files

WoW Reference 1.8

git-svn-id: http://steve.techmachine.biz/svn/safari_extensions/wow_reference@1 e7b6b58e-6890-4b03-8284-701e4fc349d5
  • Loading branch information...
0 parents commit 8338f43722ac505c919746012cc55bf52f84679e scott committed Oct 24, 2010
Showing with 2,115 additions and 0 deletions.
  1. +95 −0 Info.plist
  2. +1,116 −0 Settings.plist
  3. +146 −0 bar.html
  4. BIN down.png
  5. +426 −0 global.html
  6. +59 −0 injected.js
  7. +154 −0 jquery-1.4.2.min.js
  8. BIN question.png
  9. BIN up.png
  10. BIN uparrow.png
  11. +119 −0 wow.css
95 Info.plist
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>Author</key>
+ <string>Tech Machine</string>
+ <key>CFBundleDisplayName</key>
+ <string>Warcraft Reference</string>
+ <key>CFBundleIdentifier</key>
+ <string>biz.techmachine.wowref</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.8</string>
+ <key>CFBundleVersion</key>
+ <string>2</string>
+ <key>Chrome</key>
+ <dict>
+ <key>Bars</key>
+ <array>
+ <dict>
+ <key>Filename</key>
+ <string>bar.html</string>
+ <key>Identifier</key>
+ <string>ws_bar</string>
+ <key>Label</key>
+ <string>Warcraft Status</string>
+ </dict>
+ </array>
+ <key>Context Menu Items</key>
+ <array>
+ <dict>
+ <key>Command</key>
+ <string>searchRef</string>
+ <key>Identifier</key>
+ <string>wow_ref</string>
+ <key>Title</key>
+ <string>Search Warcraft Reference</string>
+ </dict>
+ </array>
+ <key>Global Page</key>
+ <string>global.html</string>
+ <key>Toolbar Items</key>
+ <array>
+ <dict>
+ <key>Command</key>
+ <string>toolBarButtonClick</string>
+ <key>Identifier</key>
+ <string>wow_tool_button</string>
+ <key>Image</key>
+ <string>question.png</string>
+ <key>Label</key>
+ <string>Warcraft Reference</string>
+ <key>Palette Label</key>
+ <string>Warcraft Reference</string>
+ <key>Tool Tip</key>
+ <string>Hide / Show Toolbar</string>
+ </dict>
+ </array>
+ </dict>
+ <key>Content</key>
+ <dict>
+ <key>Scripts</key>
+ <dict>
+ <key>End</key>
+ <array>
+ <string>jquery-1.4.2.min.js</string>
+ <string>injected.js</string>
+ </array>
+ </dict>
+ <key>Stylesheets</key>
+ <array>
+ <string>wow.css</string>
+ </array>
+ </dict>
+ <key>Description</key>
+ <string>Access World of Warcraft information from Safari.</string>
+ <key>ExtensionInfoDictionaryVersion</key>
+ <string>1.0</string>
+ <key>Permissions</key>
+ <dict>
+ <key>Website Access</key>
+ <dict>
+ <key>Include Secure Pages</key>
+ <true/>
+ <key>Level</key>
+ <string>All</string>
+ </dict>
+ </dict>
+ <key>Update Manifest URL</key>
+ <string>http://wow.techmachine.biz/wow_ref.plist</string>
+ <key>Website</key>
+ <string>http://techmachine.biz</string>
+</dict>
+</plist>
1,116 Settings.plist
@@ -0,0 +1,1116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array>
+ <dict>
+ <key>DefaultValue</key>
+ <true/>
+ <key>Key</key>
+ <string>showBar</string>
+ <key>Title</key>
+ <string>Show Toolbar</string>
+ <key>Type</key>
+ <string>CheckBox</string>
+ </dict>
+ <dict>
+ <key>DefaultValue</key>
+ <real>5</real>
+ <key>Key</key>
+ <string>intervalSetting</string>
+ <key>MaximumValue</key>
+ <real>10</real>
+ <key>MinimumValue</key>
+ <real>1</real>
+ <key>Title</key>
+ <string>Check Interval (Minutes)</string>
+ <key>Type</key>
+ <string>Slider</string>
+ </dict>
+ <dict>
+ <key>DefaultValue</key>
+ <string>North America</string>
+ <key>Key</key>
+ <string>realmsLoc</string>
+ <key>Title</key>
+ <string>Server Area</string>
+ <key>Titles</key>
+ <array>
+ <string>North America</string>
+ <string>Europe</string>
+ </array>
+ <key>Type</key>
+ <string>ListBox</string>
+ <key>Values</key>
+ <array>
+ <string>North America</string>
+ <string>Europe</string>
+ </array>
+ </dict>
+ <dict>
+ <key>DefaultValue</key>
+ <string>Azjol-Nerub</string>
+ <key>Key</key>
+ <string>realmName</string>
+ <key>Title</key>
+ <string>Default North American Realm</string>
+ <key>Titles</key>
+ <array>
+ <string>Aegwynn</string>
+ <string>Aerie Peak</string>
+ <string>Agamaggan</string>
+ <string>Aggramar</string>
+ <string>Akama</string>
+ <string>Alexstrasza</string>
+ <string>Alleria</string>
+ <string>Altar of Storms</string>
+ <string>Alterac Mountains</string>
+ <string>Aman'Thul</string>
+ <string>Andorhal</string>
+ <string>Anetheron</string>
+ <string>Antonidas</string>
+ <string>Anub'arak</string>
+ <string>Anvilmar</string>
+ <string>Arathor</string>
+ <string>Archimonde</string>
+ <string>Area 52</string>
+ <string>Argent Dawn</string>
+ <string>Arthas</string>
+ <string>Arygos</string>
+ <string>Auchindoun</string>
+ <string>Azgalor</string>
+ <string>Azjol-Nerub</string>
+ <string>Azshara</string>
+ <string>Azuremyst</string>
+ <string>Baelgun</string>
+ <string>Balnazzar</string>
+ <string>Barthilas</string>
+ <string>Black Dragonflight</string>
+ <string>Blackhand</string>
+ <string>Blackrock</string>
+ <string>Blackwater Raiders</string>
+ <string>Blackwing Lair</string>
+ <string>Blade's Edge</string>
+ <string>Bladefist</string>
+ <string>Bleeding Hollow</string>
+ <string>Blood Furnace</string>
+ <string>Bloodhoof</string>
+ <string>Bloodscalp</string>
+ <string>Bonechewer</string>
+ <string>Borean Tundra</string>
+ <string>Boulderfist</string>
+ <string>Bronzebeard</string>
+ <string>Burning Blade</string>
+ <string>Burning Legion</string>
+ <string>Caelestrasz</string>
+ <string>Cairne</string>
+ <string>Cenarion Circle</string>
+ <string>Cenarius</string>
+ <string>Cho'gall</string>
+ <string>Chromaggus</string>
+ <string>Coilfang</string>
+ <string>Crushridge</string>
+ <string>Daggerspine</string>
+ <string>Dalaran</string>
+ <string>Dalvengyr</string>
+ <string>Dark Iron</string>
+ <string>Darkspear</string>
+ <string>Darrowmere</string>
+ <string>Dath'Remar</string>
+ <string>Dawnbringer</string>
+ <string>Deathwing</string>
+ <string>Demon Soul</string>
+ <string>Dentarg</string>
+ <string>Destromath</string>
+ <string>Dethecus</string>
+ <string>Detheroc</string>
+ <string>Doomhammer</string>
+ <string>Draenor</string>
+ <string>Dragonblight</string>
+ <string>Dragonmaw</string>
+ <string>Drak'Tharon</string>
+ <string>Drak'thul</string>
+ <string>Draka</string>
+ <string>Drakkari</string>
+ <string>Dreadmaul</string>
+ <string>Drenden</string>
+ <string>Dunemaul</string>
+ <string>Durotan</string>
+ <string>Duskwood</string>
+ <string>Earthen Ring</string>
+ <string>Echo Isles</string>
+ <string>Eitrigg</string>
+ <string>Eldre'Thalas</string>
+ <string>Elune</string>
+ <string>Emerald Dream</string>
+ <string>Eonar</string>
+ <string>Eredar</string>
+ <string>Executus</string>
+ <string>Exodar</string>
+ <string>Farstriders</string>
+ <string>Feathermoon</string>
+ <string>Fenris</string>
+ <string>Firetree</string>
+ <string>Fizzcrank</string>
+ <string>Frostmane</string>
+ <string>Frostmourne</string>
+ <string>Frostwolf</string>
+ <string>Galakrond</string>
+ <string>Garithos</string>
+ <string>Garona</string>
+ <string>Garrosh</string>
+ <string>Ghostlands</string>
+ <string>Gilneas</string>
+ <string>Gnomeregan</string>
+ <string>Gorefiend</string>
+ <string>Gorgonnash</string>
+ <string>Greymane</string>
+ <string>Grizzly Hills</string>
+ <string>Gul'dan</string>
+ <string>Gundrak</string>
+ <string>Gurubashi</string>
+ <string>Hakkar</string>
+ <string>Haomarush</string>
+ <string>Hellscream</string>
+ <string>Hydraxis</string>
+ <string>Hyjal</string>
+ <string>Icecrown</string>
+ <string>Illidan</string>
+ <string>Jaedenar</string>
+ <string>Jubei'Thos</string>
+ <string>Kael'thas</string>
+ <string>Kalecgos</string>
+ <string>Kargath</string>
+ <string>Kel'Thuzad</string>
+ <string>Khadgar</string>
+ <string>Khaz Modan</string>
+ <string>Khaz'goroth</string>
+ <string>Kil'jaeden</string>
+ <string>Kilrogg</string>
+ <string>Kirin Tor</string>
+ <string>Korgath</string>
+ <string>Korialstrasz</string>
+ <string>Kul Tiras</string>
+ <string>Laughing Skull</string>
+ <string>Lethon</string>
+ <string>Lightbringer</string>
+ <string>Lightning's Blade</string>
+ <string>Lightninghoof</string>
+ <string>Llane</string>
+ <string>Lothar</string>
+ <string>Madoran</string>
+ <string>Maelstrom</string>
+ <string>Magtheridon</string>
+ <string>Maiev</string>
+ <string>Mal'Ganis</string>
+ <string>Malfurion</string>
+ <string>Malorne</string>
+ <string>Malygos</string>
+ <string>Mannoroth</string>
+ <string>Medivh</string>
+ <string>Misha</string>
+ <string>Mok'Nathal</string>
+ <string>Moon Guard</string>
+ <string>Moonrunner</string>
+ <string>Mug'thol</string>
+ <string>Muradin</string>
+ <string>Nagrand</string>
+ <string>Nathrezim</string>
+ <string>Nazgrel</string>
+ <string>Nazjatar</string>
+ <string>Ner'zhul</string>
+ <string>Nesingwary</string>
+ <string>Nordrassil</string>
+ <string>Norgannon</string>
+ <string>Onyxia</string>
+ <string>Perenolde</string>
+ <string>Proudmoore</string>
+ <string>Quel'dorei</string>
+ <string>Quel'Thalas</string>
+ <string>Ragnaros</string>
+ <string>Ravencrest</string>
+ <string>Ravenholdt</string>
+ <string>Rexxar</string>
+ <string>Rivendare</string>
+ <string>Runetotem</string>
+ <string>Sargeras</string>
+ <string>Saurfang</string>
+ <string>Scarlet Crusade</string>
+ <string>Scilla</string>
+ <string>Sen'jin</string>
+ <string>Sentinels</string>
+ <string>Shadow Council</string>
+ <string>Shadowmoon</string>
+ <string>Shadowsong</string>
+ <string>Shandris</string>
+ <string>Shattered Halls</string>
+ <string>Shattered Hand</string>
+ <string>Shu'halo</string>
+ <string>Silver Hand</string>
+ <string>Silvermoon</string>
+ <string>Sisters of Elune</string>
+ <string>Skullcrusher</string>
+ <string>Skywall</string>
+ <string>Smolderthorn</string>
+ <string>Spinebreaker</string>
+ <string>Spirestone</string>
+ <string>Staghelm</string>
+ <string>Steamwheedle Cartel</string>
+ <string>Stonemaul</string>
+ <string>Stormrage</string>
+ <string>Stormreaver</string>
+ <string>Stormscale</string>
+ <string>Suramar</string>
+ <string>Tanaris</string>
+ <string>Terenas</string>
+ <string>Terokkar</string>
+ <string>Thaurissan</string>
+ <string>The Forgotten Coast</string>
+ <string>The Scryers</string>
+ <string>The Underbog</string>
+ <string>The Venture Co</string>
+ <string>Thorium Brotherhood</string>
+ <string>Thrall</string>
+ <string>Thunderhorn</string>
+ <string>Thunderlord</string>
+ <string>Tichondrius</string>
+ <string>Tortheldrin</string>
+ <string>Trollbane</string>
+ <string>Turalyon</string>
+ <string>Twisting Nether</string>
+ <string>Uldaman</string>
+ <string>Uldum</string>
+ <string>Undermine</string>
+ <string>Ursin</string>
+ <string>Uther</string>
+ <string>Vashj</string>
+ <string>Vek'nilash</string>
+ <string>Velen</string>
+ <string>Warsong</string>
+ <string>Whisperwind</string>
+ <string>Wildhammer</string>
+ <string>Windrunner</string>
+ <string>Winterhoof</string>
+ <string>Wyrmrest Accord</string>
+ <string>Ysera</string>
+ <string>Ysondre</string>
+ <string>Zangarmarsh</string>
+ <string>Zul'jin</string>
+ <string>Zuluhed</string>
+ </array>
+ <key>Type</key>
+ <string>ListBox</string>
+ <key>Values</key>
+ <array>
+ <string>Aegwynn</string>
+ <string>Aerie Peak</string>
+ <string>Agamaggan</string>
+ <string>Aggramar</string>
+ <string>Akama</string>
+ <string>Alexstrasza</string>
+ <string>Alleria</string>
+ <string>Altar of Storms</string>
+ <string>Alterac Mountains</string>
+ <string>Aman'Thul</string>
+ <string>Andorhal</string>
+ <string>Anetheron</string>
+ <string>Antonidas</string>
+ <string>Anub'arak</string>
+ <string>Anvilmar</string>
+ <string>Arathor</string>
+ <string>Archimonde</string>
+ <string>Area 52</string>
+ <string>Argent Dawn</string>
+ <string>Arthas</string>
+ <string>Arygos</string>
+ <string>Auchindoun</string>
+ <string>Azgalor</string>
+ <string>Azjol-Nerub</string>
+ <string>Azshara</string>
+ <string>Azuremyst</string>
+ <string>Baelgun</string>
+ <string>Balnazzar</string>
+ <string>Barthilas</string>
+ <string>Black Dragonflight</string>
+ <string>Blackhand</string>
+ <string>Blackrock</string>
+ <string>Blackwater Raiders</string>
+ <string>Blackwing Lair</string>
+ <string>Blade's Edge</string>
+ <string>Bladefist</string>
+ <string>Bleeding Hollow</string>
+ <string>Blood Furnace</string>
+ <string>Bloodhoof</string>
+ <string>Bloodscalp</string>
+ <string>Bonechewer</string>
+ <string>Borean Tundra</string>
+ <string>Boulderfist</string>
+ <string>Bronzebeard</string>
+ <string>Burning Blade</string>
+ <string>Burning Legion</string>
+ <string>Caelestrasz</string>
+ <string>Cairne</string>
+ <string>Cenarion Circle</string>
+ <string>Cenarius</string>
+ <string>Cho'gall</string>
+ <string>Chromaggus</string>
+ <string>Coilfang</string>
+ <string>Crushridge</string>
+ <string>Daggerspine</string>
+ <string>Dalaran</string>
+ <string>Dalvengyr</string>
+ <string>Dark Iron</string>
+ <string>Darkspear</string>
+ <string>Darrowmere</string>
+ <string>Dath'Remar</string>
+ <string>Dawnbringer</string>
+ <string>Deathwing</string>
+ <string>Demon Soul</string>
+ <string>Dentarg</string>
+ <string>Destromath</string>
+ <string>Dethecus</string>
+ <string>Detheroc</string>
+ <string>Doomhammer</string>
+ <string>Draenor</string>
+ <string>Dragonblight</string>
+ <string>Dragonmaw</string>
+ <string>Drak'Tharon</string>
+ <string>Drak'thul</string>
+ <string>Draka</string>
+ <string>Drakkari</string>
+ <string>Dreadmaul</string>
+ <string>Drenden</string>
+ <string>Dunemaul</string>
+ <string>Durotan</string>
+ <string>Duskwood</string>
+ <string>Earthen Ring</string>
+ <string>Echo Isles</string>
+ <string>Eitrigg</string>
+ <string>Eldre'Thalas</string>
+ <string>Elune</string>
+ <string>Emerald Dream</string>
+ <string>Eonar</string>
+ <string>Eredar</string>
+ <string>Executus</string>
+ <string>Exodar</string>
+ <string>Farstriders</string>
+ <string>Feathermoon</string>
+ <string>Fenris</string>
+ <string>Firetree</string>
+ <string>Fizzcrank</string>
+ <string>Frostmane</string>
+ <string>Frostmourne</string>
+ <string>Frostwolf</string>
+ <string>Galakrond</string>
+ <string>Garithos</string>
+ <string>Garona</string>
+ <string>Garrosh</string>
+ <string>Ghostlands</string>
+ <string>Gilneas</string>
+ <string>Gnomeregan</string>
+ <string>Gorefiend</string>
+ <string>Gorgonnash</string>
+ <string>Greymane</string>
+ <string>Grizzly Hills</string>
+ <string>Gul'dan</string>
+ <string>Gundrak</string>
+ <string>Gurubashi</string>
+ <string>Hakkar</string>
+ <string>Haomarush</string>
+ <string>Hellscream</string>
+ <string>Hydraxis</string>
+ <string>Hyjal</string>
+ <string>Icecrown</string>
+ <string>Illidan</string>
+ <string>Jaedenar</string>
+ <string>Jubei'Thos</string>
+ <string>Kael'thas</string>
+ <string>Kalecgos</string>
+ <string>Kargath</string>
+ <string>Kel'Thuzad</string>
+ <string>Khadgar</string>
+ <string>Khaz Modan</string>
+ <string>Khaz'goroth</string>
+ <string>Kil'jaeden</string>
+ <string>Kilrogg</string>
+ <string>Kirin Tor</string>
+ <string>Korgath</string>
+ <string>Korialstrasz</string>
+ <string>Kul Tiras</string>
+ <string>Laughing Skull</string>
+ <string>Lethon</string>
+ <string>Lightbringer</string>
+ <string>Lightning's Blade</string>
+ <string>Lightninghoof</string>
+ <string>Llane</string>
+ <string>Lothar</string>
+ <string>Madoran</string>
+ <string>Maelstrom</string>
+ <string>Magtheridon</string>
+ <string>Maiev</string>
+ <string>Mal'Ganis</string>
+ <string>Malfurion</string>
+ <string>Malorne</string>
+ <string>Malygos</string>
+ <string>Mannoroth</string>
+ <string>Medivh</string>
+ <string>Misha</string>
+ <string>Mok'Nathal</string>
+ <string>Moon Guard</string>
+ <string>Moonrunner</string>
+ <string>Mug'thol</string>
+ <string>Muradin</string>
+ <string>Nagrand</string>
+ <string>Nathrezim</string>
+ <string>Nazgrel</string>
+ <string>Nazjatar</string>
+ <string>Ner'zhul</string>
+ <string>Nesingwary</string>
+ <string>Nordrassil</string>
+ <string>Norgannon</string>
+ <string>Onyxia</string>
+ <string>Perenolde</string>
+ <string>Proudmoore</string>
+ <string>Quel'dorei</string>
+ <string>Quel'Thalas</string>
+ <string>Ragnaros</string>
+ <string>Ravencrest</string>
+ <string>Ravenholdt</string>
+ <string>Rexxar</string>
+ <string>Rivendare</string>
+ <string>Runetotem</string>
+ <string>Sargeras</string>
+ <string>Saurfang</string>
+ <string>Scarlet Crusade</string>
+ <string>Scilla</string>
+ <string>Sen'jin</string>
+ <string>Sentinels</string>
+ <string>Shadow Council</string>
+ <string>Shadowmoon</string>
+ <string>Shadowsong</string>
+ <string>Shandris</string>
+ <string>Shattered Halls</string>
+ <string>Shattered Hand</string>
+ <string>Shu'halo</string>
+ <string>Silver Hand</string>
+ <string>Silvermoon</string>
+ <string>Sisters of Elune</string>
+ <string>Skullcrusher</string>
+ <string>Skywall</string>
+ <string>Smolderthorn</string>
+ <string>Spinebreaker</string>
+ <string>Spirestone</string>
+ <string>Staghelm</string>
+ <string>Steamwheedle Cartel</string>
+ <string>Stonemaul</string>
+ <string>Stormrage</string>
+ <string>Stormreaver</string>
+ <string>Stormscale</string>
+ <string>Suramar</string>
+ <string>Tanaris</string>
+ <string>Terenas</string>
+ <string>Terokkar</string>
+ <string>Thaurissan</string>
+ <string>The Forgotten Coast</string>
+ <string>The Scryers</string>
+ <string>The Underbog</string>
+ <string>The Venture Co</string>
+ <string>Thorium Brotherhood</string>
+ <string>Thrall</string>
+ <string>Thunderhorn</string>
+ <string>Thunderlord</string>
+ <string>Tichondrius</string>
+ <string>Tortheldrin</string>
+ <string>Trollbane</string>
+ <string>Turalyon</string>
+ <string>Twisting Nether</string>
+ <string>Uldaman</string>
+ <string>Uldum</string>
+ <string>Undermine</string>
+ <string>Ursin</string>
+ <string>Uther</string>
+ <string>Vashj</string>
+ <string>Vek'nilash</string>
+ <string>Velen</string>
+ <string>Warsong</string>
+ <string>Whisperwind</string>
+ <string>Wildhammer</string>
+ <string>Windrunner</string>
+ <string>Winterhoof</string>
+ <string>Wyrmrest Accord</string>
+ <string>Ysera</string>
+ <string>Ysondre</string>
+ <string>Zangarmarsh</string>
+ <string>Zul'jin</string>
+ <string>Zuluhed</string>
+ </array>
+ </dict>
+ <dict>
+ <key>DefaultValue</key>
+ <string>Azjol-Nerub</string>
+ <key>Key</key>
+ <string>realmNameEurope</string>
+ <key>Title</key>
+ <string>Default European Realm</string>
+ <key>Titles</key>
+ <array>
+ <string>Aerie Peak</string>
+ <string>Agamaggan</string>
+ <string>Aggramar</string>
+ <string>Ahn'Qiraj</string>
+ <string>Al'Akir</string>
+ <string>Alonsus</string>
+ <string>Anachronos</string>
+ <string>Arathor</string>
+ <string>Argent Dawn</string>
+ <string>Aszune</string>
+ <string>Auchindoun</string>
+ <string>Azjol-Nerub</string>
+ <string>Azuremyst</string>
+ <string>Balnazzar</string>
+ <string>Blade's Edge</string>
+ <string>Bladefist</string>
+ <string>Bloodfeather</string>
+ <string>Bloodhoof</string>
+ <string>Bloodscalp</string>
+ <string>Boulderfist</string>
+ <string>Bronze Dragonflight</string>
+ <string>Bronzebeard</string>
+ <string>Burning Blade</string>
+ <string>Burning Legion</string>
+ <string>Burning Steppes</string>
+ <string>Chamber of Aspects</string>
+ <string>Chromaggus</string>
+ <string>Crushridge</string>
+ <string>Daggerspine</string>
+ <string>Darkmoon Faire</string>
+ <string>Darksorrow</string>
+ <string>Darkspear</string>
+ <string>Deathwing</string>
+ <string>Defias Brotherhood</string>
+ <string>Dentarg</string>
+ <string>Doomhammer</string>
+ <string>Draenor</string>
+ <string>Dragonblight</string>
+ <string>Dragonmaw</string>
+ <string>Drak'thul</string>
+ <string>Dunemaul</string>
+ <string>Earthen Ring</string>
+ <string>Emerald Dream</string>
+ <string>Emeriss</string>
+ <string>Eonar</string>
+ <string>Executus</string>
+ <string>Frostmane</string>
+ <string>Frostwhisper</string>
+ <string>Genjuros</string>
+ <string>Ghostlands</string>
+ <string>Grim Batol</string>
+ <string>Hakkar</string>
+ <string>Haomarush</string>
+ <string>Hellfire</string>
+ <string>Hellscream</string>
+ <string>Jaedenar</string>
+ <string>Karazhan</string>
+ <string>Kazzak</string>
+ <string>Khadgar</string>
+ <string>Kilrogg</string>
+ <string>Kor'gall</string>
+ <string>Kul Tiras</string>
+ <string>Laughing Skull</string>
+ <string>Lightbringer</string>
+ <string>Lightning's Blade</string>
+ <string>Magtheridon</string>
+ <string>Mazrigos</string>
+ <string>Moonglade</string>
+ <string>Nagrand</string>
+ <string>Neptulon</string>
+ <string>Nordrassil</string>
+ <string>Outland</string>
+ <string>Quel'Thalas</string>
+ <string>Ragnaros</string>
+ <string>Ravencrest</string>
+ <string>Ravenholdt</string>
+ <string>Runetotem</string>
+ <string>Saurfang</string>
+ <string>Scarshield Legion</string>
+ <string>Shadowsong</string>
+ <string>Shattered Halls</string>
+ <string>Shattered Hand</string>
+ <string>Silvermoon</string>
+ <string>Skullcrusher</string>
+ <string>Spinebreaker</string>
+ <string>Sporeggar</string>
+ <string>Steamwheedle Cartel</string>
+ <string>Stormrage</string>
+ <string>Stormreaver</string>
+ <string>Stormscale</string>
+ <string>Sunstrider</string>
+ <string>Sylvanas</string>
+ <string>Talnivarr</string>
+ <string>Tarren Mill</string>
+ <string>Terenas</string>
+ <string>Terokkar</string>
+ <string>The Maelstrom</string>
+ <string>The Sha'tar</string>
+ <string>The Venture Co.</string>
+ <string>Thunderhorn</string>
+ <string>Trollbane</string>
+ <string>Turalyon</string>
+ <string>Twilight's Hammer</string>
+ <string>Twisting Nether</string>
+ <string>Vashj</string>
+ <string>Vek'nilash</string>
+ <string>Wildhammer</string>
+ <string>Xavius</string>
+ <string>Zenedar</string>
+ <string>Aegwynn</string>
+ <string>Alexstrasza</string>
+ <string>Alleria</string>
+ <string>Aman'Thul</string>
+ <string>Ambossar</string>
+ <string>Anetheron</string>
+ <string>Antonidas</string>
+ <string>Anub'arak</string>
+ <string>Area 52</string>
+ <string>Arthas</string>
+ <string>Arygos</string>
+ <string>Azshara</string>
+ <string>Baelgun</string>
+ <string>Blackhand</string>
+ <string>Blackmoore</string>
+ <string>Blackrock</string>
+ <string>Blutkessel</string>
+ <string>Dalvengyr</string>
+ <string>Das Konsortium</string>
+ <string>Das Syndikat</string>
+ <string>Der abyssische Rat</string>
+ <string>Der Mithrilorden</string>
+ <string>Der Rat von Dalaran</string>
+ <string>Destromath</string>
+ <string>Dethecus</string>
+ <string>Die Aldor</string>
+ <string>Die Arguswacht</string>
+ <string>Die ewige Wacht</string>
+ <string>Die Nachtwache</string>
+ <string>Die Silberne Hand</string>
+ <string>Die Todeskrallen</string>
+ <string>Dun Morogh</string>
+ <string>Durotan</string>
+ <string>Echsenkessel</string>
+ <string>Eredar</string>
+ <string>Festung der Stürme</string>
+ <string>Forscherliga</string>
+ <string>Frostmourne</string>
+ <string>Frostwolf</string>
+ <string>Garrosh</string>
+ <string>Gilneas</string>
+ <string>Gorgonnash</string>
+ <string>Gul'dan</string>
+ <string>Kargath</string>
+ <string>Kel'Thuzad</string>
+ <string>Khaz'goroth</string>
+ <string>Kil'Jaeden</string>
+ <string>Krag'jin</string>
+ <string>Kult der Verdammten</string>
+ <string>Lordaeron</string>
+ <string>Lothar</string>
+ <string>Madmortem</string>
+ <string>Mal'Ganis</string>
+ <string>Malfurion</string>
+ <string>Malorne</string>
+ <string>Malygos</string>
+ <string>Mannoroth</string>
+ <string>Mug'thol</string>
+ <string>Nathrezim</string>
+ <string>Nazjatar</string>
+ <string>Nefarian</string>
+ <string>Nera'thor</string>
+ <string>Nethersturm</string>
+ <string>Norgannon</string>
+ <string>Nozdormu</string>
+ <string>Onyxia</string>
+ <string>Perenolde</string>
+ <string>Proudmoore</string>
+ <string>Rajaxx</string>
+ <string>Rexxar</string>
+ <string>Sen'jin</string>
+ <string>Shattrath</string>
+ <string>Taerar</string>
+ <string>Teldrassil</string>
+ <string>Terrordar</string>
+ <string>Theradras</string>
+ <string>Thrall</string>
+ <string>Tichondrius</string>
+ <string>Tirion</string>
+ <string>Todeswache</string>
+ <string>Ulduar</string>
+ <string>Un'Goro</string>
+ <string>Vek'lor</string>
+ <string>Wrathbringer</string>
+ <string>Ysera</string>
+ <string>Zirkel des Cenarius</string>
+ <string>Zuluhed</string>
+ <string>Arak-arahm</string>
+ <string>Arathi</string>
+ <string>Archimonde</string>
+ <string>Chants éternels</string>
+ <string>Cho'gall</string>
+ <string>Confrérie du Thorium</string>
+ <string>Conseil des Ombres</string>
+ <string>Culte de la Rive noire</string>
+ <string>Dalaran</string>
+ <string>Drek'Thar</string>
+ <string>Eitrigg</string>
+ <string>Eldre'Thalas</string>
+ <string>Elune</string>
+ <string>Garona</string>
+ <string>Hyjal</string>
+ <string>Illidan</string>
+ <string>Kael'thas</string>
+ <string>Khaz Modan</string>
+ <string>Kirin Tor</string>
+ <string>Krasus</string>
+ <string>La Croisade écarlate</string>
+ <string>Les Clairvoyants</string>
+ <string>Les Sentinelles</string>
+ <string>Marécage de Zangar</string>
+ <string>Medivh</string>
+ <string>Naxxramas</string>
+ <string>Ner'zhul</string>
+ <string>Rashgarroth</string>
+ <string>Sargeras</string>
+ <string>Sinstralis</string>
+ <string>Suramar</string>
+ <string>Temple noir</string>
+ <string>Throk'Feroth</string>
+ <string>Uldaman</string>
+ <string>Varimathras</string>
+ <string>Vol'jin</string>
+ <string>Ysondre</string>
+ <string>C'Thun</string>
+ <string>Colinas Pardas</string>
+ <string>Dun Modr</string>
+ <string>Exodar</string>
+ <string>Los Errantes</string>
+ <string>Minahonda</string>
+ <string>Sanguino</string>
+ <string>Shen'dralar</string>
+ <string>Tyrande</string>
+ <string>Uldum</string>
+ <string>Zul'Jin</string>
+ <string>Азурегос</string>
+ <string>Борейская тундра</string>
+ <string>Вечная Песня</string>
+ <string>Галакронд</string>
+ <string>Гордунни</string>
+ <string>Гром</string>
+ <string>Дракономор</string>
+ <string>Король-лич</string>
+ <string>Пиратская бухта</string>
+ <string>Подземье</string>
+ <string>Разувий</string>
+ <string>Ревущий фьорд</string>
+ <string>Свежеватель Душ</string>
+ <string>Седогрив</string>
+ <string>Страж смерти</string>
+ <string>Термоштепсель</string>
+ <string>Ткач Смерти</string>
+ <string>Черный Шрам</string>
+ <string>Ясеневый лес</string>
+ </array>
+ <key>Type</key>
+ <string>ListBox</string>
+ <key>Values</key>
+ <array>
+ <string>Aerie Peak</string>
+ <string>Agamaggan</string>
+ <string>Aggramar</string>
+ <string>Ahn'Qiraj</string>
+ <string>Al'Akir</string>
+ <string>Alonsus</string>
+ <string>Anachronos</string>
+ <string>Arathor</string>
+ <string>Argent Dawn</string>
+ <string>Aszune</string>
+ <string>Auchindoun</string>
+ <string>Azjol-Nerub</string>
+ <string>Azuremyst</string>
+ <string>Balnazzar</string>
+ <string>Blade's Edge</string>
+ <string>Bladefist</string>
+ <string>Bloodfeather</string>
+ <string>Bloodhoof</string>
+ <string>Bloodscalp</string>
+ <string>Boulderfist</string>
+ <string>Bronze Dragonflight</string>
+ <string>Bronzebeard</string>
+ <string>Burning Blade</string>
+ <string>Burning Legion</string>
+ <string>Burning Steppes</string>
+ <string>Chamber of Aspects</string>
+ <string>Chromaggus</string>
+ <string>Crushridge</string>
+ <string>Daggerspine</string>
+ <string>Darkmoon Faire</string>
+ <string>Darksorrow</string>
+ <string>Darkspear</string>
+ <string>Deathwing</string>
+ <string>Defias Brotherhood</string>
+ <string>Dentarg</string>
+ <string>Doomhammer</string>
+ <string>Draenor</string>
+ <string>Dragonblight</string>
+ <string>Dragonmaw</string>
+ <string>Drak'thul</string>
+ <string>Dunemaul</string>
+ <string>Earthen Ring</string>
+ <string>Emerald Dream</string>
+ <string>Emeriss</string>
+ <string>Eonar</string>
+ <string>Executus</string>
+ <string>Frostmane</string>
+ <string>Frostwhisper</string>
+ <string>Genjuros</string>
+ <string>Ghostlands</string>
+ <string>Grim Batol</string>
+ <string>Hakkar</string>
+ <string>Haomarush</string>
+ <string>Hellfire</string>
+ <string>Hellscream</string>
+ <string>Jaedenar</string>
+ <string>Karazhan</string>
+ <string>Kazzak</string>
+ <string>Khadgar</string>
+ <string>Kilrogg</string>
+ <string>Kor'gall</string>
+ <string>Kul Tiras</string>
+ <string>Laughing Skull</string>
+ <string>Lightbringer</string>
+ <string>Lightning's Blade</string>
+ <string>Magtheridon</string>
+ <string>Mazrigos</string>
+ <string>Moonglade</string>
+ <string>Nagrand</string>
+ <string>Neptulon</string>
+ <string>Nordrassil</string>
+ <string>Outland</string>
+ <string>Quel'Thalas</string>
+ <string>Ragnaros</string>
+ <string>Ravencrest</string>
+ <string>Ravenholdt</string>
+ <string>Runetotem</string>
+ <string>Saurfang</string>
+ <string>Scarshield Legion</string>
+ <string>Shadowsong</string>
+ <string>Shattered Halls</string>
+ <string>Shattered Hand</string>
+ <string>Silvermoon</string>
+ <string>Skullcrusher</string>
+ <string>Spinebreaker</string>
+ <string>Sporeggar</string>
+ <string>Steamwheedle Cartel</string>
+ <string>Stormrage</string>
+ <string>Stormreaver</string>
+ <string>Stormscale</string>
+ <string>Sunstrider</string>
+ <string>Sylvanas</string>
+ <string>Talnivarr</string>
+ <string>Tarren Mill</string>
+ <string>Terenas</string>
+ <string>Terokkar</string>
+ <string>The Maelstrom</string>
+ <string>The Sha'tar</string>
+ <string>The Venture Co.</string>
+ <string>Thunderhorn</string>
+ <string>Trollbane</string>
+ <string>Turalyon</string>
+ <string>Twilight's Hammer</string>
+ <string>Twisting Nether</string>
+ <string>Vashj</string>
+ <string>Vek'nilash</string>
+ <string>Wildhammer</string>
+ <string>Xavius</string>
+ <string>Zenedar</string>
+ <string>Aegwynn</string>
+ <string>Alexstrasza</string>
+ <string>Alleria</string>
+ <string>Aman'Thul</string>
+ <string>Ambossar</string>
+ <string>Anetheron</string>
+ <string>Antonidas</string>
+ <string>Anub'arak</string>
+ <string>Area 52</string>
+ <string>Arthas</string>
+ <string>Arygos</string>
+ <string>Azshara</string>
+ <string>Baelgun</string>
+ <string>Blackhand</string>
+ <string>Blackmoore</string>
+ <string>Blackrock</string>
+ <string>Blutkessel</string>
+ <string>Dalvengyr</string>
+ <string>Das Konsortium</string>
+ <string>Das Syndikat</string>
+ <string>Der abyssische Rat</string>
+ <string>Der Mithrilorden</string>
+ <string>Der Rat von Dalaran</string>
+ <string>Destromath</string>
+ <string>Dethecus</string>
+ <string>Die Aldor</string>
+ <string>Die Arguswacht</string>
+ <string>Die ewige Wacht</string>
+ <string>Die Nachtwache</string>
+ <string>Die Silberne Hand</string>
+ <string>Die Todeskrallen</string>
+ <string>Dun Morogh</string>
+ <string>Durotan</string>
+ <string>Echsenkessel</string>
+ <string>Eredar</string>
+ <string>Festung der Stürme</string>
+ <string>Forscherliga</string>
+ <string>Frostmourne</string>
+ <string>Frostwolf</string>
+ <string>Garrosh</string>
+ <string>Gilneas</string>
+ <string>Gorgonnash</string>
+ <string>Gul'dan</string>
+ <string>Kargath</string>
+ <string>Kel'Thuzad</string>
+ <string>Khaz'goroth</string>
+ <string>Kil'Jaeden</string>
+ <string>Krag'jin</string>
+ <string>Kult der Verdammten</string>
+ <string>Lordaeron</string>
+ <string>Lothar</string>
+ <string>Madmortem</string>
+ <string>Mal'Ganis</string>
+ <string>Malfurion</string>
+ <string>Malorne</string>
+ <string>Malygos</string>
+ <string>Mannoroth</string>
+ <string>Mug'thol</string>
+ <string>Nathrezim</string>
+ <string>Nazjatar</string>
+ <string>Nefarian</string>
+ <string>Nera'thor</string>
+ <string>Nethersturm</string>
+ <string>Norgannon</string>
+ <string>Nozdormu</string>
+ <string>Onyxia</string>
+ <string>Perenolde</string>
+ <string>Proudmoore</string>
+ <string>Rajaxx</string>
+ <string>Rexxar</string>
+ <string>Sen'jin</string>
+ <string>Shattrath</string>
+ <string>Taerar</string>
+ <string>Teldrassil</string>
+ <string>Terrordar</string>
+ <string>Theradras</string>
+ <string>Thrall</string>
+ <string>Tichondrius</string>
+ <string>Tirion</string>
+ <string>Todeswache</string>
+ <string>Ulduar</string>
+ <string>Un'Goro</string>
+ <string>Vek'lor</string>
+ <string>Wrathbringer</string>
+ <string>Ysera</string>
+ <string>Zirkel des Cenarius</string>
+ <string>Zuluhed</string>
+ <string>Arak-arahm</string>
+ <string>Arathi</string>
+ <string>Archimonde</string>
+ <string>Chants éternels</string>
+ <string>Cho'gall</string>
+ <string>Confrérie du Thorium</string>
+ <string>Conseil des Ombres</string>
+ <string>Culte de la Rive noire</string>
+ <string>Dalaran</string>
+ <string>Drek'Thar</string>
+ <string>Eitrigg</string>
+ <string>Eldre'Thalas</string>
+ <string>Elune</string>
+ <string>Garona</string>
+ <string>Hyjal</string>
+ <string>Illidan</string>
+ <string>Kael'thas</string>
+ <string>Khaz Modan</string>
+ <string>Kirin Tor</string>
+ <string>Krasus</string>
+ <string>La Croisade écarlate</string>
+ <string>Les Clairvoyants</string>
+ <string>Les Sentinelles</string>
+ <string>Marécage de Zangar</string>
+ <string>Medivh</string>
+ <string>Naxxramas</string>
+ <string>Ner'zhul</string>
+ <string>Rashgarroth</string>
+ <string>Sargeras</string>
+ <string>Sinstralis</string>
+ <string>Suramar</string>
+ <string>Temple noir</string>
+ <string>Throk'Feroth</string>
+ <string>Uldaman</string>
+ <string>Varimathras</string>
+ <string>Vol'jin</string>
+ <string>Ysondre</string>
+ <string>C'Thun</string>
+ <string>Colinas Pardas</string>
+ <string>Dun Modr</string>
+ <string>Exodar</string>
+ <string>Los Errantes</string>
+ <string>Minahonda</string>
+ <string>Sanguino</string>
+ <string>Shen'dralar</string>
+ <string>Tyrande</string>
+ <string>Uldum</string>
+ <string>Zul'Jin</string>
+ <string>Азурегос</string>
+ <string>Борейская тундра</string>
+ <string>Вечная Песня</string>
+ <string>Галакронд</string>
+ <string>Гордунни</string>
+ <string>Гром</string>
+ <string>Дракономор</string>
+ <string>Король-лич</string>
+ <string>Пиратская бухта</string>
+ <string>Подземье</string>
+ <string>Разувий</string>
+ <string>Ревущий фьорд</string>
+ <string>Свежеватель Душ</string>
+ <string>Седогрив</string>
+ <string>Страж смерти</string>
+ <string>Термоштепсель</string>
+ <string>Ткач Смерти</string>
+ <string>Черный Шрам</string>
+ <string>Ясеневый лес</string>
+ </array>
+ </dict>
+ <dict>
+ <key>DefaultValue</key>
+ <string>Thottbot</string>
+ <key>Key</key>
+ <string>search</string>
+ <key>Title</key>
+ <string>Search Site</string>
+ <key>Titles</key>
+ <array>
+ <string>Thottbot</string>
+ <string>Curse</string>
+ <string>WoWWiki</string>
+ <string>Warcraft Armory</string>
+ <string>WoWHead</string>
+ </array>
+ <key>Type</key>
+ <string>ListBox</string>
+ <key>Values</key>
+ <array>
+ <string>Thottbott</string>
+ <string>Curse</string>
+ <string>WoWWiki</string>
+ <string>Armory</string>
+ <string>WoWHead</string>
+ </array>
+ </dict>
+</array>
+</plist>
146 bar.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Bar</title>
+ <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
+ <script type="text/javascript">
+ //************************************************
+ // Bar Variables
+ //************************************************
+ const myGlobal = safari.extension.globalPage.contentWindow;
+
+ //************************************************
+ // Bar Functions
+ //************************************************
+
+ function displayData(){
+ if(myGlobal.realmIndex >= 0){
+ var name = myGlobal.realms[myGlobal.realmIndex].name;
+ var status = myGlobal.realms[myGlobal.realmIndex].status_image;
+ var type = myGlobal.realms[myGlobal.realmIndex].type;
+ var popu = myGlobal.realms[myGlobal.realmIndex].pop;
+
+ //Update the bar data
+ $('#realm_name').html(name+": ");
+ $('#realm_image').html(status);
+ $('#realm_type').html("Type: "+type);
+ $('#realm_pop').html("Population: "+popu);
+ $('#last_checked').html("Last Checked: "+myGlobal.formatTime(myGlobal.lastChecked));
+ } else {
+ $('#realm_name').html("Connecting to server.");
+ }
+ }
+
+ function changeSearch(){
+ $('#search_field').val(safari.extension.settings.search);
+ }
+
+ function hideText(){
+ if($('#search_field').val() == safari.extension.settings.search){
+ $('#search_field').attr({'color': '#000000'});
+ $('#search_field').val('');
+ }
+ }
+
+ function showText(){
+ if($('#search_field').val() == ''){
+ $('#search_field').val(safari.extension.settings.search);
+ $('#search_field').attr({'color': '#666666'});
+ }
+ }
+
+ //************************************************
+ // Event Listeners
+ //************************************************
+
+
+
+ //************************************************
+ // Functions to run at startup
+ //************************************************
+ $(document).ready(function(){
+ if(typeof(myGlobal.realms) != 'undefined'){
+ displayData();
+ //Change the toolbar button icon for this window if it has not already been changed
+ myGlobal.setToolbarButtonIcon();
+ }
+
+ $('#search_field').val(safari.extension.settings.search);
+
+ $('#search_field').focus(function(){
+ hideText();
+ });
+ $('#search_field').blur(function(){
+ showText();
+ });
+ $('#wowsite_link').click(function(){
+ myGlobal.goToLink("http://www.worldofwarcraft.com");
+ });
+ $('#battle_link').click(function(){
+ myGlobal.goToLink("http://www.battle.net");
+ });
+ $('#armory_link').click(function(){
+ myGlobal.goToLink("http://www.wowarmory.com");
+ });
+ $('#search').keyup(function(){
+ if(event.keyCode == 13){ myGlobal.searchRef($('#search_field').val()); }
+ });
+ });
+ </script>
+
+ <style>
+ #realm_name{
+ float:left;
+ }
+ #realm_image{
+ width:18px;height:18px;float:left;margin:-3px 0 0 10px;
+ }
+ .r_border{
+ float:left;margin:0 0 0 10px;padding:0 0 0 10px;border-left:#666 1px solid;
+ }
+ .wow_link{
+ float:right;
+ margin-right:10px;
+ }
+ .wow_link a{
+ text-decoration:none;
+ color:#333;
+ }
+ .wow_link a:hover{
+ text-shadow: 1px 1px 1px #999;
+ }
+ #search_field{
+ margin-top:-1px;
+ float:right;
+ color:#666666;
+ -webkit-border-radius: 10px;
+ padding-left:7px;
+ border:1px;
+ outline:none;
+ }
+ #right_side{
+ position:relative;
+ right:0;
+ top:0;
+ }
+ </style>
+
+</head>
+<body>
+ <div id="content_wrapper">
+ <span id="realm_name" style="">Checking Realms</span>
+ <span id="realm_image" style=""></span>
+ <span id="realm_type" class="r_border"></span>
+ <span id="realm_pop" class="r_border"></span>
+ <span id="last_checked" class="r_border"></span>
+ <span id="view_all" class="r_border" style="float:left;"><span class="wow_link"><a id="view_all_link" href="javascript:void(0);" onClick="myGlobal.showRealms();">View All Realms</a></span></span>
+
+ <div id="right_side">
+ <input type="search" id="search_field" placeholder="Search..." autosave="wow_search" results="5" size="50" onKeyUp="if(event.keyCode == 13){ myGlobal.searchRef($('#search_field').val()); }" />
+ <span class="wow_link"><a href="javascript:void(0);" onClick="myGlobal.goToLink("http://www.wowarmory.com");" id="armory_link">Armory</a></span>
+ <span class="wow_link"><a href="javascript:void(0);" onClick="myGlobal.goToLink("http://www.battle.net");" id="battle_link">Battle.net</a></span>
+ <span class="wow_link"><a href="javascript:void(0);" onClick="myGlobal.goToLink("http://www.worldofwarcraft.com");" id="wowsite_link">WoW Website</a></span>
+ </div>
+ </div>
+</body>
+</html>
BIN down.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
426 global.html
@@ -0,0 +1,426 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Global Page</title>
+ <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
+
+ <script>
+ //************************************************
+ // Global Parameters
+ //************************************************
+ var lastChecked = new Date(); //Stores the date when the realms were last checked.
+ var realms_loc = safari.extension.settings.realmsLoc;
+ var realms = new Array(); //Stores the realm data
+ var realmIndex = -1; //Stores the array index that matches the user's settings
+ var checkInterval = 1000 * 60 * safari.extension.settings.intervalSetting; //Convert the check interval time from settings into miliseconds
+ var timer; //The timer object for rechecking the server
+
+ //************************************************
+ // Global Functions
+ //************************************************
+ function getRealms(){
+ try{
+ if(realms_loc === "North America"){
+ $.ajax({
+ type: "GET",
+ url: "http://www.worldofwarcraft.com/realmstatus/status.xml",
+ dataType: "xml",
+ success: function(xml) {
+ realms = new Array();
+ realmIndex = -1;
+
+ var i = 0;
+ $(xml).find('r').each(function(){
+ if($(this).attr('n') == safari.extension.settings.realmName){
+ realmIndex = i;
+ }
+
+ var name_text = $(this).attr('n');
+ var stat_val = $(this).attr('s');
+ var status_text = "";
+ var type_text = "";
+ var pop_text = "";
+
+ //Set Status
+ if($(this).attr('s') == "1"){
+ status_text = "<img src='http://www.worldofwarcraft.com/shared/wow-com/images/icons/serverstatus/uparrow.gif' />";
+ } else {
+ status_text = "<img src='http://www.worldofwarcraft.com/shared/wow-com/images/icons/serverstatus/downarrow.gif' />";
+ }
+
+ //Set population
+ if($(this).attr('l') == "1"){
+ pop_text = "Low";
+ }
+ else if ( $(this).attr('l') == "2" ) {
+ pop_text = "Medium";
+ }
+ else if ( $(this).attr('l') == "3" ) {
+ pop_text = "High";
+ }
+ else {
+ pop_text = "Queued";
+ }
+
+ //Set Realm type
+ if($(this).attr('t') == "1"){
+ type_text = "Normal";
+ }
+ else if ( $(this).attr('t') == "2" ) {
+ type_text = "PvP";
+ }
+ else if ( $(this).attr('t') == "3" ) {
+ type_text = "Role Playing";
+ }
+ else {
+ type_text = "Role Playing PVP"; }
+
+ realms.push({name: name_text, status: stat_val, status_image: status_text, pop: pop_text, type: type_text});
+ i++;
+ });
+ lastChecked = new Date();
+
+ var myBars = safari.extension.bars;
+ for (var i = 0; i < myBars.length; ++i) {
+ var barWindow = myBars[i].contentWindow;
+ barWindow.displayData();
+ }
+
+ setToolbarButtonIcon();
+
+ //update the show all list
+ var at = safari.application.activeBrowserWindow.activeTab;
+ at.page.dispatchMessage('sendRealms', realms);
+
+ return true;
+ },
+ error: function(e){
+ return false;
+ }
+ });
+ }
+ else if(realms_loc === "Europe"){
+ $.ajax({
+ type: "GET",
+ url: "http://www.wow-europe.com/realmstatus/index.xml",
+ dataType: "xml",
+ success: function(xml) {
+ realms = null;
+ realms = new Array();
+ realmIndex = -1;
+
+ var i = 0;
+ $(xml).find('item').each(function(){
+ if($(this).find('title').text() == safari.extension.settings.realmName){
+ realmIndex = i;
+ }
+
+ var name_text = $(this).find('title').text();
+ var stat_val = 0;
+ var status_text = "";
+ var type_text = "";
+ var pop_text = "";
+
+ $(this).find('category').each( function(){
+ if($(this).attr('domain') == 'status'){
+ stat_val = $(this).text();
+ if(stat_val == "Realm Up"){
+ status_text = "<img src='http://www.worldofwarcraft.com/shared/wow-com/images/icons/serverstatus/uparrow.gif' />";;
+ } else {
+ status_text = "<img src='http://www.worldofwarcraft.com/shared/wow-com/images/icons/serverstatus/downarrow.gif' />";
+ }
+ }
+ else if($(this).attr('domain') == 'type'){
+ type_text = $(this).text();
+ }
+ else if($(this).attr('domain') == 'queue'){
+ if($(this).text() == "false"){
+ pop_text = "No Queue";
+ } else {
+ pop_text = "Queued";
+ }
+ }
+ });
+
+ realms.push({name: name_text, status: stat_val, status_image: status_text, pop: pop_text, type: type_text});
+ i++;
+ });
+ console.log(realms);
+
+ lastChecked = new Date();
+
+ var myBars = safari.extension.bars;
+ for (var i = 0; i < myBars.length; ++i) {
+ var barWindow = myBars[i].contentWindow;
+ barWindow.displayData();
+ }
+
+ setToolbarButtonIcon();
+
+ //update the show all list
+ var at = safari.application.activeBrowserWindow.activeTab;
+ at.page.dispatchMessage('sendRealms', realms);
+
+ console.log('ajax succeess');
+ },
+ error: function(e){
+ console.log('ajax error');
+ }
+ });
+ }
+ } catch (e) {}
+
+ return false
+ }
+
+ function showHideItems(){
+ var showBar = safari.extension.settings.showBar;
+ var showButton = safari.extension.settings.showToolbarButton;
+ var myBars = safari.extension.bars;
+
+ //Hide or Show Bar
+ if(!showBar){
+ for (var i = 0; i <= myBars.length; i++) {
+ if(myBars[i].identifier === "ws_bar"){
+ myBars[i].hide(false);
+ }
+ }
+ } else {
+ for (var i = 0; i < myBars.length; i++) {
+ if(myBars[i].identifier === "ws_bar"){
+ myBars[i].show(false);
+ }
+ }
+ }
+
+ //Hide or Show Toolbar button
+ //Not allowed yet in API. Saving code to try to implement later
+ /*
+ if(!showButton){
+ for (var i = 0; i < myButtons.length; i++) {
+ if(myButtons[i].identifier === "wow_tool_button"){
+ myButtons[i].hide(true);
+ }
+ }
+ } else {
+ for (var i = 0; i < myButtons.length; i++) {
+ if(myButtons[i].identifier === "wow_tool_button"){
+ myButtons[i].show(true);
+ }
+ }
+ }
+ */
+ }
+
+ function showHideAllRealms(){
+
+ }
+
+ function searchRef(str){
+ var url = "";
+
+ if(safari.extension.settings.search == "Thottbot"){
+ url += "http://thottbot.com/?s=";
+ }
+ else if(safari.extension.settings.search == "Curse"){
+ url += "http://www.curse.com/search/SearchResults.aspx?q=";
+ }
+ else if(safari.extension.settings.search == "WoWWiki"){
+ url += "http://www.wowwiki.com/Special:Search?search=";
+ }
+ else if(safari.extension.settings.search == "Armory"){
+ url += "http://www.wowarmory.com/search.xml?searchType=all&searchQuery=";
+ }
+ else if(safari.extension.settings.search == "WoWHead"){
+ url += "http://www.wowhead.com/search?q=";
+ }else {
+ url += "http://thottbot.com/?s=";
+ }
+
+ url += escape(str);
+
+ var at = safari.application.activeBrowserWindow.activeTab;
+ at.url = url;
+ }
+
+ function showRealms(){
+ var at = safari.application.activeBrowserWindow.activeTab;
+ at.page.dispatchMessage('showRealms', realms);
+ }
+
+ function formatTime(date){
+ var formatted = "";
+ var hours = date.getHours();
+ var minutes = date.getMinutes();
+ var seconds = date.getSeconds();
+ var ampm = " AM";
+
+ if(date.getHours() > 11){
+ ampm = " PM";
+ hours = date.getHours() - 12;
+ }
+
+ if( hours == 0 ){
+ hours = 12;
+ }
+
+ var fieldArr = new Array(hours, minutes); //Removed seconds to clean up look -- add back to array to show.
+
+ for(var i in fieldArr){
+ if(fieldArr[i] < 10){
+ formatted += "0"+fieldArr[i];
+ } else {
+ formatted += fieldArr[i];
+ }
+
+ if(i < fieldArr.length-1){
+ formatted += ":";
+ }
+ }
+
+ return formatted + ampm;
+ }
+
+ function goToLink(url){
+ var at = safari.application.activeBrowserWindow.activeTab;
+ at.url = url;
+ }
+
+ function setToolbarButtonIcon(){
+ var direction = "question";
+
+ try{
+ if(parseInt(realms[realmIndex].status) == 1){
+ direction = "up";
+ } else if(parseInt(realms[realmIndex].status) == 2) {
+ direction = "down";
+ }
+ }catch(e){}
+
+ for(var j = 0; j < safari.extension.toolbarItems.length; j++){
+ var currImagePathArr = safari.extension.toolbarItems[j].image.split('/');
+ currImagePathArr[currImagePathArr.length-1] = direction+'.png'
+ var newImageString = '';
+ for(var i=0; i<currImagePathArr.length; i++){
+ if(i>0){
+ newImageString += "/";
+ }
+ newImageString += currImagePathArr[i];
+ }
+
+ if(safari.extension.toolbarItems[j].identifier.indexOf("wow_tool_button")>=0){
+ safari.extension.toolbarItems[j].image = newImageString;
+ }
+ }
+ }
+
+ function globalCommandResponder(event){
+ var at = safari.application.activeBrowserWindow.activeTab;
+
+ if(event.target.command === "searchRef"){
+ at.page.dispatchMessage('getSelection', false);
+ }
+ else if(event.target.command === "toolBarButtonClick"){
+ if(safari.extension.settings.showBar){
+ safari.extension.settings.showBar = false;
+ } else {
+ safari.extension.settings.showBar = true;
+ }
+ showHideItems();
+ }
+ }
+
+ function globalValidateResponder(event){
+ return true;
+ }
+
+ function settingChangeResponder(event){
+ if(event.key === "realmsLoc"){
+ realms_loc = safari.extension.settings.realmsLoc;
+ getRealms();
+ }
+ else if(event.key === "realmName"){
+ //only update if north america is selected
+ if(realms_loc === "North America"){
+ for(var j = 0; j < realms.length; j++){
+ if(realms[j].name == safari.extension.settings.realmName){
+ realmIndex = j;
+ }
+ }
+ updateAllBars(false);
+ }
+ }
+ else if(event.key === "realmNameEurope"){
+ //only update if europe is selected
+ if(realms_loc === "Europe"){
+ for(var j = 0; j < realms.length; j++){
+ if(realms[j].name == safari.extension.settings.realmNameEurope){
+ realmIndex = j;
+ }
+ }
+ updateAllBars(false);
+ }
+ }
+ else if(event.key === "intervalSetting"){
+ clearInterval(timer);
+ timer = null;
+ timer = setInterval(function(){
+ getRealms();
+ },
+ checkInterval);
+ }
+ else if(event.key === "search"){
+ updateAllBars(true);
+ }
+ else if(event.key === "showToolbarButton" || event.key === "showBar"){
+ showHideItems();
+ }
+ }
+
+ function updateAllBars(updateSearch) {
+ var myBars = safari.extension.bars;
+ for (var i = 0; i < myBars.length; ++i) {
+ var barWindow = myBars[i].contentWindow;
+ barWindow.displayData();
+ if(updateSearch){
+ barWindow.changeSearch();
+ }
+ }
+ }
+
+ function globalMessageResponder(messageEvent){
+ if(messageEvent.name === "sendSelectedText" && messageEvent.message != null && messageEvent.message != '')
+ {
+ searchRef(messageEvent.message);
+ }
+ if(messageEvent.name === "getRealmXML" && messageEvent.message != null && messageEvent.message != '')
+ {
+ var at = safari.application.activeBrowserWindow.activeTab;
+ at.page.dispatchMessage('sendRealms', realms);
+ }
+ }
+
+
+ //************************************************
+ // Global Event Listeners
+ //************************************************
+ safari.application.addEventListener("command", globalCommandResponder, false);
+ safari.application.addEventListener("validate", globalValidateResponder, false);
+ safari.application.addEventListener("message", globalMessageResponder, false);
+ safari.extension.settings.addEventListener("change", settingChangeResponder, false);
+
+ //************************************************
+ // Functions to run at startup
+ //************************************************
+ showHideItems();
+ getRealms();
+ timer = setInterval(function(){
+ getRealms();
+ },
+ checkInterval);
+ </script>
+</head>
+<body>
+
+</body>
+</html>
59 injected.js
@@ -0,0 +1,59 @@
+
+
+$(document).ready(function(){
+ if (window.top === window) {
+ $('#wow_close a').click(function(){
+ $('#wow_realms_wrapper').fadeOut('fast');
+ });
+
+ //get the realm xml object
+ safari.self.tab.dispatchMessage("getRealmXML", 'realms');
+ }
+});
+
+function injectedMessageResponder(msgEvent){
+ //alert(msgEvent.name);
+ if(msgEvent.name === "getSelection"){
+ var text = document.getSelection().toString();
+ safari.self.tab.dispatchMessage("sendSelectedText",text);
+ }
+ if(msgEvent.name === "sendRealms"){
+ if (window.top === window) {
+ var realms = msgEvent.message;
+ //alert(realms.length)
+ //build reams html
+ var html = "<table cellspacing='3' cellpadding='0'>";
+ for(var i in realms){
+ html += "<tr>";
+
+ html += "<td width='30px'>"+realms[i].status_image+"</td>";
+ html += "<td width='135px'>"+realms[i].name+"</td>";
+ html += "<td width='75px'>"+realms[i].pop+"</td>";
+ html += "<td width='75px'>"+realms[i].type+"</td>";
+
+ html += "</tr>";
+ }
+ html += "</table>";
+ html += "<div style='clear:both'></div>";
+ $('#realm_list').html(html);
+ }
+ }
+
+ if(msgEvent.name === "showRealms"){
+ if (window.top === window) {
+ $('#wow_realms_wrapper').fadeIn('fast');
+ }
+ }
+}
+
+safari.self.addEventListener("message", injectedMessageResponder, false);
+
+//Create a div to place the realm info
+
+var realmString = "<div id='wow_realms_wrapper'><div id='wow_close_wrapper'><div id='wow_close'><a href='javascript:void(0);'>close</a></div><div style='clear:both'></div></div><div id='realms_list_wrapper'><div id='realm_list'>&nbsp;</div></div></div>";
+
+if (window.top === window) {
+
+ $('body').append(realmString);
+
+}
154 jquery-1.4.2.min.js
@@ -0,0 +1,154 @@
+/*!
+ * jQuery JavaScript Library v1.4.2
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Sat Feb 13 22:33:48 2010 -0500
+ */
+(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
+e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
+j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
+"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
+true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
+Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
+(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
+a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
+"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
+function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
+c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
+L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
+"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
+d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
+a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
+!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
+true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
+var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
+parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
+false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
+s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
+applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
+else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
+a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
+w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
+cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
+i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
+" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
+this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
+e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
+c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
+a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
+function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
+k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
+C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
+null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
+e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
+f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
+if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
+"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
+a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
+isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
+{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
+if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
+e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
+"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
+d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
+!a.preventDefault)for(