// owner: Rob

function DoTabHover(evt)
{
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt)
	{
		var element = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		while (element && (element.tagName != "TABLE"))
			element = element.parentNode;
		if (element)
			element.className = "smalltabhover";
	}
}

function DoTabRestore(evt)
{
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt)
	{
		var element = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		while (element && (element.tagName != "TABLE"))
			element = element.parentNode;
		if (element)
			element.className = "smalltabinactive";
	}
}

function UpdateModelTestcenterButtons(nFirstIdNr, nCount, oThisBtn)
{
	var tbl;
	for (var i=0; i<nCount; i++)
	{
		tbl = document.getElementById("idTab_" + (nFirstIdNr + i));
		if (tbl)
		{
			tbl.onmouseover = ((tbl == oThisBtn) ? "" : DoTabHover);
			tbl.onmouseout = ((tbl == oThisBtn) ? "" : DoTabRestore);
			tbl.className = ((tbl == oThisBtn) ? "smalltabactive" : "smalltabinactive");
		}
	}
}

function GetTestcentreParams(nOffset)
{
	var sParams = self.sTestcenterModelParms ? self.sTestcenterModelParms : location.search;
	var nSort = GetTestcentreModelCookie(7);
	if (typeof nSort != "undefined")
	{
		sParams += "&sort=" + nSort;
		if (GetTestcentreModelCookie(8) * 1)
			sParams += "&desc=1";
	}
	if (nOffset)
		sParams += "&offset=" + nOffset;

	return sParams;
}

function GetTests(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, nOffset, 1, "get_autotests.php", bShowLoadingAni); }
function GetMultiTests(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, nOffset, 2, "get_multitests.php", bShowLoadingAni); }
function GetReviews(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, nOffset, 3, "get_reviewautos.php", bShowLoadingAni); }
function GetImpressies(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, nOffset, 4, "get_impressies.php", bShowLoadingAni); }
function GetKlokjesrond(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, nOffset, 5, "get_klokjesrond.php", bShowLoadingAni); }
function GetCrashTests(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, nOffset, 6, "get_crashtests.php", bShowLoadingAni); }

function GetTestcentreResults(sRoot, nOffset, nRubriek, sAjaxScript, bShowLoadingAni)
{
	if (bShowLoadingAni)
		StartPopupLoadingAni(600);
	if (nOffset)
		SetTestcentreModelCookie(nRubriek, nOffset);
	else
		nOffset = GetTestcentreModelCookie(nRubriek);
	makeAjaxRequest(sRoot + "async/" + sAjaxScript + GetTestcentreParams(nOffset * 1), "ChangeTestcentreResults");
}

function ChangeTestcentreResults(sTxt)
{
   var obj = document.getElementById('idTestCentreResults');
   if (obj)
	   obj.innerHTML = sTxt;
   self.nTimerPopupLoadingAni = setTimeout("EndPopupLoadingAni()", 500);
}

function SortTestcentreResults(nField, bDesc)
{
	SetTestcentreModelCookie(7, nField);
	SetTestcentreModelCookie(8, (arguments.length > 1) ? bDesc : 0);
}

function GetTestcentreModelCookie(nIndex)
{
	var sCookie = getCookie("testcentremodel_data");
	if (!sCookie.length)
		return 0;
	var aTmp = sCookie.split("|");
	return (aTmp[nIndex] ? aTmp[nIndex] : 0);
}

function SetTestcentreModelCookie(nIndex, value)
{
	var sCookie = getCookie("testcentremodel_data");
	if (sCookie.length)
		var aTmp = sCookie.split("|");
	else
		var aTmp = ['', 0, 0, 0, 0, 0, 0, 1, 0];
	aTmp[nIndex] = value;
	sCookie = aTmp.join("|");
	document.cookie = "testcentremodel_data=" + sCookie;
	self.aCookies["testcentremodel_data="] = sCookie;
}
