function setCookie(name, value, expire, path) {
	document.cookie = name + '=' + escape(value) + ((expire == null) ? '' : ('; expires=' + expire.toUTCString())) + ((path == null) ? '' : ('; path=' + path));
}
function getCookie(name) {
	var search = name + '=';
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = document.cookie.indexOf(';', offset);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(offset, end));
		}
	}
	return '';
}
function getStrTime(shift) {
	var d = new Date();
	var h = d.getHours();
	var m = d.getMinutes();
	var s = d.getSeconds();
	var o = d.getTimezoneOffset();
	var colon = (s % 2 == 0) ? ':' : '&nbsp;';
	m += o + shift;
	h += Math.round((m - 30) / 60);
	m %= 60;
	if (m < 0) m += 60;
	h %= 24;
	if (h < 0) h += 24;
	if (h < 10) h = '0' + h;
	if (m < 10) m = '0' + m;
	if (s < 10) s = '0' + s;
	return h + colon + m + colon + s;
}
function $(id) {
	return document.getElementById(id);
}
function switcher(e) {
	e.style.visibility = (e.style.visibility == 'hidden') ? 'visible' : 'hidden';
}
function collapser(e) {
	e.style.display = (e.style.display == 'none') ? 'block' : 'none';
}
function opacity(e, p) {
	if (p < 0) p = 0;
	if (p > 1) p = 1;
	e.style.opacity = p;
	e.style.filter = (p == 1) ? '' : "alpha(opacity=" + parseFloat(p) * 100 + ")";
}
function _opacity(e, p, step, speed) {
	opacity(e, p);
	p = parseFloat(p) + step;
	if ((p >= 0) && (p <= 1)) setTimeout(function() {_opacity(e, p, step, speed);}, speed);
}
function _fade(e, step, speed) {
	var p = (step > 0) ? 0 : 1;
	e.style.display = 'block';
	e.style.visibility = 'visible';
	//if (-[1,]) _opacity(e, p, step, speed);
	_opacity(e, p, step, speed);
	if (step < 0) e.style.display = 'none';
}
function fade(e, step, speed, timeout) {
	setTimeout(function() {_fade(e, step, speed);}, timeout);
}
