var isW3C = (document.getElementById) ? true : false
var isAll = (document.all) ? true : false

function checkNum(str) 
{	if (str.length==0) {
		return false;
		}
        for (var i = 0; i < str.length; i++) {
                var ch = str.substring(i, i+1)
                if (ch < "0" || ch > "9") {
                        if (ch != "." && ch != ",") {
                                //alert("invalid entry!");
                                return false;
                        }
                }
        }
        return true;
}



function optellen(form1,factor1,factor2,resultaat)
{	//alert(form1.txt1.value);
	var objFactor1;
	var objFactor2;
	var IsNumber1=true;
	var IsNumber2=true;

	objFactor1=document.getElementById(factor1);
	objFactor2=document.getElementById(factor2);
	//alert('1='+objFactor1.value);
	//alert('2='+objFactor2.value);

	IsNumber1=checkNum(objFactor1.value);
	IsNumber2=checkNum(objFactor2.value);

	if (IsNumber1==false) {
		//alert('fout');
		//alert(objFactor1.value + '%');
		objFactor1.value=Left(objFactor1.value, String(objFactor1.value).length-1)
		if (String(objFactor1.value).length==0) {
			document.getElementById(resultaat).value=0;
			}
		//objFactor1=objFactor1.value+'';
		}
	else	{
		if (IsNumber2==false) {
			objFactor2.value=Left(objFactor2.value, String(objFactor2.value).length-1);
			if (String(objFactor2.value).length==0) {
				document.getElementById(resultaat).value=0;
				}
			}
		else	{
			objFactor1.value=objFactor1.value.replace(",",".");
			objFactor2.value=objFactor2.value.replace(",",".");
			//document.getElementById(resultaat).value=parseFloat(document.getElementById(factor1).value) * parseFloat(document.getElementById(factor2).value);
			document.getElementById(resultaat).value=parseFloat(parseFloat(objFactor1.value) + parseFloat(objFactor2.value) );

			//document.getElementById(resultaat).value=parseFloat(document.getElementById(resultaat).value).toFixed(afronding);
			//document.getElementById(resultaat).value=parseFloat(document.getElementById(resultaat).value);			
			//formatNumber (document.getElementById(resultaat), afronding);
			}
		}
}

function vermenigvuldig(form1,factor1,factor2,resultaat,aanpassing,afronding)
{	var objFactor1;
	var objFactor2;
	var IsNumber1=true;
	var IsNumber2=true;

	objFactor1=document.getElementById(factor1);
	objFactor2=document.getElementById(factor2);
	//alert('1='+objFactor1.value);
	//alert('2='+objFactor2.value);

	IsNumber1=checkNum(objFactor1.value);
	IsNumber2=checkNum(objFactor2.value);

	if (IsNumber1==false) {
		//alert('fout');
		//alert(objFactor1.value + '%');
		objFactor1.value=Left(objFactor1.value, String(objFactor1.value).length-1)
		if (String(objFactor1.value).length==0) {
			document.getElementById(resultaat).value=0;
			}
		//objFactor1=objFactor1.value+'';
		}
	else	{
		if (IsNumber2==false) {
			objFactor2.value=Left(objFactor2.value, String(objFactor2.value).length-1);
			if (String(objFactor2.value).length==0) {
				document.getElementById(resultaat).value=0;
				}
			}
		else	{
			objFactor1.value=objFactor1.value.replace(",",".");
			objFactor2.value=objFactor2.value.replace(",",".");
			//document.getElementById(resultaat).value=parseFloat(document.getElementById(factor1).value) * parseFloat(document.getElementById(factor2).value);
			document.getElementById(resultaat).value=parseFloat(parseFloat(objFactor1.value) * parseFloat(objFactor2.value) * parseFloat(aanpassing));
			if (afronding==0) {
				document.getElementById(resultaat).value=parseFloat(document.getElementById(resultaat).value) + 0.49;
				}
			//document.getElementById(resultaat).value=parseFloat(document.getElementById(resultaat).value).toFixed(afronding);
			document.getElementById(resultaat).value=parseFloat(document.getElementById(resultaat).value);			
			formatNumber (document.getElementById(resultaat), afronding);
			}
		}
	
}

