[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
14082024
/
Data
/
htdocs
/
htdocs
/
ojs
/
248
/
lib
/
pkp
/
js
/
functions
/
[
Home
]
File: general.js
/** * functions/general.js * * Copyright (c) 2013-2019 Simon Fraser University * Copyright (c) 2000-2019 John Willinsky * Distributed under the GNU GPL v2. For full terms see the file docs/COPYING. * * Site-wide common JavaScript functions. */ /** * Prompt user for confirmation prior to loading a URL. */ function confirmAction(url, msg) { if (confirm(msg)) { if (url) { document.location.href=url; } return true; } return false; } /** * Open window displaying help. */ function openHelp(url) { window.open(url, 'Help', 'width=700,height=600,screenX=100,screenY=100,toolbar=0,scrollbars=1'); } /** * Open window displaying comments. */ function openComments(url) { window.open(url, 'Comments', 'width=700,height=600,screenX=100,screenY=100,toolbar=0,resizable=1,scrollbars=1'); } /** * Open window for preview. */ function openWindow(url) { window.open(url, 'Window', 'width=600,height=550,screenX=100,screenY=100,toolbar=0,resizable=1,scrollbars=1'); } /** * Open window for reading tools. */ function openRTWindow(url) { window.open(url, 'RT', 'width=700,height=500,screenX=100,screenY=100,toolbar=0,resizable=1,scrollbars=1'); } function openRTWindowWithToolbar(url) { window.open(url, 'RT', 'width=700,height=500,screenX=100,screenY=100,toolbar=1,resizable=1,scrollbars=1'); } /** * browser object availability detection * @param objectId string of object needed * @param style int (0 or 1) if style object is needed * @return javascript object specific to current browser */ function getBrowserObject(objectId, style) { var isNE4 = 0; var currObject; // browser object for ie5+ and ns6+ if (document.getElementById) { currObject = document.getElementById(objectId); // browser object for ie4+ } else if (document.all) { currObject = document.all[objectId]; // browser object for ne4 } else if (document.layers) { currObject = document.layers[objectId]; isNE4 = 1; } else { // do nothing } // check if style is needed if (style && !isNE4) { currObject = currObject.style; } return currObject; } /** * Load a URL. */ function loadUrl(url) { document.location.href=url; } function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } /** * Asynchronous request functions */ function makeAsyncRequest(){ var req=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP'); return req; } function sendAsyncRequest(req, url, data, method) { var header = 'Content-Type:text/html; Charset=utf-8'; req.open(method, url, true); req.setRequestHeader(header.split(':')[0],header.split(':')[1]); req.send(data); } /** * Change the form action * @param formId string * @param action string */ function changeFormAction(formId, action) { document.getElementById(formId).action = action; document.getElementById(formId).submit(); } /** * Encode a URL parameter * @param s string */ function urlEncode(s) { return encodeURIComponent( s ).replace( /\%20/g, '+' ).replace( /!/g, '%21' ).replace( /'/g, '%27' ).replace( /\(/g, '%28' ).replace( /\)/g, '%29' ).replace( /\*/g, '%2A' ).replace( /\~/g, '%7E' ); } /** * HTML encode a string * @param s string */ function escapeHTML(s) { return $('<div/>').text(s).html(); } /** * HTML decode a string * @param s string */ function unescapeHTML(s) { return $('<div/>').html(s).text(); }