﻿var get_address;
var ricerca = false;
var my_cap = false;
var map_xhttp;

function initLoader(address, cap, search) {

    get_address = address;
    my_cap = cap;

    if (search == "search") {
        ricerca = true;
    }

    loadMaps();
}

function loadMaps() {

    google.load("maps", "2", { "callback": mapsLoaded });
}

function mapsLoaded() {
    var map = new google.maps.Map2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.setMapType(G_PHYSICAL_MAP);
    var geocoder = new GClientGeocoder();
    if (geocoder) {
        geocoder.getLatLng(
          get_address,
          function(point) {
              if (!point) {
                  alert(get_address + " non trovato");
              }
              else {
                  map.setCenter(point, 13);
                  if (get_address == "italia") {
                      for (var i = 0; i < 9; i++) {
                          //map.zoomIn();
                          map.zoomOut();
                      }
                  }
                  else {
                      var marker = new GMarker(point);
                      map.addOverlay(marker);
                      for (var i = 0; i < 3; i++) {
                          //map.zoomIn();
                          map.zoomOut();
                      }
                  }
              }
          }
        );
      }

      document.getElementById("map").style.visibility = "visible";
}


//funzione di RICERCA

var check = false;
var get_cap = "";
var comune;
var id_rivenditore = "";
var cap_http;

function search() {
    if (document.getElementById('city').value != "") {
        get_cap = "";
        id_rivenditore = "";
        check = false;
        var search = "search";
        var city = document.getElementById('city').value;
        comune = city.toString().toLowerCase();
        get_cap = document.getElementById('cap').value;
        var lenght = get_cap.length;

        if (get_cap == null || get_cap == undefined || get_cap == "") { //situazione normale

            check_cap(); //guardo associazione com/riv e se bisogna specificare il cap

            if (check) {
                document.getElementById('div_cap').style.display = "block";
                document.getElementById('cap').focus();
                check = false;
                alert("Il comune indicato ha più rivenditori associati. Inserire il CAP");
                return;
            }
            else {
                if (id_rivenditore != "") {
                    refresh_data(id_rivenditore, 'nothing');
                    document.getElementById('intro').style.display = "none";
                    document.getElementById('show_rivenditore').style.display = "block";
                    //document.getElementById('intesta').style.display = "block";
                    document.getElementById('blocco_ricerca').style.display = "none";
                }
                else {
                    alternativo();
                }
            }
        }
        else {
            if (lenght == 5) {
                //ricerca CON il cap
                if (window.XMLHttpRequest) {
                    cap_http = new XMLHttpRequest();
                }
                else {
                    cap_http = new ActiveXObject("Microsoft.XMLHTTP");
                }
                cap_http.open("GET", "/rivenditore.ashx?associa=yes&cap=" + get_cap + "&city=" + city);
                cap_http.onreadystatechange = show_data_cap;
                cap_http.send(null);
            }
            else {
                alert("Il CAP deve essere un numero di 5 cifre");
            }
        }
    }
}

function show_data_cap() {
    if (cap_http.readyState == 4) {
        var data_cap = cap_http.responseText;
        if (data_cap == "no_associazione") {

            alternativo();
        }
        else {
            show_data(data_cap);
            document.getElementById('intro').style.display = "none";
            document.getElementById('show_rivenditore').style.display = "block";
            document.getElementById('blocco_ricerca').style.display = "none";
        }
        document.getElementById('caricamento').style.display = "none";
        document.getElementById('main_box').style.display = "block";
    }
}

function check_cap() {

    //controllo se la città ha cap in esclusiva
    if (window.XMLHttpRequest) {
        xhttp = new XMLHttpRequest();
    }
    else {
        xhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET", "/public/associa_com_riv.xml", false);
    xhttp.send("");
    xmlDoc = xhttp.responseXML;

    var x = xmlDoc.getElementsByTagName("Table");
    for (i = 0; i < x.length; i++) {
        if (x[i].getElementsByTagName("comune")[0].childNodes[0].nodeValue == comune) {
            if (x[i].getElementsByTagName("creator")[0].childNodes[0].nodeValue != "n/a") {
                check = true;
                get_cap = x[i].getElementsByTagName("creator")[0].childNodes[0].nodeValue;
            }
            id_rivenditore = x[i].getElementsByTagName("id_rivenditore")[0].childNodes[0].nodeValue;
        }
    }
}
