/*
 *  golf/golf.js
 *  moviegolf
 *
 *  Created by Ross Light on 5/7/09.
 */

var gGolf_Golf = {};

jQuery.fn.golfsearch = function()
{
    // If we're on iPhone, don't use auto-complete.
    if (giPhone)
        return this;
    // Carry on.
    this.each(function()
    {
        var parent = this;
        jQuery("input[name='film1_name'],input[name='film2_name']", parent)
            .filmAutoComplete(function(event, data)
            {
                return gGolf_Golf.onSelectFilm.call(this,
                    parent, event, data);
            });
    });
    return this;
};

jQuery.fn.filmAutoComplete = function(callback)
{
    var options = {
        soft: false,
        ac_param: {
            'type': '/film/film',
        }
    };
    this.each(function()
    {
        var elem = this;
        jQuery(elem)
            .freebaseSuggest(options)
            .bind('fb-select', function(event, data)
            {
                return callback.call(elem, event, data);
            });
    });
    return this;
};

jQuery.fn.actorAutoComplete = function(callback)
{
    var options = {
        soft: false,
        ac_param: {
            'type': '/film/actor',
        }
    };
    this.each(function()
    {
        var elem = this;
        jQuery(elem)
            .freebaseSuggest(options)
            .bind('fb-select', function(event, data)
            {
                return callback.call(elem, event, data);
            });
    });
    return this;
};

gGolf_Golf.onSelectFilm = function(parent, event, data)
{
    var guid = data.guid.slice(1);
    var field_name = $(event.target).attr("name");
    if (field_name == "film1_name")
        $("input[name='film1']", parent).val(guid);
    else if (field_name == "film2_name")
        $("input[name='film2']", parent).val(guid);
};

