var logger = function () {
var loggingConsole = document.getElementById('console');
return {
log: function (msg, isImportant) {
var span = document.createElement('span');
if (isImportant) {
span.innerHTML = msg + '<br/>';
span.className += 'importantMessage';
}
else {
span.innerHTML = msg;
}
loggingConsole.appendChild(span);
loggingConsole.scrollTop = loggingConsole.scrollHeight;
},
clear: function () {
loggingConsole.innerHTML = '';
}
};
};
function registerEvent(ctrl, event, handler, propagate) {
if (ctrl.addEventListener) {
ctrl.addEventListener(event, handler, propagate);
} else {
ctrl.attachEvent('on' + event, handler);
}
}
function saveCookiesEventHandler(e) {
var domain = document.getElementById('txtCookieDomain').value;
var cookieManager = new Cookies(domain, '', '', false);
var cookieName = document.getElementById('txtCookieName').value;
var cookieValue = document.getElementById('txtCookieValue').value;
cookieManager.write(cookieName, cookieValue);
}
function clearCookiesEventHandler(e) {
var domain = document.getElementById('txtCookieDomain').value;
var cookieManager = new Cookies(domain, '', '', false);
var cookies = cookieManager.keys();
for (var key = 0; key < cookies.length; key++) {
var cookie = cookies[key];
logger().log('Located cookie \'' + cookie.Cookie + '\'. Attempting to delete...');
cookieManager.remove(cookie.Cookie);
if (cookieManager.read(cookie.Cookie)) {
logger().log('Failed to delete cookie \'' + cookie.Cookie + '\'. Please check your domain and path and try again.');
} else {
logger().log('Cookie \'' + cookie.Cookie + '\' deleted successfully!');
}
}
}
function saveSubCookiesEventHandler(e) {
var domain = document.getElementById('txtCookieDomain').value;
var cookieManager = new Cookies(domain, '', '', false);
var cookieName = document.getElementById('txtCookieName').value;
var subCookieKey = document.getElementById('txtSubCookieKey').value;
var cookieValue = document.getElementById('txtCookieValue').value;
cookieManager.writeKey(cookieName, subCookieKey, cookieValue);
}
function readCookiesEventHandler(e) {
var domain = document.getElementById('txtCookieDomain').value;
var cookieName = document.getElementById('txtCookieName').value;
var cookieManager = new Cookies(domain, '', '', false);
var cookieValue = cookieManager.read(cookieName);
if (cookieValue) {
logger().log(cookieValue);
}
else {
logger().log('Cookie \'' + cookieName + '\' not found in domain \'' + cookieManager.domain() + '\'.');
}
}
function readSubCookiesEventHandler(e) {
var domain = document.getElementById('txtCookieDomain').value;
var cookieManager = new Cookies(domain, '', '', false);
var cookieName = document.getElementById('txtCookieName').value;
var subCookieKey = document.getElementById('txtSubCookieKey').value;
var cookieValue = cookieManager.readKey(cookieName, subCookieKey);
if (cookieValue) {
logger().log(cookieValue);
}
else {
logger().log('Subkey \'' + subCookieKey + '\' of cookie \'' + cookieName + '\' not found in domain \'' + cookieManager.domain() + '\'.');
}
}
function showAllCookiesEventHandler(e) {
var domain = document.getElementById('txtCookieDomain').value;
var cookieManager = new Cookies(domain, '', '', false);
var allKeys = cookieManager.keys();
if (allKeys && allKeys.length > 0) {
for (var i = 0; i < allKeys.length; i++) {
var cookie = allKeys[i];
logger().log(cookie.Cookie + ': ' + cookieManager.read(cookie.Cookie));
if (cookie.Keys && cookie.Keys.length > 0) {
for (var h = 0; h < cookie.Keys.length; h++) {
var key = cookie.Keys[h];
logger().log(key + ': ' + cookieManager.readKey(cookie.Cookie, key), true);
}
}
}
}
else {
logger().log('No cookies found.');
}
}
function clearConsoleEventHandler(e) {
logger().clear();
}
function windowLoadedEventHandler(e) {
var btnReadCookies = document.getElementById('btnReadCookies');
var btnClearConsole = document.getElementById('btnClearConsole');
var btnSaveCookies = document.getElementById('btnSaveCookies');
var btnClearCookies = document.getElementById('btnClearCookies');
var btnSaveSubCookies = document.getElementById('btnSaveSubCookies');
var btnReadSubCookies = document.getElementById('btnReadSubCookies');
var btnShowAllCookies = document.getElementById('btnShowAllCookies');
registerEvent(btnReadCookies, 'click', readCookiesEventHandler, false);
registerEvent(btnReadSubCookies, 'click', readSubCookiesEventHandler, false);
registerEvent(btnClearConsole, 'click', clearConsoleEventHandler, false);
registerEvent(btnSaveCookies, 'click', saveCookiesEventHandler, false);
registerEvent(btnClearCookies, 'click', clearCookiesEventHandler, false);
registerEvent(btnSaveSubCookies, 'click', saveSubCookiesEventHandler, false);
registerEvent(btnShowAllCookies, 'click', showAllCookiesEventHandler, false);
}
registerEvent(window, 'load', windowLoadedEventHandler, false);