﻿
//	      -- JavaScript Marquee v3.0 --
//
//          Copyright (c) D.J.O'Farrell 2003
//	     http://www.ruinsofmorning.net/
//
//           This script is released under
//          the GNU General Public License:
//	  http://www.gnu.org/licenses/gpl.html
//
//	For full instructions on installing and
//	running this script on your web pages visit:
//	http://www.ruinsofmorning.net/marquee/


// ----------- SETTINGS ----------- //

// Messages - There MUST be AT LEAST two messages. ALL apostrophes (') MUST be escaped using a backslash (\').
//document.IsraeliNews.value="test"

var ActiveMarquee="active";
var msgarray=new Array
(
	
	'<font size="4">Newsletters</font>',
	'<a href="Ads/Newsletters/ABI01.pdf"><font color="red"><u>Abir Yaakob Congregation</u></font></a>',
	'<a href="Ads/Newsletters/AIS01.pdf"><font color="red"><u>Aish HaTorah - Thornhill Community Shul</u></font></a>',
	'<a href="Ads/Newsletters/ALH01.pdf"><font color="red"><u>Al HaTorah V\'Al HaAvodah - Hebrew</u></font></a>',
	'<a href="Ads/Newsletters/ALH05.pdf"><font color="red"><u>Al HaTorah V\'Al HaAvodah - English</u></font></a>',
	'<a href="Ads/Newsletters/BET10.pdf"><font color="red"><u>Beth Avraham Yoseph of Toronto</u></font></a>',
	'<a href="Ads/Newsletters/SHO10.htm"><font color="red"><u>Shomrai Shabbos Chevrah Mishnayos Congregation</u></font></a>',
	'<a href="Ads/Newsletters/WES01.pdf"><font color="red"><u>Westmount Shul & Learning Centre</u></font></a>',
	'',
	'<font size="4">Israeli News</font>',
	'<a href="Archives.asp?BlogCategoryID=84"><font color="red"><u>Click here for a collection of the week\'s news form Israel</u></font></a>',
	'',
	'<a href="MemberApplicationForm.asp?Task=NewMember"><font color="red"><u>Sign up for email notifications.</font></a>',
	'<a href="MemberApplicationForm.asp?Task=NewMember"><font color="red"><u>Eruv Status</u></font></a>',
	'<a href="MemberApplicationForm.asp?Task=NewMember"><font color="red"><u>Kosher Alerts</u></font></a>',
	'<a href="MemberApplicationForm.asp?Task=NewMember"><font color="red"><u>Shiva Notifications</u></font></a>',
	'<a href="MemberApplicationForm.asp?Task=NewMember"><font color="red"><u>Community Updates</u></font></a>',
	'<a href="MemberApplicationForm.asp?Task=NewMember"><font color="red"><u>and more</u></font></a>...',
	'',
	'<font size="4">Audio Shiurim</font>',
	'<a href="Archives.asp?BlogCategoryID=97"><font color="red"><u>Parsha - Rabbi N. Ganzweig - Yiddish</u></font></a>',
	''
);
//,
//	'<a href="ads/mapleconcierge.jpg"><img src="http://www.frumtoronto.com/frumnew/ads/mapleconciergesmall1.jpg" border="0" /></a>',
//	'<a href="ads/mapleconcierge.jpg"><img src="http://www.frumtoronto.com/frumnew/ads/mapleconciergesmall2.jpg" border="0" /></a>',
//	'<a href="ads/mapleconcierge.jpg"><img src="http://www.frumtoronto.com/frumnew/ads/mapleconciergesmall3.jpg" border="0"/></a>',
//	''
// Speed Settings //
var pausetime = 1000;		// Pause Length (milliseconds).
var msginc = 30;		// The number of increments for each transition (lower = faster). 
var interval = 50;		// Interval between movment steps (milliseconds - less is faster & smoother).
var ppat = new Array(2000, 1000,1000,1000,1000,1000,1000,1000,0,2000,2000,0,2000,1000,1000,1000,1000,1000,0,2000,1000);		// Pause pattern. List pause lengths for each message in milliseconds, eg (2500,0,1000).
var ipat = new Array();		// Increment pattern. List the number of steps for the transition of each message, eg (20,1,40).
var wraptime = false;		// Prevent resetting speed patterns.

