/* $DDRFreak: www/newpress/Playstation.com_files/jslib3_5.js,v 1.1 2003/02/09 02:30:32 evn Exp $ */
/*ps.com global v_constants - browser detection */
var
n=null, /* ***DEPRECATED*** */
n4=(document.layers)?1:0,
ie=(document.all)?1:0,
dom=(document.getElementById)?1:0,
n6=(dom&&(!ie))?1:0,
mac=(navigator.appVersion.indexOf('Mac')!=-1)?1:0,
slow=(n6||mac)?1:0,
pw=800, /* ***DEPRECATED*** */
pageWidth=800,
fr=(slow)?8:20, /* ***DEPRECATED*** */
frameRate=(slow)?8:20;

/* GLOBAL INIT STUFF */
var
onloadLayersToShow=[],
onloadPageCompInitFuncs=[],
mrsModules=[];

function onloadPageCompInit(){
	for(var i=0;i<onloadPageCompInitFuncs.length;i++){
		onloadPageCompInitFuncs[i]();
	}
}

function onloadShowLayers(){
	for(var i=0;i<onloadLayersToShow.length;i++){
		new ObjLayer(onloadLayersToShow[i],"",null,1);
	}
	/* For (var i=0;i<onloadLayersToShow.length;i++){
	  		alert(onloadLayersToShow[i]);
	} */
}

/*shorthands*/
function mr(x){return Math.round(x)}
function mf(x){return Math.floor(x)}
function ran(){return Math.random()}
function sto(a,b){return setTimeout(a,b)}

/*ps.com tools*/
function hex(x){
	var l="0123456789abcdef";
	return l.substr(mf(x/16),1)+l.substr(x%16,1)
}


/* *** DEPRECATED *** */
function fcalc(numFrames,ar,top){
	var dt=[(top[0]-ar[0])/numFrames,(top[1]-ar[1])/numFrames,(top[2]-ar[2])/numFrames];
	for(var i=0;i<=numFrames;i++)
		ar[i]="#"+hex(mr(top[0]-(dt[0]*i)))+hex(mr(top[1]-(dt[1]*i)))+hex(mr(top[2]-(dt[2]*i)))
}

function decToHex(x){
	var l="0123456789abcdef";
	return l.substr(mf(x/16),1)+l.substr(x%16,1)
}

function fadeCalc(fadeArray,numFrames,outColArray,overColArray){
	var deltaCol=[(outColArray[0]-overColArray[0])/numFrames,(outColArray[1]-overColArray[1])/numFrames,(outColArray[2]-overColArray[2])/numFrames];
	for(var i=0;i<=numFrames;i++){
		fadeArray[i]="#"+decToHex(mr(outColArray[0]-(deltaCol[0]*i)))+decToHex(mr(outColArray[1]-(deltaCol[1]*i)))+decToHex(mr(outColArray[2]-(deltaCol[2]*i)))
	}
}

/* N4 SCROLL FIXER */
var n4ScrollFixerWidthArray=[];
var n4ScrollFixerHeightArray=[];
function n4ScrollFixerRecurse(doc,xPos,yPos){
	for(var i=0;i<doc.layers.length;i++){
		var deWidth=n4ScrollFixerWidthArray[n4ScrollFixerWidthArray.length]=xPos+doc.layers[i].left+doc.layers[i].document.width;
		var deHeight=n4ScrollFixerHeightArray[n4ScrollFixerHeightArray.length]=yPos+doc.layers[i].top+doc.layers[i].document.height;
		n4ScrollFixerRecurse(doc.layers[i].document,xPos+doc.layers[i].left,yPos+doc.layers[i].top);
	}
}

function n4ScrollFixerSort(a,b){
	return (a - b);
}

function n4ScrollFixer(){
	n4ScrollFixerRecurse(document,0,0);
	var pageHeight=n4ScrollFixerHeightArray.sort(n4ScrollFixerSort)[n4ScrollFixerHeightArray.length-1];
	var pageWidth=n4ScrollFixerWidthArray.sort(n4ScrollFixerSort)[n4ScrollFixerWidthArray.length-1];
	document.write(getImg('<img src="/i/o.gif"')+' width="'+pageWidth+'" height="'+pageHeight+'" border="0" />');
}


/* DEPRECATED */
function showhid(){
	for(var i=0;i<hid.length;i++){
		var t=new ly(hid[i],"");
		t.sv(1);
	}
}

/* TOOL - A WINDOW OPENER */
var wH;
function awo(url,name,args) {
	wH=open(url,name,args);
	wH.focus();
}

/* IMAGE POSTLOADER */
function imgPostLoader(x){
	postLoadImgSwap(x);
	if(n4){
		for(var i=0;i<x.layers.length;i++){
			imgPostLoader(x.layers[i].document);
		}
	}
}

function postLoadImgSwap(x){
	for(var i=0;i<x.images.length;i++){
		if(x.images[i].name&&x.images[i].name.slice(0,4)=="ipl_"){
			x.images[i].src=x.images[i].name.slice(4);
		}
	}
}

/*ps.com objects*/
function ly(n,p){
	function g(n,o){if(o=="")return "document."+n;return "document."+o.slice(o.lastIndexOf(",")+1)+"."+g(n,o.lastIndexOf(",")==-1?"":o.slice(0,o.lastIndexOf(",")))}
	function m(){this.os.left=mr(this.px);this.os.top=mr(this.py)}
	function mn4(){this.ob.left=mr(this.px);this.ob.top=mr(this.py)}
	this.m=n4?mn4:m;
	function m2(x,y){this.px=x;this.py=y;this.m()}
	this.m2=m2;
	function m4(x,y){this.px+=x;this.py+=y;this.m()}
	this.m4=m4;
	function m0(){this.m2(0,0)}
	this.m0=m0;
	function c(){this.os.clip="rect("+mr(this.ct)+"px "+mr(this.cr)+"px "+mr(this.cb)+"px "+mr(this.cl)+"px)"}
	function cn4(){this.ob.clip.left=mr(this.cl);this.ob.clip.top=mr(this.ct);this.ob.clip.right=mr(this.cr);this.ob.clip.bottom=mr(this.cb)}
	this.c=n4?cn4:c;
	function c2(l,t,r,b){this.cl=l;this.ct=t;this.cr=r;this.cb=b;this.c()}
	this.c2=c2;
	function c4(l,t,r,b){this.cl+=l;this.ct+=t;this.cr+=r;this.cb+=b;this.c()}
	this.c4=c4;
	function c0(){this.c2(0,0,0,0)}
	this.c0=c0;
	function sv(v){this.lv=mr(v);this.os.visibility=(this.lv==1)?"visible":((this.lv==0)?"hidden":"inherit")}
	function svn4(v){this.lv=mr(v);this.ob.visibility=(this.lv==1)?"show":((this.lv==0)?"hide":"inherit")}
	this.sv=n4?svn4:sv;
	function z(){this.os.zIndex=this.lz}
	function zn4(){this.ob.zIndex=this.lz}
	this.z=n4?zn4:z;
	function z2(z){this.lz=mr(z);this.z()}
	this.z2=z2;
	function z4(z){this.lz+=mr(z);this.z()}
	this.z4=z4;
	function zr(){this.z4(1)}
	this.zr=zr;
	function zl(){this.z4(-1)}
	this.zl=zl;
	function tc(c){this.ht=c;this.os.color=c}
	function tcn4(c){this.ht=c}
	this.tc=n4?tcn4:tc;
	function wr(s){this.s=s;this.ob.innerHTML=this.s}
	function wrn4(s){this.s=s;this.ob.document.write(this.s);this.ob.document.close()}
	this.wr=n4?wrn4:wr;
	this.n=n;
	this.p=p;
	this.ob=n4?eval(g(n,p)):(n6?document.getElementById(n):eval("document.all."+n));
	this.os=n4?null:this.ob.style
}

