/*
 * Creativyst(R) Multi-Color Fader:
 *
 *      (C) Copyright 2004 Creativyst, Inc.
 *            ALL RIGHTS RESERVED
 *
 * Use of this software in running applications, with
 * or without modification, is permitted provided
 * that the conditions published at:
 * http://www.creativyst.com/Prod/18/ClientEG/mcfCP.htm 
 * are met.
 *
 *    This software may not be redistributed
 *
 *     - This comment may not be removed -
 *
 * v1.0a
*/


/* Configurations:
 *  Set these general configuration variables to change
 *  how your scroller looks and acts.
 *
 *  See below for how to add static and/or dynamic content for display
 *
*/
var mcfWidth=210;
var mcfHeight=60;

var mcfFadedColor = "#e5e5e5";  // Text/Link color when faded OUT
                                //   (Normally set to the background color)
var mcfTextColor = "#000000";   // Text color when ON (faded IN)
var mcfLinkColor = "#000000";   // Link color when ON (faded IN)

var mcfFadeINIncr = 17;     // Amt to change color when fading IN
var mcfFadeOUTIncr=55;      // Amt to chng whn fading OUT (0 for instant)
var mcfFadeINIncr_fast = 0;
var mcfFadeOUTIncr_fast =0;

var mcfFrameRate = 60;      // was 40
var mcfPauseDelay = 6000;   // or Maximum if mcfVaryPause
var mcfPauseMin = 3500;     // If mcfVaryPause
var mcfOUTPause = 0;        // 0 for no pause when faded OUT
var mcfVaryPause = 1;       // Vary pause based on msg length
var mcfMiddle = 0;          // 1 for vertical middle, 0 for top

var mcfUseBallistics = 1;    // (not used) 0 for linear movers
var JSMsgNS = "";
var JSMsgSeq = 0;

/* ==========================================================================
 * End of user configurable variables
 * ==========================================================================
*/

var n = navigator;
var ua = ' ' + n.userAgent.toLowerCase();
var browserIsSafari = ua.indexOf('safari') > 0;
browserIsSafari = true;

var bsOrgArray = new Array(); bsOrgArray[0] = ""; var mcfCur_i = -1; var DOMObjC; var IEObj; var NS4xObj; var BalIncr = mcfFadeINIncr; var mcfBeenHere; var mcfMousePaused = 0; var MessagePaused = 0; var MsgPauseNow = mcfPauseDelay; var bsISRWaiting = 0; var mcfSmallestContent = 0; var mcfBiggestContent = 0; var mcfBiggestDif = 0; var mcfState = 0; var Globi = 0; var mcfMPCount = 0; var mcfCritical = 0; 

var mcfCur_x = mcfContent.length - 2;

function mcfInitialize()
{ var divobj; var cpyi; if(!mcfBeenHere) { mcfBeenHere = 1; setTimeout("mcfInitialize()", 1100); return;}
else { mcfFadedColor = mcfFadedColor.toLowerCase(); mcfTextColor = mcfTextColor.toLowerCase(); mcfLinkColor = mcfLinkColor.toLowerCase(); for(cpyi = 0;cpyi < mcfContent.length;cpyi++) { bsOrgArray[cpyi] = mcfContent[cpyi];}
if(!mcfOUTPause) { mcfOUTPause = 1;}
if(!mcfContent[0]) { mcfContent.length = 0;}
mcfContent = JSMsgIf(mcfContent, JSMsgNS, JSMsgSeq);
mcfSizeContent();
if(document.getElementById) { divobj = document.getElementById('ScrollerFrame'); divobj.style.width = mcfWidth + 'px'; divobj.style.height = mcfHeight + 'px'; divobj = document.getElementById('mcfWindow'); divobj.style.width = mcfWidth + 'px'; divobj.style.height = mcfHeight + 'px'; divobj = document.getElementById('mcfCWindow'); divobj.style.width = mcfWidth + 'px'; divobj.style.height = mcfHeight + 'px'; divobj.style.zIndex = 1; divobj.style.color = mcfFadedColor; DOMObjC = divobj; DOMObjC.style.top = '0px'; moverDOM();}
else if(document.all) { ScrollerFrame.style.width = mcfWidth; IEObj=eval(mcfCWindow); IEObj.style.pixelTop=(mcfHeight * (-1)); moverIE();}
else if(document.layers) { NS4xObj=document.mcfSlideWindow.document.mcfContentWindow; moverNS4x();}
}
}

