/* MALLIMENU
	_menuItem[nro] = new Array();
	_menuItem[nro].name 	= 'main';
	_menuItem[nro].style 	= 'main';
	with( _menuItem[nro][1] = new pmMenuItem('Pääsivu','menutesti.htm','alasivu') );
	with( _menuItem[nro][2] = new pmMenuItem('Asetukset','menutesti.htm','asetukset') );
	with( _menuItem[nro][3] = new pmMenuItem('Ohjelmat','menutesti.htm','ohjelmat') );
	nro++;
	*/
// YLEISET MUUTTUJAT
	var _menuCloseAllDelay		= 2000;			// The time delay for menus to remain visible on mouse out of the hole table
	var _menuCloseDelay			= 250;			// The time delay for menus to remain visible on mouse out
	var _menuOpenDelay			= 250;			// The time delay for menus to remain visible on mouse out
	var _menuNro				= new Array();	// MENUTAULUN NIMI -> NR TAULUKKO
	var _menu 					= new Array();	// MEUNUN ASETUKSET
	var _menuItem 				= new Array();	// MEUNUN LINKIT
	var _menuOpen 				= new Array();	// MIKÄ MENUN ON AUKI

// PÄÄTAULU - OLETUSASETUKSET
	_menu.main 	= new Array();
	_menu.main.OpenDelay		= 0;					// The time delay for menus to remain visible on mouse out
	_menu.main.OpenOnClick		= false;				// AVATAANKO MENU onClick
	_menu.main.width			= 120;					// LINKIN LEVEYS
	_menu.main.height	 		= 20;					// LINKIN KORKEUS
	_menu.main.styleTable	 	= "mainmenuTable";		// LINKIN TYYLI, NORMAALI
	_menu.main.styleOff	 		= "mainmenuOff";		// LINKIN TYYLI, NORMAALI
	_menu.main.styleOn	 		= "mainmenuOn";			// LINKIN TYYLI, HIIRI YLLÄ
	_menu.main.stylepageOn	 	= "mainmenuPageOn";		// LINKIN TYYLI, SIVU AUKI
	_menu.main.stylepageOff	 	= "mainmenuPageOff";	// LINKIN TYYLI, SIVU AUKI, HIIRI YLLÄ
	_menu.main.stylesubOn	 	= "mainmenuSubOn";		// LINKIN TYYLI, ALASIVU AUKI
	_menu.main.stylesubOff	 	= "mainmenuSubOff";		// LINKIN TYYLI, ALASIVU AUKI, HIIRI YLLÄ
	_menu.main.bordercolor	 	= "#555555";			// KEHYSVÄRI
	_menu.main.bordersize	 	= 0;					// KEHYKSEN PAKSUUS
	_menu.main.separatorcolor	= "#777777";			// EROTINVIIVAN VAÄRI
	_menu.main.separatorsize	= 0;					// EROTINVIIVAN PAKSUUS
	_menu.main.subimage	 		= "";					// JOS ON ALAVALIKKO, KUVAN URL
	_menu.main.topimage	 		= "";					// LINKIN PÄÄLLÄ OLEVA KUVA
	_menu.main.image	 		= "";					// LINKIN EDESSÄ OLEVA KUVA
	_menu.main.subtxt			= "";					// EROTINVIIVAN PAKSUUS
	_menu.main.orientation		= "horizontal";			// SUUNTA [horizontal|vertical]
	_menu.main.visible			= 1;					// ONKO OLETUKSENA NÄKYVISSÄ
	_menu.main.OffsetLeft		= 0;					// left offset
	_menu.main.OffsetTop		= 0;					// top offset

