var today = '2024-10-29';
var BASEURI = 'https://clients.acceptiva.com';
var swipe_buffer = '';
var INPUT_TYPE_RECUR_START_DATE = 'recur_start_date';
var INPUT_TYPE_RECUR_END_CRITERIA = 'recur_end_criteria';
var INPUT_TYPE_RECUR_END_NUM = 'recur_end_num';
var INPUT_TYPE_RECUR_END_AMT = 'recur_end_amount';
var INPUT_TYPE_RECUR_END_DATE = 'recur_end_date';
var PAYMENT_TYPE_CC = 1;
var PAYMENT_TYPE_ACH = 2;
var PAYMENT_TYPE_PAYPAL = 3;
var PAYMENT_TYPE_STRIPE = 4;
var PAYMENT_TYPE_NONE = 0;
var RECUR_FREQ_NONE = 0;
var RECUR_END_NUM = 1;
var RECUR_END_AMT = 2;
var RECUR_END_DATE = 3;
var TRANS_STATUS_CHARGE_AVS_ERR = 31;
var TRANS_STATUS_CHARGE_FRAUD = 33;
var STATES = JSON.parse('{"AL":"Alabama","AK":"Alaska","AS":"American Samoa","AZ":"Arizona","AR":"Arkansas","AA":"Armed Forces Americas","AE":"Armed Forces Europe","AP":"Armed Forces Pacific","CA":"California","CO":"Colorado","CT":"Connecticut","DE":"Delaware","DC":"District of Columbia","FM":"Federated Micronesia","FL":"Florida","GA":"Georgia","GU":"Guam","HI":"Hawaii","ID":"Idaho","IL":"Illinois","IN":"Indiana","IA":"Iowa","KS":"Kansas","KY":"Kentucky","LA":"Louisiana","ME":"Maine","MD":"Maryland","MH":"Marshall Islands","MA":"Massachusetts","MI":"Michigan","MN":"Minnesota","MS":"Mississippi","MO":"Missouri","MT":"Montana","NE":"Nebraska","NV":"Nevada","NH":"New Hampshire","NJ":"New Jersey","NM":"New Mexico","NY":"New York","NC":"North Carolina","ND":"North Dakota","MP":"Northern Mariana Islands","OH":"Ohio","OK":"Oklahoma","OR":"Oregon","PW":"Palau","PA":"Pennsylvania","PR":"Puerto Rico","RI":"Rhode Island","SC":"South Carolina","SD":"South Dakota","TN":"Tennessee","TX":"Texas","UM":"United States Minor Outlying Islands","UT":"Utah","VT":"Vermont","VI":"Virgin Islands","VA":"Virginia","WA":"Washington","WV":"West Virginia","WI":"Wisconsin","WY":"Wyoming"}');
var PROVINCES = JSON.parse('{"AB":"Alberta","BC":"British Columbia","MB":"Manitoba","NB":"New Brunswick","NF":"Newfoundland","NS":"Nova Scotia","NT":"Northwest Territories","NU":"Nunavut","ON":"Ontario","PE":"Prince Edward Island","QC":"Quebec","SK":"Saskatchewan","YT":"Yukon"}');

calculate_total = function(obj, callback_func)
{
    calculate_total_data = undefined;

    // Initialize for safety
    var img_id = '';

    if (typeof obj != 'undefined')
    {
        img_id = obj.id + '_spinner';
        $(obj).parent().append('<img id="' + img_id + '" src="assets/img/spinner.gif" style="height: 16px; margin-left: 5px; width: 16px;">');
    }

    $.ajax({
        url: 'ajax/calculate_total.php',
        type: 'POST',
        data: $('#payform :input').not(':disabled').serialize(),
        dataType: 'json',
        img_id: img_id,
        success: function(data, textStatus, XMLHttpRequest)
        {
            calculate_total_data = data;

            // Clear errors
            $('[id$="_err"]').html('')

            if (typeof data.values != 'undefined')
            {
                $.each(data.values, function(id, value)
                {
                    $('#' + id).is('input') ? $('#' + id).val(value) : $('#' + id).html(value);

                    if (id == 'amt_future')
                    {
                        if (value != '$0.00')
                        {
                            $('#amt_today').prev().html("Today's Total:");
                            $('#amt_future').parent().show();
                        }
                        else
                        {
                            $('#amt_today').prev().html('Total:');
                            $('#amt_future').parent().hide();
                        }
                    }
                });

                if (typeof window[callback_func] == 'function')
                    window[callback_func](data);

                if (typeof calculate_total_callback == 'function')
                    calculate_total_callback(data);
            }
        },
        complete: function(XMLHttpRequest, textStatus)
        {
            if (img_id != '')
                $('#' + img_id).remove();
        }
    });
}

