fannie/modules/plugins2.0/OverShortTools/js/count.js
function loader(){
$('#display').html('');
var date1 = $('#startDate').val();
var date2 = $('#endDate').val();
var store = $('select[name=store]').val();
var args = 'action=loader&date1='+date1+'&date2='+date2+'&store='+store;
$.ajax({
url: 'OverShortSafecountPage.php',
data: args,
success: function(data){
$('#display').html(data);
}
});
}
function save(){
var date1 = $('#startDate').val();
var date2 = $('#endDate').val();
var store = $('#savedStore').val();
var changeOrder = saveChangeOrder();
var openSafeCount = saveOpenSafeCount();
var closeSafeCount = saveCloseSafeCount();
var buyAmount = saveRow('buyAmount');
var dropAmount = saveDropAmount();
var depositAmount = saveRow('depositAmount');
var atmAmount = saveAtmAmount();
var args = 'action=save&date1='+date1+'&date2='+date2+'&changeOrder='+changeOrder+'&openSafeCount='+openSafeCount+'&closeSafeCount='+closeSafeCount+'&buyAmount='+buyAmount+'&dropAmount='+dropAmount+"&depositAmount="+depositAmount+'&atmAmount='+atmAmount+'&store='+store;
$.ajax({
url: 'OverShortSafecountPage.php',
type: 'post',
data: args,
success: function(data){
alert(data);
}
});
}
function saveRow(rowName){
var ret = '';
$('.denom').each(function(){
var denom = $(this).val();
var elem = document.getElementById(rowName+denom);
if (elem) {
ret += denom + ":"+ elem.innerHTML+"|";
}
});
return ret;
}
function saveAtmAmount(){
var ret = '';
if ($('#atmFill').length !== 0) {
ret += 'fill:'+$('#atmFill').val();
} else {
ret += 'fill:0';
}
if ($('#atmReject').length !== 0) {
ret += '|reject:'+$('#atmReject').val();
} else {
ret += '|reject:0';
}
if ($('#atmCount').length !== 0) {
ret += '|count:'+$('#atmCount').val();
} else {
ret += '|count:0';
}
return ret;
}
function saveChangeOrder(){
var ret = '';
$('.denom').each(function(){
var denom = $(this).val();
var elem = document.getElementById('changeOrder'+denom);
if (denom !== 'Checks' && elem) {
ret += denom + ":"+ elem.value+"|";
}
});
return ret;
}
function saveOpenSafeCount(){
var ret = '';
$('.denom').each(function(){
var denom = $(this).val();
var elem = document.getElementById('safeCount1'+denom);
if (denom != 'Checks' && elem)
ret += denom + ":"+ elem.value+"|";
});
return ret;
}
function saveDropAmount(){
var ret = '';
$('.denom').each(function(){
var denom = $(this).val();
var elem = document.getElementById('dropAmount'+denom);
if (denom === 'Checks' || denom === '1.00') {
ret += denom + ":"+ elem.innerHTML+"|";
} else {
ret += denom + ":"+ elem.value+"|";
}
});
return ret;
}
function saveCloseSafeCount(){
var ret = '';
$('.denom').each(function(){
var denom = $(this).val();
var elem = document.getElementById('safeCount2'+denom);
if (denom !== 'Checks' && denom !== 'Junk') {
ret += denom + ":"+ elem.value+"|";
}
});
return ret;
}
function updateChangeOrder(d){
var newval = Number(document.getElementById('changeOrder'+d).value);
var v = Number(document.getElementById('safeCount1'+d).value) + newval;
document.getElementById('cashInTills'+d).innerHTML = Math.round(v*100)/100;
resumInputs('changeOrder');
resumRow('cashInTills');
updateDepositAmount(d);
updateCloseAmount(d);
updateAAVariance();
}
function updateOpenSafeCount(d){
var newval = Number(document.getElementById('safeCount1'+d).value);
var v = newval;
var elem = document.getElementById('changeOrder'+d);
if (elem) {
v = Number(elem.value) + newval;
}
document.getElementById('cashInTills'+d).innerHTML = Math.round(v*100)/100;
resumInputs('safeCount1');
resumRow('cashInTills');
updateDepositAmount(d);
updateCloseAmount(d);
updateAAVariance();
}
function updateDropAmount(d){
var ones = Number($('#dropAmountTotal').html());
$('.denom').each(function(){
var denom = $(this).val();
if (denom === "1.00"){
} else if (denom == "Checks") {
ones -= Number($('#dropAmountChecks').html());
} else {
ones -= Number(document.getElementById('dropAmount'+denom).value);
}
});
document.getElementById('dropAmount1.00').innerHTML = Math.round(ones*100)/100;
updateDepositAmount(d);
updateCloseAmount(d);
}
function updateAAVariance(){
var accountable = Number($('#cashInTillsTotal').html());
accountable += Number($('#dropAmountTotal').html());
accountable -= Number($('#fillTotal').html());
accountable -= Number($('#depositAmountTotal').html());
var actual = Number($('#safeCount2Total').html());
var variance = actual - accountable;
$('#actualTotal').html(Math.round(100*actual)/100);
$('#accountableTotal').html(Math.round(100*accountable)/100);
$('#aaVariance').html(Math.round(100*variance)/100);
}
function updateCloseSafeCount(d){
var newval = Number(document.getElementById('safeCount2'+d).value);
resumInputs('safeCount2');
updateAAVariance();
}
function resumInputs(rowname){
var sum = 0;
$('.denom').each(function(){
denom = $(this).val();
var elem = document.getElementById(rowname+denom);
if (elem) {
sum += Number(elem.value);
}
});
$('#'+rowname+'Total').html(Math.round(sum*100) / 100);
}
function resumRow(rowname){
var sum = 0;
$('.denom').each(function(){
denom = $(this).val();
var elem = document.getElementById(rowname+denom);
if (rowname === "depositAmount" && denom === "Checks") {
// would be "continue" in a loop
} else if (elem) {
sum += Number(elem.innerHTML);
}
});
$('#'+rowname+'Total').html(Math.round(sum*100) / 100);
}
function updateCloseAmount(d) {
var fields = ['changeOrder', 'safeCount1', 'dropAmount'];
var sum = 0;
for (var i = 0; i < fields.length; i++) {
var id = fields[i] + "" + d;
var elem = document.getElementById(id);
if (elem) {
var inc = Number(elem.value);
console.log(inc);
if (!isNaN(inc)) {
sum += inc;
}
}
}
var deposit = document.getElementById('depositAmount' + d);
if (deposit) {
deposit = deposit.innerHTML;
deposit = Number(deposit);
if (!isNaN(deposit)) {
sum -= deposit;
}
}
document.getElementById('safeCount2' + d).value = sum;
}
function updateDepositAmount(d){
var val = 0;
var count = 0;
switch(d){
case '10.00':
case '5.00':
val = Number(document.getElementById('cashInTills'+d).innerHTML);
val += Number(document.getElementById('dropAmount'+d).value);
val -= Number(document.getElementById('fill'+d).innerHTML);
val -= Number(document.getElementById('#par'+d).innerHTML);
if (val < 0) val = 0;
document.getElementById('depositAmount'+d).innerHTML = Math.round(val*100)/100;
updateBuyAmount(d);
break;
case '1.00':
updateBuyAmount(d);
break;
case '20.00':
val = Number(document.getElementById('cashInTills'+d).innerHTML);
val += Number(document.getElementById('dropAmount'+d).value);
val += Number($('#atmReject').val());
val -= Number($('#atmFill').val());
document.getElementById('depositAmount'+d).innerHTML = Math.round(val*100)/100;
break;
case '50.00':
case '100.00':
case 'Junk':
val = Number(document.getElementById('cashInTills'+d).innerHTML);
val += Number(document.getElementById('dropAmount'+d).value);
document.getElementById('depositAmount'+d).innerHTML = Math.round(val*100)/100;
break;
case '0.25':
count = Math.floor(Number(document.getElementById('dropAmount'+d).value) / 10);
val = Number(document.getElementById('dropAmount'+d).value) - (10*count);
document.getElementById('depositAmount'+d).innerHTML = Math.round(val*100)/100;
updateBuyAmount(d);
break;
case '0.10':
count = Math.floor(Number(document.getElementById('dropAmount'+d).value) / 5);
val = Number(document.getElementById('dropAmount'+d).value) - (5*count);
document.getElementById('depositAmount'+d).innerHTML = Math.round(val*100)/100;
updateBuyAmount(d);
break;
case '0.05':
count = Math.floor(Number(document.getElementById('dropAmount'+d).value) / 2);
val = Number(document.getElementById('dropAmount'+d).value) - (2*count);
document.getElementById('depositAmount'+d).innerHTML = Math.round(val*100)/100;
updateBuyAmount(d);
break;
case '0.01':
count = Math.floor(Number(document.getElementById('dropAmount'+d).value) / 0.50);
val = Number(document.getElementById('dropAmount'+d).value) - (0.50*count);
document.getElementById('depositAmount'+d).innerHTML = Math.round(val*100)/100;
updateBuyAmount(d);
break;
}
resumRow('depositAmount');
}
function updateBuyAmount(d){
if (d === 'Checks' || d === '100.00' || d === '50.00' || d === '20.00' || d === 'Junk')
return;
$('.denom').each(function(){
var denom = $(this).val();
if (denom === 'Checks' || denom === '100.00' || denom === '50.00' || denom === '20.00' || denom === 'Junk') {
// simulated "continue"
} else {
var val = Number(document.getElementById('par'+denom).innerHTML);
val -= Number(document.getElementById('cashInTills'+denom).innerHTML);
if (denom === '1.00') {
val -= Number(document.getElementById('dropAmount'+denom).innerHTML);
} else {
val -= Number(document.getElementById('dropAmount'+denom).value);
}
val += Number(document.getElementById('fill'+denom).innerHTML);
val += Number(document.getElementById('depositAmount'+denom).innerHTML);
if (val < 0) val = 0;
if (denom === '1.00') val = Math.round(val);
document.getElementById('buyAmount'+denom).innerHTML = Math.round(val*100)/100;
}
});
var overage = 0;
var i = 0;
var v = Number(document.getElementById('buyAmount10.00').innerHTML);
while (v % 50 != 0 && i < 5){
v = v - 10;
overage = overage + 10;
i = i+1;
}
document.getElementById('buyAmount10.00').innerHTML = v;
i = 0;
v = Number(document.getElementById('buyAmount5.00').innerHTML);
while (v % 50 != 0 && i < 10){
v = v - 5;
overage = overage + 5;
i = i+1;
}
document.getElementById('buyAmount5.00').innerHTML = v;
i = 0;
v = Number(document.getElementById('buyAmount1.00').innerHTML);
while (v % 50 != 0 && i < 50){
v = v - 1;
overage = overage + 1;
i = i+1;
}
document.getElementById('buyAmount1.00').innerHTML = v;
var overs = denom_overage(overage);
if (overs[0] != 0){
v = Number(document.getElementById('buyAmount0.25').innerHTML);
document.getElementById('buyAmount0.25').innerHTML = v + overs[0];
}
if (overs[1] != 0){
v = Number(document.getElementById('buyAmount0.10').innerHTML);
document.getElementById('#buyAmount0.10').innerHTML = v + overs[1];
}
if (overs[2] != 0){
v = Number(document.getElementById('buyAmount0.05').innerHTML);
document.getElementById('buyAmount0.05').innerHTML = v + overs[2];
}
if (overs[3] != 0){
v = Number(document.getElementById('buyAmount0.01').innerHTML);
document.getElementById('buyAmount0.01').innerHTML = v + overs[3];
}
resumRow('buyAmount');
}
function updateAtmAmounts(){
updateDepositAmount('20.00');
var par = Number(document.getElementById('par20.00').innerHTML);
var cur = Number(document.getElementById('atmCount').value);
if (par - cur > 0) {
var buy = Math.round((par - cur) * 100) / 100;
document.getElementById('buyAmount20.00').innerHTML = buy;
}
}
function denom_overage(overage){
var ret = Array(0,0,0,0);
ret[0] = Math.floor(overage / 10.0)*10;
overage = overage % 10;
ret[1] = Math.floor(overage / 5.0)*5;
overage = overage % 5;
ret[2] = Math.floor(overage / 2.0)*2;
overage = overage % 2;
ret[3] = Math.floor(overage / 0.50)*0.50;
return ret;
}
function existingDates(dateStr)
{
if (dateStr != '') {
var dates = dateStr.split(' ');
if (dates.length === 2) {
$('#startDate').val(dates[0]);
$('#endDate').val(dates[1]);
}
}
}