/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-07-21 18:45:56 -0500 (Sat, 21 Jul 2007) $
 * $Rev: 2447 $
 *
 * Version 2.1.1
 */

// NOTE: MODIFIED by c4u 

(function($)
{
  $.fn.bgIframe = $.fn.bgiframe = function(s)
  {
    // C4U fix for IE9 on WIN 7 (this ist media center PC 6.0 and the old line simply checked
    // a 6.0 in the user agent string)
    if ($.browser.msie && (parseInt($.browser.version, 10) <= 6))
    {
      s = $.extend(
      {
        top : 'auto',
        left : 'auto',
        width : 'auto',
        height : 'auto',
        opacity : true,
        src : 'javascript:false;'
      }, s ||
      {});
      var prop = function(n)
      {
        return n && n.constructor == Number ? n + 'px' : n;
      }, html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'
          + s.src
          + '"'
          + 'style="display:block;position:absolute;z-index:-1;'
          + (s.opacity !== false ? 'filter:Alpha(Opacity=\'0\');' : '')
          + 'top:'
          + (s.top == 'auto' ? 'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')'
              : prop(s.top))
          + ';'
          + 'left:'
          + (s.left == 'auto' ? 'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')'
              : prop(s.left))
          + ';'
          + 'width:'
          + (s.width == 'auto' ? 'expression(this.parentNode.offsetWidth+\'px\')'
              : prop(s.width))
          + ';'
          + 'height:'
          + (s.height == 'auto' ? 'expression(this.parentNode.offsetHeight+\'px\')'
              : prop(s.height)) + ';' + '"/>';
      return this.each(function()
      {
        if ($('> iframe.bgiframe', this).length == 0)
          this.insertBefore(document.createElement(html), this.firstChild);
      });
    }
    return this;
  };
})(jQuery);
