var postcode_re;

$(document).ready(function() {
    postcode_re=new RegExp(lang['postcode_re']);
    var form_submission_requested=false;
    $("form#registration-form").submit(function() {
        if (form_submission_requested==true) return true;
        form_submission_requested=true;

        postcode = $("input[@name='postal_code']").val();
        if (postcode_re.test(postcode)) {
            var localSearch = new google.search.LocalSearch();
            localSearch.setSearchCompleteCallback(null,
                function() {
                    if (localSearch.results[0]) {
                        $("input[@name='lat']").val(parseFloat(localSearch.results[0].lat)*Math.PI/180);
                        $("input[@name='lon']").val(parseFloat(localSearch.results[0].lng)*Math.PI/180);
                    } else {
                        $("input[@name='lat']").val('no_result');
                    }
                    $("form#registration-form").submit();
                });
            localSearch.execute(postcode + ", " + lang['google_country_id']);
            return false
        } else {
             // submit anyway and let the php deal with the validation
             $("input[@name='lat']").val('invalid_postcode');
             $("form#registration-form").submit();
             return false;
       }
    });


    $("form#registration-form input:submit").hide();
    $("input[@name='accept_terms']").attr('checked', false);
    $("input[@name='accept_terms']").click(function() {
        if ($(this).attr('checked')) $("form#registration-form input:submit").show();
        else $("form#registration-form input:submit").hide();
    });

});
