
    var gmarkers = [];
    var marker_old = null;
    var marker = null;
    var geocoder = null;

 function showAddress(address,id, distance) {
//proteza jersey

    if(address.substr(15,3).toLowerCase() == 'je1' || address.substr(15,3).toLowerCase() == 'je2' || address.substr(15,3).toLowerCase() == 'je3' || address.substr(15,3).toLowerCase() == 'je4'){
        address = "UK,Jersey";
    }


      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert("We're having trouble locating this address. "+address+" not found. Please try again. ");
//              var tmp = 'UPDATE user SET ';
//                  tmp = tmp + 'lat=' + '-500';
//                  tmp = tmp + ' WHERE id_user = '+id+ ';'+"\n";
//                  tmp = tmp + "\n";
//              document.getElementById("parametry").value = document.getElementById("parametry").value + tmp;



            } else {


              if(distance == 3)  gmap.setCenter(point, 12);
              if(distance == 5)  gmap.setCenter(point, 11);
              if(distance == 10) gmap.setCenter(point, 10);
              if(distance == 20) gmap.setCenter(point, 9);
              if(distance == 50) gmap.setCenter(point, 8);

//              var marker = new GMarker(point);
//              gmap.addOverlay(marker);
//              var tmp = 'UPDATE user SET ' + ' lng =' + point.lng();
//                  tmp = tmp + ',lat=' + point.lat();
//                  tmp = tmp + ' WHERE id_user = '+id+ ';'+"\n";
//              document.getElementById("parametry").value = document.getElementById("parametry").value + tmp ;
//              marker.openInfoWindowHtml(address);
            }
          }
        );
      }
    }


 function addMarker(lng, lat, name, id_user, address, address2, address3, address4, postalcode, phone){

    var info =  "<P style='FONT-FAMILY: Tahoma, Arial, Sans-Serif; FONT-SIZE: 11px;'><a href='?element=user&action=profile&id_user="+id_user+"' ><B>"+name+"</B></a><BR>";
    if(address != '')   info = info + address+ "<BR>";
    if(address2 != '')   info = info +  address2+"<BR>";
    if(address3 != '')   info = info +  address3+", "; if(address4 != '')   info = info +  address4;
    if(postalcode != '')   info =   info +"<BR>" +  postalcode+"<BR>";
    if(phone != '')   info = info + "Tel:"+ phone+"";
    info = info + "</P>";
    if(id_user != '')   info = info + "<HR><a href='?element=user&action=profile&id_user="+id_user+"' >See Details</a>";
    
//     var marker = new GLatLng(lat, lng);
    var LatLng = new GLatLng(lat, lng);
    var marker = new GMarker(LatLng);
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(info);});

    gmap.addOverlay(marker);
    gmarkers.push(marker);

    //gmap.setCenter(LatLng, 14);

 }


function windowMarker(marker_no){
   GEvent.trigger(gmarkers[marker_no],'click');
}

function getLanLng(){

    var post_code = document.getElementById('post_code').value;
    setLatLngAddress("UK,"+post_code);


}


 function setLatLngAddress(address) {
//proteza jersey
    if(address.substr(3,3).toLowerCase() == 'je1' || address.substr(3,3).toLowerCase() == 'je2' || address.substr(3,3).toLowerCase() == 'je3' || address.substr(3,3).toLowerCase() == 'je4'){
        address = "UK,Jersey";
    }

var geocoder = new GClientGeocoder();

      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert("We're having trouble locating this address. "+address+" not found. Please try again. ");
            } else {


                document.getElementById("lat").value =  point.lat() ;
                document.getElementById("lng").value =  point.lng() ;
                
                if(document.getElementById("frm-stockist")) document.getElementById("frm-stockist").submit() ;
                if(document.getElementById("frm-find")) document.getElementById("frm-find").submit() ;

                
            }
          }
        );
      }
    }


function blockEnter(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode :((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13) {
        getLanLng();
        return false;
    } else {
        return true;
    }
}
function showMarker(){
  var LatLng = new GLatLng( document.getElementById('lat').value, document.getElementById('lng').value );
  marker = new GMarker(LatLng, {draggable: true});
  gmap.addOverlay(marker);
  gmap.setCenter(LatLng, 14);
  dragMarker();
}

function dragMarker(){
  GEvent.addListener(marker,'dragend',function()
        {
            elem=document.getElementById('lat');
            elem.value = marker.getPoint().lat();
            elem2=document.getElementById('lng');
            elem2.value = marker.getPoint().lng();
        }
  );
}

function findByPostalCode(){
  
    var post_code=document.getElementById('post_code');

    if (marker != null) gmap.removeOverlay(marker);

    if(post_code.value == ''){
        alert("We're having trouble locating this address. post code is empty. Please try again33. ");
    }
    else{
        showAddressEditUser('UK,'+post_code.value,1);
    }
}





 function showAddressEditUser(address,distance) {

      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert("We're having trouble locating this address. "+address+" not found. Please try again44. ");
            } else {
              if(distance == 1)  gmap.setCenter(point, 14);
              if(distance == 3)  gmap.setCenter(point, 12);
              if(distance == 5)  gmap.setCenter(point, 11);
              if(distance == 10) gmap.setCenter(point, 10);
              if(distance == 20) gmap.setCenter(point, 9);
              if(distance == 50) gmap.setCenter(point, 8);



              //marker = new GMarker(point);
              //gmap.addOverlay(marker);

                document.getElementById("lat").value =  point.lat() ;
                document.getElementById("lng").value =  point.lng() ;

                showMarker();
            }
          }
        );
      }
    }