function deling(form1,factor1,factor2,resultaat,aanpassing,afronding)
{	var intFactor1;
	var intFactor2;
	var IsNumber1=true;
	var IsNumber2=true;

	intFactor1=document.getElementById(factor1).value+'';
	intFactor2=document.getElementById(factor2).value+'';

//alert(intFactor1);
//alert(intFactor2);

	IsNumber1=checkNum(intFactor1);
	IsNumber2=checkNum(intFactor2);

	if (IsNumber1==false) {
		//alert('fout');	
		document.getElementById(factor1).value=Left(intFactor1, String(intFactor1).length-1)
		if (String(intFactor1).length==0) {
			document.getElementById(resultaat).value=0;
			}
		intFactor1=document.getElementById(factor1).value+'';
		}
	else {
		//alert('goed');
		if (IsNumber2==false) {
			document.getElementById(factor2).value=Left(intFactor2, String(intFactor2).length-1);
			if (String(intFactor2).length==0) {
				document.getElementById(resultaat).value=0;
				}
			}
		else	{
			document.getElementById(factor1).value=intFactor1.replace(",",".");
			document.getElementById(factor2).value=intFactor2.replace(",",".");
			if (intFactor2==0) {
				document.getElementById(resultaat).value=0;
				}
			else {
				document.getElementById(resultaat).value=parseFloat(parseFloat(intFactor1) / parseFloat(intFactor2)) * parseFloat(aanpassing);
				if (afronding==0) {
					document.getElementById(resultaat).value=parseFloat(document.getElementById(resultaat).value) + 0.49;
					}
				//document.getElementById(resultaat).value=parseFloat(document.getElementById(resultaat).value).toFixed(afronding);
				document.getElementById(resultaat).value=parseFloat(document.getElementById(resultaat).value);
				formatNumber(document.getElementById(resultaat),afronding);
				//alert(formatNumber (document.getElementById(resultaat), afronding) + ' ' + resultaat + ' ' + afronding);
				}
			}
		}
}

function test(obj)
{	alert('xxx');
	alert(isW3C + ' ' + isAll);
	alert(document.getElementById("txtTest").value);
}

function myFunc(elemID) {
    alert(isW3C + ' ' + isAll);
    var elem='?';
	if (isW3C==true) {
		elem=document.getElementById("txtTest2");
		alert(elem.value);
		alert('x1' + elemID + ' ' + document.getElementById("txtTest2") + ' ' + elem);
		elem=document.getElementById(elemID);
		alert('x2' + elemID + ' ' + document.getElementById(elemID).value + ' ' + elem);
	}
	else if (isAll==true) {
			elem=document.all[elemID];
			alert('y');
		}
		else {
			alert('z1');
			elem=null;
			alert('z2');
		}
	

    alert('x ' + elem + ' y');
    if (elem) {
        alert('piep');
    }
}

function xtest(obj) {
	
	alert("?");
	//elem = document.getElementById("txtText3");
	//elem = document.getElementById(obj);
	//alert(elem.value);
	elem = document.getElementById(obj).value;
	alert(elem + ' ???');
}

function kopieerveld(van,naar)
{	document.getElementById(naar).value=document.getElementById(van).value;
}

function kopieerwaarde(waarde,naar)
{	document.getElementById(naar).value=waarde;
}
function kopieerdivwaarde(waarde,naar)
{	document.getElementById(naar).innerHTML=waarde;
}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function strRep(str,wat,doorwat){ 
	var text="not java"; 
	var txt2=text.replace(/not java/,"javascript"); 
	//alert(text); 
	//alert(txt2); 
} 

function geenInput(form1,veld) {
	document.getElementById(veld).value=Left(document.getElementById(veld).value, String(document.getElementById(veld).value).length-1);
}

