
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - input-label.js - */
// http://www.self-help.org/portal_javascripts/input-label.js?original=1
var ploneInputLabel={focus: function(){var t=jq(this);if(t.hasClass('inputLabelActive')&&t.val()==t.attr('title'))
t.val('').removeClass('inputLabelActive');if(t.hasClass('inputLabelPassword'))
ploneInputLabel._setInputType(t.removeClass('inputLabelPassword'),'password').focus().bind('blur.ploneInputLabel',ploneInputLabel.blur)},blur: function(){var t=jq(this);if(t.is(':password[value=""]')){t=ploneInputLabel._setInputType(this,'text').addClass('inputLabelPassword').bind('focus.ploneInputLabel',ploneInputLabel.focus);if(e.originalEvent&&e.originalEvent.explicitOriginalTarget)
jq(e.originalEvent.explicitOriginalTarget).trigger('focus!')}
if(!t.val())
t.addClass('inputLabelActive').val(t.attr('title'))},submit: function(){jq('input[title].inputLabelActive').trigger('focus.ploneInputLabel')},_setInputType: function(elem,ntype){var otype=new RegExp('type="?'+jq(elem).attr('type')+'"?')
var nelem=jq(jq('<div></div>').append(jq(elem).clone()).html().replace(otype,'').replace(/\/?>/,'type="'+ntype+'" />'));jq(elem).replaceWith(nelem);return nelem}};jq(function(){jq('form:has(input[title].inputLabel)').submit(ploneInputLabel.submit);jq('input[title].inputLabel').bind('focus.ploneInputLabel',ploneInputLabel.focus).bind('blur.ploneInputLabel',ploneInputLabel.blur).trigger('blur.ploneInputLabel')});

/* - ++resource++selfhelp.theme.scripts/form-add.js - */
// http://www.self-help.org/portal_javascripts/++resource++selfhelp.theme.scripts/form-add.js?original=1
jq(document).ready(function(){
function safeFloat(sStringFloat){var dReturn;sStringFloat=sStringFloat.replace('%','');sStringFloat=sStringFloat.replace('$','');sStringFloat=sStringFloat.replace(' ','');sStringFloat=sStringFloat.replace(',','');dReturn=parseFloat(sStringFloat);if(isNaN(dReturn)){dReturn=0}
return dReturn}
function addValues(item,list,total){var sum_total=0
jq.each(list, function(index,value){val=value.value
sum_total=sum_total+safeFloat(val)});total.text(sum_total)}
var form=jq('.formid-financial-form > form');if(form[0]!=undefined){jq('#pfg-fieldsetname-income').after('<b style="margin: 0px; padding: 0px; float: left;">Income Report Total: </b><span id="incomeTotal">0</span>');var income_totalfield=jq('#incomeTotal');var income=form.find('#pfg-fieldsetname-income .field input');income.blur(function(){addValues(jq(this),income,income_totalfield)});jq('#pfg-fieldsetname-other-assets-total-account-balances').after('<b style="margin: 0px; padding: 0px; float: left;">Total Other Assets (calculates total from above): </b><span id="assetTotal">0</span>');var asset_totalfield=jq('#assetTotal');var asset=form.find('#pfg-fieldsetname-other-assets-total-account-balances .field input');asset.blur(function(){addValues(jq(this),asset,asset_totalfield)});jq('#pfg-fieldsetname-miscellaneous-expenses').after('<b style="margin: 0px; padding: 0px; float: left;">Expense Report Total: </b><span id="expenseTotal">0</span>');var expense_totalfield=jq('#expenseTotal');var expense=form.find('#pfg-fieldsetname-housing-expenses .field input, #pfg-fieldsetname-transportation-expenses .field input, #pfg-fieldsetname-food .field input, #pfg-fieldsetname-insurance-payments-not-payroll-deducted .field input, #pfg-fieldsetname-debt-payments .field input, #pfg-fieldsetname-medical-and-dental-expenses .field input, #pfg-fieldsetname-miscellaneous-expenses .field input');expense.blur(function(){addValues(jq(this),expense,expense_totalfield)});jq('#pfg-fieldsetname-total-of-all-outstanding-debt-not-monthly-payments-but-total-amount-owed').after('<b style="margin: 0px; padding: 0px; float: left;">Total Outstanding Debt (calculates total from above): </b><span id="debtTotal">0</span>');var debt_totalfield=jq('#debtTotal');var debt=form.find('#pfg-fieldsetname-total-of-all-outstanding-debt-not-monthly-payments-but-total-amount-owed .field input');debt.blur(function(){addValues(jq(this),debt,debt_totalfield)})}});
