$(document).ready(function()
{
    $('[name^=objectType]').change(function()
    {
        var objectType = $(this).val();
        var checked    = $(this).prop('checked');
        if(objectType != 'project')
        {
            if(checked)
            {
                $('[name^=objectType]').not(this).not('[value=project]').prop('checked', false).change();
            }
            if(objectType == 'order')    $('#customer').parents('tr').toggle(checked);
            if(objectType == 'contract') $('#customer').parents('tr').toggle(checked);
        }
        $('#' + objectType).parents('tr').toggle(checked);
    });

    /* show or hide detail. */
    $(document).on('change', '#detail', function()
    {
        if($(this).prop('checked'))
        {
            $('input[name^=dateList]').each(function()
            {
                if(!$(this).val()) $(this).val($('#date').val());
            });
            $('select[name^=categoryList]').each(function()
            {
                if(!$(this).val()) $(this).val($('#category').val()).trigger('chosen:updated');
            });
            $('select[name^=relatedList]').each(function()
            {
                if(!$(this).val()) $(this).val($('#related').val()).trigger('chosen:updated');
            });
            $('textarea[name^=descList]').each(function()
            {
                if(!$(this).val()) $(this).val($('#desc').val());
            });

            $('#refund-detail').removeClass('hidden');
            $('#money').prop('readonly', 'readonly');
            $('#invoice').prop('readonly', 'readonly');
            $('#refund-date').addClass('hidden');
            $('#refund-related').addClass('hidden');
            $(this).find('i').removeClass('icon-double-angle-down');
            $(this).find('i').addClass('icon-double-angle-up');
        }
        else
        {
            $('input[name^=moneyList]').val('');
            $('#refund-detail').addClass('hidden');
            $('#money').prop('readonly', '');
            $('#invoice').prop('readonly', '');
            $('#refund-date').removeClass('hidden');
            $('#refund-related').removeClass('hidden');
            $(this).find('i').removeClass('icon-double-angle-up');
            $(this).find('i').addClass('icon-double-angle-down');
        }
        return false;
    });

    if($('#detailBox tr').size() > 1)
    {
        $('#detail').click();
    }

    $('[name^=objectType]').each(function()
    {
        $('#' + $(this).val()).parents('tr').hide();
    });

    $('[name^=objectType]').each(function()
    {
        if($(this).prop('checked')) $(this).change();
    });
});
