<?
/* Clase Formulario que permite generar objetos del formulario
   Metodos:
   MInputTexto:Imprime el objeto INPUT del formulario.
   MInputPassword: Imprime el objeto INPUT del formulario en tipo Password.
   MTextarea : Imprime el objeto TEXTAREA del formulario.
   MBotonEnviar: Imprime el boton SUBMIT.
   MBotonScript: Imprime el boton BUTTON.
   MSelectTabla: Imprime un Menú Desplegable deacuerdo a la consulta y datos enviados.
*/
class Formulario
{
   function MInputTexto($Nombre,$Valor,$Longitud,$MaxLong,$Validacion,$Formato,$Clase)
   {  //$Validacion = Que tipo de validacion tendra.
      //$Formato = Si solo es de lectura (readonly)*/
      //$Clase = Colr que se desplegará el objeto.
      $Valida[0]='';
      $Valida[1]='onKeyPress="return FSNumero(event)"';
      $Valida[2]='onKeyPress="return FSTelefono(event)"';
      $Valida[3]='onKeyPress="return FSFecha(event)"';
      $Valida[4]='onKeyPress="return FSConvierteMayuscula(event)"';
      $Valida[5]='onKeyPress="return FSIP(event)"';
      $Valida[6]='onKeyPress="return FSHora(event)"';
      $Valida[7]='onKeyPress="return FSMoneda(event)"';
      $Estilo[1]="E_Obligatorio";
      $Estilo[2]="E_Normal";
      $Estilo[3]="E_Lectura";
      echo'<input class="'.$Estilo[$Clase].'" '.$Valida[$Validacion].' type="text" name="'.$Nombre.'" value="'.$Valor.'" size="'.$Longitud.'" maxlength="'.$MaxLong.'" '.$Formato.'>';
   }

   function MInputPassword($Nombre,$Longitud, $Valor,$Clase)
   {  $Estilo[1]="E_Obligatorio";
      $Estilo[2]="E_Normal";
      $Estilo[3]="E_Lectura";
      echo'<input class="'.$Estilo[$Clase].'" type="password" name="'.$Nombre.'" value="'.$Valor.'" size="'.$Longitud.'">';
   }

   function MTextarea($Nombre,$Columnas,$Renglones,$Valor,$Formato,$Clase)
   {  $Estilo[1]="E_Obligatorio";
      $Estilo[2]="E_Normal";
      $Estilo[3]="E_Lectura";
      echo'<textarea class="'.$Estilo[$Clase].'" name="'.$Nombre.'" cols="'.$Columnas.'" rows="'.$Renglones.'" '.$Formato.' >'.$Valor.'</textarea>';
   }

   function MBotonEnviar($Nombre,$Etiqueta,$Clase)
   {  $Estilo[0]="Boton";
      $Estilo[1]="E_Guardar";
      $Estilo[2]="E_Actualizar";
      $Estilo[3]="E_Eliminar";
      $Estilo[4]="E_Buscar";
      $Estilo[5]="E_Imprimir";
      $Estilo[6]="E_Anexar";
      $Estilo[7]="E_Reporte";
      $Estilo[8]="E_Aprueba";
      $Estilo[9]="E_Publica";
      $Estilo[10]="E_Cancelar";

      echo'<input class="'.$Estilo[$Clase].'" type="submit" value="'.$Etiqueta.'  " name="'.$Nombre.'" >';
   }

   function MBotonEnviarDisabled($Nombre,$Etiqueta,$Disabled,$Clase)
   {  $Estilo[0]="Boton";
      $Estilo[1]="E_Guardar";
      $Estilo[2]="E_Actualizar";
      $Estilo[3]="E_Eliminar";
      $Estilo[4]="E_Buscar";
      $Estilo[5]="E_Imprimir";
      $Estilo[6]="E_Anexar";
      $Estilo[7]="E_Reporte";
      $Estilo[8]="E_Aprueba";
      $Estilo[9]="E_Publica";
      $Estilo[10]="E_Cancelar";

      echo'<input class="'.$Estilo[$Clase].'" type="submit" value="'.$Etiqueta.'  " name="'.$Nombre.'" '.$Disabled.'>';
   }

   function MBotonScript($Nombre,$Etiqueta,$Script,$Clase)
   {  $Estilo[0]="Boton";
      $Estilo[1]="E_Guardar";
      $Estilo[2]="E_Actualizar";
      $Estilo[3]="E_Eliminar";
      $Estilo[4]="E_Buscar";
      $Estilo[5]="E_Imprimir";
      $Estilo[6]="E_Anexar";
      $Estilo[7]="E_Reporte";
      $Estilo[8]="E_Aprueba";
      $Estilo[9]="E_Publica";
      $Estilo[10]="E_Cancelar";

      echo'<input class="'.$Estilo[$Clase].'" type="button" value="'.$Etiqueta.'  " name="'.$Nombre.'" onClick="'.$Script.'">';
   }

