
var ScrollbarChanger = {

	/* IE Scrollbar Colour class
		(c) CopySense.co.uk 2003 ~ Martin Latter */

	aSC: [],
	bIE55: (document.all && document.fireEvent && !document.createComment)? true : false,
	bIE6plus: (document.all && document.fireEvent && document.createComment)? true : false,

	init: function() {

		cbsElemTxt("title");
		if (!(ScrollbarChanger.bIE55 || ScrollbarChanger.bIE6plus)) {
			alert("Your browser does not seem to be Internet Explorer and so will not support changing the colours of the test scrollbar.");
		}
		document.getElementById("iebarsform").onsubmit = function() {return false;};
		document.getElementById("testcolours").onclick = ScrollbarChanger.change;
		document.getElementById("reset").onclick = ScrollbarChanger.reset;
		document.getElementById("highlight").onclick = ScrollbarChanger.highlight;
	},

	change: function() {

		var rHex3 = /[0-9a-fA-F]{3}/;
		var rHex6 = /[0-9a-fA-F]{6}/;
		var sCode = "";

		for (var i = 0; i < 8; i++) {
			ScrollbarChanger.aSC[i] = document.getElementById("iebarsform")[i].value;
		}

		if (ScrollbarChanger.aSC[0].length == 3 || ScrollbarChanger.aSC[1].length == 3 || ScrollbarChanger.aSC[2].length == 3 || ScrollbarChanger.aSC[3].length == 3 || ScrollbarChanger.aSC[4].length == 3 || ScrollbarChanger.aSC[5].length == 3 || ScrollbarChanger.aSC[6].length == 3 || ScrollbarChanger.aSC[7].length == 3) {
			if (!rHex3.test(ScrollbarChanger.aSC[0]) || !rHex3.test(ScrollbarChanger.aSC[1]) || !rHex3.test(ScrollbarChanger.aSC[2]) || !rHex3.test(ScrollbarChanger.aSC[3]) || !rHex3.test(ScrollbarChanger.aSC[4]) || !rHex3.test(ScrollbarChanger.aSC[5]) || !rHex3.test(ScrollbarChanger.aSC[6]) || !rHex3.test(ScrollbarChanger.aSC[7])) {
				alert("Input error -\nhex characters are 0-9 and A-F\n(at least 3 characters must be used).");
				return;
			}
		}
		else {
			if (!rHex6.test(ScrollbarChanger.aSC[0]) || !rHex6.test(ScrollbarChanger.aSC[1]) || !rHex6.test(ScrollbarChanger.aSC[2]) || !rHex6.test(ScrollbarChanger.aSC[3]) || !rHex6.test(ScrollbarChanger.aSC[4]) || !rHex6.test(ScrollbarChanger.aSC[5]) || !rHex6.test(ScrollbarChanger.aSC[6]) || !rHex6.test(ScrollbarChanger.aSC[7])) {
				alert("Input error -\nhex characters are 0-9 and A-F\n(6 or 3 characters required).");
				return;
			}
		}

		ScrollbarChanger.colouriseBars();

		sCode += "#css_container {scrollbar-3dlight-color:#" + ScrollbarChanger.aSC[0] + ";";
		sCode += " scrollbar-arrow-color:#" + ScrollbarChanger.aSC[1] + ";";
		sCode += " scrollbar-base-color:#" + ScrollbarChanger.aSC[2] + ";";
		sCode += " scrollbar-darkShadow-color:#" + ScrollbarChanger.aSC[3]+ ";";
		sCode += " scrollbar-face-color:#" + ScrollbarChanger.aSC[4] + ";";
		sCode += " scrollbar-highlight-color:#" + ScrollbarChanger.aSC[5] + ";";
		sCode += " scrollbar-shadow-color:#" + ScrollbarChanger.aSC[6] + ";";
		sCode += " scrollbar-track-color:#" + ScrollbarChanger.aSC[7] + ";}";
		document.getElementById("results").value = sCode;
	},

	reset: function() {

		ScrollbarChanger.aSC[0] = "ccc";
		ScrollbarChanger.aSC[1] = "000";
		ScrollbarChanger.aSC[2] = "ccc";
		ScrollbarChanger.aSC[3] = "000";
		ScrollbarChanger.aSC[4] = "ccc";
		ScrollbarChanger.aSC[5] = "fff";
		ScrollbarChanger.aSC[6] = "999";
		ScrollbarChanger.aSC[7] = "f5f5f5";
		ScrollbarChanger.colouriseBars();
	},

	colouriseBars: function() {

		var oBars = document.getElementById("iebars").style;
		oBars.scrollbar3dLightColor = "#" + this.aSC[0];
		oBars.scrollbarArrowColor = "#" + this.aSC[1];
		oBars.scrollbarBaseColor = "#" + this.aSC[2];
		oBars.scrollbarDarkShadowColor = "#" + this.aSC[3];
		oBars.scrollbarFaceColor = "#" + this.aSC[4];
		oBars.scrollbarHighlightColor = "#" + this.aSC[5];
		oBars.scrollbarShadowColor = "#" + this.aSC[6];
		oBars.scrollbarTrackColor = "#" + this.aSC[7];
	},

	highlight: function() {

		var oCssCode = document.getElementById("results");
		oCssCode.focus();
		oCssCode.select();
	}
};


window.onload = ScrollbarChanger.init;
window.onunload = function() {ScrollbarChanger = null;};

