function caret(node) {
 if(node.selectionStart) return node.selectionStart;
 else if(!document.selection) return 0;
 //node.focus();
 var c		= "\001";
 var sel	= document.selection.createRange();
 var txt	= sel.text;
 var dul	= sel.duplicate();
 var len	= 0;
 try{ dul.moveToElementText(node); }catch(e) { return 0; }
 sel.text	= txt + c;
 len		= (dul.text.indexOf(c));
 sel.moveStart('character',-1);
 sel.text	= "";
 return len;
}

