﻿function $(name)
 {
    return document.getElementById(name);
}

function $ID(name) {
    return document.getElementById(name);
}

function $N(name) {
    return document.getElementsByName(name);
}

function $Tag(name) {
    return document.getElementsByTagName(name);
}
function doPostBack() {
    document.forms[0].submit();
}

function openWebDialog(url, width, height) {
     var varg = 'resizable:yes;help:no;status:no;center:Yes;dialogWidth:' + width + 'px;dialogHeight:' + height + 'px'
     var str = window.showModalDialog(appRoot + url, '', varg);
     if (str == 'dirty') {
         window.location = window.location.href;
     }

     return str;
 }

function openWindow(pageUrl, width, height, target) {
     var swd = window.screen.availWidth;
     var sht = window.screen.availHeight;
     if (width == null) width = 790;
     if (height == null) height = 580;
     var left = (swd - width) / 2;
     var top = (sht - height) / 2;

     var sURL = appRoot + pageUrl;
     var sTarget = "_openWindow";
     if (target != null) {
         sTarget = target;
     }

     var sRtn = window.open(sURL, sTarget, 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
     sRtn.focus();
     return sRtn;
 }

function openWebDialogFull(url  ) {
      var width = window.screen.availWidth-20;
     var height = window.screen.availHeight-20;
     
     var varg = 'resizable:yes;help:no;status:no;center:Yes;dialogWidth:' + width + 'px;dialogHeight:' + height + 'px'
     var str = window.showModalDialog(appRoot + url, '', varg);
     if (str == 'dirty') {
         window.location = window.location.href;
     }

     return str;
 }

function openWindowFull(pageUrl, target) {
      var width = window.screen.availWidth-20;
     var height = window.screen.availHeight-20;
     var left = 0;
     var top = 0;

     var sURL = appRoot + pageUrl;
     var sTarget = "_openWindow";
     if (target != null) {
         sTarget = target;
     }

     var sRtn = window.open(sURL, sTarget, 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
     sRtn.focus();
     return sRtn;
 }
 function openColorDlg(sInitColor) {
     var dlgColorHelper = document.getElementById("dlgColorHelper");
     if (dlgColorHelper == null) {
         var txtDlgColorHelper = "<OBJECT id='dlgColorHelper' height='0px' width='0px' classid='clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b' VIEWASTEXT></OBJECT>";
         document.body.insertAdjacentHTML("beforeEnd", txtDlgColorHelper);
         dlgColorHelper = document.getElementById("dlgColorHelper");
     }
     if (sInitColor == null)
         var sColor = dlgColorHelper.ChooseColorDlg();
     else
         var sColor = dlgColorHelper.ChooseColorDlg(sInitColor);
    
     sColor = sColor.toString(16);
     
     if (sColor.length < 6) {
         var sTempString = "000000".substring(0, 6 - sColor.length);
         sColor = sTempString.concat(sColor);
     }
     return "#" + sColor;
    
 }

 function setObjColor(obj) {
     var sInitColor;
     var sColor;

     if (obj.value.length > 0) {
         sInitColor = obj.value;
         sColor = openColorDlg(sInitColor)
     } else {
         sColor = openColorDlg();
     }

     if (sColor != null) {
         obj.value = sColor;
         obj.style.backgroundColor = sColor;
     }

 }

 function SelectColor(oField) {

     var sColor=openColorDlg(oField.value);

     oField.value = sColor;
 }

 function SelectDate(field, type) {

     var objParams = new Object();
     objParams.Field = field;
     objParams.Type = type;
     appRoot1 = appRoot;
     var url = appRoot1 + "include/calendar.htm";
     window.showModalDialog(url, objParams, 'dialogheight=230px;dialogwidth=335px;status=no;center=yes');

 }
 
 //选择repeater控件选择按钮
 function GridTable_CheckAll(tableId) {

     cas = $N(tableId + "_CheckAll");
     d = $N(tableId + "_CheckItem");
     if (cas == null || d == null) return;
     ca = cas[0];
     if (d.length != null) {
         for (var i = d.length - 1; i >= 0; i--) {
             if (ca.checked) d(i).checked = true;
             else d(i).checked = false;
         }
     }
     else {
         if (ca.checked) d.checked = true;
         else d.checked = false;
     }
 }
 function check_onchange(obj, value) {
     SetList(obj.checked, value);
 }
 function SetList(checked, value) {
     var set_list = uniqueid_list.value;
     var list = set_list.split(',');
     var bool = false;
     var index = -1;
     for (var i = 0; i < list.length; i++) {
         if (value == list[i]) {
             index = i;
             bool = true;
             break;
         }
     }

     if (checked) {
         var split_s = '';
         if (set_list != '') split_s = ',';

         if (!bool) //选中，且列表中不存在，则add
             set_list += split_s + value;
     }
     else //未选中，则排除该值
     {
         if (bool) //该值已经存在，则排除
         {

             list[index] = '';
             set_list = list.toString().replace(',,', ',');
         }
     }
     uniqueid_list.value = set_list;
 }
//end Repeater

//用Treeview chekbox节点单选的处理事件
 function TreeSingleSelect(treeID, checkNode) {
    
    if(treeID==null)
        return;
    var objs = $Tag("input");
    for(var i=0;i<objs.length;i++)
    {
        if(objs[i].type=='checkbox')
        {
            var obj=objs[i];
            if(obj.id.indexOf(treeID)!=-1)
            {
                if(obj!=checkNode)
                {
                    obj.checked=false;
                }
            }
        }
    }    
}
//用于给TreeView的 chebox添加 单击事件(如果要将某一TreeView变为单选择 只需调用下面方法)
function SetTreeNodeClickHander(treeID)
{
    var objs = $Tag("input");
    for(var i=0;i<objs.length;i++)
    {
        if(objs[i].type=='checkbox')
        {
            var obj=objs[i];
            if(obj.id.indexOf(treeID)!=-1) {
               
                objs[i].onclick=function(){TreeSingleSelect(treeID,this);};
            }
        }
    }
}

/* 
* 描述：跨浏览器的设置 innerHTML 方法 
* 允许插入的 HTML 代码中包含 script 和 style 
* 参数： 
* el: 合法的 DOM 树中的节点 
* htmlCode: 合法的 HTML 代码 
* 经测试的浏览器：ie5+, firefox1.5+, opera8.5+ 
*/
var setInnerHTML = function(el, htmlCode) {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
        htmlCode = '<span style="display:none"></span>' + htmlCode;
        htmlCode = htmlCode.replace(/<script([^>]*)>/gi, '<script$1 defer>');
        //alert(htmlCode);
        el.innerHTML = htmlCode;
        el.removeChild(el.firstChild);
    } else {
        var el_next = el.nextSibling;
        var el_parent = el.parentNode;
        el_parent.removeChild(el);
        el.innerHTML = htmlCode;
        if (el_next) {
            el_parent.insertBefore(el, el_next)
        } else {
            el_parent.appendChild(el);
        }
    }
} 

