function Products_Update(obj, fPreviewing)
{
    var sAttributes = GetAttribute(obj, "pAttributes");

    Plugin_Update(sAttributes, fPreviewing, true);
    Plugin_ShowCaptionEx(sAttributes);
    
    if (!fPreviewing && (sAttributes != ""))
    {
        var rSections = sAttributes.split(';');
        var iSection;
        
        for (iSection = 0; iSection < rSections.length; iSection++)
        {
            var rSection = rSections[iSection].split(':');
            
            if (rSection[0] != SECTION_FORM) 
            {
                var rOptions = rSection[1].split(',');
                var iOption;
            
                for (iOption = 0; iOption < rOptions.length; iOption++)
                {
                    var rOption   = rOptions[iOption].split('=');
                    var objOption = Plugin_GetControl(rSection[0] + "_" + rOption[0]);
                    
                    if (objOption != null)
                        objOption.value = unescape(rOption[1]);
                }                              
            }                
        }
    }        

}

function Products_GetAttributes()
{
    var sAttributes = Plugin_GetFormAttributes();
    var iSection;

    for (iSection = 0; iSection < rPRODUCTS_SECTION.length; iSection++)
    {
        if (sAttributes != "")
            sAttributes += ";";
        sAttributes += rPRODUCTS_SECTION[iSection][1] + ":";

        var iOption;
        var sOptions = "";
        
        for (iOption = 0; iOption < rPRODUCTS_SECTION_OPTION.length; iOption++)
        {
            var objOption = Plugin_GetControl(rPRODUCTS_SECTION[iSection][1] + "_" + rPRODUCTS_SECTION_OPTION[iOption][1]);
            
            if (sOptions != "")
                sOptions += ",";
                
            var sValue = String_ReplaceCH(trimEx(objOption.value, false), ",", " ");
            
            sOptions += rPRODUCTS_SECTION_OPTION[iOption][1] + "=" + escape(sValue);
        }
        
        sAttributes += sOptions;
    }

    return sAttributes;
}

function Products_Validate(sNewAttributes, sOldAttributes)
{
    return Command_Validate(sNewAttributes, sOldAttributes, PLUGIN_FORM_OPTION_SetPageSize, true, true, "Set \"Page Size\" value is invalid");
}

function Products_ViewMore(iSectionID)
{
    Redirect(sProductsViewMore + iSectionID, true);
}
