// JavaScript Document
function send_registro(x_dir,x_div,form,formulario){
	x_validar='';
	if (formulario.txt_tipo_doc[2].checked && $('x_opt').value=='insert'){
		x_validar=[
				   {id:'txt_ci_rif',type:'rif',error_message:'Debe especificar un número de identificacion.',error_validate:'No puede quedar vacio.',label:'Identificacion'},
				   {id:'txt_razon_social',type:'string',error_message:'Debe especificar la Razon Social.',error_validate:'No puede quedar vacio.',label:'Razon Social'},
				   {id:'txt_dir',type:'string',error_message:'Debe especificar una Direccion.',error_validate:'No puede quedar vacio.',label:'Direccion'},
				   {id:'txt_parroquia',type:'string',error_message:'Debe especificar la Parroquia.',error_validate:'No puede quedar vacio.',label:'Parroquia'},
				   {id:'txt_telf',type:'string',error_message:'Debe especificar N&deg; Telf.:.',error_validate:'No puede quedar vacio.',label:'N&deg; Telf.:'},
				   {id:'txt_email',type:'email',error_message:'Debe escribir una email.',error_validate:'Especificar un email válido.',label:'Email'},
				   {id:'txt_pregunta_sec',type:'string',error_message:'Debe especificar Pregunta secreta.',error_validate:'No puede quedar vacio.',label:'Pregunta secreta'},
				   {id:'txt_respuesta',type:'string',error_message:'Debe especificar Respuesta.',error_validate:'No puede quedar vacio.',label:'Respuesta'}
				   ];
	}
	if (formulario.txt_tipo_doc[0].checked || formulario.txt_tipo_doc[1].checked && $('x_opt').value=='insert'){
		x_validar=[
				   {id:'txt_ci_rif',type:'string',error_message:'Debe especificar un número de identificacion.',error_validate:'No puede quedar vacio.',label:'Identificacion'},
				   {id:'txt_pri_apellido',type:'string',error_message:'Debe indicar el Primer Apellido.',error_validate:'No puede quedar vacio.',label:'Primer Apellido'},
				   {id:'txt_pri_nom',type:'string',error_message:'Debe indicar el Primer Nombre.',error_validate:'No puede quedar vacio.',label:'Primer Nombre'},
				   {id:'txt_dir',type:'string',error_message:'Debe especificar una Direccion.',error_validate:'No puede quedar vacio.',label:'Direccion'},
				   {id:'txt_parroquia',type:'string',error_message:'Debe especificar la Parroquia.',error_validate:'No puede quedar vacio.',label:'Parroquia'},
				   {id:'txt_telf',type:'string',error_message:'Debe especificar N&deg; Telf.:.',error_validate:'No puede quedar vacio.',label:'N&deg; Telf.:'},
				   {id:'txt_email',type:'email',error_message:'Debe escribir una email.',error_validate:'Especificar un email válido.',label:'Email'},
				   {id:'txt_pregunta_sec',type:'string',error_message:'Debe especificar Pregunta secreta.',error_validate:'No puede quedar vacio.',label:'Pregunta secreta'},
				   {id:'txt_respuesta',type:'string',error_message:'Debe especificar Respuesta.',error_validate:'No puede quedar vacio.',label:'Respuesta'}
				   ];
		/*
						   {id:'txt_seg_nom',type:'string',error_message:'Debe indicar el Segundo Nombre.',error_validate:'No puede quedar vacio.',label:'Segundo Nombre'},				   
		*/
	}
	if (formulario.txt_tipo_doc[2].checked && $('x_opt').value=='update'){
		x_validar=[
				   {id:'txt_ci_rif',type:'rif',error_message:'Debe especificar un número de identificacion.',error_validate:'No puede quedar vacio.',label:'Identificacion'},
				   {id:'txt_razon_social',type:'string',error_message:'Debe especificar la Razon Social.',error_validate:'No puede quedar vacio.',label:'Razon Social'},
				   {id:'txt_dir',type:'string',error_message:'Debe especificar una Direccion.',error_validate:'No puede quedar vacio.',label:'Direccion'},
				   {id:'txt_parroquia',type:'string',error_message:'Debe especificar la Parroquia.',error_validate:'No puede quedar vacio.',label:'Parroquia'},
				   {id:'txt_telf',type:'string',error_message:'Debe especificar N&deg; Telf.:.',error_validate:'No puede quedar vacio.',label:'N&deg; Telf.:'},
				   {id:'txt_email',type:'email',error_message:'Debe escribir una email.',error_validate:'Especificar un email válido.',label:'Email'}
				   ];
	}
	if (formulario.txt_tipo_doc[0].checked || formulario.txt_tipo_doc[1].checked && $('x_opt').value=='update'){
		x_validar=[
				   {id:'txt_ci_rif',type:'string',error_message:'Debe especificar un número de identificacion.',error_validate:'No puede quedar vacio.',label:'Identificacion'},
				   {id:'txt_pri_apellido',type:'string',error_message:'Debe indicar el Primer Apellido.',error_validate:'No puede quedar vacio.',label:'Primer Apellido'},
				   {id:'txt_pri_nom',type:'string',error_message:'Debe indicar el Primer Nombre.',error_validate:'No puede quedar vacio.',label:'Primer Nombre'},
				   {id:'txt_dir',type:'string',error_message:'Debe especificar una Direccion.',error_validate:'No puede quedar vacio.',label:'Direccion'},
				   {id:'txt_parroquia',type:'string',error_message:'Debe especificar la Parroquia.',error_validate:'No puede quedar vacio.',label:'Parroquia'},
				   {id:'txt_telf',type:'string',error_message:'Debe especificar N&deg; Telf.:.',error_validate:'No puede quedar vacio.',label:'N&deg; Telf.:'},
				   {id:'txt_email',type:'email',error_message:'Debe escribir una email.',error_validate:'Especificar un email válido.',label:'Email'}
				   ];
		/*
						   	{id:'txt_seg_apellido',type:'string',error_message:'Debe indicar el Segundo Apellido.',error_validate:'No puede quedar vacio.',label:'Segundo Apellido'},
				   			{id:'txt_seg_nom',type:'string',error_message:'Debe indicar el Segundo Nombre.',error_validate:'No puede quedar vacio.',label:'Segundo Nombre'},				   						   
		*/
	}
	
	var values="";
	for (i = 0; i < x_validar.length; i++) {
		if($(x_validar[i]['id']).value ==""){
			alert(x_validar[i]['error_message']);
			return false;
		}else if(!validate_field(x_validar[i]['type'],$(x_validar[i]['id']).value)){
			alert(x_validar[i]['error_validate']+x_validar[i]['label']+'.');
			return false;
		}
	}	
	var variables='';
	formulario.submit();
	/*for (var i=0; i<formulario.elements.length; i++) {
		variables+=formulario.elements[i].name+"="+formulario.elements[i].value+"&";
	};*/
	/*Form.disable(form);
	$(x_div).innerHTML="block";
	new Ajax.Request(x_dir+'lib/controller/controller_contribuyente.php',{method:'post',
		parameters:Form.serialize(form),onSuccess:
		function(x_data){
			Form.enable(form);
			obj= eval(x_data.responseText);
			if (obj[0]['confirmar']){
				window.close();
			}else{
				alert(obj[0]['msn']);
				Form.enable(form);
				$(x_div).innerHTML="none";
			}
		}		
		});*/
	
}
function validate_field(x_type,x_string){
	switch(x_type){
		case "string":
			return es_string(x_string);
			break;
		case "numeric":
			return es_numero(x_string);
			break;
		case "email":
			return es_email(x_string);
			break;
		case "rif":
			return es_rif(x_string);
			break;			
	}
}
function es_email(email){
	var s = email;
	var filter=/^[A-Za-z][A.-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	if (s.length == 0 ) return true;
	if (filter.test(s))
	return true;
	else
	return false;
}
function es_string(string){
	var s = string;
	var filter=/^\w+.*$/;
	if (s.length == 0 ) return true;
	if (filter.test(s))
	return true;
	else
	return false;
}
function es_numero(x_num) {
	var s = x_num;
	var filter=/^[0-9]/;
	if (s.length == 0 ) return true;
	if (filter.test(s))
	return true;
	else
	return false;
}
function es_rif(x_num) {
	var s = x_num;
	var filter=/^[JGVP]-\d{8}-\d{1}$/;
	if (s.length == 0 ) return true;
	if (filter.test(s))
	return true;
	else
	return false;
}
//--------------------------------------------------------------------------------------------------------------
vector_ci_rif=[
		   {id:'txt_pri_apellido',status:''},
		   {id:'txt_seg_apellido',status:''},
		   {id:'txt_pri_nom',status:''},
		   {id:'txt_seg_nom',status:''},
		   {id:'txt_razon_social',status:'disabled'}
		   ];
vector_ci=[
		   {id:'txt_pri_apellido',status:''},
		   {id:'txt_seg_apellido',status:''},
		   {id:'txt_pri_nom',status:''},
		   {id:'txt_seg_nom',status:''},
		   {id:'txt_razon_social',status:'disabled'}
		   ];
vector_rif=[
		   {id:'txt_pri_apellido',status:'disabled'},
		   {id:'txt_seg_apellido',status:'disabled'},
		   {id:'txt_pri_nom',status:'disabled'},
		   {id:'txt_seg_nom',status:'disabled'},
		   {id:'txt_razon_social',status:''}
		   ];
vector_rifupdate=[
		   {id:'txt_pri_apellido',status:'disabled'},
		   {id:'txt_seg_apellido',status:'disabled'},
		   {id:'txt_pri_nom',status:'disabled'},
		   {id:'txt_seg_nom',status:'disabled'},
		   {id:'txt_razon_social',status:'disabled'}
		   ];
vector_ini=[
		   {id:'txt_ci_rif',status:'disabled'},
		   {id:'txt_pri_apellido',status:'disabled'},
		   {id:'txt_seg_apellido',status:'disabled'},
		   {id:'txt_pri_nom',status:'disabled'},
		   {id:'txt_seg_nom',status:'disabled'},
		   {id:'txt_razon_social',status:'disabled'},
		   {id:'txt_dir',status:'disabled'},
		   {id:'txt_parroquia',status:'disabled'}
		   ];

function desactiva_campos(){
	for (i = 0; i < vector_ini.length; i++) {			
			$(vector_ini[i]['id']).disabled=vector_ini[i]['status'];
			$(vector_ini[i]['id']).value='';
		}
}


function activar(x_vector){
		
	 if(x_vector=='vector_ci'){
		for (i = 0; i < vector_ci.length; i++) {
			$(vector_ci[i]['id']).disabled=vector_ci[i]['status'];
			$(vector_ci[i]['id']).value='';
		}
		
		
	}else if(x_vector=='vector_rif'){
		
		for (i = 0; i < vector_rif.length; i++) {
			$(vector_rif[i]['id']).disabled=vector_rif[i]['status'];
			$(vector_ci[i]['id']).value='';
		}
		
		
	}else{
		for (i = 0; i < vector_rifupdate.length; i++) {
			$(vector_rif[i]['id']).disabled=vector_rif[i]['status'];
		
		}
	}
	
}
function enviar_clave(x_dir,id,mail){
	new Ajax.Request(x_dir+'lib/recuperar_clave.php',{method:'post',
		parameters:'id='+id+'&mail='+mail,onSuccess:
		function(x_data){
			//Form.enable(form);
			obj= eval(x_data.responseText)
			if(obj[0]['confirmar']){
				alert('Los datos de usuario y clave fueron enviados a su correo.');
				window.close();
			}else{
				alert(obj[0]['msn']);
				window.close();
			}
		}		
	});	

}
function verificar(x_dir,form){
	for(i=0;i<=form.elements.length-1;++i){
		if(form.elements[i].type !='button' && form.elements[i].type !='reset' && form.elements[i].type !='radio' && form.elements[i].id !='txt_ci_rif'){
			$(form.elements[i].id).value='';
		}
		
	}	
	if(form.txt_tipo_doc[2].checked){
		if(!es_rif($('txt_ci_rif').value)){
			alert("Inserte un numero de RIF. Válido.\nEje.: J-12345678-9");
			return false;
		}
	}
	new Ajax.Request(x_dir+'lib/controller/controller_find_contribuyente.php',{method:'get',
		parameters:Form.serialize(form),onSuccess:
		function(x_data){
			//Form.enable(form);
			obj=eval(x_data.responseText);
		
			if(obj.length > 0){

				$('txt_pri_apellido').value=obj[0]['pri_ap'];
				$('txt_seg_apellido').value=obj[0]['seg_ap'];
				$('txt_pri_nom').value=obj[0]['pri_nomb'];
				$('txt_seg_nom').value=obj[0]['seg_nomb'];
				$('txt_dir').value=obj[0]['dir'];
				$('txt_parroquia').value=obj[0]['cod_parroquia'];
				$('txt_tipo_doc').value=obj[0]['tipo_ident'];
			
				if(obj[0]['tipo_per']=='J'){
					$('txt_razon_social').value=obj[0]['rason_social'];
					activar('vector_rifupdate')
				}
				for(i=0;i<=obj[0]['contacto'].length-1;++i){
					if(obj[0]['contacto'][i]['tipo'] =='M'){												
							$('txt_email').value=obj[0]['contacto'][i]['text'];
					}else{
						$('txt_tipo_telf').value=obj[0]['contacto'][i]['tipo'];
						$('txt_telf').value=obj[0]['contacto'][i]['text'];
					}					
				}				
				if(!obj[0]['dato_directorio']){
					alert('Estimado contribuyente debe completar la siguiente informacion:\n- Nº Telf.\n- Correo Electronico.');
					$('txt_id_per').value=obj[0]['id'];
					$('x_opt').value='update';
					return false;
				}
				
				if(obj[0]['contacto'])
				for(i=0;i<=obj[0]['contacto'].length-1;++i){
					if(obj[0]['contacto'][i]['tipo'] =='M'){												
							$('txt_email').value=obj[0]['contacto'][i]['text'];
					}else{
						$('txt_tipo_telf').value=obj[0]['contacto'][i]['tipo'];
						$('txt_telf').value=obj[0]['contacto'][i]['text'];
					}					
				}
				
				
				if(obj[0]['registrado']){
					if(confirm('Usted ya se encuentra registrado, desea que dicha informacion sea enviada a su correo electronico?')){
						enviar_clave(x_dir,obj[0]['id'],$('txt_email').value)
						$('x_opt').value='update';
						alert('Los datos de usuario y clave fueron enviados a su correo.');
					}else{
						window.close();
					}
				}else{
					if(confirm('Bienvenido! Usted ya es un contribuyente de la Alcaldia de valencia.\nSolo debe llenar los datos requeridos para completar su registro en el portal.')){
						$('txt_id_per').value=obj[0]['id'];
						$('x_opt').value='update';
					}else{
						alert('No se ha podido completar el registro.');
					}
				}
			}else{
				
				//Form.enable(form);
				$('x_opt').value='insert';
				
			}
		}		
	});	
}
