/*global jQuery, hsp, window*/
/*jslint browser:true , devel:true, indent:4 */
(function () {
  //globals
  var $,lib;
  $ = jQuery;
  lib = hsp;

  // check for full webkit support
  lib.webkit = false;
  (function() {
    var div, handler;
    if (window.addEventListener) {
      div = document.createElement('div');
      handler = function(e) {
        lib.webkit = true;
        this.removeEventListener('webkitTransitionEnd', handler);
      };
      div.setAttribute(
        'style',
        'position:absolute;top:0px;-webkit-transition:top 1ms;');
      div.addEventListener('webkitTransitionEnd', handler, false);
      document.documentElement.appendChild(div);
      setTimeout(function() {
        div.style.top = '100px';
        setTimeout(function() {
          div.parentNode.removeChild(div);
          div = handler = null;
        }, 50);
      }, 0);
    }
  }());

  // useful for delays
  lib.later = function later(fn,delay) {
    delay = delay || 0;
    setTimeout(fn,delay);
  }

  // to get a callback in webkit transitions
  lib.onend = function onend($elem,fn) {
    var listener = function () {
      fn();
      $elem[0].removeEventListener('webkitTransitionEnd', listener, false);
    }
    $elem[0].addEventListener('webkitTransitionEnd', listener, false);
  }
}());


