
/* SPECIAL BLOG SCRIPTS */

var floaterPointer;

function initBlogs() {
	var x = document.getElementsByTagName('div');
	var counter = -1;
	for (var i=0;i<x.length;i++) {
		if (x[i].className == 'floater' && x[i].id != 'right')
			floaterPointer = x[i];
		if (x[i].className == 'entry' || x[i].className == 'comment') counter++;
		else continue;
		if (counter % 2 == 1)
			x[i].className += ' odd';
	}
	if (floaterPointer) {
		var header = document.getElementById('header');
		header.parentNode.insertBefore(floaterPointer,header);	
	}
	
	if (self.setIntro)
		setIntro();
	if (self.initFormValidation)
		initFormValidation();
		
	checkRememberCookie();
	setMaxLength();
}

function exitBlogs() {
	setRememberCookie();
}

var fields = ['author','email','url'];

function checkRememberCookie() {
	var x = document.getElementById('remember');
	if (!x) return;
	var y = Cookies.bugReport;
	if (!y) return;
	var values = y.split(',,');
	for (var i=0;i<fields.length;i++) {
		if (values[i] && values[i] != 'none')
			x.form.elements[fields[i]].value = values[i];
	}
	x.checked = true;
}

function setRememberCookie() {
	var x = document.getElementById('remember');
	if (!x) return;
	if (!x.checked) {
		Cookies.erase('bugReport');
		return;
	}
	var form = x.form;
	var cookieString = '';
	for (var i=0;i<fields.length;i++) {
		var val = form.elements[fields[i]].value;
		if (val)
			cookieString += val+',,';
		else
			cookieString += 'none,,';
	}
	Cookies.create('bugReport',cookieString,60);
}

function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.className = 'counter';
	for (var i=0;i<x.length;i++) 	{
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength)
		this.relatedElement.className = 'toomuch';
	else
		this.relatedElement.className = '';	
	this.relatedElement.firstChild.nodeValue = currentLength;
	// not innerHTML
}