﻿$(function() {
    $("img[pcode]").live('mouseover', show_feat);
    $("img[pcode]").live('mouseout', hide_feat);
    $("#feature_info").hide();
    $("#toggle_avail").click(function() {
        $("#criteria_avail").toggle();
        $("#toggle_avail > input").val($("#criteria_avail").is(":visible"));
        fixIconClass($("#toggle_avail"), $("#criteria_avail").is(":visible"));
    });
    $("#toggle_feature").click(function() {
        $("#criteria_feature").toggle();
        $("#toggle_feature > input").val($("#criteria_feature").is(":visible"));
        fixIconClass($("#toggle_feature"), $("#criteria_feature").is(":visible"));
    });
    if ($("#toggle_avail > input").val() == 'false') {
        $("#criteria_avail").hide();
        fixIconClass($("#toggle_avail"), $("#criteria_avail").is(":visible"));
    }
    if ($("#toggle_feature > input").val() == 'false') {
        $("#criteria_feature").hide();
        fixIconClass($("#toggle_feature"), $("#criteria_feature").is(":visible"));
    }
});

function fixIconClass(jc, vis) {
    if (vis) {
        jc.children(".groupHeadingExpand").removeClass('groupHeadingExpand').addClass('groupHeadingCollapse');
    } else {
        jc.children(".groupHeadingCollapse").removeClass('groupHeadingCollapse').addClass('groupHeadingExpand');
    }
}
function show_feat(ev) {
    var li = $("#feature_info li");
    li.hide();
    var f = info[$(ev.target).attr("pcode")];
    if (f != null) {
        for (var i = 0; i < f.length; ++i) {
            li.eq(f[i]).show();
        }
    }
    //$("#feature_info").html(get_feature_list($(ev.target).attr("pcode")));
    $(ev.target).addClass("so");
    pos_rate(ev);
}

function get_feature_list(id) {
    var f = info[id];
    var res = "<ul>";
    if (f != null) {
        for (var i = 0; i < f.length; ++i) {
            res += "<li>" + features[f[i]] + "</li>";
        }
    }
    res += "</ul>";
    return res;
}

function pos_rate(ev) {
    var ri = $("#feature_info");
    var img = $(ev.target);
    var x = img.position().left + img.outerWidth() - 10;
    var y = img.position().top + (img.outerHeight() - ri.outerHeight()) / 2;
    y = Math.min(y, $(document).height() - ri.outerHeight() - 10);
    y = Math.max(y, 0);
    ri.css('left', x);
    ri.css('top', y);
    ri.stop(true, true).fadeIn(200);
}

function hide_feat(ev) {
    $(ev.target).removeClass("so");
    $("#feature_info").delay(200).fadeOut(200);
}
