/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
»»»  PSP MAC Codes
»»»  Copyright 2003 Pedro Pereira
»»»  http://www.pspinteractive.com.br/
»»»  Version 2.0 - 03/19/2003
:::  SPECIALLY FOR MAC CLIENT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* CLASS MenuMac */
MenuMac = function() {
	this.path 			= '';
	this.n_itens 		= 0;
	this.n_desc 		= 0;
	this.desc_size 		= [];
	this.obj_itensPai	= [];
	this.obj_itens		= [];
	this.fric_itens		= [];
	this.obj_desc		= [];
	this.fric_desc		= [];
	this.ini 			= new Function();
	this.moveFric 		= new Function();
	this.show_desc 		= new Function();
	this.indexOld		= 0;
	this.obj_desc, this.fric_desc;
	this.url			= [];
	this.ini			= new Function();
	this.setHTML		= "";
	this.msgOut			= "[MAC]";
	this.pos			= [7, 98]
	this.home			= null;
}

MenuMac.prototype.build = function() {
	this.css();
	// DESCRIPTION
	this.setHTML += '<div id="desc">' + '\n';
	for (nD=1; nD < this.n_desc+1; nD++) this.setHTML += '	<div id="desc' + nD + '"><img src="' + this.path + 'desc_' + nD + '.gif" border="0"></div>' + '\n';
	this.setHTML += '</div>' + '\n';
	// ITENS
	this.setHTML += '<div id="itens">' + '\n';
	href = (is.ns) ? 'href="#"' : 'style="cursor=hand"';
	for (nI=1; nI < this.n_itens+1; nI++)this.setHTML += '	<div id="item' + nI + '"><a ' + href + ' onclick="mac_href(\'' + this.url[nI-1][0] + '\'); return false" onmouseover="mac_over(\'' + this.url[nI-1][1] + '\'); if (!is.ns4) rollover(\'imgItem' + nI + '\',\'' + this.path + 'item_' + nI + '_on.gif\',\'itens\',\'item' + nI + '\'); mac.show_desc('+nI+')" onmouseout="mac_over(\'' + this.msgOut + '\'); if (!is.ns4) rollover(\'imgItem' + nI + '\',\'' + this.path + 'item_' + nI + '_off.gif\',\'itens\',\'item' + nI + '\'); mac.show_desc()"><img src="' + this.path + 'item_' + nI + '_off.gif" width="150" height="18" border="0" name="imgItem' + nI + '"></a></div>' + '\n';
	if (this.home!=null) this.setHTML += '	<div id="itemHome"><a ' + href + ' onclick="mac_href(\'' + this.home[0] + '\'); return false" onmouseover="mac_over(\'' + this.home[1] + '\');" onmouseout="mac_over(\'' + this.msgOut + '\');"><img src="' + this.path + 'home.gif" width="150" height="18" border="0" name="imgItemHome"></a></div>' + '\n';
	this.setHTML += '	<div id="info"><img src="' + this.path + 'info.gif" width="150" height="15" border="0"></div>' + '\n';
	this.setHTML += '</div>' + '\n';
	document.write(this.setHTML);
}
MenuMac.prototype.css = function() {
	var alpha = (is.ns4) ? "visibility:visible" : "filter:alpha(opacity=60)";
	setCSS = css('desc',(this.rs()+this.pos[0])+150,this.pos[1],430,285,'hidden');
	for (nD=1; nD < this.n_desc+1; nD++) setCSS += css('desc'+nD,this.desc_size[nD-1][0].toNegative(),(15+(nD-1)*18),this.desc_size[nD-1][0],this.desc_size[nD-1][1])
	setCSS += css('itens',(this.rs()+this.pos[0]),this.pos[1],150,305);
	for (nI=1; nI < this.n_itens+1; nI++) setCSS += css('item'+nI,0,-10,150,20,null,null,null,alpha);
	if (this.home!=null) setCSS += css('itemHome',0,15,150,20);
	setCSS += css('info',0,0,150, 15);
	writeCSS( setCSS );
}
MenuMac.prototype.rs = function() {
	return ((tela.dw()-760)/2)
}

mac = new MenuMac();

mac_over = function(name) { self.status = name; }
mac_href = function(url) { 
	self.location = url;
	//changeFlash();
}

