function getRadioValue(o)
{
	if(!o)
		return '';
	if(!o.length)
		return '';
	for(var i=0; i<o.length; i++)
		if(o[i].checked)
			return o[i].value;
	return '';
};

function setRadioValue(o,v)
{
	if(!o)
		return;
	if(!o.length)
		return;
	for(var i=0; i<o.length; i++)
	{
		if(o[i].value == v)
			o[i].checked = true;
		else
			o[i].checked = false;
	}
};

function getSelectValue(o)
{
	if(!o)
		return '';
	if(!o.options)
		return '';
	if(o.selectedIndex < 0)
		return '';
	var v = o.options[o.selectedIndex].value;
	if(v == 'none' || v == 'NONE')
		v = '';
	return v;
};

function setSelectValue(o,v)
{
	if(!o)
		return;
	if(!o.options)
		return;
	var idxssv;
	var found = false;
	for(idxssv=0;idxssv<o.options.length;idxssv++)
	{
		o.options[idxssv].selected = false;
		if(o.options[idxssv].value == v)
		{
			o.options[idxssv].selected = true;
			found = true;
		}
	}
};

function setInputValue(o,v)
{
	if(!o)
		return;
	switch(o.type)
	{
	case 'select-one':
		setSelectValue(o,v);
		break;
	case 'checkbox':
		o.checked = (v == o.value ? true : false);
		break;
	case 'radio':
		setRadioValue(o,v);
		break;
	default:
		if(o.length)
			setRadioValue(o,v);
		else
			o.value = v;
	}
};

function $(v)
{
	return document.getElementById(v);
};

function forceUpperCase(o)
{
	var v = o.value;
	var nv = v.toUpperCase();
	if(v != nv)
		o.value = nv;
	return true;
};

function forceLowerCase(o)
{
	var v = o.value;
	var nv = v.toLowerCase();
	if(v != nv)
		o.value = nv;
	return true;
};

function forceNumber(o,allowfloat)
{
	var allowfloat = allowfloat || 0;
	var v = o.value;
	if(allowfloat)
	{
		var nv = v.replace(/,/g,'.');
		nv = nv.replace(/[^0-9.]/g,'');
	}
	else
		var nv = v.replace(/[^0-9]/g,'');
	if(v != nv)
		o.value = nv;
	return true;
};

function placeFooter()
{
	var x = $('top').offsetHeight > $('page').offsetHeight ? $('top').offsetHeight : $('page').offsetHeight;
	var y = 150 + ($('leftborder').offsetHeight > ($('rightborder').offsetHeight-246) ? $('leftborder').offsetHeight : ($('rightborder').offsetHeight-246));
	x = $('page').offsetHeight;
	if($('leftborder').offsetHeight > ($('rightborder').offsetHeight-246))
	{
		// alert('K1:'+$('leftborder').offsetHeight+' > '+($('rightborder').offsetHeight-246));
	}
	else
	{
		// alert('K2:'+$('leftborder').offsetHeight+' <= '+($('rightborder').offsetHeight-246));
	}
	if($('page').offsetHeight > $('body').offsetHeight)
	{
		// La page dépasse de l'écran
		if(x - 246 < y)
		{
			// Risque de masquage de menu, il faut descendre le footer
			// alert('1A: '+$('page').offsetHeight+' > '+$('body').offsetHeight+'\n'+y);
			$('footer').style.top = (y+246) + 'px';
			var z = y - x + 246;
			$('page').style.padding = '0 0 '+z+'px 0';
		}
		else
		{
			// Menu non masqué, on ne descend pas le footer
			// alert('1B: '+$('page').offsetHeight+' > '+$('body').offsetHeight+'\n'+y);
			$('footer').style.top = (x+0) + 'px';
			$('page').style.padding = 0;
		}
	}
	else
	{
		// La page ne dépasse pas de l'écran
		//x = $('body').offsetHeight - 296 - 16;
		if(x - 246 < y)
		{
			// alert('2: '+x+' > '+y);
			var z = y - x + 246;
			$('footer').style.top = (y+246) + 'px';
			$('page').style.padding = '0 0 '+z+'px 0';
		}
		else
		{
			// alert('3: '+x+' >= '+y);
			x += 50;
			//x = $('page').offsetHeight;
			$('footer').style.top = x + 'px';
			var z = x - $('body').offsetHeight;
			$('page').style.padding = '0 0 '+z+'px 0';
		}
	}
	$('footer').style.display = 'block';
};
