
var pTslideIn = new Hash();
var pTslideOut = new Hash();
var pOpen = new Hash();
var pPinned = new Hash();


function profil_on( pid ) {
	if ( pTslideOut.get(pid) != undefined ) {
		window.clearTimeout(pTslideOut.get(pid));
		pTslideOut.unset(pid);
	}

	if ( pOpen.get(pid) === true ) return;

	if (pTslideIn.get(pid) != undefined) return;

	pTslideIn.set(pid, window.setTimeout( 'profil_slideIn(' + pid +')', 750 ) );
}

function profil_off( pid ) {
	if (pTslideIn.get(pid) != undefined) {
		window.clearTimeout(pTslideIn.get(pid));
		pTslideIn.unset(pid);
	}
	
	profil_scheduleSlideOut( pid, 600 );
}

function profil_scheduleSlideOut( pid, timeInMS ) {
	if ( !(pOpen.get(pid) === true) ) return;

	if ( pTslideOut.get(pid) != undefined ) return;

	pTslideOut.set( pid, window.setTimeout( 'profil_slideOut(' + pid +')', timeInMS ) );
	
}

function profil_slideIn( pid ) {
	pCoord = $("p_"+pid).positionedOffset();
	$("pz_"+pid).setStyle({
		'left': (pCoord.left + $("p_"+pid).getWidth()) +"px",
		'top': pCoord.top+"px",
		'display': '',
		'width' : '0px'
	});
	pOpen.set(pid, true);
	
	if (pTslideIn.get(pid) != undefined) {
		window.clearTimeout(pTslideIn.get(pid));
		pTslideIn.unset(pid);
	}	
	
//	new Effect.Parallel([
//		new Effect.Move("pz_"+pid, { sync: true, x: 0, y: 0, mode: 'relative', transition: Effect.Transitions.linear }),
//		new Effect.Morph("pz_"+pid, { sync: true, style: {'width': '264px'} })],
//		{ duration: 0.25 }
//	);
	new Effect.Morph("pz_"+pid, { style: {'width': '264px'}, duration: 0.25 });
}

function profil_slideOut( pid ) {
	if (pTslideOut.get(pid) != undefined ) {
		window.clearTimeout(pTslideOut.get(pid));
		pTslideOut.unset(pid);
	}
	
	if ( pPinned.get(pid) === true ) return;
	
	pOpen.set(pid, false);
	
//	new Effect.Parallel([
//		new Effect.Move("pz_"+pid, { sync: true, x: 264, y: 0, mode: 'relative', transition: Effect.Transitions.reverse }),
//		new Effect.Morph("pz_"+pid, { sync: true, style: {'width': '0px'} })],
//		{ duration: 0.25 }
//	);
	new Effect.Morph("pz_"+pid, { style: {'width': '0px'}, duration: 0.25 });
}


function profil_close(pid) {
	profil_unpin(pid);
	profil_off(pid);
	if (!( pOpen.get(pid) === true)) return;
	
	profil_slideOut(pid);
}


function profil_pin( pid ) {
	pPinned.set(pid, true);
	$("profil_pinned_" + pid).show();
	$("profil_unpinned_" + pid).hide();
}

function profil_unpin( pid ) {
	pPinned.set(pid, false);
	$("profil_unpinned_" + pid).show();
	$("profil_pinned_" + pid).hide();
}

