//----------- globals
var g_oXMLHttp
var sMessage = ""
var sInstTabel = ""
var TellerUpdaten = true
var arrFld= new Array()
var arrVal = new Array()
var arrOp = new Array()
var arrExt = new Array()
var isOverzichtPag
var typeHost = "vir"

if(location.href.indexOf("/overzicht/")==-1){
	isOverzichtPag = false
}else{
	isOverzichtPag = true
}

function showVragen(which)
{

var iPosHosting = 9999

  if (which==3){
  //soort hosting vaststellen
    for (i=0;i<arrFld.length;i++){
      if (arrFld[i]=="TypeHosting"){
        iPosHosting = i;
        break;  
      }else{
        iPosHosting = 9999;
      }
    } 
  }
	var sDivInhoud = document.getElementById('cat'+which).innerHTML;

	document.getElementById('weergaveVragen').innerHTML = sDivInhoud
	putValinFrm();

	for (var i=1;i<5;i++) {
		if (i==which){
			document.getElementById('stap'+i).style.backgroundColor = "#fffcbc";
			document.getElementById('link_stap'+i).style.backgroundColor = "#fffcbc";
		}else{
			document.getElementById('stap'+i).style.backgroundColor = "#ffffff";
			document.getElementById('link_stap'+i).style.backgroundColor = "#ffffff";
		}
	}
	
  if (which==3){
    if (iPosHosting!=9999){
      if(arrVal[iPosHosting]=="100000_") typeHost = "vir"
      if(arrVal[iPosHosting]=="010000_") typeHost = "ded"
      if(arrVal[iPosHosting]=="001000_") typeHost = "col"
      showTabel(1,typeHost,which)
    }else{
      showTabel(1,"vir",which)
    }
  }	
	
}
function putValinFrm(){
//saving state: toont de waarde van frm velden bij terugkomst
	for(var j=0;j<arrFld.length;j++){
	
			if (isNaN(arrFld[j])){//het is geen optieveld(staan numeriek in de array)
				var oTmpFld = document.getElementById(arrFld[j])
				oTmpFld.value = arrVal[j]
			}else{//het is wel een optieveld	
				if (arrFld[j]!=""){
					var oTmpFld = document.getElementById("op_"+arrFld[j])
					oTmpFld.checked = arrVal[j]
				}
			}
	}

}
function ShowHideTabs(typeHost)
{
  var iStart;
  var iEnd;

  if ((typeHost=="vir")||(typeHost=="")){
    for(i=1;i<=6;i++){
      if (document.getElementById('optieTabBlad_'+i).style.visibility == "hidden"){
        document.getElementById('optieTabBlad_'+i).style.visibility = "visible";
        document.getElementById('optieTabHoek_'+i).style.visibility = "visible";
      }
    }
  }else{
    if (typeHost=="ded"){
      iStart = 5
      iEnd = 6
    }else{
      iStart = 2
      iEnd = 6
    }
    for(i=1;i<iStart;i++){
      document.getElementById('optieTabBlad_'+i).style.visibility = "visible";
      document.getElementById('optieTabHoek_'+i).style.visibility = "visible";
    }
    
    for(i=iStart;i<=iEnd;i++){

      document.getElementById('optieTabBlad_'+i).style.visibility = "hidden";
      document.getElementById('optieTabHoek_'+i).style.visibility = "hidden";

    }
  }
}


function showTabel(which,typeHost,vraagCat)
{

	var sDivInhoud = document.getElementById(typeHost+'_opties_cat'+which).innerHTML
	document.getElementById('weergaveOpties').innerHTML = sDivInhoud

	var selectedCell = (2*which)-2
	var selectedTabBlad = selectedCell+1
	var tabBladRij=document.getElementById('tblTabBladen').rows[0].cells;
	for(var j=0;j<=10;j=j+2){
		if (j==selectedCell){
			tabBladRij[j].style.backgroundColor = "#ffffff";
			tabBladRij[j+1].style.backgroundColor = "#ffffff";
		}else{
			tabBladRij[j].style.backgroundColor = "#D8EED9";
			tabBladRij[j+1].style.backgroundColor = "#D8EED9";
		}
	}
	if (vraagCat==3) ShowHideTabs(typeHost);
	putValinFrm();
}
function dspResults()
{
	location.href = "overzicht/overzicht.asp?smsg="+sMessage+"&m=5"
}
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);
	}
}
function getVragen(sReqStr)
{
	TellerUpdaten = false
	//splits de req str op en stuur losse vragen door
	var arrVragen = new Array()
	arrVragen = sReqStr.split("|")
	
	for(var i=0;i<arrVragen.length;i++){
	
		if (arrVragen[i]!=""){

			var arrOnderdeel = new Array()
			arrOnderdeel = arrVragen[i].split(",")

			telAantalOpties(arrOnderdeel[1],arrOnderdeel[0],arrOnderdeel[2],arrOnderdeel[3])
		}
	}
	TellerUpdaten = true
}

