// -------------------------------------------------------------
//
// FILENAME		: functions.js
// COPYRIGHT	: © 2003 - 09 Espen Andersson
// WWW			: http://ebascripts.com/
//
// -------------------------------------------------------------

function allClick(ch, elementId) {
	var ref = document.getElementById(elementId).getElementsByTagName('input');

	for(var i = 0; ref.length > i; i++) {
		ref.item(i).checked = ch;
	}
}

function hideElement(elementId) {
	var element = document.getElementById(elementId);

	if (element) {
		element.style.display = 'none';
	}
}

function fadeOut(id, duration) {
	var duration = 400;
	var start  = new Date().getTime();

	(function() {
		var t = Math.min(1.0, Math.max(0.0, (new Date().getTime() - start) / duration));
		var e = document.getElementById(id);

		if (e) {
			e.style.opacity = 1.0 - t;
		}

		if (t < 1.0) {
			setTimeout(arguments.callee, 50);
		} else {
			hideElement(id);
		}
	})();
}

function showLeftColumnHeadlinesText() {
	var textIds = new Array('showWebsiteText', 'recentArticlesText', 'commonTasksText', 'commentsText', 'blogrollText');
	
	for (var i = 0; i < textIds.length; i++) {
		var tempData = document.getElementById(textIds[i]);
		
		if (tempData) {
			tempData.style.display = 'inline';
		}
	}
}

function changeColumnBoxStatus(boxID, signID) {
	var box = document.getElementById(boxID);
	var cookieExpire = new Date();

	cookieExpire.setDate(cookieExpire.getDate() + 730);
	document.cookie = boxID + '=' + (box.style.display == 'block' ? 'none' : 'block') + '; expires=' + cookieExpire.toGMTString();

	if (box.style.display == 'block') {
		hideElement('boxID');
	} else {
		document.getElementById('leftmenu').style.width = '22%';
		document.getElementById('content').style.width = '74%';

		document.getElementById('home').style.width = '92%';
		document.getElementById('displayColumn').style.width = '8%';
		document.getElementById('changeColumnStatusImg').src = 'templates/images/icons/arrow_left.png';
		
		showLeftColumnHeadlinesText();

		var columnHeadlines = document.getElementsByClassName('columnHeadline');

		for (var i = 0; i < columnHeadlines.length; i++) {
			/** exception needed, the column isn't wide enough to make sense to left align the image */
			if (columnHeadlines[i].id == 'displayColumn') {
				continue;
			}

			columnHeadlines[i].style.textAlign = 'left';
		}

		box.style.display = 'block';
	}
}

function centerAlignHeadlines() {
	var columnHeadlines = document.getElementsByClassName('columnHeadline');

	for (var i = 0; i < columnHeadlines.length; i++) {
		columnHeadlines[i].style.textAlign = 'center';
	}
}

function changeColumnStatus() {
	var columnSize = document.getElementById('leftmenu').style.width;
	
	if (columnSize == '22%') {
		centerAlignHeadlines();

		document.getElementById('content').style.width = '93%';
		document.getElementById('leftmenu').style.width = '3%';
		
		var expandButtons = document.getElementsByClassName('columnDisplayButton');
	
		for (var i = 0; i < expandButtons.length; i++) {
			expandButtons[i].style.display = 'none';
		}
		
		document.getElementById('changeColumnStatusImg').src = "templates/images/icons/arrow_right.png";
		document.getElementById('displayColumn').style.width = '100%';
		document.getElementById('home').style.width = '100%';
		document.getElementById('home').style.marginBottom = 0;
		
		var hideTheseElementsPls = new Array('showWebsiteText', 'recentArticles', 'recentArticlesText', 'commonTasks', 'commonTasksText', 
			'comments', 'commentsText', 'drafts', 'draftsText', 'blogrollText', 'blog');

		for (var i = 0; i < hideTheseElementsPls.length; i++) {
			hideElement(hideTheseElementsPls[i]);
		}

		var cookieExpire = new Date();
		cookieExpire.setDate(cookieExpire.getDate() + 730);
		document.cookie = 'columnStatus=none; expires=' + cookieExpire.toGMTString();
	} else {
		var columnHeadlines = document.getElementsByClassName('columnHeadline');
	
		for (var i = 0; i < columnHeadlines.length; i++) {
			/** exception needed, the column isn't wide enough to make sense to left align the image */
			if (columnHeadlines[i].id == 'displayColumn') {
				continue;
			}

			columnHeadlines[i].style.textAlign = 'left';
		}
		
		document.getElementById('leftmenu').style.width = '22%';
		document.getElementById('content').style.width = '74%';
		document.getElementById('home').style.width = '92%';
		document.getElementById('displayColumn').style.width = '8%';
		document.getElementById('changeColumnStatusImg').src = 'templates/images/icons/arrow_left.png';

		document.getElementById('recentArticles').style.display = 'block';
		document.getElementById('commonTasks').style.display = 'block';

		var comments = document.getElementById('comments');

		if (comments) {
			comments.style.display = 'block';
		}

		showLeftColumnHeadlinesText();

		var cookieExpire = new Date();
		cookieExpire.setDate(cookieExpire.getDate() + 730);
		document.cookie = 'columnStatus=block; expires=' + cookieExpire.toGMTString();
	}
}

