
var uc=uc||{};uc.search=uc.search||{};uc.search.containerHTML='<div class="suggest-search-container">%content%</div>';uc.search.listHTML='<ul>%content%</ul>';uc.search.groupHTML='<li class="group"><a href="%uri%" class="group">%text%</a>%content%</li>';uc.search.itemHTML='<li class="item clearfix"><a href="%uri%"><img src="%poster_uri%" alt="film poster"/><span class="title">%title%</span><br/>%text%</a></li>';uc.search.moreResultsHTML='<p><a href="%more_link%">%more_text%</a></p>';uc.search.classIdExpr=/uc-search-input-(\d+)/;uc.search.build=function(selector,min_suggest,wrapper_selector,container_width,container_left_margin){if(!container_left_margin){container_left_margin=-1;}
jQuery(selector).each(function(i){var jq_search=jQuery(this);jq_search.attr('autocomplete','off');jq_search.addClass("uc-search-input-"+(i+1));});var suggest_timer=null,esc_timer=null,jq_wrapper=jQuery(wrapper_selector),buildSuggestItems=function(data){var html=uc.search.listHTML,content_html='',i=0;for(i=0;i<data.length;i++){var item=data[i],item_html=uc.search.itemHTML;item_html=item_html.replace(/%text%/g,item.pitch);item_html=item_html.replace(/%uri%/g,item.uri);item_html=item_html.replace(/%title%/g,item.title);item_html=item_html.replace(/%poster_uri%/g,item.poster_uri);content_html+=item_html;}
return html.replace(/%content%/g,content_html);},buildSuggestContainer=function(data){if(data.count===0){return false;}
var html=uc.search.containerHTML,content_html='',i=0,group=null;if(typeof(data.groups)!=='undefined'){for(i=0;i<data.groups.length;i++){group=data.groups[i];var list_html=uc.search.listHTML,group_html=uc.search.groupHTML;group_html=group_html.replace(/%content%/g,buildSuggestItems(group.items));group_html=group_html.replace(/%text%/g,group.text);group_html=group_html.replace(/%uri%/g,group.uri);content_html+=list_html.replace(/%content%/g,group_html);}}else{content_html+=buildSuggestItems(data.items);content_html+=uc.search.moreResultsHTML.replace(/%more_link%/,data.more_link).replace(/%more_text%/,data.more_text);}
return html.replace(/%content%/g,content_html);},extractSearchContainerId=function(jq_node){var node_classes=jq_node.attr('class'),matches=node_classes.match(uc.search.classIdExpr);return matches[1];};jQuery(selector).keyup(function(event){var jq_search=jQuery(this),search_container_class="suggest-search-container-"+extractSearchContainerId(jq_search);if(suggest_timer!==null){window.clearTimeout(suggest_timer);}
if(!event){var event=window.event;}
var key_code=event.which||event.keyCode;if(key_code===27||key_code===13){jQuery("."+search_container_class).remove();return false;}
suggest_timer=window.setTimeout(function(){var jq_form=jq_search.parents('form'),form_url=jq_form.attr('action'),text=jq_search.val();if(text.length<min_suggest){jQuery("."+search_container_class).remove();}else{jQuery.ajax({url:form_url,type:'GET',data:{text:text},beforeSend:function(xhr){xhr.setRequestHeader("Accept","application/json");},complete:function(XMLHttpRequest,textStatus){},success:function(data,textStatus){var jq_container=jQuery(buildSuggestContainer(eval(data)));if(jQuery("."+search_container_class).length===0){var pos=jq_search.offset(),wrapper_pos=jq_wrapper.offset();jq_container.addClass(search_container_class);jq_container.appendTo(jq_wrapper);jq_container.css('left',(pos.left-wrapper_pos.left)+container_left_margin);jq_container.css('top',(pos.top-wrapper_pos.top)+jq_search.height()+10);if(container_width){jq_container.css('width',container_width);}else{jq_container.css('width',jq_search.width()+2);}}else{jQuery("."+search_container_class).html(jq_container.html());}}});}},500);});jQuery(selector).focus(function(){if(esc_timer!==null){window.clearTimeout(esc_timer);}});jQuery(selector).blur(function(){var jq_search=jQuery(this);if(esc_timer!==null){window.clearTimeout(esc_timer);}
esc_timer=window.setTimeout(function(){var search_container_class="suggest-search-container-"+extractSearchContainerId(jq_search);jQuery("."+search_container_class).remove();},200);});};
