var di = document.implementation;
var isOpera = window.opera && navigator.userAgent.match(new RegExp('Opera[/ ]7'));
/* イベントを追加する */
function addEvent(obj, eventType, func) {
    if (di && di.hasFeature('HTMLEvents', '2.0')) {
        /* DOM2 HTMLEvents対応 */
        obj.addEventListener(eventType, func, false);
    } else if (obj.attachEvent) {
        /* WinIE5-6用 */
        obj.attachEvent('on' + eventType, func);
    } else {
        /* MacIE5用 */
        obj['on' + eventType] = func;
    }
}
//====================
// CSS切替
//====================
// Macintosh                -> MacOS
// Windows95/98/NT/2000/XP  -> Windows
// UNIX                     -> UNIX
function getOSType()
{
    var uAgent = navigator.userAgent.toUpperCase();
    if (uAgent.indexOf("MAC") >= 0) return "MacOS";
    if (uAgent.indexOf("WIN") >= 0) return "Windows";
    if (uAgent.indexOf("X11") >= 0) return "UNIX";
    return "";
}

// Netscape Navigator -> Netscape
// Internet Explorer  -> Explorer
// Safari  -> Safari
// Opera   -> Opera
function getBrowserName()
{
    var aName = navigator.appName.toUpperCase();
    var uName = navigator.userAgent.toUpperCase();
    if (uName.indexOf("SAFARI") >= 0)  return "Safari";
    if (uName.indexOf("FIREFOX") >= 0)  return "Firefox";
    if (uName.indexOf("OPERA") >= 0)  return "Opera";
    if (aName.indexOf("NETSCAPE") >= 0)  return "Netscape";
    if (aName.indexOf("MICROSOFT") >= 0) return "Explorer";
    if (aName.indexOf("MOZILLA/4") >= 0) return "Netscape";
    if (aName.indexOf("MOZILLA") >= 0) return "Mozilla";
    return "";
}

function getBrowserVersion()
{
    var browser = getBrowserName();
    var version = 0;
    var s = 0;
    var e = 0;
    var appVer = navigator.appVersion;
    var uName  = navigator.userAgent.toUpperCase();
    if (browser == "Safari")
    {
        version = eval(appVer.substring(0,3)) - 4;
    }
    if (browser == "Opera")
    {
        s = uName.indexOf("OPERA ",0) + 6;
        e = uName.indexOf(" ",s);
        version = eval(uName.substring(s,e));
    }
    if (browser == "Netscape")
    {
        s = appVer.indexOf(" ",0);
        version = eval(appVer.substring(0,s));
        if (version >= 5) version++;
    }
    if (browser == "Explorer")
    {
        appVer  = navigator.userAgent;
        s = appVer.indexOf("MSIE ",0) + 5;
        e = appVer.indexOf(";",s);
        version = eval(appVer.substring(s,e));
    }
    return version;
}

function changeStyleSheet(path, base_name)
{
    var os      = getOSType();
    var browser = getBrowserName();
    var version = getBrowserVersion();
    var dirName;
    var adddirName;

    /* ページ読み込み完了時に実行 */
    if (base_name == "newsup") {
        addEvent((isOpera ? document : window), 'load', initialize_news);
    }
    else {
        addEvent((isOpera ? document : window), 'load', initialize);
    }

    // CSS適用外のブラウザ判定
    if (os == "Windows")
    {
        // WindowsならJavaScriptでCSSを適用させない
        return"";
    }

    if (os == "MacOS")
    {
        if ((browser == "Explorer") && ((version >= 1) && (version <= 4)))
        {
            // IE Ver1～4はCSSを適用しない
            return"";
        }
        if ((browser == "Netscape") && ((version >= 1) && (version <= 4)))
        {
            // Netscape Ver1～4はCSSを適用しない
            return"";
        }
    }

    // 適用するCSSの判定
    if (os == "MacOS")
    {
        dirName = path+"mac/"+base_name+".css";
        document.write("<link rel='stylesheet' type='text/css' media='all' href='"+dirName+"' />");
    }

    return"";
}

// ポップアップ表示(画像用)
var objWin;
var timerID;
var timerCounter;
function fitimg() {
	myImage = objWin.document.getElementById('popImage');

	// ポップアップしたウィンドウが閉じられているか確認し、閉じられている場合はタイマー停止
	if (objWin.closed) {
		clearInterval(timerID); 
//		alert("Window closed");
		return(false);
	}
	
	// 画像の読み込みが完了したかチェック
	// Safariはこの処理に対応していない
	if (myImage.complete == undefined || myImage.complete) { 
		clearInterval(timerID); 
		
		w = myImage.width;
		h = myImage.height;

		// ブラウザによってWindowサイズが異なるため、ブラウザごとに大きさを変更する
		// 「resizeTo」はウィンドウの外側を変更するメソッド
		// 「open」はウィンドウの内側のためブラウザ間の差異がない
		var aName = navigator.appName.toUpperCase();
		var uName = navigator.userAgent.toUpperCase();
		if (uName.indexOf("FIREFOX") >= 0) {
			// Firefoxの場合
			winSize_w = w+50;
			winSize_h = h+110;
		}
		else if (aName.indexOf("MICROSOFT") >= 0) {
			var ua = navigator.userAgent;
			if (ua.indexOf("MSIE 7") > -1) {
				// IE7
				winSize_w = w+50;
				winSize_h = h+100;
			}
			else {
				// IE6
				winSize_w = w+50;
				winSize_h = h+80;
			}
		}
		else {
			// 上記以外
			winSize_w = w+50;
			winSize_h = h+56;
		}

		objWin.resizeTo(winSize_w,winSize_h);
		objWin.document.close();
	}
	else {
		// 5秒以上たっても「complete」がtureにならなければタイマー停止
		if (timerCounter >= 50) {
			clearInterval(timerID); 
//			alert("5sec end");
		}
	}

	timerCounter++;
	return(false);
}

