// ---
// Onload event handler: 
// ---

window.onload = doLoad;
function doLoad()
{
//	if (!formVakBellen.operator[formVakBellen.operator.selectedIndex].value==999){
//	  document.getElementById("formVakBellen").reset();
//	}
//	if ((document.getElementById("stap3Identifier") != null)&&(!formVakBellen.operator[formVakBellen.operator.selectedIndex].value==999))
//		document.getElementById("belvorm").disabled = false;

	document.getElementById("formVakBellen").reset();
	if (document.getElementById("stap3Identifier") != null)


		document.getElementById("belvorm").disabled = false;

}

// ---
// Global vars: 
// ---

var g_oXMLHttp;

// ---
// Generic function for sending requests: 
// ---

function sendXMLRequest(sUri, oResponseHandler)
{
	if (window.XMLHttpRequest)
		g_oXMLHttp = new XMLHttpRequest();
	else if (window.ActiveXObject)
		g_oXMLHttp = new ActiveXObject('Microsoft.XMLHTTP');
		
	if (g_oXMLHttp)
	{
		g_oXMLHttp.onreadystatechange = oResponseHandler;
		g_oXMLHttp.open('GET', sUri, true);
		g_oXMLHttp.send(null);
	}
}

// ---
// Specific response handling: 
// ---

function fillBelVormen()
{ 
	if (!responseOk())
		return;
	
	resetBelvorm(false);

	var oXMLDocument = g_oXMLHttp.responseXML;
	var oNodeList = oXMLDocument.getElementsByTagName('item');
	var oListBox = document.getElementById('belvorm');
	for (var nNode = 0; nNode < oNodeList.length; nNode ++)
	{
		var nId			= oNodeList[nNode].attributes.getNamedItem('id').nodeValue;
		var oOption		= oListBox.appendChild(document.createElement('OPTION'));
		oOption.value = nId;
		oOption.appendChild(document.createTextNode(oNodeList[nNode].firstChild.nodeValue));
	}
}

function fillLanden()
{
	if (!responseOk())
		return;
	
	resetLanden(false);

	var oXMLDocument = g_oXMLHttp.responseXML;
	var oNodeList = oXMLDocument.getElementsByTagName('item');
	var oListBoxAll = document.getElementById('alleLanden');
	
	for (var nNode = 0; nNode < oNodeList.length; nNode ++)
	{
		var nId			= oNodeList[nNode].attributes.getNamedItem('id').nodeValue;
		var nZone		= oNodeList[nNode].attributes.getNamedItem('wereldzone').nodeValue;
		var nKanBellen  = oNodeList[nNode].attributes.getNamedItem('kanBellen').nodeValue;
		if (nZone > 0)
		{
			var oOption = oListBoxAll.appendChild(document.createElement('OPTION'));
			oOption.value = nId;
			oOption.appendChild(document.createTextNode(oNodeList[nNode].firstChild.nodeValue));
			if (nKanBellen != 1)
				oOption.style.color = '#999999';
			
			var oListBox = document.getElementById('land' + nZone);
			if (oListBox != null)
				oListBox.appendChild(oOption.cloneNode(true));
		}
	}
}

function fillTypes()
{
	if (!responseOk())
		return;

	var oXMLDocument = g_oXMLHttp.responseXML;
	var oNodeList = oXMLDocument.getElementsByTagName('item');
	var oListBox = document.getElementById('selToestel');
	removeOptions(oListBox);
	for (var nNode = 0; nNode < oNodeList.length; nNode ++)
	{
		var nId			= oNodeList[nNode].attributes.getNamedItem('id').nodeValue;
		var oOption		= oListBox.appendChild(document.createElement('OPTION'));
		oOption.value = nId;
		oOption.appendChild(document.createTextNode(oNodeList[nNode].firstChild.nodeValue));
	}	
}

