private static function GetLargeMapOpener($p_mapSuffix, $p_widthLargeMap, $p_heightLargeMap, $p_labelLargeMap, $p_tagStringPrev, $p_tagStringBody)
{
global $Campsite;
$tag_string_fin = '';
$tag_string_fin .= '
<script>
window.map_win_popup = null;
window.geo_open_large_map' . $p_mapSuffix . ' = function(params)
{
window.deferred_poi_select = null;
var select_poi = null;
if (undefined !== params) {
if (undefined !== params["select_poi"]) {
select_poi = params["select_poi"];
window.deferred_poi_select = select_poi;
}
}
var already_focused = false;
try {
if (window.map_win_popup) {
if ("' . $p_mapSuffix . '" == window.map_win_popup.map_obj_specifier) {
setTimeout("try {window.map_win_popup.focus();} catch(e) {}", 0);
if (null !== select_poi) {
window.point_large_map_center' . $p_mapSuffix . '(select_poi, true);
}
already_focused = true;
}
}
} catch (e) {already_focused = false;}
if (window.map_win_popup && window.map_win_popup.closed) {
already_focused = false;
}
if (already_focused) {return;}
window.map_win_popup = window.open("", "map_win_popup", "width=' . $p_widthLargeMap . ', height=' . $p_heightLargeMap . ',directories=0,location=0,menubar=0,toolbar=0,resizable=1");
window.map_win_popup.document.write("<!DOCTYPE HTML PUBLIC \\"-//W3C//DTD XHTML 1.0 Transitional//EN\\" \\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\\">\\n");
window.map_win_popup.document.write("<html xmlns=\\"http://www.w3.org/1999/xhtml\\">\\n");
window.map_win_popup.document.write("<head profile=\\"http://gmpg.org/xfn/11\\">\\n");
window.map_win_popup.document.write("<title>' . $p_labelLargeMap . '</title>\\n");
window.map_win_popup.document.write("<" + "script src=\\"//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js\\"><" + "/script>\\n");
window.map_win_popup.document.write("\\n");
window.map_win_popup.document.write("\\n");
';
$header_part = '
<script type="text/javascript">
window.set_map_popup_at_opener = function () {
if (window.opener && (undefined !== window.opener.map_win_popup) && (!window.opener.map_win_popup)) {
window.opener.map_win_popup = window;
}
};
setInterval ("window.set_map_popup_at_opener();", 1000);
//setInterval ("window.set_map_popup_at_opener();", 500);
</script>
';
foreach (explode("\n", $header_part) as $tag_string_line) {
$tag_string_line = str_replace("\\", "\\\\", trim($tag_string_line));
$tag_string_line = str_replace("\"", "\\\"", trim($tag_string_line));
$tag_string_line = str_replace("<script", "<\" + \"script", trim($tag_string_line));
$tag_string_line = str_replace("</script", "<\" + \"/script", trim($tag_string_line));
$tag_string_fin .= 'window.map_win_popup.document.write("' . $tag_string_line . '" + "\\n");' . "\n";
}
$tag_string_fin .= '
';
$tag_string_fin .= 'window.map_win_popup.document.write("<script type=\\"text/javascript\\">" + "\\n")' . "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("window.map_prepared = false;\\n");' . "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("window.map_popup_win = true;\\n");' . "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("window.map_obj_specifier = \\"' . $p_mapSuffix . '\\";\\n");' . "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("window.onunload = function () {window.map_obj_specifier = null; window.map_prepared = false;}\\n");' . "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("window.deferred_action = function() {if (null !== window.opener.deferred_poi_select) {window.geo_object' . $p_mapSuffix . '.proc_subst_action({select_poi: window.opener.deferred_poi_select});}}\\n");' . "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("<" + "/script>" + "\\n");' . "\n";
foreach (explode("\n", $p_tagStringPrev) as $tag_string_line) {
$tag_string_line = str_replace("\\", "\\\\", trim($tag_string_line));
$tag_string_line = str_replace("\"", "\\\"", trim($tag_string_line));
$tag_string_line = str_replace("<script", "<\" + \"script", trim($tag_string_line));
$tag_string_line = str_replace("</script", "<\" + \"/script", trim($tag_string_line));
$tag_string_fin .= 'window.map_win_popup.document.write("' . $tag_string_line . '" + "\\n");' . "\n";
}
$tag_string_fin .= "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("<script type=\\"text/javascript\\">" + "\\n")' . "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("setInterval(\\"geo_object' . $p_mapSuffix . '.try_size_updated();\\", 1000);\\n");' . "\n";
$tag_string_fin .= 'window.map_win_popup.document.write("<" + "/script>" + "\\n");' . "\n";
$tag_string_fin .= '
window.map_win_popup.document.write("</head>\\n");
window.map_win_popup.document.write("<body>\\n");
';
$tag_string_fin .= 'window.map_win_popup.document.write("<div id=\\"map_body_holder\\" class=\\"geomap_body_holder\\">\\n");';
foreach (explode("\n", $p_tagStringBody) as $tag_string_line) {
$tag_string_line = str_replace("\\", "\\\\", trim($tag_string_line));
$tag_string_line = str_replace("\"", "\\\"", trim($tag_string_line));
$tag_string_line = str_replace("<script", "<\" + \"script", trim($tag_string_line));
$tag_string_line = str_replace("</script", "<\" + \"/script", trim($tag_string_line));
$tag_string_fin .= 'window.map_win_popup.document.write("' . $tag_string_line . '" + "\\n");' . "\n";
}
$tag_string_fin .= 'window.map_win_popup.document.write("</div>\\n");';
$tag_string_fin .= '
window.map_win_popup.document.write("</body></html>");
window.map_win_popup.document.close();
}
</script>
';
return $tag_string_fin;
}