var menuOpenElem = false;
var pageOpenElem = false;
var floaterOpenElem = false;

var posX = 0, posY = 0;
var openElems = new Array();
var openIDs = new Array();

var codeLocation = false;

function recPos(e) {
	if (!e) e = window.event;
	if (e.pageX) {
		posX = e.pageX;
		posY = e.pageY;
	} else if (e.clientX) {
		posX = e.clientX;
		posY = e.clientY;
		if(document.body && (document.body.scrollTop || document.body.scrollLeft) && !(window.opera || window.debug || navigator.vendor == 'KDE')) {
			if(typeof(document.body.scrollTop) == 'number') {
				posX += document.body.scrollLeft;
				posY += document.body.scrollTop;
			}
		}
		if(document.documentElement && !( window.opera || window.debug || navigator.vendor == 'KDE')) {
			if(typeof(document.documentElement.scrollTop) == 'number') {
				posX += document.documentElement.scrollLeft;
				posY += document.documentElement.scrollTop;
			}
		}
	}
}
function move(elemID, pX, pY) {
	var elem = document.getElementById(elemID);
	if(!pX) pX = posX-10;
	if(pX > 400) pX = 400;
	elem.style.left = pX+'px';
	if(!pY) pY = posY+20;
	elem.style.top = pY+'px';
	return false;
}
function show(elemID, group, id) {
	var elem = document.getElementById(elemID);
	elem.style.display = 'block';
	if(group) {
		openElems[group] = elem;
		openIDs[group] = id;
	}
	return false;
}
function hide(elemID, group, id) {
	var elem = document.getElementById(elemID);
	elem.style.display = 'none';
	if(group) {
		openElems[group] = false;
		openIDs[group] = false;
	}
	return false;
}
function showhide(elemID, group, id) {
	var elem = document.getElementById(elemID);
	if(openElems[group]) openElems[group].style.display = 'none';
	if(id && id!=openIDs[group]) {
		elem.style.display = 'block';
		openElems[group] = elem;
		openIDs[group] = id;
	} else if(!id && elem!=openElems[group]) {
		elem.style.display = 'block';
		openElems[group] = elem;
		openIDs[group] = id;
	} else {
		elem.style.display = 'none';
		openElems[group] = false;
		openIDs[group] = false;
	}
	return false;
}
function moveshowhide(elemID, group, id) {
	move(elemID);
	showhide(elemID, group, id);
}

// -----------------


function menu(menuID, left, top, focus) {
	var elem = document.getElementById(menuID);
	if(elem.style.display=='block') {
		elem.style.display='none';
	} else {
		elem.style.left = left+'px';
		elem.style.top = top+'px';
		if(menuOpenElem) menuOpenElem.style.display='none';
		elem.style.display='block';
		menuOpenElem=elem;
		if(focus!=false) focus.focus();
	}
}

function checkForm(form, errortext) {
	var isOK = true;
	var div;
	for (i=0; i < form.length; i++) {
		if(form.elements[i].id.substring(0,3)=='req') {
			if(form.elements[i].value=='')  {
				div = document.getElementById(form.elements[i].id+'_cont');
				div.className='alert';
				isOK = false;
			} else {
				div = document.getElementById(form.elements[i].id+'_cont');
				div.className='require';
			}
		}
	}
	if(!isOK) {
		var elem = document.getElementById('errorbox');
		elem.innerHTML = '<div class="notify_alert">'+errortext+'</div>';
		elem.style.display='block';
	}
	return isOK;
}

function page(pageNo) {
	if(!pageOpenElem) pageOpenElem = document.getElementById('page1');
	var elem = document.getElementById('page'+pageNo);
	pageOpenElem.style.display='none';
	elem.style.display='block';
	pageOpenElem = elem;
	elem = document.getElementById('errorbox');
	elem.style.display='none';
}

