javascript numeric palendrome generator

HTML

<p>A palindrome is a word, phrase, number, or other sequence of units that may be read the same way in either direction.  Here, I add a number to the number in reverse ( IE: 56 + 65 ) until I get one.</p>
<table border="1">
    <tr id="head">
        <td></td>
    </tr>
    <tr id="normal">
        <td></td>
    </tr>
    <tr id="reverse">
        <td></td>
    </tr>
    <tr id="aggregate">
        <td></td>
    </tr>
    <tr id="palendrome">
        <td></td>
    </tr>
</table>

JavaScript

var num = Math.ceil((Math.random() * 100) + 100).toString();
//num = "89";   // should be 24 tries
//num = "196";   // http://en.wikipedia.org/wiki/Lychrel_number, http://www.jasondoucette.com/196.html, around 33 the values start to differ from the url
var rev = reverse(num);
var agg = aggregate(num, rev);
var idx = 0;
var max = 50;
$('#head td').text(idx);
$('#normal td').text(num);
$('#reverse td').text(rev);
$('#aggregate td').text(agg);
isPalendrome(agg);

function isPalendrome(agg){
    idx ++;
    if(parseInt(agg) === parseInt(reverse(agg.toString()))){
        $('#palendrome td').text("palendrome on " + idx).attr("colspan", idx);
    } else {
        // didn't match, so take aggregate and repeat
        if(idx > max) {
            $('#palendrome td').text("no palendrome in " + max + " attempts").attr("colspan", idx);
            return;
        }
        num = agg;
        rev = parseInt(reverse(num.toString()));
        agg = aggregate(num, rev);
        
        $('#head').append("<td>" + idx + "</td>");
        $('#normal').append("<td>" + num + "</td>");
        $('#reverse').append("<td>" + rev + "</td>");
        $('#aggregate').append("<td>" + agg + "</td>");

        isPalendrome(agg)
    }
}

function reverse(s){
    var tmp = s.split("").reverse().join("");
    while(tmp.charAt(0) == '0') { tmp = tmp.substr(1,99999); }
    return tmp;
}

function aggregate(a, b){
    return parseInt(a) + parseInt(b);            
}