// ALATAULU - OLETUSASETUKSET
	_menu.sub 	= new Array();
	_menu.sub.OpenDelay			= 0;					// The time delay for menus to remain visible on mouse out
	_menu.sub.width				= 140;					// LINKIN LEVEYS
	_menu.sub.height			= 16;					// LINKIN KORKEUS
	_menu.sub.styleOff			= "submenuOff";			// LINKIN TYYLI, NORMAALI
	_menu.sub.styleOn			= "submenuOn";			// LINKIN TYYLI, HIIRI YLLÄ
	_menu.sub.styleTable	 	= "submenuTable";		// LINKIN TYYLI, NORMAALI
	_menu.sub.stylepageOn	 	= "submenuPageOn";		// LINKIN TYYLI, SIVU AUKI
	_menu.sub.stylepageOff	 	= "submenuPageOff";		// LINKIN TYYLI, SIVU AUKI, HIIRI YLLÄ
	_menu.sub.stylesubOn	 	= "submenuSubOn";		// LINKIN TYYLI, ALASIVU AUKI
	_menu.sub.stylesubOff	 	= "submenuSubOff";		// LINKIN TYYLI, ALASIVU AUKI, HIIRI YLLÄ
	_menu.sub.bordercolor		= "#555555";			// KEHYSVÄRI
	_menu.sub.bordersize		= 1;					// KEHYKSEN PAKSUUS
	_menu.sub.separatorcolor	= "#777777";			// EROTINVIIVAN VAÄRI
	_menu.sub.separatorsize		= 1;					// EROTINVIIVAN PAKSUUS
	_menu.sub.subimage			= "../admin_pics/menu_right.gif";	// ALALINKIN KUVA
	_menu.sub.topimage	 		= "";					// LINKIN PÄÄLLÄ OLEVA KUVA
	_menu.sub.image	 			= "";					// LINKIN EDESSÄ OLEVA KUVA
	_menu.sub.subtxt			= "";					// EROTINVIIVAN PAKSUUS
	_menu.sub.orientation		= "vertical";			// SUUNTA [horizontal|vertical]
	_menu.sub.visible			= 0;					// ONKO OLETUKSENA NÄKYVISSÄ
	_menu.sub.OffsetLeft		= 0;					// left offset
	_menu.sub.OffsetTop			= 0;					// top offset
	
function pmMenuTable(title){									// ALUSTAA OLETUSARVOT LUOTAVALLE LINKKI -OLIOLLE
	this.name		= title;
	this.style 		= 'sub';
	this.left 		= 0;
	this.top 		= 0;
	this.zindex 	= 0;
	this.open 		= 0;
	}
function pmMenuItem(title,url,submenu,open,topimage,image){		// ALUSTAA OLETUSARVOT LUOTAVALLE LINKKI -OLIOLLE
	this.link		= title;
	this.url 		= url;
	this.submenu 	= submenu;
	this.open 		= open;				// ONKO TÄMÄ AVONAINEN VALIKKO
	this.topimage 	= topimage;
	this.image 		= image;
	}
function pmOpenUrl(url){										// AVAA ANNETUN URL -OSOITTEEN
	document.location.href = url;
	}
function pmMenuNames(){											// TEKEE MUUNNOTAULUN: menuname -> nro
	for ( var i = 0 ; i < _menuItem.length ; i++ ){
		_menuNro[_menuItem[i].name] = i;
	}
	}
function pmMenuDisplay(menuName){								// TEKEE VALIKON NÄKYVÄKSI
	_menuItem[_menuNro[menuName]].open = 2;
	_closeAll = 2;
	if ( _menuItem[_menuNro[menuName]].parent != '' ) pmMenuDisplay(_menuItem[_menuNro[menuName]].parent);	// PIDÄ ISÄT AUKI
	// NÄYTÄ TASO
		if ( document.getElementById(menuName).style.visibility = 'hidden' ){
			document.getElementById(menuName).style.visibility = 'visible';
		}
	// SULJE KAIKKI JOISSA Zindex >=
		for ( var i = 0 ; i < _menuItem.length ; i++ ){
			if ( _menuItem[i].zindex >= _menuItem[_menuNro[menuName]].zindex ){
				_menuItem[_menuNro[menuName]].open; // ??
				pmMenuHide(_menuItem[i].name);
			}
		}
	}
function pmMenuHide(menu){										// PIILOTTAA VALIKON NÄKYVISTÄ
	if ( _menuItem[_menuNro[menu]].open == 1 ){
		_menuItem[_menuNro[menu]].open = 0;
		document.getElementById(menu).style.visibility = 'hidden';
	}
	}
