Thành viên:Kimkha/monobook.js

Văn thư lưu trữ mở Wikisource

Cache: Sau khi lưu biểu mẫu này, phải xóa bộ nhớ đệm (cache) của trình duyệt để những thay đổi hiện ra:

Firefox, Chrome, Safari, Opera — Shift­Reload / Tải lại       Internet Explorer — Ctrl­Refresh / Làm tươi       Konqueror — Reload / Tải lại

Nếu bạn viết mã JavaScript, chú ý đọc hướng dẫn để tránh mâu thuẫn với mã mặc định của mạng.

function hook_convert_vi_typing() {
	var btnSave = document.getElementById('wpSave');
	var btnPreview = document.getElementById('wpPreview');
	var btnDiff = document.getElementById('wpDiff');
	
	if(window.addEventListener){ // Mozilla, Netscape, Firefox
		btnSave.addEventListener('click', convert_vi_typing, false);
		btnPreview.addEventListener('click', convert_vi_typing, false);
		btnDiff.addEventListener('click', convert_vi_typing, false);
	} else { // IE
		btnSave.attachEvent('onclick', convert_vi_typing);
		btnPreview.attachEvent('onclick', convert_vi_typing);
		btnDiff.attachEvent('onclick', convert_vi_typing);
	}
}
function convert_vi_typing() {
	var allinputs = document.getElementsByTagName("input");
	for (i=0; i<allinputs.length; i++) {
		if (allinputs[i].type == 'text') {
			allinputs[i].value = replace_vi_typing(allinputs[i].value);
		}
	}
	
	var alltextareas = document.getElementsByTagName("textarea");
	for (i=0; i<alltextareas.length; i++) {
		alltextareas[i].value = replace_vi_typing(alltextareas[i].value);
	}
	var Summary = document.getElementById('wpSummary');
	var Textbox1 = document.getElementById('wpTextbox1');
	
	Summary.value = replace_vi_typing(Summary.value);
	Textbox1.value = replace_vi_typing(Textbox1.value);
	
	return true;
}
function replace_vi_typing(text) {
	text = text.replace(/oà(\W)/g, "òa$1");
	text = text.replace(/oá(\W)/g, "óa$1");
	text = text.replace(/oả(\W)/g, "ỏa$1");
	text = text.replace(/oã(\W)/g, "õa$1");
	text = text.replace(/oạ(\W)/g, "ọa$1");

	text = text.replace(/oè(\W)/g, "òe$1");
	text = text.replace(/oé(\W)/g, "óe$1");
	text = text.replace(/oẻ(\W)/g, "ỏe$1");
	text = text.replace(/oẽ(\W)/g, "õe$1");
	text = text.replace(/oẹ(\W)/g, "ọe$1");

	text = text.replace(/uỳ(\W)/g, "ùy$1");
	text = text.replace(/uý(\W)/g, "úy$1");
	text = text.replace(/uỷ(\W)/g, "ủy$1");
	text = text.replace(/uỹ(\W)/g, "ũy$1");
	text = text.replace(/uỵ(\W)/g, "ụy$1");

	text = text.replace(/qùy(\W)/g, "quỳ$1");
	text = text.replace(/qúy(\W)/g, "quý$1");
	text = text.replace(/qủy(\W)/g, "quỷ$1");
	text = text.replace(/qũy(\W)/g, "quỹ$1");
	text = text.replace(/qụy(\W)/g, "quỵ$1");

	return text;
}
$(hook_convert_vi_typing);