me voy a basar solo en lo que has explicado, de modo que he leido el codigo de forma bien superficial. en teoria para comparar si una fecha es mayor que la otra solo tienes que compararla con el operador mayor que o menor que. pero por supuesto, para que esto sea posible ambas fechas tienen que estar representada por el objeto Date. en tu caso asumo que estan en forma de string. por ende, tienes que primero convertirlo a Date. para convertirlo, tienes que descomponer la fecha string segun los argumentos que recibe Date. los argumentos son en el siguiente orden: año, mes, dia, hora, minutos, segundos, milisegundos.
por ejemplo, si las fechas son 2010-01-21 y 2010-01-31 (año, mes, dia):
Código:
var init = "2010-01-21".split('-');
var final = "2010-01-31".split('-');
var dInit = new Date(init[0], init[1] - 1, init[2]);
var dFinal = new Date(init[0], init[1] - 1, init[2]);
// el segundo argumento se resta uno (-1) porque los meses comienza desde 0;
alert(dInit < dFinal); // muestra true si dInit es una fecha menor que dFinal;