// Assumes 'position: fixed' on elem#id
center_in_window = function(id)
{
    var elem = document.getElementById(id);

    if (!elem)
        return;

    var width = elem.scrollWidth;
    var height = elem.scrollHeight;
    var win_width = (window.innerWidth || document.documentElement.offsetWidth);
    var win_height = (window.innerHeight || document.documentElement.offsetHeight);

    if (width <= win_width)
        var left = ((win_width/2) - (width/2));
    else
        var left = 0;

    if (height <= win_height)
        var top = ((win_height/2) - (height/2));
    else
        var top = 0;

    elem.style.left = left + 'px';
    elem.style.top = top + 'px';
}

change_country = function(obj, state_val)
{
    var country = $(obj).val();
    var state_label = $('#billing_state').parent().parent().find('label');
    var state_label_prefix = state_label.find('.prefix')[0];
    state_label_prefix = (typeof state_label_prefix != 'undefined' ? state_label_prefix.outerHTML : '');
    var zip_label = $('#billing_zip').parent().parent().find('label');
    if (typeof state_val == 'undefined')
        state_val = '';

    if ($('#billing_state').hasClass('required-if-shown') && (country == 'USA' || country == 'CAN'))
    	$('#billing_state').addClass('required');
	else
		$('#billing_state').removeClass('required');

    if (country == 'USA')
    {
        state_label.html(state_label_prefix + 'State:' + (!vt && $('#billing_state').hasClass('required') ? '<span class="required">&nbsp;*</span>' : ''));
        $('#billing_state').parent().html('<select id="billing_state" name="billing_state" class="' + $('#billing_state').attr('class') + '"><option value="">-- Select An Option --</option></select>');
        $.each(STATES, function(key, value) { $('#billing_state').append('<option value="' + key + '"' + (key == state_val ? ' selected' : '') + '>' + value + '</option>'); });
    }
    else if (country == 'CAN')
    {
        state_label.html(state_label_prefix + 'Province:' + (!vt && $('#billing_state').hasClass('required') ? '<span class="required">&nbsp;*</span>' : ''));
        $('#billing_state').parent().html('<select id="billing_state" name="billing_state" class="' + $('#billing_state').attr('class') + '"><option value="">-- Select An Option --</option></select>');
        $.each(PROVINCES, function(key, value) { $('#billing_state').append('<option value="' + key + '"' + (key == state_val ? ' selected' : '') + '>' + value + '</option>'); });
    }
    else
    {
        state_label.html(state_label_prefix + 'State / Province:');
        $('#billing_state').parent().html('<input type="text" id="billing_state" name="billing_state" value="' + state_val + '" class="windows1252 ' + $('#billing_state').attr('class') + '">');
    }

    if ($('#billing_zip').hasClass('required-if-shown') && (country == 'USA' || country == 'CAN'))
	{
		if (zip_label.find('.required').length == 0)
			zip_label.append('<span class="required">&nbsp;*</span>');
		$('#billing_zip').addClass('required');
	}
	else
	{
		zip_label.find('.required').remove();
		$('#billing_zip').removeClass('required');
	}
}

