var domain = 'grahamenglish.net';

var ie = navigator.userAgent.indexOf("MSIE") != -1;
var safari = navigator.userAgent.indexOf("Safari") != -1;

function toggle(id) {
	var element = $(id);
	if (element && element.offsetHeight > 0) {
		element.style.display = 'none';
	}
	else {
		element.style.display = 'block'
	}
}

// Cookie code from: http://www.netspade.com/articles/javascript/cookies.xml
function setCookie(name, value, expires, path, domain, secure) {
	if (expires) {
		var expireDate = new Date();
		expireDate.setTime(expireDate.getTime() + 3600000*24*expires);
	}
	document.cookie= name + "=" + escape(value) +
		((expires) ? "; expires=" + expireDate.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}

function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}
	else {
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) {
		end = dc.length;
	}
	return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
	if (getCookie(name)) {
		document.cookie = name + "=" + 
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

function insertAfter(node, referenceNode) {
	referenceNode.parentNode.insertBefore(node, referenceNode.nextSibling);
}

function styles() {
//	if (safari) {
//		$('options').style.display = 'none';
//		return false;
//	}
	var font = getCookie('ak_font');
	if (font == null) {
		font = 'normal';
	}
	var sizes = new Array(
		'small'
		,'normal'
		,'big'
		,'huge'
	);
// this loop from alistapart.com
	for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
		if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("href")) {
			a.rel = 'stylesheet';
			var file = a.getAttribute("href");
			if (file.indexOf('font_') != -1) a.disabled = true;
			if (file.indexOf('font_' + font) != -1) a.disabled = false;
		}
	}
	var pNode = document.getElementById('font_size');
	pNode.innerHTML = '';
	
	for (var i = 0; i < sizes.length; i++) {
		var size = document.createElement('li');
			var link = document.createElement('a');
				var text = document.createElement('span');
				text.innerHTML = sizes[i];
			link.id = 'font_' + sizes[i];
			link.href = "javascript:void(setStyle('" + sizes[i] + "'));";
			if (font == sizes[i]) {
				link.className = 'selected';
			}
			link.appendChild(document.createTextNode('A'));
			link.appendChild(text);
		size.appendChild(link);
		pNode.appendChild(size);
	}
}

function setStyle(size) {
	setCookie('ak_font', size, 365, '/', domain);
	styles();
}

function view_archive_month(url) {
	if (url != '') {
		location.href = url;
	}
}

function validateEmail() {
	fields = new Array;
	if (document.email.email_from_name.value == "") {
		fields[fields.length] = "  Your Name\n";
	}
	if (document.email.email_from.value == "") {
		fields[fields.length] = "  Your E-mail Address\n";
	}
	if (document.email.email_subject.value == "") {
		fields[fields.length] = "  Subject\n";
	}
	if (document.email.email_body.value == "") {
		fields[fields.length] = "  Message\n";
	}
	if (fields.length > 0) {
		field_list = "";
		for (i = 0; i < fields.length; i++) {
			field_list += fields[i];
		}
		alert("Please fill in the following field(s):\n" + field_list);
		return false;
	}
	else {
		return true;
	}
}

function aklh_show_for_domain(domain_id, type) {
	switch (type) {
		case 'posts':
		case 'links':
			var pars = "ak_action=show_" + type + "&domain_id=" + domain_id;
	}
	var target = $('domain_' + domain_id);
	target.innerHTML = '<span class="loading">Loading...</span>';
	target.style.display = "block";
	var url = "/wp/wp-content/plugins/link-harvest.php";
	var aklhAjax = new Ajax.Updater(
		target,
		url,
		{
			method: "get",
			parameters: pars
		}
	);
}

function aklv_whats_new() {
	if (typeof aklv_posts == 'undefined') {
		aklv_posts = new Array;
	}
	if (typeof aklv_post_comments == 'undefined') {
		aklv_post_comments = new Array;
	}
	if (typeof aklv_comments == 'undefined') {
		aklv_comments = new Array;
	}
	for (var i = 0; i < aklv_posts.length; i++) {
		var container = $('post-' + aklv_posts[i]);
		var flag_id = 'post-' + aklv_posts[i] + '-aklv';
		if (container && !$(flag_id)) {
			container.appendChild(aklv_new_flag(flag_id));
		}
	}
	for (var i = 0; i < aklv_post_comments.length; i++) {
		var container = $('comments-link-wrap-' + aklv_post_comments[i]);
		var flag_id = 'post-comments-' + aklv_posts[i] + '-aklv';
		if (container && !$(flag_id)) {
			container.appendChild(aklv_new_flag(flag_id));
		}
	}
	for (var i = 0; i < aklv_comments.length; i++) {
		var container = $('comment-' + aklv_comments[i]);
		if (container) {
			container.className = container.className + ' aklv_new';
		}
	}
}