// Direction Settings //
var direction = 'up';		// Direction: 'up', 'down', 'left', 'right', and combos such as 'downleftright', 'rand', 'prand', 'xrand', 'pattern', 'dpattern', 'wpattern' (see below).
var dpat = new Array();		// For direction setting 'pattern', 'prand' and 'xrand' only.

// Transition Settings //
var transition = 'contig';	// Transition method: 'contig', 'cover', 'uncover', 'wipe', 'unwipe', 'coverwipe', 'uncoverwipe', 'rand', 'prand', 'xrand', 'pattern', 'dpattern', 'wpattern' (see below).
var tpat = new Array();		// For transition setting 'pattern', 'dpattern', 'wpattern', 'prand' and 'xrand' only.

// Colour Settings //
var bgcolor = 'pattern';	// Background colour of the marquee and messages eg '#0099FF', 'white' or 'images/myimage.jpg'.
var cpat = new Array('#eee','white');	// Background colour pattern: List the background colour for each maessage.

// Advanced //
var mhalign = 'center';		// Horizontal alignment setting for TD container.
var mvalign = 'middle';		// Vertical alignment setting for TD container.
var csspat = new Array();	// List CSS Classes for each message TD container - default 'mrqtd' (TD.mrqtd).

// Opera Position Adjustment - set these two variables to match CSS margins (if used - otherwise 5 is normal). //
var dispv = 5;			// Top margin in pixels.
var disph = 5;			// Left margin in pixels.

// Bottom-Right Netscape Saftey //
var nsafe = false;		// Evade direction/transition combos that cause scrollbar pop-up in NS.

// Message Dump //
mdump = true;
dumptest = false;


//----------- DO NOT EDIT BELOW THIS LINE! -----------//
var appN=navigator.appName;
var appV=navigator.appVersion.substring(0,1);
var ie=(appN=="Microsoft Internet Explorer"&&appV>=4)?true:false;
var ns=(appN=="Netscape"&&(appV>=4&&appV<5))?true:false;
var nsix=(appN=="Netscape"&&appV>=5||navigator.userAgent.indexOf('Safari ')>=0)?true:false;
var opsev=(navigator.userAgent.indexOf('Opera ')>=0||navigator.userAgent.indexOf('Opera')>=0)?true:false;
if(opsev){bgcolor=(bgcolor=='transparent')?'':bgcolor;}
else{dispv=0;disph=0;}
if(ns||nsix){bgcolor=(bgcolor=='transparent')?'':bgcolor;}
if(dumptest){ie=0;ns=0;nsix=0;opsev=0;}
mc=0;
mcp=1;
msgn=msgarray.length;
msginc-=0.1;
direc='';
trans='';
dpatc=0;
tpatc=0;
ppatc=0;
ipatc=0;
d=document;
pflag=false;
rflag=false;
oflag=false;
mrqh=null;
mrqw=null;
mrqt=null;
mrql=null;
mh=null;
mw=null;
mt=null;
ml=null;
du=0;
dr=0;
dd=0;
dl=0;
vt=0;
vl=0;
IID=0;
TID=0;
RID=0;
NTID=0;
skipar=new Array();
skipcount=0;
tar=new Array('contig','cover','uncover','wipe','unwipe');
dar=new Array('up','down','left','right','updown','upleft','upright','downleft','downright','leftright','leftrightdown','leftrightup','updownleft','updownright','updownleftright');
if(transition=='xrand')
	{
	tempa=new Array();
	for(cb=0;cb<tar.length;cb++)
		{
		block=false;
		for(ca=0;ca<tpat.length;ca++)
			{
			if(tpat[ca]==tar[cb])
				{block=true;}
			}
		if(!block)
			{tempa.push(tar[cb]);}
		}
	tar=tempa;
	transition='rand';
	}
else if(transition=='prand')
	{tar=tpat;transition='rand';}
else if(transition=='dpattern')
	{
	tempa=Array();
	for(c=0;c<tpat.length;c++)
		{tempa.push(tpat[c],tpat[c]);}
	tpat=tempa;
	transition='pattern'
	}
if(direction=='xrand')
	{
	tempa=new Array();
	for(cb=0;cb<dar.length;cb++)
		{
		block=false;
		for(ca=0;ca<dpat.length;ca++)
			{
			if(dpat[ca]==dar[cb]){block=true;}
			}
		if(!block)
			{tempa.push(dar[cb]);}
		}
		dar=tempa;
		direction='rand';
	}