function doFillArr(paramVal,paramFld,paramOperator,paramExtensie)
{
	var MaxAantal = arrFld.length;
	var iPositie = MaxAantal;
	
	for(var j=0;j<arrFld.length;j++){
		if (arrFld[j]==paramFld)
		{
			iPositie = j;
			break;
		}
	}
	if (paramFld!=""){
		
		arrFld[iPositie] = paramFld;
		arrVal[iPositie] = paramVal;
		arrOp[iPositie] = paramOperator;
		arrExt[iPositie] = paramExtensie;
		
	}else{
		arrFld[iPositie] = "";
		arrVal[iPositie] = "";
		arrOp[iPositie] = "";
		arrExt[iPositie] = "";
	}
}

function doReadArrs()
{
	sMessage = ""
	for(var i=0;i<arrFld.length;i++){
		if (arrVal[i]!=""){
			sMessage+=arrFld[i]+","+arrVal[i]+","+arrOp[i]+","+arrExt[i]+"|"
		}
	}
}

function telAantalOpties(paramVal,paramFld,paramOperator,paramExtensie)
{
  if (paramFld=="TypeHosting") delOptieVragen()

	if (TellerUpdaten) document.getElementById('resultatenWeergave').innerHTML = "berekenen..."
	doFillArr(paramVal,paramFld,paramOperator,paramExtensie)
	doReadArrs()
	sendXMLRequest('http://' +
			location.host +
			'/hosting/xmlOut.asp?smsg='+sMessage,
			UpdateTeller);
			
}

function delOptieVragen()
{
//als er van hosting type geswicht wordt komen er andere opties; evt. opgeslagen vragen verwijderen.
	for(var i=0;i<arrFld.length;i++){
	  //vaststellen of het een optieveld betreft
	  if (arrOp[i]=="p"){
			
			TellerUpdaten = true;
			
			var x = document.getElementById("op_"+arrFld[i]);
		  x.checked = false;
		  
			//array legen
			arrFld[i] = "";
			arrVal[i] = "";
			arrOp[i] = "";
			arrExt[i] = "";
		}	
	}
}

function UpdateTeller()
{
	if (TellerUpdaten)
	{	
		if (g_oXMLHttp.readyState==4)
		{
			if (g_oXMLHttp.status==200)
			{
				var oXMLDocument = g_oXMLHttp.responseXML;
				var oNodeList = oXMLDocument.getElementsByTagName('aantal');
				if (oNodeList[0].firstChild.nodeValue!=0){
					document.getElementById('resultatenWeergave').innerHTML = oNodeList[0].firstChild.nodeValue;
					if(!isOverzichtPag) document.getElementById('resButton').disabled = false;
				}else{
					if(!isOverzichtPag) document.getElementById('resButton').disabled = true;
					document.getElementById('resultatenWeergave').innerHTML = 0;
				}
				getVoorkeurInstelling()
				document.getElementById('keuzesWeergave').innerHTML = sInstTabel+"</table>"
			}else{
				if(!isOverzichtPag) document.getElementById('resButton').disabled = true;
				document.getElementById('resultatenWeergave').innerHTML = "<font color='#ff0000'>Fout bij ophalen data</font>: "+g_oXMLHttp.status;
			}
		}
	}else{//geen tellerupdate
		getVoorkeurInstelling()
		document.getElementById('keuzesWeergave').innerHTML = sInstTabel+"</table>"
	}
}
function getWaardeVeld(sVeld,sExtensie)
{
	if (sExtensie!=""){
		if (sExtensie=="e"){
			sResult = "&euro; "+sVeld
		}else{
			sResult = sVeld+" "+sExtensie
		}
	}else{
		sResult = sVeld
	}

return sResult
}

