﻿// JScript 文件
var CommonFunlxj_ver="1.1";
function substart(str,start)
{
   var len = str.length;
   var l = len - start;
   return str.substr(start,l);
}
 
function keyDownEvent() 
{
  var e = event.srcElement; 
    if(event.keyCode==111) 
    {
       event.keyCode =9;
    }
}
function keyDown(btnOk,btnAdd) 
{ 
    var e = event.srcElement; 
    if(event.keyCode==13) 
    { 
        if(document.getElementById(btnOk))
        {
            if(typeof(__doPostBack) != "undefined")
            __doPostBack(btnOk, "");
            // document.getElementById(btnOk).click();
        }
       else if(document.getElementById(btnAdd) != null)
       {
            if(typeof(__doPostBack) != "undefined")
           __doPostBack(btnAdd, "");;
            //document.getElementById(btnAdd).click();
        }
    }
} 

function ClearCheckBoxList(chkName)
{
    var chks = document.getElementById(chkName).getElementsByTagName("input");  
    for(var i = 0;i<chks.length;i++)
    {  
        if(chks[i].type == "checkbox")
        {
            chks[i].checked = false;        
        }
     }     
}

 function  Setddl(ddlParentName,ddlChildName,url,FieldValue,FieldText,AddSelect,hfSelect)
 {
    var ddlgss = document.getElementById(ddlChildName);
    while (ddlgss.options.length>0)
    {
        ddlgss.options.remove(0);
    }
    var oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");    //发送请求
    var oDoc = new ActiveXObject("MSXML2.DOMDocument");    //响应结果
    oHttpReq.open("post",url, false);
    oHttpReq.send("");
    result = oHttpReq.responseText;
    oDoc.loadXML(result);　
    items = oDoc.selectNodes("//Dataset//Table");
    if(AddSelect)
    {
        ddlgss.options.add(new Option("请选择",""));
    }
    var value = "";
    for (var item = items.nextNode();item != null;item = items.nextNode())
    {　
   　 var ID = item.selectSingleNode(FieldValue).text;
   　 var TITLE = item.selectSingleNode(FieldText).text;
   　 ddlgss.options.add(new Option(TITLE,ID));　
   　 value += ID+":"+TITLE +";";
   　  
  　}
  　if(typeof(hfSelect)!="undefined")　
  　document.getElementById(hfSelect).value = value;
  　
  　
 }
 
 
 function  Getgss(ddlquName,ddlgssName)
 {
    var ParentId = document.getElementById(ddlquName).value;
    var url = "SelectNoRefresh.aspx?ParentId="+ParentId +"&UnitType=3";
    Setddl(ddlquName,ddlgssName,url,"ID","TITLE",true, "hfSelectGss"); 
 }
 
 function  GetRole(ddlUserTypeTitle,ddlextendtypeTitle)
 {
    var ParentId = document.getElementById(ddlUserTypeTitle).value;
    var url = "SelectRole.aspx?UserType="+ParentId;
    Setddl(ddlUserTypeTitle,ddlextendtypeTitle,url,"USERTYPE","TYPENAME",true, "hfSelectRole"); 
 }
 
 function  Getsc(ddlgssName,ddltxtComboxlist, UnitType,UnitType2)
{
    var ParentId = document.getElementById(ddlgssName).value;
    var url = "SelectNoRefresh.aspx?ParentId="+ParentId +"&UnitType="+UnitType+"&UnitType2="+UnitType2;
 
    Setddl(ddlgssName,ddltxtComboxlist,url,"TITLE","TITLE", false,"hfSelectSc"); 
    var name = substart(ddltxtComboxlist,3);
    var txt = document.getElementById(name);
    txt.value ="";
}
 
 function  GetscByUnitType(ddlgssName,ddltxtComboxlist, ddlUnitType)
{
    var ParentId = document.getElementById(ddlgssName).value;
    var UnitType = document.getElementById(ddlUnitType).value;
    var url = "SelectNoRefresh.aspx?ParentId="+ParentId +"&UnitType="+UnitType;
    Setddl(ddlgssName,ddltxtComboxlist,url,"TITLE","TITLE", false,"hfSelectSc"); 
    var name = substart(ddltxtComboxlist,3);
    var txt = document.getElementById(name);
    txt.value ="";
}
 
 function  checkString(btnQuery)
  {
        var ColumnInfo = document.getElementById('GsdGridView1ColumnInfo');
        if(ColumnInfo == null)
        {
           return;
        }
        var ColumArray = ColumnInfo.value.split(';');
        var  s=""; 
         var  regExp=   new RegExp("[~!@#$%^&*=+[\\]{}\'\"><]");
//        var  regExp=   new RegExp("[~!@#$%^&*()=+[\\]{}\'\";:/?.,><`|！·￥…—（）\\-、；：。，》《]");
        var NotControlArray = null;
        if ( typeof(btnQuery.NotQueryControl) != "undefined" ) 
        {
            var NotQueryControl = btnQuery.NotQueryControl;
            NotControlArray = NotQueryControl.split(';');  
        }
        if ( typeof(btnQuery.QueryControl) != "undefined" ) 
        {
            var QueryControl = btnQuery.QueryControl;
            var ControlArray = QueryControl.split(';');
            for(var j=0;j<ControlArray.length;j++)
            {
                var txt = document.getElementById(ControlArray[j]);
                if (txt !=null) 
                {
                    if (txt.value == "") 
                    {
                        continue;
                    }
                    if(regExp.test(txt.value)==true)
                    {
                        s +=txt.FriendlyName + "不能包含特殊字符！"+ "<BR>"; ;
                    }
                }
             }
        }
        
       
        for(var j=0;j<ColumArray.length;j++)
        {
            var ColumIndex =ColumArray[j].split(':')[0];
            var ColumName =ColumArray[j].split(':')[1];
            if(ColumIndex=="")continue;
            var isNotQuery = false;
            if(NotControlArray != null)
            {
                 for(var k=0;k<NotControlArray.length;k++)
                 {
                     var controlename  = NotControlArray[k];
                     var controle =  controlename.toLowerCase();
                     var Field = ColumName.toLowerCase();
                     if(controle == "txt"+Field || controle == "ddl"+Field  || controle == "rbl"+Field || controle == "cbl"+Field || controle == "lbl"+Field) 
                     {
                        isNotQuery = true; 
                        break;
                     }
                }
             }
            if(isNotQuery) continue;
            
            var txt = document.getElementById('txt'+ColumName);
            if (txt == null) 
            {
                txt = document.getElementById('txtQuery'+ColumName);
            }
            if (txt !=null) 
            {
                if (txt.value == "") 
                {
                    continue;
                }
                if(regExp.test(txt.value)==true)
                {
                    s +=txt.FriendlyName + "不能包含特殊字符！"+ "<BR>"; ;
                }
            }
         }
         if (s != "") 
         {
            var span = document.createElement("SPAN");
            span.innerHTML = s;
            s = span.innerText;
            alert(s);
            return false;
         }
         return true;
        
  }
  
