/*
 * 現在のURL
 */
var url = location.href;
/*
 * 現在のURLのクエリパラメタ
 */
var urlParam = location.search;
/*
* 代理店コードのキー名
*/
var paramString = "agencyCode=";
/*
* 対象ドメイン1
*/
var hostname = "willer.co.jp,www.wjhgr.com,www.jambus.jp,www.123bus.jp,www.123bus.net";
/*
*
*/
var js = "javascript:";

/*
 * 現在のURLのクエリパラメタから代理店コード(agencyCode=XXXX)を取得
 */
if (urlParam.match(/(agencyCode=\d+)/)) {

	var codeString = RegExp.$1;

	for (i = 0; i < document.links.length; i++) {
		// AタグのURL全体を取得
		var linkStr = document.links[i].href;

		// Aタグのホスト名を取得
		var linkHostname = document.links[i].hostname;

		// Aタグのクエリパラメタを取得
		var linkParam = document.links[i].search;

		// 対象ホスト以外のリンクの場合は処理を抜ける
		var hostnames = hostname.split(",");
		var isTargetHostname = false;
		for (j = 0; j < hostnames.length; j++) {
			var re = new RegExp(hostnames[j]);
			if (linkHostname.match(re)) {
				isTargetHostname = true;
			}
		}
		if (!isTargetHostname) {
			continue;
		}

		if (linkParam.indexOf(paramString) > -1 ) {
			// クエリパラメタ内に"agencyCode="が存在する場合はそれを置換する
			document.links[i].href = linkStr.replace(/agencyCode=\d+/, codeString);
		} else if (linkParam.indexOf("?") > -1) {
			// クエリパラメタに"?"が含まれる場合は、"?" -> "?agencyCode=XXXX&" に置換
			document.links[i].href = linkStr.replace("?", "?" + codeString + "&");
		} else {
			// クエリパラメタに"?"が含まれない場合は、URLの後ろに "?" + codeString を追加
			document.links[i].href = linkStr + "?" + codeString;
		}
	}
}
