var frameBaseName = "xxx";
var folderIDs = new Array();
var folderWatch = 0;
var folderX = 0;
var folderY = 0;
var folderHidden = 0;
var oldFolderWidth;
var blockMove = 0;
var tmpCount = 0;
var newWidth = 0;

var viewWatch = 0;
var viewX = 0;
var viewY = 0;
var viewHidden = 0;
var oldViewHeight = 0;
var blockView = 0;
var newHeight = 0;

function fixPNG(myImage) // correctly handle PNG transparency in Win IE 5.5 or higher.
{
	if (window.ie55up)
	{
		var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
		var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
		var imgTitle = (myImage.title) ? "title='" + myImage.title + "' " : "title='" + myImage.alt + "' "
		var imgStyle = "display:inline-block;" + myImage.style.cssText 
		var strNewHTML = "<span " + imgID + imgClass + imgTitle
		strNewHTML += " style=\"" + "width:" + myImage.width + "px; height:" + myImage.height + "px; vertical-align: middle; margin-right: 4px; margin-left: 4px; " + imgStyle + ";"
		strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
		strNewHTML += "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>" 
		myImage.outerHTML = strNewHTML
	}
}

function fixPos(myImage)
{
	if (window.ie55up)
	{
		myImage.style.position="relative";
		myImage.style.top="-3px";
	}
}

function checkFrameSetBaseName(name)
{
  frameBaseName = name;
}

function checkFolderFrameOver(id, mousetype, outopen, overopen, outclose, overclose)
{
	var frameset=top.document.getElementsByName('innerframe')[0];
	var myimg=document.getElementById(id);

	if (!frameset) frameset=top.document.getElementById('innerframe');
	
	if (frameset)
	{
		if (frameset.cols == '0,12,*')
		{
			if (mousetype == 'over')
			{
				myimg.src=frameBaseName+overclose;
			}
			else
			{
				myimg.src=frameBaseName+outclose;
			}
		}
		else
		{
			if (mousetype == 'over')
			{
				myimg.src=frameBaseName+overopen;
			}
			else
			{
				myimg.src=frameBaseName+outopen;
			}
		}
	}
}

function checkFolderFrameSet()
{
	var frameset=top.document.getElementsByName('innerframe')[0];
	if (!frameset) frameset=top.document.getElementById('innerframe');
	if (frameset)
	{
		if (frameset.cols == '0,12,*')
		{
			frameset.cols = oldFolderWidth;
			folderHidden=0;
		}
		else
		{
			oldFolderWidth=frameset.cols;
			frameset.cols = '0,12,*';
			folderHidden=1;
		}
	}
}

function checkMessageFrameOver(id, mousetype, outopen, overopen, outclose, overclose)
{
	var frameset=top.document.getElementsByName('innermessage')[0];
	var myimg=document.getElementById(id);
        
	if (!frameset) frameset=top.document.getElementById('innermessage');
	if (frameset)
	{
		if (frameset.rows == '0,12,*')
		{
			if (mousetype == 'over')
			{
				myimg.src=frameBaseName+overclose;
			}
			else
			{
				myimg.src=frameBaseName+outclose;
			}
		}
		else
		{
			if (mousetype == 'over')
			{
				myimg.src=frameBaseName+overopen;
			}
			else
			{
				myimg.src=frameBaseName+outopen;
			}
		}
	}
}

function checkMessageFrameSet()
{
	var frameset=top.document.getElementsByName('innermessage')[0];
	
	if (!frameset) frameset=top.document.getElementById('innermessage');
	if (frameset)
	{
		if (frameset.rows == '0,12,*')
		{
			frameset.rows = oldViewHeight;
			viewHidden=0;
		}
		else
		{
			oldViewHeight=frameset.rows;
			frameset.rows = '0,12,*';
			viewHidden=1;
		}
	}
}

function markFolder(folder)
{
	var tabledata = document.getElementsByTagName('td');
	var i;
	var nodename = '';
	
	for (i=0; i<tabledata.length; ++i)
	{
		nodename=String(tabledata[i].className);

		if (nodename.substr(0, 6) == 'folder')
		{
			tabledata[i].className='folder';
			nodename=String(tabledata[i].id);
			nodename=nodename.substr(6, 255);

			if (document.getElementById('img'+nodename))
			{
				if (getNewCount(nodename) > 0)
				{
					document.getElementById('img'+nodename).src=frameBaseName+'folder_mail.gif';
				}
				else
				{
					document.getElementById('img'+nodename).src=frameBaseName+'folder.gif';
				}
			}
			
		}

		if (tabledata[i].id == 'folder'+folder)
		{
			tabledata[i].className='folderactive';
				document.getElementById('img'+folder).src=frameBaseName+'folder_open.gif';
		}
	}
}

