(document.layers) ? layerobject=true : layerobject=false;
(document.all) ? allobject = true: allobject = false;
(document.getElementById) ? dom = true : dom = false;
opera=navigator.userAgent.toLowerCase().indexOf('opera')!=-1;

var layerSpeed = 4;

function getElement(layerName,parentLayer) {
	if (allobject) return document.all[layerName];
	if (dom) return document.getElementById(layerName);
	if (layerobject) {
		parentLayer = (parentLayer)? parentLayer : self;
		layerCollection = parentLayer.document.layers;
		if (layerCollection[layerName])
			return layerCollection[layerName];
			for(i=0; i < layerCollection.length;)
				return(getElement(layerName, layerCollection[i++]));
	}
}

function hide(layerName) {
	var theLayer = getElement(layerName);
	snow = 0;
	if (layerobject)
		theLayer.visibility = 'hide';
	else
		theLayer.style.visibility = 'hidden';
}

function show(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.visibility = 'show';
	else
		theLayer.style.visibility = 'visible';
}

function display(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.display = 'block';
	else
		theLayer.style.display = 'block';
}

function conceal(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.display = 'none';
	else
		theLayer.style.display = 'none';
}

function setX(layerName, x) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		theLayer.left=x;
	} else if (opera) {
		theLayer.style.pixelLeft=x;
	} else {
		theLayer.style.left=x+"px";
	}
}

function setY(layerName, y) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.top=y;
	else if (opera)
		theLayer.style.pixelTop=y;
	else
		theLayer.style.top=y+"px";
}

function setZ(layerName, zIndex) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.zIndex = zIndex;
	else
		theLayer.style.zIndex = zIndex;
}

function setHeight(layerName, height) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.clip.height = height;
	else if (opera)
		theLayer.style.pixelHeight = height;
	else
		theLayer.style.height = height+"px";
}

function setWidth(layerName, width) {
	var theLayer = getElement(layerName);
	if (layerobject)
		theLayer.clip.width = width;
	else if (opera)
		theLayer.style.pixelWidth = width;
	else
		theLayer.style.width = width+"px";
}

function setClip(layerName, top, right, bottom, left) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		theLayer.clip.top = top;
		theLayer.clip.right = right;
		theLayer.clip.bottom = bottom;
		theLayer.clip.left = left;
	} else {
		theLayer.style.clip = "rect("+top+"px "+right+"px "+" "+bottom+"px "+left+"px )";
	}
}

function setContents(layerName, content) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		theLayer.document.write(content);
		theLayer.document.close();
		return;
	}
	if (theLayer.innerHTML)
		theLayer.innerHTML = content;
}

function getX(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject) {
		return parseInt(theLayer.left);
	} else if (opera) {
		return parseInt(theLayer.style.pixelLeft);
	} else {
		return parseInt(theLayer.style.left);
	}
}

function getY(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		return parseInt(theLayer.top);
	else if (opera)
		return parseInt(theLayer.style.pixelTop);
	else
		return parseInt(theLayer.style.top);
}

function getHeight(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		return parseInt(theLayer.clip.height);
	else if (opera)
		return parseInt(theLayer.style.pixelHeight);
	else
		return parseInt(theLayer.style.height);
}

function getWidth(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		return parseInt(theLayer.clip.width);
	else if (opera)
		return parseInt(theLayer.style.pixelWidth);
	else
		return parseInt(theLayer.style.width);
}

function getZ(layerName) {
	var theLayer = getElement(layerName);
	if (layerobject)
		return parseInt(theLayer.zIndex);
	else
		return parseInt(theLayer.style.zIndex);
}

function grow(layerName, otherLayer, maxheight) {
	if (getHeight(layerName) < maxheight) {
		setHeight(layerName,getHeight(layerName)+layerSpeed);
		setY(otherLayer,getY(otherLayer)+layerSpeed);
		setTimeout('grow("'+layerName+'","'+otherLayer+'",'+maxheight+')', 1);
	} else {
		clearTimeout();
	}
}