// obj will be undefined for datepick onSelect callback, which sets global 'this' to object instead
change_date = function(date, obj)
{
    if (typeof obj == 'undefined')
        obj = this;

   	if (!$(obj).is(':visible'))
   		return;

    date = (typeof date[0] == 'object' ? date[0] : new Date(date));
    var min_date = new Date($(obj).datepick('option', 'minDate'));
    var max_date = new Date($(obj).datepick('option', 'maxDate'));

    if ((isNaN(date) || date < min_date) && $.datepick.formatDate('mm/dd/yyyy', min_date) != '12/31/1969')
        date = min_date;
    else if (date > max_date && $.datepick.formatDate('mm/dd/yyyy', min_date) != '12/31/1969')
        date = max_date;

    $(obj).val($.datepick.formatDate('mm/dd/yyyy', date));

    if ($(obj).attr('installment-amt-div-id') && $(obj).attr('installment-amt-div-id') != '')
    {
        var installment_amt_div = $('#' + $(obj).attr('installment-amt-div-id'));
        $.datepick.formatDate('yyyy-mm-dd', date) == today ? installment_amt_div.show() : installment_amt_div.hide();
    }

    if ($(obj).attr('section-link-id') && $(obj).attr('section-link-id') != '')
    {
        var recur_end_date = $('#items_' + $(obj).attr('section-link-id') + '_' + INPUT_TYPE_RECUR_END_DATE);

        // Only move the end date if the user hasn't submitted a modified date
        if (recur_end_date.length > 0 && recur_end_date.attr('value') == '')
        {
            var two_days_more = new Date(date);
            two_days_more.setDate(two_days_more.getDate() + 2);
            var min_end_date = new Date(recur_end_date.datepick('option', 'minDate'));

            recur_end_date.val($.datepick.formatDate('mm/dd/yyyy', new Date(Math.max(two_days_more, min_end_date))));
        }
    }
}

change_recur_end_criteria = function(obj, section_link_id)
{
    if ($(obj).val() == RECUR_END_NUM)
    {
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_NUM + '_div').show();
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_AMT + '_div').hide();
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_DATE + '_div').hide();
    }
    else if ($(obj).val() == RECUR_END_AMT)
    {
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_NUM + '_div').hide();
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_AMT + '_div').show();
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_DATE + '_div').hide();
    }
    else if ($(obj).val() == RECUR_END_DATE)
    {
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_NUM + '_div').hide();
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_AMT + '_div').hide();
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_DATE + '_div').show();
    }
    else
    {
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_NUM + '_div').hide();
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_AMT + '_div').hide();
        $('#items_' + section_link_id + '_' + INPUT_TYPE_RECUR_END_DATE + '_div').hide();
    }
}

change_recur_freq = function(obj, section_link_id)
{
    if ($(obj).val() == RECUR_FREQ_NONE)
        $('.recurring' + section_link_id).hide();
    else
    {
        $('.recurring' + section_link_id).show();
        $('#items' + section_link_id + '_' + INPUT_TYPE_RECUR_START_DATE).change();

        if ((recur_end_obj = document.getElementById('items[' + section_link_id + '][' + INPUT_TYPE_RECUR_END_CRITERIA + ']')) !== null)
            change_recur_end_criteria(recur_end_obj, section_link_id);
    }
}

changed_payment_type = function(payment_type)
{
	if (payment_type == PAYMENT_TYPE_NONE)
	    $('.payment_type').hide();
	else
	{
    	$('.payment_type').filter('.payment_type_' + payment_type).show();
    	$('.payment_type').not('.payment_type_' + payment_type).hide();
	}

	if ($('select[name="payer_id_str"]').length > 0 && $('select[name="payer_acct_id_str"]').length > 0)
	{
    	var payer_id_str = $('select[name="payer_id_str"]').val();
    	var payer_accts = $('select[name="payer_acct_id_str"]');
    	payer_accts.empty();
    	payer_accts.append('<option value="">--- Select An Option ---</option>');

    	if (typeof payers != 'undefined' && payers[payer_id_str] && payers[payer_id_str]['accts'] && payers[payer_id_str]['accts'][payment_type])
    	{
    		$.each(payers[payer_id_str]['accts'][payment_type], function (key, arr)
            {
    			payer_accts.append('<option value="' + key + '">' + htmlspecialchars(arr['acct_data']) + '</option>');
            });
    	}
	}
}

do_paypal_auth = function(data)
{
    // payerID will be undefined if this is a future payment
    if (typeof data.payerID == 'undefined')
        data.payerID = '';

    $('#payform').append('<input type="hidden" id="payerID" name="payerID" value="' + data.payerID + '">');
    $('#payform').append('<input type="hidden" id="paymentToken" name="paymentToken" value="' + data.paymentToken + '">');
    process_payment();
    $('#payerID').remove();
    $('#paymentToken').remove();
}

