diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.form b/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.form
index 355438b05dc129bf4c3baf473e68b940be663725..ce1cef5a5b5fdf134f123d0f60094c2981b41d9d 100644
--- a/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.form
+++ b/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.form
@@ -28,26 +28,15 @@
   <Layout>
     <DimensionLayout dim="0">
       <Group type="103" groupAlignment="0" attributes="0">
-          <EmptySpace min="0" pref="980" max="32767" attributes="0"/>
-          <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
-              <Group type="102" attributes="0">
-                  <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
-                  <Component id="jPanel14" min="-2" pref="980" max="-2" attributes="0"/>
-                  <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
-              </Group>
+          <Group type="102" alignment="1" attributes="0">
+              <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+              <Component id="jPanel14" min="-2" pref="980" max="-2" attributes="0"/>
           </Group>
       </Group>
     </DimensionLayout>
     <DimensionLayout dim="1">
       <Group type="103" groupAlignment="0" attributes="0">
-          <EmptySpace min="0" pref="550" max="32767" attributes="0"/>
-          <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
-              <Group type="102" attributes="0">
-                  <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
-                  <Component id="jPanel14" min="-2" pref="550" max="-2" attributes="0"/>
-                  <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
-              </Group>
-          </Group>
+          <Component id="jPanel14" alignment="0" pref="535" max="32767" attributes="0"/>
       </Group>
     </DimensionLayout>
   </Layout>
@@ -77,7 +66,7 @@
           </AuxValues>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="30" y="50" width="290" height="370"/>
+              <AbsoluteConstraints x="30" y="50" width="290" height="360"/>
             </Constraint>
           </Constraints>
 
@@ -134,7 +123,7 @@
           </Properties>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="340" y="230" width="-1" height="-1"/>
+              <AbsoluteConstraints x="340" y="220" width="-1" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -144,7 +133,7 @@
           </Properties>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="340" y="400" width="-1" height="-1"/>
+              <AbsoluteConstraints x="340" y="380" width="-1" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -188,19 +177,6 @@
             </Component>
           </SubComponents>
         </Container>
-        <Component class="javax.swing.JLabel" name="jLabel78">
-          <Properties>
-            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
-              <Font name="Dialog" size="12" style="0"/>
-            </Property>
-            <Property name="text" type="java.lang.String" value="(Opcional)"/>
-          </Properties>
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="840" y="20" width="-1" height="-1"/>
-            </Constraint>
-          </Constraints>
-        </Component>
         <Component class="javax.swing.JTextField" name="txtNombre">
           <Events>
             <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtNombreFocusGained"/>
@@ -227,7 +203,7 @@
           </AuxValues>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="340" y="250" width="330" height="120"/>
+              <AbsoluteConstraints x="340" y="240" width="330" height="120"/>
             </Constraint>
           </Constraints>
 
@@ -253,7 +229,7 @@
           </Events>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="690" y="460" width="260" height="70"/>
+              <AbsoluteConstraints x="690" y="440" width="260" height="70"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -269,18 +245,18 @@
           </Events>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="30" y="463" width="290" height="70"/>
+              <AbsoluteConstraints x="30" y="440" width="290" height="70"/>
             </Constraint>
           </Constraints>
         </Component>
         <Component class="javax.swing.JSpinner" name="spSegundos">
           <Properties>
             <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-              <SpinnerModel initial="0" maximum="60" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
+              <SpinnerModel initial="0" maximum="59" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
             </Property>
           </Properties>
           <Events>
-            <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="spSegundosFocusGained"/>
+            <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="spSegundosStateChanged"/>
           </Events>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
@@ -288,24 +264,30 @@
             </Constraint>
           </Constraints>
         </Component>
-        <Component class="javax.swing.JSpinner" name="spHora">
+        <Component class="javax.swing.JSpinner" name="spHoras">
           <Properties>
             <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-              <SpinnerModel initial="0" maximum="5" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
+              <SpinnerModel initial="0" maximum="15" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
             </Property>
           </Properties>
+          <Events>
+            <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="spHorasStateChanged"/>
+          </Events>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
               <AbsoluteConstraints x="420" y="120" width="60" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
