Lieber Sanjoy,
else if (a>b) //fehlerverursachende Zeile
und wenn Du anstatt "a>b" einfach http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_int@title=parseInt(a) > parseInt(b) schreibst? Also in etwa so:
    return (a == b) ? 0 : (  
         (parseInt(a) > parseInt(b)) ? 1 : -1  
    );
Liebe Grüße aus Ellwangen,
Felix Riesterer.
-- 
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)