$style = explode('-', $styleBreak);
 if (preg_match("/^[[:digit:]]+\$/", $style[0])) {
     $styleReturn = sprintf('%02d', $style[0]) . "-" . $style[1];
 } else {
     $styleReturn = $style[0] . "-" . $style[1];
 }
 $styleTrim = ltrim($style[0], "0");
 if ($style[0] < 10 && preg_match("/^[[:digit:]]+\$/", $style[0])) {
     $styleFix = "0" . $style[0];
 } else {
     $styleFix = $style[0];
 }
 if (NHC) {
     $brewJudgingNumber = "";
 } else {
     $brewJudgingNumber = generate_judging_num($styleTrim);
 }
 // Get style name from broken parts
 mysql_select_db($database, $brewing);
 $query_style_name = sprintf("SELECT * FROM %s WHERE (brewStyleVersion='%s' OR brewStyleOwn='custom') AND brewStyleGroup='%s' AND brewStyleNum='%s'", $styles_db_table, $_SESSION['prefsStyleSet'], $styleFix, $style[1]);
 $style_name = mysql_query($query_style_name, $brewing) or die(mysql_error());
 $row_style_name = mysql_fetch_assoc($style_name);
 // Mark as paid if free entry fee
 if ($_SESSION['contestEntryFee'] == 0) {
     $brewPaid = "1";
 } else {
     $brewPaid = "0";
 }
 $insertSQL = "INSERT INTO {$brewing_db_table} (";
 if ($_SESSION['prefsHideRecipe'] == "N") {
     $insertSQL .= "\n\t\t\t\t{$brewExtract},\n\t\t\t\t{$brewExtractWeight},\n\t\t\t\t{$brewExtractUse},\n\t\t\t\t{$brewGrain},\n\t\t\t\t{$brewGrainWeight},\n\t\t\t\t{$brewGrainUse},\n\t\t\t\t{$brewAddition},\n\t\t\t\t{$brewAdditionAmt},\n\t\t\t\t{$brewAdditionUse},\n\t\t\t\t{$brewHops},\n\t\t\t\t{$brewHopsWeight},\n\t\t\t\t{$brewHopsIBU},\n\t\t\t\t{$brewHopsUse},\n\t\t\t\t{$brewHopsTime},\n\t\t\t\t{$brewHopsType},\n\t\t\t\t{$brewHopsForm},\n\t\t\t\t{$brewMashStepName},\n\t\t\t\t{$brewMashStepTemp},\n\t\t\t\t{$brewMashStepTime},\n\t\t\t\t";
function generate_judging_numbers($brewing_db_table)
{
    require CONFIG . 'config.php';
    /*
    $query_judging_numbers = "SELECT id FROM $brewing_db_table ORDER BY id ASC";
    $judging_numbers = mysql_query($query_judging_numbers, $brewing) or die(mysql_error());
    $row_judging_numbers = mysql_fetch_assoc($judging_numbers);
    do { 
    	$updateSQL = sprintf("UPDATE $brewing_db_table SET brewJudgingNumber=%s WHERE id='%s'", "NULL", $row_judging_numbers['id']);
    	mysql_select_db($database, $brewing);
    	$Result = mysql_query($updateSQL, $brewing) or die(mysql_error());
    
    } while ($row_judging_numbers = mysql_fetch_assoc($judging_numbers));
    */
    // Clear out all current judging numbers
    $updateSQL = sprintf("UPDATE %s SET brewJudgingNumber=NULL", $brewing_db_table);
    mysql_select_db($database, $brewing);
    $result = mysql_query($updateSQL, $brewing) or die(mysql_error());
    $query_judging_numbers = sprintf("SELECT id,brewCategory,brewName FROM %s", $brewing_db_table);
    $judging_numbers = mysql_query($query_judging_numbers, $brewing) or die(mysql_error());
    $row_judging_numbers = mysql_fetch_assoc($judging_numbers);
    // Generate and insert new judging numbers
    do {
        $updateSQL = sprintf("UPDATE %s SET brewJudgingNumber=%s WHERE id=%s", $brewing_db_table, GetSQLValueString(generate_judging_num($row_judging_numbers['brewCategory']), "text"), GetSQLValueString($row_judging_numbers['id'], "text"));
        mysql_select_db($database, $brewing);
        $result = mysql_query($updateSQL, $brewing) or die(mysql_error());
    } while ($row_judging_numbers = mysql_fetch_assoc($judging_numbers));
}
 function insertRecipe($recipe)
 {
     // inserts into `recipes` DB table
     include CONFIG . 'config.php';
     include INCLUDES . 'scrubber.inc.php';
     //include (INCLUDES.'url_variables.inc.php');
     $brewing = $connection;
     $sqlQuery = "INSERT INTO " . $prefix . "brewing";
     $fields = "(brewName";
     $values = " VALUES('" . strtr($recipe->name, $html_string) . "'";
     $vf = array();
     $counter = array();
     $vf["brewBrewerFirstName"] = $_POST["brewBrewerFirstName"];
     $vf["brewBrewerLastName"] = $_POST["brewBrewerLastName"];
     $query_limits = sprintf("SELECT * FROM %s WHERE id='1'", $prefix . "preferences");
     $limits = mysql_query($query_limits, $brewing) or die(mysql_error());
     $row_limits = mysql_fetch_assoc($limits);
     $style_value = ltrim($recipe->style->categoryNumber, "0") . "-" . $recipe->style->styleLetter;
     if (empty($row_limits['prefsUserSubCatLimit'])) {
         $user_subcat_limit = "99999";
     } else {
         $user_subcat_limit = $row_limits['prefsUserSubCatLimit'];
     }
     if (empty($row_limits['prefsUSCLExLimit'])) {
         $user_subcat_limit_exception = "99999";
     } else {
         $user_subcat_limit_exception = $row_limits['prefsUSCLExLimit'];
     }
     // Determine if the subcategory limit has been reached
     $subcat_limit = limit_subcategory($style_value, $user_subcat_limit, $user_subcat_limit_exception, $row_limits['prefsUSCLEx'], $_SESSION['loginUsername']);
     if (!$subcat_limit) {
         $vf["brewStyle"] = strtr($recipe->style->name, $html_string);
         $vf["brewCategory"] = ltrim($recipe->style->categoryNumber, "0");
         $vf["brewCategorySort"] = $recipe->style->categoryNumber;
         $vf["brewSubCategory"] = $recipe->style->styleLetter;
     } else {
         $vf["brewStyle"] = "";
         $vf["brewCategory"] = "";
         $vf["brewCategorySort"] = "";
         $vf["brewSubCategory"] = "";
     }
     //$vf["brewSource"] = $recipe->brewer;
     //$vf["brewYield"] = $this->convertUnit($recipe->batchSize, "volume");
     //$vf["brewNotes"] = strtr($recipe->notes, $html_string);
     //$vf["brewMethod"] = $recipe->type;
     $counter["grain"] = 0;
     $counter["extract"] = 0;
     $counter["adjunct"] = 0;
     foreach ($recipe->fermentables->fermentables as $fermentable) {
         switch ($fermentable->type) {
             case "Grain":
                 $counter["grain"]++;
                 if ($counter["grain"] <= 15) {
                     $vf["brewGrain" . $counter["grain"]] = strtr($fermentable->name, $html_string);
                     $vf["brewGrain" . $counter["grain"] . "Weight"] = number_format($this->convertUnit($fermentable->amount, "weight"), 2);
                     $vf["brewGrain" . $counter["grain"] . "Use"] = "Mash";
                 }
                 break;
             case "Extract":
                 $counter["extract"]++;
                 if ($counter["extract"] <= 5) {
                     $vf["brewExtract" . $counter["extract"]] = strtr($fermentable->name, $html_string);
                     $vf["brewExtract" . $counter["extract"] . "Weight"] = number_format($this->convertUnit($fermentable->amount, "weight"), 2);
                     $vf["brewExtract" . $counter["extract"] . "Use"] = "Other";
                 }
                 break;
             case "Dry Extract":
                 $counter["extract"]++;
                 if ($counter["extract"] <= 5) {
                     $vf["brewExtract" . $counter["extract"]] = strtr($fermentable->name, $html_string);
                     $vf["brewExtract" . $counter["extract"] . "Weight"] = number_format($this->convertUnit($fermentable->amount, "weight"), 2);
                     $vf["brewExtract" . $counter["extract"] . "Use"] = "Other";
                 }
                 break;
             case "Adjunct":
                 $counter["adjunct"]++;
                 if ($counter["adjunct"] <= 9) {
                     $vf["brewAddition" . $counter["adjunct"]] = strtr($fermentable->name, $html_string);
                     $vf["brewAddition" . $counter["adjunct"] . "Amt"] = number_format($this->convertUnit($fermentable->amount, "weight"), 2);
                     $vf["brewAddition" . $counter["adjunct"] . "Use"] = "Other";
                 }
                 break;
             case "Sugar":
                 $counter["adjunct"]++;
                 if ($counter["adjunct"] <= 9) {
                     $vf["brewAddition" . $counter["adjunct"]] = strtr($fermentable->name, $html_string);
                     $vf["brewAddition" . $counter["adjunct"] . "Amt"] = number_format($this->convertUnit($fermentable->amount, "weight"), 2);
                     $vf["brewAddition" . $counter["adjunct"] . "Use"] = "Other";
                 }
                 break;
             default:
                 break;
         }
     }
     /*
             $counter["misc"] = 0;
             foreach($recipe->miscs->miscs as $misc){
                 $counter["misc"]++;
                 if($counter["misc"] <= 4){
                     $vf["brewMisc" . $counter["misc"] . "Name"] = strtr($misc->name, $html_string);
                     $vf["brewMisc" . $counter["misc"] . "Type"] = $misc->type;  // BeerXML differntiates between liquid and volume - BB 2.2 does not - item for future release
                     $vf["brewMisc" . $counter["misc"] . "Use"] = $misc->useFor;
                     $vf["brewMisc" . $counter["misc"] . "Time"] = round($misc->time, 0);
                     $vf["brewMisc" . $counter["misc"] . "Amount"] = number_format(round($misc->amount, 2),2);  // Beer XML standard is kg or liters - will need to address in subsequent release
                 }
             }
     */
     $counter["hops"] = 0;
     foreach ($recipe->hops->hops as $hop) {
         $counter["hops"]++;
         if ($counter["hops"] <= 15) {
             $vf["brewHops" . $counter["hops"]] = strtr($hop->name, $html_string);
             $vf["brewHops" . $counter["hops"] . "Weight"] = number_format($this->convertUnit($hop->amount, "hopWeight"), 2);
             $vf["brewHops" . $counter["hops"] . "IBU"] = number_format($hop->alpha, 1);
             $vf["brewHops" . $counter["hops"] . "Time"] = round($hop->time, 0);
             $vf["brewHops" . $counter["hops"] . "Use"] = $hop->use;
             $vf["brewHops" . $counter["hops"] . "Type"] = $hop->type;
             $vf["brewHops" . $counter["hops"] . "Form"] = $hop->form;
         }
     }
     $counter["yeast"] = 0;
     foreach ($recipe->yeasts->yeasts as $yeast) {
         $vf["brewYeast"] = strtr($yeast->name, $html_string);
         $vf["brewYeast" . "Man"] = $yeast->laboratory;
         $vf["brewYeast" . "Form"] = $yeast->form;
         $vf["brewYeast" . "Type"] = $yeast->type;
         if ($yeast->amountIsWeight == "TRUE") {
             $vf["brewYeast" . "Amount"] = number_format($this->convertUnit($yeast->amount, "weight"), 0);
         } else {
             $vf["brewYeast" . "Amount"] = $this->convertUnit($yeast->amount, "volume");
         }
     }
     $vf["brewOG"] = number_format($recipe->og, 3);
     $vf["brewFG"] = number_format($recipe->fg, 3);
     // $vf["brewProcedure"] = $recipe->notes;
     if ($recipe->primaryAge != "") {
         $vf["brewPrimary"] = number_format(round($recipe->primaryAge, 0), 0);
     }
     if ($recipe->primaryTemp != "") {
         $vf["brewPrimaryTemp"] = number_format($this->convertUnit($recipe->primaryTemp, "temperature"), 0);
     }
     if ($recipe->secondaryAge != "") {
         $vf["brewSecondary"] = number_format(round($recipe->secondaryAge, 0), 0);
     }
     if ($recipe->secondaryTemp != "") {
         $vf["brewSecondaryTemp"] = number_format($this->convertUnit($recipe->secondaryTemp, "temperature"), 0);
     }
     $vf["brewBrewerID"] = $_POST["brewBrewerID"];
     $vf["brewConfirmed"] = "0";
     if (!empty($vf["brewStyle"])) {
         $vf["brewJudgingNumber"] = generate_judging_num($vf["brewCategory"]);
     } else {
         $vf["brewJudgingNumber"] = "";
     }
     foreach ($vf as $field => $value) {
         $fields .= ", " . $field;
         $values .= ", '" . $value . "'";
     }
     mysql_select_db($database, $brewing) or die(mysql_error());
     $fields .= ", brewUpdated";
     $fields .= ")";
     $values .= ", NOW( )";
     $values .= ")";
     $sqlQuery .= $fields . $values;
     $Result1 = mysql_query($sqlQuery, $brewing) or die(mysql_error());
     $this->insertedRecipes[mysql_insert_id()] = $recipe->name;
     //header(sprintf("Location: %s", $base_url."index.php?section=list"));
 }