function textCounter(field, countfield, maxlimit)
{
	if (field.value.length > maxlimit)
	{		// if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	}
	else
	{	// otherwise, update 'characters left' counter
		countfield.value = maxlimit - field.value.length;
	}
}

/* page tree */

// functions to expand and collapse menu
function expandThis(obj) {
	if (obj.id != '' && obj.id != undefined) {
		obj.style.display = 'block';
		obj.parentNode.childNodes[0].src = '/admin/images/minus.gif';
	}
}
function collapseThis(obj) {
	if (obj.id != '' && obj.id != undefined) {
		obj.style.display = 'none';
		obj.parentNode.childNodes[0].src = '/admin/images/plus.gif';
	}
}

// function to expand menus in first time run
function expandMenus() {
	var menu
	if (menu = document.getElementById(this.oMenu)) {
		while(menu.id!='menu') {
			if(menu.tagName=="UL") {
				expandThis(menu);
			}
			menu = menu.parentNode;
		}
	}
}
// function display handler
function shMenu (id) {
	if (work) {
		var menu = document.getElementById(id);
		if (menu.style.display != "block"){
			expandThis(menu);
		}
		else {
			collapseThis(menu);
		}
	}
}

// virtual tree
var treeObjArray = new Array();
function formatTreeObject() {
	var idsObj = new Object();
	var i = 0, m = this.menus;
	while (m[i]!=null) {
		if (idsObj['obj'+m[i]]==null) idsObj['obj'+m[i]] = new Object();
		idsObj['obj'+m[i]].id = m[i];
		idsObj['obj'+m[i]].title = m[i+2];
		idsObj['obj'+m[i]].separate = m[i+3];
		if (m[i+1]!=0) {
			if (idsObj['obj'+m[i+1]]==null) idsObj['obj'+m[i+1]] = new Object();
			if (idsObj['obj'+m[i+1]].childs==null) idsObj['obj'+m[i+1]].childs = new Array();
			idsObj['obj'+m[i+1]].childs.push(idsObj['obj'+m[i]]);
		}
		i += 4;
	}
	for (var i=1;m[i]!=null;i+=4) {
		if (m[i]==0) this.treeObjArray.push(idsObj['obj'+m[i-1]]);
	}
}

var oMenu;
function getActiveId() {
	var activeId = window.location.href;
	var i1 = activeId.indexOf('id=')+3, i2 = activeId.indexOf('&', i1);
	if (i1 > 0) (i2 > 0) ? activeId = activeId.slice(i1, i2) : activeId = activeId.slice(i1);
	else this.activeId = 0;
	return activeId;
}

// draw html tree
function formatTreeBody(childs, menuId) {
	var activeId = getActiveId();
	document.write('<ul id="'+menuId+'">\n');
	for (var i=0;childs[i];i++) {
		var isChild = (childs[i].childs!=null);
		var isOn = '';
		if (childs[i].id==activeId) {
			isOn = '_on';
			this.oMenu = menuId;
		}
		document.write('<li><img src="/admin/images/spc.gif"'+(isChild?' onclick="shMenu(\'sub'+childs[i].id+'\')"':'')+'><a href="pages/listing/?id='+childs[i].id+'"><img src="/admin/images/doc'+(childs[i].separate==0?'_ie':'')+(childs[i].id==activeId?'_on':'')+'.gif">'+childs[i].title+'</a> / <a href="pages/view/?id='+childs[i].id+'" class="read">[ '+view+' ]</a></div>\n');
		if (isChild) formatTreeBody(childs[i].childs, 'sub'+childs[i].id);
	}
	document.write('</ul>\n');
}

var work = 0;
function init() {
	formatTreeObject();
//	document.write("<xmp>\n");
	formatTreeBody(this.treeObjArray, 'menu');
//	document.write("</xmp>\n");

	var menu, menus;
	if ((menu = document.getElementById('menu'))!=null) if (menu.style.display!=null) this.work = 1;
	if (this.work)
		if ((menus = menu.getElementsByTagName('ul'))!=null) {
			for (var i=0;menus[i];i++) {
				collapseThis(menus[i]);
			}
			expandMenus();
			this.work = 2;
		}
}

function changeImage ( imgElementId, imageUrl ) {

	imgElement = document.getElementById(imgElementId);

	if ( imgElement.tagName == 'IMG' ) {

		imgElement.src = imageUrl;

	} // if

}