////////////////////////////////////////////////////////////
// Concert calendar
////////////////////////////////////////////////////////////
	var calendarURL = '200308.html'

	function showCalendar( URL ){
		document.location.href=URL;
		return false;
	}


////////////////////////////////////////////////////////////
// checkUA
////////////////////////////////////////////////////////////
	var isIe = (document.getElementById && document.all)? true:false;
	var isIe4 = (document.all && !document.getElementById)? true:false;
	var isNs4 = (document.layers)? true:false;
	var isNs = (document.getElementById && navigator.userAgent.toLowerCase().indexOf("compatible") == -1)?	true:false;
	var isMac = (navigator.appVersion.indexOf("PPC") != -1 || navigator.appVersion.indexOf("Mac") != -1)?	true:false;


////////////////////////////////////////////////////////////
// NS4 resize
////////////////////////////////////////////////////////////
function reloadResize(){
	var tempW = window.innerWidth-16;
	var tempH = window.innerHeight-16;
	if( tempW != winW && tempH != winH ){
		window.location.reload();
		winW = tempW;
		winH = tempH;
	}
}
if( isNs4 ){
	window.onresize = reloadResize;
	var winW = window.innerWidth-16;
	var winH = window.innerHeight-16;
}


////////////////////////////////////////////////////////////
// changeImage
////////////////////////////////////////////////////////////
	var imgObj = new Array();
	var imgReady = false;

	function initImg(targetname, stat, src) {
		if(document.images) {
			if(typeof imgObj[targetname] == "undefined") imgObj[targetname] = new Array();
			imgObj[targetname][stat] = new Image();

			if(src != "" && src != null) imgObj[targetname][stat].src = src;
			else return false;

			return true;
		}
		return false;
	}
	function changeImage(imgname,stat) {
		if(document.images && imgReady) {
			var targetLayers = imgname.split(".");
			imageSrc = ( isNs4 )? targetLayers.pop(): targetLayers[ targetLayers.length - 1 ];
			if( arguments.length == 3 ) {
				targetImg = imageSrc + arguments[1];
				stat = arguments[2];
			}
			else targetImg = imageSrc;

			var targetDocument = document;
			if( isNs4 && targetLayers.length >= 1 ){
				for( i in targetLayers ){
					targetDocument = targetDocument.layers[ targetLayers[i] ].document;
				}
			}
			if(targetDocument.images[targetImg]) targetDocument.images[targetImg].src = imgObj[imageSrc][stat].src;
			return true;
		}
		return false;
	}


////////////////////////////////////////////////////////////
// Swap MENUimage
////////////////////////////////////////////////////////////
	function changeMenuImage(e){
		eventType = ( isIe || isIe4 )? event.type: e.type;

		if( (currentCategoryNumber != this.panelNumber) && !panelsStat[ this.panelNumber ] ){
			var stat = ( eventType == "mouseover")? "over": ( eventType == "mouseout")? "off": null;
			var target = "panel_" + categorys[this.panelNumber] + ".menu_" + categorys[this.panelNumber];

			changeImage( target, stat );
			return true;
		}
		return false;
	}


