// JavaScript Document

/*$(document).ready(function() {


	// Franse items verbergen
	if ( $('#lang').val() == 'FR' ) 
	{
		$('li.item121').hide();
	}
});
*/

var xmlhttp = false;

try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
	try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
		xmlhttp = false;
	}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	xmlhttp = new XMLHttpRequest();
}

//fetch selected values and pass them to refreshSelects.	
var classes, progressdone;
var selAppl, selBrand, selModel, selType, selConvType, selConvCode, selDate;

function CheckTypeOptionsCount()
{
	if ((selType.options.length <= 2) && (xmlhttp.readyState == 4))
	{	
		if (selType.options.length == 2)
		{
			selType.value = selType.options[1].value
		}
			
		goToURL();						// we zijn klaar, want lijst met types is leeg
	}
}

function CheckDateOptionsCount()
{
	if ((selDate.options.length <= 2) && (xmlhttp.readyState == 4))
	{	
		if (selDate.options.length == 2)
		{
			selDate.value = selDate.options[1].value
		}
			
		goToURL();						// we zijn klaar, want lijst met bouwjaren is leeg
	}
}

function refresh (what)
{	
	document.getElementById("progress").style.visibility = "visible";
	
	var codes, selElements = new Array();
	
	progressdone = false;

	selAppl  = document.getElementById('veh_appl');
	selBrand = document.getElementById('veh_brand');
	selModel = document.getElementById('veh_model');
	selType  = document.getElementById('veh_type');
	selDate  = document.getElementById('veh_date');	

	if (what != null) resetBelow(what);
	
	if (!selAppl.value)
	{
		// 1e lijst tonen
		refreshSelects('appl', codes, selElements);
	}
	else
	{	
		// merken tonen
		codes = selAppl.value;
		if (!selBrand.value)
		{			
			refreshSelects('brand', codes, selElements);
		}
		else
		{
			codes = codes + ';' + selBrand.value;
			if (!selModel.value)
			{
				refreshSelects('model', codes, selElements);
			}
			else
			{
				codes = codes + ';' + selModel.value;
				if (!selType.value)
				{				
					refreshSelects('type', codes, selElements);

					setTimeout("CheckTypeOptionsCount()", 200);
				}
				else
				{	
					// type is geselecteerd, dus lijst met bouwjaren opvragen

					codes = codes + ';' + selType.value;
					if (!selDate.value)
					{
						refreshSelects('date', codes, selElements);
						
						setTimeout("CheckDateOptionsCount()", 200);
					}
					else
					{
//						codes = codes + ';' + selDate.value;
						goToURL();
					}
				}
			}
		}
	}
	hideprogress();
}

function goToURL()
{
	var sURL;
	sURL = 'webshop.asp?act=accu&appl=' + selAppl.value;
	sURL += '&brand=' + encodeURI(selBrand.value);
	sURL += '&model=' + encodeURI(selModel.value);
	sURL += '&type=' + encodeURI(selType.value);
	sURL += '&date=' + encodeURI(selDate.value);
	
	window.location = sURL;
}

function resetBelow (what)
{
	switch (what)
	{
		case 'veh_appl':
			if (selBrand.value)
			{
				selBrand.selectedIndex = 0;
				selModel.selectedIndex = 0;
				selType.selectedIndex = 0;
				selDate.selectedIndex = 0;
				
				selBrand.disabled = true;
				selModel.disabled = true;
				selType.disabled = true;
				selDate.disabled = true;
			}
			break;
		
		case 'veh_brand': 
			if (selModel.value)
			{
				selModel.selectedIndex = 0;
				selType.selectedIndex = 0;
				selDate.selectedIndex = 0;
				
				selModel.disabled = true;
				selType.disabled = true;
				selDate.disabled = true;
			}
			break;
			
		case 'veh_model':
			if (selType.value)
			{
				selType.selectedIndex = 0;
				selDate.selectedIndex = 0;
				
				selType.disabled = true;
				selDate.disabled = true;
			}
			break;
			
		case 'veh_type':
			if (selDate.value)
			{
				selDate.selectedIndex = 0;
				
				//selDate.disabled = true;
			}
			break;
	}	
}

function refreshConv ()
{	
	//document.getElementById("progress").style.visibility = "visible";
	
	var sURL, codes;
	
	//progressdone = false;

	selConvType  = document.getElementById('conv_type');
	selConvCode  = document.getElementById('conv_code');

	if (!selConvType.value)
	{
		// 1e lijst tonen
		refreshSelects('conv_type', codes);
	}
	else
	{	
		codes = selConvType.value;
		if (!selConvType.value)
		{			
			refreshSelects('conversion', codes);
		}
		else
		{		
			if (!selConvCode.value)
			{
				refreshSelects('conversion', codes);
			}
			else
			{
				codes = selConvCode.value;
				
				// resultaat van de selectie tonen
				sURL = 'webshop.asp?act=catalog&conv=' + selConvType.value;
				sURL += '&cod=' + encodeURI(selConvCode.value);
				
				window.location = sURL;
			}
		}
	}
//	hideprogress();
}

function reset()
{
	selAppl.selectedIndex = 0;
	selBrand.selectedIndex = 0;
	selModel.selectedIndex = 0;
	selType.selectedIndex = 0;
	selDate.selectedIndex = 0;
}

function hideprogress()
{
	if (progressdone)
	{
		document.getElementById("progress").style.visibility = "hidden";
	}
	setTimeout("hideprogress()", 300);
}

function submit()
{
	var classString = "";
	
	arcodes = codes.split(",");
	arclasses = classes.split(",");
	for(var key in arclasses)
	{
		classString = classString + "&class"+arclasses[key]+"="+arcodes[key];
	}
	url = "webshop.asp?act=accu&cid="+classes+"&code="+codes;
	
	document.location.href = url;
}

function AddFavorite (ctp, artcode) 
{
	if (xmlhttp) 
	{
		var url = './webshop_ww.asp?methode=13&ctp=' + ctp + '&artcode=' + URLencode(artcode);
		//	alert(url);
		if (xmlhttp.readyState >= 1 && xmlhttp.readyState <= 3) {
			xmlhttp.abort();
		}
		xmlhttp.open("GET", url, true);	

		xmlhttp.onreadystatechange = function () {
		        if(xmlhttp.readyState == 4)
				{
					response = xmlhttp.responseText;
	        	}
		}
		xmlhttp.send(null);

		// systeem even de tijd geven om database-werk te doen
		pause(200);

		return true;
	}
	else	
		return false;
}

function pause(numberMillis) {
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;

	while (true) 
	{
	    now = new Date();
	    if (now.getTime() > exitTime)
	        return;
	}
}

function URLencode(sStr) 
{
    return escape(sStr).replace(/\&/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
}
