/********************************************************************
*Description:
*
*	删除一个列表里被选择的所有对象，列表form默认名称必须为messageList，
*	另外复选框名称必须为Mid，复选框值必须等于本条记录的主键值，
*	最后form必须有一个名为doMethod的隐藏变量以设置提交动作名称
*
*Parameters:
*
*	无
*
*Return Value:
*
*	无
*
*History:
*
*	2003-12-07	1.0	runman	初始版本
*
*
********************************************************************/
var delWaringMessage = true;		//是否要弹出对话框提示是否删除

function Delete(){
	var ml = document.messageList;	//默认列表名称均定为List
	var flag = 0;				//是否选择了记录
	var msg;					//提示信息

	//检查是否选择了记录
	var len = ml.elements.length;
	for (var i = 0; i < len; i++) {
	    var e = ml.elements[i];
	    if (!flag && (e.name == "Mid" || e.name == "Nid") && e.checked) {	//复选框的名称均为Mid或者錘id，值等于本条记录的主键值
		flag = 1;
	    }
	}
	
	if(flag==0){		//如果没有选择记录
		msg="请选择至少一条记录";
	 	alert(msg);
	}
	else{			//提示后执行删除操作
		msg="确实要删除所选记录?";
		if (delWaringMessage && !confirm(msg)) {
			return;
		}
		
		ml.doMethod.value="batchDelete";	//指示提交动作为批删除
		ml.submit();
	}
}

/********************************************************************
*Description:
*
*	在详细页面删除前弹出对话框提示是否删除，确认后执行单条删除操作
*
*Parameters:
*
*	无
*
*Return Value:
*
*	无
*
*History:
*
*	2003-12-12	1.0	runman	初始版本
*
*
********************************************************************/
function DeleteOne(){
	var ml = document.detail;	//默认列表名称均定为List
	var msg;					//提示信息

	msg="确实要删除当前记录?";
	if (delWaringMessage && !confirm(msg)) {
		return;
	}
	
	ml.doMethod.value="delete";	//指示提交动作为删除
	ml.submit();

}


/********************************************************************
*Description:
*
*	执行翻页操作，根据翻页方式设置隐藏变量doMethod值
*	最后提交
*
*Parameters:
*
*	method，翻页方式，0、1、2、3分别代表首页、前一页、后一页、末页
*
*Return Value:
*
*	无
*
*History:
*
*	2003-12-08	1.0	runman	初始版本
*				1.1	runman	修改为本地修改当前页码
*	2003-12-08	1.5	runman	修改比较错误bug，没有强制转换为数值则按字符串比较了
*
*
********************************************************************/
function PageSelect(method) 
{
	var ml = document.messageList;
	
	if(method == "0"){
		ml.curPageNum.value = 1;
	}
	
	if(method == "1"){
		if(parseFloat(ml.curPageNum.value) > 1){	//必须强制转换为数值，不然就是字符串比较
                 ml.curPageNum.value--;

             }
		else{
			ml.curPageNum.value = 1;

		}
	}
	
	if(method == "2"){
		if(parseFloat(ml.curPageNum.value) < parseFloat(ml.totalPageNum.value)){
			ml.curPageNum.value++;
             }
		else{
			ml.curPageNum.value = ml.totalPageNum.value;
		}
	}
	
	if(method == "3"){
		ml.curPageNum.value = ml.totalPageNum.value;
	}

	ml.doMethod.value = "notSet";
	ml.submit();
	

}

/********************************************************************
*AlbumCurPageSelect
*Description:
*
*	用于翻页功能， 修改当前页为指定页号
*
*Parameters:
*
*	method，翻页方式，0、1、2、3分别代表首页、前一页、后一页、末页
*
*Return Value:
*
*	无
*
*History:
*
*	2005-7-9	1.0	Steven
*
*
********************************************************************/
function AlbumCurPageSelect(curPage) 
{
	var ml = document.messageList;
	
	if(curPage == "0"){
		ml.curPageNum.value = 1;
	}
	else
	ml.curPageNum.value =curPage;

	ml.doMethod.value = "notSet";
	ml.submit();
}

