// javascript-cut-html-string
// source: http://code.google.com/p/cut-html-string/
// license: http://www.gnu.org/licenses/gpl.html
function CutString(string,limit){this.tempDiv=document.createElement('div');this.tempDiv.id="TempNodeForTest";this.tempDiv.innerHTML=string;this.charCount=0;this.limit=limit}CutString.prototype.cut=function(){var newDiv=document.createElement('div');this.searchEnd(this.tempDiv,newDiv);return newDiv.innerHTML};CutString.prototype.searchEnd=function(parseDiv,newParent){var ele;var newEle;for(var j=0;j<parseDiv.childNodes.length;j++){ele=parseDiv.childNodes[j];if(ele.nodeType!=3){newEle=ele.cloneNode(true);newParent.appendChild(newEle);if(ele.childNodes.length===0)continue;newEle.innerHTML='';var res=this.searchEnd(ele,newEle);if(res)return res;else{continue}}if(ele.nodeValue.length+this.charCount>=this.limit){newEle=ele.cloneNode(true);newEle.nodeValue=ele.nodeValue.substr(0,this.limit-this.charCount);newParent.appendChild(newEle);return true}newEle=ele.cloneNode(true);newParent.appendChild(newEle);this.charCount+=ele.nodeValue.length}return false};function cutHtmlString($string,$limit){var output=new CutString($string,$limit);return output.cut()}