-        <Component class="javax.swing.JSpinner" name="spMinuto">
+        <Component class="javax.swing.JSpinner" name="spMinutos">
           <Properties>
             <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-              <SpinnerModel initial="0" maximum="60" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
+              <SpinnerModel initial="0" maximum="59" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
             </Property>
           </Properties>
+          <Events>
+            <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="spMinutosStateChanged"/>
+          </Events>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
               <AbsoluteConstraints x="490" y="120" width="60" height="-1"/>
@@ -353,7 +335,7 @@
           </Properties>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="480" y="400" width="110" height="-1"/>
+              <AbsoluteConstraints x="450" y="380" width="220" height="20"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -396,7 +378,7 @@
         <Component class="javax.swing.JLabel" name="lbMsjDuracion">
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="420" y="140" width="200" height="15"/>
+              <AbsoluteConstraints x="340" y="140" width="330" height="15"/>
             </Constraint>
           </Constraints>
         </Component>
diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.java b/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.java
index 06bd8c2d6d83a6c2f736e478cfd6dc172b255d16..3ae65c2d47d8dd6f27fed70cbe7752faa7d058b4 100644
--- a/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.java
+++ b/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.java
@@ -3,20 +3,15 @@ package Presentacion.Video;
 
 import Logica.Fabrica;
 import Logica.Clases.Video;
-import Logica.DataType.DtCategoria;
-import Logica.DataType.DtUsuario;
 import Logica.DataType.DtVideo;
 import Logica.Enumerados.Privacidad;
 import Logica.Interfaces.IAdmin;
 import java.awt.Color;
-//
 import java.sql.Time;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.GregorianCalendar;
-import java.util.Iterator;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import javax.swing.BorderFactory;
@@ -58,23 +53,23 @@ public class frmAltaVideo extends javax.swing.JDialog {
         descripcion = "";
     }
     