function ObjLayer(id,path,width,vis,pos,clip,zOrd,bgColour,textCol){
	function genN4Addr(n,o){if(o==""){return "document."+n;}return "document."+o.slice(o.lastIndexOf(",")+1)+"."+genN4Addr(n,o.lastIndexOf(",")==-1?"":o.slice(0,o.lastIndexOf(",")));}
	this.pushWidth=n4?function(){this.ob.width=mr(this.width);}:function(){this.os.width=mr(this.width);}
	this.widthTo=function(lw){this.width=lw;this.pushWidth();}
	this.widthBy=function(lw){this.width+=lw;this.pushWidth();}
	this.setVis=n4?function(v){this.vis=mr(v);this.ob.visibility=(this.vis==1)?"show":((this.vis==0)?"hide":"inherit");}:function(v){this.vis=mr(v);this.os.visibility=(this.vis==1)?"visible":((this.vis==0)?"hidden":"inherit");}
	this.pushPos=n4?function(){this.ob.left=mr(this.posX);this.ob.top=mr(this.posY)}:function(){this.os.left=mr(this.posX);this.os.top=mr(this.posY)}
	this.moveTo=function(x,y){this.posX=x;this.posY=y;this.pushPos();}
	this.moveBy=function(x,y){this.posX+=x;this.posY+=y;this.pushPos();}
	this.moveToOrigin=function(){this.moveTo(0,0);}
	this.pushClip=n4?function(){this.ob.clip.left=mr(this.clipLeft);this.ob.clip.top=mr(this.clipTop);this.ob.clip.right=mr(this.clipRight);this.ob.clip.bottom=mr(this.clipBottom);}:function(){this.os.clip="rect("+mr(this.clipTop)+"px "+mr(this.clipRight)+"px "+mr(this.clipBottom)+"px "+mr(this.clipLeft)+"px)";}
	this.clipTo=function(l,t,r,b){this.clipLeft=l;this.clipTop=t;this.clipRight=r;this.clipBottom=b;this.pushClip();}
	this.clipBy=function(l,t,r,b){this.clipLeft+=l;this.clipTop+=t;this.clipRight+=r;this.clipBottom+=b;this.pushClip();}
	this.clipToOrigin=function(){this.clipTo(0,0,0,0);}
	this.pushZ=n4?function(){this.ob.zIndex=this.zOrd;}:function(){this.os.zIndex=this.zOrd;}
	this.zTo=function(z){this.zOrd=mr(z);this.pushZ();}
	this.zBy=function(z){this.zOrd+=mr(z);this.pushZ();}
	this.zToOrigin=function(){this.zTo(0);}
	this.zRaise=function(){this.zBy(1);}
	this.zLower=function(){this.zBy(-1);}
	this.colourBG=n4?function(c){this.bgColour=c;this.ob.bgColor=c;}:function(c){this.bgColour=c;this.os.backgroundColor=c;}
	this.colourText=n4?function(c){this.textCol=c;}:function(c){this.textCol=c;this.os.color=c;}
	this.getRenderWidth=n4?function(){return this.ob.document.width}:function(){return this.ob.offsetWidth}
	this.getRenderHeight=n4?function(){return this.ob.document.height}:function(){return this.ob.offsetHeight}
	this.load=n4?function(html){this.html=html;this.ob.document.open();this.ob.document.write(this.html);this.ob.document.close();return [this.getRenderWidth(),this.getRenderHeight()];}:function(html){this.html=html;this.ob.innerHTML=this.html;return [this.getRenderWidth(),this.getRenderHeight()];}
	var defWidth=100;
	this.id=id;
	this.path=path;
	var existLayer=n4?eval(genN4Addr(id,path)):document.getElementById(id)
	if(existLayer){//exists?map!
		this.ob=existLayer;
		if(!n4){this.os=this.ob.style;}
		if(width!=null&&isFinite(width)){this.widthTo(width);}
	}
	else{//else?create!
		if(n4){
			if(path==""){this.ob=eval("document."+id+"=document.layers[\""+id+"\"]=new Layer("+(width?width:defWidth)+")");}
			else{
				var tmp=genN4Addr(id,path).substring(0,genN4Addr(id,path).lastIndexOf('.document.'));
				this.ob=eval(tmp+".document."+id+"="+tmp+".document.layers[\""+id+"\"]=new Layer("+(width?width:defWidth)+","+tmp+")");
			}
			this.width=width?width:defWidth;
		}
		else{
			this.ob=document.createElement('div');
			this.ob.id=id;
			if(path==""){document.body.appendChild(this.ob);}
			else{document.getElementById(path.substring(0,path.indexOf(',')==-1?path.length:path.indexOf(','))).appendChild(this.ob);}
			this.os=this.ob.style;
			this.widthTo(width?width:defWidth);
		}
	}
	if(vis!=null&&isFinite(vis)){
		this.setVis(vis);
	}//else{this.setVis(2);}
	if(pos&&isFinite(pos[1])){
		this.moveTo(pos[0],pos[1]);
	}//else{this.moveToOrigin();}
	if(clip&&isFinite(clip[3])){
		this.clipTo(clip[0],clip[1],clip[2],clip[3]);
	}
	if(zOrd!=null&&isFinite(zOrd)){
		this.zTo(zOrd);
	}//else{this.zToOrigin();}
	if(bgColour!=null){
		this.colourBG(bgColour);
	}
	if(textCol!=null){
		this.colourText(textCol);
	}
}

