var wordBreaker = { _hasCSS : false, _maxLength : 12, _spacer : '<span class="enspacex" wbr="true"> </span>', re : { biggie: /\S{12,}/gi, nbsp: /&nbsp;/gi, gt: /&gt;/gi, lt: /&lt;/gi, amp: /&amp;/gi, spaces: /\s+/g, brk: /((&lt;|<)br\s*\/?(&gt;|>)|\n)/gi, excessbrk: /(<br>\s+){2,}/gi, piclnk: /\.(jpe?g|png|gif)$/gi, dot: /\./g, mangleDot1: /([a-z]{2})\.([a-z0-9]{2})/gi, mangleDot2: /([a-z0-9]{2})\.([a-z]{2})/gi, lnk: /^(http:\/\/[^\s"]+)$/gi

 },
	// "
isRewriteLinks : true, isPreserveBreaks : false, isDebug : false, resources : { normalLinkText: "[link]", imageLinkText: "[image link]", lessLinkText: "[less]", moreLinkText: "[more]"

}, setMaxLength : function(l) { if (this._maxLength == l) return; this._maxLength= l; this.re.biggie =new (RegExp)("\\S{"+l+",}","gi");}
}
wordBreaker.writeCSS = function() { var selector = 'span.enspacex'; var rule = 'font-size:1px;padding:0;margin:0;'+((this.isDebug)?"background:#f00;padding-top:6px;":""); if (document.styleSheets[0].addRule){ var h =  _proxy_jslib_handle(document.styleSheets, (document.styleSheets.length - 1), 0, 0); h.addRule(selector, rule );} else { var h=  _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)("head")[0]; var newCSS = document.createElement("style");  _proxy_jslib_handle(newCSS, 'setAttribute', '', 1, 0)("type", "text/css");  _proxy_jslib_handle(newCSS, 'setAttribute', '', 1, 0)("media", "screen");  _proxy_jslib_assign('', newCSS, 'innerHTML', '=', ( selector+'{'+rule+'}')); h.appendChild(newCSS);}
this._hasCSS = true;}
wordBreaker.addSpacers = function(txt) { var s=""; if (this.isRewriteLinks && this.re.lnk.test(txt)){ var x = (this.re.piclnk.test(txt))?this.resources.imageLinkText:this.resources.normalLinkText; newlink= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.lnk,"$1"); s= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.lnk,this.mangle(newlink));} else { var x=""; txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.gt,">"); txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.lt,"<"); txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.amp,"&"); var i=0; while (i< txt.length){ x=txt.substring(i,i+this._maxLength); d= x.lastIndexOf("_"); if (d>=0){ d++; x=txt.substring(i,i+d);} else { d=this._maxLength;}
i+=d; x= _proxy_jslib_handle(x, 'replace', '', 1, 0)( /&/ig, "&amp;" ); x= _proxy_jslib_handle(x, 'replace', '', 1, 0)( />/ig, "&gt;" ); x= _proxy_jslib_handle(x, 'replace', '', 1, 0)( /</ig, "&lt;" ); s+=x+ (i<txt.length?this._spacer:"");}
}
return s;}
wordBreaker.addMoreLink = function() { if (typeof(arguments[0]) == "string"){ var tag = arguments[0]; var cls = arguments[1]; var maxLength = (arguments.length > 2)?arguments[2]:140; var e = this.getElementsByClass(tag,cls); for (var i=0; i < e.length; i++){ this._doAddMoreLink( _proxy_jslib_handle(e, (i), 0, 0),maxLength);}
} else { var maxLength = (arguments.length > 1)?arguments[1]:140; this._doAddMoreLink(arguments[0],maxLength);}
}
wordBreaker._doAddMoreLink = function(e,maxLength) { if(e.getAttribute("wbr") == null){ if ( _proxy_jslib_handle(e, 'innerHTML', '', 0, 0).length <= maxLength){  _proxy_jslib_assign('', e, 'innerHTML', '=', ( wordBreaker.fix( _proxy_jslib_handle(e, 'innerHTML', '', 0, 0))));} else {  _proxy_jslib_handle(e, 'setAttribute', '', 1, 0)("wbr_swap", wordBreaker.fix( _proxy_jslib_handle(e, 'innerHTML', '', 0, 0))+ ' <a href="#" onclick="return wordBreaker.doMoreSwap(this)">' +this.resources.lessLinkText+'</a> '); var s =  _proxy_jslib_handle(e, 'innerHTML', '', 0, 0).substr( 0, maxLength ); var m = s.lastIndexOf(' '); if (m > 30)
s =  _proxy_jslib_handle(e, 'innerHTML', '', 0, 0).substr( 0, m );  _proxy_jslib_assign('', e, 'innerHTML', '=', ( this.fix(s)));  _proxy_jslib_assign('', e, 'innerHTML', '+=', ( ' ... <a href="#" onclick="return wordBreaker.doMoreSwap(this)">' +this.resources.moreLinkText+'</a> '));}
 _proxy_jslib_handle(e, 'setAttribute', '', 1, 0)('wbr', 'true');}
}
wordBreaker.doMoreSwap = function(me) { me = me.parentNode; var s = me.getAttribute("wbr_swap");  _proxy_jslib_handle(me, 'setAttribute', '', 1, 0)("wbr_swap",  _proxy_jslib_handle(me, 'innerHTML', '', 0, 0) );  _proxy_jslib_assign('', me, 'innerHTML', '=', ( s)); return false;}
wordBreaker.mangle = function(u) { u =  _proxy_jslib_handle(u, 'replace', '', 1, 0)( this.re.dot, ". "); return u;}
wordBreaker.mangleDots = function(txt) { txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.mangleDot1, "$1 . $2" ); txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.mangleDot2, "$1 . $2" ); return txt;}
wordBreaker.fix = function(txt) { if (!this._hasCSS) this.writeCSS(); txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.nbsp," "); txt=this.mangleDots(txt); if (this.isPreserveBreaks){ txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.brk," <br> "); txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.excessbrk," <br><br> ");} else { txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.brk," ");}
if (txt.match(this.re.biggie)){ txt= _proxy_jslib_handle(txt, 'replace', '', 1, 0)(this.re.spaces," "); var t=txt.split(" "); var s=""; for (var i=0; i < t.length; i++){ if ( _proxy_jslib_handle(t, (i), 0, 0).length > this._maxLength)
s+=" "+this.addSpacers( _proxy_jslib_handle(t, (i), 0, 0)); else
s+=" "+ _proxy_jslib_handle(t, (i), 0, 0);}
return s.substring(1,s.length);} else { return txt;}
}
wordBreaker.getElementsByClass = function() { if (arguments.length > 1){ var tag = arguments[0]; var cls= arguments[1];} else { var tag = "*"; var cls= arguments[0];}
var rtn = new (Array)(); var e =  _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)(tag); var re=new (RegExp)("(^|\\b|\\s)"+cls+"(\\s|\\b|$)","gi"); for(var i = 0;i < e.length;i++){ if ( _proxy_jslib_handle( _proxy_jslib_handle(e, (i), 0, 0).className, 'search', '', 1, 0)(re)>-1)
 _proxy_jslib_assign('', rtn, (rtn.length), '=', ( _proxy_jslib_handle(e, (i), 0, 0)));}
