app.controller('controladorDocumentProtocols', ['$scope','$http','$window' ,'$timeout','$rootScope','$interval', '$sce','$stateParams','$location','$templateRequest','$compile', function ($scope,$http,$window,$timeout,$rootScope,$interval,$sce,$stateParams,$location, $templateRequest, $compile) {
    // Preguntamos los permisos que tiene para ver en la barra lateral

    let vm = this;

    $scope.muestraSpinner=false;
    $scope.bool_nota=false;
    $scope.folder=0;

    $("#main").addClass("main-doctor")
   
    

    $scope.traerCarpetas = function(){
/*
        $scope.cod_padre=0;
        var parametros={};
        parametros["cual"]="consultarCarpeta";
        parametros["cod_padre"]=$scope.cod_padre;
        

        $scope.des_carpeta="";
        //parametros["bool_oculta_select"]=1;

        $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){
            console.log(msg.data);
            $scope.carpetas=msg.data.carpetas;
            $scope.documentos=msg.data.documentos;
        });*/

        $scope.abrirCarpeta(0,false);

    }

    $scope.abrirCarpeta = function(carpeta, agregaBreadCrumb = true){

        $scope.folder = carpeta;
        console.log($scope.folder);
        
        var parametros={};
        parametros["cual"]="consultarCarpeta";
        parametros["cod_padre"]=carpeta;
        console.log(parametros);

      

        $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){
            console.log(msg.data);
            $scope.des_carpeta=msg.data.des_carpeta;
            $scope.carpetas=msg.data.carpetas;
            $scope.documentos=msg.data.documentos;
            $scope.cod_padre=msg.data.cod_padre;

            if (agregaBreadCrumb){
              var a = document.createElement('a');
              var linkText = document.createTextNode($scope.des_carpeta);
              a.appendChild(linkText);
              a.title = $scope.des_carpeta;
              //a.href = "http://example.com";
              a.className= "breadcrumb";
              document.getElementById("bread").appendChild(a);
            //console.log($scope.historia);
            //console.log("hola");
            }
            console.log($scope.carpetas);

        });
                    console.log($scope.folder);

    }

    $scope.volver = function(carpeta)
    {
        console.log(carpeta);
        console.log($scope.cod_padre);
        let menu = document.getElementById('bread');
        menu.removeChild(menu.lastElementChild);

        $scope.abrirCarpeta($scope.cod_padre,false);

       /* var parametros={};
        parametros["cual"]="consultarCarpeta";
        parametros["cod_padre"]=carpeta.cod_padre;
       // console.log(parametros);

        $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){
            $scope.carpetas=msg.data.carpetas;
            //console.log($scope.carpetas);

           // $scope.folder = $scope.carpetas[0];
        });

        var parametros={};
        parametros["cual"]="consultarCarpeta";
        parametros["cod_carpeta"]=carpeta.cod_padre;
        //console.log(parametros);

        $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){
            $scope.folder = msg.data.carpetas[0];
            console.log($scope.folder);
            
            //$scope.cod_padre=$scope.folder.cod_padre;
        });
        $scope.cod_padre=carpeta.cod_padre;*/
       // console.log(carpeta);
    }

    $scope.recargarCarpeta = function(){ 
        $scope.abrirCarpeta($scope.folder,false);
    }

    $scope.traerModificarCarpeta = function(carpeta){
        //console.log(usuario);
        console.log(carpeta);
        $scope.carpeta = angular.copy(carpeta);
        //console.log($scope.usuario);
        if($scope.carpeta==undefined)
            $scope.carpeta={};

       // console.log($scope.usuario);

        $scope.modalTitulo="Modify Folder";
        $scope.boolNuevo=0;
        if(carpeta==null){
            $scope.modalTitulo="New Folder";
            $scope.boolNuevo=1;
        }
        //$scope.traerPerfiles();

        $("#modal").modal();
        $("#modal").modal('open');

        $("#modal").width('350px');
        $("#modal").height('250px');

        $templateRequest('app/templates/doctors/doctoradmin/modalCarpeta.html').then(function(html){            
            var template = angular.element(html);
            $("#modal").html(template);
            $compile(template)($scope);   

             
            
        });        

    }

    $scope.guardarCarpeta = function(){
        var parametros={};
        parametros["cual"]="guardarCarpeta";

        parametros["des_carpeta"]=$scope.carpeta.des_carpeta;
        parametros["cod_padre"]=$scope.folder;

        $des_carpeta=$scope.carpeta.des_carpeta;

        if(!!$des_carpeta)
        {
            console.log(parametros);

            $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){
              
                $('#modal').modal('close');
                Materialize.toast("Protocol created.", 3000 );
                $scope.recargarCarpeta();

            });       
        }
        else
        {
            if (!$des_carpeta) Materialize.toast("No protocol entered.", 3000 );
            
            
        }
        
        //$scope.traeSolicitudCliente();
    }

    $scope.modificarCarpeta = function(carpeta){
        var parametros={};
        parametros["cual"]="modificarCarpeta";

        parametros["cod_carpeta"]=$scope.carpeta.cod_carpeta;
        parametros["des_carpeta"]=$scope.carpeta.des_carpeta;
        parametros["cod_padre"]=$scope.carpeta.cod_padre;

        $des_carpeta=$scope.carpeta.des_carpeta;

        if(!!$des_carpeta)
        {
            console.log(parametros);

            $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){
              
                $('#modal').modal('close');
                Materialize.toast("Folder updated.", 3000 );
                $scope.recargarCarpeta();

            });       
        }
        else
        {
            if (!$des_carpeta) Materialize.toast("You need to name the folder.", 3000 );
            
            
        }
        
        //$scope.traeSolicitudCliente();
    }

    $scope.borrarCarpeta = function(carpeta){
        var parametros={};
        parametros["cual"]="modificarCarpeta";

        parametros["cod_carpeta"]=carpeta.cod_carpeta;
        parametros["bool_activo"]=0;
        console.log(parametros);


            $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){
              
                //$('#modal').modal('close');
                Materialize.toast("Protocol deleted.", 3000 );
                $scope.recargarCarpeta();

            });       
     
        //$scope.traeSolicitudCliente();
    }

    $scope.borrarDocumento = function(documento){
        var parametros={};
        parametros["cual"]="borrarDocumentoCarpeta";

        parametros["cod_carpeta"]=documento.cod_carpeta;
        parametros["des_url"]=documento.des_url;
        //console.log(parametros);

            $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){           
                //$('#modal').modal('close');
                Materialize.toast("Document deleted.", 3000 );
                $scope.recargarCarpeta();
                //$scope.recargarDocumento($scope.documento);
            });       
        //$scope.traeSolicitudCliente();
    }

    $scope.traerModificarDocumento = function(documento){

        $scope.documento = angular.copy(documento);
        console.log($scope.documento);
        if($scope.documento==undefined)
            $scope.documento={};

        $scope.modalTitulo="Manage Documents";
        $scope.boolNuevo=0;
        if(documento==null){
            $scope.modalTitulo="Manage Documents";
            $scope.boolNuevo=1;
            $scope.modalDocumento={};
        }

        spinner("modal","l");



        $("#modal").modal();
        $("#modal").modal('open');

        $("#modal").width('400px');
        $("#modal").height('280px');

        $("#modal").html("");

            $templateRequest('app/templates/doctors/doctoradmin/modalDocumentoProtocol.html').then(function(html){           
                var template = angular.element(html);
                console.log(template);
                $("#modal").html(template);
                $compile(template)($scope);             
            });       
    }
    
    $scope.descargarDocumento = function(documento){
      console.log($scope.documento);
      var cod_carpeta=documento.cod_carpeta;
      var des_url=documento.des_url;
      
      //location.href = 'app/ws/ws_descargar_protocol.php?cod_carpeta='+cod_carpeta+'&des_url='+des_url;   
            window.open ('app/ws/ws_descargar_protocol.php?cod_carpeta='+cod_carpeta+'&des_url='+des_url);   

  
}