/* ANIMATION ENGINE - ***DEPRECATED*** */
function ae(n){
	function add(x){
		if(x.ae==0){
			this.o[this.o.length]=x;
			x.ae=1
		}
	}
	this.add=add;
	function del(x){
		var t=new Array();
		for(var i=0;i<this.o.length;i++)
			if(this.o[i]!=x)t[t.length]=this.o[i];
			else this.o[i].ae=0;this.o=t
	}
	this.del=del;
	function go(fr){
		this.fd=1000/fr;
		this.cl=setInterval(this.n+".af()",this.fd)
	}
	this.go=go;
	function af(){
		for(var i=0;i<this.o.length;i++)
			this.o[i].af();
	}
	this.af=af;
	function stop(){
		clearInterval(this.cl)
	}
	this.stop=stop;
	this.o=new Array();
	this.n=n
}

/* ANIMATION ENGINE */
function ObjAnimEngine(name,frameRate){
	// methods
	this.add=function(obj){
		if(obj.animEngineServiced==0){
			this.servicedObjs[this.servicedObjs.length]=obj;
			obj.animEngineServiced=1;
		}
	}
	this.remove=function(obj){
		var tempServicedObjs=[];
		for(var i=0;i<this.servicedObjs.length;i++){
			if(this.servicedObjs[i]!=obj){
				tempServicedObjs[tempServicedObjs.length]=this.servicedObjs[i];
			}
			else{
				this.servicedObjs[i].animEngineServiced=0;
			}
		}
		this.servicedObjs=tempServicedObjs;
	}
	this.go=function(frameRate){
		this.frameDelay=1000/frameRate;
		this.timeline=setInterval(this.name+".animFrame()",this.frameDelay)
	}
	this.stop=function(){
		clearInterval(this.timeline)
	}
	this.animFrame=function(){
		for(var i=0;i<this.servicedObjs.length;i++){
			this.servicedObjs[i].animFrame();
		}
	}
	//properties
	this.servicedObjs=[];
	this.name=name;
	if(frameRate&&isFinite(frameRate)){
		this.go(frameRate);
	}
}

/* MASTHEAD */
function ObjMasthead(){
	this.animFrame=function(){
		for(var i=0;i<4;i++){
			//reset condition (all off the left)
			if(this.tabProws[i].posX < -this.tabWidth[i]){
				this.animReset(i);
			}
			//move prow (always happens)
			this.tabProws[i].moveBy(-this.tabAnimDelta[i],0);
			//treat the hulls
			if(this.trackWidth-this.tabProws[i].posX < this.tabWidth[i]){
				this.tabHulls[i].clipTo(this.tabProws[i].posX-(this.trackWidth-this.hullWidth)+this.prowWidth,this.tabHulls[i].clipTop,this.hullWidth,this.tabHulls[i].clipBottom);
			}
			else{
				if(this.tabFullWidth[i]==0){
					this.tabHulls[i].clipTo(this.hullWidth-this.tabWidth[i]+this.prowWidth,this.tabHulls[i].clipTop,this.hullWidth,this.tabHulls[i].clipBottom);
					this.tabFullWidth[i]=1;
				}
				this.tabHulls[i].moveTo(this.tabProws[i].posX-(this.hullWidth-this.tabWidth[i]),this.tabHulls[i].posY)
			}
		}
	}
	this.animEngineServiced=0;
	this.animReset=function(i){
		this.tabWidth[i]=(Math.round(Math.random()*(150-(i*30)))+100)*2;
		var baseSpeed=((Math.random()*0.8)+0.2)*(i+1);
		this.tabAnimDelta[i]=(slow)?((i==3)?6:baseSpeed*2.5):((i==3)?2:baseSpeed);
		this.tabFullWidth[i]=0;
		this.tabProws[i].moveTo(this.trackWidth-this.prowWidth,-i*25);
		this.tabHulls[i].moveTo(this.trackWidth-this.hullWidth,-i*25);
		this.tabHulls[i].clipTo(this.hullWidth,i*25,this.hullWidth,i*25+25)
	}
	this.init=function(){
		animEng.add(this);
		this.container.setVis(1);
	}
	// set core control vars
	this.prowWidth=40;
	this.hullWidth=460;
	this.trackOffset=208;
	this.trackWidth=pageWidth-this.trackOffset;
	// assign handles to object layers
	this.container=new ObjLayer("masthead","",pageWidth,0,[0,0],[0,0,pageWidth,65],100);
	// get correct anti-alias image for the curve
	this.curve=new ObjLayer("mastCurve","masthead",38,2,[0,(-curveAlias*36)+29],[0,curveAlias*36,38,(curveAlias*36)+36],10);
	// corner
	this.corner=new ObjLayer("mastCorner","masthead",41,2,[pageWidth-41,0],null,10);
	// the tabs
	this.tabs=new ObjLayer("mastTrack","masthead",this.trackWidth,2,[this.trackOffset,0],[0,0,this.trackWidth,25],0);
	this.tabWidth=[];//tl
	this.tabAnimDelta=[];//tm
	this.tabFullWidth=[];//to
	this.tabProws=[];
	this.tabHulls=[];
	for(var i=0;i<4;i++){
		this.tabProws[i]=new ObjLayer("mastProw"+i,"mastTrack,masthead",this.prowWidth,2,null,[0,i*25,this.prowWidth,i*25+25],i);
		this.tabHulls[i]=new ObjLayer("mastHull"+i,"mastTrack,masthead",this.hullWidth,2,null,null,i);
		this.animReset(i);
	}
}