else if(direction=='prand')
	{dar=dpat;direction='rand';}
else if(direction=='dpattern')
	{
	tempa=Array();
	for(c=0;c<dpat.length;c++)
		{tempa.push(dpat[c],dpat[c]);}
	dpat=tempa;
	direction='pattern'
	}
function beginmrq(){
	if(ie||ns||nsix||opsev)
		{setupmrq();
		laymrq();
		laymsg();
		clearInterval(IID);
		pause();
		}
	}
function insertdivs(){
	c=0;
	mrqins='';
	msgins='';
	if(!(ie||ns||nsix||opsev)&&!mdump)
		{return;}
	setupmrq();
	if(ns)
		mrqins=' name="marquee"';
	document.write('<div id="marquee"'+mrqins+' onmouseover="javascript:clientpause(true);" onmouseout="javascript:clientpause(false);" class="marquee">');
	for(i=0;i<msgarray.length;i++)
		{if(msgarray[i].indexOf('<!--skip-->')>=0)
			{skipar[i]='skip';skipcount++;}
		else
			{skipar[i]='noskip';}
		if(ns)msgins=' name="message'+i+'"';
		bc='';
		bi='';
		cssins=(csspat.length)?csspat[i%csspat.length]:'mrqtd';
		if(bgcolor=='pattern')
			{bc=cpat[i%cpat.length];}
		else
			{bc=bgcolor;}
		if(bc.indexOf('.')>0)
			{bi='background:url('+bc+');';}
		else
			{bi='background:'+bc+';';}
		startmsg='<div id="message'+i+'"'+msgins+' class="message"><table width="'+mrqw+'" height="'+mrqh+'" border="0" cellspacing="0" cellpadding="0" style="'+bi+'"><tr><td height="'+mrqh+'" width="'+mrqw+'" align="'+mhalign+'" valign="'+mvalign+'" class="'+cssins+'">';
		document.write(startmsg+msgarray[i]+'</td></tr><tr><td><img src="spacer.gif" width="'+mrqw+'" height="1" alt=""></td></tr></table></div>');
		}
	document.write('</div>');
	if(!(ie||ns||nsix||opsev)&&mdump)
		{return;}
	else{beginmrq();}
	}
function setupmrq()
	{
	if(ie||nsix||opsev)
		//{
		//if (typeof(mrqspacer) == 'object')//added to remove object error
		{mspace=document.mrqspacer;
		mrqt=document.mrqspacer.offsetTop+dispv;    
		mrql=document.mrqspacer.offsetLeft+disph;//mspace.offsetLeft+disph;
		mrqw=document.mrqspacer.width;
		mrqh=document.mrqspacer.height;
		}//}
	else
		//{
		//if (typeof(mrqspacer) == 'object')//added to remove object error
		{mspace=document.images.mrqspacer;
		mrqt=mspace.y+dispv;
		mrql=mspace.x+disph;
		mrqw=mspace.width;
		mrqh=mspace.height;
		}//}
	mw=mrqw;
	mh=mrqh;
	mt=mrqh;
	}
function laymrq()
	//{
	//if (typeof(marquee) == 'object')//added to remove object error
	{
	if(ie||nsix||opsev)
		{
		with(document.getElementById('marquee').style)
			{
			top=mrqt+'px';
			left=mrql+'px';
			width=mrqw+'px';
			height=mrqh+'px';
			clip="rect(0px "+mrqw+"px "+mrqh+"px 0px)";
			visibility='visible';
			};
		}
	else
		{
		with(document.layers.marquee)
			{top=mrqt;left=mrql;width=mrqw;height=mrqh;clip.width=mrqw;clip.height=mrqh;visibility="show";};
		}
	}//}
function laymsg()
	{
	for(mc=0;mc<msgn;mc++)
		{
		if(ie||nsix||opsev)
			{
			with(document.getElementById("message"+mc).style)
				{
				width=mw+'px';
				height=mh+'px';
				if(mc){top=-1000+'px';left=-1000+'px';}
				else{top=0+'px';left=0+'px';}
				vt=0;
				clip="rect(0px "+mrqw+"px "+mrqh+"px 0px)";
				visibility="visible";}
			}
		else
			{
			with(document.layers.marquee.document["message"+mc])
				{
				if(mc){top=-1000;left=-1000;}
				else{top=0;left=0;}
				vt=0;
				clip.width=mw;
				clip.height=mh;
				visibility="show";
				}
			}
		}
	mc=0;
	}
