function HO_OpenCloseOjj(id)
	{

	if (HO_OpenTomb[id].allapot == 0)
		{
		// zarva van, ki kell nyitni

		if (HO_OpenTomb[id].min_height < 1)
			{
			HO_OpenTomb[id].ojjekt.style.display = 'block';
			}

		if (HO_OpenTomb[id].openmsec < 1)
			{
			HO_OpenTomb[id].ojjekt.style.height = HO_OpenTomb[id].max_height;
			}
		else
			{
			HO_OpenCloseMain(id);
			}
		HO_OpenTomb[id].allapot = 1;
		}
	else if (HO_OpenTomb[id].allapot == 1)
		{
		// nyitva van, be kell zarni
		if (HO_OpenTomb[id].openmsec < 1)
			{
			HO_OpenTomb[id].ojjekt.style.height = HO_OpenTomb[id].min_height;
			}
		else
			{
			HO_OpenCloseMain(id);
			}
/*
		if (HO_OpenTomb[id].min_height < 1)
			{
			HO_OpenTomb[id].ojjekt.style.display = 'none';
			}
*/
		HO_OpenTomb[id].allapot = 0;
		}
		
	}


function HO_OpenCloseMain(id)
	{
	var movepx = HO_OpenTomb[id].movepx;
	var allapot = HO_OpenTomb[id].allapot;
	if (allapot == 0)
		{
		var startpx = HO_OpenTomb[id].min_height;
		var endpx = HO_OpenTomb[id].max_height;
		}
	else
		{
		var startpx = HO_OpenTomb[id].max_height;
		var endpx = HO_OpenTomb[id].min_height;
		}

	var lepespx = HO_OpenTomb[id].lepespx;
	if (startpx > endpx)
		{
		lepespx = 0 - HO_OpenTomb[id].lepespx;
		}

	var loadmsec = HO_OpenTomb[id].loadmsec;

//		alert("HO_OpenCloseMover('" + id + "','" + startpx + "','" + endpx + "','" + lepespx + "','" + loadmsec + "','" + allapot + "')");
	HO_OpenCloseMover(id,startpx,endpx,lepespx,loadmsec,allapot);
	}


function HO_OpenCloseMover(id,startpx,endpx,lepespx,loadmsec,allapot)
	{
	var tovabb = 1;
	
	if ( ( (allapot == 0) && ((parseInt(startpx) + parseInt(lepespx)) > parseInt(endpx))) ||
		( (allapot == 1) && ((parseInt(startpx) + parseInt(lepespx)) < parseInt(endpx))) )
		{
		startpx = endpx;
		tovabb = 0;
		}
	else
		{
		startpx = parseInt(startpx) + parseInt(lepespx);
		}

	HO_OpenTomb[id].ojjekt.style.height = startpx + "px";
//alert(startpx+"px");

	if (HO_OpenTomb[id].mozgato_idozito)
		{
		window.clearTimeout(HO_OpenTomb[id].mozgato_idozito);
		}
	if (tovabb == 1)
		{
//		alert("HO_OpenCloseMover('" + id + "','" + startpx + "','" + endpx + "','" + lepespx + "','" + loadmsec + "','" + allapot + "')");
		HO_OpenTomb[id].mozgato_idozito = window.setTimeout("HO_OpenCloseMover('" + id + "','" + startpx + "','" + endpx + "','" + lepespx + "','" + loadmsec + "','" + allapot + "')",loadmsec);
		}
	if  (startpx == 0)
		{
		HO_OpenTomb[id].ojjekt.style.display = 'none';
		}
	else
	    {
	    if ((startpx != 0) && (startpx!=HO_OpenTomb[id].min_height) && (tovabb == 0) && (HO_OpenTomb[id].ojjekt.style.height == endpx+"px"))
		{
		HO_OpenTomb[id].ojjekt.style.height = 'auto';
		}
	    }
	}