function mover_next() {
if(document.getElementById) {moverDOM_next();}
else if(document.all) { moverIE_next();alert("2");}
else if(document.layers) { moverNS4x_next();alert("3");}
}

function mover_prev() {
mcfCur_i = mcfCur_x - 1;
if (mcfCur_i < 0) {
	mcfCur_i = mcfContent.length - 1;
}
if(document.getElementById) {moverDOM_next();}
else if(document.all) { moverIE_next();alert("2");}
else if(document.layers) { moverNS4x_next();alert("3");}
}

function MoveColor(cFrom, cTo, myIncr)
{ var i, cNew; var f = new Array(); var t = new Array(); var sFrom = new String(); var sTo = new String(); var dt, dt2, dt3; sFrom = cFrom; sTo = cTo; if(!sFrom) { sFrom = "#000000";}
if(!sTo) { sTo = "#000000";}
sFrom = NormalizeColorNotation(sFrom); sTo = NormalizeColorNotation(sTo); if(!myIncr) { return(sTo);}
dt = sTo.substr(1,2); dt2 = sFrom.substr(1,2); dt3 = sFrom.substr(3,2); dt = sFrom.substr(5,2); t[0] = parseInt(sTo.substr(1,2),16); t[1] = parseInt(sTo.substr(3,2),16); t[2] = parseInt(sTo.substr(5,2),16); f[0] = parseInt(sFrom.substr(1,2),16); f[1] = parseInt(sFrom.substr(3,2),16); f[2] = parseInt(sFrom.substr(5,2),16); for(i = 0;i < 3;i++) { if(f[i] != t[i]) { if(f[i] > t[i]) { f[i] -= myIncr; f[i] = (f[i]<t[i]) ? t[i] : f[i];}
else { f[i] += myIncr; f[i] = (f[i]>t[i]) ? t[i] : f[i];}
}
}
for(i=0;i<3;i++) { f[i] = f[i].toString(16); while(f[i].length < 2) { f[i] = "0" + f[i];}
}
cNew = "#" + f[0] + f[1] + f[2]; return(cNew);}
function NormalizeColorNotation(sParm)
{ var tc,tr,tg,tb,sW, rv; var tmpAr = new Array(); if(sParm.indexOf("rgb(") > -1) { tr = tg = tb = ""; tmpAr = sParm.split(","); for(i = 0;i < tmpAr[0].length;i++) { tc = tmpAr[0].charAt(i); if(tc >= '0' && tc <= '9') { tr += tc;}
tc = ""; tc = tmpAr[2].charAt(i); if(tc >= '0' && tc <= '9') { tb += tc;}
}
tg = tmpAr[1]; tr = parseInt(tr); tg = parseInt(tg); tb=parseInt(tb); sW = "#"; tc = tr.toString(16); while(tc.length < 2) { tc = "0" + tc }
sW += tc; tc = tg.toString(16); while(tc.length < 2) { tc = "0" + tc }
sW += tc; tc = tb.toString(16); while(tc.length < 2) { tc = "0" + tc }
sW += tc; rv = sW;}
else { if(sParm.indexOf("#") == -1) { sParm = "#" + sParm;}
rv = sParm;}
return(rv);}

