menusOpen = new Object();

function view_profile(profile, width, height) {
	if(!width) width = 800;
	if(!height) height = 600;
	var profile=window.open(profile,'','width=' + width + ',height=' + height);
}

function open_chat() {
	var chat = window.open('http://www.arisen.net/chat/chat.php','chat','width=660,height=410,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=no');
}

function fto() {
	var fto = window.open('addpost.php?forum=6','popup_win','location=no,resizable=yes,width=600,height=325');
}

function pm(toChar) {
	var pm = window.open('sendpm.php?recipient=' + toChar,'popup_win','location=no,resizable=yes,width=600,height=340');
}


function show_member_menu(thisObj,menu_id,username) {
	menuObj = document.getElementById(menu_id);
	window.menu_id = menu_id;
	(window.backupMenu)?menuObj.innerHTML=window.backupMenu:window.backupMenu=menuObj.innerHTML;
	replaceAll(menu_id,'\\\$USERNAME', username);
	position = getAnchorPosition(thisObj.id);
	moveObject(menu_id,position.x,position.y+17);
	changeObjectVisibility(menu_id,'visible');
	menusOpen[menu_id] = true;// track open menu ids
}

function getAnchorPosition(anchor_id) {
	var position=new Object();
	position.x=AnchorPosition_getPageOffsetLeft(document.getElementById(anchor_id));
	position.y=AnchorPosition_getPageOffsetTop(document.getElementById(anchor_id));		
	return position;
}

function AnchorPosition_getPageOffsetLeft (el) {
	var ol=el.offsetLeft;
	while((el=el.offsetParent) != null) { 
	  ol += el.offsetLeft; 
	}
	return ol;
}
	
function AnchorPosition_getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while( (el=el.offsetParent) != null) { 
	  ot += el.offsetTop; 
	}
	return ot;
}

function replaceAll(objId, replaceWhat, replaceWith ){ // this replaces all innerHTML of an element called objId
     var obj = document.getElementById(objId);
     var regX = new RegExp(replaceWhat,"g");
     obj.innerHTML = obj.innerHTML.replace(regX, unescape(replaceWith));
}

function getStyleObject(objectId) {
     if(document.getElementById(objectId)){
	   return (document.getElementById(objectId).style);
     } else {
	   return false;
     }
}

function moveObject(objectId, newXCoordinate, newYCoordinate) {
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.left = newXCoordinate;
	styleObject.top = newYCoordinate;
    }
}

function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
    	return false;
    }
}