return rtn;}
wordBreaker.getElementsByAttribute = function () { if (arguments.length > 1){ var tag = arguments[0]; var attr= arguments[1];} else { var tag = "*"; var attr= arguments[0];}
var e =  _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)(tag); var rtn = new (Array)(); for(var i=0;i < e.length; i++){ if( _proxy_jslib_handle(e, (i), 0, 0).getAttribute(attr) != null)
 _proxy_jslib_assign('', rtn, (rtn.length), '=', (  _proxy_jslib_handle(e, (i), 0, 0)

))}
return rtn;}
wordBreaker.fixElemArray = function(e) { for(var i=0;i<e.length;i++){ if( _proxy_jslib_handle(e, (i), 0, 0).getAttribute("wbr") == null){  _proxy_jslib_assign('',  _proxy_jslib_handle(e, (i), 0, 0), 'innerHTML', '=', ( this.fix( _proxy_jslib_handle( _proxy_jslib_handle(e, (i), 0, 0), 'innerHTML', '', 0, 0))));  _proxy_jslib_handle( _proxy_jslib_handle(e, (i), 0, 0), 'setAttribute', '', 1, 0)('wbr', 'true');}
}
}
wordBreaker.fixByTag = function(tagName) { this.fixElemArray( _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)(tagName));}
wordBreaker.fixByClass = function(className) { var tag = (arguments.length > 1)?arguments[1]:"*"; this.fixElemArray(this.getElementsByClass(tag,className));}
wordBreaker.fixByAttribute = function(attr) { var tag = (arguments.length > 1)?arguments[1]:"*"; this.fixElemArray(this.getElementsByAttribute(tag,attr))

}
wordBreaker.fixById = function(id) { var h =  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)( id ); if (!h) return;  _proxy_jslib_assign('', h, 'innerHTML', '=', ( this.fix( _proxy_jslib_handle(h, 'innerHTML', '', 0, 0))));}
wordBreaker.fixNested = function( classname, tagname, nestedTagName ) { var e = new (Array)(); var m = this.getElementsByClass(tagname,classname); if (!m) return ; var subs = null; for (var i=0; i < m.length; i++ ){ subs= _proxy_jslib_handle( _proxy_jslib_handle(m, (i), 0, 0), 'getElementsByTagName', '', 1, 0)(nestedTagName); if (subs && (subs.length>0))
 _proxy_jslib_assign('', e, (e.length), '=', ( subs[0]));}
this.fixElemArray(e)

}
wordBreaker.MSPLinksEncode = function( input ) { var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = "01" + input; do { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64;} else if (isNaN(chr3)) { enc4 = 64;}
output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);} while (i < input.length); output = "http://www.msplinks.com/" + output; return output;}
 ;
_proxy_jslib_flush_write_buffers() ;