﻿function loadFilteredCompanies(CurrentLetter, updateCategory, pagesToAdd) {
    if (updateCategory == 1) {
        var CategoryId = 0;
        var radioObj = document.getElementsByName("industryCategories");
        if (!radioObj) {
            return false;
        }
        var radioLength = radioObj.length;
        if (radioLength == undefined) {
            if (radioObj.checked) {
                CategoryId = radioObj.value;
            } else {
                return false;
            }
        }

        for (var i = 0; i < radioLength; i++) {
            if (radioObj[i].checked) {
                CategoryId = radioObj[i].value;
            }
        }

        var oHdCompaniesCategory;
        oHdCompaniesCategory = document.getElementById(getHiddenCompaniesCategoryClientId());
        if (oHdCompaniesCategory) {
            oHdCompaniesCategory.value = CategoryId;
        }

        var oHdProductsCategory;
        oHdProductsCategory = document.getElementById(getHiddenProductsCategoryClientId());
        if (oHdProductsCategory) {
            oHdProductsCategory.value = CategoryId;
        }
        
        var oHdCurrentPageNumber;
        oHdCurrentPageNumber = document.getElementById(getHiddenCurrentPageClientId());
        if (oHdCurrentPageNumber) {
            oHdCurrentPageNumber.value = 1;
        }

    }

    if (CurrentLetter != '') {
        var oHdCurrentLetter;
        oHdCurrentLetter = document.getElementById(getHiddenCurrentLetterClientId());
        if (oHdCurrentLetter) {
            oHdCurrentLetter.value = CurrentLetter;
        }

        var oHdCurrentPageNumber;
        oHdCurrentPageNumber = document.getElementById(getHiddenCurrentPageClientId());
        if (oHdCurrentPageNumber) {
            oHdCurrentPageNumber.value = 1;
        }
    }

    if (pagesToAdd != 0) {
        var oHdTotalNumberOfRows;
        var oHdResultsPerPage;
        var oHdCurrentPageNumber;
        oHdTotalNumberOfRows = document.getElementById(getHiddenTotalNumberOfRowsClientId());
        oHdResultsPerPage = document.getElementById(getHiddenResultsPerPageClientId());
        oHdCurrentPageNumber = document.getElementById(getHiddenCurrentPageClientId());
        if (!oHdTotalNumberOfRows) {
            return false;
        }
        if (!oHdResultsPerPage) {
            return false;
        }
        if (!oHdCurrentPageNumber) {
            return false;
        }

        var nTotalNumberOfRows = oHdTotalNumberOfRows.value;
        var nResultsPerPage = oHdResultsPerPage.value;
        var nCurrentPageNumber = oHdCurrentPageNumber.value;
        var nFrom = (parseInt(nCurrentPageNumber) + parseInt(pagesToAdd)) * parseInt(nResultsPerPage);
        var nTo = (parseInt(nCurrentPageNumber) + parseInt(pagesToAdd) - 1) * parseInt(nResultsPerPage);
        //alert('nTotalNumberOfRows:' + nTotalNumberOfRows + '|nResultsPerPage:' + nResultsPerPage + '|nCurrentPageNumber:' + nCurrentPageNumber + '|nTmp:' + nTmp + '|pagesToAdd:' + pagesToAdd);
        if (nFrom <= 0 || nTo > parseInt(nTotalNumberOfRows)) {
            return false;
        }

        oHdCurrentPageNumber.value = parseInt(nCurrentPageNumber) + (pagesToAdd);
    }

    var oUpdateButtonWrapperId = document.getElementById(getUpdateButtonDivWrapperClientId());
    if (oUpdateButtonWrapperId) {
        var oInputs = oUpdateButtonWrapperId.getElementsByTagName('input');
        var sUpdateButtonId = getUpdateButtonClientId();
        var nUpdateButtonIdLength = sUpdateButtonId.length;
        var sTmp;
        for (var i = 0; i < oInputs.length; i++) {
            sTmp = oInputs[i].id;
            if (Right(String(sTmp), nUpdateButtonIdLength) == sUpdateButtonId) {
                oInputs[i].click();
                //loadFilteredProducts(updateCategory, 0);
            }
        }
    }

    return true;
}

