//if (!document.getElementById) location.href = "ja/legacy/index.html";

// FireBug用ログ出力メソッドのIE対応
if (typeof(console) == "undefined") {
	console = {
		log : function (msg) {window.status = msg;}//,
	};
}

function CommonBase() {}

CommonBase.initialize = function () {
	// 「このファイルがあるフォルダ」を取得
	var jswidgetBaseFolder = "";
	var obj = document.getElementsByTagName('script');
	var src = "";
	for (var i = 0, n = obj.length; i < n; i++) {
		if (obj[i].src.lastIndexOf("jswidget.js") >= 0) {
			src = obj[i].src;
			jswidgetBaseFolder = src.substr(0, src.lastIndexOf('/'));
			break;
		}
	}
	CommonBase.getBaseFolder = function () {
		return jswidgetBaseFolder;
	};
	var param = CommonBase.getUrlParameterMap(src);
//param["debug"] = true;
//	if (param["debug"]) {
	if (location.href.indexOf("localhost") >= 0) {
		var firebugSrc = jswidgetBaseFolder + "/lib/firebug/firebug.js";
		document.writeln('<' + 'scr' + 'ipt type="text/javascript" src="' + firebugSrc + '"><' + '/' + 'scr' + 'ipt>');
	}

	var prototypeVer = "1.4.0-rip";
	if (param["prototype"]) {
		prototypeVer = param["prototype"];
	}
	var prototypeSrc = jswidgetBaseFolder + "/lib/prototype" + (prototypeVer != "latest" ? "-" + prototypeVer : '') + ".js";
	document.writeln('<' + 'scr' + 'ipt type="text/javascript" src="' + prototypeSrc + '"><' + '/' + 'scr' + 'ipt>');
};
CommonBase.getUrlParameterMap = function (url) {
	var hash = {};
	var pos = url.lastIndexOf('?')
	if (pos < 0) return hash;
	var qs = url.substr(pos + 1);
	var pairs = qs.split(/\s*[&;]\s*/);
	for (var i = 0; i < pairs.length; i++) {
		var values = pairs[i].split(/\s*=\s*/);
		hash[values[0]] = values[1];
	}
	return hash;
};

CommonBase.initialize();
// wraper
function addWindowOnloadListener(func) {
	Event.observe(window, 'load', func, false);
}


CommonBase.delayedExecute = function (func, delayTime) {
	var timerId = setTimeout(function () {
		func();
		clearTimeout(timerId);
		timerId = null;
	}, delayTime);
};



// Geckoブラウザ?
function IsGecko(){
	if (navigator && navigator.userAgent
	 && navigator.userAgent.indexOf("Gecko/") != -1) {
		return true;
	}
	return false;
}

// Geckoブラウザでかつ、引数で渡したリビジョンより小さい場合に真
// Netscape6の判定は IsGeckoRevisionLessThan(1)
function IsGeckoRevisionLessThan(revision){
	if (IsGecko()) {
		var rv = navigator.userAgent.match("rv:(\\d+\\.\\d+)");
		if (!rv) true;//マッチしない場合はとても古い
		return rv[1] < revision;
	}
	return false;
}

