﻿var ROOT_URL = "http://www.hakopanda.net/";
//var ROOT_URL = "http://hakopanda.s371.xrea.com/";

var an = navigator.appName;
var ua = navigator.userAgent;

// OS
function getOS() {
	if (ua.match(/Win(dows )?NT 5\.2/)) {
		return "Windows Server 2003";
	}
	else if (ua.match(/Win(dows )?(NT 5\.1|XP)/)) {
		return "Windows XP";
	}
	else if (ua.match(/Win(dows)? (9x 4\.90|ME)/)) {
		return "Windows ME";
	}
	else if (ua.match(/Win(dows )?(NT 5\.0|2000)/)) {
		return "Windows 2000";
	}
	else if (ua.match(/Win(dows )?98/)) {
		return "Windows 98";
	}
	else if (ua.match(/Win(dows )?NT( 4\.0)?/)) {
		return "Windows NT";
	}
	else if (ua.match(/Win(dows )?95/)) {
		return "Windows 95";
	}
	else if (ua.match(/Mac|PPC/)) {
		return "Mac OS";
	}
	else if (ua.match(/Linux/)) {
		return "Linux";
	}
	else if (ua.match(/(Free|Net|Open)BSD/)) {
		return "BSD";
	}
	else if (ua.match(/SunOS/)) {
		return "Solaris";
	}
	else {
		return "Unknown";
	}
}

// Browser
function getBrowserType() {
	var netscape = (an=="Netscape")
	var gecko = (ua.indexOf("Gecko") > 0)
	var ie = (an=="Microsoft Internet Explorer")
	var opera = (ua.indexOf('Opera') > 0)
	var saf = (ua.indexOf("Safari") > 0)

	if(saf)
	{
		return "Safari";
	}
	else if(opera)
	{      
		return "Opera";
	}
	else if(netscape)
	{
		return "Netscape";
	}
	else if(ie)
	{
		return "IE";
	} 
}


// Cookie
var cookiedays = 90;

function getCookie(cn) {
   get_data = document.cookie;
   cv = new Array();
   gd = get_data.split(";");
   for (i in gd) {
      a = gd[i].split("=");
      a[0] = a[0].replace(" ","");
      cv[a[0]] = a[1];
   }
   if (cv[cn]) return cv[cn];
   else return "";
}

function setCookie(cn,val) {
   ex = new Date();
   ex = new Date(ex.getTime() + (1000 * 60 * 60 * 24 * cookiedays));
   y = ex.getYear(); if (y < 1900) y += 1900;
   hms = ex.getHours() + ":" + ex.getMinutes() + ":" + ex.getSeconds();
   p = String(ex).split(" ");
   ex = p[0] + ", " + p[2] + "-" + p[1] + "-" + y + " " + hms + " GMT;";
   document.cookie = cn + "=" + val +"; expires=" + ex;
}


function readContents(contents_url, target_id) {
	var xmlhttp = new XMLHttpRequest();
	if (!xmlhttp) {
		return;
	}
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var element = document.getElementById(target_id);
			element.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.open('GET', contents_url, true);
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlhttp.send("");
}

function readContentsArray(contentsparams) {
	var contentscount = contentsparams.length;
	
	var contentsparam = new Array();
	if (contentscount > 1) {
		contentsparam = contentsparams.splice(0, 1);
	} else {
		contentsparam = contentsparams;
	}
	var splited = contentsparam[0].split(",");
	var contents_url = splited[0];
	var target_id = splited[1];
	
	var xmlhttp = new XMLHttpRequest();
	if (!xmlhttp) {
		return;
	}
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var element = document.getElementById(target_id);
			element.innerHTML = xmlhttp.responseText;
			if (contentscount > 1) {
				readContentsArray(contentsparams);
			}
		}
	}
	xmlhttp.open('GET', contents_url, true);
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlhttp.send("");
}


// Flash
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
// Flash Player プラグインのバージョン情報を検出するには、JavaScript ヘルパーが必要です
function JSGetSwfVer(i){
	// プラグイン配列内の Flash プラグインについて NS/Opera バージョンが 3 以上かどうかを確認します
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	} else {
			flashVer = -1;
		}
	}
	// MSN/WebTV 2.6 は Flash 4 をサポートしています
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 は Flash 3 をサポートしています
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// それ以前のバージョンの WebTV は Flash 2 をサポートしています
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// 他のすべての状況では検出できません
	else {
		
		flashVer = -1;
	}
	return flashVer;
} 
// パラメータを指定せずに呼び出した場合、この関数は浮動小数値を返します。
// これは、Flash Player のバージョンまたは 0.0 になります。
// 例 : Flash Player 7r14 の場合は 7.14 を返します
// reqMajorVer を指定して呼び出した場合、reqMinorVer、reqRevision は、それ以上のバージョンが使用可能なときには true を返します
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// 最新のバージョンを見つけるまで、バージョンを遡ってループします	
	for (i=25;i>0;i--) {	
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer(i);		
		}
		if (versionStr == -1 ) { 
			return false;
		} else if (versionStr != 0) {
			if(isIE && isWin && !isOpera) {
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");				
			} else {
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];
			
			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);
        	// メジャーバージョンは要求されたメジャーバージョン以上であり、かつマイナーバージョンは要求されたマイナーバージョン以上の場合
			if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
	return (reqVer ? false : 0.0);
}