$scope.guardarDocumento = function(){
    var des_archivo="doc_clinica";
    var file=$('#'+des_archivo)[0].files[0];
    
    var reader  = new FileReader(); 
    reader.onloadend = function () {
      // *********************
      // Si se adjunta archivo
      // *********************
      var parametros={};
      parametros["cual"]="guardarDocumentoProtocol";
      parametros["archivo"]={};
      parametros["archivo"]["des_archivo"]=file["name"];
      parametros["archivo"]["des_tipo"]=file["type"];
      parametros["archivo"]["file"]=reader.result;

      var coma = parametros["archivo"]["file"].indexOf(",")
      coma=parseInt(coma)+1;
      var des_archivo = parametros["archivo"]["file"].substring(coma);
      parametros["archivo"]["file"]=des_archivo;
      // ***********************
      // Fin de armar el archivo
      // ***********************

      // Datos del archivo
      if($scope.documento)
      {
            parametros["cod_carpeta"]=$scope.documento; 
      }
      else
      {
            parametros["cod_carpeta"]=0; 
      }
      

      console.log(parametros);   

      $http.post('app/ws/ws_dashboard_admin.php',JSON.stringify(parametros)).then(function(msg){
        console.log(msg.data);
        Materialize.toast("Document Uploaded successfully.", 3000 );
        $scope.doc_clinica='';
        $scope.cerrarModal('modal');
        $scope.recargarCarpeta();
        //$scope.recargarDocumento($scope.documento);
        $(".des_documento").val("");
      });
    }

    if (file)
      reader.readAsDataURL(file);      
    else{
      console.log("No se subieron archivos");
    }
  }

  $scope.recargarDocumento = function(documento)
  {
    var parametros={};
        parametros["cual"]="consultarDocumento";
        parametros["cod_carpeta"]=documento.cod_carpeta;


        $http.post('app/ws/ws_api.php',JSON.stringify(parametros)).then(function(msg){
            $scope.documento.documentos=msg.data.documentos;
            //console.log($scope.documento.documentos)
        });
  }

