Files
Facilitor/APPL/INS/bind.js
Jos Groot Lipman 4325b7d2c5 Merge 5.3.1 Gold B patches
svn path=/Website/trunk/; revision=17880
2013-05-08 10:45:52 +00:00

94 lines
2.8 KiB
JavaScript

/*
$Revision$
$Id$
File: bind.js
Description: Helper functies voor als ins_srtdeel_binding wijzigt
*/
var BIND_RUIMTE = 0x01;
var BIND_WERKPL = 0x02;
var BIND_TERREI = 0x04;
var BIND_AFDELI = 0x08;
var BIND_PERSOO = 0x10;
var BIND_INSDEE = 0x20; // Onderdeel
function unSelectField(fldId) {
var elem = document.getElementById(fldId);
if (elem) elem.selectedIndex = 0;
}
function showField(fldId, when) {
$("#"+fldId).closest("tr").toggle(when!=0);
}
// Afhankelijk van wat een gebruiker gekozen heeft (letter in b) wissen we de key in diverse andere velden
function setBind(b)
{
switch (b)
{
case 'R':
case 'T':
case 'W':
{
if (typeof sgPerson != "undefined") sgPerson.setValue(-1, "");
if (typeof sDept != "undefined") sDept.setValue(-1, "");
break;
}
case 'A':
case 'P':
{
if (typeof sgLoc != "undefined")
{ // Locatie (plaatsselector) is aanwezig
sgLoc.setValue(-1,"");
plaatsselector.locChanged(-1);
}
if (b=="A")
{
if (typeof sgPerson != "undefined") sgPerson.setValue(-1, "");
}
else
{
if (typeof sDept != "undefined") sDept.setValue(-1, "");
}
break;
}
default:
{
break;
}
}
}
// Bepaal welke velden in het scherm al dan niet zichtbaar (en invulbaar) zijn
// Dit is alleen interessant bij het toevoegen van INS_DEELen waarbij we nog
// kunnen wisselen tussen Objectsoorten (en daarmee INS_DEEL_BINDING)
function checkBind()
{
var v_binding = $("#binding").val();
bindingBits = v_binding; // Globale die we in checkInput controleren
// Terrein gebonden of we moeten gebouw kunnen kiezen
showField("locatie", v_binding & (BIND_TERREI | BIND_RUIMTE | BIND_WERKPL))
showField("gebouw", v_binding & (BIND_TERREI | BIND_RUIMTE | BIND_WERKPL))
// Toegestaan voor ruimte of we moeten werkplek kunnen kiezen
showField("verdieping", v_binding & (BIND_RUIMTE | BIND_WERKPL))
showField("ruimte", v_binding & (BIND_RUIMTE | BIND_WERKPL))
// Toegestaan voor WERKPLEK?
showField("werkplek", v_binding & (BIND_WERKPL))
// keys echt wissen, anders worden ze mogelijk toch gesubmit als binding 'gekrompen'
if (!(v_binding & BIND_RUIMTE) && typeof sgBld != "undefined")
sgBld.setValue(-1, "");
if (!(v_binding & BIND_WERKPL) && typeof sgWpl != "undefined")
sgWpl.setValue(-1, "");
// Toegestaan voor AFDELING?
showField("sDept_show", v_binding & (BIND_AFDELI))
// Toegestaan voor PERSOON?
showField("sPerson_show", v_binding & (BIND_PERSOO))
}