/*

HO_OpenOjj(ID[,openmsec[,minheight[,maxheight]])

ID 			- 1. parameter 	- objektum ID-je (kotelezo)
openmsec		- 2. parameter - hany miliszekundum (1/1000 sec) alatt kell kinyitni/becsukni az obektumot (opcionalis, alapertelmezesben: 0 - azonnal nyilik / csukodik)
minheight 	- 3. parameter	- legkisebb meret (opcionalis, alapertelmezesben: 0)
maxheight	- 4. parameter	- maximalis meret (opcionalis, alapertelmezesben: az objektum deklaralasakor mert erteke)


*/
function HO_OpenOjj()
	{
	var argum_num = HO_OpenOjj.arguments.length;
	if (argum_num < 1)
		{
		return false;
		}

	var id = HO_OpenOjj.arguments[0];

	var openmsec = 0;
	if (argum_num > 1)
		{
		openmsec = HO_OpenOjj.arguments[1];
		}

	var min_height = 0;
	if (argum_num > 2)
		{
		min_height = HO_OpenOjj.arguments[2];
		}

	var orig_height = HO_GetObjectHeight(id);
	var max_height = orig_height;
	if (argum_num > 3)
		{
		max_height = HO_OpenOjj.arguments[3];
		}

	this.nev = id;
	this.ojjekt = HO_GetObj(id);
	this.orig_height = orig_height;
	this.min_height = min_height;
	this.max_height = max_height;
	this.allapot = 0;
	this.openmsec = openmsec;
	this.mozgato_idozito = '';

	var movepx = parseInt(max_height) - parseInt(min_height);
	this.movepx = movepx;

	if (openmsec < movepx)
		{
		var lepespx = Math.floor(parseInt(movepx) / parseInt(openmsec));
		var loadmsec = 1;
		}
	else
		{
		var loadmsec = Math.floor(parseInt(openmsec) / parseInt(movepx));
		var lepespx = 1;
		}	
	if (lepespx < 1)
		{
		lepespx = 1;
		}
	if (loadmsec < 1)
		{
		loadmsec = 1;
		}

	this.lepespx = lepespx;
	this.loadmsec = loadmsec;

var debug = "";
debug += "id: " + id + ", ";
debug += "getobj: " + HO_GetObj(id)  + ", " ;
debug += "orig_height: " + orig_height + ", ";
debug += "min_height: " + min_height + ", ";
debug += "max_height: " + max_height + ", ";
debug += "openmsec: " + openmsec + ",";
debug += "movepx: " + movepx + ", " ;
debug += "lepespx: " + lepespx + ", ";
debug += "loadmsec: "+ loadmsec;
//alert(debug);
	HO_GetObj(id).style.height = min_height + "px";
	HO_GetObj(id).style.visibility = 'visible';
	if (min_height < 1)
		{
		HO_GetObj(id).style.display = 'none';
		}
	}


/*

HO_CreateOpenOjj(ID[,openmsec[,minheight[,maxheight]])

ID 			- 1. parameter 	- objektum ID-je (kotelezo)
openmsec		- 2. parameter - hany miliszekundum (1/1000 sec) alatt kell kinyitni/becsukni az obektumot (opcionalis, alapertelmezesben: 0 - azonnal nyilik / csukodik)
minheight 	- 3. parameter	- legkisebb meret (opcionalis, alapertelmezesben: 0)
maxheight	- 4. parameter	- maximalis meret (opcionalis, alapertelmezesben: az objektum deklaralasakor mert erteke)

*/

function HO_CreateOpenOjj()
	{
	switch (HO_CreateOpenOjj.arguments.length)
		{
		case 4:
				HO_OpenTomb[HO_CreateOpenOjj.arguments[0]] = new HO_OpenOjj(HO_CreateOpenOjj.arguments[0],HO_CreateOpenOjj.arguments[1],HO_CreateOpenOjj.arguments[2],HO_CreateOpenOjj.arguments[3]);
			break;
		case 3:
				HO_OpenTomb[HO_CreateOpenOjj.arguments[0]] = new HO_OpenOjj(HO_CreateOpenOjj.arguments[0],HO_CreateOpenOjj.arguments[1],HO_CreateOpenOjj.arguments[2]);
			break;
		case 2:
				HO_OpenTomb[HO_CreateOpenOjj.arguments[0]] = new HO_OpenOjj(HO_CreateOpenOjj.arguments[0],HO_CreateOpenOjj.arguments[1]);
			break;
		case 1:
				HO_OpenTomb[HO_CreateOpenOjj.arguments[0]] = new HO_OpenOjj(HO_CreateOpenOjj.arguments[0]);
			break;
		default:
				return false;
			break;
		}
	return true;
	}

var HO_OpenTomb = new Array();
