/* 配列処理関数 */
function arrayPush(arr,val){
	var num = arr.length;
	arr[num] = val;
	return arr;
}
/* onload処理オブジェクト */
function class_onloadlib(){
	this.onloadFunc = new Array();
	this.addFunc = addFunc;
	this.exec = exec;
	this.completed = false;
	
	function addFunc(fn){
		this.onloadFunc = arrayPush(this.onloadFunc, fn);
	}
	function exec(){
		for(var i = 0; i < this.onloadFunc.length; i++) {
			eval(this.onloadFunc[i]);
		}
		this.completed = true;
	}
}
var onload_obj = new class_onloadlib();
// onloadに関数を追加
function onload_add(fn){
	onload_obj.addFunc(fn);
}
function onload_exec(fn){
	onload_obj.exec();
}
window.onload = onload_exec;

// 外部URLを別のウィンドウやタブで開く
function externalLink(){
	var conf = {
		className:'externalLink'
	};
	var isMSIE = /*@cc_on!@*/false;
	var anchorList = document.getElementsByTagName('a');
	
	for (var i=0, len=anchorList.length; i<len; i++){
		var a = anchorList[i];
		var url = urlList(a.getAttribute('href'));
		a.className = conf.className;
		a.onclick = function (){
			window.open(this.getAttribute('href',2), '_blank');
			return false;
		}
	}
	function urlList(url) {
		var r = /^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
		var a = r.exec (url);
	
		return a;
		// var url = 'http://example.com/path/to/file?query#fragment';
		// a[2]; 'http'
		// a[4]; 'example.com'
		// a[5]; '/path/to/file'
		// a[7]; 'query'
		// a[9]; 'fragment'
	}
}
onload_add('externalLink();');
