﻿/******************************************
功能：打开模态窗口居中设置
Author: fqc
DateTime: 2009-08-29
参数说明：宽度，高度；
******************************************/
function OpenStatue(w, h) {
    var l = (screen.width - w) / 2;
    var t = (screen.height - h) / 2;
    var s = 'width=' + w + ', height=' + h + ', top=' + t + ', left=' + l;
    s += ', toolbar=no, scrollbars=yes, menubar=no, location=no, resizable=yes';
    return s;
}

function Show(url, w, h) {
    window.open(url, "", OpenStatue(w, h));
}
function ShowDialog(url, w, h) {
    ShowDialogStatue(url, w, h);
}
//模态窗口
function ShowDialogStatue(w, h) {
    var l = (screen.width - w) / 2;
    var t = (screen.height - h) / 2;
    var s = 'dialogWidth=' + w + 'px, dialogHeight =' + h + 'px';
    s += ',center:Yes; help:No; resizable:Yes; status:No;scroll:Yes';
    return s;
}
/******************************************
功能：选择单位名称
Author: fqc
DateTime: 2009-08-29
参数说明：select控件Name；
******************************************/

function SelectCompany(clientID) {
    var textBox = document.getElementById(clientID);
    if (textBox != null) {
        var value = textBox.value;
        var url = 'CmpListSelect.aspx?textBoxID=';
        if (value != "") {
            Show(url +escape(clientID) + "&value=" + escape(value), 800, 600);
        } else {
        Show(url + clientID, 800, 600);
        }
    }
}
function ViewCompany(clientID) {
    var textBox = document.getElementById(clientID);
    if (textBox != null) {
        var value = textBox.value;
        var url = 'CompanyDetail.aspx?textBoxID=';
        if (value != "") {
            Show(url +escape(clientID) + "&cmpName=" + escape(value), 960, 600);
        } else {
            alert("没有添加企业名称！");
        }
    }
}
function SeeCompany(value) {
    var url = 'CompanyDetail.aspx?';
    if (value != "") {
        Show(url + "cmpName=" + escape(value), 960, 600);
    }
    else {
        alert("没有添加企业名称！");
    } 
}

/******************************************
功能：设置常见控件值
Author: fqc
DateTime: 2009-08-29
参数说明：select控件Name；
******************************************/

//根据ID设置Text值
var SetTextById = function(obj) {
    var id = obj.Name;
    var value = obj.Value;
    var textBox = document.getElementById(id);
    if (textBox != null)
        textBox.value = value;
}
//I、根据名称设置Text值
var SetTextByName = function(obj) {
    var name = obj.Name;
    var value = obj.Value;
    var readOnly = obj.Readonly;
    var items = document.getElementsByName(name);
    if (items != null && items.length > 0) {
        for (var i = 0; i < items.length; i++) {
            items[i].value = value;
            if (readOnly) {
                items[i].setAttribute("readOnly", "true");
                items[i].setAttribute("class", "readonly");
                //items[i].setAttribute("style", "border-style: none;	border-color: #FFFFFF;	border-top-width: 1px;	border-right-width: 1px;	border-bottom-width: 1px;	border-left-width: 1px;	color: #C0C0C0;	font-weight: bold;	font-size: 12px;");
            }
        }
    }
}
//II、根据名称设置textArea值
var SetTextAreaByName = function(obj) {
    var name = obj.Name;
    var value = obj.Value;
    var items = document.getElementsByName(name);
    if (items != null && items.length > 0) {
        items[0].value = value;
    }
}

