var yspOlyDrpWndw = function(lnksJSON, trgt, dsply, trm) 
{ 
  if (!document.getElementById || !document.getElementsByTagName || !lnksJSON) return;
	this.lnks = lnksJSON;
	this.dsply = (dsply) ? dsply : 'none';
	this.tmOt = 600;
	var trm = (trm) ? trm : 'SPORTS';
	
	yspDrpNv = document.createElement('div');
	yspDrpNv.setAttribute('id','yspOlyNvDrp');	
	yspDrpNvBkgrnd = document.createElement('div');
	yspDrpNvBkgrnd.setAttribute('id','yspOlyNvDrpBkgrnd');	
	yspDrpNv.appendChild(yspDrpNvBkgrnd);
	
	yspDrpNvLst = document.createElement('ul');	
	yspDrpNv.appendChild(yspDrpNvLst);
	for (i=this.lnks.aSprts.length-1;i>=0;i--) 
	{	var sprt=this.lnks.aSprts[i].sprt; 
		var lnk=this.lnks.aSprts[i].lnk;
		if (this.lnks.aSprts[i].slctd) var slctd=this.lnks.aSprts[i].slctd;
		yspDrpNvLstItm = document.createElement('li');	
		yspDrpNvLst.appendChild(yspDrpNvLstItm);
		yspDrpNvLstItmAnchr = document.createElement('a');	
		yspDrpNvLstItm.appendChild(yspDrpNvLstItmAnchr);
		yspDrpNvLstItmAnchr.setAttribute('href', '/olympics/torino2006/'+lnk);
		yspDrpNvLstItmAnchr.innerHTML += sprt;
		if (slctd) yspDrpNvLstItmAnchr.setAttribute('id', 'yspOlyNvDrpSlctd');
	}

	// position
	var aYspNvLstItms = trgt.getElementsByTagName('LI');	
	for(i=aYspNvLstItms.length-1;i>=0;i--) //find rollover div co-ordinates based on nav1 link name
	{	var sLi = aYspNvLstItms[i].firstChild;
		var sTrm = (document.all) ? sLi.innerText : sLi.text;
		if (sTrm == trm) this.trgt = aYspNvLstItms[i];
	} 	
	
	this.yspDrpNv = yspDrpNv;
	yspDrpNv.style.display = this.dsply;
	document.getElementById('yspOlyMain').appendChild(yspDrpNv);
	yui.Event.addListener(this.trgt, "mouseover", this.shwNv, this);
	yui.Event.addListener(this.trgt, "mouseout", this.clsNv, this);

}

yspOlyDrpWndw.prototype.nvPstn = function()
{
	yspDrpNv.style.position = 'absolute';
	var rgn = ygPos.getRegion(this.trgt);
	var trgtX = rgn.left; var trgtY = rgn.bottom;
	ygPos.setPos(this.yspDrpNv, [trgtX, trgtY]);
}

yspOlyDrpWndw.prototype.shwNv =  function(e, obj) 
{	
	if (obj.clsTmr) window.clearTimeout(obj.clsTmr);obj.clsTmr = undefined;
	 
	if (obj.dsply == 'none' && obj.trgt.offsetHeight != 0) 
	{	obj.nvPstn();
		obj.dsply = 'block';
		obj.yspDrpNv.style.display = obj.dsply; 
		obj.mnuLstn = (!obj.mnuLstn) ? 
			yui.Event.addListener(obj.yspDrpNv, "mouseover", obj.shwNv, obj) : 
			obj.mnuLstn; 		// if it doesn't exist, 
								// add a second listener to keep shwNv open															
		obj.clsLstn = (!obj.clsLstn) ? 
			yui.Event.addListener(obj.yspDrpNv, "mouseout", obj.clsNv, obj) : 
			obj.clsLstn;		//listen for mouseout, set a timeout
	} 
}

yspOlyDrpWndw.prototype.clsNv =  function(e, obj) 
{	if (!obj.clsTmr && obj.yspDrpNv.id == 'yspOlyNvDrp' && obj.dsply == 'block') {
		var cls = function(){obj.clsr()};
		obj.clsTmr = setTimeout(cls, obj.tmOt);
	 }	
}

yspOlyDrpWndw.prototype.clsr = function()
{		clearTimeout(this.clsTmr);
		this.dsply = 'none';
		this.yspDrpNv.style.display = this.dsply; 
}