var track_cookie_get_attempts = 0;
function track(site, element_id, type_id, session_id_cookie_name, dont_wait_for_set)
{
	if(typeof(session_id_cookie_name) == "undefined" || session_id_cookie_name == null || session_id_cookie_name == "")
		session_id_cookie_name = 'session_id'
	session_id = readCookie(session_id_cookie_name);
	if (session_id == null)
	{
		if(track_cookie_get_attempts < 20 && typeof(dont_wait_for_set) == "undefined"){
			track_cookie_get_attempts++;
			setTimeout("track('"+site+"','"+element_id+"','"+type_id+"','"+session_id_cookie_name+"')", 100);
			return;
		}
		session_id = createSessionId();
		createCookie(session_id_cookie_name,session_id,30);
		saveSessionInformation(site, session_id);
	}
	saveSessionHistory(site, session_id, window.location);
	if(document.getElementById(element_id)){
		number = getSessionInboundNumber(site, session_id, type_id);
		try{
			document.getElementById(element_id).innerHTML = number;
		}
		catch(e){}
	}
	setTimeout("setInboundSessionId('"+session_id_cookie_name+"')", 1000);
}

function createSessionId()
{
	date = new Date();
	return date.getTime()+""+Math.round(Math.random()*1000000);
}

function saveSessionInformation(site, session_id)
{
	url = site+"sta_track.php?action=save_session&session_id="+escape(session_id);
	post = "&referrer="+escape(document.referrer);
	post += "&appName="+escape(navigator.appName);
	post += "&platform="+escape(navigator.platform);
	post += "&userLanguage="+escape(navigator.userLanguage);
	post += "&userAgent="+escape(navigator.userAgent);
	post += "&visit_id="+escape(getVisitId());
	var ac = new AjaxClient;
	ac.post(url, post, true);
}

function saveSessionHistory(site, session_id, page)
{
	url = site+"sta_track.php?action=save_history&session_id="+session_id;
	post = "&page="+escape(page);

	var ac = new AjaxClient;
	ac.post(url, post, true);
}

function getVisitId()
{
	//TODO
	return "";
}

function getSessionInboundNumber(site, id, type_id)
{
	var ac = new AjaxClient;
	number = readCookie('sta800number');
	if (number == null || number == '')
	{
		url = site+"sta_track.php?action=get_number&session_id="+id+"&type_id="+type_id;
		number = ac.get(url, false);
		createCookie('sta800number',number,30);
	}
	return number;
}
function setInboundSessionId(session_id_cookie_name){
	var forms = document.forms;
	for(var i = 0; i < forms.length; i++){
		try{
			forms[i].web_session_id.value = readCookie(session_id_cookie_name);
		}
		catch(e){}
	}
}