$().ready(function() {
    hostname = window.location.host;
    
    function parseXMLMovies(data) {
        rows = $(data).find('#databaseDiv0 row');
        return $.map(rows, function(row) {
            return {
                'data': row,
                'value': $(row).find('field[name=T0.Title]').text(),
                'result': $(row).find('field[name=T0.Title]').text()
            }
        });
    }

    function parseXMLCities(data) {
        rows = $(data).find('row');
        return $.map(rows, function(row) {
            return {
                'data': row,
                'value': $(row).find('field[name=T2.City]').text(),
                'result': $(row).find('field[name=T2.City]').text()
            }
        });
    }
    
    function activateCombobox() {
        if ($('#input-city').val() != '') {
            $('#combobox_patch').hide();
        } else {
            $('#combobox_patch').show();
        }
    }


    url = 'http://'+hostname+'/nick/film_list.jsp';
    $('input[name=film]').autocomplete(url, {
        'autoFill': true,
        'width': 288,
        'scroll': false,
        'max': false,
        'matchContains': false,
        'mustMatch': false,
        'minChars': 3,
        'extraParams': {
            'xml': true,
            'film': function() { return $('input[name=film]').val(); },
            'limit': 10
        },
        'parse': parseXMLMovies,
        'formatItem': function(item) { return $(item).find('field[name=T0.Title]').text(); }
    }).result(function(e, data) {
        idfilm = $(data).find('field[name=T0.IdFilm]').text();
        $('input[name=idFilm]').val(idfilm);
        
        if ($(data).find('field[name=T0.nickCode]')) {
            nickcode = $(data).find('field[name=T0.nickCode]').text();
            $('input[name=nickcode]').val(nickcode);
            $('label[for=nickcode]').hide();
        } else {
            $('input[name=nickcode]').val('');
            $('label[for=nickcode]').show();
        }
    });

    url = 'http://'+hostname+'/nick/city_list.jsp';
    $('#input-city').autocomplete(url, {
        'autoFill': true,
        'width': 252,
        'scroll': false,
        'max': false,
        'matchContains': false,
        'mustMatch': true,
        'minChars': 2,
        'extraParams': {
            xml: true,
            city: function() { return $('#input-city').val(); },
            limit: 20,
            idfilm: function() { return $('input[name=idFilm]').val(); }
        },
        'parse': parseXMLCities,
        'formatItem': function(item) { return $(item).find('field[name=T2.City]').text(); }
    }).result(activateCombobox);

    $('input[name=nickcode]').blur(function() {
        if ($(this).val() != '') {
            url = 'http://'+hostname+'/nick/film_detail_ac.jsp';
            $.get(url, {
                'xml': true,
                'idNick': function() { return $('input[name=nickcode]').val(); }
            }, function(data, status) {
                row = $(data).find('row')[0];
                title = $(row).find('field[name=Title]').text();
                idfilm = $(row).find('field[name=IdFilm]').text();
                $('input[name=film]').val(title);
                $('input[name=idFilm]').val(idfilm);
                $('label[for=film]').hide();
            });
        }
    });
    $('input[name=film]').blur(function() {
        if ($(this).val() == '') {
            $('input[name=idFilm]').val('');
            $('input[name=nickcode]').val('');
            $('label[for=nickcode]').show();
        }
    });
    $('#get_movies input').val('');
});