function moverDOM()
{

if (browserIsSafari) {
mcfCur_i++;
mcfCur_x = mcfCur_i - 1;
if(mcfCur_i >= mcfContent.length) {
		mcfCur_i = 0;
}
if(mcfMiddle) { DOMObjC.innerHTML = '<table height="100%"><tr><td>' + mcfContent[mcfCur_i] + '<\/td><\/tr><\/table>';}
else { DOMObjC.innerHTML = mcfContent[mcfCur_i];}
DOMObjC.style.color = mcfTextColor;
var tmpAr = DOMObjC.getElementsByTagName("a");
if(tmpAr && tmpAr.length) {
	for(i = 0;i < tmpAr.length;i++) {
//		tmpAr[i].style.color = mcfLinkColor;
	}
}
setTimeout("moverDOM()", mcfPauseDelay); return;
} else {
	var reducer, tmp, tmpL, tmpR; var myDone, myTxtCol, myLnkCol; var tmpAr = new Array(); var Stmp; Stmp = ""; Globi++; if(!mcfState) { 
		mcfCur_i++;
		mcfCur_x = mcfCur_i - 1;
	if(mcfCur_i >= mcfContent.length) {
		mcfCur_i = 0;
	}
if(mcfMousePaused) { mcfMPCount++; if(mcfMPCount > 500) { mcfMousePaused = 0;}
setTimeout("moverDOM()", mcfFrameRate); return;}
mcfState = 1; setTimeout("moverDOM()", mcfFrameRate);}
else if(mcfState == 1) { myTxtCol = NormalizeColorNotation(DOMObjC.style.color); myLnkCol = ""; tmpAr.length = 0; tmpAr = DOMObjC.getElementsByTagName("a"); myDone = 0; if(tmpAr && tmpAr.length) { myLnkCol = NormalizeColorNotation(tmpAr[0].style.color); if( (myLnkCol == mcfFadedColor) && (myTxtCol == mcfFadedColor) ) { myDone = 1;}
}
else { if(myTxtCol == mcfFadedColor) { myDone = 1;}
}
if(myDone) { mcfState = 2; setTimeout("moverDOM()", mcfOUTPause); return;}
else { DOMObjC.style.color = MoveColor( DOMObjC.style.color, mcfFadedColor, mcfFadeOUTIncr); if(tmpAr && tmpAr.length) { for(i = 0;i < tmpAr.length;i++) { tmpAr[i].style.color = MoveColor( tmpAr[i].style.color, mcfFadedColor, mcfFadeOUTIncr);}
}
setTimeout("moverDOM()", mcfFrameRate); return;}
}
else if(mcfState == 2) { if(mcfCritical) { setTimeout("moverDOM()", mcfFrameRate);}
if(mcfMiddle) { DOMObjC.innerHTML = '<table height="100%"><tr><td>' + mcfContent[mcfCur_i] + '<\/td><\/tr><\/table>';}
else { DOMObjC.innerHTML = mcfContent[mcfCur_i];}
mcfState = 3; tmpAr.length = 0; tmpAr = DOMObjC.getElementsByTagName("a"); for(i = 0;i < tmpAr.length;i++) { tmp = MoveColor( tmpAr[i].style.color, mcfFadedColor, 0); tmpAr[i].style.color = tmp;}
setTimeout("moverDOM()", mcfFrameRate); return;}
else if(mcfState == 3) { myTxtCol = NormalizeColorNotation(DOMObjC.style.color); myLnkCol = ""; tmpAr.length = 0; tmpAr = DOMObjC.getElementsByTagName("a"); myDone = 0; if(tmpAr && tmpAr.length) { myLnkCol = NormalizeColorNotation(tmpAr[0].style.color); if( (myLnkCol == mcfLinkColor) && (myTxtCol == mcfTextColor) ) { myDone = 1;}
}
else { if(myTxtCol == mcfTextColor) { myDone = 1;}
}
if(myDone) { tmp = mcfGetOpenDelay(); 
mcfState = 0; setTimeout("moverDOM()", mcfPauseDelay); return;}
else { DOMObjC.style.color = MoveColor( DOMObjC.style.color, mcfTextColor, mcfFadeINIncr); if(tmpAr && tmpAr.length) { for(i = 0;i < tmpAr.length;i++) { tmpAr[i].style.color = MoveColor( tmpAr[i].style.color, mcfLinkColor, mcfFadeINIncr);}
}
setTimeout("moverDOM()", mcfFrameRate); return;}
}
}
}

function moverIE()
{ var tmp; if(mcfMiddle) { IEObj.innerHTML = '<table height="100%"><tr><td>' + mcfContent[mcfCur_i] + '<\/td><\/tr><\/table>';}
else { IEObj.innerHTML = mcfContent[mcfCur_i];}
mcfCur_i++; if(mcfCur_i >= mcfContent.length) { mcfCur_i = 0;}
mcfState = 0; tmp = mcfGetOpenDelay(); setTimeout("moverIE()", tmp);}

