function getAgencyCode() {return location.search.match(/agencyCode=(\d+)/) ? RegExp.$1 : undefined;}
function getAid()        {return location.search.match(/aid=(\d+)/)        ? RegExp.$1 : undefined;}
function getMid()        {return location.search.match(/mid=(\d+)/)        ? RegExp.$1 : undefined;}
function getFid()        {return location.search.match(/fid=(\w+)/)        ? RegExp.$1 : undefined;}
function isStaticPage()  {return location.href.match(/\.html/i);}
if ( $ && isStaticPage() ) {	//JQueryあり＆静的ページ
	var agencyCode = getAgencyCode();
	var aid = getAid();
	var mid = getMid();
	var fid = getFid();
	var params = new Object();
	if ( agencyCode ) params["agencyCode"] = agencyCode;
	if ( aid ) params["aid"] = aid;
	if ( mid ) params["mid"] = mid;
	if ( fid ) params["fid"] = fid;
	$.ajaxSetup({data:params});
}

/*
 * 現在のURL
 */
var url = location.href;
/*
 * 現在のURLのクエリパラメタ
 */
var urlParam = location.search;

/*
* 対象ドメイン1
*/
var hostname = "willer.co.jp,www.wjhgr.com,www.jambus.jp,www.123bus.jp,localhost,www.123bus.net,willerexpress.com";

//各コードを取得
if(urlParam.match(/agencyCode=(\d+)/)) {
    var agencyCode = RegExp.$1;
    generateLink(agencyCode, "agencyCode", "\\d+");
}
if(urlParam.match(/aid=(\d+)/)) {
    var aid = RegExp.$1;
    generateLink(aid, "aid", "\\d+");
}
if(urlParam.match(/mid=(\d+)/)) {
    var mid = RegExp.$1;
    generateLink(mid, "mid", "\\d+");
}
if(urlParam.match(/fid=(\w+)/)) {
    var fid = RegExp.$1;
    generateLink(fid, "fid", "\\w+");
}

function generateLink(code, key, regex) {

    //ドキュメント内のリンクを全て走査します
	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(linkStr.match(/(mailto:|javascript:)/)) {
			continue;
		}

		if (linkParam.indexOf(key + "=") > -1 ) {
			// クエリパラメタ内に"対象キー="が存在する場合はそれを置換する
			document.links[i].href = linkStr.replace("/" + key + "=" + regex + "/", key + "=" + code);
		} else if (linkParam.indexOf("?") > -1) {
			// クエリパラメタに"?"が含まれる場合は、"?" -> "?agencyCode=XXXX&" に置換
			document.links[i].href = linkStr.replace("?", "?" + key + "=" + code + "&");
		} else {
			// クエリパラメタに"?"が含まれない場合は、URLの後ろに "?" + code を追加
			document.links[i].href = linkStr + "?" + key + "=" + code;
		}
	}

	// Tomoaki Kimura add start 20071220 001167(コース検索機能の代理店コード引継ぎ)
	// formが存在した場合
	for (i = 0; i < document.forms.length; i++) {
		// 「action」のURLをチェックし対象ドメインの場合のみ以下の処理を行う
		var formStr = document.forms[i].action;

		// 対象ホスト以外のリンクの場合は処理を抜ける
		var hostnames = hostname.split(",");
		var isTargetHostname = false;
		for (j = 0; j < hostnames.length; j++) {
			var re = new RegExp(hostnames[j]);

			if (formStr.toString().match(re)) {
				isTargetHostname = true;
			}
		}
		// 「action」のURLが「http」で始まる時のみ対象ドメインであるかチェックを行う。
		// （「/app」「/INET」などの相対パスは無条件に以下を実行する）
		if (/^http/.test(formStr)) {
			if (!isTargetHostname) {
				continue;
			}
		}

		var flg = false;
		// elementの中身確認
		for (j = 0; j < document.forms[i].elements.length; j++ ) {

			// 属性が「hidden」で名前が「agencyCode」の物を探す
			if (document.forms[i].elements[j].name == key) {

				if (document.forms[i].elements[j].type == "hidden") {
					// 存在すればURLに含まれていた値で上書きしておく
					document.forms[i].elements[j].value = code;
					flg = true;
				}

			}
		}

		if (!flg) {
			// 新しいelement生成し、URLに含まれていた値を設定しておく
			var ele = document.createElement("input");
			ele.type = "hidden";
			ele.name = key;
			ele.value = code;

			document.forms[i].appendChild(ele);
		}
	}
	// Tomoaki Kimura add end 20071220
}