function  LoadRequestState(ddlSPTITLE, ddlQueryREQUESTTITLE)
{
    var ddlgss = document.getElementById(ddlQueryREQUESTTITLE);
    while (ddlgss.options.length>0)
    {
        ddlgss.options.remove(0);
    }
    var state = document.getElementById(ddlSPTITLE).value;   
    if (state == "0")
    {
        ddlgss.options.add(new Option("请选择", ""));
        ddlgss.options.add(new Option("申请添加", "00"));
        ddlgss.options.add(new Option("申请暂停", "01"));
        ddlgss.options.add(new Option("申请删除", "02"));
        ddlgss.options.add(new Option("申请恢复", "03"));
        ddlgss.options.add(new Option("申请修改", "04"));
    }
}
 
 function ClearDropdownList(objSelect) 
 { 
     for (var i = 0; i < objSelect.options.length; i++) 
     {                       
        objSelect.options[i].selected = false;                            
    }      
    objSelect.options[0].selected = true;                     
 } 
 
 function ClearRadioList(rdlName)
 {
    var rdl = rdlName.getElementsByTagName("input");  
    for(var i = 0;i<rdl.length;i++)
    {  
        if(rdl[i].type == "radio")
        {
            rdl[i].checked = false;        
        }
     } 
     rdl[0].checked = true;  
        
}