function timing(){
	clearInterval(IID);
	IID=setInterval("pflag=false;movemsg();if(pflag)pause();",interval);
	}
function pause()
	{
	clearInterval(IID);
	laymrq();
	if(ppat.length)
		{
		if(wraptime)
			{ptime=ppat[ppatc%ppat.length];}
		else
			{ptime=ppat[mc%ppat.length];}
		}
	else
		{ptime=pausetime;}
	if(ipat.length)
		{
		if(wraptime)
			{msginc=ipat[ipatc%ipat.length];}
		else
			{msginc=ipat[mc%ipat.length];msginc-=0.1}
		}
	if(msginc<0.9)
		msginc=0.9;
	if(direction=='rand')
		{
		rn=Math.round(Math.random()*(dar.length-1));
		direc=dar[rn];
		}
	else if(direction=='pattern')
		{direc=dpat[mc%dpat.length];}
	else if(direction=='wpattern')
		{direc=dpat[dpatc%dpat.length];}
	else
		{direc=direction;}
	if(transition=='rand')
		{
		rn=Math.round(Math.random()*(tar.length-1));
		trans=tar[rn];
		}
	else if(transition=='pattern')
		{
		trans=tpat[mc%tpat.length];
		}
	else if(transition=='wpattern')
		{trans=tpat[tpatc%tpat.length];}
	else
		{trans=transition;}
	du=0;
	dr=0;
	dd=0;
	dl=0;
	du=(direc.indexOf('up')>=0)?1:0;
	dl=(direc.indexOf('left')>=0)?1:0;
	dd=(direc.indexOf('down')>=0)?1:0;
	dr=(direc.indexOf('right')>=0)?1:0;
	if(((du+dd>1)||(dl+dr>1))&&trans!='unwipe'&&trans!='wipe')
		{trans=(Math.round(Math.random()*1))?'wipe':'unwipe';}
	if(nsafe&&(ns||nsix))
		{
		if(trans=='contig')
			{trans='wipe';}
		if(trans=='cover'||trans=='coverwipe')
			{
			if(du)du=0,dd=1;
			if(dl)dl=0,dr=1;
			}
		if(trans=='uncover'||trans=='uncoverwipe')
			{
			if(dd)dd=0,du=1;
			if(dr)dr=0,dl=1;
			}
		}
	if((trans=='coverwipe'||trans=='uncoverwipe')&&(du+dd+dl+dr)>1)
		{trans=(trans='coverwipe')?'cover':'uncover';}
	TID=setTimeout("clearTimeout(TID);timing()",ptime);
	}
function repos()
	{
	rflag=true;
	clearInterval(IID);
	clearTimeout(TID);
	if(ie||nsix||opsev)
		{RID=setTimeout("clearTimeout(RID);clearTimeout(TID);clearInterval(IID);setupmrq();laymrq();timing();rflag=false;if(oflag)clientpause(1)",1500);}
	else if(ns)
		{window.location.reload();}
	}
function st(mn,pos)
	//{
	//if (typeof("message"+mn) == 'object')//added to remove object error
	{if(ie||nsix||opsev)
		{document.getElementById("message"+mn).style.top=pos+'px';}
	else
		{document.layers.marquee.document["message"+mn].top=pos;}
	}//}
function sl(mn,pos)
	//{
	//if (typeof("message"+mn) == 'object')//added to remove object error
	{if(ie||nsix||opsev)
		{document.getElementById("message"+mn).style.left=pos+'px';}
	else
		{document.layers.marquee.document["message"+mn].left=pos;}
	}//}
function sc(m,t,r,b,l)
	//{
	//if (typeof("message"+m) == 'object')//added to remove object error
	{
	if(ie||nsix||opsev)
		{document.getElementById("message"+m).style.clip="rect("+t+"px "+r+"px "+b+"px "+l+"px)";}
	else
		{
		with(document.layers.marquee.document["message"+m])
			{clip.top=t;clip.left=l;clip.width=l-r;clip.height=b-t;}
		}
	}//}
