// JavaScript Document

function convertChar2DecNCR(charString) 
{
	var result = '';
	
	for(i=0; i<charString.length; i++)
	{
		if(charString.charCodeAt(i)>127)
			result += '&#' + charString.charCodeAt(i) + ';'; 
		else
			result += charString.charAt(i);
	}
	
	return result;
}

function convertDecNCR2Char(decString)
{	
	while(decString.indexOf('&#') != -1)
	{
		var startIndex = decString.indexOf('&#');
		var endIndex = decString.indexOf(';', startIndex);
		var charValue = decString.substring(startIndex+2, endIndex);
		var pattern = new RegExp("&#"+charValue+";", "g");
		decString = decString.replace(pattern, String.fromCharCode(charValue));
	}
	
	return decString;
}

function dotInternationalTruncate(decString, charLength)
{
	var result = decString;
	
	var charString = convertDecNCR2Char(decString);

	if(charString.length > charLength)
	{
		var charStringTruncate = charString.substring(0, charLength);
		var decStringTruncate = convertChar2DecNCR(charStringTruncate) + ".";
		result = decStringTruncate;
	}
	
	return result;
}