do_stripe_auth = function(token)
{
    if (typeof token.id == 'undefined')
        token.id = '';

    $('#payform').append('<input type="hidden" id="token" name="token" value="' + token.id + '">');
    process_payment();
    $('#token').remove();
}

exit_vt = function()
{
	$.ajax({
        url: 'https://secure.acceptiva.com/ajax/exit_vt.php',
        type: 'GET',
        complete: function(XMLHttpRequest, textStatus)
        {
        	window.close();
        }
    });
}

fix_number = function(obj)
{
    $(obj).val(parseFloat($(obj).val()).toFixed(2));
}

get_card_type = function(value)
{
    // visa
    var re = new RegExp('^4');
    if (value.match(re) != null)
        return 'visa';

    // Mastercard - supports 222100-272099
    re = new RegExp('^(5[1-5])|(222[1-9])|(22[3-9])|(2[3-6])|(27[0-1])|(2720)');
    if (value.match(re) != null)
        return 'mastercard';

    // AMEX
    re = new RegExp('^3[47]');
    if (value.match(re) != null)
        return 'amex';

    // Discover
    re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');
    if (value.match(re) != null)
        return 'discover';

    // JCB
    re = new RegExp('^35(2[89]|[3-8][0-9])');
    if (value.match(re) != null)
        return 'jcb';

    return '';
}

get_immediate_cancel_post_back_data = function(post_back_format, use_post_data)
{
    if (use_post_data)
    {
        var data = [];
        for (key in post_data)
            data.push({name: key, value: post_data[key]});
    }
    else
        var data = $('#payform :input').not(':disabled, #cc_num, #cc_cvv, #ach_acct_num').serializeArray();

    data.push({name: 'trans_status', value: 'cancel'});

    switch (post_back_format)
    {
        case 'json':
            data = {data: JSON.stringify(data)};
            break;
        case 'xml':
            var xml = '<response>';
            for (var i in data)
                xml += '<' + data[i]['name'] + '>' + data[i]['value'] + '</' + data[i]['name'] + '>';
            xml += '</response>';
            data = {data: xml};
            break;
    }

    return data;
}

hide_field_set = function(field_group_num, hide_all)
{
    // Initialize for safety
    hide_all = (typeof hide_all != 'undefined' ? hide_all : false);
    var any_shown = false;
    var done = false;

    for (var field_group_set_num = 60; field_group_set_num > 0; field_group_set_num--)
    {
        var display_elem = $('#display_' + field_group_num + '_' + field_group_set_num);

        if (display_elem.length)
        {
            // We found a set that is shown; hide it
            if (display_elem.val() == 1)
            {
                if (!done)
                {
                    $('.group' + field_group_num + '.set' + field_group_set_num).hide();
                    $('.group' + field_group_num + '.set' + field_group_set_num + ' .required:input').removeClass('required');
                    display_elem.val(0);

                    if (!hide_all)
                    	done = true;
                }
                else
                    any_shown = true;
            }
        }
    }

    if (!any_shown)
        $('#hide_' + field_group_num).hide();

    $('#show_more_' + field_group_num).show();
}

key_pressed = function(event)
{
    var char = String.fromCharCode(event.which || event.keyCode);

    // If %B is detected (start of track data) or the swipe data is being captured then continue
    if ((swipe_buffer.length == 0 && char == '%') || (swipe_buffer.length == 1 && char == 'B') || swipe_buffer.length >= 2)
    {
        event.preventDefault();
        swipe_buffer += char;

        // If we have two question marks at this point then we're done reading track data
		if (char == '?' && swipe_buffer.split('?').length == 3)
		{
			parse_swipe_buffer();
			swipe_buffer = '';
		}
    }
    else
        swipe_buffer = '';
}

object_to_hidden_inputs = function(value, prefix)
{
    // Initialize for safety
    var html = '';

    $.each(value, function(sub_name, sub_value)
    {
        if (typeof sub_value == 'object')
        {
            var sub_prefix = prefix + '[' + sub_name + ']';
            html += object_to_hidden_inputs(sub_value, sub_prefix);
        }
        else
            html += '<input type="hidden" name="' + prefix + name + '[' + sub_name + ']" value="' + htmlspecialchars(sub_value) + '">';
    });

    return html;
}

