212 lines
6.0 KiB
JavaScript
212 lines
6.0 KiB
JavaScript
/*
|
|
$Revision: 4 $
|
|
$Modtime: 24-03-10 16:07 $
|
|
|
|
Status: 90%
|
|
*/
|
|
|
|
// FE functions
|
|
function insHistory(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
var cnt_key = row.ROWKEY;
|
|
var insData = eval('(' + row.ROWDATA + ')');
|
|
if (insData)
|
|
{
|
|
var insDeelDescr = insData.insDeelDescr;
|
|
var insKenmerkDeelKey = insData.insKenmerkDeelKey;
|
|
var insKenmerkKey = insData.insKenmerkKey;
|
|
|
|
var url = "Appl/INS/ins_history.asp?urole=" + urole
|
|
+ "&insdeelkey=" + cnt_key
|
|
+ "&inskenmerkdeelkey=" + insKenmerkDeelKey
|
|
+ "&inskenmerkkey=" + insKenmerkKey
|
|
+ "&insdeeldescr=" + insDeelDescr
|
|
+ "&consumption_reg=1";
|
|
FcltMgr.openDetail(url, insDeelDescr);
|
|
}
|
|
}
|
|
|
|
function insSave(rowArray)
|
|
{
|
|
var insKeyString = getKeyString(rowArray); // regels worden ook op dirty gezet
|
|
|
|
if (insKeyString != "")
|
|
{
|
|
$.post("ins_save_use.asp",
|
|
$("#inslist").serialize(),
|
|
function(data)
|
|
{
|
|
document.forms.inslist.submit();
|
|
});
|
|
}
|
|
}
|
|
|
|
function isGoodNumber(str, checkInteger)
|
|
{
|
|
var anum = /(^\d+$)|(^\d+\.\d*$)|(^\d*\.\d+$)/
|
|
if (checkInteger)
|
|
anum=/(^\d+$)/
|
|
return anum.test(str);
|
|
}
|
|
|
|
function checkEnter(e)
|
|
{ // e is event object passed from function invocation
|
|
e = event;
|
|
var characterCode = e.keyCode; // literal character code will be stored in this variable, character code is contained in IE's keyCode property
|
|
|
|
if (characterCode == 13) // if generated character code is equal to ascii 13 (if enter key)
|
|
return false;
|
|
else
|
|
return true;
|
|
}
|
|
|
|
function checkInput()
|
|
{
|
|
obj = event.srcElement;
|
|
new_val = obj.value;
|
|
sk_kenmerktype = obj.value1;
|
|
sk_lengte = parseInt(obj.value2, 10);
|
|
sk_nmin = parseInt(obj.value3, 10);
|
|
sk_nmax = parseInt(obj.value4, 10);
|
|
|
|
if (sk_kenmerktype == 'N')
|
|
{
|
|
if (new_val == "" ||
|
|
new_val >= 0 ||
|
|
(!isNaN(new_val) && isGoodNumber(new_val, true) && parseInt(new_val,10) >= 0))
|
|
{
|
|
i = obj.id.substring(3);
|
|
last_value = parseInt(document.all['last_val' + i].value,10);
|
|
if (new_val == "") new_val = last_value;
|
|
if (new_val < last_value)
|
|
{
|
|
alert(lcl_obj_value_to_low);
|
|
obj.focus();
|
|
inslist.action = 'javascript:0';
|
|
return false;
|
|
}
|
|
else if (!isNaN(sk_nmin) && new_val < sk_nmin)
|
|
{
|
|
alert(lcl_obj_value_below_nmin);
|
|
obj.focus();
|
|
inslist.action = 'javascript:0';
|
|
return false;
|
|
}
|
|
else if (!isNaN(sk_nmax) && new_val > sk_nmax)
|
|
{
|
|
alert(lcl_obj_value_below_nmax);
|
|
obj.focus();
|
|
inslist.action = 'javascript:0';
|
|
return false;
|
|
}
|
|
inslist.action = 'ins_search_list.asp';
|
|
return true;
|
|
}
|
|
alert(lcl_obj_bad_value);
|
|
obj.focus();
|
|
inslist.action = 'javascript:0';
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
// yet, only numerical kenmerktypes are supported
|
|
// alert(lcl_obj_only_num);
|
|
obj.value = "";
|
|
}
|
|
}
|
|
|
|
// FO en BO functions
|
|
function insLendOut(rowArray, isMulti)
|
|
{ // Uitlenen
|
|
insEdit(rowArray, isMulti, "LendOut");
|
|
}
|
|
|
|
function insReceive(rowArray, isMulti)
|
|
{ // Innemen
|
|
insEdit(rowArray, isMulti, "Receive");
|
|
}
|
|
|
|
function insEdit1(row)
|
|
{
|
|
insEdit([row]);
|
|
}
|
|
function insEdit(rowArray, isMulti, mode)
|
|
{
|
|
var insKeyString = getKeyString(rowArray); // regels worden ook op dirty gezet
|
|
var nrAvailable = 0;
|
|
var nrLendout = 0;
|
|
for (var i = 0; i < rowArray.length; i++)
|
|
{
|
|
var insData = eval('(' + rowArray[i].ROWDATA + ')');
|
|
if (insData)
|
|
{
|
|
if (insData.insAvailable == 1)
|
|
++nrAvailable; // Geselecteerde aantal beschikbare/vrije objecten bijhouden
|
|
else
|
|
++nrLendout; // Geselecteerde aantal uitgegeven objecten bijhouden
|
|
}
|
|
}
|
|
|
|
switch(mode)
|
|
{
|
|
case "LendOut": { if (nrLendout > 0) // Er zijn uitgegeven objecten geselecteerd
|
|
{
|
|
alert(lcl_ins_not_all_available);
|
|
return; // Eerst selectie aanpassen
|
|
}
|
|
break;
|
|
}
|
|
case "Receive": { if (nrAvailable > 0) // Er zijn beschikbare/vrije objecten geselecteerd
|
|
{
|
|
alert(lcl_ins_not_all_lentout);
|
|
return; // Eerst selectie aanpassen
|
|
}
|
|
break;
|
|
}
|
|
default: { // Edit mode
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (insKeyString != "")
|
|
{
|
|
if (fgraph)
|
|
{
|
|
var url = 'Appl/INS/ins_deel.asp?inskeystring=' + insKeyString
|
|
+ '&urole=' + urole;
|
|
}
|
|
else
|
|
{
|
|
var url = 'Appl/INS/ins_deel.asp?inskeystring=' + insKeyString
|
|
+ '&urole=' + urole
|
|
+ (mode && mode == "LendOut"? '&free=1' : '');
|
|
}
|
|
FcltMgr.openDetail(url, "");
|
|
}
|
|
}
|
|
|
|
// Autorisatie kan heel complex zijn. Laat dat controleren door ins_loader.asp
|
|
/* function insDelete(rowArray, isMulti)
|
|
{
|
|
var insKeyString = getKeyString(rowArray); // regels worden ook op dirty gezet
|
|
|
|
// Multi indien insKeyString meerdere keys bevat
|
|
if (insKeyString != "")
|
|
{
|
|
// @@TODO: gebruik van showModalDialog is hier niet zo mooi. Deze geeft een extra popup scherm die geen functie heeft.
|
|
var sFeatures = "dialogHeight:260px;dialogWidth:600px;status=no;dialogHide=yes";
|
|
var url = "../INS/ins_deel.asp?doDelete=1&inskeystring=" + insKeyString + '&urole=' + urole + (isMulti? "&ismulti=1" : "");
|
|
// TODO zoiets lijkt mij dan
|
|
var url = "../INS/ins_delete.asp?inskeystring=" + insKeyString + '&urole=' + urole + (isMulti? "&ismulti=1" : "");
|
|
var result = window.showModalDialog("../shared/ModalForm.asp", url, sFeatures);
|
|
if (!result)
|
|
return false; // cancel of niet voldoende rechten
|
|
|
|
$.post("ins_delete.asp",
|
|
{ inskeystring: insKeyString },
|
|
FcltCallback,
|
|
"json");
|
|
}
|
|
} */
|