function markMessage(fldid, msgid)
{
	var tabledata = document.getElementsByTagName('td');
	var inputdata = document.getElementsByTagName('input');
	var i, nodename;

	for (i=0; i<tabledata.length; ++i)
	{
		nodename=String(tabledata[i].className);
		if (nodename == 'mailviewactive') tabledata[i].className='mailviewmsg';
	}

	for (i=0; i<tabledata.length; ++i)
	{
		nodename=String(tabledata[i].id);
		if ( (nodename == 'row1'+msgid) && (tabledata[i].className == 'mailviewnew') ) parent.menu.markMsgAsRead(fldid);
		if ( (nodename == 'row1'+msgid) || (nodename == 'row2'+msgid) || (nodename == 'row3'+msgid) || (nodename == 'row4'+msgid) || (nodename == 'row5'+msgid) || (nodename == 'row6'+msgid) ) tabledata[i].className='mailviewactive';
	}

	for (i=0; i<inputdata.length; ++i)
	{
		if ( (inputdata[i].type == "checkbox") && (inputdata[i].value == msgid) ) inputdata[i].checked=true;
	}
}

function setMsgCount(fid, mnew, mcnt, name)
{
	var tmp = new Object;

	tmp['id']=fid;
	tmp['new']=mnew;
	tmp['msg']=mcnt;
	tmp['name']=name;
	folderIDs.push(tmp);
}

function getFolderNameByID(fid)
{
	var i;

	for (i=0; i<folderIDs.length; ++i)
	{
		if (folderIDs[i]['id'] == fid) return(folderIDs[i]['name']);
	}
	return(NULL);
}

function getFolderObjectByID(fid)
{
	var i;

	for (i=0; i<folderIDs.length; ++i)
	{
		if (folderIDs[i]['id'] == fid) return(folderIDs[i]);
	}
	return(NULL);
}

function setFolderInfo(fid)
{
	var folderlink = document.getElementById(fid);
	var folderobject = getFolderObjectByID(fid);
	var i, len;
	var nodeElement;
	var unreadNode, allNode;
	
	if (folderlink)
	{
		for (i=0; i<folderlink.childNodes.length; ++i)
		{
			nodeElement=folderlink.childNodes[i];
			if ( i == 5) unreadNode=nodeElement.firstChild;
			if ( i == 7) allNode=nodeElement.firstChild;
		}

		if (folderobject && unreadNode && allNode)
		{
			if (folderobject['new'] > 0)
				unreadNode.nodeValue = '('+folderobject['new']+')';
			else
				unreadNode.nodeValue = '';
			allNode.nodeValue = folderobject['msg'];
		}
	}
}

function getNewCount(fid)
{
	for (var i=0; i<folderIDs.length; ++i)
	{
		if (folderIDs[i]['id'] == fid)
		{
			return(folderIDs[i]['new']);
			break;
		}
	}
	return(0);
}

function markMsgAsRead(fid)
{
	var i;

	for (i=0; i<folderIDs.length; ++i)
	{
		if (folderIDs[i]['id'] == fid)
		{
			if (folderIDs[i]['new'] > 0) folderIDs[i]['new']--;
			setFolderInfo(fid);
			break;
		}
	}
}

function setMsgCountInfo(fid, newcnt, allcnt)
{
	var i;

	for (i=0; i<folderIDs.length; ++i)
	{
		if (folderIDs[i]['id'] == fid)
		{
			folderIDs[i]['new']=newcnt;
			folderIDs[i]['msg']=allcnt;
			setFolderInfo(fid);
			break;
		}
	}
}

function watchFolderButtonDown(myEvent)
{
	var tmp;
	var frameset=top.document.getElementsByName('innerframe')[0];

	if (!frameset) frameset=top.document.getElementById('innerframe');

	if ( (folderHidden == 0) && (blockMove == 0) )
	{
		if (!myEvent) myEvent=window.event;

		folderWatch=0;
		tmp=String(navigator.appName);
		if (tmp.substr(0, 8) == 'Netscape')
		{
			if (myEvent.button < 2) folderWatch=1;
		}
		else
		{
			folderWatch=myEvent.button;
		}

		tmp=parseInt(frameset.cols);

		if ( (folderWatch == 1) && ( myEvent.screenX > tmp ) && ( myEvent.screenX < tmp + 12) )
		{
			folderX=parseInt(myEvent.screenX - parseInt(frameset.cols));
		}
		tmpCount=0;
	}
	else
	{
		folderWatch=0;
	}
}

function watchFolderButtonUp(myEvent)
{
	var frameset=top.document.getElementsByName('innerframe')[0];

	if (!frameset) frameset=top.document.getElementById('innerframe');

	if (!myEvent) myEvent=window.event;
	
	if ( (folderWatch == 1) && (folderHidden == 0) && (blockMove == 0) )
	{
		if ( frameset)
		{
			newWidth=parseInt(myEvent.screenX - folderX);
			if (newWidth < 200) newWidth=200;
			frameset.cols = newWidth+',12,*';
		}
	}
	folderWatch=0;
}

