/* $Revision$ $Id$ File: alg_ruimteafdeling.js */ var rowIndex = -1; var multiRuimte = true; function onClickItem(tr) { // Wordt aangeroepen na één klik op een item $(tr).toggleClass("selected"); } function onDblClickItem(tr) { $(tr).closest("table").find("tr").removeClass("selected"); // Alle andere regels deselecteren $(tr).addClass("selected"); window.parent.doSubmit(); } function setMultiRuimte(aantal) { multiRuimte = (aantal != 1); } function CreateRow(afd_key, afd_name, bezetting, oppervlak, bruto) { rowIndex++; var table = $("#afdbezettingtable>tbody")[0]; // Insert data rows tr = table.insertRow(-1); tr.myData = { afd_key: afd_key}; tr.value = rowIndex; // Create drop button cell = tr.insertCell(-1); cell.className = "result"; cell.align = "center"; cell.innerHTML = ""; // innerHTML opent een htmlparser die overbodige spaties en line breaks verwijderd in IE, daarom met innerText oplossen // Input velden moeten wel met innerHTML of outerHTML anders wordt het text // Afdeling omschrijving veld cell = tr.insertCell(-1); cell.className = "result"; cell.innerHTML = afd_name; cell.align = "left"; cell.style.whiteSpace = "nowrap"; // Bezetting input veld cell = tr.insertCell(-1); cell.className = "result"; cell.innerHTML = "" + ""; cell.align = 'left'; if (!multiRuimte) { // Bezetting input veld m2 cell = tr.insertCell(-1); cell.className = "result"; cell.innerHTML = "" + ""; cell.align = 'left'; } document.getElementById("nrRows").value = parseInt(rowIndex) + 1; } function delRow(img) { // Verwijder de aangeklikte afdeling uit de lijst (de regel) FcltMgr.confirm(L("lcl_alg_cancelDepartment"), function() { var tr = $(img).closest("tr")[0]; if (tr.myData.afd_key != null) { document.getElementById("afdbezettingtable").deleteRow(tr.rowIndex); } }); } function alg_submit() { if ($(document).has('span.bad').length) { FcltMgr.alert(L("lcl_shared_validator_invalid")); return false; } var percValid = true; var i=0; while (percValid && (i<=rowIndex)) { if ($("#bez"+i).length) // niet verwijderd { var oppPerc = parseFloat($("#bez"+i).val().replace(',', '.')); if (oppPerc > 100) { percValid = false; FcltMgr.alert(L("lcl_alg_bezetting_ongeldig")); $("#bez"+i).select(); $("#bez"+i).focus(); } } i++; } if (percValid) { document.forms.u2.submit(); } } function alg_add(oppervlak) { if ($("#afdeling_key").val() > 0) { var exist = false; $("#afdbezettingtable tr").each(function(i, value) { if (this.myData && $("#afdeling_key").val() == this.myData.afd_key) exist = true; }); if (!exist) { CreateRow($("#afdeling_key").val(), $("#afdeling_key_show").val(), 100, oppervlak, oppervlak); FcltMgr.resized(window); } } } function changeOppervlak(prowIndex) { var $thisObj = $("#bezopp"+prowIndex); var valid = isGoodNumber($thisObj.val(), false,false,8,2); validateField($thisObj, valid, L("lcl_alg_bezetting_ongeldig")) if (valid) { if (!isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2)) $("#totaalopp"+prowIndex).val($thisObj.val()); var oppBezet = parseFloat($thisObj.val().replace(',', '.')); var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.')); if (oppBruto > 0) { var oppPercF = (oppBezet * 100) / oppBruto; var oppPerc = num2currEditable(oppPercF); $("#bez" + prowIndex).val(oppPerc); } } } function changeBezetting(prowIndex) { var $thisObj = $("#bez"+prowIndex); var valid = isGoodNumber($thisObj.val(), false,false,8,2) && parseFloat($thisObj.val().replace(',', '.')) <= 100 && parseFloat($thisObj.val().replace(',', '.')) >= 0; validateField($thisObj, valid, L("lcl_alg_bezetting_ongeldig")); if (valid && !multiRuimte) { var oppPerc = parseFloat($thisObj.val().replace(',', '.')); if (isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2)) { var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.')); var oppBezet = num2currEditable( ((oppPerc * oppBruto) / 100) ); $("#bezopp" + prowIndex).val(oppBezet); } } }