var C4=C4||{};
C4.Controller=(function controllerInit(G){var D="videoFinderResults",C={};
Views={enhanceBrandResults:function B(){G(".brandResultItem h3 .title").breakWord(30)
},addAutocompleteForm:function H(){G("#videoFinderResultsContainer").before('<input type="text" value="Enter a programme name" id="videoFinderText" />');
G("#videoFinderResults").html("<p class='message'>TYPE IN THE SPACE ABOVE<br />TO FIND ALL PROGRAMMES AVAILABLE ON 4oD</p>").find(".message").click(function(){G("#videoFinderText").focus()
})
},getVideoFinderOptions:function F(){var I={resultsId:D,overClass:"videoResultOver",loadingClass:"c4acLoading",cacheLength:50,mustMatch:false,formatMatch:null,matchContains:true,maxItemsToShow:"7",minChars:2,delay:0,width:280,inputWidth:264,showInPlace:true,omnitureCookie:"omn_intcmp=4oDpage_videofinder",omnitureProp8:"4oD",moreResultsMessage:'<p class="message-banner">THERE ARE MORE THAN 7 RESULTS - KEEP TYPING TO REFINE THE LIST</p>',noResultsMessage:'<p class="message no-results">NO VIDEO MATCHES </p>',formatItem:function(X,M,O,J){var P=X.value.toLowerCase();
var S=P.indexOf(J,0);
var T=P.charAt(S+J.length+1);
var N=[J,"-"+J," "+J,J+" "],R=X.value.toLowerCase(),Q=-1,L=[],M;
for(M=0;
M<N.length;
M++){var U=N[M];
Q=R.indexOf(N[M]);
if(M==0){if(Q==0){break
}}else{if(Q>-1){Q++;
break
}}}var K=X.value.substr(0,Q);
var V=X.value.substr(Q,J.length);
var W=X.value.substr(Q+J.length);
if(V.indexOf(" ")!=-1){if(V.charAt(0)===" "){K+=" "
}if(V.charAt(V.length-1)===" "){W=" "+W
}V=G.trim(V)
}L.push("<p>");
if(Q>-1){L.push(K,"<em>",V,"</em>",W)
}else{L.push(X.value)
}L.push("</p>");
return L.join("")
}};
return I
},enhanceMPU:function E(){C4.Util.setAdvertStyle(G("#SecondaryContent div.advertisement"))
}};
return{init:function A(){C4.OO.insistRequired({object:G,names:[]},{});
Views.enhanceBrandResults();
Views.addAutocompleteForm();
var I=false;
C4searchAutocomplete("#videoFinderText",D,I,Views.getVideoFinderOptions(),"/programmes/long-form-search/");
Views.enhanceMPU()
},_set$:function(I){G=I
},_setViews:function(I){Views=I
},_getViews:function(){return Views
},_reset:(function(){var I=G,J=Views;
return function(){G=I;
Views=J
}
})()}
})(jQuery);