﻿function searchAddress(searchString) {
    PageMethods.SearchIndex(searchString, false, false, false, false, true, searchAddressReceiver);       
}

function searchAddressReceiver(response) {
    if (response != null && response.length > 0) {
        var cmd = response.substring(0,3);
        var value = response.substring(3);
        
        if (cmd == 'go:') {
            location.href = '../' + value;
        } else if (cmd == 'se:') {
            searchAddressOnMap(value);
        }
    }
}

function searchAddressOnMap(searchString) {
    geocoder.getLocations(searchString, searchAddressOnMapReceiver);
}

function searchAddressOnMapReceiver(response) {
    if (!response || response.Status.code != 200) {
        alert(address + ' gick tyvärr inte att hitta.\nSök gata enligt: Kungsportsavenyn, Göteborg.\nSök stad enligt: London\nSök land enligt:Finland');
    } else {
        var place = response.Placemark[0];
        var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
        var acc = place.AddressDetails.Accuracy; 
      
        if (acc == 0) {
            acc += 4;
        } else if (acc == 1) {
            acc += 4;
        } else if (acc == 2) {
            acc += 5;
        } else if (acc == 3) {
            acc += 5;
        } else if (acc == 4) {
            acc += 6;
        } else if (acc == 5) {
            acc += 7;
        } else if (acc == 6) {
            acc += 9;
        } else if (acc == 7) {
            acc += 9;
        } else if (acc == 8) {
            acc += 9;
        } else {
            acc += 9;
        }
      
        moveZoom(point.lat(), point.lng(), acc);
    }
}
