Online holiday spending nears $22 billion mark