/*

	Grafiket Reklam Ajansı
	(c) 2011 Ağustos
	Developer : Emre ÇINAR
	Bu javascript dosyası Gmt Food dışında herhangi bir sitede tespit edildiğinde hukuki işlemlere başvurulacaktır.
*/

(function() {
  var $, setupBackground;
  $ = jQuery;
  setupBackground = function(bgs, handlers) {
    return bgs.each(function() {
      var bg;
      bg = $(this);
      $(window).resize(function() {
        return handlers.resize(bg);
      });
      return bg.load(function() {
        handlers.afterLoad(bg);
        return handlers.resize(bg);
      });
    });
  };
  $.fn.centreBackground = function() {
    $('html').css('overflow-x', 'hidden');
    setupBackground(this, {
      afterLoad: function(bg) {
        return bg.data('realWidth', bg.width());
      },
      resize: function(bg) {
        var docWidth, imgWidth, leftPos;
        docWidth = $(window).width();
        imgWidth = bg.data('realWidth');
        if (imgWidth !== void 0) {
          leftPos = (docWidth - imgWidth) / 2;
          return bg.css('left', leftPos + 'px');
        }
      }
    });
    return this;
  };
  $.fn.crossFade = function(imageList, options) {
    var bg1, bg2, doFadeImage, imagePosition, settings;
    settings = {
      change: function(pos) {},
      fadeMilliseconds: 1000,
      waitMilliseconds: 3000
    };
    $.extend(settings, options);
    bg1 = $(this[0]);
    bg2 = $(this[1]);
    imagePosition = 0;
    $(window).resize();
    bg1.hide().attr('src', imageList[0]);
    bg2.hide().attr('src', '');
    settings.change(imagePosition);
    doFadeImage = function(fadeInBg, fadeOutBg) {
      $(window).resize();
      fadeOutBg.fadeOut(settings.fadeMilliseconds);
      return fadeInBg.fadeIn(settings.fadeMilliseconds, function() {
        var nextImage;
        nextImage = function() {
          fadeOutBg.hide();
          fadeInBg.show();
          imagePosition++;
          if (imagePosition === imageList.length) {
            imagePosition = 0;
          }
          fadeOutBg.attr('src', imageList[imagePosition]);
          return settings.change(imagePosition);
        };
        return setTimeout(nextImage, settings.waitMilliseconds);
      });
    };
    bg1.load(function() {
      return doFadeImage(bg1, bg2);
    });
    bg2.load(function() {
      return doFadeImage(bg2, bg1);
    });
    return this;
  };
  $.fn.posterBackground = function() {
    this.css('position', 'fixed');
    setupBackground(this, {
      afterLoad: function(bg) {
        return bg.data('bgRatio', bg.width() / bg.height());
      },
      resize: function(bg) {
        var bgRatio, docWidth, winHeight, winRatio;
        bgRatio = bg.data('bgRatio');
        if (bgRatio !== void 0) {
          docWidth = $(document).width();
          winHeight = $(window).height();
          winRatio = docWidth / winHeight;
          if (winRatio > bgRatio) {
            bg.width(docWidth);
            return bg.height(docWidth / bgRatio);
          } else {
            bg.width(winHeight * bgRatio);
            return bg.height(winHeight);
          }
        }
      }
    });
    return this;
  };
}).call(this);