function pmMenuCloseAll(){										// PIILOTA KAIKKI VALIKOT
	if ( _closeAll == 1 ){
		for ( var i = 0 ; i < _menuItem.length ; i++ ){
			if ( _menu[_menuItem[i].style].visible ){
				// ANNA OLLA AUKI
			} else {
				_menuItem[i].open = 1;
				setTimeout("pmMenuHide('"+_menuItem[i].name+"')", _menuCloseAllDelay);
				// pmMenuHide(_menuItem[i].name);
				// document.getElementById(_menuItem[i].name).style.visibility = 'hidden';
			}
		}
	}
	}
function pmMenuClose(menu){										// PIILOTUSKOMENTO
	_menuItem[_menuNro[menu]].open = 1;
	_closeAll = 1;
	setTimeout("pmMenuHide('"+menu+"')", _menuCloseDelay);
	pmMenuCloseAll();
	}
function pmMenuOpen(parentmenuName,menuName){					// AVAUSKOMENTO
	var menu 		= _menuItem[_menuNro[menuName]];
	var parentmenu 	= _menuItem[_menuNro[menu.parent]];
	menuPosition	= pmElementPosition(parentmenuName);
	var posLeft 	= (menuPosition.left*1) + (menu.offsetLeft*1);
	var posTop 		= (menuPosition.top*1) + (menu.offsetTop*1);
	document.getElementById(menuName).style.left	= posLeft + 'px';
	document.getElementById(menuName).style.top		= posTop  + 'px'; // + takeNumber(document.getElementById(parentmenuName).style.height
	setTimeout("pmMenuDisplay('"+menuName+"')", menu.OpenDelay);
	// pmMenuDisplay(menuName);
	}
function pmElementPosition(elemID){								// HAKEE ELEMENTIN TODELLISEN SIJAINNIN
   	var offsetTrail = document.getElementById(elemID);
    var offsetLeft 	= 0;
    var offsetTop 	= 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return { left:offsetLeft, top:offsetTop };
	}
/* function pmsubOpen(menuNro){
	if ( _menuItem[menuNro].parent ){		// JOS ISÄ
		// var menuName 	= _menuNro[menuNro];
		var parentName 	= _menuItem[menuNro].parent;
		var parentNro 	= _menuNro[parentName];
		for ( var i = 0 ; i < _menuItem[parentNro].length ; i++ ){
			if ( _menuNro[_menuItem[parentNro][i].submenu] == menuNro ){
				_menuItem[parentNro].open = 1;
				alert('Menu '+parentName+' = 1');
			}
		}
		pmsubOpen(parentNro);			// ASETA ISÄN open = 1
	}
	}*/
