
var countries =
{
    'AU': {u: 'Km',    f:false,  p:true, la:47.54687159892238,   ln:14.4140625,      z:5},
    'CA': {u: 'Miles', f:true,   p:false, la:50.958426723359935,  ln:-112.5,          z:5},
    'DK': {u: 'Km',    f:false,  p:true, la:55.89995614406812,   ln:9.931640625,     z:5},
    'FI': {u: 'Km',    f:false,  p:true, la:65.16457888401896,   ln:26.5869140625,   z:5},
    'DE': {u: 'Km',    f:true,   p:true, la:50.958426723359935,  ln:10.5908203125,   z:5},
    'NL': {u: 'Km',    f:false,  p:true, la:51.31688050404585,   ln:4.921875,        z:5},
    'NO': {u: 'Km',    f:false,  p:true, la:62.4107287530686,    ln:9.3603515625,    z:5},
    'PT': {u: 'Km',    f:false,  p:true, la:39.16414104768742,   ln:-8.173828125,    z:5},
    'ES': {u: 'Km',    f:false,  p:true, la:40.27952566881291,   ln:-3.8671875,      z:5},
    'SE': {u: 'Km',    f:false,  p:true, la:62.97519757003264,   ln: 16.0400390625,  z:5},
    'CH': {u: 'Km',    f:false,  p:true, la:46.84516443029276,   ln:8.45947265625,   z:5},
    'UK': {u: 'Miles', f:true,   p:true, la:53.4357192066942,    ln:-2.109375,       z:5},
    'US': {u: 'Miles', f:true,   p:false, la:50.958426723359935,  ln:-112.5,          z:5}
}

var countrySelect;
var distanceSelect;
var submitButton;
var flashMap;

$(document).ready(function()
{
    submitButton = $('#btnSubmit');
    submitButton.click(function(){
         document.getElementById('ddlType').disabled = false;
    });
    
    if( navigator.appName.indexOf( "Microsoft" ) != -1 )
        flashMap = window[ "main" ];
    else
        flashMap = swfobject.getObjectById('main');
        
    countrySelect = $('#ddlCountry');
    distanceSelect = $('#ddlDistance');
    countrySelect.bind('change', function(){
        setDistanceUnits($(this).val());
        setSalonType($(this).val());
        if(flashMap!=null) flashMap.setCountry($(this).val());
    });
    
    setDistanceUnits(countrySelect.val());
    setSalonType(countrySelect.val());
});

function setCountryList(country)
{
    setDistanceUnits(country);
    setSalonType(country);
    var c = document.getElementById('ddlCountry');
    for(var i=0; i<c.options.length; i++)
    {
        var opt = c.options[i];
        if(opt.value == null) continue;
        opt.selected = (opt.value == country);
    }
}

function setDistanceUnits(country)
{
    if(country == 'select') return;
    var c = document.getElementById('ddlDistance');
    var unit = countries[country]['u'];
    for(var i=0; i<c.options.length; i++)
    {
        var opt = c.options[i];
        if(opt.value == null || opt.value == 'select') continue;
        opt.text = opt.value + " " + unit;
    }
}

function setSalonType(country)
{
    if(country == 'select') return;
    var c = countries[country];
    var f = c['f'];
    var p = c['p'];
    var l = document.getElementById('ddlType');
    var val = l.options[l.selectedIndex].value;
    
    for(var i=0; i<l.options.length; i++)
    {
        var opt = l.options[i];
        if(f==p)
            opt.selected = opt.text == val;
        else
        {
            if(opt.text == 'Sassoon Salon' && f) opt.selected = true;
            if(opt.text == 'Sassoon Professional Partner Salon' && p) opt.selected = true;
        }
    }
    //              XOR
    l.disabled = (f != p);
}

function flashSetSalonType(type)
{
    var f = type == 'salon';
    var p = type == 'pro';
    var l = document.getElementById('ddlType');
    
    for(var i=0; i<l.options.length; i++)
    {
        var opt = l.options[i];
        opt.selected = false;
        if(opt.text == 'Sassoon Salon' && f) opt.selected = true;
        if(opt.text == 'Sassoon Professional Partner Salon' && p) opt.selected = true;
    }
    displayMap();
}

var gmap;
function displayMap()
{
    var c = document.getElementById('ddlCountry');
    var country = countries[c.options[c.selectedIndex].value];
    
    var latlng = new google.maps.LatLng( country.la,  country.ln);
    var myOptions = { zoom: country.z, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
    gmap = new google.maps.Map(document.getElementById("map"), myOptions);
    google.maps.event.addListener(gmap, "click", submitWithMapLocation);
}

function submitWithMapLocation(e)
{
    document.getElementById('hidLat').value = e.latLng.lat();
    document.getElementById('hidLng').value = e.latLng.lng();
    document.forms[0].submit();
}














