// 最新の観測一覧を取得
// <引数>
//    観測情報
// <戻値>
//    観測一覧
function GetDateList( dataValue)
{
	var DateList = new Array( );

	var CR = String.fromCharCode(13);
	var LF = String.fromCharCode(10);

	lineData = dataValue.split(CR);

	for( var i = 1; i < lineData.length; i++)
	{
		var buf = lineData[i].replace(LF,"");
		if( buf.length >= 12)
			DateList.push( buf);
	}
	
	return DateList;
}

// 発表日時の取得
function GetAnnounceDate( dataValue)
{
	var CR = String.fromCharCode(13);

	lineData = dataValue.split(CR);

	return lineData[0];
}

// 最新発表に更新されたか調べる
// <引数>
//    dataValue     : 観測情報
//    checkAnnounce : チェックする発表日時
// <戻値>
//    更新あり:発表日時(yyyyMMddHHmmss)、更新なし:""
function IsUpdate( dataValue, checkAnnounce)
{
	var date = GetAnnounceDate(dataValue);

	if( checkAnnounce != date)
	{
		// 最新観測日時
		return date;
	}
	else
	{
		// 同一データ
		return "";
	}
}

// 印刷ダイアログ表示
function ShowPrintDialog( )
{
	this.focus( );
	this.print( );
}

// 指定URLを新しいウィンドウで開く
function OpenDocument( )
{
	try
	{
		if( document_pdf.length > 0)
			window.open(document_pdf, "DocumentWindow", "toolbar=no,location=no,directories=no,scrollbars=yes");
	}
	catch(e)
	{ }
}

// ブラウザ識別コードを取得
//  1 : IE
//  2 : Netscape
//  3 : Safari
//  4 : Firefox
//  5 : Mozilla
// -1 : 不明
function GetBrowserCode( )
{
	if( navigator.appName.charAt(0) == "M")
	{
		// IE
		return 1;
	}
	else if( navigator.appName.charAt(0) == "N")
	{
		if( navigator.userAgent.indexOf("Netscape") == -1)
		{
			if( navigator.userAgent.indexOf("Safari") != -1)
			{
				// Safari
				return 3;
			}
			else
			{
				if( navigator.userAgent.indexOf("Firefox") != -1)
				{
					// Firefox
					return 4;
				}
				else if( navigator.userAgent.indexOf("Gecko") != -1)
				{
					// Mozilla
					return 5;
				}
			}
		}
		else
		{
			// Netscape
			return 2;
		}
	}
	else if( navigator.userAgent.indexOf("Opera") != -1)
	{
		return 3;
	}

	return -1;
}

// パラメータ情報を取得
function getQueryParams( )
{
	var r = new Array( );
	var query = location.search.substring(1);
	var params = query.split('&');

	for( var i = 0; i < params.length; i++)
	{
		var epos = params[i].indexOf('=')
		if( epos > 0)
		{
			var k = params[i].substring(0,epos);
			var v = params[i].substring(epos+1);

			r[k]=v;
		}
	}

	return r;
}

// パラメータ情報を取得
function getQueryParamValue( paramText)
{
	var query = location.search.substring(1);
	var params = query.split('&');

	for( var i = 0; i < params.length; i++)
	{
		var epos = params[i].indexOf('=')
		if( epos > 0)
		{
			var k = params[i].substring(0,epos);
			var v = params[i].substring(epos+1);

			if( paramText == k) return v;
		}
	}

	return "";
}

// 外部JavaScriptファイルの読み込み
function ImportJS( uri)
{
	var script  = document.createElement('script');
	script.type = 'text/javascript';
	script.src  = uri;
	var head    = document.getElementsByTagName('head')[0];
	head.appendChild(script);
}

function isImagePNG( url)
{
	if( url.length > 4)
	{
		var ext=url.substring(url.length-4);
		return (ext.toLowerCase( ) == ".png" ? true : false);
	}
	else
	{
		// 4文字以下は判断できない
		return false;
	}
}

function GetLocation(w,h,lat,lon,RegionSize)
{
	var LatH = RegionSize[0]-RegionSize[2];
	var LonW = RegionSize[3]-RegionSize[1];

	var h = LatH / parseFloat(h);
	var w = LonW / parseFloat(w);

	var y = (RegionSize[0] - parseFloat(lat)) / h;
	var x = (parseFloat(lon) - RegionSize[1]) / w;

	return new Array(parseInt(x),parseInt(y));
}

function setLocation(id,x,y)
{
	document.getElementById(id).style.left=(x)+"px";
	document.getElementById(id).style.top=(y)+"px";
}

// 配列内の番号検索
function FindArrayNo(values,no)
{
	for( var v = 0; v < values.length; v++)
	{
		if( values[v] == no)
		{
			return v;
		}
	}

	return -1;
}

// パスの連結
function PathAppend(p1,p2)
{
	if(p1.length<1) return p2;

	if(p1.substr(p1.length-1,1)=="/")
	{
		if(p2.substr(0,1)=="/")
		{
			// 両方に/がある
			return p1+p2.substr(1);
		}
		else
		{
			// p1だけに/がある
			return p1+p2;
		}
	}
	else
	{
		if(p2.substr(0,1)=="/")
		{
			// p2だけに/がある
			return p1+p2;
		}
		else
		{
			//両方に/がない
			return p1+"/"+p2;
		}
	}
}

