// JavaScript Document
jQuery.fn.devicesTableView = function(options,clientScriptPath)
{
   
    dm = this;
    
    if ( get_radio_value() == 'slo' ) 
      var header = new Array("ime","naslov","datum","razdalja","hitrost","senzor","s1","s2","s3","s4","s5","s6","s7","s8","gps");
    if ( get_radio_value() == 'eng' ) 
      var header = new Array("name","address","date","lenght","speed","sensor","s1","s2","s3","s4","s5","s6","s7","s8","gps");
    if ( get_radio_value() == 'srb' )
      var header = new Array("ime","adresa","datum","udaljenost","brzina","senzor","s1","s2","s3","s4","s5","s6","s7","s8","gps");
    if ( get_radio_value() == 'hrv' ) 
       var header = new Array("ime","adresa","datum","udaljenost","brzina","senzor","s1","s2","s3","s4","s5","s6","s7","s8","gps");
       
    var settings = jQuery.extend(
    {   
          classDevicesTableViewPanel        :"devicesTableViewPanel",
          classDevicesTableViewHeader       :"devicesTableViewHeader",
          classDevicesTableViewColumn       :"devicesTableViewColumn",
          classDevicesTableViewCell         :"devicesTableViewCell"
                  
    }
    , options);
  
    addHeader();
    
    function addRows(headerFields)
    {
        $jq.get(clientScriptPath,{},function(xml)
        {
            if (window.ActiveXObject)
            {
              			var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
              			xmlDoc.async="false";
              			xmlDoc.loadXML(xml);
            }
            else if (document.implementation && document.implementation.createDocument)
            {
              		  var parser	=	new DOMParser();
              			var xmlDoc =	parser.parseFromString(xml,"text/xml");
            }
            myNodes = xmlDoc.getElementsByTagName("devicelist"); 
            for(var counter=0;counter<myNodes.length;counter++) 
            {
                itemNode = myNodes.item(counter);
                var dev_ident = itemNode.getElementsByTagName("deviceident").item(0).firstChild.nodeValue;
                for (var i=0; i<header.length; i++) 
                {
                     var rowfld = document.createElement('div');
                     rowfld.id = header[i]+"_field_"+dev_ident;
                     jQuery(rowfld).addClass(settings.classDevicesTableViewCell);
                     jQuery(rowfld).html('n/a');
                     jQuery("#tabledivcolumn_"+i).append(rowfld);
                }
            }
            
        });
    }
    
    jQuery.fn.devicesTableView.updateTable = function(ph)
    {
       var imef       = header[0];
       var naslovf    = header[1];
       var datumf     = header[2];
       var razdaljaf  = header[3];
       var hitrostf   = header[4];
       var senzorf    = header[5];
       //alert("U"); 
       jQuery("#"+imef+"_field_"+ph.ident).html(ph.deviceName);
       jQuery("#"+naslovf+"_field_"+ph.ident).html(ph.address);
       jQuery("#"+datumf+"_field_"+ph.ident).html(ph.time);
       jQuery("#"+razdaljaf+"_field_"+ph.ident).html(ph.addressDistance);
       jQuery("#"+hitrostf+"_field_"+ph.ident).html(ph.speed);
       jQuery("#"+senzorf+"_field_"+ph.ident).html(ph.digitalSensorText);
       
       var counter = 0;
       for (var i = ph.digitalSensor.length - 1; i >= 0; i--)
       {
          counter++;
          jQuery("#s"+(i+1)+"_field_"+ph.ident).html(ph.digitalSensor.charAt(i));
          if (ph.digitalSensor.charAt(i) == 0)
          {
              jQuery("#s"+(i+1)+"_field_"+ph.ident).css('background-color','red');
          }
          else
          {
             jQuery("#s"+(i+1)+"_field_"+ph.ident).css('background-color','lime'); 
          }
       }
      
     
       if ( eval(ph.isPositionValid) )
       { 
         jQuery("#gps_field_"+ph.ident).html('ok');
         jQuery("#gps_field_"+ph.ident).css('background-color','lime'); 
       }
       else
       {
         jQuery("#gps_field_"+ph.ident).html('bad');
         jQuery("#gps_field_"+ph.ident).css('background-color','red');  
       } 
    }
    
    function addHeader ()
    {
       for (var i=0; i<header.length; i++) 
       {
          var divcolumn = document.createElement('div');
          jQuery(divcolumn).addClass(settings.classDevicesTableViewColumn);
          divcolumn.id  = "tabledivcolumn_"+i;
          dm.append(divcolumn);  
          
          var tableHeader = document.createElement('div');
          jQuery(tableHeader).addClass(settings.classDevicesTableViewHeader);
          jQuery(tableHeader).html(header[i]);
          jQuery(divcolumn).append(tableHeader);
       }
       addRows();
       
    }
    
   
    
} 