// owner: Rob

function UpdateModellen(form, sModel)
{
	if (typeof UpdateModelsX != "undefined")
		UpdateModelsX(form, sModel);
	else
		UpdateModels(form, sModel);
}

function EmptyTestcentreForm(form)
{
	if (form.merk)
		form.merk.selectedIndex = 0;
	if (form.vanjaar)
		form.vanjaar.selectedIndex = form.vanjaar.options.length - 1;
	if (form.totjaar)
		form.totjaar.selectedIndex = 0;
	if (form.jaar)
		form.jaar.selectedIndex = 0;
	if (form.kmstand)
		form.kmstand.selectedIndex = 0;
	if (form.brandstof)
		form.brandstof.selectedIndex = 0;
	if (form["carvorm[]"])
	{
		for (var i=0; i<form["carvorm[]"].length; i++)
			form["carvorm[]"][i].checked = false;
	}
	if (form.plaats)
		form.plaats.selectedIndex = 0;
	if (form.naam)
		form.naam.value = "";
	if (form.model)
		UpdateModellen(form);
}

function GetTestcentreParams(form, nOffset, bReview)
{
	if (typeof form == "string")
		form = document.getElementById(form);
	if (!form)
		return "";

	var sParams = "";
	if (form.merk && form.merk.selectedIndex)
	{
		sParams += "merk=" + EncodeAjaxUploadData(form.merk.options[form.merk.selectedIndex].value);
		if (form.model && form.model.selectedIndex)
		{
			sParams += "&model=" + EncodeAjaxUploadData(form.model.options[form.model.selectedIndex].value);
			SetTestcentreCookie(0, form.model.options[form.model.selectedIndex].value);
		}
	}
	if (form.vanjaar)
	{
		if (sParams)
			sParams += "&";
		sParams += "vanjaar=" + form.vanjaar.options[form.vanjaar.selectedIndex].value;
	}
	if (form.totjaar && form.totjaar.selectedIndex)
	{
		if (sParams)
			sParams += "&";
		sParams += "totjaar=" + form.totjaar.options[form.totjaar.selectedIndex].value;
	}
	if (form.jaar && form.jaar.selectedIndex)
	{
		if (sParams)
			sParams += "&";
		sParams += "jaar=" + form.jaar.options[form.jaar.selectedIndex].value;
	}
	if (form.kmstand && form.kmstand.selectedIndex)
	{
		if (sParams)
			sParams += "&";
		sParams += "kmstand=" + form.kmstand.options[form.kmstand.selectedIndex].value;
	}
	if (form.brandstof && form.brandstof.selectedIndex)
	{
		if (sParams)
			sParams += "&";
		sParams += "brandstof=" + form.brandstof.options[form.brandstof.selectedIndex].value;
	}
	if (form["carvorm[]"])
	{
		for (var i=0; i<form["carvorm[]"].length; i++)
		{
			if (form["carvorm[]"][i].checked)
			{
				if (sParams)
					sParams += "&";
				sParams += "carvorm[]=" + form["carvorm[]"][i].value;
			}
		}
	}
	if (form.plaats && form.plaats.selectedIndex)
	{
		if (sParams)
			sParams += "&";
		sParams += "plaats=" + form.plaats.options[form.plaats.selectedIndex].value;
	}
	if (form.naam && form.naam.value)
	{
		if (sParams)
			sParams += "&";
		sParams += "naam=" + form.naam.value;
	}
	if (form.cat && form.cat.selectedIndex)
	{
		if (sParams)
			sParams += "&";
		sParams += "cat=" + form.cat.options[form.cat.selectedIndex].value;
	}
	if (form.zoek && form.zoek.value)
	{
		if (sParams)
			sParams += "&";
		sParams += "zoek=" + form.zoek.value;
	}
	if (form.thumbs)
	{
		if (sParams)
			sParams += "&";
		sParams += "thumbs=" + form.thumbs.value;
	}
	var nSort = GetTestcentreCookie(bReview ? 15 : 7);
	if (typeof nSort != "undefined")
	{
		if (sParams)
			sParams += "&";
		sParams += "sort=" + nSort;
		if (GetTestcentreCookie(bReview ? 16 : 8) * 1)
			sParams += "&desc=1";
	}
	if (nOffset)
	{
		if (sParams)
			sParams += "&";
		sParams += "offset=" + nOffset;
	}
	return (sParams ? "?" + sParams : "");
}

function SwitchTestcentreRubriek(sUrl, idForm, bReview) { location.href = sUrl + GetTestcentreParams(idForm, 0, bReview); }

function GetTests(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 1, "get_autotests.php", bShowLoadingAni, false); }
function GetMultiTests(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 2, "get_multitests.php", bShowLoadingAni, false); }
function GetReviews(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 3, "get_reviewautos.php", bShowLoadingAni, true); }
function GetImpressies(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 4, "get_impressies.php", bShowLoadingAni, false); }
function GetKlokjesrond(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 5, "get_klokjesrond.php", bShowLoadingAni, false); }
function GetCrashTests(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 6, "get_crashtests.php", bShowLoadingAni, false); }
function GetArchiefArtikelen(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 9, "get_archiefartikelen.php", bShowLoadingAni, false); }
function GetClassicReviews(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 10, "get_reviewclassics.php", bShowLoadingAni, true); }
function GetDealerReviews(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 11, "get_reviewdealers.php", bShowLoadingAni, true); }
function GetClassics(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 12, "get_classiclist.php", bShowLoadingAni, false); }
//function GetDealers(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 13, "get_dealerlist.php", bShowLoadingAni, false); }
function GetApkVragen(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 13, "get_apkvragenlist.php", bShowLoadingAni, false); }
function GetVraagAntwoord(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 14, "get_vraagantwoordlist.php", bShowLoadingAni, false); }
function GetBrochureListing(sRoot, form, nOffset, bShowLoadingAni) { GetTestcentreResults(sRoot, form, nOffset, 15, "get_brochurelist.php", bShowLoadingAni, false); }

