gnu-social/js/util.js
drry 1311305e23 multibyte counter
#00179

darcs-hash:20080708090418-57001-e5c0f9e19666fb25a7fcb2e92e89ef83d159b5ab.gz
2008-07-08 05:04:18 -04:00

40 lines
1.3 KiB
JavaScript

$(document).ready(function(){
// count character on keyup
function counter(){
var maxLength = 140;
var currentLength = $("#status_textarea").val()
.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "drry")
.replace(/[\u0800-\uFFFF]/g, "drr")
.replace(/[\u0080-\u07FF]/g, "dr")
.length;
var remaining = maxLength - currentLength;
var counter = $("#counter");
counter.text(remaining);
if (remaining <= 0) {
counter.attr("class", "toomuch");
} else {
counter.attr("class", "");
}
}
if ($("#status_textarea").length) {
$("#status_textarea").bind("keyup", counter);
// run once in case there's something in there
counter();
}
});
function doreply(nick) {
rgx_username = /^[0-9a-zA-Z\-_.]*$/;
if (nick.match(rgx_username)) {
replyto = "@" + nick + " ";
if ($("#status_textarea")) {
$("#status_textarea").val(replyto);
$("#status_textarea").focus();
}
}
return false;
}