function showKanBellen()
{
	if (!responseOk())
		return;

	var oXMLDocument = g_oXMLHttp.responseXML;
	var oNodeList = oXMLDocument.getElementsByTagName('tarief');

	var bKanBellen = false ;
	for (var nNode = 0; nNode < oNodeList.length; nNode ++)
	{
		for (var nSubNode = 0; nSubNode < oNodeList[nNode].childNodes.length; nSubNode ++)
		{
			var oSubNode = oNodeList[nNode].childNodes[nSubNode];
			if (oSubNode.nodeName.toLowerCase() == 'bellenmettoestel'
				&& oSubNode.firstChild.nodeValue == '1')
			{
				bKanBellen = true;
				break;
			}
		}
		if (bKanBellen)
			break;
	}
	var sLand = oXMLDocument.getElementsByTagName('naamland')[0].firstChild.nodeValue; 
	var oSpan = document.getElementById('spanMessage');
	if (bKanBellen)
		oSpan.innerHTML = 'Met dit toestel kunt u bellen in ' + sLand + '.';
	else
		oSpan.innerHTML = 'Met dit toestel kunt u helaas <b>niet</b> bellen in ' + sLand + '.';
}

// ---
// Auxiliary functions: 
// ---

function responseOk()
{
	if (g_oXMLHttp.readyState != 4)
		return false;
	if (g_oXMLHttp.status != 200)
	{
		alert('Problem retrieving XML data:\n' + g_oXMLHttp.statusText);
		return false;	
	}
	return true;
}

function removeOptions(oListBox)
{
	if (oListBox == null)
		return;
	for (var nChild = 0; nChild < oListBox.childNodes.length; nChild ++)
	{	
		var oChild = oListBox.childNodes[nChild]; 
		if (oChild.nodeName.toLowerCase() != 'option')
			oListBox.removeChild(oChild);
	}
	while (oListBox.childNodes.length > 1)
		oListBox.removeChild(oListBox.lastChild);
}
// ---
// Interface for calls from the HTML-page: 
// ---

function doOperatorChange(oSender)
{
	if (oSender.value == 6)
	{
		//-- uitzondering Debitel --
		location.href = "../sp/debitelPag.asp?operator=6&belvorm=43";
		return;	
	}
	
	if  (oSender.value == 999)
	{
	  //-- alle aanbieders
	  //------ verander de achtergronden -
	 
	  doBGchange(false,false,true);
	  resetBelvorm(true);
	  
	  sendXMLRequest('http://' +
		location.host +
		'/calculus/landenlistbox.asp?belvorm=999',fillLanden);
	  
	}else{
  	
	  resetBelvorm(true);
	  resetLanden(true);

	  //------ verander de achtergronden -
	  doBGchange(false,true,false)
  	
	  if (oSender.selectedIndex == 0)
		  return;
	  sendXMLRequest('http://' +
		  location.host +
		  '/calculus/belvormenlistbox.asp?operator=' +
		  oSender[oSender.selectedIndex].value,
		  fillBelVormen);
	}
}

function doBelvormChange(oSender)
{

	//------ verander de achtergronden -
	doBGchange(false,false,true)
	
	if (oSender.selectedIndex == 0)
		return;
	resetLanden(true);
	
	sendXMLRequest('http://' +
		location.host +
		'/calculus/landenlistbox.asp?belvorm=' +
		oSender[oSender.selectedIndex].value,
		fillLanden);
}