function formatNumber (obj, decimal) {
	 	//decimal  - the number of decimals after the digit from 0 to 3
		//-- Returns the passed number as a string in the xxx,xxx.xx format.
	   anynum=eval(obj.value);
	   divider =10;
	   switch(decimal){
			case 0:
				divider =1;
				break;
			case 1:
				divider =10;
				break;
			case 2:
				divider =100;
				break;
			case 3:
				divider =1000;
				break;
			case 4:
				divider =10000;
				break;
			case 5:
				divider =100000;
				break;
			case 6:
				divider =1000000;
				break;
			default:  	 //for 3 decimal places
				divider =1000;
		}

	   workNum=Math.abs((Math.round(anynum*divider)/divider));

	   workStr=""+workNum

	   if (workStr.indexOf(".")==-1){workStr+="."}

	   dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
	   pStr=workStr.substr(workStr.indexOf("."))

	   while (pStr.length-1< decimal){pStr+="0"}

	   if(pStr =='.') pStr ='';

	   //--- Adds a comma in the thousands place.    
	   //if (dNum>=1000) {
	   //  dLen=dStr.length
	   //  dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)
	   //}

	   //-- Adds a comma in the millions place.
   	   //if (dNum>=1000000) {
	   //  dLen=dStr.length
	   //  dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)
	   //  }
	   retval = dStr + pStr
	   //-- Put numbers in parentheses if negative.
	   if (anynum<0) {retval="("+retval+")";}

	  
	//You could include a dollar sign in the return value.
	  //retval =  "$"+retval
	  
	  obj.value = retval;
 }

function clearAll(){
	var texts=document.getElementsByTagName('input')
	for (var i_tem = 0; i_tem < texts.length; i_tem++)
	if (texts[i_tem].type=='text')
	texts[i_tem].value='';
}

function baksteen(){
	vermenigvuldig(this.form,'txtL','txtB','txtOpp',1,2);
	optellen(this.form,'txtBH','txt1','txtBHTemp');
	optellen(this.form,'txtBL','txt1','txtBLTemp');
	vermenigvuldig(this.form,'txtBLTemp','txtBHTemp','txtBOppCorrect',0.0001,6);
	vermenigvuldig(this.form,'txtBLTemp','txtBHTemp','txtBOpp',0.0001,2);
	vermenigvuldig(this.form,'txtBB','txt1','txtDikteH',1,0);
	vermenigvuldig(this.form,'txtBL','txt1','txtDikteV',1,0);

	deling(this.form,'txtOpp','txtBOppCorrect','txtNrH',1.02,0);
	deling(this.form,'txtOpp','txtBOppCorrect','txtNrV',2.04,0);

	//var intH=parseFloat(document.getElementById('txtH').value)*100;
	var intL=parseFloat(parseFloat(document.getElementById('txtL').value)*100);
	var intB=parseFloat(parseFloat(document.getElementById('txtB').value)*100);
	var intBH=parseFloat(parseFloat(document.getElementById('txtBH').value) + 1);
	var intBL=parseFloat(parseFloat(document.getElementById('txtBL').value) + 1);
	var intBB=parseFloat(document.getElementById('txtBB').value);

	var intM3=
		parseFloat(parseFloat(parseFloat(parseFloat(intB/intBH) * intL * intBB ) + parseFloat(parseFloat(intL/intBL) * intB * intBB )) / 1000000);

	//metselspecie
	document.getElementById('txtM3H').value=intM3;
	document.getElementById('txtM3V').value=intM3*2;
	formatNumber(document.getElementById('txtM3H'),2);
	formatNumber(document.getElementById('txtM3V'),2);
	
	//cement
	document.getElementById('txtNrKgH').value=intM3*300*1.1;
	document.getElementById('txtNrKgV').value=intM3*2*300*1.1;
	formatNumber(document.getElementById('txtNrKgH'),0);
	formatNumber(document.getElementById('txtNrKgV'),0);

	deling(this.form,'txtNrKgH','txt25','txtNrZak25H',1.1,0);
	deling(this.form,'txtNrKgV','txt25','txtNrZak25V',1.1,0);
	deling(this.form,'txtNrKgH','txt50','txtNrZak50H',1.1,0);
	deling(this.form,'txtNrKgV','txt50','txtNrZak50V',1.1,0);
	
	//rijnzand
	document.getElementById('txtNrKgH2').value=intM3*1500*1.1;
	document.getElementById('txtNrKgV2').value=intM3*2*1500*1.1;
	formatNumber(document.getElementById('txtNrKgH2'),0);
	formatNumber(document.getElementById('txtNrKgV2'),0);

	deling(this.form,'txtNrKgH2','txt25','txtNrZak25H2',1.1,0);
	deling(this.form,'txtNrKgV2','txt25','txtNrZak25V2',1.1,0);
	deling(this.form,'txtNrKgH2','txt50','txtNrZak50H2',1.1,0);
	deling(this.form,'txtNrKgV2','txt50','txtNrZak50V2',1.1,0);
	
	//water
	document.getElementById('txtNrWaterH').value=intM3*150;
	document.getElementById('txtNrWaterV').value=intM3*2*150;
	formatNumber(document.getElementById('txtNrWaterH'),0);
	formatNumber(document.getElementById('txtNrWaterV'),0);
	
	intBB=2;
	var intM3=
		parseFloat(parseFloat(parseFloat(parseFloat(intB/intBH) * intL * intBB ) + parseFloat(parseFloat(intL/intBL) * intB * intBB )) / 1000000);
	//metselspecie
	document.getElementById('txtM3').value=intM3;
	formatNumber(document.getElementById('txtM3'),2);

	document.getElementById('txtKgC').value=intM3*350*1.1;
	formatNumber(document.getElementById('txtKgC'),0);
	deling(this.form,'txtKgC','txt25','txtZak25C',1,0);
	deling(this.form,'txtKgC','txt50','txtZak50C',1,0);
	
	document.getElementById('txtKgWZ').value=intM3*1500*1.1;
	formatNumber(document.getElementById('txtKgWZ'),0);
	deling(this.form,'txtKgWZ','txt25','txtZak25WZ',1,0);
	deling(this.form,'txtKgWZ','txt50','txtZak50WZ',1,0);
	
	document.getElementById('txtLW').value=intM3*175;
	formatNumber(document.getElementById('txtLW'),0);
}

