$j.fn.monitor_HTML_interface = function(options)
{ var settings = $j.extend(
           {  'debug' : 0,
              'group' : 0,
              'from_id' : 0,
              'update_url' : '/class_v.esmo/ext/kt/monitor_event.php',
              'update_monitor_back' : 1,   // подгрузка данных каждые 3 сек
              'update_monitor_full' : 60*5, // полное обновление страницы каждые 5 мин
              'view_only_dopusk': 0 // показывать все
           }, options);

    var last_send_mess_id=settings.from_id ;
    console.log('settings.from_id: '+settings.from_id) ;
    console.log('settings.view_only_dopusk: '+settings.view_only_dopusk) ;
    var event_id = getUrlParameter('event_id');
    if (event_id>settings.from_id) last_send_mess_id=event_id ;
    // полная перезагрузка страницы
    //$j('body').everyTime(settings.update_monitor_full*1000,'update_monitor_full',function()
    //{ //location.reload() ;
    //  location.href='/cab/monitor/?event_id='+last_send_mess_id
    //}) ;
    // подгрузка обновленных данных
    $j('body').everyTime(settings.update_monitor_back*1000,'update_monitor_back',function()
    {   var url=settings.update_url+'?group_id='+settings.group+'&event_id='+last_send_mess_id ;    // url для получения статики через скрипт
        console.log(url) ;
        $j('#group_id').html('group ID: '+settings.group) ;
        $j('#event_id').html('event ID: '+last_send_mess_id) ;
        jQuery.get( url,{},exec_get_html,'json')
            .done(function() {
                $j('.monitor_mode').html('<span class="ok">OK</span>') ;
                $j('#error_responseText').html('') ;
                $j('#error_responseHeaders').html('') ;
              })
            .fail(function(e) {
                $j('.monitor_mode').html('<span class="error">Ошибка получения данных с сервера: "'+e.statusText+'" ['+e.status+'] </span>') ;
                $j('#error_responseText').html(e.responseText) ;
                $j('#error_responseHeaders').html('<br>HEADERS:<br>===================<br>'+e.getAllResponseHeaders()+'<br>===================<br>') ;

          });
    }) ; 


    function exec_get_html(data, textStatus, jqXHR)
      { if (textStatus=='success' && data!=null) $j.each(data,function(i,value)
        {  console.log(last_send_mess_id+':'+i+' => '+value.mo_tr_id+' from '+value.from) ;
           last_send_mess_id++ ;
           notifyUser(value) ;
        }) ;

     }

    function getUrlParameter(sParam) {
        var sPageURL = decodeURIComponent(window.location.search.substring(1)),
            sURLVariables = sPageURL.split('&'),
            sParameterName,
            i;

        for (i = 0; i < sURLVariables.length; i++) {
            sParameterName = sURLVariables[i].split('=');

            if (sParameterName[0] === sParam) {
                return sParameterName[1] === undefined ? true : sParameterName[1];
            }
        }
    };



    function notifyUser(obj)
    {
       if (obj.notife_text)
       { if (obj.notife=='error')      new jBox('Notice', {content: obj.notife_text,color:'red'});
         else if (obj.notife=='alert') new jBox('Notice', {content: obj.notife_text,color:'yellow'});
         else if (obj.notife=='info')  new jBox('Notice', {content: obj.notife_text,color:'green'});
         else                          new jBox('Notice', {content: obj.notife_text});
       }

       //if (obj.update_page)  location.reload() ;
       if (obj.update_page)  location.href='/cab/monitor/?event_id='+last_send_mess_id ;
       if (obj.last_send_mess_id) last_send_mess_id=obj.last_send_mess_id ;

       if (obj.mo_tr_id!=undefined && obj.mo_tr_id>0 &&
           (!settings.view_only_dopusk ||
            (settings.view_only_dopusk>0 && settings.view_only_dopusk==obj.kt_dopusk)
           ))
       {   if ($j('div#panel_last_mo tr#mo_tr_'+obj.mo_tr_id).length) $j('div#panel_last_mo tr#mo_tr_'+obj.mo_tr_id).replaceWith(obj.mo_tr) ;
           else                                                       $j('div#panel_last_mo tr.head').after(obj.mo_tr) ;
           //$j('div#debug_mo').html('last mo id: '+obj.mo_tr_id) ;
           $j('div.list_mo_sessions td.photo div.img img').hover(panel_image_preview_on,panel_image_preview_off) ;
           //$j('td.preview_graf').hover(preview_graf_on,preview_graf_off) ;
           $j('.v1').prepare_form({}) ;
           $j('.v2').prepare_ajax({}) ;

       }


       // обновляем статусы у иконок терминалов
       if($j.isArray(obj.terminal_status) || typeof(obj.terminal_status) == 'object') for(var i in obj.terminal_status)
       {
          $j('#panel_terminal_status div#t_'+i).attr('status',obj.terminal_status[i]) ;
       }

       if (settings.debug)
       {   obj.mo_tr='...' ;
           show_debug_info('notifyUser',obj) ;
       }

       return true;
    }



} ;

function htmlspecialchars(string){ return $j('<span>').text(string).html() ;}


