if(!top.PTMAP_COMMON || !window.MAP_LOAD) {
	top.PTMAP_COMMON = {
		original_app_mains : [],
		presentations : {},

		common_app_main : function(app_win) {
			app_win.openMap("http://cyberjapan.jp/japan0.htm");
			app_win.createScaleBar();
			app_win.enablePopup();
			var presentation = top.PTMAP_COMMON.presentations[app_win.name];
			if(presentation) {
				if(presentation.m){
					for(var i = 0; i < presentation.m.length; i++) {
						var map_entry = presentation.m[i];
						if(map_entry.htm) {
							app_win.openMap(map_entry.htm);
						} else if(map_entry.jsgixml) {
							app_win.openJSGIXML(map_entry.jsgixml,1);
						} else if(map_entry.cjson) {
							app_win.openJSGIXML('http://cyberjapan.jp/cybercgi/ptmap/cjson.cgi?code=' + top.LZWURLCEncoder.encode(top.JSON.stringify(map_entry.cjson)),1);
						}
					}
				}
				if(presentation.fw){
					if(presentation.fw[0] != "Mixed_L"){
					app_win.SelectFramework(presentation.fw[0]);
					}
					if(presentation.fw[1] == "MapImage_S"){
					app_win.ChangeRasterMap(1);
					}
				}
				app_win.setMapCenter(presentation.c[0],presentation.c[1],presentation.s);
			}
			app_win.setMouseMode("pan");
			app_win.openMap();
		},

		switch_app_main : function(w) {
			if(top.PTMAP_COMMON.presentations[w.name]) {
				top.PTMAP_COMMON.presentations[w.name].app_main(w);
			}
			var app_mains = top.PTMAP_COMMON.original_app_mains;
			for(var i = 0; i < app_mains.length; i++) {
				if(app_mains[i]) {
					app_mains[i](w);
				}
			}
		},

		init_json : function() {
			var s = top.document.createElement('script');
			s.setAttribute('type', 'text/javascript');
			s.setAttribute('charset', 'UTF-8');
			s.setAttribute('src', 'http://cyberjapan.jp/ptmap/json2.js');
			top.document.documentElement.firstChild.appendChild(s);
		},

		init_encoder : function() {
			var s = top.document.createElement('script');
			s.setAttribute('type', 'text/javascript');
			s.setAttribute('charset', 'UTF-8');
			s.setAttribute('src', 'http://cyberjapan.jp/ptmap/lzwurlc.js');
			top.document.documentElement.firstChild.appendChild(s);
		},

		insert_iframe : function(name, w, h) {
			document.open();
			document.write('<iframe name="' + name + '" id="' + name + '" width="' + w + '" height="' + h + '"></iframe>');
			document.close();
		}
	};

	if(!top.JSON) {
		top.PTMAP_COMMON.init_json();
	}

	if(!top.LZWURLCEncoder) {
		top.PTMAP_COMMON.init_encoder();
	}
}

if(!window.MAP_LOAD) {
	window.MAP_LOAD = function(p) {
		top.PTMAP_COMMON.presentations[p.t] = p;
		top.PTMAP_COMMON.presentations[p.t].app_main = top.PTMAP_COMMON.common_app_main;
		if(0 <= navigator.appName.indexOf('Opera') || 0 <= navigator.appVersion.indexOf('Safari')) {
			top.PTMAP_COMMON.presentations[p.t].preload = 0;
		} else {
			top.PTMAP_COMMON.presentations[p.t].preload = 1;
		}
		if(window.app_main != top.PTMAP_COMMON.switch_app_main) {
			if(window.app_main) {
				top.PTMAP_COMMON.original_app_mains.push(window.app_main);
			}
			window.app_main = top.PTMAP_COMMON.switch_app_main;
		}

		if(p.v) {
			top.PTMAP_COMMON.insert_iframe(p.t, p.v[0], p.v[1]);
		}
		var ptmwin = window.frames[p.t];

		var cj_ver2 = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><script type="text/javascript" src="http://cyberjapan.jp/webtis.js" charset="Shift_JIS"></script><script type="text/javascript">if(top.PTMAP_COMMON.presentations[window.name].preload == 0) {window.createWebtisObjectVer2();}</script></head></html>';

		ptmwin.document.open();
		ptmwin.document.write(cj_ver2);
		ptmwin.document.close();
		if(0 <= navigator.appVersion.indexOf('Safari/312')) {
//			var i = ptmwin.document.createElement('img');
//			i.setAttribute('width', p.v[0] - 50);
//			i.setAttribute('height', p.v[1] - 23);
//			ptmwin.document.appendChild(i);
			Safa_W=p.v[0] - 50;
			Safa_H=p.v[1] - 23;
			Safa_TEXT='<img width=\"'+Safa_W+'\" height=\"'+Safa_H+'\">';
			ptmwin.document.open();
			ptmwin.document.write(Safa_TEXT);
			ptmwin.document.close();
		}
		if(0 < top.PTMAP_COMMON.presentations[p.t].preload) {
			top.PTMAP_COMMON.presentations[p.t].preload = 0;
			ptmwin.location.reload();
		}
	};
}