function changeSubmitButtonStatus(elementId) {
	var ref = document.getElementById(elementId).getElementsByTagName('input');
	var submitButtonId;

	for(var i = 0; ref.length > i; i++) {
		if (ref.item(i).type == 'submit') {
			submitButtonId = i;
		}
	}

	for(var j = 0; ref.length > j; j++) {
		if(ref.item(j).checked) {
			ref.item(submitButtonId).disabled = false;
			return;
		}
	}

	ref.item(submitButtonId).disabled = true;
}

function fontSizeAdjuster(size) {
	var cookieExpire = new Date();
	cookieExpire.setDate(cookieExpire.getDate() + 730);
	document.body.style.fontSize = size + "%";
	document.cookie = 'fontSize=' + size + '; expires=' + cookieExpire.toGMTString();
	
	var smallLink = document.getElementById('fontSizeAdjusterSmallLink');
	var mediumLink = document.getElementById('fontSizeAdjusterMediumLink');
	var largeLink = document.getElementById('fontSizeAdjusterLargeLink');
	
	smallLink.className = "small";
	mediumLink.className = "medium";
	largeLink.className = "large";
	
	if (size == 70) {
		smallLink.className = "small current";
	}
	
	if (size == 80) {
		mediumLink.className = "medium current";
	}
	
	if (size == 120) {
		largeLink.className = "large current";
	}
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');

	for(var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1, c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
	}

	return null;
}

function changeTextOnSubmit(form1, newValue, submitBtnId) {
	if (submitBtnId == undefined) {
		form1.submit.disabled = true;
		form1.submit.value = newValue;
	} else {
		var submitBtn = document.getElementById(submitBtnId);
		submitBtn.disabled = true;
		submitBtn.value = newValue;
	}
}

function gravatarStatus(status) {
	var gravatarSizeInput = document.getElementById('gravatar_size');
	var gravatarSizeLabel = document.getElementById('gravatar_size_label');
	
	if (status == 0) {
		gravatarSizeInput.disabled = true;
		gravatarSizeLabel.className = 'gray line_through';
	} else {
		gravatarSizeInput.disabled = false;
		gravatarSizeLabel.className = '';
	}
}

function prefChanges(status) {
	if (status == 0) {
		var setElementsToTrue = new Array('comment_notification_disabled', 'comment_notification_enabled', 'reverse_comments_disabled', 
			'reverse_comments_enabled', 'smilies_enabled', 'smilies_disabled', 'gravatars_enabled', 'gravatars_disabled');

		for (var i = 0; i < setElementsToTrue.length; i++) {
			document.getElementById(setElementsToTrue[i]).disabled = true;
		}

		var setElementsToGrayAndLineThrough = new Array('comment_notification_dt', 'comment_notification_dd', 'reverse_comments_dt',
			'reverse_comments_dd', 'gravatars_dt', 'gravatars_dd', 'smilies_dt', 'smilies_dd');

		for (var i = 0; i < setElementsToGrayAndLineThrough.length; i++) {
			document.getElementById(setElementsToGrayAndLineThrough[i]).className = 'gray line_through';
		}
	} else {
		var setElementsToFalse = new Array('comment_notification_disabled', 'comment_notification_enabled', 'reverse_comments_disabled',
			'reverse_comments_enabled', 'smilies_enabled', 'smilies_disabled', 'gravatars_enabled', 'gravatars_disabled');

		for (var i = 0; i < setElementsToFalse.length; i++) {
			document.getElementById(setElementsToFalse[i]).disabled = false;
		}

		var setElementsToEmptyClass = new Array('comment_notification_dt', 'comment_notification_dd', 'reverse_comments_dt',
			'reverse_comments_dd', 'gravatars_dt', 'gravatars_dd', 'smilies_dt', 'smilies_dd');

		for (var i = 0; i < setElementsToEmptyClass.length; i++) {
			document.getElementById(setElementsToEmptyClass[i]).className = '';
		}
	}
}

function showCommentFormInfo(newBtnValue, oldBtnValue) {
	var display = 'none';
	var value = oldBtnValue;
	
	if (document.getElementById('addCommentShowInfoBtn').value == oldBtnValue) {
		display = 'block';
		value = newBtnValue;
	}
	
	document.getElementById('add_info').style.display = display;
	document.getElementById('addCommentShowInfoBtn').value = value;
}