function Core()
{
} // Core
Core.path = '';
Core._userAjaxCommandCb = null;
Core._userAjaxRequest   = null;
Core._windowCloseTimer = null;
Core.ajaxSendXml = function(data,
cb,
cbData)
{
var ajax = new Ajax();
Core._userAjaxRequest = data;
ajax.sendXml('/ajax.php',
data,
cb,
cbData);
} // ajaxSendXml
Core.ajaxSendCommand = function(cmd,
params,
cb,
cbData)
{
var ajax = new Ajax();
var data = {
'cmd'       : cmd,
'userData'  : cbData
}
params['cmd'] = cmd;
Core._userAjaxCommandCb = cb;
Core.ajaxSendXml(params,
Core._ajaxCommandCallback,
data);
} // ajaxSendCommand
Core.changeAdminUserStatus = function(select)
{
switch (select.value)
{
case 'approved':  var msg = 'Notify user that their request has been approved?'; break;
case 'denied':    var msg = 'Notify user that their request has been denied?';   break;
default:          return;
} // switch
var ans = confirm(msg);
if (ans)
{
document.getElementById('notify').value = '1';
} // if
else
{
document.getElementById('notify').value = '0';
} // else
} // changeAdminUserStatus
Core.displayError = function(msg)
{
var div = document.getElementById('errorBlock');
Utils.removeChildren(div);
div.appendChild(document.createTextNode(msg));
div.style.display = 'block';
} // displayError
Core.displayMessage = function(msg)
{
var div = document.getElementById('messageBlock');
Utils.removeChildren(div);
div.appendChild(document.createTextNode(msg));
div.style.display = 'block';
} // displayMessage
Core.enableAccessControls = function(rb,
formName)
{
if ((formName == undefined) ||
(!formName))
{
formName = 'adminForm';
} // if
var form = document[formName];
if (form.allowAll[0].checked)
{
form['groups[]'].disabled = 'disabled';
form.ips.disabled = 'disabled';
form['users[]'].disabled = 'disabled';
} // if
else
{
form['groups[]'].disabled = '';
form.ips.disabled = '';
form['users[]'].disabled = '';
} // else
} // enableAccessControls
Core.onChangeCountry = function(select)
{
if (select.value == 'US')
{
document.getElementById('usData').style.display = '';
document.getElementById('usHead').style.display = '';
document.getElementById('intlData').style.display = 'none';
document.getElementById('intlHead').style.display = 'none';
} // if
else
{
document.getElementById('intlData').style.display = '';
document.getElementById('intlHead').style.display = '';
document.getElementById('usData').style.display = 'none';
document.getElementById('usHead').style.display = 'none';
} // else
} // onChangeCountry
Core.onChangePagerPage = function(select,
baseUrl,
doName,
itemsPerPage)
{
document.location.pathname = baseUrl + '/_pager/' + doName + '.' + itemsPerPage + '.' + select.value;
} // onChangePagerPage
Core.openWindow = function(url,
title,
width,
height,
scrollbars)
{
var x = (640 - width) / 2;
var y = (480 - height) / 2;
if (screen)
{
y = (screen.availHeight - height) / 2;
x = (screen.availWidth - width) / 2;
} // if
if (screen.availWidth > 1800)
{
x = ((screen.availWidth / 2) - width) / 2;
} // if
params = 'width='    + width  + ',' +
'height='   + height + ',' +
'screenX='  + x      + ',' +
'screenY='  + y      + ',' +
'top='      + y      + ',' +
'left='     + x      + ',' +
'dependent=yes,'  +
'directories=no,' +
'location=no,'    +
'menubar=no,'     +
'status=no,'      +
'toolbar=no';
if (scrollbars)
{
params += ',scrollbars=yes';
} // if
else
{
params += ',scrollbars=no';
} // else
newWin = window.open(url,
title,
params);
return (newWin);
} // openWindow
Core.openWindowImg = function(imgUrl,
title,
width,
height)
{
newWin = Core.openWindow('',
title,
width + 50,
height + 50);
newWin.document.write('<html><head><script src="' + Core.path + '/scripts/core/Core.js" language="javascript" type="text/javascript"></script></head><body onblur="Core.startWindowCloseTimer(5);" onfocus="Core.stopWindowCloseTimer();"><img src="' + imgUrl + '" /></body></html>');
newWin.document.close();
return (newWin);
} // openWindowImg
Core.startWindowCloseTimer = function(secs)
{
Core._windowCloseTimer = window.setTimeout('window.close()',
secs * 1000)
} // startWindowCloseTimer
Core.stopWindowCloseTimer = function()
{
if (Core._windowCloseTimer)
{
window.clearTimeout(Core._windowCloseTimer);
Core._windowCloseTimer = null;
} // if
} // stopWindowCloseTimer
Core.updateResponse = function(text)
{
if (text)
{
var div = document.getElementById('coreDebugResponse');
if (div)
{
Utils.removeChildren(div);
var h1 = document.createElement('h1');
div.appendChild(h1);
h1.appendChild(document.createTextNode('AJAX Response'));
var p = document.createElement('p');
var temp = text.split('\n');
for (i in temp)
{
p.appendChild(document.createTextNode(temp[i]));
p.appendChild(document.createElement('br'));
} // for
div.appendChild(p);
} // if
} // if
} // updateResponse
Core._ajaxCommandCallback = function(obj,
data,
status,
reason,
xml,
text)
{
var elem = document.getElementById('debugResponse');
if (elem)
{
var request = '';
for (var i in Core._userAjaxRequest)
{
request += ', ' + i + ':' + Core._userAjaxRequest[i];
} // for
if (request)
{
request = request.substring(2)
} // if
var lt = new RegExp('<', 'g');
var gt = new RegExp('>', 'g');
text = text.replace(lt, '&lt;').replace(gt, '&gt;');
Utils.removeChildren(elem);
elem.innerHTML = '<h1>AJAX Information</h1><p><strong>Request:</strong> ' + request + '</p><br /><p><strong>Response: </strong>' + text + '</p>';
elem.style.display = 'block';
} // if
if ((Core._userAjaxCommandCb) &&
(data.cmd))
{
if ((obj) &&
(obj[data.cmd]))
{
Core._userAjaxCommandCb(obj[data.cmd],
data.userData,
status,
reason);
} // if
else
{
Core._userAjaxCommandCb(null,
data.userData,
status,
reason);
} // else
} // if
} // _ajaxCommandCallback