$scope.cargaArchivoClinica = function(){

    var des_url_logo = $('#doc_clinica')[0].files[0];
    $scope.doc_clinica = des_url_logo.name;
    $scope.$apply()

    var extension = des_url_logo.name.split('.').pop().toLowerCase();
    var size = des_url_logo.size/(1024*1024);
    var mensaje = "";
    var error = false;

/*
    if($.inArray(extension, ['pdf']) == -1) {
      mensaje += "El formato del archivo no corresponde<br>";
      error = true;
    }
    */
    if(size > 15){
      mensaje += "File size limit exceeded";
      error = true;
    }

    if(error)
      Materialize.toast(mensaje, 3000 );

      return true;
  }



 $scope.cerrarModal = function(id){
    $("#"+id).html("");
    $('#'+id).modal('close');
    

  }

  function traerClinics() {

                let parametros = {};
                parametros["cual"] = "traerClinic";
                parametros["bool_oculta_select"] = 1;

                $http.post('app/ws/ws_api.php', JSON.stringify(parametros)).then(function (msg) {

                    vm.clinics = msg.data.clinic;
                });
            }

    $scope.traerModificarClinic = function (clinic) {
                        console.log(clinic);
                if (clinic !== undefined)
                    vm.cod_sigla_anterior = clinic.cod_sigla;
                console.log(vm.cod_sigla_anterior);

                vm.clinic_data = angular.copy(clinic);
                vm.modal_titulo = "Update Partner";
                vm.bool_nuevo = false;

                if (vm.clinic_data === undefined) {
                    vm.modal_titulo = "Create Partner";
                    vm.bool_nuevo = true;
                }

                traerClinics();

                $("#modal").modal();
                $("#modal").modal('open');

                $("#modal").width('500px');
                $("#modal").height('500px');

                $templateRequest('app/templates/doctors/doctoradmin/modalClinic.html').then(function (html) {
                    let template = angular.element(html);
                    $("#modal").html(template);
                    $compile(template)($scope);
                });
            }


  $scope.guardarClinic = function () {
                let parametros = {};
                parametros["cual"] = "guardarClinic";
                parametros["cod_sigla"] = vm.clinic_data.cod_sigla;
                parametros["des_clinic"] = vm.clinic_data.des_clinic;

                // Si el cod_parent no se provee, entonces no se envía por parámetros
                let parent = vm.clinic_data.cod_parent;
                if (parent != undefined || parent != null) {
                    parametros["cod_parent"] = vm.clinic_data.cod_parent;
                }
                console.log(parametros);
                $http.post('app/ws/ws_api.php', JSON.stringify(parametros)).then(function (msg) {
                    if (msg.data.bool_error == 0) {
                        $scope.cerrarModal('modal');
                        Materialize.toast('Clinic saved', 3000);
                        $scope.traeSolicitudCliente();
                    } else {
                        if (msg.data.bool_error) {
                            Materialize.toast(msg.data.mensaje, 3000);
                        } else {
                            Materialize.toast(msg.data, 3000);
                        }
                    }
                });
            }


  $scope.modificarClinic = function () {

                let parametros = {};
                parametros["cual"] = "modificarClinic";
                parametros["cod_sigla"] = vm.clinic_data.cod_sigla;
                parametros["cod_sigla_anterior"] = vm.cod_sigla_anterior;

                if (vm.clinic_data?.des_clinic != undefined) {
                    parametros["des_clinic"] = vm.clinic_data.des_clinic;
                }

                parametros["cod_parent"] = vm.clinic_data.cod_parent;

                if (parametros["cod_parent"] == undefined) {
                    parametros["cod_parent"] = 0;
                }
                console.log(parametros);
                $http.post('app/ws/ws_api.php', JSON.stringify(parametros)).then(function (msg) {

                    console.log(msg);
                    $scope.cerrarModal('modal');
                    Materialize.toast(msg.data.mensaje, 3000);
                    $scope.traeSolicitudCliente();
                });
            }

 /*
    $scope.states = {
            value: "Select State",
            choices: ["Select State", "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", 
            "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", 
            "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA",
            "WV", "WI", "WY"]
        };
   */
    $scope.traerCarpetas();

    
}]);