//START

var origText = "<font style='FONT-SIZE: #FontSize#pt; COLOR: #FontColour#; FONT-FAMILY: #Font#'>#TEXT#</font>";
var font = "Arial";
var fontSizeFactor = 1;
var chrPerLineFactor = 1;
var widthFactor = 1; 


function getColour(id) 
{ 
	var code = ["000000","0000FF","000099","00FFFF","009999","009900","006600","999999","FF00FF","990099","ffa500","ffc0cb","ff69b4","FF0000","990000","FFFFFF","FFFF00","CCCC00"];
	return "#" + code[id];
}

function getFontSize(id) 
{ 
	var code = [10,10,12,14,16,18,20,22,24,26,28,30,32];
	return code[id];
}

function getChrPerLine(fontSize) 
{ 
//	var code = [00,00,00,00,00,00,00,00,00,00,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32];
	var code = [30,30,30,30,30,30,30,30,30,32,30,27,26,25,24,21,19,19,18,18,17,17,16,16,16,15,14,14,13,12,11,11,10];
	return Math.floor(code[fontSize] * chrPerLineFactor * widthFactor);
}


function getlines(fontsize, factor) 
{ 
	var l = 1;
	
	if ( fontsize < 13 ) {
		l = 4;
	} 
	else if ( fontsize < 16 ) {
		l = 3;
	}
	else if ( fontsize < 24 ) {
		l = 2;
	}
	else {
		l = 1;
	}

	return l * factor;
}


function getFontIndex(id) 
{ 
//	var code = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11];
	var code = [0, 0, 1, 2, 3, 6, 7, 9,10, 5, 4, 8];
	
	return code[id];	
}


function setFont(id) 
{ 
	switch(id) {
		case 0:	
			font = "Arial, Verdana, Impact";
			fontSizeFactor = 0.8;
			chrPerLineFactor = 1;
			break;
		case 1:	
			font = "Comic Sans MS, Arial";
			fontSizeFactor = 0.85;
			chrPerLineFactor = 1;
			break;
		case 2:	
			font = "Copplerplate, Times New Roman, Verdana";
			fontSizeFactor = 1.08;
			chrPerLineFactor = 1;
			break;
		case 3:	
			font = "Impact, Verdana, Arial";
			fontSizeFactor = 0.9;
			chrPerLineFactor = 1;
			break;
		case 4:	
			font = "Lucida Calligraphy, Lucida Handwriting, Mistral, MS Brush Script MT, Script, Arial";
			fontSizeFactor = 0.7;
			chrPerLineFactor = 1;
			break;
		case 5:	
			font = "Lucida Handwriting, Mistral, MS Brush Script MT, Script, Arial";
			fontSizeFactor = 0.7;
			chrPerLineFactor = 1;
			break;
		case 6:	
			font = "Mistral, MS Brush Script MT, Script, Arial";
			fontSizeFactor = 1.15;
			chrPerLineFactor = 1;
			break;
		case 7:	
			font = "OCRA, Arial";
			fontSizeFactor = 0.96;
			chrPerLineFactor = 1;
			break;
		case 8:	
			font = "Old English Text MT, Impact, Verdana, Arial";
			fontSizeFactor = 1.05;
			chrPerLineFactor = 1;
			break;
		case 9:	
			font = "Times New Roman, Copperplate";
			fontSizeFactor = 1.02;
			chrPerLineFactor = 1;
			break;
		case 10:	
			font = "Verdana, Arial, Impact";
			fontSizeFactor = 0.85;
			chrPerLineFactor = 0.9;
			break;
		default:	
			font = "Arial, Verdana, Impact";
			fontSizeFactor = 1;
			chrPerLineFactor = 1;
			break;
	}		
}


function noOfLines(str, linelength)
{
	//str = str.replace( "\r", "" );

	var spl = str.split("\r\n");

	var l = 0, i = 0, j = 0, s = "";
	var n = spl.length;

	for (i = 0; i < n ; i++) 
	{
		s = tbTrim(spl[i]);
		if ( s.length > 1 )
		{
			l = s.length;
			j += Math.floor(l / linelength) + 1 ;
		}
		else
		{
			j++;
		}
	}

	return j;
}

 function tbTrim(str) {
	 
	str = "" + str
 
	if (str != "") { 
		while (str.substr(0,1) == " " || str.substr(0,1) == "\r" || str.substr(0,1) == "\n") {
			str = str.substr(1,str.length)
		}

		while (str.substr(str.length-1,1) == " " || str.substr(str.length-1,1) == "\r" || str.substr(str.length-1,1) == "\n") {
			str = str.substr(0,str.length-1)
		}
	}
	return str;
 }
 

function tbReplace(exp, find, replace) 
{
	var i = exp.indexOf(find);
	var result = exp;

	while ( i > 0 || result.substring(0, find.length) == find ) {
		result = result.replace(find, replace);
		i = result.indexOf(find);
	}	
	return result;
}

function isUpperCase(str) {
	if ( str.toUpperCase() == str ) {
		return true;
	}
	else {
		return false;
	}
}

//END
