
/* jQuery Marquee Script (c)2009 John Davenport Scheuer
   as first seen in http://www.dynamicdrive.com/forums/
   username: jscheuer1 - This Notice Must Remain for Legal Use
   */

///////////////// DO NOT EDIT /////////////////

function marqueeInit(config){
 marqueeInit.ar.push(config);
}
marqueeInit.ar = [];
(function marqueewrapper($){
 $('head').append('<style type="text/css">.marquee{white-space:nowrap;overflow:hidden;visibility:hidden;}<\/style>');
 var mq, cw = [], m = [], w = [], s = [], t = [], req1 = {position: 'relative', overflow: 'hidden'},
 req2 = {position: 'absolute', left: 0, whiteSpace: 'nowrap'}, defaultconfig = {
 style: { //style object for marquee containers without configs (use quotes on both sides of the : as shown)
	'height': '30px',
	'font-family': 'sans-serif',
	'margin': '0 auto'
 },
 inc: 4, //speed - pixel increment for each iteration of this marquee's movement
 pause: true //pause onmouseover (unquoted true or false)
};
 $(marqinit);
 function marqinit(){
/* var m = $('.marquee'), i = m.find('img'), c = 0;
 if (i[0]){
 i.each(function(){
 if (this.complete)
 ++c;
 });
 if(c < i.length){
 setTimeout(marqinit, 300);
 return;
 }
 }*/
 mq = marqueeInit.ar; $('.marquee').each(marq);
 }
 function marq(i){
  if(!mq[i]){
   mq[i] = {}; $.extend(true, mq[i], (i? mq[0] : defaultconfig));
  }
  var u = mq[i].style.width? mq[i].style.width.split(/\d/) : ['']; m.push($(this));
  cw[i] = mq[i].style.width? [parseInt(mq[i].style.width), u[u.length - 1]] : ['a']; s[i] = mq[i].noAddedSpace? '' : '&nbsp;';
  m[i].html($.trim(m[i].html())).prepend(s[i]).wrap(document.createElement('div')).parent().css(mq[i].style).css(req1).hover(
   function hoverover(){
    mq[i].stopped = mq[i].pause;
   },
   function hoverout(){
    mq[i].stopped = false;
   }
  ).addClass('marquee' + i).wrap(document.createElement('div')).parent().css({overflow: 'hidden', visibility: 'hidden'})
  .find('img').css({display: 'inline', verticalAlign: 'middle'});
  m[i].removeClass().attr('id', '').css(req2).clone(true).insertAfter(m[i]);
  finaltouch(i);
 }
 function finaltouch(i){
   var ims = m[i].find('img'), c = 0; if(ims.length){
   ims.each(function(){
   if(this.complete) c++;
   });
   if(c < ims.length){
   setTimeout(function(){finaltouch(i);}, 300);
   return;
   }
   }
   w[i] = m[i].width(); t[i] = Math.floor((m[i].parent().height() - m[i].height()) / 2);
   m[i].css('top', t[i]).next('div').css({top: t[i], left: w[i]}).parent().css('visibility', 'visible');
   while(m[i].parent().width() > w[i] - mq[i].inc)
    m[i].parent().css('width', (isNaN(cw[i][0])? w[i] - mq[i].inc : --cw[i][0] + cw[i][1]));
   runit(i);
 }
 function runit(i){
  if(mq[i].stopped || mq[i].stopMarquee){
   setTimeout(function retry(){runit(i);}, 300);
   return;
  }
  if(-parseInt(m[i].css('left')) >= w[i])
   m[i].css('left', parseInt(m[i].next('div').css('left')) + w[i]);
  if(-parseInt(m[i].next('div').css('left')) >= w[i])
   m[i].next('div').css('left', parseInt(m[i].css('left')) + w[i]);
  m[i].css('left', parseInt(m[i].css('left')) - mq[i].inc).next('div').css('left', parseInt(m[i].next('div').css('left')) - mq[i].inc);
  setTimeout(function goagain(){runit(i);}, 30 + (mq[i].addDelay? mq[i].addDelay : 0));
 }
})(jQuery);