parse_swipe_buffer = function()
{
    var track1_regex = /^%B(\d+)\^([^\/]+)\/([^^]+)\^(\d\d)(\d\d)/;
    var matches = swipe_buffer.match(track1_regex);

    if (matches)
    {
        var payer_fname = ucwords(matches[3].toLowerCase());
        var payer_lname = ucwords(matches[2].toLowerCase());
        $('#payer_fname').val(payer_fname);
        $('#payer_lname').val(payer_lname);
        $('#cc_acct_name').val(payer_fname + ' ' + payer_lname);
		$('#cc_num').val(matches[1]);
		$('#cc_exp_yr').val('20' + matches[4]);
		$('#cc_exp_mo').val(matches[5]);
    }
}

post_to_url = function(post_url, trans_status)
{
    // We make an AJAX call to get_post_back_data.php because translating to legacy format is not trivial so we'll let centralized PHP code do it
    $.ajax({
        url: 'https://secure.acceptiva.com/ajax/get_post_back_data.php',
        type: 'POST',
        data: $('#payform :input').not(':disabled').serialize(),
        dataType: 'json',
        post_url: post_url,
        trans_status: trans_status,
        success: function(data, textStatus, XMLHttpRequest)
        {
            data.trans_status = trans_status;
            var html = '<form id="post-form" action="' + post_url + '" method="post">';
            $.each(data, function(name, value)
            {
                if (typeof value == 'object')
                    html += object_to_hidden_inputs(value, name);
                else
                    html += '<input type="hidden" name="' + name + '" value="' + value + '">';
            });
            html += '</form>';
            $('body').append(html);
            $('#post-form').submit();
        }
    });
}

// Disallow any input other than 0-9, dash (optionally, to allow for negative numbers), dot, backspace, or tab
prevent_nonnumeric_input = function(event, allow_dash)
{
    var keycode = event.which || event.keyCode;
    //console.log(keycode);
    if (typeof allow_dash == 'undefined')
        allow_dash = false;
    if (!((keycode >= 48 && keycode <= 57) || (allow_dash && keycode == 45) || keycode == 46 || keycode == 8 || keycode == 9))
        event.preventDefault();
}

// Disallow any input other than 0-9, dash, dot, left paren, right paren, space, x, forward slash, plus, backspace, or tab
prevent_nonphone_input = function(event)
{
    var keycode = event.which || event.keyCode;
    //console.log(keycode);
    if (typeof allow_dash == 'undefined')
        allow_dash = false;
    if (!((keycode >= 48 && keycode <= 57) || keycode == 45 || keycode == 46 || keycode == 40 || keycode == 41 || keycode == 32 || keycode == 120 || keycode == 47 || keycode == 43 || keycode == 8 || keycode == 9))
        event.preventDefault();
}

// Requires clients/assets/js/acceptiva.js.php for show_modal_alert()
process_payment = function()
{
    $('body').append('<div id="overlay" style="background-color: #000; filter: alpha(opacity=50); height: 100%; left: 0px; opacity: 0.5; position: fixed; top: 0px; width: 100%; z-index: 1000;"></div>');
    $('body').append('<div id="processing" style="background: url(\'https://secure.acceptiva.com/assets/img/loader.gif\') no-repeat; color: #fff; font-size: 32px; height: 800px; margin: 0 auto; padding-top: 290px; position: fixed; text-align: center; width: 800px; z-index: 1001;">Processing</div>');
    center_in_window('processing');
    $(window).resize(function() { center_in_window('processing'); });

    $.ajax({
        url: 'https://secure.acceptiva.com/ajax/process_payment.php',
        type: 'POST',
        data: $('#payform :input').not(':disabled').serialize(),
        dataType: 'json',
        success: function(data, textStatus, XMLHttpRequest)
        {
            if ($('#trans_id_str').length > 0)
                $('#trans_id_str').val(data.trans_id_str);
            else
                $('#payform').append('<input type="hidden" id="trans_id_str" name="trans_id_str" value="' + data.trans_id_str + '">');

            // This will set the trans_status appropriately for future processing tries
            if (skip_confirm && $('#trans_status').length == 0)
                $('#payform').append('<input type="hidden" id="trans_status" name="trans_status" value="11">');

            if (data.is_ok)
            {
                ignore_onbeforeunload_handler = true;

                if (receipt_page_url != '' && !vt)
                    post_to_url('https://' + receipt_page_url, 'approved');
                else
                    window.location = 'receipt.phtml?trans_id_str=' + encodeURIComponent(data.trans_id_str_enc);
            }
            else
            {
                if (data.trans_status == TRANS_STATUS_CHARGE_AVS_ERR)
                {
                    $('fieldset.default-field').show();
                    $('.default-field').parents('.fieldrow').show();
                }

				if (data.trans_status == TRANS_STATUS_CHARGE_FRAUD)
					window.location = 'fraud.php';
				else
                	show_modal_alert(null, 'Transaction Failed', data.message);
            }
        },
        complete: function(XMLHttpRequest, textStatus)
        {
            $('#overlay').remove();
            $('#processing').remove();
        }
    });
}