function IsExistControle(NotControlArray,FieldName)
{ 
      for(var j=0;j<NotControlArray.length;j++)
      {
         var controlename  = NotControlArray[j];
         var controle =  controlename.toString().toLowerCase();
         var Field = FieldName.toLowerCase();
         if(controle == "txt"+Field || controle == "ddl"+Field  || controle == "rbl"+Field || controle == "cbl"+Field || controle == "lbl"+Field) 
         {
             return true;
          }
       }
       return false;
}

function RefreshPage()
{
    //top.rightframe.location.reload();
    top.rightframe.location.href = top.rightframe.location.href;
    
}

function GetCookie(name)
//获得Cookie的原始值
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen)
    {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
        return GetCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}

function GetCookieVal(offset)
//获得Cookie解码后的值
{
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
    endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

function ReturnPage(btnCancel)
{
   
   if ( typeof(btnCancel.IsRefreshPage) != "undefined" ) 
    {
       //setTimeout("RefreshPage()",1000)         
        if ( typeof(btnCancel.CancelUrl) != "undefined" ) 
        {
              top.rightframe.location.href =  GetCookie(btnCancel.CancelUrl);
        }
    }
    else
    history.go(- parseInt(document.getElementById('hfReferrer').value));
}   

function ClearAllInput(btnClear)
{  
    var ColumnInfo = document.getElementById('gsdGridView1ColumnInfo');
    var  hfPrimaryKey =  document.getElementById('hfPrimaryKey');
    if (hfPrimaryKey!=null) {
         hfPrimaryKey.value = "";
    }
    
    if ( typeof(btnClear.ClearControl) != "undefined" ) 
    {
        var ClearControl = btnClear.ClearControl;
        var ControlArray = ClearControl.split(';');
        for(var j=0;j<ControlArray.length;j++)
        {
            var txt = document.getElementById(ControlArray[j]);
            if (txt !=null) 
            {
                txt.value = "";
            }
         }
    }
    
    var NotControlArray = null;
    if ( typeof(btnClear.NotClearControl) != "undefined" ) 
    {
        var NotClearControl = btnClear.NotClearControl;
        NotControlArray = NotClearControl.split(';');  
    }
     if(ColumnInfo == null) return;
    var ColumArray = ColumnInfo.value.split(';');
    for(var j=0;j<ColumArray.length;j++)
    {
        var ColumIndex =ColumArray[j].split(':')[0];
        var ColumName =ColumArray[j].split(':')[1];
        var txt = document.getElementById('txt'+ColumName);
        if (ColumIndex=="") 
        {
            continue;         
        }
        var isNotClear = false;
        if(NotControlArray != null)
        {
             for(var k=0;k<NotControlArray.length;k++)
             {
                 var controlename  = NotControlArray[k];
                 var controle =  controlename.toLowerCase();
                 var Field = ColumName.toLowerCase();
                 if(controle == "txt"+Field || controle == "ddl"+Field  || controle == "rbl"+Field || controle == "cbl"+Field || controle == "lbl"+Field) 
                 {
                    isNotClear = true; 
                    break;
                 }
            }
         }
        if (isNotClear) {
          continue;
        }
        if(txt!=null) 
        {
            txt.value =  "";
         }
         else
         {
            var cbl =  document.getElementById('cbl'+ColumName);
            if (cbl != null) 
            {
                ClearCheckBoxList('cbl'+ColumName);
            }
            else
            {
                var ddl =  document.getElementById('ddl'+ColumName);
                if (ddl != null) 
                {
                    ClearDropdownList(ddl);
                }
                else
                {
                    var rbl =  document.getElementById('rbl'+ColumName);
                    if (rbl != null) 
                    {
                        ClearRadioList(rbl);
                    }
                }
            }
            
         }
    }
    if (SelectedRow != null) 
    {
        SelectedRow.runtimeStyle.backgroundColor=SelectedRow.style.backgroundColor;
        SelectedRow.runtimeStyle.fontWeight =SelectedRow.style.fontWeight;
    
    }
    var InitValueArray = null;
    if ( typeof(btnClear.ClearInitValue) != "undefined" ) 
    {
        var InitValueControl = btnClear.ClearInitValue;
        InitValueArray = InitValueControl.split(';');  
        for(var m=0;m<InitValueArray.length;m++)
        {
            var txtname =InitValueArray[m].split(':')[0];
            var txtvalue =InitValueArray[m].split(':')[1];
            var txtcontrole =  document.getElementById(txtname);
            if (txtcontrole != null) 
            {
                txtcontrole.value = txtvalue;
            } 
        }
    }  
    
 } 
function replaceFieldName(NameValue,OldField,  NewField,NewValue)
{
   var  NameValueList = NameValue.split(';');
   for(var i in  NameValueList)
   {
      Name = NameValueList[i].split(':')[0];
      value = NameValueList[i].split(':')[1];
      if (Name == OldField) 
      {
        if (NewValue=="") 
        {
            NameValueList[i] = NewField+":"+value;
        }
        else
        {
           NameValueList[i] = NewField+":"+NewValue;
        }
        break;
         
      }
   }
   var result="";
   for(var i in  NameValueList)
   {
        result +=  NameValueList[i]+";";
   }
   return result;
 
}
 
function UserReplace(OldValue,NewValue)
{
   var spanNavigator  = document.getElementById('spanNavigator');
   if (spanNavigator) 
   {
        spanNavigator.innerText = spanNavigator.innerText.replace(OldValue,NewValue);
   }
   
}

function openWindow(url,width,height)
{
    var w =(screen.width-width)/2;
    var h = (screen.height-height)/2;
    window.open(url,"window","height="+ height +"px,width="+ width +"px, top="+ h +", left="+ w +", toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no");

}
function openDialog(url,width,height)
{
    var thisdate = new Date();
	if(url.indexOf('?') != -1)
	{
		url = url + '&t=' + thisdate.getTime();
	}
	else
	{
		url = url + '?t=' + thisdate.getTime();
	}
    window.showModalDialog(url, window, "dialogWidth: "+width+"px; dialogHeight: "+height+"px; center: yes; resizable: no; scroll: yes; status: no;help:no;");
}
function SelectCheckTitle(GridViewID,col)
{
    var KeyList="";
    var ValueList = "";
    var ArrayKeyValue = new Array("",""); 
    ArrayKeyValue[0] = "";
    ArrayKeyValue[1] = "";
    var gsdGridView = document.getElementById(GridViewID)
    for(i = 1;i < gsdGridView.rows.length; i++)
    {
        var inputArray = gsdGridView.rows[i].getElementsByTagName('INPUT');
        for(var j=0;j<inputArray.length;j++)
        {
            if(inputArray[j].type=='checkbox')
            {
                if(inputArray[j].id.indexOf('ItemCheckBox',0)>-1)
                {
                   if (inputArray[j].checked) 
                   {
                     if (KeyList== "") 
                     {
                        KeyList = gsdGridView.rows[i].PrimaryKey;
                        ValueList =gsdGridView.rows[i].cells[col].innerText;
                     }
                     else
                     {
                        KeyList +=  "," +gsdGridView.rows[i].PrimaryKey.split(':')[1];
                        ValueList +=  "," +gsdGridView.rows[i].cells[col].innerText;
                     }
                     
                   }
                     
                }
            }  
        }
    }
    ArrayKeyValue[0] =  KeyList;
    ArrayKeyValue[1] =  ValueList;
    return ArrayKeyValue;
 }
     
function SetSelect(HiddenId,DisplayValueList)
{
  var  HiddenList = HiddenId.split(';');
 
  var  hfPrimaryKey =  document.getElementById('hfPrimaryKey');
  var value  = hfPrimaryKey.value;
  for(var i in  HiddenList)
  {
      if ( HiddenList[i] == "") 
      {
          continue;
      }
      HiddenName = HiddenList[i].split(':')[0];
      HiddenValue = HiddenList[i].split(':')[1];         
      if(value == "")
      {
           value = HiddenName +":"+HiddenValue;
      }
      else
      {  
         value  = replaceFieldName(value,HiddenName,HiddenName, HiddenValue);       
        
      }
  }
  
 ;
  hfPrimaryKey.value = value;
  var  DisplayList = DisplayValueList.split(';');
  for(var i in  DisplayList)
  {
      DisplayName = DisplayList[i].split(':')[0];
      DisplayValue = DisplayList[i].split(':')[1];
      var txtDisplayName = document.getElementById('txt'+DisplayName);
      if (txtDisplayName!=null) 
      {
        txtDisplayName.value=DisplayValue;
      }
      
  }
}
