// UDMv4.5 // Scrolling Menus extension v2.01 //
/***************************************************************\

  ULTIMATE DROP DOWN MENU Version 4.5 by Brothercake
  http://www.udm4.com/

\***************************************************************/


//scrolling menu parameters
um.scroll = [
	"300px", 		// maximum menu height ["px"|"%"]
	"2", 			// minimum scrolling speed ["n" pixels per iteration]
	"25", 			// maximum scrolling speed ["n" pixels per iteration]
	"110%", 		// acceleration ["%" per iteration]
	"lib/udm/i/scroll-up.gif", 	// scrollUP arrow ["image.gif"]
	"scroll up", 		// scrollUP alt text ["text"]
	"lib/udm/i/scroll-down.gif", 	// scrollDOWN arrow ["image.gif"]
	"scroll down", 		// scrollDOWN alt text ["text"]
	"Click to scroll %speed%", // vocabulary pattern-match for "click to scroll (slowly|quickly)"
	"slowly", 		// vocabulary for "slowly" [as in "click to scroll slowly"]
	"quickly", 		// vocabulary for "quickly" [as in "click to scroll quickly"]
	"yes", 			// show menus to browsers that don't support this extension ["yes"|"no"|"try"]
	];


/***************************************************************\
\***************************************************************/
var scr=new Object;um.scr=(!(um.mie||(um.o7&&!um.o75)));scr.se=(um.wie50);if((!um.scr&&um.scroll[11]!='yes')||(scr.se&&um.scroll[11]=='no')){um.nm=true;um.nr=true;}scr.me=null;if(um.scr){um.addReceiver(applyScrolling,'060');um.addReceiver(resetScrolling,'070');if(!scr.se){um.addReceiver(focusScrolling,'040');scr.ar=[];for(var i=0;i<2;i++){scr.ar[i]=new Image;scr.ar[i].src=um.baseSRC+um.scroll[i*2+4];}scr.ti=null;scr.sp=55;}}scr.gsh=function(){scr.wh=um.getWindowDimensions().y;scr.sh=(um.scroll[0].indexOf('%')!=-1)?((um.pi(um.scroll[0])/100)*scr.wh):um.pi(um.scroll[0]);if(scr.sh>scr.wh){scr.sh=scr.wh;}return scr.sh;};scr.gmh=function(me){scr.he=me.offsetHeight;scr.ma=scr.gsh();return (scr.he>scr.ma?scr.ma:scr.he);};scr.rge=function(node){scr.tg=['span','iframe'];for(var j=0; j<2; j++){scr.el=node.getElementsByTagName(scr.tg[j]);for(var i=0;i<scr.el.length;i++){scr.cn=um.es(scr.el[i].className);if(/udmS|udmC|scroll[A-Z]{2}/.test(scr.cn)){scr.el[i].parentNode.removeChild(scr.el[i]);}}}};scr.start=function(down){if(scr.me!=null&&scr.ti==null){scr.ani(down,null);}};scr.ani=function(down,to){if(scr.me==null){return false;}scr.ti=null;if(to!=null){scr.tp=to;scr.ps.now=scr.ps.def-scr.tp;}else{scr.tp+=(down?scr.re.now:(0-scr.re.now));scr.ps.now-=(down?scr.re.now:(0-scr.re.now));if(!scr.na){scr.re.now=(scr.re.now>=scr.re.max?scr.re.max:scr.re.now*=scr.re.rate);}}scr.ag=false;if(scr.tp+scr.ma>=scr.he){scr.tp=(scr.he-scr.ma);scr.ps.now=scr.ps.def-scr.tp;scr.rx=[1,0];}else if(scr.tp<=0){scr.tp=0;scr.ps.now=scr.ps.def;scr.rx=[0,1];}else{scr.ag=true;for(i=0;i<2;i++){scr.bn[i].main.style.visibility='visible';}scr.rx=null;}if(scr.rx!=null){if(!scr.na){scr.re.now=scr.re.min;}scr.bn[scr.rx[0]].inr.className=scr.bn[scr.rx[0]].inr.className.replace(/ scrollMOVING/g,'');scr.bn[scr.rx[0]].main.style.visibility='hidden';scr.bn[scr.rx[1]].main.style.visibility='visible';}scr.me.style.height=((scr.ma-scr.bd)+scr.tp)+'px';scr.me.style.clip='rect('+scr.tp+'px,'+scr.width+'px,'+(scr.ma+scr.tp)+'px,0px)';scr.me.style.marginTop=scr.ps.now+'px';if(to==null&&scr.ag){scr.dir=down;scr.ti=window.setTimeout('scr.ani(scr.dir,null)',scr.sp);}return scr.ag;};scr.stop=function(){if(scr.me!=null){clearTimeout(scr.ti);scr.ti=null;if(!scr.na){scr.re.now=scr.re.min;}}};function applyScrolling(me){scr.ma=scr.gsh();scr.he=me.offsetHeight;if(me.getElementsByTagName('ul').length>0){return false;}scr.pc=um.es(me.parentNode.parentNode.className);scr.is=scr.pc=='udm';if(scr.he>scr.ma){scr.bd=(um.q?0:((um.e[51]*2)+(um.e[55]*2)));scr.me=me;if(scr.se){me.style.overflowY='scroll';me.style.height=(scr.ma-scr.bd)+'px';}else{scr.re={'min':um.pi(um.scroll[1]),'max':um.pi(um.scroll[2]),'rate':(parseFloat(um.scroll[3],10)/100)};scr.re.now=scr.re.min;scr.ps={'def':um.pi(me.style.marginTop)};scr.ps.now=scr.ps.def;scr.tp=0;me.style.overflow='hidden';me.style.height=(scr.ma-scr.bd)+'px';scr.width=me.offsetWidth;me.style.clip='rect(0px,'+scr.width+'px,'+scr.ma+'px,0px)';scr.bn=[{'x':me.offsetLeft,'y':me.offsetTop,'alt':um.scroll[5],'classname':'scrollUP'},{'x':me.offsetLeft,'y':(me.offsetTop+scr.ma),'alt':um.scroll[7],'classname':'scrollDOWN'}];for(var i=0;i<2;i++){scr.attrs={'class':'scrollBUTTON'};scr.bn[i].main=me.parentNode.appendChild(um.createElement('span',scr.attrs));scr.bn[i].main.style.width=scr.width+'px';scr.attrs={'class':scr.bn[i].classname};scr.bn[i].out=scr.bn[i].main.appendChild(um.createElement('span',scr.attrs));scr.attrs={'class':'scrollINNER','title':um.scroll[8].replace('%speed%',um.scroll[9])};scr.bn[i].inr=scr.bn[i].out.appendChild(um.createElement('span',scr.attrs));scr.attrs={'alt':scr.bn[i].alt,'title':''};scr.bn[i].arrow=scr.bn[i].inr.appendChild(um.createElement('img',scr.attrs));scr.bn[i].arrow.src=scr.ar[i].src;scr.bn[i].main.style.left=(scr.bn[i].x-(um.s&&!um.s1&&!scr.is?um.e[51]:0))+'px';scr.bn[i].main.style.top=((i==0?scr.bn[i].y:(scr.bn[i].y-scr.bn[i].main.offsetHeight))-(um.s&&!um.s1&&!scr.is?um.e[51]:0))+'px';if(!um.ie){scr.bn[i].inr.contains=function(nd){if(nd==this){return true;}else if(nd==null){return false;}else{return this.contains(nd.parentNode);}};}scr.bn[i].inr.onmouseover=function(){scr.start(/scrollDOWN/.test(this.parentNode.className));this.className+=' scrollMOVING';};scr.bn[i].inr.onmouseout=function(e){if(!e){e=window.event;e.relatedTarget=e.toElement;}if(!this.contains(e.relatedTarget)){scr.stop();this.className=this.className.replace(/ scrollMOVING/g,'');}};scr.na=false;scr.bn[i].inr.onclick=function(){scr.na=true;if(scr.re.now==scr.re.min){scr.re.now=scr.re.max;}else{scr.re.now=scr.re.min;}for(var j=0; j<2; j++){scr.bn[j].inr.title=um.scroll[8].replace('%speed%',um.scroll[(scr.re.now==scr.re.min?10:9)]);}};if(i==1){scr.bn[i].main.style.visibility='visible';}}}}return true;};function focusScrolling(it){if(scr.me!=null){if(it.offsetTop==0){it=it.parentNode;}scr.fpos=(it.offsetTop+it.offsetHeight+scr.bn[1].main.offsetHeight);scr.half=(scr.ma/2)-scr.bd;if(scr.fpos>(scr.half+it.offsetHeight)){scr.ani(null,(scr.fpos-scr.half-it.offsetHeight))}else{scr.ani(null,0);}}};function resetScrolling(me){scr.rge(me.parentNode);scr.na=false;if(scr.me!=null){scr.rge(scr.me.parentNode);scr.me.style.overflow='auto';scr.me.style.height='auto';scr.me.style.clip='rect(auto,auto,auto,auto)';scr.me=null;}};