function get_rate(s_count, f_count) {
    if (s_count+f_count > 0) {
        success_rate = Math.round(s_count / (s_count+f_count)*10000)/100;
    }
    else { 
        success_rate=0; 
    }
    return success_rate;
}
function get_longest(data, s, f) {
    longest = 0;
    cur = 0;
    for(i=0; i < data.length; i++) {
        if (data.charAt(i) == s) {
            cur++;
        }
        if (data.charAt(i) == f) {
            cur = 0;
        }
        if (cur > longest) longest = cur;
    }
    return longest;
}

$(document).ready(function () {
    $("#id_data").keyup(function() {
        
        s = $("#id_success").val();
        f = $("#id_failure").val();
        data = $("#id_data").val();
        s_count=0;
        f_count=0;
        for(i=0; i < data.length; i++) {
            if (data.charAt(i) == s) s_count++;
            if (data.charAt(i) == f) f_count++;
        }
        success_rate = get_rate(s_count, f_count);
        longest_run = get_longest(data, s, f);
        $("#percentage").html("success rate: "+success_rate+"%;<br /> success: "+s_count+"; failure: "+f_count+"; total: "+(s_count+f_count)+";<br />longest run: "+longest+";");
    });
    $("#id_form_stats").submit(function(){
        data_str = "";
        s = $("#id_success").val();
        f = $("#id_failure").val();
        data = $("#id_data").val();
        
        s_count=0;
        f_count=0;
        for(i=0; i < data.length; i++) {
            if (data.charAt(i) == s) s_count++;
            if (data.charAt(i) == f) f_count++;
            if (i) data_str += ",";
            data_str += get_rate(s_count, f_count);
        }
        chart_url = "http://chart.apis.google.com/chart?cht=lc&amp;chd=t:"+data_str+"&amp;chs=320x240";
        $("#chart").html("<img src='"+chart_url+"' alt='' /><p>Your progress chart</p>");

        return false;
    });
});

