(function($) {

  $.fn.vtrain = function(options)
  {
    var opts = $.extend({scrolling: "no"}, $.fn.overlay.defaults, options);

    return this.each(function()
    {
      var $link = $(this);
      var _link = this;

      _link.overlay = {};

      _link.overlay.childid = null;
      _link.overlay.title = $link.attr('title');

      $link.attr('title','');

      $link.hover( // over,out
        function() {$link.addClass('.text-hover');},
        function() {$link.removeClass('.text-hover');}
      );

      $link.click(function(e) {
        e.preventDefault();

        if ($('div#overlay-container',top.document).length == 0) {
          buildOverlayContainer();
        }
        var $overlay = $('div#overlay-container',top.document);

        $overlay.css({left:-2000,top:-2000}).find('[overlaychildid]').css({display:'none'});

        // set container style

        $overlay.removeClass('overlay-container-white').addClass('overlay-container-gradient');

        var vtrainWidth = parseInt($link.attr('width'), 10);
        var vtrainHeight = parseInt($link.attr('height'), 10);
        if ( isNaN(vtrainWidth) ) {
    vtrainWidth = 500;
  }
        if ( isNaN(vtrainHeight) ) {
    vtrainHeight = 500;
  }
        var outerWidth = vtrainWidth + 40;
        var outerHeight = vtrainHeight + 60;

        if($overlay.find('[overlaychildid='+_link.overlay.childid+']').length == 0)
        {
          var vtrainClass = "vtrain";
          if ($link.hasClass('golden_nugget')) {
            vtrainClass += ' golden_nugget';
          }

          $overlay.find('.overlay-right').append($('<div class="overlay-child" overlaychildid="'+$overlay.get(0).overlaychilduid+'" style="width:' + outerWidth + 'px; height:' + outerHeight + 'px; display: block;"></div>',top.document));
          $overlay.find('.overlay-child').append($('<div class="'+vtrainClass+'" style="width:' + outerWidth + 'px; height:' + outerHeight + 'px; background-color:#FFFFFF;"><iframe style="width:' + vtrainWidth + 'px; height:' + vtrainHeight + 'px; padding:30px 20px;" width="'+vtrainWidth+'" height="'+vtrainHeight+'" frameborder="0" scrolling="'+opts['scrolling']+'"></iframe></div>', top.document));
          _link.overlay.childid = $overlay.get(0).overlaychilduid;
          $overlay.get(0).overlaychilduid++;
        }

        var $child = $overlay.find('.overlay-child');

        $child.find('.vtrain > iframe').attr('src', $(this).attr('href'));
        // $.get($(this).attr('href'), function (data) {
        //   $child.find('.vtrain > div').html(data);
        // });

        // position overlay

        var _top = $(window).height()/2;
        var _left = $('body').width()/2;

        _top -= outerHeight / 2;
        _left -= outerWidth / 2;

        if (_top < 0) {
          _top = 0;
        }
        if (_left < 0) {
          _left = 0;
        }

        $overlay.find('.overlay-top,.overlay-bottom').width($child.width()-8);

        $overlay.css({top:_top,left:_left});

        return false;
      });
    });
  };

  $.fn.overlay.defaults =
  {
  };

  function buildOverlayContainer()
  {
    var $container = $('<div id="overlay-container"><div class="overlay-top-left pngfix"></div><div class="overlay-top-right pngfix"></div><div class="overlay-bottom-left pngfix"></div><div class="overlay-bottom-right pngfix"></div><div class="overlay-top pngfix"></div><div class="overlay-left pngfix"><div class="overlay-right pngfix"></div></div><div class="overlay-bottom pngfix"></div><span class="close"></span></div>',top.document);

    $('body',top.document).append($container);

    $container.bind('overlay:close',function()
    {
      $container.css({left:-2000,top:-2000}).find('[overlaychildid]').css({display:'none'}).find('.vtrain > div').empty();
    });

    $container.find('span.close').click(function()
    {
      if ($container.find('.overlay-child > .vtrain').hasClass('golden_nugget')) {
        $('.rr-shutter').remove();
        $('.right-rail').remove();
      }
      $container.find('.overlay-child').remove();
      $container.trigger('overlay:close');
    });

    $container.get(0).overlaychilduid = 0;

    return $container;
  };

})(jQuery);