function sz(mn,zin)
	//{
	//if (typeof("message"+mn) == 'object')//added to remove object error
	{if(ie||nsix||opsev)
		{document.getElementById("message"+mn).style.zIndex=zin;}
	else
		{document.layers.marquee.document['message'+mn].zIndex=zin;}
	}//}
function sv(mn,tf)
	//{
	//if (typeof("message"+mn) == 'object')//added to remove object error
	{if(ie||nsix||opsev)
		{document.getElementById("message"+mn).style.visibility=(tf)?'visible':'hidden';}
	else
		{document.layers.marquee.document['message'+mn].visibility=(tf)?'show':'hide';}
	}//}
function movemsg()
	{
	if(du){vt-=(mh/msginc);}
	if(dl){vl-=(mw/msginc);}
	if(dd&&!du){vt+=(mh/msginc);}
	if(dr&&!dl){vl+=(mw/msginc);}
	sv(mc,true);
	if(trans=='contig'||trans=='uncover'||trans=='uncoverwipe')
		{st(mc,vt);sl(mc,vl);
		if(du){st(mc,vt);}
		if(dl){sl(mc,vl);}
		if(dd){st(mc,vt);}
		if(dr){sl(mc,vl);}
		}
	else if(trans=='coverwipe'&&!((dr||dl)&&(du||dd)))
		{
		at=0;
		ar=mw;
		ab=mh;
		al=0;
		sl(mc,0);
		st(mc,0);
		if(du){ab=mh+vt;}
		if(dl){ar=mw+vl}
		if(dd){at=vt}
		if(dr){al=vl}
		sc(mc,at,ar,ab,al);
		}
	else
		{sl(mc,0);
		st(mc,0);
		}
	mcp=mc+1;
	if(mcp>=msgn)
		{mcp=0;}
	if(trans=='uncover'||trans=='wipe')
		{sz(mc,2);}
	else
		{sz(mc,0);}
	if(trans=='wipe'||trans=='unwipe')
		{
		st(mc,0);
		sl(mc,0);
		st(mcp,0);
		sl(mcp,0);
		at=0;
		ar=mw;
		ab=mh;
		al=0;
		bt=0;
		br=mw;
		bb=mh;
		bl=0;
		if(du){ab=vt+mh;bt=vt+mh;}
		if(dl){ar=vl+mw;bl=vl+mw;}
		if(dd){at=vt;bb=vt;}
		if(dr){al=vl;br=vl;}
		if(trans=='wipe')
			{
			if(dl&&dr)
				{
				ar-=(vl/2);
				al=-(vl/2);
				br=mw;
				bl=0;
				}
			if(du&&dd)
				{
				at=-(vt/2);
				ab-=(vt/2);
				bt=0;
				bb=mh;
				}
			if((du||dd)&&(dl||dr))
				{bt=0;br=mw;bb=mh;bl=0;}
			}
		else
			{
			if(dl&&dr)
				{
				br=(mw/2)-(vl/2);
				bl=(mw/2)+(vl/2);
				ar=mw;
				al=0;
				}
			if(du&&dd)
				{
				bt=(mh/2)+(vt/2);
				bb=(mh/2)-(vt/2);
				at=0;
				ab=mh;
				}
			if((du||dd)&&(dl||dr))
				{
				at=0;
				ar=mw;
				ab=mh;
				al=0;
				}
			}
		at=(at<0)?0:at;
		ab=(ab>mh)?mh:ab;
		al=(al<0)?0:al;
		ar=(ar>mw)?mw:ar;
		bt=(bt<0)?0:bt;
		bb=(bb>mh)?mh:bb;
		bl=(bl<0)?0:bl;
		br=(br>mw)?mw:br;
		sc(mc,at,ar,ab,al);
		sc(mcp,bt,br,bb,bl);
		}
	sv(mcp,true);
	if(trans=='contig'||trans=='cover'||trans=='coverwipe')
		{
		st(mcp,vt);
		sl(mcp,vl);
		if(du){st(mcp,vt+mh);}
		if(dl){sl(mcp,vl+mw);}
		if(dd){st(mcp,vt-mh);}
		if(dr){sl(mcp,vl-mw);}
		}
	else if(trans=='uncoverwipe'&&!((dr||dl)&&(du||dd)))
		{
		bt=0;
		br=mw;
		bb=mh;
		bl=0;
		sl(mcp,0);
		st(mcp,0);
		if(du){bt=mh+vt;}
		if(dl){bl=mw+vl}
		if(dd){bb=vt}
		if(dr){br=vl}
		sc(mcp,bt,br,bb,bl);
		}
	else
		{
		sl(mcp,0);
		st(mcp,0);
		}
	if(trans=='uncover'||trans=='wipe'){sz(mcp,0);}
	else{sz(mcp,2);}
	stepf=false;
	if(du&&vt<=0-mh)
		{stepf=true;}
	if(dd&&vt>=mh)
		{stepf=true;}
	if(dl&&vl<=0-mw){stepf=true;}
	if(dr&&vl>=mw){stepf=true;}
	if(stepf)
		{
		sv(mc,false);
		st(mc,-1000);
		sl(mc,-1000);
		sz(mc,0);
		sc(mc,0,mw,mh,0);
		vl=0;
		vt=0;
		mc++;
		if(mc>=msgn)mc=0;
		mcp=mc+1;
		if(mcp>=msgn)mcp=0;
		sl(mc,vl);
		st(mc,vt);
		sc(mc,0,mw,mh,0);
		dpatc++;
		tpatc++;
		ipatc++;
		ppatc++;
		dpatc=(dpatc%dpat.length)?dpatc:0;
		tpatc=(tpatc%tpat.length)?tpatc:0;
		ipatc=(ipatc%ipat.length)?ipatc:0;
		ppatc=(ppatc%ppat.length)?ppatc:0;
		pflag=true;
		}
	}
