﻿var osMap;

$(document).ready(function() {
    osMap = new OSMapWrapper('map', { 
        dragable: true, 
        centerLat: 844250,
        centerLng: 232150,
        zoomLevel: 4 });
    osMap.Initalize();

    osMap.addEvent('click', addDragMarker);
    $('.gridRef').change(setMarkerPosition);    
});

function addDragMarker(px) {
    var lonLat = osMap.getNEFromScreenPoint(px.xy.x, px.xy.y);
    osMap.addDragMarker(lonLat.lon, lonLat.lat); 
};

function setMarkerPosition() {
    var gridRef = $('.gridRef').val();
    if (gridRef == '') {
        return;
    }
    var pos = osMap.ConvertGridRefToNorthingAndEastings(gridRef);
    osMap.addDragMarker(pos.northing, pos.easting);
    osMap.setMapCenter(pos.northing, pos.easting);
}

function findLocation() {
    var reqLocation = $('#locationSearch').val();
    if (reqLocation.match('^((([sS]|[nN])[a-hA-Hj-zJ-Z])|(([tT]|[oO])[abfglmqrvwABFGLMQRVW])|([hH][l-zL-Z])|([jJ][lmqrvwLMQRVW]))([0-9]{2})?([0-9]{2})?([0-9]{2})?([0-9]{2})?([0-9]{2})?$')) {
        var pos = osMap.ConvertGridRefToNorthingAndEastings(reqLocation);
        osMap.setMapCenter(pos.northing, pos.easting);
    }
    if (reqLocation.match('^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$')) {
        osMap.findPostcode(reqLocation);
    }
    osMap.findTown(reqLocation);
    $('html, body').animate({ scrollTop: 0 }, 'fast');
    return false;
}

//function validateTerms(val, args) {
//    args.IsValid = $('.terms :checkbox:checked').length == 1;
//}
