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;
	obj.style.color = "rgb(0, 0, 0)";
    if( item.value == obj.defaultValue ) item.value = '';
    return true;
}

function setDefaultMessage(obj) {
    var item = obj;
    if( item.value == '' || item.value.match(/^[\s| |　]+$/i) )
	{
		obj.style.color = "rgb(153, 153, 153)";
		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(document.getElementById(imgObj[i].id));
      }
    }
  }
);

function GoogleMap(IMG_MAP){
	//GoogleMapsの代替画像の情報が渡ってきた場合
  if (IMG_MAP) {
		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);

      //divタグの大きさを設定
  		MAP.style.width = Size;
  		MAP.style.height = Size;

  		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 が正しくありません。');
    }
	}
}
