/*
 * Objects
 *
 * Core objects available in BECAPI.
 */
 
var DateComparer = function(a, b)
{
	return a - b;
}

function h_setCheckboxRadioAttributes(o, args)
{
	// Prefix letter 'h' stands for 'hidden'.
	switch (args.length)
	{
		case 3:
			if (Boolean(args[2]))
			{
				o.setAttribute('checked', 'checked');
			}
		case 2:
			o.setAttribute('value', args[1]);
		case 1:
			o.setAttribute('name', args[0]);
			break;
		default:
			alert('InvalidNumberOfArgumentsException');
	}
}

function Checkbox()
{
	// new Checkbox(sName[, sValue[, bChecked]])
	var o = document.createElement('input');
	o.setAttribute('type', 'checkbox');
	h_setCheckboxRadioAttributes(o, arguments);
	o.id = o.getAttribute('name') + '_' + o.getAttribute('value');
	return o;
}

function Radio()
{
	// new Radio(sName[, sValue[, bChecked]])
	o = document.createElement('input');
	o.setAttribute('type', 'radio');
	h_setCheckboxRadioAttributes(o, arguments)
	o.id = o.getAttribute('name') + '_' + o.getAttribute('value');
	return o;
}