function loadFilteredProducts(updateCategory, pagesToAdd) {
    if (updateCategory == 1) {
        var CategoryId = 0;
        var radioObj = document.getElementsByName("industryCategories");
        if (!radioObj) {
            return false;
        }
        var radioLength = radioObj.length;
        if (radioLength == undefined) {
            if (radioObj.checked) {
                CategoryId = radioObj.value;
            } else {
                return false;
            }
        }

        for (var i = 0; i < radioLength; i++) {
            if (radioObj[i].checked) {
                CategoryId = radioObj[i].value;
            }
        }

        var oHdProductsCategory;
        oHdProductsCategory = document.getElementById(getHiddenProductsCategoryClientId());
        if (oHdProductsCategory) {
            oHdProductsCategory.value = CategoryId;
        }

        var oHdProductsCurrentPageNumber;
        oHdProductsCurrentPageNumber = document.getElementById(getHiddenProductsCurrentPageClientId());
        if (oHdProductsCurrentPageNumber) {
            oHdProductsCurrentPageNumber.value = 1;
        }
    }

    if (pagesToAdd != 0) {
        var oHdTotalNumberOfRows;
        var oHdResultsPerPage;
        var oHdCurrentPageNumber;
        oHdTotalNumberOfRows = document.getElementById(getHiddenProductsTotalNumberOfRowsClientId());
        oHdResultsPerPage = document.getElementById(getHiddenProductsResultsPerPageClientId());
        oHdCurrentPageNumber = document.getElementById(getHiddenProductsCurrentPageClientId());
        if (!oHdTotalNumberOfRows) {
            return false;
        }
        if (!oHdResultsPerPage) {
            return false;
        }
        if (!oHdCurrentPageNumber) {
            return false;
        }

        var nTotalNumberOfRows = oHdTotalNumberOfRows.value;
        var nResultsPerPage = oHdResultsPerPage.value;
        var nCurrentPageNumber = oHdCurrentPageNumber.value;
        var nFrom = (parseInt(nCurrentPageNumber) + parseInt(pagesToAdd)) * parseInt(nResultsPerPage);
        var nTo = (parseInt(nCurrentPageNumber) + parseInt(pagesToAdd) - 1) * parseInt(nResultsPerPage);
        if (nFrom <= 0 || nTo > parseInt(nTotalNumberOfRows)) {
            return false;
        }

        oHdCurrentPageNumber.value = parseInt(nCurrentPageNumber) + (pagesToAdd);
    }

    var oUpdateButtonWrapperId = document.getElementById(getUpdateProductsButtonDivWrapperClientId());
    if (oUpdateButtonWrapperId) {
        var oInputs = oUpdateButtonWrapperId.getElementsByTagName('input');
        var sUpdateButtonId = getUpdateProductsButtonClientId();
        var nUpdateButtonIdLength = sUpdateButtonId.length;
        var sTmp;
        for (var i = 0; i < oInputs.length; i++) {
            sTmp = oInputs[i].id;
            if (Right(String(sTmp), nUpdateButtonIdLength) == sUpdateButtonId) {
                oInputs[i].click();
            }
        }
    }

    return true;
}

function loadOffsetServiceProviders(pagesToAdd, orderField) {
    if (pagesToAdd != 0) {
        var oHdTotalNumberOfRows;
        var oHdResultsPerPage;
        var oHdCurrentPageNumber;
        oHdTotalNumberOfRows = document.getElementById(getHiddenTotalNumberOfRowsClientId());
        oHdResultsPerPage = document.getElementById(getHiddenResultsPerPageClientId());
        oHdCurrentPageNumber = document.getElementById(getHiddenCurrentPageClientId());
        if (!oHdTotalNumberOfRows) {
            return false;
        }
        if (!oHdResultsPerPage) {
            return false;
        }
        if (!oHdCurrentPageNumber) {
            return false;
        }

        var nTotalNumberOfRows = oHdTotalNumberOfRows.value;
        var nResultsPerPage = oHdResultsPerPage.value;
        var nCurrentPageNumber = oHdCurrentPageNumber.value;
        var nFrom = (parseInt(nCurrentPageNumber) + parseInt(pagesToAdd)) * parseInt(nResultsPerPage);
        var nTo = (parseInt(nCurrentPageNumber) + parseInt(pagesToAdd) - 1) * parseInt(nResultsPerPage);
        //alert('nTotalNumberOfRows:' + nTotalNumberOfRows + '|nResultsPerPage:' + nResultsPerPage + '|nCurrentPageNumber:' + nCurrentPageNumber + '|nTmp:' + nTmp + '|pagesToAdd:' + pagesToAdd);
        if (nFrom <= 0 || nTo > parseInt(nTotalNumberOfRows)) {
            return false;
        }

        oHdCurrentPageNumber.value = parseInt(nCurrentPageNumber) + (pagesToAdd);
    }

    if (orderField >= 0) {
        var oHdOrderField;
        oHdOrderField = document.getElementById(getHiddenOrderFieldIdClientId());
        if (oHdOrderField) {
            oHdOrderField.value = orderField;
        }
    }
    
    var oUpdateButtonWrapperId = document.getElementById(getUpdateButtonDivWrapperClientId());
    if (oUpdateButtonWrapperId) {
        var oInputs = oUpdateButtonWrapperId.getElementsByTagName('input');
        var sUpdateButtonId = getUpdateButtonClientId();
        var nUpdateButtonIdLength = sUpdateButtonId.length;
        var sTmp;
        for (var i = 0; i < oInputs.length; i++) {
            sTmp = oInputs[i].id;
            if (Right(String(sTmp), nUpdateButtonIdLength) == sUpdateButtonId) {
                oInputs[i].click();

            }
        }
    }

    return true;
}

function resetCompanies() {
    var oHdCompaniesCategory;
    oHdCompaniesCategory = document.getElementById(getHiddenCompaniesCategoryClientId());
    if (oHdCompaniesCategory) {
        oHdCompaniesCategory.value = "";
    }

    var oHdCurrentPageNumber;
    oHdCurrentPageNumber = document.getElementById(getHiddenCurrentPageClientId());
    if (oHdCurrentPageNumber) {
        oHdCurrentPageNumber.value = 1;
    }

    var oHdCurrentLetter;
    oHdCurrentLetter = document.getElementById(getHiddenCurrentLetterClientId());
    if (oHdCurrentLetter) {
        oHdCurrentLetter.value = "";
    }
    
    var oUpdateButtonWrapperId = document.getElementById(getUpdateButtonDivWrapperClientId());
    if (oUpdateButtonWrapperId) {
        var oInputs = oUpdateButtonWrapperId.getElementsByTagName('input');
        var sUpdateButtonId = getUpdateButtonClientId();
        var nUpdateButtonIdLength = sUpdateButtonId.length;
        var sTmp;
        for (var i = 0; i < oInputs.length; i++) {
            sTmp = oInputs[i].id;
            if (Right(String(sTmp), nUpdateButtonIdLength) == sUpdateButtonId) {
                oInputs[i].click();

                //loadFilteredProducts(updateCategory, 0);
            }
        }
    }

    return true;
}
