pues lo único que se alcanza a notar, es que no aparece ningún valor en algunas partes de tu consulta...
Cita: '-', ??? , '-', )),'normal')
supongo que ya habías dado cuenta, la forma de solventarlo es que o condicionas la construcción de dicha parte de la consulta, o bien, colocas algún valor por defecto en caso de no existir alguno...
eso, porque al poner un campo
disabled ya no es enviado hacía el script que procesa el formulario...