(function(){var a={getSelection:function(){var a=this.jquery?this[0]:this;return("selectionStart"in a&&function(){var b=a.selectionEnd-a.selectionStart;return{start:a.selectionStart,end:a.selectionEnd,length:b,text:a.value.substr(a.selectionStart,b)}}||document.selection&&function(){a.focus();var b=document.selection.createRange();if(b==null)return{start:0,end:a.value.length,length:0};var d=a.createTextRange(),c=d.duplicate();d.moveToBookmark(b.getBookmark());c.setEndPoint("EndToStart",d);return{start:c.text.length,end:c.text.length+b.text.length,length:b.text.length,text:b.text}}||function(){return{start:0,end:a.value.length,length:0}})()},replaceSelection:function(){var a=this.jquery?this[0]:this,b=arguments[0]||"";return("selectionStart"in a&&function(){var c=a.selectionStart;if(b=="")if(a.selectionStart==a.selectionEnd){a.value=a.value.substr(0,a.selectionStart-1)+b+a.value.substr(a.selectionEnd,a.value.length);a.selectionStart=c-1;a.selectionEnd=c-1}else{a.value=a.value.substr(0,a.selectionStart)+b+a.value.substr(a.selectionEnd,a.value.length);a.selectionStart=c;a.selectionEnd=c}else{a.value=a.value.substr(0,a.selectionStart)+b+a.value.substr(a.selectionEnd,a.value.length);a.selectionStart=c+1;a.selectionEnd=c+1}return this}||document.selection&&function(){a.focus();var c=document.selection.createRange();if(b==""){c.text==""&&c.moveStart("character",-1);c.text=b}else{c.text=b;c.moveEnd("character",b.length-1);c.select()}return this}||function(){if(b==""){var c=a.val();a.val(c.substring(0,c.length-1))}else a.value+=b;return this})()}};jQuery.each(a,function(a){jQuery.fn[a]=this})})()