function SubmitForm(idForm, idButton)
{
    // getting form object
    var oForm = GEBI(idForm);

    var oDivBack = GEBI("idForm");
    var oDivFor = GEBI("idForeground");

    var bPopupIsShown = false;

    if (oDivFor && oDivBack) 
    {
        bPopupIsShown = (oDivFor.style.display == "block" && oDivBack.style.display == "block") ? true : false;
    }
    
    if (!bPopupIsShown && InEditMode) return;

    if (oForm)
    {
        // extracting nesessary data
        var ParsedButtonIDArray = idButton.split("_");

        var ActualButtonID = ParsedButtonIDArray[0];

        var ListItemID = ParsedButtonIDArray[2];

        var ListID = ParsedButtonIDArray[3];

        // switch item action
        switch (ActualButtonID)
        {
            case "bnAdd":
            case "bnAddAndClose":
                {
                    // getting form object
                    var oButton = GEBI(idButton);

                    if (oButton)
                    {
                        if (!InEditMode)
                        {
                            EnterEditMode(idForm, "tr_" + ListItemID + "_" + ListID);
                            idEditingItem = ListItemID;
                            strEditingForm = idForm;
                            strEditingButton = idButton;
                        }
                        else
                        {
                            // setting hidden fields            
                            oForm.PostAction.value = "paAddMasterlistItem";
                            oForm.ListItemID.value = ListItemID;

                        }

                        InEditMode = !InEditMode;
                    }
                    else
                    {
                        return;
                    }
                }
                break;

            case "bnEdit":
                {
                    // getting form object
                    var oButton = GEBI(idButton);

                    if (oButton)
                    {
                        if (!InEditMode)
                        {
                            EnterEditMode(idForm, "tr_" + ListItemID + "_" + ListID);
                            idEditingItem = ListItemID;
                            strEditingForm = idForm;
                            strEditingButton = idButton;

                        }
                        else
                        {
                            // setting hidden fields            
                            oForm.PostAction.value = "paUpdateMasterlistItem";
                            oForm.ListItemID.value = ListItemID;
                        }

                        InEditMode = !InEditMode;
                    }
                    else
                    {
                        return;
                    }
                }
                break;

            case "bnUpdateCabinet":
                {
                    // setting hidden fields
                    oForm.PostAction.value = "paUpdateCabinet";
                    InEditMode = false;

                }
                break;

            case "bnChangePass":
                {
                    var strOldPass = GEBI("feCurrentPasscode").value;
                    var strNewPass = GEBI("feNewPasscode").value;
                    var strNewPass2 = GEBI("feNewPasscode2").value;

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paChangePasscode&OldPassword=" + encodeURIComponent ( strOldPass ) + "&NewPassword=" + encodeURIComponent ( strNewPass ) + "&NewPassword2=" + encodeURIComponent ( strNewPass2 ), "CHANGE_PASSWORD", "");
                }
                return;

            case "bnSaveCabinetSettings":
                {
                    var oInput = ValidateForm(oForm);

                    if (!oInput)
                    {
                        var oTargetElm = GEBI("tdCabinetSettingsMessage");

                        var colFormInputs = oForm.getElementsByTagName("INPUT");
                        var strParams = "";

                        for (i = 0; i < colFormInputs.length; i++)
                        {
                            var oInput = colFormInputs[i];

                            if (oInput.type == "text" || oInput.type == "edit")
                            {
                                if (oInput.name.length > 0)
                                {
                                    var strValue = (oInput.className == "Watermark") ? "" : oInput.value;
                                    strValue = strValue.replace(",", ".");
                                    strParams += "&" + oInput.name + "=" + encodeURIComponent ( strValue );
                                }
                            }
                        }

                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paUpdateCabinet" + strParams, "SAVE_CABINET_SETTINGS", oTargetElm);
                    }
                    else
                    {
                        oInput.select();
                        oInput.style.borderColor = "red";
                        oInput.style.borderWidth = "1px";
                        oInput.style.borderStyle = "solid";
                    }
                }
                return;

            case "bnSaveMailSettings":
                {
                    var oTargetElm = GEBI("tdMailSettingsMessage");

                    var colFormInputs = oForm.getElementsByTagName("INPUT");
                    var strParams = "";

                    for (i = 0; i < colFormInputs.length; i++)
                    {
                        var oInput = colFormInputs[i];

                        if (oInput.type == "text" || oInput.type == "edit")
                        {
                            if (oInput.name.length > 0)
                            {
                                var strValue = (oInput.className == "Watermark") ? "" : oInput.value;
                                strParams += "&" + oInput.name + "=" + encodeURIComponent ( strValue );
                            }
                        }
                    }

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paUpdateMailSettings" + strParams, "SAVE_MAIL_SETTINGS", oTargetElm);


                }
                return;

            case "bnListAdd":
            case "bnListAddAndClose":
                {
                    var oListName = GetFormFieldByPartName(idForm, "faNewListName");

                    var strAction = (ActualButtonID == "bnListAdd") ? "LIST_ADD" : "LIST_ADD_AND_CLOSE";
                    
                    RemoveErrorSpan (oListName, "ErrorSpan_" + oListName.id);

                    if (oListName.value.length != 0 && oListName.className != "Watermark")
                    {
                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paCreateNewCurrentList&faNewListName=" + encodeURIComponent ( oListName.value ), strAction, "");
                    }
                    else
                    {
                        CreateErrorSpan(oListName, "ErrorSpan_" + oListName.id, "Enter valid list name.");

                        oListName.select();
                        oListName.style.borderColor = "red";
                        oListName.style.borderWidth = "1px";
                        oListName.style.borderStyle = "solid";
                    }
                }
                return;

            case "bnAddStore":
            case "bnAddStoreAndClose":
                {
                    try
                    {
                        var oNewName = GetFormFieldByPartName(idForm, "faNewStoreName");
                        var oCoupon = GetFormFieldByPartName(idForm, "faNewStoreCoupon");
                        var oSaveCard = GetFormFieldByPartName(idForm, "faNewStoreSaveCard");

                        RemoveErrorSpan(oNewName, "ErrorSpan_" + oNewName.id);

                        if (oNewName.value.length != 0 && oNewName.className != "Watermark")
                        {
                            var strCoupon = (oCoupon.className != "Watermark") ? oCoupon.value : "";

                            var strSaveCard = "";

                            if (oSaveCard)
                            {
                                strSaveCard = (oSaveCard.className != "Watermark") ? oSaveCard.value : "";
                            }
                            
                            var strRet = _Default.CreateNewStore(oNewName.value, strCoupon, strSaveCard).value;

                            SwitchTab(strCurrentTab);

                            setTimeout("ShowPopupMessage(\"" + strRet + "\", false);", 2000);
                        }
                        else
                        {
                            CreateErrorSpan(oNewName, "ErrorSpan_" + oNewName.id, "Enter valid store name.");

                            oNewName.select();
                            oNewName.style.borderColor = "red";
                            oNewName.style.borderWidth = "1px";
                            oNewName.style.borderStyle = "solid";
                        }
                    }
                    catch (e)
                    {
                        ShowPopupMessage(e.Message);
                    }
                }
                return;

            case "bnAddRecipe":
            case "bnAddRecipeAndClose":
                {
                    // getting form object
                    var oButton = GEBI(idButton);

                    if (oButton)
                    {
                        if (!InEditMode)
                        {
                            EnterEditMode(idForm, "tr_" + ListItemID);
                            strEditingForm = idForm;
                            strEditingButton = idButton;

                        }
                        else
                        {
                            // setting hidden fields
                            oForm.PostAction.value = "paCreateNewRecipe";
                        }

                        InEditMode = !InEditMode;
                    }
                    else
                    {
                        return;
                    }

                }
                break;

            case "bnAddRecipeItem":
            case "bnAddRecipeItemAndClose":
                {
                    // getting form object
                    var oButton = GEBI(idButton);

                    if (oButton)
                    {
                        if (!InEditMode)
                        {
                            EnterEditMode(idForm, "tr_" + ListItemID);
                            strEditingForm = idForm;
                            strEditingButton = idButton;

                        }
                        else
                        {
                            // setting hidden fields
                            oForm.PostAction.value = "paAddEditRecipeItem";
                        }

                        InEditMode = !InEditMode;
                    }
                    else
                    {
                        return;
                    }

                }
                break;

            case "bnListEdit":
                {
                    var oNewListName = GetFormFieldByPartName(idForm, "faUpdateNewListName");
                    var strOldListName = GetFormValueByPartName(idForm, "faUpdateCL");
                    
                    RemoveErrorSpan (oNewListName, "ErrorSpan_" + oNewListName.id);

                    if (oNewListName.value.length != 0 && oNewListName.className != "Watermark" )
                    {
                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paUpdateList&OldListName=" + encodeURIComponent ( strOldListName ) + "&faNewListName=" + encodeURIComponent ( oNewListName.value ), "LIST_EDIT", "");
                    }
                    else
                    {
                        CreateErrorSpan(oNewListName, "ErrorSpan_" + oNewListName.id, "Enter valid list name.");

                        oNewListName.select();
                        oNewListName.style.borderColor = "red";
                        oNewListName.style.borderWidth = "1px";
                        oNewListName.style.borderStyle = "solid";
                    }
                }
                return;

            case "bnEditStore":
                {
                    try
                    {
                        var oName = GetFormFieldByPartName(idForm, "faUpdatedStoreName");
                        var oNewName = GetFormFieldByPartName(idForm, "faUpdateStoreName");
                        var oCoupon = GetFormFieldByPartName(idForm, "faUpdateStoreCoupon");
                        var oSaveCard = GetFormFieldByPartName(idForm, "faUpdateStoreSaveCard");

                        RemoveErrorSpan(oNewName, "ErrorSpan_" + oNewName.id);

                        if (oNewName.value.length != 0 && oNewName.className != "Watermark")
                        {
                            var strCoupon = (oCoupon.className != "Watermark") ? oCoupon.value : "";

                            var strSaveCard = "";

                            if (oSaveCard)
                            {
                                strSaveCard = (oSaveCard.className != "Watermark") ? oSaveCard.value : "";
                            }
                            
                            var strRet = _Default.UpdateStore(oName.value, oNewName.value, strCoupon, strSaveCard).value;

                            SwitchTab(strCurrentTab);

                            setTimeout("ShowPopupMessage(\"" + strRet + "\", false);", 2000);
                        }
                        else
                        {
                            CreateErrorSpan(oNewName, "ErrorSpan_" + oNewName.id, "Enter valid store name.");

                            oNewName.select();
                            oNewName.style.borderColor = "red";
                            oNewName.style.borderWidth = "1px";
                            oNewName.style.borderStyle = "solid";
                        }
                    }
                    catch (e)
                    {
                        ShowPopupMessage(e.Message);
                    }
                }
                return;

            case "bnEditRecipe":
                {
                    // getting form object
                    var oButton = GEBI(idButton);

                    if (oButton)
                    {
                        if (!InEditMode)
                        {
                            EnterEditMode(idForm, "tr_" + ListItemID);
                            idEditingItem = ListItemID;
                            strEditingForm = idForm;
                            strEditingButton = idButton;
                        }
                        else
                        {
                            // setting hidden fields
                            oForm.PostAction.value = "paEditRecipe";
                            oForm.ListItemID.value = ListItemID;
                        }

                        InEditMode = !InEditMode;
                    }
                    else
                    {
                        return;
                    }

                }
                break;

            case "bnEditRecipeItem":
                {
                    // getting form object
                    var oButton = GEBI(idButton);

                    if (oButton)
                    {
                        if (!InEditMode)
                        {
                            EnterEditMode(idForm, "tr_" + ListItemID);
                            idEditingItem = ListItemID;
                            strEditingForm = idForm;
                            strEditingButton = idButton;
                        }
                        else
                        {
                            // setting hidden fields
                            oForm.PostAction.value = "paAddEditRecipeItem";
                            oForm.ListItemID.value = ListItemID;
                        }

                        InEditMode = !InEditMode;
                    }
                    else
                    {
                        return;
                    }

                }
                break;

            case "bnListDelete":
                {
                    var oListName = GetFormFieldByPartName(idForm, "faListToDelete");
                    if (oListName.value.length != 0 && oListName.className != "forminputCurrentListsWatermarkImport")
                    {
                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paDeleteCurrentList&ListName=" + encodeURIComponent ( oListName.value ), "DELETE_LIST", "");
                    }
                    else
                    {
                        ShowPopupMessage("Please, select list.");
                    }

                }
                return;

            case "bnRecipeDelete":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paDeleteRecipe&RecipeID=" + encodeURIComponent ( ListItemID ), "DELETE_RECIPE", oTargetTD);
                }
                return;

            case "bnStoreDelete":
                {
                    try
                    {
                        var oName = GetFormFieldByPartName(idForm, "faStoreToDelete");

                        if (oName.value != "Select store" && oName.className != "forminputCurrentListsWatermarkImport")
                        {
                            var strRet = _Default.DeleteStore(oName.value).value;

                            SwitchTab(strCurrentTab);

                            setTimeout("ShowPopupMessage(\"" + strRet + "\", false);", 2000);
                        }
                        else
                        {
                            ShowPopupMessage("Please, select store.");
                        }
                        
                    }
                    catch (e)
                    {
                        ShowPopupMessage(e.Message);
                    }
                }
                return;

            case "bnDeleteCabinet":
                {
                    // setting hidden fields
                    oForm.PostAction.value = "paDeleteCabinet";
                    InEditMode = false;

                }
                break;

            case "bnRemindPass":
                {
                    var strLogin = GEBI("feSharecode").value;

                    bEnableHTTPS = true;
                    
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paRemindPass&Sharecode=" + encodeURIComponent ( strLogin ), "REMIND_PASSWORD", "");
                }
                return;

            case "bnSubmitReg":
                {
                    var strLogin = GEBI("feLogin").value;
                    var strPass = GEBI("fePass").value;
                    var strPass2 = GEBI("fePass2").value;
                    var strMail = GEBI("feMail").value;

                    bEnableHTTPS = true;

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paRegistration&Login=" + encodeURIComponent ( strLogin ) + "&Pass=" + encodeURIComponent ( strPass ) + "&Pass2=" + encodeURIComponent ( strPass2 ) + "&Email=" + encodeURIComponent ( strMail ), "REG_USER", "");
                }
                return;

            case "bnLogin":
                {
                    var strLogin = GEBI("feLogin").value;
                    var strPass = GEBI("fePass").value;
                    var strRememberMeFlag = GEBI("RememberMeFlag").value;
                    var strRememberMyPassFlag = GEBI("RememberMyPassFlag").value;
                    var strAutoSignInFlag = GEBI("AutoSignInFlag").value;

                    bEnableHTTPS = true;
                    
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paLogin&Login=" + encodeURIComponent ( strLogin ) + "&Pass=" + encodeURIComponent ( strPass ) + "&RememberMeFlag=" + encodeURIComponent ( strRememberMeFlag ) + "&RememberMyPassFlag=" + encodeURIComponent ( strRememberMyPassFlag ) + "&AutoSignInFlag=" + encodeURIComponent ( strAutoSignInFlag ), "LOGIN", "");
                }
                return;

            case "bnSendFeedback":
                {
                    var strCompany = GEBI("faCompany").value;
                    var strName = GEBI("faName").value;
                    var strPhone = GEBI("faPhone").value;
                    var strMail = GEBI("faMail").value;
                    var strOrder = GEBI("faOrder").value;
                    var oSubject = GetFieldByName(oForm, "faSubject", false);

                    if (strMail.length == 0)
                    {
                        ShowPopupMessage("Fill all required fields");
                        return;
                    }

                    var strParams = "&Company=" + encodeURIComponent ( strCompany ) + "&Name=" + encodeURIComponent ( strName ) + "&Phone=" + encodeURIComponent ( strPhone ) + "&Mail=" + encodeURIComponent ( strMail ) + "&Order=" + encodeURIComponent ( strOrder ) + "&Subject=" + encodeURIComponent ( oSubject.value );

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paSendFeedback" + strParams, "SEND_FEEDBACK", "");
                }
                return;

            case "bnAddRange":
                {
                    var oForm = GEBI(idForm);

                    if (oForm)
                    {
                        var strParams = "";
                        var oTRCol = oForm.getElementsByTagName("TR");
                        var iSelectedItemsCount = 0;

                        if (oTRCol)
                        {
                            for (i = 0; i < oTRCol.length; i++)
                            {
                                var oTR = oTRCol[i];
                                if (oTR)
                                {
                                    if (oTR.className == "Selected")
                                    {
                                        // extracting nesessary data
                                        var ButtonIDArray = oTR.id.split("_");

                                        var ListItemID = ButtonIDArray[1];

                                        strParams += ListItemID + ",";
                                        iSelectedItemsCount++;
                                    }
                                }
                            }
                        }
                    }

                    if (iAddToShoppingListID == -1)
                    {
                        ShowPopupMessage("Please, select shopping list");
                        return;
                    }

                    if (iSelectedItemsCount == 0)
                    {
                        ShowPopupMessage("No items selected");
                        return;
                    }
                    var oTargetTD = GEBI("idMainBlockSource");

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paAddSeveral&ListID=" + encodeURIComponent ( iAddToShoppingListID ) + "&ItemsID=" + encodeURIComponent ( strParams ), "ADD_SEVERAL", oTargetTD);
                }
                return;

            case "bnCopyTo":
                {
                    var oForm = GEBI(idForm);

                    if (oForm)
                    {
                        var strParams = "";
                        var oTRCol = oForm.getElementsByTagName("TR");
                        var iSelectedItemsCount = 0;

                        if (oTRCol)
                        {
                            for (i = 0; i < oTRCol.length; i++)
                            {
                                var oTR = oTRCol[i];
                                if (oTR)
                                {
                                    if (oTR.className == "Selected")
                                    {
                                        // extracting nesessary data
                                        var ButtonIDArray = oTR.id.split("_");

                                        var ListItemID = ButtonIDArray[1];

                                        strParams += ListItemID + ",";
                                        iSelectedItemsCount++;
                                    }
                                }
                            }
                        }
                    }

                    if (iAddToShoppingListID == -1)
                    {
                        ShowPopupMessage("Please, select shopping list");
                        return;
                    }

                    if (iSelectedItemsCount == 0)
                    {
                        ShowPopupMessage("No items selected");
                        return;
                    }
                    var oTargetTD = GEBI("idMainBlockSource");

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paCopyTo&ListID=" + encodeURIComponent ( iAddToShoppingListID ) + "&ItemsID=" + encodeURIComponent ( strParams ), "COPY_TO", oTargetTD);
                }
                return;

            case "bnMoveTo":
                {
                    var oForm = GEBI(idForm);

                    if (oForm)
                    {
                        var strParams = "";
                        var oTRCol = oForm.getElementsByTagName("TR");
                        var iSelectedItemsCount = 0;

                        if (oTRCol)
                        {
                            for (i = 0; i < oTRCol.length; i++)
                            {
                                var oTR = oTRCol[i];
                                if (oTR)
                                {
                                    if (oTR.className == "Selected")
                                    {
                                        // extracting nesessary data
                                        var ButtonIDArray = oTR.id.split("_");

                                        var ListItemID = ButtonIDArray[1];

                                        strParams += ListItemID + ",";
                                        iSelectedItemsCount++;
                                    }
                                }
                            }
                        }
                    }

                    if (iAddToShoppingListID == -1)
                    {
                        ShowPopupMessage("Please, select shopping list");
                        return;
                    }

                    if (iSelectedItemsCount == 0)
                    {
                        ShowPopupMessage("No items selected");
                        return;
                    }
                    var oTargetTD = GEBI("idMainBlockSource");

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paMoveTo&ListID=" + encodeURIComponent ( iAddToShoppingListID ) + "&ItemsID=" + encodeURIComponent ( strParams ), "MOVE_TO", oTargetTD);
                }
                return;

            case "bnDeleteRange":
            case "bnDelete":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    var oForm = GEBI(idForm);

                    if (oForm)
                    {
                        var strParams = "";
                        var oTRCol = oForm.getElementsByTagName("TR");
                        var iSelectedItemsCount = 0;
                        if (oTRCol)
                        {
                            for (i = 0; i < oTRCol.length; i++)
                            {
                                var oTR = oTRCol[i];
                                if (oTR)
                                {
                                    if (oTR.className == "Selected")
                                    {
                                        // extracting nesessary data
                                        var ButtonIDArray = oTR.id.split("_");

                                        var ListItemID = ButtonIDArray[1];

                                        strParams += ListItemID + ",";

                                        iSelectedItemsCount++;
                                    }
                                }
                            }
                        }
                    }


                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paDeleteSeveral&ItemsID=" + encodeURIComponent ( strParams ), "DELETE_SEVERAL", oTargetTD);
                }
                return;

            case "bnConfirmDeleteDialog":
                {
                    var oForm = GEBI(idForm);

                    if (oForm)
                    {
                        var strParams = "";
                        var oTRCol = oForm.getElementsByTagName("TR");
                        var iSelectedItemsCount = 0;
                        if (oTRCol)
                        {
                            for (i = 0; i < oTRCol.length; i++)
                            {
                                var oTR = oTRCol[i];
                                if (oTR)
                                {
                                    if (oTR.className == "Selected")
                                    {
                                        // extracting nesessary data
                                        var ButtonIDArray = oTR.id.split("_");

                                        var ListItemID = ButtonIDArray[1];

                                        strParams += ListItemID + ",";

                                        iSelectedItemsCount++;
                                    }
                                }
                            }
                        }
                    }

                    if (iSelectedItemsCount == 0)
                    {
                        ShowPopupMessage("No items selected");
                        return;
                    }
                    strEditingForm = idForm;
                    strEditingButton = idButton;

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paConfirmDeleteDialog&ItemsID=" + encodeURIComponent ( strParams ) + "&FormName=" + encodeURIComponent ( idForm ), "CONFIRM_DELETE_DIALOG", "");
                }
                return;

            case "bnConfirmListDeleteDialog":
                {
                    strEditingForm = idForm;
                    strEditingButton = oField.id;

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paConfirmListDeleteDialog&ListID=" + encodeURIComponent ( ListItemID ), "CONFIRM_DELETE_DIALOG", "");
                }
                return;

            case "bnConfirmRecipeDeleteDialog":
                {
                    if (!PrevSelectedRowID)
                    {
                        ShowPopupMessage("No recipe selected");
                        return;
                    }

                    strEditingForm = idForm;
                    strEditingButton = idButton;

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paConfirmRecipeDeleteDialog&RecipeID=" + encodeURIComponent ( ListItemID ), "CONFIRM_DELETE_DIALOG", "");
                }
                return;

            case "bnConfirmRecipeItemDeleteDialog":
                {
                    var oForm = GEBI(idForm);

                    if (oForm)
                    {
                        var strParams = "";
                        var oTRCol = oForm.getElementsByTagName("TR");
                        var iSelectedItemsCount = 0;
                        if (oTRCol)
                        {
                            for (i = 0; i < oTRCol.length; i++)
                            {
                                var oTR = oTRCol[i];
                                if (oTR)
                                {
                                    if (oTR.className == "Selected")
                                    {
                                        // extracting nesessary data
                                        var ButtonIDArray = oTR.id.split("_");

                                        var ListItemID = ButtonIDArray[1];

                                        strParams += ListItemID + ",";

                                        iSelectedItemsCount++;
                                    }
                                }
                            }
                        }
                    }

                    if (iSelectedItemsCount == 0)
                    {
                        ShowPopupMessage("No items selected");
                        return;
                    }
                    
                    if (oForm)
                    {
                        var strParams = "";
                        var oTRCol = oForm.getElementsByTagName("TR");
                        var iSelectedItemsCount = 0;
                        if (oTRCol)
                        {
                            for (i = 0; i < oTRCol.length; i++)
                            {
                                var oTR = oTRCol[i];
                                if (oTR)
                                {
                                    if (oTR.className == "Selected")
                                    {
                                        // extracting nesessary data
                                        var ButtonIDArray = oTR.id.split("_");

                                        var ListItemID = ButtonIDArray[1];

                                        strParams += ListItemID + ",";

                                        iSelectedItemsCount++;
                                    }
                                }
                            }
                        }
                    }

                    strEditingForm = idForm;
                    strEditingButton = idButton;

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paConfirmRecipeItemDeleteDialog&ItemID=" + encodeURIComponent ( strParams ), "CONFIRM_DELETE_DIALOG", "");
                }
                return;

            case "bnConfirmStoreDeleteDialog":
                {
                    if (!PrevSelectedRowID)
                    {
                        ShowPopupMessage("No store selected");
                        return;
                    }

                    strEditingForm = idForm;
                    strEditingButton = idButton;

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paConfirmStoreDeleteDialog&StoreID=" + encodeURIComponent ( ListItemID ), "CONFIRM_DELETE_DIALOG", "");
                }
                return;

            case "bnCloneListDialog":
                {
                    if (!PrevSelectedRowID)
                    {
                        ShowPopupMessage("No items selected");
                        return;
                    }

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paCloneListDialog&ListID=" + encodeURIComponent ( PrevSelectedRowID.split("_")[1] ), "CLONE_LIST_DIALOG", "");

                    InEditMode = !InEditMode;
                    strEditingForm = idForm;
                    strEditingButton = "bnCloneList_ListItem_" + PrevSelectedRowID.split("_")[1];

                }
                return;

            case "bnImportShoppingListDialog":
                {
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paImportDialog&ImportTarget=1", "IMPORT_LIST_DIALOG", "");
                }
                return;

            case "bnImportAlterListDialog":
                {
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paImportDialog&ImportTarget=0", "IMPORT_LIST_DIALOG", "");
                }
                return;

            case "bnImportRecipeDialog":
                {
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paImportDialog&ImportTarget=2", "IMPORT_LIST_DIALOG", "");
                }
                return;

            case "bnCloneList":
                {
                    var oNewListName = GetFormFieldByPartName(idForm, "faCloneNewListName");
                    var strListName = GetFormValueByPartName(idForm, "faCloneCL");

                    RemoveErrorSpan (oNewListName, "ErrorSpan_" + oNewListName.id);

                    if (oNewListName.value.length != 0 && oNewListName.className != "Watermark")
                    {
                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paCloneList&feNewListName=" + encodeURIComponent ( oNewListName.value ) + "&ListName=" + encodeURIComponent ( strListName ), "CLONE_LIST", "");
                    }
                    else
                    {
                        CreateErrorSpan(oNewListName, "ErrorSpan_" + oNewListName.id, "Enter valid list name.");

                        oNewListName.select();
                        oNewListName.style.borderColor = "red";
                        oNewListName.style.borderWidth = "1px";
                        oNewListName.style.borderStyle = "solid";
                    }
                }
                return;

            case "bnMergeList":
                {
                    var oListName = GetFormFieldByPartName(idForm, "faMergeFromCL");
                    var oWithListName = GetFormFieldByPartName(idForm, "faMergeIntoCL");

                    if (oListName && oWithListName)
                    {
                        if (oListName.value.length == 0 || oListName.className == "forminputCurrentListsWatermarkImport")
                        {
                            ShowPopupMessage("Please, select target list");
                            return;
                        }
                        
                        if (oWithListName.value.length == 0 || oWithListName.className == "forminputCurrentListsWatermarkImport")
                        {
                            ShowPopupMessage("Please, select 'Merge into' list");
                            return;
                        }

                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paMergeList&ListName=" + encodeURIComponent ( oListName.value ) + "&WithListName=" + encodeURIComponent ( oWithListName.value ), "MERGE_LIST", "");
                    }
                }
                return;

            case "bnRenameCategory":
                {
                    var oCatExistingName = GetFormFieldByPartName(idForm, "faCategoryName");
                    var oCatNewName = GetFormFieldByPartName(idForm, "faNewCategoryName");

                    if (oCatExistingName != null && oCatNewName != null)
                    {
                        if (oCatExistingName.value.length == 0 || oCatExistingName.className == "forminputCaregoryWatermark")
                        {
                            ShowPopupMessage("Please, select existing category");
                            return;
                        }

                        if (oCatNewName.value.length == 0 || oCatNewName.className == "Watermark")
                        {
                            ShowPopupMessage("Please, enter new category name");
                            return;
                        }

                        CloseSpanMessage();

                        var bRet = _Default.RenameCategory(oCatExistingName.value, oCatNewName.value).value;
                        
                        if ( bRet )
                        {
                            SwitchTab(strCurrentTab);
                            setTimeout("ShowPopupMessage(\"Category '" + oCatExistingName.value + "' has been renamed. New category name is '" + oCatNewName.value + "'\", false);", 2000);
                        }
                        else
                        {
                            ShowPopupMessage("Unable to rename category '" + oCatExistingName.value + "'.");
                        
                        }
                        
                    }

                }
                return;

            case "bnRenameBrand":
                {
                    var oBrandExistingName = GetFormFieldByPartName(idForm, "faBrandName");
                    var oBrandNewName = GetFormFieldByPartName(idForm, "faNewBrandName");

                    if (oBrandExistingName != null && oBrandNewName != null)
                    {
                        if (oBrandExistingName.value.length == 0 || oBrandExistingName.className == "forminputCaregoryWatermark")
                        {
                            ShowPopupMessage("Please, select existing brand");
                            return;
                        }

                        if (oBrandNewName.value.length == 0 || oBrandNewName.className == "Watermark")
                        {
                            ShowPopupMessage("Please, enter new brand name");
                            return;
                        }

                        CloseSpanMessage();

                        var bRet = _Default.RenameBrand(oBrandExistingName.value, oBrandNewName.value).value;

                        if (bRet)
                        {
                            SwitchTab(strCurrentTab);
                            setTimeout("ShowPopupMessage(\"Brand '" + oBrandExistingName.value + "' has been renamed. New brand name is '" + oBrandNewName.value + "'\", false);", 2000);
                        }
                        else
                        {
                            ShowPopupMessage("Unable to rename brand '" + oBrandExistingName.value + "'.");

                        }

                    }

                }
                return;

            case "bnRenameAisle":
                {
                    var oAisleExistingName = GetFormFieldByPartName(idForm, "faAisleName");
                    var oAisleNewName = GetFormFieldByPartName(idForm, "faNewAisleName");

                    if (oAisleExistingName != null && oAisleNewName != null)
                    {
                        if (oAisleExistingName.value.length == 0 || oAisleExistingName.className == "forminputCaregoryWatermark")
                        {
                            ShowPopupMessage("Please, select existing Aisle");
                            return;
                        }

                        if (oAisleNewName.value.length == 0 || oAisleNewName.className == "Watermark")
                        {
                            ShowPopupMessage("Please, enter new Aisle name");
                            return;
                        }

                        CloseSpanMessage();

                        var oAisleExistingFullName = GetFormFieldByPartName(idForm, "faExistingAisleFullName_" + oAisleExistingName.value);
  
                        var strAisleExistingFullName = (oAisleExistingFullName == null) ? "" : oAisleExistingFullName.value;

                        var bRet = _Default.RenameAisle(strAisleExistingFullName, oAisleNewName.value ).value;

                        if (bRet)
                        {
                            SwitchTab(strCurrentTab);
                            setTimeout("ShowPopupMessage(\"Aisle '" + oAisleExistingName.value + "' has been renamed. New Aisle name is '" + oAisleNewName.value + "'\", false);", 2000);
                        }
                        else
                        {
                            ShowPopupMessage("Unable to rename Aisle '" + oAisleExistingName.value + "'.");

                        }
                    }
                }
                return;

            case "bnResetListDialog":
                {
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paResetListDialog", "RESET_LIST_DIALOG", "");
                    strEditingForm = idForm;
                    strEditingButton = "bnResetList";

                    InEditMode = true;
                }
                return;

            case "bnResetList":
                {
                    var oInput = ValidateForm(GEBI(idForm));

                    if (!oInput)
                    {
                        var oTargetTD = GEBI("idMainBlockSource");

                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paResetList&ResetListActionID=" + encodeURIComponent ( iListResetAction ), "RESET_LIST", oTargetTD);
                        iListResetAction = -1;
                    }
                    else
                    {
                        oInput.select();
                        oInput.style.borderColor = "red";
                        oInput.style.borderWidth = "1px";
                        oInput.style.borderStyle = "solid";
                    }

                }
                return;
            case "bnExportList":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    if (iExportList == -1)
                    {
                        ShowPopupMessage("Please, select list");
                        return;
                    }

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paExportList&ListID=" + encodeURIComponent ( iExportList ), "EXPORT_LIST", oTargetTD);
                    iExportList = -1;
                }
                return;
            
            case "bnImportToList":
                {
                    var oValInput = ValidateForm(GEBI(idForm));

                    if (!oValInput)
                    {
                        var oInput = GetFormFieldByPartName(idForm, "faImportToLists");

                        if (oInput)
                        {
                            if ((oInput.className == "Watermark" || oInput.value.trim().length == 0) && iImportToList == -1)
                            {
                                ShowPopupMessage("Please, enter list name or select existing list.");
                                return;
                            }

                        }

                        var oImportedDataInput = GetFormFieldByPartName(idForm, "faImportedDataType");

                        if (oImportedDataInput)
                        {
                            if (oImportedDataInput.className == "forminputCurrentListsWatermarkImport" || oImportedDataInput.value.trim().length == 0)
                            {
                                ShowPopupMessage("Please, select imported data type");
                                return;
                            }

                        }

                        var strFileNameTDID = GEBI("tdImportSourceFile");

                        if (strFileNameTDID.innerHTML.length == 0)
                        {
                            ShowPopupMessage("Please, select source file");
                            return;
                        }

                        CloseSpanMessage();
                        
                        ShowIdleBox(false);

                        strRelatedRequestParams = "action=DirectPOST&PostAction=paImportToList&ListID=" + encodeURIComponent ( iImportToList ) + "&NewListname=" + encodeURIComponent ( oInput.value ) + "&TypeID=" + encodeURIComponent ( iImportDataType ) + "&Delimiter=" + encodeURIComponent ( strImportListDelimiter);
                        strRelatedRequestAction = "IMPORT_LIST";
                        oRelatedRequestTarget = null;

                        if (bUploadingFile)
                        {
                            try
                            {
                                oUpload.submit();
                            }
                            catch (e) { }
                        }
                        else
                        {
                            ProcessRequest("default.aspx", strRelatedRequestParams, strRelatedRequestAction, oRelatedRequestTarget);
                        }
                    }
                    else
                    {
                        oValInput.select();
                        oValInput.style.borderColor = "red";
                        oValInput.style.borderWidth = "1px";
                        oValInput.style.borderStyle = "solid";
                    }
                    
                }
                return;

            case "bnPrintPreview":
                {
                    var iListID = -1;

                    if (ParsedButtonIDArray[1] == "CL")
                    {
                        if (PrevSelectedRowID)
                        {
                            try
                            {
                                iListID = PrevSelectedRowID.split('_')[1];
                            }
                            catch (e)
                            { }
                        }
                    }
                    else
                    {
                        iListID = ParsedButtonIDArray[1];
                    }


                    if (iListID == -1)
                    {
                        ShowPopupMessage("Please, select shopping list.");
                        return;
                    }

                    var windowPrintID = window.open("PrintVersion.html", null, "height=700,width=1100,status=yes,toolbar=yes,menubar=no,location=no,scrollbars=yes");
                    
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paPrintVersion&ListID=" + encodeURIComponent ( iListID ), "PRINT_VERSION_CL", windowPrintID);
                }
                return;
                
            case "bnRecipePrintPreview":
                {
                    var iListID = -1;

                    if (ParsedButtonIDArray[1] == "RC")
                    {
                        if (PrevSelectedRowID)
                        {
                            try
                            {
                                iListID = PrevSelectedRowID.split('_')[1];
                            }
                            catch (e)
                            { }
                        }
                    }
                    else
                    {
                        iListID = ParsedButtonIDArray[1];
                    }


                    if (iListID == -1)
                    {
                        ShowPopupMessage("Please, select recipe.");
                        return;
                    }

                    var windowPrintID = window.open("PrintVersion.html", null, "height=700,width=1100,status=yes,toolbar=yes,menubar=no,location=no,scrollbars=yes");

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paRecipePrintVersion&RecipeID=" + encodeURIComponent ( iListID ), "PRINT_VERSION_RC", windowPrintID);
                }
                return;
                
            case "bnPrint":
                {
                    window.print();
                }
                return;

            case "bnApplyAlterMasterList":
                {
                    if (iAlterMasterListID == -1)
                    {
                        ShowPopupMessage("Please, select template");
                        return;
                    }

                    CloseSpanMessage();

                    ShowIdleBox(false);

                    var strCommand = "ProcessRequest(\"default.aspx\", \"action=DirectPOST&PostAction=paApplyAlterMasterList&ListID=" + encodeURIComponent ( iAlterMasterListID ) + "\", \"APPLY_ALTER_MASTER_LIST\", \"\")";

                    setTimeout(strCommand, 1000);
                    
                    iAlterMasterListID = -1;
                }
                return;

            case "bnApplyFilter":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    var oFilterProductName = GetFormFieldByPartName(idForm, "faFilterProductName");
                    var oFilterCategoriesList = GetFormFieldByPartName(idForm, "faFilterCategoriesList");
                    var oFilterRecordsPerPage = GetFormFieldByPartName(idForm, "faFilterRecordsPerPage");

                    ShowLoadingMessageDelayed();
                    
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paApplyFilter&faFilterProductName=" + encodeURIComponent ( oFilterProductName.value ) + "&faFilterCategoriesList=" + encodeURIComponent ( oFilterCategoriesList.value ) + "&faFilterRecordsPerPage=" + encodeURIComponent ( oFilterRecordsPerPage.value ), "APPLY_FILTER", oTargetTD);
                }
                return;

            case "bnApplyRecipeFilter":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    var oRecipeMealType = GetFormFieldByPartName(idForm, "faRecipeType");

                    ShowLoadingMessageDelayed();

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paApplyRecipeFilter&RecipeMealType=" + encodeURIComponent ( oRecipeMealType.value ), "APPLY_FILTER", oTargetTD);
                }
                return;

            case "bnApplyCouponsFilter":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    var oCouponStore = GetFormFieldByPartName(idForm, "faFilterCouponsStores");
                    var oCouponBrand = GetFormFieldByPartName(idForm, "faFilterCouponsBrands");
                    var oCouponKeyword = GetFormFieldByPartName(idForm, "faFilterCouponKeyword");
                    var oRecommended = GEBI("cbxShowRecommended");

                    if (oCouponKeyword)
                    {
                        if (oCouponKeyword.className.indexOf ( "Watermark" ) != -1)
                        {
                            oCouponKeyword.value = "";
                        }

                    }

                    ShowLoadingMessageDelayed();

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paApplyCouponsFilter&CouponStore=" + encodeURIComponent ( oCouponStore.value ) + "&CouponBrand=" + encodeURIComponent ( oCouponBrand.value ) + "&CouponKeyword=" + encodeURIComponent ( oCouponKeyword.value ) + "&Recommended=" + encodeURIComponent ( oRecommended.checked ), "APPLY_FILTER", oTargetTD);
                }
                return;

            case "bnApplyCurrentListFilter":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    var oItemName = GetFormFieldByPartName(idForm, "faFilterProductNameFilter");

                    if (oItemName)
                    {
                        if (oItemName.className.indexOf("Watermark") != -1)
                        {
                            oItemName.value = "";
                        }

                    }

                    ShowLoadingMessageDelayed();

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paApplyCurrentListFilter&ItemName=" + encodeURIComponent(oItemName.value), "APPLY_FILTER", oTargetTD);
                }
                return;

            case "bnPaging":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    var oFilterProductName = GetFormFieldByPartName(idForm, "FromRec");

                    ShowLoadingMessageDelayed();

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paPaging&FromRec=" + encodeURIComponent ( oFilterProductName.value ) + "&Form=" + encodeURIComponent ( idForm ), "APPLY_PAGING", oTargetTD);
                }
                return;
                
            case "bnGenerateShoppingList":
                {
                    var iListID = -1;

                    if (ParsedButtonIDArray[1] == "RC")
                    {
                        if (PrevSelectedRowID)
                        {
                            try
                            {
                                iListID = PrevSelectedRowID.split('_')[1];
                            }
                            catch (e)
                            { }
                        }
                    }
                    else
                    {
                        iListID = ParsedButtonIDArray[1];
                    }


                    if (iListID == -1)
                    {
                        ShowPopupMessage("Please, select recipe.");
                        return;
                    }
                    
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paGenShoppingList&RecipeID=" + encodeURIComponent ( iListID ), "GEN_SHOPPING_LIST", null);

                }
                return;

            case "bnSendPushCommand":
                {
                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paSendPushCommand", "SEND_PUSH", "");
                }
                return;
            case "bnFindItemByBarcode":
                {
                    var oBarcode_fixed = GetFormFieldByPartName(idForm, "Barcode_fixed");

                    var oBarcode = GetFormFieldByPartName(idForm, "faBarcode_input");

                    var oSpan = GEBI("ErrorSpan_" + oBarcode.id);

                    if (oSpan)
                    {
                        try
                        {
                            oBarcode.parentNode.removeChild(oSpan);
                        }
                        catch (e)
                        { }
                    }

                    if (oBarcode.value.trim().length == 0 || oBarcode.className == "forminputBarcodeWatermark")
                    {
                        var oNewSpan = document.createElement('Span');
                        oNewSpan.id = "ErrorSpan_" + oBarcode.id;
                        oNewSpan.style.color = "red";
                        oBarcode.parentNode.appendChild(oNewSpan);
                        oNewSpan.innerHTML = "<BR>Enter valid barcode";
                        
                        return;
                    }
                    else
                    {
                        // testing value
                        if (isNaN(oBarcode.value.trim()))
                        {
                            var oNewSpan = document.createElement('Span');
                            oNewSpan.id = "ErrorSpan_" + oBarcode.id;
                            oNewSpan.style.color = "red";
                            oBarcode.parentNode.appendChild(oNewSpan);
                            oNewSpan.innerHTML = "<BR>Enter valid barcode";

                            return;
                        }
                        // ok
                        else
                        {
                            if (parseFloat(oBarcode.value.trim()) < 0)
                            {
                                var oNewSpan = document.createElement('Span');
                                oNewSpan.id = "ErrorSpan_" + oBarcode.id;
                                oNewSpan.style.color = "red";
                                oBarcode.parentNode.appendChild(oNewSpan);
                                oNewSpan.innerHTML = "<BR>Barcode can not be negative";

                                return;
                            }
                        }
                    }

                    ShowPopupMessage("Please wait...", true);

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paFindItemByBarcode&Barcode=" + encodeURIComponent ( oBarcode_fixed.value.trim() ) + "&Form=" + encodeURIComponent ( idForm ), "FIND_ITEM_BY_BARCODE", "");
                }
                return;

            case "bnManageShoppingListsDialog":
            case "bnCreateShoppingListsDialog":
            case "bnUpdateShoppingListsDialog":
            case "bnDeleteShoppingListsDialog":
                {

                    var oTargetTD = GEBI("idMainBlockSource");

                    var EntityID = "";
                    var ManageMode = "";
                    var iListID = -1;

                    var oField = GetFormFieldByPartName(idForm, ActualButtonID);

                    if (oField)
                    {
                        EntityID = oField.name.split("_")[1];
                        ManageMode = oField.name.split("_")[2];
                    }
                    else
                    {
                        EntityID = idButton.split("_")[1];
                        ManageMode = idButton.split("_")[2];
                        iListID = idButton.split("_")[3];
                    }
                    
                    if ( EntityID.length > 0)
                    {
                       ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paManageEntity&EntityID=" + encodeURIComponent ( EntityID ) + "&EntityManageMode=" + encodeURIComponent ( ManageMode ) + "&ItemID=" + encodeURIComponent ( iListID ), "MANAGE_DIALOG", oTargetTD);
                    }
                }
                return;


            case "bnCreateStoreDialog":
            case "bnUpdateStoreDialog":
            case "bnDeleteStoreDialog":
            case "bnRenameAisleDialog":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    var oField = GetFormFieldByPartName(idForm, ActualButtonID);

                    var EntityID = "";
                    var ManageMode = "";
                    var iStoreID = -1;

                    if (oField)
                    {
                        EntityID = oField.name.split("_")[1];
                        ManageMode = oField.name.split("_")[2];
                    }
                    else
                    {
                        EntityID = idButton.split("_")[1];
                        ManageMode = idButton.split("_")[2];
                        iStoreID = idButton.split("_")[3];
                    }

                    if (EntityID.length > 0)
                    {
                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paManageEntity&EntityID=" + encodeURIComponent ( EntityID ) + "&EntityManageMode=" + encodeURIComponent ( ManageMode ) + "&ItemID=" + encodeURIComponent ( iStoreID ), "MANAGE_DIALOG", oTargetTD);
                    }
                }
                return;

            case "bnRenameCategoryDialog":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paManageEntity&EntityID=lkCategory&EntityManageMode=emmRename", "MANAGE_DIALOG", oTargetTD);
                }
                return;

            case "bnRenameBrandDialog":
                {
                    var oTargetTD = GEBI("idMainBlockSource");

                    ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paManageEntity&EntityID=lkBrand&EntityManageMode=emmRename", "MANAGE_DIALOG", oTargetTD);
                }
                return;

            case "bnAddCouponToCart":
                {
                    try
                    {
                        var cCoupon = _Default.GetCouponByID(ListItemID, null,
                        function ()
                        {
                        return false;
                        }
                        ).value;

                        if (cCoupon)
                        {
                            var cCouponStore = _Default.GetCouponStoreByCouponID(ListItemID, null,
                            function()
                            {
                                return false;
                            }
                            ).value;

                            windowCellFireID = window.open("CellFireQFrame.aspx?cf_offerId=" + cCoupon.iOffer_id + "&cf_merchantId=" + cCouponStore.iMerchant_id + "", null, "height=700,width=1100,status=yes,toolbar=yes,menubar=no,location=no,scrollbars=yes");
                        }
                    }
                    catch ( e ){}
                }
                return;
        }

        if (!InEditMode)
        {
            var oInput = ValidateForm(oForm);

            if (!oInput)
            {

                if (idForm == "fUpdateMasterListForm" || idForm == "fModalAddingForm" || "fRenameCurrentListForm")
                {
                    // switch item action
                    switch (ActualButtonID)
                    {
                        case "bnEdit":
                            {
                                var oTargetTD = GEBI("idMainBlockSource");

                                var strFormParams = "";

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden" || oInput.type == "file")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = oInput.value;

                                        if (strFieldName.indexOf("faBarcode_input") != -1 )
                                        {
                                            continue;
                                        }
                                     
                                        if (strFieldName.indexOf("Barcode_fixed") != -1)
                                        {
                                            if (strFieldValue == "0000000000000")
                                            {
                                                strFieldValue = "";
                                            }
                                            else
                                            {
                                                strFieldValue = strFieldValue.trim();
                                            }
                                            
                                        }
                                        

                                        // get selected stores
                                        if (oInput.id.indexOf("faStoresList") != -1)
                                        {
                                            strFieldValue = "";
                                            
                                            var colFormCheckBoxes = oForm.getElementsByTagName("INPUT");

                                            for (j = 0; j < colFormCheckBoxes.length; j++)
                                            {
                                                var oCB = colFormCheckBoxes[j];

                                                if (oCB.type == "checkbox" && oCB.id.indexOf("CLI_CB_") != -1)
                                                {
                                                    if (oCB.checked)
                                                    {
                                                        var iStoreID = oCB.id.split("_");

                                                        strFieldValue += iStoreID[2] + ",";
                                                    }
                                                }
                                            }

                                        }


                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        if (oTextArea.value.length > 0)
                                        {
                                            var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                        }
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                strRelatedRequestParams = strFormParams;
                                strRelatedRequestAction = "UPDATE_ITEM";
                                oRelatedRequestTarget = oTargetTD;

                                if (bUploadingFile)
                                {
                                    try
                                    {
                                        oUpload.submit();
                                    }
                                    catch (e) { }
                                }
                                else
                                {
                                    ProcessRequest("default.aspx", strRelatedRequestParams, strRelatedRequestAction, oRelatedRequestTarget);
                                }
                            }
                            break;

                        case "bnAdd":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = oInput.value;
                                        
                                        // get selected stores
                                        if (oInput.id.indexOf("faStoresList") != -1)
                                        {
                                            strFieldValue = "";

                                            var colFormCheckBoxes = oForm.getElementsByTagName("INPUT");

                                            for (j = 0; j < colFormCheckBoxes.length; j++)
                                            {
                                                var oCB = colFormCheckBoxes[j];

                                                if (oCB.type == "checkbox" && oCB.id.indexOf("CLI_CB_") != -1)
                                                {
                                                    if (oCB.checked)
                                                    {
                                                        var iStoreID = oCB.id.split("_");

                                                        strFieldValue += iStoreID[2] + ",";
                                                    }
                                                }
                                            }

                                        }

                                        if (strFieldName.indexOf("Barcode_fixed") != -1)
                                        {
                                            if (strFieldValue == "0000000000000")
                                            {
                                                strFieldValue = "";
                                            }
                                            else
                                            {
                                                strFieldValue = strFieldValue.trim();
                                            }

                                        }

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        if (oTextArea.value.length > 0)
                                        {
                                            var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                        }
                                    }
                                }


                                strFormParams += "&action=DirectPOST";

                                strRelatedRequestParams = strFormParams;
                                strRelatedRequestAction = "ADD_ITEM";
                                oRelatedRequestTarget = oTargetTD;

                                if (bUploadingFile)
                                {
                                    try
                                    {
                                        oUpload.submit();
                                    }
                                    catch (e) { }
                                }
                                else
                                {
                                    ProcessRequest("default.aspx", strRelatedRequestParams, strRelatedRequestAction, oRelatedRequestTarget);
                                }

                            }
                            break;

                        case "bnAddAndClose":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;
                                        
                                        var strFieldValue = oInput.value;

                                        // get selected stores
                                        if (oInput.id.indexOf("faStoresList") != -1)
                                        {
                                            strFieldValue = "";

                                            var colFormCheckBoxes = oForm.getElementsByTagName("INPUT");

                                            for (j = 0; j < colFormCheckBoxes.length; j++)
                                            {
                                                var oCB = colFormCheckBoxes[j];

                                                if (oCB.type == "checkbox" && oCB.id.indexOf("CLI_CB_") != -1)
                                                {
                                                    if (oCB.checked)
                                                    {
                                                        var iStoreID = oCB.id.split("_");

                                                        strFieldValue += iStoreID[2] + ",";
                                                    }
                                                }
                                            }

                                        }

                                        if (strFieldName.indexOf("Barcode_fixed") != -1)
                                        {
                                            if (strFieldValue == "0000000000000")
                                            {
                                                strFieldValue = "";
                                            }
                                            else
                                            {
                                                strFieldValue = strFieldValue.trim();
                                            }

                                        }

                                        
                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        if (oTextArea.value.length > 0)
                                        {
                                            var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                        }
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                strRelatedRequestParams = strFormParams;
                                strRelatedRequestAction = "ADD_ITEM_AND_CLOSE";
                                oRelatedRequestTarget = oTargetTD;

                                if (bUploadingFile)
                                {
                                    try
                                    {
                                        oUpload.submit();
                                    }
                                    catch (e) { }
                                }
                                else
                                {
                                    ProcessRequest("default.aspx", strRelatedRequestParams, strRelatedRequestAction, oRelatedRequestTarget);
                                }


                            }
                            break;
                            
                        case "bnListAdd":
                            {
                                var strFormParams = "";

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "LIST_ADD", "");
                            }
                            break;
                            
                        case "bnAddListAndClose":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "ADD_LIST_AND_CLOSE", oTargetTD);
                            }
                            break;
                            
                        case "bnListEdit":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "LIST_EDIT", oTargetTD);
                            }
                            break;

                        case "bnAddRecipe":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }
                                
                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "RECIPE_ADD", oTargetTD);
                            }
                            break;

                        case "bnAddRecipeAndClose":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue ); 
                                        }
                                    }
                                }
                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "ADD_RECIPE_AND_CLOSE", oTargetTD);
                            }
                            break;

                        case "bnAddRecipeItem":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "RECIPE_ITEM_ADD", oTargetTD);
                            }
                            break;

                        case "bnAddRecipeItemAndClose":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }
                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "ADD_RECIPE_ITEM_AND_CLOSE", oTargetTD);
                            }
                            break;

                        case "bnEditRecipe":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }
                                
                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "RECIPE_EDIT", oTargetTD);
                            }
                            break;
                        
                        case "bnEditRecipeItem":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "RECIPE_ITEM_EDIT", oTargetTD);
                            }
                            break;

                        case "bnAddStore":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "STORE_ADD", oTargetTD);
                            }
                            break;

                        case "bnAddStoreAndClose":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;

                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }
                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "ADD_STORE_AND_CLOSE", oTargetTD);
                            }
                            break;

                        case "bnEditStore":
                            {
                                var strFormParams = "";

                                var oTargetTD = GEBI("idMainBlockSource");

                                var colFormInputs = oForm.getElementsByTagName("INPUT");

                                for (i = 0; i < colFormInputs.length; i++)
                                {
                                    var oInput = colFormInputs[i];

                                    if (oInput.type == "text" || oInput.type == "hidden")
                                    {
                                        var strFieldName = (oInput.name != "undefined" && oInput.name != "") ? oInput.name : oInput.id;

                                        var strFieldValue = (oInput.className == "Watermark") ? "" : oInput.value;
                                        
                                        if (i == 0)
                                        {
                                            strFormParams += strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                        else
                                        {
                                            strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( strFieldValue );
                                        }
                                    }
                                }

                                var oTextAreaCol = oForm.getElementsByTagName("TEXTAREA");

                                if (oTextAreaCol)
                                {
                                    var oTextArea = oTextAreaCol[0];

                                    if (oTextArea)
                                    {
                                        var strFieldName = (oTextArea.name != "undefined" && oTextArea.name != "") ? oTextArea.name : oTextArea.id;
                                        strFormParams += "&" + strFieldName + "=" + encodeURIComponent ( oTextArea.value );
                                    }
                                }

                                strFormParams += "&action=DirectPOST";

                                ProcessRequest("default.aspx", strFormParams, "STORE_EDIT", oTargetTD);
                            }
                            break;
                            

                        default:
                            {
                            }
                            break;
                    }
                }
            }
            else
            {
                oInput.select();
                oInput.style.borderColor = "red";
                oInput.style.borderWidth = "1px";
                oInput.style.borderStyle = "solid";
                InEditMode = true;
            }
        }
    }
}
//----------------------------------------------------------------
function EnterEditMode(idForm, idRow)
{
    var oRow = GEBI(idRow);

    switch (idForm)
    {
        case "fMasterList":
            {
                var iRecID = (idRow.split("_")[1] == "undefined") ? "-1" : idRow.split("_")[1];

                ShowStaticIdleInModalPopUp();

                ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paEnterMasterListEditMode&RecordID=" + encodeURIComponent ( iRecID ), "ENTER_MASTER_LIST_EDIT_MODE", "");
            }
            break;

        case "fCurrentList":
            {
            
                switch ( strEditingButton )
                {
                    case "bnListAdd":
                    {
                        var iListID = (idRow.split("_")[1] == "undefined") ? "-1" : idRow.split("_")[1];

                        ShowStaticIdleInModalPopUp();
                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paRenameCurrentList&ListID=" + encodeURIComponent(iListID), "RENAME_CURRENT_LIST", "");
                    }
                    break;
                    default:
                    {
                        var iRecID = (idRow.split("_")[1] == "undefined") ? "-1" : idRow.split("_")[1];

                        ShowStaticIdleInModalPopUp();
                        ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paEnterCurrentListEditMode&RecordID=" + encodeURIComponent(iRecID), "ENTER_CURRENT_LIST_EDIT_MODE", "");
                    }
                    break;
                }
            }
            break;

        case "fRecipes":
            {
                var iRecID = (idRow.split("_")[1] == "undefined") ? "-1" : idRow.split("_")[1];

                ShowStaticIdleInModalPopUp();
                ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paAddEditRecipeDialog&RecipeID=" + encodeURIComponent(iRecID), "ADD_EDIT_RECIPE", "");
            }
            break;

        case "fRecipe":
            {
                var iRecID = (idRow.split("_")[1] == "undefined") ? "-1" : idRow.split("_")[1];

                ShowStaticIdleInModalPopUp();
                ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paAddEditRecipeItemDialog&ItemID=" + encodeURIComponent(iRecID), "ADD_EDIT_RECIPE_ITEM", "");
            }
            break;

        case "fStores":
            {
                var iRecID = (idRow.split("_")[1] == "undefined") ? "-1" : idRow.split("_")[1];

                ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paAddEditStoreDialog&StoreID=" + encodeURIComponent ( iRecID ), "ADD_EDIT_STORE", "");
            }
            break;

        default:
            {
                var iListID = (idRow.split("_")[1] == "undefined") ? "-1" : idRow.split("_")[1];

                ProcessRequest("default.aspx", "action=DirectPOST&PostAction=paRenameCurrentList&ListID=" + encodeURIComponent ( iListID ), "RENAME_CURRENT_LIST", "");
            }
            break;
    }
}
//-----------------------------------------------------------------
