Index: themes/default/tv/schedules_custom.php
===================================================================
--- themes/default/tv/schedules_custom.php	(revision 8742)
+++ themes/default/tv/schedules_custom.php	(working copy)
@@ -71,6 +71,12 @@
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_always ?>" id="record_always"<?php
                         if ($schedule->type == rectype_always) echo ' CHECKED' ?> />
                     <label for="record_always"><?php echo t('rectype-long: always') ?></label></li>
+                <li><input type="radio" class="radio" name="record" value="<?php echo rectype_finddaily ?>" id="rectype_finddaily"<?php
+                        if ($schedule->type == rectype_finddaily) echo ' CHECKED' ?> />
+                    <label for="rectype_finddaily"><?php echo t('rectype-long: finddaily') ?></label></li>
+                <li><input type="radio" class="radio" name="record" value="<?php echo rectype_findweekly ?>" id="rectype_findweekly"<?php
+                        if($schedule->type == rectype_findweekly) echo ' CHECKED' ?> />
+                    <label for="rectype_findweekly"><?php echo t('rectype-long: findweekly') ?></label></li>
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_findone ?>" id="rectype_findone"<?php
                         if ($schedule->type == rectype_findone) echo ' CHECKED' ?> />
                     <label for="rectype_findone"><?php echo t('rectype-long: findone') ?></label></li>
@@ -125,6 +131,54 @@
 
         </div>
 
+        <div id="find_date_options">
+            <h3><?php echo t('Find Date & Time Options') ?>:</h3>
+            <dl class="clearfix">
+               <dt><?php echo t('Find Day') ?>:</dt>
+               <dd>
+                  <select name="findday">
+                     <option value="1"<?php
+                        if($schedule->findday == 1)
+                           echo ' SELECTED';?>>
+                        <?php echo t('Sunday'); ?>
+                     </option> 
+                     <option value="2"<?php
+                        if($schedule->findday == 2)
+                           echo ' SELECTED';?>>
+                        <?php echo t('Monday'); ?>
+                     </option>
+                     <option value="3"<?php
+                        if($schedule->findday == 3)
+                           echo ' SELECTED';?>>
+                        <?php echo t('Tuesday'); ?>
+                     </option>
+                     <option value="4"<?php
+                        if($schedule->findday == 4)
+                           echo ' SELECTED';?>>
+                        <?php echo t('Wednesday'); ?>
+                     </option>
+                     <option value="5"<?php
+                        if($schedule->findday == 5)
+                           echo ' SELECTED';?>>
+                        <?php echo t('Thursday'); ?>
+                     </option>
+                     <option value="6"<?php
+                        if($schedule->findday == 6)
+                           echo ' SELECTED';?>>
+                        <?php echo t('Friday'); ?>
+                     </option>
+                     <option value="7"<?php
+                        if($schedule->findday == 7)
+                           echo ' SELECTED';?>>
+                        <?php echo t('Saturday'); ?>
+                     </option>
+                  </select>
+               </dd>
+               <dt><?php echo t('Find Time') ?>:</dt>
+               <dd><input type="text" name="findtime" value="<?php echo htmlentities($schedule->findtime) ?>" /></dd>
+            </dl>
+        </div>
+                     
         <div id="advanced_options">
             <h3><?php echo t('Advanced Options') ?>:</h3>
 
Index: skins/default/tv_schedules_custom.css
===================================================================
--- skins/default/tv_schedules_custom.css	(revision 8742)
+++ skins/default/tv_schedules_custom.css	(working copy)
@@ -40,6 +40,32 @@
     width:     24em !important;
 }
 
+#find_date_options {
+    margin: 0px auto;
+}
+#find_date_options dl
+{
+    margin: 5px 10px;
+}
+#find_date_options dl dt {
+    clear:         left;
+    float:         left;
+    width:         13em;
+    margin-bottom: 0.25em;
+    text-align:    right;
+    white-space:   nowrap;
+}
+#find_date_options dl dd {
+    margin-bottom: 0.25em;
+    margin-left:   13.5em;
+}
+#find_date_options select {
+    width: 14em;
+}
+#find_date_options input {
+    width: 13.7em;
+}
+
 #recording_options {
     margin: 0px auto;
 }
Index: includes/recording_schedules.php
===================================================================
--- includes/recording_schedules.php	(revision 8742)
+++ includes/recording_schedules.php	(working copy)
@@ -216,8 +216,13 @@
     // Make sure that recordid is null if it's empty
         if (empty($this->recordid)) {
             $this->recordid = NULL;
-            $this->findday = (date("w", $this->starttime) + 1) % 7;
-            $this->findtime = date("G:i:s", $this->starttime);
+            // Only auto-default these properties if we're not dealing with a
+            // search-based recording rule, otherwise take the values we
+            // received from the custom schedule input form
+            if(!$this->search) {
+                $this->findday = (date("w", $this->starttime) + 1) % 7;
+                $this->findtime = date("G:i:s", $this->starttime);
+            }
             $this->findid = (date("U", $this->starttime)/60/60/24) + 719528;
         }
     // Changing the type of recording
Index: languages/English.php
===================================================================
--- languages/English.php	(revision 8742)
+++ languages/English.php	(working copy)
@@ -187,9 +187,12 @@
     'Showing all programs from the $1 group.' => '',
     'Showing all programs.'                   => '',
 // modules/tv/schedules_custom.php
-    'Any Category'     => '',
-    'Any Channel'      => '',
-    'Any Program Type' => '',
+    'Any Category'             => '',
+    'Any Channel'              => '',
+    'Any Program Type'         => '',
+    'Find Date & Time Options' => 'Find Date &amp; Time Options',
+    'Find Day'                 => '',
+    'Find Time'                => '',
 // modules/tv/search.php
     'Please search for something.' => '',
 // modules/video/init.php
Index: modules/tv/schedules_custom.php
===================================================================
--- modules/tv/schedules_custom.php	(revision 8742)
+++ modules/tv/schedules_custom.php	(working copy)
@@ -51,6 +51,8 @@
         // Only certain rectypes are allowed
             case rectype_once:
             case rectype_always:
+            case rectype_finddaily:
+            case rectype_findweekly:
                 break;
         // Everything else gets ignored
             default:
@@ -94,8 +96,8 @@
             $schedule->endtime       = time() + 1;
             $schedule->category      = 'Custom recording';
             $schedule->search        = $_POST['searchtype'];
-            $schedule->findday       = date('w',     $schedule->starttime);
-            $schedule->findtime      = date('H:m:s', $schedule->starttime);
+            $schedule->findday       = $_POST['findday'];
+            $schedule->findtime      = strlen($_POST['findtime']) && preg_match('/^\d{1,2}:\d{2}:\d{2}$/', $_POST['findtime']) ? $_POST['findtime'] : date('H:m:s', $schedule->starttime);
             $schedule->autotranscode = $_POST['autotranscode'] ? 1 : 0;
             $schedule->transcoder    = $_POST['transcoder'];
         // Build the special description
