window.addEvent('domready', function() {
    
    var tokens = ['Home'];
    var index = {'Home': 'box-home'};
    $$('.project h2 a').each(function(link) {
        var title = link.innerHTML;
        tokens.push(title);
        var project = link.parentNode.parentNode;
        index[title] = project.getAttribute('id');
    });
    
    var completer = new Autocompleter.Local($('search'), tokens, {
        'delay': 100
    });
    
    $$('form')[0].addEvent('submit', function(event) {
        var event = new Event(event);
        event.preventDefault();
        var query = $('search').value;
        if (index[query]) {
            var x = parseInt($(index[query]).getStyle('left'));
            var y = parseInt($(index[query]).getStyle('top'));
            var centerX = window.getWidth() / 2 - $(index[query]).getSize().size.x / 2;
            var centerY = window.getHeight() / 2 - $(index[query]).getSize().size.y / 2;
            graphInstance.goto(-x + 40 + centerX, -y + 40 + centerY);
            $('search').value = 'Search';
            $('search').addClass('default');
            $('search').blur();
        } else {
            var bgFx = new Fx.Style('search', 'background-color', {
                'duration': 150
            });
            bgFx.start('#FFCEBF').chain(function() {
                bgFx.start('#FFFFFF');
            });
        }
    });
    $('search').addEvent('focus', function() {
        if ($('search').value == 'Search') {
            $('search').value = '';
        }
        $('search').removeClass('default');
        $('search').addClass('focused');
    });
    $('search').addEvent('blur', function() {
        $('search').removeClass('focused');
        if ($('search').value == '') {
            $('search').value = 'Search';
            $('search').addClass('default');
        }
    });
});
