
function fileOpen (src,width,height,scroll,resizable,toolbar,directories,location,menubar,status) {
	var src_title = src;
	src = src.replace(/\/file\/(.+)_(.+)\.html/, "/file/$1.$2");
	var opt = "";
	opt += 'top=0,left=0';
	opt += ',width='+width+',height='+height+',';
	opt += 'directories=0,toolbar=0,menubar=0,scrollbars=1,status=0,resizable=1';

	var subwin;
	var isMSIE = /*@cc_on!@*/0;
	var ua = window.navigator.userAgent;

	/* ブラウザがIEか判別 */
	if(isMSIE){
		subwin=window.open('','popup',opt);
		var oWidthDiff = width - subwin.document.body.clientWidth;
		var oHeightDiff = height - subwin.document.body.clientHeight;
		subwin.resizeBy(oWidthDiff,oHeightDiff);

	/* ブラウザがFirefoxか判別 */
	}else if ( ua.match(/Firefox\/([\.\d]+)/) ){
		subwin=window.open('','popup',opt);

	}else{
		opt = "";
		opt += 'top=0,left=0';
		opt += ',width='+width+',height='+height+',';
		opt += 'directories=0,toolbar=0,menubar=0,scrollbars='+scroll+',status=0,resizable='+resizable;
		subwin=window.open('','',opt);
	}

	htm	= '<html><head>';
	htm	= '<title>'+src_title+'<\/title>';
	htm += '<\/head>';
	htm += '<body style="margin:0; padding:0;" onload="window.innerHeight='+height+'; window.innerWidth='+width+';">';
	htm += '<a href="javascript:void(0);" onClick="window.close();">';
	htm += '<img src="'+src+'" width="'+width+'" height="'+height+'" border="0" >';
	htm += '<\/a>';
	htm += '<\/body><\/html>';

	subwin.focus();
	subwin.document.open();
	subwin.document.write(htm);
	subwin.document.close();
}

var loadingWin;

function accessLoading(msg) {
		if(navigator.userAgent.toLowerCase().indexOf('safari') > -1) return;
		
		var wx = 300;
		var wy = 130;
		var x	= (screen.width - wx) / 2;
		var y	= (screen.height - wy) / 2;
		
		loadingWin = window.open("/tools/loading.html?msg="+msg, "loading", "resizable=no,scrollbars=no,toolbar=no,menubar=no,directories=no,status=no,location=no," + "left="+x+",top="+y+",width="+wx+",height="+wy);
		loadingWin.focus();

		return loadingWin;
}

function closeLoadingWin(e) { 
		if(loadingWin != undefined && !loadingWin.closed){ 
	loadingWin.close(); 
		} 
}

function alertError(e){ alert(e.message); }

function deleteDefaultMessage(obj) {
		var item = obj;
		if( item.value == obj.defaultValue ) item.value = '';
		return true;
}

function setDefaultMessage(obj) {
		var item = obj;
		if( item.value == '' || item.value.match(/^[\s| |　]+$/i) ) item.value = obj.defaultValue;
}