function moverOtherBrowsers()
{ var tmp; if(mcfMiddle) { var yyy = '<table height="100%"><tr><td>' + mcfContent[mcfCur_i] + '<\/td><\/tr><\/table>';}
else { var xxx = mcfContent[mcfCur_i];}
mcfCur_i++; if(mcfCur_i >= mcfContent.length) { mcfCur_i = 0;}
mcfState = 0; tmp = mcfGetOpenDelay(); setTimeout("moverOtherBrowsers()", tmp);}

function moverNS4x()
{ NS4xObj.document.write( mcfContent[mcfCur_i] ); NS4xObj.document.close(); mcfCur_i++; if(mcfCur_i >= mcfContent.length) { mcfCur_i = 0;}
mcfState = 0; tmp = mcfGetOpenDelay(); setTimeout("moverNS4x()", tmp);}

function mcfGetOpenDelay()
{ var tmp; var thisdif; if(mcfVaryPause) { thisdif = mcfContent[mcfCur_i].length - mcfSmallestContent; tmp = thisdif / mcfBiggestDif; tmp = mcfPauseDelay * tmp; tmp = parseInt(tmp); if(tmp < mcfPauseMin) { tmp = mcfPauseMin;}
return(tmp);}
return(mcfPauseDelay);}
function mcfSizeContent()
{ var cpyi; mcfSmallestContent = 5000; mcfBiggestContent = 0; for(cpyi = 0;cpyi < mcfContent.length;cpyi++) { if(mcfContent[cpyi].length < mcfSmallestContent) { mcfSmallestContent = mcfContent[cpyi].length;}
if(mcfContent[cpyi].length > mcfBiggestContent) { mcfBiggestContent = mcfContent[cpyi].length;}
}
mcfBiggestDif = mcfBiggestContent - mcfSmallestContent;}
function mcfChangeFeeds(newJSMsgNS)
{ mcfCritical = 1; mcfContent.length = 0; JSMsgNS = newJSMsgNS; mcfContent = JSMsgIf(mcfContent, JSMsgNS, JSMsgSeq); mcfSizeContent(); mcfCur_i = 0; mcfCritical = 0;}
function MousePause()
{ mcfMousePaused = 1;}
function MouseStart()
{ mcfMousePaused = 0;}
function RunScroller()
{ var msg; msg = ''; msg += '<div ID="ScrollerFrame" CLASS="ScrollerFrame">'; if(!document.getElementById && !document.all) { msg += '<ilayer name="mcfSlideWindow" width="' + mcfWidth + '"; height="' + mcfHeight + '";>\n'; msg += '<layer name="mcfContentWindow" width="' + mcfWidth + '"; onMouseover="MousePause();" onMouseout="MouseStart();">'; msg += '<\/layer>'; msg += '<\/ilayer>';}
document.write(msg); if (document.getElementById || document.all) { document.write('<div id="mcfWindow" class="mcfWindow" style="position:relative;overflow:hidden;width:' +mcfWidth+ ';height:' +mcfHeight+ ';clip:rect(0 ' +mcfWidth+ ' ' +mcfHeight+ ' 0);" onMouseover="MousePause();" onMouseout="MouseStart();">'); document.write('<div id="mcfCWindow" class="mcfCWindow" style="position:relative;"><\/div>'); document.write('<\/div>');}
document.write('<\/div>'); mcfInitialize();}
function JSMsgIf(msgAr, myNs, mySeq)
{ var TotNS,LongestNS; var NSAr = new Array(); var i,j,k,o; if(!myNs) { myNs = "";}
if(!mySeq) { mySeq = 0;}
o = msgAr.length; if(myNs) { NSAr = myNs.split(" "); TotNS = NSAr.length; LongestNS = 0; j = 0; for(i = 0;i < TotNS;i++) { j = jsmMetaMsg(NSAr[i], "MetaCount"); if(j > LongestNS) { LongestNS = j;}
}
if(!j) { return(msgAr);}
k = o; if(mySeq) { for(j = 0;j < TotNS;j++) { for(i = 0;i < LongestNS;i++) { if(jsmMetaMsg(NSAr[j],"MetaCount") <= i) { continue;}
msgAr[k] = jsmGetN(NSAr[j], "LinkTitle", i); if(!msgAr[k]) { msgAr[k] = jsmGetN(NSAr[j], "Body", i); msgAr[k] += "<BR>   -"; t = jsmGetN(NSAr[j], "Attrib",i); if(t.length > 17) { t = t.substr(0,14); t += "...";}
msgAr[k] += t;}
msgAr[k] = msgAr[k].replace(/&/g, "&"); msgAr[k] = msgAr[k].replace(/&apos;/g, "\'"); k++;}
}
}
else { for(j = 0;j < LongestNS;j++) { for(i = 0;i < TotNS;i++) { if(jsmMetaMsg(NSAr[i],"MetaCount") <= j) { continue;}
msgAr[k] = jsmGetN(NSAr[i], "LinkTitle", j); if(!msgAr[k]) { msgAr[k] = jsmGetN(NSAr[i], "Body", j); msgAr[k] += "<BR>   -"; t = jsmGetN(NSAr[i], "Attrib",j); if(t.length > 17) { t = t.substr(0,14); t += "...";}
msgAr[k] += t;}
msgAr[k] = msgAr[k].replace(/&/g, "&"); msgAr[k] = msgAr[k].replace(/&apos;/g, "\'"); k++;}
}
}
}
return(msgAr);}
function jsmGetN(ns,MsgPart,number)
{ var rv, c, er; c = "rv = " + ns + ".GetN('" + MsgPart + "'," + number + ");"; er = eval(c); return(rv);}
function jsmGet(ns,MsgPart,offset)
{ var rv, c, er; c = "rv = " + ns + ".Get('" + MsgPart + "'," + offset + ");"; er = eval(c); return(rv);}
function jsmGetDay(ns,MsgPart)
{ var rv, c, er; c = "rv = " + ns + ".GetDay('" + MsgPart + "');"; er = eval(c); return(rv);}
function jsmMetaMsg(ns,MsgPart)
{ var rv, c, er; c = "rv = " + ns + ".MetaMsg('" + MsgPart + "');"; er = eval(c); return(rv);}
mcfState