function chape(){
	vermenigvuldig(this.form,'txtL','txtB','txtOpp',1,2);
	vermenigvuldig(this.form,'txtOpp','txtDikte','txtM3',0.01,2);
	vermenigvuldig(this.form,'txtM3','txt1500','txtKgRijn',1,0);
	deling(this.form,'txtKgRijn','txt25','txtZak25Rijn',1,0);
	deling(this.form,'txtKgRijn','txt50','txtZak50Rijn',1,0);
	vermenigvuldig(this.form,'txtM3','txt250','txtKgC',1,0);
	deling(this.form,'txtKgC','txt25','txtZak25C',1,0);
	deling(this.form,'txtKgC','txt50','txtZak50C',1,0);
	vermenigvuldig(this.form,'txtM3','txt125','txtLW',1,0);
}

function stabilisee(){
	vermenigvuldig(this.form,'txtL','txtB','txtOpp',1,2);
	vermenigvuldig(this.form,'txtOpp','txtDikte','txtM3',0.01,2);
	vermenigvuldig(this.form,'txtM3','txt1500','txtKgRijn',1,0);
	deling(this.form,'txtKgRijn','txt25','txtZak25Rijn',1,0);
	deling(this.form,'txtKgRijn','txt50','txtZak50Rijn',1,0);
	vermenigvuldig(this.form,'txtM3','txt150','txtKgC',1,0);
	deling(this.form,'txtKgC','txt25','txtZak25C',1,0);
	deling(this.form,'txtKgC','txt50','txtZak50C',1,0);
	vermenigvuldig(this.form,'txtM3','txt75','txtLW',1,0);
}

