var KENTBREW = window.KENTBREW || {};
KENTBREW.blogSearch = function() {
   var $ = {};
   $.head = document.getElementsByTagName('head')[0];
   return {
      init : function(blogSearch) {
         $.searchDiv = document.getElementById(blogSearch);
         KENTBREW.blogSearch.pongSearch = [];
         $.q = $.searchDiv.getElementsByTagName('INPUT')[0];
         $.q.value = '';
         $.b = $.searchDiv.getElementsByTagName('A')[0];
         $.b.onclick = function() { 
            KENTBREW.blogSearch.pingSearch(); 
         };
         $.r = $.searchDiv.getElementsByTagName('DL')[0];
      },
      pingSearch : function() {
         if ($.q.value) {
            $.b.className = 'doIt inProgress';
            var n = KENTBREW.blogSearch.pongSearch.length;
            KENTBREW.blogSearch.pongSearch[n] = function(result) {
               $.b.className = 'doIt';
               delete KENTBREW.blogSearch.pongSearch[n];
               var sid = 'KENTBREW.blogSearch.pongSearch[' + n + ']';
               if (document.getElementById(sid)) {
                  $.head.removeChild(document.getElementById(sid));
               }
               $.r.innerHTML = '';
               if (result.value.items.length) {
                  for (var i = 0; i < result.value.items.length; i++) {
                     var dt = document.createElement('dt');
                     var a = document.createElement('a');
                     a.innerHTML = result.value.items[i].title;
                     a.href = result.value.items[i].guid.content;
                     a.target = '_blank';
                     a.onmouseover = function() { KENTBREW.blogSearch.getNextSibling(this.parentNode).style.display = 'block'; }
                     a.onmouseout = function() { KENTBREW.blogSearch.getNextSibling(this.parentNode).style.display = 'none'; };
                     dt.appendChild(a);
                     $.r.appendChild(dt);
                     var dd = document.createElement('dd');
                     dd.innerHTML = result.value.items[i].description.split('<br \/><br \/>')[0];
                     dd.style.display = 'none';
                     dd.style.zIndex = 100 + i;                     
                     $.r.appendChild(dd);
                  }
               } else {
                  var dt = document.createElement('dt');
                  dt.innerHTML = 'Rien, essayez autre chose !';
                  $.r.appendChild(dt);
               }
            };
            var callback = 'KENTBREW.blogSearch.pongSearch[' + n + ']';
            var url='http://pipes.yahoo.com/pipes/cjn5r1K82xGqxlzKfOgC8A/run?_render=json&q=' + $.q.value;
            KENTBREW.blogSearch.runScript(url, callback);
            return n;
         }
      },
      runScript : function(url, callback) {
         uri = url + '&_callback=' + callback;
         var s = document.createElement('script');
         s.id = callback;
         s.type ='text/javascript';
         s.charset ='utf-8';
         s.src = uri;
         $.head.appendChild(s);
      },
      getNextSibling : function(el) {
         var nextSib = el.nextSibling;
         if (nextSib && nextSib.nodeType != 1) {
             nextSib = nextSib.nextSibling;
         }
         return nextSib;
      }
   };
}();

KENTBREW.blogSearch.init('blogSearch');