function CheckValidationErrors(ValidatingForm) {
	var wValidationFormID = "";
	if (ValidatingForm != "") {
		wValidationFormID = "#" +ValidatingForm + " ";
	}
    if ($(wValidationFormID + ".field-validation-error").length > 0 || $(wValidationFormID + ".input-validation-error").length > 0) {
	    var wErrorMessage = wThefollowingerrorsmustbecorrected + "\n\n";//"The following errors must be corrected:\n\n";
		var wFirstErrorField = "";
		var wScrollTarget = null;
		var wFirstErrorFields =[];
		for (var i = 0; i < $(wValidationFormID + ".field-validation-error").length; i++) {
			var wParentNode = $(wValidationFormID + ".field-validation-error")[i].parentNode;
			wFirstErrorFields.push($(wValidationFormID + ".field-validation-error")[i].innerText);
			while (wParentNode != null) {
				if ($(wParentNode).hasClass('form-group')) {
					break;
				}
				wParentNode = wParentNode.parentNode;
			}
			if (wScrollTarget == null) {
			    wScrollTarget = $(wParentNode).closest('.form-group');
			    $(wScrollTarget)[0].scrollIntoView();
			}
			if (wParentNode != null) {
				$(wParentNode).addClass('has-feedback');
				$(wParentNode).addClass('has-error');
			}
		}
        if (wFirstErrorFields.length > 0) {
            var validation_summary_area = $('.validation-summary', $('#' +ValidatingForm)) //$(ValidatingForm)(".validation-summary");
            if (validation_summary_area != null && validation_summary_area.length > 0) {
                var wValidationFieldArea = $(validation_summary_area[0]);
                if(!wValidationFieldArea.hasClass('alert')) {
                    wValidationFieldArea.addClass("alert");
                }
                if (!wValidationFieldArea.hasClass('alert-danger')) {
                    wValidationFieldArea.addClass("alert-danger");
                }
                $(validation_summary_area)[0].scrollIntoView();
            }
           
        }
        if (wValidationFormID != "") {
            $(wValidationFormID).find(":submit").removeClass('disabled submit-disabled');
        } else {
            $('.submit-disabled').removeClass('disabled submit-disabled');
        }
	}
}
function RegisterFormValidation(JQueryFormCtrl) {
  $.validator.unobtrusive.parse(JQueryFormCtrl);
  JQueryFormCtrl.submit(function (e) {
		var wFormID = e.target.id;
		//if (wFormID != "") 
		{
			$(this).find(".form-group.has-feedback").removeClass("has-feedback");
			$(this).find(".form-group.has-error").removeClass("has-error");
			var wForm = "#" +wFormID;
		    //$(wForm).validate().form();
			$(this).find(":submit:not(.no-disable)").addClass('disabled submit-disabled')
			$(this).validate().form();
			CheckValidationErrors(wFormID);
        }
        //return false;
	});
}
var LinkHasChangesSelecter = 'a[href]:not([href^="javascript"], [href^="#"], [btn-type^="redirect"])';
var tempTab;
var wLostFocusClickedTabEvent;
function ApplyHasChangesCheck() {
    var ClickedTab = null;
    var mContinuewithTabClickEvent = false;
    function CheckAppropriateAction(aButton) {
        var wResettingForm = null;
        var wClickEvent = aButton.attr("onclick");
        var wHREFValue = aButton.attr("href");
        var wBtnTypeValue = aButton.attr("btn-type");
        if (wClickEvent == null ){
            if (wHREFValue == "#" || wHREFValue == "javascript:void(0)") {
                wResettingForm = $(aButton).parents('form:first');
            } else if (wBtnTypeValue == "redirect" && wHREFValue != "") {
                $(window).off('beforeunload');
                return;
            }
        }
        return wResettingForm;
    }
    function ActiveTabHasChanges() {
        if (tempTab != null) {
            this.ActiveTab = TabInfo(tempTab);
        } else {
            this.ActiveTab = TabInfo($('a[data-toggle="tab"]').parents('.active'));
        }
        this.HasChanges = false;
        if (ActiveTab != null) {
            this.Tab = ActiveTab.Tab;
            this.Panel = ActiveTab.Panel;
            if (ActiveTab == null || Tab == null || Panel == null || mContinuewithTabClickEvent) {
                this.HasChanges = false;
            } else {
                this.HasChanges = CheckPanelHasChanges(Panel);
            }
        }
        return this;
    }
    function CheckPanelHasChanges(wPanel) {
        wHasChanges = false;
        $(wPanel).find('form').each(function () {
            if (wHasChanges) {
                return;
            }
            wHasChanges = CheckFormHasChanges($(this))
        });
        return wHasChanges;
    }
    function URLLinkClickEvent(e) {
        tempTab = $(this).parent().parent().find('.active');
        var URLTabClicked = TabInfo(tempTab);
        if (URLTabClicked.Panel == null || URLTabClicked.Panel === undefined || URLTabClicked.Panel.length <= 0) {
            tempTab = $(this).parent().parent().parent().parent().find('li.active [data-toggle=tab]');
        }
        if (ActiveTabHasChanges().HasChanges) {
            e.preventDefault();
            ClickedTab = this;
            PromptForTabSave(ActiveTab.Tab, ActiveTab.Panel);
        }
    }
    function CheckFormHasChanges(wForm) {
        wHasChanges = false;
        var ForceChangesCheck = false;
        //[data-toggle="popover"]
        if ($(wForm).attr("haschangescheck") != null && $(wForm).attr("haschangescheck").toLowerCase() == "false") {
            return;
        } else if ($(wForm).attr("haschangescheck") != null && $(wForm).attr("haschangescheck").toLowerCase() == "true") {
            ForceChangesCheck = true;
        }
        $(wForm).find(':input').each(function () {
            if (wHasChanges || ($(this).attr("HasChangesCheck") !== undefined && $(this).attr("HasChangesCheck").toLowerCase() == "false")) {
                return;
            }
            if ($(this)[0].name != "multiselect") {
                var wOrignialValue = $(this).attr("OriginalValue");
                if (wOrignialValue == null) {
                    wOrignialValue = $(this).attr("originalvalue");
                }
                if(wOrignialValue == null){
                    if (ForceChangesCheck){
                        wOrignialValue = "";
                    }
                }
                if (wOrignialValue != null) {
                    switch ($(this)[0].nodeName) {
                        case "TEXTAREA":
                        case "INPUT":
                            switch ($(this).attr("type")) {
                                case "hidden":
                                    break;
                                case "checkbox":
                                    //if(wOrignialValue.toLowerCase() != $(this)[0].checked.toString().toLowerCase()){
                                    if (wOrignialValue.toLowerCase() != $(this)[0].checked.toString().toLowerCase()) {
                                        wHasChanges = true;
                                        return
                                    }
                                    break;
                                case "radio":
                                    if (wOrignialValue.toLowerCase() == $(this).val().toString().toLowerCase()) {
                                        if (!$(this)[0].checked) {
                                            wHasChanges = true;
                                            return
                                        }
                                    }
                                    break;
                                default:
                                    if (wOrignialValue != $(this).val()) {
                                        wHasChanges = true;
                                        return
                                    }
                                    break;
                            }
                        case "SELECT":
                            wMultiSelect = ($(this).hasClass("multiselect") ? true : false);
                            wOrignialSelected = wOrignialValue.toLowerCase().split("^");
                            if ($(this)[0].name.indexOf('FilterCriteria') == 0 && wOrignialValue.indexOf('^') < 0) {
                                wOrignialSelected = wOrignialValue.toLowerCase().split(",");
                            }
                            for (s = 0; s < $(this)[0].length; ++s) {
                                if ($(this)[0].options[s].selected) {
                                    if (wOrignialSelected.indexOf($(this)[0].options[s].value.toLowerCase()) < 0) {
                                        wHasChanges = true;
                                        return
                                    }
                                } else {
                                    if (wOrignialSelected.indexOf($(this)[0].options[s].value.toLowerCase()) >= 0) {
                                        wHasChanges = true;
                                        return
                                    }
                                }
                            }
                            break;
                    }
                } else {
                    switch ($(this)[0].nodeName) {
                        case "INPUT":
                            switch ($(this).attr("type")) {
                                case "radio":
                                    if ($(this)[0].name.toLowerCase().indexOf("default") == 0 && $(this)[0].checked) {
                                        wHasChanges = true;
                                        return
                                    }
                                    break;
                                case "password":
                                    if ($(this).val() != "") {
                                        wHasChanges = true;
                                        return
                                    }
                                    break
                            }
                            break;
                    }
                }
            }
        });
        return wHasChanges;
    }
    function FocusFirstFormControl(aFormCtrl) {
        var wFirstCtrl = null;
        if (aFormCtrl != null && aFormCtrl.length > 0) {
            $(aFormCtrl).find(':input').each(function () {
                switch ($(this)[0].nodeName) {
                    case "SELECT":
                    case "TEXTAREA":
                    case "INPUT":
                        switch ($(this).attr("type")) {
                            case "hidden":
                                break;
                            default:
                                if (wFirstCtrl == null) {
                                    wFirstCtrl = $(this);
                                }
                                break;
                        }
                        break;
                }
            });
        }
        if (wFirstCtrl != null) {
            wFirstCtrl.focus();
        }
    }
    $("a.btn.btn-link[btn-type=reset], button.btn.btn-link[btn-type=reset]").click(function (e) {
        var wResettingForm = CheckAppropriateAction($(this));
        if (wResettingForm != null && wResettingForm.length > 0) {
            wResettingForm[0].reset();
            FocusFirstFormControl(wResettingForm);
        }
    });
    $("a.btn.btn-link[btn-type=clear], button.btn.btn-link[btn-type=clear]").click(function (e) {
        var wResettingForm = CheckAppropriateAction($(this));
        if (wResettingForm != null && wResettingForm.length > 0) {
            $(wResettingForm).find(':input').each(function () {
                if ($(this)[0].name != "multiselect") {
                    switch ($(this)[0].nodeName) {
                        case "TEXTAREA":
                        case "INPUT":
                            switch ($(this).attr("type")) {
                                case "hidden":
                                    break;
                                case "radio":
                                case "checkbox":
                                    $(this)[0].checked = false;
                                    break;
                                default:
                                    $(this).val("");
                                    break;
                            }
                            break;
                        case "SELECT":
                            wMultiSelect = ($(this).hasClass("multiselect") ? true : false);
                            if (wMultiSelect) {
                                $(this).multiselect('clearSelection');
                            }
                            for (s = 0; s < $(this)[0].length; ++s) {
                                $(this)[0].options[s].selected = false;
                            }
                            if (wMultiSelect) {
                                $(this).multiselect('rebuild');
                            }
                            $(this).trigger("change");
                            break;
                    }
                }
            });
            FocusFirstFormControl(wResettingForm)
        }
    });
    $("a.btn.btn-link[btn-type=redirect], button.btn.btn-link[btn-type=redirect]").click(function (e) {
        var wResettingForm = CheckAppropriateAction($(this));
        
    });
     $("a.btn.btn-link[btn-type=restore], button.btn.btn-link[btn-type=restore]").click(function (e) {
        var wResettingForm = CheckAppropriateAction($(this));
        RestoreFormOriginalValue(wResettingForm);
        });
    
    function RestoreFormOriginalValue(aForm) {       
        if (aForm != null && aForm.length > 0) {
            $(aForm).find(':input').each(function () {
                if ($(this)[0].name != "multiselect") {
                    var wOrignialValue = $(this).attr("OriginalValue");
                    if (wOrignialValue == null) {
                        wOrignialValue = $(this).attr("originalvalue");
                    }
                    if (wOrignialValue == null) {
                        wOrignialValue = "";
                    }
                    if (wOrignialValue != null) {
                        switch ($(this)[0].nodeName) {
                            case "TEXTAREA":
                            case "INPUT":
                                switch ($(this).attr("type")) {
                                    case "hidden":
                                        break;
                                    case "radio":
                                    case "checkbox":
                                        if (wOrignialValue != null && (wOrignialValue.toLowerCase().trim() == $(this).val().toLowerCase().trim()  || wOrignialValue.toLowerCase().trim() == "true")) {
                                            $(this)[0].checked = true;
                                        } else {
                                            $(this)[0].checked = false;
                                        }
                                        break;
                                    default:
                                        $(this).val(wOrignialValue)
                                        break;
                                }
                                break;
                            case "SELECT":
                                wMultiSelect = ($(this).hasClass("multiselect") ? true : false);
                                if (wMultiSelect) {
                                    $(this).multiselect('clearSelection');
                                }
                                wOrignialSelected = wOrignialValue.toLowerCase().split("^");
                                if ($(this)[0].name.indexOf('FilterCriteria') == 0 && wOrignialValue.indexOf('^') < 0) {
                                    wOrignialSelected = wOrignialValue.toLowerCase().split(",");
                                }
                                for (s = 0; s < $(this)[0].length; ++s) {
                                    if (wOrignialSelected.indexOf($(this)[0].options[s].value.toLowerCase()) >= 0) {
                                        $(this)[0].options[s].selected = true;
                                    } else {
                                        $(this)[0].options[s].selected = false;
                                    }
                                }
                                if (wMultiSelect) {
                                    $(this).multiselect('rebuild');
                                }
                                $(this).trigger("change");
                                break;
                        }
                    } else {
                        switch ($(this)[0].nodeName) {
                            case "INPUT":
                                switch ($(this).attr("type")) {
                                    case "radio":
                                        if ($(this)[0].name.toLowerCase().indexOf("default") == 0 && $(this)[0].checked) {
                                            $(this)[0].checked = false;
                                        }
                                        break;
                                    case "password":
                                        $(this).val("");
                                        break;
                                }
                                break;
                        }
                    }
                }
            });
        }
    }
    $('[data-toggle=tab]').each(function () {
        var TabItem = this;
        var TabCtrl = $(this).parents('li');
        if (TabItem.addEventListener) {
            TabItem.addEventListener('click', function (e) {
                ClickedTab = this;
                tempTab = $(this).parent().parent().find('.active');
                if (tempTab != null && tempTab.length == 0) {
                    tempTab = $(this).parent().parent().find('[aria-expanded="true"]');
                }
                //$(ClickedTab).find('')
                //  var ActiveTab = $(this).parents('.active');
                var ActiveTab = ActiveTabHasChanges()
                if (ActiveTab.HasChanges) {
                    e.stopImmediatePropagation();
                    PromptForTabSave(ActiveTab.Tab, ActiveTab.Panel);
                } else if (ActiveTab.Tab.hasClass('badge')) {
                    ActiveTab.Tab.removeClass('badge');
                }
            }, true);
        } else {
            TabItem.attachEvent("onclick", function (e) {
                ClickedTab = this;
                tempTab = $(this).parent().parent().find('.active');
                if (tempTab != null && tempTab.length == 0) {
                    tempTab = $(this).parent().parent().find('[aria-expanded="true"]');
                }
                //  var ActiveTab = $(this).parents('.active');
                var ActiveTab = ActiveTabHasChanges()
                if (ActiveTab.HasChanges) {
                    e.stopImmediatePropagation();
                    PromptForTabSave(ActiveTab.Tab, ActiveTab.Panel);
                } else if (ActiveTab.Tab.hasClass('badge')) {
                    ActiveTab.Tab.removeClass('badge');
                }
            });
        }
    });
    if ($('form a.btn[type=submit], button.btn[type=submit]').length > 0) {
        $('form a.btn[type=submit], button.btn[type=submit]').parents('form').submit(function (event) {
            $(window).unbind("beforeunload");
        });
        $('form a.btn[btn-type=redirect], button.btn[btn-type=redirect]').parents('form').submit(function (event) {
            $(window).unbind("beforeunload");
        });
        //$(document).ajaxComplete(function (event, xhr, settings) {
        //    $(window).off('beforeunload', BeforeUnloadCheck());
        //    $(window).on('beforeunload', BeforeUnloadCheck());
        //});
        $(window).on('beforeunload', function (e) {
            tempTab = $(this).parent().parent().find('.active');
            var URLTabClicked = TabInfo(tempTab);
            if (URLTabClicked.Panel == null || URLTabClicked.Panel === undefined || URLTabClicked.Panel.length <= 0) {
                tempTab = $(this).parent().parent().parent().parent().find('li.active [data-toggle=tab]');
            }
            if (ActiveTabHasChanges().HasChanges) {
                return wThereAreUnsavedChanges;
            }
        });
        
        $(LinkHasChangesSelecter).on("click", URLLinkClickEvent);
    }
    PrompDialog = $('#eRadDialog').dialog({
        autoOpen: false,
        width: 'auto', // overcomes width:'auto' and maxWidth bug
        maxWidth: 600,
        height: 'auto',
        modal: true,
        fluid: true, //new option
        resizable: false
        //        buttons: {
        //        "Save Changes": function() {
        //            ActiveTab.addClass('badge');
        //            $(ActivePanel).find("a:contains('Save'), button:contains('Save')").each(function () {
        //                $(this).click();
        //            });
        //            mContinuewithTabClickEvent = true;
        //            ClickedTab.click();
        //            $( this ).dialog( "close" );
        //            //e.continueEventPropegationAsIfNothingHappened();
        //        },
        //        "Revert Changes": function() {
        //            //$(ActivePanel).find('a[text=Cancel]').each(function () {
        //            $(ActivePanel).find("a:contains('Cancel'), button:contains('Cancel')").each(function () {
        //                $(this).click();
        //            });
        //            mContinuewithTabClickEvent = true;
        //            ClickedTab.click();
        //            //ev.resume();
        //            //ActiveTab.find('> a')[0].parent.trigger(e);
        //            $( this ).dialog( "close" );
        //            //e.continueEventPropegationAsIfNothingHappened();
        //        },
        //            
        //        Cancel: function() {
        //        e.stopImmediatePropagation();
        //            $( this ).dialog( "close" );
        //        }
        //        },
        //        close: function(){
        //            mContinuewithTabClickEvent = false;
        //        }
    });
    $('.ui-dialog-titlebar-close').html('×' + wClose + '')
    function PromptForTabSave(ActiveTab, ActivePanel) {
        if (jsClientApplicationCode !== undefined && jsClientApplicationCode !== null && jsClientApplicationCode === "PatientPortal") {
            hideLoadingOverlay($("body"));
        }
        var wSaveButtonText = wSaveChanges;//"Save Changes";
        if ($(ActivePanel).find("a:contains(" + wSave.toLowerCase() + "),a:contains(" + wSave + "),a:contains(" + wSave.toUpperCase() + "),a:contains(" + wSubmit.toLowerCase() + "),a:contains(" + wSubmit + "),a:contains(" + wSubmit.toUpperCase() + "), a:contains(" + wSend.toLowerCase() + "),a:contains(" + wSend + "),a:contains(" + wSend.toUpperCase() + "), button[type=submit]:contains(" + wSave.toLowerCase() + "),button[type=submit]:contains(" + wSave + "),button[type=submit]:contains(" + wSave.toUpperCase() + "), button[type=submit]:contains(" + wSend.toLowerCase() + "), button[type=submit]:contains(" + wSend + "), button[type=submit]:contains(" + wSend.toUpperCase() + "), button[type=submit]:contains(" + wSubmit.toLowerCase() + "), button[type=submit]:contains(" + wSubmit + "), button[type=submit]:contains(" + wSubmit.toUpperCase() + ")").length) {
            wSaveButtonText = wSend;//"Send";
        }
        PrompDialog.dialog({
            title: wConfirmationRequired,//"Confirmation Required",
            message: "",
            draggable: false,
            open: function () {
                $(this).html(wThereareunsavedchanges);//"There are unsaved changes."
            },
            buttons: [{
                text:wSaveChanges,
                click: function () {
                    
                    //ActiveTab.addClass('badge');
                    if ($(ActivePanel).find('form').valid()) {
                        $(ActivePanel).find("a:contains(" + wSave.toLowerCase() + "),a:contains(" + wSave + "),a:contains(" + wSave.toUpperCase() + "),a:contains(" + wSubmit.toLowerCase() + "),a:contains(" + wSubmit + "),a:contains(" + wSubmit.toUpperCase() + "), a:contains(" + wSend.toLowerCase() + "),a:contains(" + wSend + "),a:contains(" + wSend.toUpperCase() + "), button[type=submit]:contains(" + wSave.toLowerCase() + "),button[type=submit]:contains(" + wSave + "),button[type=submit]:contains(" + wSave.toUpperCase() + "), button[type=submit]:contains(" + wSend.toLowerCase() + "), button[type=submit]:contains(" + wSend + "), button[type=submit]:contains(" + wSend.toUpperCase() + "), button[type=submit]:contains(" + wSubmit.toLowerCase() + "), button[type=submit]:contains(" + wSubmit + "), button[type=submit]:contains(" + wSubmit.toUpperCase() + "), button[type=button]:contains(" + wSave.toLowerCase() + "),button[type=button]:contains(" + wSave + "),button[type=button]:contains(" + wSave.toUpperCase() + "), button[type=button]:contains(" + wSend.toLowerCase() + "), button[type=button]:contains(" + wSend + "), button[type=button]:contains(" + wSend.toUpperCase() + "), button[type=button]:contains(" + wSubmit.toLowerCase() + "), button[type=button]:contains(" + wSubmit + "), button[type=button]:contains(" + wSubmit.toUpperCase() + ")").each(function (key, value) {
                            if (ClickedTab != null) {
                                wLostFocusClickedTabEvent = ClickedTab;
                            }
                            if (CheckFormHasChanges(value.form)) {
                                $(value).click();
                                //if (value.form != null && value.form && !value.form.hasAttribute("data-ajax") && value.form.hasAttribute("action")) {
                                //    $.ajax({
                                //        type: (value.form.hasAttribute("method") ? $(value.form).attr("method").toUpperCase() : "POST"),
                                //        url: $(value.form).attr("action"),
                                //        data: $(value.form).serialize()
                                //    });
                                //} else {
                                //    $(value).click();//trigger("click");
                                //}
                            }
                        });
                        mContinuewithTabClickEvent = true;
                        if (ClickedTab != null) {
                            ClickedTab.click();
                            ClickedTab = null;
                        }
                        
                        //e.continueEventPropegationAsIfNothingHappened();
                    } else {
                        CheckValidationErrors($(ActivePanel).find('form').attr('id'));
                        toastr.error(wTheformcouldnotbesavedPleasechecktheformfieldsforerrors);//"The form could not be saved. Please check the form fields for errors."
                    }
                    $(this).dialog("close");
                },
            },{
                text:wDiscardChanges,
                click: function () {
                    //$(ActivePanel).find('a[text=Cancel]').each(function () {
                    var OriginalClickedTab = ClickedTab;
                    try {
                        $(LinkHasChangesSelecter).off("click", URLLinkClickEvent);
                        $(ActivePanel).find("a:contains(" + wCancel.toLowerCase() + "), button:contains(" + wCancel.toLowerCase() + "),a:contains(" + wCancel + "), button:contains(" + wCancel + "),a:contains(" + wCancel.toUpperCase() + "), button:contains(" + wCancel.toUpperCase() + ")").each(function (key, value) {
                            if ($(value).attr("btn-type") == null || $(value).attr("btn-type").toLowerCase() == "redirect") {
                                RestoreFormOriginalValue($(value).closest('form'));
                            }
                            else {
                                $(value).focus();
                                $(value).click();//trigger("click");
                            }
                        });
                        mContinuewithTabClickEvent = true;
                        if (OriginalClickedTab != null) {
                            OriginalClickedTab.focus();
                            OriginalClickedTab.click();
                            OriginalClickedTab = null;
                        }
                    } finally {
                        $(LinkHasChangesSelecter).on("click", URLLinkClickEvent);
                    }
                    //ev.resume();
                    //ActiveTab.find('> a')[0].parent.trigger(e);
                    $(this).dialog("close");
                    //e.continueEventPropegationAsIfNothingHappened();
                },
            }, {
                text: wCancel,
                click: function () {
                        //e.stopImmediatePropagation();
                        $(this).dialog("close");
                    }
            }
            ]
            ,
            close: function () {
                mContinuewithTabClickEvent = false;
            }
        });
        PrompDialog.dialog("open");
    }
}
function UpdateOriginalValue(wSavingForm) {
    if (wSavingForm.indexOf("#") < 0) {
        wSavingForm = "#" + wSavingForm;
    }
    var wSavingFormJqueryID = wSavingForm;
    $(wSavingForm).find(':input').each(function () {
        if ($(this)[0].name != "multiselect") {
            var wOrignialValue = $(this).attr("OriginalValue");
            if (wOrignialValue == null) {
                wOrignialValue = $(this).attr("originalvalue");
            }
            var wNewUpdatedValue = "";
            if (wOrignialValue != null) {
                switch ($(this)[0].nodeName) {
                    case "TEXTAREA":
                    case "INPUT":
                        switch ($(this).attr("type")) {
                            case "hidden":
                                break;
                            case "radio":
                                wNewUpdatedValue = ($(this)[0].checked ? $(this).val() : GroupedControlCheckedValue($(wSavingFormJqueryID + " input[name='" + $(this)[0].name + "']")));
                                break;
                            case "checkbox":
                                wNewUpdatedValue = $(this)[0].checked;
                                break;
                            default:
                                wNewUpdatedValue = $(this).val();
                                break;
                        }
                        break;
                    case "SELECT":
                        wMultiSelect = ($(this).hasClass("multiselect") ? true : false);
                        wOrignialSelected = wOrignialValue.split("^");
                        if ($(this)[0].name.indexOf('FilterCriteria') == 0 && wOrignialValue.indexOf('^') < 0) {
                            wOrignialSelected = wOrignialValue.split(",");
                        }
                        for (s = 0; s < $(this)[0].length; ++s) {
                            if ($(this)[0].options[s].selected) {
                                wNewUpdatedValue += $(this)[0].options[s].value
                                if (wMultiSelect) {
                                    wNewUpdatedValue += "^";
                                } else {
                                    break;
                                }
                            }
                        }
                        break;
                }
                $(this).attr("originalvalue", wNewUpdatedValue)
            } else {
                switch ($(this)[0].nodeName) {
                    case "TEXTAREA":
                    case "INPUT":
                        switch ($(this).attr("type")) {
                            case "hidden":
                                break;
                            case "radio":
                            case "checkbox":
                                if (!$(this).eq(0).is(':checked')) {
                                    $(this).eq(0).attr('checked', false);
                                }
                                else {
                                    $(this).eq(0).attr('checked', true);
                                }
                                break;
                            default:
                                $(this).attr("originalvalue", $(this).val())
                                break;
                        }
                        break;
                    case "SELECT":
                        wMultiSelect = ($(this).hasClass("multiselect") ? true : false);
                        for (s = 0; s < $(this)[0].length; ++s) {
                            if ($(this)[0].options[s].selected) {
                                wNewUpdatedValue += $(this)[0].options[s].value
                                if (wMultiSelect) {
                                    wNewUpdatedValue += "^";
                                } else {
                                    break;
                                }
                            }
                        }
                        $(this).attr("originalvalue", wNewUpdatedValue)
                        break;
                }
            }
        }
    });
}
function GroupedControlCheckedValue(aGroupedControls) {
    var OriginalValue = "";
    aGroupedControls.each(function () {
        if ($(this)[0].checked) {
            OriginalValue = $(this).val().toString();
            return;
        }
    });
    return OriginalValue;
}