mac.makeMenu = function() {
	this.ini();
//	mac.desc_size = [ [209, 16], [227, 16], [426, 16], [425, 16], [314, 16], [214, 16], [247, 16], [209, 16], [233, 16], [246, 16], [274, 16], [251, 16], [226, 16], [219, 16] ]
	mac.desc_size = [ [209, 16], [227, 16], [426, 16], [425, 16], [314, 16], [314, 16],[214, 16], [247, 16], [209, 16], [233, 16], [246, 16], [274, 16], [251, 16], [219, 16] ]
	mac.n_itens = mac.url.length;
	mac.n_desc = mac.desc_size.length;
	mac.build();
	this.obj_itensPai = new DynLayer('itens');
	this.obj_desc = new DynLayer('desc');
	for (nI=1; nI < mac.n_itens+1; nI++) {
		mac.obj_itens[nI] = new DynLayer('item'+nI);
 		mac.fric_itens[nI] = new PspFriction(mac.obj_itens[nI]);
		mac.fric_itens[nI].speed = 0.09;
 	}
	for (nD=1; nD < mac.n_desc+1; nD++) {
		mac.obj_desc[nD] = new DynLayer('desc'+nD);
 		mac.fric_desc[nD] = new PspFriction(mac.obj_desc[nD]);
		mac.fric_desc[nD].speed = 0.2;
 	}
	mac.moveFric = function() {
		for (nI=1; nI < mac.n_itens+1; nI++) mac.fric_itens[nI].move();
		for (nD=1; nD < mac.n_desc+1; nD++) mac.fric_desc[nD].move();
		setTimeout("mac.moveFric()", 30)
	}
	mac.moveFric();
}
/* SHOW DESCRIPTION */
mac.show_desc = function(index) {
	if ((index != null) && (index <= mac.n_desc)) {
		mac.fric_desc[index].pos(0, mac.obj_itens[index].y);
		mac.fric_itens[index].onEnd = function() {
			mac.fric_desc[index].pos(0, mac.obj_itens[index].y);
		}
		mac.fric_desc[index].onEnd = function() {
			mac.fric_desc[index].pos(0, mac.obj_itens[index].y);
		}
	} else {
		if ((this.indexOld <= mac.n_desc) && (this.indexOld != 0)) {
			mac.fric_desc[this.indexOld].onEnd = function() {}
			mac.fric_itens[this.indexOld].onEnd = function() {}
			mac.fric_desc[this.indexOld].pos(mac.obj_desc[this.indexOld].w.toNegative(), mac.obj_itens[this.indexOld].y);
		}
	}
	this.indexOld = index;
}

/* ############################################################################ */

/* MOUSE EVENTS */
function initMouseEvents() {
	document.onmousemove = mouseMove
	if (is.ns) document.captureEvents(Event.MOUSEMOVE)
}
function getMouseX(e) {
	var x = 0;
	if (is.ns4) x = e.pageX; else if (is.ie) x = event.x + document.body.scrollLeft; else if (is.ns5) x = e.clientX;
	return x;
}
function getMouseY(e) {
	var y = 0;
	if (is.ns4) y = e.pageY; else if (is.ie) y = event.y + document.body.scrollTop; else if (is.ns5) y = e.clientY;
	return y;
}
function mouseMove(e) {
	x = getMouseX(e); 
	x -= mac.rs(); 
	y = getMouseY(e);
	if (is.ns && e.target!=document) routeEvent(e)
	if (x > 300) { for (nI=1; nI < mac.n_itens+1; nI++) mac.fric_itens[nI].pos(0, -10); }
	for (i=0; i < 19; i++) {
		if ((x < 300-5*19) && (y > 114 || x < 166)) mac.obj_desc.show(); else mac.obj_desc.hide();
		if (x < 300-5*i) { for (nI=1; nI < mac.n_itens+1; nI++) mac.fric_itens[nI].pos(0, (((mac.home!=null)?34:15)+(nI-1)*i)); }
	}
}

onloadEvent = function() {
	for (nI=1; nI < mac.n_itens+1;nI++) preImg(mac.path + 'item_' + nI + '_on.gif')
	initMouseEvents()
}

onload = onloadEvent;
onresize = function() {
	mac.obj_itensPai.moveTo(mac.pos[0]+mac.rs(),null)
	mac.obj_desc.moveTo(((mac.obj_itensPai.x)+150), null)
}