-    private boolean validarDuracion(int _segundos){
-        if (_segundos <= 0) {
-            lbMsjDescripcion.setText(" La duración no puede ser cero");
-            lbMsjDuracion.setOpaque(true);
-            lbMsjDuracion.setForeground(Color.WHITE);
-            lbMsjDuracion.setBackground(colorError);              
-            return false;
+    private boolean validarDuracion(int s, int m, int h){
+        if ( s > 0 || m > 0 || h > 0) {             
+            return true;
         }
-        return true;
+        lbMsjDuracion.setOpaque(true);
+        lbMsjDuracion.setForeground(Color.WHITE);
+        lbMsjDuracion.setBackground(colorError);
+        lbMsjDuracion.setText(" El campo duración es obligatorio");
+        return false;                   
     }
     
     private void limpiarCampos(){
         txtNombre.setText("");
         txtDescripcion.setText("");
         txtUrl.setText("");
-        spHora.setValue(0);
-        spMinuto.setValue(0);
+        spHoras.setValue(0);
+        spMinutos.setValue(0);
         spSegundos.setValue(0);
         usrSeleccionado="";
         categoria = "";
@@ -109,10 +104,10 @@ public class frmAltaVideo extends javax.swing.JDialog {
         return false;        
     }
     
-    private boolean validarTxt(JTextField txt, int largo,JLabel lb,String nombreCampo){
+    private boolean validarTxt(JTextField txt, int max,JLabel lb,String nombreCampo){
         try{
-            if(txt.getText().length() > largo ){
-                lb.setText(" El campo supera los "+largo+" caracteres");
+            if(txt.getText().length() > max ){
+                lb.setText(" El campo supera los "+max+" caracteres");
                 cambiarColoresError(txt, lb);
                 return false;
             }
@@ -121,12 +116,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
                 cambiarColoresError(txt, lb);
                 return false;
             }            
-            else if(nombreCampo.equals("Nombre") ){
-//                if(!validarNombres(nombre)){
-//                    lb.setText(" El nombre \"" + nombre + "\" no es válido");
-//                    cambiarColoresError(txt, lb);
-//                    return false;
-//                }
+            else if(nombreCampo.equals("Nombre") ){                
                 for (DtVideo video : sys.listarVideosDeUsuario()) {
                     if(video.getNombre().equals(nombre)){
                         lb.setText(" El nombre del video ya existe");
@@ -149,7 +139,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
             }
                    
         } catch (Exception e) {
-                JOptionPane.showMessageDialog(null, (String) e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
         }
         return true;
     }
@@ -177,7 +167,6 @@ public class frmAltaVideo extends javax.swing.JDialog {
         jLabel77 = new javax.swing.JLabel();
         jScrollPane17 = new javax.swing.JScrollPane();
         lstAsignarCategoria = new javax.swing.JList<>();
-        jLabel78 = new javax.swing.JLabel();
         txtNombre = new javax.swing.JTextField();
         txtUrl = new javax.swing.JTextField();
         jScrollPane18 = new javax.swing.JScrollPane();
@@ -185,8 +174,8 @@ public class frmAltaVideo extends javax.swing.JDialog {
         btnAceptar = new javax.swing.JButton();
         btnCancelar = new javax.swing.JButton();
         spSegundos = new javax.swing.JSpinner();
-        spHora = new javax.swing.JSpinner();
-        spMinuto = new javax.swing.JSpinner();
+        spHoras = new javax.swing.JSpinner();
+        spMinutos = new javax.swing.JSpinner();
         jLabel135 = new javax.swing.JLabel();
         jLabel136 = new javax.swing.JLabel();
         jLabel137 = new javax.swing.JLabel();
@@ -221,7 +210,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
         });
         jScrollPane16.setViewportView(lstDuenioVideo);
 
-        jPanel14.add(jScrollPane16, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 50, 290, 370));
+        jPanel14.add(jScrollPane16, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 50, 290, 360));
 
         jLabel72.setText("Nombre:");
         jPanel14.add(jLabel72, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 30, -1, -1));
@@ -233,10 +222,10 @@ public class frmAltaVideo extends javax.swing.JDialog {
         jPanel14.add(jLabel74, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 160, -1, -1));
 
         jLabel75.setText("Descripción:");
-        jPanel14.add(jLabel75, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 230, -1, -1));
+        jPanel14.add(jLabel75, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 220, -1, -1));
 
         jLabel76.setText("Fecha publicación:");
-        jPanel14.add(jLabel76, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 400, -1, -1));
+        jPanel14.add(jLabel76, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 380, -1, -1));
 
         jLabel77.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
         jLabel77.setText("Asignar categoría:");
@@ -251,10 +240,6 @@ public class frmAltaVideo extends javax.swing.JDialog {
 
         jPanel14.add(jScrollPane17, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 50, 260, 360));
 
-        jLabel78.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
-        jLabel78.setText("(Opcional)");
-        jPanel14.add(jLabel78, new org.netbeans.lib.awtextra.AbsoluteConstraints(840, 20, -1, -1));
-
         txtNombre.addFocusListener(new java.awt.event.FocusAdapter() {
             public void focusGained(java.awt.event.FocusEvent evt) {
                 txtNombreFocusGained(evt);
@@ -273,7 +258,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
         txtDescripcion.setRows(5);
         jScrollPane18.setViewportView(txtDescripcion);
 
-        jPanel14.add(jScrollPane18, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 250, 330, 120));
+        jPanel14.add(jScrollPane18, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 240, 330, 120));
 
         btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
         btnAceptar.setText("Aceptar");
@@ -282,7 +267,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
                 btnAceptarActionPerformed(evt);
             }
         });
-        jPanel14.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 460, 260, 70));
+        jPanel14.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 440, 260, 70));
 
         btnCancelar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
         btnCancelar.setText("Cancelar");
@@ -291,21 +276,31 @@ public class frmAltaVideo extends javax.swing.JDialog {
                 btnCancelarActionPerformed(evt);
             }
         });
-        jPanel14.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 463, 290, 70));
+        jPanel14.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 440, 290, 70));
 
