idleirc/core.js

238 lines
8.3 KiB
JavaScript

var httpObject = null;
var link = "";
var link2 = "";
var link3 = "";
var pinglink = "";
var ScrollDown = 0;
var msgBox = document.getElementById('msgs');
var timerID = 0;
// Get the HTTP Object
function getHTTPObject() {
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) return new XMLHttpRequest();
else {
alert("Your browser does not support AJAX.");
return null;
}
}
// MSGBOX input
function UserPM(tag) {
var msgInput = document.getElementById('msg');
var content = msgInput.value;
msgInput.value = '/msg ' + tag + ' ' + content;
}
// Change the value of the outputText field
function setHtml() {
if(ajaxVar.readyState == 4){
var response = ajaxVar.responseText;
var msgBox = document.getElementById("msgs");
msgBox.innerHTML += response;
ScrollDown = 0;
MsgScrollDown();
}
}
// Change the value of the outputText field
function setAll() {
if(ajaxVar.readyState == 4){
var response = ajaxVar.responseText;
var msgBox = document.getElementById("msgs");
msgBox.innerHTML = response;
ScrollDown = 0;
MsgScrollDown();
}
}
// Getting and generating user list.
function genUserlist() {
if(ajaxUserlist.readyState == 4){
var response = ajaxUserlist.responseText;
var userlist = document.getElementById('userlist');
userlist.innerHTML = response;
}
}
function getUserlist() {
ajaxUserlist = getHTTPObject();
//var randomnumber=Math.floor(Math.random()*10000);
if (ajaxUserlist != null) {
link = "server.php?userlist&nick="+nickName;
ajaxUserlist.open("GET", link , true);
ajaxUserlist.onreadystatechange = genUserlist;
ajaxUserlist.send(null);
}
}
function doNotificationPm() {
if(ajaxVar4.readyState == 4){
var mentionUser = ajaxVar4.responseText;
if(Notification.permission==="granted") {
var notify = new Notification("Private message from " + mentionUser, { body: ""});
}
}
}
function getPmUser() {
ajaxVar4 = getHTTPObject();
//var randomnumber=Math.floor(Math.random()*10000);
if (ajaxVar4 != null) {
link4 = "server.php?get=notificationpmed&nick="+nickName;
ajaxVar4.open("GET", link4 , true);
ajaxVar4.onreadystatechange = doNotificationPm;
ajaxVar4.send(null);
}
}
function checkNotificationPm() {
if(ajaxVar5.readyState == 4){
var returnMsg = ajaxVar5.responseText;
var compareString = "true";
//console.log(returnMsg);
if(returnMsg.trim() === compareString.trim()) {
getPmUser();
}
}
}
function checkPmUrl() {
ajaxVar5 = getHTTPObject();
//var randomnumber=Math.floor(Math.random()*10000);
if (ajaxVar5 != null) {
link5 = "server.php?get=notificationpmedexists&nick="+nickName;
ajaxVar5.open("GET", link5 , true);
ajaxVar5.onreadystatechange = checkNotificationPm;
ajaxVar5.send(null);
}
}
function doNotificationMention() {
if(ajaxVar2.readyState == 4){
var mentionUser = ajaxVar2.responseText;
if(Notification.permission==="granted") {
var notify = new Notification("You were mentioned by " + mentionUser, { body: ""});
}
}
}
function getMentionUser() {
ajaxVar2 = getHTTPObject();
//var randomnumber=Math.floor(Math.random()*10000);
if (ajaxVar2 != null) {
link2 = "server.php?get=notificationmention&nick="+nickName;
ajaxVar2.open("GET", link2 , true);
ajaxVar2.onreadystatechange = doNotificationMention;
ajaxVar2.send(null);
}
}
function checkNotificationMention() {
if(ajaxVar3.readyState == 4){
var returnMsg = ajaxVar3.responseText;
var compareString = "true";
//console.log(returnMsg);
if(returnMsg.trim() === compareString.trim()) {
getMentionUser();
}
}
}
function checkMentionUrl() {
ajaxVar3 = getHTTPObject();
//var randomnumber=Math.floor(Math.random()*10000);
if (ajaxVar3 != null) {
link3 = "server.php?get=notificationmentionexists&nick="+nickName;
ajaxVar3.open("GET", link3 , true);
ajaxVar3.onreadystatechange = checkNotificationMention;
ajaxVar3.send(null);
}
}
// Implement business logic
function serverWrite() {
ajaxVar = getHTTPObject();
if (ajaxVar != null) {
link = "server.php?nick="+nickName+"&msg="+encodeURIComponent(document.getElementById('msg').value);
ajaxVar.open("GET", link , true);
ajaxVar.send(null);
}
}
// Implement business logic
function serverReload() {
ajaxVar = getHTTPObject();
//var randomnumber=Math.floor(Math.random()*10000);
if (ajaxVar != null) {
link = "server.php?get&nick="+nickName;
ajaxVar.open("GET", link , true);
ajaxVar.onreadystatechange = setAll;
ajaxVar.send(null);
}
}
function MsgScrollDown() {
if(ScrollDown != 1) {
var msgBox = document.getElementById("msgs");
msgBox.scrollTop = msgBox.scrollHeight;
ScrollDown = 1;
}
}
function UpdateTimer() {
serverReload();
MsgScrollDown();
getUserlist();
checkPmUrl();
checkMentionUrl();
setTimeout(UpdateTimer, 1000);
}
function doLogin() {
ajaxVar = getHTTPObject();
if(ajaxVar != null) {
link = "server.php?do=login&nick="+nickName;
ajaxVar.open("GET", link, true);
ajaxVar.onreadystatechange = setHtml;
ajaxVar.send(null);
setTimeout(function() { window.location.reload(); },1000);
}
}
function doClearLog() {
ajaxVar = getHTTPObject();
if(ajaxVar != null) {
link = "server.php?do=clearlog&nick="+nickName;
ajaxVar.open("GET", link, true);
ajaxVar.onreadystatechange = setHtml;
ajaxVar.send(null);
setTimeout(function() { window.location.reload(); },1000);
}
}
function doLogout() {
ajaxVar = getHTTPObject();
if(ajaxVar != null) {
link = "server.php?do=logout&nick="+nickName;
ajaxVar.open("GET", link, true);
ajaxVar.onreadystatechange = setHtml;
ajaxVar.send(null);
setTimeout(function() { window.location.reload(); },1000);
}
}
function wrapBBCode(tag) {
var msgInput = document.getElementById('msg');
var content = msgInput.value;
var selectedContent = content.substring(msgInput.selectionStart, msgInput.selectionEnd);
var beforeContent = content.substring(0, msgInput.selectionStart);
var afterContent = content.substring(msgInput.selectionEnd, content.length);
msgInput.value = beforeContent + '[' + tag + ']' + selectedContent + '[/' + tag + ']' + afterContent;
}