function aklv_new_flag(id) {
	var new_flag = document.createElement('span');
	new_flag.className = 'aklv_new';
	new_flag.id = id;
	return new_flag;
}

function hiliteFootnote(id) {
	if ($(id)) {
		$(id).className = 'active';
	}
}
function lowliteFootnote(id) {
	if ($(id)) {
		$(id).className = '';
	}
}
function footnoteEffects() { 
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a"); 
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("class") && anchor.getAttribute("class") == "footnote") {
			var id = anchor.href.substring(anchor.href.indexOf('#') + 1, anchor.href.length);
			anchor.innerHTML = '<span onmouseover="hiliteFootnote(\'' 
			                 + id + '\');" onmouseout="lowliteFootnote(\'' 
			                 + id + '\');">' + anchor.innerHTML + '</span>';
		}
	}
}

function donationPrompt(evt) {
	var node = Event.element(evt);
	var source = $('dollar_per_download');
	var donate = source.cloneNode(true);
	donate.id = node.href.replace('http://', '').replace(/\//g, '.');
	if (!$(donate.id)) {
		insertAfter(donate, node.parentNode);
	}
}

function donationToDownloads() {
	var elements = document.getElementsByTagName('a');
	for (var i = 0; i < elements.length; i++) {
		var element = elements[i];
		if (element.className.indexOf('download') != -1) {
			Event.observe(element, 'click', donationPrompt.bindAsEventListener(this));
		}
	}
}

function akaa_show_post(id) {
	if ($('post_' + id).className.indexOf('link') != -1) {
		var link = '&link=1';
	}
	else {
		var link = '';
	}
	$('post_' + id).className = '';
	$('post_summary_' + id).style.display = 'none';
	var target = $('post_content_' + id);
	target.style.display = 'block';
	if (target.innerHTML == '') {
		target.innerHTML = '<div class="loading"></div>';
		var akaaAjax = new Ajax.Updater(
			target,
			"/index.php",
			{
				method: "get",
				parameters: "ak_action=akaa_post_content&id=" + id + link
			}
		);
		var close = document.createElement('div');
		close.id = 'post_close_' + id;
		close.className = 'close';
		close.innerHTML = '<a href="#post_' + id + '" onclick="akaa_hide_post(\'' + id + '\');">Close</a>';
		insertAfter(close, target);
	}
	else {
		$('post_close_' + id).style.display = 'block';
	}
}

function akaa_hide_post(id) {
	$('post_content_' + id).style.display = 'none';
	$('post_close_' + id).style.display = 'none';
	$('post_summary_' + id).style.display = 'block';
}

function akac_show_comments(id, count) {
	var target = $('post-comments-' + id);
	if (target.innerHTML == '') {
		target.innerHTML = '<div class="loading"></div>';
		$('comments-link-' + id).innerHTML = 'Hide Comments';
		var akaaAjax = new Ajax.Updater(
			target,
			"/index.php",
			{
				method: "get",
				parameters: "ak_action=akac_comments&id=" + id
			}
		);
		akac_new_comments(id);
	}
	else {
		target.innerHTML = '';
		if (count == '1') {
			$('comments-link-' + id).innerHTML = count + ' Comment';
		}
		else {
			$('comments-link-' + id).innerHTML = count + ' Comments';
		}
	}
}

function akac_new_comments(id) {
	if ($('post-comments-' + id) == '<div class="loading"></div>') {
		setTimeout('akac_new_comments("' + id + '")', 500);
	}
	else {
		aklv_whats_new();
	}
}

function fb_email() {
	if (document.getElementById('fb_email')) {
		$('fb_email').setAttribute("target", "popupwindow");
	}
}

Event.observe(window, 'load', styles, false);
Event.observe(window, 'load', aklv_whats_new, false);
Event.observe(window, 'load', footnoteEffects, false);
Event.observe(window, 'load', donationToDownloads, false);
Event.observe(window, 'load', fb_email, false);
