
var URL_SEARCH_ACHIEVEMENT = '/search/achievements';
var URL_PROGRESS_ACHIEVEMENT = '/search/progress';
var ACHIEVEMENT_ID = 0;

function FormSubmit()
{
    var cat_id = document.getElementById('category');
    var ach_id = document.getElementById('achievement');
    var region = document.getElementById('region');
    var realm = document.getElementById('realm');
    var name = document.getElementById('name');
    var date1 = document.getElementById('date1');
    var date2 = document.getElementById('date2');
    var sort = document.getElementById('sort');

    var action = "/search/"+cat_id.value;

    if (ach_id)
        action = action + "/"+ach_id.value;

    if (region.value != "all")
        action = action + "/"+region.value;
    else
        action = action + "/all";

    if (realm.value != "")
        action = action + "/"+ realm.value;
    else
        action = action + "/all";

    if (guild.value != "")
        action = action + "/"+ guild.value;
    else
        action = action + "/all";

    if (date1.value != "")
        action = action + "/"+ date1.value.substr(6,4) + "-" + date1.value.substr(3,2) + "-" + date1.value.substr(0,2);
    else
        action = action + "/all";

    if (date2.value != "")
        action = action + "/"+ date2.value.substr(6,4) + "-" + date2.value.substr(3,2) + "-" + date2.value.substr(0,2);
    else
        action = action + "/all";

    if (sort.value != "")
        action = action + "/"+ sort.value;
    else
        action = action + "/all";

    document.location.href= action;
}

function CategoryChange(cat)
{
    document.getElementById("id_achievements").innerHTML = "";
    document.getElementById("id_achievements_loading").style.display = "";

    var conn = YAHOO.util.Connect.asyncRequest("GET",
                            URL_SEARCH_ACHIEVEMENT + "/" + cat.value,
                            changeCategoryCallback,
                            "");
}

var changeCategoryCallback = {
    success : function(o) {
            var ro;
            try {
                document.getElementById("id_achievements_loading").style.display = "none";
                document.getElementById("id_achievements").innerHTML = o.responseText;
            } catch (x) {
                return;
            }

    },
    failure : function(o) {
    }
}


function updateProgress()
{
    var conn = YAHOO.util.Connect.asyncRequest("GET",
                            URL_PROGRESS_ACHIEVEMENT + "/" + ACHIEVEMENT_ID,
                            achievementProgressCallback,
                            "");
}

var achievementProgressCallback = {
    success : function(o) {
            var ro;
            try {
                if (o.responseText == "ok") {
                    document.location.reload();
                } else {
                    document.getElementById("id_progress").innerHTML = o.responseText;
                    window.setTimeout("updateProgress()", 2000);
                }
            } catch (x) {
                return;
            }
    },
    failure : function(o) {
    }
}


function onRegionChange() {
    var rg = YAHOO.util.Dom.get("region");
    var r = YAHOO.util.Dom.get("realm");
    r.disabled = (rg.value == "all");
    if (r.disabled)
        r.value = "";
}

YAHOO.util.Event.onDOMReady(function(){
    oDS = new YAHOO.util.XHRDataSource(URL_REALM_SEARCH);
    oDS.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
    oDS.responseSchema = {
        resultsList: "list"
    };

    oAC = new YAHOO.widget.AutoComplete("realm", "realmAutoContainer", oDS);
    oAC.animSpeed = 0.2;
    oAC.queryDelay = 0;
    oAC.useShadow = true;

    oAC.generateRequest = function(sQuery) {
        var rg = YAHOO.util.Dom.get("region");
        return "/" + rg.value + "/" + sQuery;
    };

    onRegionChange();
});
