// JavaScript Document

function configurarFormulario() {
	$("#formulario").validate({
		rules: {
			"nom_deposito": "required",
			"rut_deposito": "required",
			
			"area": {required: true, digits: true},
			"fono_contacto": {required: true, digits: true},
			"email_contacto": {required: true, email: true},
			
			"tipo_cuenta": "required",
			"tipo_pago_select": "required",
			"banco_origen": "required",
			
			"dia": "required",
			"mes": "required",
			"ano": "required",

			"cuenta_origen": "required",
			"monto_pagar": "required",
			"dom_contratados": "required",
			"motivo": "required",

			"nom_destino": "required",
			"rut": "required",
			"banco_destino": "required",
			"cuenta_destino": "required",
			"tipo_cuenta": "required",
			"file_field": "required",
		},
		messages: {
			"nom_deposito": "Ingrese Nombre",

			"fono_contacto": "Ingrese Telefono",
			"email_contacto": "Ingrese correo",
			
			"tipo_cuenta": "Ingrese tipo de cuenta",
			"tipo_pago_select": "Ingrese tipo de pago",
			"banco_origen": "Ingrese Banco",
			"cuenta_origen": "Ingrese numero de Transaccion",
			
			"dia": "",
			"mes": "",
			"ano": "",

			"monto_pagar": "",
			"dom_contratados": "",
			"motivo": "Ingrese el motivo",

            "nom_destino": "Ingrese nombre de Titular",
			"rut": "Ingrese rut del titular",
			"banco_destino": "Ingrese Banco",
			"cuenta_destino": "Ingrese N° de cuenta",
			"tipo_cuenta": "Ingrese tipo de cuenta",
			"file_field": "Suba un archivo con su comprobante",
		},
		submitHandler: function(form) {
				procesaArchivo(form);
				return false;
		}
	});
	
}

//-------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------

function alerta( titulo, texto) {
    //var window = $('<div id="alertaDialog" title="' + titulo + '"><p id="alertaMsg">' + texto + '</p></div>');
	var window = $('<div id="alertaDialog"><p id="alertaMsg">' + texto + '</p></div>');

	$('#alertaDialog').remove();
    window.dialog({
        modal: true,
		width: 500,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				location.href = 'https://www.planetahosting.cl';
			}
		}
    });
	$(".ui-dialog-titlebar").hide();
}

//-------------------------------------------------------------------------------------

function procesaArchivo(form){
	let file = document.getElementById('file_field').files[0];
    let reader = new FileReader();
    reader.onload = function (evt) {
        submitForm(form,file);
    }
    reader.onerror = function (evt) {
        alerta("Error","error reading file");
    }
    reader.readAsArrayBuffer(file);
}

function submitForm(form,file_data){
	let xhr = new XMLHttpRequest();
	url = "proceso.php";
	xhr.open("POST", url,true);
	let data = buildRequestData(form,file_data);
	xhr.onreadystatechange = function(){
		const response = JSON.parse(xhr.responseText).mensaje;
		if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200){
			alerta( "mensaje ok", response);
		}
		else{
			alerta( "mensaje error", response);

		}
	}
	xhr.send(data);
}

function buildRequestData(form){
	let form_data = new FormData(form);
	return form_data;	
}


//-------------------------------------------------------------------------------------


