if(typeof TSCM=="undefined"){TSCM={}}if(typeof TSCM.insurers=="undefined"){TSCM.insurers={}}TSCM.insurers.Screener=new function(){var dom=YAHOO.util.Dom;var Event=YAHOO.util.Event;var imagesBaseUrl="";var me;var containerEl;var states_select_id="tsc_states";var adcounter=1;function log(m){if(typeof console!="undefined"){console.log(arguments)}}function getSelectValue(selectname){var value=-1;try{var d=YAHOO.util.Dom.get(selectname);value=d.options[d.options.selectedIndex].value;return value}catch(e){debug("error: "+e.message+" for "+selectname);value="any";return value}}function camelcase(s){var w=s.split(" ");var f=[];var first;var rest;for(var i=0;i<w.length;i++){var wrd=w[i];first=wrd.substring(0,1).toUpperCase();rest=wrd.substring(1).toLowerCase();w[i]=first+rest}var ret=w.join(" ");ret=ret.replace(/ +$/,"");return ret}var createEl=function(config){var el=null;var cfg=config;if(typeof cfg=="undefined"){cfg={}}if(typeof cfg.nodeName=="undefined"){cfg.nodeName="div"}try{el=document.createElement(cfg.nodeName);el.setAttribute("id",YAHOO.util.Dom.generateId());if(cfg.text!=undefined){el.appendChild(document.createTextNode(cfg.text))}if(cfg.html!=undefined){el.innerHTML=cfg.html}if(cfg.properties!=undefined){for(var i in cfg.properties){el.setAttribute(i,cfg.properties[i])}}var p=null;if(typeof cfg.parentNode=="string"){p=YAHOO.util.Dom.get(cfg.parentNode)}else{if(typeof cfg.parentNode=="object"){p=cfg.parentNode}else{if(cfg.parentNode instanceof Array){throw"can't add "+cfg.nodeName+" to parent array "}else{if(typeof cfg.parentNode=="undefined"){return el}}}}try{p.appendChild(el)}catch(e){throw"couldn't append element "+el.toString()}try{p.innerHTML=p.innerHTML}catch(e){throw"couldn't set innerHTML to itself"}}catch(e){}return el};function getStateValue(){var state;try{var el=dom.get(states_select_id);state=el.options[el.selectedIndex].value}catch(e){log(e);state=""}return state}function addScript(params,callback){var url=wsProxy+"?params="+params+"&callback="+callback;if(!xhr){var scriptElem=document.createElement("script");scriptElem.type="text/javascript";scriptElem.src=url;dom.get(containerEl).appendChild(scriptElem)}else{var callback={success:function(o){eval(o.responseText)},failure:function(o){this.networkicon.hide();var msg="error getting rates.";dom.get("tabresultlbl"+this.getCurTabIndex()).innerHTML=msg;log("failed xhr req")}};var conn=YAHOO.util.Connect.asyncRequest("GET",url,callback,null)}}function getselect(id,obs,label){function getoption(k,v){return"<option value='"+k+"'>"+v+"</option>"}var s="<select name='"+id+"' id='"+id+"'>";s+=getoption("",label);for(var i=0;i<obs.length;i++){var opt=obs[i];for(var j in opt){s+=getoption(j,opt[j])}}s+="</select>";return s}return{loaded:false,clicked:false,start:function(){this.clicked=true;if(this.loaded){this.showme()}else{var d=dom.get("start_screening");d.innerHTML="One moment please...loading data"}},showme:function(){if(this.clicked){var d;d=dom.get("introcopy");dom.setStyle("introcopy","display","none");d=dom.get("bkscreener");dom.setStyle("bkscreener","display","block")}},init:function(){var myloc=document.location.href.toString();if(myloc.indexOf("thestreet.com")!=-1){imagesBaseUrl=TSCM.cfg.cssBaseUrl}containerEl="tsc_module_container";me=new YAHOO.widget.Overlay(containerEl,{visible:true,zIndex:1000,height:"400px",effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}});me.setHeader("Insurers Financial Safety Screener - Look up insurer ratings");var corehtml='<div id="tsc_tsc_results_pane"><div id="tsc_results_list"></div></div>';corehtml+='<div id="tsc_tsc_sel_criteria">';corehtml+='<form onsubmit="TSCM.insurers.Screener.search();return false;" id="criteria_form">';corehtml+='Insurer:<input type="text" id="tsc_insurer_name"><div id="tsc_ac_dd"></div> ';corehtml+='<p><span class="scr_form_label">State</span>';corehtml+='<select class="screener_select" onchange="TSCM.insurers.Screener.search();"  id="'+states_select_id+'"> <option value="any">All</option> <option value="AL">Alabama</option> <option value="AK">Alaska</option> <option value="AZ">Arizona</option> <option value="AR">Arkansas</option> <option value="CA">California</option> <option value="CO">Colorado</option> <option value="CT">Connecticut</option> <option value="DE">Delaware</option> <option value="DC">District Of Columbia</option> <option value="FL">Florida</option> <option value="GA">Georgia</option> <option value="HI">Hawaii</option> <option value="ID">Idaho</option> <option value="IL">Illinois</option> <option value="IN">Indiana</option> <option value="IA">Iowa</option> <option value="KS">Kansas</option> <option value="KY">Kentucky</option> <option value="LA">Louisiana</option> <option value="ME">Maine</option> <option value="MD">Maryland</option> <option value="MA">Massachusetts</option> <option value="MI">Michigan</option> <option value="MN">Minnesota</option> <option value="MS">Mississippi</option> <option value="MO">Missouri</option> <option value="MT">Montana</option> <option value="NE">Nebraska</option> <option value="NV">Nevada</option> <option value="NH">New Hampshire</option> <option value="NJ">New Jersey</option> <option value="NM">New Mexico</option> <option value="NY">New York</option> <option value="NC">North Carolina</option> <option value="ND">North Dakota</option> <option value="OH">Ohio</option> <option value="OK">Oklahoma</option> <option value="OR">Oregon</option> <option value="PA">Pennsylvania</option> <option value="PR">Puerto Rico</option> <option value="RI">Rhode Island</option> <option value="SC">South Carolina</option> <option value="SD">South Dakota</option> <option value="TN">Tennessee</option> <option value="TX">Texas</option> <option value="UT">Utah</option> <option value="VT">Vermont</option> <option value="VA">Virginia</option> <option value="WA">Washington</option> <option value="WV">West Virginia</option> <option value="WI">Wisconsin</option> <option value="WY">Wyoming</option> </select>';corehtml+='<input type="submit" value="search"/></form></div>';me.setFooter("copyright thestreet.com");me.render();var newinsurernames=[];var insurernames=TSCM.insurernames;for(var i=0;i<insurernames.length;i++){if(insurernames[i][0]!=null){newinsurernames.push(insurernames[i][0])}}function matcher(sQuery){var state=getStateValue();var query=unescape(sQuery.toLowerCase()),matches=[];for(var i=0;i<insurernames.length;i++){var bn=insurernames[i][0];var bstates=insurernames[i][1];bn=bn.replace(/amp;/,"");if(bn.toLowerCase().indexOf(query)>-1){if(state=="any"){matches[matches.length]=insurernames[i]}else{for(var m in bstates){if(m==state){matches[matches.length]=insurernames[i]}}}}}return matches}var highlightMatch=function(full,snippet,matchindex){return full.substring(0,matchindex)+"<span class='match'>"+full.substr(matchindex,snippet.length)+"</span>"+full.substring(matchindex+snippet.length)};var oDS=new YAHOO.util.FunctionDataSource(matcher);oDS.responseType=YAHOO.util.DataSource.TYPE_JSARRAY;oDS.responseSchema={fields:["tscrid","name"],resultsList:[1]};var oAC=new YAHOO.widget.AutoComplete("tsc_insurer_name","tsc_ac_dd",oDS);oAC.useShadow=true;oAC.useIFrame=true;oAC.queryMatchSubset=true;oAC.typeAhead=false;oAC.queryDelay=0.3;oAC.forceSelection=true;oAC.autoHighlight=true;oAC.delimChar="";oAC.itemSelectEvent.subscribe(TSCM.insurers.Screener.ac_select,TSCM.insurers.Screener,true);oAC.formatResult=function(oResultData,sQuery,sResultMatch){var query=sQuery.toLowerCase();var res=oResultData[0];res=res.replace(/\&amp;/,"&");var idx=-1;idx=res.toLowerCase().indexOf(query);if(idx>-1){return highlightMatch(res,query,idx)}else{return oResultData[0]}};var stin=dom.get("tsc_insurer_name");Event.on(stin,"click",function(e){var tg;if(typeof e.target=="undefined"){tg=e.srcElement}else{tg=e.target}tg.select();var states=dom.get("tsc_states")});TSCM.insurers.Screener.search();var _h1,_pageName;var _pageName="Insurance Safety Screener";var reportingObj={};reportingObj.pageName=_pageName;reportingObj.hier1="TSC|Data";reportingObj.adzone="tsc/thestreet.com";reportingObj.contentType="TSC Data";reportingObj.contentCat="TSC|Data";reportingObj.puc=TSC.util.getPuc();TSC.reporting.config(reportingObj);TSC.reporting.makeCall()},search:function(tag){var state=getStateValue();var insurername=dom.get("tsc_insurer_name").value;var q="((type:PC)OR(type:HM)OR(type:LH))";var itype=getSelectValue("tsc_insurer_types");if(itype!="any"){q="(type:"+itype+")"}var rating=getSelectValue("tsc_insurer_rating");var opt=getSelectValue("tsc_insurer_rating_opts");if((typeof insurername!="undefined")&&(insurername!="")){q+=' AND (issue_name:"'+insurername+'")'}if(state!="any"){q+=' AND (MgmtState:"'+state+'")'}if(rating=="any"){dom.get("tsc_insurer_rating_opts").selectedIndex=0}else{rating=rating.replace(/rated/,"");rating=rating.replace(/ /g,"");if(opt=="any"){q+=" AND (LetterGradeRating:[ "+rating+" TO "+rating+"?])"}else{if(opt=="only"){q+=" AND (LetterGradeRating:[ "+rating+" TO "+rating+"?])"}else{if(opt=="hi"){q+=" AND (LetterGradeRating:[ A TO "+rating+"?])"}else{if(opt=="lo"){q+=" AND (LetterGradeRating:[ "+rating+" TO F? ])"}}}}}q+="";log(q);var query=new TSCM.SolrQuery(q,"TSCM.insurers.Screener.result");query.options.rows=1000;query.options.sort="issue_name asc";query.execute();if(adcounter>1){this.refreshAds();this.reportPage()}adcounter++},refreshAds:function(){log("refresh.");try{var leaderboard=dom.get("iframe_ad728x90t2");var box=dom.get("iframe_ad336x280t3");var lurl=leaderboard.src;var burl=box.src;lurl+=adcounter;burl+=adcounter;leaderboard.src=lurl;box.src=burl}catch(e){log(e)}},reportPage:function(){var _h1,_pageName;var _pageName="Insurance Safety Screener";var reportingObj={};reportingObj.pageName=_pageName+" - "+getStateValue();reportingObj.hier1="TSC|Data";reportingObj.adzone="tsc/thestreet.com";reportingObj.contentType="TSC Data";reportingObj.contentCat="TSC|Data";reportingObj.puc=TSC.util.getPuc();TSC.reporting.config(reportingObj);TSC.reporting.makeCall()},ac_select:function(type,args){var res=args[2][0];this.selected_item=res;log(res);res=res.replace(/\&amp;/,"&");this.search();dom.get("tsc_insurer_name").value=res},reset:function(){var el=dom.get(states_select_id);dom.get("tsc_insurer_name").value="";el.options.selectedIndex=0;el=dom.get("tsc_insurer_rating");dom.get("tsc_insurer_types").selectedIndex=0;el.options.selectedIndex=0;this.search()},selectstate:function(){var state=getStateValue();this.search()},getRecFromRating:function(the_letter){var the_rec;var ret=the_letter.match(/\S/);if(ret==null){log("NULL matches");return"U"}if((the_letter.indexOf("A")!=-1)||(the_letter.indexOf("B")!=-1)){the_rec="BUY"}if((the_letter.indexOf("C")!=-1)){the_rec="HOLD"}if((the_letter.indexOf("D")!=-1)||(the_letter.indexOf("E")!=-1)||(the_letter.indexOf("F")!=-1)){the_rec="SELL"}if((the_letter.indexOf("U")!=-1)){the_rec="UNRATED"}return the_rec},result:function(o){var myf=function(o,r,b,c){var city=camelcase(r.getData().MgmtCity);var state=r.getData().MgmtState;var type=(r.getData().type.toString().charAt(0));o.innerHTML=c+" <i> -- "+state+"</i> "};var rf=function(o,r,b,c){try{var type=r.getData().type;var the_letter=r.getData().LetterGradeRating;if(the_letter.match(/\S/)==null){the_letter="U"}var the_rec=TSCM.insurers.Screener.getRecFromRating(the_letter);if(typeof the_rec=="undefined"){o.innerHTML=the_letter}else{var classname="rec_"+the_rec.toLowerCase();o.innerHTML="<div class=' rating'>"+the_letter+"</div>";dom.addClass(o.parentNode,classname)}}catch(e){log(e)}};var coldefs=[{key:"issue_name",label:"Insurer",formatter:myf,width:400,sortable:true},{key:"LetterGradeRating",label:"Rating",formatter:rf,width:100,sortable:true,sortOptions:{field:"LetterGradeSort"}}];var colset=new YAHOO.widget.ColumnSet(coldefs);var ds=new YAHOO.util.DataSource(o.response.docs);ds.responseType=YAHOO.util.DataSource.TYPE_JSARRAY;ds.responseSchema={fields:["issue_name","MgmtCity","LetterGradeRating","MgmtState","desc","type","LetterGradeSort"]};var paginator=new YAHOO.widget.Paginator({rowsPerPage:10});var dt=new YAHOO.widget.DataTable("tsc_results_list",colset,ds,{height:"350px",scrolling:true,paginator:paginator});dt.set("selectionMode","single");this.datatable=dt;paginator.subscribe("pageChange",TSCM.insurers.Screener.rerender,dt,true);paginator.subscribe("pageChange",function(){TSCM.insurers.Screener.refreshAds,dt,true;TSCM.insurers.Screener.reportPage()});this.loaded=true;this.showme()},selectrow:function(e){var tg;var link=e.target.firstChild.getAttribute("href");window.open(link)},rerender:function(){var len=TSCM.insurers.Screener.datatable.getRecordSet().getLength();var tbod=dom.getElementsByClassName("yui-dt-data")[0];var start=tbod.firstChild.id.replace(/yui-rec/,"");len=start+len;for(var i=start;i<len;i++){var r=this.getRecord(i);var el=dom.get(r._sId);var the_letter=r.getData().LetterGradeRating;var the_rec=TSCM.insurers.Screener.getRecFromRating(the_letter);var classname="rec_"+the_rec.toLowerCase();dom.addClass(el.lastChild.firstChild,classname)}TSCM.insurers.Screener.refreshAds()}};var states=[{AK:"Alaska"},{AL:"Alabama"},{AR:"Arkansas"},{AZ:"Arizona"},{CA:"California"},{CO:"Colorado"},{CT:"Connecticut"},{DC:"District of Columbia"},{DE:"Delaware"},{FL:"Florida"},{GA:"Georgia"},{HI:"Hawaii"},{IA:"Iowa"},{ID:"Idaho"},{IL:"Illinois"},{IN:"Indiana"},{KS:"Kansas"},{KY:"Kentucky"},{LA:"Louisiana"},{MA:"Massachusetts"},{MD:"Maryland"},{ME:"Maine"},{MI:"Michigan"},{MN:"Minnesota"},{MO:"Missouri"},{MS:"Mississippi"},{MT:"Montana"},{NC:"North Carolina"},{ND:"North Dakota"},{NE:"Nebraska"},{NH:"New Hampshire"},{NJ:"New Jersey"},{NM:"New Mexico"},{NV:"Nevada"},{NY:"New York"},{OH:"Ohio"},{OK:"Oklahoma"},{OR:"Oregon"},{PA:"Pennsylvania"},{PR:"Puerto Rico"},{RI:"Rhode Island"},{SC:"South Carolina"},{SD:"South Dakota"},{TN:"Tennessee"},{TX:"Texas"},{UT:"Utah"},{VA:"Virginia"},{VT:"Vermont"},{WA:"Washington"},{WI:"Wisconsin"},{WV:"West Virginia"},{WY:"Wyoming"}]};YAHOO.util.Event.on(window,"load",TSCM.insurers.Screener.init);TSCM.SolrQuery=function(a,b){this.q=a;this.options["json.wrf"]=b};TSCM.SolrQuery.prototype={start:0,docs:0,default_numresults:10,query_history:[],query:"",type:"",resultspage:0,ratingsDomain:"http://ratings.thestreet.com",base:"/screener/select/?",options:{rows:"50","json.wrf":"",version:"2.1",wt:"json",stylesheet:"0"},makeparam:function(a,b){return"&"+a+"="+b},makeurl:function(a){var c=this.ratingsDomain+this.base;for(var b in this.options){c+="&"+b+"="+this.options[b]}c+=this.makeparam("q",escape(this.q));return c},execute:function(){var d=document.createElement("script");d.type="text/javascript";d.defer=true;d.id="solr-result-js";try{this.start+=this.options.rows}catch(c){this.start=this.default_numresults}var b=YAHOO.util.Dom.get("solr-result-js");var a=document.getElementsByTagName("head")[0];d.src=this.makeurl();try{if(b){a.removeChild(b)}}catch(c){}a.appendChild(d);return}};
