var fallback = 0; var xmlhttp = false; var output = ""; var params = ""; function makePOSTRequest(url, parameters) { params = parameters; xmlhttp = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... xmlhttp = new XMLHttpRequest(); if (xmlhttp.overrideMimeType) { // set type accordingly to anticipated content type //xmlhttp.overrideMimeType('text/xml'); xmlhttp.overrideMimeType('text/html'); } } else if (window.ActiveXObject) { // IE try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!xmlhttp) { var fallback = 1; return false; } document.getElementById('fl_coverall').style.display = "inline"; if(url != "code/getgalldata.php" && url != "code/polladd.php") xmlhttp.onreadystatechange = alertContents; else if(url == "code/getgalldata.php") xmlhttp.onreadystatechange = showresponse; else xmlhttp.onreadystatechange = pollupdate; xmlhttp.open('POST', url, true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Content-length", parameters.length); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.send(parameters); return false; } function pollupdate() { if(xmlhttp.responseText != "") { var resp = xmlhttp.responseText.split("FL_MSGEND"); var msgtoshow = resp[0].split("<<<>>>"); msg(msgtoshow[0], msgtoshow[1]); document.getElementById('fl_pollbox').innerHTML = resp[1]; document.getElementById('fl_coverall').style.display = "none"; } } function showresponse() { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { var parsplit = params.split("&"); var psplit = parsplit[1].split("="); var imgsplit = parsplit[2].split("="); document.getElementById('fl_coverall').style.display = "none"; output = xmlhttp.responseText; var commchk = output.split("<<<>>>"); if(commchk[0] == "comms") updategall2(psplit[1], imgsplit[1], commchk[1]); else { updategall1(psplit[1], imgsplit[1], output); makePOSTRequest('code/getgalldata.php', 'type=comments&p=' + psplit[1] + '&img=' + imgsplit[1]); } } } } function alertContents() { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { document.getElementById('fl_coverall').style.display = "none"; var responsecode = xmlhttp.responseText.substr(0,1); var responsemsg = xmlhttp.responseText.substr(1); var responsetype = xmlhttp.responseText.substr(0,8); if(responsetype != "counted " && responsetype != "newcont ") msg(responsecode, responsemsg); if(responsemsg == "Comment has been saved." || responsemsg == "Comment has been saved.
Moderation is on so it must be approved before it appears.") { document.getElementById('fl_commsadd').style.display = "none"; document.getElementById('fl_commsaddline').style.display = "none"; if(responsemsg == "Comment has been saved.") { var s = document.getElementById('fl_s').innerHTML; var p = document.getElementById('fl_p').innerHTML; var ent = document.getElementById('fl_ent').innerHTML; var poststr = "type=count&s=" + s + "&p=" + p + "&ent=" + ent; makePOSTRequest('code/commupdate.php', poststr); } } if(responsetype == "counted ") { document.getElementById('fl_commstot').innerHTML = xmlhttp.responseText.substr(8); var s = document.getElementById('fl_s').innerHTML; var p = document.getElementById('fl_p').innerHTML; var ent = document.getElementById('fl_ent').innerHTML; var poststr = "type=comms&s=" + s + "&p=" + p + "&ent=" + ent; makePOSTRequest('code/commupdate.php', poststr); } if(responsetype == "newcont ") { document.getElementById('fl_thecomms').innerHTML = xmlhttp.responseText.substr(8); } } else { document.getElementById('fl_coverall').style.display = "none"; msg('1', 'Data could not be sent to server!'); } } return false; } function pleasewaitbox() { document.getElementById('fl_coverall').style.display = "inline"; } function commsub(entrytype, filename, entry, maxlength) { if(entrytype == "news") entrytype = "blogs"; var newname = document.getElementById('name').value; var newcomm = document.getElementById('comment').value; var spamcode = document.getElementById('spamcode').value; if(newcomm.length <= maxlength) { newname = encodeURI(newname); newcomm = encodeURI(newcomm); spamcode = encodeURI(spamcode); newname = newname.replace(/&/g, "%26"); newcomm = newcomm.replace(/&/g, "%26"); spamcode = spamcode.replace(/&/g, "%26"); newname = newname.replace(/\+/g, "%2B"); newcomm = newcomm.replace(/\+/g, "%2B"); spamcode = spamcode.replace(/\+/g, "%2B"); newname = newname.replace(/#/g, "%23"); newcomm = newcomm.replace(/#/g, "%23"); spamcode = spamcode.replace(/#/g, "%23"); var poststr = "area=" + entrytype + "&filename=" + filename + "&entry=" + entry + "&newname=" + newname + "&newcomm=" + newcomm + "&spamcode=" + spamcode; if(entrytype == 'guestbook') { var newemail = document.getElementById('email').value; var newwebsite = document.getElementById('website').value; newemail = encodeURI(newemail); newwebsite = encodeURI(newwebsite); newemail = newemail.replace(/&/g, "%26"); newwebsite = newwebsite.replace(/&/g, "%26"); newemail = newemail.replace(/\+/g, "%2B"); newwebsite = newwebsite.replace(/\+/g, "%2B"); newemail = newemail.replace(/#/g, "%23"); newwebsite = newwebsite.replace(/#/g, "%23"); poststr += "&newemail=" + newemail + "&newwebsite=" + newwebsite; } if(document.getElementById('password')) { encryptpass('password'); var pass = document.getElementById('password').value; var remember = document.getElementById('remember').checked; if(remember == true) remember = "1"; else remember = "0"; poststr += "&pass=" + pass + "&remember=" + remember; } if(newname != "" && newcomm != "") { if(fallback == 1) { window.location = "code/commadd.php?noajax=1&" + poststr; } else { makePOSTRequest('code/commadd.php', poststr); } } else { msg('2', 'You must enter your name and a comment.'); } } else { msg('2', 'Sorry, the message you entered is too long.'); } } function regsub(entrytype, filename, entry) { var regname = document.getElementById('regname').value; var regpass = document.getElementById('pass').value; var regpass2 = document.getElementById('pass2').value; var regemail = document.getElementById('regemail').value; if(regpass == regpass2 && regpass != "" && regname != "" && regemail != "") { encryptpass('pass'); document.getElementById('pass2').value = document.getElementById('pass').value; regpass = document.getElementById('pass').value; regpass2 = document.getElementById('pass2').value; regname = encodeURI(regname); regpass = encodeURI(regpass); regpass2 = encodeURI(regpass); regemail = encodeURI(regemail); regname = regname.replace(/&/g, "%26"); regpass = regpass.replace(/&/g, "%26"); regpass2 = regpass2.replace(/&/g, "%26"); regemail = regemail.replace(/&/g, "%26"); regname = regname.replace(/\+/g, "%2B"); regpass = regpass.replace(/\+/g, "%2B"); regpass2 = regpass2.replace(/\+/g, "%2B"); regemail = regemail.replace(/\+/g, "%2B"); regname = regname.replace(/#/g, "%23"); regpass = regpass.replace(/#/g, "%23"); regpass2 = regpass2.replace(/#/g, "%23"); regemail = regemail.replace(/#/g, "%23"); var poststr = "area=" + entrytype + "&filename=" + filename + "&entry=" + entry + "®name=" + regname + "®pass=" + regpass + "®pass2=" + regpass2 + "®email=" + regemail; if(fallback == 1) { window.location = "code/register.php?noajax=1&" + poststr; } else { makePOSTRequest('code/register.php', poststr); } } else { msg('1', 'You must enter a username and e-mail address and your passwords must match.'); } } function mailingjoin(list) { var email = document.getElementById('joinmail-' + list).value; if(email != "") { email = encodeURI(email); email = email.replace(/&/g, "%26"); email = email.replace(/\+/g, "%2B"); email = email.replace(/#/g, "%23"); var poststr = "joinlist=" + list + "&email=" + email; if(fallback == 1) { window.location = "code/mailing.php?noajax=1&" + poststr; } else { makePOSTRequest('code/mailing.php', poststr); } } else { msg('1', 'You must enter your e-mail address.'); } } function pollsub(s, p, curpoll) { for(var i = 1; i <= 10; i++) { if(document.getElementById('vote' + i)) { if(document.getElementById('vote' + i).checked == true) var chosen = i; } } var poststr = "s=" + s + "&p=" + p + "&poll=" + curpoll + "&chosen=" + chosen; if(fallback == 1) { window.location = "code/polladd.php?noajax=1&" + poststr; } else { makePOSTRequest('code/polladd.php', poststr); } } function emailsub() { var name = document.getElementById('mailname').value; var email = document.getElementById('mailemail').value; var subject = document.getElementById('mailsubject').value; var message = document.getElementById('mailmessage').value; var spamcode = document.getElementById('mailspamcode').value; if(name != "" && email != "" && message != "") { name = encodeURI(name); name = name.replace(/&/g, "%26"); name = name.replace(/\+/g, "%2B"); name = name.replace(/#/g, "%23"); email = encodeURI(email); email = email.replace(/&/g, "%26"); email = email.replace(/\+/g, "%2B"); email = email.replace(/#/g, "%23"); subject = encodeURI(subject); subject = subject.replace(/&/g, "%26"); subject = subject.replace(/\+/g, "%2B"); subject = subject.replace(/#/g, "%23"); message = encodeURI(message); message = message.replace(/&/g, "%26"); message = message.replace(/\+/g, "%2B"); message = message.replace(/#/g, "%23"); var poststr = "name=" + name + "&email=" + email + "&subject=" + subject + "&message=" + message + "&antispam=" + spamcode; if(fallback == 1) { window.location = "code/sendmail.php?noajax=1&" + poststr; } else { makePOSTRequest('code/sendmail.php', poststr); } } else { msg('1', 'You must enter your name, e-mail address and a message.'); } } // MD5 stuff var x = ""; var a = ""; var b = ""; var c = ""; var d = ""; var i = ""; var olda = ""; var oldb = ""; var oldc = ""; var oldd = ""; function encryptpass(element) { var enteredpass = document.getElementById(element).value; if(enteredpass != "" && (enteredpass.length != "32" || element == "loginpass")) { var submitpass = calcMD5(enteredpass); document.getElementById(element).value = submitpass; return enteredpass; } else return false; } /* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message * Digest Algorithm, as defined in RFC 1321. * Copyright (C) Paul Johnston 1999 - 2000. * Updated by Greg Holt 2000 - 2001. * See http://pajhome.org.uk/site/legal.html for details. */ /* * Convert a 32-bit number to a hex string with ls-byte first */ var hex_chr = "0123456789abcdef"; function rhex(num) { var str = ""; var j = ""; for(j = 0; j <= 3; j++) str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) + hex_chr.charAt((num >> (j * 8)) & 0x0F); return str; } /* * Convert a string to a sequence of 16-word blocks, stored as an array. * Append padding bits and the length, as described in the MD5 standard. */ function str2blks_MD5(str) { var nblk = ((str.length + 8) >> 6) + 1; var blks = new Array(nblk * 16); var i = ""; for(i = 0; i < nblk * 16; i++) blks[i] = 0; for(i = 0; i < str.length; i++) blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8); blks[i >> 2] |= 0x80 << ((i % 4) * 8); blks[nblk * 16 - 2] = str.length * 8; return blks; } /* * Add integers, wrapping at 2^32. This uses 16-bit operations internally * to work around bugs in some JS interpreters. */ function add(x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF); var msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); } /* * Bitwise rotate a 32-bit number to the left */ function rol(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)); } /* * These functions implement the basic operation for each round of the * algorithm. */ function cmn(q, a, b, x, s, t) { return add(rol(add(add(a, q), add(x, t)), s), b); } function ff(a, b, c, d, x, s, t) { return cmn((b & c) | ((~b) & d), a, b, x, s, t); } function gg(a, b, c, d, x, s, t) { return cmn((b & d) | (c & (~d)), a, b, x, s, t); } function hh(a, b, c, d, x, s, t) { return cmn(b ^ c ^ d, a, b, x, s, t); } function ii(a, b, c, d, x, s, t) { return cmn(c ^ (b | (~d)), a, b, x, s, t); } /* * Take a string and return the hex representation of its MD5. */ function calcMD5(str) { x = str2blks_MD5(str); a = 1732584193; b = -271733879; c = -1732584194; d = 271733878; for(i = 0; i < x.length; i += 16) { olda = a; oldb = b; oldc = c; oldd = d; a = ff(a, b, c, d, x[i+ 0], 7 , -680876936); d = ff(d, a, b, c, x[i+ 1], 12, -389564586); c = ff(c, d, a, b, x[i+ 2], 17, 606105819); b = ff(b, c, d, a, x[i+ 3], 22, -1044525330); a = ff(a, b, c, d, x[i+ 4], 7 , -176418897); d = ff(d, a, b, c, x[i+ 5], 12, 1200080426); c = ff(c, d, a, b, x[i+ 6], 17, -1473231341); b = ff(b, c, d, a, x[i+ 7], 22, -45705983); a = ff(a, b, c, d, x[i+ 8], 7 , 1770035416); d = ff(d, a, b, c, x[i+ 9], 12, -1958414417); c = ff(c, d, a, b, x[i+10], 17, -42063); b = ff(b, c, d, a, x[i+11], 22, -1990404162); a = ff(a, b, c, d, x[i+12], 7 , 1804603682); d = ff(d, a, b, c, x[i+13], 12, -40341101); c = ff(c, d, a, b, x[i+14], 17, -1502002290); b = ff(b, c, d, a, x[i+15], 22, 1236535329); a = gg(a, b, c, d, x[i+ 1], 5 , -165796510); d = gg(d, a, b, c, x[i+ 6], 9 , -1069501632); c = gg(c, d, a, b, x[i+11], 14, 643717713); b = gg(b, c, d, a, x[i+ 0], 20, -373897302); a = gg(a, b, c, d, x[i+ 5], 5 , -701558691); d = gg(d, a, b, c, x[i+10], 9 , 38016083); c = gg(c, d, a, b, x[i+15], 14, -660478335); b = gg(b, c, d, a, x[i+ 4], 20, -405537848); a = gg(a, b, c, d, x[i+ 9], 5 , 568446438); d = gg(d, a, b, c, x[i+14], 9 , -1019803690); c = gg(c, d, a, b, x[i+ 3], 14, -187363961); b = gg(b, c, d, a, x[i+ 8], 20, 1163531501); a = gg(a, b, c, d, x[i+13], 5 , -1444681467); d = gg(d, a, b, c, x[i+ 2], 9 , -51403784); c = gg(c, d, a, b, x[i+ 7], 14, 1735328473); b = gg(b, c, d, a, x[i+12], 20, -1926607734); a = hh(a, b, c, d, x[i+ 5], 4 , -378558); d = hh(d, a, b, c, x[i+ 8], 11, -2022574463); c = hh(c, d, a, b, x[i+11], 16, 1839030562); b = hh(b, c, d, a, x[i+14], 23, -35309556); a = hh(a, b, c, d, x[i+ 1], 4 , -1530992060); d = hh(d, a, b, c, x[i+ 4], 11, 1272893353); c = hh(c, d, a, b, x[i+ 7], 16, -155497632); b = hh(b, c, d, a, x[i+10], 23, -1094730640); a = hh(a, b, c, d, x[i+13], 4 , 681279174); d = hh(d, a, b, c, x[i+ 0], 11, -358537222); c = hh(c, d, a, b, x[i+ 3], 16, -722521979); b = hh(b, c, d, a, x[i+ 6], 23, 76029189); a = hh(a, b, c, d, x[i+ 9], 4 , -640364487); d = hh(d, a, b, c, x[i+12], 11, -421815835); c = hh(c, d, a, b, x[i+15], 16, 530742520); b = hh(b, c, d, a, x[i+ 2], 23, -995338651); a = ii(a, b, c, d, x[i+ 0], 6 , -198630844); d = ii(d, a, b, c, x[i+ 7], 10, 1126891415); c = ii(c, d, a, b, x[i+14], 15, -1416354905); b = ii(b, c, d, a, x[i+ 5], 21, -57434055); a = ii(a, b, c, d, x[i+12], 6 , 1700485571); d = ii(d, a, b, c, x[i+ 3], 10, -1894986606); c = ii(c, d, a, b, x[i+10], 15, -1051523); b = ii(b, c, d, a, x[i+ 1], 21, -2054922799); a = ii(a, b, c, d, x[i+ 8], 6 , 1873313359); d = ii(d, a, b, c, x[i+15], 10, -30611744); c = ii(c, d, a, b, x[i+ 6], 15, -1560198380); b = ii(b, c, d, a, x[i+13], 21, 1309151649); a = ii(a, b, c, d, x[i+ 4], 6 , -145523070); d = ii(d, a, b, c, x[i+11], 10, -1120210379); c = ii(c, d, a, b, x[i+ 2], 15, 718787259); b = ii(b, c, d, a, x[i+ 9], 21, -343485551); a = add(a, olda); b = add(b, oldb); c = add(c, oldc); d = add(d, oldd); } return rhex(a) + rhex(b) + rhex(c) + rhex(d); }