function SpatiesInNaam(sNaamVeld,optieVeldID)
{
	if ((optieVeldID=="")){

		for (var i=1;i<sNaamVeld.length;i++){
			if ((sNaamVeld.charAt(i)==sNaamVeld.charAt(i).toUpperCase())&&
				(sNaamVeld.charAt(i)!=" ")){
			
				sLeftNaamVeld = sNaamVeld.substring(0,i)
				sRightNaamVeld = (sNaamVeld.charAt(i).toLowerCase())+(sNaamVeld.substring(i+1,sNaamVeld.length));
				sNaamVeld = sLeftNaamVeld+" "+sRightNaamVeld
			}
		}
	}
	return sNaamVeld;
	sNaamVeld = ""
}
function HackEmail(sInv)
{
	var sResult = sInv.replace("email","e-mail")
	return sResult
}
function getVoorkeurInstelling()
{
	if (g_oXMLHttp.readyState==4)
		{
			if (g_oXMLHttp.status==200)
			{
				//var oXMLDocument = g_oXMLHttp.responseXML;
				var oNodeVeldNaam = g_oXMLHttp.responseXML.getElementsByTagName('veldnaam');
				var oNodeOperator = g_oXMLHttp.responseXML.getElementsByTagName('operator');
				var oNodeWaarde = g_oXMLHttp.responseXML.getElementsByTagName('veldwaarde');
				var oNodeExtensie = g_oXMLHttp.responseXML.getElementsByTagName('extensie');
				var oNodeVeldID = g_oXMLHttp.responseXML.getElementsByTagName('veldID');
				sInstTabel="<table width ='100%'>"
				for(i=0;i<=oNodeVeldNaam.length-1;i++){
					if(oNodeWaarde[i].firstChild){//indien het veld operator niet leeg is
						sInstTabel+="<tr><td valign='top'>"+HackEmail(SpatiesInNaam(oNodeVeldNaam[i].firstChild.nodeValue,""))+" "
						sInstTabel+=oNodeOperator[i].firstChild.nodeValue+" "
						if (oNodeExtensie[i].firstChild){
						  if (oNodeExtensie[i].firstChild.nodeValue == "t") {
                sExtensie = ""
						  }else{
							  sExtensie = oNodeExtensie[i].firstChild.nodeValue
						  }
						}else{
							sExtensie = ""
						}

						sInstTabel+=getWaardeVeld(oNodeWaarde[i].firstChild.nodeValue,sExtensie)+" "
						if(!isOverzichtPag){
							sInstTabel+="<td><a href='javascript:void(null)' onclick=delVelduitSel('"+oNodeVeldNaam[i].firstChild.nodeValue+"') "
							sInstTabel+="style='font-weight:bold;' title='Verwijder de voorwaarde "+oNodeVeldNaam[i].firstChild.nodeValue+"'>x</a></td></tr>"	
						}
					}else{
						sInstTabel+="<tr><td valign='top'>"+SpatiesInNaam(oNodeVeldNaam[i].firstChild.nodeValue,'geen')+"</td>"
						if(!isOverzichtPag){
							sInstTabel+="<td><a href='javascript:void(null)' onclick=delVelduitSel('"+oNodeVeldID[i].firstChild.nodeValue+"') "
							sInstTabel+="style='font-weight:bold;' title='Verwijder de voorwaarde "+oNodeVeldNaam[i].firstChild.nodeValue+"'>x</a></td></tr>"					
						}
					}
				}
			}
		}
}

function delVelduitSel(sVeld)
{
	isOptie = false
	var isType = false
	
	for(var i=0;i<arrFld.length;i++){
		if (sVeld==arrFld[i]){
			//vaststellen of het een optieveld betreft
			if (arrOp[i]=="p") isOptie = true;
			//vaststellen of het typehosting betreft
			if (arrExt[i]=="t") isType = true;
			
			TellerUpdaten = true;
			//zet de waarde ook in het formulier 'uit'
			if (isType){
			  telAantalOpties("100000_","TypeHosting","i","t")
			}else{
			  telAantalOpties("",sVeld,"","")
			}
			
			//array legen
			arrFld[i] = "";
			arrVal[i] = "";
			arrOp[i] = "";
			arrExt[i] = "";
			break;
		}	
	}
	if (isType){
	  typeHost = "vir";
	  showTabel(1,"vir",3);
	}
	if (isOptie){
		var x = document.getElementById("op_"+sVeld);
		x.checked = false;
	}else{
	  if (isType){
	    var x = document.getElementById("Typehosting");
	    x.selectedIndex = 0
	  }else{
		  var x = document.getElementById(sVeld)
		  x.value = '';
	  }
	}
  UpdateTeller()
}

function invoerChk(objSender,sInvoer,iAantalDec){

	var sResult;
	
	sInvoer = sInvoer.replace(",",".")
	if (!isNaN(sInvoer)){
		if (sInvoer.indexOf(".")>-1){
			arrResult = sInvoer.split(".")
			if (arrResult[0]==""){//invoer is bv. .83 ipv 0.83
				sInvoer = "0."+arrResult[1]
			}
			if (arrResult[1].length>iAantalDec){
				var iTienTotDeMacht = 10;
				if (iAantalDec!=0){
					for (var i=1;i<iAantalDec;i++){
						iTienTotDeMacht = iTienTotDeMacht * 10
					}
				}
				sResult = Math.round(sInvoer*iTienTotDeMacht)/iTienTotDeMacht//teveel decimalen
			}else{
				sResult = sInvoer //getal, juiste aantal decimalen
			}
		}else{
			sResult = sInvoer //getal, geen decimalen
		}
	}else{
		sResult = ""//geen getal
	}
	objSender.value = sResult
}