function betonplaat(){
	vermenigvuldig(this.form,'txtL','txtB','txtOpp',1,2);
	vermenigvuldig(this.form,'txtOpp','txtDikte','txtM3',0.01,2);
	vermenigvuldig(this.form,'txtM3','txt800','txtKgRijn',1,0);
	deling(this.form,'txtKgRijn','txt25','txtZak25Rijn',1,0);
	deling(this.form,'txtKgRijn','txt50','txtZak50Rijn',1,0);
	vermenigvuldig(this.form,'txtM3','txt350','txtKgC',1,0);
	deling(this.form,'txtKgC','txt25','txtZak25C',1,0);
	deling(this.form,'txtKgC','txt50','txtZak50C',1,0);
	vermenigvuldig(this.form,'txtM3','txt1000','txtKgG',1,0);
	deling(this.form,'txtKgG','txt25','txtZak25G',1,0);
	deling(this.form,'txtKgG','txt50','txtZak50G',1,0);
	vermenigvuldig(this.form,'txtM3','txt175','txtLW',1,0);
}

function behang(){
	vermenigvuldig(this.form,'txtMl1','txtMb1','txtMopp1',1,2);
	vermenigvuldig(this.form,'txtMl2','txtMb2','txtMopp2',1,2);
	vermenigvuldig(this.form,'txtMl3','txtMb3','txtMopp3',1,2);
	vermenigvuldig(this.form,'txtMl4','txtMb4','txtMopp4',1,2);
	vermenigvuldig(this.form,'txtMl5','txtMb5','txtMopp5',1,2);
	vermenigvuldig(this.form,'txtMl6','txtMb6','txtMopp6',1,2);
	document.getElementById('txtMopp').value=
		parseFloat(document.getElementById('txtMopp1').value) +
		parseFloat(document.getElementById('txtMopp2').value) +
		parseFloat(document.getElementById('txtMopp3').value) +
		parseFloat(document.getElementById('txtMopp4').value) +
		parseFloat(document.getElementById('txtMopp5').value) +
		parseFloat(document.getElementById('txtMopp6').value);
	formatNumber(document.getElementById('txtMopp'),2);

	vermenigvuldig(this.form,'txtRl1','txtRb1','txtRopp1',1,2);
	vermenigvuldig(this.form,'txtRl2','txtRb2','txtRopp2',1,2);
	vermenigvuldig(this.form,'txtRl3','txtRb3','txtRopp3',1,2);
	vermenigvuldig(this.form,'txtRl4','txtRb4','txtRopp4',1,2);
	document.getElementById('txtRopp').value=
		parseFloat(document.getElementById('txtRopp1').value) +
		parseFloat(document.getElementById('txtRopp2').value) +
		parseFloat(document.getElementById('txtRopp3').value) +
		parseFloat(document.getElementById('txtRopp4').value);
	formatNumber(document.getElementById('txtRopp'),2);
	
	vermenigvuldig(this.form,'txtNrDeuren','txt2','txtOpp',1,2);
	document.getElementById('txtOpp').value=
		parseFloat(document.getElementById('txtMopp').value) - 
		parseFloat(parseFloat(document.getElementById('txtRopp').value) + parseFloat(document.getElementById('txtOpp').value));
	formatNumber(document.getElementById('txtOpp'),2);

	vermenigvuldig(this.form,'txtRoll','txtRolb','txtRolopp',1,2);
	deling(this.form,'txtOpp','txtRolopp','txtNrRolNetto',1,2);
	vermenigvuldig(this.form,'txtNrRolNetto','txt1','txtNrRol',1.1,0);
}

function ytong(){
	vermenigvuldig(this.form,'txtL','txtB','txtOpp',1,2);
	document.getElementById('txtBHTemp').value=
		parseFloat(document.getElementById('txtBH').value) + 0.3;
	document.getElementById('txtBLTemp').value=
		parseFloat(document.getElementById('txtBL').value) + 0.3;
	//document.getElementById('cm').innerHTML=

	vermenigvuldig(this.form,'txtBLTemp','txtBHTemp','txtBOppCorrect',0.0001,6);
	vermenigvuldig(this.form,'txtBLTemp','txtBHTemp','txtBOpp',0.0001,2);

	//var intH=parseFloat(document.getElementById('txtH').value)*100;
	var intL=parseFloat(parseFloat(document.getElementById('txtL').value)*100);
	var intB=parseFloat(parseFloat(document.getElementById('txtB').value)*100);
	var intBH=parseFloat(parseFloat(document.getElementById('txtBH').value) + 1);
	var intBL=parseFloat(parseFloat(document.getElementById('txtBL').value) + 1);
	var intBB=parseFloat(document.getElementById('txtBB').value);

	deling(this.form,'txtOpp','txtBOppCorrect','txtNrA',1,0);
	deling(this.form,'txtOpp','txtBOppCorrect','txtNrB',1.1,0);
	
	vermenigvuldig(this.form,'txtOpp','txtLijmTemp','txtNrKg',1.1,2);
	deling(this.form,'txtNrKg','txt25','txtNrZak25',1,0);
	
}