function moverDOM_next() {

if (browserIsSafari) {
mcfCur_i++;
mcfCur_x = mcfCur_i - 1;
if(mcfCur_i >= mcfContent.length) {
		mcfCur_i = 0;
}
if(mcfMiddle) { DOMObjC.innerHTML = '<table height="100%"><tr><td>' + mcfContent[mcfCur_i] + '<\/td><\/tr><\/table>';}
else { DOMObjC.innerHTML = mcfContent[mcfCur_i];}
DOMObjC.style.color = mcfTextColor;
var tmpAr = DOMObjC.getElementsByTagName("a");
if(tmpAr && tmpAr.length) {
	for(i = 0;i < tmpAr.length;i++) {
//		tmpAr[i].style.color = mcfLinkColor;
	}
}
} else {
var reducer, tmp, tmpL, tmpR;
var myDone, myTxtCol, myLnkCol;
var tmpAr = new Array();
var Stmp;
Stmp = "";
Globi++; 

if(!mcfState) {
	mcfCur_i++;
	mcfCur_x = mcfCur_i - 1;
	if(mcfCur_i >= mcfContent.length) {
		mcfCur_i = 0;
	}

	if(mcfMousePaused) {
		mcfMPCount++;
		if(mcfMPCount > 500) {
			mcfMousePaused = 0;
		}
		setTimeout("moverDOM_next()", mcfFrameRate);
		return;
	}

	mcfState = 1;
	setTimeout("moverDOM_next()", mcfFrameRate);
} else if (mcfState == 1) {
	myTxtCol = NormalizeColorNotation(DOMObjC.style.color);
	myLnkCol = "";
	tmpAr.length = 0;
	tmpAr = DOMObjC.getElementsByTagName("a");
	myDone = 0;
	if(tmpAr && tmpAr.length) {
		myLnkCol = NormalizeColorNotation(tmpAr[0].style.color);
		if( (myLnkCol == mcfFadedColor) && (myTxtCol == mcfFadedColor) ) {
			myDone = 1;
		}
	} else {
		if(myTxtCol == mcfFadedColor) {
			myDone = 1;
		}
	}

	if (myDone) {
		mcfState = 2;
		setTimeout("moverDOM_next()", mcfOUTPause);
		return;
	} else {
		DOMObjC.style.color = MoveColor( DOMObjC.style.color, mcfFadedColor, mcfFadeOUTIncr_fast);
		if(tmpAr && tmpAr.length) {
			for(i = 0;i < tmpAr.length;i++) {
				tmpAr[i].style.color = MoveColor( tmpAr[i].style.color, mcfFadedColor, mcfFadeOUTIncr_fast);
			}
		}
		setTimeout("moverDOM_next()", mcfFrameRate);
		return;
	}
} else if (mcfState == 2) {
	if(mcfCritical) {
		setTimeout("moverDOM_next()", mcfFrameRate);
	}

	if(mcfMiddle) {
		DOMObjC.innerHTML = '<table height="100%"><tr><td>' + mcfContent[mcfCur_i] + '<\/td><\/tr><\/table>';
	} else {
		DOMObjC.innerHTML = mcfContent[mcfCur_i];
	}

	mcfState = 3;
	tmpAr.length = 0;
	tmpAr = DOMObjC.getElementsByTagName("a");
	for(i = 0;i < tmpAr.length;i++) {
		tmp = MoveColor( tmpAr[i].style.color, mcfFadedColor, 0);
		tmpAr[i].style.color = tmp;
	}
	setTimeout("moverDOM_next()", mcfFrameRate);
	return;
} else if(mcfState == 3) {
	myTxtCol = NormalizeColorNotation(DOMObjC.style.color); myLnkCol = "";
	tmpAr.length = 0;
	tmpAr = DOMObjC.getElementsByTagName("a");
	myDone = 0;
	if(tmpAr && tmpAr.length) {
		myLnkCol = NormalizeColorNotation(tmpAr[0].style.color);
		if( (myLnkCol == mcfLinkColor) && (myTxtCol == mcfTextColor) ) {
			myDone = 1;
		}
	} else {
		if(myTxtCol == mcfTextColor) {
			myDone = 1;
		}
	}

	if(myDone) {
		tmp = mcfGetOpenDelay();
		mcfState = 0;
		return;
	} else {
		DOMObjC.style.color = MoveColor( DOMObjC.style.color, mcfTextColor, mcfFadeINIncr_fast);
		if(tmpAr && tmpAr.length) {
			for(i = 0;i < tmpAr.length;i++) {
				tmpAr[i].style.color = MoveColor( tmpAr[i].style.color, mcfLinkColor, mcfFadeINIncr_fast);
			}
		}
		setTimeout("moverDOM_next()", mcfFrameRate);
		return;
	}
}
}
}

function moverIE_next()
{ var tmp; if(mcfMiddle) { IEObj.innerHTML = '<table height="100%"><tr><td>' + mcfContent[mcfCur_i] + '<\/td><\/tr><\/table>';}
else { IEObj.innerHTML = mcfContent[mcfCur_i];}
mcfCur_i++; if(mcfCur_i >= mcfContent.length) { mcfCur_i = 0;}
mcfState = 0;}

function moverOtherBrowsers_next()
{ var tmp; if(mcfMiddle) { var yyy = '<table height="100%"><tr><td>' + mcfContent[mcfCur_i] + '<\/td><\/tr><\/table>';}
else { var xxx = mcfContent[mcfCur_i];}
mcfCur_i++; if(mcfCur_i >= mcfContent.length) { mcfCur_i = 0;}
mcfState = 0;}

function moverNS4x_next()
{ NS4xObj.document.write( mcfContent[mcfCur_i] ); NS4xObj.document.close(); mcfCur_i++; if(mcfCur_i >= mcfContent.length) { mcfCur_i = 0;}
mcfState = 0;}
