// codebox.js by antonone
// http://anadoxin.org/blog

var geshiMessage = "Kliknij, aby rozwinąć.";
var filterClassName = "geshifilter";

// ----

var geshiContent = [ ];

function addEvent(obj, evName, cbFunc) {
	if(document.addEventListener)
		obj.addEventListener(evName, cbFunc, false);
	else if(document.attachEvent)
		return obj.attachEvent("on" + evName, cbFunc);
	else
		return false;

	return true;
}

function userIsUsingShittyBrowser(e) {
	if(!e.target) return true;
	if(!e.eventPhase) return true;
	return false;
}

function codeboxInit(e) {
	if(userIsUsingShittyBrowser(e))
		return;

	if(e.type == "load" && e.eventPhase == 2 /* AT_TARGET */) {
		spinThatShit();
		openComments();
	}
}

function spinThatShit() {
	var ids = document.getElementsByTagName("div");
	for(var i = 0; i < ids.length; i++) {
		var div = ids[i];
		if(div.className == filterClassName || div.className.substring(filterClassName) > 0) {
			// geshifilter codebox
			geshiContent['box_' + i] = div.innerHTML;

			div.id = 'box_' + i;
			div.innerHTML = '<div style="padding-top: 4px; float: left; "><img src="/images/hand.png" id="img_' + i + '" border="0" width="36" height="42"/></div>';
			div.innerHTML += '<div style="height: 0px; margin-left: 40px; padding-top: 17px; vertical-align: middle;">' + geshiMessage + '</div>';

			addEvent(div, 'click', geshiBoxClick);
		}

		// ...
	}
}

function geshiBoxClick(e) {
	var div = e.target, id = div.id;
	if(id == "") {
		div = e.target.parentNode;
		id = div.id;
	}

	var toks = id.split("_");
	if(toks.length > 0 && (toks[0] == "img" || toks[0] == "box")) {
		contentId = toks[1];
		div = document.getElementById("box_" + contentId);
	} else {
	}

	var cnt = geshiContent["box_" + contentId];
	if(cnt != "")
		div.innerHTML = cnt;

	geshiContent["box_" + contentId] = "";
}

// Do u remember?

function gm() {
	var body = document.getElementsByTagName("body");
	if(!body) return;

	body = body[0];
	if(!body) return;

	first_child = body.childNodes[0];
	if(first_child.id == "Guru Meditation")
		return;

	var div = document.createElement("div");
	div.id = "Guru Meditation";
	div.style.border = "5px solid red";
	div.style.padding = "3px";
	div.style.margin = "3px";
	div.style.color = "red";
	div.style.fontFamily = "Liberation Mono, Terminus, Fixedsys, Courier New";
	div.innerHTML = "<center>Internet Failure.&nbsp;&nbsp;&nbsp;Press left mouse button to continue.<br/>Guru Meditation #00000004.CAFEBABE</center>";
	div.style.background = "black";
	body.style.background = "black";

	body.insertBefore(div, first_child);

	setTimeout(blinker, 1000);
}

var sec = 0;
function blinker() {
	var guru = document.getElementById("Guru Meditation");
	if(!guru)
		return;

	if(guru.style.border == "") {
		guru.style.border = "5px solid red";
		guru.style.padding = "3px";
	} else {
		guru.style.border = "";
		guru.style.padding = "8px";
	}

	sec++;

	if(sec == 7)
		// Reboot :)
		location.href = "http://anadoxin.org/blog";

	setTimeout(blinker, 1000);
}

function quoteChange() {
	var divId = "siteSlogan", obj = document.getElementById(divId);
	if(!obj)
		return;

	var quotes = [ 
		"per aspera ad astra",
		"per angusta ad augusta"
	];

	var whichOne = 0, divContent = obj.innerHTML, found = false;

	for(var i = 0, len = quotes.length; i < len; i++) {
		if(quotes[i] == divContent) {
			i++;
			found = true;
			break;
		}
	}

	if(found) {
		if(i >= quotes.length)
			i = 0;

		obj.innerHTML = quotes[i];
	}

	return;
}

function show_comment(cid) {
	var cdiv = document.getElementById("comment_" + cid);
	if(cdiv) {
		var d = cdiv.style.display;
		d = (d == "hidden" || d == "none") ? "block" : "none";
		cdiv.style.display = d;
	}
}

function openComments() {
	var m;
	if(m = document.location.href.match(/#.*\\?-(.*\\?)/)) {
		var cId = parseInt(m[1]);
		if(cId > 0) {
			show_comment(cId);
		}
	}
}

