MediaWiki:Chat.js/options.js

/**************/ /*Chat options*/ /**************/ /* /Change how chat looks using an interface. Uses cookies to store the changes /A potential solution to all your chathacks problems /version 0.4.1.1 /Written by Callofduty4 /* /To do: /More colour settings /Other aesthetic settings // function to set a cookie function setCookie( cookie_name, data ) { var splitServer = wgServer.split("//"); var domain = splitServer[1]; document.cookie = cookie_name + "=" + data + "; max-age=" + 60*60*24*100 + "; path=/; domain=" + domain ; } // function to get a cookie function getCookie( cookie_name, pos ) { var i, x, y, cookie_array = document.cookie.split(";"); for (i=0; i<cookie_array.length; i++) { x = cookie_array[i].substr(0,cookie_array[i].indexOf("=")); y = cookie_array[i].substr(cookie_array[i].indexOf("=")+1); x = x.replace(/^\s+|\s+$/g,""); if (x == cookie_name) { var style_objects = y.split(", "); return unescape(style_objects[pos]); }	} } // defining various global variables var backgroundColour = getCookie("customisation", 0); var fontColour = getCookie("customisation", 1); var chatHacksEnabled = getCookie("customisation", 2); var fontChoice = getCookie("customisation", 3); var chatHacksLoaded = false; // called when chat is loaded to update the skin function loadChatSkin { $('.WikiaPage').css({"background-color":backgroundColour, "color":fontColour, "font-family":fontChoice}); $('.ChatHeader').css({"background-color":backgroundColour}); if (chatHacksEnabled == "true") { importScriptPage("User:Monchoman45/ChatHacks.js","c"); chatHacksLoaded = true; } } function openOptions { $('#optionsWindow').show; $('body').append(' '); } function cancelChanges { $('#optionsWindow').hide; $('.blackout').hide; } function updateCookie { backgroundColour = $('#backgroundColourinput').val; fontColour = $('#fontColourinput').val; fontChoice = $('#fontList').val; if (document.getElementById('chatHacks').checked == 1) { chatHacksEnabled = "true"; }	else { chatHacksEnabled = "false"; }	setDaCookie; updateChatSkin; $('#optionsWindow').hide; $('.blackout').hide; } function updateChatSkin { $('.WikiaPage').css({"background-color":backgroundColour, "color":fontColour, "font-family":fontChoice}); $('.ChatHeader').css({"background-color":backgroundColour}); if (chatHacksLoaded == false && chatHacksEnabled == "true" && $('#pingspan').length <= 0) { importScriptPage("User:Monchoman45/ChatHacks.js","c"); chatHacksLoaded = true; } } function setDaCookie { setCookie("customisation", backgroundColour + ", " + fontColour + ", " + chatHacksEnabled + ", " + fontChoice); } function checkIfChatHacksEnabled { if (chatHacksEnabled == "true") { return("checked"); }	else { return(""); } } var chatHacksChecker = checkIfChatHacksEnabled; /* debug stuff function alerter { var message = getCookie("customisation"); alert(message); } $('body').append(' Options [EXPERIMENTAL]   Colour changes Enter a colour name or colour hex Chat background   Font colour   Font  Font family <option value="arial" style="font-family:arial;">Arial (default) <option value="courier new" style="font-family:courier new;">Courier new <option value="georgia" style="font-family:georgia;">Georgia <option value="palatino linotype" style="font-family:palatino linotype;">Palatino linotype <option value="Comic Sans MS" style="font-family:Comic Sans MS;">Comic sans <option value="tahoma" style="font-family:tahoma;">Tahoma <option value="Trebuchet MS" style="font-family:Trebuchet MS;">Trebuchet MS <option value="Verdana" style="font-family:Verdana;">Verdana <option value="Lucida Console" style="font-family:Lucida Console;">Lucida Console   <p style="font-size:120%; font-weight:bold; font-style:italic;">Added functionality <input type="checkbox" name="chatHacks" value="chatHacks" id="chatHacks" ' + chatHacksChecker + '/> Enable chathacks</a>  Update!</a> Cancel</a>  '); $('#optionsWindow').hide; // debug stuff //$('<div onclick="alerter" style="left:50%; margin-left:2px;margin-right:2px; display:inline; text-align: center; cursor: pointer;" align="center">Alerter</a> ').prependTo('.Rail'); //$('<div onclick="loadChatSkin" style="left:50%; margin-left:2px;margin-right:2px; display:inline; text-align: center; cursor: pointer;" align="center">Load</a> ').prependTo('.Rail'); $('.Rail').prepend('<div onclick="openOptions" style="margin:auto; cursor: pointer; font-size:150%; bottom:4px; padding-bottom:2px; border-bottom: 1px solid #CCCCCC; width:90%;" align="center"><img src="http://www.derehamreclaim.co.uk/_images-pages/icon-hammerSpanner.jpg" width="18px"/> Options '); window.onload=loadChatSkin