-------------------------------------------------------------------------------
$Id$
-----------------------------------------------------------------------------*/
-echo 1;
+
//REQUIRE ONCE {{{
+require_once '../../../local_lib/Servicios/Agenda.php';
require_once 'HTML/Table.php';
+require_once 'MECON/HTML/Tabla.php';
require_once '../../../local_lib/HTML_DietMarco.php';
require_once 'MECON/HTML/QuickForm.php';
-require_once 'HTML/Image.php';
-require_once 'HTML/Link.php';
+require_once 'MECON/HTML/Image.php';
+require_once 'MECON/HTML/Link.php';
+require_once 'DB.php';
+//}}}
+//CREO LA CONEXION A LA BASE DE DATOS {{{
+$DB = DB::connect("mysql://intranet:intranet@intranet-db/agenda",true);
+if (DB::isError($DB)) {
+ die ($DB->getMessage());
+}
//}}}
//CREO LOS OBJETOS NECESARIOS {{{
-$MARCO = new HTML_DietMarco('servicios');
-$FORM = new MECON_HTML_QuickForm('agenda', 'post', 'agenda2.php');
-$TABLA = new HTML_Table('width="760"');
-$IMG1 = new HTML_Image('../../images/servicios_agenda_lupa.gif');
-$IMG2 = new HTML_Image('../../images/servicios_agenda_mail.gif');
-$TELECO = new HTML_Image('../../images/servicios_agenda_teleco.gif');
-$LINK_1 = new HTML_Link('mailto:teleco@mecon.gov.ar', $IMG2);
-$LINK_2 = new HTML_Link('mailto:teleco@mecon.gov.ar', 'Consultas', array(), array ('class' => 'txt2'));
+$TABLAFORM = new MECON_HTML_Tabla ('width="500"', 'claro');
+$MARCO = new HTML_DietMarco('servicios', 'Servicios');
+$FORM = new MECON_HTML_QuickForm('agenda', 'post', 'agenda2', '', array ('onSubmit' => "return validar(this)", 'action' => ''));
+$FORM->renderer->setTable($TABLAFORM);
+$TABLA = new HTML_Table('width="760" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"');
+$IMG1 = new MECON_HTML_Image('../../images/servicios_lupa.gif');
+$IMG2 = new MECON_HTML_Image('../../images/servicios_mail.gif');
+$TELECO = new MECON_HTML_Image('../../images/servicios_logo_telecomunicaciones.gif');
+$LINK_1 = new MECON_HTML_Link('mailto:teleco@mecon.gov.ar', $IMG2);
+$LINK_2 = new MECON_HTML_Link('mailto:teleco@mecon.gov.ar', 'Consultas', array(), array ('class' => 'servicios_agenda_txt2'));
//}}}
-//OBTENER DATOS DE LAS BASES {{{
-$EDIFICIOS = ''; //TODO llamar a la funcion estatica que me devuelva esta info
+//OBTENGO LOS DATOS DE LAS BASES {{{
+$EDIFICIOS = Servicios_Agenda::getEdificios($DB);
//}}}
//AGREGO LOS ELEMENTOS AL FORM {{{
-$header =& $FORM->addElement('header', 'comun' , $IMG1->toHtml().'Búsqueda de Internos');
-$interno =& $FORM->addElement('text' , 'Interno' , 'Interno' , array ("size" => '10 , "maxlength" => "4"'));
-$usuario =& $FORM->addElement('text' , 'Usuario' , 'Usuario' , array ("size" => '40'));
-$codep =& $FORM->addElement('text' , 'Codep' , 'Codep' , array ("size" => '40', "maxlength" => "10"));
-$dependencia =& $FORM->addElement('text' , 'Dependencia', 'Dependencia', array ("size" => '40', "value" => "--Ingrese una palabra clave--"));
-$edificio =& $FORM->addElement('select', 'Edificio' , 'Edificio' , $EDIFICIOS, array('size' => '1'));
-$piso =& $FORM->addElement('text' , 'Piso' , 'Piso' , array ("size" => '10', "maxlength" => "5"));
-$oficina =& $FORM->addElement('text' , 'Oficina' , 'Oficina' , array ("size" => '10', "maxlength" => "5"));
+$header =& $FORM->addElement('header', 'cabecera' , $IMG1->toHtml().'Búsqueda de Internos');
+$interno =& $FORM->addElement('text' , 'interno' , 'Interno' , array ("size" => '10 , "maxlength" => "4"'));
+$usuario =& $FORM->addElement('text' , 'nombre' , 'Usuario' , array ("size" => '40'));
+$codep =& $FORM->addElement('text' , 'codep' , 'Codep' , array ("size" => '40', "maxlength" => "10"));
+$dependencia =& $FORM->addElement('text' , 'dependencia', 'Dependencia', array ("size" => '40', "value" => "--Ingrese una palabra clave--"));
+$edificio =& $FORM->addElement('select', 'edificio' , 'Edificio' , $EDIFICIOS, array('size' => '1'));
+$piso =& $FORM->addElement('text' , 'piso' , 'Piso' , array ("size" => '10', "maxlength" => "5"));
+$oficina =& $FORM->addElement('text' , 'oficina' , 'Oficina' , array ("size" => '10', "maxlength" => "5"));
//Agego los radio
$grupo = array();
-$grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'interno');
-$grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'usuario');
-$grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'dependencia');
-$grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'edificio');
+$grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'interno' , 'interno');
+$grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'usuario' , 'nombre');
+$grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'dependencia', 'dependencia');
+$grupo[] =& HTML_QuickForm::createElement('radio', 'op1', '', 'edificio' , 'edificio');
$ordenar =& $FORM->addGroup($grupo, 'Ordenado por', 'Ordenado por', ' ', true);
+$grupo[1]->setChecked(false);
+$grupo[2]->setChecked(false);
+$grupo[3]->setChecked(false);
//Agrego los botones
$grupo2 = array();
$grupo2[] =& HTML_QuickForm::createElement('submit', 'aceptar' , 'Buscar');
-$grupo2[] =& HTML_QuickForm::createElement('button', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location =\'sistemas\';return false;'));
+$grupo2[] =& HTML_QuickForm::createElement('button', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location =\'../../servicios.php\';return false;'));
$botones =& $FORM->addGroup($grupo2, 'botones');
//}}}
+//AGREGO LAS REGLAS DE VALIDACION QUE PUEDO AL FORM {{{
+$FORM->addRule('interno','El interno debe ser numerico','numeric');
+//}}}
//ACOMODO EL FORM {{{
-$MARCO->addStyleSheet(PATH_RAIZ.'css/servicios_agenda.css'); //EL PROBLEMA QUE ESTO LO NECESITO PARA QUE FUNCIONE EL RENDERER NUEVO
-$FORM->setRenderer('MECON_HTML_QuickForm_Renderer_Tabla_Servicios');
-$FORM->setRendererOpts('width="500"');
+$MARCO->addStyleSheet($TABLAFORM->getCss()); //Agrego el estilo de la tabla.
+$MARCO->addStyleSheet(PATH_RAIZ.'css/servicios_agenda.css'); //Agrego los estilos particulares de este servicio.
//}}}
//ARMO LA TABLA {{{
$TABLA->addRow(array($LINK_1->toHtml(), $LINK_2->toHtml(), $TELECO->toHtml()));
-$TABLA->updateColAttributes(0,'width="24"');
-$TABLA->updateColAttributes(1,'width="60"');
-$TABLA->updateColAttributes(2,'width="676" class="txt_derecha"');
+$TABLA->updateColAttributes(0,'width="24" height="25"');
+$TABLA->updateColAttributes(1,'width="60" height="25"');
+$TABLA->updateColAttributes(2,'width="676" align="right" height="25"');
$TABLA->addRow(array($FORM), 'colspan="3"');
//}}}
+//AGREGO EL JAVASCRIPT DE VALIDACION {{{
+//Este js esta copiado del epl original, ya que con los campos del formulario
+//llamados de la misma manera las reglas de validacion ya se cumplen.
+$JS = <<<EOT
+function validar(theForm)
+{
+if(theForm.interno.value=="" && theForm.nombre.value=="" && theForm.codep.value=="" && theForm.piso.value=="" && theForm.oficina.value==""
+&& (theForm.dependencia.value=="" || theForm.dependencia.value=='--Ingrese una palabra clave--')
+&& theForm.edificio.options[theForm.edificio.selectedIndex].value=="-")
+{
+ alert('Indique una opción de búsqueda');theForm.interno.focus();return(false);
+}
+
+if(theForm.interno.value=="" && theForm.nombre.value=="" && theForm.codep.value=="" && theForm.piso.value=="" && theForm.oficina.value==""
+&& (theForm.dependencia.value=="" || theForm.dependencia.value=='--Ingrese una palabra clave--')
+&& theForm.edificio.options[theForm.edificio.selectedIndex].value!="-")
+{
+ alert('Indique un párametro adicional para la búsqueda');theForm.edificio.focus();return(false);
+}
+
+if(theForm.interno.value=="" && theForm.nombre.value=="" && theForm.codep.value=="" && theForm.piso.value!="" && theForm.oficina.value==""
+&& (theForm.dependencia.value=="" || theForm.dependencia.value=='--Ingrese una palabra clave--')
+&& theForm.edificio.options[theForm.edificio.selectedIndex].value=="-")
+{
+ alert('Indique el edificio');theForm.edificio.focus();return(false);
+}
+
+if (theForm.dependencia.value=="" || theForm.dependencia.value=='--Ingrese una palabra clave--')
+ {theForm.dependencia.value='-';}
+
+return(true);
+}
+EOT;
+$MARCO->addScriptDeclaration($JS);
+//}}}
//MUESTRO LA INFO {{{
-$MARCO->addTitle('Agenda Telefonica');
+//$MARCO->addTitle('Agenda Telefonica');
$MARCO->addBodyContent($TABLA);
$MARCO->display();
//}}}