﻿//去掉字串左边的空格 
function lTrim(str) 
{ 
    if (str.charAt(0) == " ") 
    {
    str = str.slice(1);//将空格从字串中去掉 
    str = lTrim(str); //递归调用 
    } 
    return str; 
}

//去掉字串右边的空格
function rTrim(str) 
{ 
    var iLength;
    iLength = str.length; 
    if (str.charAt(iLength - 1) == " ") 
    { 
        str = str.slice(0, iLength - 1);
        str = rTrim(str); //递归调用 
    } 
    return str; 
}  

function ShowModeWin(strPath, iWidth, iHeight, bFlushScreen)
{
    //alert('dialogWidth=' + iWidth + ';dialogHeight=' + iHeight);
    window.showModalDialog(strPath, '模式', 'status=no;dialogWidth=' + iWidth + 'px;dialogHeight=' + iHeight + 'px');
    return bFlushScreen;
}

function ShowModeWinWithParam(strPath, iWidth, iHeight, vParam)
{
    //alert('dialogWidth=' + iWidth + ';dialogHeight=' + iHeight);
    return window.showModalDialog(strPath, vParam, 'status=no;dialogWidth=' + iWidth + 'px;dialogHeight=' + iHeight + 'px');
}

function OpenWin(strPath, iWidth, iHeight, bFlushScreen)
{
    window.open(strPath, '非模式', 'status=no, width=' + iWidth + 'px, height=' + iHeight + 'px, scrollbars=yes, resizable=yes, top=20px, left=300px');
    return bFlushScreen;
}

var __nonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);//判断浏览器

//根据元素ID获取元素
function public_getElementByID(target)
{
    var el;
    if (__nonMSDOMBrowser) 
    {
       el = document.getElementById(target);
    }
    else 
    {
        el = document.all[target];
    }
    return el;        
}
//获取触发事件的的目标元素
function public_getEventTarget()
{
    var target;
     if (__nonMSDOMBrowser) {
            target = event.target;
        }
        else {
            target = event.srcElement;
        }
     return target;
}
//获取元素指定tagName的父元素
function public_GetParentByTagName(element, tagName) {
    var parent = element.parentNode;
    var upperTagName = tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
        parent = parent.parentNode ? parent.parentNode : parent.parentElement;
    }
    return parent;
}
//设置节点的父节点Cheched,权限树的规则一：该节点可访问，则能访问他的父节点（递归）
function setParentChecked(objNode)
{   
     var objParentDiv = public_GetParentByTagName(objNode,"div");
     if(objParentDiv==null || objParentDiv == "undefined")
     {
        return;
     }
     var objID = objParentDiv.getAttribute("ID");
     objID = objID.substring(0,objID.indexOf("Nodes"));
     objID = objID+"CheckBox";
     var objParentCheckBox = public_getElementByID(objID);
     if(objParentCheckBox==null || objParentCheckBox == "undefined")
     {
        return;
     } 
     if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox")
         return;    
     objParentCheckBox.checked = true;
     setParentChecked(objParentCheckBox);
}
//设置节点的子节点uncheched,权限树的规则二：该节点可访问，则可访问他的全部子节点（递归）
function setChildChecked(divID)
{ 
    var objchild = divID.children;
    var count = objchild.length; 
    for(var i=0;i<objchild.length;i++)
    {
        var tempObj = objchild[i];
        if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
         {
            tempObj.checked = true;
         }
        setChildChecked(tempObj);                
    }
}
//设置节点的子节点uncheched,权限树的规则三：该节点不可访问，则不能访问他的子节点（递归）
function setChildUnChecked(divID)
{ 
    var objchild = divID.children;
    var count = objchild.length;   
    for(var i=0;i<objchild.length;i++)
    {
        var tempObj = objchild[i];
        if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
         {
            tempObj.checked = false;
         }
        setChildUnChecked(tempObj);                
    }
}
//触发事件
function doCheck()
{
    
    var objNode = public_getEventTarget();        
    
    if(objNode.tagName!="INPUT" || objNode.type!="checkbox")
             return;
    
    
    if(objNode.checked==true)
    {
        setParentChecked(objNode);
        
        var objID = objNode.getAttribute("ID");
        var objID = objID.substring(0,objID.indexOf("CheckBox"));     
        var objParentDiv = public_getElementByID(objID+"Nodes");
        if(objParentDiv==null || objParentDiv == "undefined")
        {
            return;
        }
        setChildChecked(objParentDiv);
    }
    else
    {
        var objID = objNode.getAttribute("ID");
        var objID = objID.substring(0,objID.indexOf("CheckBox"));     
        var objParentDiv = public_getElementByID(objID+"Nodes");
        if(objParentDiv==null || objParentDiv == "undefined")
        {
            return;
        }       
        setChildUnChecked(objParentDiv);
    }
}

function doOpen()
{
    var objNode = event.srcElement;
    var strURL = new String(objNode);
    //alert(strURL);
    if(strURL.indexOf('Default.aspx') != -1)
    {
        parent.location.href = strURL;
    }
    else
    {
        if(strURL.indexOf('http:') != -1)
        {
            parent.frames['mainframe'].location.href = strURL;
            return false;
        }
        else
        {
            return true;
        }
    }
}