function pmAddpmMenuItem(menuNro,stylename){					// TULOSTAA MENUT SIVULLE
	// MUUTTUJIEN ALUSTUS
		var _table 		= '';
		var _tableclass = '';					// TAULUN CSS -TYYLIN LISÄYS
		var _style 		= _menu[stylename];		// MENUN TYYLI
		var menu 		= _menuItem[menuNro];	// MENUN TIEDOT
		var _mouseclick	= '';					// MITÄ TAPAHTUU KUN KLIKATAAN
		var _mouseover	= '';					// MITÄ TAPAHTUU KUN HIIRI YLLÄ
		var _mouseout	= '';					// MITÄ TAPAHTUU KUN HIIRI POIS YLTÄ
		var _classOn	= '';					// TYYLI NORMAL
		var _classOff	= '';					// TYYLI MOUSEOVER
		var _subimage	= '';					// KUVA, JOS ON ALALINKKEJÄ
		var _topimage	= '';					// LINKIN PÄÄLLÄ OLEVA KUVA
		var _image		= '';					// LINKIN EDESSÄ OLEVA KUVA
		var _subtxt		= '';					// TEKSTI, JOS ON ALALINKKEJÄ MUTTA EI LINKKIKUVAA
		var _itemLink	= '';					// LISÄTTÄVÄ LINKIN TIEDOT
		var linkStyle	= '';					// YKSITTÄISEN LINKIN style -ARVOT
		var tableStyle	= '';					// TAULUN style -ARVOT
		var	_trEnd		= '';					// RIVIN <TR>, JOS ALLEKKAIN
		var	_tr			= '';					// RIVIN LOPPU </TR>, JOS ALLEKKAIN
		var left		= 0;					// LOPULLINEN X
		var top			= 0;					// LOPULLINEN Y
		if ( _style.orientation == 'vertical' ){
			_tr = "<tr>";
			_trEnd = "</tr>";
		}
	// TAULUN LINKIT
		for ( var i = 1 ; i < menu.length ; i++ ){
			_itemLink 	= menu[i];
			_image = '';
			_topimage = '';
			// KUVAT
				if ( _itemLink.topimage ){
					_topimage 	= '<DIV><img src='+_itemLink.topimage+' border=0></DIV>';
				}
				if ( _itemLink.image ){
					_image 	= '<img src='+_itemLink.image+' align=left vspace=0 hspace=0 width=16>&nbsp;';
				}
			// ALAMENU
				_linkname	= menu.name+'_'+i;
				_subimage 	= '';
				_subtxt 	= '';
				if ( _itemLink.submenu ){
					// ALALINKIN IKONI
					if ( _style.subimage ) 	_subimage 	= '<img src='+_style.subimage+' border=0 align=right>';
					else 					_subtxt 	= _style.subtxt;
					if ( _style.orientation == 'vertical' ){	// VERTICAL
						var thisLeft = _style.width*1;
						var thisTop = 0;
						left = thisLeft*1 + _style.OffsetLeft*1 + _style.bordersize*1;
						top = thisTop*1 + _style.OffsetTop*1 - _style.bordersize*1;
						_menuItem[_menuNro[_itemLink.submenu]].offsetLeft 	= left;
						_menuItem[_menuNro[_itemLink.submenu]].offsetTop 	= top;
					} else {									// HORIZONTAL
						var thisLeft = 0;
						var thisTop = _style.height*1;
						left = thisLeft*1 - _style.bordersize*1;
						top = thisTop*1 + _style.OffsetTop*1 + _style.bordersize*1;
						_menuItem[_menuNro[_itemLink.submenu]].offsetLeft 	= left;
						_menuItem[_menuNro[_itemLink.submenu]].offsetTop 	= top;
					}
					_menuItem[_menuNro[_itemLink.submenu]].zindex = menu.zindex + 1;
					_menuItem[_menuNro[_itemLink.submenu]].parent = menu.name;				// MERKKAA ALASIVULLE, ETTÄ TÄMÄ ON SEN PÄÄSIVU
				}
			// SEPARATOR
				if ( i > 1 && _style.separatorsize > 0 ){
					_table = _table+_tr+'<td style=\'width:'+_style.separatorsize+'px;height:'+_style.separatorsize+'px;background-color:'+_style.separatorcolor+';\'></td>'+_trEnd
				}
			// STYLE
				linkStyle = ''
				if ( _style.width > 0 ) 	linkStyle = linkStyle + 'width:'+_style.width+'px;';
				if ( _style.height > 0 ) 	linkStyle = linkStyle + 'height:'+_style.height+'px;';
				if ( _itemLink.url ) 		linkStyle = linkStyle + 'cursor:pointer;';
				else 						linkStyle = linkStyle + 'cursor:default;';
				if ( _itemLink.open == 2 ){
					_classOff 	= _style.stylepageOff
					_classOn 	= _style.stylepageOn
				} else if ( _itemLink.open == 1 ){
					_classOff 	= _style.stylesubOff
					_classOn 	= _style.stylesubOn
				} else {
					_classOff 	= _style.styleOff
					_classOn 	= _style.styleOn
				}
			// MOUSECLICK
				_mouseclick = '';
				if ( _itemLink.url ){
					_mouseclick = _mouseclick + 'pmOpenUrl(\''+_itemLink.url+'\');';
				}else if ( _style.OpenOnClick ){
					_mouseclick = _mouseclick + 'pmMenuOpen(\''+_linkname+'\',\''+_itemLink.submenu+'\');';
				}
				if ( _mouseclick != '' ) 		_mouseclick = ' onClick="'+_mouseclick+'" ';
			// MOUSEOVER
				_mouseover = '';
				if ( _style.styleOn ) 		_mouseover = _mouseover + 'this.className=\''+_classOn+'\';';
				if ( _itemLink.submenu && !_style.OpenOnClick )	_mouseover = _mouseover + 'pmMenuOpen(\''+_linkname+'\',\''+_itemLink.submenu+'\');';
				if ( _mouseover != '' ) 	_mouseover = ' onMouseOver="'+_mouseover+'" ';
			// MOUSEOUT
				_mouseout = '';
				if ( _style.styleOn ) 		_mouseout = _mouseout + 'this.className=\''+_classOff+'\';';
				if ( _itemLink.submenu )	_mouseout = _mouseout + 'pmMenuClose(\''+_itemLink.submenu+'\');';
				if ( _mouseout != '' ) 		_mouseout = ' onMouseOut="'+_mouseout+'" ';
				
			_table = _table+_tr+'<td id='+_linkname+' class='+_classOff+' style=\''+linkStyle+'\' '+_mouseover+_mouseout+_mouseclick+'>'+_subimage+_topimage+_image+_itemLink.link+_subtxt+'</td>'+_trEnd;
		}
	// TAULU
		// MOUSEOVER
			_mouseover = '';
			if ( menu.zindex>0 )				_mouseover = _mouseover + 'pmMenuDisplay(\''+menu.name+'\');';
			if ( _mouseover != '' ) 			_mouseover = ' onMouseOver="'+_mouseover+'" ';
		// MOUSEOUT
			_mouseout = '';
			if ( menu.zindex>0 )				_mouseout = _mouseout + 'pmMenuClose(\''+menu.name+'\');';
			if ( _mouseout != '' ) 				_mouseout = ' onMouseOut="'+_mouseout+'" ';
		// CLASS
			if ( _style.styleTable != '' ) 		_tableclass = ' class='+_style.styleTable+' ';
		 
		// INFO
			//_table = _table+_tr+'<td class='+_style.styleOff+' style=\'background-color:#FFFFFF;\'>Nimi: '+menu.name+'<br>Zindex:'+menu.zindex+'<br>Näkyvyys:'+_style.visible+'<br>Mouseover: '+_mouseover+'<br>Mouseout: '+_mouseout+'<br></td>'+_trEnd;
			// _table = _table+_tr+'<td class='+_style.styleOff+' style=\'background-color:#FFFFFF;\'>Nimi: '+menu.name+'<br>Mouseover: '+_mouseover+'<br>Mouseout: '+_mouseout+'<br></td>'+_trEnd;
		// STYLE
			if ( _style.bordercolor != '' && _style.bordersize > 0 ) tableStyle = tableStyle + 'border: '+_style.bordercolor+' '+_style.bordersize+'px solid;'; //width:'+_style.width+';
			if ( _style.visible ) 		tableStyle = tableStyle;//  + 'visibility:visible;position:absolute;';
			else						tableStyle = tableStyle + 'visibility:hidden;position:absolute;';
		_table = '<table id='+menu.name+' style=\''+tableStyle+'\' '+_mouseout+_mouseover+_tableclass+' cellpadding=0 cellspacing=0 border=0><tbody>'+_table+'</tbody></table>';
		// alert('TAULU '+menu.name+': '+tableStyle+' ('+_style.bordercolor+','+_style.bordersize+') '+_tableclass)
	return _table;
	}
function pmPrintMenu(){											// KÄY MENUOBJEKTI LÄPI
	var writeItem = '';
	pmMenuNames();		// TEKEE NIMI -> NR MUUNNOSTAULUKON
	// ASETA OLETUSARVOT
		for ( var i = 0 ; i < _menuItem.length ; i++ ){
			_menuItem[i].left 	= 0;	// X
			_menuItem[i].top 	= 0;	// Y
			_menuItem[i].zindex = 0;	// SYVYYS TAULUKOSSA
			_menuItem[i].open 	= 0;	// ONKO AUKI 0 = kiinni, 1 = menossa kiinni, 2 = auki
			_menuItem[i].parent = ''; 	// ISÄTAULU
		}
	// PIIRRÄ TAULUT
	for ( var i = 0 ; i < _menuItem.length ; i++ ){
		writeItem = pmAddpmMenuItem(i,_menuItem[i].style);
		document.write(writeItem);
	}
	}
	



