/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// C:\TeamCity\buildAgent\work\d1c97f83e5a869da\FleetConnect\ShiftACar\Server\www\_scripts\expensescontrol.js

function expensesControl(readonlyDiv,editDiv,doneButton,cancelButton,errorDiv,fieldDiv,hiddenIdField,hiddenIsReadonlyField,fuelExpenseDiv,fuelExpenseReadonly,fuelExpenseWarningReadonly,taxiExpenseDiv,taxiExpenseReadonly,trainExpenseDiv,trainExpenseReadonly,busExpenseDiv,busExpenseReadonly,washExpenseDiv,washExpenseReadonly,tollExpenseDiv,tollExpenseReadonly,otherExpense1Div,otherExpense1DescReadonly,otherExpense1Readonly,otherExpense2Div,otherExpense2DescReadonly,otherExpense2Readonly,totalExpenseReadonly,expensesApprovedByReadonly,fuelExpenseField,taxiExpenseField,trainExpenseField,busExpenseField,washExpenseField,tollExpenseField,otherExpenseReason1Field,otherExpense1Field,otherExpenseReason2Field,otherExpense2Field,expenseApproverField,fuelInvoiceField,taxiInvoiceField,trainInvoiceField,busInvoiceField,washInvoiceField,tollInvoiceField,otherInvoiceReason1Field,otherInvoice1Field,otherInvoiceReason2Field,otherInvoice2Field,invoiceApproverField){var _loadingHtml="<img src=\"http://c214476.r76.cf1.rackcdn.com/inprogress.gif\" alt=\"Loading...\"/>";var _serviceUrl="cdnajaxhandler.ashx";var _isReadonly=hiddenIsReadonlyField.val().toLowerCase()=="true";var _instance=this;var allFields=jayQ([]).add(fuelExpenseField).add(taxiExpenseField);refreshControl(hiddenIdField.val(),false);if(!_isReadonly){readonlyDiv.addClass("editable");readonlyDiv.click(function(){enableEdit(true,true);return false;});}
else{readonlyDiv.addClass("non-editable");}
jayQ(document).bind('EDIT_EXPENSES',function(e){enableEdit(true,true);return false;});cancelButton.click(function(){allFields.removeClass("ui-state-error");enableEdit(false,true);return false;});doneButton.click(function(){var bValid=true;allFields.removeClass("ui-state-error");if(bValid){jayQ.ajax({cache:false,async:false,url:_serviceUrl,data:({method:"expenses",verb:"set",uid:hiddenIdField.val(),fuelinvoice:fuelInvoiceField.val(),taxiinvoice:taxiInvoiceField.val(),traininvoice:trainInvoiceField.val(),businvoice:busInvoiceField.val(),washinvoice:washInvoiceField.val(),tollinvoice:tollInvoiceField.val(),otherinvoicereason1:otherInvoiceReason1Field.val(),otherinvoice1:otherInvoice1Field.val(),otherinvoicereason2:otherInvoiceReason2Field.val(),otherinvoice2:otherInvoice2Field.val(),invoiceapprover:invoiceApproverField.val()}),success:function(data){populateControl(data,true,true);}});enableEdit(false,true);}
return false;});fieldDiv.keypress(function(e){if(e.keyCode=='13'){doneButton.click();}});function refreshControl(id,showEditable){enableEdit(showEditable,true);jayQ.ajax({cache:false,async:false,url:_serviceUrl+"?method=expenses&verb=get&uid="+id,dataType:"json",success:function(data){populateControl(data,!showEditable,true);}});}
function populateControl(data,populateReadonly,populateEditable){if(data==null||data[1]==null){readonlyDiv.hide();return;}
else
readonlyDiv.show();var claimableExpenses=data[0];var invoiceableExpenses=data[1];if(populateReadonly){if(invoiceableExpenses!=null){setReadonlyExpenseDiv(fuelExpenseDiv,fuelExpenseReadonly,invoiceableExpenses.FuelExpenseString);fuelExpenseWarningReadonly.html('');setReadonlyExpenseDiv(taxiExpenseDiv,taxiExpenseReadonly,invoiceableExpenses.TaxiExpenseString);setReadonlyExpenseDiv(trainExpenseDiv,trainExpenseReadonly,invoiceableExpenses.TrainExpenseString);setReadonlyExpenseDiv(busExpenseDiv,busExpenseReadonly,invoiceableExpenses.BusExpenseString);setReadonlyExpenseDiv(washExpenseDiv,washExpenseReadonly,invoiceableExpenses.WashExpenseString);setReadonlyExpenseDiv(tollExpenseDiv,tollExpenseReadonly,invoiceableExpenses.TollExpenseString);otherExpense1DescReadonly.text(invoiceableExpenses.OtherExpense1Desc+":");setReadonlyExpenseDiv(otherExpense1Div,otherExpense1Readonly,invoiceableExpenses.OtherExpense1String);otherExpense2DescReadonly.text(invoiceableExpenses.OtherExpense2Desc+":");setReadonlyExpenseDiv(otherExpense2Div,otherExpense2Readonly,invoiceableExpenses.OtherExpense2String);expensesApprovedByReadonly.html(invoiceableExpenses.ExpensesApprovedBy);}
totalExpenseReadonly.html(invoiceableExpenses==null?'0.00':invoiceableExpenses.TotalString);}
if(populateEditable){if(claimableExpenses!=null){fuelExpenseField.val(claimableExpenses.FuelExpenseString);taxiExpenseField.val(claimableExpenses.TaxiExpenseString);trainExpenseField.val(claimableExpenses.TrainExpenseString);busExpenseField.val(claimableExpenses.BusExpenseString);washExpenseField.val(claimableExpenses.WashExpenseString);tollExpenseField.val(claimableExpenses.TollExpenseString);otherExpenseReason1Field.val(claimableExpenses.OtherExpense1Desc);otherExpense1Field.val(claimableExpenses.OtherExpense1String);otherExpenseReason2Field.val(claimableExpenses.OtherExpense2Desc);otherExpense2Field.val(claimableExpenses.OtherExpense2String);expenseApproverField.val(claimableExpenses.ExpensesApprovedBy);}
if(invoiceableExpenses!=null){fuelInvoiceField.val(invoiceableExpenses.FuelExpenseString);taxiInvoiceField.val(invoiceableExpenses.TaxiExpenseString);trainInvoiceField.val(invoiceableExpenses.TrainExpenseString);busInvoiceField.val(invoiceableExpenses.BusExpenseString);washInvoiceField.val(invoiceableExpenses.WashExpenseString);tollInvoiceField.val(invoiceableExpenses.TollExpenseString);otherInvoiceReason1Field.val(invoiceableExpenses.OtherExpense1Desc);otherInvoice1Field.val(invoiceableExpenses.OtherExpense1String);otherInvoiceReason2Field.val(invoiceableExpenses.OtherExpense2Desc);otherInvoice2Field.val(invoiceableExpenses.OtherExpense2String);invoiceApproverField.val(invoiceableExpenses.ExpensesApprovedBy);}}}
function setReadonlyExpenseDiv(div,field,data){if(data!=null&&data!=''&&data!='0'&&data!='0.00'){div.show();field.html(data);}
else{div.hide();}}
function enableEdit(enable,doMasking){if(enable){editDiv.show();doneButton.show();cancelButton.show();if(doMasking){editDiv.expose({closeOnEsc:true,closeOnClick:false,opacity:0.2,onClose:function(event){enableEdit(false,false);}});}}
else{editDiv.hide();doneButton.hide();cancelButton.hide();if(doMasking)
jayQ.mask.close();}}}

