//process img when uploaded
var textareaImgInline = { mode: (window.getSelection || document.getSelection) ? 1 : ( document.selection && document.selection.createRange ? 2 : 0 )}
//mode 0 - selection handling not-supported
//mode 1 - Firefox, opera, safari.
//mode 2 - IE.

// browser specific functions.
if (textareaImgInline.mode == 0) {//mode 0 - selection handling not-supported
  textareaImgInline.selPos = function (T) {return {start: T.value.length, end: T.value.length};}
  textareaImgInline.selMake = function (T, start, end) {}
}
else if (textareaImgInline.mode == 1) {//mode 1 - Firefox, opera, safari.
  textareaImgInline.selPos = function (T) { return {start: T.selectionStart||0, end: T.selectionEnd||0};}
  textareaImgInline.selMake = function (T, start, end) {T.setSelectionRange(start, end);}
}
else if (textareaImgInline.mode == 2) {//mode 2 - IE.
  textareaImgInline.selPos = function (T) {
    T.focus();
    var val = T.value.replace(/\r\n/g, '\n');
    var mark = '~`^'; //dummy text.
    for (var i = 0; val.indexOf(mark) != -1; i++) mark += mark.charAt(i); //make sure mark is unique.
    var mlen = mark.length;
    var range = document.selection.createRange();
    var bm = range.getBookmark();
    var slen = range.text.replace(/\r\n/g, '\n').length;
    range.text = mark;
    var tmp = T.value.replace(/\r\n/g, '\n');
    var start = tmp.indexOf(mark);
    for (var i = 0; tmp.charAt(start+i+mlen)=='\n'; i++);
    var end = start+slen;
    for (; val.charAt(end)=='\n'; end++);
    end -= i;
    T.value = val;
    if (start == end && !val.charAt(end)) range.collapse(false);//bookmark has problems with a cursor at the end
    else range.moveToBookmark(bm);
    range.select();
    return {start: start, end: end};
  }
  textareaImgInline.selMake = function (T, start, end) {
    range = T.createTextRange();
    range.collapse();
    range.moveEnd('character', end);
    range.moveStart('character', start);
    range.select();
  }
}

//插入代码
textareaImgInline.insertImg = function (txt) {
	var txt = textareaImgInline.processText(txt);
	var pos = textareaImgInline.posSelection();
	var content = textareaImgInline.getContent();
	this.setContent(content.substr(0, pos.start) + txt + content.substr(pos.end));
}

//处理要插入的代码
textareaImgInline.processText = function (text) {
  return textareaImgInline.mode == 2 ? text.replace(/\r\n/g, '\n') : text;
}

textareaImgInline.posSelection = function() {
	return textareaImgInline.selPos(this.T);
}

textareaImgInline.getContent = function () {
	return textareaImgInline.processText(this.T.value);
}

textareaImgInline.setContent = function (content) {
	var st = this.T.scrollTop;
	this.T.value = content;
	this.T.scrollTop = st;
}

//var T = document.getElementById("edit-body___Frame");
//var T = document.getElementById("edit-body"); 
textareaImgInline.init = function () {
	//this.T = document.getElementById("edit-body"); 
	this.T = document.getElementById("dianping_text") || document.getElementById("edit-body") || document.getElementById("edit-comment");
}

$(document).ready(function () {textareaImgInline.init();});