var dt_timesheet_tRows = 1; //total
var dt_timesheet_vRows = 1; //visible

dt_timesheet_addRow = function()
{

	if ( dt_timesheet_tRows == dt_timesheet_vRows )
	{
		dt_timesheet_tRows++;
		dt_timesheet_vRows++;
		var row = document.createElement('div');
		row.id = "dt_timesheet" + dt_timesheet_tRows;
		row.innerHTML = "<input type='text' class='y' id='dt_timesheet_start" + dt_timesheet_tRows + "' value='9:00'> <select class='x' id='dt_timesheet_start" + dt_timesheet_tRows + "ap'><option value='AM' selected>AM</option><option value='PM'>PM</option></select>&nbsp;&nbsp;&nbsp;<input type='text' class='y' id='dt_timesheet_end" + dt_timesheet_tRows + "' value='5:00'> <select class='z' id='dt_timesheet_end" + dt_timesheet_tRows + "ap'><option value='AM'>AM</option><option value='PM' selected>PM</option></select>";
		row.className = "row";
		document.getElementById("dt_timesheet_moreRows").appendChild ( row );
		return;
	}
	dt_timesheet_vRows++;
	document.getElementById("dt_timesheet" + dt_timesheet_vRows).style.display = "block";
};

dt_timesheet_removeRow = function()
{
	if ( dt_timesheet_vRows == 1 ) {
		alert("Can't remove the first row");
		return;
	}
	document.getElementById("dt_timesheet" + dt_timesheet_vRows).style.display = "none";
	dt_timesheet_vRows--;
};

dt_timesheet_calculate = function()
{
	var html = [];
	html.push("<table cellpadding='0' cellspacing='0'>");
	html.push("<tr><th>Start Time</th><th></th><th>End Time</th><th></th><th class='d'>Difference</th></tr>");

	var totalTime = 0;
	for ( var i=1; i<=dt_timesheet_vRows; i++ )
	{
		try
		{
			html.push("<tr>");
			var x1 = document.getElementById("dt_timesheet_start" + i).value;
			var x2 = document.getElementById("dt_timesheet_start" + i + "ap").value;
			var y1 = document.getElementById("dt_timesheet_end" + i).value;
			var y2 = document.getElementById("dt_timesheet_end" + i + "ap").value;
			var x,y;
			try {
				x = DT_F.getTotalSeconds(x1, x2);
			}
			catch ( ex )
			{
				throw("Couldn't parse " + x1 + ". " + ex );
			}
			try {
				y = DT_F.getTotalSeconds(y1, y2);
			}
			catch ( ex )
			{
				throw("Couldn't parse " + y1 + ". " + ex );
			}
			var t = y - x;
			html.push("<td>" + DT_F.getTimeString(x,true) + "</td>");
			html.push("<td>-</td>");
			html.push("<td>" + DT_F.getTimeString(y,true) + "</td>" );
			html.push("<td>");
			if ( t < 0 )
			{
				t += 24 * 60 * 60;
				html.push("(+1)");
			}
			html.push("</td>");
			html.push("<td class='d'>" + DT_F.getTimeString(t,false) + "</td>");
			html.push("</tr>");
			totalTime += t;
		}
		catch ( ey )
		{
			alert("Error on row " + i + ". " + ey );
			return;
		}
	}
	html.push("<tr><th></th><th></th><th></th><th></th><th class='d2'>Total Time:</th></tr>");
	html.push("<tr><th></th><th></th><th></th><th></th><th class='d'>" + DT_F.getTimeString(totalTime,false) + "</th></tr>");
	html.push("</table>");
	var z = document.getElementById("dt_timesheet_results");
	z.innerHTML = html.join('');
	z.style.display = "block";
};