/* MASTHEAD - ***DEPRECATED*** */
function mast(){
	function af(){
		for(var i=0;i<4;i++){
			if(this.ta[i].px<-this.tl[i])this.rs(i);
			this.ta[i].m4(-this.tm[i],0);
			if(this.tw-this.ta[i].px<this.tl[i])this.tz[i].c2(this.ta[i].px-(this.tw-this.rw)+this.lw,i*25,this.rw,i*25+25);
			else{
				if(this.to[i]==0){
					this.tz[i].c2(this.rw-this.tl[i]+this.lw,this.tz[i].ct,this.rw,this.tz[i].cb);
					this.to[i]=1
				}
				this.tz[i].m2(this.ta[i].px-(this.rw-this.tl[i])-2,this.tz[i].py)
			}
		}
	}
	this.af=af;
	this.ae=0;
	function rs(i){
		this.tl[i]=(mr(ran()*(150-(i*30)))+100)*2;
		var spd=((ran()*0.8)+0.2)*(i+1);
		this.tm[i]=(n6)?((i==3)?10:spd*2.5):((i==3)?2:spd);
		this.to[i]=0;
		this.ta[i].m2(this.tw-this.lw,-i*25);
		this.tz[i].m2(this.tw-this.rw,-i*25);
		this.tz[i].c2(this.rw,i*25,this.rw,i*25+25)
	}
	this.rs=rs;
	this.lw=40;
	this.rw=460;
	this.tw=pw-208;
	this.con=new ly("mast","");
	this.con.c2(0,0,pw,65);
	this.cur=new ly("mcur","mast");
	this.cur.m2(0,-pcls*36+29);
	this.cur.c2(0,pcls*36,38,pcls*36+36);
	this.cor=new ly("mcor","mast");
	this.cor.m2(pw-41,0);
	this.tab=new ly("mtab","mast");
	this.tab.c2(0,0,this.tw,25);
	this.tl=new Array();
	this.tm=new Array();
	this.to=new Array();
	this.ta=new Array();
	this.tz=new Array();
	for(var i=0;i<4;i++){
		this.ta[i]=new ly("mta"+i,"mtab,mast");
		this.ta[i].c2(0,i*25,this.lw,i*25+25);
		this.tz[i]=new ly("mtz"+i,"mtab,mast");
		this.rs(i)
	}
	a_.add(this);
	this.con.sv(1)
}

/* POLL - ***DEPRECATED*** */
function poll(st){
	function af(){
		clearTimeout(this.stop);
		if(this.st==0){
			this.ct++;
			this.con.m2(this.xp[this.ct],this.yp);
			if(this.ct==this.fc){
				a_.del(this);
				this.st=1
			}
		}
		else{
			this.ct--;
			this.con.m2(this.xp[this.ct],this.yp);
			if(this.ct==0){
				a_.del(this);
				this.st=0
			}
		}
	}
	this.af=af;
	this.ae=0;
	this.con=new ly("poll","");
	this.xp=(slow)?[-156,-89,-39,-10,0]:[-156,-128,-101,-77,-57,-40,-25,-14,-6,-2,0];
	this.yp=360;
	this.fc=this.xp.length-1;
	this.ac=0;
	this.st=st;
	this.ct=(this.st)?this.fc:0;
	if(this.st==0){
		this.con.m2(this.xp[0],this.yp);
		this.stop=sto("a_.add(p_)",2000)
	}
	else this.con.m2(this.xp[this.fc],this.yp);
	this.con.sv(1)
}

/* POLL */
function ObjPoll(){
	this.animFrame=function(){
		clearTimeout(this.stop);
		if(this.state==0){
			this.step++;
			this.container.moveTo(this.xPath[this.step],this.yPos);
			if(this.step==this.frameCount){
				this.state=1
				animEng.remove(this);
			}
		}
		else{
			this.step--;
			this.container.moveTo(this.xPath[this.step],this.yPos);
			if(this.step==0){
				this.state=0
				animEng.remove(this);
			}
		}
	}
	this.animEngineServiced=0;
	this.init=function(startState){
		this.state=startState;
		this.step=(this.state)?this.frameCount:0;
		if(this.state==0){
			this.container.moveTo(this.xPath[0],this.yPos);
			this.stop=setTimeout("animEng.add(pollHandle)",2000);
		}
		else{
			this.container.moveTo(this.xPath[this.frameCount],this.yPos);
		}
		this.container.setVis(1);
	}
	this.container=new ObjLayer("poll","",174,0,[-156,381],null,100);
	this.xPath=(slow)?[-156,-89,-39,-10,0]:[-156,-128,-101,-77,-57,-40,-25,-14,-6,-2,0];
	this.yPos=this.container.posY;
	this.frameCount=this.xPath.length-1;
}

/* COLUMN - ***DEPRECATED*** */
function col(pf,ni){
	function af(){
		this.fx++;
		for(var i=1;i<=this.ni;i++){
			this.hi[i].tc(cfade[this.fx]);
			this.ti[i].tc(cfade[this.fx])
		}
		if(this.fx==cfade.length){
			a_.del(this);
			this.fx=0
		}
	}
	this.af=af;
	this.ae=0;
	function on(){
		a_.del(this);
		this.fx=0;
		for(var i=1;i<=this.ni;i++){
			this.hi[i].tc(cfade[0]);
			this.ti[i].tc(cfade[0])
		}
	}
	this.on=on;
	function off(){
		a_.add(this)
	}
	this.off=off;
	this.con=new ly(pf+"col","");
	this.ni=ni;
	this.hi=new Array();
	this.ti=new Array();
	this.fx=0;
	for(var i=1;i<=this.ni;i++){
		this.hi[i]=new ly(pf+"head"+i,pf+"col");
		this.ti[i]=new ly(pf+"text"+i,pf+"col")
	}
	this.con.sv(1)
}

/* COLUMN*** */
function ObjColumn(fadeArray,prefix,numItems){
	this.animFrame=function(){
		for(var i=1;i<=this.numItems;i++){
			this.headerItem[i].colourText(fadeArray[this.step]);
			this.teaserItem[i].colourText(fadeArray[this.step]);
		}
		this.step--;
		if(this.step<0){
			animEng.remove(this);
			this.step=fadeArray.length-1
		}
	}
	this.animEngineServiced=0;
	this.on=function(){
		animEng.remove(this);
		this.step=fadeArray.length-1;
		for(var i=1;i<=this.numItems;i++){
			this.headerItem[i].colourText(fadeArray[this.step]);
			this.teaserItem[i].colourText(fadeArray[this.step]);
		}
	}
	this.off=function(){
		animEng.add(this);
	}
	this.container=new ObjLayer(prefix+"col","");
	this.numItems=numItems;
	this.headerItem=[];
	this.teaserItem=[];
	this.step=fadeArray.length-1;
	for(var i=1;i<=this.numItems;i++){
		this.headerItem[i]=new ObjLayer(prefix+"head"+i,prefix+"col");
		this.teaserItem[i]=new ObjLayer(prefix+"text"+i,prefix+"col")
	}
	this.init=function(){
		this.container.setVis(1);
	}
}

