+}
+
+qwebirc.util.setAt = function(obj, pos) {
+ if($defined(obj.selectionStart)) {
+ obj.focus();
+ obj.setSelectionRange(pos, pos);
+ } else if(obj.createTextRange) {
+ var range = obj.createTextRange();
+ range.move("character", pos);
+ range.select();
+ }
+}
+
+qwebirc.util.setAtEnd = function(obj) {
+ qwebirc.util.setAt(obj.value.length);
+}
+
+qwebirc.util.getCaretPos = function(element) {
+ if($defined(element.selectionStart))
+ return element.selectionStart;
+
+ if(document.selection) {
+ element.focus();
+ var sel = document.selection.createRange();
+ sel.moveStart("character", -element.value.length);
+ return sel.text.length;
+ }
+}
+
+qwebirc.util.browserVersion = function() {
+ //return "engine: " + Browser.Engine.name + " platform: " + Browser.Platform.name + " user agent: " + navigator.userAgent;
+ return navigator.userAgent;
+}