var monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];var transformations={trim:trim_string,formatDate:format_date};function trim_string(A,B){return(!B)?A:smartTruncate(A,B)}function format_date(H,A){if(!A){return H}var G=H.split("/");var F,C,E;if(G.length<3){G=H.split(".");dd=G[0];C=G[1];F=G[2]}else{F=G[0];C=G[1];dd=G[2]}var B=C.replace(/^0/,"");var E=dd.replace(/^0/,"");var I=monthNames[B-1];var D=I.substr(0,3);return A.replace(/y/,F).replace(/dd/,dd).replace(/d/,E).replace(/mm/,C).replace(/m/,B).replace(/MM/,I).replace(/M/,D)}function isDefined(A){return(typeof A!="undefined")}function iterateOverArray(A,C){for(var B=0;B<A.length;B++){C(A[B])}}function fetchExprValue(d,vRef,startOffset,endOffset){return eval("d."+vRef.substring(startOffset,vRef.length-endOffset))}function countWords(A){return A.split(/\s+/).length}function truncateTextChars(A,D,B,C){if(!A||(A.length<=D)){return A}else{A=A.substring(0,D);var E=A.lastIndexOf(C);if(E>B){A=A.substring(0,E)}else{if(C!=" "){E=A.lastIndexOf(" ");if(E>B){A=A.substring(0,E)}}}return A+" ..."}}function countWordsOfMinLength(B,A){var D=0;var C=B.split(/\s+/);for(i=0;i<C.length;i++){if(C[i].length>=A){D++}}return D}function smartTruncate(E,B){var D=truncateTextChars(E,B,B-15," ");if(!D){return D}var F=countWordsOfMinLength(D,10);if(F>(B-1)/50){D=truncateTextChars(E,B-10,B-25," ")}else{var A=countWords(D);var C=D.length/A;if(C>=7.5){D=truncateTextChars(E,B-10,B-25," ")}}return D}function _Widget(A){this.wf=A;this.baseUrl=A.base_url;this.rootDIV="";this.init()}_Widget.prototype={init:function(){var B=this;var A=B.wf;var C=A.base_css_prefs;B.hoverStyle=(C.link_class||!isDefined(C.link_hover_style))?"":C.link_hover_style},setStyle:function(B,A,E){var C=this;var D=C.wf.base_css_prefs;if(A){B.setAttribute((document.all?"className":"class"),A)}else{if(E){if(B.style.setAttribute){B.style.setAttribute("cssText",E);if((B.tagName=="A")&&C.hoverStyle){B.onmouseover=function(){this.style.setAttribute("cssText",E+";"+C.hoverStyle)};B.onmouseout=function(){this.style.setAttribute("cssText",E)}}}else{B.setAttribute("style",E);if((B.tagName=="A")&&C.hoverStyle){B.onmouseover=function(){this.setAttribute("style",E+";"+C.hoverStyle)};B.onmouseout=function(){this.setAttribute("style",E)}}}}else{if((B.tagName=="A")&&(D.link_style||D.link_class)){C.setStyle(B,D.link_class,D.link_style)}}}},createElement:function(D,B,C){var A=document.createElement(D);this.setStyle(A,B,C);return A},computeExpr:function(D,B){var C=this.wf;var A=D.match(/\$\{.*?\}/g);if(A){iterateOverArray(A,function(F){D=D.replace(F,fetchExprValue(B,F,2,1))})}var E=D.match(/\$format\{.*?\}/g);if(E){iterateOverArray(E,function(F){D=D.replace(F,fetchExprValue(C,F,8,1))})}return D},processNewDOMElement:function(B,L,K,F,N,H){var G=this;var J=G.wf.base_css_prefs;var I=G.baseUrl;var E=K.transform;if(E){var M=transformations[E.fn];if(!M&&isDefined(more_transformations)){M=more_transformations[E.fn]}if(M){L=M.apply(G,[L,E.arg])}}if(!F){F=document.createTextNode(L)}else{if(F.tagName=="IMG"){var A=(N&&N.src)?N.src:I;if((A.indexOf("http://")!=0)&&(A.indexOf("$")!=0)){A=I+A}F.src=G.computeExpr(A,B);F.alt=L}else{if(F.tagName!="A"){if(H){F.innerHTML=L}}else{var C=(N&&N.url)?N.url:I;if((C.indexOf("http://")!=0)&&(C.indexOf("$")!=0)){C=I+C}F.href=G.computeExpr(C,B);F.target=J.link_target;if(H){var D=(N&&N.text)?N.text:L;F.innerHTML=G.computeExpr(D,B)}if(!N.clazz&&!N.style){G.setStyle(F,J.link_class,J.link_style)}}}}return F},buildElementContainer:function(B,J,K){var E="";var A="";var I=isDefined(K.how)?K.how:[];var G=I.length;for(var H=0;H<G;H++){var D=I[H];var C=this.createElement(D.elt,D.clazz,D.style);var F=(H==(G-1));this.processNewDOMElement(B,J,K,C,D,F);if(!E){E=C}else{A.appendChild(C)}A=C}if(G==0){E=this.processNewDOMElement(B,J,K,"",D,true)}return E},addSeparator:function(A,B){if(B){if(B.substring(0,1)=="\n"){A.appendChild(document.createElement("br"));B=B.substring(1)}if(B){A.appendChild(document.createTextNode(B))}}},addDataElement:function(D,F,B){var G=this;var E=isDefined(F.what)?F.what:"";if(isDefined(G.hideElts)&&G.hideElts[E]){return }if(E){var A=G.computeExpr(E,D);if(!A){return }}if(F.prefix){G.addSeparator(B,F.prefix)}var C=G.buildElementContainer(D,A,F);if(C){B.appendChild(C)}if(F.suffix){G.addSeparator(B,F.suffix)}},buildChildren:function(A,B,D){var C=this;iterateOverArray(B,function(F){if(F.what=="div_dom_tree"){var E=C.createElement("div",F.clazz,F.style);C.buildChildren(A,F.children,E);D.appendChild(E)}else{C.addDataElement(A,F,D)}})},buildItem:function(A,B){var C=this.createElement("div",B.clazz,B.style);this.buildChildren(A,B.format,C);return C},buildWidgetSection:function(A){var E=A.data;if(A.loop){var C=this.createElement("div","","");var D=0;var F=A.num_items;for(var B=0;B<E.length;B++){if((D==F)){break}C.appendChild(this.buildItem(E[B],A));D++}return C}else{return this.buildItem(E,A)}},generateWidgetDiv:function(){var D=this;var C=D.baseUrl;var A=D.wf;var E=A.base_css_prefs;var B=D.createElement("div",E.base_class,E.base_style);iterateOverArray(A.sections,function(F){B.appendChild(D.buildWidgetSection(A[F]))});D.rootDIV=B;return B},installOver:function(A){A.parentNode.replaceChild(this.generateWidgetDiv(),A)},refresh:function(){this.installOver(this.rootDIV)}};