(function(d,a,b,c){d.fn.caret=function(f,l){var e,g,i=this[0],h=d.browser.msie;if(typeof f==="object"&&typeof f.start==="number"&&typeof f.end==="number"){e=f.start;g=f.end}else if(typeof f==="number"&&typeof l==="number"){e=f;g=l}else if(typeof f==="string")if((e=i.value.indexOf(f))>-1)g=e+f[a];else e=null;else if(Object.prototype.toString.call(f)==="[object RegExp]"){f=f.exec(i.value);if(f!=null){e=f.index;g=e+f[0][a]}}if(typeof e!="undefined"){if(h){h=this[0].createTextRange();h.collapse(true);h.moveStart("character",e);h.moveEnd("character",g-e);h.select()}else{this[0].selectionStart=e;this[0].selectionEnd=g}this[0].focus();return this}else{if(h){g=document.selection;if(this[0].tagName.toLowerCase()!="textarea"){h=this.val();e=g[b]()[c]();e.moveEnd("character",h[a]);var j=e.text==""?h[a]:h.lastIndexOf(e.text);e=g[b]()[c]();e.moveStart("character",-h[a]);var k=e.text[a]}else{e=g[b]();g=e[c]();g.moveToElementText(this[0]);g.setEndPoint("EndToEnd",e);j=g.text[a]-e.text[a];k=j+e.text[a]}}else{j=i.selectionStart;k=i.selectionEnd}e=i.value.substring(j,k);return{start:j,end:k,text:e,replace:function(b){return i.value.substring(0,j)+b+i.value.substring(k,i.value[a])}}}}})(jQuery,"length","createRange","duplicate")
