﻿// requires init.js, xml.js 

//var mouseOvers   = new Array()
//var mouseOuts    = new Array()
var wasSelected  = false
var mwasSelected = false
var nwasSelected = false
var ywasSelected = false
var hasMonth     = false


window.onload = init

function init()
{
	if (!W3CDOM) { return }
	if (browserType == 'ie') {document.getElementById('SizeCont').style.width = '775px'}
	setupXML('rjp.xml', 'rjp.xsl')
	setupHovers('buttonHovers','div')
	setupSideBar()
	setupNews()
}
function setupHovers(id,tag)
{
	var nav = document.getElementById(id)
	var imgs = nav.getElementsByTagName(tag)
	for (var i=0;i<imgs.length;i++)
	{
		imgs[i].onmouseover = mouseGoesOver
		imgs[i].onmouseout  = mouseGoesOut
		imgs[i].onclick     = mouseClick
	}
}

function setupSideBar()
{
var ret = ''
	addParam('Node', 'Links')
	ret = transform()
	delParam('Node')
	clearParam()
document.getElementById('sbLinks').innerHTML = ret
}

function setupNews()
{
var ret = ''
	addParam('Entry', 'News')
	addParam('Date',curDate())
	ret = transform()
	delParam('Entry')
	delParam('Date')
	clearParam()
document.getElementById('main').innerHTML = ret
	setupHovers('menuNavInner','span')
}

function mouseGoesOver()
{
	if(/btn$/.test(this.className) || /btnSel$/.test(this.className))
	{
		var x = ''
		if(!/^b/.test(this.className))
			x=this.className.substring(0,1)
		if(/btnSel$/.test(this.className))
		{
			wasSelected=true
			this.className=x+'btnHovSel'
		}
		else
			this.className=x+'btnHov'
	}
}
function mouseGoesOut()
{
	if(/Hov/.test(this.className))
	{
		var x = ''
		
		if(!/^b/.test(this.className))
			x=this.className.substring(0,1)
		if(wasSelected)
		{
			this.className=x+'btnSel'
			wasSelected=false
		}
		else
			this.className=x+'btn'
	}
}

