
$(function () {

	/******************************************************************************/
	/* start: valida formulario
	/******************************************************************************/

    $('#frmNuevo').form({
        keyboardShortcuts: false,
    	fields: {
		    ruc: {
		        rules: [
		        	{ type : 'empty', prompt : 'Complete este campo'},
		        	{ type : 'integer', prompt : 'Ingrese solo números'},
                    { type : 'exactLength[11]', prompt : 'El RUC debe tener {ruleValue} digitos'}
		        ]
		    },
            subdominio: {
                rules: [
                    { type : 'empty', prompt : 'Complete este campo'},
                ]
            },
            nombre_bd: {
                rules: [
                    { type : 'empty', prompt : 'Complete este campo'},
                ]
            },
    	},
    	inline : true,
	});

  	$('.btn_registrar').on('click', function() {
  		
  		if ($('#frmNuevo').form('is valid')) {
			sendForm(); 
		} else {
			$('#frmNuevo').form('validate form');
		}

  	});	

  	function sendForm() {

	    var data = $('#frmNuevo').serialize();
	    
        $.tzPOST('getRegistrar', data, function(resolve){
            console.log(resolve.msg);
            if (resolve.error){
                swal({title: "Error Interno!", text: "Por favor verifique que todo este correcto e intente de nuevo", icon: "error", button: "OK"});
            }
            else{
                swal({title: "Correcto!", text: "La acción fue realizada con éxito", icon: "success", button: "OK"})
                .then(() => {location.reload()});
            }

        });

        return false;
	};
});

/*********************************************************************************************************/
/* Otras funciones
/*********************************************************************************************************/

$.tzPOST = function(action,data,callback){
  $.post('php/ajax2.php?action='+action,data,callback,'json');
}

/** @function
 * @name upperCase
 * @description Devuelve un input en mayusculas y mantiene el focus en la posicion indicada
 * @param {string} El value del input
 * @return {void} void
 */

 $.upperCase = function (e) {
    var start = e.selectionStart;
    var end = e.selectionEnd;
    e.value = e.value.toUpperCase();
    e.setSelectionRange(start, end);
 }


  $.lowerCase = function (e) {
    var start = e.selectionStart;
    var end = e.selectionEnd;
    e.value = e.value.toLowerCase();
    e.setSelectionRange(start, end);
 }
