






(function(a){a.fn.spotlight=function(q){if(!this[0]){return}var H=this[0];var w=H.id;q=a.extend({css:"spotlight",searchpath:"spotlight.php",resultspath:"results.php",minlength:3,timeout:1000,windowBuffer:20,zDepth:9999,style:null,delay:0,use_cache:true},q||{});var K,m,e,E,L,k,v,G;var z=false;
var d=q.delay;var b,u,I;
var j={};

function B(){

a(H).val("Search EA.com".localize()).addClass("spotlight").attr("autocomplete","off");

if(!a("#spotlight-results").length){

a(document.body).append('<div id="spotlight-results" class="'+q.css+'-results"></div>');

a("#spotlight-results").append('<div id="spotlight-result-pane" class="'+q.css+'-result-pane"></div><div class="'+q.css+'-view-all bottomCap"></div>')

}

m=a("#spotlight-results");

e=a("#spotlight-result-pane");

if(a("#spotlightLoading").length<=0){
G=a('<div id="spotlightLoading">');
a("body").append(G)}}function l(){var S=a(H).offset().top;m.find(".videoOverlay").hide();
var U=m.outerHeight(true);var R=Number(S-EA.framework.getScrollXY()[1]);
var M=R+a(H).outerHeight(true);var Q=S+a(H).outerHeight(true)-2;
var T=(a(window).height()-53)-(M+U);var P=false;if(q.style==="footer"){
var O=M-U;if(T<0){if(O>=0){Q=Q-U-a(H).outerHeight(true)+4;if(!m.hasClass("spotlight-results_footer")){
m.removeClass("spotlight-results, spotlight-results_footer_bot").addClass("spotlight-results_footer");
P=true}}
else{
if(!m.hasClass("spotlight-results_footer_bot")){m.addClass("spotlight-results_footer_bot").removeClass("spotlight-results, spotlight-results_footer");P=true}}}}else{if(!m.hasClass("spotlight-results")){m.addClass("spotlight-results").removeClass("spotlight-results_footer, spotlight-results_footer_bot");P=true}}var N=a(H).position().left-1;if(navigator.userAgent.indexOf("Firefox/3")!==-1||navigator.userAgent.indexOf("WebKit")!==-1){if(document.documentElement.clientWidth%2===1){N++}}m.find(".videoOverlay").show();if(P){return l()}else{return[Q,N]}}function f(){L=q.timeout/1000}function p(){f();clearTimeout(k)}function A(){if(!a(H).hasClass("focus")){m.hide();E=false;p()}}function D(){if(L===0){A();var M=config.intSearchterm;setOmniValues(this,"o","intSearch","intSearchTerms="+M+",predSearchSel=","intSearchTerms="+M,"searches",0,";noProdSearch")}else{L--;k=setTimeout(function(){D()},1000)}}function y(){var M=l();m.css({top:M[0],left:M[1],"z-index":q.zDepth}).show();E=true;p();D()}function r(){d=q.delay}function i(){r();clearTimeout(v)}function n(M){A();i();if(M!==null&&typeof M!=="undefined"){var O=M.substr(M.lastIndexOf("/")+1).toLowerCase();var N=config.intSearchterm;setOmniValues(this,"o","intSearch","intSearchTerms="+N+",predSearchSel="+O,"intSearchTerms="+N,"searches",0,";noProdSearch");window.location=M}}function o(N){e.hide().html(N);var M=m.children(".bottomCap");M.hide();if(result_count>0){u="";a("li","#spotlight-result-pane").hover(function(){a("li.selected","#spotlight-result-pane").removeClass("selected");a(this).addClass("selected")},function(){a(this).removeClass("selected")}).click(function(){var O=a(this).children("a").attr("href");if(typeof O==="undefined"){O=a(this).children("h3").children("a").attr("href")}n(O);if(O!==null&&typeof O!=="undefined"){return false}});e.show();M.html('<ul><li><a href="'+q.resultspath+K+'" class="more">'+"View All Results".localize()+"</a></li></ul>").show();z=true;y()}else{u=I}}function h(){try{b.abort()}catch(M){}}function F(){if(d<=0){J();i()}else{d--;v=setTimeout(function(){F()},1000)}}function C(M){j[I]=M}function J(){K=K.replace(/[^A-Za-z0-9 ]+/g,"");if(I!==K){I=K;var M=new RegExp(u);if(I.match(M)&&u!==""&&u!==undefined){}else{h();if(j[I]!==undefined){a("#spotlightLoading").hide();o(j[I])}else{var N="";if(!q.use_cache){N=c()}b=a.ajax({type:"GET",url:q.searchpath,data:{keyphrase:I,c:N},beforeSend:function(){a("#spotlightLoading").show()},success:function(O){a("#spotlightLoading").hide();if(q.use_cache){C(O)}o(O)}})}}}else{if(z){y()}}}function c(){return parseInt(Math.random()*99999999,10)}function s(P){var O=false;var M=a.makeArray(a(P.target).parents());for(var N=0;N<=M.length;N++){if(a(M[N])[0].id===m[0].id){O=true;break}}return O}function t(R){f();var Q=a("#spotlight-results li.selected");var S,M;var P=(R)?"first":"last";if(Q.length===0){Q=a("#spotlight-results li:"+P);Q.parents("div.spotlight-view-all").addClass("selected").end().addClass("selected");return}var N=a("#spotlight-results li").index(Q.get(0));var O=a("#spotlight-results li").length;if(!R){M=(N-1>=0)?(N-1):O}else{M=(N+1<O)?(N+1):0}S=a("#spotlight-results li:eq("+M+")");a(Q).parents("div.spotlight-view-all").removeClass("selected").end().removeClass("selected");a(S).parents("div.spotlight-view-all").addClass("selected").end().addClass("selected")}function x(){a(H).removeClass("focus, focus-data");a("#spotlightLoading").hide();had_focus=false;z=false}function g(){var M=false;a(H).focus(function(){if(!M){a(this).val("");M=true}a(this).addClass("focus");a("#spotlightLoading").css("background-image","url(/portal/css/assets/sprites/search_animation.gif)")});a(H).blur(function(){if(a(this).val()===""){x()}else{a(this).addClass("focus-data")}a(this).removeClass("focus");a("#spotlightLoading").css("background-image","url(/portal/css/assets/sprites/search_animation_white.gif)")});a(H).keyup(function(N){K=a(this).val();if(((N.which>=32&&N.which<=127)||N.which===8)){if(K.length>=q.minlength){a("#spotlightLoading").css({top:a(this).position().top+5,left:a(this).position().left+6});i();F()}else{h();x();A()}}else{if(N.which===27){A()}}}).keydown(function(O){if(O.which===38||O.which===37){t(0);return false}else{if(O.which===40||O.which===39){t(1);return false}else{if(O.which===13){var N=a("#spotlight-result-pane li.selected").children("a").attr("href");if(typeof N==="undefined"){N=a("#spotlight-result-pane li.selected").children("h3").children("a").attr("href")}n(N);if(N!==null&&typeof N!=="undefined"){return false}}}}});a(H).click(function(){a("#spotlight-result-pane li.selected").removeClass("selected");A();if(z){y()}});a(document).click(function(N){if(a(N.target).children().parents().length>0&&E&&!s(N)){A()}});m.mouseover(function(N){if(s(N)){p()}}).mouseout(function(N){if(s(N)){f();D()}});a(window).resize(function(){A()})}B();g()}}(jQuery));