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('