/*
========== ::: ブラウザ判別時に使用する変数 ::: ==========
*/
uaName = navigator.userAgent;
appName = navigator.appVersion;


/*
========== ::: 初期設定 ::: ==========
*/

// 値の単位を設定（必ずダブルクオートかクオートで括る）
var fontSizeUnit = "px";

// 一回の操作で変化させる値を設定（ダブルクオートやクオートで括らない）
var perOrder = 2;

// 初期状態の値を設定（ダブルクオートやクオートで括らない）
var defaultSize = 13;

// クッキーの名前（必ずダブルクオートかクオートで括る）
var ckName = "FSCb";

// クッキーの有効期限（日）（ダブルクオートやクオートで括らない）
var ckDays = 2;

// クッキーのパス（必ずダブルクオートかクオートで括る。指定がいらない場合は"/"にする）
var ckPath = "/"


/*
========== :::ページ読み込み時の値を設定::: ==========
*/

// クッキー読み出し
var fsCK = GetCookie(ckName);

if ( fsCK == null )
{
  currentSize = defaultSize;      //クッキーが無ければ現在の値を初期状態の値に設定
}
else
{
  currentSize = Number(fsCK);      //クッキーがあれば現在の値をクッキーの値に設定
}


/*===================================
  [関数 fscRef]
  BODY要素のイベントハンドラ"onload"
  ならびに関数fscから呼び出される。
  変数"currentSize"の値に従って
  オブジェクトのfontStyleプロパティ
  を変更する
====================================*/

function fscRef()
{

	// === ::: 変更を加えるオブジェクトの判定 ::: ===
	//
	//  NN4もしくはMacIE4.0の場合、エラーメッセージを回避
	if (( document.layers )||(( appName.indexOf("Mac",0) != -1 ) && ( uaName.indexOf("MSIE 4.0",0) != -1 )))
	{
		return false;
	}

	else if( document.body )
	{
		// オブジェクトのfontSizeプロパティを書き換える
		document.body.style.fontSize = currentSize + fontSizeUnit;
		for (var i = 0; i < document.getElementsByTagName('table').length; i++)
		{
			document.getElementsByTagName('table')[i].style.fontSize = currentSize + fontSizeUnit;
		}

		for (var i = 0; i < document.getElementsByTagName('h4').length; i++)
		{
			document.getElementsByTagName('h4')[i].style.fontSize = currentSize + fontSizeUnit;
		}
	}
}

// _______________________________________ end of function fscRef() ___ 


/*===================================
  [関数 fsc]
  引数CMDに渡される値に応じて
  変更後の値を算出しクッキーに書き込む。
====================================*/

function fsc( CMD )
{
	// 拡大 : 現時点の値に一回の操作で変化させる値を加えて操作後の値"newSize"に代入
	if( CMD == "larger" )
	{
		var newSize = Number( currentSize + perOrder );
		SetCookie( ckName , newSize );      //クッキー書き込み
	}

	// 縮小 : 現時点の値から一回の操作で変化させる値を引き操作後の値に代入
	// 現時点のサイズの値が一回の操作で変化させる値と同じならそのまま操作後の値に代入
	if( CMD == "smaller" )
	{
		if ( currentSize != perOrder )
		{
			var newSize = Number( currentSize - perOrder );
			SetCookie( ckName , newSize );      //クッキー書き込み
		}
		else
		{
			var newSize=Number(currentSize);
		}
	}

	// 元に戻す : 操作後の値を初期値にする
	if( CMD == "default" )
	{
		var newSize = defaultSize;
		DeleteCookie( ckName );      //クッキー削除
	}

	// NN4もしくはMacIE4.0の場合、エラーメッセージを回避しダイアログを表示する
	// NN4用ダイアログ
	if( document.layers )
	{
		window.alert( "このスクリプトはNetscape Communicator4.xでは動作しません" );
		return false;
	}

	// MacIE4用ダイアログ
	else if(( appName.indexOf("Mac",0) != -1 ) && ( uaName.indexOf("MSIE 4.0",0) != -1))
	{
		window.alert( "Sorry! MacIE4.0 is not supported." );
		return false;
	}

	else
	{
		// 現在の値を操作後の値に変更
		currentSize = newSize;

		// サイズ変更関数を呼び出す
		fscRef();
	}
}

// _______________________________________ end of function fsc() ___ 


/*===================================
  [関数 SetCookie]
  クッキーに値を書き込む
====================================*/

function SetCookie(name,value)
{
	var dobj = new Date();
	dobj.setTime( dobj.getTime() + 24 * 60 * 60 * ckDays * 1000);
	var expiryDate = dobj.toGMTString();
	document.cookie = name + '=' + escape(value)+ ';expires=' + expiryDate + ';path=' + ckPath;
}


/*===================================
  [関数 GetCookie]
  クッキーを取得する
====================================*/
function GetCookie (name)
{
	var arg  = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		{
			return getCookieVal (j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0)
		{
			break;
		}
	}
	return null;
}

/*===================================
  [関数 getCookieVal]
  クッキーの値を抽出する
====================================*/
function getCookieVal (offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	{
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset,endstr));
}

