/* $Header: /var/home/dev/dzf/dzf_src/RCS/map_search.js,v 1.4 2007/08/27 02:40:04 dev Exp $ */

if( typeof( Finder ) === 'undefined' ) {
    Finder = {};
}

Finder.mapChanged = function( type ) {
    Finder.updateLatLng();
}

Finder.mapDrag = function( type ) {
    Finder.updateLatLng();
}

Finder.updateLatLng = function() {
    var d, mapCont = document.getElementById( 'ovmap' );
    if( mapCont ) {
        if( ( d = document.getElementById( 'lat' ) ) ) {
            d.value = Finder.map.getCenter().lat();
        }
        if( ( d = document.getElementById( 'lng' ) ) ) {
            d.value = Finder.map.getCenter().lng();
        }
    }
}


Finder.addCrosshairs = function() {
    var mapCont = document.getElementById( 'ovmap' );
    if( mapCont ) {
        var mh = mapCont.offsetHeight;
        var mw = mapCont.offsetWidth;

        var ch = 78;
        var cw = 78;

        var x = parseInt( ( mw / 2 ) - ( cw / 2 ) );
        var y = parseInt( ( mh / 2 ) - ( ch / 2 ) );

        var i = document.createElement( "img" );
        i.src = "/dropzone/images/finder/crosshair.gif";
        i.style.position = "absolute";
        i.style.top = y + "px";
        i.style.left = x + "px";
        i.id = "crosshairs";
        mapCont.appendChild( i );
    }
}

Finder.latLngUpdateInit = function() {
    var lat = document.getElementById( 'lat' ),
        lng = document.getElementById( 'lng' );

    if( lat && lng ) {
        Finder.add_listener( lat, 'change', Finder.latLngUpdated );
        Finder.add_listener( lng, 'change', Finder.latLngUpdated );
    }
}

Finder.latLngUpdated = function() {
    var ll = Finder.findLatLng();
    Finder.recenterAndZoom( ll, true );
}

