// object representing an LaminaatProduct
function LaminaatProduct(id,name,width,length,nrInPack) {
	this.name = name;
	this.id = id;
	this.width = width;
	this.length = length;
	this.nrInPack = nrInPack;
}

function closeContainer(productid) {
 	var par = document.getElementById('paint_result_column');
 	var div = document.getElementById("container_" + divid);
 	par.removeChild(div);
}

// building the objects
var laminaten = new Array();
var ondervloeren = new Array();



function initSelectLists() {
	var lamSelect = document.getElementById('lam');
	
	lamSelect.options[0] = new Option("Maak uw keuze","0",true,true);
	
	for ( var i = 0 ; i < laminaten.length ; i++ ) {
		lamSelect.options[i+1] = new Option(laminaten[i].name,laminaten[i].id,false,false);
	}
	
	var onderSelect = document.getElementById('ondervl');
	
	onderSelect.options[0] = new Option("Maak uw keuze","0",true,true);
	
	for ( var i = 0 ; i < ondervloeren.length ; i++ ) {
		onderSelect.options[i+1] = new Option(ondervloeren[i].name,ondervloeren[i].id,false,false);
	}
	
}

// old code

var div_id = 1;

var tempTextEl;

function validate(){
	var breedte = document.getElementById('breedte');
	var lengte = document.getElementById('lengte');
	var oppervlakte = document.getElementById('oppevlakte');
	var afm1 = document.getElementById('afmeting1');
	var afm2 = document.getElementById('afmeting2');
	var laminaat = document.getElementById('lam');
	var ondervl = document.getElementById('ondervl');
	var x=document.getElementById('lengte').value;
	var y=document.getElementById('breedte').value;
	var opp=document.getElementById('oppervlakte').value;
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	
	//alert(laminaat.value)
	
	if(laminaat.value < 1){
		alert('De laminaat soort is niet ingevuld!');
	}
	else if(ondervl.value < 1 ){
		alert('De ondervloer soort is niet ingevuld!');
	}
	else if (!anum.test(x) && afm1.checked == true){
		alert('U heeft geen of een onjuiste lengte ingevoerd');
	}
	else if (!anum.test(y) && afm1.checked == true){
		alert('U heeft geen of een onjuiste breedte ingevoerd');
	}
	else if (!anum.test(opp) && afm2.checked == true){
		alert('U heeft geen of een onjuiste oppervlakte ingevoerd');
	}
	else{
		if (afm1.checked == true) {
			opp = 0;
		}
		else if (afm1.checked == true) {
			x = 0;
			y = 0;
		}
		calc(x, y, opp, laminaat.value, ondervl.value);
	}
}