-        spSegundos.setModel(new javax.swing.SpinnerNumberModel(0, 0, 60, 1));
-        spSegundos.addFocusListener(new java.awt.event.FocusAdapter() {
-            public void focusGained(java.awt.event.FocusEvent evt) {
-                spSegundosFocusGained(evt);
+        spSegundos.setModel(new javax.swing.SpinnerNumberModel(0, 0, 59, 1));
+        spSegundos.addChangeListener(new javax.swing.event.ChangeListener() {
+            public void stateChanged(javax.swing.event.ChangeEvent evt) {
+                spSegundosStateChanged(evt);
             }
         });
         jPanel14.add(spSegundos, new org.netbeans.lib.awtextra.AbsoluteConstraints(560, 120, 60, -1));
 
-        spHora.setModel(new javax.swing.SpinnerNumberModel(0, 0, 5, 1));
-        jPanel14.add(spHora, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 120, 60, -1));
+        spHoras.setModel(new javax.swing.SpinnerNumberModel(0, 0, 15, 1));
+        spHoras.addChangeListener(new javax.swing.event.ChangeListener() {
+            public void stateChanged(javax.swing.event.ChangeEvent evt) {
+                spHorasStateChanged(evt);
+            }
+        });
+        jPanel14.add(spHoras, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 120, 60, -1));
 
-        spMinuto.setModel(new javax.swing.SpinnerNumberModel(0, 0, 60, 1));
-        jPanel14.add(spMinuto, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 120, 60, -1));
+        spMinutos.setModel(new javax.swing.SpinnerNumberModel(0, 0, 59, 1));
+        spMinutos.addChangeListener(new javax.swing.event.ChangeListener() {
+            public void stateChanged(javax.swing.event.ChangeEvent evt) {
+                spMinutosStateChanged(evt);
+            }
+        });
+        jPanel14.add(spMinutos, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 120, 60, -1));
 
         jLabel135.setText("Duración:");
         jPanel14.add(jLabel135, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 100, -1, -1));
@@ -318,7 +313,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
 
         jDateChooser1.setMaxSelectableDate(new java.util.Date(2524622503000L));
         jDateChooser1.setMinSelectableDate(new java.util.Date(-2208971613000L));
-        jPanel14.add(jDateChooser1, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 400, 110, -1));
+        jPanel14.add(jDateChooser1, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 380, 220, 20));
 
         lbMsjNombre.setMaximumSize(new java.awt.Dimension(0, 15));
         lbMsjNombre.setMinimumSize(new java.awt.Dimension(0, 15));
@@ -326,27 +321,19 @@ public class frmAltaVideo extends javax.swing.JDialog {
         jPanel14.add(lbMsjUrl, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 200, 330, 15));
         jPanel14.add(lbMsjFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 430, 250, 15));
         jPanel14.add(lbMsjDescripcion, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 370, 330, 15));
-        jPanel14.add(lbMsjDuracion, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 140, 200, 15));
+        jPanel14.add(lbMsjDuracion, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 140, 330, 15));
 
         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
         getContentPane().setLayout(layout);
         layout.setHorizontalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 980, Short.MAX_VALUE)
-            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                .addGroup(layout.createSequentialGroup()
-                    .addGap(0, 0, Short.MAX_VALUE)
-                    .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, 980, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addGap(0, 0, Short.MAX_VALUE)))
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addGap(0, 0, Short.MAX_VALUE)
+                .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, 980, javax.swing.GroupLayout.PREFERRED_SIZE))
         );
         layout.setVerticalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 550, Short.MAX_VALUE)
-            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                .addGroup(layout.createSequentialGroup()
-                    .addGap(0, 0, Short.MAX_VALUE)
-                    .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, 550, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addGap(0, 0, Short.MAX_VALUE)))
+            .addComponent(jPanel14, javax.swing.GroupLayout.DEFAULT_SIZE, 535, Short.MAX_VALUE)
         );
 
         pack();
