﻿window.addEvent('domready', function(){

    var county = $(countyId);
    var city = $(cityId);
    var cityDiv = $(cityDivId);
    var nationalCbo = $(nationalCboId);
    var countyCbo = $(countyCboId);
    var cityCbo = $(cityCboId);
    var locationContainer = $('locationContainer');
    
    costDiv = $('cost');
    costValue = $('costValue');
    priceInfo = $('priceInfo');

    if (nationalCbo)
    {
        nationalCbo.addEvent ('click', function(){
            hideLocation();
            showPrice();
        });
    }

    if (countyCbo)
    {
        if (countyCbo.checked)
        {
            showLocation();
            hideCity();
        }

        countyCbo.addEvent ('click', function(){
            showLocation();
            hideCity();
            
            if (city)
                city.value = '';

            cityEmpty = true;
            processCounty();
            showPrice();
        });
    }

    if (cityCbo)    
    {
        if (cityCbo.checked)
        {
            showLocation();
            showCity();
        }
            
        cityCbo.addEvent ('click', function(){
            showLocation();
            showCity();
            showPrice();
        });
    }
            
    if (county)
    {
        county.addEvent ('change', function(){
            processCounty();
            showPrice();
        });

        city.addEvent ('keyup', function(){

            if (this.value.replace(/ /g,'') == '')
            {
                if (!cityEmpty)
                {
                    if (county.value == '0')
                    {
                        extraCounty = false;
                        extraCity = false;
                    }
                    else
                    {
                        //extraCounty = true;
                        //extraCity = false;
                        extraCounty = !cityCbo.checked;
                        extraCity = cityCbo.checked;
                    }
                }
                cityEmpty = true;
            }
            else
            {
                if (cityEmpty)
                {
                    if (county.value == '0')
                    {
                        extraCounty = false;
                        extraCity = false;
                    }
                    else
                    {
                        extraCounty = false;
                        extraCity = true;
                    }
                }
                cityEmpty = false;
            }
            
            showPrice();
        });
        
    }
   
    function processCounty()
    {
        if (county.value == '0')
        {
            extraCounty = false;
            extraCity = false;
        }
        else
        {
            if (city.value.replace(/ /g,'') == '')
            {
                extraCounty = !cityCbo.checked; //true;
                extraCity = cityCbo.checked; //false;
            }
            else
            {
                extraCounty = false;
                extraCity = true;
            }
        }
    }

    function showPrice()
    {
        if (!costDiv)
            return;
            
        locTotal = 0;

        if (extraCounty) // && !cityCbo.checked)
            locTotal += countyPrice;
            
        if (extraCity)
        {
            locTotal += cityPrice;
        }
            
        if (locTotal == 0)
        {
            costDiv.setStyle ('display', 'none');
            costValue.innerHTML = 'free';
        }
        else
        {
            costValue.innerHTML = '+£' + locTotal;
            costDiv.setStyle ('display', 'block');
        }

        var nationalCbo = $(nationalCboId);
        if (nationalCbo.checked)
            priceInfo.innerHTML = '£' + (advertBasePrice + nationalPrice);
        else
            priceInfo.innerHTML = '£' + (advertPrice + locTotal);
    }

    function showLocation()
    {
        if (locationContainer)
        {
            locationContainer.setStyle('display', 'block');
        }
    }

    function hideLocation()
    {
        if (locationContainer)
        {
            locationContainer.setStyle('display', 'none');
        }
    }

    function showCity()
    {
        if (cityDiv)
        {
            cityDiv.setStyle('display', 'block');
        }
    }

    function hideCity()
    {
        if (cityDiv)
        {
            cityDiv.setStyle('display', 'none');
        }
    }
});