function mouseClick()
{
var pos = new Array(4)

	if(this.className=="btn" || this.className=="btnHov" || this.className=="btnHovSel")
	{

// Handle button visuals first
		var par = this.parentNode
		var bts = par.getElementsByTagName('div')

		for (var i=0;i<bts.length;i++)
		{
			if(bts[i].className!='btnText')
				bts[i].className='btn'
		}
	
		this.className="btnSel"

// Handle button click's next
var ret = ''
		if(this.id=='News')
		{
			addParam('Entry', 'News')
			addParam('Date',curDate())
			ret = transform()
			delParam('Entry')
			delParam('Date')
			clearParam()
			hasMonth = false
		}
		if(this.id=='Products')
		{
			addParam('Entry', 'Products')
			ret = transform()
			delParam('Entry')
			clearParam()
			hasMonth = false
		}
		if(this.id=='Services')
		{
			addParam('Entry', 'Services')
			ret = transform()
			delParam('Entry')
			clearParam()
			hasMonth = false
		}

		if(this.id=='Company')
		{
			addParam('Entry', 'Company')
			addParam('Date',curDate())
			ret = transform()
			delParam('Entry')
			clearParam()
			hasMonth = false
		}
		if(this.id=='Links')
		{
			addParam('Entry', 'Links')
			ret = transform()
			delParam('Entry')
			clearParam()
			hasMonth = false
		}

document.getElementById('main').innerHTML = ret

setupHovers('menuNavInner','span')
if(hasMonth)
	setupHovers('monthNavInner','span')
//  setupMonthNavHover()
//pos = whereAmI(this)
//showArray(pos)
	}

	if(this.className=='mbtn' || this.className=='mbtnHov' || (this.className=='mbtnHovSel' && this.id=='snConventions'))
	{
		var par = this.parentNode.parentNode
		var bts = par.getElementsByTagName('span')

		for (var i=0;i<bts.length;i++)
		{
			if(bts[i].className!='mbtnOuter')
				bts[i].className='mbtn'
		}

		this.className="mbtnSel"
pos = whereAmI(this)
//showArray(pos)

var ret = ''
//alert(this.id)
	if(this.id=='snNews')
	{
		addParam('Entry', pos[0])
		addParam('Date',curDate())
		addParam('Subsection', 'News')
		ret = transform()
		delParam('Entry')
		delParam('Date')
		delParam('Subsection')
		clearParam()
		hasMonth = false
	}
	if(this.id=='snArchive')
	{
		addParam('Entry', 'News')
		addParam('Date','2005-01-01')
		addParam('Subsection', 'Archive')
		ret = transform()
		delParam('Entry')
		delParam('Date')
		delParam('Subsection')
		clearParam()
		hasMonth = false
	}
	if(this.id=='snConventions')
	{
		addParam('Entry', 'News')
		addParam('Date',curDate())
		addParam('Subsection', 'Conventions')
		ret = transform()
		delParam('Entry')
		delParam('Date')
		delParam('Subsection')
		clearParam()
		hasMonth = true
	}
	if(this.id=='snDVD' || this.id=='snGames' ||  this.id=='snGoods')
	{
		addParam('Entry','Products')
		addParam('Date',curDate())
		addParam('Subsection',this.id.substring(2))
		ret = transform()
		delParam('Entry')
		delParam('Subsection')
		clearParam()
		hasMonth = false		
	}
	if(this.id=='snCompany' || this.id=='snContact' || this.id=='snProduction History')
	{
		addParam('Entry','Company')
		addParam('Date',curDate())
		addParam('Subsection',this.id.substring(2))
		ret = transform()
		delParam('Entry')
		delParam('Subsection')
		clearParam()
		hasMonth = false		
	}

document.getElementById('main').innerHTML = ret
setupHovers('menuNavInner','span')
if(hasMonth)
	setupHovers('monthNavInner','span')
//alert(this.id+' : '+this.className)

	}
//	if(this.className=="nbtn" || this.className=="nbtnHov" || this.className=="nbtnHovSel")
	if(this.className=="nbtn" || this.className=="nbtnHov")
	{
		var par = this.parentNode
		var bts = par.getElementsByTagName('span')

		for (var i=0;i<bts.length;i++)
		{

			if(/^n/.test(bts[i].className))		// reset all month buttons
				bts[i].className='nbtn'
		}
		this.className="nbtnSel"			// set month
pos = whereAmI(this)
//showArray(pos)

var ret = ''
var m = this.id
	addParam('Entry', pos[0])
	addParam('conMonth',m.substring(1))
	addParam('Subsection', 'Conventions')
	ret = transform()
	delParam('Entry')
	delParam('conMonth')
	delParam('Subsection')
	clearParam()
	hasMonth = true	
document.getElementById('main').innerHTML = ret
setupHovers('menuNavInner','span')
setupHovers('monthNavInner','span')
	}
	if(this.className=="ybtn" || this.className=="ybtnHov" || this.className=="ybtnHovSel")
	{
		var par = this.parentNode
		var bts = par.getElementsByTagName('span')

		for (var i=0;i<bts.length;i++)
		{

			if(/^n/.test(bts[i].className))		// reset all month buttons
				bts[i].className='nbtn'
		}
		this.className="ybtnSel"			// set year
var ret = ''
pos = whereAmI(this)
//showArray(pos)

var ret = ''
var m = this.id
//alert(m.substring(1))

	addParam('Entry', pos[0])
	addParam('conMonth',m.substring(1))
	addParam('Subsection', 'Conventions')
	ret = transform()
	delParam('Entry')
	delParam('conMonth')
	delParam('Subsection')
	clearParam()
	hasMonth = true	
document.getElementById('main').innerHTML = ret
setupHovers('menuNavInner','span')
setupHovers('monthNavInner','span')
	}
}

/*/
--------------------------------------------------------------------
  helper functions
--------------------------------------------------------------------
/**/
function whereAmI(nthis)
{
var ret = new Array(4)
var mainMenu='',subMenu='',monthMenu='',yearMenu='',i=0

	var nav = document.getElementById('buttonHovers')
	if(nav){
	var imgs = nav.getElementsByTagName('div')
	for (i=0;i<imgs.length;i++)
	{
		if(/Sel$/.test(imgs[i].className))
			mainMenu = imgs[i].id
	}
	nav = document.getElementById('menuNavInner');
	if(nav){
	imgs = nav.getElementsByTagName('span');
	for (i=0;i<imgs.length;i++)
	{
		if(/Sel$/.test(imgs[i].className))
			subMenu = imgs[i].id
//		alert(imgs[i].className+' : '+imgs[i].id)
	}
	nav = document.getElementById('monthNavInner');
	if(nav){
	imgs = nav.getElementsByTagName('span');
	for (i=0;i<imgs.length;i++)
	{
		if(/Sel$/.test(imgs[i].className))
			if(/^n/.test(imgs[i].className))
				monthMenu = imgs[i].id
			if(/^y/.test(imgs[i].className))
				yearMenu = imgs[i].id
	}
}}}
//	alert('main: '+mainMenu+'\nsub: '+subMenu+'\nmonth: '+monthMenu+'\nyear: '+yearMenu)
	ret[0] = mainMenu
	ret[1] = subMenu
	ret[2] = monthMenu
	ret[3] = yearMenu

return(ret)
}
function showArray(arr)
{
	for(var i=0;i<4;i++)
	{
		if(arr[i])
			alert((1+i)+': '+arr[i])
	}

}
