// 0) {
++i;
}
return i - 1;
}
function deleteARow() {
var row = parseInt($(this).attr('id').substring(6));
$('#row' + row).remove();
// Adjust row numbers
var allRows = $('#dataTable tr');
var rowIndex = 1;
var firstTime = true;
allRows.each(function() {
if (firstTime) {
firstTime = false;
return;
}
this.id = 'row' + rowIndex;
$('.expected', this).attr('id', 'expected' + rowIndex);
$('.actual', this).attr('id', 'actual' + rowIndex);
$('.delete', this).attr('id', 'delete' + rowIndex);
++rowIndex;
});
$('.delete').unbind();
$('.delete').click(deleteARow);
// Hide delete button if necessary
if (getHighestRow() <= 2) {
$('.delete').hide();
}
}
$(document).ready(function() {
$('#addRowButton').click(function() {
var i = getHighestRow() + 1;
$('#dataTable').append('
| | |
');
$('.delete').unbind();
$('.delete').show();
$('.delete').click(deleteARow);
});
$('#doBinomial').click(function() {
var percentages = [];
var nums = [];
var i = 1;
while ($('#expected' + i).length > 0) {
percentages.push(parseFloat($('#expected' + i).val()));
nums.push(parseFloat($('#actual' + i).val()));
++i;
}
var total = 0.0;
for (var i in percentages) {
total += percentages[i];
}
var factor = 100.0/total;
percentages = jQuery.map(percentages, function(p) { return factor * p; });
$.ajax({
type: 'GET',
url: statScriptName,
data: {'percentages': percentages, 'nums': nums},
dataType: 'json',
success: doBinomialSuccess,
error: doBinomialError
});
});
});
function doBinomialSuccess(data) {
var prob = parseFloat(data['prob']);
if (prob < 0.05) {
html = 'Yes';
dataClass = 'sig';
} else {
html = 'No';
dataClass = 'notSig';
}
html += ' (chi-squared p=' + prob + ')';
$('#binomialResult').html(html);
$('#binomialResult').removeClass('sig').removeClass('notSig').addClass(dataClass);
$('#binomialAuxData').html('(variance is ' + data['variance'] + ' with ' + data['degreesOfFreedom'] + ' degrees of freedom)');
}
function doBinomialError(data) {
$('#binomialResult').html('Error!');
$('#binomialAuxData').html();
}
//]]>