﻿
/*
    Computer Science Group, LLC
    225-766-2397 office
    225-205-0263 cell
    darrell@computersciencegroup.com
    Copyright © 2008 Computer Science Group, LLC, All rights reserved.
*/

//csgCheckBox(<opCheckBoxID>)
//08/04/2008
function csgCheckBox(opCheckBoxID)
{
    //global used in properties/methods/events
    var oCsgCheckBox = this;
    /****************************************************************************************
    properties
    ****************************************************************************************/
    //cannot continue if checkbox is not found.
    this.checkBox = document.getElementById(opCheckBoxID);
    if (!this.checkBox)
    {
        alert("Checkbox " + opCheckBoxID + " not found.");
        return;
    }
    this.checkBoxID = opCheckBoxID;
    this.cssClassCheckBoxSelected = "csgCheckBoxSelected";
    this.cssClassCheckBox = "csgCheckBox";
    /****************************************************************************************
    events
    ****************************************************************************************/
    //onclick
    this.onClick = function() { if (ocsgPage.checkBoxOnClick) { ocsgPage.checkBoxOnClick(oCsgCheckBox); } }
    this.checkBox.onclick = oCsgCheckBox.onClick;
    /****************************************************************************************
    methods
    ****************************************************************************************/
    //setValueFromGridCell(<spColumnName>, <opGrid>)
    //08/04/2008
    this.setValueFromGridCell = function(spColumnName, opGrid)
    {
        var oCell = opGrid.getCellByColumnName(opGrid.getActiveRow(), spColumnName);
        if (oCell) { oCsgCheckBox.setValue(oCell.innerText == "" ? false : true); }
        else { oCsgCheckBox.setValue(false)}
    }
    //setValueFromGridHidden(<spColumnName>, <opGrid>)
    //08/04/2008
    this.setValueFromGridHidden = function(spColumnName, opGrid)
    {
        var oGridHidden = opGrid.getGridHiddenField(spColumnName);
        if (oGridHidden) { oCsgCheckBox.setValue(oGridHidden.value == "" ? false : true); }
        else { oCsgCheckBox.setValue(false)}
    }
    //setValue(<opValue>)
    //08/04/2008
    this.setValue = function(opValue)
    {
        if (typeof(opValue) == "undefined") { oCsgCheckBox.checkBox.value = false; }
        else { oCsgCheckBox.checkBox.checked = opValue; }
    }
    //onClickMethod(<opGrid>, <opToolbar>)
    //09/12/2008
    this.onClickMethod = function(opGrid, opToolbar)
    {
        var oChanged = ocsgPage.gridDataIsChanged();
        opToolbar.enableEditingToolbar(oChanged);
        opGrid.enableNavigationToolbar(!oChanged);
    }
}