
var isInitialized = false;
var geocoder;
var place;
var x;
var y;
var country = null;
var zip = null;
var state = null;


function GoogleKey() {
    var key = "";
    switch (document.domain) {
        case "www.dpt.com":        return "ABQIAAAALDgb_lcEZ9X60tLxsyCyyRSsr9bpAld31VGqRfLM3YdHD_2qHBR3eGtsaDP2dMoNJcPT6SxwUm6iYw";
        case "dpt.sync4me.com":    return "ABQIAAAALDgb_lcEZ9X60tLxsyCyyRSzYfaeZgrsF8Hf91NIyxsxvRdfJRRc94t9TaOKIbRxC3_DAtahuhKDzQ";
        case "www.dptjewelry.net": return "ABQIAAAApSjv6v8IrWjXgRiYZCIx-xRe10Y_hSKK4gxJx-zXOESZYCCJUxSvfR5YUIqL6Tc6KhJnuCt6na7bow";
        case "dptjewelry.net":     return "ABQIAAAALDgb_lcEZ9X60tLxsyCyyRRK-sMR0UnfjcuKtQxxqYv6BI9PixQMUCkE4BO3tl4oBGBb0IBPjHoj2Q";
        case "net.dptjewelry.com": return "ABQIAAAALDgb_lcEZ9X60tLxsyCyyRRe3uQ-8EfxN4OlPGS3-A_7fndXXxQqJbVK30UqPnPMAVeLcAXSIPRHBQ";
        case "dptjewelry.com":     return "ABQIAAAALDgb_lcEZ9X60tLxsyCyyRQ2QGOAmJhKYC-8yg-AwFp2yZKsRBQWqnEuSVYGBJ4nTU8o37KgE9-jTg";
        case "www.dptjewelry.com": return "ABQIAAAALDgb_lcEZ9X60tLxsyCyyRQyq7Jv8eO2n6XC1NJCKcSHyRbtExQ98QERv4lsXhIvQ8zdZAnklcGcIA";
       
    }
    return "";
}


function googleIPAuto() {
    if (!isInitialized) {
        isInitialized = true;
        if (GBrowserIsCompatible()) {
            x = geoip_latitude();
            y = geoip_longitude();
            geocoder = new GClientGeocoder();
            geocoder.getLocations(new GLatLng(parseFloat(x), parseFloat(y)), saveAddressAuto);
        }
    }
}


function saveAddressAuto(response) {
    //map.clearOverlays();  
    if (!response || response.Status.code != 200) {
        alert("Error:" + response.Status.code);
        return;
    }
    for (i = 0; i < response.Placemark.length; i++) {
        place = response.Placemark[i];
        if (place.AddressDetails.Accuracy < 4) {
            continue;
        }

        if (place.AddressDetails.Country != null)
            if (place.AddressDetails.Country.AdministrativeArea != null)
            if (place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea != null)
            if (place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality != null) {

            var Locality = place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality;
            zip = null;

            if (Locality.DependentLocality != null) // есть базовый локалити
                if (Locality.DependentLocality.PostalCode != null)
                if (Locality.DependentLocality.PostalCode.PostalCodeNumber != null) {
                zip = Locality.DependentLocality.PostalCode.PostalCodeNumber;
            }

            if (Locality.PostalCode != null)
                if (Locality.PostalCode.PostalCodeNumber != null) {
                zip = Locality.PostalCode.PostalCodeNumber;
            }

            if (zip != null) {
                country = place.AddressDetails.Country.CountryNameCode;
                state = place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;
                break;
            }
        }

        if (place.AddressDetails.Country != null)
            if (place.AddressDetails.Country.AdministrativeArea != null)
            if (place.AddressDetails.Country.AdministrativeArea.Locality != null) {

            var Locality = place.AddressDetails.Country.AdministrativeArea.Locality;
            zip = null;

            if (Locality.DependentLocality != null) // есть базовый локалити
                if (Locality.DependentLocality.PostalCode != null)
                if (Locality.DependentLocality.PostalCode.PostalCodeNumber != null) {
                zip = Locality.DependentLocality.PostalCode.PostalCodeNumber;
            }

            if (Locality.PostalCode != null)
                if (Locality.PostalCode.PostalCodeNumber != null) {
                zip = Locality.PostalCode.PostalCodeNumber;
            }

            if (zip != null) {
                country = place.AddressDetails.Country.CountryNameCode;
                state = place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;
                break;
            }
        }
    }
    //alert(country);
    //alert(state);
    //alert(state + ' ' + zip);


    dpt.services.svrclient.setLocation(country, state, zip);
    
    
}

document.write("<script src=\"http://maps.google.com/maps?file=api&v=3&sensor=true&key=" + GoogleKey() + "&hl=en\" type=\"text/javascript\"></script>");
document.write("<script src=\"http://www.google.com/uds/api?file=uds.js&v=1.0&hl=en\"></script>");
document.write("<script src=\"http://j.maxmind.com/app/geoip.js\" type=\"text/javascript\"></script>");

$(document).ready(function() 
{
    googleIPAuto();
});