function glasdal(){
	vermenigvuldig(this.form,'txtL','txtB','txtOpp',1,2);
	optellen(this.form,'txtBH','txt1','txtBHTemp');
	optellen(this.form,'txtBL','txt1','txtBLTemp');
	vermenigvuldig(this.form,'txtBLTemp','txtBHTemp','txtBOppCorrect',0.0001,6);
	vermenigvuldig(this.form,'txtBLTemp','txtBHTemp','txtBOpp',0.0001,2);

	deling(this.form,'txtOpp','txtBOppCorrect','txtNrH',1,0);
	
	//var intH=parseFloat(document.getElementById('txtH').value)*100;
	var intL=parseFloat(parseFloat(document.getElementById('txtL').value)*100);
	var intB=parseFloat(parseFloat(document.getElementById('txtB').value)*100);
	var intBH=parseFloat(parseFloat(document.getElementById('txtBH').value) + 1);
	var intBL=parseFloat(parseFloat(document.getElementById('txtBL').value) + 1);
	var intBB=parseFloat(document.getElementById('txtBB').value);

	var intM3=
		parseFloat(parseFloat(parseFloat(parseFloat(intB/intBH) * intL * intBB ) + parseFloat(parseFloat(intL/intBL) * intB * intBB )) / 1000000);

	//metselspecie
	document.getElementById('txtM3H').value=intM3;
	formatNumber(document.getElementById('txtM3H'),2);
	
	//cement
	document.getElementById('txtNrKgH').value=intM3*300*1.1;
	formatNumber(document.getElementById('txtNrKgH'),0);
	
	deling(this.form,'txtNrKgH','txt25','txtNrZak25H',1.1,0);
	deling(this.form,'txtNrKgH','txt50','txtNrZak50H',1.1,0);
	
	//rijnzand
	document.getElementById('txtNrKgH2').value=intM3*1500*1.1;
	formatNumber(document.getElementById('txtNrKgH2'),0);
	
	deling(this.form,'txtNrKgH2','txt25','txtNrZak25H2',1.1,0);
	deling(this.form,'txtNrKgH2','txt50','txtNrZak50H2',1.1,0);
	
	//water
	document.getElementById('txtNrWaterH').value=intM3*150;
	formatNumber(document.getElementById('txtNrWaterH'),0);
	
	intBB=2;
	var intM3=
		parseFloat(parseFloat(parseFloat(parseFloat(intB/intBH) * intL * intBB ) + parseFloat(parseFloat(intL/intBL) * intB * intBB )) / 1000000);
	//metselspecie
	document.getElementById('txtM3').value=intM3;
	formatNumber(document.getElementById('txtM3'),2);

	document.getElementById('txtKgC').value=intM3*350*1.1;
	formatNumber(document.getElementById('txtKgC'),0);
	deling(this.form,'txtKgC','txt25','txtZak25C',1,0);
	deling(this.form,'txtKgC','txt50','txtZak50C',1,0);
	
	document.getElementById('txtKgWZ').value=intM3*1500*1.1;
	formatNumber(document.getElementById('txtKgWZ'),0);
	deling(this.form,'txtKgWZ','txt25','txtZak25WZ',1,0);
	deling(this.form,'txtKgWZ','txt50','txtZak50WZ',1,0);
	
	document.getElementById('txtLW').value=intM3*175;
	formatNumber(document.getElementById('txtLW'),0);

	document.getElementById('txtGlas').value=((intL/intBL)+1)*((intB/intBH)+1);
	formatNumber(document.getElementById('txtGlas'),0);
}






