var ideals_dom=document.getElementById&&!document.all?1:0;
var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function test_cookie()
{
	document.cookie = "Y";//appends 
	var testcookie = document.cookie; 
	document.cookie = "";//clears Y from before 
	document.cookie.expires = "1-1-1";
	if (testcookie == document.cookie) 
		alert("You must enable cookies in your browser for this site to function properly"); 
}

function table_size( tableid ) {
	// Find all our table
	var table=ideals_dom?document.getElementById(tableid):document.all[tableid];
	if ( table != null )
	{
		var trs = table.getElementsByTagName("tr");
		for ( var ii=0; ii<trs.length; ii++ )
		{
			var tds = trs[ii].getElementsByTagName("td");
			for ( var iii=0; iii<tds.length; iii++ )
			{
				if( tds[iii].style.width.length == 0 )
				{
					if( iii == tds.length-1 )
						tds[iii].style.width = '100%';
					else
						tds[iii].style.width = 'auto';
				}
			}
		}
	}
}

function set_table_percents( tableid, arrSizes ) {
	// Find all our table
	var table=ideals_dom?document.getElementById(tableid):document.all[tableid];
	if ( table != null )
	{
		var trs = table.getElementsByTagName("tr");
		for ( var ii=0; ii<trs.length; ii++ )
		{
			var tds = trs[ii].getElementsByTagName("td");
			for ( var iii=0; iii<tds.length; iii++ )
			{
				if( tds[iii].style.width.length == 0 )
				{
					var newWidth = null;
					try
					{
						newWidth = arrSizes[iii];
					}
					catch(err)
					{
						newWidth = 'auto';
					}
					if( newWidth == null )
						newWidth = 'auto';
					
					tds[iii].style.width = newWidth;
				}
			}
		}
	}
}
function valOptionButton(btn) 
{
	var cnt = -1;
	if( btn.length != undefined )
	{
		for (var i=btn.length-1; i > -1; i--) 
		{
			if (btn[i].checked) 
			{
				cnt = i; i = -1;
			}
		}
		if (cnt > -1) 
			return btn[cnt].value;
		else 
			return null;
	}
	else
	{
		if (btn.checked)
			return btn.value;
		else
			return null; 
	}
}

function numDaysIn(mth,yr)
{
	if(mth==4 || mth==6 || mth==9 || mth==11) return 30;
	else if ((mth==2) && leapYear(yr)) return 29;
	else if (mth==2) return 28;
	else return 31;
}

function leapYear(yr)
{
	if(((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0)
		return true;
	else
		return false;
}
function updatecaddy( formID, inputID, nValue )
{
	var ctlForm=ideals_dom?document.getElementById(formID):document.all[formID];
	var ctlInput=ideals_dom?document.getElementById(inputID):document.all[inputID];
	
	if( ctlForm != null && ctlInput != null)
	{
		ctlInput.value = nValue;
		ctlForm.submit();
	}
		
	return false;
}
function checkdate(eMonth, eDay, eYear )
{
	var nMonth = 0;
	var nYear = 0;
	var nDay = 0;
	
	if( eMonth == null || eDay == null || eYear==null )
	{
		alert('Missing a required paramenter to the check date function.');
		return false;
	}
	
	var ctlMonth=ideals_dom?document.getElementById(eMonth):document.all[eMonth];
	var ctlYear=ideals_dom?document.getElementById(eYear):document.all[eYear];
	var ctlDay=ideals_dom?document.getElementById(eDay):document.all[eDay];
	
	if( ctlMonth == null || ctlYear == null || ctlDay==null )
	{
		alert('Could not find one of the date controls passed into the check date function.');
		return false;
	}

	nMonth = ctlMonth.value;
	nYear = ctlYear.value;
	nDay = ctlDay.value;

	var numDays = numDaysIn(nMonth,nYear);
	
	if( nDay > numDays )
	{
		alert('The day portion of the date you selected will be reset \nto the last day of the selected month because the month/year \nthat was just selected does not have ' + nDay + ' days.');
		ctlDay.value = numDays;
	}
		
	ctlDay.options.length=numDays;
	for(i=27;i<numDays;i++)
	{
		ctlDay.options[i].value=i+1;
		ctlDay.options[i].text=i+1;
	}	
	return true;
}	
function toggle_element(elem)
{
	var div;

	try
	{
		div=ideals_dom?document.getElementById(elem).style:document.all[elem].style;
		///alert(div.display);
		if( div.display != null && div.display == "none")
			div.display="";
		else
			div.display="none";
	}
	catch(e)
	{
		alert(e.description + ' Caught error in toggle_element');
	}
}
function hide_element(elem)
{
	var div;

	try
	{
		div=ideals_dom?document.getElementById(elem).style:document.all[elem].style;
		div.display="none";
	}
	catch(e)
	{
		alert(e.description + ' Caught error in toggle_element');
	}
}
function auto_tab( elemCurrent, elemNext, maxLen, e )
{
	var keyCode = (isNN) ? e.which : e.keyCode; 
	var filter = [0,8,9,16,17,18,37,38,39,40,46];
	
	var ctlCurr=ideals_dom?document.getElementById(elemCurrent):document.all[elemCurrent];
	var ctlNext=ideals_dom?document.getElementById(elemNext):document.all[elemNext];
	
	if( ctlCurr != null && ctlNext != null )
	{
		if( !containsElement(filter, keyCode) && ctlCurr.value.length >= maxLen )
		{
			ctlNext.focus();
			ctlNext.select();
		}
	}
}
function containsElement(arr, ele) 
{
	var found = false, index = 0;
	while(!found && index < arr.length)
	{
		if(arr[index] == ele)
			found = true;
		else
			index++;
	}
	return found;
}
