Por supuesto que me ha ayudado, muchas gracias!
Aqui está el código logrado
(la funcion isAnsiDate() no es totalmente mía, asi que prefiero obviarla) Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Simulacion - Coberturas</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
function isAnsiDate(sFecha){
return true;
}
function agregarCosa(){
var fechaInicio, tamano
do{
fechaInicio = prompt("Fecha de Inicio: (aaaa-mm-dd)", "");
}while(!isAnsiDate(fechaInicio) && fechaInicio!=null);
if(fechaInicio != null){
do{
tamano = prompt("Tamaño del Lote:", "");
}while(isNaN(parseInt(tamano)) && tamano!=null);
if(tamano != null){
insertaCosa(fechaInicio, parseInt(tamano));
}
}
}
function insertaCosa(fechaInicio, tamano){
var tablaCosas = document.getElementById("tbodyTablaSimulacion");
var fila = document.createElement("tr");
var tdFechaInicio = document.createElement("td");
var tdTamano = document.createElement("td");
var tdControles = document.createElement("td");
var i, inserted;
tdFechaInicio.innerHTML = fechaInicio;
tdTamano.innerHTML = tamano;
tdControles.innerHTML = '<input name="btnEditarCosa" id="btnEditarCosa" type="button" value="E" onClick="editarCosa(this);"><input name="btnEliminarCosa" id="btnEliminarCosa" type="button" value="X" onClick="eliminarCosa(this);">';
fila.appendChild(tdFechaInicio);
fila.appendChild(tdTamano);
fila.appendChild(tdControles);
i=0;
inserted = false;
while(i<tablaCosas.childNodes.length && !inserted){
if(tablaCosas.childNodes[i].childNodes[0].innerText > fechaInicio){
tablaCosas.insertBefore(fila, tablaCosas.childNodes[i])
inserted = true;
}
i++;
}
if(!inserted){
tablaCosas.appendChild(fila);
}
}
function eliminarCosa(boton){
if(confirm("¿Deseas eliminar la Cosa?")){
boton.parentNode.parentNode.parentNode.removeChild(boton.parentNode.parentNode);
}
}
function editarCosa(boton){
var fechaInicio, tamano
do{
fechaInicio = prompt("Fecha de Inicio: (aaaa-mm-dd)", boton.parentNode.parentNode.childNodes[0].innerText);
}while(!isAnsiDate(fechaInicio) && fechaInicio!=null);
if(fechaInicio != null){
do{
tamano = prompt("Tamaño del Lote:", boton.parentNode.parentNode.childNodes[1].innerText);
}while(isNaN(parseInt(tamano)) && tamano!=null);
if(tamano != null){
boton.parentNode.parentNode.parentNode.removeChild(boton.parentNode.parentNode); //eliminamos Cosa antigua
insertaCosa(fechaInicio, parseInt(tamano)); //reemplazamos por nuevos datos.
}
}
}
function inicializaCosas(){
insertaCosa("2005-01-01",10);
insertaCosa("2005-05-15",20);
insertaCosa("2005-03-21",30);
insertaCosa("2004-04-26",40);
insertaCosa("2005-04-19",50);
}
</script>
</head>
<body onLoad="inicializaCosas();">
<table id="tablaSimulacion" border="1">
<thead>
<tr>
<td>Fecha de Inicio</td>
<td>Tamaño de Lote</td>
<td><input name="btnAgregarCosa" type="button" value="+" onClick="agregarCosa();"></td>
</tr>
</thead>
<tbody id="tbodyTablaSimulacion">
</tbody>
</table>
</body>
</html>