function GetTestcentreResults(sRoot, form, nOffset, nRubriek, sAjaxScript, bShowLoadingAni, bReview)
{
	if (bShowLoadingAni)
		StartPopupLoadingAni();
	if (nOffset)
		SetTestcentreCookie(nRubriek, nOffset);
	else
		nOffset = GetTestcentreCookie(nRubriek);
	makeAjaxRequest(sRoot + "async/" + sAjaxScript + GetTestcentreParams(form, nOffset * 1, bReview), "ChangeTestcentreResults");
}

function ChangeTestcentreResults(sTxt)
{
   var obj = document.getElementById('idTestCentreResults');
   if (obj)
	   obj.innerHTML = sTxt;
   self.nTimerPopupLoadingAni = setTimeout("EndPopupLoadingAni()", 500);
}

function SortTestcentreResults(nField, bDesc)
{
	SetTestcentreCookie(7, nField);
	SetTestcentreCookie(8, (arguments.length > 1) ? bDesc : 0);
}

function SortReviewResults(nField, bDesc)
{
	SetTestcentreCookie(15, nField);
	SetTestcentreCookie(16, (arguments.length > 1) ? bDesc : 0);
}

function ToggleListThumbView(bThumbs, idForm, sAjaxFunc)
{
	var form = document.getElementById(idForm);
	if (!form)
		return;

	if (form.thumbs)
	{
		if (bThumbs)
		{
			if (form.thumbs.value == "1")
				return;	// already set
			form.thumbs.value = "1";
		}
		else
		{
			if (form.thumbs.value == "0")
				return;	// already set
			form.thumbs.value = "0";
		}
		SetListThumbViewIcons(form);
		eval(sAjaxFunc + "('/', '" + idForm + "')");
	}
}

function SetListThumbViewIcons(form)
{
	var img, obj;
	if (typeof form == "string")
		form = document.getElementById(form);
	if (!form)
		return;

	if (form.thumbs.value == "1")
	{
		if (img = document.getElementById("idIconThumbview"))
		{
			img.src = img.src.replace(/view.gif/, "view_on.gif");
			img.style.cursor = "auto";
		}
		if (img = document.getElementById("idIconListview"))
		{
			img.src = img.src.replace(/_on/g, "");
			img.style.cursor = "pointer";
		}
		if (obj = document.getElementById("idSortExplanation"))
			obj.style.display = "none";
	}
	else
	{
		if (img = document.getElementById("idIconListview"))
		{
			img.src = img.src.replace(/view.gif/, "view_on.gif");
			img.style.cursor = "auto";
		}
		if (img = document.getElementById("idIconThumbview"))
		{
			img.src = img.src.replace(/_on/g, "");
			img.style.cursor = "pointer";
		}
		if (obj = document.getElementById("idSortExplanation"))
			obj.style.display = "";
	}
}

function GetTestcentreCookie(nIndex)
{
	var aTmp = GetTestcentreCookieArray();
	return (aTmp[nIndex] ? aTmp[nIndex] : 0);
}

function SetTestcentreCookie(nIndex, value)
{
	var aTmp = GetTestcentreCookieArray();
	aTmp[nIndex] = value;
	sCookie = aTmp.join("|");
	document.cookie = "testcentre_data=" + sCookie;
	self.aCookies["testcentre_data"] = sCookie;
}

function GetTestcentreCookieArray()
{
	var aTmp, aDef = ['', 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 1];
	var sCookie = getCookie("testcentre_data");
	if (!sCookie.length)
		return aDef;

	aTmp = sCookie.split("|");
	for (var i=aTmp.length; i<aDef.length; i++)
		aTmp[i] = aDef[i];
	return aTmp;
}

function RestoreTestcentreModel(idForm) { RestoreModel(idForm, 1); }
function RestoreClassicreviewModel(idForm) { RestoreModel(idForm, 2); }
function RestoreClassicModel(idForm) { RestoreModel(idForm, 3); }

function RestoreModel(idForm, nLoadFunc)
{
	var sModel = GetTestcentreCookie(0);
	var form = document.getElementById(idForm);
	if (form && form.model)
	{
		if (form.model.options.length == 1)
		{
			switch (nLoadFunc)
			{
			case 1:
				UpdateModellen(form, sModel);
				break;
			case 2:
				UpdateClassicreviewModels(form, sModel);
				break;
			case 3:
				UpdateClassicModels(form, sModel);
				break;
			}
		}
		else if (sModel && (form.model.selectedIndex == -1))
		{
//alert(form.model.options.length);
			for (var i in form.model.options)
			{
				if (form.model.options[i] == sModel)
				{
					form.model.options[i].selected = true;
					break;
				}
			}
		}
	}
}

function Restart_GetDealerReviews(sRoot, form, nOffset, bShowLoadingAni)
{
	if (self.idTimerDealerReviews)
		clearTimeout(self.idTimerDealerReviews);
	self.idTimerDealerReviews = setTimeout("GetDealerReviews('" + sRoot + "', '" + form + "', " + nOffset + ", " + (bShowLoadingAni ? "true" : "false") + ")", 1500)
}

function SetZoekValue(ctrl, idForm)
{
	var form = document.getElementById(idForm);
	if (form)
		form.zoek.value = ctrl.value;
}

function EmptyZoekValue(form)
{
	if (form)
		form.zoek.value = "";
	form = document.getElementById(form.id + "_zoek");
	if (form)
		form.zoek.value = "";
}

