//
// $Editor: vpastukhov $
// $Id: entry_field_scripts.js 7464 2005-12-29 15:38:52Z dbulychev $
// $Revision: 7464 $
//

fieldEditHandler.int_check =
function ( field )
{
    var v = field.value;
    if (! v.length)
        return true;

    v = parseInt( v, 10 );
    if (isNaN( v )) {
        field.value = '';
        return false;
    }

    field.value = v;
    return true;
};

fieldEditHandler.currency_check =
function ( field )
{
    var v = field.value.replace(',','.');
    if (! v.length)
        return true;

    v = parseFloat( v );
    if (isNaN( v )) {
        field.value = '';
        return false;
    }

    field.value = v.toFixed(2);
    return true;
};

fieldEditHandler.file_clear =
function ( field )
{
    var form = field.form;
    var name = field.getAttribute('field_name');

    form.elements[ name+'.filename:record' ].value = '';

    return true;
};

fieldEditHandler.link_select =
function ( field, scope, features, types, categories )
{
    var form = field.form;
    var name = field.getAttribute('field_name');
    var fuid = form.elements[ name+':uid' ];
    var win  = getWindow( form );

    if (features == null)   features   = fuid.getAttribute('field_features') || '';
    if (types == null)      types      = fuid.getAttribute('field_types') || '';
    if (categories == null) categories = fuid.getAttribute('field_categories') || '';

    win.OpenDocumentSelectionWnd( form.name, 'link_callback',
                                  scope, features, name+':uid', '', categories, types );
    return true;
};

fieldEditHandler.link_clear =
function ( field )
{
    var form = field.form;
    var name = field.getAttribute('field_name');
    var fuid = form.elements[ name+':uid' ];

    fuid.value = '';
    fuid.nextSibling.nextSibling.value = '';

    if (fuid.onchange != null)
        fuid.onchange();

    return true;
};

link_callback =
fieldEditHandler.link_callback =
function ( fname, uid, title, version_id, uid_field, title_field )
{
    var form = this.document.forms[ fname ];
    var fuid = form.elements[ uid_field ];
    var ftitle = title_field ? form.elements[ title_field ]
                             : fuid.nextSibling.nextSibling;
    fuid.value = uid;
    ftitle.value = title;

    if (fuid.onchange != null)
        fuid.onchange();
};

fieldEditHandler.link_properties =
function ( form, name, scope, features, types, categories )
{
    var field = form.elements[ name+':uid' ];
    if (! field)
        return false;

    if (features != null)   field.setAttribute( 'field_features', features );
    if (types != null)      field.setAttribute( 'field_types', types );
    if (categories != null) field.setAttribute( 'field_categories', categories );

    return true;
};

fieldEditHandler.folder_select =
function ( id )
{
    var link = window[ id+'_link' ];
    window.open( link, 'wnd_popup_menu', 'toolbar=no,scrollbars=yes,width=300,height=400,resizable=yes' );
    field_id = id;
    return true;
};

fieldEditHandler.folder_callback =
function ( uid, title )
{
    document.getElementById( field_id+'_uid' ).value = uid;
    document.getElementById( field_id+'_title' ).value = title;
};

function setFolderUrl( uid, title )
{
    fieldEditHandler.folder_callback( uid, title );
}

