
// Title Replace Text
if (window.DT_titleDfn) {
	$('replace-title-text').innerHTML = DT_titleDfn.join('');
}

/* Modified from http://www.dustindiaz.com/getelementsbyclass/ */
if (document.getElementsByClassName === undefined) {
	document.getElementsByClassName = function(searchClass) {
		var classElements = new Array();
		var node = document;
		var tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
		for (i = 0, j = 0; i < elsLen; i++) {
			if (pattern.test(els[i].className)) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	}
}

LogoToggler = function() {

	var toggler;
	var logoEl;
	function anim(v) {
		dtjs2.o (logoEl, dtjs2.u.i(1, 100, v));
	}

	function initToggler() {
		logoEl = $('logo-link');
		toggler = dtjs2.a.t(0.2, anim);
		logoEl.onmouseover = function() {
			toggler (1);
		};
		logoEl.onmouseout = function() {
			toggler (0);
		};
	}

	return {
		init: initToggler
	};

}();

CatColor = function() {

	function getHue(nam) {
		if (nam == 'Blog' || nam == 'All Posts' || nam == 'Uncategorized') {
			return 210;
		}
		var x = 90;
		for (var i = 0; i < nam.length; i ++) {
			x += Math.round(nam.charCodeAt(i) * 135.52) + 90;
		}
		return x % 360;
	}

	function colorItHue(el, nh) {
		var toggler;
		function anim(v) {
			el.style.color = dtjs2.c.c(dtjs2.c.r([nh, 65 * (1 - v), 100]));
		}
		toggler = dtjs2.a.t(0.2, anim);
		dtjs2.ae (el.parentNode, 'mouseover', function() {
			toggler (1);
		});
		dtjs2.ae (el.parentNode, 'mouseout', function() {
			toggler (0);
		});
	}

	function colorIt(el, nam) {
		colorItHue (el, getHue(nam));
	}

	function staticColorIt(el, name) {
		var nh = getHue(name);
		el.style.color = dtjs2.c.c(dtjs2.c.r([nh, 60, 100]));
	}

	function initColor() {
		var cats = document.getElementsByClassName('color-cat');
		var titles = document.getElementsByClassName('title-img');
		var titleHue = getHue(DT_pageName);
		for (var i = 0; i < cats.length; i ++) {
			colorIt (cats[i], cats[i].title, i);
		}
		for (var i in DT_elColors) {
			if ($(i))
				staticColorIt ($(i), DT_elColors[i]);
		}
		var startHue = [];
		var hueShift = 45 + Math.random() * 90;
		var hueBase = Math.random() * 360;
		colorLinksLink ();
		for (var i = 0; i < titles.length; i ++) {
			startHue[i] = (hueBase + i * hueShift) % 360;
		}
		setTimeout (function() {
			dtjs2.a.c (0, 1, 3, function(v) {
				for (var i = 0; i < titles.length; i ++) {
					titles[i].style.background = dtjs2.c.c(dtjs2.c.r([dtjs2.u.i(startHue[i], titleHue, v), 70, Math.min(100, dtjs2.u.i(0, 100, v * 8))]));
				}
			}, dtjs2.ease.io);
		}, 1000);
	}

	function colorLinksLink() {
		var ll = document.getElementsByClassName('links-link');
		for (var i = 0; i < ll.length; i ++) {
			colorItHue (ll[i], i * 40 + 20);
		}
	}

	return {
		init: initColor
	};

}();

CatColor.init ();
LogoToggler.init ();
