var tagForm = {
	tagText : '',
	siteTag : Object,
	init : function() {
		this.siteTag = document.getElementById('site_tag');
		this.run();
	},
	run : function() {
		var form = this.generateForm();
		document.getElementById('wrap').insertBefore(form,this.siteTag);
		this.siteTag.onclick = this.showInput;
	},
	generateForm : function () {
		var form = document.createElement('form');
		form.setAttribute('action','');
		form.setAttribute('method','post');
		form.setAttribute('name','headertag');
		form.setAttribute('id','headerform');
		var action = document.createElement('input');
		action.setAttribute('type','hidden');
		action.setAttribute('name','action');
		action.setAttribute('value','sitetag');
		var textbox = document.createElement('input');
		textbox.setAttribute('type','text');
		textbox.setAttribute('name','tag');
		textbox.setAttribute('maxlength','100');
		textbox.onkeyup = this.hideInput;
		form.appendChild(action);
		form.appendChild(textbox);
		return form;
	},
	showInput : function (obj) {
		tagForm.tagText = this.innerHTML;
		this.innerHTML = "";
		var clean = tagForm.tagText.replace("<br>", " ");
		document.getElementById('headerform').getElementsByTagName('input')[1].value = clean;
		document.getElementById('headerform').style.display = "block";
		document.getElementById('headerform').getElementsByTagName('input')[1].focus();
		document.getElementById('headerform').getElementsByTagName('input')[1].select();
	},
	hideInput : function (e) {
		var code;
		if (!e) var e = window.event;
		if (e.keyCode) code = e.keyCode;
		else if (e.which) code = e.which;
		if (code == 13) {
			document.getElementById('headerform').submit();
		} else if (code == 27) {
			tagForm.siteTag.innerHTML = tagForm.tagText;
			document.getElementById('headerform').style.display = "none";
		}
	}
}

var amcs = {
	init : function() {
		var buttonYes = document.getElementById('amcs_yes');
		if (buttonYes) {
			buttonYes.onclick = this.blockUser;
		}
		var buttonNo = document.getElementById('amcs_no');
		if (buttonNo) {
			buttonNo.onclick = this.submitForm;
		}
		if (buttonYes) {
			var captcha = buttonYes.parentNode.parentNode.getElementsByTagName('p');
			captcha = captcha[1];
			captchaText = captcha.innerHTML.toLowerCase();
			var changeAmount = Math.floor(Math.random()*(captchaText.length/2));
			changeAmount += changeAmount/3;
			for (var i=0; i <= changeAmount; i++) {
				var randomNumber = Math.floor(Math.random()*captchaText.length);
				var letter = captchaText.slice(randomNumber,randomNumber+1).toUpperCase();
				var start = captchaText.slice(0,randomNumber);
				var end = captchaText.slice(randomNumber+1);
				if (randomNumber == 0)
					captchaText = letter + end;
				else if (randomNumber == captchaText.length-1)
					captchaText = start + letter;
				else
					captchaText = start + letter + end;
			}
			captcha.innerHTML = captchaText;
		}
	},
	blockUser : function (e) {
		this.parentNode.parentNode.parentNode.action = "http://old.buttpie.net/read/amcs";
		this.parentNode.parentNode.parentNode.submit();
	},
	submitForm : function (e) {
		this.parentNode.parentNode.parentNode.submit();
	}
}

var oList = {
	init : function() {
		if (document.getElementById('more_online') != null) {
			document.getElementById('more_online').onclick = function (e) {
				if (listOpen) {
					document.getElementById('online_dropdown').style.display = 'none';
					listOpen = false;
				} else {
					document.getElementById('online_dropdown').style.display = 'block';
					listOpen = true;
				}
			};
		}
	}
} 

function externalLinks() {
	 if (!document.getElementsByTagName) return;
	 var anchors = document.getElementsByTagName("a");
	 for (var i=0; i<anchors.length; i++) {
	   var anchor = anchors[i];
	   if (anchor.getAttribute("href") &&
	       anchor.getAttribute("rel") == "nofollow external")
	     anchor.target = "_blank";
	 }
}

var onlinePoll = {
	
	getOnline : function () {
		ajaxOb.newRequest('http://old.buttpie.net/ajax', onlinePoll.updateOnline, "ajax=online&action=online", 5000, onlinePoll.timeout);
	},

	timeout : function () {
		
	},

	updateOnline : function  (req) {
		var jsonResponse = eval('('+ req.responseText +')');
		var data = jsonResponse.data;
		// Members online
		document.getElementById('online_dropdown').parentNode.childNodes[4].nodeValue = jsonResponse.ucount + ' ';
		// Guests online
		document.getElementById('online_dropdown').parentNode.childNodes[6].nodeValue = jsonResponse.gcount + ' ';
		// In chat
		document.getElementById('online_dropdown').parentNode.childNodes[8].nodeValue = jsonResponse.ccount + ' ';
		document.getElementById('online_dropdown').innerHTML = '';
		for (var i = 0; i < data.length; i++) {
			var li = document.createElement('li');
			var b = document.createElement('b');
			var a = document.createElement('a');
			a.href = "/members/view/" + data[i].username;
			a.appendChild(document.createTextNode(data[i].username));
			b.appendChild(a);
			li.appendChild(b);
			li.appendChild(document.createTextNode(' (' + data[i].action + ') - '));
			var b = document.createElement('b');
			b.appendChild(document.createTextNode(data[i].time));
			li.appendChild(b);
			document.getElementById('online_dropdown').appendChild(li);
		}
	}
}
window.setInterval(onlinePoll.getOnline,30000);

var listOpen = false;

externalLinks();

amcs.init();
tagForm.init();
oList.init();
