var c_session_time = 30 * 60; // secunde
var session_id = "";
var session_time = "";
function initSessionState(){
	var o_ssID = params.getParam("session_ticket");
	var t_signature = (new Date().getTime());
	var s_identificator = "";
	for(var i=0; i<16; i++)
		s_identificator += String.fromCharCode(65 + Math.round(Math.random()*25));
	if(o_ssID == null)		// no session information present
		prepareSession(params.setParam("session_ticket", s_identificator + Math.round(t_signature / 1000) + "_" + t_signature));
	else					// verify that session is still valid
	{
		try{
			var o_t_signature = Number( o_ssID.substring(o_ssID.indexOf("_")+1) );
			if( o_t_signature == "NaN" )
				throw "NaN";
			if( t_signature - o_t_signature > c_session_time * 1000 ) // session expired
				throw "Expired";
		}catch(e){
			prepareSession(params.setParam("session_ticket", s_identificator + Math.round(t_signature / 1000) + "_" + t_signature));
		}
	}
	try{
		session_id = o_ssID.substring(0, o_ssID.indexOf("_"));
		session_time = Number( o_ssID.substring(o_ssID.indexOf("_")+1) );
	}catch(e){
	}
}

function prepareSession(querry_string){
	document.location.href = document.location.href.substring(0, (document.location.href.lastIndexOf("?")==-1?document.location.href.length:document.location.href.lastIndexOf("?"))) + querry_string;
}

function getNewerSessionTicket(){
	var t_signature = ( new Date().getTime() );
	if( t_signature - session_time > (c_session_time - 60) * 1000 ) // session expired or is about to expire
		return session_id + "_" + t_signature;
	else
		return session_id + "_" + session_time;
}

function getSessionInHref(first_parameter){
	return "";
	if( first_parameter )
		return "?session_ticket=" + getNewerSessionTicket();
	else
		return "&session_ticket=" + getNewerSessionTicket();
}

//initSessionState();