/*
 +-------------------------------------------------------------------+
 |                     J S - T I C K E R   (v1.4)                    |
 |                                                                   |
 | Copyright Gerd Tentler               www.gerd-tentler.de/tools    |
 | Created: Oct. 20, 2004               Last modified: Jan. 26, 2007 |
 +-------------------------------------------------------------------+
 | This program may be used and hosted free of charge by anyone for  |
 | personal purpose as long as this copyright notice remains intact. |
 |                                                                   |
 | Obtain permission before selling the code for this program or     |
 | hosting this software on a commercial website or redistributing   |
 | this software over the Internet or in any other medium. In all    |
 | cases copyright must remain intact.                               |
 +-------------------------------------------------------------------+

======================================================================================================
 This script was tested with the following systems and browsers:

 - Windows XP: IE 6, NN 7, Opera 7 + 9, Firefox 2
 - Mac OS X:   IE 5, Safari 1

 If you use another browser or system, this script may not work for you - sorry.

 NOTE: IE 5 on Mac OS doesn't view elements (text etc.) below the ticker area properly; they will
 appear underneath the ticker area instead.
======================================================================================================
*/
//---------------------------------------------------------------------------------------------------------
// Ticker entries
//---------------------------------------------------------------------------------------------------------

var tickerEntries = new Array(
  "Thanks to: Aer Lingus, AIB Bank, Anglo Irish Bank, Autocare, Advanced Telephone Systems (ATS), AXA MPS Financial Ltd, Bank of Ireland Life, Bank of Ireland Global Markets, Bank of Ireland Private Banking, Bibby Financial Services, ",
  "Bord Gais, Carrickmines Lawn Tennis Club, Claymon Laboratories, Cloverhill Vet Service, Courtown Sailing Club, Covidien, DDFH&amp;B, Dublin Bus, Eircom Phonewatch, Fannin Limited, Foxrock Traders, Freemasons of Ireland, ",
  "Glen of the Downs GC, Goldman Sachs, Happy Days Creche, H & K Manufacturing, Huttonread, ICON Clinical Research, Intel, IVVCC, JM Equestrian, Jones Lang LaSalle, Kilternan Adult Education, Links Golf Society,",
  "Magnet Networks, Man Corporate Services (Ireland) Ltd., Merrill Lynch, Microsoft Ireland, Mondial Assistance, Mount Anville Junior School, Novartis Ireland, Our Lady of Good Counsel School, PEI, Pembroke Electric, Pharma Global, Precision Electric, Premier Recruitment,",
  "Ralf's Vet Service, RIAC, Royal County Furniture, Sandyford Business Estate, SAP Holdings, Serco, Society of Investment Analysts, Softco, Softworks, St Andrew's Presbyterian Womens Assoc, St. Anne's Golf Club, St Benildus College, St Gerards School Bray, St James Place Foundation, St Joseph's Kilmuckridge, St Mary's School Naas, Taste Monkstown, Tallaght IT, Taxi Drivers Association, Ulster Bank, US Marines ",
  "Niamh O'Kelly, Katie	Hayes, Jennifer	Roughan, Nichole Flood, Lorna Fitzgerald, Sarah	Markey, Geraldine McKeown, Gillian Walker, Amy Cunningham, Grainne Durnin, Edel Murray, Kirsten	Kelly, Leanne Lunney, Debbie O'Rourke, Louise Woods, Rita Roe, Sharon Carr, Ruth Carr, Jane	Kenny, Susan Byrne, Ailish Keough, Emma	Doherty, Ann McGiff-Kelly, Bernadette Sweeney, Vicky Moran, June Reynolds, Hazel Gallagher, ",
  "Carol Lynch, Imelda Winters, Michelle Hanly, Liz	Buckely, Therese Higgins, Mary Brown, Sharon Byrne, Philomena Sexton, Elaine Reilly, Jeanette Gribben, Jane	Bowes, Aisling Shanahan, Sharon	Corcoran, Trisha Carey, Lisa Spain, Barbara	McGlew, Yvonne English, Christine Carroll, Emma	Gordon, Anne Agar, Tessa Duff, Nikita Dunne, Rebecca McCoy, Joan Farrell, Grainne Rowley, Mandy	Arnold, Ròisìn Lynch, Ailbhe Lewis, ",
  "Audrey Brophy, Kerri	Wells, June	Bow, Jade Bailey, Stacy	Masterson, Emma	Graham, Gemma Howard, Andrea Meenaghan, Aislinn	Kelly, Janette Pun, Andrea Watkins, Tanya Pun, Una O'Dowd, Rosaleen	Kelly, Sandra Davis, Ailish	Lee, Rosaleen Murphy, Sarah	Keogh, Ursula Martin, Karen	Hyland, Suzanne	Dunne, Patricia	Muller, Mary Smart, Mairin O'Shea, Terry Smith, Frances	Byrne, Caroline	Armstrong, Patricia	Savage, Isabel	Fitzgerald, ",
  "Catherine Tully, Frances	O'Connell, Aoife Gowran, Annette Doyle, Gail Jennings, Michelle	Hennessy, Hazel	McCarthy, Olive	McCormick, Denise Jameson, Carol Gallagher, Kathy Hillier, Amy Kaye, Samantha Kaye, Rachel Kaye, Marlis	Flood, Eileen Kelly, Helen Parsons, Jacinta	Lee, Elizabeth Carroll, Geraldine Wynne, Leonie	Conlon, Anita Rutherford, Jenny	Guthrie, Michelle Cotter, Bernie Hennessy, Maria Lacomber, Louise Kenny, ",
  "Martha Dodds, Amy Walsh, Frances	Markey, Patricia Moore, Carol Moore, Sandra	Lee, Karen Doyle, Karen	McDonagh, Lorna	Brennan, Ciara Greene, Funke Lewis, Lisa Galligan, Grainne Kennedy, Julie Lynch, Catriona Byrne "

  
  
  
  
  );