@@ -359,8 +346,8 @@ public class frmAltaVideo extends javax.swing.JDialog {
         nombre = txtNombre.getText().trim();//Obtiene el nombre y quita los espacios de los extremos
         descripcion = txtDescripcion.getText().trim();//Obtiene la descripcion y quita los espacios de los extremos
         url = txtUrl.getText().trim();//Obtiene la url y quita los espacios de los extremos
-        int horas = (Integer)spHora.getValue();
-        int minutos = (Integer)spMinuto.getValue();
+        int horas = (Integer)spHoras.getValue();
+        int minutos = (Integer)spMinutos.getValue();
         int segundos = (Integer)spSegundos.getValue();
         Time duracion = new Time(horas, minutos, segundos);
         java.sql.Date fecha = null;
@@ -368,11 +355,10 @@ public class frmAltaVideo extends javax.swing.JDialog {
         if( jDateChooser1.getDate() != null){
             java.util.Date utilDate = jDateChooser1.getDate();//Obtiene la fecha del JDateChooser en formato Date        
             fecha = new java.sql.Date(utilDate.getTime());//Lo combierte al tipo Date sql
-        }
-        
+        }        
         //Arrays para validaciones campos de texto   
         JTextField v1[] = {txtNombre,txtUrl}; //campos a validar
-        int[] v2= {30,2083}; //Largos de los campos
+        int[] v2= {100,2083}; //Largos maximos de los campos Nombre y URL
         JLabel[] v3= { lbMsjNombre, lbMsjUrl}; //labels para mostrar mensajes       
         String[] v4 ={"Nombre","URL","Descricion"};//Nombre del campo
         boolean[] v5 ={false,false,false};//Estado inicial de las validaciones, cada elemento es una validacion de un campo especifico
@@ -381,7 +367,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
                 v5[i] = true;
             }
         }         
-        if(validarDuracion(segundos)){
+        if(validarDuracion(segundos, minutos, horas)){
            v5[2] = true;
         }        
         if (fecha == null) {
@@ -393,27 +379,19 @@ public class frmAltaVideo extends javax.swing.JDialog {
         }
         if(v5[0]==false|| v5[1]==false || v5[2]==false){
             return;            
-        }
-
-        
+        }        
         try {
             DtVideo dtVideo = new DtVideo(Video.getNuevoId(), nombre, descripcion, duracion, fecha, url, Privacidad.PRIVADO, categoria, 0, 0);
             int opcion=JOptionPane.showConfirmDialog(null, 
-                        "Desea guardar el video con los siguientes datos?\n"+
-                            "Usuario: "+usrSeleccionado+"\n"+
-                            "Nombre: "+nombre+"\n"+
-                            "Descripción: "+descripcion+"\n"+
-                            "Duración: "+duracion+"\n"+
-                            "fecha de publicacón: "+fecha
-                        , "Confirmar alt de Video", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
+                        "¿Desea guardar el video \""+nombre+"\"?"
+                        , "Confirmar alta de Video", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
             if(opcion==0){
-                System.out.println("nomre: "+nombre+" descripcion: "+descripcion+" duracion: "+duracion+" fecha: "+ fecha+" url: "+url+" privacidad: "+Privacidad.PRIVADO+" categoria: "+categoria);
                 sys.altaVideo(dtVideo);
                 limpiarCampos();
             }
                 
         } catch (Exception e) {
-            JOptionPane.showMessageDialog(null, (String) e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
         }
     }//GEN-LAST:event_btnAceptarActionPerformed
 
@@ -430,17 +408,6 @@ public class frmAltaVideo extends javax.swing.JDialog {
         Calendar c = new GregorianCalendar();//Objeto de tipo calendario con la fecha actual
         java.util.Date fechaActual = new Date(c.get(Calendar.YEAR)-1900,c.get(Calendar.MONTH),c.get(Calendar.DATE));//Obtiene la fecha actual del calendario     
         jDateChooser1.setDate(fechaActual);//Setea el JDateChooser con la fecha actual
-        //Se obtienen los valores de la fecha actual para su validacion
-//        anioActual = c.get(Calendar.YEAR);
-//        mesActual = c.get(Calendar.MONTH);
-//        diaActual = c.get(Calendar.DATE);
-//        System.out.println("dia actual"+diaActual);
-//        Calendar max = Calendar.getInstance();    
-//        max.set(Calendar.YEAR,anioActual);    
-//        max.set(Calendar.MONTH,mesActual);    
-//        max.set(Calendar.DATE,diaActual);    
-//        jDateChooser1.setMaxSelectableDate(max.getTime()); 
-   //     jDateChooser1.setMaxSelectableDate(fechaActual.getTime());
         try {
             // Obtengo todos los nickname y los cargo en el listDuenioVideo(Lista de dueños de videos)
             limpiarLstCategorias();
@@ -471,7 +438,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
                 }
             }
         } catch (Exception e) {
-            JOptionPane.showMessageDialog(null, (String) e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
         }
     }//GEN-LAST:event_formWindowActivated
 
@@ -490,7 +457,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
             usrSeleccionado = lstDuenioVideo.getSelectedValue();
             sys.seleccionarUsuario(usrSeleccionado);
         } catch (Exception e) {
-            JOptionPane.showMessageDialog(null, (String) e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
         }
     }//GEN-LAST:event_lstDuenioVideoValueChanged
 