// ポップアップ表示(画像用)
// 画像の読み込みが完了するまでwaitする (ただし5秒まで)
function openWindow(url) {
	var path = url;
	var title = path.substring(path.lastIndexOf('http://www.amano.co.jp/',path.length)+1,path.length);
	var title = title.substring(title.lastIndexOf('.',title.length),-title.length);
	
	objWin = window.open("","imageWindow","scrollbars=yes,resizable=yes,width=320,height=240");
	
	objWin.document.open();
	objWin.document.write("<html><head><title>"+title+"</title></head>");
	objWin.document.write("<body style='margin:10px; padding:0; border:0;'>");
	objWin.document.write("<img src='"+url+"' id='popImage'>");
	objWin.document.write("</body></html>");
	objWin.focus();
	timerID = setInterval('fitimg()', 100);

	return(false);
}

// ポップアップ表示(アイコン説明用)
var icon_win = window;
function popupWindow(url) {
    if ((icon_win == window) || icon_win.closed) {
        icon_win = open(url, "_blank", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,width=570,height=650");
    } else {
        icon_win.location.href = url
        icon_win.focus('icon_win');
    }

   return(false);
}


function changeFontSize(size) {
	switch (size) {
	  case "small":
		document.getElementById("all").style.fontSize = "10px";
		document.getElementById("size-s").style.backgroundPosition = "0 -16px";
		document.getElementById("size-m").style.backgroundPosition = "0 0";
		document.getElementById("size-l").style.backgroundPosition = "0 0";
		break;
	  case "middle":
		document.getElementById("all").style.fontSize = "12px";
		document.getElementById("size-s").style.backgroundPosition = "0 0";
		document.getElementById("size-m").style.backgroundPosition = "0 -16px";
		document.getElementById("size-l").style.backgroundPosition = "0 0";
		break;
	  case "large":
		document.getElementById("all").style.fontSize = "14px";
		document.getElementById("size-s").style.backgroundPosition = "0 0";
		document.getElementById("size-m").style.backgroundPosition = "0 0";
		document.getElementById("size-l").style.backgroundPosition = "0 -16px";
		break;
	}

	// Cookieに書き込み
	document.cookie = "fontsize="+size+"; expires=Tue, 31-Dec-2030 23:59:59; path=/Tr;";

	return"";
}

function changeFontSizeNews(size) {
	switch (size) {
	  case "small":
		document.body.style.fontSize = "10px";
		break;
	  case "middle":
		document.body.style.fontSize = "12px";
		break;
	  case "large":
		document.body.style.fontSize = "14px";
		break;
	}

	return"";
}

function changeFontSizeTop(size) {

	switch (size) {
	  case "small":
		changeFontSize("small");
		break;
	  case "middle":
		changeFontSize("middle");
		break;
	  case "large":
		changeFontSize("large");
		break;
	}
	return"";
	
}

function getCookie(key) {
	var cookie = document.cookie; //クッキーを取得
	
	if (cookie.indexOf(key) == -1) { //クッキーなし
		return -1;
	}
	else {
		var pos_s = cookie.indexOf(key) + key.length + 1; //クッキーの値の開始位置
		var pos_e = cookie.indexOf(";", pos_s); //クッキーの値の終了位置
		if (pos_e == -1) { //末尾にセミコロンがあるか？
			var size = cookie.slice(pos_s); //無い
		}else{
			var size = cookie.slice(pos_s,pos_e); //有る
		}
	}
	return size;
}

function initialize(locate) {
	var size = getCookie("fontsize");
	switch (size) {
	  case "small":
	  case "middle":
	  case "large":
		// 正常に取得できたため何もしない
		break;
	  default:
		// 取得できなかったため、デフォルト値を設定
		size = "middle";
		break;
	}

	changeFontSize(size);
}

function initialize_news(locate) {
	var size = getCookie("fontsize");
	switch (size) {
	  case "small":
	  case "middle":
	  case "large":
		// 正常に取得できたため何もしない
		break;
	  default:
		// 取得できなかったため、デフォルト値を設定
		size = "middle";
		break;
	}

	changeFontSizeNews(size);
}