/* TICKER - ***DEPRECATED*** */
function tic(){
	function afn6(){
		this.rs();
		var s='<a href="'+t_url[this.ti]+'" style="font-family:arial,helvetica,sans-serif;font-size:11px;letter-spacing:1px;color:#ffffff;text-decoration:none">'+t_txt[this.ti]+'</a>';
		this.anc.wr(s);
		a_.del(this);
		sto("a_.add(t_)",3000)
	}
	function af(){
		if(this.fx==0)this.rs();
		if(this.fx<=this.cc){
			if(t_txt[this.ti].charAt(this.fx-1)=="&")this.fx+=t_txt[this.ti].substr(this.fx-1).indexOf(";");
			var s='<a href="'+t_url[this.ti]+'" style="font-family:arial,helvetica,sans-serif;font-size:'+((n4)?'12':'11')+'px;letter-spacing:1px;color:#ffffff;text-decoration:none">'+t_txt[this.ti].substring(0,this.fx)+'</a>';
			this.anc.wr(s)
		}
		if(this.fx==this.cc){
			this.fx=0;
			a_.del(this);
			sto("a_.add(t_)",3000)
		}
		else this.fx++
	}
	this.af=n6?afn6:af;
	this.ae=0;
	function rs(){
		this.ti++;
		if(this.ti==t_url.length)this.ti=1;
		if(!n6)this.cc=t_txt[this.ti].length
	}
	this.rs=rs;
	if(t_url.length>1){
		this.con=new ly("tick","");
		this.anc=new ly("ticklink","tick");
		this.ti=0;
		this.fx=0;
		this.rs();
		a_.add(this);
		this.con.sv(1)
	}
}

/* TICKER */
function ObjTicker(){
	function animFrameN6(){
		this.reset();
		var anchorString='<a href="'+tickerURLs[this.current]+'" style="font-family:arial,helvetica,sans-serif;font-size:11px;letter-spacing:1px;color:#ffffff;text-decoration:none">'+tickerText[this.current]+'</a>';
		this.anchor.load(anchorString);
		animEng.remove(this);
		setTimeout("animEng.add(ticker)",3000);
	}
	function animFrame(){
		if(this.step==0){
			this.reset();
		}
		if(this.step<=this.charCount){
			if(tickerText[this.current].charAt(this.step-1)=="&"){
				this.step+=tickerText[this.current].substr(this.step-1).indexOf(";");
			}
			var anchorString='<a href="'+tickerURLs[this.current]+'" style="font-family:arial,helvetica,sans-serif;font-size:'+((n4)?'12':'11')+'px;letter-spacing:1px;color:#ffffff;text-decoration:none">'+tickerText[this.current].substring(0,this.step)+'</a>';
			this.anchor.load(anchorString);
		}
		if(this.step==this.charCount){
			this.step=0;
			animEng.remove(this);
			setTimeout("animEng.add(ticker)",3000)
		}
		else{
			this.step++
		}
	}
	this.animFrame=n6?animFrameN6:animFrame;
	this.animEngineServiced=0;
	this.reset=function(){
		this.current++;
		if(this.current==tickerURLs.length)this.current=1;
		if(!n6)this.charCount=tickerText[this.current].length;
	}

	this.init=function(){
		animEng.add(this);
		this.container.setVis(1);
	}
	if(tickerURLs.length>1){
		this.container=new ObjLayer("tick","");
		this.anchor=new ObjLayer("ticklink","tick");
		this.current=0;
		this.step=0;
		this.reset();
	}
}

function modsSort(a,b){
	return a.seq-b.seq;
}

var modZInd=0;
function genZind(){
	return modZInd++;
}

/* Arrange mrsModules *****deprecated** */
function arrangeMods(footer){
	mods.sort(modsSort);
	var wideOffs=65;
	var leftOffs=0;
	var rightOffs=0;
	var promoOffs=70;
	var vGutter=15;
	for(var i=0;i<mods.length;i++){
		if(mods[i].slot=='TopLeftWide'){
			mods[i].modLayer.moveTo(190,wideOffs);
			mods[i].modLayer.zTo(genZind())
			wideOffs+=(mods[i].height+vGutter);
		}
	}
	for(var i=0;i<mods.length;i++){
		if(mods[i].slot=='LeftMedium'){
			mods[i].modLayer.moveTo(190,wideOffs+leftOffs);
			mods[i].modLayer.zTo(genZind())
			leftOffs+=(mods[i].height+vGutter);
		}
	}
	for(var i=0;i<mods.length;i++){
		if(mods[i].slot=='MiddleMedium'){
			mods[i].modLayer.moveTo(400,wideOffs+rightOffs);
			mods[i].modLayer.zTo(genZind())
			rightOffs+=(mods[i].height+vGutter);
		}
	}
	for(var i=0;i<mods.length;i++){
		if(mods[i].slot=='RightNarrow'){
			mods[i].modLayer.moveTo(610,promoOffs);
			mods[i].modLayer.zTo(genZind())
			promoOffs+=(mods[i].height+vGutter);
		}
	}
	if(footer){
		var footerOffs=promoOffs;
		if(footerOffs<wideOffs+leftOffs){
			footerOffs=wideOffs+leftOffs;
		}
		if(footerOffs<wideOffs+rightOffs){
			footerOffs=wideOffs+rightOffs;
		}
		homeFooter.moveTo(190,footerOffs);
		homeFooter.zTo(genZind())
	}
}

function arrangeMRSModules(vGutter,footer){
	mrsModules.sort(modsSort);
	var wideOffs=65;
	var leftOffs=0;
	var rightOffs=0;
	var promoOffs=70;
	var vGutter=vGutter;
	for(var i=0;i<mrsModules.length;i++){
		if(mrsModules[i].slot=='TopLeftWide'){
			mrsModules[i].modLayer.moveTo(190,wideOffs);
			mrsModules[i].modLayer.zTo(genZind())
			wideOffs+=(mrsModules[i].height+vGutter);
		}
	}
	for(var i=0;i<mrsModules.length;i++){
		if(mrsModules[i].slot=='LeftMedium'){
			mrsModules[i].modLayer.moveTo(190,wideOffs+leftOffs);
			mrsModules[i].modLayer.zTo(genZind())
			leftOffs+=(mrsModules[i].height+vGutter);
		}
	}
	for(var i=0;i<mrsModules.length;i++){
		if(mrsModules[i].slot=='MiddleMedium'){
			mrsModules[i].modLayer.moveTo(400,wideOffs+rightOffs);
			mrsModules[i].modLayer.zTo(genZind())
			rightOffs+=(mrsModules[i].height+vGutter);
		}
	}
	for(var i=0;i<mrsModules.length;i++){
		if(mrsModules[i].slot=='RightNarrow'){
			mrsModules[i].modLayer.moveTo(610,promoOffs);
			mrsModules[i].modLayer.zTo(genZind())
			promoOffs+=(mrsModules[i].height+vGutter);
		}
	}
	if(footer){
		var footerOffs=promoOffs;
		if(footerOffs<wideOffs+leftOffs){
			footerOffs=wideOffs+leftOffs;
		}
		if(footerOffs<wideOffs+rightOffs){
			footerOffs=wideOffs+rightOffs;
		}
		homeFooter.moveTo(190,footerOffs);
		homeFooter.zTo(genZind())
	}
}

