PageSourceSearch

https://mijnivm.werkveilig.nl/extranet/javascript/projectwise.js?v=8.5.21.146

js werkveilig.nl collected 2026-10-10 02:19:59 UTC 13,936 bytes, 393 lines download raw bytes

1//alert(window.onload);
2//projectwise.js
3
4
5
6//=============================================================
7// ajax functie om voor submit te checken of je ingelogd bent
8// wordt aangeroepen in PreSubmit_LoginCheck
9//=============================================================
10function ajax_CheckIngelogd() {
11
12	//alert("ajax_CheckIngelogd");
13	$("#CheckIngelogd_fld").hide();
14	$("#CheckIngelogd_fld").html("");
15	
16	return $.ajax({
17		url: js_setrooturl + "/modules/common/ajax_checkingelogd.asp",
18		data: {GetType: "CheckIngelogd", Var1: js_balogin },
19		type: "GET",
20		datatype: "html"
21	});
22	
23}
24
25
26//=============================================================
27// function PreSubmit_LoginCheck(sFormId, thisEl)
28// deze aanroepen in OK button ipv de form submit
29// als alles ok is dan wordt de form submit aangeroepen (en die roept dan weer de standaard validatie aan)
30// als alles niet ok is dan geen form submit!
31// in plaats daarvan div tonen met waarschuwing en link naar loginscherm in nieuw venster
32// je kunt dan daar opnieuw inloggen en daarna alsnog je formulier opslaan
33// hier wordt automatisch ook de ok knop tijdelijk gedisabled om dubbelklikken te voorkomen, hiervoor is de thisEl
34//=============================================================
35function PreSubmit_LoginCheck(sFormId, thisEl) {
36	
37	var thisElId = thisEl.id;
38	
39	//alert("this:" + $('#' + thisElId).prop("id"));
40	$('#' + thisElId).prop("disabled", true);
41
42	ajax_CheckIngelogd()
43	.done(function(result) {
44		// code depending on result
45		if (result == "OK") {
46			//alert('je bent ingelogd, dus je mag nu verder met de normale validatie');
47			$('#' + sFormId).submit();
48			//je wilt een delay voordat je de knop weer enabled zodat er geen dubbelklik kan plaatsvinden
49			//je wilt de knop wel weer enablen, want vanuit de form validatie kan iets terugkomen waardoor je wel nog een keer moet submitten
50			//$('#' + thisElId).prop("disabled", false);
51			var timeoutID = setTimeout(function() {$('#' + thisElId).prop('disabled', false);}, 1000);
52
53		} else {
54			//alert('je bent NIET ingelogd, dus niet verder');
55			$("#CheckIngelogd_fld").html(result);
56			$("#CheckIngelogd_fld").show();
57			$("html, body").scrollTop(0);
58			//GEEN SUBMIT!
59			$('#' + thisElId).prop("disabled", false);
60			
61		
62		}
63	})
64	.fail(function() {
65		// error occurred
66		alert('error');
67		//return (false);
68	});
69
70}
71
72
73//=============================================================
74//function that hides an element
75function hidefield(elid){
76	var trgField;
77	if (document.getElementById(elid)) {
78		trgField = document.getElementById(elid);
79		trgField.style.display = "none";
80	}
81}
82//function that shows an element
83function showfield(elid){
84	var trgField;
85	if (document.getElementById(elid)) {
86		trgField = document.getElementById(elid);
87		trgField.style.display = ""; //nb: door hier lege string te gebruiken wordt de default gebruikt, is bij verschillende browsers anders
88	}
89}
90
91// function that toggles display mode of an element
92function togglefield(elid){
93	var trgField;
94	if (document.getElementById(elid)) {
95		trgField = document.getElementById(elid);
96		if (trgField.style.display != 'none') {
97			hidefield(elid);
98		} else if (trgField.style.display == 'none') {
99			showfield(elid);
100		}
101	}
102}
103
104
105function InUitKlappen(butname, divname, blnUit) {
106	//blnUit = true => uitklappen
107	//blnUit = false => inklappen
108	//butname = id of button div die getoond wordt als ingeklapt
109	//divname = id of content div die getoond wordt als uitgeklapt
110	//alert("InUitKlappen");
111	NoSaveWarningCheck = false;
112	if (blnUit == false) {
113		showfield(butname);
114		hidefield(divname);
115	} else if (blnUit == true) {
116		showfield(divname);
117		hidefield(butname);
118	}
119	//na 250 milliseconden NoSaveWarningCheck weer op true zetten
120	setTimeout(function() {	NoSaveWarningCheck = true;}, 250);
121}
122
123//function to set focus to a form
124function FormSelect() {
125	for (i=0; i<document.all.length; i++){
126		obj = document.all[i];
127		if (!obj || !obj.offsetParent) continue;
128		//alert(obj.type)
129		if (obj.className.toUpperCase() == 'FOCUSINPUTFIELD' ) {
130			obj.focus();
131			return;
132		}
133	}
134}
135
136// functie om option element aan selectlist toe te voegen
137function addMenuitem(listobj, value, caption, selected) {
138 	var cboOptions = eval(listobj);
139
140	cboOptions.options[cboOptions.options.length] = new Option(caption, value);
141	if (selected) { 
142		cboOptions.options[cboOptions.options.length-1].selected=true;
143	}
144}
145	
146function ConfirmDelete(varprompt, varurl, reloadoncancel){
147//deze functie opent een weet u het zeker venster voordat een deletelink uitgevoerd wordt.
148    if (confirm(varprompt)) {
149        //alert(varurl);
150        document.location = varurl;
151    } else {
152        if (reloadoncancel) {
153            window.location.reload();
154        }
155    }	
156}
157
158function RedirectTo(url) {
159	document.location.href = url;
160}
161
162function openWindow(url){
163	winEdit = window.open(url,"","width=500,height=500,resizable=yes,locationbar=0,toolbar=0,statusbar=0");
164	}
165
166function RefPopup_SetCurUser(veldnaam, curUserId, curUserName) {
167
168    $('#' + veldnaam).val(curUserId);
169    $('#divnaam' + veldnaam).html(curUserName);
170
171}
172
173function Left(str, n){
174	if (n <= 0)
175	    return "";
176	else if (n > String(str).length)
177	    return str;
178	else
179	    return String(str).substring(0,n);
180}
181function Right(str, n){
182    if (n <= 0)
183       return "";
184    else if (n > String(str).length)
185       return str;
186    else {
187       var iLen = String(str).length;
188       return String(str).substring(iLen, iLen - n);
189    }
190}
191
192// Onderstaande functies worden gebruikt om mogelijk te maken dat mensen blijven doortypen in een pull-down
193// menu. 
194// Gevonden op: http://www.oreillynet.com/pub/a/javascript/2003/09/03/dannygoodman.html
195// Klein beetje aangepast om goed de alt-toets en pijltjestoetsen te negeren
196// Gebruik: 	
197// either as an attribute of the <select> tag:
198// <select name="state" id="state" onkeydown="typeAhead()">or as a property of the element assigned by script:
199// document.getElementById("state").onkeydown = typeAhead;
200
201
202// global storage object for type-ahead info, including reset() method
203var typeAheadInfo = {last:0, 
204                     accumString:"", 
205                     delay:4000,
206                     timeout:null, 
207                     reset:function() {this.last=0; this.accumString=""}
208                    };
209
210// function invoked by select element's onkeydown event handler
211function typeAhead() {
212	//alert (window.event.keyCode);
213   // limit processing to IE event model supporter; don't trap Ctrl+keys en tab
214   //if (window.event && (window.event.keyCode >= 65) && (window.event.keyCode <= 90)) {
215   //changed to allow entering a space (keycode 32)
216   //changed to allow entering numbers (keycode 48 - 57)
217   if (window.event && (((window.event.keyCode >= 65) && (window.event.keyCode <= 90))|| (window.event.keyCode == 32) || (window.event.keyCode >= 48 && window.event.keyCode <= 57))) {
218      // timer for current event
219      var now = new Date();
220      // process for an empty accumString or an event within [delay] ms of last
221      if (typeAheadInfo.accumString == "" || now - typeAheadInfo.last < typeAheadInfo.delay) {
222         // make shortcut event object reference
223         var evt = window.event;
224var event = document.createEvent("HTMLEvents");
225		 event.initEvent('change', true, true);
226         // get reference to the select element
227         var selectElem = evt.srcElement;
228         // get typed character ASCII value
229         var charCode = evt.keyCode;
230         // get the actual character, converted to uppercase
231         var newChar =  String.fromCharCode(charCode).toUpperCase();
232         // append new character to accumString storage
233         typeAheadInfo.accumString += newChar;
234         // grab all select element option objects as an array
235         var selectOptions = selectElem.options;
236         // prepare local variables for use inside loop
237         var txt, nearest;
238         // look through all options for a match starting with accumString
239         for (var i = 0; i < selectOptions.length; i++) {
240            // convert each item's text to uppercase to facilitate comparison
241            // (use value property if you want match to be for hidden option value)
242            txt = selectOptions[i].text.toUpperCase();
243//doe een trimString om voorloopspaties eruit te halen
244			//txt = trimString(txt);
245            // record nearest lowest index, if applicable
246            nearest = (typeAheadInfo.accumString > 
247                       txt.substr(0, typeAheadInfo.accumString.length)) ? i : nearest;
248            // process if accumString is at start of option text
249            if (txt.indexOf(typeAheadInfo.accumString) == 0) {
250               // stop any previous timeout timer
251               clearTimeout(typeAheadInfo.timeout);
252               // store current event's time in object 
253               typeAheadInfo.last = now;
254               // reset typeAhead properties in [delay] ms unless cleared beforehand
255               typeAheadInfo.timeout = setTimeout("typeAheadInfo.reset()", typeAheadInfo.delay);
256               // visibly select the matching item
257               selectElem.selectedIndex = i;
258			   //fire onchange event van select
259			    selectElem.dispatchEvent(event);
260               // prevent default event actions and propagation
261               evt.cancelBubble = true;
262               evt.returnValue = false;
263               // exit function
264               return false;   
265            }            
266         }
267         // if a next lowest match exists, select it
268         if (nearest != null) {
269            selectElem.selectedIndex = nearest;
270			//fire onchange event van select
271
272			selectElem.dispatchEvent(event);
273         }
274      } else {
275         // not a desired event, so clear timeout
276         clearTimeout(typeAheadInfo.timeout);
277      }
278      // reset global object
279      typeAheadInfo.reset();
280   }
281   return true;
282}
283
284
285
286/* OlDefaultFolders Constants*/
287var olFolderDeletedItems = 3;
288var olFolderOutbox  = 4;
289var olFolderSentMail  = 5;
290var olFolderInbox   = 6;
291var olFolderCalendar  = 9;
292var olFolderContacts  = 10;
293var olFolderJournal  = 11;
294var olFolderNotes   = 12;
295var olFolderTasks   = 13;
296
297function Outlook_MakeMail(ontvanger, onderwerp, emailtext, attachment) { 
298
299// Get the version of browser 
300   var version = parseInt(navigator.appVersion); 
301   var browser = navigator.appName; 
302
303   // ================================================================ 
304   // Block of code for Outlook 98/2000 running on PC 
305   // ================================================================ 
306   if ((browser == 'Microsoft Internet Explorer')) { 
307   		try {		
308			var outlookApp = new ActiveXObject("Outlook.Application");			
309			var nameSpace = outlookApp.getNameSpace("MAPI");			
310			var mailFolder = nameSpace.getDefaultFolder(olFolderSentMail);
311			var mailItem = mailFolder.Items.add('IPM.Note.FormA');
312			attachment = attachment.replace('file:////', "/");
313			attachment =  attachment.replace(/\//g,"\\\\");
314			
315			with (mailItem) {
316				Subject= onderwerp ;
317				To = ontvanger ;					
318				if (attachment != '') {
319					Attachments.Add (attachment);
320					}
321				HTMLBody = emailtext ;				
322				Display (0);
323				//Send();
324			}
325			mailItem=null;
326			mailFolder=null;
327			nameSpace=null;
328			outlookApp=null;
329		} catch (er) {
330				alert(er.message);
331		  		alert('De outlook mail functie werkt niet. Dit kan meerdere oorzaken hebben:\n\nU gebruikt Outlook Express i.p.v. Outlook.\n\nEr staat een modaal venster open in Outlook.Sluit dit venster en probeer het nogmaals.\n\nDe beveiligingsinstellingen in Internet Explorer voor ActiveX controls staan op "disabled".');
332				  	}
333		}  else 
334		{
335			alert('Deze functie werkt alleen in Internet Explorer');
336		}
337}
338
339function Outlook_MakeMail_MultipleAttachments(ontvanger, onderwerp, emailtext, sAttachments, file) { 
340// functie om een outlook mail te maken met meerdere attachments gekoppeld
341// Get the version of browser 
342
343   var version = parseInt(navigator.appVersion); 
344   var browser = navigator.appName; 
345	
346	var attachment;
347	var i;
348	i = 0;
349
350   // ================================================================ 
351   // Block of code for Outlook 98/2000 running on PC 
352   // ================================================================ 
353   if ((browser == 'Microsoft Internet Explorer')) { 
354   		try {		
355			var outlookApp = new ActiveXObject("Outlook.Application");			
356			var nameSpace = outlookApp.getNameSpace("MAPI");			
357			var mailFolder = nameSpace.getDefaultFolder(olFolderSentMail);
358			var mailItem = mailFolder.Items.add('IPM.Note.FormA');
359			
360			with (mailItem) {
361				Subject= onderwerp ;
362				To = ontvanger ;					
363				if (sAttachments != '') {
364					for(i==0;i<sAttachments.split(';;').length;i++) {
365						attachment = sAttachments.split(';;')[i];
366						attachment = attachment.replace('file:////', "/");
367						attachment =  attachment.replace(/\//g,"\\\\");
368						Attachments.Add (attachment);
369						}
370					}
371				HTMLBody = emailtext ;				
372				Display (0);
373				//Send();
374			}
375			if(file.length!=0) {
376				mailItem.SaveAs(file, 3);
377			}
378			mailItem=null;
379			mailFolder=null;
380			nameSpace=null;
381			outlookApp=null;
382		} catch (er) {
383				alert(er.message);
384		  		alert('De outlook mail functie werkt niet. Dit kan meerdere oorzaken hebben:\n\nU gebruikt Outlook Express i.p.v. Outlook.\n\nEr staat een modaal venster open in Outlook.Sluit dit venster en probeer het nogmaals.\n\nDe beveiligingsinstellingen in Internet Explorer voor ActiveX controls staan op "disabled".');
385				  	}
386		}  else 
387		{
388			alert('Deze functie werkt alleen in Internet Explorer');
389		}
390
391
392}
393

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.