function calc(lengte, breedte, oppervlakte, lamID, ondervlID){
			var lamtitel = '';
			var ondervltitel = '';
			var dia = document.getElementById('dia');
			var opp;
			if (oppervlakte ==0) {
				opp = lengte*breedte;
			}
			else {
				opp = 1*oppervlakte;
			}
			var onderopp = opp;
			var diaOpp;
			var topp = opp;
			if (dia.checked){
				diaOpp = 0.07*topp;
				topp = topp+diaOpp;
			}
			var zaag = 0.05*topp;
			var topp = topp+zaag;
			
			var pak;
			var onderpak;
			
			// find selected laminaat
			for (var i = 0 ; i < laminaten.length ; i++ ) {
				if (laminaten[i].id == lamID) {
					lamtitel = laminaten[i].name
					
					// cm2
					var surfaceInPack = (laminaten[i].width * laminaten[i].length) * laminaten[i].nrInPack;
					
					//m2
					surfaceInPack = surfaceInPack / 10000;
					
					// nr of packs needed
					pak = topp / surfaceInPack;
					
					//alert("surface in pack: " + surfaceInPack + "\nNumber of packs: " + pak);
					
					// exit loop
					break;
				}
			}
			
			// find selected ondervloer
			for (var i = 0 ; i < ondervloeren.length ; i++ ) {
				if (ondervloeren[i].id == ondervlID) {
					ondervltitel = ondervloeren[i].name
					
					// cm2
					surfaceInPack = (ondervloeren[i].width * ondervloeren[i].length) * ondervloeren[i].nrInPack;
					
					//m2
					surfaceInPack = surfaceInPack / 10000;
					
					// no of packs needed
					onderpak = onderopp / surfaceInPack;
					
					// exit loop
					break;
				}
			}
			
			// round the numbers
			
			// round on 2 decimals
			zaag = Math.round(zaag*100)/100 + '';
			opp = Math.round(opp*100)/100 + '';
			onderopp = Math.round(onderopp*100)/100 + '';
			topp = Math.round(topp*100)/100 + '';
			diaOpp= Math.round(diaOpp*100)/100 + '';
			
			// round upwards
			pak = Math.ceil(pak) + '';
			onderpak = Math.ceil(onderpak) + '';
			
			// get the container output element
			var cont = document.getElementById("paint_result_column");
			
			// remove the temporary text if found
			var tempText = document.getElementById('tempText'); {
							if (tempText) {
								tempTextEl = cont.removeChild(tempText);
							}
						}
						
	var output = "<div id='result_" + div_id + "' style='margin-bottom:10px;'>";
	output += "<table cellspacing='0' style='margin-top:5px;margin-left:5px;margin-right:5px;'>";
	
	output += "<tr>"
	output += "<td colspan='3' style='text-decoration: underline;font-weight: bold;' width='200px'>";
	output += lamtitel;
output += "</td>";
output += "<td width='20px' valign='top' align='right'>";
output += "<a href='#' onclick=\"deletediv('result_" + div_id + "');\" class='close_x'>X</a>";
output += "</td>";
output += "</tr>";

output += "<tr><td>Kamer oppervlakte</td><td align='right'><strong>" + opp.replace(/\./g,",") + "</strong></td><td>m<sup>2</sup></td><td></td></tr>";

if (dia.checked) {
	output = output + "<tr><td>Diagonaal gelegd</td><td align='right'><strong>" + diaOpp.replace(/\./g,",") + "</strong></td><td>m<sup>2</sup></td><td></td></tr>";
}

output = output + "<tr valign='bottom'><td class='linetitle'>Zaagverlies 5%</td><td align='right' class='litercell'><strong>" + zaag.replace(/\./g,",") + "</strong></td><td>m<sup>2</sup></td><td></td></tr>";
output = output + "<tr valign='bottom'><td class='linetitle'>Totale oppervlakte</td><td align='right' class='litercell'><strong>" + topp.replace(/\./g,",") + "</strong></td><td>m<sup>2</sup></td><td></td></tr>";
output = output + "<tr valign='bottom'><td colspan='4'><div style='overflow:hidden;heigth:10px;' class='contentspacer'>&nbsp;</div></td><td></td></tr>";
output = output + "<tr valign='bottom'><td class='linetitle'><strong>Totaal aantal pakken</strong></td><td align='right' class='litercell'><strong>" + pak.replace(/\./g,",") + "</strong></td><td><strong> stuks</strong></td></tr>";
						
output += "</table>";
output += "</div>";	

// add to results & increase idcounter
cont.innerHTML += output;
div_id++;

						
	// output ondervloer
	output = "<div id='result_" + div_id + "' style='margin-bottom:10px;'>";
	output += "<table cellspacing='0' style='margin-top:5px;margin-left:5px;margin-right:5px;'>";
	output += "<tr>"
	output += "<td colspan='3' style='text-decoration: underline;font-weight: bold;' width='200px'>";
	output += ondervltitel;
	output += "</td>";
	output += "<td width='20px' valign='top' align='right'>";
	output += "<a href='#' onclick=\"deletediv('result_" + div_id + "');\" class='close_x'>X</a>";
	output += "</td>";
	output += "</tr>";
	
	output = output + "<tr valign='bottom'><td class='linetitle'>Totale oppervlakte</td><td align='right' class='litercell'><strong>"+onderopp.replace(/\./g,",")+"</strong></td><td>m<sup>2</sup></td><td></td></tr>";
	output = output + "<tr valign='bottom'><td colspan='4'><div style='overflow:hidden;heigth:10px;' class='contentspacer'>&nbsp;</div></td><td></td></tr>";
	output = output + "<tr valign='bottom'><td class='linetitle'><strong>Totaal aantal pakken</strong></td><td align='right' class='litercell'><strong>" + onderpak.replace(/\./g,",") + "</strong></td><td><strong> stuks</strong></td></tr>";
	output = output + "</table></div>";
	cont.innerHTML = cont.innerHTML + output;
	div_id++;
							
}
				
function deletediv(divid) {
 	var cont = document.getElementById('paint_result_column')
	var div = document.getElementById(divid);
	cont.removeChild(div);
	
	// if container empty, add temporary text
	if ( cont.innerHTML.match(/^\s*$/) ) {
		cont.appendChild(tempTextEl);
	}
}

function printMateriaal(bgColor) {
	var title = document.getElementById('titlesource').firstChild.nodeValue.replace(/^\s*/,"").replace(/\s*$/,"");

	var closeregex = /<a\s.*<\/a>/gim;
	var widthregex = /width=[\'\"]200[\'\"]/gim;
	var colspanregex = /colspan=[\'\"]3[\'\"]/gim;
	
	var textFound = false;
	
	var content = new Array();
	
	for ( var i = 1 ; i <= div_id ; i++ ) {
		var source = document.getElementById( 'result_' + i );
	
		// only proceed if element found
		if ( source ) {
			
			textFound = true;
			
			// add the text
			content[content.length] = source.innerHTML.replace(closeregex,"").replace(colspanregex,"colspan='4'").replace(widthregex,"width='300'");
		}
	}
	
	//alert("Number of content: " + content.length);
	
	if ( textFound ) {
		
		openPrintWindow(title,content,bgColor);
		
	} else {
		alert("U heeft nog geen keuze gemaakt...");
	}
	
	return false;
}		