function arrangeNavCol(){
	var vGutter=10;
	var currYOffset=PSNB_Menu.yCoOrd+PSNB_Menu.renderHeight+(vGutter*3);
	var currHandle;
	for(var i=0;i<navCol.length;i++){
		if(isNaN(navCol[i])){
			currHandle=new ObjLayer(navCol[i],'',175,1,[0,currYOffset],n,0);
			currYOffset+=currHandle.getRenderHeight()+vGutter;
			currHandle=null;
		}
		else{
			p_.con.m2(p_.con.px,currYOffset+navCol[i]);
			p_.yp=currYOffset+navCol[i];
		}
	}
}

/** |\ |  /\  | / |")  /\  |")   /"  |_" |\ | |_" |")  /\  "|" /"\ |") **/
/** | \| /~~\ |/  |_) /~~\ | \   \_] |__ | \| |__ | \ /~~\  |  \_/ | \ **/

/*RENDER VARIABLES*/
//DISPLAY
var menuItemHeight=18;
var menuHorPadding=10;
var menuVerPadding=1;
var menuSubIndSpace=15;
var menuSubIndText='&raquo;';
/*END RENDER VARIABLES*/

/*BEHAVIOUR VARIABLES*/
//DELAYS IN MILLISECS
var menuOpenDelay=200;
var menuCloseDelay=600;
//HANDLES FOR DELAYED ACTIONS
var menuDelayedOpen;
var menuDelayedClose;
//HANDLE FOR CURR ITEM
var menuCurrItem=null;
var menuOldItem=null;
/*END BEHAVIOUR VARIABLES*/

/*MENU LAYER ID GENERATOR*/
var menuID=0;
function genMenuID(){
	return "menu"+(menuID++);
}

/*MENU OBJECTS*/
function ObjMenuRoot(pX,pY,pItemW,pItems){
	this.xCoOrd=pX;
	this.yCoOrd=pY;
	this.itemWidth=pItemW;
	this.items=pItems;
	this.dispHandle=null;

	//onload creation method
	this.build=function(){
	//RENDER MENU
		var menuContLayerID=genMenuID();
		this.dispHandle=new ObjLayer(menuContLayerID,"",this.menuWidth,0,[this.xCoOrd,this.yCoOrd],[0,0,this.itemWidth,((this.items.length-1)*21)],1000);
		this.dispItemCont=[];//RENDER ITEM LAYER CONTAINERS
		this.dispItemBack=[];
		this.dispItemLabel=[];
		this.dispItemOver=[];
		for(var i=1;i<this.items.length;i++){
			var itemContLayerID=genMenuID();
			var imgFileName=menuColPageRef+this.items[i].label+'_'+menuColLocaleRef+'.gif';
			this.dispItemCont[i]=new ObjLayer(itemContLayerID,menuContLayerID,this.itemWidth,2,[0,(i-1)*21],[0,0,this.itemWidth,menuItemHeight],i);
			this.dispItemBack[i]=new ObjLayer(genMenuID(),itemContLayerID+','+menuContLayerID,this.itemWidth,2,null,null,1);
			this.dispItemBack[i].load(getImg('<img src="'+imgFileName+'" border="0" />'));
			this.dispItemOver[i]=new ObjLayer(genMenuID(),menuContLayerID,this.itemWidth,2,[0,(i-1)*21],[0,0,this.itemWidth,menuItemHeight],i+1);
			this.dispItemOver[i].load('<a href="'+this.items[i].url+'"'+((this.items[i].target==null)?'':(' target="'+this.items[i].target+'"'))+' onmouseover="'+handle+'.over('+i+')" onmouseout="'+handle+'.out('+i+')">'+getImg('<img src="/i/o.gif" width="')+this.itemWidth+'" height="'+menuItemHeight+'" border="0" /></a>');
			if(this.items[i].items!=null){
				this.items[i].build([i],this.xCoOrd+this.itemWidth,this.yCoOrd+(21*(i-1)))
			}
			else{
				this.items[i].hasMenu=0;
				this.items[i].itemPath=[i];
			}
		}
		this.dispHandle.setVis(1);
		this.renderHeight=(this.items.length-1)*21;
	}
	this.over=function (x){
		self.clearTimeout(menuDelayedClose);
		menuCurrItem=this.items[x];
		menuDelayedOpen=window.setTimeout("menuOpen()",menuOpenDelay);
		pathItemLo();
		pathItemHi();
	}
	this.out=function(x){
		this.itemLo(x);
		window.clearTimeout(menuDelayedOpen)
		menuOldItem=menuCurrItem;
		menuCurrItem=null;
		menuDelayedClose=window.setTimeout("itemClose()",menuCloseDelay);
	}
	this.itemHi=function(x){
		this.dispItemBack[x].moveTo(0,-menuItemHeight)
	}
	this.itemLo=function(x){
		this.dispItemBack[x].moveTo(0,0)
	}
}

