if(window.addEventListener) {
window.addEventListener("load", loadEvents, true);
}
else if(window.attachEvent) {
window.attachEvent("onload", loadEvents);
}

function loadEvents() {
var inputs = document.getElementsByTagName('INPUT');
var textareas = document.getElementsByTagName('TEXTAREA');
var showRatingsForm = document.getElementById('rflink');
var ratingsubmit = document.getElementById('ratingsform');

if(showRatingsForm) {
showRatingsForm.onclick = ratingsBox;
}

if(ratingsubmit) {
ratingsubmit.onsubmit = checkVote;
}

if(inputs) {
	for(i = 0; i < inputs.length; i++) {
		if(window.addEventListener) {
		inputs[i].addEventListener("focus", disableSwitcher, true);
		inputs[i].addEventListener("blur", enableSwitcher, true);
		}
		else if(window.attachEvent) {
		inputs[i].attachEvent("onfocus", disableSwitcher);
		inputs[i].attachEvent("onblur", enableSwitcher);		
		}
	}
}
if(textareas) {
	for(j = 0; j < textareas.length; j++) {
	textareas[j].onfocus = disableSwitcher;
	textareas[j].onblur = enableSwitcher;
	}
}
}

function ratingsBox() {
var rf = document.getElementById('ratingsform');
var rfl = document.getElementById('rflink');

	if(rf.style.display == "block") {
	rf.style.display ="none";
	rfl.innerHTML = "Vote";
	}
	else {
	rfl.innerHTML = "Hide";
	rf.style.display ="block";
	document.getElementById('userrating').focus();
	}
}

function checkVote() {
var uservote = document.getElementsByName('rating')[0].value;
	if(isNaN(uservote) || !uservote) {
	alert('You must enter a number between 0 and 10!');
	return false;
	}
	if(uservote < 0 || uservote > 10) {
	alert('You must enter a number between 0 and 10!');
	return false;
	}
return true;
}

function disableSwitcher() {
document.onkeydown = null;
}

function enableSwitcher() {
document.onkeydown = detectkey;
}

document.onkeydown = detectkey;
var svalue;
var stylepos = -1;

function detectkey(e) {
if(!e) {
e = window.event;	
}
if(e.keyCode) {
var code = e.keyCode;
}
else if(e.which) {
var code = e.which;
}
if(code == "37") {
keySwitchStyle("left");
}
else if(code == "39") {
keySwitchStyle("right");
}
else {
return;	
}
}

var stylelist = Array('intro','dc','tih');
var slinks = new Array;
var stylecurrent = -1;
var favilink = ''
function styleInit() {
var linktags = document.getElementsByTagName('link');
	for(var q = 0; q < linktags.length; q++) {
		if(linktags[q].className == 'stylechange') {
		slinks.push(linktags[q]);
			if(stylecurrent === -1 && linktags[q].disabled == false) {
				for(var i=0;i<stylelist.length;i++) {
					if(linktags[q].href.indexOf('/'+stylelist[i]) !== -1) {
					stylecurrent = i;
					}
				}
			}
		}
		if(linktags[q].rel == "shortcut icon") {
		favilink = linktags[q];
		}
	}
}

function keySwitchStyle(keyp) {
	if(stylecurrent === -1) {
	styleInit();
		if(stylecurrent === -1) return;
	}

	if(keyp == "left") {
		stylecurrent--;
		if(stylecurrent < 0) stylecurrent = stylelist.length-1;
	}
	if(keyp == "right") {
		stylecurrent++;
		if(stylecurrent >= stylelist.length) stylecurrent = 0;
	}

switchStyle(stylelist[stylecurrent]);	
}

function switchStyle(sname) {
	if(stylecurrent === -1) {
	styleInit();
		if(stylecurrent === -1) return;
	}
	
	for(var i=0;i<stylelist.length;i++) {
		if(stylelist[i] == sname) stylecurrent = i;
	}

	for(q=0;q<slinks.length;q++) {
		if(slinks[q].href.indexOf('/'+stylelist[stylecurrent]) !== -1) {
			slinks[q].disabled = true;//IE hack
			slinks[q].disabled = false;
		}
		else slinks[q].disabled = true;
	}

	if(favilink) {
	setFavicon(stylelist[stylecurrent]);
	}
setcookie(stylelist[stylecurrent]);
document.getElementsByTagName('body')[0].className = stylelist[stylecurrent];
}

function setFavicon(stylename) {
	headnode = document.getElementsByTagName('head')[0];
	headnode.removeChild(favilink);
	newlink = document.createElement('link');
	newlink.rel = "shortcut icon";
	newlink.href = "http://www.pulpwiki.net/pulpwiki/pub/skins/nos/" + stylename + "wiki2.ico";
	headnode.appendChild(newlink);
	favilink = newlink;
}

function setcookie(svalue) {
	if(svalue) {
	var date = new Date();
	date.setTime(date.getTime()+(2592000000));
	var expires = "; expires="+date.toGMTString();
	document.cookie = "pulpwikistyle="+svalue+expires+"; path=/";
	}
}