/********************************************************************
*AlbumGoPage
*Description:
*
*	用于翻页功能，转到指定页号
*
*Parameters:
*
*	curPage     :要转到页数
*	totalPage    :总页数
*
*
*Return Value:
*
*	无
*
*History:
*
*	2005-7-11	1.0	torny
*
*
********************************************************************/
function AlbumGoPage(curPage,totalPage) 
{
	var ml = document.messageList;
	
	if(curPage <= "0"){
		ml.curPageNum.value = 1;
	}
	else if(curPage > totalPage){
		ml.curPageNum.value = totalPage
	}
	else
	ml.curPageNum.value =curPage;

	ml.doMethod.value = "notSet";
	ml.submit();
}



/********************************************************************
*Description:
*
*	执行排序操作
*	页面中包含2个隐藏变量orderCol/order，分别表示
*	当前排序字段和当前排序方式
*
*Parameters:
*
*	e，点击的字段
*
*Return Value:
*
*	无
*
*History:
*
*	2003-12-08	1.0	jk	初始版本
*	2003-12-12	1.1	runman	增加改变排序字段后页码为当前页操作
*
*
********************************************************************/
function ColCorder(e)
{
	var ml = document.messageList;

	if(ml.orderCol.value == e){		//如果点击的字段和先前排序字段相同则切换该字段的排序方式
		if(ml.order.value == "Descend"){
			ml.order.value = "Ascend";
		}
		else {
			ml.order.value = "Descend";
		}
	}
	else{		//否则设置排序字段为点击字段并设置默认排序方式为降序
		ml.orderCol.value = e;
		ml.order.value = "Ascend";
		ml.curPageNum.value = 1;	//并设置当前页为第一页
	}

	ml.submit();
	
}


function ToggleSingle(e)
    {

	var ml = document.messageList;
	var len = ml.elements.length;

	if (e.checked) {

            for (var i = 0; i < len; i++) {
	    	var al = ml.elements[i];
	   	 if (al.name == "Mid" || al.name == "Nid") {
			Clear(al);
	  	  }
	    }
	    Highlight(e);
	    Check(e);
	}
	else {
	    Unhighlight(e);
	    for (var i = 0; i < len; i++) {
	    	var al = ml.elements[i];
	   	 if (al.name == "Mid" || al.name == "Nid") {
			Clear(al);
	  	  }
	    }
	}
    }

function Toggle(e)
    {
	if (e.checked) {
	    Highlight(e);
	    document.messageList.toggleAll.checked = AllChecked();
	}
	else {
	    Unhighlight(e);
	    document.messageList.toggleAll.checked = false;
	}
    }

    function ToggleAll(e)
    {
	if (e.checked) {
	    CheckAll();
	}
	else {
	    ClearAll();
	}
    }

    function Check(e)
    {
	e.checked = true;
	Highlight(e);
    }

    function Clear(e)
    {
	e.checked = false;
	Unhighlight(e);
    }

    function CheckAll()
    {
	var ml = document.messageList;
	var len = ml.elements.length;
	for (var i = 0; i < len; i++) {
	    var e = ml.elements[i];
	    if ((e.name == "Mid" || e.name == "Nid")) {
		Check(e);
	    }
	}
	ml.toggleAll.checked = true;
    }

    function ClearAll()
    {
	var ml = document.messageList;
	var len = ml.elements.length;
	for (var i = 0; i < len; i++) {
	    var e = ml.elements[i];
	    if ((e.name == "Mid" || e.name == "Nid")) {
		Clear(e);
	    }
	}
	ml.toggleAll.checked = false;
    }

    function Highlight(e)
    {
	var r = null;
	if (e.parentNode && e.parentNode.parentNode) {
	    r = e.parentNode.parentNode;
	}
	else if (e.parentElement && e.parentElement.parentElement) {
	    r = e.parentElement.parentElement;
	}
	if (r) {
	    if (r.className == "msgnew") {
		r.className = "msgnews";
	    }
	    else if (r.className == "msgold") {
		r.className = "msgolds";
	    }
	}
    }

    function Unhighlight(e)
    {
	var r = null;
	if (e.parentNode && e.parentNode.parentNode) {
	    r = e.parentNode.parentNode;
	}
	else if (e.parentElement && e.parentElement.parentElement) {
	    r = e.parentElement.parentElement;
	}
	if (r) {
	    if (r.className == "msgnews") {
		r.className = "msgnew";
	    }
	    else if (r.className == "msgolds") {
		r.className = "msgold";
	    }
	}
    }

    function AllChecked()
    {
	ml = document.messageList;
	len = ml.elements.length;
	for(var i = 0 ; i < len ; i++) {
		var e = ml.elements[i];
	    if ((e.name == "Mid" || e.name == "Nid") && !e.checked) {
		return false;
	    }
	}
	return true;
    }

