// Ver 4.1.060704 mod activesite

// CheckEdit

function checkBoxEditSwitchGroup(src, name) {

	var arr = document.all.tags("span");

	for (var i = 0; i < arr.length; i++)
		if ((arr[i].inputtype == "checkbox") && (arr[i].inputname.substr(0, name.length) == name) && (arr[i].inputname != src.inputname)) {

			document.getElementById(arr[i].inputname).value = 1 - document.getElementById(src.inputname).value;
			arr[i].onclick();

		}

}

function checkBoxEditChange(name, on, off) {

	var a = document.getElementById(name);
	var img = document.getElementById(name + "img");

	if (a.value == 1) {

		a.value = 0;
		img.src = off;

	} else {

		a.value = 1;
		img.src = on;

	}

}

// RadioBoxEdit

function changeRadio(name, value, on, off) {

	var imgs = document.getElementById(name + "_box").all.tags("img");
	var i;

	for (i = 0; i < imgs.length; i++)
		if (imgs[i].id.substr(0, name.length + 3) == name + "img")
			if (imgs[i].id == (name + "img" + value))
				imgs[i].src = on;
			else
				imgs[i].src = off;

	document.getElementById(name).value = value;

}

var imgs = new Array();

function preloadImage(src) {

	var next = imgs.length + 1;

	imgs[next] = new Image();
	imgs[next].src = src;

}

function OpenCloseList(name, img_opened, img_closed, opened) {

	if (document.getElementById(name + "_block")) {

		var curr = document.getElementById(name + "_block").style.display;

		if ((curr == "none") || (opened)) {

			document.getElementById(name + "_block").style.display = "block";
			document.getElementById(name).value = 1;
			document.getElementById(name + "_img").src = img_opened;

		} else {

			document.getElementById(name + "_block").style.display = "none";
			document.getElementById(name).value = 0;
			document.getElementById(name + "_img").src = img_closed;

		}

	}

}

var Hex = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"); 

function rgbtohex(cRed, cGreen, cBlue) { 

	cColor = Hex[Math.floor(cRed/16)] + Hex[cRed%16] + Hex[Math.floor(cGreen/16)] + Hex[cGreen%16] + Hex[Math.floor(cBlue/16)] + Hex[cBlue%16]; 

	return cColor; 

} 

function colorComponent(name, c) {

	var val = document.getElementById(name + c).value;

	if (val > 255) val = 255;
	if (val < 0) val = 0;

	document.getElementById(name + c).value = val;

	return val;

}

function colorControl(name) {

	var r = colorComponent(name, "r");
	var g = colorComponent(name, "g");
	var b = colorComponent(name, "b");

	var color = rgbtohex(r, g ,b);

	document.getElementById("colordemo_" + name).style.background = "#" + color;
	document.getElementById(name).value = color;

	setTimeout("colorControl('" + name + "')", 500);

}

function chkNumEdit(name) {

	var allow = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".");
	var val = document.getElementById(name).value;
	var newval = "";
	var i, j, a;

	for (i = 0; i < val.length; i++) {

		a = val.substr(i, 1);

		for (j = 0; j < allow.length; j++)
			if (a == allow[j]) {

				newval += a;
				break;

			}

	}

	document.getElementById(name).value = newval;

}

var shadows = new Array();

function makeDropShadow(el, color, size) {

	var i;
	var a = 0;

        removeDropShadow(el);

	for (i = size; i > 0; i--) {

		var rect = document.createElement("div");
		var rs = rect.style;
		rs.position = "absolute";
		rs.left = (el.style.posLeft + i) + "px";
		rs.top = (el.style.posTop + i) + "px";
		rs.width = el.offsetWidth + "px";
		rs.height = el.offsetHeight + "px";
		rs.zIndex = el.style.zIndex - 1;
		rs.backgroundColor = color;
		var k = i + 6;
		var opacity = 1 - k / (k + 1);
		rs.filter = "Alpha(opacity=" + (100 * opacity) + ")";
		el.insertAdjacentElement('afterEnd', rect);
		shadows[el.uniqueID][a++] = rect;

	}

}

function removeDropShadow(el) {

	var i;

	if (shadows[el.uniqueID])
		for (i = 0; i < shadows[el.uniqueID].length; i++) {

			shadows[el.uniqueID][i].style.display = "none";
			shadows[el.uniqueID][i].removeNode(true);

		}

	shadows[el.uniqueID] = new Array();

}

function getOffsetLeft(el) {

	var offset = el.offsetLeft;

	while (el.offsetParent) {
		offset += el.offsetParent.offsetLeft;
		el = el.offsetParent;
	}

	return offset;
}

function getOffsetTop(el) {

	var offset = el.offsetTop;

	while (el.offsetParent) {
		offset += el.offsetParent.offsetTop;
		el = el.offsetParent;
	}

	return offset;

}

var timer;

function incSpin(inc, name, pause) {

	var value = parseInt(document.getElementById(name).value);

	if (value >= 0) value = value + inc;
	else value = 0; 

	if (value >= 0) {

		document.getElementById(name).value = value;
		timer = setTimeout("incSpin(" + inc + ", '" + name + "', 0)", pause);

	}

}

