var zipsearch_widget=function(r){function l(e){return(e=document.getElementById(e))||{value:"",style:{}}}function _(e){return document.querySelectorAll?document.querySelectorAll("."+e):t("."+e)}var t=function(e){var t=document,o=t.documentElement.firstChild,s=t.createElement("STYLE");return o.appendChild(s),t.__qsaels=[],s.styleSheet.cssText=e+"{x:expression(document.__qsaels.push(this))}",window.scrollBy(0,0),t.__qsaels},c={log:function(e){},ready:function(e){document.addEventListener?document.addEventListener("DOMContentLoaded",e):document.attachEvent("onreadystatechange",function(){"interactive"===document.readyState&&e()})},getAttribute:function(e,t){return e.getAttribute?e.getAttribute(t):(e.attributes&&e.attributes[t].nodeValue,null)},get:function(t){var e="jsonp"+Math.round(1000001*Math.random());t.data.api_key=r.api_key,t.data.callback=e,window[e]=function(e){t.success(e)};var o,s=new Array;for(o in t.data)s.push(o+"="+encodeURIComponent(t.data[o]));t.url+="?"+s.join("&");e=document.createElement("script");e.setAttribute("src",t.url),document.getElementsByTagName("head")[0].appendChild(e)},log_event:function(e,t){c.get({url:r.log_event_url,success:function(){},data:{event_type:e,properties:JSON.stringify({user_action:t,widget_type:r.widget_type,widget_event_log_id:r.widget_event_log_id})}})},on:function(e,t,o){for(i in e){var s=e[i];s.addEventListener?s.addEventListener(t,o):s.attachEvent&&s.attachEvent("on"+t,function(e){o.call(e.srcElement,e)})}},cookie:function(e,t,o){if(t){var s,a="";o&&(s=new Date,a="expires="+new Date(s.getTime()+24*o*60*60*1e3).toUTCString()+"; "),document.cookie=e+"="+encodeURIComponent(t)+"; "+a+"path=/"}else if(0<document.cookie.length){a=document.cookie.indexOf(e+"=");if(-1!=a)return a=a+e.length+1,end=document.cookie.indexOf(";",a),-1==end&&(end=document.cookie.length),decodeURIComponent(document.cookie.substring(a,end))}},search_keyup:function(e){e&&13===e.keyCode&&(e.preventDefault?e.preventDefault():e.returnValue=!1,c.search())},search_box_keyup:function(e){e&&13===e.keyCode&&(e.preventDefault?e.preventDefault():e.returnValue=!1,c.search_box())},modal_keyup:function(e){e&&27===e.keyCode&&"none"!=l("zs_modal").style.display&&(l("zs_modal").style.display="none",c.log_event("zipsearch_widget_alert","escape"))},urlParam:function(e){e=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(window.location.href);return!!e&&decodeURIComponent(e[1])}};return c.search=function(e){c.log("Start search..."),c.resetOptions();var t=1;e&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t=0),c.options.save_state&&(c.log("Saving state"),c.cookie("zs_search",c.options.search),c.cookie("zs_location",c.options.location),c.cookie("zs_radius_miles",c.options.radius_miles),c.cookie("zs_days_ago",c.options.days_ago||" "));var o=(o=c.getAttribute(this,"data-page"))||1;l("zs_results").style.display="none",l("zr_attributed").style.display="none",l("zs_modal").style.display="none",l("ajax_loader").style.display="",c.get({url:r.api_url,data:{search:c.options.search||"",location:c.options.location||"",radius_miles:c.options.radius_miles||"",days_ago:"anytime"!=c.options.days_ago&&c.options.days_ago||"",jobs_per_page:c.options.jobs_per_page||"",page:o,format:r.widget_type,widget_version:r.widget_version||"",widget_event_log_id:r.widget_event_log_id||"",non_interaction:t,alerts_api_key:c.options.alerts_api_key},success:function(e){c.log("zr jobs widget - ajax req success"),c.display(e),1<o&&!function(e){el=l(e);var t=el.getBoundingClientRect(),o=window.innerHeight||document.documentElement.clientHeight,e=window.innerWidth||document.documentElement.clientWidth,o=t.top<=o&&0<=t.top+t.height,t=t.left<=e&&0<=t.left+t.width;return o&&t}("zs_results")&&l("zs_results").scrollIntoView()},error:function(e,t){"object"==typeof t&&(t="error message: "+t.message),c.log("zr jobs widget error: "+e+", "+t)}})},c.search_box=function(e){if(c.log("Start search..."),c.resetOptions(),e&&(e.preventDefault?e.preventDefault():e.returnValue=!1),c.log_event("zipsearch_widget_click","search_box"),c.options.save_state){var t=c.options.save_state.constructor!==Array;c.log("Saving state"),c.options.days_ago=c.options.days_ago||" ";for(var o=0;o<c.search_param_names.length;o++)(t||-1<c.options.save_state.indexOf(c.search_param_names[o]))&&c.cookie("zs_"+c.search_param_names[o],c.options[c.search_param_names[o]])}c.goto_search_url()},c.goto_search_url=function(){var e="";if(c.options.search_url){if(e=c.options.search_url,c.options.use_url_params){for(var t="",o=c.options.use_url_params.constructor!==Array,s=0;s<c.search_param_names.length;s++)(o||-1<c.options.use_url_params.indexOf(c.search_param_names[s]))&&void 0!==c.options[c.search_param_names[s]]&&(t+=c.search_param_names[s]+"="+encodeURIComponent(c.options[c.search_param_names[s]])+"&");(t=t.slice(0,-1))&&(e+=(-1<e.indexOf("?")?"&":"?")+t)}}else e="https://www.ziprecruiter.com/candidate/search",e+="?tsid="+r.traffic_source_id,e+="&search="+encodeURIComponent(c.options.search),e+="&location="+encodeURIComponent(c.options.location);window.location.href=e},c.see_more=function(e){e&&(e.preventDefault?e.preventDefault():e.returnValue=!1),c.goto_search_url()},c.display=function(e){l("zs_no_jobs").style.display="none",l("zs_results").innerHTML=e.html,0==e.total_jobs&&(l("zs_no_jobs").style.display=""),c.applyCustomStyles(),l("zr_mini").style.display="",l("ajax_loader").style.display="none",l("zs_results").style.display="",l("zr_attributed").style.display="",c.on(_("_zr_pager"),"click",c.search),c.options.alerts_api_key.length&&"mini"!=r.widget_type.substr(0,4)&&c.on(_("zr_job_link"),"click",c.showAlertModal)},c.resetOptions=function(){for(var e in c.options={},c.options_original)c.options[e]=c.options_original[e];var t={search:c.options.search_id||"zs_search",location:c.options.location_id||"zs_location",radius_miles:c.options.radius_id||"zs_radius",days_ago:"zs_days"};for(e in t){var o=l(t[e]).value;""!==o&&(c.options[e]=o||c.options_original[e]||"")}var s=void 0===c.options.save_state||c.options.save_state,a={container:"zipsearch_container",jobs_per_page:5,alerts_api_key:"",search:s&&r.global_search||"",location:s&&r.global_location||r.default_location,search_id:"zs_search",location_id:"zs_location",radius_id:"zs_radius",submit_id:"zs_submit",alert_skip_clicks:2,save_state:1};for(e in a)void 0===c.options[e]&&(c.options[e]=c.options_original[e]),void 0===c.options[e]&&(c.options[e]=a[e])},c.applyCustomStyles=function(){var e,t={width:{class:"zr_widget",prop:"width"},font_family:{id:"zr_widget",prop:"fontFamily"},font_size_title:{class:"zr_job_link",prop:"fontSize"},font_size_description:{class:"zr_job_desc",prop:"fontSize"},color_title:{class:"zr_job_link",prop:"color"},color_description:{class:"zr_job_desc",prop:"color"},color_background:{id:"zr_widget_container",prop:"backgroundColor"}};for(e in t)if(c.options[e])for(var o=t[e],s=o.id?[l(o.id)]:_(o.class),a=0;a<s.length;a++)s[a].style[o.prop]=c.options[e]},c.showAlertModal=function(e){var t=c.cookie("shown_modal")||0;0<(c.cookie("shown_modal_"+c.options.search)||0)||parseInt(t)>=c.options.alert_skip_clicks||(e&&(e.preventDefault?e.preventDefault():e.returnValue=!1),l("zs_job_type").innerHTML=c.options.search,l("zs_location_type").innerHTML=c.options.location,l("zs_continue_link").href=this.href,l("zs_create_alert").href=this.href,l("zs_modal").style.display="",c.log_event("zipsearch_widget_alert","show"))},c.continueAlertModal=function(e){var t=c.cookie("shown_modal")||0;c.cookie("shown_modal",parseInt(t)+1,1),l("zs_modal").style.display="none",c.log_event("zipsearch_widget_alert","skip")},c.createAlert=function(e){if(c.log("Start alertCreate..."),c.resetOptions(),!l("zs_email_address").value.length)return alert("Please enter a valid email address"),e.preventDefault?e.preventDefault():e.returnValue=!1,!1;c.get({url:r.create_alert_url,data:{email_address:l("zs_email_address").value,search:c.options.search,location:c.options.location,radius_miles:c.options.radius_miles,alerts_api_key:c.options.alerts_api_key,widget_event_log_id:r.widget_event_log_id},success:function(e){c.log("zr alert create - ajax req success"),l("zs_modal").style.display="none",c.cookie("shown_modal_"+c.options.search,1,1)}})},c.setSelect=function(e,t){var o=e.options;if(o)for(var s=0;s<o.length;s++)o[s].selected=!1,o[s].value==t&&(o[s].selected=!0)},c.init_params=function(o){c.get({url:r.init_url,data:{widget_version:r.widget_version,widget_type:r.widget_type,options:JSON.stringify(o)},success:function(e){for(var t in e.params)r[t]=e.params[t];c.init(e.options)&&o.callback_post_init&&"function"==typeof o.callback_post_init&&o.callback_post_init.call()}})},c.init=function(e){var t=l(e.container);if(!t)return c.log("You must specify 'container' in the options",e.container),!1;var o=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(o),o.setAttribute("type","text/css"),o.styleSheet?o.styleSheet.cssText=r.widget_style:o.innerHTML=r.widget_style,t.innerHTML=r.widget_html,c.options_original=e,c.resetOptions(),c.applyCustomStyles(),c.search_param_names=["search","location","radius_miles","days_ago"];var s={};if(c.options.save_state)for(var a=c.options.save_state.constructor!==Array,n=0;n<c.search_param_names.length;n++)(a||-1<c.options.save_state.indexOf(c.search_param_names[n]))&&(s[c.search_param_names[n]]=c.cookie("zs_"+c.search_param_names[n]));return c.options.search=c.urlParam("search")||s.search||c.options.search,c.options.location=c.urlParam("location")||s.location||c.options.location,c.options.radius_miles=c.urlParam("radius_miles")||s.radius_miles||e.radius_miles||c.options.radius_miles,c.options.days_ago=c.urlParam("days_ago")||s.days_ago||e.days_ago||c.options.days_ago,l(c.options.search_id).value=c.options.search,l(c.options.location_id).value=c.options.location,"search-box"==r.widget_type?(c.on([l("zs_submit_box")],"click",c.search_box),c.on([l("zs_search")],"keyup",c.search_box_keyup),c.on([l("zs_location")],"keyup",c.search_box_keyup)):"reseller-candidate"==r.widget_type?(c.on([l("zs_submit_box")],"click",c.search_box),c.on([l("zs_search")],"keyup",c.search_box_keyup),c.on([l("zs_location")],"keyup",c.search_box_keyup),c.on([l("zs_post_and_print_button")],"click",function(){c.log_event("zipsearch_widget_click","reseller_print"),window.location.href=c.options.reseller_print_url}),c.on([l("zs_post_only_button")],"click",function(){c.log_event("zipsearch_widget_click","reseller_post"),window.location.href=c.options.reseller_post_url})):(c.options.alerts_api_key.length&&"mini"!=r.widget_type.substr(0,4)&&(c.on([window],"keyup",c.modal_keyup),c.on([l("zs_modal_backdrop")],"click",function(){l("zs_modal").style.display="none",c.log_event("zipsearch_widget_alert","clickback")})),c.setSelect(l(c.options.radius_id),c.options.radius_miles),c.setSelect(l("zs_days"),c.options.days_ago),c.on([l(c.options.submit_id)],"click",c.search),c.on([l("zs_radius")],"change",c.search),c.on([l("zs_days")],"change",c.search),c.on([l(c.options.search_id)],"keypress",c.search_keyup),c.on([l(c.options.location_id)],"keypress",c.search_keyup),c.on([l("zs_create_alert")],"click",c.createAlert),c.on([l("zs_continue_link")],"click",c.continueAlertModal),c.on(_("zs_search_alt"),"click",function(e){e.preventDefault?e.preventDefault():e.returnValue=!1,l(c.options.search_id).value=c.getAttribute(this,"data-title")||"Sales",c.search()}),c.on([l("zs_more_button")],"click",c.see_more),c.search()),c.options.header_text&&(l("zs_header").textContent=c.options.header_text),!0},{init:c.init_params}};zipsearch = zipsearch_widget({"log_event_url":"https://api.ziprecruiter.com/jobs/v1/event","create_alert_url":"https://api.ziprecruiter.com/jobs/v1/alert","traffic_source_id":160003034,"api_url":"https://api.ziprecruiter.com/jobs/v1","widget_html":"<div id=\"zr_search_box\" class=\"zr_widget\" style=\"width: 100%\"> <div id=\"zs_header\">Find a Job</div> <!-- <h3 id=\"zs_subheader\">Job Search</h3> --> <div id=\"zs_container\"> <section id=\"zs_search_module\" class=\"field_col\"> <div class=\"zs_search_module\"> <label for=\"zs_search\" class=\"zs_search_label\">Job Title</label> <input id=\"zs_search\" class=\"zs_search_box\" name=\"zs_search\" value=\"\" placeholder=\"Job title or keywords\"> </div> </section> <section id=\"zs_location_module\"> <div class=\"zs_search_module\"> <label for=\"zs_location\" class=\"zs_search_label\">Location</label> <input id=\"zs_location\" class=\"zs_search_box\" name=\"zs_location\" value=\"\" placeholder=\"City, state, or ZIP\"> </div> </section> <section id=\"zs_submit_module\" class=\"modifiers\"> <div class=\"zs_search_module\"> <input id=\"zs_submit_box\" type=\"button\" value=\"Search\"> </div> </section> </div> </div>","widget_style":"/* Reset */ #zipsearch_container html, #zipsearch_container body, #zipsearch_container div, #zipsearch_container span, #zipsearch_container iframe, #zipsearch_container h1, #zipsearch_container h2, #zipsearch_container h3, #zipsearch_container h4, #zipsearch_container h5, #zipsearch_container h6, #zipsearch_container p, #zipsearch_container pre, #zipsearch_container a, #zipsearch_container em, #zipsearch_container img, #zipsearch_container samp, #zipsearch_container strong, #zipsearch_container sub, #zipsearch_container sup, #zipsearch_container b, #zipsearch_container i, #zipsearch_container ol, #zipsearch_container ul, #zipsearch_container li, #zipsearch_container fieldset, #zipsearch_container form, #zipsearch_container label, #zipsearch_container legend, #zipsearch_container table, #zipsearch_container caption, #zipsearch_container thead, #zipsearch_container tr, #zipsearch_container th, #zipsearch_container td, #zipsearch_container article, #zipsearch_container aside, #zipsearch_container footer, #zipsearch_container header, #zipsearch_container nav, #zipsearch_container section { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #zipsearch_container article, #zipsearch_container aside, #zipsearch_container details, #zipsearch_container figcaption, #zipsearch_container figure, #zipsearch_container #zipsearch_container footer, #zipsearch_container header, #zipsearch_container menu, #zipsearch_container nav, #zipsearch_container section { display: block; } #zipsearch_container body { line-height: 1; } /* Base CSS */ #zipsearch_container { width: 100%; } /* Styles */ #zipsearch_container #zr_search_box { max-width: 1200px; margin: 0 auto; font-family: Arial, Helvetica, sans-serif; border: 1px solid #eaeaea; overflow: hidden; background-color: #fff; } #zipsearch_container #zs_header { background-color: #eaeaea; padding: 10px 20px; font-size: 15px; font-weight: 700; color: #333; font-family: Arial, Helvetica, sans-serif; } #zipsearch_container #zs_subheader { font-size: 11px; text-transform: uppercase; color: #aaa; margin: 7px 20px; font-weight: 400; } #zipsearch_container .zs_search_module { margin-right: 5%; overflow: hidden; } #zipsearch_container .zs_search_box { height: 38px; font-size: 15px; line-height: 30px; border: 1px solid #bbb; padding: 0px 6px; color: #323436; width: 96%; max-width: 600px; box-sizing: border-box; background-color: #FFF; width: 100%; padding-left:35px; float: left; margin-top: 3px; } #zipsearch_container .zs_search_container { width: 100%; margin: 0 1% 17px 0; max-width: 350px; float: left; border-radius: 0; text-align: left; min-width: 200px; } #zipsearch_container .zs_search_container:last-child { margin-right: 0; } #zipsearch_container #zs_search { background: url('/zrs/7f485695/img/zs-pro/search_icon.svg') 10px 11px no-repeat scroll #FFF; background-size: 16px; } #zipsearch_container #zs_location { background: url('/zrs/697ada4b/img/zs-pro/pin_icon.svg') 11px 10px no-repeat scroll #FFF; background-size: 14px; } #zipsearch_container #zs_submit_box { font-size: 28px; border: 1px solid #768CFA; color: #FFF; font-size: 15px; background-color: #768CFA; padding: 0px 20px; height: 38px; line-height: 30px; clear: both; display: inline-block; outline: 0; margin: 0; min-width: 100px; max-width: 130px; letter-spacing: .4px; cursor: pointer; } #zipsearch_container #zs_submit_box:hover{ background: #8fa2ff; } #zipsearch_container #zs_submit_box:active{ border: 1px solid #c8c8c8; background: #e9e9e9; background: -webkit-linear-gradient(top,#e9e9e9,#f8f8f8); background: linear-gradient(top,#e9e9e9,#f8f8f8); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#e9e9e9,endColorstr=#f8f8f8,GradientType=1); text-shadow: 0px 1px 1px #ffffff; float: left; } #zipsearch_container #zs_container section { margin-top: 10px; } #zipsearch_container #zs_container, #zipsearch_container section.modifiers .zs_search_module { display: -webkit-flexbox; display: -ms-flexbox; display: -webkit-flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; } #zipsearch_container #zs_container section { vertical-align: text-top; width: 30%; min-width: 220px; -webkit-flex: 1 1 30%; -ms-flex: 1 1 30%; flex: 1 1 30%; margin-bottom: 5px; } #zipsearch_container #zs_container section.modifiers { justify-content: flex-start; } #zipsearch_container #zs_container section { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } #zipsearch_container #zs_submit_module { align-self: flex-end; } #zipsearch_container #zs_submit_module .zs_search_module { width: 100px; } #zipsearch_container .zs_search_module label { font-size: 13px; font-weight: 700; padding-bottom: 3px; color: #333; } #zipsearch_container #zs_container { margin-left: 20px; margin-top: 11px; } #zipsearch_container #zr_attributed { max-width: 768px; float: right; clear: both; padding-left: 15px; font-size: 17px; text-align: center; font-family: Arial, Helvetica, sans-serif; } #zipsearch_container #zr_attributed a { text-decoration: none; color: #277f6a; font-size: 15px; display: inline-block; margin-right: 4px; } #zipsearch_container #zr_attributed span:first-child { margin-top: 6px; font-size: 12px; } #zipsearch_container #zr_attributed span { color: #808080; text-decoration: none; display: inline-block; float: left; padding-top: 10px; }","init_url":"https://api.ziprecruiter.com/jobs/v1/widget_init","api_key":"z7sqsipc3j82pzarghvu7dj5rjgeejn7","widget_type":"search-box","widget_version":"v1"});