function multi(field) {
	var flag = 0;
	var sel = field.substr((field.indexOf(".")+1),field.length)
	for (i=0;i<eval('document.'+field+'.length');i++) {
		if (eval('document.'+field+'.options[i].selected') == true) {
			for (j=0;j<eval(sel+'.length');j++) {
				if (eval(sel+'[j] == i')) {
					flag = 1;
					var flag2 = j;
				}
			}
			if (flag == 0) {
				eval(sel+'['+sel+'.length] = i');
			} else {
				var flag3 = flag2 + 1;
				eval('temparray1 = '+sel+'.slice(0,'+flag2+')');
				eval('temparray2 = '+sel+'.slice('+flag3+')');
				eval(sel+' = temparray1');
				eval(sel+' = '+sel+'.concat('+temparray2+')');
			}
		}
	}
	for (k=0;k<eval('document.'+field+'.length');k++) {
		for (l=0;l<eval(sel+'.length');l++) {
			if (k == eval(sel+'[l]')) {
				eval('document.'+field+'.options[k].selected = true');
				break;
			} else {
				eval('document.'+field+'.options[k].selected = false');
			}
		}
	}
	eval('var lastoption = '+sel+'['+sel+'.length-1]');
	if (lastoption >= 0) {eval('document.'+field+'.options['+lastoption+'].selected = true')}
}

function selall(formname, boxname) {
	var selectbox = eval('document.'+formname+'.'+boxname);
	var todo = 0;
	for (i=0;i<selectbox.length;i++) {
		if (selectbox.options[i].selected == false) {
			todo = 1;
			break;
		}
	}
	eval(boxname+' = []');
	for (i=0;i<selectbox.length;i++) {
		if (todo == 1) {
			selectbox.options[i].selected = true;
			eval(boxname+'[i] = '+selectbox.options[i].value);
		} else {
			selectbox.options[i].selected = false;
		}
	}
	selectbox.options[0].selected = true;
	if (todo == 0) {
		selectbox.options[0].selected = false;
	}
}

function mouseMove(e) {
	var x;
	var y;
	if (allobject) {
		var scrWidth = document.body.clientWidth;
		var scrHeight = document.body.clientHeight;
		if (navigator.userAgent.indexOf('MSIE 4')>0) {
			x=event.x;
			y=event.y;
		} else {
			x=event.x+document.body.scrollLeft; 
			y=event.y+document.body.scrollTop;
		}
	} else {
		var scrWidth = window.innerWidth;
		var scrHeight = window.innerHeight;
		x=e.clientX;
		y=e.clientY;
	}
	if (x > (scrWidth - 450)) {
		setX("hoverdiv",x-450);
		setX("hoverdiv2",x-450);
	} else {
		setX("hoverdiv",x+100);
		setX("hoverdiv2",x+100);
	}
	setY("hoverdiv",y-10);
	setY("hoverdiv2",y-10);
	return;
}

function showoldvalues(fieldname) {
	timer = setTimeout("showoldvalues2('"+fieldname+"')",1000)
}

function showoldvalues2(fieldname) {
	eval("var content = document.editsite.old_"+fieldname+".value");
	if (content == null || content == '') {content = '<i>Empty</i>'}
	setContents("hoverdiv",'<table width="200" border="0"><tr><td>'+content+'</td></tr></table>');
	setContents("hoverdiv2",'<table width="200" border="0"><tr><td>'+content+'</td></tr></table>');
	show("hoverdiv");
	show("hoverdiv2");
}

function hideoldvalues() {
	clearTimeout(timer);
	hide("hoverdiv");
	hide("hoverdiv2");
}

function showfielddesc(fieldname) {
	timer = setTimeout("showfielddesc2('"+fieldname+"')",1000)
}

function showfielddesc2(fieldname) {
	eval("var content = document.searchfrm.desc_"+fieldname+".value");
	if (content != null && content != '') {
		setContents("hoverdiv",'<table width="200" border="0"><tr><td>'+content+'</td></tr></table>');
		setContents("hoverdiv2",'<table width="200" border="0"><tr><td>'+content+'</td></tr></table>');
		show("hoverdiv");
		show("hoverdiv2");
	}
}

function hidefielddesc() {
	clearTimeout(timer);
	hide("hoverdiv");
	hide("hoverdiv2");
}

function formatReference(field) {
	var r = field.value.toString();
	while (r.length < 4) {
		r += '0';
	}
	field.value = r;
}
