/*
 +-------------------------------------------------------------------+
 |                     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();

for (var i=0; i<js_list_array.length; i++) {
	
	tickerEntries[i] = "<a href=\""+js_list_array[i][1]+"\" title=\"go to event: '"+js_list_array[i][0]+"'\">"+js_list_array[i][0]+"</a>";
	//tickerEntries[i] = "<a href=\"#\">Ronnie Size</a>";
	
}

/*var tickerEntries = new Array(
  "<a href=\"#\">Ronnie Size</a>",
  "<a href=\"#\">KT Tunstell</a>",
  "<a href=\"#\">Russian Ballet</a>",
  "<a href=\"#\">London Philharmonic Orchestra</a>"
);*/

//---------------------------------------------------------------------------------------------------------
// Configuration
//---------------------------------------------------------------------------------------------------------

var tickerWidth = 265; 							// width (pixels)
var tickerMargin = 5;                               // margin (pixels)
var tickerDelay = 40;                                // scrolling delay (smaller = faster)
var tickerSpacer = ", ";                            // spacer between ticker entries

var tickerBGColor = "";                      		 // background color
var tickerHLColor = "";                       // hilight (mouse over) color

var tickerFont = "Helvetica, Arial, sans-serif";  	  // font family (CSS-spec)
var tickerFontSize = 12;                             // font size (pixels)
var tickerFontColor = "#666";                        // font color

var tickerBorderWidth = 0;                           // border width (pixels)
var tickerBorderStyle = "none";                    // border style (CSS-spec)
var tickerBorderColor = "";                   // 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() {
  activeXcheck();
  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;

function clearInt() {
	
	clearInterval(tickerIV);
	
}

//window.attachEvent("onunload", clearInt);
if (typeof window.attachEvent != "undefined") {
	window.attachEvent("onunload", clearInt);
}


//---------------------------------------------------------------------------------------------------------
// Build ticker
//---------------------------------------------------------------------------------------------------------
function buildTicker() {
	document.write('<style> ' +
				   '#divTicker { ' +
				   'position: absolute; ' +
				   'width: 10000px; ' +
				   'height: ' + tickerHeight + 'px; ' +
				   'cursor: default; ' +
				   'overflow: hidden; ' +
				   'visibility: hidden; ' +
				   (tickerBorderWidth ? 'border-width: ' + tickerBorderWidth + 'px; ' : '') +
				   (tickerBorderStyle ? 'border-style: ' + tickerBorderStyle + '; ' : '') +
				   (tickerBorderColor ? 'border-color: ' + tickerBorderColor + '; ' : '') +
				   '} ' +
				   '.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>');
	
	//alert(tickerEntries[0]);

}
//---------------------------------------------------------------------------------------------------------

/*
activateActiveX
---------------
Purpose:  Dynamically replace any elements that will be affected by the new security feature in IE6/IE7 that requires a user to click certain types of elements to activate them before use.

Usage:  Include this file in the <head></head> section of your html document using the following...
	<script language="JScript" type="text/jscript" src="activateActiveX_onload.js"></script>


Since this script is in response to a software patent lawsuit, I feel it necessary to state the following...	

License:
activateActiveX is Copyright (C) 2006 Jason Baker (therippa AT gmail.com). It is available as open source code from:
http://therippa.blogspot.com

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details http://www.gnu.org/licenses/gpl.html
*/

//trap onload event
function activeXcheck () {
	//Determine browser, we only need this for Internet Explorer
	if (navigator.appName == "Microsoft Internet Explorer") {
		
		//Array of elements to be replaced
		var arrElements = new Array(3);
		arrElements[0] = "object";
		arrElements[1] = "embed";
		arrElements[2] = "applet";
	
		
		//Loop over element types
		for (n = 0; n < arrElements.length; n++) {
		
			//set object for brevity
			replaceObj = document.getElementsByTagName(arrElements[n]);
			
			//loop over element objects returned
			for (i = 0; i < replaceObj.length; i++ ) {
			
				//set parent object for brevity
				parentObj = replaceObj[i].parentNode;
				
				//grab the html inside of the element before removing it from the DOM
				newHTML = parentObj.innerHTML;
				
				//remove element from the DOM
				parentObj.removeChild(replaceObj[i]);
				
				//stick the element right back in, but as a new object
				parentObj.innerHTML = newHTML;
			
				}
			}
		}
	}

