function getBrowserName() {
var aname = navigator.appName;
var bname = navigator.userAgent;

if(aname.indexOf("Microsoft") >= 0) return("Explorer");
if(bname.indexOf("Opera") >= 0) return("Opera");
if(bname.indexOf("Firefox") >= 0) return("Firefox");
if(bname.indexOf("Safari") >= 0) return("Safari");

return("");
}

function getBrowserVersion()
{
var browser = getBrowserName();
var version = 0;
var s = 0;
var e = 0;
var iev = navigator.appVersion;
var ver = navigator.userAgent;

if(browser == "Firefox")
{
s = ver.lastIndexOf("Firefox/")+8; //ブラウザバージョンの先頭の数字を検索
e = ver.indexOf(" ",s); //ブラウザバージョンの後尾の数字を検索
if(e == -1) e = 999; //上で空白を元に検索している為、なかった場合
version = ver.substring(s,e); //二つの位置情報を元に、その間の文字列を代入
}
if(browser == "Safari")
{
s = ver.lastIndexOf("Version/") + 8; // ブラウザバージョンの先頭の数字を検索
e = ver.indexOf(" ",s); //ブラウザバージョンの後尾の数字を検索
if(e == -1) e = 999; //上で空白を元に検索している為、なかった場合
version = ver.substring(s,e); //二つの位置情報を元に、その間の文字列を代入
}
if(browser == "Opera")
{
s = ver.lastIndexOf("Opera/") + 6; // ブラウザバージョンの先頭の数字を検索
e = ver.indexOf(" ",s); //ブラウザバージョンの後尾の数字を検索
if(e == -1) e = 999; //上で空白を元に検索している為、なかった場合
version = ver.substring(s,e); //二つの位置情報を元に、その間の文字列を代入
}

if(browser == "Explorer") {
	s = iev.indexOf("MSIE ") + 5;
	e = iev.indexOf(";",s);
	if(e == -1) e = 999;
	version = iev.substring(s,e); 
	}

return(version);
}

function getOSType() {
	var RetCode = "";
	var uAgent = navigator.userAgent.toUpperCase();
	if(uAgent.indexOf("MAC") >= 0) RetCode = "MacOS";
	if(uAgent.indexOf("WIN") >= 0) RetCode = "Windows";
	if(uAgent.indexOf("X11") >= 0) RetCode = "UNIX";

	return RetCode;
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload !='function') {
		window.onload = func;
	} else {
		window.onload = function() {
		oldonload();
		func();
		}
	}
}

function insertAfter(newElement,targetElement) {
	var parent = targetElement.parentNode;
	if (parent.lastChild == targetElement) {
		parent.appendChild(newElement);
	} else {
		parent.insertBefore(newElement,targetElement.nextSibling);
	}
}

function getByClass(parentElmnt, className, tagName) {
	var cElmnts = new Array();
	var elmnts = parentElmnt.getElementsByTagName(tagName);
	for(var i = 0; i < elmnts.length; i++) {
		if(elmnts[i].className == className || elmnts[i].getAttribute("class") == className) {
			cElmnts.push(elmnts[i]);
		}
	}
	return cElmnts;
}

function getWindowHeight(){
	if(window.innerHeight) return window.innerHeight; // Mozilla, Opera, NN4
	if(document.documentElement && document.documentElement.clientHeight){ // 以下 IE
		return document.documentElement.clientHeight;
	} else if(document.body && document.body.clientHeight){
		return document.body.clientHeight;
	}
	return 0;
}

function getWindowWidth(){
	if(window.innerWidth) return window.innerWidth; // Mozilla, Opera, NN4
	if(document.documentElement && document.documentElement.clientWidth){ // 以下 IE
		return document.documentElement.clientWidth;
	} else if(document.body && document.body.clientWidth){
		return document.body.clientWidth;
	}
	return 0;
}