function watchFolderMove(myEvent)
{
	var frameset=top.document.getElementsByName('innerframe')[0];
	
	if (!frameset) frameset=top.document.getElementById('innerframe');
	if (!myEvent) myEvent=window.event;

	if ( frameset && (folderWatch > 0) && (folderHidden == 0) && (blockMove == 0) )
	{
		if ( ++tmpCount == 5)
		{
			tmpCount=0;
			newWidth=parseInt(myEvent.screenX - folderX);
			if (newWidth < 200) newWidth=200;
			frameset.cols = newWidth+',12,*';
		}
	}
}

function watchViewButtonDown(myEvent)
{
	var tmp;
	var frameset=top.document.getElementsByName('innermessage')[0];
	
	if (!frameset) frameset=top.document.getElementById('innermessage');
	if ( (viewHidden == 0) && (blockView == 0) )
	{
		if (!myEvent) myEvent=window.event;

		viewWatch=0;
		tmp=String(navigator.appName);
		if (tmp.substr(0,8) == 'Netscape')
		{
			if (myEvent.button < 2) viewWatch=1;
		}
		else
		{
			viewWatch=myEvent.button;
		}

		tmp=parseInt(frameset.rows);


//		if ( (viewWatch == 1) && (myEvent.screenY > tmp) && (myEvent.screenY < tmp + 12) )
		if ( viewWatch == 1);
		{
			viewY=parseInt(myEvent.screenY - parseInt(frameset.rows));
		}
		tmpCount=0;
	}
	else
	{
		viewWatch=0;
	}
}

function watchViewButtonUp(myEvent)
{
	var frameset=top.document.getElementsByName('innermessage')[0];
	
	if (!myEvent) myEvent=window.event;
	if (!frameset) frameset=top.document.getElementById('innermessage');

	if ( (viewWatch == 1) && (viewHidden == 0) && (blockView == 0) )
	{
		if (frameset)
		{
			newHeight=parseInt(myEvent.screenY - viewY);
			if (newHeight < 100) newHeight=100;
			frameset.rows = newHeight+',12,*';
		}
	}
	viewWatch=0;
}

function watchViewMove(myEvent)
{
	var frameset=top.document.getElementsByName('innermessage')[0];
	
	if (!myEvent) myEvent=window.event;
	if (!frameset) frameset=top.document.getElementById('innermessage');

	if (frameset && (viewWatch > 0) && (viewHidden == 0) && (blockView == 0) )
	{
		if ( ++tmpCount == 5)
		{
			tmpCount=0;
			newHeight=parseInt(myEvent.screenY - viewY);
			if (newHeight < 100) newHeight=100;
			frameset.rows = newHeight+',12,*';
		}
	}
}