function startIncSpin(inc, name) {

	incSpin(inc, name, 500);

}

function stopIncSpin(name) {

	clearTimeout(timer);

}

function changeDate(name, onchangefunc) {

	var year  = document.getElementById("year_" + name).value;
	var month = document.getElementById("month_" + name).value;
	var day   = document.getElementById("day_" + name).value;

	document.getElementById(name).value = year + "-" + month + "-" + day;

	if (onchangefunc) setTimeout(onchangefunc, 0);

}

function changeTime(name, onchangefunc) {

	var hours = document.getElementById("hours_" + name).value;
	var mins  = document.getElementById("mins_" + name).value;
	var secs  = document.getElementById("secs_" + name).value;

	document.getElementById(name).value = hours + ":" + mins + ":" + secs;

	if (onchangefunc) setTimeout(onchangefunc, 0);

}

function extendTextEditor(name, ext, color) {

	document.getElementById(name).rows = ext;
	document.getElementById(name).style.borderColor = color;

}

// DropDownEdit

function ddInit(name, width) {

	var maxHeight = 150;
	var el = document.getElementById("ddcontents_" + name);

	el.style.top = getOffsetTop(document.getElementById("ddlist_" + name)) + 18;
	el.style.left = getOffsetLeft(document.getElementById("ddlist_" + name));

	if (width >= 0) {

		if (width > 0) 
			document.getElementById("ddcaption_" + name).style.width = width
		else
			if (el.offsetWidth >= 1)
				document.getElementById("ddcaption_" + name).style.width = el.offsetWidth - 1;

	} 

	if (el.offsetHeight > maxHeight) {

		el.style.overflow = "auto";
		el.style.height = maxHeight;

	}

	if (el.offsetWidth < document.getElementById("ddlist_" + name).offsetWidth)
		el.style.width = document.getElementById("ddlist_" + name).offsetWidth; 

}

function ddSelect(name, value, el) {

	if (el) {

		document.getElementById(name).value = value;
		document.getElementById("ddcaption_" + name).innerHTML = "<a href=\"javascript: ddShow('" + name + "')\" class=clsDDLink>" + el.innerHTML + "</a>";

	}

	ddHide(name);

}

function ddIsVisible(name) {

	return (document.getElementById("ddcontents_" + name).style.visibility == "visible");

}

function ddShow(name) {
	
	ddInit(name, -1);
	makeDropShadow(document.getElementById("ddcontents_" + name), "#000000", 3);
	if (ddIsVisible(name)) 
		ddHide(name)
	else {

		document.getElementById("ddcontents_" + name).style.visibility = "visible";
		setDivOpenedName("ddcontents_" + name);

	}

}

function ddHide(name) {

	removeDropShadow(document.getElementById("ddcontents_" + name));
	document.getElementById("ddcontents_" + name).style.visibility = "hidden";

}

// TImageButtonsCollection

function ibcInit(name) {

	var el = document.getElementById("ibccontents_" + name);

	el.style.top = getOffsetTop(document.getElementById("ibclist_" + name)) + document.getElementById("ibclist_" + name).offsetHeight;
	el.style.left = getOffsetLeft(document.getElementById("ibclist_" + name)) - 1;

}

function ibcSelect(name, el) {

	document.getElementById("ibcbutton_" + name).innerHTML = el.parentElement.innerHTML;
	ibcHide(name);

}

function ibcIsVisible(name) {

	return (document.getElementById("ibccontents_" + name).style.visibility == "visible");

}

function ibcShow(name) {
	
	ibcInit(name, -1);
	makeDropShadow(document.getElementById("ibccontents_" + name), "#000000", 3);

	if (!ibcIsVisible(name)) {

		document.getElementById("ibccontents_" + name).style.visibility = "visible";
		setDivOpenedName("ibccontents_" + name);

	} else
		ibcHide(name)

}

function ibcHide(name) {

	removeDropShadow(document.getElementById("ibccontents_" + name));
	document.getElementById("ibccontents_" + name).style.visibility = "hidden";

}

var divopenedname = "";
document.onclick = tempDivProcess;

function setDivOpenedName(name) {

	divopenedname = name;
	setTimeout("divopenedname = ''", 1000);

}

function coordsIn(x, y, el) {

	var xel = getOffsetLeft(el);
	var yel = getOffsetTop(el);
	var wel = el.offsetWidth;
	var hel = el.offsetHeight;

	return ((x >= xel) && (x <= xel + wel) && (y >= yel) && (y <= yel + hel));

}

function tempDivProcess() {

	var src = window.event.srcElement;

	if (src) {

		var mousex = event.x + document.body.scrollLeft;
		var mousey = event.y + document.body.scrollTop;
		var all = document.all.tags("DIV");
		var i;
		var el;

		for (i = 0; i < all.length; i++)
			if (all[i].name == "tempdiv")
				if (!coordsIn(mousex, mousey, all[i]))
					if ((all[i].style.visibility == "visible") && (divopenedname != all[i].id))
						if (all[i].hidefunc) setTimeout(all[i].hidefunc, 0);

	} 

	divopenedname = "";

}

