function wpgmaps_user_javascript_pro()
{
    global $short_code_active;
    global $wpgmza_count;
    $wpgmza_count++;
    if ($wpgmza_count > 1) {
    } else {
        global $wpgmza_current_map_id;
        global $wpgmza_short_code_array;
        global $wpgmza_current_mashup;
        global $wpgmza_pro_version;
        global $wpgmza_current_map_cat_selection;
        global $wpgmza_current_map_shortcode_data;
        global $wpgmza_current_map_type;
        if ($wpgmza_current_mashup) {
            $wpgmza_current_mashup_string = "true";
        } else {
            $wpgmza_current_mashup_string = "false";
        }
        global $wpgmza_mashup_ids;
        if (isset($wpgmza_mashup_ids)) {
            if (isset($wpgmza_mashups_ids) && $wpgmza_mashups_ids == "ALL") {
                $wpgmza_mashup_ids = wpgmza_return_all_map_ids();
            }
        }
        if ($short_code_active) {
            $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
            $ajax_nonce = wp_create_nonce("wpgmza");
            wp_register_script('wpgmaps_datatables', plugins_url(plugin_basename(dirname(__FILE__))) . "/js/jquery.dataTables.min.js", true);
            wp_enqueue_script('wpgmaps_datatables');
            wp_register_script('wpgmaps_datatables-responsive', plugins_url(plugin_basename(dirname(__FILE__))) . "/js/dataTables.responsive.js", true);
            wp_enqueue_script('wpgmaps_datatables-responsive');
            wp_register_style('wpgmaps_datatables_style', plugins_url(plugin_basename(dirname(__FILE__))) . "/css/data_table_front.css");
            wp_enqueue_style('wpgmaps_datatables_style');
            wp_register_style('wpgmaps_datatables_responsive-style', "//cdn.datatables.net/responsive/1.0.4/css/dataTables.responsive.css");
            wp_enqueue_style('wpgmaps_datatables_responsive-style');
            $res = array();
            $marker_data_array = array();
            $include_owl = false;
            /* should this reference $wpgmza_mashup_ids insted of short_code_arrya ? 
             * 
             */
            $mashup_js_string = "";
            if (isset($wpgmza_short_code_array)) {
                foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                    if (isset($wpgmza_mashup_ids[$wpgmza_cmd])) {
                        $mashup_js_string .= "wpgmaps_map_mashup[{$wpgmza_cmd}] = true;\n";
                    }
                    $marker_data_array[$wpgmza_cmd] = array();
                    if ($wpgmza_settings['wpgmza_settings_marker_pull'] == "0") {
                        if (isset($wpgmza_mashup_ids[$wpgmza_cmd])) {
                            foreach ($wpgmza_mashup_ids[$wpgmza_cmd] as $mashup_id) {
                                //$res[$wpgmza_cmd] = wpgmza_get_map_data($mashup_id);
                                $temp_marker_array = wpgmaps_return_markers($mashup_id);
                                foreach ($temp_marker_array as $temp_array) {
                                    array_push($marker_data_array[$wpgmza_cmd], $temp_array);
                                }
                                //$marker_data_array[$wpgmza_cmd] = wpgmaps_return_markers($mashup_id);
                            }
                        } else {
                            if ($wpgmza_settings['wpgmza_settings_marker_pull'] == "0" || $wpgmza_settings['wpgmza_settings_marker_pull'] == 0) {
                                $marker_data_array[$wpgmza_cmd] = wpgmaps_return_markers($wpgmza_cmd);
                            }
                        }
                    }
                    $res[$wpgmza_cmd] = wpgmza_get_map_data($wpgmza_cmd);
                    /* Added in version 5.44
                     */
                    /* check if we are using custom fields instead of traditional map data */
                    if (isset($wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['lat']) && isset($wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['lng']) && isset($wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['parent_id']) && $wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['lng'] && $wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['lat']) {
                        /* we are using custom fields, get the parent map data */
                        $wpgmza_using_custom_fields = true;
                        $res[$wpgmza_cmd] = wpgmza_get_map_data($wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['parent_id']);
                        $temp_other_settings = maybe_unserialize($res[$wpgmza_cmd]->other_settings);
                        $temp_other_settings['store_locator_enabled'] = 0;
                        $res[$wpgmza_cmd]->other_settings['store_locator_enabled'] = 0;
                        $res[$wpgmza_cmd]->other_settings = maybe_serialize($temp_other_settings);
                    } else {
                        $wpgmza_using_custom_fields = false;
                    }
                    /* end of 5.44 addition */
                    if ($res[$wpgmza_cmd]->styling_json != '') {
                        $res[$wpgmza_cmd]->styling_json = html_entity_decode(stripslashes($res[$wpgmza_cmd]->styling_json));
                    }
                    if ($res[$wpgmza_cmd]->other_settings != '') {
                        $res[$wpgmza_cmd]->other_settings = $other_settings = maybe_unserialize($res[$wpgmza_cmd]->other_settings);
                        if (isset($other_settings['list_markers_by']) && $other_settings['list_markers_by'] == '3') {
                            $include_owl = true;
                        }
                        if (isset($other_settings['wpgmza_theme_data']) && $other_settings['wpgmza_theme_data'] != false) {
                            $res[$wpgmza_cmd]->other_settings['wpgmza_theme_data'] = html_entity_decode(stripslashes($other_settings['wpgmza_theme_data']));
                        }
                    }
                    $res[$wpgmza_cmd]->map_width_type = stripslashes($res[$wpgmza_cmd]->map_width_type);
                    $res[$wpgmza_cmd]->total_markers = wpgmza_return_marker_count($wpgmza_cmd);
                }
            }
            if (function_exists("wpgmaps_gold_activate")) {
                wp_register_script('wpgmaps_user_marker_clusterer_js', wpgmaps_get_plugin_url() . '/js/markerclusterer.js', array(), "1.0", false);
                wp_enqueue_script('wpgmaps_user_marker_clusterer_js');
            }
            wp_enqueue_script('wpgmaps_core', plugins_url('wp-google-maps-pro') . '/js/core.js', array(), $wpgmza_pro_version . 'p', false);
            do_action("wpgooglemaps_hook_user_js_after_core");
            if (function_exists("wpgmaps_ugm_activate")) {
                global $wpgmza_ugm_version;
                wp_enqueue_script('wpgmaps_ugm_core', plugins_url('wp-google-maps-ugm') . '/js/ugm-core.js', array(), $wpgmza_ugm_version . 'vgm', false);
            }
            if (function_exists("wpgmaps_sl_activate")) {
                global $wpgmza_sl_version;
                wp_enqueue_script('wpgmaps_sl_core', plugins_url('wp-google-maps-store-locator') . '/js/sl-core.js', array(), $wpgmza_sl_version . 'sl', false);
            }
            global $wpgmza_pro_version;
            if (isset($wpgmza_settings['list_markers_by'])) {
            } else {
                $wpgmza_settings['list_markers_by'] = false;
            }
            if ($include_owl) {
                wp_register_script('owl_carousel', plugins_url('wp-google-maps-pro') . '/js/owl.carousel.min.js', array(), $wpgmza_pro_version . 'p', false);
                wp_enqueue_script('owl_carousel');
                wp_register_style('owl_carousel_style', plugins_url('wp-google-maps-pro') . '/css/owl.carousel.css');
                wp_enqueue_style('owl_carousel_style');
                wp_register_style('owl_carousel_style_theme', plugins_url('wp-google-maps-pro') . '/css/owl.theme.css');
                wp_enqueue_style('owl_carousel_style_theme');
                if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'sky') {
                    wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_sky.css');
                    wp_enqueue_style('owl_carousel_style_theme_select');
                } else {
                    if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'sun') {
                        wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_sun.css');
                        wp_enqueue_style('owl_carousel_style_theme_select');
                    } else {
                        if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'earth') {
                            wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_earth.css');
                            wp_enqueue_style('owl_carousel_style_theme_select');
                        } else {
                            if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'monotone') {
                                wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_monotone.css');
                                wp_enqueue_style('owl_carousel_style_theme_select');
                            } else {
                                if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'pinkpurple') {
                                    wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_pinkpurple.css');
                                    wp_enqueue_style('owl_carousel_style_theme_select');
                                } else {
                                    if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'white') {
                                        wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_white.css');
                                        wp_enqueue_style('owl_carousel_style_theme_select');
                                    } else {
                                        if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'black') {
                                            wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_black.css');
                                            wp_enqueue_style('owl_carousel_style_theme_select');
                                        } else {
                                            wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_sky.css');
                                            wp_enqueue_style('owl_carousel_style_theme_select');
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize', $res);
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_mashup_ids', $wpgmza_mashup_ids);
            if ($wpgmza_settings['wpgmza_settings_marker_pull'] == "0") {
                wp_localize_script('wpgmaps_core', 'wpgmaps_localize_marker_data', $marker_data_array);
            }
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_cat_ids', $wpgmza_current_map_cat_selection);
            if ($wpgmza_using_custom_fields) {
                wp_localize_script('wpgmaps_core', 'wpgmaps_localize_shortcode_data', $wpgmza_current_map_shortcode_data);
            }
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_map_types', $wpgmza_current_map_type);
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_global_settings', $wpgmza_settings);
            do_action("wpgooglemaps_hook_user_js_after_localize");
            // get polyline and polygon settings and localize it
            $polygonoptions = array();
            if (isset($wpgmza_short_code_array)) {
                foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                    if ($wpgmza_current_mashup) {
                        foreach ($wpgmza_mashup_ids as $wpgmza_tmp_plg_array) {
                            foreach ($wpgmza_tmp_plg_array as $wpgmza_tmp_plg) {
                                $total_poly_array = wpgmza_b_return_polygon_id_array($wpgmza_tmp_plg);
                                if ($total_poly_array > 0) {
                                    foreach ($total_poly_array as $poly_id) {
                                        $polygonoptions[$wpgmza_cmd][$poly_id] = wpgmza_b_return_poly_options($poly_id);
                                        $tmp_poly_array = wpgmza_b_return_polygon_array($poly_id);
                                        $poly_data_raw_array = array();
                                        foreach ($tmp_poly_array as $single_poly) {
                                            $poly_data_raw = str_replace(" ", "", $single_poly);
                                            $poly_data_raw = explode(",", $poly_data_raw);
                                            $lat = $poly_data_raw[0];
                                            $lng = $poly_data_raw[1];
                                            $poly_data_raw_array[] = $poly_data_raw;
                                        }
                                        $polygonoptions[$wpgmza_cmd][$poly_id]->polydata = $poly_data_raw_array;
                                        $linecolor = $polygonoptions[$wpgmza_cmd][$poly_id]->linecolor;
                                        $fillcolor = $polygonoptions[$wpgmza_cmd][$poly_id]->fillcolor;
                                        $fillopacity = $polygonoptions[$wpgmza_cmd][$poly_id]->opacity;
                                        if (!$linecolor) {
                                            $polygonoptions[$wpgmza_cmd][$poly_id]->linecolor = "000000";
                                        }
                                        if (!$fillcolor) {
                                            $polygonoptions[$wpgmza_cmd][$poly_id]->fillcolor = "66FF00";
                                        }
                                        if (!$fillopacity) {
                                            $polygonoptions[$wpgmza_cmd][$poly_id]->opacity = "0.5";
                                        }
                                    }
                                }
                            }
                        }
                    } else {
                        $total_poly_array = wpgmza_b_return_polygon_id_array($wpgmza_cmd);
                        if ($total_poly_array > 0) {
                            foreach ($total_poly_array as $poly_id) {
                                $polygonoptions[$wpgmza_cmd][$poly_id] = wpgmza_b_return_poly_options($poly_id);
                                $tmp_poly_array = wpgmza_b_return_polygon_array($poly_id);
                                $poly_data_raw_array = array();
                                foreach ($tmp_poly_array as $single_poly) {
                                    $poly_data_raw = str_replace(" ", "", $single_poly);
                                    $poly_data_raw = explode(",", $poly_data_raw);
                                    $lat = $poly_data_raw[0];
                                    $lng = $poly_data_raw[1];
                                    $poly_data_raw_array[] = $poly_data_raw;
                                }
                                $polygonoptions[$wpgmza_cmd][$poly_id]->polydata = $poly_data_raw_array;
                                $linecolor = $polygonoptions[$wpgmza_cmd][$poly_id]->linecolor;
                                $fillcolor = $polygonoptions[$wpgmza_cmd][$poly_id]->fillcolor;
                                $fillopacity = $polygonoptions[$wpgmza_cmd][$poly_id]->opacity;
                                if (!$linecolor) {
                                    $polygonoptions[$wpgmza_cmd][$poly_id]->linecolor = "000000";
                                }
                                if (!$fillcolor) {
                                    $polygonoptions[$wpgmza_cmd][$poly_id]->fillcolor = "66FF00";
                                }
                                if (!$fillopacity) {
                                    $polygonoptions[$wpgmza_cmd][$poly_id]->opacity = "0.5";
                                }
                            }
                        } else {
                            $polygonoptions = array();
                        }
                    }
                }
                $polylineoptions = array();
                foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                    if ($wpgmza_current_mashup) {
                        foreach ($wpgmza_mashup_ids as $wpgmza_tmp_plg_array) {
                            foreach ($wpgmza_tmp_plg_array as $wpgmza_tmp_plg) {
                                $total_poly_array = wpgmza_b_return_polyline_id_array($wpgmza_tmp_plg);
                                if ($total_poly_array > 0) {
                                    foreach ($total_poly_array as $poly_id) {
                                        $polylineoptions[$wpgmza_cmd][$poly_id] = wpgmza_b_return_polyline_options($poly_id);
                                        $tmp_poly_array = wpgmza_b_return_polyline_array($poly_id);
                                        $poly_data_raw_array = array();
                                        foreach ($tmp_poly_array as $single_poly) {
                                            $poly_data_raw = str_replace(" ", "", $single_poly);
                                            $poly_data_raw = str_replace(")", "", $poly_data_raw);
                                            $poly_data_raw = str_replace("(", "", $poly_data_raw);
                                            $poly_data_raw = explode(",", $poly_data_raw);
                                            $lat = $poly_data_raw[0];
                                            $lng = $poly_data_raw[1];
                                            $poly_data_raw_array[] = $poly_data_raw;
                                        }
                                        $polylineoptions[$wpgmza_cmd][$poly_id]->polydata = $poly_data_raw_array;
                                        if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->linecolor)) {
                                            $linecolor = $polylineoptions[$wpgmza_cmd][$poly_id]->linecolor;
                                        } else {
                                            $linecolor = false;
                                        }
                                        if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor)) {
                                            $fillcolor = $polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor;
                                        } else {
                                            $fillcolor = false;
                                        }
                                        if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->opacity)) {
                                            $fillopacity = $polylineoptions[$wpgmza_cmd][$poly_id]->opacity;
                                        } else {
                                            $fillopacity = false;
                                        }
                                        if (!$linecolor) {
                                            $polylineoptions[$wpgmza_cmd][$poly_id]->linecolor = "000000";
                                        }
                                        if (!$fillcolor) {
                                            $polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor = "66FF00";
                                        }
                                        if (!$fillopacity) {
                                            $polylineoptions[$wpgmza_cmd][$poly_id]->opacity = "0.5";
                                        }
                                    }
                                }
                            }
                        }
                    } else {
                        $total_poly_array = wpgmza_b_return_polyline_id_array($wpgmza_cmd);
                        if ($total_poly_array > 0) {
                            foreach ($total_poly_array as $poly_id) {
                                $polylineoptions[$wpgmza_cmd][$poly_id] = wpgmza_b_return_polyline_options($poly_id);
                                $tmp_poly_array = wpgmza_b_return_polyline_array($poly_id);
                                $poly_data_raw_array = array();
                                foreach ($tmp_poly_array as $single_poly) {
                                    $poly_data_raw = str_replace(" ", "", $single_poly);
                                    $poly_data_raw = str_replace(")", "", $poly_data_raw);
                                    $poly_data_raw = str_replace("(", "", $poly_data_raw);
                                    $poly_data_raw = explode(",", $poly_data_raw);
                                    $lat = $poly_data_raw[0];
                                    $lng = $poly_data_raw[1];
                                    $poly_data_raw_array[] = $poly_data_raw;
                                }
                                $polylineoptions[$wpgmza_cmd][$poly_id]->polydata = $poly_data_raw_array;
                                if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->linecolor)) {
                                    $linecolor = $polylineoptions[$wpgmza_cmd][$poly_id]->linecolor;
                                } else {
                                    $linecolor = false;
                                }
                                if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor)) {
                                    $fillcolor = $polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor;
                                } else {
                                    $fillcolor = false;
                                }
                                if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->opacity)) {
                                    $fillopacity = $polylineoptions[$wpgmza_cmd][$poly_id]->opacity;
                                } else {
                                    $fillopacity = false;
                                }
                                if (!$linecolor) {
                                    $polylineoptions[$wpgmza_cmd][$poly_id]->linecolor = "000000";
                                }
                                if (!$fillcolor) {
                                    $polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor = "66FF00";
                                }
                                if (!$fillopacity) {
                                    $polylineoptions[$wpgmza_cmd][$poly_id]->opacity = "0.5";
                                }
                            }
                        } else {
                            $polylineoptions = array();
                        }
                    }
                }
            }
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_polygon_settings', $polygonoptions);
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_polyline_settings', $polylineoptions);
            if (isset($wpgmza_settings['wpgmza_api_version'])) {
                $api_version = $wpgmza_settings['wpgmza_api_version'];
            } else {
                $api_version = "";
            }
            if (isset($api_version) && $api_version != "") {
                $api_version_string = "v={$api_version}&";
            } else {
                $api_version_string = "v=3.14&";
            }
            if (isset($wpgmza_settings['wpgmza_settings_marker_pull'])) {
                $marker_pull = $wpgmza_settings['wpgmza_settings_marker_pull'];
            } else {
                $marker_pull = "1";
            }
            ?>
        <script type="text/javascript">
            if (typeof window.google === 'object' && typeof window.google.maps === 'object') { } else {
                var gmapsJsHost = (("https:" == document.location.protocol) ? "https://" : "http://");
                document.write(unescape("%3Cscript src='" + gmapsJsHost + "maps.google.com/maps/api/js?<?php 
            echo $api_version_string;
            ?>
sensor=false&language=<?php 
            echo get_locale();
            ?>
&libraries=weather,places' type='text/javascript'%3E%3C/script%3E"));
            }
        </script>
        
        <script type="text/javascript" >
        <?php 
            $ajax_nonce_pro = wp_create_nonce("wpgmza_pro_ugm");
            ?>
    		wpgmaps_pro_nonce = '<?php 
            echo $ajax_nonce_pro;
            ?>
';
			wpgmaps_map_mashup = new Array();
            <?php 
            echo $mashup_js_string;
            ?>

            
            wpgmaps_plugurl = '<?php 
            echo wpgmaps_get_plugin_url();
            ?>
';
            var marker_pull = '<?php 
            echo $marker_pull;
            ?>
';

            <?php 
            global $wpgmza_version;
            if (floatval($wpgmza_version) < 6 || $wpgmza_version == "6.0.4" || $wpgmza_version == "6.0.3" || $wpgmza_version == "6.0.2" || $wpgmza_version == "6.0.1" || $wpgmza_version == "6.0.0") {
                if (is_multisite()) {
                    global $blog_id;
                    $wurl = wpgmaps_get_plugin_url() . "/" . $blog_id . "-";
                } else {
                    $wurl = wpgmaps_get_plugin_url() . "/";
                }
            } else {
                /* later versions store marker files in wp-content/uploads/wp-google-maps director */
                if (function_exists("wpgmza_return_marker_url")) {
                    if (get_option("wpgmza_xml_url") == "") {
                        add_option("wpgmza_xml_url", '{uploads_dir}/wp-google-maps/');
                    }
                    $xml_marker_url = wpgmza_return_marker_url();
                } else {
                    if (get_option("wpgmza_xml_url") == "") {
                        $upload_dir = wp_upload_dir();
                        add_option("wpgmza_xml_url", $upload_dir['baseurl'] . '/wp-google-maps/');
                    }
                    $xml_marker_url = get_option("wpgmza_xml_url");
                }
                if (is_multisite()) {
                    global $blog_id;
                    $wurl = $xml_marker_url . $blog_id . "-";
                } else {
                    $wurl = $xml_marker_url;
                }
            }
            if (isset($wpgmza_settings['wpgmza_settings_infowindow_link_text'])) {
                $wpgmza_settings_infowindow_link_text = $wpgmza_settings['wpgmza_settings_infowindow_link_text'];
            } else {
                $wpgmza_settings_infowindow_link_text = false;
            }
            if (!$wpgmza_settings_infowindow_link_text) {
                $wpgmza_settings_infowindow_link_text = __("More details", "wp-google-maps");
            }
            ?>
            
            wpgmaps_markerurl = '<?php 
            echo $wurl;
            ?>
';
            wpgmaps_lang_more_details = '<?php 
            echo $wpgmza_settings_infowindow_link_text;
            ?>
';
            wpgmaps_lang_get_dir = '<?php 
            _e("Get directions", "wp-google-maps");
            ?>
';
            wpgmaps_lang_my_location = '<?php 
            _e("My location", "wp-google-maps");
            ?>
';
            wpgmaps_lang_km_away = '<?php 
            _e("km away", "wp-google-maps");
            ?>
';
            wpgmaps_lang_m_away = '<?php 
            _e("miles away", "wp-google-maps");
            ?>
';
            wpgmaps_lang_directions = '<?php 
            _e("Directions", "wp-google-maps");
            ?>
';
            wpgmaps_lang_more_info = '<?php 
            echo $wpgmza_settings_infowindow_link_text;
            ?>
';
            <?php 
            if (get_locale() == "he_IL" || get_locale() == "fr_FR") {
                ?>
            wpgmaps_lang_error1 = '<?php 
                _e("Please fill out both the 'from' and 'to' fields", "wp-google-maps");
                ?>
';
            <?php 
            } else {
                ?>
            wpgmaps_lang_error1 = "<?php 
                _e("Please fill out both the 'from' and 'to' fields", "wp-google-maps");
                ?>
";
            <?php 
            }
            ?>
            <?php 
            if (get_locale() == "fr_FR") {
                ?>
            wpgmaps_lang_getting_location ="<?php 
                _e("Getting your current location address...", "wp-google-maps");
                ?>
";
            <?php 
            } else {
                ?>
            wpgmaps_lang_getting_location ='<?php 
                _e("Getting your current location address...", "wp-google-maps");
                ?>
';
            <?php 
            }
            ?>
            <?php 
            if (function_exists("wpgmaps_gold_activate")) {
                ?>
var wpgm_g_e = true; <?php 
            } else {
                ?>
var wpgm_g_e = false; <?php 
            }
            ?>

            var wpgm_dt_sLengthMenu = '<?php 
            _e('Show _MENU_ entries', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sZeroRecords = '<?php 
            _e('Nothing found - sorry', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sInfo = '<?php 
            _e('Showing _START_ to _END_ of _TOTAL_ records', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sInfoEmpty = '<?php 
            _e('Showing 0 to 0 of 0 records', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sInfoFiltered = '<?php 
            _e('(filtered from _MAX_ total records)', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sFirst = '<?php 
            _e('First', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sLast = '<?php 
            _e('Last', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sNext = '<?php 
            _e('Next', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sPrevious = '<?php 
            _e('Previous', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sSearch = '<?php 
            _e('Search', 'wp-google-maps');
            ?>
';
            ajaxurl = '<?php 
            echo admin_url('admin-ajax.php');
            ?>
';
            
        <?php 
            if (function_exists("wpgmaps_ugm_activate")) {
                ?>
            var vgm_human_error_string = '<?php 
                _e("Please prove that you are human by checking the checkbox above", "wp-google-maps");
                ?>
';
            <?php 
                $ajax_nonce_ugm = wp_create_nonce("wpgmza_ugm");
                ?>
            var wpgmaps_nonce = '<?php 
                echo $ajax_nonce_ugm;
                ?>
';
            
        <?php 
            }
            ?>
</script>
<?php 
        }
    }
}
function wpgmza_pro_category_edit_layout($cat_id)
{
    global $wpdb;
    global $wpgmza_tblname_categories;
    $map_ids = wpgmza_return_all_map_ids();
    $results = $wpdb->get_results("\r\n      SELECT *\r\n      FROM {$wpgmza_tblname_categories}\r\n      WHERE `id` = '{$cat_id}' LIMIT 1\r\n    ");
    if (isset($results[0]->category_icon) && $results[0]->category_icon != '') {
        $display_marker = "<img src='" . $results[0]->category_icon . "' />";
        $display_url = $results[0]->category_icon;
    } else {
        $display_marker = "<img src=\"" . wpgmaps_get_plugin_url() . "/images/marker.png\" />";
        $display_url = "";
    }
    if (isset($results[0]->retina) && intval($results[0]->retina) == 1) {
        $retina_checked = "checked='checked'";
    } else {
        $retina_checked = "";
    }
    echo "<div class='wrap'>";
    echo "  <h1>WP Google Maps</h1>";
    echo "  <div class='wide'>";
    echo "      <h2>" . __("Add a Marker Category", "wp-google-maps") . "</h2>";
    echo "      <form action='admin.php?page=wp-google-maps-menu-categories' method='post' id='wpgmaps_add_marker_category' name='wpgmaps_edit_marker_category_form'>";
    echo "      <table>";
    echo "          <tr>";
    echo "              <td><strong>" . __("Category Name", "wp-google-maps") . "</strong>:</td>";
    echo "              <td><input type='hidden' name='wpgmaps_marker_category_id' id='wpgmaps_marker_category_id' value='" . $results[0]->id . "' /><input type='text' name='wpgmaps_marker_category_name' id='wpgmaps_marker_category_name' value='" . $results[0]->category_name . "' /></td>";
    echo "              <td></td>";
    echo "          </tr>";
    echo "          <tr style='height:20px;'>";
    echo "              <td></td>";
    echo "              <td></td>";
    echo "              <td></td>";
    echo "          </tr>";
    echo "          <tr valign='top'>";
    echo "              <td valign='middle'><strong>" . __("Category Marker", "wp-google-maps") . "</strong>:</td>";
    echo "              <td align='left'><span id=\"wpgmza_mm\">{$display_marker}</span> </td>";
    echo "              <td valign='middle'>Enter URL <input id=\"upload_default_category_marker\" name=\"upload_default_category_marker\" type='text' size='35' class='regular-text' maxlength='700' value='{$display_url}' /> or <input id=\"upload_default_category_marker_btn\" type=\"button\" value=\"" . __("Upload Image", "wp-google-maps") . "\" /> <a href=\"javascript:void(0);\" onClick=\"document.forms['wpgmaps_edit_marker_category_form'].upload_default_category_marker.value = ''; var span = document.getElementById('wpgmza_mm'); while( span.firstChild ) { span.removeChild( span.firstChild ); } span.appendChild( document.createTextNode('')); return false;\" title=\"Reset to default\">-reset-</a> <small><i>" . __("Get great map markers <a href='http://mapicons.nicolasmollet.com/' target='_BLANK' title='Great Google Map Markers'>here</a>", "wp-google-maps") . "</i></small></td>";
    echo "          </tr>";
    echo "          <tr>";
    echo "              <td><strong>" . __("Retina Ready", "wp-google-maps") . "</strong>:</td>";
    echo "              <td><input type='checkbox' name='wpgmaps_marker_category_retina' value='1' {$retina_checked}>" . __("This marker is a retina-ready marker", "wp-google-maps") . "</td>";
    echo "              <td></td>";
    echo "          </tr>";
    echo "          <tr style='height:20px;'>";
    echo "              <td></td>";
    echo "              <td></td>";
    echo "              <td></td>";
    echo "          </tr>";
    echo "          <tr>";
    echo "              <td valign='top'><strong>" . __("Assigned to ", "wp-google-maps") . "</strong>:</td>";
    echo "              <td>";
    echo "                  <input type='checkbox' name='assigned_to_map[]' value='ALL' " . wpgmza_check_cat_map('ALL', $cat_id) . "> All Maps <br /><br />";
    foreach ($map_ids as $map_id) {
        $map_data = wpgmza_get_map_data($map_id);
        echo "                  <input type='checkbox' name='assigned_to_map[]' value='" . $map_id . "' " . wpgmza_check_cat_map($map_id, $cat_id) . "> " . $map_data->map_title . "  (id " . $map_id . ")<br />";
    }
    echo "              </td>";
    echo "          </tr>";
    echo "      </table>";
    echo "          <p class='submit'><input type='submit' name='wpgmza_edit_marker_category' class='button-primary' value='" . __("Save Category", "wp-google-maps") . " &raquo;' /></p>";
    echo "      </form>";
    echo "  </div>";
    echo "</div>";
}
function wpgmaps_user_javascript_pro()
{
    global $short_code_active;
    global $wpgmza_count;
    $wpgmza_count++;
    if ($wpgmza_count > 1) {
    } else {
        global $wpgmza_current_map_id;
        global $wpgmza_short_code_array;
        global $wpgmza_current_mashup;
        global $wpgmza_mashup_ids;
        if ($short_code_active) {
            $ajax_nonce = wp_create_nonce("wpgmza");
            ?>


        <script type="text/javascript">
            if (typeof google === 'object' && typeof google.maps === 'object') { } else {
                var gmapsJsHost = (("https:" == document.location.protocol) ? "https://" : "http://");
                document.write(unescape("%3Cscript src='" + gmapsJsHost + "maps.google.com/maps/api/js?sensor=false' type='text/javascript'%3E%3C/script%3E"));
            }
        </script>
        <link rel="stylesheet" type="text/css" media="all" href="<?php 
            echo wpgmaps_get_plugin_url();
            ?>
/css/data_table_front.css" />
        <script type="text/javascript" src="<?php 
            echo wpgmaps_get_plugin_url();
            ?>
/js/jquery.dataTables.js"></script>
        <script type="text/javascript" >

        if ('undefined' == typeof window.jQuery) {
            <?php 
            foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                $res = wpgmza_get_map_data($wpgmza_cmd);
                ?>
            document.getElementById('wpgmza_map_<?php 
                echo $wpgmza_cmd;
                ?>
').innerHTML = 'Error: In order for WP Google Maps to work, jQuery must be installed. A check was done and jQuery was not present. Please see the <a href="http://www.wpgmaps.com/documentation/troubleshooting/jquery-troubleshooting/" title="WP Google Maps - jQuery Troubleshooting">jQuery troubleshooting section of our site</a> for more information.';
            <?php 
            }
            ?>
        } else {
            // all good.. continue...
        } 

        var user_location;

        jQuery(function() {
            
            

            jQuery(document).ready(function(){


                if (/1\.(0|1|2|3|4|5|6|7)\.(0|1|2|3|4|5|6|7|8|9)/.test(jQuery.fn.jquery)) {
                    <?php 
            foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                ?>
                    document.getElementById('wpgmza_map_<?php 
                echo $wpgmza_cmd;
                ?>
').innerHTML = 'Error: Your version of jQuery is outdated. WP Google Maps requires jQuery version 1.7+ to function correctly. Go to Maps->Settings and check the box that allows you to over-ride your current jQuery to try eliminate this problem.';
                    <?php 
            }
            ?>
                } else {
                
                
                    <?php 
            if (function_exists(wpgmaps_ugm_user_javascript)) {
                wpgmaps_ugm_user_javascript();
            }
            ?>


                    jQuery("body").on("click", ".wpgmaps_mlist_row", function() {
                        var wpgmza_markerid = jQuery(this).attr("mid");
                        var wpgmza_mapid = jQuery(this).attr("mapid");
                        openInfoWindow(wpgmza_markerid);
                        location.hash = "#marker" + wpgmza_markerid;
                    });
                    jQuery("body").on("change", "#wpgmza_filter_select", function() {
                        var selectedValue = jQuery(this).find(":selected").val();
                        var wpgmza_map_id = jQuery(this).attr("mid");
                        eval("InitMap_"+wpgmza_map_id+"("+selectedValue+")");
                        if (typeof eval("wpgmzaTable_"+wpgmza_map_id) == "object") { eval("wpgmzaTable_"+wpgmza_map_id).fnFilter( this.options[this.selectedIndex].text ); }



                    });
                    jQuery("body").on("click", "#wpgmza_use_my_location_from", function() {
                        var wpgmza_map_id = jQuery(this).attr("mid");
                        jQuery('#wpgmza_input_from_'+wpgmza_map_id).val('<?php 
            _e("Getting your current location address...", "wp-google-maps");
            ?>
');
                        
                        var geocoder = new google.maps.Geocoder();
                        geocoder.geocode({'latLng': user_location}, function(results, status) {
                          if (status == google.maps.GeocoderStatus.OK) {
                            if (results[0]) {
                              jQuery('#wpgmza_input_from_'+wpgmza_map_id).val(results[0].formatted_address);
                            }
                          }
                        });
                    });                    
                    jQuery("body").on("click", "#wpgmza_use_my_location_to", function() {
                        var wpgmza_map_id = jQuery(this).attr("mid");
                        jQuery('#wpgmza_input_to_'+wpgmza_map_id).val('<?php 
            _e("Getting your current location address...", "wp-google-maps");
            ?>
');
                        var geocoder = new google.maps.Geocoder();
                        geocoder.geocode({'latLng': user_location}, function(results, status) {
                          if (status == google.maps.GeocoderStatus.OK) {
                            if (results[0]) {
                              jQuery('#wpgmza_input_to_'+wpgmza_map_id).val(results[0].formatted_address);
                            }
                          }
                        });
                    });

                    jQuery('body').on('tabsshow', function(event, ui) {
                    <?php 
            foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                ?>
                        InitMap_<?php 
                echo $wpgmza_cmd;
                ?>
('all');
                    <?php 
            }
            ?>
                    });
             

            
            
            
            <?php 
            foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                $res = wpgmza_get_map_data($wpgmza_cmd);
                // marker sorting functionality
                if ($res->order_markers_by == 1) {
                    $order_by = 0;
                } else {
                    if ($res->order_markers_by == 2) {
                        $order_by = 1;
                    } else {
                        if ($res->order_markers_by == 3) {
                            $order_by = 3;
                        } else {
                            if ($res->order_markers_by == 4) {
                                $order_by = 4;
                            } else {
                                if ($res->order_markers_by == 5) {
                                    $order_by = 2;
                                } else {
                                    $order_by = 0;
                                }
                            }
                        }
                    }
                }
                if ($res->order_markers_choice == 1) {
                    $order_choice = "asc";
                } else {
                    $order_choice = "desc";
                }
                ?>
            function wpgmza_reinitialisetbl_<?php 
                echo $wpgmza_cmd;
                ?>
() {
                wpgmzaTable_<?php 
                echo $wpgmza_cmd;
                ?>
.fnClearTable( 0 );
                wpgmzaTable_<?php 
                echo $wpgmza_cmd;
                ?>
 = jQuery('#wpgmza_table_<?php 
                echo $wpgmza_cmd;
                ?>
').dataTable({
                    "bProcessing": true,
                    "aaSorting": [[ <?php 
                echo "{$order_by}";
                ?>
, "<?php 
                echo $order_choice;
                ?>
" ]]
                });
            }
            if (jQuery('#wpgmza_table_<?php 
                echo $wpgmza_cmd;
                ?>
').length > 0) {
                 wpgmzaTable_<?php 
                echo $wpgmza_cmd;
                ?>
 = jQuery('#wpgmza_table_<?php 
                echo $wpgmza_cmd;
                ?>
').dataTable({
                    "bProcessing": true,
                    "aaSorting": [[ <?php 
                echo "{$order_by}";
                ?>
, "<?php 
                echo $order_choice;
                ?>
" ]]
                 });
            }
            <?php 
                $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
                $wpgmza_lat[$wpgmza_cmd] = $res->map_start_lat;
                $wpgmza_lng[$wpgmza_cmd] = $res->map_start_lng;
                $wpgmza_width[$wpgmza_cmd] = $res->map_width;
                $wpgmza_height[$wpgmza_cmd] = $res->map_height;
                $wpgmza_width_type[$wpgmza_cmd] = stripslashes($res->map_width_type);
                $wpgmza_height_type[$wpgmza_cmd] = $res->map_height_type;
                $wpgmza_map_type[$wpgmza_cmd] = $res->type;
                $wpgmza_default_icon[$wpgmza_cmd] = $res->default_marker;
                $wpgmza_directions[$wpgmza_cmd] = $res->directions_enabled;
                $kml[$wpgmza_cmd] = $res->kml;
                $fusion[$wpgmza_cmd] = $res->fusion;
                $wpgmza_bicycle[$wpgmza_cmd] = $res->bicycle;
                $wpgmza_traffic[$wpgmza_cmd] = $res->traffic;
                $wpgmza_dbox[$wpgmza_cmd] = $res->dbox;
                $wpgmza_dbox_width[$wpgmza_cmd] = $res->dbox_width;
                $show_location[$wpgmza_cmd] = $res->show_user_location;
                $wpgmza_listmarkers[$wpgmza_cmd] = $res->listmarkers;
                $wpgmza_listmarkers_advanced[$wpgmza_cmd] = $res->listmarkers_advanced;
                $wpgmza_filtercategory[$wpgmza_cmd] = $res->filterbycat;
                if ($wpgmza_default_icon[$wpgmza_cmd] == "0") {
                    $wpgmza_default_icon[$wpgmza_cmd] = "";
                }
                if (!$wpgmza_map_type[$wpgmza_cmd] || $wpgmza_map_type[$wpgmza_cmd] == "" || $wpgmza_map_type[$wpgmza_cmd] == "1") {
                    $wpgmza_map_type[$wpgmza_cmd] = "ROADMAP";
                } else {
                    if ($wpgmza_map_type[$wpgmza_cmd] == "2") {
                        $wpgmza_map_type[$wpgmza_cmd] = "SATELLITE";
                    } else {
                        if ($wpgmza_map_type[$wpgmza_cmd] == "3") {
                            $wpgmza_map_type[$wpgmza_cmd] = "HYBRID";
                        } else {
                            if ($wpgmza_map_type[$wpgmza_cmd] == "4") {
                                $wpgmza_map_type[$wpgmza_cmd] = "TERRAIN";
                            } else {
                                $wpgmza_map_type[$wpgmza_cmd] = "ROADMAP";
                            }
                        }
                    }
                }
                $start_zoom[$wpgmza_cmd] = $res->map_start_zoom;
                if ($start_zoom[$wpgmza_cmd] < 1 || !$start_zoom[$wpgmza_cmd]) {
                    $start_zoom[$wpgmza_cmd] = 5;
                }
                if (!$wpgmza_lat[$wpgmza_cmd] || !$wpgmza_lng[$wpgmza_cmd]) {
                    $wpgmza_lat[$wpgmza_cmd] = "51.5081290";
                    $wpgmza_lng[$wpgmza_cmd] = "-0.1280050";
                }
                ?>
            jQuery("<?php 
                echo "#wpgmza_map_" . $wpgmza_cmd;
                ?>
").css({
                height:'<?php 
                echo $wpgmza_height[$wpgmza_cmd];
                echo $wpgmza_height_type[$wpgmza_cmd];
                ?>
',
                width:'<?php 
                echo $wpgmza_width[$wpgmza_cmd];
                echo $wpgmza_width_type[$wpgmza_cmd];
                ?>
'

            });
            function InitMap_<?php 
                echo $wpgmza_cmd;
                ?>
(cat_id) {
                if ('undefined' == cat_id || cat_id == '' || !cat_id) { cat_id = 'all'; }
                var myLatLng = new google.maps.LatLng(<?php 
                echo $wpgmza_lat[$wpgmza_cmd];
                ?>
,<?php 
                echo $wpgmza_lng[$wpgmza_cmd];
                ?>
);
                MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.init("<?php 
                echo "#wpgmza_map_" . $wpgmza_cmd;
                ?>
", myLatLng, <?php 
                echo $start_zoom[$wpgmza_cmd];
                ?>
);
                UniqueCode=Math.round(Math.random()*10000);
                <?php 
                if ($wpgmza_current_mashup && isset($wpgmza_mashup_ids)) {
                    if ($wpgmza_mashup_ids[0] == "ALL") {
                        $wpgmza_mashup_ids = wpgmza_return_all_map_ids();
                    }
                    foreach ($wpgmza_mashup_ids as $wpgmza_mashup_id) {
                        ?>
                MYMAP_<?php 
                        echo $wpgmza_cmd;
                        ?>
.placeMarkers('<?php 
                        echo wpgmaps_get_marker_url($wpgmza_mashup_id);
                        ?>
?u='+UniqueCode,<?php 
                        echo $wpgmza_mashup_id;
                        ?>
,cat_id);
                    <?php 
                    }
                    ?>
                <?php 
                } else {
                    ?>
                MYMAP_<?php 
                    echo $wpgmza_cmd;
                    ?>
.placeMarkers('<?php 
                    echo wpgmaps_get_marker_url($wpgmza_cmd);
                    ?>
?u='+UniqueCode,<?php 
                    echo $wpgmza_cmd;
                    ?>
,cat_id);
                <?php 
                }
                ?>
            };
            InitMap_<?php 
                echo $wpgmza_cmd;
                ?>
('all');

            <?php 
            }
            // end foreach map loop
            ?>

        }
    });
});



            var directionsDisplay = [];
            var directionsService = [];

            <?php 
            foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                ?>

            // general directions settings and variables
            directionsDisplay[<?php 
                echo $wpgmza_cmd;
                ?>
];
            directionsService[<?php 
                echo $wpgmza_cmd;
                ?>
] = new google.maps.DirectionsService();
            var currentDirections = null;
            var oldDirections = [];
            var new_gps;


            var MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
 = {
                map: null,
                bounds: null,
                mc: null
            }
            MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.init = function(selector, latLng, zoom) {


              var myOptions = {
                zoom:zoom,
                center: latLng,
                draggable: <?php 
                if ($wpgmza_settings['wpgmza_settings_map_draggable'] == "yes") {
                    echo "false";
                } else {
                    echo "true";
                }
                ?>
,
                disableDoubleClickZoom: <?php 
                if ($wpgmza_settings['wpgmza_settings_map_clickzoom'] == "yes") {
                    echo "true";
                } else {
                    echo "false";
                }
                ?>
,
                scrollwheel: <?php 
                if ($wpgmza_settings['wpgmza_settings_map_scroll'] == "yes") {
                    echo "false";
                } else {
                    echo "true";
                }
                ?>
,
                zoomControl: <?php 
                if ($wpgmza_settings['wpgmza_settings_map_zoom'] == "yes") {
                    echo "false";
                } else {
                    echo "true";
                }
                ?>
,
                panControl: <?php 
                if ($wpgmza_settings['wpgmza_settings_map_pan'] == "yes") {
                    echo "false";
                } else {
                    echo "true";
                }
                ?>
,
                mapTypeControl: <?php 
                if ($wpgmza_settings['wpgmza_settings_map_type'] == "yes") {
                    echo "false";
                } else {
                    echo "true";
                }
                ?>
,
                streetViewControl: <?php 
                if ($wpgmza_settings['wpgmza_settings_map_streetview'] == "yes") {
                    echo "false";
                } else {
                    echo "true";
                }
                ?>
,
                mapTypeId: google.maps.MapTypeId.<?php 
                echo $wpgmza_map_type[$wpgmza_cmd];
                ?>
              }


               this.map = new google.maps.Map(jQuery(selector)[0], myOptions);

               this.bounds = new google.maps.LatLngBounds();
                    directionsDisplay[<?php 
                echo $wpgmza_cmd;
                ?>
] = new google.maps.DirectionsRenderer({
                    'map': this.map,
                    'preserveViewport': true,
                    'draggable': true
                });
              directionsDisplay[<?php 
                echo $wpgmza_cmd;
                ?>
].setPanel(document.getElementById("directions_panel_<?php 
                echo $wpgmza_cmd;
                ?>
"));
              google.maps.event.addListener(directionsDisplay[<?php 
                echo $wpgmza_cmd;
                ?>
], 'directions_changed',
                function() {
                    if (currentDirections) {
                        oldDirections.push(currentDirections);

                    }
                    currentDirections = directionsDisplay[<?php 
                echo $wpgmza_cmd;
                ?>
].getDirections();
                    jQuery("#directions_panel_<?php 
                echo $wpgmza_cmd;
                ?>
").show();
                    jQuery("#wpgmaps_directions_notification_<?php 
                echo $wpgmza_cmd;
                ?>
").hide();
                    jQuery("#wpgmaps_directions_reset_<?php 
                echo $wpgmza_cmd;
                ?>
").show();
                });
                
                
                <?php 
                // polygons
                //first check for map mashup
                if ($wpgmza_current_mashup && isset($wpgmza_mashup_ids)) {
                    foreach ($wpgmza_mashup_ids as $wpgmza_tmp_plg) {
                        $total_poly_array = wpgmza_return_polygon_id_array($wpgmza_tmp_plg);
                        if ($total_poly_array > 0) {
                            foreach ($total_poly_array as $poly_id) {
                                $polyoptions = wpgmza_return_poly_options($poly_id);
                                $linecolor = $polyoptions->linecolor;
                                $fillcolor = $polyoptions->fillcolor;
                                $fillopacity = $polyoptions->opacity;
                                if (!$linecolor) {
                                    $linecolor = "000000";
                                }
                                if (!$fillcolor) {
                                    $fillcolor = "66FF00";
                                }
                                if (!$fillopacity) {
                                    $fillopacity = "0.5";
                                }
                                $linecolor = "#" . $linecolor;
                                $fillcolor = "#" . $fillcolor;
                                ?>
                    var WPGM_PathData_<?php 
                                echo $poly_id;
                                ?>
 = [
                        <?php 
                                $poly_array = wpgmza_return_polygon_array($poly_id);
                                foreach ($poly_array as $single_poly) {
                                    $poly_data_raw = str_replace(" ", "", $single_poly);
                                    $poly_data_raw = explode(",", $poly_data_raw);
                                    $lat = $poly_data_raw[0];
                                    $lng = $poly_data_raw[1];
                                    ?>
                        new google.maps.LatLng(<?php 
                                    echo $lat;
                                    ?>
, <?php 
                                    echo $lng;
                                    ?>
),
                        <?php 
                                }
                                ?>


                    ];
                    var WPGM_Path_<?php 
                                echo $poly_id;
                                ?>
 = new google.maps.Polygon({
                        path: WPGM_PathData_<?php 
                                echo $poly_id;
                                ?>
,
                        strokeColor: "<?php 
                                echo $linecolor;
                                ?>
",
                        fillOpacity: "<?php 
                                echo $fillopacity;
                                ?>
",
                        fillColor: "<?php 
                                echo $fillcolor;
                                ?>
",
                        strokeWeight: 2
                    });

                    WPGM_Path_<?php 
                                echo $poly_id;
                                ?>
.setMap(this.map);
                    <?php 
                            }
                        }
                    }
                } else {
                    $total_poly_array = wpgmza_return_polygon_id_array($wpgmza_cmd);
                    if ($total_poly_array > 0) {
                        foreach ($total_poly_array as $poly_id) {
                            $polyoptions = wpgmza_return_poly_options($poly_id);
                            $linecolor = $polyoptions->linecolor;
                            $fillcolor = $polyoptions->fillcolor;
                            $fillopacity = $polyoptions->opacity;
                            if (!$linecolor) {
                                $linecolor = "000000";
                            }
                            if (!$fillcolor) {
                                $fillcolor = "66FF00";
                            }
                            if (!$fillopacity) {
                                $fillopacity = "0.5";
                            }
                            $linecolor = "#" . $linecolor;
                            $fillcolor = "#" . $fillcolor;
                            ?>
                    var WPGM_PathData_<?php 
                            echo $poly_id;
                            ?>
 = [
                        <?php 
                            $poly_array = wpgmza_return_polygon_array($poly_id);
                            foreach ($poly_array as $single_poly) {
                                $poly_data_raw = str_replace(" ", "", $single_poly);
                                $poly_data_raw = explode(",", $poly_data_raw);
                                $lat = $poly_data_raw[0];
                                $lng = $poly_data_raw[1];
                                ?>
                            new google.maps.LatLng(<?php 
                                echo $lat;
                                ?>
, <?php 
                                echo $lng;
                                ?>
),
                            <?php 
                            }
                            ?>


                    ];
                    var WPGM_Path_<?php 
                            echo $poly_id;
                            ?>
 = new google.maps.Polygon({
                      path: WPGM_PathData_<?php 
                            echo $poly_id;
                            ?>
,
                      strokeColor: "<?php 
                            echo $linecolor;
                            ?>
",
                      fillOpacity: "<?php 
                            echo $fillopacity;
                            ?>
",
                      fillColor: "<?php 
                            echo $fillcolor;
                            ?>
",
                      strokeWeight: 2
                    });

                    WPGM_Path_<?php 
                            echo $poly_id;
                            ?>
.setMap(this.map);
                    <?php 
                        }
                    }
                }
                ?>



<?php 
                // polylines
                //first check for map mashup
                if ($wpgmza_current_mashup && isset($wpgmza_mashup_ids)) {
                    foreach ($wpgmza_mashup_ids as $wpgmza_tmp_pl) {
                        $total_polyline_array = wpgmza_return_polyline_id_array($wpgmza_tmp_pl);
                        if ($total_polyline_array > 0) {
                            foreach ($total_polyline_array as $poly_id) {
                                $polyoptions = wpgmza_return_polyline_options($poly_id);
                                $linecolor = $polyoptions->linecolor;
                                $linethickness = $polyoptions->linethickness;
                                $fillopacity = $polyoptions->opacity;
                                if (!$linecolor) {
                                    $linecolor = "000000";
                                }
                                if (!$linethickness) {
                                    $linethickness = "4";
                                }
                                if (!$fillopacity) {
                                    $fillopacity = "0.5";
                                }
                                $linecolor = "#" . $linecolor;
                                ?>
                        var WPGM_PathLineData_<?php 
                                echo $poly_id;
                                ?>
 = [
                            <?php 
                                $poly_array = wpgmza_return_polyline_array($poly_id);
                                foreach ($poly_array as $single_poly) {
                                    $poly_data_raw = str_replace(" ", "", $single_poly);
                                    $poly_data_raw = explode(",", $poly_data_raw);
                                    $lat = $poly_data_raw[0];
                                    $lng = $poly_data_raw[1];
                                    ?>
                            new google.maps.LatLng(<?php 
                                    echo $lat;
                                    ?>
, <?php 
                                    echo $lng;
                                    ?>
),
                            <?php 
                                }
                                ?>
                        ];
                        var WPGM_PathLine_<?php 
                                echo $poly_id;
                                ?>
 = new google.maps.Polyline({
                            path: WPGM_PathLineData_<?php 
                                echo $poly_id;
                                ?>
,
                            strokeColor: "<?php 
                                echo $linecolor;
                                ?>
",
                            strokeOpacity: "<?php 
                                echo $fillopacity;
                                ?>
",
                            strokeWeight: "<?php 
                                echo $linethickness;
                                ?>
"
                        });

                        WPGM_PathLine_<?php 
                                echo $poly_id;
                                ?>
.setMap(this.map);
                    <?php 
                            }
                        }
                    }
                } else {
                    // no mashup, show only this maps polylines
                    $total_polyline_array = wpgmza_return_polyline_id_array($wpgmza_cmd);
                    if ($total_polyline_array > 0) {
                        foreach ($total_polyline_array as $poly_id) {
                            $polyoptions = wpgmza_return_polyline_options($poly_id);
                            $linecolor = $polyoptions->linecolor;
                            $linethickness = $polyoptions->linethickness;
                            $fillopacity = $polyoptions->opacity;
                            if (!$linecolor) {
                                $linecolor = "000000";
                            }
                            if (!$linethickness) {
                                $linethickness = "4";
                            }
                            if (!$fillopacity) {
                                $fillopacity = "0.5";
                            }
                            $linecolor = "#" . $linecolor;
                            ?>
 
                var WPGM_PathLineData_<?php 
                            echo $poly_id;
                            ?>
 = [
                    <?php 
                            $poly_array = wpgmza_return_polyline_array($poly_id);
                            foreach ($poly_array as $single_poly) {
                                $poly_data_raw = str_replace(" ", "", $single_poly);
                                $poly_data_raw = explode(",", $poly_data_raw);
                                $lat = $poly_data_raw[0];
                                $lng = $poly_data_raw[1];
                                ?>
                        new google.maps.LatLng(<?php 
                                echo $lat;
                                ?>
, <?php 
                                echo $lng;
                                ?>
),            
                        <?php 
                            }
                            ?>
                ];
                var WPGM_PathLine_<?php 
                            echo $poly_id;
                            ?>
 = new google.maps.Polyline({
                  path: WPGM_PathLineData_<?php 
                            echo $poly_id;
                            ?>
,
                  strokeColor: "<?php 
                            echo $linecolor;
                            ?>
",
                  strokeOpacity: "<?php 
                            echo $fillopacity;
                            ?>
",
                  strokeWeight: "<?php 
                            echo $linethickness;
                            ?>
"
                });

                WPGM_PathLine_<?php 
                            echo $poly_id;
                            ?>
.setMap(this.map);
                <?php 
                        }
                    }
                }
                ?>


                <?php 
                if ($wpgmza_bicycle[$wpgmza_cmd] == "1") {
                    ?>
                    var bikeLayer = new google.maps.BicyclingLayer();
                    bikeLayer.setMap(this.map);
                <?php 
                }
                ?>
                <?php 
                if ($wpgmza_traffic[$wpgmza_cmd] == "1") {
                    ?>
                    var trafficLayer = new google.maps.TrafficLayer();
                    trafficLayer.setMap(this.map);
                <?php 
                }
                ?>
                <?php 
                if ($kml[$wpgmza_cmd] != "") {
                    ?>
                    var georssLayer = new google.maps.KmlLayer('<?php 
                    echo $kml[$wpgmza_cmd];
                    ?>
?tstamp=<?php 
                    echo time();
                    ?>
');
                    georssLayer.setMap(this.map);
                <?php 
                }
                ?>
                <?php 
                if ($fusion[$wpgmza_cmd] != "") {
                    ?>
                    var fusionlayer = new google.maps.FusionTablesLayer('<?php 
                    echo $fusion[$wpgmza_cmd];
                    ?>
', {
                          suppressInfoWindows: false

                    });
                    fusionlayer.setMap(this.map);
                <?php 
                }
                ?>
                    
                    
                
                    
                    
                    
            }
            
            
            
            var infoWindow = new google.maps.InfoWindow();
            <?php 
                $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
                $wpgmza_settings_infowindow_width = $wpgmza_settings['wpgmza_settings_infowindow_width'];
                if (!$wpgmza_settings_infowindow_width || !isset($wpgmza_settings_infowindow_width)) {
                    $wpgmza_settings_infowindow_width = "200";
                }
                ?>
            infoWindow.setOptions({maxWidth:<?php 
                echo $wpgmza_settings_infowindow_width;
                ?>
});

            google.maps.event.addDomListener(window, 'resize', function() {
                var myLatLng = new google.maps.LatLng(<?php 
                echo $wpgmza_lat[$wpgmza_cmd];
                ?>
,<?php 
                echo $wpgmza_lng[$wpgmza_cmd];
                ?>
);
                MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.map.setCenter(myLatLng);
            });


            MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.placeMarkers = function(filename,map_id,cat_id) {
                marker_array = [];
                if( Object.prototype.toString.call( map_id ) === '[object Array]' ) {
                    /* map mashup */

                    var length = map_id.length,
                        element = null;
                    for (var i = 0; i < length; i++) {
                        element = map_id[i];
                        console.log(element);
                    }



                } else {

                    jQuery.get(filename, function(xml){
                                jQuery(xml).find("marker").each(function(){
                                        var wpgmza_def_icon = '<?php 
                echo $wpgmza_default_icon[$wpgmza_cmd];
                ?>
';
                                        var wpmgza_map_id = jQuery(this).find('map_id').text();
                                        var wpmgza_marker_id = jQuery(this).find('marker_id').text();

                                        if (wpmgza_map_id == map_id) {
                                            var wpmgza_title = jQuery(this).find('title').text();
                                            var wpmgza_address = jQuery(this).find('address').text();
                                            var wpmgza_show_address = jQuery(this).find('address').text();
                                            var wpmgza_mapicon = jQuery(this).find('icon').text();
                                            var wpmgza_image = jQuery(this).find('pic').text();
                                            var wpmgza_desc  = jQuery(this).find('desc').text();
                                            var wpmgza_linkd = jQuery(this).find('linkd').text();
                                            var wpmgza_anim  = jQuery(this).find('anim').text();
                                            var wpmgza_category  = jQuery(this).find('category').text();

                                            if (cat_id == 'all' || cat_id == wpmgza_category) {

                                                var wpmgza_infoopen  = jQuery(this).find('infoopen').text();
                                                if (wpmgza_title != "") {
                                                    wpmgza_title = wpmgza_title+'<br />';
                                                }


                                                if (wpmgza_image != "") {

                                                    <?php 
                $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
                $wpgmza_image_height = $wpgmza_settings['wpgmza_settings_image_height'];
                $wpgmza_image_width = $wpgmza_settings['wpgmza_settings_image_width'];
                if (!$wpgmza_image_height || !isset($wpgmza_image_height)) {
                    $wpgmza_image_height = "100";
                }
                if (!$wpgmza_image_width || !isset($wpgmza_image_width)) {
                    $wpgmza_image_width = "100";
                }
                $wpgmza_use_timthumb = $wpgmza_settings['wpgmza_settings_use_timthumb'];
                if ($wpgmza_use_timthumb == "" || !isset($wpgmza_use_timthumb)) {
                    ?>
                                                                wpmgza_image = "<br /><img src=\"<?php 
                    echo wpgmaps_get_plugin_url();
                    ?>
/timthumb.php?src="+wpmgza_image+"&h=<?php 
                    echo $wpgmza_image_height;
                    ?>
&w=<?php 
                    echo $wpgmza_image_width;
                    ?>
&zc=1\" title=\"\" alt=\"\" style=\"float:right; margin:5px;\" />";
                                                    <?php 
                } else {
                    ?>
                                                                wpmgza_image = "<br /><img src=\""+wpmgza_image+"\" class=\"wpgmza_map_image\" style=\"float:right; margin:5px; height:<?php 
                    echo $wpgmza_image_height;
                    ?>
px; width:<?php 
                    echo $wpgmza_image_width;
                    ?>
px\" />";
                                                    <?php 
                }
                ?>

                                                } else { wpmgza_image = "" }
                                                if (wpmgza_linkd != "") {
                                                    <?php 
                $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
                $wpgmza_settings_infowindow_links = $wpgmza_settings['wpgmza_settings_infowindow_links'];
                if ($wpgmza_settings_infowindow_links == "yes") {
                    $wpgmza_settings_infowindow_links = "target='_BLANK'";
                }
                ?>

                                                    wpmgza_linkd = "<a href=\""+wpmgza_linkd+"\" <?php 
                echo $wpgmza_settings_infowindow_links;
                ?>
 title=\"<?php 
                _e("More details", "wp-google-maps");
                ?>
\"><?php 
                _e("More details", "wp-google-maps");
                ?>
</a><br />";
                                                }

                                                if (wpmgza_mapicon == "" || !wpmgza_mapicon) { if (wpgmza_def_icon != "") { wpmgza_mapicon = '<?php 
                echo $wpgmza_default_icon[$wpgmza_cmd];
                ?>
'; } }


                                                var lat = jQuery(this).find('lat').text();
                                                var lng = jQuery(this).find('lng').text();
                                                var point = new google.maps.LatLng(parseFloat(lat),parseFloat(lng));
                                                MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.bounds.extend(point);
                                                if (wpmgza_anim == "1") {
                                                    var marker = new google.maps.Marker({
                                                            position: point,
                                                            map: MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.map,
                                                            icon: wpmgza_mapicon,
                                                            animation: google.maps.Animation.BOUNCE
                                                    });
                                                }
                                                else if (wpmgza_anim == "2") {
                                                    var marker = new google.maps.Marker({
                                                            position: point,
                                                            map: MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.map,
                                                            icon: wpmgza_mapicon,
                                                            animation: google.maps.Animation.DROP
                                                    });
                                                }
                                                else {
                                                    var marker = new google.maps.Marker({
                                                            position: point,
                                                            map: MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.map,
                                                            icon: wpmgza_mapicon
                                                    });
                                                }

                                                <?php 
                $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
                $wpgmza_settings_infowindow_address = $wpgmza_settings['wpgmza_settings_infowindow_address'];
                if ($wpgmza_settings_infowindow_address == "yes") {
                    ?>
                                                wpmgza_show_address = "";
                                                <?php 
                }
                ?>


                                                var html='<div class="wpgmza_markerbox">'
                                                    +wpmgza_image+
                                                    '<strong>'
                                                    +wpmgza_title+
                                                    '</strong>'+wpmgza_show_address+'<br /><span style="font-size:12px;">'
                                                    +wpmgza_desc+
                                                    '<br />'
                                                    +wpmgza_linkd+
                                                    ''+
                                                    <?php 
                if ($wpgmza_directions[$wpgmza_cmd] == 1) {
                    ?>
                                                    '<a href="javascript:void(0);" id="<?php 
                    echo $wpgmza_cmd;
                    ?>
" class="wpgmza_gd" wpgm_addr_field="'+wpmgza_address+'" gps="'+parseFloat(lat)+','+parseFloat(lng)+'"><?php 
                    _e("Get directions", "wp-google-maps");
                    ?>
</a>'
                                                    <?php 
                } else {
                    ?>
                                                    ' '
                                                    <?php 
                }
                ?>
                                                    +'</span></div>';

                                                if (wpmgza_infoopen == "1") {
                                                    //infoWindow.close();
                                                    infoWindow.setContent(html);
                                                    infoWindow.open(MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.map, marker);
                                                }

                                                google.maps.event.addListener(marker, 'click', function(evt) {
                                                    infoWindow.close();
                                                    infoWindow.setOptions({maxWidth:<?php 
                echo $wpgmza_settings_infowindow_width;
                ?>
});
                                                    infoWindow.setContent(html);
                                                    infoWindow.open(MYMAP_<?php 
                echo $wpgmza_cmd;
                ?>
.map, marker);
                                                    //MYMAP.map.setCenter(this.position);
                                                });


                                                marker_array[wpmgza_marker_id] = marker;
                                            }

                                        }
                        });

                });
                }
                        <?php 
                if ($show_location[$wpgmza_cmd] == "1") {
                    ?>
                         
                        // Try HTML5 geolocation
                        if(navigator.geolocation) {
                          navigator.geolocation.getCurrentPosition(function(position) {
                            user_location = new google.maps.LatLng(position.coords.latitude,
                                                             position.coords.longitude);
                            
                            var marker = new google.maps.Marker({
                                    position: user_location,
                                    map: MYMAP_<?php 
                    echo $wpgmza_cmd;
                    ?>
.map,
                                    animation: google.maps.Animation.DROP
                            });     
                            google.maps.event.addListener(marker, 'click', function(evt) {
                                    infoWindow.close();
                                    infoWindow.setContent('<?php 
                    _e("My location", "wp-google-maps");
                    ?>
');
                                    infoWindow.open(MYMAP_<?php 
                    echo $wpgmza_cmd;
                    ?>
.map, marker);
                                    //MYMAP.map.setCenter(this.position);
                                });
                            marker_array[marker_array+1] = marker;
                          });


                          } else {
                          // Browser doesn't support Geolocation
                        }       

                        <?php 
                }
                ?>


            }

            <?php 
            }
            // end foreach map loop
            ?>


            function openInfoWindow(marker_id) {
                google.maps.event.trigger(marker_array[marker_id], 'click');
                //infoWindow.setContent("km away from you.");
                //infoWindow.open(MYMAP_<?php 
            echo $wpgmza_cmd;
            ?>
, marker_array[0]);
            }




            function calcRoute(start,end,mapid,travelmode,avoidtolls,avoidhighways) {
                var request = {
                    origin:start,
                    destination:end,
                    travelMode: google.maps.DirectionsTravelMode[travelmode],
                    avoidHighways: avoidhighways,
                    avoidTolls: avoidtolls,

                };

                directionsService[mapid].route(request, function(response, status) {
                  if (status == google.maps.DirectionsStatus.OK) {
                    directionsDisplay[mapid].setDirections(response);
                  }
                });
              }
                function wpgmza_show_options(wpgmzamid) {

                      jQuery("#wpgmza_options_box_"+wpgmzamid).show();
                      jQuery("#wpgmza_show_options_"+wpgmzamid).hide();
                      jQuery("#wpgmza_hide_options_"+wpgmzamid).show();
                  }
                function wpgmza_hide_options(wpgmzamid) {
                      jQuery("#wpgmza_options_box_"+wpgmzamid).hide();
                      jQuery("#wpgmza_show_options_"+wpgmzamid).show();
                      jQuery("#wpgmza_hide_options_"+wpgmzamid).hide();
                  }
                function wpgmza_reset_directions(wpgmzamid) {

                    jQuery("#wpgmaps_directions_editbox_"+wpgmzamid).show();
                    jQuery("#directions_panel_"+wpgmzamid).hide();
                    jQuery("#wpgmaps_directions_notification_"+wpgmzamid).hide();
                    jQuery("#wpgmaps_directions_reset_"+wpgmzamid).hide();
                  }

                jQuery("body").on("click", ".wpgmza_gd", function() {
                    var wpgmzamid = jQuery(this).attr("id");
                    var end = jQuery(this).attr("wpgm_addr_field");
                    jQuery("#wpgmaps_directions_edit_"+wpgmzamid).show();
                    jQuery("#wpgmaps_directions_editbox_"+wpgmzamid).show();
                    jQuery("#wpgmza_input_to_"+wpgmzamid).val(end);
                    jQuery("#wpgmza_input_from_"+wpgmzamid).focus().select();

                });

                jQuery("body").on("click", ".wpgmaps_get_directions", function() {

                     var wpgmzamid = jQuery(this).attr("id");

                     var avoidtolls = jQuery('#wpgmza_tolls_'+wpgmzamid).is(':checked');
                     var avoidhighways = jQuery('#wpgmza_highways_'+wpgmzamid).is(':checked');


                     var wpgmza_dir_type = jQuery("#wpgmza_dir_type_"+wpgmzamid).val();
                     var wpgmaps_from = jQuery("#wpgmza_input_from_"+wpgmzamid).val();
                     var wpgmaps_to = jQuery("#wpgmza_input_to_"+wpgmzamid).val();
                     if (wpgmaps_from == "" || wpgmaps_to == "") { alert("<?php 
            _e("Please fill out both the 'from' and 'to' fields", "wp-google-maps");
            ?>
"); }
                     else { calcRoute(wpgmaps_from,wpgmaps_to,wpgmzamid,wpgmza_dir_type,avoidtolls,avoidhighways); jQuery("#wpgmaps_directions_editbox_"+wpgmzamid).hide("slow"); jQuery("#wpgmaps_directions_notification_"+wpgmzamid).show("slow");  }
                });


    </script>
<?php 
        }
    }
}