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

            $scope.muestraSpinner=false;


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


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

        //console.log(parametros);

        $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
            $scope.datos=msg.data.datos;
            //console.log(msg);
            //paypal.Buttons().render('#paypal-button-container');
        });
    }

    $scope.recargar = function(data){
        //console.log(data);
        
        $scope.traeUsuario();
    }
   
    $scope.traeUsuario();



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

        //console.log(parametros);

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

            revisaSolicitudes(msg.data.solicitudes);
            //console.log($scope.solicitudes);
            //console.log(msg);
            $timeout($scope.solicitudesPendientes,15000);

        });
    }

    $scope.trae_ficha = function(des_login,fecha,id_solicitud){

        $stateParams.id_solicitud=id_solicitud;
        $stateParams.fecha=fecha;
        $location.path("/ficha_cliente/"+des_login).search($stateParams);     
    }

   

    function revisaSolicitudes(solNuevas)
    {
        // para cada solicitud antigua, vamos a ver si existia en las solicitudes nuevas. si existia, cambiamos el estado y el dr.
        // si no existia, lo borramos del arreglo. esto tiene el problema que si hay que cambiar el orden cagamos porque siempre lo pondremos al final
        //console.log(solNuevas);
        //console.log(solNuevas.length);
        //console.log("lvaro"+$scope.solicitudes.length);

        for (var i=0;i<$scope.solicitudes.length;i++)
        {
            //console.log($scope.solicitudes[i]);
            var existeSolicitud=false;
            for (var x=0;x<solNuevas.length;x++) // ojo; no se hacer break en javascript!
            {
                //console.log(solNuevas[x]);

                if ($scope.solicitudes[i].id_solicitud==solNuevas[x].id_solicitud) // modifiquemos datos
                {
                    //console.log("te tengo");
                    existeSolicitud=true;
                    $scope.solicitudes[i].des_doctor=solNuevas[x].des_doctor;
                    $scope.solicitudes[i].fecha_llamada=solNuevas[x].fecha_llamada;
                    $scope.solicitudes[i].des_ocupado=solNuevas[x].des_ocupado;
                    $scope.solicitudes[i].des_doctorlogin=solNuevas[x].des_doctorlogin;

                }
            }
            if (!existeSolicitud)
            {
                //console.log("no te tengo");
                $scope.solicitudes.splice(i,1);
               
            }
        }

        // ahora agreguemos las solicutudes nuevas que no estaban!

          for (var i=0;i<solNuevas.length;i++)
        {
            var existeSolicitud=false;
            for (var x=0;x<$scope.solicitudes.length;x++) // ojo; no se hacer break en javascript!
            {
                if ($scope.solicitudes[x].id_solicitud==solNuevas[i].id_solicitud) 
                    existeSolicitud=true;

                
            }
            if (!existeSolicitud)
            {
               //  var audio = new Audio('assetsInterno/audio/alert.m4a');
             //   audio.play();
                $scope.solicitudes.push(solNuevas[i]);
            }
        }

        console.log($scope.solicitudes);
    }

    $scope.solicitudesPendientes();

    $scope.terminarSolicitud = function(des_login, fecha, id_solicitud){
        var parametros={};
        parametros["cual"]="terminarSolicitud";
        parametros["des_login"]=des_login;
        parametros["fecha"]=fecha;
        parametros["id_solicitud"]=id_solicitud;

        //console.log(parametros);
         
        $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
            
            //console.log(msg);

        $scope.solicitudesPendientes();  
        $scope.cuantosTokens();      
        $scope.traeVideoactivo();
            
        });       
    }   


    $scope.traePerfil = function(){
    var parametros={};
    parametros["cual"]="traePerfil";
     
    $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
        $scope.perfil=msg.data.perfil;
        //console.log($scope.perfil);
        //console.log(msg);
        // hagamos algo solo si es paciente
        if ($scope.perfil==1)
            $scope.revisaLlamada();

        });       
    }  

    $scope.traePerfil();




    $scope.traeEstadoLlamado = function(){
    var parametros={};
    parametros["cual"]="traeEstadoLlamado";
     
    $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
        $scope.estadollamado=msg.data.estadollamado;
        //console.log(msg);
 

        });       
    }  

    $scope.traeEstadoLlamado();

    $scope.videoCall = function(des_login, fecha, id_solicitud){
        var parametros={};
        parametros["cual"]="videoCall";
        parametros["des_login"]=des_login;
        parametros["fecha"]=fecha;
        parametros["id_solicitud"]=id_solicitud;

        $des_login= des_login;
        $fecha= fecha;
        $id_solicitud= id_solicitud;

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

        $fecha_llamada=msg.data.fecha_llamada;
        $room=msg.data.room;
        //$id_solicitud=msg.data.id_solicitud;

        console.log($id_solicitud);
        
        $scope.traeinicioLlamada($des_login, $fecha);  
        $scope.traeVideoactivoDoctor();
        $scope.llamaVideo($room);
        $scope.solicitudesPendientes();
        $scope.traeNota($id_solicitud);
        $scope.traeInfoPaciente($id_solicitud);

        //window.open("http://10.0.1.28/vet/videochat.html");
        //window.open("http://10.0.1.28/vet/intranet/videochat.html?room="+msg.data.room);
        


        });       
    }   


    $scope.traeinicioLlamada = function(des_login, fecha){
        var parametros={};
        parametros["cual"]="traeinicioLlamada";
        parametros["des_login"]=des_login;
        parametros["fecha"]=fecha;
         
        $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
            $scope.inicio=msg.data.inicio;
            //console.log(msg);
        

        });       
    }  


    $scope.traeVideoactivoDoctor = function(){
        var parametros={};
        parametros["cual"]="traeVideoactivoDoctor";
        
         
        $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
            $scope.videoactivo=msg.data.videoactivo;
            //console.log(msg);
        
            $timeout($scope.traeVideoactivoDoctor,4000);

        });       
    }
    $scope.traeVideoactivoDoctor();

   
    $scope.llamaVideo = function(room){

        var parametros={};
        parametros["cual"]="llamaVideo";
        parametros["room"]=room;
                
        $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
            $scope.llamavideo=msg.data.llamavideo;
            //console.log(msg);
            //console.log("aaaaa");
            
            //$scope.url = $sce.trustAsResourceUrl("https://tokbox.com/embed/embed/ot-embed.js?embedId=40d30031-943c-45d9-9b4c-8296aa332903&room=123");
            //console.log($scope.url);

        }); 
    }

   
   $scope.ingresaNota = function(id_solicitud){
        
        var parametros={};
        parametros["cual"]="ingresaNota";
        var des_nota = $('#des_nota').val();
        parametros["des_nota"]=des_nota;
        parametros["id_solicitud"]=id_solicitud;
        
        console.log(parametros);

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

            $scope.nota=msg.data.nota;
            $scope.traeInfoPaciente(id_solicitud);

            alert("Your note has been saved.")      
            
        });
        
    }

    $scope.traeNota = function(id_solicitud){
        
        var parametros={};
        parametros["cual"]="traeNota";
        parametros["id_solicitud"]=id_solicitud;
        
        console.log(parametros);

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

            $scope.traenota=msg.data.traenota;    
            console.log($scope.traenota); 
            
        });
  
    }

    $scope.traeNota();

    $scope.traeInfoPaciente = function(id_solicitud){
        
        var parametros={};
        parametros["cual"]="traeInfoPaciente";
        parametros["id_solicitud"]=id_solicitud;
        
        console.log(parametros);

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

            console.log(msg);

            $scope.traeinfopaciente=msg.data;     
            console.log($scope.traeinfopaciente);
            
        });
  
    }

    $scope.buscarDisponibilidadDoctor = function(){
    var parametros={};
    parametros["cual"]="buscarDisponibilidadDoctor";
     
    $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
        $scope.disponibilidad=msg.data.disponibilidad;
        //console.log(msg);

        });       
    }  


    $scope.buscarDisponibilidadDoctor();  

    $scope.cambiarDisponibilidad = function(){
    var parametros={};
    parametros["cual"]="cambiarDisponibilidad";
     
    $http.post('app/ws/ws_dashboarddr.php',JSON.stringify(parametros)).then(function(msg){
        
        //console.log(msg);

        $scope.buscarDisponibilidadDoctor();  

        });       
    }  

}]);