function switchMailBlock(id)
{
	var myElement = document.getElementById(id);

	if (myElement)
	{
		if (myElement.className == 'mailheadtd3')
		{
			myElement.className='mailheadtd3block';
		}
		else
		{
			myElement.className='mailheadtd3';
		}
	}
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function tablePopupByParent(parentID, padX, padY, tableID)
{
	var parObj = document.getElementById(parentID);
	var tblObj = document.getElementById(tableID);
	var parX, parY;
	
	if (parObj && tblObj)
	{
		parX=findPosX(parObj);
		parY=findPosY(parObj);
		tblObj.style.top=parY+padY;
		tblObj.style.left=parX+padX;
		tblObj.style.display='';
	}
}

function hideObjectById(objID)
{
	var myObj = document.getElementById(objID);
	
	if (myObj)
	{
		myObj.style.display='none';
	}
}

function showObjectById(objID)
{
	var myObj = document.getElementById(objID);

	if (myObj)
	{
		myObj.style.display='';
	}
}

function msgViewMarkAll()
{
	var inputdata = document.getElementsByTagName('input');
	var i;

	for (i=0; i<inputdata.length; ++i)
	{
		if (inputdata[i].type == "checkbox") inputdata[i].checked=true;
	}
}

function msgViewUnmarkAll()
{
	var inputdata = document.getElementsByTagName('input');
	var i;

	for (i=0; i<inputdata.length; ++i)
	{
		if (inputdata[i].type == "checkbox") inputdata[i].checked=false;
	}
}

function msgViewDeletePopup()
{
	var tblID = document.getElementById('yesno');
	var parObj = document.getElementById('msgDelLink');
	var parX = findPosX(parObj);
	var parY = findPosY(parObj);
	var frameset=top.document.getElementsByName('innermessage')[0];
	var i, clicked;
	var inputdata = document.getElementsByTagName('input');

	if (!frameset) frameset=top.document.getElementById('innermessage');
	i = parseInt(frameset.rows);

	clicked=false;
	for (i=0; i<inputdata.length; ++i)
	{
		if ( (inputdata[i].type == "checkbox") && inputdata[i].checked ) clicked=true;
	}

	if (clicked)
	{
		if (parY - 37 < 0)
			tblID.style.top=0;
		else
			tblID.style.top=parY-37;

		if (parX - 100 < 0)
			tblID.style.left=0;
		else
			tblID.style.left=parX-100;

		tblID.style.display='';
	}
}

function msgViewDeleteAllPopup()
{
	var tblID = document.getElementById('yesnoall');
	var parObj = document.getElementById('msgDelAllLink');
	var parX = findPosX(parObj);
	var parY = findPosY(parObj);
	var i, clicked;

	if (parY - 37 < 0)
		tblID.style.top=0;
	else
		tblID.style.top=parY-37;

	if (parX - 100 < 0)
		tblID.style.left=0;
	else
		tblID.style.left=parX-100;

	tblID.style.display='';
}

function msgViewMovePopup()
{
	var tblID = document.getElementById('foldermovelist');
	var parObj = document.getElementById('msgMoveLink');
	var parX = findPosX(parObj);
	var parY = findPosY(parObj);
	var frameset=top.document.getElementsByName('innermessage')[0];
	var i, clicked;
	var inputdata = document.getElementsByTagName('input');

	if (!frameset) frameset=top.document.getElementById('innermessage');
	i = parseInt(frameset.rows);

	clicked=false;
	for (i=0; i<inputdata.length; ++i)
	{
		if ( (inputdata[i].type == "checkbox") && inputdata[i].checked ) clicked=true;
	}

	if (clicked)
	{
		if (parY - 160 < 0)
			tblID.style.top=0;
		else
			tblID.style.top=parY-160;

		if (parX - 100 < 0)
			tblID.style.left=0;
		else
			tblID.style.left=parX-100;

		tblID.style.display='';
	}
}

function msgViewMailAction(action)
{
	top.mainmenu.showObjectById('refreshinfo');
	document.forms[0].action.value=action;
	document.forms[0].submit();
}

function msgViewMoveAction(action, moveto)
{
	top.mainmenu.showObjectById('refreshinfo');
	document.forms[0].action.value=action;
	document.forms[0].moveto.value=moveto;
	document.forms[0].submit();
}

function setClassName(id, classname)
{
	var myObj = document.getElementById(id);

	if (myObj) myObj.className=classname;
}


function addrbookOver(id, classname, imgmail, imgentry)
{
	var tblObj = document.getElementById('ab'+id);
	var imgmailObj = document.getElementById('imgmail'+id);
	var imgentryObj = document.getElementById('imgentry'+id);
	
	if (tblObj) tblObj.className=classname;
	if (imgmailObj) imgmailObj.src=frameBaseName+imgmail;
	if (imgentryObj) imgentryObj.src=frameBaseName+imgentry;
}

function addMailToRcpt(mailaddr)
{
	var inputID = document.getElementById('rcpt');

	if (inputID)
	{
		if (inputID.value)
		{
			inputID.value+=','+mailaddr;
		}
		else
		{
			inputID.value=mailaddr;
		}
	}
}

function addFolderSelectFolder(name, id)
{
	document.addfolderform.subfolder.value=name;
	document.addfolderform.subfolderid.value=id;
	hideObjectById('addlistfolders');
}

function delFolderSelectFolder(name, id)
{
	document.delfolderform.subfolder.value=name;
	document.delfolderform.subfolderid.value=id;
	hideObjectById('dellistfolders');
}

function checkDelFolderPopup()
{
	if (document.delfolderform.subfolderid.value)
	{
		tablePopupByParent('delfolderbutton', -100, -40, 'delyesno');
	}
	else
	{
		tablePopupByParent('dellistfolderlink', -100, -20, 'dellistfolders');
	}
}

function submitDelFolder()
{
	hideObjectById('delyesno');
	document.delfolderform.submit();
}

function initPercent(idText, idPic)
{
	var myTextObj = document.getElementById(idText);
	var myPicObj = document.getElementById(idPic);

	myTextObj.style.left = findPosX(myPicObj);
	myTextObj.style.top = findPosY(myPicObj);

	myTextObj.style.visibility = 'visible';
	myPicObj.width=20;
	myPicObj.style.visibility = 'visible';
}

/*
function initPercent(idText, idFirstPic)
{
  var oidText = document.getElementById(idText);
        var oidFirstPic = document.getElementById(idFirstPic);

        oidText.style.left = getPosX(oidFirstPic);
        oidText.style.top = getPosY(oidFirstPic);

        oidText.style.visibility = 'visible';
        oidFirstPic.width=0;
        oidFirstPic.style.visibility = 'visible';
}
*/