//---------------------------------------------------------------------------------------------------------
// Configuration
//---------------------------------------------------------------------------------------------------------

var tickerWidth = 780;                               // width (pixels)
var tickerMargin = 0;                               // margin (pixels)
var tickerDelay = 30;                                // scrolling delay (smaller = faster)
var tickerSpacer = "+++";                            // spacer between ticker entries

var tickerBGColor = "#FFFFCC";                       // background color
var tickerHLColor = "#FFF0E0";                       // hilight (mouse over) color

var tickerFont = "Arial, Helvetica, sans-serif";  // font family (CSS-spec)
var tickerFontSize = 12;                             // font size (pixels)
var tickerFontColor = "#003366";                       // font color

var tickerBorderWidth = 0;                           // border width (pixels)
var tickerBorderStyle = "groove";                    // border style (CSS-spec)
var tickerBorderColor = "#FFFFFF";                   // border color

//---------------------------------------------------------------------------------------------------------
// Functions
//---------------------------------------------------------------------------------------------------------

var DOM = document.getElementById;
var IE4 = document.all;

var tickerIV, tickerID;
var tickerItems = new Array();
var tickerHeight = tickerFontSize + 8;

function tickerGetObj(id) {
  if(DOM) return document.getElementById(id);
  else if(IE4) return document.all[id];
  else return false;
}

function tickerObject(id) {
  this.elem = tickerGetObj(id);
  this.width = this.elem.offsetWidth;
  this.x = tickerWidth;
  this.css = this.elem.style;
  this.css.width = this.width + 'px';
  this.css.left = this.x + 'px';
  this.move = false;
  return this;
}

function tickerNext() {
  if(!DOM && !IE4) return;
  var obj = tickerItems[tickerID];
  obj.x = tickerWidth;
  obj.css.left = tickerWidth + 'px';
  obj.move = true;
}

function tickerMove() {
  if(!DOM && !IE4) return;
  for(var i = 0; i < tickerItems.length; i++) {
    if(tickerItems[i].move) {
      if(tickerItems[i].x > -tickerItems[i].width) {
        tickerItems[i].x -= 2;
        tickerItems[i].css.left = tickerItems[i].x + 'px';
      }
      else tickerItems[i].move = false;
    }
  }
  if(tickerItems[tickerID].x + tickerItems[tickerID].width <= tickerWidth) {
    tickerID++;
    if(tickerID >= tickerItems.length) tickerID = 0;
    tickerNext();
  }
}

function tickerStart(init) {
  if(!DOM && !IE4) return;
  if(tickerBGColor) {
    var obj = tickerGetObj('divTicker');
    obj.style.backgroundColor = tickerBGColor;
  }
  if(init) {
    tickerID = 0;
    tickerNext();
  }
  tickerIV = setInterval('tickerMove()', tickerDelay);
}

function tickerStop() {
  if(!DOM && !IE4) return;
  clearInterval(tickerIV);
  if(tickerHLColor) {
    var obj = tickerGetObj('divTicker');
    obj.style.backgroundColor = tickerHLColor;
  }
}

function tickerInit() {
  if(!DOM && !IE4) return;
  for(var i = 0; i < tickerEntries.length; i++) {
    tickerItems[i] = new tickerObject('divTickerEntry' + (i+1));
  }
  var obj = tickerGetObj('divTicker');
  obj.style.width = tickerWidth + 'px';
  obj.style.visibility = 'visible';
  tickerStart(true);
}

function tickerReload() {
  if(!DOM && !IE4) return;
  document.location.reload();
}

window.onresize = tickerReload;
window.onload = tickerInit;

//---------------------------------------------------------------------------------------------------------
// Build ticker
//---------------------------------------------------------------------------------------------------------

document.write('<style> ' +
               '#divTicker { ' +
               'position: absolute; ' +
               'width: 10000px; ' +
               'height: ' + tickerHeight + 'px; ' +
               'cursor: default; ' +
               'overflow: hidden; ' +
               'visibility: hidden; ' +
           
               '} ' +
               '.cssTickerContainer { ' +
               'position: relative; ' +
               'height: ' + tickerHeight + 'px; ' +
               'margin-top: ' + tickerMargin + 'px; ' +
               'margin-bottom: ' + tickerMargin + 'px; ' +
               '} ' +
               '.cssTickerEntry { ' +
               'font-family: ' + tickerFont + '; ' +
               'font-size: ' + tickerFontSize + 'px; ' +
               'color: ' + tickerFontColor + '; ' +
               '} ' +
               '</style>');

document.write('<div class="cssTickerContainer">' +
               '<div id="divTicker" onMouseOver="tickerStop()" onMouseOut="tickerStart()">');

for(var i = 0; i < tickerEntries.length; i++) {
  document.write('<div id="divTickerEntry' + (i+1) + '" class="cssTickerEntry" ' +
                 'style="position:absolute; top:2px; white-space:nowrap">' +
                 tickerEntries[i] + ((tickerEntries.length > 1) ? ' ' + tickerSpacer + '&nbsp;' : '') +
                 '</div>');
}
document.write('</div></div>');

//---------------------------------------------------------------------------------------------------------
