
/*  Date  */
    dayName = new Array ("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
  monthName = new Array ("January","February","March","April","May","June","July","August","September",
                         "October","November","December")
   yearname = new Array ("2002")		
        now = new Date
	



/*  homelinks  */


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}





// Create a hex convertor array (Dex2Hex[])
var hexbase= new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
var value=0;
var Dec2Hex=new Array();
for (x=0; x<16; x++){
	for (y=0; y<16; y++){
		Dec2Hex[value]= hexbase[x] + hexbase[y];
		value++;
	}
}

// Convert RGB colour to string base
function RGB2STR(rgbcolor)
{
	return Dec2Hex[rgbcolor>>16] + Dec2Hex[(rgbcolor>>8)&0xFF] + Dec2Hex[rgbcolor&0xFF];
}

// Check the following variables to see if they exist. If not use default value
if (String(colorFG)=="undefined") var colorFG = 0x0000FF;	// Text color
if (String(colorBG)=="undefined") var colorBG = 0xFFFFFF;	// Background color
if (String(ymax)   =="undefined") var ymax    = 10;		// How many pixel to move
if (String(ystep)  =="undefined") var ystep   = 1;		// 1 or -1 only (Scroll direction)
if (String(speed)  =="undefined") var speed   = 0;		// The smaller the faster
if (String(pause)  =="undefined") var pause   = 60;		// Pause time(milisecond) between messages
if (String(fadestep)=="undefined") {
	var fadestep = ymax>>1;
} else {
	if (fadestep > (ymax>>1)) fadestep = ymax>>1;
}

// check if user defined messages exist
if (String(message)=="undefined") {
	// use the default messages
	var message = new Array();
	message[0] = 'Laidlaw Transit Services';
	message[1] = 'Thank you for visiting';
}

var ypos    = 0;
var yposOrg = 0;
var color   = colorBG;
var curMsg  = 0;

// Calculate the difference between background and foreground color
var half_ymax = (ymax)>>1
var dfRed   = -((colorBG>>16) - (colorFG>>16)) / fadestep;
var dfGreen = -(((colorBG>>8)&0xFF) - ((colorFG>>8)&0xFF)) / fadestep;
var dfBlue  = -((colorBG&0xFF) - (colorFG&0xFF)) / fadestep;
var opColor  = (dfRed<<16) + (dfGreen<<8) + (dfBlue);

var timer;
var TS;

function UnloadMe()
{
	clearTimeout(timer);
}

var isReadForNextText = 0;
var isChangeText = 0;

function ScrollText(currentstate)
{


	ypos += ystep;
	
	// Ready to change text?
	if (ypos >= ymax || ypos <= 0)
		isChangeText = 1;
	else
		isChangeText = 0;

	// Need to set the timer first so that it will go smoothly
	if (isChangeText) {
		if (pause < speed)
			timer = setTimeout('ScrollText(0)', speed);
		else
			timer = setTimeout('ScrollText(1)', pause);
	} else
		timer = setTimeout('ScrollText(0)', speed);

	// Change text
	if (isReadForNextText) {
		// For IE only
		TextScroll.innerHTML = message[curMsg];
		isReadForNextText = 0;
	}

	// Change the color of the text
	if (document.all) {
		// IE
		TS.paddingTop = ypos;
		TS.color = color;
	} else if (document.layers) {
		// Netscape
		TS.top = ypos + yposOrg;
		
		// Clip the text
		var calc = (TS.top-yposOrg) + TS.document.height - 20
		if (calc > ymax) {
			TS.clip.bottom=(TS.document.height) - (calc-ymax);
		} else {
			TS.clip.bottom=TS.document.height;
		}

		// Display the text
		text  = '<SPAN CLASS="TextScrollStyle">' +
				'<FONT COLOR='+colorFG+'>' +
				message[curMsg] +
				'</FONT></SPAN>';
		TS.backgroundColor = colorBG;
		TS.backgroundColor = 'black';
             if (currentstate==1){
		TS.document.write(text);
		TS.document.close();
             }
	}
	if (ypos < fadestep || (ymax - ypos) < fadestep) {
		color += opColor;
	}

	// Check to see if in the middle, if so, change colour direction
	if (ypos == half_ymax) opColor *= -1;	
	
	// Prepare for next text please
	if (isChangeText) {
		color = colorBG;
		opColor *= -1;

		if (ystep > 0) {
			ypos = 0;
		} else {
			ypos = ymax;
		}

		if (++curMsg > message.length-1) {
			curMsg = 0;
		}

		// Change text
		if (document.all) {
			// IE
			TextScroll.innerHTML = " ";
			TS.paddingTop = ypos;
			isReadForNextText = 1;
		} else if (document.layers) {
			TS.document.write('');
			TS.document.close();
			TS.top = ypos + yposOrg;
		}
	}
}

function startani(){
      if (document.layers)
      document.TextScroll.visibility="show"
      timer = setTimeout('ScrollText()', 100)
}


function ScrollTextDisplay()
{
	var navName=navigator.appName;
	var navVer=parseInt(navigator.appVersion)
	var fNetscape = 0;
	
	if (! ((navName=="Netscape" && navVer>=4) || (navName=="Microsoft Internet Explorer" && navVer>=4)) ) {
		return;
	}
	
	if (navName=="Netscape") {
		fNetscape=1;
	}
	
	document.write('<ILAYER NAME="TextScroll" CLASS="TextScrollStyle" WIDTH="'+scrollwidth+'" HEIGHT=' + (ymax+20) + ' BGCOLOR=' + RGB2STR(colorBG) + ' VISIBILITY="hide">');
	document.write('<LAYER NAME="Content" WIDTH="'+scrollwidth+'">');
	document.write('<SPAN ID="TextScroll" CLASS="TextScrollStyle">');
	if (fNetscape) document.write('<FONT COLOR='+colorFG+'>');
	document.write(message[0]);
	if (fNetscape) document.write('</FONT>');
	document.write('</SPAN>');
	document.write('</LAYER>');
	document.write('</ILAYER>');
	
	if (ystep > 0) {
		ypos = 0;
	} else {
		ypos = ymax;
	}

	if (document.all) {
		// IE
		TS = TextScroll.style;
	} else if (document.layers) {
		// Netscape
		TS = document.TextScroll.document.Content;
		yposOrg = TS.top;
	}
	TS.height = ymax;
	TS.color = color;
	TS.visibility = "visible";
	TS.backgroundColor = colorBG;
	
	window.onload=startani
	window.onunload=UnloadMe;
}

ScrollTextDisplay()
	
/*  swap_text  */
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


/*  swap_tab  */
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}



/*  Date  */
    dayName = new Array ("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
  monthName = new Array ("January","February","March","April","May","June","July","August","September",
                         "October","November","December")
   yearname = new Array ("2002")		
        now = new Date
	


	
















