var EmptyGuid = '00000000-0000-0000-0000-000000000000';
var SelectionMode = -1;
var aMce = new Array();

SubmitGridAction = function (oButton, oHidden, oSortColumnID, oSortDirection, oCurrentPageNumber, oRecordsPerPage, oSearchID, oViewID) {
    SelectionMode = -1;
    if (document.getElementById(oHidden).value != '') {
        var qSearch = JSON.parse(document.getElementById(oHidden).value, null);
        var qSearchFields = qSearch.QuickSearch;
    }

    if (qSearchFields == undefined) {
        qSearchFields = new Array();
    }


    if (oViewID == undefined) {
        oViewID = '00000000-0000-0000-0000-000000000000';
    }
    //document.getElementById(oHidden).value = '{"SortColumnID":"' + oSortColumnID + '", "SortDirection":' + oSortDirection + ', "CurrentPageNumber":' + oCurrentPageNumber + ',"RecordsPerPage":' + oRecordsPerPage + ',"SearchID":"' + oSearchID + '","ViewID":"' + oViewID + '"}';
    document.getElementById(oHidden).value = '{"SortColumnID":"' + oSortColumnID + '", "SortDirection":' + oSortDirection + ', "CurrentPageNumber":' + oCurrentPageNumber + ',"RecordsPerPage":' + oRecordsPerPage + ',"SearchID":"' + oSearchID + '","ViewID":"' + oViewID + '","QuickSearch":' + JSON.stringify(qSearchFields) + '}';
    document.getElementById(oButton).click();
};

RefreshParent = function (oButton, oHidden, oHiddenIDs) {
    SelectionMode = -1;
    if (oHiddenIDs != null || oHiddenIDs != undefined) {
        document.getElementById('hid_' + oHiddenIDs).value = '';
    }
    document.getElementById(oButton).click();
};

RelatePopup = function (SearchIDHidden, ActionButtonID, RelatedModuleID, EntityID, OBJButtonText) {

    var _URL = 'RelatePopup.aspx?RelatedModuleID=' + RelatedModuleID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ID=' + EntityID;
    window.open(_URL, OBJButtonText, 'width=1000,height=400,resizable=1,scrollbars=1');
    return false;
};

PopupNewRelationEntity = function (SearchIDHidden, ActionButtonID, RelatedModuleID, EntityID, ModuleID, PageID, OBJButtonText) {
    var _URL = 'AddNewRelationEntity.aspx?RelatedModuleID=' + RelatedModuleID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ID=' + EntityID + '&ModuleID=' + ModuleID + '&PageID=' + PageID;
    window.open(_URL, OBJButtonText, 'width=700,height=400,resizable=1,scrollbars=1');
    return false;
};

PopupMassNewRelationEntity = function (SearchIDHidden, ActionButtonID, RelatedModuleID, EntityID, ModuleID, PageID, OBJButtonText) {
    var _URL = 'AddMassNewRelationEntity.aspx?RelatedModuleID=' + RelatedModuleID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ID=' + EntityID + '&ModuleID=' + ModuleID + '&PageID=' + PageID;
    window.open(_URL, OBJButtonText, 'width=700,height=400,resizable=1,scrollbars=1');
    return false;
};

DeRelatePopup = function (SearchIDHidden, ActionButtonID, RelatedModuleID, ID, OBjID, OBJButton) {

    var oSearchID = EmptyGuid;
    var oViewID = EmptyGuid;
    try {
        var oSearchControl = document.getElementById(SearchIDHidden);
        if (oSearchControl.value != '') {
            oSearch = JSON.parse(oSearchControl.value, null);
            oSearchID = oSearch.SearchID;
            oViewID = oSearch.ViewID;
        }
    }
    catch (e) { }
    var _HiddenIds = document.getElementById('hid_' + OBjID);
    if (_HiddenIds != null && _HiddenIds != undefined) {
        if (_HiddenIds.value.length > 0) {
            var oIDs = JSON.parse(_HiddenIds.value, null);
            if (oIDs.length > 0) {
                SelectionMode = 0;
            }
        }
    }
    if (SelectionMode >= 0) {
        var _URL = 'DeRelatePopup.aspx?RelatedModuleID=' + RelatedModuleID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&SectionID=' + OBjID + '&EntityID=' + ID;
        window.open(_URL, OBJButton, 'width=400,height=200,resizable=1,scrollbars=1');
    }
    else {
        alert('No record is selected.');
    }
    return false;
};

DeletePopup = function (OBjID) {
    window.open('MassDelete.aspx?ID=' + OBjID, 'Delete Popup', 'width=400;height=200;resizable=1;scrollbars=1');
};

