/**
 * search.js
 * @author Matthew Ratzloff
 * @copyright Copyright (c) 2006 Matthew Ratzloff
 */

Event.observe(window, "load", 
    function()
    {
        Event.observe("q", "focus", focusSearch);
        Event.observe("q", "blur",  blurSearch);
        Event.observe("q", "keyup", search);
    }
);

var previousQuery;

function search()
{
    var query = $F("q");

    if(query == "" || query == previousQuery)
    {
        return false;
    }
    previousQuery = query;

    var url   = "/quicksearch.php";
    var args  = "q=" + query;
    var ajax  = new Ajax.Request(
        url,
        {
            method:     "get",
            parameters: args,
            onSuccess:  processResult
        }
    );
};

function processResult(result)
{
    var game     = new XmlDocument(result.responseText);
    var results  = game.rootElement.childElements[0].childElements;

    var title    = results[0].text;
    var subtitle = results[1].text;
    var image    = results[2].text;
    var link     = results[3].text;

    if(title && image && link)
    {
        setTitle(title);
        setSubtitle(subtitle);
        setImage(image);
        setLink(link);
    }
};

function setTitle(_title)
{
    $("game-title").innerHTML = _title;
};

function setSubtitle(_subtitle)
{
    $("game-subtitle").innerHTML = _subtitle;
};

function setImage(_image)
{
    $("game-image").src = _image;
};

function setLink(_link)
{
    var links = document.getElementsByClassName("game-link");
    links.each(function(link) { link.href = _link; });
};

function focusSearch()
{
    var tip = $("q");
    if(tip.value == "Search")
    {
        tip.value = "";
    }
}

function blurSearch()
{
    var tip = $("q");
    if(tip.value == "")
    {
        tip.value = "Search";
    }
}