   function MSelectTabla($Nombre,$Consulta,$CampoEtiqueta,$CampoValor,$Link,$Seleccionado,$Atributo,$Long,$Etiqueta,$Clase)
   {  //Nombre= Nombre del menu desplegable.
      //Consulta= Consulta SQL de los datos a desplegar.
      //CampoEtiqueta= Campo que se visualizara.
      //CampoValor= Campo tendra el valor a enviar.
      //Link= Conexión a la BD.
      //Seleccionado= Id del Valor seleccionado.
      //Atributo= En caso de alguna acción script
      //Long= Restringe la logitud de la cadena CampoEtiqueta
      //Etiqueta= Es la leyenda que aparecerá en vez de "Seleccione..."
      $Estilo[1]="E_Obligatorio";
      $Estilo[2]="E_Normal";
      $Estilo[3]="E_Lectura";

      $Result=mysqli_query($Link,$Consulta);
      $Row=mysqli_fetch_array($Result);
      if ($Row)
      {  //Imprimir el nombre del menú desplegable.
          echo'<select size="1" class="'.$Estilo[$Clase].'" name="'.$Nombre.'" '.$Atributo.'>';
          //Si no envía algún elemnto seleccionado (Alta)
          if(!$Seleccionado)
          {  //Ciclo para imprimir los resultados.
             if ($Etiqueta)
             echo '<option value="0">'.$Etiqueta.'</option>';
             do{
               if (strlen($Row[$CampoEtiqueta])>=$Long && $Long>0)
                 $ValorCampoEtiqueta=substr($Row[$CampoEtiqueta],0,$Long)."...";
               else
                 $ValorCampoEtiqueta=$Row[$CampoEtiqueta];
              echo '<option value="'.$Row[$CampoValor].'">'.$ValorCampoEtiqueta.'</option>"';
            } while ($Row = mysqli_fetch_array($Result));
          }
          else
          { //Ciclo para imprimir los resultados.
            do{
              if (strlen($Row[$CampoEtiqueta])>=$Long && $Long>0)
                $ValorCampoEtiqueta=substr($Row[$CampoEtiqueta],0,$Long)."...";
              else
                $ValorCampoEtiqueta=$Row[$CampoEtiqueta];
              if ($Row[$CampoValor]==$Seleccionado)//SI es el elemento seleccionado
                echo '<option value="'.$Row[$CampoValor].'" selected>'.$ValorCampoEtiqueta.'</option>';
              else
                echo '<option value="'.$Row[$CampoValor].'">'.$ValorCampoEtiqueta.'</option>';
            } while ($Row = mysqli_fetch_array($Result));
          }
          echo'</select>';
       }
       else
         echo'<b>SIN DATOS DISPONIBLES</b>';
    }

  function MSelectTablaClave($Nombre,$Consulta,$CampoEtiqueta,$CampoValor,$Link,$Seleccionado,$Atributo,$Long,$Etiqueta,$Clase,$Clave)
   {  //Nombre= Nombre del menu desplegable.
      //Consulta= Consulta SQL de los datos a desplegar.
      //CampoEtiqueta= Campo que se visualizara.
      //CampoValor= Campo tendra el valor a enviar.
      //Link= Conexión a la BD.
      //Seleccionado= Id del Valor seleccionado.
      //Atributo= En caso de alguna acción script
      //Long= Restringe la logitud de la cadena CampoEtiqueta
      //Etiqueta= Es la leyenda que aparecerá en vez de "Seleccione..."
      $Estilo[1]="E_Obligatorio";
      $Estilo[2]="E_Normal";
      $Estilo[3]="E_Lectura";

      $Result=mysqli_query($Link,$Consulta);
      $Row=mysqli_fetch_array($Result);
      if ($Row)
      {  //Imprimir el nombre del menú desplegable.
          echo'<select size="1" class="'.$Estilo[$Clase].'" name="'.$Nombre.'" '.$Atributo.'>';
          //Si no envía algún elemnto seleccionado (Alta)
          if(!$Seleccionado)
          {  //Ciclo para imprimir los resultados.
             if ($Etiqueta)
             echo '<option value="0">'.$Etiqueta.'</option>';
             do{
                            ///Buscamos un nuevo registro para unirlo con el registro que ya se tiene
                                $ConsultaBuscaRegistro="Select * from TipoResponsables  where IdTipoResponsable = ".$Row[$Clave];
                                $BuscaRegistro=mysqli_query($Link,$ConsultaBuscaRegistro);
                                $RowRegistro=mysqli_fetch_array($BuscaRegistro);

                                $EtiquetaCompleta=$Row[$CampoEtiqueta] .' - '.$RowRegistro[Denominacion];


               if (strlen($EtiquetaCompleta)>=$Long && $Long>0)
                 $ValorCampoEtiqueta=substr($EtiquetaCompleta,0,$Long)."...";
               else
                 $ValorCampoEtiqueta=$EtiquetaCompleta;
              echo '<option value="'.$Row[$CampoValor].'">'.$ValorCampoEtiqueta.'</option>"';
            } while ($Row = mysqli_fetch_array($Result));
          }
          else
          { //Ciclo para imprimir los resultados.
            do{

                            ///Buscamos un nuevo registro para unirlo con el registro que ya se tiene
                                $ConsultaBuscaRegistro="Select * from TipoResponsables  where IdTipoResponsable = ".$Row[$Clave];
                                $BuscaRegistro=mysqli_query($Link,$ConsultaBuscaRegistro);
                                $RowRegistro=mysqli_fetch_array($BuscaRegistro);

                               $EtiquetaCompleta=$Row[$CampoEtiqueta] .' - '.$RowRegistro[Denominacion];


              if (strlen($EtiquetaCompleta)>=$Long && $Long>0)
                $ValorCampoEtiqueta=substr($EtiquetaCompleta,0,$Long)."...";
              else
                $ValorCampoEtiqueta=$EtiquetaCompleta;
              if ($Row[$CampoValor]==$Seleccionado)//SI es el elemento seleccionado
                echo '<option value="'.$Row[$CampoValor].'" selected>'.$ValorCampoEtiqueta.'</option>';
              else
                echo '<option value="'.$Row[$CampoValor].'">'.$ValorCampoEtiqueta.'</option>';
            } while ($Row = mysqli_fetch_array($Result));
          }
          echo'</select>';
       }
       else
         echo'<b>SIN DATOS DISPONIBLES</b>';
    }