function ObjMenu(pLabel,pURL,pTarget,pItems){
	this.label=pLabel;
	this.url=pURL;
	this.target=pTarget;
	this.items=pItems;
	this.dispHandle=null;

	//onload creation method
	this.build=function(pItemPath,pX,pY){
		this.hasMenu=1;
		this.itemPath=pItemPath;
		this.xCoOrd=pX;
		this.yCoOrd=pY;
		this.menuOpen=0;
	//RENDER MENU
		var menuContLayerID=genMenuID();
		this.dispHandle=new ObjLayer(menuContLayerID,"",n,0,[this.xCoOrd,this.yCoOrd],n,1000);
		this.dispItemCont=[];
		this.dispItemBack=[];
		this.dispItemLabel=[];
		this.dispItemOver=[];
		this.dispSubMenuInd=[];
		var itemContLayerID=[];
		var submenus=0;
		this.itemWidth=0;
		for(var i=1;i<this.items.length;i++){
			itemContLayerID[i]=genMenuID();
			this.dispItemCont[i]=new ObjLayer(itemContLayerID[i],menuContLayerID,1,2,[0,(i-1)*menuItemHeight]);
			this.dispItemLabel[i]=new ObjLayer(genMenuID(),itemContLayerID[i]+','+menuContLayerID,1,2,[menuHorPadding,menuVerPadding],null,2);
			var idBit="";
			for(var j=0;j<this.itemPath.length;j++){
				idBit+=this.itemPath[j]+"_";
			}
			idBit+=i;
			var renderWidth=this.dispItemLabel[i].load('<pre id="'+idBit+'" class="menuLabel">'+this.items[i].label+'</pre>')[0];
			if(n6){
				renderWidth=document.getElementById(idBit).offsetWidth;
			}
			this.itemWidth=(renderWidth>this.itemWidth)?renderWidth:this.itemWidth;
			if(this.items[i].items!=null){
				submenus=1;
			}
		}
		this.itemWidth+=(menuHorPadding*2)+(submenus?menuSubIndSpace:0);
		for(var i=1;i<this.items.length;i++){
			this.dispItemCont[i].clipTo(0,0,this.itemWidth,menuItemHeight)
			this.dispItemLabel[i].clipTo(0,0,this.itemWidth,menuItemHeight)
			this.dispItemBack[i]=new ObjLayer(genMenuID(),itemContLayerID[i]+','+menuContLayerID,this.itemWidth,2,[0,0],[0,0,this.itemWidth,menuItemHeight],1,menuColBack);
			this.dispItemBack[i].load(getImg('<img src="/i/o.gif" width="')+this.itemWidth+'" height="'+menuItemHeight+'" border="0" />');
			this.dispItemOver[i]=new ObjLayer(genMenuID(),menuContLayerID,this.itemWidth,2,[0,(i-1)*menuItemHeight],[0,0,this.itemWidth,menuItemHeight],i+1);

			var accessPath=handle;
			for(var j=0;j<this.itemPath.length;j++){
				accessPath+=".items["+this.itemPath[j]+"]";
			}
			this.dispItemOver[i].load('<a href="'+this.items[i].url+'"'+((this.items[i].target==null)?'':(' target="'+this.items[i].target+'"'))+' onmouseover="'+accessPath+'.over('+i+')" onmouseout="'+accessPath+'.out('+i+')">'+getImg('<img src="/i/o.gif" width="')+this.itemWidth+'" height="'+menuItemHeight+'" border="0" /></a>');
			var newMenuNum=this.itemPath.concat([i]);
			if(this.items[i].items!=null){
				this.dispSubMenuInd[i]=new ObjLayer(genMenuID(),itemContLayerID[i]+','+menuContLayerID,menuSubIndSpace,n,[this.itemWidth-(menuSubIndSpace),menuVerPadding],n,2);
				this.dispSubMenuInd[i].load('<pre class="menuLabel">'+menuSubIndText+'</pre>')[0];
				this.items[i].build(newMenuNum,this.xCoOrd+this.itemWidth,this.yCoOrd+((i-1)*menuItemHeight))
			}
			else{
				this.items[i].hasMenu=0;
				this.items[i].itemPath=newMenuNum;
			}
		}
		this.dispHandle.clipTo(0,0,this.itemWidth,(menuItemHeight*(this.items.length-1))+1);
	}
	this.over=function (x){
		window.clearTimeout(menuDelayedClose);
		menuCurrItem=this.items[x];
		menuDelayedOpen=window.setTimeout("menuOpen()",menuOpenDelay);
		pathItemLo();
		pathItemHi();
	}
	this.out=function(x){
		this.itemLo(x);
		window.clearTimeout(menuDelayedOpen)
		menuOldItem=menuCurrItem;
		menuCurrItem=null;
		menuDelayedClose=window.setTimeout("itemClose()",menuCloseDelay);
	}
	this.itemHi=function (x){
		this.dispItemBack[x].colourBG(menuColOver);
	}
	this.itemLo=function(x){
		this.dispItemBack[x].colourBG(menuColBack);
	}
}

/*BEHAVIOUR FUNCTIONS*/
function pathItemHi(){
	var dispPath=PSNB_Menu;
	for(var i=0;i<menuCurrItem.itemPath.length;i++){
		dispPath.itemHi(menuCurrItem.itemPath[i]);
		dispPath=dispPath.items[menuCurrItem.itemPath[i]];
	}
}

function pathItemLo(){
	if(menuOldItem!=null){
		var dispPath=PSNB_Menu;
		for(var i=0;i<menuOldItem.itemPath.length;i++){
			dispPath.itemLo(menuOldItem.itemPath[i]);
			dispPath=dispPath.items[menuOldItem.itemPath[i]];
		}
	}
}

function menuOpen(){
	menuCloseAll(PSNB_Menu.items);
	if(menuCurrItem.hasMenu==1&&menuCurrItem.menuOpen==0){
		menuCurrItem.dispHandle.setVis(1);
		menuCurrItem.menuOpen=1;
	}
}

function menuClose(x){
	x.dispHandle.setVis(0);
	x.menuOpen=0;
}

function menuCloseAll(x){
	var containsActive=false;
	for(var i=1;i<x.length;i++){
		if(x[i]==menuCurrItem){
			containsActive=true;
		}
		else{
			if(x[i].menuOpen==1){
				var containsActive2=menuCloseAll(x[i].items)
				if(containsActive2==false){
					menuClose(x[i])
				}
				if(containsActive==false){
					containsActive=containsActive2
				}
			}
		}
	}
	return containsActive
}

function itemClose(){
	pathItemLo();
	menuCloseAll(PSNB_Menu.items);
}

/*****************************************************************************|
|* MRS COMPONENT OBJECTS                                                     *|
|*****************************************************************************/

function ObjFadeSpan(id){
	if(dom){
		this.ob=document.getElementById(id);
		this.os=this.ob.style;
	}
	this.colourText=dom?function(c){this.os.color=c;}:function(){}
}

function ObjFadeSet(spanPrefix,numElems,fadeRange){
	this.animFrame=function(){
		if((this.direction>0&&this.step<fadeFrames)||(this.direction<0&&this.step>0)){
			this.step+=this.direction;
			for(var i=0;i<this.spans.length;i++){
				this.spans[i].colourText(this.fadeRange[this.step])
			}
		}
		else{
			animEng.remove(this);
		}
	}
	this.animEngineServiced=0;
	this.over=function(){
		this.direction=1;
		animEng.add(this)
	}
	this.out=function(){
		this.direction=-1;
		animEng.add(this)
	}
	if(dom){
		this.step=0;
		this.spans=[];
		this.fadeRange=fadeRange;
		for(var i=0;i<numElems;i++){
			this.spans[i]=new ObjFadeSpan(spanPrefix+'s'+i);
			this.spans[i].colourText(this.fadeRange[0])
		}
	}
}