/*
    var noDelAllMsgWarning = false;
    
    function Delete()
    {
	if (!noDelAllMsgWarning && AllChecked()) {
	    if (!confirm("Are you sure you want to delete all messages?")) {
		return;
	    }
	}
	var ml=document.messageList;
	ml.DEL.value = "1";
	ml.submit();
    }
   */
    
    function SynchMoves(which) {
	var ml=document.messageList;
	if(which==1) {
	    ml.destBox2.selectedIndex=ml.destBox.selectedIndex;
	}
	else {
	    ml.destBox.selectedIndex=ml.destBox2.selectedIndex;
	}
    }

    function Move() {
	var ml = document.messageList;
	var dbox = ml.destBox;
	if(dbox.options[dbox.selectedIndex].value == "@NEW") {
	    nn = window.prompt("Please enter a name for your folder.","");
	    if(nn == null || nn == "null" || nn == "") {
		dbox.selectedIndex = 0;
		ml.destBox2.selectedIndex = 0;
	    }
	    else {
		ml.NewFol.value = nn;
		ml.MOV.value = "1";
		ml.submit();
	    }
	}
	else {
	    ml.MOV.value = "1";
	    ml.submit();
	}
    }

	function Mark_Click(p_oSender,p_oEvent)
	{
		if(document.all) p_oEvent.cancelBubble = true;
		else p_oEvent.stopPropagation();

		if(typeof g_oButtonMenu != 'undefined' && g_oButtonMenu && g_oButtonMenu.id != "markoptions") g_oButtonMenu.style.visibility = "hidden";

		g_oButtonMenu = ylib_getObj("markoptions");

		var x = ylib_getPageX(p_oSender);
		var y = ylib_getPageY(p_oSender);
		var h = ylib_getH(p_oSender);

		ylib_moveTo(g_oButtonMenu,x,y+h);

		g_oButtonMenu.style.visibility = "visible";

		document.onclick = ButtonMenu_Hide;
	}

	function MarkOption_Click(p_sFlag)
	{
		var ml = document.messageList;
		ml.flags.value = p_sFlag;
		ml.flags2.value = p_sFlag;
		ml.FLG.value = "1";
		ml.submit();
	}

	function ButtonMenu_Hide()
	{
		if(typeof g_oButtonMenu != 'undefined' && g_oButtonMenu) g_oButtonMenu.style.visibility = "hidden";
	}


   function markSpam() {
        var ml = document.messageList;
        ml.FLG.value = "1";
        ml.action += "&flags=spam";
        ml.submit();
   }

   function markAdd() {
        var ml = document.messageList;
        ml.FLG.value = "1";
        ml.action += "&flags=add";
        ml.submit();
   }


	function MenuItem_MouseOver(p_oSender)
	{
		p_oSender.onselectstart = new Function ("return false");
		p_oSender.style.backgroundColor = "#ccc";
		p_oSender.style.color = "#00f";
	}

	function MenuItem_MouseOut(p_oSender)
	{
		p_oSender.onselectstart = new Function ("return true");
		p_oSender.style.backgroundColor = "#fff";
		p_oSender.style.color = "#000";
	}

    function init()
    {
	if (oBw.ie||oBw.dom) {

	    //ypim_initMenu('mail','addr','cal','note'); // initiates the drop down menus
	    document.onkeydown = function(evt) { oKey.keyevent(evt); }
	}
	OnLoad(); // do not delete
    }

    function OnLoad()
    {
	// noop by default
	// redefine as needed
    }
