(function($) {

  $.fn.overlay = function()
  {
    settings = {overlayuid:0};

    return this.each(function()
    {
      var _link = $(this);
      var _content = null;
      var _overlay = null;

      if(_link.filter('.wallpaper-preview').length > 0)
      {
        _overlay = 'preview-overlay';
        _content = $('<div class="wallpaper" id="overlaychild'+settings.overlayuid+'"><h4>'+_link.siblings('h4').text()+'</h4></div>',top.document);

        _content.append('<img src="'+_link.attr('title')+'" alt="" />');
        _content.append('<p>'+_link.siblings('p:last').html()+'</p>');
        _link.attr('title','');
      }

      if(_link.filter('.video-preview').length > 0)
      {
        _overlay = 'preview-overlay';
        _content = $('<div class="video" id="overlaychild'+settings.overlayuid+'"><h4>'+_link.parents('li:first').children('h4:first').text()+'</h4></div>',top.document);

        _content.append('<div class="embed-flash" flashid="overlaychildflash'+settings.overlayuid+'" title="'+_link.attr('title')+'"></div>');
        _link.attr('title','');
      }

      if(_link.filter('.preview').not('.watch-video').length > 0)
      {
        _overlay = 'preview-overlay';
        _content = $('<div class="photo-library" id="overlaychild'+settings.overlayuid+'"><h4>'+_link.siblings('h4').text()+'</h4></div>');
        (_link.siblings('h5').length != 0) ? _content.find('h4').append('&nbsp;<span>'+_link.siblings('h5').text()+'</span>') : null;
        _content.append('<img src="'+_link.parent('div').children('img:first').attr('src')+'" alt="" />');
      }

      if(_link.filter('img').length > 0)
      {
        _overlay = 'preview-overlay';
        _content = $('<div class="press-release" id="overlaychild'+settings.overlayuid+'"><img src="/images/blank.gif" alt="" /></div>');
      }

      if(_link.filter('.watch-video').length > 0)
      {
        _overlay = 'video-overlay';
        _content = $('<div class="tv-ad" id="overlaychild'+settings.overlayuid+'"><h4>'+_link.siblings('div.watch-video').find('span.title').text()+'</h4></div>');
        _content.append('<div class="embed-flash" flashid="overlaychildflash'+settings.overlayuid+'" title="'+$.trim(_link.siblings('div.watch-video').find('span.video').text())+'"></div>');
        _content.append('<p>'+_link.siblings('div.watch-video').find('span.caption').text()+'</p>');
      }

      if(_overlay != null && _content != null)
      {
        _link.attr('overlaychildid','overlaychild'+settings.overlayuid);
        settings.overlayuid++;

        var context = top.document;
        //var outerDiv = $(frameWindow.frameElement.parentNode);

        if($('#'+_overlay,context).length == 0)
        {
          var $overlay = $('<div class="'+_overlay+'" id="'+_overlay+'"><span class="close"></span></div>',top.document);
          $('body',context).append($overlay);

          $('#'+_overlay,context).find('span.close').click(function()
          {
            $(this).parent('div').find('div.embed-flash').each(function()
            {
              $(this).html('<span id="'+$(this).attr('flashid')+'"></span>');
            });
            $(this).parent('div').css({left:-2000});
          });
        }

        _overlay = $('#'+_overlay,context);
        _overlay.prepend(_content);

        _link.hover(
          function()
          {
            _link.css({color:'#000000'});
          },
          function()
          {
            _link.css({color:'#5d5c5c'});
          }
        );

        _link.click(function()
        {
          var _left = 0;
          var _top = 0;

          if($('#fun-stuff-frame',top.document).length > 0)
          {
            _left = $('#fun-stuff-frame',top.document).offset().left;
            _top = $('#fun-stuff-frame',top.document).offset().top;
          }

          if(_link.parents('li:eq(0)').length > 0)
          {
            _left += _link.parents('li:eq(0)').offset().left
            _top += _link.parents('li:eq(0)').offset().top-108;
          }
          else
          {
            _left += _link.parents('div:eq(0)').offset().left;
            _top += _link.parents('div:eq(0)').offset().top-108;
          }

          _overlay.find('> div').hide();
          _overlay.find('div.embed-flash').each(function()
          {
            $(this).html('<span id="'+$(this).attr('flashid')+'"></span>');
          });

          if(_overlay.find('div#'+_link.attr('overlaychildid')).filter('.press-release'))
          {
            _overlay.find('div#'+_link.attr('overlaychildid')).find('img').attr('src',_link.attr('enlargesrc'));
          }

          _overlay.find('div#'+_link.attr('overlaychildid')).find('div.embed-flash span').each(function()
          {
            var _parent = $(this).parent('div');

            $('#'+this.id,top.document).flash({src:_parent.attr('title'),width:_parent.css('width').replace('px',''),height:_parent.css('height').replace('px','')});
            //swfobject.embedSWF(_parent.attr('title'),this.id,_parent.css('width').replace('px',''),_parent.css('height').replace('px',''),"9.0.0");
          });

          if(_left-_link.parents('div.mylg-content,div.product-content,div.about-content,div.fun-stuff').css('paddingLeft').replace('px','') > 500)
          {
            _left = _left - 100;
          }

          _overlay.find('div#'+_link.attr('overlaychildid')).show();
          _overlay.css({top:_top,left:_left,position:'absolute'});
        });
      }
    });
  }

  $.fn.learn = function()
  {
    return this.each(function()
    {
      var _container = $(this).clone();
      $(this).remove();

      $('body').append(_container);

      _container.prepend('<span class="top"></span>').append('<span class="bottom"></span>').append('<span class="icon"></span>').append('<span class="close"></span>');

      _container.find('dd').each(function()
      {
        $(this).attr('openheight',$(this).height()+20).css({height:0});
      });

      _container.find('span.close').click(function()
      {
        $(this).parent('div#learning-center-content').hide().find('dd').css({height:0});
      });

      _container.css({visibility:'visible',display:'none'});

      _container.find('dt').click(function()
      {
        if($(this).next('dd').height() == 0)
        {
          var _item = $(this);
          _item.css({backgroundImage:"url(/images/background-faqs-list-open.gif)"}).next('dd').stop().animate({height:440},500,"linear",function()
          {
            _item.next('dd').css({overflow:'auto'});
          });
          _item.next('dd').siblings('dd').stop().animate({height:0},500,"linear").prev('dt').css({backgroundImage:"url(/images/background-faqs-list-closed.gif)"});
        }
        else
        {
          $(this).css({backgroundImage:"url(/images/background-faqs-list-closed.gif)"}).next('dd').stop().animate({height:0},500,"linear");
        }
      });
    });
  }

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

      _link.hover(
        function()
        {
          $(this).css({color:"#000000"});
        },
        function()
        {
          $(this).css({color:""});
        }
      );

      _link.click(function()
      {
        if(_link.parents('div.tools').length > 0)
        {
          $('div#learning-center-content').css({top:_link.parents('div.tools').offset().top,left:_link.parents('div.tools').offset().left}).show().find('dt:first').click();
        }
        else
        {
          $('div#learning-center-content').css({top:_link.offset().top-30,left:_link.offset().left+20}).show().find('dt:first').click();
        }
      });
    });
  }

  $.fn.learnTicker = function()
  {
    return this.each(function()
    {
      var _ticker = $(this);

      var _up = $('<span class="up"></span>').hover(
        function()
        {
          _ticker.find('ul').stop().animate({top:-parseInt(_ticker.find('ul').height())+21},1000,"linear");
        },
        function()
        {
          _ticker.find('ul').stop();
        }
      );

      var _down = $('<span class="down"></span>').hover(
        function()
        {
          _ticker.find('ul').stop().stop().animate({top:0},1000,"linear");
        },
        function()
        {
          _ticker.find('ul').stop();
        }
      );

      _ticker.find('div:first').append(_up).append(_down);

      _ticker.find('li').each(function(i)
      {
        var _index = i;

        $(this).click(function()
        {
          var _div = $('.learn-more-content');

          $('div#learning-center-content').css({top:_div.offset().top-30,left:_div.offset().left+30}).show().find('dt').each(function(i)
          {
            if(i == _index)
            {
              $(this).click();
            }
          });
        });
      });
    });
  }

})(jQuery);