receive_message_swiper = function(event)
{
    if (event.data == '')
		return;

    try
    {
        var data = JSON.parse(event.data);

        if (data.height)
            $('#swiper').css('height', data.height);

        if (data.payer_fname)
            $('#payer_fname').val(data.payer_fname);

        if (data.payer_lname)
            $('#payer_lname').val(data.payer_lname);

        if (data.acct_name)
            $('#cc_acct_name').val(data.acct_name);

        if (data.cc_num)
            $('#cc_num').val(data.cc_num);

        if (data.cc_exp_mo)
            $('#cc_exp_mo').val(data.cc_exp_mo);

        if (data.cc_exp_yr)
            $('#cc_exp_yr').val(data.cc_exp_yr);
    }
    catch (e)
    {
    }
}

show_field_set = function(field_group_num, show_all)
{
    // Initialize for safety
    show_all = (typeof show_all != 'undefined' ? show_all : false);
    var all_shown = true;
    var done = false;

    for (var field_group_set_num = 0; field_group_set_num <= 60; field_group_set_num++)
    {
        var display_elem = $('#display_' + field_group_num + '_' + field_group_set_num);

        if (display_elem.length)
        {
            // We found a set that is hidden; show it
            if (display_elem.val() == 0)
            {
                if (!done)
                {
                    $('.group' + field_group_num + '.set' + field_group_set_num).show();
                    $('.group' + field_group_num + '.set' + field_group_set_num + ' .required-if-shown:input').addClass('required');
                    display_elem.val(1);

                    if (!show_all)
                    	done = true;
                }
                else
                    all_shown = false;
            }
        }
    }

    if (all_shown)
        $('#show_more_' + field_group_num).hide();

    $('#hide_' + field_group_num).show();
}

sleep = function(ms)
{
    return new Promise(function(resolve) { return setTimeout(resolve, ms); });
}

ucwords = function(str)
{
    return (str + '')
    .replace(/^(.)|\s+(.)/g, function ($1) {
      return $1.toUpperCase()
    });
}

$(function()
{
    change_recur_freq(document.getElementById('items[1][recur_freq]'), 1);
change_recur_freq(document.getElementById('items[20][recur_freq]'), 20);
change_recur_freq(document.getElementById('items[21][recur_freq]'), 21);
change_recur_freq(document.getElementById('items[23][recur_freq]'), 23);
change_recur_freq(document.getElementById('items[22][recur_freq]'), 22);

    change_country($('#billing_country'), $('#billing_state').val());

    $('.pwp-small-btns > input[type="radio"]').checkboxradio({ icon: false });

    $('.pwp-small-btns > label > input[type="number"]').click(function()
    {
        $(this).parent().click();
        $(this).focus();
    });

    $('.pwp-small-btns > label').click(function()
    {
        if ($(this).parent().hasClass('desc'))
        {
            $(this).parent().parent().siblings('.pwp-large-btn-container').each(function()
            {
                $(this).find('.pwp-small-btns > label > input[type="number"]').val('');
            });
        }
        else
        {
            $(this).parent().siblings().each(function()
            {
                $(this).find('label > input[type="number"]').val('');
            });
        }
    });

    $('.datepick').datepick(
    {
        showOtherMonths: true,
        selectOtherMonths: true,
        showTrigger: '<img src="assets/img/calendar.png">',
        onSelect: change_date
    });
    $('.datepick').change();

    $('#payment-modes').prev('div.group0').css('border-bottom', '0');
});