
var lst = [ { name: "Fred", age: 25 },
            { name: "Bill", age: 18 },
            { name: "John", age: 22 } ];

document.writeln( "<br>lst initially:<br>" );
outRecordList( lst );

lst.sort( function( a, b )
          { return  a.age - b.age; } );

document.writeln( "<br>lst sorted:<br>" );
outRecordList( lst );

lst = insertSL( lst, { name: "Mark", age: 20 } );

document.writeln( "<br>lst after insertion:<br>" );
outRecordList( lst );

function insertSL( sl, record )
{
  var sl1 = sl.concat();

  var i = 0;
  while ( i < sl1.length && sl1[i].age < record.age )
    i++;

  if ( i == sl1.length )
    sl1[ al1.length ]  =  record;
  else
    sl1.splice( i, 0, record );

  return sl1;
}


function outRecordList( lst )
{
  for ( var i in lst )
    document.writeln( "name: " + lst[i].name + ", age: "
                      + lst[i].age + "<br>" );
}