////////////////////////////////////////////////////////////
// Switch MENU
////////////////////////////////////////////////////////////
	var panels = new Array();
	var panelsStat = new Array();
	var subPanels = new Array();

	var panelsHeight = new Array();
	var defaultPos = new Array();
	var targetPos = new Array();
	var currentPos = new Array();

	function getObject( tempTargetId ){
		if( document.layers ){
			return ( document.layers[tempTargetId] )? document.layers[tempTargetId]: null;
		}
		else if( document.getElementById ){
			return ( document.getElementById(tempTargetId) )? document.getElementById(tempTargetId): null;
		}
		else if( document.all ){
			return ( document.all[tempTargetId] )? document.all[tempTargetId]: null;
		}
		else return null;
	}

	function initPanels( categoryNumber ){
		for( var panelNumber in categorys ){
			if( categorys[panelNumber] == "index" ) continue;

			tempTargetId = panelName + "_" + categorys[panelNumber];
			if( getObject( tempTargetId ) != null ){
				panels[ panelNumber ] = ( document.layers )? getObject( tempTargetId ): getObject( tempTargetId ).style;
				panelsHeight[ panelNumber ] = ( panelHeight )? panelHeight: ( document.layers )? getObject( tempTargetId ).clip.height - panelHeadHeight: getObject( tempTargetId ).offsetHeight - panelHeadHeight;
				defaultPos[ panelNumber ] = (panelNumber - 1) * panelHeadHeight + panelsTop;

				panels[ panelNumber ].zIndex = panelNumber + 1;
				panels[ panelNumber ].top = defaultPos[ panelNumber ];
				currentPos[ panelNumber ] = defaultPos[ panelNumber ];
				targetPos[ panelNumber ]  = defaultPos[ panelNumber ];

				if( isIe || isIe4 ){
					if( document.all[tempTargetId].all.tags("a").length != 0 ){
						document.all[tempTargetId].all.tags("a")[0].panelNumber = panelNumber;
						document.all[tempTargetId].all.tags("a")[0].onmouseover = changeMenuImage;
						document.all[tempTargetId].all.tags("a")[0].onmouseout = changeMenuImage;
					}
					if( document.all[tempTargetId].all.tags("div").length != 0 ){
						document.all[tempTargetId].all.tags("a")[0].onclick = switchPanels;
						subPanels[panelNumber] = document.all[tempTargetId].all.tags("div")[0].style;
					}
				}
				else if( isNs4 ){
					if( document.layers[tempTargetId].document.links[0] ){
						document.layers[tempTargetId].document.links[0].panelNumber = panelNumber;
						document.layers[tempTargetId].document.links[0].onmouseover = changeMenuImage;
						document.layers[tempTargetId].document.links[0].onmouseout = changeMenuImage;
					}
					if( document.layers[tempTargetId].document.layers.length != 0 ){
						document.layers[tempTargetId].document.links[0].onclick = switchPanels;
						subPanels[panelNumber] = document.layers[tempTargetId].document.layers[0];
					}
				}
				else if( isNs ){
					if( document.getElementById(tempTargetId).getElementsByTagName('a')[0] ){
						document.getElementById(tempTargetId).getElementsByTagName('a')[0].panelNumber = panelNumber;
						document.getElementById(tempTargetId).getElementsByTagName('a')[0].addEventListener("mouseover", changeMenuImage, false);
						document.getElementById(tempTargetId).getElementsByTagName('a')[0].addEventListener("mouseout", changeMenuImage, false);
					}
					if( document.getElementById(tempTargetId).getElementsByTagName('div').length != 0 ){
						document.getElementById(tempTargetId).getElementsByTagName('a')[0].addEventListener("click", switchPanels, false);
						subPanels[panelNumber] = document.getElementById(tempTargetId).getElementsByTagName('div')[0].style;
					}
				}
			}
		}
		for( i in panels ){
			currentPos[i] = targetPos[i];
			panels[i].top = currentPos[i];
			panelsStat[i] = false;
			if( subPanels[i] != null ){
				subPanels[i].visibility = ( panelsStat[i] )? "visible": "hidden";
			}
		}
		if( categoryNumber && subPanels[categoryNumber] ){
			tempTargetId = panelName + "_" + categorys[ categoryNumber ];

			var childLinks = ( isIe || isNs )? document.getElementById(tempTargetId).getElementsByTagName('a'): null;// ( isNs4 )? document.layers[tempTargetId].document.layers[0].document.links
			if( childLinks != null ){
				for( i = 0; i < childLinks.length; i++ ){
					if( childLinks.item(i).href == document.location.href ) childLinks.item(i).style.color= "#484985";
				}
			}
			switchPanels( categoryNumber );
		}
		for( i in panels ){
			panels[i].visibility = 'visible';
		}
	}

	function switchPanels(){
		var targetNumber = ( this.panelNumber )? this.panelNumber: ( arguments )? arguments[0]: 0;
		panelsStat[ targetNumber ] = ( panelsStat[ targetNumber ] )? false: true;

		var tempValue = ( panelsStat[ targetNumber ] )? panelsHeight[ targetNumber ]: 0;
		for( i in panels ){
			if( i != targetNumber ) panelsStat[i] = false;
			targetPos[i] = ( i <= targetNumber )? defaultPos[i]: defaultPos[i] + tempValue;

			var imgStat = ( i == currentCategoryNumber )? "current": ( i == targetNumber || panelsStat[i] )? "over":  "off";
			var targetImg = "panel_" + categorys[i] + ".menu_" + categorys[i];
			changeImage( targetImg, imgStat );
		}

		for( p in panels ) panels[p].top = targetPos[p];
		for( q in subPanels ){
			subPanels[q].visibility = ( panelsStat[q] )? "visible": "hidden";
		}
		return ( subPanels[targetNumber] )? false: true;
	}

////////////////////////////////////////////////////////////
// init
////////////////////////////////////////////////////////////
	function init( categoryName ){
		currentCategory = categoryName;
		for( i in categorys ){
			if( categorys[i] == currentCategory ){
				currentCategoryNumber = eval( i );
				break;
			}
		}
		
		initPanels( currentCategoryNumber );
		if( currentCategoryNumber ){
			changeImage('panel_' + currentCategory + '.menu_' + currentCategory, 'current');
		}
	}

////////////////////////////////////////////////////////////
// ÀÈ•\•\Ž¦
////////////////////////////////////////////////////////////
	function showSeatJa( holename ){
		var URL = null;
		switch( holename ){
			case "suntory" : URL = "http://www.tpo.or.jp/japanese/ticket/seat/suntory/index.html"; break;
			case "orchard" : URL = "http://www.tpo.or.jp/japanese/ticket/seat/orchard/index.html"; break;
			case "operacity" : URL = "http://www.tpo.or.jp/japanese/ticket/seat/operacity/index.html"; break;
			case "beethoven" : URL = "http://www.tpo.or.jp/japanese/ticket/seat/operacity/index_bthv.html"; break;
		}

		if( URL != null ){
			tpoSeatRef = window.open("" + URL, "tpoSeat", "toolbar=0,location=0,directories=0,scrollbars=1,status=1,resizable=1,width=650,height=600" );
			tpoSeatRef.focus();
			return false;
		}
		return true;
	}