function floater2(e) {
	if(floaterOpenElem) floaterOpenElem.style.display='none';
	var elem;
	if (!e) e = window.event;
	if (e.target) elem = e.target;
	else if (e.srcElement) elem = e.srcElement;
	if (elem.nodeType == 3) elem = elem.parentNode;
	var elem2 = document.getElementById(elem.id+'_tgt');
	if(elem2 == floaterOpenElem) {
		elem2.style.display='none';
		floaterOpenElem = false;
	} else {
		var posx = 0;
		var posy = 0;
		if (e.pageX) {
			posx = e.pageX;
			posy = e.pageY;
		} else if (e.clientX) {
			posx = e.clientX;
			posy = e.clientY;
			if(document.body && (document.body.scrollTop || document.body.scrollLeft) && !(window.opera || window.debug || navigator.vendor == 'KDE')) {
				if(typeof(document.body.scrollTop) == 'number') {
					posx += document.body.scrollLeft;
					posy += document.body.scrollTop;
				}
			}
			if(document.documentElement && !( window.opera || window.debug || navigator.vendor == 'KDE')) {
				if(typeof(document.documentElement.scrollTop) == 'number') {
					posx += document.documentElement.scrollLeft;
					posy += document.documentElement.scrollTop;
				}
			}
		}
		if(posx > 400) posx = 400;
		elem2.style.left = (posx-10)+'px';
		elem2.style.top = (posy+20)+'px';
		elem2.style.display='block';
		elem2.style.width = '400px';
		floaterOpenElem = elem2;
	}
	return false;
}

function showhide2(elemID) {
	var elem = document.getElementById(elemID);
	if(elem.style.display == 'block') elem.style.display = 'none';
	else elem.style.display = 'block';
}

function content(elemID, contentHTML, doShowhide) {
	var elem = document.getElementById(elemID);
	elem.innerHTML = contentHTML;
	if(doShowhide) {
		if(elem.style.display == 'block') elem.style.display = 'none';
		else elem.style.display = 'block';
	}
}

function countchars(srcField, elemID, maxchars) {
	var remain = maxchars - srcField.value.length;
	if(remain<0) {
		srcField.value = srcField.value.substring(0, maxchars);
		remain = 0;
	}
	content(elemID, remain, false);
}

function isImage(itemID, errortext) {
	item = document.getElementById(itemID);
	var ok = ((item.value.toLowerCase().indexOf('.gif')) > 0 && item.value.indexOf('.gif')+4 == item.value.length);
	ok = ok || ((item.value.toLowerCase().indexOf('.jpg')) > 0 && item.value.indexOf('.jpg')+4 == item.value.length);
	ok = ok || ((item.value.toLowerCase().indexOf('.jpeg')) > 0 && item.value.indexOf('.jpeg')+5 == item.value.length);
	ok = ok || ((item.value.toLowerCase().indexOf('.png')) > 0 && item.value.indexOf('.png')+4 == item.value.length);
	var elem = document.getElementById('errorbox');
	if(!ok) {
		item.value = '';
		elem.innerHTML = '<div class="notify_alert">'+errortext+'</div>';
		elem.style.display='block';
	} else {
		elem.style.display='none';
	}
	return ok;
}

function tbexp(itemID, keep, multi) {
	var elem = document.getElementById(itemID);
	if(elem.style.visibility=='collapse' || elem.style.display=='none') {
		if(elem.style.visibility) { elem.style.visibility = 'visible'; }
		else { elem.style.display = 'block'; }
	} else if(!keep) {
		if(elem.style.visibility) { elem.style.visibility = 'collapse';
		} else { elem.style.display = 'none'; }
		elem = false;
	}
	if(!multi && tbexpOpenElem && tbexpOpenElem!=elem) {
		if(tbexpOpenElem.style.visibility) { tbexpOpenElem.style.visibility = 'collapse';
		} else { tbexpOpenElem.style.display = 'none'; }
	}
	tbexpOpenElem = elem;
}

function popPage(page,width,height) {
	window.open(page+';_w='+width,'poppage','width='+width+', height='+height+',toolbar=0,scrollbars=1');
	return false;
}

function openPopup(page,title,width,height,args) {
	if(args == null) args = "";
	window.open(page, title,'width='+width+', height='+height+',toolbar=no'+args);
	return false;
}

function URLencode(sStr) {
	sStr = escape(sStr);
	sStr = sStr.replace(/\+/g, '%2B');
	sStr = sStr.replace(/\"/g,'%22');
	sStr = sStr.replace(/\'/g, '%27');
	sStr = sStr.replace(/\//g,'%2F');
	return sStr;
}

function moveCode(objFrom, objTo) {
	if (codeLocation) {
		objFrom = codeLocation;
	}

	if (objFrom != objTo) {
		document.getElementById(objTo).innerHTML = document.getElementById(objFrom).innerHTML;
		document.getElementById(objFrom).innerHTML = '';
		codeLocation = objTo;
	}

	return false;
}
