<?php  

class ValidarFormInicio extends CFormModel{

	public $tipo_documento_r;
	public $documento_r;

	public function rules(){
		return array(
			array(
				'tipo_documento_r, documento_r',
				'required',
				'message' => 'Este campo es requerido.'
			),
			array(
				'tipo_documento_r, documento_r',
				'filter',
				'filter' => 'trim'
			),
			array(
				'documento_r',
				'match',
				'pattern' => '/^[0-9]+$/',
				'message' => 'Solo puede ingresar números del 0 al 9.'
			),
			array(
				'documento_r',
				'length',
				'min' => 9,
				'tooShort' => 'El RIF debe poseer 9 digitos.',
				'max' => 9,
				'tooLong' => 'El RIF debe poseer 9 digitos.'
			),

			// Validar Tipo de documento
			array(
				'tipo_documento_r',
				'validarTipoDocumento'
			),

			//Verificar Documento
			array(
				'documento_r',
				'validarDocumento'
			)
		);
	}

	// Se verifica que el documento no se encuentre registrado.
	public function validarDocumento($attributes, $params){
		$rif = $this->tipo_documento_r.$this->documento_r;

		if($this->documento_r != ""){
			$documento = SidcaiAportante::model()->find('apor_rif = :apor_rif', array(':apor_rif' => $rif));

			if($documento != null){
				if($rif == $documento->apor_rif){
					$this->addError('documento_r', 'EL RIF <b>'.$rif.'</b> ya se encuentra registrado.');
				}
			}else{
				if(strlen($rif) != 10){
					$this->addError("documento_r", "El RIF no es válido.");
				}
			}

			
		}
	}

	// Validar que no ingrese otro tipo de documento
	public function validarTipoDocumento(){
		$tipo = $this->tipo_documento_r;

		if($tipo != ""){
			$tipos = array('J', 'G', 'V', 'E');

			if(!in_array($tipo, $tipos)){
				$this->addError('documento_r', 'El Tipo de documento es incorrecto.');
				$this->addError('tipo_documento_r', '');
			}

		}else{
			$this->addError('documento_r', 'El Tipo de documento no puede estar vacío.');
		}
	}

	// Nombre de los Labels
	public function attributeLabels(){
		return array(
			'tipo_documento_r' => '',
			'documento_r' => 'Número de documento'
		);
	}

}

?>