MassPopup = function (SearchIDHidden, ActionButtonID, OBjID, ModuleID) {
    var SelectionMode = -1;
    var oSearchID = EmptyGuid;
    var oViewID = EmptyGuid;
    try {
        var oSearchControl = document.getElementById(SearchIDHidden);
        if (oSearchControl.value != '') {
            oSearch = JSON.parse(oSearchControl.value, null);
            oSearchID = oSearch.SearchID;
            oViewID = oSearch.ViewID;
        }
    }

    catch (e) { }
    var _HiddenIds = document.getElementById('hid_' + OBjID);
    if (_HiddenIds != null && _HiddenIds != undefined) {
        if (_HiddenIds.value.length > 0) {
            var oIDs = JSON.parse(_HiddenIds.value, null);
            if (oIDs.length > 0) {
                SelectionMode = 0;
            }
        }
    }
    if (SelectionMode >= 0) {
        if (ModuleID == null || ModuleID == undefined)
            ModuleID = EmptyGuid;
        window.open('MassUpdate.aspx?SearchID=' + oSearchID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ViewID=' + oViewID + '&EntityID=' + OBjID + '&RelatedModuleID=' + ModuleID, 'MassUpdate Popup', 'width=830,height=400,resizable=1,scrollbars=1');
    }
    else {
        alert('No record is selected.');
    }
    return false;
};
MergePopup = function (SearchIDHidden, ActionButtonID, OBjID, ModuleID) {
    // debugger;
    var SelectionMode = -1;
    var oSearchID = EmptyGuid;
    var oViewID = EmptyGuid;
    try {
        var oSearchControl = document.getElementById(SearchIDHidden);
        if (oSearchControl.value != '') {
            oSearch = JSON.parse(oSearchControl.value, null);
            oSearchID = oSearch.SearchID;
            oViewID = oSearch.ViewID;
        }
    }

    catch (e) { }
    var _HiddenIds = document.getElementById('hid_' + OBjID);
    if (_HiddenIds != null && _HiddenIds != undefined) {
        if (_HiddenIds.value.length > 0) {
            var oIDs = JSON.parse(_HiddenIds.value, null);
            if (oIDs.length > 0) {
                SelectionMode = 0;
            }
        }
    }
    if (SelectionMode >= 0) {
        window.open('Merge.aspx?SearchID=' + oSearchID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ViewID=' + oViewID + '&EntityID=' + OBjID + '&ModuleID=' + ModuleID, 'Merge Popup', 'width=830,height=400,resizable=1,scrollbars=1');
    }
    else {
        // alert('No record is selected.');
        alert('select at least two records to merge');
    }
    return false;
};

PublishPopup = function (ModuleID, EntityID) {
    window.open('Publish.aspx?ID=' + EntityID + '&ModuleID=' + ModuleID, 'Publish Popup', 'width=800,height=400,resizable=1,scrollbars=1');
    return false;
};

PublishFieldPopup = function (AssociatedModuleID, DataField, FieldTypeID, FieldID) {
    if (FieldTypeID == 12) {
        DataField = FieldID;
    }
    window.open('PublishField.aspx?AssociatedModuleID=' + AssociatedModuleID + '&DataField=' + DataField + '&FieldTypeID=' + FieldTypeID + '&OpenerFieldID=' + FieldID, 'Publish Popup', 'width=800,height=400,resizable=1,scrollbars=1');
    return false;
};

PublishIndexPopup = function (ActionButtonID, SearchIDHidden, EntityID) {
    window.open('PublishList.aspx?ID=' + EntityID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID, 'Publish Popup', 'width=800,height=400,resizable=1,scrollbars=1');
    return false;
};

ConvertMassPopup = function (SearchIDHidden, ActionButtonID, OBjID, ModuleID) {
    var oSearchID = EmptyGuid;
    var oViewID = EmptyGuid;
    try {
        var oSearchControl = document.getElementById(SearchIDHidden);
        if (oSearchControl.value != '') {
            oSearch = JSON.parse(oSearchControl.value, null);
            oSearchID = oSearch.SearchID;
            oViewID = oSearch.ViewID;
        }
    }
    catch (e) { }
    var _HiddenIds = document.getElementById('hid_' + OBjID);
    if (_HiddenIds != null && _HiddenIds != undefined) {
        if (_HiddenIds.value.length > 0) {
            var oIDs = JSON.parse(_HiddenIds.value, null);
            if (oIDs.length > 0) {
                SelectionMode = 0;
            }
        }
    }
    if (SelectionMode >= 0) {
        window.open('ConvertMapping.aspx?SearchID=' + oSearchID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ViewID=' + oViewID + '&EntityID=' + OBjID + '&ModuleID=' + ModuleID, 'Convert Popup', 'width=600;height=400;resizable=1;scrollbars=1');
    }
    else {
        alert('No record is selected.');
    }
    return false;
};
ConvertPopup = function (SearchIDHidden, ActionButtonID, OBjID, ModuleID) {
    var oSearchID = EmptyGuid;
    var oViewID = EmptyGuid;
    window.open('ConvertMapping.aspx?SearchID=' + oSearchID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ViewID=' + oViewID + '&EntityID=' + OBjID + '&ModuleID=' + ModuleID, 'Convert Popup', 'width=600;height=400;resizable=1;scrollbars=1');
    return false;
};

TeamManagementPopup = function (SearchIDHidden, ActionButtonID, OBjID, ModuleID) {
    //debugger
    var oSearchID = EmptyGuid;
    var oViewID = EmptyGuid;
    try {
        var oSearchControl = document.getElementById(SearchIDHidden);
        if (oSearchControl.value != '') {
            oSearch = JSON.parse(oSearchControl.value, null);
            oSearchID = oSearch.SearchID;
            oViewID = oSearch.ViewID;
        }
    }
    catch (e) { }
    var _HiddenIds = document.getElementById('hid_' + OBjID);
    if (_HiddenIds != null && _HiddenIds != undefined) {
        if (_HiddenIds.value.length > 0) {
            var oIDs = JSON.parse(_HiddenIds.value, null);
            if (oIDs.length > 0) {
                SelectionMode = 0;
            }
        }
    }
    if (SelectionMode >= 0) {
        if (ModuleID == null || ModuleID == undefined)
            ModuleID = EmptyGuid;
        window.open('TeamManagementPopup.aspx?SearchID=' + oSearchID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ViewID=' + oViewID + '&EntityID=' + OBjID + '&RelatedModuleID=' + ModuleID, 'Team Management Popup', 'width=600;height=300;resizable=1;scrollbars=1');
    }
    else {
        alert('No record is selected.');
    }
    return false;
};
MassDeletePopup = function (SearchIDHidden, ActionButtonID, OBjID, ModuleID) {
    //debugger
    var oSearchID = EmptyGuid;
    var oViewID = EmptyGuid;
    try {
        var oSearchControl = document.getElementById(SearchIDHidden);
        if (oSearchControl.value != '') {
            oSearch = JSON.parse(oSearchControl.value, null);
            oSearchID = oSearch.SearchID;
            oViewID = oSearch.ViewID;
        }
    }
    catch (e) { }
    var _HiddenIds = document.getElementById('hid_' + OBjID);
    if (_HiddenIds != null && _HiddenIds != undefined) {
        if (_HiddenIds.value.length > 0) {
            var oIDs = JSON.parse(_HiddenIds.value, null);
            if (oIDs.length > 0) {
                SelectionMode = 0;
            }
        }
    }
    if (SelectionMode >= 0) {
        if (ModuleID == null || ModuleID == undefined)
            ModuleID = EmptyGuid;
        window.open('MassDelete.aspx?SearchID=' + oSearchID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ViewID=' + oViewID + '&EntityID=' + OBjID + '&RelatedModuleID=' + ModuleID, 'MassDelete Popup', 'width=400;height=200;resizable=1;scrollbars=1');
    }
    else {
        alert('No record is selected.');
    }
    return false;
};

MassDelPopup = function (EntityIDs, Url) {
    // debugger;
    var _Url = BaseUrl + 'CRM/' + Url + 'MassDelete.aspx?ID=' + EntityIDs;
    if (OBjID = '') {
        alert('No record is selected.');
    }
    else {

        window.open(Url, 'MassDelete Popup', 'width=400;height=200;resizable=1;scrollbars=1');
    }


};

SearchPopup = function (oBtnID, SearchIDHidden, oHidden, ModuleID) {
    window.open('Search.aspx?ActionButtonID=' + oBtnID + '&SearchIDHidden=' + SearchIDHidden + '&hidSearchID=' + oHidden + '&EntityModuleID=' + ModuleID, 'Search Popup', 'width=850;height=400;resizable=1;scrollbars=1');
    return false;
};

EditSearchPopup = function (DropdownID, oBtnID, SearchIDHidden, oHidden, ModuleID) {
    var dropdown = document.getElementById(DropdownID);

    var _SelectedIndex = dropdown.selectedIndex;
    if (_SelectedIndex > 0) {
        var SelValue = dropdown.options[_SelectedIndex].value;
        var _URL = 'Search.aspx?ID=' + SelValue + '&ActionButtonID=' + oBtnID + '&SearchIDHidden=' + SearchIDHidden + '&hidSearchID=' + oHidden + '&EntityModuleID=' + ModuleID;
        window.open(_URL, 'Search Popup', 'width=850;height=400;resizable=1;scrollbars=1');
    }


    return false;
};

CallSavedSearch = function (dropdown, oBtnID, SearchIDHidden, oHidden) {
    var _SelectedIndex = dropdown.selectedIndex;

    hidSearchID = document.getElementById(oHidden);

    if (_SelectedIndex > 0) {

        var SelValue = dropdown.options[_SelectedIndex].value;
        hidSearchID.value = SelValue;
        var _RecordsPerPage = 10;
        var oViewID = EmptyGuid;
        try {
            var oSearchControl = document.getElementById(SearchIDHidden);

            if (oSearchControl.value != '') {
                oSearch = JSON.parse(oSearchControl.value, null);
                oViewID = oSearch.ViewID;
                _RecordsPerPage = oSearch.RecordsPerPage;
            }
        }
        catch (e) { }

        SubmitGridAction(oBtnID, SearchIDHidden, EmptyGuid, false, 1, _RecordsPerPage, SelValue, oViewID);
    }
    else {
        hidSearchID.value = '';
        ClearSearch(oBtnID, oHidden, SearchIDHidden);
    }
};

ExecuteSearch = function (_ID, oBtnID, SearchIDHidden, oHidden) {

    document.getElementById(oHidden).value = _ID;

    var oViewID = EmptyGuid;
    try {
        var oViewControl = document.getElementById(SearchIDHidden);
        var _RecordsPerPage = 10;
        if (oViewControl.value != '') {
            oView = JSON.parse(oViewControl.value, null);
            oViewID = oView.ViewID;
            _RecordsPerPage = oView.RecordsPerPage;
        }
    }
    catch (e) { }

    SubmitGridAction(oBtnID, SearchIDHidden, EmptyGuid, false, 1, _RecordsPerPage, _ID, oViewID);
};

ClearSearch = function (oBtnID, oHidden, SearchIDHidden) {
    document.getElementById(oHidden).value = '';
    var oViewID = EmptyGuid;
    try {
        var oSearchControl = document.getElementById(SearchIDHidden);
        var _RecordsPerPage = 10;
        if (oSearchControl.value != '') {
            oSearch = JSON.parse(oSearchControl.value, null);
            oViewID = oSearch.ViewID;
            oSearch.QuickSearch = null;
            oSearchControl.value = JSON.stringify(oSearch);
            _RecordsPerPage = oSearch.RecordsPerPage;
        }
    }
    catch (e) { }
    SubmitGridAction(oBtnID, SearchIDHidden, EmptyGuid, false, 1, _RecordsPerPage, EmptyGuid, oViewID);
};

CallSavedViews = function (dropdown, oBtnID, SearchIDHidden, oHidden) {

    var _SelectedIndex = dropdown.selectedIndex;

    hidViewID = document.getElementById(oHidden);

    if (_SelectedIndex > -1) {

        var val = dropdown.options[_SelectedIndex].value.split(',');
        var SelValue = val[0];
        hidViewID.value = SelValue;
        var oViewID = SelValue;
        var oSearchID = EmptyGuid;
        try {
            var oViewControl = document.getElementById(SearchIDHidden);
            var _RecordsPerPage = 10;
            if (oViewControl.value != '') {
                oView = JSON.parse(oViewControl.value, null);
                oSearchID = oView.SearchID;
                _RecordsPerPage = oView.RecordsPerPage;
            }
        }
        catch (e) { }

        SubmitGridAction(oBtnID, SearchIDHidden, EmptyGuid, false, 1, _RecordsPerPage, oSearchID, SelValue);
    }
    else {
        hidViewID.value = '';
    }
};


ViewPopup = function (oBtnID, SearchIDHidden, oHidden, ModuleID) {
    window.open('EditView.aspx?ActionButtonID=' + oBtnID + '&SearchIDHidden=' + SearchIDHidden + '&hidViewID=' + oHidden + '&EntityModuleID=' + ModuleID, 'View Popup', 'width=850;height=400;resizable=1;scrollbars=1');
    return false;
};

EditViewPopup = function (DropdownID, oBtnID, SearchIDHidden, oHidden, ModuleID) {

    var dropdown = document.getElementById(DropdownID);
    var _SelectedIndex = dropdown.selectedIndex;
    if (_SelectedIndex > -1) {
        var val = dropdown.options[_SelectedIndex].value.split(',');
        var SelValue = val[0];
        var _URL = 'EditView.aspx?ID=' + SelValue + '&ActionButtonID=' + oBtnID + '&SearchIDHidden=' + SearchIDHidden + '&hidViewID=' + oHidden + '&EntityModuleID=' + ModuleID;
        window.open(_URL, 'View Popup', 'width=850;height=400;resizable=1;scrollbars=1');
    }


    return false;
};

ExecuteView = function (_ID, oBtnID, SearchIDHidden, oHidden) {

    document.getElementById(oHidden).value = _ID;

    var oSearchID = EmptyGuid;
    try {
        var oViewControl = document.getElementById(SearchIDHidden);
        var _RecordsPerPage = 10;
        if (oViewControl.value != '') {
            oView = JSON.parse(oViewControl.value, null);
            oSearchID = oView.SearchID;
            _RecordsPerPage = oView.RecordsPerPage;
        }
    }
    catch (e) { }

    SubmitGridAction(oBtnID, SearchIDHidden, EmptyGuid, false, 1, _RecordsPerPage, oSearchID, _ID);
};


UnCheckAllButton = function (oBjID, oOtherID, oBjName, SearchIDHidden) {

    var oBj = document.getElementById(oBjID);
    var oChecks = document.getElementsByName(oBjName);

    for (k = 0; k < oChecks.length; k++) {
        oChecks[k].checked = false;
        IsCheckAll(oChecks[k], oBjName, oBjName);
    }

    oBj.checked = false;

    ShowHideCheckDetails(document.getElementById(oOtherID), SearchIDHidden);

    var _HiddenIds = document.getElementById('hid_' + oBjID.replace('all_', ''));
    if (_HiddenIds != null && _HiddenIds != undefined) {
        _HiddenIds.value = '';
    }
};

CheckAllButton = function (oBjID, oOtherID, oBjName, SearchIDHidden) {
    var oBj = document.getElementById(oBjID);
    var oChecks = document.getElementsByName(oBjName);
    for (k = 0; k < oChecks.length; k++) {
        oChecks[k].checked = true;
        IsCheckAll(oChecks[k], oBjName, oBjName);
    }
    oBj.checked = true;

    ShowHideCheckDetails(document.getElementById(oOtherID), SearchIDHidden);
};

CheckAllChecked = function (oBj, oOtherID, oBjName, SearchIDHidden) {
    var oChecks = document.getElementsByName(oBjName);
    if (oBj.checked) {
        for (k = 0; k < oChecks.length; k++) {
            oChecks[k].checked = true;
            IsCheckAll(oChecks[k], oBjName, oBjName);
        }
    }
    else {
        for (k = 0; k < oChecks.length; k++) {
            oChecks[k].checked = false;
            IsCheckAll(oChecks[k], oBjName, oBjName);
        }
    }

};

IsCheckAll = function (oBj, oBjName, ObjID) {

    var chkCheckAll = document.getElementById('all_' + ObjID);
    document.getElementById('label_' + ObjID).title = 'Click here to expand all options';
    document.getElementById('label_' + ObjID).style.backgroundColor = '#eeeeee';

    SelectionMode = -1;
    var IsCheck = true;
    var aChecks = document.getElementsByName(oBjName);
    for (i = 0; i < aChecks.length; i++) {
        if (!aChecks[i].checked) {
            IsCheck = false;
            break;
        }
    }

    for (i = 0; i < aChecks.length; i++) {
        if (aChecks[i].checked) {
            SelectionMode = 0;
            break;
        }
    }

    var _HiddenIds = document.getElementById('hid_' + ObjID);
    var oIDs;
    if (_HiddenIds != null && _HiddenIds != undefined) {
        if (_HiddenIds.value.length > 0) {
            oIDs = JSON.parse(_HiddenIds.value, null);
        }


        if (oBj.checked) {
            var oId = { 'ID': oBj.value };
            if (oIDs != null && oIDs != undefined) {
                var IsIDExists = false;
                for (i = 0; i < oIDs.length; i++) {
                    if (oIDs[i].ID == oId.ID) {
                        IsIDExists = true;
                        break;
                    }
                }
                if (!IsIDExists) {
                    oIDs.push(oId);
                }
            }
            else {
                oIDs = [oId];
            }
        }
        else {
            for (i = 0; i < oIDs.length; i++) {
                if (oIDs[i].ID == oBj.value) {
                    oIDs.splice(i, 1);
                    break;
                }
            }
        }

        _HiddenIds.value = JSON.stringify(oIDs, null);
    }


    chkCheckAll.checked = IsCheck;

};

ShowHideCheckDetails = function (oBj, SearchIDHidden) {
    if (oBj.style.display == 'none') {
        oBj.style.display = '';
        oBj.style.visibility = 'visible';
    }
    else {
        oBj.style.display = 'none';
        oBj.style.visibility = 'hidden';
    }
};

LoadSelectionIDs = function (CheckName) {
    var _HiddenIds = document.getElementById('hid_' + CheckName);
    if (_HiddenIds != null && _HiddenIds != undefined) {
        return _HiddenIds.value;
    }
    return '';
};

LoadSelectionMode = function () {
    return 0;
    //return SelectionMode;
};

IsChecked = function (ObjID) {

    var _HiddenIds = document.getElementById('hid_' + ObjID);
    if (_HiddenIds != null && _HiddenIds != undefined) {
        if (_HiddenIds.value.length > 0) {
            var oIDs = JSON.parse(_HiddenIds.value, null);

            for (i = 0; i < oIDs.length; i++) {
                oChk = document.getElementById('chk_' + oIDs[i].ID);
                if (oChk != null && oChk != undefined) {
                    oChk.checked = true;
                }
            }

            if (oIDs.length > 0) {

                var IsCheck = true;

                var chkName = 'all_' + ObjID;
                var aChecks = document.getElementsByName(ObjID);
                for (i = 0; i < aChecks.length; i++) {
                    if (!aChecks[i].checked) {
                        IsCheck = false;
                        break;
                    }
                }

                var chkCheckAll = document.getElementById(chkName);
                chkCheckAll.checked = IsCheck;
            }
        }
    }
};


PreviousPage = function () {
    history.back();
};

OpenPopup = function (AssociateModuleID, IDControl, ValueControl, FieldLabel) {
    //debugger;
    var _URL = 'Popup.aspx?AssociateModuleID=' + AssociateModuleID + '&IDControl=' + IDControl + '&ValueControl=' + ValueControl;
    window.open(_URL, FieldLabel, 'width=800px;height=400px;');
    return false;
};
OpenVideoPopup = function (videoUrl,VideoName) {
    //debugger;
    var _URL ='CRM/DynamicPortals/VideoPopup.aspx?videoUrl=' + videoUrl;
    window.open(_URL, '', 'width=550px;height=570px;');
    return false;
};
ClearAll = function (IDControl, ValueControl) {
    document.getElementById(ValueControl).value = '';
    document.getElementById(IDControl).value = '';
};

ChangeControlValue = function (_ID, _Value, IDControl, ValueControl) {
    document.getElementById(IDControl).value = _ID;
    document.getElementById(ValueControl).value = _Value;
    document.getElementById(ValueControl).focus();
};

colorChanged = function (sender) {
    sender.get_element().style.color = '#' + sender.get_selectedColor();
};
OpenColorBox = function (oCtrl, ModuleId) {
    var _PopupUrl = BaseUrl + 'CRM/Administration/Modules/FormsDesign/ColorPalette.aspx?ModuleID=' + ModuleId + '&Color=' + oCtrl.value.replace('#', '') + '&Ctrl=' + oCtrl.id;
    window.open(_PopupUrl, 'Color Pallet', 'width=566px;height=410px;');
    return false;
};

CloseColorClicked = function (sender) {
    try {
        if (sender != null) //if user clicked on OK button in popup page
        {
            var strColorCode = sender.ColorCode;
            var ControlName = sender.ControlName;
            document.getElementById(ControlName).value = strColorCode;
        }
        colorModal = null;
    }
    catch (e) {

    }
};

isNumberKey = function (evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
};

OpenPopupPage = function (_Text) {
    var sURL = '';
    if (_Text != 'NOURL') {
        sURL = 'editXML.aspx?TERM=' + _Text;
    }
    else {
        var sURL = 'editXML.aspx';
    }
    var oWin = window.open(sURL, 'EditControl', 'width=600,height=300,resizable=1,scrollbars=1');
    oWin.focus();
    return false;
};

CloseLoginPopup = function () {
    var _Opener = p.FindParentWindow(window);
    _Opener.location.href = _Opener.location.href;
    window.close();
    return true;
};

CloseLoginAdmin = function () {
    var _Opener = p.FindParentWindow(window);
    _Opener.location.href = BaseUrl + 'CRM/Home/Index.aspx';
    window.close();
    return true;
};

EditControl = function (sName, Mode) {
    var sURL = BaseUrl + 'CRM/Administration/EditControl/EditAddEditModule.aspx?name=' + sName + '&Mode=' + Mode;
    var oWin = window.open(sURL, 'EditControl', 'width=900,height=400,resizable=1,scrollbars=1');
    oWin.focus();
};

EditGrid = function (sName) {
    var sURL = BaseUrl + 'CRM/Administration/EditControl/EditGridView.aspx?name=' + sName;
    var oWin = window.open(sURL, 'EditControl', 'width=500,height=400,resizable=1,scrollbars=1');
    oWin.focus();
};

EditDropdown = function (sName) {
    var sURL = BaseUrl + 'CRM/Administration/EditControl/EditDropDown.aspx?Dropdown=' + sName;
    var oWin = window.open(sURL, 'EditControl', 'width=450,height=400,resizable=1,scrollbars=1');
    oWin.focus();
};

EditRelArea = function (sName) {
    var sURL = BaseUrl + 'CRM/Administration/EditControl/EditRelationalEntity.aspx?name=' + sName;
    var oWin = window.open(sURL, 'EditControl', 'width=400,height=400,resizable=1,scrollbars=1');
    oWin.focus();
};

EditDropdownTerminology = function (sName) {
    var sURL = BaseUrl + 'CRM/Administration/EditControl/EditDropdownTerminology.aspx?name=' + sName;
    var oWin = window.open(sURL, 'EditControl', 'width=500,height=400,resizable=1,scrollbars=1');
    oWin.focus();
};

CloseAndBindData = function () {
    var _Opener = p.FindParentWindow(window);
    _Opener.ReloadPage();
    window.close();
};

FindMce = function (Control) {
    for (i = 0; i < aMce.length; i++) {
        if (aMce[i].Control == Control) {
            return aMce[i];
        }
    }

    return null;
};

ReInitMceCall = function (Control, _lang) {
    var oJson = FindMce(Control);
    if (oJson != null) {
        oJson.lang = _lang;
        InitMce(oJson.Control, _lang, oJson.IsFullHtmlArea, oJson.RootUrl);
    }
};

InitMce = function (Control, _lang, IsFullHtmlArea, RootUrl) {

    var oJson = FindMce(Control);
    if (oJson != null) {
        oJson.lang = _lang;
        oJson.IsFullHtmlArea = IsFullHtmlArea;
        oJson.RootUrl = RootUrl;
    }
    else {
        oJson = { 'Control': Control, 'lang': _lang, 'IsFullHtmlArea': IsFullHtmlArea, 'RootUrl': RootUrl };
        aMce.push(oJson);
    }

    var theme_advanced_buttons1val = '';
    var theme_advanced_buttons2val = '';
    var theme_advanced_buttons3val = '';

    if (IsFullHtmlArea) {
        theme_advanced_buttons1val = '|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,forecolor,backcolor,|';
        theme_advanced_buttons2val = '|,insertlayer,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,pagebreak,tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,iespell,advhr,|,ltr,rtl,|,image,media,|';
        theme_advanced_buttons3val = '|,fullscreen,template,code,langeage,|';
    } else {
        theme_advanced_buttons1val = '|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect,|';
        theme_advanced_buttons2val = '|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,forecolor,backcolor,|,fullscreen,template,code,|';
        theme_advanced_buttons3val = '';
    }
    tinyMCE.init({
        // General options
        mode: 'exact',
        elements: Control,
        theme: 'advanced',
        plugins: 'pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,langeage',
        language: _lang,

        // Theme options
        theme_advanced_buttons1: theme_advanced_buttons1val,
        theme_advanced_buttons2: theme_advanced_buttons2val,
        theme_advanced_buttons3: theme_advanced_buttons3val,

        relative_urls: false,
        theme_advanced_toolbar_location: 'top',
        theme_advanced_toolbar_align: 'left',
        theme_advanced_statusbar_location: 'bottom',
        theme_advanced_resizing: false,

        // Example content CSS (should be your site CSS)
        content_css: RootUrl + 'CRM/DynamicPortals/Themes/Style/ChurchillClub.css',

        // Drop lists for link/image/media/template dialogs
        template_external_list_url: RootUrl + 'CRM/Administration/Modules/Fields/FieldsControls/tinymce/examples/lists/template_list.js',
        external_link_list_url: RootUrl + 'CRM/Administration/Modules/Fields/FieldsControls/tinymce/examples/lists/link_list.js',
        external_image_list_url: RootUrl + 'CRM/Administration/Modules/Fields/FieldsControls/tinymce/examples/lists/image_list.js',
        media_external_list_url: RootUrl + 'CRM/Administration/Modules/Fields/FieldsControls/tinymce/examples/lists/media_list.js',
        valid_elements: "*[*]",

        // Style formats
        style_formats: [
			    { title: 'Bold text', inline: 'b' },
			    { title: 'Red text', inline: 'span', styles: { color: '#ff0000'} },
			    { title: 'Red header', block: 'h1', styles: { color: '#ff0000'} },
			    { title: 'Example 1', inline: 'span', classes: 'example1' },
			    { title: 'Example 2', inline: 'span', classes: 'example2' },
			    { title: 'Table styles' },
			    { title: 'Table row 1', selector: 'tr', classes: 'tablerow1' }
		    ]
    });
};

RegisterMembership = function () {
    var oYear = document.getElementsByName('membershipDuration');
    var oEntityID = document.getElementById('EntityID');
    if (oYear != null) {
        window.location.href = BaseUrl + 'MembershipRegistration.aspx?d=' + oYear[0].value + '&t=' + oEntityID.value;
    }
};

RenewMembership = function () {
    window.location.href = BaseUrl + 'MembershipRenewal.aspx';

};

OpenAddPopup = function (Url) {
    var _URL = BaseUrl + 'CRM/' + Url + 'AddPopup.aspx?po=1';
    window.open(_URL, 'Add New Popup', 'width=800;height=400;resizable=1;scrollbars=1');
};

RemoveDuplicateString = function (StrList) {
    var tempList = StrList.split(',');
    var strcol = {};
    for (i = 0; i < tempList.length; i++) {
        key = tempList[i].replace(/^\s*/, "").replace(/\s*$/, "");
        strcol[key] = true;
    }
    var resultList = [];
    for (var c in strcol) {
        resultList.push(c);
    }
    var retValue = resultList.join(',');
    return retValue;


};

CheckCoupons = function (oCoupon, oButton, oButtonC) {
    var Coupons = document.getElementById(oCoupon).value;
    if (Coupons.length > 0) {
        Coupons = Coupons.replace(/\n\r?/g, ',');
        coupons = RemoveDuplicateString(Coupons);
        var oService = BaseUrl + 'CRM/DynamicModules/CompareUniquename.asmx/CheckValidCoupons';
        $.ajax({
            type: "POST",
            url: oService,
            data: '{"Coupons": "' + Coupons + '"}',
            contentType: 'application/json; charset=utf-8',
            dataType: "json",
            success: function (msg) {
                if (msg.d == 1) {
                    //$('#dvImages').html('');
                    document.getElementById(oButton).click();
                }
                else {
                    //$('#dvImages').html('Invalid Coupons.');
                    document.getElementById(oButtonC).click();
                }
            },
            error: function (e) {
                alert(e.responseText);
            }
        });
        return false;
    }
    else {
        document.getElementById(oButton).click();
        return true;
    }
};

GoToTop = function () {
    window.scrollTo(0, 0);
    window.location.href = "#Top";
};

ForgotPassword = function () {
    var PassUrl = BaseUrl + 'ForgotPassword.aspx';
    window.open(PassUrl, 'Forgot Password', 'width=600,height=400,resizable=1,scrollbars=1');
    return false;
};

QuickSearch = function (oButton, oHidden, oSortColumnID, oSortDirection, oCurrentPageNumber, oRecordsPerPage, oSearchID, oViewID) {
    var oBj = document.getElementById('ta_' + oSortColumnID);

    if (document.getElementById(oHidden).value != '') {
        var qSearch = JSON.parse(document.getElementById(oHidden).value, null);
        var qSearchFields = qSearch.QuickSearch;
    }

    var qSearchField = { "FieldID": oSortColumnID, "Value": oBj.value };
    if (qSearchFields != undefined) {
        for (i = 0; i < qSearchFields.length; i++) {
            if (qSearchFields[i].FieldID == oSortColumnID) {

                if (oBj.value.length == 0) {
                    qSearchFields.splice(i, 1);
                }
                else {
                    qSearchFields[i].Value = oBj.value;
                }
                qSearchField = null;
                break;
            }
        }
    }
    else {
        qSearchFields = new Array();
    }
    if (qSearchField != null) {
        qSearchFields.push(qSearchField);
    }

    SelectionMode = -1;
    if (oViewID == undefined) {
        oViewID = '00000000-0000-0000-0000-000000000000';
    }
    document.getElementById(oHidden).value = '{"SortColumnID":"' + oSortColumnID + '", "SortDirection":' + oSortDirection + ', "CurrentPageNumber":' + oCurrentPageNumber + ',"RecordsPerPage":' + oRecordsPerPage + ',"SearchID":"' + oSearchID + '","ViewID":"' + oViewID + '","QuickSearch":' + JSON.stringify(qSearchFields) + '}';

    if (oBj.value.length > 0) {
        document.getElementById(oButton).click();
    }
};

ClearQuickSearch = function (oButton, oHidden, oSortColumnID, oSortDirection, oCurrentPageNumber, oRecordsPerPage, oSearchID, oViewID) {
    var oBj = document.getElementById('ta_' + oSortColumnID);
    oBj.value = '';
    QuickSearch(oButton, oHidden, oSortColumnID, oSortDirection, oCurrentPageNumber, oRecordsPerPage, oSearchID, oViewID);
    document.getElementById(oButton).click();
};

ShowSearch = function (oBjID) {
    var oBj = document.getElementById(oBjID.replace('sa', 'ta'));
    if (oBj.style.display != 'none') {
        oBj.focus();
    }
    document.getElementById(oBjID).className = 'qsearch_area_on';
};

HideSearch = function (oBjID) {
    document.getElementById(oBjID).className = 'qsearch_area';
};

CheckSearch = function (oBj, oTextID) {
    document.getElementById(oTextID).value = oBj.value;
};


SearchDate = function (oBj, Type, oTextID) {
    var oBjText = document.getElementById(oTextID);
    var d = { "Year": "", "Month": "", "Day": "", "Hour": "", "Minute": "", "APM": "" };
    if (oBjText.value != '') {
        d = JSON.parse(oBjText.value);
    }

    switch (Type) {
        case 1: // Year
            d.Year = oBj.value;
            break;
        case 2: // Month
            d.Month = oBj.value;
            break;
        case 3: // Day
            d.Day = oBj.value;
            break;
        case 4: // Hour
            d.Hour = oBj.value;
            break;
        case 5: // Minute
            d.Minute = oBj.value;
            break;
        case 6: // AM/PM
            if (oBj.value == 'PM')
                d.Hour = parseInt(d.Hour) + 12;
            d.APM = oBj.value;
            break;
    }

    oBjText.value = JSON.stringify(d);
};


ScheduleComparisonPopup = function (SearchIDHidden, ActionButtonID, OBjID, ModuleID, CampaignID) {

    var oSearchID = EmptyGuid;
    var oViewID = EmptyGuid;

    try {
        var oSearchControl = document.getElementById(SearchIDHidden);
        if (oSearchControl.value != '') {
            oSearch = JSON.parse(oSearchControl.value, null);
            oSearchID = oSearch.SearchID;
            oViewID = oSearch.ViewID;
        }
    }
    catch (e) { }

    window.open('ScheduleComparison.aspx?SearchID=' + oSearchID + '&SearchIDHidden=' + SearchIDHidden + '&ActionButtonID=' + ActionButtonID + '&ViewID=' + oViewID + '&EntityID=' + OBjID + '&CampaignID=' + CampaignID + '&RelatedModuleID=' + ModuleID, 'Compare Popup', 'width=500;height=250;resizable=1;scrollbars=1');
    return false;
};
