Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function insert_text(el,ins){
- if(el.setSelectionRange){
- var selectedText=el.value.substring(el.selectionStart,el.selectionEnd);
- var poz=el.value.length;
- if(selectedText){
- ins=ins.replace(/_x_/,selectedText);
- if(ins.indexOf('!')==-1){
- poz=el.selectionStart+ins.length;
- }
- else{
- poz=el.selectionStart+ins.indexOf('!');
- ins=ins.replace(/!/,'');
- }
- }
- else{
- ins=ins.replace(/=!/,'');
- poz=el.selectionStart+(ins.indexOf('_x_')<0?0:ins.indexOf('_x_'));
- if(poz<0)
- poz=0;
- ins=ins.replace(/_x_/,'');
- }
- var storedTop=el.scrollTop;
- el.value=el.value.substring(0,el.selectionStart)+ins+el.value.substring(el.selectionEnd,el.value.length);
- el.focus();
- el.setSelectionRange(poz,poz);
- el.scrollTop=storedTop;
- }
- else if(document.selection&&document.selection.createRange){
- el.focus();
- var range=document.selection.createRange();
- var storedTop=el.scrollTop;
- var stored_range=range.duplicate();
- stored_range.moveToElementText(el);
- stored_range.setEndPoint('EndToEnd',range);
- el.selectionStart=stored_range.text.length-range.text.length;
- el.selectionEnd=el.selectionStart+range.text.length;
- if(range.text!=''){
- ins=ins.replace(/_x_/,range.text);
- if(ins.indexOf('!')==-1){
- poz=el.selectionStart+ins.length;
- }
- else{
- poz=el.selectionStart+ins.indexOf('!');
- ins=ins.replace(/!/,'');
- }
- }
- else{
- ins=ins.replace(/!/,'');
- poz=el.selectionStart+(ins.indexOf('_x_')<0?0:ins.indexOf('_x_'));
- if(poz<0)
- poz=0;
- ins=ins.replace(/_x_/,'');
- }
- range.text=ins;
- var newRange=el.createTextRange();
- newRange.moveStart('character',poz);
- newRange.collapse();
- newRange.select();
- el.focus();
- el.scrollTop=storedTop;
- }
- }
Add Comment
Please, Sign In to add comment