/* matc.js
 * MITSUE-LINKS Auto Tracking Code
 * Version 2.1.3
 * Copyright (C) 2009 MITSUE-LINKS
 * 
 * This JavaScript was created using "gatag.js" provided by Goodwebpractices.com.
 */


//変更可能箇所

//外部遷移トラッキングドメイン（デフォルトは「.*」。対象を絞る際は、対象ドメインを「|」で追加）
var externaldomain = /.*/i;
//外部遷移トラッキングパス（任意入力。先頭の「/」は必須）
var externalpath = '/outgoing/';
//ダウンロードトラッキング対象拡張子（対象拡張子を「|」で追加）
var filetypes = /\.(doc|eps|svg|xls|ppt|pdf|zip|vsd|vxd|rar|exe|wma|mov|avi|wmv|mp3|mp4|m4v)/i;


//以下、変更不可

//「onload」重複対応
if (window.addEventListener) {        //	W3C DOM
    window.addEventListener('load', autotracking, false);
} else if (window.attachEvent) {        //	IE用
    window.attachEvent('onload', autotracking);
}

//条件分岐
function autotracking() {
	if(typeof pageTracker._trackPageview != 'function') return;
	var anchors = document.getElementsByTagName("a");
	for(var l = 0; l < anchors.length; l++) {
		var hn = anchors[l].hostname;
		if(anchors[l].protocol == "mailto:") {
			startListening(anchors[l],"click",trackMailto);
		} else if(anchors[l].hostname == location.hostname) {
			var path = anchors[l].pathname + anchors[l].search;
			var matchtype = path.match(filetypes);
			if(matchtype) {
				startListening(anchors[l],"click",multipletrack);
			}
		} else if(hn.match(externaldomain)) {
			startListening(anchors[l],"click",multipletrack);
		} else {}
	}
}

//クリック判定
function startListening(obj,evnt,func) {
	if(obj.addEventListener) {
		obj.addEventListener(evnt,func,false);
	} else if(obj.attachEvent) {
		obj.attachEvent("on" + evnt,func);
	}
}
//メールリンクのトラッキング
function trackMailto(evnt) {
	var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
	var mailto = "/mailto/" + href.substring(7);
	if(typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);
}
//ダウンロード・外部リンクのトラッキング
function multipletrack(evnt) {
	var e = (evnt.srcElement) ? evnt.srcElement : this;
	while(e.tagName != "A") {
		e = e.parentNode;
	}
	var lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
	if(e.search && e.pathname.indexOf(e.search) == -1) lnk += e.search;
	if(e.hostname != location.host) lnk = externalpath + e.hostname + lnk;
	if(typeof(pageTracker) == "object") pageTracker._trackPageview(lnk);
}
