﻿/*
* jQuery Backstretch
* Version 1.1.2
* http://srobbin.com/jquery-plugins/jquery-backstretch/
*
* Add a dynamically-resized background image to the page
*
* Copyright (c) 2010 Scott Robbin (srobbin.com)
* Dual licensed under the MIT and GPL licenses.
*/

(function ($) {

  $.backstretch = function (src, options, callback) {
    var settings = {
      centeredX: true,         // Should we center the image on the X axis?
      centeredY: true,         // Should we center the image on the Y axis?
      speed: 0                // fadeIn speed for background after image loads (e.g. "fast" or 500)
    },
        rootElement = ("onorientationchange" in window) ? $(document) : $(window), // hack to acccount for iOS position:fixed shortcomings
        imgRatio, bgImg, bgWidth, bgHeight, bgOffset, bgCSS;

    // Extend the settings with those the user has provided
    if (options && typeof options == "object") $.extend(settings, options);

    // Initialize
    $(document).ready(_init);

    // For chaining
    return this;

    function _init() {
      // Prepend image, wrapped in a DIV, with some positioning and zIndex voodoo
      if (src) {
        var container = $("<div />").attr("id", "backstretch")
                                            .css({ left: 0, top: "0px", position: "absolute", overflow: "hidden", zIndex: -9999 }),
                    img = $("<img />").css({ position: "relative", display: "none" })
                                      .bind("load", function (e) {
                                        var self = $(this);
                                        imgRatio = $(e.target).width() / $(e.target).height();

                                        _adjustBG(function () {
                                          self.fadeIn(settings.speed, function () {
                                            if (typeof callback == "function") callback();
                                          });
                                        });
                                      })
                                      .appendTo(container);

        $("#header").prepend(container);
        img.attr("src", src); // Hack for IE img onload event

        // Adjust the background size when the window is resized or orientation has changed (iOS)
        $(window).resize(_adjustBG);
      }
    }

    function _adjustBG(fn) {
      try {
        bgCSS = { left: 0, top: 0 }
        if (rootElement.width() >= '1320')
        bgWidth = rootElement.width();


        $("#backstretch img").width(bgWidth).css(bgCSS);
      } catch (err) {
        // IE7 seems to trigger _adjustBG before the image is loaded.
        // This try/catch block is a hack to let it fail gracefully.
      }

      // Executed the passed in function, if necessary
      if (typeof fn == "function") fn();
    }
  };

})(jQuery);
var image = $('#backstretchImage').attr('value');
$.backstretch(image);