function validacion_tipo(){
	var tipo_pago = $('#tipo_pago_select').val();
	
	if( tipo_pago == '') {
		$("#banco_origen").attr('disabled', 'disabled');
		$('#cuenta_origen').val('');
		
	   $('#nom_destino').attr('disabled', 'disabled');
		$('#rut').attr('disabled', 'disabled');
		$('#banco_destino').attr('disabled', 'disabled');
		$('#cuenta_destino').attr('disabled', 'disabled');
		$('#tipo_cuenta').attr('disabled', 'disabled');
			
	} else if ( tipo_pago == "Deposito con efectivo en Banco Chile" ) {
		$("#banco_origen").attr('disabled', 'disabled');
		$('#cuenta_origen').val('Efectivo');
		
        $('#nom_destino').removeAttr('disabled');
		$('#rut').removeAttr('disabled');
		$('#banco_destino').removeAttr('disabled');
		$('#cuenta_destino').removeAttr('disabled');
		$('#tipo_cuenta').removeAttr('disabled');
		
	} else if (tipo_pago=="Deposito con documento en Banco Chile") {
		$("#banco_origen").removeAttr('disabled');
		$("#cuenta_origen").val('');
		
        $('#nom_destino').removeAttr('disabled');
		$('#rut').removeAttr('disabled');
		$('#banco_destino').removeAttr('disabled');
		$('#cuenta_destino').removeAttr('disabled');
		$('#tipo_cuenta').removeAttr('disabled');
		
	} else if (tipo_pago=="Transferencia Electronica Banco Chile") {
		$("#banco_origen").removeAttr('disabled');
		$('#cuenta_origen').val('Transferencia');
	
        $('#nom_destino').removeAttr('disabled');
		$('#rut').removeAttr('disabled');
		$('#banco_destino').removeAttr('disabled');
		$('#cuenta_destino').removeAttr('disabled');
		$('#tipo_cuenta').removeAttr('disabled');
		
	} else if (tipo_pago=="PayPal") {
		$("#banco_origen").attr('disabled', 'disabled');
		$('#cuenta_origen').val('PayPal');
		
		$('#nom_destino').attr('disabled', 'disabled');
		$('#rut').attr('disabled', 'disabled');
		$('#banco_destino').attr('disabled', 'disabled');
		$('#cuenta_destino').attr('disabled', 'disabled');
		
		$('#tipo_cuenta').attr('disabled', 'disabled');
		
	} else if (tipo_pago=="MercadoPago") {
		$("#banco_origen").attr('disabled', 'disabled');
		$('#cuenta_origen').val('MercadoPago');
		
		$('#nom_destino').attr('disabled', 'disabled');
		$('#rut').attr('disabled', 'disabled');
		$('#banco_destino').attr('disabled', 'disabled');
		$('#cuenta_destino').attr('disabled', 'disabled');
		$('#tipo_cuenta').attr('disabled', 'disabled');
			
	}
	
}

//-------------------------------------------------------------------------------------


function validaRut(){
	var campo = $("#rut").val();
	if ( campo.length == 0 ){ return false; }
	if ( campo.length < 8 ){ return false; }
 
	campo = campo.replace('-','')
	campo = campo.replace(/\./g,'')
 
	var suma = 0;
	var caracteres = "1234567890kK";
	var contador = 0;    
	for (var i=0; i < campo.length; i++){
		u = campo.substring(i, i + 1);
		if (caracteres.indexOf(u) != -1)
		contador ++;
	}
	if ( contador==0 ) { return false }
	
	var rut = campo.substring(0,campo.length-1)
	var drut = campo.substring( campo.length-1 )
	var dvr = '0';
	var mul = 2;
	
	for (i= rut.length -1 ; i >= 0; i--) {
		suma = suma + rut.charAt(i) * mul
                if (mul == 7) 	mul = 2
		        else	mul++
	}
	res = suma % 11
	if (res==1)		dvr = 'k'
                else if (res==0) dvr = '0'
	else {
		dvi = 11-res
		dvr = dvi + ""
	}
	if ( dvr != drut.toLowerCase() ) { return false; }
	else { return true; }
}


//-------------------------------------------------------------------------------------------


document.addEventListener("DOMContentLoaded", function(){
	let motive_dropdown = document.getElementById('motivo');
	motive_dropdown.addEventListener('change', (e) => {
		if(e.target.value == 'Pago Duplicado'){
			changeSecondFileVisibility('block');
		}
		else{
			changeSecondFileVisibility('none');
		}
	})
});


function changeSecondFileVisibility(is_visible){
	let field_column = document.getElementById('file_field_2_column');
	field_column.style.display = is_visible;
}
