function elem(id) { return document.getElementById(id); }

function dwr(st) { document.write(st); }

function docloc(loc) { 
	if (loc == undefined || loc == '') return;
	if (document.location) document.location = loc;
	else document.location.href = loc;
}

function input_value(obj,vl,chk) {
	if (obj) {
		if (obj.value == chk) obj.value = vl;
	}
}

function input_fcs(obj,chk,cls) {
	if (obj) {
		obj.className = cls;
		if (obj.value == chk) obj.value = '';
	}
}

function input_blr(obj,chk,cls) {
	if (obj) {
		if (obj.value == '') { 
			obj.value = chk;
			obj.className = cls;
		}
	}
}

function pon(obj) {
	if (obj == undefined) return;
	var id = parseInt(obj.id);
	var el = elem(id+'on');
	if (el != undefined) obj.src = el.src;
}

function pof(obj) {
	if (obj == undefined) return;
	var id = parseInt(obj.id);
	var el = elem(id+'off');
	if (el != undefined) obj.src = el.src;
}

var rolls = new Array();
var rolling_up = 0;
var rolling_dn = 0;
var droll = 15;
var rolltimer = 0;
var rollspeed = 30;

function roll_close(id) {
	var el = elem(id);
	if (el == undefined) return;
	el.style.height = 0;
}

function roll_up(id) {
	if (rolling_dn == 1) return;
	rolling_up = 1;
	var el = elem(id);
	if (el == undefined) return;
	var inn = el.firstChild;
	if (el.offsetHeight <= 0) {
		rolling_up = 0;
		clearTimeout(rolltimer);
		return;
	} else {
		el.style.height = Math.max(0,parseInt(parseInt(el.offsetHeight)-droll))+'px';
		rolltimer = setTimeout("roll_up('"+id+"')",rollspeed);
	}
}

function roll_dn(id) {
	if (rolling_up == 1) return;
	rolling_dn = 1;
	var el = elem(id);
	if (el == undefined) return;
	var inn = el.firstChild;
	if (el.offsetHeight >= inn.offsetHeight) {
		rolling_dn = 0;
		clearTimeout(rolltimer);
		el.style.height = 'auto'; // фикс для дальнейшего корректного открытия вложенных роллов
		return;
	} else {
		el.style.height = Math.min(parseInt(inn.offsetHeight),parseInt(parseInt(el.offsetHeight)+droll))+'px';
		rolltimer = setTimeout("roll_dn('"+id+"')",rollspeed);
	}
}

function roll(id) {
	var el = elem(id);
	if (el == undefined) return true; // чтобы сработал href у ссылки
	if (rolling_up == 1 || rolling_dn == 1) return false;
	var inn = el.firstChild;
	if (el.offsetHeight >= inn.offsetHeight) {
		return true;
		//roll_up(id);
	} else {
		roll_dn(id);
	}
	return false; // чтоб не сработал href у ссылки
}

