
(function() {

  Merkley = {};

  Browser = {};



  var ua = navigator.userAgent.toLowerCase();

  Browser.isWebkit = ua.indexOf('applewebkit/') > -1;

  try {

    document.createEvent("TouchEvent");

    Browser.supportsTouch = true;

  } catch (e) {

    Browser.supportsTouch = false;

  }

  Browser.isAndroid = (ua.search('android') > -1);

  var iphone = (ua.search('iphone') > -1);

  Browser.isIphone = iphone && !((ua.search('ipad') > -1) || (ua.search('ipod') > -1));

  Browser.isIpad = iphone && (ua.search('ipad') > -1);

  Browser.isIpod = iphone && (ua.search('ipod') > -1);



  
if (!Array.prototype.forEach)
{
  Array.prototype.forEach = function(fun , thisp )
  {
    "use strict";

    if (this === void 0 || this === null)
      throw new TypeError();
alert("here");
    var t = Object(this);
    var len = t.length >>> 0;
    if (typeof fun !== "function")
      throw new TypeError();

    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in t)
        fun.call(thisp, t[i], i, t);
    }
  };
}

 else{
  Array.prototype.forEach = function(fn, obj) {		  

    var scope = obj || window;


    var length = this.length;


    for (var i = 0; i < length; ++i ) {

      fn.call(scope, this[i], i, this);
	  

    }
  }
  };
  
  
  Array.prototype.filter = function(fn, obj) {


    var scope = obj || window;

    var a = [];


    var length = this.length;

    for (var i = 0; i < length; ++i) {

      if (!fn.call(scope, this[i], i, this)) {

        continue;

      }

      a.push(this[i]);

    }



    return a;

  };



  bindEvent = function(element, name, handler) {

    if (element.addEventListener) {

      element.addEventListener(name, handler, false);

    } else if (element.attachEvent) {

      element.attachEvent('on'+name, handler);

    }

  };



  unBindEvent = function(element, name, handler) {

    if (element.removeEventListener) {

      element.removeEventListener(name, handler);

    } else if (element.detatchEvent) {

      element.detatchEvent('on'+name, handler);

    }

  };

})();

/*----team js--*/

jQuery(function() {

  var team = jQuery('.items');



  if (Browser.isWebkit && Browser.supportsTouch) {

    var controller = new Merkley.TouchSlider();

  } else {

    var controller = new Merkley.Slider();

  }



  //jQuery('.previous').hide();



  controller.init(team, {

    next: jQuery('.next'),

    previous: jQuery('.previous'),

  });

  controller.subscribe('transition_end', function(c) {
    toggleArrows(c, {hide: true});

  });



  if (Browser.isWebkit && Browser.supportsTouch) {

    jQuery('.team:not(.exec)').each(function() {

      this.addEventListener('touchstart', function() {

        showInfo.call(this);

      }, false);

      this.addEventListener('touchend', function() {

        hideInfo.call(this);

      }, false);

    });

  } else {

    jQuery('.team:not(.exec)').hover(function() { showInfo.call(this); },

                                  function() { hideInfo.call(this); });

  }

if (Browser.isWebkit && Browser.supportsTouch) {

    jQuery('.exec:not(.team)').each(function() {

      this.addEventListener('touchstart', function() {

        showInfo.call(this);

      }, false);

      this.addEventListener('touchend', function() {

        hideInfo.call(this);

      }, false);

    });

  } else {

    jQuery('.exec:not(.team)').hover(function() { showInfo.call(this); },

                                  function() { hideInfo.call(this); });

  }



  function hideInfo() {

    jQuery(this).find('.info').css('opacity', 0);

    jQuery(this).find('img').animate({'opacity': 1}, 256);

  }



  function showInfo() {

    jQuery(this).find('.info').css('opacity', 1);

    jQuery(this).find('img').animate({'opacity': 0}, 256);

  }



  function toggleArrows(controller, opts) {

    var opts = jQuery.extend({hide: false}, opts);



    var page_num = controller.page(controller.current_x);

    if (page_num == controller.structure.item_count - 1) {

      if (opts.hide) {

        //controller.opts.next.hide();
        controller.opts.next.show();

      } else {

        controller.opts.next.css('opacity', 0.25);

      }

    } else {

      if (opts.hide) {

        controller.opts.next.show();

      } else {

        controller.opts.next.css('opacity', 1);

      }

    }

    if (page_num == 0) {

      if (opts.hide) {

        //controller.opts.previous.hide();
        controller.opts.previous.show();

      } else {

        controller.opts.previous.css('opacity', 0.25);

      }

    } else {

      if (opts.hide) {

        controller.opts.previous.show();

      } else {

        controller.opts.previous.css('opacity', 1);

      }

    }

  }

});