function ObjBorderFade(name,cont,path,width,height,numFrames,loop,vis,x,y,z){
	this.animFrame=function(){
		if((this.direction>0&&this.currFrame<this.numFrames-1)||(this.direction<0&&this.currFrame>0)){
			this.currFrame+=this.direction;
			this.stripLayer.moveBy(0,-this.height*this.direction);
		}
		else{
			animEng.remove(this);
		}
	}
	this.play=function(dir){//play
		this.direction=dir
		animEng.add(this);
	}
	this.load=function(x){
		this.stripLayer.load(x);
	}
	this.contLayer=new ObjLayer(cont,path,width,vis,[x,y],[0,0,width,height],z);
	this.stripLayer=(path=="")?new ObjLayer(name,cont,width,null,[0,0]):new ObjLayer(name,cont+","+path,width,null,[0,0]);
	this.width=width;
	this.height=height;
	this.numFrames=numFrames;
	this.loop=loop;//0=no,1=yes;
	this.currFrame=0;
	this.animEngineServiced=0;
}

function ObjBorderSet(parentMod,linkArray){
	this.over=function(x){
		this.moviePanels[x].play(1);
	}
	this.out=function(x){
		this.moviePanels[x].play(-1);
	}
	this.linkPanels=[];
	this.moviePanels=[];
	var y;
	for(var i=1;i<linkArray.length;i++){
		var j=i-1;
		var x=(j%2)*(85+9)+8;
		y=mf(j/2)*(64+9)+24;
		this.linkPanels[j]=new ObjLayer(parentMod.modLayer.id+'l'+j,parentMod.modLayer.id,85,n,[x,y],[0,0,85,64],5);
		this.linkPanels[j].load('<a href="'+linkArray[i]+'"'+(linkArray[i].substring(0,11)!='javascript:'?' target="_blank"':'')+' onmouseover="'+parentMod.modLayer.id+'.over('+j+')" onmouseout="'+parentMod.modLayer.id+'.out('+j+')">'+getImg('<img src="/i/o.gif"')+' width="85" height="64" border="0" /></a>');
		this.moviePanels[j]=new ObjBorderFade(parentMod.modLayer.id+'s'+j,parentMod.modLayer.id+'c'+j,parentMod.modLayer.id,85,64,6,0,2,x,y,3)
		this.moviePanels[j].load(getImg('<img src="/i/modFadeFrame.gif" border="0" />'));
	}
	this.stretcher=new ObjLayer(parentMod.modLayer.id+'str',parentMod.modLayer.id,1,n,[0,y],n,0);
	this.stretcher.load(getImg('<img src="/i/o.gif" width="1" height="384" border="0" />'));
}

function ObjModule2(slot,seq,width,vGutMod,height){
	this.slot=slot;
	this.seq=seq;
	this.modLayer=new ObjLayer(slot+seq,"",width,0);
	this.contLayer=new ObjLayer("cont"+slot+seq,slot+seq,width,n,[0,0]);
	if(height){
		this.statedHeight=1;
		this.height=height+(vGutMod?vGutMod:0);
		this.contLayer.clipTo(0,0,width,height);
	}
	else{
		this.statedHeight=0;
		this.height=this.contLayer.getRenderHeight()+(vGutMod?vGutMod:0);
	}
	onloadLayersToShow[onloadLayersToShow.length]=slot+seq;
}

function ObjScrollSet(parentMod,parentModName,width){
	this.animFrame=function(){
		if(this.scrollPanels[0].posY==-this.scrollRange){
			this.scrollPanels[1].moveBy(0,(this.scrollPanelHeight*2));
		}
		if(this.scrollPanels[1].posY==-this.scrollRange){
			this.scrollPanels[0].moveBy(0,(this.scrollPanelHeight*2));
		}
		this.scrollPanels[0].moveBy(0,-1);
		this.scrollPanels[1].moveBy(0,-1);
	}
	
	this.animEngineServiced=0;
	this.init=function(){
		animEng.add(this);
	}
	
	this.width=width;
	var scrollContId='scrollCont'+parentModName;
	this.scrollOffset=22;
	this.scrollCont=new ObjLayer(scrollContId,parentModName,this.width,n,[0,this.scrollOffset])
	this.scrollPanels=[];
	this.scrollPanels[0]=new ObjLayer('scroll0'+parentModName,scrollContId+','+parentModName,this.width,n,[0,0]);
	this.scrollPanelHeight=this.scrollPanels[0].getRenderHeight()-3;
	this.scrollPanels[1]=new ObjLayer('scroll1'+parentModName,scrollContId+','+parentModName,this.width,n,[0,-this.scrollPanelHeight]);
	if(parentMod.statedHeight==1){ //desired height passed
		if(this.scrollPanelHeight+this.scrollOffset<parentMod.height){ //(desired height passed) and too short
			//make fit content height
			this.dispHeight=this.scrollPanelHeight;
			parentMod.height=this.scrollPanelHeight+this.scrollOffset;
			this.scrollCont.clipTo(0,0,this.width,this.scrollPanelHeight);
		}
		else{ //(desired height passed) and not too short
			//make fit desired height
			this.dispHeight=parentMod.height-this.scrollOffset;
			this.scrollCont.clipTo(0,0,this.width,parentMod.height-this.scrollOffset);
		}
	}
	else{ //desired height not passed
		//make fit content height
		this.dispHeight=this.scrollPanelHeight;
		parentMod.height=this.scrollPanelHeight+this.scrollOffset;
		this.scrollCont.clipTo(0,0,this.width,this.scrollPanelHeight);
	}
	this.scrollRange=this.scrollPanelHeight-this.dispHeight;
	if(dom){ // TO FIX - N4 issue...
		this.stretcher=new ObjLayer(parentModName+'str',parentModName,1,n,[0,this.dispHeight+this.scrollOffset],n,0);
		this.stretcher.load(getImg('<img src="/i/o.gif" width="1" height="'+this.scrollPanelHeight+'" border="0" />'));
	}
}

var PSemotionWin;
function PSemotionLaunch(){
	PSemotionWin=open("http://www.playstationemotions.com/"+menuColLocaleRef.substr(0,2),"PSemotion","width=400,height=300,left=60,top=28");
	PSemotionWin.focus();
}

