web/wp-content/themes/inove/js/comment.js
author ymh
Fri, 12 Mar 2010 13:29:04 +0000
changeset 1 0d28b7c10758
permissions -rw-r--r--
First commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
/*
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
Author: mg12
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
Update: 2008/05/05
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
Author URI: http://www.neoease.com/
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
*/
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
(function() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
function reply(authorId, commentId, commentBox) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
	var author = MGJS.$(authorId).innerHTML;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
	var insertStr = '<a href="#' + commentId + '">@' + author.replace(/\t|\n|\r\n/g, "") + ' </a> \n';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
	appendReply(insertStr, commentBox);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
function quote(authorId, commentId, commentBodyId, commentBox) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
	var author = MGJS.$(authorId).innerHTML;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
	var comment = MGJS.$(commentBodyId).innerHTML;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
	var insertStr = '<blockquote cite="#' + commentBodyId + '">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
	insertStr += '\n<strong><a href="#' + commentId + '">' + author.replace(/\t|\n|\r\n/g, "") + '</a> :</strong>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
	insertStr += comment.replace(/\t/g, "");
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
	insertStr += '</blockquote>\n';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
	insertQuote(insertStr, commentBox);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
function appendReply(insertStr, commentBox) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
	if(MGJS.$(commentBox) && MGJS.$(commentBox).type == 'textarea') {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
		field = MGJS.$(commentBox);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
		alert("The comment box does not exist!");
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
	if (field.value.indexOf(insertStr) > -1) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
		alert("You've already appended this reply!");
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
	if (field.value.replace(/\s|\t|\n/g, "") == '') {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
		field.value = insertStr;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
		field.value = field.value.replace(/[\n]*$/g, "") + '\n\n' + insertStr;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
	field.focus();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
function insertQuote(insertStr, commentBox) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
	if(MGJS.$(commentBox) && MGJS.$(commentBox).type == 'textarea') {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
		field = MGJS.$(commentBox);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
		alert("The comment box does not exist!");
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
	if(document.selection) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
		field.focus();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
		sel = document.selection.createRange();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
		sel.text = insertStr;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
		field.focus();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
	} else if (field.selectionStart || field.selectionStart == '0') {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
		var startPos = field.selectionStart;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
		var endPos = field.selectionEnd;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
		var cursorPos = startPos;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
		field.value = field.value.substring(0, startPos)
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
					+ insertStr
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
					+ field.value.substring(endPos, field.value.length);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
		cursorPos += insertStr.length;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
		field.focus();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
		field.selectionStart = cursorPos;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
		field.selectionEnd = cursorPos;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
		field.value += insertStr;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
		field.focus();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
window['MGJS_CMT'] = {};
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
window['MGJS_CMT']['reply'] = reply;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
window['MGJS_CMT']['quote'] = quote;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    85
0d28b7c10758 First commit
ymh
parents:
diff changeset
    86
})();