/***********************************************************
*                Dynamic Content Management                *
* This file contains an assortment of functions that       *
* support dynamic web content.                             *
*                                                          *
* Author: Adam Bernot                                      *
***********************************************************/

/***********************************************************
*                     General CSS Magic                    *
***********************************************************/
function hide(thisObject) {
    thisObject.style.display="none";
}


/***********************************************************
*                 Dynamic Table Management                 *
***********************************************************/
function showTableRow(thisRow) {
	if ( navigator.appName=="Microsoft Internet Explorer" ) {
		thisRow.style.display="inline";
	}
	else {
		thisRow.style.display="table-row";
	}
}
function hideTableRow(thisRow) {
    hide(thisRow);
}
function showAllTableRows(tableId) {
    var thisTable = document.getElementById(tableId);
    for (var i=0;i<thisTable.rows.length-1;i++) {
        showTableRow( thisTable.rows[i] );
    }
}
function hideAllTableRows(tableId) {
    var thisTable = document.getElementById(tableId);
    for (var i=0;i<thisTable.rows.length-1;i++) {
        hideTableRow( thisTable.rows[i] );
    }
}
function showTheseTableRows(tableId,rowList) {
    var thisTable = document.getElementById(tableId);
    for (var i=0;i<rowList.length-1;i++) {
        var rowNumber = rowList[i];
        showTableRow( thisTable.rows[rowNumber] );
    }
}
function showNumRows(tableId,numRows) {
    var thisTable = document.getElementById(tableId);
    for (var i=0;i<thisTable.rows.length-1;i++) {
        if (i<numRows) {
          showTableRow( thisTable.rows[i] );
        }
        else {
          hideTableRow( thisTable.rows[i] );
        }
    }
}


/***********************************************************
*                         Form Magic                       *
***********************************************************/
function updateHiddenDate(form) {
	form.Date.value = form.date_year.value+"-"+padLeft(form.date_month.value,2,"0")+"-"+padLeft(form.date_day.value,2,"0");
}
function updateHiddenDateTime(form) {
	form.Date.value = form.date_year.value+"-"+padLeft(form.date_month.value,2,"0")+"-"+padLeft(form.date_day.value,2,"0")+" "+padLeft( eval(form.date_hour.value)+eval(form.date_time_of_day.value) ,2,"0")+":"+padLeft(form.date_minute.value,2,"0")+":00";
}


/***********************************************************
*                Javascript Helper Functions               *
***********************************************************/
function padLeft(string,paddedLength,padChar) {
	for (i=string.length;i<paddedLength;i++) {
		string = padChar+string;
	}
	return string;
}
function padRight(string,paddedLength,padChar) {
	for (i=string.length;i<paddedLength;i++) {
		string = string+padChar;
	}
	return string;
}
