window.addEvent('domready', function() {
    $$('#feedbackFormDivisionSelection select').each(function(divisionSelect){
        ajaxChangeDivisionCountry(divisionSelect);
        divisionSelect.addEvent('change', function(e) {
            ajaxChangeDivisionCountry(divisionSelect); 
        });
    });
});

function ajaxChangeDivisionCountry(divisionSelect) {
    ajaxBeginRequest(divisionSelect);
    new Request({url: '/feedbackform/ajax_get_division_countries/' + divisionSelect.get('value'), method: 'get', onComplete: function(txt) {
            var response    = txt.substring(0, txt.indexOf('<b>Fatal error</b>') );
            if( response.length == 0 ) {
                alert('Selected inst represent in any country');
            } else {
                var selectedCountry = $('country').get('value');

                $('feedbackFormCountrySelection').empty();
                var countrySelect = new Element('select', {
                    'name': 'ContentObjectAttribute_ezstring_data_text_987'
                });
                countrySelect.inject($('feedbackFormCountrySelection'));

                eval( "response = " + response );
                var responseHash = new Hash(response); 
                responseHash.each(function(email, country) {
                    var option = new Element('option', {
                        'value':country,
                        'html':country
                    });
                    if(selectedCountry == country) {
                        option.set('selected', true);
                    }
                    option.inject(countrySelect);
                });
            }
            ajaxFinishRequest(divisionSelect);
        }
    }).send();

}

function ajaxBeginRequest(divisionSelect) {
    $(document.body).get('tween', {property: 'opacity', duration: 'short'}).start(0.3);
    divisionSelect.set('disabled', true);
}

function ajaxFinishRequest(divisionSelect) {
    $(document.body).get('tween', {property: 'opacity', duration: 'long'}).start(1);
    divisionSelect.set('disabled', false);
}