          function MSelectTablaClaveMateria($Nombre,$Consulta,$CampoEtiqueta,$CampoValor,$Link,$Seleccionado,$Atributo,$Long,$Etiqueta,$Clase,$Clave)
   {  //Nombre= Nombre del menu desplegable.
      //Consulta= Consulta SQL de los datos a desplegar.
      //CampoEtiqueta= Campo que se visualizara.
      //CampoValor= Campo tendra el valor a enviar.
      //Link= Conexión a la BD.
      //Seleccionado= Id del Valor seleccionado.
      //Atributo= En caso de alguna acción script
      //Long= Restringe la logitud de la cadena CampoEtiqueta
      //Etiqueta= Es la leyenda que aparecerá en vez de "Seleccione..."
      $Estilo[1]="E_Obligatorio";
      $Estilo[2]="E_Normal";
      $Estilo[3]="E_Lectura";

      $Result=mysqli_query($Link,$Consulta);
      $Row=mysqli_fetch_array($Result);
      if ($Row)
      {  //Imprimir el nombre del menú desplegable.
          echo'<select size="1" class="'.$Estilo[$Clase].'" name="'.$Nombre.'" '.$Atributo.'>';
          //Si no envía algún elemnto seleccionado (Alta)
          if(!$Seleccionado)
          {  //Ciclo para imprimir los resultados.
             if ($Etiqueta)
             echo '<option value="0">'.$Etiqueta.'</option>';
             do{
                            ///Buscamos un nuevo registro para unirlo con el registro que ya se tiene
                                $ConsultaBuscaRegistro="Select * from Materias where IdMateria=".$Row[$Clave];
                                $BuscaRegistro=mysqli_query($Link,$ConsultaBuscaRegistro);
                                $RowRegistro=mysqli_fetch_array($BuscaRegistro);

                                $EtiquetaCompleta=$RowRegistro[Denominacion].' - '.$Row[$CampoEtiqueta];


               if (strlen($EtiquetaCompleta)>=$Long && $Long>0)
                 $ValorCampoEtiqueta=substr($EtiquetaCompleta,0,$Long)."...";
               else
                 $ValorCampoEtiqueta=$EtiquetaCompleta;
              echo '<option value="'.$Row[$CampoValor].'">'.$ValorCampoEtiqueta.'</option>"';
            } while ($Row = mysqli_fetch_array($Result));
          }
          else
          { //Ciclo para imprimir los resultados.
            do{

                            ///Buscamos un nuevo registro para unirlo con el registro que ya se tiene
                                $ConsultaBuscaRegistro="Select * from Materias where IdMateria=".$Row[$Clave];
                                $BuscaRegistro=mysqli_query($Link,$ConsultaBuscaRegistro);
                                $RowRegistro=mysqli_fetch_array($BuscaRegistro);

                                $EtiquetaCompleta=$RowRegistro[Denominacion].' - '.$Row[$CampoEtiqueta];


              if (strlen($EtiquetaCompleta)>=$Long && $Long>0)
                $ValorCampoEtiqueta=substr($EtiquetaCompleta,0,$Long)."...";
              else
                $ValorCampoEtiqueta=$EtiquetaCompleta;
              if ($Row[$CampoValor]==$Seleccionado)//SI es el elemento seleccionado
                echo '<option value="'.$Row[$CampoValor].'" selected>'.$ValorCampoEtiqueta.'</option>';
              else
                echo '<option value="'.$Row[$CampoValor].'">'.$ValorCampoEtiqueta.'</option>';
            } while ($Row = mysqli_fetch_array($Result));
          }
          echo'</select>';
       }
       else
         echo'<b>SIN DATOS DISPONIBLES</b>';
    }
}///////de la Clase Formulario
?>