@@ -501,7 +468,7 @@ public class frmAltaVideo extends javax.swing.JDialog {
             // Selecciona una categoria de la lista de categorias
             categoria = lstAsignarCategoria.getSelectedValue();
         } catch (Exception e) {
-            JOptionPane.showMessageDialog(null, (String) e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
         }
     }//GEN-LAST:event_lstAsignarCategoriaValueChanged
 
@@ -519,11 +486,29 @@ public class frmAltaVideo extends javax.swing.JDialog {
         lbMsjUrl.setOpaque(false); 
     }//GEN-LAST:event_txtUrlFocusGained
 
-    private void spSegundosFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_spSegundosFocusGained
-        // TODO add your handling code here:
-        lbMsjDuracion.setText("");
-        lbMsjDuracion.setOpaque(false);
-    }//GEN-LAST:event_spSegundosFocusGained
+    private void spSegundosStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spSegundosStateChanged
+        // Al cambiar el valor verifica y restaura los valores
+        if(validarDuracion((Integer)spSegundos.getValue(),(Integer)spMinutos.getValue(),(Integer)spHoras.getValue())){
+            lbMsjDuracion.setText("");
+            lbMsjDuracion.setOpaque(false);
+        }
+    }//GEN-LAST:event_spSegundosStateChanged
+
+    private void spMinutosStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spMinutosStateChanged
+        // Al cambiar el valor verifica y restaura los valores
+        if(validarDuracion((Integer)spSegundos.getValue(),(Integer)spMinutos.getValue(),(Integer)spHoras.getValue())){
+            lbMsjDuracion.setText("");
+            lbMsjDuracion.setOpaque(false);
+        }
+    }//GEN-LAST:event_spMinutosStateChanged
+
+    private void spHorasStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spHorasStateChanged
+        // Al cambiar el valor verifica y restaura los valores
+        if(validarDuracion((Integer)spSegundos.getValue(),(Integer)spMinutos.getValue(),(Integer)spHoras.getValue())){
+            lbMsjDuracion.setText("");
+            lbMsjDuracion.setOpaque(false);
+        }
+    }//GEN-LAST:event_spHorasStateChanged
     
     
     // Variables declaration - do not modify//GEN-BEGIN:variables
@@ -540,7 +525,6 @@ public class frmAltaVideo extends javax.swing.JDialog {
     private javax.swing.JLabel jLabel75;
     private javax.swing.JLabel jLabel76;
     private javax.swing.JLabel jLabel77;
-    private javax.swing.JLabel jLabel78;
     private javax.swing.JPanel jPanel14;
     private javax.swing.JScrollPane jScrollPane16;
     private javax.swing.JScrollPane jScrollPane17;
@@ -552,8 +536,8 @@ public class frmAltaVideo extends javax.swing.JDialog {
     private javax.swing.JLabel lbMsjUrl;
     private javax.swing.JList<String> lstAsignarCategoria;
     private javax.swing.JList<String> lstDuenioVideo;
-    private javax.swing.JSpinner spHora;
-    private javax.swing.JSpinner spMinuto;
+    private javax.swing.JSpinner spHoras;
+    private javax.swing.JSpinner spMinutos;
     private javax.swing.JSpinner spSegundos;
     private javax.swing.JTextArea txtDescripcion;
     private javax.swing.JTextField txtNombre;