/*===================================
  [関数 DeleteCookie]
  クッキーを削除する
====================================*/
function DeleteCookie(name)
{
	if (GetCookie(name))
	{
		document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT;path='+ckPath;
	}
}

function deleteConfirm()
{
	if (!window.confirm("削除してもよろしいですか？"))
	{
		return false;
	}
}

function allCheck(flag)
{
	elements = document.getElementsByName("target");

	for (i = 0; i < elements.length; i++)
	{
		elements.item(i).checked = flag;
	}
}

function setCheckedMessageToHidden()
{
	var messages = new Array();

	elements = document.getElementsByName("target");

	for (i = 0; i < elements.length; i++)
	{
		if (elements.item(i).checked == true)
		{
			messages.push(elements.item(i).value);
		}
	}

	if (0 < messages.length)
	{
		document.getElementsByName("targetIds").item(0).value = messages;

		return confirm('選択したデータを削除してもよろしいですか？');
	}
	else
	{
		alert('削除するデータが選択されていません。');
		return false;
	}
}

/*===================================
  世界時間を取得除する
====================================*/

function dispWorldTimes()
{

	//時刻オブジェクトwTimeを生成
	var wTime = new Date();

	//世界標準時の時間、分、秒を取得し、それぞれ変数wtHour、wtMinutes、wtSecondに代入
	var wtHour = wTime.getUTCHours();
	var wtMinutes = wTime.getUTCMinutes();
	var wtSecond = wTime.getUTCSeconds();

	//分と秒が10より下だった場合、10の位として0を連結させて体裁を整える処理。
	if(wtMinutes < 10) wtMinutes = "0" + wtMinutes;
	if(wtSecond < 10) wtSecond = "0" + wtSecond;

	//日本時間を変数TokyoHourとして世界標準時に9時間足したものを代入
	var TokyoHour = wtHour + 9;

	//変数TokyoHourの値が24以上の場合は24を引いて調整。
	//また、その値が10より下だった場合、10の位に0を連結
	if(TokyoHour > 23) TokyoHour = TokyoHour - 24;
	if(TokyoHour < 10) TokyoHour = "0" + TokyoHour;

	//ロンドン時間の処理。
	//世界標準時と同時刻のため、10の位の処理のみになります。
	var LondonHour = wtHour;
	if(wtHour < 10) LondonHour = "0" + wtHour;

	//ニューヨーク・ロス時間の処理。
	//日本時間の処理と逆に、世界標準時との差を引き、その値が0より下になったら24を足して調整します。
	var NewYorkHour = wtHour - 5;
	if(NewYorkHour < 0) NewYorkHour = NewYorkHour + 24;
	if(NewYorkHour < 10) NewYorkHour = "0" + NewYorkHour;

	var LosAngelesHour = wtHour-8;
	if(LosAngelesHour < 0) LosAngelesHour = LosAngelesHour + 24;
	if(LosAngelesHour < 10) LosAngelesHour = "0" + LosAngelesHour;

	var SingHour = wtHour + 8;
	if(SingHour > 23) SingHour = SingHour - 24;
	if(SingHour < 10) SingHour = "0" + SingHour;

	//それぞれの値をフォームオブジェクトworldclock内のテキストフィールドの値として書き出します。
	document.worldClock.Tokyo.value		 = TokyoHour + " : " + wtMinutes + " : " + wtSecond;
	document.worldClock.London.value	 = LondonHour + " : " + wtMinutes + " : " + wtSecond;
	document.worldClock.NewYork.value	 = NewYorkHour + " : " + wtMinutes + " : " + wtSecond;
	document.worldClock.LosAngeles.value = LosAngelesHour + " : " + wtMinutes + " : " + wtSecond;
	document.worldClock.Singapore.value	 = SingHour + " : " + wtMinutes + " : " + wtSecond;

	//リアルタイム時計として機能させます
	setTimeout('dispWorldTimes()',1000);
}

function thisFormsSubmit(formName){
    document.forms[formName].submit();
}

function changeCountryValue(id, selectedId)
{
	if(id == "" || id == null)
	{
		var eElements = document.getElementsByName("hiddenfields")[0].childNodes;
	}
	else
	{
		var eElements = document.getElementsByName("hidden-" + id);
	}
	var selectElement = document.getElementById("countryID");
	
	selectElement.innerHTML="";

	// 空白追加
	var option = document.createElement("option");
	selectElement.appendChild(option);

	for(var i = 0; i < eElements.length ; i++)
	{
		if(eElements[i].nodeName == "INPUT")
		{
			var option = document.createElement("option");
			option.value = eElements[i].getAttribute("contryCode");
			option.innerHTML = eElements[i].getAttribute("contryName");
			if(selectedId == eElements[i].getAttribute("contryCode"))
			{
				option.selected = true;
			}
			selectElement.appendChild(option);
		}
	}
}
function termsAreaVisible()
{
	eElement = document.getElementById('terms_area');
	eElement.style.display = "none";
	eElement.style.display = "block";
}

//EOF