//
//	TO DO:
//		
//
//


function nadmenu() {						// konstruktor
	this.menu=new Array;
	this.menuCnt=0;
}


nadmenu.prototype.addMenu = function(obj) {
	this.menu[this.menuCnt]=obj;
	this.menuCnt++;
}


nadmenu.prototype.hide_except = function(obj) {
	for(var i=0;i<this.menuCnt;i++) if(this.menu[i]!=obj) {		// nie dla menu wywolujacego
		this.menu[i].hide();					// wyswietlenie wszystkich dzieci...
	}		
}


var spinacz=new nadmenu;						// globalny obiekt klasy "nadmenu"


////////////////////////////////////

function menu(name, img_name, x, y) {				// konstruktor klasy "menu"
	this.id=name;						// this.id przechowywuje nazwe, pod jaka obiekt wystepuje w swiecie HTMLa

	this.dzieci=new Array;					// to jest (pusta na razie) tablica do skladowania podmenu jako obiektów (wyjasnienie nizej)
	this.dzieciCnt=0;
	this.imgid=name+"_img";
	this.img0=new Image; this.img0.src=IMG_PATH+img_name+IMG_SUFF0+IMG_EXT;
	this.img1=new Image; this.img1.src=IMG_PATH+img_name+IMG_SUFF1+IMG_EXT;

	spinacz.addMenu(this);					// podlaczenie do spinacza

	document.write('<img name="'+this.imgid+'" src="'+this.img0.src+'"');				
	document.write(' style="display:block;"');						
	document.write(' style="position:absolute; left:'+x+'px; top:'+y+'px"');
	document.write(' onmouseover="'+name+'.mouseover('+this.id+');"');
	document.write(' onmouseout="'+name+'.mouseout();"');
	document.write(">");
}



menu.prototype.addChild = function(name, img_name, x, y, link) {	// dodawanie podelementów (ramki z indexem 0 tablicy i odnosników z elementami >0)
	if(typeof(link)=="undefined") link="";
	this.active=link.length && this.dzieciCnt;			// aktywny, jesli ma zdefiniowany niepusty link i nie jest to ramka (dzieciCnt>0)
	this.dzieci[this.dzieciCnt]=new Object;	  		
	this.dzieci[this.dzieciCnt].id=name;			
	this.dzieci[this.dzieciCnt].imgid=name+"_img";
	this.dzieci[this.dzieciCnt].img0=new Image; 
	if(this.dzieciCnt) this.dzieci[this.dzieciCnt].img0.src=IMG_PATH+img_name+IMG_SUFF0+IMG_EXT;
	else this.dzieci[this.dzieciCnt].img0.src=IMG_PATH+img_name+IMG_EXT;		// ramka bez suffixów

	if(this.active) { this.dzieci[this.dzieciCnt].img1=new Image; this.dzieci[this.dzieciCnt].img1.src=IMG_PATH+img_name+IMG_SUFF1+IMG_EXT; }

	if(this.active) document.write('<a href="'+link+'">');
	document.write('<img border="0" name="'+this.dzieci[this.dzieciCnt].imgid+'" src="'+this.dzieci[this.dzieciCnt].img0.src+'"');	
	document.write(' style="display:none;"');
	document.write(' style="position:absolute; left:'+x+'px; top:'+y+'px"');
	document.write(' onmouseover="'+this.id+'.mouseover('+(this.active ? this.id+".dzieci["+this.dzieciCnt+"]" : "")+');"');			
	document.write(' onmouseout="'+this.id+'.mouseout('+(this.active ? this.id+".dzieci["+this.dzieciCnt+"]" : "")+');"');
	document.write(">");
	if(this.active) document.write('</a>');

	this.dzieciCnt++;
}



menu.prototype.mouseover = function(activate) { 			// obsluga eventu myszy
	spinacz.hide_except(this);					// ukrycie pozostalych menu

	if(!this.dzieciCnt) return(0);					// nie ma dzieci - nie dzialamy

	if(typeof(activate)!="undefined")
		document[activate.imgid].src=activate.img1.src;		// zmiana obrazka na '1'
	
	for(var i=0;i<this.dzieciCnt;i++) {
		document[this.dzieci[i].imgid].style.display="block";	// wyswietlenie wszystkich dzieci...
	}	
	if(this.T1) { clearTimeout(this.T1); T1=0; }			// ...i, jesli byl ustawiony timeout, anulowanie go.
}



menu.prototype.mouseout = function(deactivate) {			// obsluga eventu myszy
	if(!this.dzieciCnt) return(0);					// nie ma dzieci - nie dzialamy

	if(typeof(deactivate)!="undefined")
		document[deactivate.imgid].src=deactivate.img0.src;	// zmiana obrazka na '0'
	this.T1=setTimeout(this.id+'.hide();',OP);			// ustawienie timeoutu na obiekcie
}


menu.prototype.hide = function() {
	document[this.imgid].src=this.img0.src;				// zmiana obrazka glównego na '0'
	for(var i=0;i<this.dzieciCnt;i++) {
		document[this.dzieci[i].imgid].style.display="none";	// ukrycie wszystkich dzieci
	}
	T1=0;	
}

