//すぅぱーぎゃざりんくJS 
//mixed by *ぱお*/米村 薫
//20081202　初版作成・公開
//20090215　リンク先をタカラトミー社のAutocardからWhisperに変更
//20090218　<a>内の該当文字列はリンクしないように変更。onready.js使用に変更
//20090410　リンク先をbeta.gathererに変更
//20090627　mtg-jp.com用に編集。onready.htcを相方に。
//20090629　カード画像にも対応。CSS側対応必須。
//20090703　マナ、タップ、アンタップシンボルに対応。
//20090709　何か変な機能追加。関数「LangGatherer」。
//20090710　シンボルおよびカード画像に alt 要素を追加。
//20090802　外部からの利用に向け、onreadyを廃止。onload拡張関数 addEventを定義。
//20090813　カード画像リンク、略号じゃないセット名にも対応。
//20091016　リンク先を臨時にmtg-jp.com内カードリストへ。

function addEvent(elm,listener,fn){
	try{
		elm.addEventListener(listener,fn,false);
	}catch(e){
		elm.attachEvent("on"+listener,fn);
	}
}

addEvent(window,"load",function(){
	var body = document.body;
    var url= new Array();
//    url["ga"] = "http://gatherer.wizards.com/Pages/Search/Default.aspx?name=";
    url["ga"] = "http://mtg-jp.com/js/findcard.cgi?name=";
    url["cr"] = "http://mjmj.info/data/CompRules_j.html#";
	var abbr = new Array();
abbr["Portal"] = "POR";
abbr["Portal Second Age"] = "P02";
abbr["Portal Three Kingdoms"] = "PTK";
abbr["Starter 1999"] = "S99";
abbr["Starter 2000"] = "S00";

abbr["Limited Edition Alpha"] = "LEA";
abbr["Limited Edition Beta"] = "LEB";

abbr["Unlimited Edition"] = "2ED";
abbr["Revised Edition"] = "3ED";
abbr["Fourth Edition"] = "4ED";
abbr["Chronicles"] = "CHR";
abbr["Fifth Edition"] = "5ED";
abbr["Classic Sixth Edition"] = "6ED";
abbr["Seventh Edition"] = "7ED";
abbr["Eighth Edition"] = "8ED";
abbr["Ninth Edition"] = "9ED";
abbr["Tenth Edition"] = "10E";
abbr["Magic 2010"] = "M10";

abbr["Arabian Nights"] = "ARN";
abbr["Antiquities"] = "ATQ";
abbr["Legends"] = "LEG";
abbr["The Dark"] = "DRK";
abbr["Fallen Empires"] = "FEM";
abbr["Ice Age"] = "ICE";
abbr["Homelands"] = "HML";
abbr["Alliances"] = "ALL";
abbr["Mirage"] = "MIR";
abbr["Visions"] = "VIS";
abbr["Weatherlight"] = "WTH";
abbr["Tempest"] = "TMP";
abbr["Stronghold"] = "STH";
abbr["Exodus"] = "EXO";
abbr["Urza's Saga"] = "USG";
abbr["Urza's Legacy"] = "ULG";
abbr["Urza's Destiny"] = "UDS";
abbr["Mercadian Masques"] = "MMQ";
abbr["Nemesis"] = "NEM";
abbr["Prophecy"] = "PCY";
abbr["Invasion"] = "INV";
abbr["Planeshift"] = "PLS";
abbr["Apocalypse"] = "APC";
abbr["Odyssey"] = "ODY";
abbr["Torment"] = "TOR";
abbr["Judgment"] = "JUD";
abbr["Onslaught"] = "ONS";
abbr["Legions"] = "LGN";
abbr["Scourge"] = "SCG";
abbr["Mirrodin"] = "MRD";
abbr["Darksteel"] = "DST";
abbr["Fifth Dawn"] = "5DN";
abbr["Champions of Kamigawa"] = "CHK";
abbr["Betrayers of Kamigawa"] = "BOK";
abbr["Saviors of Kamigawa"] = "SOK";
abbr["Ravnica: City of Guilds"] = "RAV";
abbr["Guildpact"] = "GPT";
abbr["Dissension"] = "DIS";
abbr["Coldsnap"] = "CSP";
abbr["Time Spiral"] = "TSP";
abbr['Time Spiral "Timeshifted"'] = "TSB";
abbr["Planar Chaos"] = "PLC";
abbr["Future Sight"] = "FUT";
abbr["Lorwyn"] = "LRW";
abbr["Morningtide"] = "MOR";
abbr["Shadowmoor"] = "SHM";
abbr["Eventide"] = "EVE";
abbr["Shards of Alara"] = "ALA";
abbr["Conflux"] = "CON";
abbr["Alara Reborn"] = "ARB";

abbr["Unglued"] = "UGL";
abbr["Unhinged"] = "UNH";
	
	body.innerHTML = body.innerHTML.
		replace(/《([^》\/／\(<>]+)([\/／][^》\(<>]+)?(?:\(([A-Z0-9]+)\))?》(?:\[([A-Z0-9]{2,3})\])?/ig,
		function(all, JAP, ENG, SET, SET2){
			if (ENG == undefined){
				CARD = JAP;
			}else{
				CARD = JAP + ENG;
			}
			if (JAP.search(/[A-Za-z]/) == -1){
				return ('<a class="cardlink" href="' + url["ga"] + EscapeUTF8(JAP).replace(/\%20/g, "+") + '" target="_blank">《' + JAP + '》</a>');
			}else{
				return ('<a class="cardlink" href="' + url["ga"] + EscapeUTF8(JAP).replace(/\%20/g, "+") + '" target="_blank">《' + CARD + '》</a>');
			}
		}).replace(/<!-- C:(([^\[]*)\[([A-Z0-9][^\>\]]+)\]) -->/g,
		function (all, ALT, CARD, SET){
			if (abbr[SET]) { SET = abbr[SET]; }
			if ((SET != '1ED')&&(SET.search(/^.ED/) != -1)) {
				BORDER = "_w";
			}else{
				BORDER = "_b";
			}
			CARD = CARD.replace(/[+,':] */g, '_').replace(/ /g, '+');
			return ('<table style="display:inline"><tr><td style="width: 200px; height: 285px; padding: 15px; background: url(http://mtg-jp.com/img/cardwaku' + BORDER + '.png);"><img src="http://mtg-jp.com/cardlist/cards/' + SET + '/' + CARD + '.jpg" alt="' + ALT + '"></td></tr></table>');
		}).
		replace(/\{([WUBRGXYZ])\}/g, '<img src="http://mtg-jp.com/img/mana/$1.gif" alt="{$1}" style="vertical-align:middle; width:1em; height:1em;">').
		replace(/\{([0-9]+)\}/g, '<img src="http://mtg-jp.com/img/mana/$1.gif" alt="{$1}" style="vertical-align:middle; width:1em; height:1em;">').
		replace(/(\{([WUBRG2]).([WUBRG])\})/g, '<img src="http://mtg-jp.com/img/mana/$2$3.gif" alt="$1" style="vertical-align:middle; width:1em; height:1em;">').
		replace(/\{(S|Snow|oS|Si)\}/g, '<img src="http://mtg-jp.com/img/mana/Snow.gif" alt="{S}" style="vertical-align:middle; width:1em; height:1em;">').
		replace(/\{(Tap|T)\}/g, '<img src="http://mtg-jp.com/img/mana/Tap.gif"  alt="{T}" style="vertical-align:middle; width:1em; height:1em;">').
		replace(/\{(Untap|Q)\}/g, '<img src="http://mtg-jp.com/img/mana/Untap.gif"  alt="{Q}" style="vertical-align:middle; width:1em; height:1em;">')
});

// 以上 オートリンクについて本気出して考えてみた より翻案
// Copyright (C) http://atab0u.blog105.fc2.com/blog-entry-33.html


EscapeUTF8=function(str){
	return str.replace(/[^*+.-9A-Z_a-z-]/g,function(s){
		var c=s.charCodeAt(0);
		return (c<16?"%0"+c.toString(16):c<128?"%"+c.toString(16):c<2048?"%"+(c>>6|192).toString(16)+"%"+(c&63|128).toString(16):"%"+(c>>12|224).toString(16)+"%"+(c>>6&63|128).toString(16)+"%"+(c&63|128).toString(16)).toUpperCase()
	})
};

//以上 Escape Codec Library: ecl.js (Ver.041208) より引用
// Copyright (C) http://nurucom-archives.hp.infoseek.co.jp/digital/

function LangGatherer(){

if (arguments[1] == "ja"){
GWindow = window.open('http://gatherer.wizards.com/Pages/Language.aspx?__VIEWSTATE=%2FwEPDwUKLTMxMjg3MzIzNGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFg0FNWN0bDAwJGN0bDAwJE1haW5Db250ZW50JFNlYXJjaENvbnRyb2xzJFNlYXJjaENhcmROYW1lBTZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTZWFyY2hDb250cm9scyRTZWFyY2hDYXJkVHlwZXMFNWN0bDAwJGN0bDAwJE1haW5Db250ZW50JFNlYXJjaENvbnRyb2xzJFNlYXJjaENhcmRUZXh0BUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDMzBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDI4BUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQyMDUyBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDM2BUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDQxBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDQ5BUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQzMDgyBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDQwBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDMxBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQyMDcwueKPiDlxJm7J9hv12cR0bZGCK00%3D&ctl00%24ctl00%24MainContent%24SearchControls%24CardSearchBoxParent%24CardSearchBox=&__EVENTVALIDATION=%2FwEWEQKy9MOeBgLevrmxAQL998wLAszrof8GAqS1kKUNAseQ9aYKAo%2F1ydkGAuT%2F%2Fd0EAp3%2ByeQJAuX2rdsKApf62YkIAoL4qZQCAu%2F2vdYIAvD5oZEBAvz0gZ0BAtn%2F3awDAviQj8AJuSsmnFv4g0sdtLOG2p%2BUzSCRiPg%3D&ctl00%24ctl00%24MainContent%24SubContent%24Save=Save&ctl00%24ctl00%24MainContent%24SubContent%24languagePreferenceSelector%24LanguageGroup=ja-jp', null);
}else{
GWindow = window.open('http://gatherer.wizards.com/Pages/Language.aspx?__VIEWSTATE=%2FwEPDwUKLTMxMjg3MzIzNGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFg0FNWN0bDAwJGN0bDAwJE1haW5Db250ZW50JFNlYXJjaENvbnRyb2xzJFNlYXJjaENhcmROYW1lBTZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTZWFyY2hDb250cm9scyRTZWFyY2hDYXJkVHlwZXMFNWN0bDAwJGN0bDAwJE1haW5Db250ZW50JFNlYXJjaENvbnRyb2xzJFNlYXJjaENhcmRUZXh0BUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDMzBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDI4BUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQyMDUyBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDM2BUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDQxBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDQ5BUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQzMDgyBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDQwBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQxMDMxBUZjdGwwMCRjdGwwMCRNYWluQ29udGVudCRTdWJDb250ZW50JGxhbmd1YWdlUHJlZmVyZW5jZVNlbGVjdG9yJExDSUQyMDcwueKPiDlxJm7J9hv12cR0bZGCK00%3D&ctl00%24ctl00%24MainContent%24SearchControls%24CardSearchBoxParent%24CardSearchBox=&__EVENTVALIDATION=%2FwEWEQKy9MOeBgLevrmxAQL998wLAszrof8GAqS1kKUNAseQ9aYKAo%2F1ydkGAuT%2F%2Fd0EAp3%2ByeQJAuX2rdsKApf62YkIAoL4qZQCAu%2F2vdYIAvD5oZEBAvz0gZ0BAtn%2F3awDAviQj8AJuSsmnFv4g0sdtLOG2p%2BUzSCRiPg%3D&ctl00%24ctl00%24MainContent%24SubContent%24Save=Save&ctl00%24ctl00%24MainContent%24SubContent%24languagePreferenceSelector%24LanguageGroup=en-US', null);
}
newgaturl = 'http://gatherer.wizards.com/Pages/Search/Default.aspx?' + arguments[0];

setTimeout('GWindow.location.href = newgaturl;', 2000);
}
