	var text = null;
	var truncText = null;
	descLimit = 0;
	function ka_truncateText( id, k, arraysize, maxWordsLimit ) {
		
		if(text == null && truncText == null)
		{
			text = new Array(arraysize);
			truncText = new Array(arraysize);
		}
		if(descLimit == 0)
		{
			descLimit=maxWordsLimit;
		}
		
		text[k] = "";
		truncText[k] = "";
		
		var obj = null;
		if(k <= 0 && arraysize <= 1)
			obj = ka_findObj(id);
		else
			obj = ka_findObj(id+k);
		
		if(!obj) return;
		
		text[k] = obj.innerHTML;
		
		if(text[k].length < descLimit) return;
		
		countDesc = 0;
		piecesDesc = text[k].split(' ');
		for(var i = 0; i < piecesDesc.length; i++) {
			pieceCount = piecesDesc[i].length;
			if((countDesc + pieceCount) < descLimit) {
				truncText[k] += piecesDesc[i] + ' ';
				countDesc += pieceCount + 1;
			} else {
				truncText[k] = truncText[k].substr(0, truncText[k].length - 1);
				break;
			}
		}
		
		truncText[k] += "...<BR>(<a href='javascript: ka_moreDesc(\""+id+"\", "+k+" );'>more</a>)";
		text[k] += "<BR>(<a href='javascript: ka_lessDesc(\""+id+"\", "+k+" );'>less</a>)";
		
		obj.innerHTML = truncText[k];
	}
	
	function ka_moreDesc( id, k ) {
		var objId="";
		if(k <= 0 && text.length <= 1)
			objId = id;
		else
			objId = id+k;
	
		ka_replaceText(objId, text[k])
	}
	
	function ka_lessDesc( id, k ) {
		var objId="";
		if(k <= 0 && text.length <= 1)
			objId = id;
		else
			objId = id+k;
		ka_replaceText(objId, truncText[k])
	}
	
	function ka_replaceText(id, text) {
		obj = ka_findObj(id);
		obj.innerHTML = text;
	}
	
	function clearTags(obj){
		var stringToReplace = String(obj.innerHTML);
		var regex=/(<\/?p)(?:\s[^>]*)?(>)|<[^>]*>/gi;
		obj.innerHTML = stringToReplace.replace(regex,'');
	}
	