function clientpause(tf)
	{
	if(!(ie||ns||nsix||opsev))return;
	clearInterval(IID);
	clearTimeout(TID);
	if(tf)
		{oflag=true;}
	else
		{oflag=false;pause();return;}
	// I removed this code to allow pause and resume when mouseover text
	//vl=0;
	//vt=0;
	//sc(mc,0,mw,mh,0);
	//sc(mcp,0,mw,mh,0);
	//sl(mc,vl);
	//st(mc,vt);
	//sz(mc,2);
	//sl(mcp,-1000);
	//st(mcp,-1000);
	//sz(mcp,0);
	}
function clientstep(stepd)
	{
	if(!(ie||ns||nsix||opsev))return;
	skipper=true;
	while(skipar[mc]=='skip'||skipper)
		{
		skipper=false;
		if(stepd=='back')
			{mc--;pnstep=-1;}
		else{mc++;pnstep=1;}
		if(mc>=msgn)mc=0;
		if(mc<0)mc=msgn-1;
		mcp=mc+1;
		if(mcp>=msgn)mcp=0;
		if(mcp<0)mcp=msgn-1;
		for(cz=0;cz<msgn;cz++)
			{
			sl(cz,-1000);
			st(cz,-1000);
			sz(cz,0);
			sv(mc,false)
			};
		vl=0;
		vt=0;
		sl(mc,vl);
		st(mc,vt);
		sz(mc,2);
		sv(mc,true);
		dpatc+=pnstep;
		tpatc+=pnstep;
		ipatc+=pnstep;
		ppatc+=pnstep;
		if(dpatc>=dpat.length)dpatc=0;
		if(dpatc<0)dpatc=dpat.length-1;
		if(tpatc>=tpat.length)tpatc=0;
		if(tpatc<0)tpatc=tpat.length-1;
		if(ppatc>=ppat.length)ppatc=0;
		if(ppatc<0)ppatc=ppat.length-1;
		if(ipatc>=ipat.length)ipatc=0;
		if(ipatc<0)ipatc=ipat.length-1;
		if(skipcount>=msgn)break;
		}
	}
if(ie||ns||nsix||opsev)
	{
	document.write('<style><!-- .marquee,.message{visibility:hidden;position:absolute;z-index:1;overflow:hidden;background-color:transparent;} --></style>');//removed layer-background-color:transparent;
	}
function rerepos()
	{
	repos();
	NTID=setTimeout("clearTimeout(NTID);repos();",500);
	}
if(ns||nsix)
	{
	window.onload=rerepos;
	window.onresize=rerepos;
	}
else
	{
	window.onload=repos;
	window.onresize=repos;
	}