function searchfield_click(e) {
    this.style.fontStyle='normal';
    this.style.color='black';
    $('#input').val('1');
    if (this.value == searchfield_defaulttext) this.value='';
}

function searchfield_blur(e) {
    if (document.getElementById('adr').value =='') {
        this.style.fontStyle='italic';
        this.style.color='grey';
        this.value = searchfield_defaulttext;
        $('#input').val('0');
    }
}

function searchfield_initialize() {
    if (window.location.search != "") {
        if (window.location.search.indexOf("intranet=1") != -1) {
            $('#intranet').val('1');
        }
    }
    $('#adr').bind('click', searchfield_click);
    $('#adr').bind('blur', searchfield_blur);
    $('#adr').keydown(function(e) {
        if(e.keyCode == 13) {
            return searchfield_submit();
        }
    });

}

function checkInput() {
    var fieldtextvalue = $('#adr').val();
    if (fieldtextvalue == searchfield_defaulttext || fieldtextvalue == "" ) {
        $('#adrlabel').css('color', 'red');
        return false;
    } else {
        return true;
    }
}

var geocoder = null;
var searchmap = null;
function searchfield_submit() {
    geocoder = new GClientGeocoder();

    $('#error-geo-search').remove();

    if (!checkInput()) {
        return false;
    }
    var http = 'http://'
    var domain = window.location.hostname;
    var search = $('#searchfieldform').attr("action");

    var finallink = http + domain + search;

    var cc = $("#sx-seo-cc").val();
    var adr = "" + $('#adr').val();
    //if clicked = Y
    var train = $('#train').is(':checked');
    var airport = $('#airport').is(':checked');
    var truck = $('#truck').is(':checked');
    var funcars = $('#funcars').is(':checked');
    
    var address = adr;
    if(geocoder){
        if(typeof(cc) != "undefined" && cc != "")
            geocoder.setBaseCountryCode(cc)

        
        geocoder.getLatLng(address, function(point){
            if(point){
                var lat = point.y;
                var lon = point.x;


                if(typeof(lat) != 'undefined' && typeof(lon) != 'undefined'){

                    geocoder.getLocations(point, function(response){

                        var place = '';
                        if(typeof(response.Placemark[0].AddressDetails) != "undefined"){
                            if(typeof(response.Placemark[0].AddressDetails.country) != "undefined"){
                                if(typeof(response.Placemark[0].AddressDetails.country.AdministrativeArea) != "undefined"){
                                    if(typeof(response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea) != "undefined"){
                                        if(typeof(response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName) != "undefined"){
                                            place = response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;
                                        }
                                    }else{
                                        place = response.Placemark[0].AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;
                                    }
                                }
                            }
                        }
                        var g_country = response.Placemark[0].AddressDetails.Country.CountryNameCode;

                        var final_lat;
                        var final_lon;

                        if(response.Placemark.length > 1){
                                final_lon = response.Placemark[1].Point.coordinates[0];
                                final_lat = response.Placemark[1].Point.coordinates[1];
                        }else{
                                final_lon = lon;
                                final_lat = lat;
                        }

                        finallink += "?adr=" + adr + "&latu=" + final_lat + "&lotu=" + final_lon;

                        if(train)
                            finallink += "&train=Y";
                        if(airport)
                            finallink += "&airport=Y";
                        if(truck)
                            finallink += "&truck=Y";
                        if(funcars)
                            finallink += "&funcars=Y";

                        if(typeof(place) != 'undefined' && place.length >= 1)
                            finallink += "&locality=" + place;
                        if(typeof(place) != 'undefined' && place.length >= 1)
                            finallink += "&countrycode=" + g_country;
                        
                        window.location.href = finallink;
                        return true;
                    });
                }
                else{
            //        alert(1);
            //        $('#searchfieldform').submit();
                    return true;
                }

            }else{
         //       $('#searchfieldform').submit();
                return true;
            }

        });
    }else{
        return true;
    }
}

$(document).ready(function(){
    $('#searchfieldform').submit(function(){
        searchfield_submit();
        return false;    
    });
});

var global_place;
function get_place(place){
    global_place = place;
}