function doMerkChange(oSender)
{
	if (oSender.selectedIndex == 0)
		return;
	document.getElementById('spanMessage').innerHTML = '';
	sendXMLRequest('http://' +
		location.host +
		'/calculus/gsmtoestellenlistbox.asp?gsmtoestelmerk=' +
		oSender[oSender.selectedIndex].value,
		fillTypes);
}
function doTypeChange(oSender)
{
	if (oSender.selectedIndex == 0)
		return;
	var nId = oSender[oSender.selectedIndex].value;
	document.getElementById('spanMessage').innerHTML = '';
	var oNodeList = document.getElementsByName('menuLink');
	for (var nNode = 0; nNode < oNodeList.length; nNode ++)
	{
		var oNode = oNodeList[nNode];
		oNode.href = oNode.href.replace(/toestel=[^&]*/, 'toestel=' + nId);
	}
	var sQuery = location.search;
	if (sQuery.indexOf('toestel=') < 0)
			oNode.href += '&toestel=' + nId;
	else
		sQuery = sQuery.replace(/toestel=[^&]*/, 'toestel=' + nId);

	document.getElementById('spanLink').innerHTML = 
		'<a href="http://www.bellen.com/gsm_toestel/toestel.aspx?id=' + nId +
		'&land=nl&taal=nl" target="_blank">' +
		'<img src="/gifs/driehoek.gif" width="8" height="8" border="0">Toestel info op bellen.com</a>';


	sendXMLRequest('http://' +
		location.host +
		'/calculus/tarievenmobielbuitenlandxml.asp' + 
		sQuery,
		showKanBellen);
}
//
function resetBelvorm(bDisabled)
{
	var oListBox = document.getElementById('belvorm');
	removeOptions(oListBox);
	oListBox.disabled = bDisabled;
}
function resetLanden(bDisabled)
{
	var oListBoxAll = document.getElementById('alleLanden');
	removeOptions(oListBoxAll);
	oListBoxAll.disabled = bDisabled;
	for (var nZone = 1; nZone <= 6; nZone ++)
	{
		var oListBox = document.getElementById('land' + nZone);
		if (oListBox != null)
		{
			removeOptions(oListBox);
			oListBox.disabled = bDisabled;
		}
	}
}

// ---
// Misc functions: 
// ---

function doCheckLand()
{
	var oForm = document.getElementById('formVakBellen');
	oForm.action = "../landdetail.asp";
	
	if (oForm.operator.value==999){
	  oForm.belvorm.value = 999;
	}
	
	oForm.submit();
}
function openWin(url)
{
	nwWindow = window.open(url, 'nwWindow', 'width=800, height=800 left=100, top=100, scrollbars=yes')
}

function doBGchange(stap1Actief,stap2Actief,stap3Actief)
{
//---- stap 1
  if (stap1Actief){
	document.getElementById('stapEen').style.backgroundImage="url(../gifs/stap1_ani.gif)"
  }else{
    document.getElementById('stapEen').style.backgroundImage="url(../gifs/bg_stap_1.jpg)"
  }
//---- stap 2
  if (stap2Actief){
	document.getElementById('stapTwee').style.backgroundImage="url(../gifs/stap2_ani.gif)"
  }else{
    document.getElementById('stapTwee').style.backgroundImage="url(../gifs/bg_stap_2.jpg)"
  }
//---- stap 3
  if (stap3Actief){
    if (document.getElementById('kaart')){
	  document.getElementById('kaart').style.backgroundImage="url(../gifs/kaart_ani.gif)"
	}else{
	  document.getElementById('stapDrie').style.backgroundImage="url(../gifs/stap3_ani.gif)"
	}	 
  }else{
    if (document.getElementById('kaart')){
      document.getElementById('kaart').style.backgroundImage="url(../gifs/bg_wereldkaart.jpg)"
	}else{
	  document.getElementById('stapDrie').style.backgroundImage="url(../gifs/bg_stap_3.jpg)"
	}	
  }
}

swapImage1on = new Image();
swapImage1off = new Image(); 
swapImage1on.src = "../gifs/stap1_ani.gif";
swapImage1off.src = "../gifs/bg_stap_1.jpg.gif";
swapImage2on = new Image();
swapImage2off = new Image();
swapImage2on.src = "../gifs/stap2_ani.gif";
swapImage2off.src = "../gifs/bg_stap_2.jpg.gif";
swapImage3on = new Image();
swapImage3off = new Image(); 
swapImage3on.src = "../gifs/kaart_ani.gif";
swapImage3off.src = "../gifs/bg_wereldkaart.jpg.gif";
swapImage4on = new Image();
swapImage4off = new Image(); 
swapImage4on.src = "../gifs/bg_stap_3.jpg.gif";
swapImage4off.src = "../gifs/kaart_ani.gif";