//III、根据名称设置Select值
var SetSelectByName = function(obj) {
    var name = obj.Name;
    var value = obj.Value;
    var isExit = false;
    if (name != null && name != '') {
        var items = document.getElementsByName(name);
        if (items != null && items.length > 0) {
            for (var j = 0; j < items.length; j++) {
                var objSelect = items[j];
                for (var i = 0; i < objSelect.options.length; i++) {
                    if (objSelect.options[i].value == value) {
                        objSelect.options[i].selected = true;
                        isExit = true;
                        break;
                    }
                }
            }
        }

    }
    return isExit;
}
//IV、根据名称设置Check值
var SetCheckByName = function(obj) {
    var name = obj.Name;
    var value = obj.Value;
    if (name != null && name != '') {
        var items = document.getElementsByName(name);
        if (items != null && items.length > 0) {
            var arr = value.split(',');
            for (var i = 0; i < items.length; i++) {
                var objCheck = items[i];
                if (objCheck != null) {
                    var checkValue = objCheck.value;
                    if (arr != null && arr.length > 0) {
                        for (var j = 0; j < arr.length; j++) {
                            if (arr[j] == checkValue) {
                                objCheck.checked = true;
                            }
                        }
                    }
                }
            }
        } 
    }
}
//V、根据名称设置Radio
var SetRadioByName = function(obj) {
    var name = obj.Name;
    var value = obj.Value;
    if (name != null && name != '') {
        var items = document.getElementsByName(name);
        if (items != null && items.length > 0) {
            for (var i = 0; i < items.length; i++) {
                var objCheck = items[i];
                if (objCheck != null) {
                    var checkValue = objCheck.value;
                    if (checkValue == value) {
                        objCheck.checked = true;
                    }
                }
            }
        }
    }
}
/******************************************
功能：根据Josn对象给客户端控件赋值,
      Josn对象包括控件Name,控件Value
      未知控件类型。
Author: fqc
DateTime: 2009-08-29
参数说明：select控件Name；
******************************************/
//客户端判断控件类型赋值
var SetByName = function(obj) {
    var name = obj.Name;
    var value = obj.Value;
    if (name != null && name != '') {
        var items = document.getElementsByName(name);
        if (items != null && items.length > 0) {
            var control = items[0];
            var controlType = control.type;
            switch (controlType) {
                case "checkbox":
                    SetCheckByName(name, value);
                    break;
                case "radio":
                    SetRadioByName(name, value);
                    break;
                case "text":
                    SetTextByName(name, value);
                    break;
                case "select-one":
                    SetSelectByName(name, value);
                    break;
                case "select-multiple":
                    SetSelectByName(name, value);
                    break;
                case "textarea":
                    SetTextareaByName(name, value);
                default:
                    break;
            }
        } 
    }
}
/******************************************
功能：打开附件窗口
Author: fqc
DateTime: 2009-08-29
参数说明：连接地址，curproject为当前项目对象
******************************************/
var ShowAppendix = function(fieldID) {
    var url = "Appendix.aspx?fieldID=" + fieldID;
    if (curproject != undefined) {
        if (url.indexOf("?") > -1)
            url = url + "&XmID=" + curproject.ID;//当前工程
        else
            url = url + "?XmID=" + curproject.ID;
    }
    Show(url, 900, 700);
}
/******************************************
功能：选择单位名称
Author: fqc
DateTime: 2009-08-29
参数说明：select控件Name；
******************************************/

function ShowCompany(clientID) {
    if (curproject != undefined) {
        if (curproject.ReadOnly) {
            ViewCompany(clientID);//显示企业信息
        }
        else {
            SelectCompany(clientID);//选择企业信息
        }
    }
}
function ShowCompanys(clientID) {
    var textBox = document.getElementById(clientID);
    if (textBox != null) {
        var value = textBox.value;
        var url = 'CmpListSelect.aspx?textBoxID=';
        if (value != "") {
            Show(url + escape(clientID) + "&lx=2&value=" + escape(value), 800, 600);
        } else {
            Show(url + clientID, 800, 600);
        }
    } 
}
   
