<?php

/* 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

{

  public 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)"';

	  $Valida[8]='onkeyup="mayus(event, this)"';

	  $Valida[9]='onblur="mayus(event, this)"';

      $Estilo[1]="E_Obligatorio";

      $Estilo[2]="E_Normal";

      $Estilo[3]="E_Lectura";

      echo'<input class="'.$Clase.'" '.$Valida[$Validacion].' type="text" name="'.$Nombre.'"  id="'.$Nombre.'" value="'.$Valor.'" size="'.$Longitud.'" maxlength="'.$MaxLong.'" '.$Formato.'>';

   }



  public function MInputPassword($Nombre,$Longitud, $Valor,$Clase)

   {  $Estilo[1]="E_Obligatorio";

      $Estilo[2]="E_Normal";

      $Estilo[3]="E_Lectura";

      echo'<input class="'.$Clase.'" type="password" name="'.$Nombre.'" value="'.$Valor.'" size="'.$Longitud.'">';

   }



 public  function MTextarea($Nombre,$Columnas,$Renglones,$Valor,$Formato,$Clase)

   {  $Estilo[1]="E_Obligatorio";

      $Estilo[2]="E_Normal";

      $Estilo[3]="E_Lectura";

      echo'<textarea class="'.$Clase.'" name="'.$Nombre.'" cols="'.$Columnas.'" rows="'.$Renglones.'" '.$Formato.' >'.$Valor.'</textarea>';

   }



  public 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="'.$Clase.'" type="submit" value="'.$Etiqueta.'  " name="'.$Nombre.'" >';

   }



 public  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.'>';

   }



 public function MBotonScript($Nombre,$Etiqueta,$Script,$Clase, $img)

   {   $Estilo = array(

       "btn btn-danger" => "text-danger",

       "btn btn-success" => "text-success",

	   "btn btn-primary" => "text-primary",

	   "btn btn-info" => "text-info",

	   "btn btn-warning" => "text-muted",

	   "btn btn-default" => "text-muted"

       );

	   $posi = strpos($Clase, "btn3d");

	   		

	   if ($posi === false)

      echo'<button class="btn icon-btn '.$Clase.'" type="button" name="'.$Nombre.'" onClick="'.$Script.'"><span class="btn-glyphicon '.$img.' img-circle '.$Estilo[$Clase].'" aria-hidden="true"></span> '.$Etiqueta.'</button>';

	  else{

		  $lacad = explode(" ", $Clase);

		  $laclase = $lacad[0]." ".$lacad[1];

		  //echo $laclase;

	   echo'<button class="btn icon-btn '.$Clase.'" type="button" name="'.$Nombre.'" onClick="'.$Script.'"><span class="btn-glyphicon '.$img.' img-circle '.$Estilo[$laclase].'" aria-hidden="true"></span> '.$Etiqueta.'</button>';

	  }

   }

   

 public function MLinkBoton($link,$Etiqueta,$Clase, $img)

   {   $Estilo = array(

       "btn btn-danger" => "text-danger",

       "btn btn-success" => "text-success",

	   "btn btn-primary" => "text-primary",

	   "btn btn-info" => "text-info",

	   "btn btn-warning" => "text-muted",

	   "btn btn-default" => "text-muted"

       );	

       $posi = strpos($Clase, "btn3d");

	  if ($posi === false)

      echo'<a href="'.$link.'" class="btn icon-btn '.$Clase.'"><span class="btn-glyphicon '.$img.' img-circle '.$Estilo[$Clase].'" aria-hidden="true"></span> '.$Etiqueta.'</a>';

	  else{

		  $lacad = explode(" ", $Clase);

		  $laclase = $lacad[0]." ".$lacad[1];

		  echo'<a href="'.$link.'" class="btn icon-btn '.$Clase.'"><span class="btn-glyphicon '.$img.' img-circle '.$Estilo[$laclase].'" aria-hidden="true"></span> '.$Etiqueta.'</a>';

	  }

   }

   

  public 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>';

    }



 public 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>';

    }



       public  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>';

		 

    }

	

	function MSelectArray($Nombre,$Vector,$Seleccionado,$Atributo,$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=ibase_query($Link,$Consulta);

      $Row=ibase_fetch_assoc($Result);*/

      if ($Vector)

      {  //Imprimir el nombre del menú desplegable.

          echo'<select size="1" class="'.$Clase.'" name="'.$Nombre.'" Id="'.$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>';

             foreach($Vector as $tipo=>$Claves){                                                       

              if ($Claves==$Seleccionado)//SI es el elemento seleccionado

                echo '<option value="'.$Claves.'" selected>'.$tipo.'</option>';

              else

                echo '<option value="'.$Claves.'">'.$tipo.'</option>';

           // } 

          }

          echo'</select>';

       }

       else

         echo'<b>SIN DATOS DISPONIBLES</b>';

    }



	public function ComboTabla($Nombre,$Consulta,$CampoEtiqueta,$CampoValor,$Link,$Seleccionado,$tipo,$Long,$Etiqueta,$Clase, $mensaje, $tabs)

   {  //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.

      //tipo= Si es sencillo o un multiselect

      //Long= Restringe la logitud de la cadena CampoEtiqueta

      //Etiqueta= Es la leyenda que aparecerá en vez de "Seleccione..."

      $Estilo[1]="chosen-select-deselect";

      $Estilo[2]="chosen-select";

	  $TipoCombo[1]="";

	  $TipoCombo[2]="multi";

	  $TipoCombo[3]="multiple";

      //$Estilo[3]="E_Lectura";

      $Result=mysqli_query($Link,$Consulta);

      $Row=mysqli_fetch_array($Result);

      if ($Row)

      {  //Imprimir el nombre del menú desplegable.

          echo '<select data-placeholder="'.$mensaje.'" '.$TipoCombo[$tipo].' class="'.$Estilo[$Clase].'" name="'.$Nombre.'" '.' id="'.$Nombre.'" '.' tabindex="'.$tabs.'"'.' style="width:'.$Long.'px">';

          //Si no envía algún elemnto seleccionado (Alta)

          if(!$Seleccionado)

          {  //Ciclo para imprimir los resultados.

             if ($Etiqueta)

             echo '<option value="0">'.$Etiqueta.'</option>';

			 else

			   echo'<option value=""></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>';

    }

}///////de la Clase Formulario

?>