var FormField = { 'GetField': function(fieldId) { if (isNaN(fieldId) && typeof(fieldId) == 'object') { fieldId = parseInt(($(fieldId).attr('id')).substr(10)); } if (fieldId == '' || isNaN(fieldId)) { return false; } var field = $('#FormField_' + fieldId); var length = $(field).length; if (length == 0) { return false; } else if (length > 1) { field = $(field).get(length-1); } return $(field); }, 'GetFieldByPrivateId': function(formId, privateId) { if (isNaN(formId) || formId < 1 || privateId == '') { return false; } var field = $('.FormFieldPrivateId[value=' + privateId + ']').parent('dd:has(.FormFieldFormId[value=' + formId + '])').find('.FormField'); if (!field.length) { return false; } return field[0]; }, 'GetFieldByLabel': function(formId, label) { if (isNaN(formId) || formId < 1 || label == '') { return false; } var formfield = false; $('.FormField').each( function() { if (FormField.GetFieldFormId(this) == formId && FormField.GetLabel(this) == label) { formfield = $(this); } } ); return formfield; }, 'GetFieldType': function(field) { var dd = FormField.GetFieldDefinitionData(field); if (!dd) { return ''; } return $('.FormFieldType', dd).val(); }, 'GetFieldId': function(field) { var dd = FormField.GetFieldDefinitionData(field); if (!dd) { return ''; } return $('.FormFieldId', dd).val(); }, 'GetFieldFormId': function(field) { var dd = FormField.GetFieldDefinitionData(field); if (!dd) { return ''; } return $('.FormFieldFormId', dd).val(); }, 'GetFieldPrivateId': function(field) { var dd = FormField.GetFieldDefinitionData(field); if (!dd) { return ''; } return $('.FormFieldPrivateId', dd).val(); }, 'GetFieldDefinitionData': function(field) { var dd = $(field).parent('dd'); if (!dd.length) { return false; } return dd; }, 'GetFieldDefinitionTag': function(field) { var dd = FormField.GetFieldDefinitionData(field); if (!dd) { return false; } var dt = dd.prev('dt'); if (!dt.length) { return false; } return dt; }, 'GetValue': function(fieldId) { var field = FormField.GetField(fieldId); if (!field) { return ''; } switch (FormField.GetFieldType(field).toLowerCase()) { case 'radioselect': case 'checkboxselect': var options = []; $('.FormFieldOption:checked', field).each(function() { options[options.length] = $(this).val(); }); if (options.length == 0) { if (FormField.GetFieldType(field).toLowerCase() == 'radioselect') { return ''; } else { return []; } } if (FormField.GetFieldType(field).toLowerCase() == 'radioselect') { options = options[0]; } return options; break; case 'datechooser': var day = $('.FormFieldDay', field).val(); var month = $('.FormFieldMonth', field).val(); var year = $('.FormFieldYear', field).val(); if (day == '' || month == '' || year == '') { return ''; } if (day.length == 1) { day = '0' + day; } if (month.length == 1) { month = '0' + month; } return year + '-' + month + '-' + day; break; default: return $(field).val(); break; } }, 'GetValues': function(formIdx, privateOnly) { var values = []; if (typeof(privateOnly) == 'undefined' || privateOnly !== true) { privateOnly = false; } if (!isNaN(formIdx)) { formIdx = [formIdx]; } for (var i = formIdx.length; i--;) { var fieldFormId = formIdx[i]; $('.FormFieldFormId[value=' + fieldFormId + ']').parent('dd').find('.FormField').each( function() { if (privateOnly && FormField.GetFieldPrivateId(this) == '') { return; } for (var i=0; i'); } else { var input = $(''); } $(input).attr('name', $(field).attr('name')); $(input).attr('class', $(field).attr('class')); $(input).attr('id', $(field).attr('id')); $(input).attr('style', $(field).attr('style')); $(field).replaceWith(input); if (options.display !== 'select') { var fieldId = FormField.GetFieldId(fieldId); var formId = FormField.GetFieldFormId(fieldId); $(input).after(''); } if (typeof(options.options) !== 'undefined') { FormField.SetOptions(fieldId, options.options); } $(input).val(val); break; case 'radioselect': case 'checkboxselect': if (typeof(options.options) !== 'undefined') { FormField.SetOptions(fieldId, options.options); } if (typeof(val) == 'string') { val = [val]; } else if (FormField.GetFieldType(field).toLowerCase() == 'radioselect' && val.length > 1) { val.length = 1; } $('.FormFieldOption', field).each( function() { var checked = false; for (var i=0; i' + chooseOption + ''); } for (var i=0; i' + options[i] + ''); } break; case 'radioselect': case 'checkboxselect': field.empty(); var id = $(select).attr('id'); var name = $(select).attr('name'); if (FormField.GetFieldType(field).toLowerCase() == 'radioselect') { var shell = ''; } else { var shell = ''; } for (var i=0; i 0) { $(select).append('
'); } var label = $(select).append('