/******************************************
功能：年度选项
Author: fqc
DateTime: 2009-08-29
参数说明：select控件Name；
******************************************/
//年度选择框
var BuildYearSelect = function(name) {
    if (name != null && name != '') {
        var items = document.getElementsByName(name);
        if (items != null && items.length > 0) {
            var control = items[0];
            var controlType = control.type;
            switch (controlType) {
                case "select-one":
                    var now = new Date();
                    var year = now.getYear();
                    for (var i = year; i >2003; i--) {
                        SelectAddItem(control, i, i);
                    }
                    break;
                default:
                    break;
            }
        }
    }
}
/******************************************
功能：奖项选项
Author: fqc
DateTime: 2009-08-29
参数说明：select控件Name；
******************************************/
var BuildAwardsSelect = function(name) {
    if (name != null && name != '') {
        var items = document.getElementsByName(name);
        if (items != null && items.length > 0) {
            var control = items[0];
            var controlType = control.type;
            switch (controlType) {
                case "select-one":
                    for (var i = 0; i < Awards.length; i++) {
                        SelectAddItem(control, Awards[i], Awards[i]);
                    }
                    break;
                default:
                    break;
            }
        }
    }
}
var Awards = new Array("市优良", "运河杯", "泰山杯","省优良","市建筑工程质量奖特别荣誉奖","省建筑施工安全文明小区","市级安全文明优良工地","市安全文明示范工地","省“质量诚信、用户满意”工程","其他");

//var Awards = new Array("市优良", "运河杯", "泰山杯", "建筑施工安全文明优良工地", "济宁市建筑工程质量奖特别荣誉奖", "建筑施工安全文明示范工地");
                     

//向select选项中 加入一个Item
var SelectAddItem = function(objSelect, objItemText, objItemValue) {
    //判断是否存在
    if (SelectIsExitItem(objSelect, objItemValue)) {
        return;
    } else {
        var varItem = new Option(objItemText, objItemValue);
        objSelect.options.add(varItem);
    }
}
// 判断select选项中 是否存在Value="paraValue"的Item        
function SelectIsExitItem(objSelect, objItemValue) {
    var isExit = false;
    for (var i = 0; i < objSelect.options.length; i++) {
        if (objSelect.options[i].value == objItemValue) {
            isExit = true;
            break;
        }
    }
    return isExit;
}
/******************************************
  功能：过滤HTML控件，将输入控件替换成SPAN
  Author: fqc
  DateTime: 2009-08-29
  参数说明：elements 要删除的控件数组；
 ******************************************/
function ReplaceControl(elements) {
    var arrObj = new Array();

    var count = elements.length;
    for (var i = 0; i < count; i++) {
        if (elements[i] == undefined)
            continue;

        var obj = document.createElement('span');
        switch (elements[i].type) {
            case "text":
                obj.setAttribute("innerHTML", elements[i].value);
                break;
            case "textarea":
                obj.setAttribute("innerHTML", elements[i].innerHTML);
                elements[i].innerHTML = '';
                break;
            case "select":
                for (var j = 0; j < elements[i].length; j++) {
                    if (elements[i][j].selected) {
                        obj.setAttribute("innerHTML", elements[i][j].text);
                        break;
                    }
                }
                elements[i].options.length = 0;
                break;
            case "checkbox":
                break;
        }
        elements[i].parentNode.appendChild(obj);
        arrObj[arrObj.length] = elements[i];
    }

    //删除表单原控件
    for (var i = 0; i < arrObj.length; i++) {
        arrObj[i].removeNode();
    }
}
function ReplaceAllControl() {
    //document.getElementById('tab_Forms').innerHTML = document.getElementById('tab_Forms').innerHTML.replace(/''/g,'');//  
    /**//* input Filter */
    var elements = document.getElementById('tab_Forms').getElementsByTagName('input');
    ReplaceControl(elements);

    /**//* TextArea Filter */
    elements = document.getElementById('tab_Forms').getElementsByTagName('textarea');
    ReplaceControl(elements);

    /**//* select */
    elements = document.getElementById('tab_Forms').getElementsByTagName('select');
    ReplaceControl(elements);
    //alert(document.getElementById('tab_Forms').innerHTML);  onload="Filter();"               
}


