//**************************************************************************************
function clearElement(name)
{
	var el = getElement(name);
	
	if(!el)
		return;
		
	if(el.selectedIndex)
		el.selectedIndex = 0;
	else
		el.value = "";
}
//**************************************************************************************
function isElement(element)
{
	if(element.text != undefined || element.selectedIndex != undefined || element.checked != undefined || typeof element == 'object')
		return true;
	else
		return false;
}
//**************************************************************************************
function getDateElement(element)
{
	var month = getElement(element + "_month");
	
	var day = getElement(element + "_day", false);		
	
	var year = getElement(element + "_year", false);				
	
	if(!month)
		return new Date();
		
	var month_value = month.options[month.selectedIndex].value;
	
	var day_value = day.options[day.selectedIndex].value;
	
	var year_value = year.options[year.selectedIndex].value;		
	
	return new Date(year_value, month_value, day_value);
}
//**************************************************************************************
function getElement(name, showError)
{
	showError = realValue(showError, true);
		
    var fld = (document.all) ? document.all[name] : document.getElementById(name);
	
	if(!fld && showError)
		alert("Invalid Field: " + name);
		
	return fld;
}
//**************************************************************************************
function getFirstElement(fm)
{
	var frm = getForm(fm);
	
	if(!frm)
		return;
	
	for(var i = 0; i < frm.elements.length; i++)
	{
		if(isElement(frm.elements[i]))
			return frm.elements[i];
	}
	
	return undefined;
}
//**************************************************************************************
function getRealElement(name, showError)
{
	showError = realValue(showError, true);
		
	if(isElement(name))
		return name;
		
    var fld = getElement(name, false);

	if(!fld)
	{
		fld = getElement(name + "_month", false);
		
		if(!fld)
			fld = getElement(name + "_one", false);
			
		if(!fld)
			fld = getElement(name + "_interval", false);			
	}

	if(!fld && showError)
		alert("Invalid Field: " + name);

	if(fld.length && !fld.selectedIndex)	
		fld = fld[0];

	return fld;
}
//**************************************************************************************
function getSelectValue(object)
{
	var index = object.selectedIndex;
	
	if(index < 1)
		return "";
	else
		return object.options[index].value;
}
//**************************************************************************************
function selectAllCheckboxes(chk, chks)
{
	if(chks.length == undefined)
		chks.checked = chk.checked;
	else
	{
		for(var i = 0; i < chks.length; i++)
			chks[i].checked = chk.checked;			
	}
}
//**************************************************************************************
function setElementFocus(el)
{
	if(el.type != 'hidden')
	{
		if(el.visible != undefined)
			if(el.visible() == false)
				return;
		
		if(el.disabled != undefined && el.disabled == true)
			return;
		
		if(el.style != undefined && el.style.display != undefined && el.style.display == 'none')
			return;
		
		el.focus();
	}
}
//**************************************************************************************
function setFocus(name)
{
	if(name == undefined || name == null || name == '')
		return;
		
    var fld = getRealElement(name, true);
	
	if(!fld)
		return;
		
	setElementFocus(fld);
}
//**************************************************************************************
function setSelectIndexByID(object, selected_id)
{
	if(selected_id > 0)
	{
		for(var i = 0; i < object.options.length; i++)
		{
			if(selected_id == parseInt(object.options[i].value))
			{
				object.selectedIndex = i;
				return;
			}
		}
	}
	
	object.selectedIndex = 0;
}
//**************************************************************************************
function setLabel(name, value)
{
    var fld = getRealElement(name);

    if(!fld)
        return false;
    else if(empty(value))
    {
        alert("Invalid Message For {setLabel}");
        return false;
    }

    if(fld.data != undefined)
        fld.data = value;
    else if(fld.innerHTML != undefined)
        fld.innerHTML = value;
    else if(fld.innerText != undefined)
        fld.innerText = value;
    else if(fld.textContent != undefined)
        fld.textContent = value;
    else
    {
        alert("Invalid Field: " + name);		
		return false;
    }

    return true;
}
//**************************************************************************************
function setRating(element, index, on_image, off_image)
{
	var el = getElement(element);
	
	if(!el)
		return;
	
	el.value = index;	
	
	for(var i = 1; i < 6; i++)
	{
		el = getElement(element + "_" + i);
			
		if(index < i)
			el.src = off_image;
		else
			el.src = on_image;
	}
}
//**************************************************************************************
function textCounter(field, countfield, maxlimit) 
{	
	if(field.value.length > maxlimit)
	{
		field.value = field.value.substring(0, maxlimit);
		countfield.value = '0 of ' + maxlimit + ' characters left';
		return false;
	}
	else 
	{
		countfield.value = (maxlimit - field.value.length) + ' of ' + maxlimit + ' characters left';
		return true;
	}
}
//**************************************************************************************
function textNumeric(fld, e) 
{
  var key;
  var keychar;

  if(window.event)
    key = window.event.keyCode;
  else if(e)
    key = e.which;
  else
    return true;
	
  keychar = String.fromCharCode(key);

  if((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
	return true;
  else if((("0123456789").indexOf(keychar) > -1))
    return true;
  else
    return false;
}
//**************************************************************************************