//回车代替tab
function keyvalue(strEle) 
{ 
	if(event.keyCode=="13") 
	{ 
		var strEles = strEle.split(',');
		var bOrder = true;
		if(strEle != '')
		{
			for(var i = 0; i < strEles.length; i++)
			{
				if(event.srcElement.id == strEles[i])
				{
					bOrder = false;
					break;
				}
			}
		}
		if(bOrder && event.srcElement.type != 'button' && event.srcElement.type != 'submit' &&
		 event.srcElement.type != 'reset' && event.srcElement.type != 'textarea' && event.srcElement.type != '') 
		{ 
			event.keyCode="9"; 
		} 
	}
} 

//判断是否输入数字符合标准
function CheckNumber(iPoint)
{
    var strCheck = lTrim(rTrim(event.srcElement.value));
    var bRight = false;
    
    if(strCheck != '')
    {
        if(iPoint == 0)
        {
            var oResult = strCheck.match(/\d+/);
            if(oResult != strCheck)
            {
                alert('请输入整数');
                event.srcElement.value = '1';
                event.srcElement.focus();
            }
        }
        if(iPoint > 0)
        {
            var oResult;
            if(iPoint == 2)
                oResult = strCheck.match(/\-{0,1}\d+\.{0,1}\d{0,2}/);
            if(iPoint == 8)
                oResult = strCheck.match(/\-{0,1}\d+\.{0,1}\d{0,8}/);
            if(oResult != strCheck)
            {
                alert('请输入有效的数字');
                event.srcElement.value = '1';
                event.srcElement.focus();
            }
        }
    }
}

function CheckNumber3()
{
    var strCheck = lTrim(rTrim(event.srcElement.value));
    var bRight = false;
    if(strCheck != '')
    {
        var oResult = strCheck.match(/\-{0,1}\d+\.{0,1}\d{0,3}/);
        if(oResult != strCheck)
        {
            alert('请输入有效的数字');
            event.srcElement.value = '';
            event.srcElement.focus();
        }
    }
}

//判断是否输入合法日期
function CheckDate()
{
    while(event.srcElement.value.indexOf('.') != -1)
    {
        event.srcElement.value = event.srcElement.value.replace('.', '-')
    }
    while(event.srcElement.value.indexOf('．') != -1)
    {
        event.srcElement.value = event.srcElement.value.replace('．', '-')
    }
    while(event.srcElement.value.indexOf('－') != -1)
    {
        event.srcElement.value = event.srcElement.value.replace('－', '-')
    }
    var strCheck = lTrim(rTrim(event.srcElement.value));
    var bRight = false;
    if(strCheck != '')
    {
        var oResult = strCheck.match(/\d{4}\-\d{1,2}\-\d{1,2}/);
        if(oResult != strCheck)
        {
            alert('请输入正确的日期格式，如2006-06-24');
            event.srcElement.value = '';
            event.srcElement.focus();
        }
    }
}

//提示是否确认删除
function Delete()
{
	var bDel = window.confirm('是否确认删除所选择的行？');
	return bDel;
}

//提示是否确认删除
function DeletePro(msg)
{
	var bDel = window.confirm(msg);
	return bDel;
}

//判断是否输入地区编码符合标准
function CheckAreaCode()
{
    var strCheck = lTrim(rTrim(event.srcElement.value));
    var oResult = strCheck.match(/\d{2}/);
    if(oResult != strCheck)
    {
        alert('请输入有效编码');
        event.srcElement.value = '';
        event.srcElement.focus();
    }
 } 
   
function DisableMouseRight()
{
    if (window.Event) 
        document.captureEvents(Event.MOUSEUP); 
} 

function nocontextmenu() 
{
     event.cancelBubble = true
     event.returnValue = false;
     return false;
}

function norightclick(e) 
{
     if (window.Event) 
     {
          if (e.which == 2 || e.which == 3)
            return false;
     }
     else
     if (event.button == 2 || event.button == 3)
     {
          event.cancelBubble = true
          event.returnValue = false;
          return false;
     } 
}

function CheckHotKey()
{
    var strCheck = lTrim(rTrim(event.srcElement.value));
    if(strCheck != '')
    {
        var oResult = strCheck.match(/^[a-z|A-Z][a-z|A-Z|\d]*$/);
        if(oResult != strCheck)
        {
            alert('请输入有效的助记码');
            event.srcElement.value = '';
            event.srcElement.focus();
        }
    }
}
function ChangeQuantity(src, type)
{
    var objSrc = document.getElementById(src);
    if(objSrc.value == parseInt(objSrc.value))
    {
        if(type == 0)
        {
            objSrc.value = parseInt(objSrc.value) + 1;
        }
        if(type == 1 && objSrc.value > 1)
        {
            objSrc.value = parseInt(objSrc.value) - 1;
        }
    }
}
function SelectAll()
{
    for(var i = 0; i < document.getElementsByTagName('INPUT').length; i++)
    {
        if(document.getElementsByTagName('INPUT')[i].type == "checkbox")
        {
            var chkSelect = document.getElementsByTagName('INPUT')[i];
            if(chkSelect != event.srcElement)
            {
                if(event.srcElement.checked)
                {
                    chkSelect.checked = true;
                }
                else
                {
                    chkSelect.checked = false;
                }
            }
        }
    }
}