if(window.smileWidget==undefined){var smileWidget=new function(){var t="smileWidget";var aj="1.4.2";var ad={queryTimeout:0,queryTimeoutCallback:null,noResultsCallback:null,noResultsHTML:"Your search returned no results.",successCallback:null,deferSearch:false,showPersistentSearch:false,searchBarHtml:null,startHidden:false,headerUrl:null,headerHtml:null,footerHtml:null,listItemRenderer:b,fullRecordRenderer:ak,fullRecordDisplayFunc:null,fullRecordContainerHtml:null,resultCountRenderer:u,paginationRenderer:ab,searchSubmitHook:null,searchReturnHook:null,noResizing:false,widgetHtml:null,initHook:null};var N=null;var Z="http://howtosmile.org/widgetresourcesearch";var Y={};var ay=null;var d=[];var l={};var q=false;var al=null;var W=30;var aw=50;var D=null;var L=[];function w(){if(ad.widgetHtml!=null){return ad.widgetHtml}var aD=(ad.showPersistentSearch)?E():"";var aA=(ad.fullRecordContainerHtml!=null)?ad.fullRecordContainerHtml:'			<div id="'+t+'_result_record">\n			<a id="'+t+'_back" href="javascript:'+t+'.hideRecord();">back to results</a>\n			<div id="'+t+'_record_inner"></div></div>\n';var aC=(ad.headerHtml!=null)?ad.headerHtml:"";var aB=(ad.footerHtml!=null)?ad.footerHtml:"";return'\n	<div id="'+t+'_container">\n		<div classname="hid" class="hid" id="'+t+'_loading"></div>\n		<div id="'+t+'_header">\n			<div id="'+t+'_header_topStripe"></div>\n			<div id="'+t+'_header_logo"></div>\n'+aC+"		</div>\n"+aD+'		<div id="'+t+'_result">\n			<div id="'+t+'_resultcount"></div>\n			<div id="'+t+'_listbackward" class="'+t+'_scroll smileWidget_scrollbackward"></div>\n			<div id="'+t+'_list_holder">\n				<div id="'+t+'_list">\n					<!-- list contents will be filled in here by script -->\n				</div><!-- end _list -->\n			</div><!-- end _list_holder -->\n			<div id="'+t+'_listforward" class="'+t+"_scroll "+t+'_scrollforward"></div>\n			<div id="'+t+'_pagination"></div>\n'+aA+'		</div><!-- end _result -->\n      <div id="'+t+'_footer">'+aB+"      </div>\n	</div><!-- end _container -->\n"}function E(){if(ad.searchBarHtml!=null){return ad.searchBarHtml}else{return'		<div id="'+t+'_search">\n			<div id="'+t+'_searchbg1"></div>\n			<div id="'+t+'_searchbg2"></div>\n			<div id="'+t+'_searchbg3"></div>\n			<form id="'+t+'_searchform">\n				<input id="'+t+'_searchterm" value="Search" type="text">\n				<a id="'+t+'_searchbtn" href="#"></a>\n			</form>\n		</div>\n'}}function ap(){var aB=document.getElementById(t+"_searchform");if(aB){aB.onsubmit=aa;var aC=document.getElementById(t+"_searchterm");if(aC){aC.onfocus=C}if(Y.term){aC.value=Y.term}document.getElementById(t+"_searchbtn").onclick=aa}var aA=document.getElementById(t+"_search");if(aA.style.display!="block"){aA.style.display="block"}S();m()}function m(){if(ad.noResizing){return}if(m.inputFixIntervalId!=undefined){clearInterval(m.inputFixIntervalId)}var aD=document.getElementById(t+"_searchbg1");var aB=document.getElementById(t+"_searchbg3");var aA=aB.offsetLeft-(aD.offsetWidth-aD.offsetLeft);if(aA<=0){m.inputFixIntervalId=setInterval(m,1);return}var aC=document.getElementById(t+"_searchterm");aC.style.width=aA}function M(){if(ad.noResizing){return}var aA=document.getElementById(t+"_container").clientHeight-document.getElementById(t+"_header_topStripe").offsetHeight-document.getElementById(t+"_header_logo").offsetHeight-document.getElementById(t+"_resultcount").offsetHeight-document.getElementById(t+"_listbackward").offsetHeight-document.getElementById(t+"_listforward").offsetHeight-document.getElementById(t+"_pagination").offsetHeight;var aB=document.getElementById(t+"_search");if(aB){aA-=aB.offsetHeight}var aC=document.getElementById(t+"_list_holder");aC.style.height=aA+"px"}function S(){if(ad.noResizing){return}if(S.listFixIntervalId!=undefined){clearInterval(S.listFixIntervalId)}var aB=document.getElementById(t+"_list_holder");var aA=aB.offsetHeight;if(aA==0){S.listFixIntervalId=setInterval(S,1);return}M()}function ao(){var aA=document.getElementById(t+"_result").offsetHeight;document.getElementById(t+"_result_record").style.height=aA+"px"}function e(){if(ad.headerUrl){var aA=document.getElementById(t+"_header_logo");aA.style.backgroundImage="url("+ad.headerUrl+")"}}function C(){if(this.value=="Search"){this.value=""}}function aa(){Y.term=ax();am();T();return false}function ax(){var aA=document.getElementById(t+"_searchterm");if(aA){return aA.value}else{return""}}function T(aC){if(aC===undefined){aC=0}Y.pagenumber=aC;Y.widget_callback="dataLoaded";if(ad.searchSubmitHook!=null){if(!ad.searchSubmitHook(Y)){return}}R();j();if(l[aC]){I(l[aC]);return false}var aB=an();var aA=Z+"?"+aB;ar(aA,null);if(ad.queryTimeout&&ad.queryTimeoutCallback){N=setTimeout(ad.queryTimeoutCallback,ad.queryTimeout)}}function P(aD,aE){var aB=g("facet",aD);var aA=Z+"?pagenumber=0&"+aB+"&widget_callback=dataLoaded";var aC=function(aF){aE(aF.facet)};ar(aA,aC)}function ar(aA,aC){var aB=L.length;aA+=(aA.indexOf("?")==-1)?"?":"&";aA+="widgetRequestId="+aB;L[aB]={url:aA,callback:aC,id:aB};at(L[aB])}function at(aC){var aB=document.getElementById(t+"_container");var aA=document.createElement("script");aA.id=t+"_dataScript_"+aC.id;aA.type="text/javascript";aB.appendChild(aA);aA.src=aC.url}function V(aA){setTimeout(function(){var aC=document.getElementById(t+"_container");var aB=document.getElementById(t+"_dataScript_"+aA);if(aB!==null){aC.removeChild(aB)}},10)}function k(aA){if(aA.widgetRequestId!=undefined&&L[aA.widgetRequestId]!=undefined&&L[aA.widgetRequestId].callback!=undefined){L[aA.widgetRequestId].callback(aA)}else{I(aA)}if(aA.widgetRequestId!=undefined){V(aA.widgetRequestId)}}function an(){var aB=[];for(var aA in Y){if(aA=="moreInfo"){if(Y[aA] instanceof Array){aB.push(s(Y[aA]))}else{if(Y[aA] instanceof Object){aB.push(i(Y[aA]))}}}else{if(Y[aA] instanceof Array){aB.push(g(aA,Y[aA]))}else{aB.push(aA+"="+Y[aA])}}}return aB.join("&")}function g(aB,aA){var aD=[];for(var aC=0;aC<aA.length;++aC){aD.push(aB+"[]="+aA[aC])}return aD.join("&")}function s(aA){var aC=[];for(var aB=0;aB<aA.length;++aB){aC.push(i(aA[aB]))}return aC.join("&")}function i(aB){var aA=aB.field;var aD="moreInfo["+aA+"]";if(!aA){return""}var aC=aB.value;if(aC instanceof Array){return g(aD,aC)}else{return aD+"="+aC}}function R(){var aA=document.getElementById(t+"_list");aA.innerHTML="";aA.style.top=0;G()}function j(){ag(document.getElementById(t+"_loading"))}function ai(){x(document.getElementById(t+"_loading"),"hid")}function ah(aB,aA){if(aA==null){delete (Y[aB])}else{Y[aB]=aA}}function B(aB){for(var aA in aB){if(ad.hasOwnProperty(aA)){ad[aA]=aB[aA]}}}function I(aC){ay=aC;var aA=aq();if(N){clearTimeout(N);N=null}if(ad.searchReturnHook!=null){ad.searchReturnHook(aC,aA,(l[aA]!=undefined))}ai();l[aA]=ay;var aB;if(aC.numresults==0){aB=ad.noResultsHTML;if(ad.noResultsCallback){ad.noResultsCallback()}}else{aB=J(ay);c();r();if(ad.startHidden){f()}if(ad.successCallback){ad.successCallback()}}document.getElementById(t+"_list").innerHTML=aB;if(ay.numresults==1){X(0)}v("forward");v("backward");ae()}function J(aB){var aD=aB.searchresults;d=[];var aC="";for(var aA=0;aA<aD.length;aA++){var aE=d.push(aD[aA])-1;aC+=ad.listItemRenderer.call(window[t],aE,aD[aA])}return aC}function r(){document.getElementById(t+"_resultcount").innerHTML=ad.resultCountRenderer(parseInt(ay.numresults),parseInt(ay.offset),parseInt(ay.numonpage),parseInt(ay.numperpage))}function u(aE,aF,aD,aC){var aB=aF+1;var aA=aF+aD;return"Showing "+aB+"-"+aA+" of "+aE+" records"}function b(aD,aB){var aC=aB.record.metadata.smileItem;var aA=t+"_listrec";if(aB.prefetchResult){aA+=" "+t+"_preload"}return'		<div class="'+aA+'">\n			<div class="'+t+'_titlewrap">\n				<a href="#" onclick="'+t+".showRecord("+aD+');return false;" class="'+t+'_title">\n'+aC.activityBasics.title+'\n				</a>\n			</div>\n			<img src="'+K(aB)+'" class="'+t+'_thumb"/>\n			<div class="'+t+'_listrec_inner2">\n			'+a(aB)+'<br/>\n			<a href="#" onclick="'+t+".showRecord("+aD+');return false;" class="'+t+'_moreinfo">More Info</a>\n			</div>\n			<div class="'+t+'_desc">\n				'+ac(aC.activityBasics.description,120)+"...\n			</div>\n		</div>\n"}function ak(aD){var aF=aD.record.metadata.smileItem;var aB=o(aD);var aC="";if(aF.activityBasics.keywords.keyword){var aA=aF.activityBasics.keywords.keyword;if(!aA instanceof Array){aA=[aA]}aC=aA.join(", ")}var aE=aF.activityBasics.title;if(aF.activityBasics.subtitle){aE+=": "+aF.activityBasics.subtitle}return'			<div class="'+t+'_titlewrap">'+aE+'</div>\n			<img src="'+K(aD)+'" class="'+t+'_thumb"/>\n			<div class="'+t+'_fullrec_inner2">\n				<a href="'+aB+'" class="'+t+'_smiledetails">SMILE Details</a>\n				<a href="'+U(aD)+'" class="'+t+'_goactivity">Go to activity</a>\n			</div>\n			<div class="'+t+'_desc">\n				'+aF.activityBasics.description+'\n			</div>\n			<div class="'+t+'_keywords">\n				Keywords: '+aC+'\n			</div>\n			<div class="'+t+'_comments">\n				Comments ('+aD.numcomments+") "+a(aD)+"\n			</div>\n"}function a(aD){var aC=aD.rating;var aB=75;var aA=Math.ceil(aB*aC/100);return'<div class="stardiv"><ul class="star" title="Rating"><li class="curr" style="width:'+aA+'px;"/></ul></div>'}function F(aF){var aH="";var aB="";if(aF.activityBasics.ageRanges.ageRange==undefined){return""}var aD=aF.activityBasics.ageRanges.ageRange;var aA,aG,aC,aE;if(aD instanceof Array){aA=aD[0].split(" ");aC=Q(aA[0]);aG=aC.split("-");aH=Q(aG[0]);aE=aD.length-1;aA=aD[aE].split(" ");aC=Q(aA[0]);aG=aC.split("-");aB=(aG[1]!=undefined)?Q(aG[1]):""}else{aA=aD.split(" ");aC=Q(aA[0]);aG=aC.split("-");aH=Q(aG[0]);aB=(aG[1]!=undefined)?Q(aG[1]):""}if(aB==""){aB="adult"}return"Ages "+aH+" - "+aB}function o(aA){return"http://howtosmile.org/record/"+aA.nodeId}function U(aA){return"http://howtosmile.org/resource/viewresource/"+aA.nodeId}function K(aF){var aB=aF.record.metadata.smileItem;var aA=aB.activityBasics.recordID;var aD=aF.record.head.collection.key;var aC=(aB.activityBasics.images!=undefined&&aB.activityBasics.images.primaryImage!=undefined);var aE="";if((aC!=undefined)&&(aC!="")){aE="http://howtosmile.org/screenshots/photo.php?colID="+aD+"&recID="+aA}else{aE="http://www.howtosmile.org/screenshots/noimage_thumb.jpg"}return aE}function c(){var aA="";if(ay!=null){aA=ad.paginationRenderer(parseInt(ay.numresults),parseInt(ay.offset),parseInt(ay.numonpage),parseInt(ay.numperpage))}document.getElementById(t+"_pagination").innerHTML=aA}function ab(aG,aB,aE,aC){var aD="";var aH=aq();var aI=af();var aD="";var aF=nextLink="";var aA=nextClass=" "+t+"-pag-inactive";if(aH>1){aA=" "+t+"-pag-active";aF=' <a href="#" onclick="'+t+'.prevPage();return false;"><<</a>'}if(aI>aH){nextClass=" "+t+"-pag-active";nextLink='<a href="#" onclick="'+t+'.nextPage();return false;">>></a>'}aD+='<span class="'+t+"-pag-link "+t+"-pag-prev"+aA+'">'+aF+"</span>";aD+=" page "+aH+"/"+aI;aD+=' <span class="'+t+"-pag-link "+t+"-pag-next"+nextClass+'">'+nextLink+"</span>";return aD}function aq(){if(ay==null){return null}return Math.floor(parseInt(ay.offset)/parseInt(ay.numperpage))+1}function af(){if(ay==null){return 0}return Math.ceil(parseInt(ay.numresults)/parseInt(ay.numperpage))}function X(aA){var aB=ad.fullRecordRenderer(d[aA]);if(ad.fullRecordDisplayFunc!=null){ad.fullRecordDisplayFunc(aB);return}document.getElementById(t+"_record_inner").innerHTML=aB;ao();var aC=document.getElementById(t+"_result_record");if(window.Animator!=undefined){if(al==null){al=new Animator({duration:200,interval:20}).addSubject(new CSSStyleSubject(aC,"showing"))}al.play()}else{x(aC,"showing")}q=true}function G(){if(!q){return}if(al!=null){al.reverse()}else{ag(document.getElementById(t+"_result_record"))}q=false}function ac(aB,aA){newstr=aB;if(aB.length>aA){newstr=aB.substring(0,aA);lastspace=newstr.lastIndexOf(" ");newstr=newstr.substring(0,lastspace)}return newstr}function y(aA){clearInterval(D);h(aA,W);D=setInterval(function(){h(aA,W)},aw)}function H(){clearInterval(D)}function h(aG,aH){var aE=document.getElementById(t+"_list");var aI=document.getElementById(t+"_list_holder").offsetHeight;var aF=aE.offsetHeight;if(aF<=aI){return false}var aC=true;var aA=(aG=="forward")?-aH:aH;var aD=parseInt(aE.style.top);if(isNaN(aD)){aD=0}var aB=aD+aA;if(aB>0){aB=0;aC=false}if(aB<aI-aF){aB=aI-aF;aC=false}aE.style.top=aB+"px";return aC}function v(aA){document.getElementById(t+"_list"+aA).onmousedown=function(){y(aA)};document.getElementById(t+"_list"+aA).onmouseup=function(){H()}}function ae(){var aB=function(aC){aC=aC||document.event;var aD=false;if(aC.keyCode==40){aD=h("forward",W)}else{if(aC.keyCode==38){aD=h("backward",W)}}if(aD){z(aC)}};var aA=function(aC){H();aC=aC||document.event};document.getElementById(t+"_list").onmouseover=function(){az(document,"keydown",aB);az(document,"keyup",aA)};document.getElementById(t+"_list").onmouseout=function(){A(document,"keydown",aB);A(document,"keyup",aA)}}function am(){l={}}function x(aB,aA){aB.setAttribute("class",aA);aB.setAttribute("className",aA)}function ag(aA){aA.removeAttribute("class");aA.removeAttribute("className")}function az(aB,aA,aC){if(aB.addEventListener){aB.addEventListener(aA,aC,false)}else{if(aB.attachEvent){aB.attachEvent("on"+aA,aC)}}}function A(aB,aA,aC){if(aB.removeEventListener){aB.removeEventListener(aA,aC,false)}else{if(aB.detachEvent){aB.detachEvent("on"+aA,aC)}}}function z(aA){if(aA.stopPropagation){aA.stopPropagation()}else{aA.cancelBubble=true}if(aA.preventDefault){aA.preventDefault()}else{aA.returnValue=false}}function Q(aA){if(String.trim==undefined){return aA.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}else{return aA.trim()}}function O(aA){am();for(p in aA){ah(p,aA[p])}}function n(aA,aB,aD){O(aB);B(aD);var aC=w();if(aA==null){document.write(aC)}else{aA.innerHTML=aC}if(ad.startHidden){av()}if(ad.showPersistentSearch){ap()}if(ad.headerUrl){e()}S();if(ad.initHook){ad.initHook()}if(!ad.deferSearch){T()}else{ai()}}function av(){au().style.display="none"}function f(){au().style.display="block"}function au(){return document.getElementById(t+"_container")}return{initWidget:n,setParams:O,setConfig:B,search:function(){am();T()},dataLoaded:k,showRecord:X,hideRecord:G,nextPage:function(){T(aq()+1)},prevPage:function(){T(aq()-1)},getVersion:function(){return aj},getName:function(){return t},formatStars:a,getImageUrl:K,shortenText:ac,getDetailsUrl:o,getResourceUrl:U,formatAgeRanges:F,trimString:Q,loadFilters:P,HTML_SEARCH_SMILE_FORM:'Search the SMILE database for resources:<form action="http://howtosmile.org/resourcesearch" target="_blank"><input type="text" name="ddssearch_q"/><input type="hidden" name="verb" value="Search"/><input type="submit" value="go"></form>'}}()};
