﻿/*CViet 12AC 8/20/03: mViet10 by SPham [mviet@socal.rr.com] 
* Copyright (c) 1999, 2000-2005 MDSS. Inc All Rights Reserved.
* This code is free on noncommercial. 
* This copyright notice must remain intact within this code.
*/

function view(){
var y=prompt("Type: 1(VIQR), 2(Telex), 3(VNI) , or generate the order:\nsac | huyen | hoi | nga | nang | nón | móc | trang | gach |",BoDauMV);
if (y!=null){
	if (y=='1') BoDauMV =B3[0];
	else if (y=='2') BoDauMV = B3[1];
	else if (y=='3') BoDauMV =B3[2];
	else BoDauMV=y; 
	setMV(5,'ibdcn');
	if(BoDauMV.charAt(BoDauMV.length-1)!='*') BoDauMV=BoDauMV+'*';
	setMV(BoDauMV,'BoDau');
	button(5);
}
}
function mvmoz(evt,rte){
if (evt.keyCode==8|| evt.keyCode==13|| evt.keyCode==37 || evt.keyCode==38|| evt.keyCode==39|| evt.keyCode==40 || evt.keyCode==191) return;
else if (!MVOff){mvwindow =document.getElementById(rte).contentWindow;
mvbox = document;   
var sel=mvwindow.getSelection(),range = null;

mvwindow.focus()
range = sel ? sel.getRangeAt(0) : mvbox.createRange()
var pos1 = range.startOffset
var node1 = range.endContainer;
var textMV=mvnode(range.cloneContents(), false)
var n=textMV.length
if (n>0) node1.deleteData(pos1, n);
range.setEnd(node1, pos1);
range.setStart(node1, 0);
textMV=mvnode(range.cloneContents(), false)

n = textMV.length
var charCode = textMV.charCodeAt(n-1)
if (charCode ==32) { 
if(evt.charCode==46 ||evt.charCode==63 ) 
  {range.setStart(node1, pos1-1);node1.deleteData(pos1-1, 1); return;}
else {range.setStart(node1, pos1); return} //hn
}
key=String.fromCharCode(evt.charCode); 
var spr=" '?\"(){}[]<>/-."
if (charCode== 160 ||(n>0 && " ,.;-='\"?<>/\{}()*&1234567890".indexOf(textMV.charAt(n-1))>-1) 
||(n==0 && !evt.shiftKey)) {range.setStart(node1,pos1); return;}
var lastInd = -1 
for (i=0; i<spr.length; i++) if (textMV.lastIndexOf(spr.charAt(i))>lastInd) lastInd = textMV.lastIndexOf(spr.charAt(i))
tI=textMV.substring(lastInd+1);
//hnDisplayZ(tI,key)
range.setStart(node1, pos1);  
var kL=key.toLowerCase(),nD=BoDauMV.indexOf(kL);
iD=-1
if(nD>-1){var iT=0
for(i=0;i<12;i++)if(BoDauMV.indexOf(kL,iT)>-1)iT=BoDauMV.indexOf('|',iT+1);else{iD=i;break}	
if(iD==8&&BoDauMV.indexOf(kL,nD+1)>-1)bt=1;else bt=0
}

if(tI.length>0){var nMV=''
if(iD>-1&&iD<12){nMV=VB9(tI,key)
//if (iHN[0]==1&& (iD==3||iD==4) ) {hnQuickZ(nMV, 0); hnNew=0}
if(nMV!=tI && nMV.length>0){
node1.deleteData(lastInd+1, pos1-lastInd-1)
pos1 = range.startOffset
node1.insertData(lastInd+1,nMV)
newLen=nMV.length
range.setEnd(node1,lastInd+1+newLen)
range.setStart(node1,lastInd+1+newLen)
iD=-2 
}
if(eT==0){evt.preventDefault();  /*sD(kL)*/ }
return; 
}else 
{
tI=tI+key;nMV=VB9(tI,key)
if(nMV!="" && nMV!=tI && nMV.length>0){
  node1.deleteData(lastInd+1, pos1-lastInd-1);pos1 = range.startOffset;node1.insertData(lastInd+1,nMV);
  newLen=nMV.length;range.setEnd(node1,lastInd+1+newLen);
  range.setStart(node1,lastInd+1+newLen);iD=-2
  evt.preventDefault();
  } 
  
}
}}}

function mvnode(root, toptag)
{var html = '';moz_check = /_moz/i;
switch (root.nodeType)
{case Node.ELEMENT_NODE: case Node.DOCUMENT_FRAGMENT_NODE:
{var closed;
if (toptag){
				closed = !root.hasChildNodes();
				html = '<' + root.tagName.toLowerCase();
				var attr = root.attributes;
				for (i = 0; i < attr.length; ++i)
				{
					var a = attr.item(i);
					if (!a.specified || a.name.match(moz_check) || a.value.match(moz_check))
					{continue;}
					html += " " + a.name.toLowerCase() + '="' + a.value + '"';
				}
				html += closed ? " />" : ">";
			}
			for (var i = root.firstChild; i; i = i.nextSibling)
			{html += mvnode(i, true);}
			if (toptag && !closed)
			{html += "</" + root.tagName.toLowerCase() + ">";}
		}
		break;

		case Node.TEXT_NODE:
		{html = root.data}
		break;
	}
	return html;
}
