﻿var map;
var geocoder;
var defaultSearchValue;
var SearchPoint = new Array(2);
var gMarkers = new Array(10);
var gSize = new GSize(16, 28);

var iconHome = new GIcon(G_DEFAULT_ICON);
iconHome.iconSize = gSize;
iconHome.image = ("images/pins/pin_home.png");
iconHome.shadow = ("images/pins/pin_shadow.png");

$(document).ready(function() {
    defaultSearchValue = "Search by City, State or Zip";

    $("#map_search_form").bind("keypress", function(e) {
        if (e.keyCode == 13) {
            searchSubmit();
            return false;
        }
    });
});

function searchSubmit(){
    var addr = ($('#address').val()).toString();
    $('#hiddenAddress').val(addr);
    $('#hiddenAction').val("0");

    if (defaultSearchValue == addr) {
        map = $('#map');
        var mapCenter = Mapifies.getCenter(map);
        $('#hiddenLong').val(mapCenter.x);
        $('#hiddenLat').val(mapCenter.y);
        document.map_search_form.submit(); // submit form
        return true;
    } else {
        $('#map').jmap('SearchAddress', {
            'query': addr,
            'returnType': 'getLocations'
        }, function(result, options) {
            var valid = Mapifies.SearchCode(result.Status.code);
            if (valid.success) {
                var sLong = result.Placemark[0].Point.coordinates[0];
                var sLat = result.Placemark[0].Point.coordinates[1];
                $("#hiddenLong").val(sLong);
                $("#hiddenLat").val(sLat);
                document.map_search_form.submit(); // submit form
                return true;
            }
        });
    }
    return false;
}

function goToPage(num) {
    var addr = $('#address').val();
    $('#hiddenAction').val(num);
    $('#hiddenAddress').val(addr);
    document.forms['map_search_form'].submit(); // submit form
    return true;
}

function searchClear(box) {
    if (box.value == defaultSearchValue) {
        box.value = ''; 
    }
}

function searchReset(box) {
    if (box.value == '') {
        box.value = defaultSearchValue;
    }
}

function showPopup(marker) {
    // retrieve the element to show in the window
    element = document.getElementById(marker.popupid);

    // we can't pass this element in because it gets destroyed
    // once the window is closed, so we make a copy
    element = element.cloneNode(true);

    // switch display from off to on
    element.style.display = "";

    // then open the window
    map.openInfoWindow(marker.getPoint(), element);
}