function togglePartyUsrsLink(obj){
		
		var obj		= document.getElementById(obj) || obj;
		var trg		= obj.nextSibling;
		
		if( trg.nodeName.match(/\#text/i) ){ trg = trg.nextSibling; }
		
		trg.style.display	= ( trg.style.display != 'block' ) ? 'block' : 'none' ;
		obj.firstChild.src = ( trg.style.display == 'block' ) ? '/image/toggle_close.gif' : '/image/toggle_open.gif' ;

}

if( window.ActiveXObject ) { window.onunload = closeLoadingWin; }
else { window.addEventListener('unload', closeLoadingWin, false ); }

function addGMAPEvent(func) {
	if (window.addEventListener) {
		window.addEventListener("load", func, false);
	} else if (window.attachEvent) {
		window.attachEvent("onload", func);
	}
}

addGMAPEvent(function(){
		var imgObj = document.images;
		for (i=0; i<imgObj.length; i++) {
			if ( imgObj[i].id.match(/img_map\d+/) ){
				var gmap = GoogleMap(imgObj[i]);
			}
		}
	}
);

function GoogleMap(IMG_MAP){
	//GoogleMapsの代替画像の情報が渡ってきた場合
	if (IMG_MAP) {
		if(IMG_MAP.name){
			var MapData = IMG_MAP.name.replace(/<wbr>/g,'');
			var arrayName = MapData.split(',');

			var map_id		= arrayName[0];	 //地図を埋めるdivのidを取得
			var CenterLat = arrayName[1];	 //地図の中央の緯度を取得
			var CenterLng = arrayName[2];	 //地図の中央の経度を取得
			var Zoom			= arrayName[3];	 //地図のズームレベルを取得
			var Type			= arrayName[4];	 //地図のタイプを取得
			var Size			= arrayName[5];	 //地図のサイズを取得
			if (arrayName[6]) var Address	 = arrayName[6];	 //住所を取得
			if (arrayName[7]) var MarkLat	 = arrayName[7];	 //マーカーのを緯度を取得
			if (arrayName[8]) var MarkLng	 = arrayName[8];	 //マーカーのを経度を取得

			//GoogleMapsの使用が可能である場合
			if (GBrowserIsCompatible()) {
				//代替画像を非表示にする
				IMG_MAP.style.display = 'none';
				
				//GoogleMapsを埋めるdivタグを取得
				var MAP = document.getElementById(map_id);
				if(arrayName[5] == undefined){
					return;
				};
				//divタグの大きさを設定
				MAP.style.width = Size;
				MAP.style.height = Size;
				
				//GoogleMapsの地図タイプが｢両方｣であった場合、
				//地図の下部分のGoogleについての情報の文字が地図から
				//はみ出てしまうので表示しないようにする
				MAP.style.overflow = "hidden";
				
				//GoogleMapsを埋める
				var map = new GMap2(MAP);
				map.addControl(new GMapTypeControl(true));
				map.addControl(new GSmallMapControl());
				var Center = new GLatLng(CenterLat,CenterLng);
				//GoogleMapsの表示する中心の緯度・経度を設定
				map.setCenter(Center);
				//GoogleMapsのズームレベルを設定
				map.setZoom( parseInt(Zoom) );
				//GoogleMapsの地図タイプを設定
				var maptypes;
				if( Type == 'G_MAP_TYPE' ) {
					maptype = map.getMapTypes()[0];
				} else if( Type == 'G_SATELLITE_TYPE' ) {
					maptype = map.getMapTypes()[1];
				} else { maptype = map.getMapTypes()[2];
				}
				map.setMapType( maptypes );
				//マーカーを設定
				//マーカーの緯度・経度の値が渡ってきた場合
				if ( MarkLat != 'undefined' && MarkLng != 'undefined' ){
					//マーカーを設定
					var Mark = new GLatLng(MarkLat,MarkLng);
					var marker = new GMarker(Mark);
					map.addOverlay(marker);
					//情報ウィンドウに住所を表示するよう設定
					var addHtml = '住所：<div style="color:#0000ff; font-weight: bold; font-size: 12px;">' + Address + '</div>';
					marker.openInfoWindowHtml(addHtml);
					//情報ウィンドウ表示すると、画面に収まるよう表示位置が移動してしまうので、表示後に元の表示位置へ移動する
					GEvent.addListener(map, "infowindowopen", function(){map.panTo(Center);} );
				}
			}else{
				alert('Google Maps API Key が正しくありません。');
			}
		}
	}
}

//XMLHttpRequest を使用出来るようにする為の宣言。ブラウザにより異なる。
function getXMLHttpRequest() {
	try {
		return new XMLHttpRequest();
	} catch(e) {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e2) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e3) {
				return false;
			}
		}
	}
}


function addCSVEvent(func) {
	if (window.addEventListener) {
		window.addEventListener("load", func, false);
	} else if (window.attachEvent) {
		window.attachEvent("onload", func);
	}
}

addCSVEvent(function(){
		getSpan();
	}
);

var param_tmp = new Object;

//記事中のSpanタグの情報取得
function getSpan(){
	var oSpan = document.getElementsByTagName("span");
	for(var i = 0; i < oSpan.length; i++){
		var oTitle = oSpan[i].title;
		var oKey = oTitle.split(";");
		if(oTitle){
			readFile(oSpan[i], oKey[0], oKey[1]);
		}
	}
}


//各ブログからJSONデータの取得
function readFile(span, key, blog_url) {
		if( param_tmp[blog_url] != undefined){
						callbackFunc(span, key, param_tmp[blog_url]);
		}else{
			var xmlhttp = getXMLHttpRequest();
			xmlhttp.open('GET', '/' + blog_url + '/json_data.js' , true);
			xmlhttp.onreadystatechange = function() {
				if(xmlhttp.readyState == 4) {
					if (xmlhttp.status == 200) {
						var params = eval('(' + xmlhttp.responseText + ')');
						param_tmp[blog_url] = params;
						callbackFunc(span, key, params);
					} else {
					}
				}
			}
			xmlhttp.send(null);
		}
}
//記事中への書き出し
function callbackFunc(span, key, params) {
	if(params[key] != undefined){ span.innerHTML= params[key];}
}
