// ---------------------------------------------------------------------------------------------------------

myFrame=function ()
{
	// Costanti private
	//myFrame.html='<?PHP echo ($geppe); ?>';
	
	myFrame.nn=(document.layers) ? 1 : 0;	// Test sul browser utilizzato
	myFrame.ie=(document.all) ? 1 : 0;
	
	myFrame.auto_out_=true;					// se true nasconde automaticamente il form quando il mouse vi esce
	myFrame.timeout_=3000;					// tempo di chiusura della finestra (se 0 inattivo)
	myFrame.speedTime_=5;
	myFrame.steppo_=4;
	myFrame.offX_=0;						// Spostamento frame rispetto al mouse
	myFrame.offY_=30;
	myFrame.lpos_=-103;
	
	// Variabili private
	myFrame.auto_close=null;
	myFrame.a=null;
	myFrame.s=null;
	myFrame.coord_x=0;
	myFrame.coord_y=0;
	myFrame.lpos=myFrame.lpos_;

	// Metodi pubblici
	this.inyt=inyt;
	this.starto=proce;
}

// ---------------------------------------------------------------------------------------------------------
// Funzioni

// ----------------------

myFrame.addEvent=function (e,evname,func)
{
	if (e.attachEvent)
	{ // IE
		e.attachEvent("on" + evname, func);
	} 
	else if (e.addEventListener)
	{ // Gecko / W3C
		e.addEventListener(evname, func, true);
	} 
	else 
	{
		e["on" + evname] = func;
	}
}

// ----------------------

myFrame.removeEvent=function (e,evname,func)
{
	if (e.detachEvent)
	{ // IE
		e.detachEvent ("on" + evname, func);
	}
	else if (e.removeEventListener)
	{ // Gecko / W3C
		e.removeEventListener (evname, func, true);
	}
	else
	{
		e["on" + evname] = null;
	}
}

// ----------------------

myFrame.ritorna = function ()
{
var i;
	
	// Fa uscire il frame dallo schermo	
	with (myFrame)
	{
		if (lpos>lpos_)
		{
			lpos=lpos-steppo_; if (lpos<lpos_) lpos=lpos_;
			s.left=lpos+"px";
				setTimeout ("myFrame.ritorna()",speedTime_);
		}
	}
}

// ----------------------

myFrame.esci = function ()
{
	// Fa entrare il frame nello schermo
	with (myFrame)
	{
		if (lpos<0)
		{
			lpos=lpos+steppo_; if (lpos>0) lpos=0;
			s.left=lpos+"px";
			setTimeout ("myFrame.esci()",speedTime_);
		}
	}
}

// ----------------------

myFrame.start_event = function ()
{
	with (myFrame)
	{
		clearTimeout (auto_close);
		auto_close=setTimeout ("myFrame.ritorna()",timeout_);
	}
}

// ----------------------

this.proce = function ()
{
	with (myFrame)
	{
		clearTimeout (auto_close);
		// passiamo alla pagina il codice HTML che descrive (e disegna) il form
		s.visibility="visible";
		if (lpos<=lpos_)
			setTimeout ("myFrame.esci()",speedTime_);
		else
			setTimeout ("myFrame.ritorna()",speedTime_);
	}
}

// ----------------------
	
this.inyt = function ()
{
	var stile="";

	// Il formato è   keyword:valore;
	with (myFrame)
	{
		a=document.getElementById ('conta');
		s=a.style;
		s.left=lpos+"px";
		
		addEvent (a,"mousemove",start_event);
	}
}
		
// ---------------------------------------------------------------------------------------------------------
// Main	

var o=new myFrame ();
	o.inyt ();

// <a href="javascript:void(0)" onmouseup="o.starto ('Testina')">Cliccky</a>

