· 7 years ago · Feb 24, 2018, 01:10 PM
1<script>
2 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
3 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
4 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
5 })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
6 ga('create', 'UA-3855518-1', 'auto');
7 ga('require', 'displayfeatures');
8 ga('send', 'pageview');
9</script>
10<script>
11var googletag = googletag || {};
12googletag.cmd = googletag.cmd || [];
13(function() {
14var gads = document.createElement('script');
15gads.async = true;
16gads.type = 'text/javascript';
17var useSSL = 'https:' == document.location.protocol;
18gads.src = (useSSL ? 'https:' : 'http:') +
19'//www.googletagservices.com/tag/js/gpt.js';
20var node = document.getElementsByTagName('script')[0];
21node.parentNode.insertBefore(gads, node);
22})();
23</script>
24<script type='text/javascript'>
25// GPT slots
26var gptAdSlots = [];
27googletag.cmd.push(function() {
28 var leaderMapping = googletag.sizeMapping().
29 // Mobile ad
30 addSize([0, 0], [320, 50]).
31 // Vertical Tablet ad
32 addSize([468, 0], [468, 60]).
33 // Horizontal Tablet
34 addSize([728, 0], [728, 90]).
35 // Desktop and bigger ad
36 addSize([970, 0], [[728, 90], [970, 90]]).build();
37 // addSize([970, 0], [728, 90]).build();
38 gptAdSlots[0] = googletag.defineSlot('/16833175/TryitLeaderboard', [[728, 90], [970, 90]], 'div-gpt-ad-1428407818244-0').
39 // gptAdSlots[0] = googletag.defineSlot('/16833175/TryitLeaderboard', [728, 90], 'div-gpt-ad-1428407818244-0').
40 defineSizeMapping(leaderMapping).addService(googletag.pubads());
41 googletag.pubads().setTargeting("content","try" + (function () {
42 var folder = location.pathname;
43 folder = folder.replace("/", "");
44 folder = folder.substr(0, folder.indexOf("/"));
45 return folder;
46 })()
47 );
48 googletag.enableServices();
49});
50</script>
51<script>
52if (window.addEventListener) {
53 window.addEventListener("resize", browserResize);
54} else if (window.attachEvent) {
55 window.attachEvent("onresize", browserResize);
56}
57var xbeforeResize = window.innerWidth;
58
59function browserResize() {
60 var afterResize = window.innerWidth;
61 if ((xbeforeResize < (970) && afterResize >= (970)) || (xbeforeResize >= (970) && afterResize < (970)) ||
62 (xbeforeResize < (728) && afterResize >= (728)) || (xbeforeResize >= (728) && afterResize < (728)) ||
63 (xbeforeResize < (468) && afterResize >= (468)) ||(xbeforeResize >= (468) && afterResize < (468))) {
64 xbeforeResize = afterResize;
65 googletag.cmd.push(function() {
66 googletag.pubads().refresh([gptAdSlots[0]]);
67 });
68 }
69 if (window.screen.availWidth <= 768) {
70 restack(window.innerHeight > window.innerWidth);
71 }
72 fixDragBtn();
73 showFrameSize();
74}
75var fileID = "";
76var loadSave = false;
77function getSavedFile() {
78 loadSave = true;
79 var htmlCode;
80 var paramObj = {};
81 paramObj.fileid = "";
82 fileID = paramObj.fileid;
83 var paramA = JSON.stringify(paramObj);
84 var httpA = new XMLHttpRequest();
85 httpA.open("POST", globalURL, true);
86 httpA.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
87 httpA.onreadystatechange = function() {
88 if(httpA.readyState == 4 && httpA.status == 200) {
89 document.getElementById("textareaCode").value = httpA.responseText;
90 window.editor.getDoc().setValue(httpA.responseText);
91 loadSave = false;
92 }
93 }
94 httpA.send(paramA);
95}
96
97</script>
98<style>
99* {
100 -webkit-box-sizing: border-box;
101 -moz-box-sizing: border-box;
102 box-sizing: border-box;
103}
104#dragbar{
105 position:absolute;
106 cursor: col-resize;
107 z-index:3;
108 padding:5px;
109}
110#textareacontainer, #iframecontainer {
111 float:left;
112 height:100%;
113 width:50%;
114}
115#textarea, #iframe {
116 height:100%;
117 width:100%;
118 padding-bottom:10px;
119 padding-top:1px;
120}
121#textarea {
122 padding-left:10px;
123 padding-right:5px;
124}
125#iframe {
126 padding-left:5px;
127 padding-right:10px;
128}
129#textareawrapper {
130 width:100%;
131 height:100%;
132 background-color: #ffffff;
133 position:relative;
134 box-shadow:0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
135}
136#iframewrapper {
137 width:100%;
138 height:100%;
139 -webkit-overflow-scrolling: touch;
140 background-color: #ffffff;
141 box-shadow:0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
142}
143#textareaCode {
144 background-color: #ffffff;
145 font-family: consolas,"courier new",monospace;
146 font-size:15px;
147 height:100%;
148 width:100%;
149 padding:8px;
150 resize: none;
151 border:none;
152 line-height:normal;
153}
154</style>
155 <button class="w3-button w3-bar-item w3-green w3-hover-white w3-hover-text-green" onclick="submitTryit(1)">Chạy code »</button>
156</div>
157<div id="shield"></div>
158<div id="menuOverlay" class="w3-overlay w3-transparent" style="cursor:pointer;z-index:4"></div>
159 <div id="textareacontainer">
160 <div id="textarea">
161 <div id="textareawrapper">
162 <textarea autocomplete="off" id="textareaCode" wrap="logical" spellcheck="false">
163Ủng hộ mình tại đây nhé:<br/>
164My tool1: <a href="http://pmtmix.ga">PMTmix</a><br/>
165My tool2: <a href="http://taowebonline.ga">Tạo web online</a><br/>
166My blog: <a href="http://itsharer.cf">ITharer</a>
167</textarea>
168 <form id="codeForm" autocomplete="off" style="margin:0px;display:none;">
169 <input type="hidden" name="code" id="code" />
170 </form>
171 </div>
172 </div>
173 </div>
174 <div id="iframecontainer">
175 <div id="iframe">
176 <div id="iframewrapper"></div>
177 </div>
178 </div>
179</div>
180<div id="err_form" class="w3-modal" style="z-index:4">
181 <div class="w3-modal-content w3-display-container">
182 <span onclick="document.getElementById('err_form').style.display='none'" class="w3-button w3-display-topright w3-text-white w3-padding w3-green" style="font-weight:bold;">×</span>
183 </div>
184</div>
185<script>
186submitTryit()
187function submitTryit(n) {
188 if (window.editor) {
189 window.editor.save();
190 }
191 var text = document.getElementById("textareaCode").value;
192 var ifr = document.createElement("iframe");
193 ifr.setAttribute("frameborder", "0");
194 ifr.setAttribute("id", "iframeResult");
195 ifr.setAttribute("name", "iframeResult");
196 document.getElementById("iframewrapper").innerHTML = "";
197 document.getElementById("iframewrapper").appendChild(ifr);
198 if (loadSave == true ) {
199 ifr.setAttribute("src", "/code/opentext.htm");
200 } else if (fileID != "" && loadSave == false) {
201 var t=text;
202 t=t.replace(/=/gi,"w3equalsign");
203 t=t.replace(/\+/gi,"w3plussign");
204 var pos=t.search(/script/i)
205 while (pos>0) {
206 t=t.substring(0,pos) + "w3" + t.substr(pos,3) + "w3" + t.substr(pos+3,3) + "tag" + t.substr(pos+6);
207 pos=t.search(/script/i);
208 }
209 document.getElementById("code").value=t;
210 document.getElementById("codeForm").action = "https://tryit.w3schools.com/tryit_view.php?x=" + Math.random();
211 document.getElementById('codeForm').method = "post";
212 document.getElementById('codeForm').acceptCharset = "utf-8";
213 document.getElementById('codeForm').target = "iframeResult";
214 document.getElementById("codeForm").submit();
215 } else {
216 var ifrw = (ifr.contentWindow) ? ifr.contentWindow : (ifr.contentDocument.document) ? ifr.contentDocument.document : ifr.contentDocument;
217 ifrw.document.open();
218 ifrw.document.write(text);
219 ifrw.document.close();
220 //23.02.2016: contentEditable is set to true, to fix text-selection (bug) in firefox.
221 //(and back to false to prevent the content from being editable)
222 //(To reproduce the error: Select text in the result window with, and without, the contentEditable statements below.)
223 if (ifrw.document.body && !ifrw.document.body.isContentEditable) {
224 ifrw.document.body.contentEditable = true;
225 ifrw.document.body.contentEditable = false;
226 }
227 }
228}
229var currentStack=true;
230if ((window.screen.availWidth <= 768 && window.innerHeight > window.innerWidth) || "" == " horizontal") {restack(true);}
231function restack(horizontal) {
232 var tc, ic, t, i, c, f, sv, sh, d, height, flt, width;
233 tc = document.getElementById("textareacontainer");
234 ic = document.getElementById("iframecontainer");
235 t = document.getElementById("textarea");
236 i = document.getElementById("iframe");
237 c = document.getElementById("container");
238 sv = document.getElementById("stackV");
239 sh = document.getElementById("stackH");
240 tc.className = tc.className.replace("horizontal", "");
241 ic.className = ic.className.replace("horizontal", "");
242 t.className = t.className.replace("horizontal", "");
243 i.className = i.className.replace("horizontal", "");
244 c.className = c.className.replace("horizontal", "");
245 if (sv) {sv.className = sv.className.replace("horizontal", "")};
246 if (sv) {sh.className = sh.className.replace("horizontal", "")};
247 stack = "";
248 if (horizontal) {
249 tc.className = tc.className + " horizontal";
250 ic.className = ic.className + " horizontal";
251 t.className = t.className + " horizontal";
252 i.className = i.className + " horizontal";
253 c.className = c.className + " horizontal";
254 if (sv) {sv.className = sv.className + " horizontal"};
255 if (sv) {sh.className = sh.className + " horizontal"};
256 stack = " horizontal";
257 document.getElementById("textareacontainer").style.height = "50%";
258 document.getElementById("iframecontainer").style.height = "50%";
259 document.getElementById("textareacontainer").style.width = "100%";
260 document.getElementById("iframecontainer").style.width = "100%";
261 currentStack=false;
262 } else {
263 document.getElementById("textareacontainer").style.height = "100%";
264 document.getElementById("iframecontainer").style.height = "100%";
265 document.getElementById("textareacontainer").style.width = "50%";
266 document.getElementById("iframecontainer").style.width = "50%";
267 currentStack=true;
268 }
269 fixDragBtn();
270 showFrameSize();
271}
272function showFrameSize() {
273 var t;
274 var width, height;
275 width = Number(w3_getStyleValue(document.getElementById("iframeResult"), "width").replace("px", "")).toFixed();
276 height = Number(w3_getStyleValue(document.getElementById("iframeResult"), "height").replace("px", "")).toFixed();
277 document.getElementById("framesize").innerHTML = "Result Size: <span>" + width + " x " + height + "</span>";
278}
279var dragging = false;
280var stack;
281function fixDragBtn() {
282 var textareawidth, leftpadding, dragleft, containertop, buttonwidth
283 var containertop = Number(w3_getStyleValue(document.getElementById("container"), "top").replace("px", ""));
284 if (stack != " horizontal") {
285 document.getElementById("dragbar").style.width = "5px";
286 textareasize = Number(w3_getStyleValue(document.getElementById("textareawrapper"), "width").replace("px", ""));
287 leftpadding = Number(w3_getStyleValue(document.getElementById("textarea"), "padding-left").replace("px", ""));
288 buttonwidth = Number(w3_getStyleValue(document.getElementById("dragbar"), "width").replace("px", ""));
289 textareaheight = w3_getStyleValue(document.getElementById("textareawrapper"), "height");
290 dragleft = textareasize + leftpadding + (leftpadding / 2) - (buttonwidth / 2);
291 document.getElementById("dragbar").style.top = containertop + "px";
292 document.getElementById("dragbar").style.left = dragleft + "px";
293 document.getElementById("dragbar").style.height = textareaheight;
294 document.getElementById("dragbar").style.cursor = "col-resize";
295
296 } else {
297 document.getElementById("dragbar").style.height = "5px";
298 if (window.getComputedStyle) {
299 textareawidth = window.getComputedStyle(document.getElementById("textareawrapper"),null).getPropertyValue("height");
300 textareaheight = window.getComputedStyle(document.getElementById("textareawrapper"),null).getPropertyValue("width");
301 leftpadding = window.getComputedStyle(document.getElementById("textarea"),null).getPropertyValue("padding-top");
302 buttonwidth = window.getComputedStyle(document.getElementById("dragbar"),null).getPropertyValue("height");
303 } else {
304 dragleft = document.getElementById("textareawrapper").currentStyle["width"];
305 }
306 textareawidth = Number(textareawidth.replace("px", ""));
307 leftpadding = Number(leftpadding .replace("px", ""));
308 buttonwidth = Number(buttonwidth .replace("px", ""));
309 dragleft = containertop + textareawidth + leftpadding + (leftpadding / 2);
310 document.getElementById("dragbar").style.top = dragleft + "px";
311 document.getElementById("dragbar").style.left = "5px";
312 document.getElementById("dragbar").style.width = textareaheight;
313 document.getElementById("dragbar").style.cursor = "row-resize";
314 }
315}
316function dragstart(e) {
317 e.preventDefault();
318 dragging = true;
319 var main = document.getElementById("iframecontainer");
320}
321function dragmove(e) {
322 if (dragging)
323 {
324 document.getElementById("shield").style.display = "block";
325 if (stack != " horizontal") {
326 var percentage = (e.pageX / window.innerWidth) * 100;
327 if (percentage > 5 && percentage < 98) {
328 var mainPercentage = 100-percentage;
329 document.getElementById("textareacontainer").style.width = percentage + "%";
330 document.getElementById("iframecontainer").style.width = mainPercentage + "%";
331 fixDragBtn();
332 }
333 } else {
334 var containertop = Number(w3_getStyleValue(document.getElementById("container"), "top").replace("px", ""));
335 var percentage = ((e.pageY - containertop + 20) / (window.innerHeight - containertop + 20)) * 100;
336 if (percentage > 5 && percentage < 98) {
337 var mainPercentage = 100-percentage;
338 document.getElementById("textareacontainer").style.height = percentage + "%";
339 document.getElementById("iframecontainer").style.height = mainPercentage + "%";
340 fixDragBtn();
341 }
342 }
343 showFrameSize();
344 }
345}
346function dragend() {
347 document.getElementById("shield").style.display = "none";
348 dragging = false;
349 if (window.editor) {
350 window.editor.refresh();
351 }
352}
353if (window.addEventListener) {
354 document.getElementById("dragbar").addEventListener("mousedown", function(e) {dragstart(e);});
355 document.getElementById("dragbar").addEventListener("touchstart", function(e) {dragstart(e);});
356 window.addEventListener("mousemove", function(e) {dragmove(e);});
357 window.addEventListener("touchmove", function(e) {dragmove(e);});
358 window.addEventListener("mouseup", dragend);
359 window.addEventListener("touchend", dragend);
360 window.addEventListener("load", fixDragBtn);
361 window.addEventListener("load", showFrameSize);
362}
363function click_savebtn() {
364 if (window.editor) {
365 window.editor.save();
366 }
367 document.getElementById('saveModal').style.display = 'block';
368}
369function click_google_savebtn() {
370 if (window.editor) {
371 window.editor.save();
372 }
373 document.getElementById('driveSaveModal').style.display='block'
374}
375
376function click_google_loadbtn() {
377 document.getElementById('driveLoadModal').style.display='block'
378}
379
380
381function colorcoding() {
382 var ua = navigator.userAgent;
383 //Opera Mini refreshes the page when trying to edit the textarea.
384 if (ua && ua.toUpperCase().indexOf("OPERA MINI") > -1) { return false; }
385 window.editor = CodeMirror.fromTextArea(document.getElementById("textareaCode"), {
386 mode: "text/html",
387 htmlMode: true,
388 lineWrapping: true,
389 smartIndent: false,
390 addModeClass: true
391 });
392// window.editor.on("change", function () {window.editor.save();});
393}
394colorcoding();
395
396function w3_getStyleValue(elmnt,style) {
397 if (window.getComputedStyle) {
398 return window.getComputedStyle(elmnt,null).getPropertyValue(style);
399 } else {
400 return elmnt.currentStyle[style];
401 }
402}
403//SAVE AND OPEN SCRIPT
404var oauthToken;
405var userAction;
406var pickerApiLoaded;
407var developerKey = 'AIzaSyAMZDPXiGcCNWs1UCWG9LS6kkW5YiABfJ0';
408var CLIENT_ID = '451843133508-ckbr5r6ch1ofqbmh87oll4u6ltinqv2t.apps.googleusercontent.com';
409var SCOPES = ['https://www.googleapis.com/auth/drive.file'];
410
411//Check if current user has authorized this application
412function checkAuth() {
413 gapi.auth.authorize(
414 {
415 'client_id': CLIENT_ID,
416 'scope': SCOPES.join(' '),
417 'immediate': true
418 }, handleAuthResult);
419}
420
421//Handle response from authorization server
422function handleAuthResult(authResult) {
423 if (authResult && !authResult.error) {
424 oauthToken = authResult.access_token;
425 loadApi();
426 }
427}
428
429// Initiate auth flow in response to user clicking authorize button
430function handleAuthClick(event,userClick) {
431 userAction = userClick;
432 gapi.auth.authorize(
433 {client_id: CLIENT_ID, scope: SCOPES, immediate: false},
434 handleAuthResult);
435 return false;
436}
437
438// Load API library
439function loadApi() {
440 gapi.client.load('drive', 'v3');
441 gapi.load('picker', {'callback': onPickerApiLoad});
442}
443function onPickerApiLoad() {
444 pickerApiLoaded = true;
445 if (userAction=="save") {
446 userAction="";
447 document.getElementById('driveText').style.display='none';
448 document.getElementById('driveSavedPanel').style.display='block';
449 createFileWithHTMLContent(document.getElementById('googleFileName').value,document.getElementById('textareaCode').value)
450 }
451 if (userAction=="open") {
452 userAction="";
453 createPicker();
454 }
455}
456
457// Create and render a Picker object for picking HTML file
458function createPicker() {
459 if (pickerApiLoaded) {
460 var view = new google.picker.View(google.picker.ViewId.DOCS);
461 view.setMimeTypes("text/html");
462 var picker = new google.picker.PickerBuilder().
463 addView(view).
464 setOAuthToken(oauthToken).
465 setDeveloperKey(developerKey).
466 setCallback(pickerCallback).
467 build();
468 picker.setVisible(true);
469 }
470}
471// Put content of file in tryit editor
472function pickerCallback(data) {
473 var docID = '';
474 if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
475 var doc = data[google.picker.Response.DOCUMENTS][0];
476 docID = doc[google.picker.Document.ID];
477 getContentOfFile(docID);
478 }
479}
480
481//Get contents
482function getContentOfFile(theID){
483 gapi.client.request({'path': '/drive/v2/files/'+theID,'method': 'GET',callback: function ( theResponseJS, theResponseTXT ) {
484 var myToken = gapi.auth.getToken();
485 var myXHR = new XMLHttpRequest();
486 myXHR.open('GET', theResponseJS.downloadUrl, true );
487 myXHR.setRequestHeader('Authorization', 'Bearer ' + myToken.access_token );
488 myXHR.onreadystatechange = function( theProgressEvent ) {
489 if (myXHR.readyState == 4) {
490 if ( myXHR.status == 200 ) {
491 var code = myXHR.response;
492 document.getElementById("textareaCode").value=code;
493 window.editor.getDoc().setValue(code);
494 submitTryit(1);
495 resetDriveLoadModal();
496 }
497 }
498 }
499 myXHR.send();
500 }
501 });
502}
503
504var createFileWithHTMLContent = function(name,data,callback) {
505 const boundary = '-------314159265358979323846';
506 const delimiter = "\r\n--" + boundary + "\r\n";
507 const close_delim = "\r\n--" + boundary + "--";
508 const contentType = 'text/html';
509
510 var metadata = {
511 'name': name,
512 'mimeType': contentType
513 };
514
515 var multipartRequestBody =
516 delimiter +
517 'Content-Type: application/json\r\n\r\n' +
518 JSON.stringify(metadata) +
519 delimiter +
520 'Content-Type: ' + contentType + '\r\n\r\n' +
521 data +
522 close_delim;
523
524 var request = gapi.client.request({
525 'path': '/upload/drive/v3/files',
526 'method': 'POST',
527 'params': {'uploadType': 'multipart'},
528 'headers': {
529 'Content-Type': 'multipart/related; boundary="' + boundary + '"'
530 },
531 'body': multipartRequestBody});
532 if (!callback) {
533 callback = function(file) {
534 console.log(file);
535 document.getElementById("driveSavedText").innerHTML = file.name + " saved in Google Drive";
536 document.getElementById("driveSavedPanel").className = "w3-panel w3-large";
537 };
538 }
539 request.execute(callback);
540}
541
542if (navigator.userAgent.indexOf("MSIE") > 0 || navigator.userAgent.indexOf("Edge") > 0) {
543 document.getElementById("saveGDriveBtn").style.display = "none";
544 document.getElementById("loadGDriveBtn").style.display = "none";
545}
546
547
548function resetDriveSaveModal() {
549 document.getElementById('driveSavedText').innerHTML='';
550 document.getElementById('driveSaveModal').style.display='none'
551 document.getElementById('driveSavedPanel').style.display='none'
552 document.getElementById('driveText').style.display='block'
553 document.getElementById("driveSavedPanel").className = "w3-panel w3-large loader";
554}
555function resetDriveLoadModal() {
556 document.getElementById('driveLoadModal').style.display='none'
557}
558
559function saveFile(code) {
560 document.getElementById('preSave').style.display='none';
561 if (code.length>20000) {
562 document.getElementById('errorSave').style.display='block';
563 return;
564 }
565 document.getElementById('postSave').style.display='block';
566 var paramObj = {};
567 paramObj.code = code;
568 var paramB = JSON.stringify(paramObj);
569 var httpB = new XMLHttpRequest();
570 httpB.open("POST", globalURL, true);
571
572 httpB.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
573
574 httpB.onreadystatechange = function() {
575 if(httpB.readyState == 4 && httpB.status == 200) {
576 if(httpB.responseText.substr(0,2) == "OK" ) {
577 var getId = httpB.responseText.substr(2);
578 document.getElementById("shareLink").href = "/code/tryit.asp?filename=" + getId;
579 document.getElementById("shareLinkText").innerHTML = "https://www.w3schools.com/code/tryit.asp?filename=" + getId;
580 document.getElementById('saveLoader').style.display = "none";
581 document.getElementById("saveModalSaved").style.display = "block";
582 }
583 }
584 }
585 httpB.send(paramB);
586}
587function hideAndResetModal() {
588 document.getElementById("saveModal").style.display = "none";
589 document.getElementById('preSave').style.display = "block";
590 document.getElementById('errorSave').style.display = "none";
591 document.getElementById('postSave').style.display = "none";
592 document.getElementById("saveModalSaved").style.display = "none";
593 document.getElementById('saveDisclaimer').style.display= "none";
594 document.getElementById('saveLoader').style.display = "block";
595}
596
597var addr = document.location.href;
598function displayError() {
599 document.getElementById("err_url").value = addr;
600 document.getElementById("err_form").style.display = "block";
601 document.getElementById("err_email").focus();
602 hideSent();
603}
604function hideError() {
605 document.getElementById("err_form").style.display = "none";
606}
607function hideSent() {
608 document.getElementById("err_sent").style.display = "none";
609}
610function sendErr() {
611 var xmlhttp;
612 var err_url = document.getElementById("err_url").value;
613 var err_email = document.getElementById("err_email").value;
614 var err_desc = document.getElementById("err_desc").value;
615 if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
616 xmlhttp = new XMLHttpRequest();
617 } else {// code for IE6, IE5
618 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
619 }
620 xmlhttp.open("POST", "/err_sup.asp", true);
621 xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
622 xmlhttp.send("err_url=" + err_url + "&err_email=" + err_email + "&err_desc=" + escape(err_desc));
623 document.getElementById("err_desc").value = "";
624 hideError();
625 document.getElementById("err_sent").style.display = "block";
626}
627function openMenu() {
628 var x = document.getElementById("navbarDropMenu");
629 var y = document.getElementById("menuOverlay");
630 var z = document.getElementById("menuButton");
631 if (z.className.indexOf("w3-text-gray") == -1) {
632 z.className += " w3-text-gray";
633 } else {
634 z.className = z.className.replace(" w3-text-gray", "");
635 }
636 if (z.className.indexOf("w3-gray") == -1) {
637 z.className += " w3-gray";
638 } else {
639 z.className = z.className.replace(" w3-gray", "");
640 }
641 if (x.className.indexOf("w3-show") == -1) {
642 x.className += " w3-show";
643 } else {
644 x.className = x.className.replace(" w3-show", "");
645 }
646 if (y.className.indexOf("w3-show") == -1) {
647 y.className += " w3-show";
648 } else {
649 y.className = y.className.replace(" w3-show", "");
650 }
651
652}
653// When the user clicks anywhere outside of the modal, close it
654window.onclick = function(event) {
655 if (event.target == document.getElementById("saveModal")) {
656 hideAndResetModal();
657 }
658 if (event.target == document.getElementById("driveSaveModal")) {
659 resetDriveSaveModal();
660 }
661 if (event.target == document.getElementById("driveLoadModal")) {
662 resetDriveLoadModal();
663 }
664 if (event.target == document.getElementById("menuOverlay")) {
665 openMenu();
666 }
667
668}
669</script>