Geo_Map::GetLargeMapOpener PHP Method

GetLargeMapOpener() private static method

Gives the large map opener part of the header part for all the presentation maps
private static GetLargeMapOpener ( string $p_mapSuffix, integer $p_widthLargeMap, integer $p_heightLargeMap, string $p_labelLargeMap, string $p_tagStringPrev, string $p_tagStringBody ) : string
$p_mapSuffix string
$p_widthLargeMap integer
$p_heightLargeMap integer
$p_labelLargeMap string
$p_tagStringPrev string
$p_tagStringBody string
return string
    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;
    }