(function(){

if (!window.qx) window.qx = {};

qx.$$start = new Date();
  
if (!window.qxsettings) qxsettings = {};
var settings = {"qx.application":"track.Application","qx.theme":"track.theme.Theme","qx.version":"1.2-pre"};
for (var k in settings) qxsettings[k] = settings[k];

if (!window.qxvariants) qxvariants = {};
var variants = {"qx.debug":"off"};
for (var k in variants) qxvariants[k] = variants[k];

if (!qx.$$libraries) qx.$$libraries = {};
var libinfo = {"__out__":{"sourceUri":"script"},"qx":{"resourceUri":"resource","sourceUri":"script","version":"1.2-pre"},"track":{"resourceUri":"resource","sourceUri":"script","version":"trunk"}};
for (var k in libinfo) qx.$$libraries[k] = libinfo[k];

qx.$$resources = {};
qx.$$translations = {};
qx.$$locales = {};
qx.$$packageData = {};

qx.$$loader = {
  parts : {"boot":[0]},
  uris : [["__out__:track.js"]],
  urisBefore : [],
  packageHashes : {"0":"6c205ae2f9e1"},
  boot : "boot",
  closureParts : {},
  bootIsInline : true,
  addNoCacheParam : false,
  
  decodeUris : function(compressedUris)
  {
    var libs = qx.$$libraries;
    var uris = [];
    for (var i=0; i<compressedUris.length; i++)
    {
      var uri = compressedUris[i].split(":");
      var euri;
      if (uri.length==2 && uri[0] in libs) {
        var prefix = libs[uri[0]].sourceUri;
        euri = prefix + "/" + uri[1];
      } else {
        euri = compressedUris[i];
      }
      if (qx.$$loader.addNoCacheParam) {
        euri += "?nocache=" + Math.random();
      }
      
      uris.push(euri);
    }
    return uris;      
  }
};  

function loadScript(uri, callback) {
  var elem = document.createElement("script");
  elem.charset = "utf-8";
  elem.src = uri;
  elem.onreadystatechange = elem.onload = function()
  {
    if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")
    {
      elem.onreadystatechange = elem.onload = null;
      callback();
    }
  };
  var head = document.getElementsByTagName("head")[0];
  head.appendChild(elem);
}

var isWebkit = /AppleWebKit\/([^ ]+)/.test(navigator.userAgent);

function loadScriptList(list, callback) {
  if (list.length == 0) {
    callback();
    return;
  }
  loadScript(list.shift(), function() {
    if (isWebkit) {
      // force asynchronous load
      // Safari fails with an "maximum recursion depth exceeded" error if it is
      // called sync.      
      window.setTimeout(function() {
        loadScriptList(list, callback);
      }, 0);
    } else {
      loadScriptList(list, callback);
    }
  });
}

var fireContentLoadedEvent = function() {
  qx.$$domReady = true;
  document.removeEventListener('DOMContentLoaded', fireContentLoadedEvent, false);
};
if (document.addEventListener) {
  document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false);
}

qx.$$loader.importPackageData = function (dataMap) {
  if (dataMap["resources"]){
    var resMap = dataMap["resources"];
    for (var k in resMap) qx.$$resources[k] = resMap[k];
  }
  if (dataMap["locales"]){
    var locMap = dataMap["locales"];
    var qxlocs = qx.$$locales;
    for (var lang in locMap){
      if (!qxlocs[lang]) qxlocs[lang] = locMap[lang];
      else 
        for (var k in locMap[lang]) qxlocs[lang][k] = locMap[lang][k];
    }
  }
  if (dataMap["translations"]){
    var trMap   = dataMap["translations"];
    var qxtrans = qx.$$translations;
    for (var lang in trMap){
      if (!qxtrans[lang]) qxtrans[lang] = trMap[lang];
      else 
        for (var k in trMap[lang]) qxtrans[lang][k] = trMap[lang][k];
    }
  }
}

qx.$$loader.signalStartup = function () 
{
  qx.$$loader.scriptLoaded = true;
  if (window.qx && qx.event && qx.event.handler && qx.event.handler.Application) qx.event.handler.Application.onScriptLoaded();
}

qx.$$loader.init = function(){
  var l=qx.$$loader;
  if (l.urisBefore.length>0){
    loadScriptList(l.urisBefore, function(){return;});
  }
  var bootPackageHash=l.packageHashes[l.parts[l.boot][0]];
  if (l.bootIsInline){
    l.importPackageData(qx.$$packageData[bootPackageHash]);
    l.signalStartup();
  } else {
    loadScriptList(l.decodeUris(l.uris[l.parts[l.boot]]), function(){
      // Opera needs this extra time to parse the scripts
      window.setTimeout(function(){
        l.importPackageData(qx.$$packageData[bootPackageHash] || {});
        l.signalStartup();
      }, 0);
    });
  }
}
})();

qx.$$packageData['6c205ae2f9e1']={"locales":{"C":{"alternateQuotationEnd":"’","alternateQuotationStart":"‘","cldr_am":"AM","cldr_date_format_full":"EEEE, MMMM d, y","cldr_date_format_long":"MMMM d, y","cldr_date_format_medium":"MMM d, y","cldr_date_format_short":"M/d/yy","cldr_date_time_format_EEEd":"d EEE","cldr_date_time_format_Hm":"H:mm","cldr_date_time_format_Hms":"H:mm:ss","cldr_date_time_format_M":"L","cldr_date_time_format_MEd":"E, M/d","cldr_date_time_format_MMM":"LLL","cldr_date_time_format_MMMEd":"E, MMM d","cldr_date_time_format_MMMMEd":"E, MMMM d","cldr_date_time_format_MMMMd":"MMMM d","cldr_date_time_format_MMMd":"MMM d","cldr_date_time_format_Md":"M/d","cldr_date_time_format_d":"d","cldr_date_time_format_hm":"h:mm a","cldr_date_time_format_ms":"mm:ss","cldr_date_time_format_y":"y","cldr_date_time_format_yM":"M/yyyy","cldr_date_time_format_yMEd":"EEE, M/d/yyyy","cldr_date_time_format_yMMM":"MMM y","cldr_date_time_format_yMMMEd":"EEE, MMM d, y","cldr_date_time_format_yMMMM":"MMMM y","cldr_date_time_format_yQ":"Q yyyy","cldr_date_time_format_yQQQ":"QQQ y","cldr_day_format_abbreviated_fri":"Fri","cldr_day_format_abbreviated_mon":"Mon","cldr_day_format_abbreviated_sat":"Sat","cldr_day_format_abbreviated_sun":"Sun","cldr_day_format_abbreviated_thu":"Thu","cldr_day_format_abbreviated_tue":"Tue","cldr_day_format_abbreviated_wed":"Wed","cldr_day_format_narrow_fri":"F","cldr_day_format_narrow_mon":"M","cldr_day_format_narrow_sat":"S","cldr_day_format_narrow_sun":"S","cldr_day_format_narrow_thu":"T","cldr_day_format_narrow_tue":"T","cldr_day_format_narrow_wed":"W","cldr_day_format_wide_fri":"Friday","cldr_day_format_wide_mon":"Monday","cldr_day_format_wide_sat":"Saturday","cldr_day_format_wide_sun":"Sunday","cldr_day_format_wide_thu":"Thursday","cldr_day_format_wide_tue":"Tuesday","cldr_day_format_wide_wed":"Wednesday","cldr_day_stand-alone_abbreviated_fri":"Fri","cldr_day_stand-alone_abbreviated_mon":"Mon","cldr_day_stand-alone_abbreviated_sat":"Sat","cldr_day_stand-alone_abbreviated_sun":"Sun","cldr_day_stand-alone_abbreviated_thu":"Thu","cldr_day_stand-alone_abbreviated_tue":"Tue","cldr_day_stand-alone_abbreviated_wed":"Wed","cldr_day_stand-alone_narrow_fri":"F","cldr_day_stand-alone_narrow_mon":"M","cldr_day_stand-alone_narrow_sat":"S","cldr_day_stand-alone_narrow_sun":"S","cldr_day_stand-alone_narrow_thu":"T","cldr_day_stand-alone_narrow_tue":"T","cldr_day_stand-alone_narrow_wed":"W","cldr_day_stand-alone_wide_fri":"Friday","cldr_day_stand-alone_wide_mon":"Monday","cldr_day_stand-alone_wide_sat":"Saturday","cldr_day_stand-alone_wide_sun":"Sunday","cldr_day_stand-alone_wide_thu":"Thursday","cldr_day_stand-alone_wide_tue":"Tuesday","cldr_day_stand-alone_wide_wed":"Wednesday","cldr_month_format_abbreviated_1":"Jan","cldr_month_format_abbreviated_10":"Oct","cldr_month_format_abbreviated_11":"Nov","cldr_month_format_abbreviated_12":"Dec","cldr_month_format_abbreviated_2":"Feb","cldr_month_format_abbreviated_3":"Mar","cldr_month_format_abbreviated_4":"Apr","cldr_month_format_abbreviated_5":"May","cldr_month_format_abbreviated_6":"Jun","cldr_month_format_abbreviated_7":"Jul","cldr_month_format_abbreviated_8":"Aug","cldr_month_format_abbreviated_9":"Sep","cldr_month_format_wide_1":"January","cldr_month_format_wide_10":"October","cldr_month_format_wide_11":"November","cldr_month_format_wide_12":"December","cldr_month_format_wide_2":"February","cldr_month_format_wide_3":"March","cldr_month_format_wide_4":"April","cldr_month_format_wide_5":"May","cldr_month_format_wide_6":"June","cldr_month_format_wide_7":"July","cldr_month_format_wide_8":"August","cldr_month_format_wide_9":"September","cldr_month_stand-alone_narrow_1":"J","cldr_month_stand-alone_narrow_10":"O","cldr_month_stand-alone_narrow_11":"N","cldr_month_stand-alone_narrow_12":"D","cldr_month_stand-alone_narrow_2":"F","cldr_month_stand-alone_narrow_3":"M","cldr_month_stand-alone_narrow_4":"A","cldr_month_stand-alone_narrow_5":"M","cldr_month_stand-alone_narrow_6":"J","cldr_month_stand-alone_narrow_7":"J","cldr_month_stand-alone_narrow_8":"A","cldr_month_stand-alone_narrow_9":"S","cldr_number_decimal_separator":".","cldr_number_group_separator":",","cldr_number_percent_format":"#,##0%","cldr_pm":"PM","cldr_time_format_full":"h:mm:ss a zzzz","cldr_time_format_long":"h:mm:ss a z","cldr_time_format_medium":"h:mm:ss a","cldr_time_format_short":"h:mm a","quotationEnd":"”","quotationStart":"“"},"de":{"alternateQuotationEnd":"‘","alternateQuotationStart":"‚","cldr_am":"vorm.","cldr_date_format_full":"EEEE, d. MMMM y","cldr_date_format_long":"d. MMMM y","cldr_date_format_medium":"dd.MM.yyyy","cldr_date_format_short":"dd.MM.yy","cldr_date_time_format_EEEd":"d. EEE","cldr_date_time_format_Ed":"E d.","cldr_date_time_format_H":"H","cldr_date_time_format_HHmm":"HH:mm","cldr_date_time_format_HHmmss":"HH:mm:ss","cldr_date_time_format_Hm":"H:mm","cldr_date_time_format_M":"L","cldr_date_time_format_MEd":"E, d.M.","cldr_date_time_format_MMM":"LLL","cldr_date_time_format_MMMEd":"E d. MMM","cldr_date_time_format_MMMMEd":"E d. MMMM","cldr_date_time_format_MMMMd":"d. MMMM","cldr_date_time_format_MMMMdd":"dd. MMMM","cldr_date_time_format_MMMd":"d. MMM","cldr_date_time_format_MMd":"d.MM.","cldr_date_time_format_MMdd":"dd.MM.","cldr_date_time_format_Md":"d.M.","cldr_date_time_format_d":"d","cldr_date_time_format_mmss":"mm:ss","cldr_date_time_format_ms":"mm:ss","cldr_date_time_format_y":"y","cldr_date_time_format_yM":"yyyy-M","cldr_date_time_format_yMEd":"EEE, yyyy-M-d","cldr_date_time_format_yMMM":"MMM y","cldr_date_time_format_yMMMEd":"EEE, d. MMM y","cldr_date_time_format_yMMMM":"MMMM y","cldr_date_time_format_yQ":"Q yyyy","cldr_date_time_format_yQQQ":"QQQ y","cldr_date_time_format_yyMM":"MM.yy","cldr_date_time_format_yyMMM":"MMM yy","cldr_date_time_format_yyMMdd":"dd.MM.yy","cldr_date_time_format_yyQ":"Q yy","cldr_date_time_format_yyQQQQ":"QQQQ yy","cldr_date_time_format_yyyy":"y","cldr_date_time_format_yyyyMMMM":"MMMM y","cldr_day_format_abbreviated_fri":"Fr.","cldr_day_format_abbreviated_mon":"Mo.","cldr_day_format_abbreviated_sat":"Sa.","cldr_day_format_abbreviated_sun":"So.","cldr_day_format_abbreviated_thu":"Do.","cldr_day_format_abbreviated_tue":"Di.","cldr_day_format_abbreviated_wed":"Mi.","cldr_day_format_narrow_fri":"F","cldr_day_format_narrow_mon":"M","cldr_day_format_narrow_sat":"S","cldr_day_format_narrow_sun":"S","cldr_day_format_narrow_thu":"D","cldr_day_format_narrow_tue":"D","cldr_day_format_narrow_wed":"M","cldr_day_format_wide_fri":"Freitag","cldr_day_format_wide_mon":"Montag","cldr_day_format_wide_sat":"Samstag","cldr_day_format_wide_sun":"Sonntag","cldr_day_format_wide_thu":"Donnerstag","cldr_day_format_wide_tue":"Dienstag","cldr_day_format_wide_wed":"Mittwoch","cldr_day_stand-alone_abbreviated_fri":"Fr.","cldr_day_stand-alone_abbreviated_mon":"Mo.","cldr_day_stand-alone_abbreviated_sat":"Sa.","cldr_day_stand-alone_abbreviated_sun":"So.","cldr_day_stand-alone_abbreviated_thu":"Do.","cldr_day_stand-alone_abbreviated_tue":"Di.","cldr_day_stand-alone_abbreviated_wed":"Mi.","cldr_day_stand-alone_narrow_fri":"F","cldr_day_stand-alone_narrow_mon":"M","cldr_day_stand-alone_narrow_sat":"S","cldr_day_stand-alone_narrow_sun":"S","cldr_day_stand-alone_narrow_thu":"D","cldr_day_stand-alone_narrow_tue":"D","cldr_day_stand-alone_narrow_wed":"M","cldr_day_stand-alone_wide_fri":"Freitag","cldr_day_stand-alone_wide_mon":"Montag","cldr_day_stand-alone_wide_sat":"Samstag","cldr_day_stand-alone_wide_sun":"Sonntag","cldr_day_stand-alone_wide_thu":"Donnerstag","cldr_day_stand-alone_wide_tue":"Dienstag","cldr_day_stand-alone_wide_wed":"Mittwoch","cldr_month_format_abbreviated_1":"Jan","cldr_month_format_abbreviated_10":"Okt","cldr_month_format_abbreviated_11":"Nov","cldr_month_format_abbreviated_12":"Dez","cldr_month_format_abbreviated_2":"Feb","cldr_month_format_abbreviated_3":"Mär","cldr_month_format_abbreviated_4":"Apr","cldr_month_format_abbreviated_5":"Mai","cldr_month_format_abbreviated_6":"Jun","cldr_month_format_abbreviated_7":"Jul","cldr_month_format_abbreviated_8":"Aug","cldr_month_format_abbreviated_9":"Sep","cldr_month_format_wide_1":"Januar","cldr_month_format_wide_10":"Oktober","cldr_month_format_wide_11":"November","cldr_month_format_wide_12":"Dezember","cldr_month_format_wide_2":"Februar","cldr_month_format_wide_3":"März","cldr_month_format_wide_4":"April","cldr_month_format_wide_5":"Mai","cldr_month_format_wide_6":"Juni","cldr_month_format_wide_7":"Juli","cldr_month_format_wide_8":"August","cldr_month_format_wide_9":"September","cldr_month_stand-alone_abbreviated_10":"Okt","cldr_month_stand-alone_abbreviated_11":"Nov","cldr_month_stand-alone_abbreviated_12":"Dez","cldr_month_stand-alone_abbreviated_3":"Mär","cldr_month_stand-alone_abbreviated_7":"Jul","cldr_month_stand-alone_abbreviated_8":"Aug","cldr_month_stand-alone_abbreviated_9":"Sep","cldr_month_stand-alone_narrow_1":"J","cldr_month_stand-alone_narrow_10":"O","cldr_month_stand-alone_narrow_11":"N","cldr_month_stand-alone_narrow_12":"D","cldr_month_stand-alone_narrow_2":"F","cldr_month_stand-alone_narrow_3":"M","cldr_month_stand-alone_narrow_4":"A","cldr_month_stand-alone_narrow_5":"M","cldr_month_stand-alone_narrow_6":"J","cldr_month_stand-alone_narrow_7":"J","cldr_month_stand-alone_narrow_8":"A","cldr_month_stand-alone_narrow_9":"S","cldr_number_decimal_separator":",","cldr_number_group_separator":".","cldr_number_percent_format":"#,##0 %","cldr_pm":"nachm.","cldr_time_format_full":"HH:mm:ss zzzz","cldr_time_format_long":"HH:mm:ss z","cldr_time_format_medium":"HH:mm:ss","cldr_time_format_short":"HH:mm","quotationEnd":"“","quotationStart":"„"},"en":{"alternateQuotationEnd":"’","alternateQuotationStart":"‘","cldr_am":"AM","cldr_date_format_full":"EEEE, MMMM d, y","cldr_date_format_long":"MMMM d, y","cldr_date_format_medium":"MMM d, y","cldr_date_format_short":"M/d/yy","cldr_date_time_format_EEEd":"d EEE","cldr_date_time_format_Hm":"H:mm","cldr_date_time_format_Hms":"H:mm:ss","cldr_date_time_format_M":"L","cldr_date_time_format_MEd":"E, M/d","cldr_date_time_format_MMM":"LLL","cldr_date_time_format_MMMEd":"E, MMM d","cldr_date_time_format_MMMMEd":"E, MMMM d","cldr_date_time_format_MMMMd":"MMMM d","cldr_date_time_format_MMMd":"MMM d","cldr_date_time_format_Md":"M/d","cldr_date_time_format_d":"d","cldr_date_time_format_hm":"h:mm a","cldr_date_time_format_ms":"mm:ss","cldr_date_time_format_y":"y","cldr_date_time_format_yM":"M/yyyy","cldr_date_time_format_yMEd":"EEE, M/d/yyyy","cldr_date_time_format_yMMM":"MMM y","cldr_date_time_format_yMMMEd":"EEE, MMM d, y","cldr_date_time_format_yMMMM":"MMMM y","cldr_date_time_format_yQ":"Q yyyy","cldr_date_time_format_yQQQ":"QQQ y","cldr_day_format_abbreviated_fri":"Fri","cldr_day_format_abbreviated_mon":"Mon","cldr_day_format_abbreviated_sat":"Sat","cldr_day_format_abbreviated_sun":"Sun","cldr_day_format_abbreviated_thu":"Thu","cldr_day_format_abbreviated_tue":"Tue","cldr_day_format_abbreviated_wed":"Wed","cldr_day_format_narrow_fri":"F","cldr_day_format_narrow_mon":"M","cldr_day_format_narrow_sat":"S","cldr_day_format_narrow_sun":"S","cldr_day_format_narrow_thu":"T","cldr_day_format_narrow_tue":"T","cldr_day_format_narrow_wed":"W","cldr_day_format_wide_fri":"Friday","cldr_day_format_wide_mon":"Monday","cldr_day_format_wide_sat":"Saturday","cldr_day_format_wide_sun":"Sunday","cldr_day_format_wide_thu":"Thursday","cldr_day_format_wide_tue":"Tuesday","cldr_day_format_wide_wed":"Wednesday","cldr_day_stand-alone_abbreviated_fri":"Fri","cldr_day_stand-alone_abbreviated_mon":"Mon","cldr_day_stand-alone_abbreviated_sat":"Sat","cldr_day_stand-alone_abbreviated_sun":"Sun","cldr_day_stand-alone_abbreviated_thu":"Thu","cldr_day_stand-alone_abbreviated_tue":"Tue","cldr_day_stand-alone_abbreviated_wed":"Wed","cldr_day_stand-alone_narrow_fri":"F","cldr_day_stand-alone_narrow_mon":"M","cldr_day_stand-alone_narrow_sat":"S","cldr_day_stand-alone_narrow_sun":"S","cldr_day_stand-alone_narrow_thu":"T","cldr_day_stand-alone_narrow_tue":"T","cldr_day_stand-alone_narrow_wed":"W","cldr_day_stand-alone_wide_fri":"Friday","cldr_day_stand-alone_wide_mon":"Monday","cldr_day_stand-alone_wide_sat":"Saturday","cldr_day_stand-alone_wide_sun":"Sunday","cldr_day_stand-alone_wide_thu":"Thursday","cldr_day_stand-alone_wide_tue":"Tuesday","cldr_day_stand-alone_wide_wed":"Wednesday","cldr_month_format_abbreviated_1":"Jan","cldr_month_format_abbreviated_10":"Oct","cldr_month_format_abbreviated_11":"Nov","cldr_month_format_abbreviated_12":"Dec","cldr_month_format_abbreviated_2":"Feb","cldr_month_format_abbreviated_3":"Mar","cldr_month_format_abbreviated_4":"Apr","cldr_month_format_abbreviated_5":"May","cldr_month_format_abbreviated_6":"Jun","cldr_month_format_abbreviated_7":"Jul","cldr_month_format_abbreviated_8":"Aug","cldr_month_format_abbreviated_9":"Sep","cldr_month_format_wide_1":"January","cldr_month_format_wide_10":"October","cldr_month_format_wide_11":"November","cldr_month_format_wide_12":"December","cldr_month_format_wide_2":"February","cldr_month_format_wide_3":"March","cldr_month_format_wide_4":"April","cldr_month_format_wide_5":"May","cldr_month_format_wide_6":"June","cldr_month_format_wide_7":"July","cldr_month_format_wide_8":"August","cldr_month_format_wide_9":"September","cldr_month_stand-alone_narrow_1":"J","cldr_month_stand-alone_narrow_10":"O","cldr_month_stand-alone_narrow_11":"N","cldr_month_stand-alone_narrow_12":"D","cldr_month_stand-alone_narrow_2":"F","cldr_month_stand-alone_narrow_3":"M","cldr_month_stand-alone_narrow_4":"A","cldr_month_stand-alone_narrow_5":"M","cldr_month_stand-alone_narrow_6":"J","cldr_month_stand-alone_narrow_7":"J","cldr_month_stand-alone_narrow_8":"A","cldr_month_stand-alone_narrow_9":"S","cldr_number_decimal_separator":".","cldr_number_group_separator":",","cldr_number_percent_format":"#,##0%","cldr_pm":"PM","cldr_time_format_full":"h:mm:ss a zzzz","cldr_time_format_long":"h:mm:ss a z","cldr_time_format_medium":"h:mm:ss a","cldr_time_format_short":"h:mm a","quotationEnd":"”","quotationStart":"“"},"fr":{"alternateQuotationEnd":"”","alternateQuotationStart":"“","cldr_am":"AM","cldr_date_format_full":"EEEE d MMMM y","cldr_date_format_long":"d MMMM y","cldr_date_format_medium":"d MMM y","cldr_date_format_short":"dd/MM/yy","cldr_date_time_format_EEEd":"d EEE","cldr_date_time_format_HHmm":"HH:mm","cldr_date_time_format_HHmmss":"HH:mm:ss","cldr_date_time_format_Hm":"H:mm","cldr_date_time_format_M":"L","cldr_date_time_format_MEd":"E d/M","cldr_date_time_format_MMM":"LLL","cldr_date_time_format_MMMEd":"E d MMM","cldr_date_time_format_MMMMEd":"E d MMMM","cldr_date_time_format_MMMMd":"d MMMM","cldr_date_time_format_MMMd":"d MMM","cldr_date_time_format_MMMdd":"dd MMM","cldr_date_time_format_MMd":"d/MM","cldr_date_time_format_MMdd":"dd/MM","cldr_date_time_format_Md":"d/M","cldr_date_time_format_d":"d","cldr_date_time_format_mmss":"mm:ss","cldr_date_time_format_ms":"mm:ss","cldr_date_time_format_y":"y","cldr_date_time_format_yM":"M/yyyy","cldr_date_time_format_yMEd":"EEE d/M/yyyy","cldr_date_time_format_yMMM":"MMM y","cldr_date_time_format_yMMMEd":"EEE d MMM y","cldr_date_time_format_yMMMM":"MMMM y","cldr_date_time_format_yQ":"'T'Q y","cldr_date_time_format_yQQQ":"QQQ y","cldr_date_time_format_yyMM":"MM/yy","cldr_date_time_format_yyMMM":"MMM yy","cldr_date_time_format_yyMMMEEEd":"EEE d MMM yy","cldr_date_time_format_yyMMMd":"d MMM yy","cldr_date_time_format_yyQ":"'T'Q yy","cldr_date_time_format_yyQQQQ":"QQQQ yy","cldr_date_time_format_yyyyMMMM":"MMMM y","cldr_day_format_abbreviated_fri":"ven.","cldr_day_format_abbreviated_mon":"lun.","cldr_day_format_abbreviated_sat":"sam.","cldr_day_format_abbreviated_sun":"dim.","cldr_day_format_abbreviated_thu":"jeu.","cldr_day_format_abbreviated_tue":"mar.","cldr_day_format_abbreviated_wed":"mer.","cldr_day_format_narrow_fri":"V","cldr_day_format_narrow_mon":"L","cldr_day_format_narrow_sat":"S","cldr_day_format_narrow_sun":"D","cldr_day_format_narrow_thu":"J","cldr_day_format_narrow_tue":"M","cldr_day_format_narrow_wed":"M","cldr_day_format_wide_fri":"vendredi","cldr_day_format_wide_mon":"lundi","cldr_day_format_wide_sat":"samedi","cldr_day_format_wide_sun":"dimanche","cldr_day_format_wide_thu":"jeudi","cldr_day_format_wide_tue":"mardi","cldr_day_format_wide_wed":"mercredi","cldr_day_stand-alone_abbreviated_fri":"ven.","cldr_day_stand-alone_abbreviated_mon":"lun.","cldr_day_stand-alone_abbreviated_sat":"sam.","cldr_day_stand-alone_abbreviated_sun":"dim.","cldr_day_stand-alone_abbreviated_thu":"jeu.","cldr_day_stand-alone_abbreviated_tue":"mar.","cldr_day_stand-alone_abbreviated_wed":"mer.","cldr_day_stand-alone_narrow_fri":"V","cldr_day_stand-alone_narrow_mon":"L","cldr_day_stand-alone_narrow_sat":"S","cldr_day_stand-alone_narrow_sun":"D","cldr_day_stand-alone_narrow_thu":"J","cldr_day_stand-alone_narrow_tue":"M","cldr_day_stand-alone_narrow_wed":"M","cldr_day_stand-alone_wide_fri":"vendredi","cldr_day_stand-alone_wide_mon":"lundi","cldr_day_stand-alone_wide_sat":"samedi","cldr_day_stand-alone_wide_sun":"dimanche","cldr_day_stand-alone_wide_thu":"jeudi","cldr_day_stand-alone_wide_tue":"mardi","cldr_day_stand-alone_wide_wed":"mercredi","cldr_month_format_abbreviated_1":"janv.","cldr_month_format_abbreviated_10":"oct.","cldr_month_format_abbreviated_11":"nov.","cldr_month_format_abbreviated_12":"déc.","cldr_month_format_abbreviated_2":"févr.","cldr_month_format_abbreviated_3":"mars","cldr_month_format_abbreviated_4":"avr.","cldr_month_format_abbreviated_5":"mai","cldr_month_format_abbreviated_6":"juin","cldr_month_format_abbreviated_7":"juil.","cldr_month_format_abbreviated_8":"août","cldr_month_format_abbreviated_9":"sept.","cldr_month_format_wide_1":"janvier","cldr_month_format_wide_10":"octobre","cldr_month_format_wide_11":"novembre","cldr_month_format_wide_12":"décembre","cldr_month_format_wide_2":"février","cldr_month_format_wide_3":"mars","cldr_month_format_wide_4":"avril","cldr_month_format_wide_5":"mai","cldr_month_format_wide_6":"juin","cldr_month_format_wide_7":"juillet","cldr_month_format_wide_8":"août","cldr_month_format_wide_9":"septembre","cldr_month_stand-alone_narrow_1":"J","cldr_month_stand-alone_narrow_10":"O","cldr_month_stand-alone_narrow_11":"N","cldr_month_stand-alone_narrow_12":"D","cldr_month_stand-alone_narrow_2":"F","cldr_month_stand-alone_narrow_3":"M","cldr_month_stand-alone_narrow_4":"A","cldr_month_stand-alone_narrow_5":"M","cldr_month_stand-alone_narrow_6":"J","cldr_month_stand-alone_narrow_7":"J","cldr_month_stand-alone_narrow_8":"A","cldr_month_stand-alone_narrow_9":"S","cldr_number_decimal_separator":",","cldr_number_group_separator":" ","cldr_number_percent_format":"#,##0 %","cldr_pm":"PM","cldr_time_format_full":"HH:mm:ss zzzz","cldr_time_format_long":"HH:mm:ss z","cldr_time_format_medium":"HH:mm:ss","cldr_time_format_short":"HH:mm","quotationEnd":"»","quotationStart":"«"}},"resources":{"qx/decoration/Modern/app-header.png":[110,20,"png","track"],"qx/decoration/Modern/arrows-combined.png":[87,8,"png","qx"],"qx/decoration/Modern/arrows/down-invert.png":[8,5,"png","track","qx/decoration/Modern/arrows-combined.png",-74,0],"qx/decoration/Modern/arrows/down-small-invert.png":[5,3,"png","track","qx/decoration/Modern/arrows-combined.png",-69,0],"qx/decoration/Modern/arrows/down-small.png":[5,3,"png","track","qx/decoration/Modern/arrows-combined.png",-49,0],"qx/decoration/Modern/arrows/down.png":[8,5,"png","track","qx/decoration/Modern/arrows-combined.png",-20,0],"qx/decoration/Modern/arrows/forward.png":[10,8,"png","track","qx/decoration/Modern/arrows-combined.png",-59,0],"qx/decoration/Modern/arrows/left-invert.png":[5,8,"png","track","qx/decoration/Modern/arrows-combined.png",0,0],"qx/decoration/Modern/arrows/left.png":[5,8,"png","track","qx/decoration/Modern/arrows-combined.png",-44,0],"qx/decoration/Modern/arrows/rewind.png":[10,8,"png","track","qx/decoration/Modern/arrows-combined.png",-10,0],"qx/decoration/Modern/arrows/right-invert.png":[5,8,"png","track","qx/decoration/Modern/arrows-combined.png",-5,0],"qx/decoration/Modern/arrows/right.png":[5,8,"png","track","qx/decoration/Modern/arrows-combined.png",-54,0],"qx/decoration/Modern/arrows/up-invert.png":[8,5,"png","track","qx/decoration/Modern/arrows-combined.png",-28,0],"qx/decoration/Modern/arrows/up-small.png":[5,3,"png","track","qx/decoration/Modern/arrows-combined.png",-82,0],"qx/decoration/Modern/arrows/up.png":[8,5,"png","track","qx/decoration/Modern/arrows-combined.png",-36,0],"qx/decoration/Modern/button-lr-combined.png":[72,52,"png","qx"],"qx/decoration/Modern/button-tb-combined.png":[4,216,"png","qx"],"qx/decoration/Modern/checkradio-combined.png":[504,14,"png","qx"],"qx/decoration/Modern/colorselector-combined.gif":[46,11,"gif","qx"],"qx/decoration/Modern/colorselector/brightness-field.png":[19,256,"png","track"],"qx/decoration/Modern/colorselector/brightness-handle.gif":[35,11,"gif","track","qx/decoration/Modern/colorselector-combined.gif",0,0],"qx/decoration/Modern/colorselector/huesaturation-field.jpg":[256,256,"jpeg","track"],"qx/decoration/Modern/colorselector/huesaturation-handle.gif":[11,11,"gif","track","qx/decoration/Modern/colorselector-combined.gif",-35,0],"qx/decoration/Modern/cursors-combined.gif":[71,20,"gif","qx"],"qx/decoration/Modern/cursors/alias.gif":[19,15,"gif","track","qx/decoration/Modern/cursors-combined.gif",-52,0],"qx/decoration/Modern/cursors/copy.gif":[19,15,"gif","track","qx/decoration/Modern/cursors-combined.gif",-33,0],"qx/decoration/Modern/cursors/move.gif":[13,9,"gif","track","qx/decoration/Modern/cursors-combined.gif",-20,0],"qx/decoration/Modern/cursors/nodrop.gif":[20,20,"gif","track","qx/decoration/Modern/cursors-combined.gif",0,0],"qx/decoration/Modern/form/button-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-72],"qx/decoration/Modern/form/button-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-204],"qx/decoration/Modern/form/button-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-188],"qx/decoration/Modern/form/button-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-checked-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-36],"qx/decoration/Modern/form/button-checked-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-84],"qx/decoration/Modern/form/button-checked-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-184],"qx/decoration/Modern/form/button-checked-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-checked-focused-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-156],"qx/decoration/Modern/form/button-checked-focused-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-208],"qx/decoration/Modern/form/button-checked-focused-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-160],"qx/decoration/Modern/form/button-checked-focused-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-checked-focused-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-40,0],"qx/decoration/Modern/form/button-checked-focused-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-32,0],"qx/decoration/Modern/form/button-checked-focused-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-28],"qx/decoration/Modern/form/button-checked-focused-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-24],"qx/decoration/Modern/form/button-checked-focused-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-48],"qx/decoration/Modern/form/button-checked-focused.png":[80,60,"png","track"],"qx/decoration/Modern/form/button-checked-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-16,0],"qx/decoration/Modern/form/button-checked-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-60,0],"qx/decoration/Modern/form/button-checked-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-140],"qx/decoration/Modern/form/button-checked-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-56],"qx/decoration/Modern/form/button-checked-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-112],"qx/decoration/Modern/form/button-checked.png":[80,60,"png","track"],"qx/decoration/Modern/form/button-disabled-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-40],"qx/decoration/Modern/form/button-disabled-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-136],"qx/decoration/Modern/form/button-disabled-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-16],"qx/decoration/Modern/form/button-disabled-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-disabled-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-68,0],"qx/decoration/Modern/form/button-disabled-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-4,0],"qx/decoration/Modern/form/button-disabled-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-116],"qx/decoration/Modern/form/button-disabled-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-168],"qx/decoration/Modern/form/button-disabled-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-60],"qx/decoration/Modern/form/button-disabled.png":[80,60,"png","track"],"qx/decoration/Modern/form/button-focused-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-68],"qx/decoration/Modern/form/button-focused-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-144],"qx/decoration/Modern/form/button-focused-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-8],"qx/decoration/Modern/form/button-focused-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-focused-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-24,0],"qx/decoration/Modern/form/button-focused-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-44,0],"qx/decoration/Modern/form/button-focused-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-192],"qx/decoration/Modern/form/button-focused-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-148],"qx/decoration/Modern/form/button-focused-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-104],"qx/decoration/Modern/form/button-focused.png":[80,60,"png","track"],"qx/decoration/Modern/form/button-hovered-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-108],"qx/decoration/Modern/form/button-hovered-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-32],"qx/decoration/Modern/form/button-hovered-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-128],"qx/decoration/Modern/form/button-hovered-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-hovered-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-20,0],"qx/decoration/Modern/form/button-hovered-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-48,0],"qx/decoration/Modern/form/button-hovered-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-44],"qx/decoration/Modern/form/button-hovered-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-76],"qx/decoration/Modern/form/button-hovered-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-88],"qx/decoration/Modern/form/button-hovered.png":[80,60,"png","track"],"qx/decoration/Modern/form/button-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-56,0],"qx/decoration/Modern/form/button-preselected-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-124],"qx/decoration/Modern/form/button-preselected-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-176],"qx/decoration/Modern/form/button-preselected-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-200],"qx/decoration/Modern/form/button-preselected-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-preselected-focused-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,0],"qx/decoration/Modern/form/button-preselected-focused-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-4],"qx/decoration/Modern/form/button-preselected-focused-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-152],"qx/decoration/Modern/form/button-preselected-focused-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-preselected-focused-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-28,0],"qx/decoration/Modern/form/button-preselected-focused-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-36,0],"qx/decoration/Modern/form/button-preselected-focused-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-196],"qx/decoration/Modern/form/button-preselected-focused-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-164],"qx/decoration/Modern/form/button-preselected-focused-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-212],"qx/decoration/Modern/form/button-preselected-focused.png":[80,60,"png","track"],"qx/decoration/Modern/form/button-preselected-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-8,0],"qx/decoration/Modern/form/button-preselected-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-64,0],"qx/decoration/Modern/form/button-preselected-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-96],"qx/decoration/Modern/form/button-preselected-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-80],"qx/decoration/Modern/form/button-preselected-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-132],"qx/decoration/Modern/form/button-preselected.png":[80,60,"png","track"],"qx/decoration/Modern/form/button-pressed-b.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-12],"qx/decoration/Modern/form/button-pressed-bl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-52],"qx/decoration/Modern/form/button-pressed-br.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-20],"qx/decoration/Modern/form/button-pressed-c.png":[40,52,"png","track"],"qx/decoration/Modern/form/button-pressed-l.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-52,0],"qx/decoration/Modern/form/button-pressed-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",-12,0],"qx/decoration/Modern/form/button-pressed-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-100],"qx/decoration/Modern/form/button-pressed-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-172],"qx/decoration/Modern/form/button-pressed-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-64],"qx/decoration/Modern/form/button-pressed.png":[80,60,"png","track"],"qx/decoration/Modern/form/button-r.png":[4,52,"png","track","qx/decoration/Modern/button-lr-combined.png",0,0],"qx/decoration/Modern/form/button-t.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-92],"qx/decoration/Modern/form/button-tl.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-120],"qx/decoration/Modern/form/button-tr.png":[4,4,"png","track","qx/decoration/Modern/button-tb-combined.png",0,-180],"qx/decoration/Modern/form/button.png":[80,60,"png","track"],"qx/decoration/Modern/form/checkbox-checked-disabled.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-126,0],"qx/decoration/Modern/form/checkbox-checked-focused-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-322,0],"qx/decoration/Modern/form/checkbox-checked-focused.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-294,0],"qx/decoration/Modern/form/checkbox-checked-hovered-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-364,0],"qx/decoration/Modern/form/checkbox-checked-hovered.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-490,0],"qx/decoration/Modern/form/checkbox-checked-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-224,0],"qx/decoration/Modern/form/checkbox-checked-pressed-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-378,0],"qx/decoration/Modern/form/checkbox-checked-pressed.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-84,0],"qx/decoration/Modern/form/checkbox-checked.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-182,0],"qx/decoration/Modern/form/checkbox-disabled.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-42,0],"qx/decoration/Modern/form/checkbox-focused-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-392,0],"qx/decoration/Modern/form/checkbox-focused.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-210,0],"qx/decoration/Modern/form/checkbox-hovered-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-14,0],"qx/decoration/Modern/form/checkbox-hovered.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-238,0],"qx/decoration/Modern/form/checkbox-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-462,0],"qx/decoration/Modern/form/checkbox-pressed-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-112,0],"qx/decoration/Modern/form/checkbox-pressed.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-448,0],"qx/decoration/Modern/form/checkbox.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-140,0],"qx/decoration/Modern/form/input-focused.png":[40,12,"png","track"],"qx/decoration/Modern/form/input.png":[84,12,"png","track"],"qx/decoration/Modern/form/radiobutton-checked-disabled.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-196,0],"qx/decoration/Modern/form/radiobutton-checked-focused-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-168,0],"qx/decoration/Modern/form/radiobutton-checked-focused.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-98,0],"qx/decoration/Modern/form/radiobutton-checked-hovered-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-308,0],"qx/decoration/Modern/form/radiobutton-checked-hovered.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-406,0],"qx/decoration/Modern/form/radiobutton-checked-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-28,0],"qx/decoration/Modern/form/radiobutton-checked-pressed-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-350,0],"qx/decoration/Modern/form/radiobutton-checked-pressed.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-266,0],"qx/decoration/Modern/form/radiobutton-checked.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-252,0],"qx/decoration/Modern/form/radiobutton-disabled.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-336,0],"qx/decoration/Modern/form/radiobutton-focused-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-476,0],"qx/decoration/Modern/form/radiobutton-focused.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-420,0],"qx/decoration/Modern/form/radiobutton-hovered-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-56,0],"qx/decoration/Modern/form/radiobutton-hovered.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",0,0],"qx/decoration/Modern/form/radiobutton-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-154,0],"qx/decoration/Modern/form/radiobutton-pressed-invalid.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-434,0],"qx/decoration/Modern/form/radiobutton-pressed.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-280,0],"qx/decoration/Modern/form/radiobutton.png":[14,14,"png","track","qx/decoration/Modern/checkradio-combined.png",-70,0],"qx/decoration/Modern/form/tooltip-error-arrow.png":[11,14,"png","track"],"qx/decoration/Modern/form/tooltip-error-b.png":[6,6,"png","track","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-30],"qx/decoration/Modern/form/tooltip-error-bl.png":[6,6,"png","track","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-24],"qx/decoration/Modern/form/tooltip-error-br.png":[6,6,"png","track","qx/decoration/Modern/tooltip-error-tb-combined.png",0,0],"qx/decoration/Modern/form/tooltip-error-c.png":[40,18,"png","track"],"qx/decoration/Modern/form/tooltip-error-l.png":[6,18,"png","track","qx/decoration/Modern/tooltip-error-lr-combined.png",-6,0],"qx/decoration/Modern/form/tooltip-error-r.png":[6,18,"png","track","qx/decoration/Modern/tooltip-error-lr-combined.png",0,0],"qx/decoration/Modern/form/tooltip-error-t.png":[6,6,"png","track","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-6],"qx/decoration/Modern/form/tooltip-error-tl.png":[6,6,"png","track","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-18],"qx/decoration/Modern/form/tooltip-error-tr.png":[6,6,"png","track","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-12],"qx/decoration/Modern/form/tooltip-error.png":[127,30,"png","track"],"qx/decoration/Modern/groupbox-lr-combined.png":[8,51,"png","qx"],"qx/decoration/Modern/groupbox-tb-combined.png":[4,24,"png","qx"],"qx/decoration/Modern/groupbox/groupbox-b.png":[4,4,"png","track","qx/decoration/Modern/groupbox-tb-combined.png",0,-12],"qx/decoration/Modern/groupbox/groupbox-bl.png":[4,4,"png","track","qx/decoration/Modern/groupbox-tb-combined.png",0,-16],"qx/decoration/Modern/groupbox/groupbox-br.png":[4,4,"png","track","qx/decoration/Modern/groupbox-tb-combined.png",0,-8],"qx/decoration/Modern/groupbox/groupbox-c.png":[40,51,"png","track"],"qx/decoration/Modern/groupbox/groupbox-l.png":[4,51,"png","track","qx/decoration/Modern/groupbox-lr-combined.png",-4,0],"qx/decoration/Modern/groupbox/groupbox-r.png":[4,51,"png","track","qx/decoration/Modern/groupbox-lr-combined.png",0,0],"qx/decoration/Modern/groupbox/groupbox-t.png":[4,4,"png","track","qx/decoration/Modern/groupbox-tb-combined.png",0,-4],"qx/decoration/Modern/groupbox/groupbox-tl.png":[4,4,"png","track","qx/decoration/Modern/groupbox-tb-combined.png",0,0],"qx/decoration/Modern/groupbox/groupbox-tr.png":[4,4,"png","track","qx/decoration/Modern/groupbox-tb-combined.png",0,-20],"qx/decoration/Modern/groupbox/groupbox.png":[255,59,"png","track"],"qx/decoration/Modern/menu-background-combined.png":[80,49,"png","qx"],"qx/decoration/Modern/menu-checkradio-combined.gif":[64,7,"gif","qx"],"qx/decoration/Modern/menu/background.png":[40,49,"png","track","qx/decoration/Modern/menu-background-combined.png",-40,0],"qx/decoration/Modern/menu/bar-background.png":[40,20,"png","track","qx/decoration/Modern/menu-background-combined.png",0,0],"qx/decoration/Modern/menu/checkbox-invert.gif":[16,7,"gif","track","qx/decoration/Modern/menu-checkradio-combined.gif",-16,0],"qx/decoration/Modern/menu/checkbox.gif":[16,7,"gif","track","qx/decoration/Modern/menu-checkradio-combined.gif",-48,0],"qx/decoration/Modern/menu/radiobutton-invert.gif":[16,5,"gif","track","qx/decoration/Modern/menu-checkradio-combined.gif",-32,0],"qx/decoration/Modern/menu/radiobutton.gif":[16,5,"gif","track","qx/decoration/Modern/menu-checkradio-combined.gif",0,0],"qx/decoration/Modern/pane-lr-combined.png":[12,238,"png","qx"],"qx/decoration/Modern/pane-tb-combined.png":[6,36,"png","qx"],"qx/decoration/Modern/pane/pane-b.png":[6,6,"png","track","qx/decoration/Modern/pane-tb-combined.png",0,-30],"qx/decoration/Modern/pane/pane-bl.png":[6,6,"png","track","qx/decoration/Modern/pane-tb-combined.png",0,-18],"qx/decoration/Modern/pane/pane-br.png":[6,6,"png","track","qx/decoration/Modern/pane-tb-combined.png",0,-12],"qx/decoration/Modern/pane/pane-c.png":[40,238,"png","track"],"qx/decoration/Modern/pane/pane-l.png":[6,238,"png","track","qx/decoration/Modern/pane-lr-combined.png",0,0],"qx/decoration/Modern/pane/pane-r.png":[6,238,"png","track","qx/decoration/Modern/pane-lr-combined.png",-6,0],"qx/decoration/Modern/pane/pane-t.png":[6,6,"png","track","qx/decoration/Modern/pane-tb-combined.png",0,0],"qx/decoration/Modern/pane/pane-tl.png":[6,6,"png","track","qx/decoration/Modern/pane-tb-combined.png",0,-24],"qx/decoration/Modern/pane/pane-tr.png":[6,6,"png","track","qx/decoration/Modern/pane-tb-combined.png",0,-6],"qx/decoration/Modern/pane/pane.png":[185,250,"png","track"],"qx/decoration/Modern/scrollbar-combined.png":[54,12,"png","qx"],"qx/decoration/Modern/scrollbar/scrollbar-bg-horizontal.png":[76,15,"png","track"],"qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-horizontal.png":[19,10,"png","track"],"qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-vertical.png":[10,19,"png","track"],"qx/decoration/Modern/scrollbar/scrollbar-bg-vertical.png":[15,76,"png","track"],"qx/decoration/Modern/scrollbar/scrollbar-button-bg-horizontal.png":[12,10,"png","track","qx/decoration/Modern/scrollbar-combined.png",-34,0],"qx/decoration/Modern/scrollbar/scrollbar-button-bg-vertical.png":[10,12,"png","track","qx/decoration/Modern/scrollbar-combined.png",-6,0],"qx/decoration/Modern/scrollbar/scrollbar-down.png":[6,4,"png","track","qx/decoration/Modern/scrollbar-combined.png",-28,0],"qx/decoration/Modern/scrollbar/scrollbar-left.png":[4,6,"png","track","qx/decoration/Modern/scrollbar-combined.png",-50,0],"qx/decoration/Modern/scrollbar/scrollbar-right.png":[4,6,"png","track","qx/decoration/Modern/scrollbar-combined.png",-46,0],"qx/decoration/Modern/scrollbar/scrollbar-up.png":[6,4,"png","track","qx/decoration/Modern/scrollbar-combined.png",0,0],"qx/decoration/Modern/scrollbar/slider-knob-background.png":[12,10,"png","track","qx/decoration/Modern/scrollbar-combined.png",-16,0],"qx/decoration/Modern/selection.png":[110,20,"png","track"],"qx/decoration/Modern/shadow-lr-combined.png":[30,382,"png","qx"],"qx/decoration/Modern/shadow-small-lr-combined.png":[10,136,"png","qx"],"qx/decoration/Modern/shadow-small-tb-combined.png":[5,30,"png","qx"],"qx/decoration/Modern/shadow-tb-combined.png":[15,90,"png","qx"],"qx/decoration/Modern/shadow/shadow-b.png":[15,15,"png","track","qx/decoration/Modern/shadow-tb-combined.png",0,-30],"qx/decoration/Modern/shadow/shadow-bl.png":[15,15,"png","track","qx/decoration/Modern/shadow-tb-combined.png",0,-15],"qx/decoration/Modern/shadow/shadow-br.png":[15,15,"png","track","qx/decoration/Modern/shadow-tb-combined.png",0,-45],"qx/decoration/Modern/shadow/shadow-c.png":[40,382,"png","track"],"qx/decoration/Modern/shadow/shadow-l.png":[15,382,"png","track","qx/decoration/Modern/shadow-lr-combined.png",0,0],"qx/decoration/Modern/shadow/shadow-r.png":[15,382,"png","track","qx/decoration/Modern/shadow-lr-combined.png",-15,0],"qx/decoration/Modern/shadow/shadow-small-b.png":[5,5,"png","track","qx/decoration/Modern/shadow-small-tb-combined.png",0,-20],"qx/decoration/Modern/shadow/shadow-small-bl.png":[5,5,"png","track","qx/decoration/Modern/shadow-small-tb-combined.png",0,-15],"qx/decoration/Modern/shadow/shadow-small-br.png":[5,5,"png","track","qx/decoration/Modern/shadow-small-tb-combined.png",0,-10],"qx/decoration/Modern/shadow/shadow-small-c.png":[40,136,"png","track"],"qx/decoration/Modern/shadow/shadow-small-l.png":[5,136,"png","track","qx/decoration/Modern/shadow-small-lr-combined.png",0,0],"qx/decoration/Modern/shadow/shadow-small-r.png":[5,136,"png","track","qx/decoration/Modern/shadow-small-lr-combined.png",-5,0],"qx/decoration/Modern/shadow/shadow-small-t.png":[5,5,"png","track","qx/decoration/Modern/shadow-small-tb-combined.png",0,-5],"qx/decoration/Modern/shadow/shadow-small-tl.png":[5,5,"png","track","qx/decoration/Modern/shadow-small-tb-combined.png",0,0],"qx/decoration/Modern/shadow/shadow-small-tr.png":[5,5,"png","track","qx/decoration/Modern/shadow-small-tb-combined.png",0,-25],"qx/decoration/Modern/shadow/shadow-small.png":[114,146,"png","track"],"qx/decoration/Modern/shadow/shadow-t.png":[15,15,"png","track","qx/decoration/Modern/shadow-tb-combined.png",0,-60],"qx/decoration/Modern/shadow/shadow-tl.png":[15,15,"png","track","qx/decoration/Modern/shadow-tb-combined.png",0,-75],"qx/decoration/Modern/shadow/shadow-tr.png":[15,15,"png","track","qx/decoration/Modern/shadow-tb-combined.png",0,0],"qx/decoration/Modern/shadow/shadow.png":[381,412,"png","track"],"qx/decoration/Modern/splitpane-knobs-combined.png":[8,9,"png","qx"],"qx/decoration/Modern/splitpane/knob-horizontal.png":[1,8,"png","track","qx/decoration/Modern/splitpane-knobs-combined.png",0,-1],"qx/decoration/Modern/splitpane/knob-vertical.png":[8,1,"png","track","qx/decoration/Modern/splitpane-knobs-combined.png",0,0],"qx/decoration/Modern/table-combined.png":[94,18,"png","qx"],"qx/decoration/Modern/table/ascending.png":[8,5,"png","track","qx/decoration/Modern/table-combined.png",0,0],"qx/decoration/Modern/table/boolean-false.png":[14,14,"png","track","qx/decoration/Modern/table-combined.png",-80,0],"qx/decoration/Modern/table/boolean-true.png":[14,14,"png","track","qx/decoration/Modern/table-combined.png",-26,0],"qx/decoration/Modern/table/descending.png":[8,5,"png","track","qx/decoration/Modern/table-combined.png",-18,0],"qx/decoration/Modern/table/header-cell.png":[40,18,"png","track","qx/decoration/Modern/table-combined.png",-40,0],"qx/decoration/Modern/table/select-column-order.png":[10,9,"png","track","qx/decoration/Modern/table-combined.png",-8,0],"qx/decoration/Modern/tabview-button-bottom-active-lr-combined.png":[10,14,"png","qx"],"qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png":[5,30,"png","qx"],"qx/decoration/Modern/tabview-button-bottom-inactive-b-combined.png":[3,9,"png","qx"],"qx/decoration/Modern/tabview-button-bottom-inactive-lr-combined.png":[6,15,"png","qx"],"qx/decoration/Modern/tabview-button-bottom-inactive-t-combined.png":[3,9,"png","qx"],"qx/decoration/Modern/tabview-button-left-active-lr-combined.png":[10,37,"png","qx"],"qx/decoration/Modern/tabview-button-left-active-tb-combined.png":[5,30,"png","qx"],"qx/decoration/Modern/tabview-button-left-inactive-b-combined.png":[3,9,"png","qx"],"qx/decoration/Modern/tabview-button-left-inactive-lr-combined.png":[6,39,"png","qx"],"qx/decoration/Modern/tabview-button-left-inactive-t-combined.png":[3,9,"png","qx"],"qx/decoration/Modern/tabview-button-right-active-lr-combined.png":[10,37,"png","qx"],"qx/decoration/Modern/tabview-button-right-active-tb-combined.png":[5,30,"png","qx"],"qx/decoration/Modern/tabview-button-right-inactive-b-combined.png":[3,9,"png","qx"],"qx/decoration/Modern/tabview-button-right-inactive-lr-combined.png":[6,39,"png","qx"],"qx/decoration/Modern/tabview-button-right-inactive-t-combined.png":[3,9,"png","qx"],"qx/decoration/Modern/tabview-button-top-active-lr-combined.png":[10,12,"png","qx"],"qx/decoration/Modern/tabview-button-top-active-tb-combined.png":[5,30,"png","qx"],"qx/decoration/Modern/tabview-button-top-inactive-b-combined.png":[3,9,"png","qx"],"qx/decoration/Modern/tabview-button-top-inactive-lr-combined.png":[6,15,"png","qx"],"qx/decoration/Modern/tabview-button-top-inactive-t-combined.png":[3,9,"png","qx"],"qx/decoration/Modern/tabview-pane-lr-combined.png":[60,2,"png","qx"],"qx/decoration/Modern/tabview-pane-tb-combined.png":[30,180,"png","qx"],"qx/decoration/Modern/tabview/tab-button-bottom-active-b.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png",0,-10],"qx/decoration/Modern/tabview/tab-button-bottom-active-bl.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png",0,-15],"qx/decoration/Modern/tabview/tab-button-bottom-active-br.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png",0,-5],"qx/decoration/Modern/tabview/tab-button-bottom-active-c.png":[40,14,"png","track"],"qx/decoration/Modern/tabview/tab-button-bottom-active-l.png":[5,14,"png","track","qx/decoration/Modern/tabview-button-bottom-active-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-bottom-active-r.png":[5,14,"png","track","qx/decoration/Modern/tabview-button-bottom-active-lr-combined.png",-5,0],"qx/decoration/Modern/tabview/tab-button-bottom-active-t.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png",0,-20],"qx/decoration/Modern/tabview/tab-button-bottom-active-tl.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png",0,-25],"qx/decoration/Modern/tabview/tab-button-bottom-active-tr.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-bottom-active.png":[49,24,"png","track"],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-b.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-bottom-inactive-b-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-bl.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-bottom-inactive-b-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-br.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-bottom-inactive-b-combined.png",0,-3],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-c.png":[40,15,"png","track"],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-l.png":[3,15,"png","track","qx/decoration/Modern/tabview-button-bottom-inactive-lr-combined.png",-3,0],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-r.png":[3,15,"png","track","qx/decoration/Modern/tabview-button-bottom-inactive-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-t.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-bottom-inactive-t-combined.png",0,-3],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-tl.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-bottom-inactive-t-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-tr.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-bottom-inactive-t-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-bottom-inactive.png":[45,21,"png","track"],"qx/decoration/Modern/tabview/tab-button-left-active-b.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-left-active-tb-combined.png",0,-5],"qx/decoration/Modern/tabview/tab-button-left-active-bl.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-left-active-tb-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-left-active-br.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-left-active-tb-combined.png",0,-25],"qx/decoration/Modern/tabview/tab-button-left-active-c.png":[40,37,"png","track"],"qx/decoration/Modern/tabview/tab-button-left-active-l.png":[5,37,"png","track","qx/decoration/Modern/tabview-button-left-active-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-left-active-r.png":[5,37,"png","track","qx/decoration/Modern/tabview-button-left-active-lr-combined.png",-5,0],"qx/decoration/Modern/tabview/tab-button-left-active-t.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-left-active-tb-combined.png",0,-15],"qx/decoration/Modern/tabview/tab-button-left-active-tl.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-left-active-tb-combined.png",0,-10],"qx/decoration/Modern/tabview/tab-button-left-active-tr.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-left-active-tb-combined.png",0,-20],"qx/decoration/Modern/tabview/tab-button-left-active.png":[22,47,"png","track"],"qx/decoration/Modern/tabview/tab-button-left-inactive-b.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-left-inactive-b-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-left-inactive-bl.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-left-inactive-b-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-left-inactive-br.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-left-inactive-b-combined.png",0,-3],"qx/decoration/Modern/tabview/tab-button-left-inactive-c.png":[40,39,"png","track"],"qx/decoration/Modern/tabview/tab-button-left-inactive-l.png":[3,39,"png","track","qx/decoration/Modern/tabview-button-left-inactive-lr-combined.png",-3,0],"qx/decoration/Modern/tabview/tab-button-left-inactive-r.png":[3,39,"png","track","qx/decoration/Modern/tabview-button-left-inactive-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-left-inactive-t.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-left-inactive-t-combined.png",0,-3],"qx/decoration/Modern/tabview/tab-button-left-inactive-tl.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-left-inactive-t-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-left-inactive-tr.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-left-inactive-t-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-left-inactive.png":[20,45,"png","track"],"qx/decoration/Modern/tabview/tab-button-right-active-b.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-right-active-tb-combined.png",0,-25],"qx/decoration/Modern/tabview/tab-button-right-active-bl.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-right-active-tb-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-right-active-br.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-right-active-tb-combined.png",0,-20],"qx/decoration/Modern/tabview/tab-button-right-active-c.png":[40,37,"png","track"],"qx/decoration/Modern/tabview/tab-button-right-active-l.png":[5,37,"png","track","qx/decoration/Modern/tabview-button-right-active-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-right-active-r.png":[5,37,"png","track","qx/decoration/Modern/tabview-button-right-active-lr-combined.png",-5,0],"qx/decoration/Modern/tabview/tab-button-right-active-t.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-right-active-tb-combined.png",0,-5],"qx/decoration/Modern/tabview/tab-button-right-active-tl.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-right-active-tb-combined.png",0,-15],"qx/decoration/Modern/tabview/tab-button-right-active-tr.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-right-active-tb-combined.png",0,-10],"qx/decoration/Modern/tabview/tab-button-right-active.png":[22,47,"png","track"],"qx/decoration/Modern/tabview/tab-button-right-inactive-b.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-right-inactive-b-combined.png",0,-3],"qx/decoration/Modern/tabview/tab-button-right-inactive-bl.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-right-inactive-b-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-right-inactive-br.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-right-inactive-b-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-right-inactive-c.png":[40,39,"png","track"],"qx/decoration/Modern/tabview/tab-button-right-inactive-l.png":[3,39,"png","track","qx/decoration/Modern/tabview-button-right-inactive-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-right-inactive-r.png":[3,39,"png","track","qx/decoration/Modern/tabview-button-right-inactive-lr-combined.png",-3,0],"qx/decoration/Modern/tabview/tab-button-right-inactive-t.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-right-inactive-t-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-right-inactive-tl.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-right-inactive-t-combined.png",0,-3],"qx/decoration/Modern/tabview/tab-button-right-inactive-tr.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-right-inactive-t-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-right-inactive.png":[20,45,"png","track"],"qx/decoration/Modern/tabview/tab-button-top-active-b.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-top-active-tb-combined.png",0,-20],"qx/decoration/Modern/tabview/tab-button-top-active-bl.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-top-active-tb-combined.png",0,-15],"qx/decoration/Modern/tabview/tab-button-top-active-br.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-top-active-tb-combined.png",0,-10],"qx/decoration/Modern/tabview/tab-button-top-active-c.png":[40,14,"png","track"],"qx/decoration/Modern/tabview/tab-button-top-active-l.png":[5,12,"png","track","qx/decoration/Modern/tabview-button-top-active-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-top-active-r.png":[5,12,"png","track","qx/decoration/Modern/tabview-button-top-active-lr-combined.png",-5,0],"qx/decoration/Modern/tabview/tab-button-top-active-t.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-top-active-tb-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-top-active-tl.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-top-active-tb-combined.png",0,-25],"qx/decoration/Modern/tabview/tab-button-top-active-tr.png":[5,5,"png","track","qx/decoration/Modern/tabview-button-top-active-tb-combined.png",0,-5],"qx/decoration/Modern/tabview/tab-button-top-active.png":[48,22,"png","track"],"qx/decoration/Modern/tabview/tab-button-top-inactive-b.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-top-inactive-b-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-top-inactive-bl.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-top-inactive-b-combined.png",0,-3],"qx/decoration/Modern/tabview/tab-button-top-inactive-br.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-top-inactive-b-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-top-inactive-c.png":[40,15,"png","track"],"qx/decoration/Modern/tabview/tab-button-top-inactive-l.png":[3,15,"png","track","qx/decoration/Modern/tabview-button-top-inactive-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-top-inactive-r.png":[3,15,"png","track","qx/decoration/Modern/tabview-button-top-inactive-lr-combined.png",-3,0],"qx/decoration/Modern/tabview/tab-button-top-inactive-t.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-top-inactive-t-combined.png",0,-3],"qx/decoration/Modern/tabview/tab-button-top-inactive-tl.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-top-inactive-t-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-top-inactive-tr.png":[3,3,"png","track","qx/decoration/Modern/tabview-button-top-inactive-t-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-top-inactive.png":[45,21,"png","track"],"qx/decoration/Modern/tabview/tabview-pane-b.png":[30,30,"png","track","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-60],"qx/decoration/Modern/tabview/tabview-pane-bl.png":[30,30,"png","track","qx/decoration/Modern/tabview-pane-tb-combined.png",0,0],"qx/decoration/Modern/tabview/tabview-pane-br.png":[30,30,"png","track","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-120],"qx/decoration/Modern/tabview/tabview-pane-c.png":[40,120,"png","track"],"qx/decoration/Modern/tabview/tabview-pane-l.png":[30,2,"png","track","qx/decoration/Modern/tabview-pane-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tabview-pane-r.png":[30,2,"png","track","qx/decoration/Modern/tabview-pane-lr-combined.png",-30,0],"qx/decoration/Modern/tabview/tabview-pane-t.png":[30,30,"png","track","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-150],"qx/decoration/Modern/tabview/tabview-pane-tl.png":[30,30,"png","track","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-30],"qx/decoration/Modern/tabview/tabview-pane-tr.png":[30,30,"png","track","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-90],"qx/decoration/Modern/tabview/tabview-pane.png":[185,250,"png","track"],"qx/decoration/Modern/toolbar-combined.png":[80,130,"png","qx"],"qx/decoration/Modern/toolbar/toolbar-gradient-blue.png":[40,130,"png","track","qx/decoration/Modern/toolbar-combined.png",-40,0],"qx/decoration/Modern/toolbar/toolbar-gradient.png":[40,130,"png","track","qx/decoration/Modern/toolbar-combined.png",0,0],"qx/decoration/Modern/toolbar/toolbar-handle-knob.gif":[1,8,"gif","track"],"qx/decoration/Modern/toolbar/toolbar-part.gif":[7,1,"gif","track"],"qx/decoration/Modern/tooltip-error-lr-combined.png":[12,18,"png","qx"],"qx/decoration/Modern/tooltip-error-tb-combined.png":[6,36,"png","qx"],"qx/decoration/Modern/tree-combined.png":[32,8,"png","qx"],"qx/decoration/Modern/tree/closed-selected.png":[8,8,"png","track","qx/decoration/Modern/tree-combined.png",-24,0],"qx/decoration/Modern/tree/closed.png":[8,8,"png","track","qx/decoration/Modern/tree-combined.png",-16,0],"qx/decoration/Modern/tree/open-selected.png":[8,8,"png","track","qx/decoration/Modern/tree-combined.png",-8,0],"qx/decoration/Modern/tree/open.png":[8,8,"png","track","qx/decoration/Modern/tree-combined.png",0,0],"qx/decoration/Modern/window-captionbar-buttons-combined.png":[108,9,"png","qx"],"qx/decoration/Modern/window-captionbar-lr-active-combined.png":[12,9,"png","qx"],"qx/decoration/Modern/window-captionbar-lr-inactive-combined.png":[12,9,"png","qx"],"qx/decoration/Modern/window-captionbar-tb-active-combined.png":[6,36,"png","qx"],"qx/decoration/Modern/window-captionbar-tb-inactive-combined.png":[6,36,"png","qx"],"qx/decoration/Modern/window-statusbar-lr-combined.png":[8,7,"png","qx"],"qx/decoration/Modern/window-statusbar-tb-combined.png":[4,24,"png","qx"],"qx/decoration/Modern/window/captionbar-active-b.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-18],"qx/decoration/Modern/window/captionbar-active-bl.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-24],"qx/decoration/Modern/window/captionbar-active-br.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-12],"qx/decoration/Modern/window/captionbar-active-c.png":[40,9,"png","track"],"qx/decoration/Modern/window/captionbar-active-l.png":[6,9,"png","track","qx/decoration/Modern/window-captionbar-lr-active-combined.png",-6,0],"qx/decoration/Modern/window/captionbar-active-r.png":[6,9,"png","track","qx/decoration/Modern/window-captionbar-lr-active-combined.png",0,0],"qx/decoration/Modern/window/captionbar-active-t.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-6],"qx/decoration/Modern/window/captionbar-active-tl.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,0],"qx/decoration/Modern/window/captionbar-active-tr.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-30],"qx/decoration/Modern/window/captionbar-active.png":[69,21,"png","track"],"qx/decoration/Modern/window/captionbar-inactive-b.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-24],"qx/decoration/Modern/window/captionbar-inactive-bl.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-6],"qx/decoration/Modern/window/captionbar-inactive-br.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-30],"qx/decoration/Modern/window/captionbar-inactive-c.png":[40,9,"png","track"],"qx/decoration/Modern/window/captionbar-inactive-l.png":[6,9,"png","track","qx/decoration/Modern/window-captionbar-lr-inactive-combined.png",0,0],"qx/decoration/Modern/window/captionbar-inactive-r.png":[6,9,"png","track","qx/decoration/Modern/window-captionbar-lr-inactive-combined.png",-6,0],"qx/decoration/Modern/window/captionbar-inactive-t.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,0],"qx/decoration/Modern/window/captionbar-inactive-tl.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-12],"qx/decoration/Modern/window/captionbar-inactive-tr.png":[6,6,"png","track","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-18],"qx/decoration/Modern/window/captionbar-inactive.png":[69,21,"png","track"],"qx/decoration/Modern/window/close-active-hovered.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-27,0],"qx/decoration/Modern/window/close-active.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-9,0],"qx/decoration/Modern/window/close-inactive.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-90,0],"qx/decoration/Modern/window/maximize-active-hovered.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-18,0],"qx/decoration/Modern/window/maximize-active.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-81,0],"qx/decoration/Modern/window/maximize-inactive.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-54,0],"qx/decoration/Modern/window/minimize-active-hovered.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-63,0],"qx/decoration/Modern/window/minimize-active.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-72,0],"qx/decoration/Modern/window/minimize-inactive.png":[9,9,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-36,0],"qx/decoration/Modern/window/restore-active-hovered.png":[9,8,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",0,0],"qx/decoration/Modern/window/restore-active.png":[9,8,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-99,0],"qx/decoration/Modern/window/restore-inactive.png":[9,8,"png","track","qx/decoration/Modern/window-captionbar-buttons-combined.png",-45,0],"qx/decoration/Modern/window/statusbar-b.png":[4,4,"png","track","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-16],"qx/decoration/Modern/window/statusbar-bl.png":[4,4,"png","track","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-20],"qx/decoration/Modern/window/statusbar-br.png":[4,4,"png","track","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-4],"qx/decoration/Modern/window/statusbar-c.png":[40,7,"png","track"],"qx/decoration/Modern/window/statusbar-l.png":[4,7,"png","track","qx/decoration/Modern/window-statusbar-lr-combined.png",-4,0],"qx/decoration/Modern/window/statusbar-r.png":[4,7,"png","track","qx/decoration/Modern/window-statusbar-lr-combined.png",0,0],"qx/decoration/Modern/window/statusbar-t.png":[4,4,"png","track","qx/decoration/Modern/window-statusbar-tb-combined.png",0,0],"qx/decoration/Modern/window/statusbar-tl.png":[4,4,"png","track","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-8],"qx/decoration/Modern/window/statusbar-tr.png":[4,4,"png","track","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-12],"qx/decoration/Modern/window/statusbar.png":[369,15,"png","track"],"qx/icon/Tango/16/actions/dialog-cancel.png":[16,16,"png","track"],"qx/icon/Tango/16/actions/dialog-ok.png":[16,16,"png","track"],"qx/icon/Tango/16/actions/media-record.png":[16,16,"png","track"],"qx/icon/Tango/16/actions/view-refresh.png":[16,16,"png","track"],"qx/icon/Tango/16/actions/window-close.png":[16,16,"png","track"],"qx/icon/Tango/16/apps/office-calendar.png":[16,16,"png","track"],"qx/icon/Tango/16/apps/preferences-clock.png":[16,16,"png","track"],"qx/icon/Tango/16/apps/utilities-color-chooser.png":[16,16,"png","track"],"qx/icon/Tango/16/mimetypes/office-document.png":[16,16,"png","track"],"qx/icon/Tango/16/places/folder-open.png":[16,16,"png","track"],"qx/icon/Tango/16/places/folder.png":[16,16,"png","track"],"qx/icon/Tango/22/mimetypes/office-document.png":[22,22,"png","track"],"qx/icon/Tango/22/places/folder-open.png":[22,22,"png","track"],"qx/icon/Tango/22/places/folder.png":[22,22,"png","track"],"qx/icon/Tango/32/mimetypes/office-document.png":[32,32,"png","track"],"qx/icon/Tango/32/places/folder-open.png":[32,32,"png","track"],"qx/icon/Tango/32/places/folder.png":[32,32,"png","track"],"qx/static/blank.gif":[1,1,"gif","track"]},"translations":{"C":{},"de":{" (local)":" Lokalzeit"," - click me to see current location":"- bitte klicken um die aktuelle Position zu sehen"," deg":" °","%1":"%1","%1 Test":"%1 Test","%1 devices":"%1 Geräte","%1 found":"%1 gefunden","%1 is not my buddy anymore":"%1 ist nicht mehr unser Gruppenmitglied","%1 is validated":"%1 funktioniert","%1 matches found":"%1 Treffer","%1 of %2 rows":"%1 von %2 Zeilen","%1 plot data read ...":"%1 Diagrammdaten gelesen ...","%1 rows":"%1 Zeilen","(Buddy has empty permissions)":"(Initial ohne Rechte)","(Not logged in)":"(Nicht angemeldet)",", TK5000 only":", nur TK5000","<<Enter Text>>":"<<Text eingeben>>","<New Geofence>":"<Neuer Geozaun>","<New Rule>":"<Neue Regel Anlegen>","<New home view>":"<Neue Heimansicht>","<b>%1</b> is in power saving mode (sleeping)":"<b>%1</b> ist im Stromsparmodus (schlafend)","<b>%1</b> is offline":"<b>%1</b> ist nicht erreichbar","<b>%1</b> is online":"<b>%1</b> ist verbunden","<b>%1</b> is online but has no GPS signal":"<b>%1</b> ist verbunden aber ohne GPS Signal","<b>%1</b>: Access history tracks and configure track-colors and icons":"Alte Ortungsdaten von <b>%1</b>, Ortungsfarbe und Icons","<b><font color='#FF0000'>Unexpected</font></b> %1":"<b><font color='#FF0000'>Unerwartete Antwort</b> %1","<b><font color='green'>Configuration is saved</font></b>":"<b><font color='green'>Konfiguration ist gespeichert worden</font></b>","<b><font color='green'>Rule is deleted</font></b>":"<b><font color='green'>Die Regel wurde gelöscht</font></b>","<b><font color='green'>Success.</font></b>":"<b><font color='green'>Erledigt.</font></b>","<b><font color='green'>Success</font></b> %1":"<b><font color='green'>Geändert</font></b> %1","<b><font color='green'>The rule '%1' is saved.</font></b><p>The tracker is configured accordingly, please check the xSMS window for tracker responses.</p>":"<b><font color='green'>Die Regel '%1' ist abgespeichert worden.</font></b><p>Falls erforderlich, wurden an den Tracker Konfigurationsänderungen gesendet.<br />Bitte prüfen Sie die Trackerantworten im xSMS Fenster links unten.</p>","<b><font color='red'>Only the newest and uncomfirmed %1 results are shown</font></b>":"<b><font color='red'>Es gibt noch mehr unbestätigte Ereignisse, nur die %1 neuesten werden gezeigt</font></b>","<b>Add Buddy</b>":"<b>Hinzufügen</b>","<b>Create</b>":"Anlegen","<b>Delete Geofence</b>":"<b>Geozaun löschen</b>","<b>Delete</b>":"<b>Löschen</b>","<b>Destroy %1</b>":"<b>Lösche %1</b>","<b>Good Bye From %1!</b><br /><br /><b>The account %2 is destroyed</b><br />Thanks for having used %1.":"<b>Auf Wiedersehen!</b><br /><br /><b>Der Zugang %2 ist mit allen Daten gelöscht</b><br />Vielen Dank für Ihre Zeit mit %1.","<b>Key</b>":"<b>Schlüssel</b>","<b>Modify</b>":"Ändern","<b>Save</b>":"<b>Sichern</b>","<b>Value</b>":"<b>Wert</b>","<b>Welcome to %1 Web Tracking</b>":"<b>Herzlich Willkommen beim %1 Web Tracking</b>","<p><font color='green'>Note:</font> For tracker of types like 'TK2000' and 'TK5000' no such SMS costs arise if they are online.</p>":"<p><font color='green'>Hinweis:</font> Für die Trackermodelle TK2000 und TK5000 entstehen, falls diese online sind, keine solche SMS Kosten.</p>","<p><font color='red'>Caution:</font> Disable sleep mode (power save mode) if configured, otherwise this rule has no effect.</p>":"<p><font color='red'>Achtung:</font> Falls Sie einen Schlafmodus aktiviert haben schalten Sie diesen bitte aus. Sonst wirkt diese Regel nicht.</p>","<p><font color='red'>Caution:</font> For this tracker type your SIM card on the tracker is charged. It is caused when the tracker sends the configuration SMS responses. The SMS send by the portal are free of charge as specified in your contract.</p>":"<p><font color='red'>Achtung:</font> Es entstehen beim TK102 Trackermodell SMS Kosten für Ihre SIM Karte auf dem Tracker. Diese entstehen durch die Konfigurationsantwort-SMS. Die SMS welche vom Portal gesendet werden, sind entsprechend Ihrem Vertrag, kostenlos.</p>","<p><font color='red'>Caution:</font> Please provide an email address so we can remember you about the deactivation after an alarm has fired.</p>":"<p><font color='red'>Wichtig:</font> Bitte geben Sie eine Emailadresse an damit wir Sie nach Auslösung des Alarms über die Deaktivierung informieren können.</p>","<p>Do you still want to save and activate the rule?</p>":"Wollen Sie die Alarmregel nun speichern und aktivieren?","<p>Get a %1 account: <a href='http://watchee.net/watchee/register.jsp' target='_blank'>Register</a></p>":"<p>Registrieren Sie sich für einen %1 Zugang: <a href='http://watchee.net/watchee/register.jsp' target='_blank'>Registrieren</a></p>","Account":"Benutzerkonto","Account added":"Benutzerkonto wurde hinzugefuegt","Account can't be removed for public users":"Das Gastkonto kann nicht gelöscht werden","Account changed":"Benutzerkonto wurde gespeichert","Account details":"Kontodaten","Account-Details":"Konto-Details","Activate sleeping mode (power save)":"Schlafmodus aktivieren","Active:":"Konto ist aktiv?","Add DeviceMapping %1":"Tracker '%1' hinzufügen","Add New Buddy":"Gruppenmitglied hinzufügen","Add a device:":"Tracker hinzufügen?","Add account failed with empty data":"Hinzufügen des Konto gibt leere Daten zurück","Add account failed: %1 %2":"Konnte Benutzerkonto nicht hinzufügen: %1 %2","Add deviceMapping failed: %1 %2":"Konnte Tracker nicht hinzufügen: %1 %2","Add new home views under Config":"Unter 'Konfiguration' (rechts vom Anmeldenamen) können Sie neue Heimansichten anlegen","Adding buddy %1":"Füge Gruppenmitglied %1 hinzu","Adding buddy %1 ...":"%1 hinzufügen ...","Adding buddy '%1' failed, please check the login name":"Hinzufügen von '%1' ist fehlgeschlagen, bitte prüfen Sie den Anmeldenamen","Adding get account login names failed: %1 %2":"Vorhandene Loginnamen konnten nicht geholt werden: %1 %2","Address":"Adresse","AdminEmail:":"Administrator Email:","AdminEmail: ":"Adminemail: ","Alarm":"Alarm","Alarm Event Handling":"Liste der Alarmereignisse","Alarm Events of %1":"Alarmereignisse von %1","Alarm Rules Filtered For %1":"Alarmregelen, nur für %1","Alarm type to use:":"Auslösender Alarm:","Alarm.de DE":"Alarm.de DE","Alarm:":"Alarm:","Alias name:":"Aliasname","Alias:":"Schöner Aliasname:","All Alarm Rules":"Alle Alarmregeln","Assign":"Zuweisen","Auto Tracking":"Ortungseinstellungen","Auto Wacht DE":"Auto Wacht DE","Automatic":"Automatisch","Automatic Confirmations":"Automatisches Entfernen","Automatically confirm new ones":"Neuen Alarm automatisch entfernen","Base rule, fallback if no rule applies":"Basisregel, Einstellung falls keine Regel wirkt","Basic":"Basic Tarif","Bat [V]":"Bat [V]","Battery is almost empty":"Batterie ist fast leer","Battery status is not known":"Der Batterieladezustand ist nicht bekannt","Binnenschiffer DE":"Binnenschiffer DE","Blue dot":"blauer Punkt","Bottom right (Long,Lat):":"Unten rechts (Länge/Breite):","Browser notification":"Alarm im Webbrowser","Buddies processed":"Gruppenmitglieder abgearbeitet","Buddy '%1' is removed already, but '%2' still has marked us as a friend":"Das Gruppenmitglied '%1' ist schon entfernt worden, aber '%2' hat uns immer noch als Gruppenmitglied eingetragen","Buddy Permissions":"Vergebene Rechte","CSV":"CSV","Calling %1 failed!<br /><br />Please configure a phone number for this device.":"Anrufen von %1 ist fehlgeschlagen!<br /><br />Bitte tragen Sie dessen Telefonnummer unter 'Schraubenschlüssel->Zeige Konfiguration' ein.","Cancel":"Abbruch","CellId/Mcc/Mnc/Lac:":"CellId/Mcc/Mnc/Lac:","Change Account":"Konto Ändern","Change Password":"Passwort ändern","Change Tracker Phone Number":"Geräte-Telefonnummer ändern","Change account":"Konto Ändern","Change name":"Name ändern","Change password":"Ändere Passwort","Change permission":"Ändere Rechte","Change persistently (survive device restart)":"Dauerhaft ändern (überlebt Geräteneustart)","Change track appearance and load old tracks":"Darstellung der Route verändern und alte Routen laden","Changing Password ...":"Ändere Passwort ...","Changing account data for %1 failed":"Kontoänderungen für %1 konnten nicht gespeichert werden","Changing account for %1 ...":"Ändere Kontodaten von %1 ...","Changing password failed for %1:<br />%2":"Das Ändern der Passwortes für '%1' ist fehlgeschlagen:<br />%2","Changing phone number is available only for blackbox trackers":"Die Telefonnummer des Gerätes kann zur Zeit nur bei 'blackbox' Trackern geändert werden","Charged":"Geladen","Choose Devices":"Geräte wählen","Choose Geofence:":"Geozaun wählen:","Choose rule:":"Regel wählen:","Click to display centered auto-tracking data on the map or Right-Click to not center":"Klick: Senden von Ortungsdaten anschalten (blau) / Rechter-Klick: Ortungsdaten zentrieren die Karte nicht (grün)","Click to show device position on the map or Right-Click to avoid zooming in":"Klick: Geräteposition auf der Karte zeigen und hineinzoomen / Rechter-Klick: Position zentrieren ohne Zoom","Click to stop auto-tracking on the map or Shift-Click to avoid centering":"Klick: Senden von Ortungsdaten ausschalten / Umschalt-Klick: Ortungsdaten zentrieren Karte nicht (grün)","Click to stop auto-tracking on the map or Shift-Click to center":"Klick: Senden von Ortungsdaten ausschalten / Umschalt-Klick: Ortungsdaten zentrieren die Karte wenn nötig (blau)","Click: Sort by alias name / Shift-Click: Sort by login name":"Klick: Sortierung nach Aliasname / Umschalt-Klick: Sortierung nach Loginname","Color Selector":"Farbauswahl","Color of segment":"Linienfarbe","Comfort":"Comfort Tarif","Command is send to %1 over SMS<br />The response will take about one minute, please wait<br /><br /><i>%2</i>":"Kommando ist an %1 gesendet worden.<br />Die SMS Antwort kann bis zu einer Minute dauern, bitte gedulden Sie sich einen Moment.<br /><br /><i>%2</i>","Command is send to %1<br /><br /><i>%2</i>":"Kommando ist an %1 gesendet worden<br /><br /><i>%2</i>","Comment":"Kommentar","Company":"Firma","Company:":"Firma:","Company: ":"Firma: ","Companyname:":"Firmenname:","Complete day":"Gilt für ganzen Tag","Config":"Konfiguration","Configuration":"Konfiguration","Configuration saved":"Die Einstellungen sind gespeichert worden","Configure <b>%1</b> relation and permissions":"Rechte für <b>%1</b> konfigurieren","Configure device":"Gerät Konfigurieren","Configure device of <b>%1</b>, change tracking rate and more":"Konfiguration von Tracker <b>%1</b>, Ändern des Sendeintervalls und mehr","Configure general settings":"Bearbeiten von globalen Einstellungen","Configure my settings":"Konfigurieren Sie ihre Einstellungen","Configure remotely the device of your buddy %1":"Fernkonfiguration des Gerätes von ihrem Gruppenmitglied %1","Configure remotely your device (mobile phone or PDA)":"Fernkonfiguration von ihrem Gerät (Handy,PDA,iPhone,Tracker)","Configure the display of your tracks and load history tracks":"Anzeige der Routen konfigurieren und alte Routen anschauen","Configure your remote device":"Konfigurieren Sie Ihre Tracker-Hardware","Configure your remote device (Shift-Click: Administrator mode)":"Konfigurieren Sie Ihre Tracker-Hardware (Umschalt+Klick: Administrator Modus)","Confirm":"Quittieren","Confirm All":"Alle entfernen","Confirm Selected":"Selektierte Alarmereignisse aus Liste entfernen","Confirm that you are aware of this alarm of %1":"Alarm von %1 wurde zur Kenntnis genommen","Course [°]":"Richtung [°]","Course in °":"Fahrtrichtung [°]","Course/Height:":"Fahrtrichtung/Höhe:","Course:":"Fahrtrichtung:","Creating plot ...":"Baue Diagramm ...","Creation of map frame failed":"Fehler beim Erstellen der Karte","Current Position":"Aktuelle Position","Currently in sleep mode":"Momentan im Schlafmodus","Currently normal operation":"Momentan Normalbetrieb","Customize home views":"Heimansichten bearbeiten","Czech cs":"Tschechisch cs","DANGER (all data is destroyed)":"WARNUNG (alle Daten werden gelöscht)","Date":"Datum","Date (local)":"Datum (lokal)","Date/Time:":"Datum/Uhrzeit","Date:":"Datum:","Delete":"Löschen","Delete Account":"Konto Löschen","Delete track":"Route löschen","Destroying your account ...<p>Note: This can take half an hour depending on the amount of data you have</p><br />Please be patient ...":"Ihr Zugang wird zerstört ...<p>Bitte beachten Sie: Dies kann, je nach Datenmenge, bis zu einer halben Stunde dauern.</p><br />Bitte gedulden Sie sich etwas ...","Details":"Details","Device":"GPS-Gerät","Device <b>%1</b> is off-line":"Gerät <b>%1</b> ist nicht erreichbar","Device <b>%1</b> is off-line or you have no permissions":"Gerät <b>%1</b> ist nicht erreichbar oder Sie haben keine Rechte","Device <b>%1</b> is off-line, getting last known configuration":"Das Gerät <b>%1</b> ist nicht verbunden, wir verwenden die zuletzt bekannte Konfiguration","Device Command":"Kommando","Device Configuration":"Konfiguration","Device is charged by external power supply [%1 %2%]":"Das Gerät wird von externer Spannungsquelle versorgt [%1 %2%]","Device is charged by external power supply [%1 %2V]":"Das Gerät wird von externer Spannungsquelle versorgt [%1 %2V]","Device phone number for SMS sending":"Telefonnummer des Gerätes für SMS Konfigurationsnachrichten","Device shall send tracking data":"Gerät soll Ortungsdaten zum Server senden","Device:":"Gerät:","DeviceMapping added":"Tracker hinzugefügt","DeviceMapping added with null response":"DeviceMapping mit NULL Antwort?!","DeviceMapping didn't exist":"Tracker ist unbekannt","DeviceMapping removed":"Tracker wurde gelöscht","DeviceMapping removed with null response":"DeviceMapping mit NULL Antwort enfernt?!","DeviceMapping saved":"Trackerdaten wurden gespeichert","Diagram":"Diagramm","Disabled for this account":"Ist für diesen Account nicht möglich","Do you really want to destroy permanently track <br /><b>%1</b> with %2 locations?":"Wollen Sie wirklich unwiderruflich die Route <br /><b>%1</b> mit %2 Positionen löschen?","Do you really want to destroy permanently your account <br /><b>%1</b>?":"Wollen Sie wirklich permanent Ihr Konto und all Ihre Daten löschen <br /><b>%1</b>?","Drawing %1":"Zeichne %1","Edit alarm rules":"Alarmregeln bearbeiten","Elite Sportcars AT":"Elite Sportcars AT","Email is send to %1, please check your email account":"Die Email wurde an %1 gesendet, bitte prüfen Sie nun ob die Email dort angekommen ist","Email notification":"Benachrichtigung per Email","Email:":"Email-Adresse:","End Date":"Enddatum","End-Date:":"Ablaufdatum:","English en":"Englisch en","Enter sleepmode":"Tracker hat in den Schlafmodus gewechselt","Enterprise":"Enterprise Tarif","Error: <font color='red'>%1</font>":"Fehler: <font color='red'>%1</font>","Established a GPRS socket connection":"Verbindung zum Tracker aufgebaut","Export":"Export","External power supply available":"Externe Spannung OK","External power supply lost":"Externe Spannung verloren","Filter":"Datumsfilter","First name:":"Vorname:","Forstware":"Forstware","Friday":"Freitag","From":"Von","From: ":"Von: ","From: %1":"Von: %1","GPS-ZIP DE":"GPS-ZIP DE","GPSvision":"GPSvision","Gender:":"Geschlecht:","Geofence":"Geozäune","Geofence %1":"Geozaun '%1' speichern","Geofence details":"Geozaun-Details","Geofence enter":"Geozaun betreten","Geofence enter or leave":"Geozaun betreten oder verlassen","Geofence leave":"Geozaun verlassen","Geofence name:":"Geozaunname:","Geofence to use:":"Verwendeter Geozaun:","German Austria de_AT":"Deutsch/Österreich de_AT","German Switzerland de_CH":"Deutsch/Schweiz de_CH","German de_DE":"Deutsch de_DE","Get %1-device configuration":"Hole %1 Tracker-Konfiguration","Get DeviceMapping %1":"Hole Tracker '%1'","Get account %1":"Hole Konto %1","Get account failed: %1 %2":"Konnte Kontodaten nicht holen: %1 %2","Get account list":"Hole Kontoliste","Get alarm events":"Hole Alarmereignisse","Get buddies":"Hole Gruppenmitglieder","Get current configuration from device":"Hole aktuelle Konfiguration vom Gerät","Get device command list":"Hole Tracker-Kommandoliste","Get deviceMapping failed: %1 %2":"Konnte Tracker nicht laden: %1 %2","Get friend of":"Lade Gruppenmitgliedschaft","Get geofences":"Lade Geozäune","Get locations":"Lade Positionen","Get locations failed":"Ladefehler","Get locations failed: %1 %2":"Positionen konnten nicht abgefragt werden: %1 %2","Get locations timeout":"Zeitüberschreitung","Get locations timeout, no data to show":"Zeitüberschreitung, keine Datenanzeige","Get permissions":"Hole Rechte","Get track names for %1":"Lade Routenliste für %1","Got valid GPS signal":"GPS Signal wieder OK","Granted to '%1'":"Erlaubt für '%1'","Green arrow":"grüner Pfeil","Green dot":"grüner Punkt","HSB":"HSB","Height [m]":"Höhe [m]","Height in m":"Höhe über Meer [m]","Height:":"Höhe:","Here you can configure your account":"Hier können Sie ihr Konto Ändern","Here you can configure your buddy %1 and give permissions":"Hier können Sie Kontodaten von '%1' Ändern und Rechte vergeben","Here you can see tracks of your buddy %1":"Hier sehen Sie die Routen von '%1'","Hex":"Hex","Hide":"Verstecken","Hiding %1":"Ausradieren von %1","Home view":"Heimansicht","Hungarian hu":"Ungarisch hu","IMEI:":"IMEI:","Icons to show":"Anzahl Symbole","Ignoring received 'alarmChanged' of unknown device %1: %2":"Die erhaltene Alarmmeldung 'alarmChanged' von unbekanntem Gerät %1 wird ignoriert: %2","Ignoring received command list for device %1":"Die erhaltene Kommandoliste von %1 wird ignoriert","Ignoring received command list of unknown device %1":"Die erhaltene Kommandoliste des unbekannten Gerätes %1 wird ignoriert","Ignoring received properties of unknown device %1":"Wir ignorieren die erhaltenen Konfigurationsdaten vom unbekannten Gerät '%1'","Ignoring unknown NMEA data '%1'":"Wir ignorieren die unbekannten Positionsdaten von '%1'","Ignoring unknown message '%1'":"Wir ignorieren die unbekannte Meldung von '%1'","Info":"Alarmregel","Info ":"Info","Info:":"Sonstige Info:","Internet Explorer is not supported, please use the free <a href='http://www.mozilla.com' target='_blank'>Firefox</a>":"Internet Explorer wird nicht unterstützt, bitte benutzen Sie den kostenlosen <a href='http://www.mozilla.com' target='_blank'>Firefox</a>","Invalid IMEI (15 digits expected): %1":"Ungültige IMEI (15-stellige Nummer): '%1'","Invalid email '%1', example 'order@gpsvision.de'":"Ungültige Emailadresse '%1'; Beispiel 'order@gpsvision.de'","Invalid end date '%1', example '2009-09-28'":"Ungültiges Enddatum '%1', Beispiel '2009-09-28'","Invalid loginName '%1', example 'mueller' (at least 5 chars)":"Ungültiger loginName '%1', z.B. 'mueller' (mindestens 5 kleine Buchstaben)","Invalid portal password: %1":"Ungültiges Portalpasswort '%1'","Invalid tracker password: %1":"Ungültiges Trackerpasswort '%1'","Invalid tracker phone number '%1'":"Ungültige Trackertelefonnummer '%1'","Invalid tracker phone number '%1', example '+49157734054'":"Ungültige Tracker Telefonnummer '%1'. Beispiel '+49157734054'","Jetski AT":"Jetski AT","KML":"KML","Language:":"Sprache:","Last month":"Vorheriger Monat","Last name:":"Nachname:","Last year":"Vorheriges Jahr","Lat / Lon":"Breite/Länge","Latitude":"Länge","Latitude/Longitude:":"Breite/Länge:","Latitude:":"Breite:","Left click: Remove our relation; Right click: Remove all relations between %1":"Linke Maustaste: Unsere Rechte löschen; Rechte Maustaste: Alle Beziehungen mit %1 löschen","Link to google maps:":"Link nach Google-Maps:","Load":"Laden","Load from device":"Lade Daten vom Gerät","Loading ...":"Laden ...","Loading data for %1":"Lade Daten für %1","Loading home view failed: %1":"Das Laden der Heimansicht war nicht möglich: %1","Location of %1 is not known<br />Try start tracking first":"Postition von %1 ist nicht verfügbar<br /> Starten Sie das Senden von Ortungsdaten auf dem Tracker","Logged in as %1":"Angemeldet als %1","Login":"Anmelden","Login failed, please check your user name and password<br /><br /><b>%1</b>":"Anmeldung fehlgeschlagen, bitte prüfen Sie Ihren Namen (korrekte Groß/Kleinschreibung) und Ihr Passwort<br /><br /><b>%1</b>","Login failed, your maximum allowed login sessions are exhausted, please log out properly in future and wait some minutes to try again":"Anmeldung fehlgeschlagen, die maximale Anzahl gleichzeitiger Anmeldungen ist erschöpft. Bitte melden Sie sich immer mit dem Button ab. Probieren Sie in ein paar Minuten wieder.","Login is denied please check your login name and your password.":"Die Anmeldung war nicht möglich, bitte überprüfen Sie Ihren Anmeldenamen und das Passwort.","Login is denied please check your login name.":"Die Anmeldung war nicht möglich, bitte überprüfen Sie Ihren Anmeldenamen.","Login is denied please check your your password.":"Die Anmeldung war nicht möglich, bitte überprüfen Sie Ihr Passwort.","Login is not possible, the account is expired.":"Die Anmeldung ist nicht möglich, die Nutzungsdauer für das Benutzerkonto ist abgelaufen.","Login is not possible, the account is not active any more.":"Die Anmeldung ist nicht möglich, das Benutzerkonto ist deaktiviert.","Login name":"Anmeldename","Login name of buddy (case sensitive):":"Loginname des Gruppenmitgliedes (exakte Schreibweise):","Login name:":"Loginname:","Login problem":"Anmeldefehler","Login to server failed":"Die Anmeldung ist fehlgeschlagen.","Login:":"Loginname:","Logout":"Abmelden","Logout problem":"Abmeldefehler","Longitude":"Breite","Longitude:":"Länge:","Lost GPS signal":"GPS Signal verloren","Lost server because of server maintenance, please try again later.":"Die Verbindung zum Server wurde wegen Wartungsarbeiten unterbrochen,<br />bitte probieren Sie es später wieder.","Lost the GPRS socket connection":"Verbindung zum Tracker verloren","Magicmaps DE":"Magicmaps DE","Make Phone Call:":"Anrufen:","Make a phone call to %1 (%2) using your phone %3":"Telefonanruf an %1 (%2) tätigen. Verwendet Ihr Telefon %3","Manage":"Bearbeiten","Manage Alarms":"Alarmereignisse Verwalten","Manage geofence definitions":"Geozaundefinitionen verwalten","Map":"Karte","Monday":"Montag","Mr.":"Herr","Mrs.":"Frau","My device avatar, configure attributes and add buddies":"Mein Logo. Konfiguration von Attributen und Anlegen von Gruppenmitgliedern","My online/battery status":"Batterie- & Onlinestatus sehen","Netwake":"Netwake","New name":"Neuer Name","New password:":"Neues Passwort","Next month":"Nächster Monat","Next year":"Nächstes Jahr","No":"Nein","No alarm":"Kein Alarm","No matching rule found":"Es wurde keine passende Regel gefunden","No password change for public users":"Keine Passwort änderung für Gäste","No permission to change configuration of %1":"Sie haben keine Erlaubnis %1 zu konfigurieren","No permission to change tracking rate for public users":"Keine Rechte um Ortungsrate von öffentlichen Benutzern zu ändern","No permission to configure alarms of %1":"Sie haben keine Erlaubnis die Alarme von %1 zu konfigurieren","No permission to confirm alarms for %1":"Keine Erlaubnis die Alarme von %1 zu entfernen","No permission to see alarms of %1":"Keine Erlaubnis die Alarme von %1 zu sehen","No permission to send SMS for public users":"Sie haben keine Erlaubnis für den SMS Versand","No permission to view alarms of %1":"Sie haben keine Erlaubnis die Alarmereignisse von '%1' zu sehen","No position found to display on map":"Die Position ist unbekannt, deswegen keine Anzeige auf der Karte","No track 'changeSelected' for %1":"Interner Fehler: Route %1 bei 'changeSelected' existiert nicht","No tracking data found":"Keine Daten im Zeitraum","No tracking data found in the given time range":"Es wurden keine Positionsdaten im gewählten Zeitraum gefunden","No, I want to revise it":"Nein, überarbeiten","Nothing destroyed, you are still a <i>%1</i> user":"Keine Daten gelöscht, Sie sind immer noch ein <i>%1</i> Nutzer.","OEM:":"OEM Partner:","OK":"OK","Ok":"Ok","Old password:":"Altes Passwort","On/Off tracking on remote device:":"Ein/Ausschalten der Ortungsdatenübertragung","One device":"Gerät","Open ColorSelector":"Öffne Farbauswahl","Overall Distance:":"Gesamte Distanz:","Password":"Passwort","Password / Account":"Passwort / Konto","Password:":"Passwort:","Permission:":"Tarif:","Permissions I have got from '%1'":"Von '%1' gewährte Rechte","Phone call request to %1 (%2) is send to your device %3<br /><br />Please check your phone.":"Telefonnummeranwahl an %1 (%2) ist an das Handy %3 gesendet worden.<br /><br />Bitte verwenden Sie nun Ihr Telefon.","Phone number:":"Benutzer-Telefonnummer:","Phonenumber:":"Telefonnummer des Trackers:","Photo":"Foto","Ping intervall seconds:":"Prüfintervall Sekunden:","Pink dot":"pinker Punkt","Please check %1 alarms":"Bitte kontrollieren Sie %1 Alarmereignisse","Please check one alarm":"Bitte kontrollieren Sie das Alarmereignis","Please choose a destination address.":"Bitte wählen Sie einen Empfänger","Please choose a device first":"Bitte wählen Sie zuerst ein Gerät aus","Please choose a device.":"Bitte wählen Sie einen Tracker","Please enter a nick name to identify yourself<br /><i>for example 'Freddy', more than 3 characters, you can't change it during this session!</i>":"Bitte geben Sie einen Spitzname für Ihre Identität an<br /><i>zum Beispiel 'Markus', mehr als 3 Buchstaben, nicht änderbar während dieser Sitzung!</i>","Please enter a unique name for the new rule":"Bitte tragen Sie einen eindeutigen Namen für die neue Regel ein","Please enter a valid SMS phone number +49175... to test":"Bitte geben Sie eine gültige SMS Telefonnummer an, diese muss mit '+49' anfangen, z.B. '+4915100000","Please enter a valid email address to test":"Bitte geben Sie eine oder mehrere gültige Emailadresse ein","Please enter geofence name":"Bitte geben Sie einen eindeutigen Geozaunnamen ein","Please enter the buddy login name, the name is case sensitive.":"Bitte geben Sie den Namen des Gruppenmitgliedes ein","Please enter the command to send to the phone<br /><i>for example 'doAction: xb start; gps start; tracking start'</i>":"Bitte geben Sie das Kommand für das Handy an<br /><i>z.B. 'doAction: xb start; gps start; tracking start'</i>","Please enter the phone number of your tracker in a valid format like '+491751111'":"Bitte geben Sie die Geräte-Telefonnummer in einem gültigen Format an. Beispiel: '+491751111'","Please login first.":"Bitte loggen Sie sich zuerst ein","Please reload the battery [%1 %2%]":"Bitte laden Sie die Batterie [%1 %2%]","Please reload the battery [%1 %2V]":"Bitte laden Sie die Batterie [%1 %2V]","Please select the day and time for this rule":"Bitte stellen Sie die Tage und die Zeiten für die Regel ein","Plot created (%1)":"Diagram geladen (%1)","Plot data %1/%2 ...":"Lade Diagramm %1/%2 ...","Power Save Mode":"Stromsparmodus","Power available [%1 %2%]":"Batterieladezustand ist OK [%1 %2%]","Power available [%1 %2V]":"Batterieladezustand ist OK [%1 %2V]","Power down delay seconds:":"Schlafmodus Verzögerung in Sekunden","Presets":"Voreinstellungen","Preview (Old/New)":"Vorschau (alt/neu)","Processing returnQosOrException failure":"Fehler beim Bearbeiten von returnQosOrException","Professional":"Professional Tarif","Question":"Frage","RGB":"RGB","Raw configure device %1":"Administrative Pflege vom Tracker %1","Re-type new password:":"Neues Passwort nochmal","Received %1":"%1 geladen","Received %1 buddies":"%1 Gruppenmitglieder erhalten","Received %1 friendOf":"%1 Gruppenmitgliedschaften erhalten","Received at":"Empfangen am","Red dot":"roter Punkt","Refresh":"Aktualisieren","Relation to %1 is destroyed":"Alle Beziehungen mit %1 sind gelöscht","Remote configure device of %1":"Fernkonfiguration von Tracker %1","Remove DeviceMapping %1":"Entferne Tracker '%1'","Remove account":"Lösche Konto","Remove buddy %1":"Gruppenmitglied %1 entfernen","Remove deviceMapping failed: %1 %2":"Tracker konnte nicht gelöscht werden: %1 %2","Remove geofence %1":"Geozaun '%1' löschen","Remove rule %1":"Löschen von %1","Removing buddy %1":"Lösche Gruppenmitglied %1","Rendering %1 buddies":"Zeichne %1 Gruppenmitglieder","Rendering buddy %1/%2":"Zeichne Gruppenmitglied %1/%2","Reset column widths":"Spaltenbreite zurücksetzen","Resize":"Größenanpassung","Rule %1":"Regel %1","Rule Definitions":"Alarmregeln","Rule Type":"Regeltyp","Rule name:":"Name der Regel:","Rules":"Alarmregeln","SIMNET CZ":"SIMNET CZ","SMS is send to %1, please check if application comes online in the next minutes.<br /><br />If not, check the battery status and GSM reception of your mobile phone":"Die SMS ist an %1 gesendet worden, die Anwendung sollte innerhalb weniger Minuten online sein.<br /><br />Falls nicht, prüfen Sie den Batterieladezustand, den GSM Netzempfang und das Guthaben.","SMS is send to %1, please check your mobile phone":"SMS wurde an die Telefonnummer %1 gesendet<br />Bitte prüfen Sie nun am Handy ob die SMS ankommt","SMS notification":"Benachrichtigung per SMS","SOS button pressed":"SOS Knopf gedrückt","Saturday":"Samstag","Save":"Speichern","Save Display Settings":"Gewählte Symbole und Farben speichern","Save all changes":"Alles speichern","Save rule %1":"Regel %1 speichern","Save settings":"Änderungen abspeichern","Save the changes made for %1":"Änderungen für %1 speichern","Save track settings for next login session?":"Sollen die Farben und Symbole für die nächste Anmeldung abgespeichert werden?","Scheduled task":"Terminauftrag","See alarms":"Alarme sehen","See history tracks":"Alte Routen sehen","Segments to show":"Anzahl Linienabschnitte","Select home view":"Heimansicht auswählen","Send":"Senden","Send Alarm To":"Alarm senden an ...","Send SMS":"SMS versenden","Send SMS to device %1":"SMS senden an %1","Send all":"Sende alle","Send command to device":"Sende Kommando an Tracker","Send location if heading changes more than (degrees):":"Sende Position falls Richtungsänderung größer als [°]","Send messages to me":"Meldungen an mich Senden","Send new tracking rate for %1":"Neue Ortungsrate für %1 gesendet","Send new tracking rate for %1.<br/><b>Note: The buddy is offline</b>":"Sende neue Ortungsrate für %1.<br/><b>Achtung: %1 ist momentan nicht erreichbar</b>","Send on course change of":"Sende bei Richtungsänderung größer als","Sending Emails is for customers only":"Das Senden von Emails ist nur für Kunden möglich","Sending SMS is for customers only":"Das Senden von SMS ist nur für Kunden möglich","Sending SMS to %1 failed!<br /><br />Please configure a phone number for this device.":"SMS konnte nicht an %1 gesendet werden!<br /><br />Bitte tragen Sie die Gerätetelefonnummer ein.","Sending a message:":"Nachricht senden","Sending sleeping (power save) mode configuration for %1":"Schlafmodus Konfiguration für %1 wird gesendet","Sending sleeping (power save) mode configuration for %1.<br/><b>Note: The buddy is offline</b>":"Sende Schlafmoduskonfiguration an %1","Server Exception":"Server Fehler","Server Exception during login, please try again.":"Server Fehler während dem Anmelden, bitte probieren Sie erneut.","Server Exception, %1 failed":"Server Fehler, %1 ist abgebrochen worden","Server Exception: Login failed, please check your user name and password<br /><br /><b>%1</b>":"Server Fehler: Die Anmeldung ist fehlgeschlagen, bitte prüfen Sie Ihren Namen (korrekte Groß/Kleinschreibung) und Ihr Passwort<br /><br /><b>%1</b>","Settings of %1":"Einstellungen von %1","Show":"Zeigen","Show Tracks":"Zeige Routen","Show my position":"Position zeigen","Showing track failed":"Routenanzeige fehlgeschlagen","Sleeping Mode":"Schlafmodus","Sorry, can't call myself.":"Ich kann mich selbst leider nicht anrufen.","Sortable column":"Klick: Spalte wird sortiert","Speed (km/h) for which max tracking rate applies:":"Max Geschwindigkeit für obiges Intervall [km/h]","Speed km/h":"Geschwindigkeit [km/h]","Speed km/h:":"Geschwindigkeit km/h:","Speed, Height and Course":"Alle Daten anzeigen","Speed:":"Geschwindigkeit:","Start Date":"Anfangsdatum","Start Tracking":"Ortungsdaten Senden","Start command (xb start; gps start):":"Start-Kommando (xb start; gps start):","Start/Stop tracking <b>%1</b> on the map":"Start/Stop - Tracken von <b>%1</b> auf der Karte","Statistic":"Statistiken","Statistic Report":"Statistische Auswertung","Statistic is not available, please contact the support":"Statistiken sind nicht verfügbar, bitte wenden Sie sich an den Support","Stop Tracking":"Ortung Stoppen","Stop command (xb stop; gps stop):":"Stopp-Kommando (xb stop; gps stop):","Subject: %1":"Betreff: %1","Submit":"Bestätigen","Successfully changed account data for %1":"Kontodaten von %1 wurden geändert","Successfully changed password for %1":"Das Passwort für %1 wurde geändert","Sunday":"Sonntag","TK102/TK2000 SMS command:":"TK102/TK2000 SMS Befehl:","Table":"Tabelle","Table data %1/%2 ...":"Tabelle lade %1/%2 ...","Table loaded (%1)":"Tabelle geladen (%1)","Test":"Test","Test Mail From Portal":"Test-Email vom Portal","The buddy avatar, configure permissions":"Gruppenmitgliedstatus und Rechtevergabe","The color of the track":"Farbe der Linien","The geofence can't be removed, please remove the referencing rule(s) first":"Der Geozaun kann nicht gelöscht werden da er noch in ein einer Alarmregel verwendet wird","The home view <b>%1</b> has been deleted":"Die Heimansicht <b>%1</b> wurde gelöscht","The home view <b>%1</b> has been modified":"Die Heimansicht <b>%1</b> wurde geändert","The home view <b>%1</b> has been succesfully created":"Die neue Heimansicht <b>%1</b> wurde gespeichert","The home view <b>%1</b> has been succesfully modified and renamed to <b>%2</b>":"Die Heimansicht <b>%1</b> wurde geändert und umbenannt in <b>%2</b>","The min. speed (km/h) for heading change detection:":"Min Geschwindigkeit für Richtungsänderungserkennung [km/h]","The new permissions are saved":"Die neuen Rechte sind gespeichert","The settings are stored permanently: %1":"Die Einstellungen sind gespeichert worden: %1","The unique device name":"Der eindeutige Gerätename","The web server is under maintenance, we log out now. Please try again later.":"Die Verbindung zum Webserver wurde wegen Wartungsarbeiten unterbrochen,<br />bitte probieren Sie es später wieder.<p>Wir bitten um Ihr Verstädnis.</p>","This account does not support changing of rules":"Dieses Benutzerkonto erlaubt kein Ändern von Regeln","This home view name is too long":"Der Name der Heimansicht ist zu lang (max. 20 Zeichen)","This home view name is too short":"Der Name der Heimansicht ist zu kurz","Thursday":"Donnerstag","Time:":"Uhrzeit:","Timeout":"Zeitüberschreitung","Timeout, no response after %1 sec":"Kein Antwort nach %1 Sekunden","To":"An","To: ":"An: ","To: %1":"An: %1","Track Display Settings":"Ortungs Anzeigeeinstellungen","Track Name [%1]":"Routenname [%1]","Track Name [...]":"Routenname [...]","Track Name [NO PERM]":"Routenname [Keine Erlaubnis]","Track every given second at max speed:":"Ortungsintervall bei max Geschwindigkeit [sec]","Track every given second at min speed:":"Ortungsintervall bei min Geschwindigkeit [sec]","Track every given second when standstill (heartbeat):":"Ortungsintervall bei Stillstand (Herzschlag) [sec]","Track now":"Ortungsdaten Anzeigen","Track:":"Route:","Tracker connection lost":"Verbindung zum Tracker verloren","Tracker is moved away from last fix":"Tracker hat sich von letzten Standort wegbewegt","Tracker is outside allowed speed":"Die Trackergeschwindigkeit ist außerhalb des erlaubten Bereiches","Tracker is sending locations with GPRS":"Tracker sendet seine Position über schnelles GPRS","Tracker is sending locations with SMS":"Tracker sendet seine Position über normale SMS","Tracking Icon":"Routensymbol","Tracking Rate":"Ortungsrate","Tracking Rate On Alarm":"Ortungsrate nach Alarmauslösung","Trial Access":"Testzugang","Tuesday":"Dienstag","Type":"Alarmtyp","Type:":"Typ:","Unknown rule type":"Unbekannte Regel","Until: ":"Bis: ","Upper Left (Long,Lat):":"Oben links (Länge/Breite):","User Admin":"Kontoadministration","User Administration":"Benutzeradministration","Vector":"Vektor","Video-Help":"Videohilfe","View Configuration":"Zeige Konfiguration","Visual":"Visuell","Wake up command":"Kommando zum Starten","Waking up from sleepmode":"Tracker ist vom Schlafmodus aufgewacht","Watchee":"Watchee","Wednesday":"Mittwoch","Width of segment":"Linienbreite (Pixel)","XSMS-From:":"XSMS Absender:","XSMS-Message:":"XSMS Text:","XSMS-Send-Date:":"XSMS Sendedatum:","XSMS-To:":"XSMS Empfänger:","Y-Axis":"Y-Achse","Yellow dot":"gelber Punkt","Yes":"Ja","Yes, save it":"Ja, speichern","You have <b>no</b> permission to see alarms":"Sie haben <b>keine</b> Erlaubnis die Alarmereignisse zu sehen","You have <b>no</b> permission to see current location":"Sie haben <b>keine</b> Erlaubnis die aktuelle Position zu sehen","You have <b>no</b> permission to see history tracks":"Sie haben <b>keine</b> Erlaubnis die alten Routen zu sehen","You have <b>no</b> permission to see online status":"Sie haben <b>keine</b> keine Rechte um den Onlinestatus zu sehen","You have <b>no</b> permission to track <b>%1</b> on the map":"Sie haben <b>keine</b> Rechte um <b>%1</b> auf der Karte zu tracken","You have <b>no</b> permission to track on the map":"Sie haben <b>keine</b> Erlaubnis zur Routenverfolgung","You have no permission get history track %1 for  %2":"Sie haben keine Berechtigung die Positionen %1 von %2 zu sehen","You have no permission to change the device phone number":"Sie haben keine Erlaubnis die Telefonnummer des Tracker zu ändern","You have no permission to load device configuration":"Sie haben keine Rechte um die Geräteeinstellungen abzufragen","You have no permission to see location of %1":"Sie haben keine Rechte um die Position von %1 zu sehen","You have no permission to switch on or off tracking":"Sie haben keine Erlaubnis die Ortung an- oder auszuschalten","You have not permission to configure %1":"Sie haben keine Erlaubnis das Gerät %1 zu konfigurieren","You have permission to see current location":"Aktuelle Position darf gesehen werden","You have permission to see history tracks":"Die alten Routen dürfen aufgerufen werden","You new password must be at least 5 characters long":"Ihr neues Passwort muss mindestens 5 Zeichen enthalten","Your 're-type'  password is different, please enter again":"Die Eingaben des neuen Passworts sind unterschiedlich","Your buddy <b>%1</b> is offline":"<b>%1</b> ist nicht erreichbar","Your buddy <b>%1</b> is online %2":"Ihr Gruppenmitglied <b>%1</b> ist online %2","Your command to send":"Kommando wird auf dem Handy ausgeführt","Your email address %1 is validated":"Ihre Emailadresse %1 funktioniert","Your old password is not correct":"Ihr altes Passwort ist nicht korrekt","Your password is not correct":"Ihr Passwort stimmt nicht","Your request '%1' failed":"Anfrage '%1' ist fehlgeschlagen","Your sender nick-name":"Ihr Aliasname","Zeppelin":"Zeppelin","Zoom level":"Zoomfaktor","[new account]":"[Neues Konto Anlegen]","[new company]":"[Neue Firma Anlegen]","a position":"eine Position","assert: TrackGui.getTracks() is called without loginName":"Interner Fehler: TrackGui.getTracks() Aufruf ohne loginName","cleverID DE":"cleverID DE","degree a position":"Grad eine Position","h":"h","is a new name":"Ist ein neuer Name","km":"km","m":"m","min":"Min","one of one row":"Eine von einer Zeile","one row":"Eine Zeile","sec":"Sek","v [km/h]":"v [km/h]","xSMS":"xSMS","xSMS is send to %1<br /><i>%2</i>":"Meldung wurde an %1 gesendet<br /><i>%2</i>"},"en":{"Login name":"Login name","Password":"Password"},"fr":{"%1 of %2 rows":"ligne %1 de %2","%1 rows":"%1 lignes","Automatic":"Automatique","Cancel":"Annuler","Color Selector":"Sélecteur de couleurs","Details":"Détails","HSB":"TSV","Hex":"Hex","Last month":"Mois dernier","Last year":"Année dernière","Next month":"Mois prochain","Next year":"Année prochaine","OK":"OK","Open ColorSelector":"Ouvrir le sélecteur de couleurs","Presets":"Pré-réglages","Preview (Old/New)":"Aperçu (Ancien/Nouveau)","RGB":"RVB","Reset column widths":"Réinitialiser la largeur des colonnes","one of one row":"ligne une de une","one row":"une ligne"}}};
(function(){var r="toString",q=".",p="default",o="Object",n='"',m="Array",k="()",j="String",h="Function",g=".prototype",Q="function",P="Boolean",O="Error",N="constructor",M="warn",L="hasOwnProperty",K="string",J="toLocaleString",I="RegExp",H='\", "',y="info",z="BROKEN_IE",w="isPrototypeOf",x="Date",u="",v="qx.Bootstrap",s="]",t="Class",A="error",B="[Class ",D="valueOf",C="Number",F="count",E="debug",G="ES5";
if(!window.qx){window.qx={};
}qx.Bootstrap={genericToString:function(){return B+this.classname+s;
},createNamespace:function(name,bQ){var bS=name.split(q);
var parent=window;
var bR=bS[0];

for(var i=0,bT=bS.length-1;i<bT;i++,bR=bS[i]){if(!parent[bR]){parent=parent[bR]={};
}else{parent=parent[bR];
}}parent[bR]=bQ;
return bR;
},setDisplayName:function(bq,br,name){bq.displayName=br+q+name+k;
},setDisplayNames:function(bl,bm){for(var name in bl){var bn=bl[name];

if(bn instanceof Function){bn.displayName=bm+q+name+k;
}}},define:function(name,bA){if(!bA){var bA={statics:{}};
}var bF;
var bD=null;
qx.Bootstrap.setDisplayNames(bA.statics,name);

if(bA.members||bA.extend){qx.Bootstrap.setDisplayNames(bA.members,name+g);
bF=bA.construct||new Function;

if(bA.extend){this.extendClass(bF,bF,bA.extend,name,bE);
}var bB=bA.statics||{};
for(var i=0,bG=qx.Bootstrap.getKeys(bB),l=bG.length;i<l;i++){var bH=bG[i];
bF[bH]=bB[bH];
}bD=bF.prototype;
var bC=bA.members||{};
for(var i=0,bG=qx.Bootstrap.getKeys(bC),l=bG.length;i<l;i++){var bH=bG[i];
bD[bH]=bC[bH];
}}else{bF=bA.statics||{};
}var bE=this.createNamespace(name,bF);
bF.name=bF.classname=name;
bF.basename=bE;
bF.$$type=t;
if(!bF.hasOwnProperty(r)){bF.toString=this.genericToString;
}if(bA.defer){bA.defer(bF,bD);
}qx.Bootstrap.$$registry[name]=bA.statics;
return bF;
}};
qx.Bootstrap.define(v,{statics:{LOADSTART:qx.$$start||new Date(),createNamespace:qx.Bootstrap.createNamespace,define:qx.Bootstrap.define,setDisplayName:qx.Bootstrap.setDisplayName,setDisplayNames:qx.Bootstrap.setDisplayNames,genericToString:qx.Bootstrap.genericToString,extendClass:function(bt,bu,bv,name,bw){var bz=bv.prototype;
var by=new Function;
by.prototype=bz;
var bx=new by;
bt.prototype=bx;
bx.name=bx.classname=name;
bx.basename=bw;
bu.base=bt.superclass=bv;
bu.self=bt.constructor=bx.constructor=bt;
},getByName:function(name){return qx.Bootstrap.$$registry[name];
},$$registry:{},objectGetLength:({"count":function(ck){return ck.__count__;
},"default":function(bh){var length=0;

for(var bi in bh){length++;
}return length;
}})[(({}).__count__==0)?F:p],objectMergeWith:function(b,c,d){if(d===undefined){d=true;
}
for(var e in c){if(d||b[e]===undefined){b[e]=c[e];
}}return b;
},__a:[w,L,J,r,D,N],getKeys:({"ES5":Object.keys,"BROKEN_IE":function(bV){var bW=[];
var bY=Object.prototype.hasOwnProperty;

for(var ca in bV){if(bY.call(bV,ca)){bW.push(ca);
}}var bX=qx.Bootstrap.__a;

for(var i=0,a=bX,l=a.length;i<l;i++){if(bY.call(bV,a[i])){bW.push(a[i]);
}}return bW;
},"default":function(bI){var bJ=[];
var bK=Object.prototype.hasOwnProperty;

for(var bL in bI){if(bK.call(bI,bL)){bJ.push(bL);
}}return bJ;
}})[typeof (Object.keys)==
Q?G:
(function(){for(var bs in {toString:1}){return bs;
}})()!==r?z:p],getKeysAsString:function(V){var W=qx.Bootstrap.getKeys(V);

if(W.length==0){return u;
}return n+W.join(H)+n;
},__b:{"[object String]":j,"[object Array]":m,"[object Object]":o,"[object RegExp]":I,"[object Number]":C,"[object Boolean]":P,"[object Date]":x,"[object Function]":h,"[object Error]":O},bind:function(cd,self,ce){var cf=Array.prototype.slice.call(arguments,2,arguments.length);
return function(){var bj=Array.prototype.slice.call(arguments,0,arguments.length);
return cd.apply(self,cf.concat(bj));
};
},firstUp:function(bd){return bd.charAt(0).toUpperCase()+bd.substr(1);
},firstLow:function(cb){return cb.charAt(0).toLowerCase()+cb.substr(1);
},getClass:function(ci){var cj=Object.prototype.toString.call(ci);
return (qx.Bootstrap.__b[cj]||cj.slice(8,-1));
},isString:function(f){return (f!==null&&(typeof f===K||qx.Bootstrap.getClass(f)==j||f instanceof String||(!!f&&!!f.$$isString)));
},isArray:function(bM){return (bM!==null&&(bM instanceof Array||(bM&&qx.data&&qx.data.IListData&&qx.Bootstrap.hasInterface(bM.constructor,qx.data.IListData))||qx.Bootstrap.getClass(bM)==m||(!!bM&&!!bM.$$isArray)));
},isObject:function(bU){return (bU!==undefined&&bU!==null&&qx.Bootstrap.getClass(bU)==o);
},isFunction:function(X){return qx.Bootstrap.getClass(X)==h;
},classIsDefined:function(name){return qx.Bootstrap.getByName(name)!==undefined;
},getPropertyDefinition:function(Y,name){while(Y){if(Y.$$properties&&Y.$$properties[name]){return Y.$$properties[name];
}Y=Y.superclass;
}return null;
},hasProperty:function(bg,name){return !!qx.Bootstrap.getPropertyDefinition(bg,name);
},getEventType:function(bk,name){var bk=bk.constructor;

while(bk.superclass){if(bk.$$events&&bk.$$events[name]!==undefined){return bk.$$events[name];
}bk=bk.superclass;
}return null;
},supportsEvent:function(ba,name){return !!qx.Bootstrap.getEventType(ba,name);
},getByInterface:function(bN,bO){var bP,i,l;

while(bN){if(bN.$$implements){bP=bN.$$flatImplements;

for(i=0,l=bP.length;i<l;i++){if(bP[i]===bO){return bN;
}}}bN=bN.superclass;
}return null;
},hasInterface:function(T,U){return !!qx.Bootstrap.getByInterface(T,U);
},getMixins:function(be){var bf=[];

while(be){if(be.$$includes){bf.push.apply(bf,be.$$flatIncludes);
}be=be.superclass;
}return bf;
},$$logs:[],debug:function(R,S){qx.Bootstrap.$$logs.push([E,arguments]);
},info:function(bb,bc){qx.Bootstrap.$$logs.push([y,arguments]);
},warn:function(cg,ch){qx.Bootstrap.$$logs.push([M,arguments]);
},error:function(bo,bp){qx.Bootstrap.$$logs.push([A,arguments]);
},trace:function(cc){}}});
})();
(function(){var n="qx.allowUrlSettings",m="&",l="qx.core.Setting",k="qx.allowUrlVariants",j="qx.propertyDebugLevel",h="qxsetting",g=":",f=".";
qx.Bootstrap.define(l,{statics:{__c:{},define:function(o,p){if(p===undefined){throw new Error('Default value of setting "'+o+'" must be defined!');
}
if(!this.__c[o]){this.__c[o]={};
}else if(this.__c[o].defaultValue!==undefined){throw new Error('Setting "'+o+'" is already defined!');
}this.__c[o].defaultValue=p;
},get:function(s){var t=this.__c[s];

if(t===undefined){throw new Error('Setting "'+s+'" is not defined.');
}
if(t.value!==undefined){return t.value;
}return t.defaultValue;
},set:function(q,r){if((q.split(f)).length<2){throw new Error('Malformed settings key "'+q+'". Must be following the schema "namespace.key".');
}
if(!this.__c[q]){this.__c[q]={};
}this.__c[q].value=r;
},__d:function(){if(window.qxsettings){for(var e in window.qxsettings){this.set(e,window.qxsettings[e]);
}window.qxsettings=undefined;

try{delete window.qxsettings;
}catch(a){}this.__e();
}},__e:function(){if(this.get(n)!=true){return;
}var d=document.location.search.slice(1).split(m);

for(var i=0;i<d.length;i++){var c=d[i].split(g);

if(c.length!=3||c[0]!=h){continue;
}this.set(c[1],decodeURIComponent(c[2]));
}}},defer:function(b){b.define(n,false);
b.define(k,false);
b.define(j,0);
b.__d();
}});
})();
(function(){var h="function",g="Boolean",f="qx.Interface",e="]",d="toggle",c="Interface",b="is",a="[Interface ";
qx.Bootstrap.define(f,{statics:{define:function(name,x){if(x){if(x.extend&&!(x.extend instanceof Array)){x.extend=[x.extend];
}{};
var y=x.statics?x.statics:{};
if(x.extend){y.$$extends=x.extend;
}
if(x.properties){y.$$properties=x.properties;
}
if(x.members){y.$$members=x.members;
}
if(x.events){y.$$events=x.events;
}}else{var y={};
}y.$$type=c;
y.name=name;
y.toString=this.genericToString;
y.basename=qx.Bootstrap.createNamespace(name,y);
qx.Interface.$$registry[name]=y;
return y;
},getByName:function(name){return this.$$registry[name];
},isDefined:function(name){return this.getByName(name)!==undefined;
},getTotalNumber:function(){return qx.Bootstrap.objectGetLength(this.$$registry);
},flatten:function(M){if(!M){return [];
}var N=M.concat();

for(var i=0,l=M.length;i<l;i++){if(M[i].$$extends){N.push.apply(N,this.flatten(M[i].$$extends));
}}return N;
},__f:function(j,k,m,n){var r=m.$$members;

if(r){for(var q in r){if(qx.Bootstrap.isFunction(r[q])){var p=this.__g(k,q);
var o=p||qx.Bootstrap.isFunction(j[q]);

if(!o){throw new Error('Implementation of method "'+q+'" is missing in class "'+k.classname+'" required by interface "'+m.name+'"');
}var s=n===true&&!p&&!qx.Bootstrap.hasInterface(k,m);

if(s){j[q]=this.__j(m,j[q],q,r[q]);
}}else{if(typeof j[q]===undefined){if(typeof j[q]!==h){throw new Error('Implementation of member "'+q+'" is missing in class "'+k.classname+'" required by interface "'+m.name+'"');
}}}}}},__g:function(z,A){var E=A.match(/^(is|toggle|get|set|reset)(.*)$/);

if(!E){return false;
}var B=qx.Bootstrap.firstLow(E[2]);
var C=qx.Bootstrap.getPropertyDefinition(z,B);

if(!C){return false;
}var D=E[0]==b||E[0]==d;

if(D){return qx.Bootstrap.getPropertyDefinition(z,B).check==g;
}return true;
},__h:function(F,G){if(G.$$properties){for(var H in G.$$properties){if(!qx.Bootstrap.getPropertyDefinition(F,H)){throw new Error('The property "'+H+'" is not supported by Class "'+F.classname+'"!');
}}}},__i:function(O,P){if(P.$$events){for(var Q in P.$$events){if(!qx.Bootstrap.supportsEvent(O,Q)){throw new Error('The event "'+Q+'" is not supported by Class "'+O.classname+'"!');
}}}},assertObject:function(t,u){var w=t.constructor;
this.__f(t,w,u,false);
this.__h(w,u);
this.__i(w,u);
var v=u.$$extends;

if(v){for(var i=0,l=v.length;i<l;i++){this.assertObject(t,v[i]);
}}},assert:function(I,J,K){this.__f(I.prototype,I,J,K);
this.__h(I,J);
this.__i(I,J);
var L=J.$$extends;

if(L){for(var i=0,l=L.length;i<l;i++){this.assert(I,L[i],K);
}}},genericToString:function(){return a+this.name+e;
},$$registry:{},__j:function(){},__k:null,__l:function(){}}});
})();
(function(){var j="qx.Mixin",h=".prototype",g="constructor",f="[Mixin ",e="]",d="destruct",c="Mixin";
qx.Bootstrap.define(j,{statics:{define:function(name,w){if(w){if(w.include&&!(w.include instanceof Array)){w.include=[w.include];
}{};
var y=w.statics?w.statics:{};
qx.Bootstrap.setDisplayNames(y,name);

for(var x in y){if(y[x] instanceof Function){y[x].$$mixin=y;
}}if(w.construct){y.$$constructor=w.construct;
qx.Bootstrap.setDisplayName(w.construct,name,g);
}
if(w.include){y.$$includes=w.include;
}
if(w.properties){y.$$properties=w.properties;
}
if(w.members){y.$$members=w.members;
qx.Bootstrap.setDisplayNames(w.members,name+h);
}
for(var x in y.$$members){if(y.$$members[x] instanceof Function){y.$$members[x].$$mixin=y;
}}
if(w.events){y.$$events=w.events;
}
if(w.destruct){y.$$destructor=w.destruct;
qx.Bootstrap.setDisplayName(w.destruct,name,d);
}}else{var y={};
}y.$$type=c;
y.name=name;
y.toString=this.genericToString;
y.basename=qx.Bootstrap.createNamespace(name,y);
this.$$registry[name]=y;
return y;
},checkCompatibility:function(k){var o=this.flatten(k);
var p=o.length;

if(p<2){return true;
}var s={};
var r={};
var q={};
var n;

for(var i=0;i<p;i++){n=o[i];

for(var m in n.events){if(q[m]){throw new Error('Conflict between mixin "'+n.name+'" and "'+q[m]+'" in member "'+m+'"!');
}q[m]=n.name;
}
for(var m in n.properties){if(s[m]){throw new Error('Conflict between mixin "'+n.name+'" and "'+s[m]+'" in property "'+m+'"!');
}s[m]=n.name;
}
for(var m in n.members){if(r[m]){throw new Error('Conflict between mixin "'+n.name+'" and "'+r[m]+'" in member "'+m+'"!');
}r[m]=n.name;
}}return true;
},isCompatible:function(t,u){var v=qx.Bootstrap.getMixins(u);
v.push(t);
return qx.Mixin.checkCompatibility(v);
},getByName:function(name){return this.$$registry[name];
},isDefined:function(name){return this.getByName(name)!==undefined;
},getTotalNumber:function(){return qx.Bootstrap.objectGetLength(this.$$registry);
},flatten:function(a){if(!a){return [];
}var b=a.concat();

for(var i=0,l=a.length;i<l;i++){if(a[i].$$includes){b.push.apply(b,this.flatten(a[i].$$includes));
}}return b;
},genericToString:function(){return f+this.name+e;
},$$registry:{},__m:null,__n:function(){}}});
})();
(function(){var dn=';',dm="boolean",dl='return this.',dk="string",dj="",di="setThemed",dh='!==undefined)',dg="this.",df="set",de="resetThemed",cS="setRuntime",cR="init",cQ='else if(this.',cP="resetRuntime",cO="reset",cN="();",cM='else ',cL='if(this.',cK="return this.",cJ="get",dv=";",dw="(a[",dt=' of an instance of ',du="refresh",dr=' is not (yet) ready!");',ds="]);",dp='qx.lang.Type.isString(value) && qx.util.ColorUtil.isValidPropertyValue(value)',dq='value !== null && qx.theme.manager.Font.getInstance().isDynamic(value)',dx='value !== null && value.nodeType === 9 && value.documentElement',dy='value !== null && value.$$type === "Mixin"',cW='return init;',cV='var init=this.',cY='value !== null && value.nodeType === 1 && value.attributes',cX="var parent = this.getLayoutParent();",db="Error in property ",da="property",dd='qx.core.Assert.assertInstance(value, Date, msg) || true',dc="if (!parent) return;",cU=" in method ",cT='qx.core.Assert.assertInstance(value, Error, msg) || true',bJ='Undefined value is not allowed!',bK="inherit",bL='Is invalid!',bM="MSIE 6.0",bN="': ",bO=" of class ",bP='value !== null && value.nodeType !== undefined',bQ='value !== null && qx.theme.manager.Decoration.getInstance().isValidPropertyValue(value)',bR='qx.core.Assert.assertPositiveInteger(value, msg) || true',bS='if(init==qx.core.Property.$$inherit)init=null;',dC='value !== null && value.$$type === "Interface"',dB='var inherit=prop.$$inherit;',dA="var value = parent.",dz="$$useinit_",dG="(value);",dF=".",dE="$$runtime_",dD='Requires exactly one argument!',dI="$$user_",dH='qx.core.Assert.assertArray(value, msg) || true',cs='qx.core.Assert.assertPositiveNumber(value, msg) || true',ct=".prototype",cq="Boolean",cr='return value;',cw='if(init==qx.core.Property.$$inherit)throw new Error("Inheritable property ',cx='Does not allow any arguments!',cu="()",cv="var a=arguments[0] instanceof Array?arguments[0]:arguments;",co='value !== null && value.$$type === "Theme"',cp="())",cb='return null;',ca='qx.core.Assert.assertObject(value, msg) || true',cd='qx.core.Assert.assertString(value, msg) || true',cc="if (value===undefined) value = parent.",bW='value !== null && value.$$type === "Class"',bV='qx.core.Assert.assertFunction(value, msg) || true',bY="on",bX="object",bU="$$init_",bT="$$theme_",cC='qx.core.Assert.assertMap(value, msg) || true',cD="qx.aspects",cE='qx.core.Assert.assertNumber(value, msg) || true',cF='Null value is not allowed!',cy='qx.core.Assert.assertInteger(value, msg) || true',cz="value",cA="rv:1.8.1",cB="shorthand",cG='qx.core.Assert.assertInstance(value, RegExp, msg) || true',cH='value !== null && value.type !== undefined',cl='value !== null && value.document',ck='throw new Error("Property ',cj="(!this.",ci='qx.core.Assert.assertBoolean(value, msg) || true',ch="toggle",cg="$$inherit_",cf=" with incoming value '",ce="a=qx.lang.Array.fromShortHand(qx.lang.Array.fromArguments(a));",cn="qx.core.Property",cm="is",cI='Could not change or apply init value after constructing phase!';
qx.Bootstrap.define(cn,{statics:{__o:{"Boolean":ci,"String":cd,"Number":cE,"Integer":cy,"PositiveNumber":cs,"PositiveInteger":bR,"Error":cT,"RegExp":cG,"Object":ca,"Array":dH,"Map":cC,"Function":bV,"Date":dd,"Node":bP,"Element":cY,"Document":dx,"Window":cl,"Event":cH,"Class":bW,"Mixin":dy,"Interface":dC,"Theme":co,"Color":dp,"Decorator":bQ,"Font":dq},__p:{"Node":true,"Element":true,"Document":true,"Window":true,"Event":true},$$inherit:bK,$$store:{runtime:{},user:{},theme:{},inherit:{},init:{},useinit:{}},$$method:{get:{},set:{},reset:{},init:{},refresh:{},setRuntime:{},resetRuntime:{},setThemed:{},resetThemed:{}},$$allowedKeys:{name:dk,dispose:dm,dereference:dm,inheritable:dm,nullable:dm,themeable:dm,refine:dm,init:null,apply:dk,event:dk,check:null,transform:dk,deferredInit:dm,validate:null},$$allowedGroupKeys:{name:dk,group:bX,mode:dk,themeable:dm},$$inheritable:{},__q:function(bG){var bH=this.__r(bG);

if(!bH.length){var bI=qx.lang.Function.empty;
}else{bI=this.__s(bH);
}bG.prototype.$$refreshInheritables=bI;
},__r:function(dU){var dW=[];

while(dU){var dV=dU.$$properties;

if(dV){for(var name in this.$$inheritable){if(dV[name]&&dV[name].inheritable){dW.push(name);
}}}dU=dU.superclass;
}return dW;
},__s:function(D){var H=this.$$store.inherit;
var G=this.$$store.init;
var F=this.$$method.refresh;
var E=[cX,dc];

for(var i=0,l=D.length;i<l;i++){var name=D[i];
E.push(dA,H[name],dv,cc,G[name],dv,dg,F[name],dG);
}return new Function(E.join(dj));
},refresh:function(ba){{};
ba.$$refreshInheritables();
},attachRefreshInheritables:function(w){w.prototype.$$refreshInheritables=function(){qx.core.Property.__q(w);
return this.$$refreshInheritables();
};
},attachMethods:function(bu,name,bv){bv.group?this.__t(bu,bv,name):this.__u(bu,bv,name);
},__t:function(bj,bk,name){var br=qx.Bootstrap.firstUp(name);
var bq=bj.prototype;
var bs=bk.themeable===true;
{};
var bt=[];
var bn=[];

if(bs){var bl=[];
var bp=[];
}var bo=cv;
bt.push(bo);

if(bs){bl.push(bo);
}
if(bk.mode==cB){var bm=ce;
bt.push(bm);

if(bs){bl.push(bm);
}}
for(var i=0,a=bk.group,l=a.length;i<l;i++){{};
bt.push(dg,this.$$method.set[a[i]],dw,i,ds);
bn.push(dg,this.$$method.reset[a[i]],cN);

if(bs){{};
bl.push(dg,this.$$method.setThemed[a[i]],dw,i,ds);
bp.push(dg,this.$$method.resetThemed[a[i]],cN);
}}this.$$method.set[name]=df+br;
bq[this.$$method.set[name]]=new Function(bt.join(dj));
this.$$method.reset[name]=cO+br;
bq[this.$$method.reset[name]]=new Function(bn.join(dj));

if(bs){this.$$method.setThemed[name]=di+br;
bq[this.$$method.setThemed[name]]=new Function(bl.join(dj));
this.$$method.resetThemed[name]=de+br;
bq[this.$$method.resetThemed[name]]=new Function(bp.join(dj));
}},__u:function(d,e,name){var g=qx.Bootstrap.firstUp(name);
var j=d.prototype;
{};
{};
if(e.dereference===undefined&&typeof e.check===dk){e.dereference=this.__v(e.check);
}var h=this.$$method;
var f=this.$$store;
f.runtime[name]=dE+name;
f.user[name]=dI+name;
f.theme[name]=bT+name;
f.init[name]=bU+name;
f.inherit[name]=cg+name;
f.useinit[name]=dz+name;
h.get[name]=cJ+g;
j[h.get[name]]=function(){return qx.core.Property.executeOptimizedGetter(this,d,name,cJ);
};
h.set[name]=df+g;
j[h.set[name]]=function(bi){return qx.core.Property.executeOptimizedSetter(this,d,name,df,arguments);
};
h.reset[name]=cO+g;
j[h.reset[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,d,name,cO);
};

if(e.inheritable||e.apply||e.event||e.deferredInit){h.init[name]=cR+g;
j[h.init[name]]=function(P){return qx.core.Property.executeOptimizedSetter(this,d,name,cR,arguments);
};
}
if(e.inheritable){h.refresh[name]=du+g;
j[h.refresh[name]]=function(k){return qx.core.Property.executeOptimizedSetter(this,d,name,du,arguments);
};
}h.setRuntime[name]=cS+g;
j[h.setRuntime[name]]=function(V){return qx.core.Property.executeOptimizedSetter(this,d,name,cS,arguments);
};
h.resetRuntime[name]=cP+g;
j[h.resetRuntime[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,d,name,cP);
};

if(e.themeable){h.setThemed[name]=di+g;
j[h.setThemed[name]]=function(bC){return qx.core.Property.executeOptimizedSetter(this,d,name,di,arguments);
};
h.resetThemed[name]=de+g;
j[h.resetThemed[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,d,name,de);
};
}
if(e.check===cq){j[ch+g]=new Function(cK+h.set[name]+cj+h.get[name]+cp);
j[cm+g]=new Function(cK+h.get[name]+cu);
}},__v:function(dJ){return !!this.__p[dJ];
},__w:function(O){return this.__p[O]||qx.Bootstrap.classIsDefined(O)||(qx.Interface&&qx.Interface.isDefined(O));
},__x:{0:cI,1:dD,2:bJ,3:cx,4:cF,5:bL},error:function(p,q,r,s,t){var u=p.constructor.classname;
var v=db+r+bO+u+cU+this.$$method[s][r]+cf+t+bN;
throw new Error(v+(this.__x[q]||"Unknown reason: "+q));
},__y:function(I,J,name,K,L,M){var N=this.$$method[K][name];
{J[N]=new Function(cz,L.join(dj));
};
if(qx.core.Variant.isSet(cD,bY)){J[N]=qx.core.Aspect.wrap(I.classname+dF+N,J[N],da);
}qx.Bootstrap.setDisplayName(J[N],I.classname+ct,N);
if(M===undefined){return I[N]();
}else{return I[N](M[0]);
}},executeOptimizedGetter:function(bb,bc,name,bd){var bf=bc.$$properties[name];
var bh=bc.prototype;
var be=[];
var bg=this.$$store;
be.push(cL,bg.runtime[name],dh);
be.push(dl,bg.runtime[name],dn);

if(bf.inheritable){be.push(cQ,bg.inherit[name],dh);
be.push(dl,bg.inherit[name],dn);
be.push(cM);
}be.push(cL,bg.user[name],dh);
be.push(dl,bg.user[name],dn);

if(bf.themeable){be.push(cQ,bg.theme[name],dh);
be.push(dl,bg.theme[name],dn);
}
if(bf.deferredInit&&bf.init===undefined){be.push(cQ,bg.init[name],dh);
be.push(dl,bg.init[name],dn);
}be.push(cM);

if(bf.init!==undefined){if(bf.inheritable){be.push(cV,bg.init[name],dn);

if(bf.nullable){be.push(bS);
}else if(bf.init!==undefined){be.push(dl,bg.init[name],dn);
}else{be.push(cw,name,dt,bc.classname,dr);
}be.push(cW);
}else{be.push(dl,bg.init[name],dn);
}}else if(bf.inheritable||bf.nullable){be.push(cb);
}else{be.push(ck,name,dt,bc.classname,dr);
}return this.__y(bb,bh,name,bd,be);
},executeOptimizedSetter:function(dK,dL,name,dM,dN){var dS=dL.$$properties[name];
var dR=dL.prototype;
var dP=[];
var dO=dM===df||dM===di||dM===cS||(dM===cR&&dS.init===undefined);
var dQ=dS.apply||dS.event||dS.inheritable;
var dT=this.__z(dM,name);
this.__A(dP,dS,name,dM,dO);

if(dO){this.__B(dP,dL,dS,name);
}
if(dQ){this.__C(dP,dO,dT,dM);
}
if(dS.inheritable){dP.push(dB);
}{};

if(!dQ){this.__E(dP,name,dM,dO);
}else{this.__F(dP,dS,name,dM,dO);
}
if(dS.inheritable){this.__G(dP,dS,name,dM);
}else if(dQ){this.__H(dP,dS,name,dM);
}
if(dQ){this.__I(dP,dS,name);
if(dS.inheritable&&dR._getChildren){this.__J(dP,name);
}}if(dO){dP.push(cr);
}return this.__y(dK,dR,name,dM,dP,dN);
},__z:function(bw,name){if(bw===cS||bw===cP){var bx=this.$$store.runtime[name];
}else if(bw===di||bw===de){bx=this.$$store.theme[name];
}else if(bw===cR){bx=this.$$store.init[name];
}else{bx=this.$$store.user[name];
}return bx;
},__A:function(by,bz,name,bA,bB){{if(!bz.nullable||bz.check||bz.inheritable){by.push('var prop=qx.core.Property;');
}if(bA==="set"){by.push('if(value===undefined)prop.error(this,2,"',name,'","',bA,'",value);');
}};
},__B:function(W,X,Y,name){if(Y.transform){W.push('value=this.',Y.transform,'(value);');
}if(Y.validate){if(typeof Y.validate==="string"){W.push('this.',Y.validate,'(value);');
}else if(Y.validate instanceof Function){W.push(X.classname,'.$$properties.',name);
W.push('.validate.call(this, value);');
}}},__C:function(Q,R,S,T){var U=(T==="reset"||T==="resetThemed"||T==="resetRuntime");

if(R){Q.push('if(this.',S,'===value)return value;');
}else if(U){Q.push('if(this.',S,'===undefined)return;');
}},__D:undefined,__E:function(bD,name,bE,bF){if(bE==="setRuntime"){bD.push('this.',this.$$store.runtime[name],'=value;');
}else if(bE==="resetRuntime"){bD.push('if(this.',this.$$store.runtime[name],'!==undefined)');
bD.push('delete this.',this.$$store.runtime[name],';');
}else if(bE==="set"){bD.push('this.',this.$$store.user[name],'=value;');
}else if(bE==="reset"){bD.push('if(this.',this.$$store.user[name],'!==undefined)');
bD.push('delete this.',this.$$store.user[name],';');
}else if(bE==="setThemed"){bD.push('this.',this.$$store.theme[name],'=value;');
}else if(bE==="resetThemed"){bD.push('if(this.',this.$$store.theme[name],'!==undefined)');
bD.push('delete this.',this.$$store.theme[name],';');
}else if(bE==="init"&&bF){bD.push('this.',this.$$store.init[name],'=value;');
}},__F:function(dY,ea,name,eb,ec){if(ea.inheritable){dY.push('var computed, old=this.',this.$$store.inherit[name],';');
}else{dY.push('var computed, old;');
}dY.push('if(this.',this.$$store.runtime[name],'!==undefined){');

if(eb==="setRuntime"){dY.push('computed=this.',this.$$store.runtime[name],'=value;');
}else if(eb==="resetRuntime"){dY.push('delete this.',this.$$store.runtime[name],';');
dY.push('if(this.',this.$$store.user[name],'!==undefined)');
dY.push('computed=this.',this.$$store.user[name],';');
dY.push('else if(this.',this.$$store.theme[name],'!==undefined)');
dY.push('computed=this.',this.$$store.theme[name],';');
dY.push('else if(this.',this.$$store.init[name],'!==undefined){');
dY.push('computed=this.',this.$$store.init[name],';');
dY.push('this.',this.$$store.useinit[name],'=true;');
dY.push('}');
}else{dY.push('old=computed=this.',this.$$store.runtime[name],';');
if(eb==="set"){dY.push('this.',this.$$store.user[name],'=value;');
}else if(eb==="reset"){dY.push('delete this.',this.$$store.user[name],';');
}else if(eb==="setThemed"){dY.push('this.',this.$$store.theme[name],'=value;');
}else if(eb==="resetThemed"){dY.push('delete this.',this.$$store.theme[name],';');
}else if(eb==="init"&&ec){dY.push('this.',this.$$store.init[name],'=value;');
}}dY.push('}');
dY.push('else if(this.',this.$$store.user[name],'!==undefined){');

if(eb==="set"){if(!ea.inheritable){dY.push('old=this.',this.$$store.user[name],';');
}dY.push('computed=this.',this.$$store.user[name],'=value;');
}else if(eb==="reset"){if(!ea.inheritable){dY.push('old=this.',this.$$store.user[name],';');
}dY.push('delete this.',this.$$store.user[name],';');
dY.push('if(this.',this.$$store.runtime[name],'!==undefined)');
dY.push('computed=this.',this.$$store.runtime[name],';');
dY.push('if(this.',this.$$store.theme[name],'!==undefined)');
dY.push('computed=this.',this.$$store.theme[name],';');
dY.push('else if(this.',this.$$store.init[name],'!==undefined){');
dY.push('computed=this.',this.$$store.init[name],';');
dY.push('this.',this.$$store.useinit[name],'=true;');
dY.push('}');
}else{if(eb==="setRuntime"){dY.push('computed=this.',this.$$store.runtime[name],'=value;');
}else if(ea.inheritable){dY.push('computed=this.',this.$$store.user[name],';');
}else{dY.push('old=computed=this.',this.$$store.user[name],';');
}if(eb==="setThemed"){dY.push('this.',this.$$store.theme[name],'=value;');
}else if(eb==="resetThemed"){dY.push('delete this.',this.$$store.theme[name],';');
}else if(eb==="init"&&ec){dY.push('this.',this.$$store.init[name],'=value;');
}}dY.push('}');
if(ea.themeable){dY.push('else if(this.',this.$$store.theme[name],'!==undefined){');

if(!ea.inheritable){dY.push('old=this.',this.$$store.theme[name],';');
}
if(eb==="setRuntime"){dY.push('computed=this.',this.$$store.runtime[name],'=value;');
}else if(eb==="set"){dY.push('computed=this.',this.$$store.user[name],'=value;');
}else if(eb==="setThemed"){dY.push('computed=this.',this.$$store.theme[name],'=value;');
}else if(eb==="resetThemed"){dY.push('delete this.',this.$$store.theme[name],';');
dY.push('if(this.',this.$$store.init[name],'!==undefined){');
dY.push('computed=this.',this.$$store.init[name],';');
dY.push('this.',this.$$store.useinit[name],'=true;');
dY.push('}');
}else if(eb==="init"){if(ec){dY.push('this.',this.$$store.init[name],'=value;');
}dY.push('computed=this.',this.$$store.theme[name],';');
}else if(eb==="refresh"){dY.push('computed=this.',this.$$store.theme[name],';');
}dY.push('}');
}dY.push('else if(this.',this.$$store.useinit[name],'){');

if(!ea.inheritable){dY.push('old=this.',this.$$store.init[name],';');
}
if(eb==="init"){if(ec){dY.push('computed=this.',this.$$store.init[name],'=value;');
}else{dY.push('computed=this.',this.$$store.init[name],';');
}}else if(eb==="set"||eb==="setRuntime"||eb==="setThemed"||eb==="refresh"){dY.push('delete this.',this.$$store.useinit[name],';');

if(eb==="setRuntime"){dY.push('computed=this.',this.$$store.runtime[name],'=value;');
}else if(eb==="set"){dY.push('computed=this.',this.$$store.user[name],'=value;');
}else if(eb==="setThemed"){dY.push('computed=this.',this.$$store.theme[name],'=value;');
}else if(eb==="refresh"){dY.push('computed=this.',this.$$store.init[name],';');
}}dY.push('}');
if(eb==="set"||eb==="setRuntime"||eb==="setThemed"||eb==="init"){dY.push('else{');

if(eb==="setRuntime"){dY.push('computed=this.',this.$$store.runtime[name],'=value;');
}else if(eb==="set"){dY.push('computed=this.',this.$$store.user[name],'=value;');
}else if(eb==="setThemed"){dY.push('computed=this.',this.$$store.theme[name],'=value;');
}else if(eb==="init"){if(ec){dY.push('computed=this.',this.$$store.init[name],'=value;');
}else{dY.push('computed=this.',this.$$store.init[name],';');
}dY.push('this.',this.$$store.useinit[name],'=true;');
}dY.push('}');
}},__G:function(A,B,name,C){A.push('if(computed===undefined||computed===inherit){');

if(C==="refresh"){A.push('computed=value;');
}else{A.push('var pa=this.getLayoutParent();if(pa)computed=pa.',this.$$store.inherit[name],';');
}A.push('if((computed===undefined||computed===inherit)&&');
A.push('this.',this.$$store.init[name],'!==undefined&&');
A.push('this.',this.$$store.init[name],'!==inherit){');
A.push('computed=this.',this.$$store.init[name],';');
A.push('this.',this.$$store.useinit[name],'=true;');
A.push('}else{');
A.push('delete this.',this.$$store.useinit[name],';}');
A.push('}');
A.push('if(old===computed)return value;');
A.push('if(computed===inherit){');
A.push('computed=undefined;delete this.',this.$$store.inherit[name],';');
A.push('}');
A.push('else if(computed===undefined)');
A.push('delete this.',this.$$store.inherit[name],';');
A.push('else this.',this.$$store.inherit[name],'=computed;');
A.push('var backup=computed;');
if(B.init!==undefined&&C!=="init"){A.push('if(old===undefined)old=this.',this.$$store.init[name],";");
}else{A.push('if(old===undefined)old=null;');
}A.push('if(computed===undefined||computed==inherit)computed=null;');
},__H:function(x,y,name,z){if(z!=="set"&&z!=="setRuntime"&&z!=="setThemed"){x.push('if(computed===undefined)computed=null;');
}x.push('if(old===computed)return value;');
if(y.init!==undefined&&z!=="init"){x.push('if(old===undefined)old=this.',this.$$store.init[name],";");
}else{x.push('if(old===undefined)old=null;');
}},__I:function(b,c,name){if(c.apply){b.push('this.',c.apply,'(computed, old, "',name,'");');
}if(c.event){b.push("var reg=qx.event.Registration;","if(reg.hasListener(this, '",c.event,"')){","reg.fireEvent(this, '",c.event,"', qx.event.type.Data, [computed, old]",")}");
}},__J:function(dX,name){dX.push('var a=this._getChildren();if(a)for(var i=0,l=a.length;i<l;i++){');
dX.push('if(a[i].',this.$$method.refresh[name],')a[i].',this.$$method.refresh[name],'(backup);');
dX.push('}');
}},defer:function(m){var o=navigator.userAgent.indexOf(bM)!=-1;
var n=navigator.userAgent.indexOf(cA)!=-1;
if(o||n){m.__v=m.__w;
}}});
})();
(function(){var s="emulated",r="native",q='"',p="qx.lang.Core",o="\\\\",n="\\\"",m="[object Error]";
qx.Bootstrap.define(p,{statics:{errorToString:{"native":Error.prototype.toString,"emulated":function(){return this.message;
}}[(!Error.prototype.toString||Error.prototype.toString()==m)?s:r],arrayIndexOf:{"native":Array.prototype.indexOf,"emulated":function(j,k){if(k==null){k=0;
}else if(k<0){k=Math.max(0,this.length+k);
}
for(var i=k;i<this.length;i++){if(this[i]===j){return i;
}}return -1;
}}[Array.prototype.indexOf?r:s],arrayLastIndexOf:{"native":Array.prototype.lastIndexOf,"emulated":function(g,h){if(h==null){h=this.length-1;
}else if(h<0){h=Math.max(0,this.length+h);
}
for(var i=h;i>=0;i--){if(this[i]===g){return i;
}}return -1;
}}[Array.prototype.lastIndexOf?r:s],arrayForEach:{"native":Array.prototype.forEach,"emulated":function(t,u){var l=this.length;

for(var i=0;i<l;i++){var v=this[i];

if(v!==undefined){t.call(u||window,v,i,this);
}}}}[Array.prototype.forEach?r:s],arrayFilter:{"native":Array.prototype.filter,"emulated":function(A,B){var C=[];
var l=this.length;

for(var i=0;i<l;i++){var D=this[i];

if(D!==undefined){if(A.call(B||window,D,i,this)){C.push(this[i]);
}}}return C;
}}[Array.prototype.filter?r:s],arrayMap:{"native":Array.prototype.map,"emulated":function(w,x){var y=[];
var l=this.length;

for(var i=0;i<l;i++){var z=this[i];

if(z!==undefined){y[i]=w.call(x||window,z,i,this);
}}return y;
}}[Array.prototype.map?r:s],arraySome:{"native":Array.prototype.some,"emulated":function(a,b){var l=this.length;

for(var i=0;i<l;i++){var c=this[i];

if(c!==undefined){if(a.call(b||window,c,i,this)){return true;
}}}return false;
}}[Array.prototype.some?r:s],arrayEvery:{"native":Array.prototype.every,"emulated":function(d,e){var l=this.length;

for(var i=0;i<l;i++){var f=this[i];

if(f!==undefined){if(!d.call(e||window,f,i,this)){return false;
}}}return true;
}}[Array.prototype.every?r:s],stringQuote:{"native":String.prototype.quote,"emulated":function(){return q+this.replace(/\\/g,o).replace(/\"/g,n)+q;
}}[String.prototype.quote?r:s]}});
Error.prototype.toString=qx.lang.Core.errorToString;
Array.prototype.indexOf=qx.lang.Core.arrayIndexOf;
Array.prototype.lastIndexOf=qx.lang.Core.arrayLastIndexOf;
Array.prototype.forEach=qx.lang.Core.arrayForEach;
Array.prototype.filter=qx.lang.Core.arrayFilter;
Array.prototype.map=qx.lang.Core.arrayMap;
Array.prototype.some=qx.lang.Core.arraySome;
Array.prototype.every=qx.lang.Core.arrayEvery;
String.prototype.quote=qx.lang.Core.stringQuote;
})();
(function(){var a="qx.bom.client.Engine";
qx.Bootstrap.define(a,{statics:{NAME:"",FULLVERSION:"0.0.0",VERSION:0.0,OPERA:false,WEBKIT:false,GECKO:false,MSHTML:false,UNKNOWN_ENGINE:false,UNKNOWN_VERSION:false,DOCUMENT_MODE:null,__K:function(){var c="unknown";
var g="0.0.0";
var f=window.navigator.userAgent;
var i=false;
var e=false;

if(window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]"){c="opera";
this.OPERA=true;
if(/Opera[\s\/]([0-9]+)\.([0-9])([0-9]*)/.test(f)){g=RegExp.$1+"."+RegExp.$2;

if(RegExp.$3!=""){g+="."+RegExp.$3;
}}else{e=true;
g="9.6.0";
}}else if(window.navigator.userAgent.indexOf("AppleWebKit/")!=-1){c="webkit";
this.WEBKIT=true;

if(/AppleWebKit\/([^ ]+)/.test(f)){g=RegExp.$1;
var h=RegExp("[^\\.0-9]").exec(g);

if(h){g=g.slice(0,h.index);
}}else{e=true;
g="525.26";
}}else if(window.controllers&&window.navigator.product==="Gecko"){c="gecko";
this.GECKO=true;
if(/rv\:([^\);]+)(\)|;)/.test(f)){g=RegExp.$1;
}else{e=true;
g="1.9.0.0";
}}else if(window.navigator.cpuClass&&/MSIE\s+([^\);]+)(\)|;)/.test(f)){c="mshtml";
g=RegExp.$1;

if(document.documentMode){this.DOCUMENT_MODE=document.documentMode;
}if(g<8&&/Trident\/([^\);]+)(\)|;)/.test(f)){if(RegExp.$1==="4.0"){g="8.0";
}}this.MSHTML=true;
}else{var d=window.qxFail;

if(d&&typeof d==="function"){var c=d();

if(c.NAME&&c.FULLVERSION){c=c.NAME;
this[c.toUpperCase()]=true;
g=c.FULLVERSION;
}}else{i=true;
e=true;
g="1.9.0.0";
c="gecko";
this.GECKO=true;
qx.Bootstrap.warn("Unsupported client: "+f+"! Assumed gecko version 1.9.0.0 (Firefox 3.0).");
}}this.UNKNOWN_ENGINE=i;
this.UNKNOWN_VERSION=e;
this.NAME=c;
this.FULLVERSION=g;
this.VERSION=parseFloat(g);
}},defer:function(b){b.__K();
}});
})();
(function(){var A="on",z="off",y="|",x="default",w="gecko",u="qx.aspects",t="$",s="qx.debug",r="qx.dynlocale",q="webkit",n="opera",p="qx.client",o="qx.core.Variant",m="mshtml";
qx.Bootstrap.define(o,{statics:{__L:{},__M:{},compilerIsSet:function(){return true;
},define:function(G,H,I){{};

if(!this.__L[G]){this.__L[G]={};
}else{}this.__L[G].allowedValues=H;
this.__L[G].defaultValue=I;
},get:function(B){var C=this.__L[B];
{};

if(C.value!==undefined){return C.value;
}return C.defaultValue;
},__N:function(){if(window.qxvariants){for(var K in qxvariants){{};

if(!this.__L[K]){this.__L[K]={};
}this.__L[K].value=qxvariants[K];
}window.qxvariants=undefined;

try{delete window.qxvariants;
}catch(J){}this.__O(this.__L);
}},__O:function(){if(qx.core.Setting.get("qx.allowUrlVariants")!=true){return;
}var c=document.location.search.slice(1).split("&");

for(var i=0;i<c.length;i++){var d=c[i].split(":");

if(d.length!=3||d[0]!="qxvariant"){continue;
}var e=d[1];

if(!this.__L[e]){this.__L[e]={};
}this.__L[e].value=decodeURIComponent(d[2]);
}},select:function(D,E){{};

for(var F in E){if(this.isSet(D,F)){return E[F];
}}
if(E[x]!==undefined){return E[x];
}{};
},isSet:function(f,g){var h=f+t+g;

if(this.__M[h]!==undefined){return this.__M[h];
}var k=false;
if(g.indexOf(y)<0){k=this.get(f)===g;
}else{var j=g.split(y);

for(var i=0,l=j.length;i<l;i++){if(this.get(f)===j[i]){k=true;
break;
}}}this.__M[h]=k;
return k;
},__P:function(v){return typeof v==="object"&&v!==null&&v instanceof Array;
},__Q:function(v){return typeof v==="object"&&v!==null&&!(v instanceof Array);
},__R:function(a,b){for(var i=0,l=a.length;i<l;i++){if(a[i]==b){return true;
}}return false;
}},defer:function(L){L.define(p,[w,m,n,q],qx.bom.client.Engine.NAME);
L.define(s,[A,z],A);
L.define(u,[A,z],z);
L.define(r,[A,z],A);
L.__N();
}});
})();
(function(){var d="qx.core.Aspect",c="before",b="*",a="static";
qx.Bootstrap.define(d,{statics:{__S:[],wrap:function(h,j,k){var p=[];
var l=[];
var o=this.__S;
var n;

for(var i=0;i<o.length;i++){n=o[i];

if((n.type==null||k==n.type||n.type==b)&&(n.name==null||h.match(n.name))){n.pos==-1?p.push(n.fcn):l.push(n.fcn);
}}
if(p.length===0&&l.length===0){return j;
}var m=function(){for(var i=0;i<p.length;i++){p[i].call(this,h,j,k,arguments);
}var q=j.apply(this,arguments);

for(var i=0;i<l.length;i++){l[i].call(this,h,j,k,arguments,q);
}return q;
};

if(k!==a){m.self=j.self;
m.base=j.base;
}j.wrapper=m;
m.original=j;
return m;
},addAdvice:function(e,f,g,name){this.__S.push({fcn:e,pos:f===c?-1:1,type:g,name:name});
}}});
})();
(function(){var bB="qx.aspects",bA="on",bz=".",by="static",bx="[Class ",bw="]",bv="$$init_",bu="constructor",bt="member",bs=".prototype",bp="extend",br="qx.Class",bq="qx.event.type.Data";
qx.Bootstrap.define(br,{statics:{define:function(name,cd){if(!cd){var cd={};
}if(cd.include&&!(cd.include instanceof Array)){cd.include=[cd.include];
}if(cd.implement&&!(cd.implement instanceof Array)){cd.implement=[cd.implement];
}var ce=false;

if(!cd.hasOwnProperty(bp)&&!cd.type){cd.type=by;
ce=true;
}{};
var cf=this.__X(name,cd.type,cd.extend,cd.statics,cd.construct,cd.destruct,cd.include);
if(cd.extend){if(cd.properties){this.__ba(cf,cd.properties,true);
}if(cd.members){this.__bc(cf,cd.members,true,true,false);
}if(cd.events){this.__Y(cf,cd.events,true);
}if(cd.include){for(var i=0,l=cd.include.length;i<l;i++){this.__bg(cf,cd.include[i],false);
}}}if(cd.settings){for(var cg in cd.settings){qx.core.Setting.define(cg,cd.settings[cg]);
}}if(cd.variants){for(var cg in cd.variants){qx.core.Variant.define(cg,cd.variants[cg].allowedValues,cd.variants[cg].defaultValue);
}}if(cd.implement){for(var i=0,l=cd.implement.length;i<l;i++){this.__be(cf,cd.implement[i]);
}}{};
if(cd.defer){cd.defer.self=cf;
cd.defer(cf,cf.prototype,{add:function(name,w){var x={};
x[name]=w;
qx.Class.__ba(cf,x,true);
}});
}return cf;
},undefine:function(name){delete this.$$registry[name];
var k=name.split(bz);
var n=[window];

for(var i=0;i<k.length;i++){n.push(n[i][k[i]]);
}for(var i=n.length-1;i>=1;i--){var m=n[i];
var parent=n[i-1];

if(qx.Bootstrap.isFunction(m)||qx.Bootstrap.objectGetLength(m)===0){delete parent[k[i-1]];
}else{break;
}}},isDefined:qx.Bootstrap.classIsDefined,getTotalNumber:function(){return qx.Bootstrap.objectGetLength(this.$$registry);
},getByName:qx.Bootstrap.getByName,include:function(r,s){{};
qx.Class.__bg(r,s,false);
},patch:function(ch,ci){{};
qx.Class.__bg(ch,ci,true);
},isSubClassOf:function(bO,bP){if(!bO){return false;
}
if(bO==bP){return true;
}
if(bO.prototype instanceof bP){return true;
}return false;
},getPropertyDefinition:qx.Bootstrap.getPropertyDefinition,getProperties:function(bQ){var bR=[];

while(bQ){if(bQ.$$properties){bR.push.apply(bR,qx.Bootstrap.getKeys(bQ.$$properties));
}bQ=bQ.superclass;
}return bR;
},getByProperty:function(P,name){while(P){if(P.$$properties&&P.$$properties[name]){return P;
}P=P.superclass;
}return null;
},hasProperty:qx.Bootstrap.hasProperty,getEventType:qx.Bootstrap.getEventType,supportsEvent:qx.Bootstrap.supportsEvent,hasOwnMixin:function(bC,bD){return bC.$$includes&&bC.$$includes.indexOf(bD)!==-1;
},getByMixin:function(o,p){var q,i,l;

while(o){if(o.$$includes){q=o.$$flatIncludes;

for(i=0,l=q.length;i<l;i++){if(q[i]===p){return o;
}}}o=o.superclass;
}return null;
},getMixins:qx.Bootstrap.getMixins,hasMixin:function(ba,bb){return !!this.getByMixin(ba,bb);
},hasOwnInterface:function(bn,bo){return bn.$$implements&&bn.$$implements.indexOf(bo)!==-1;
},getByInterface:qx.Bootstrap.getByInterface,getInterfaces:function(bH){var bI=[];

while(bH){if(bH.$$implements){bI.push.apply(bI,bH.$$flatImplements);
}bH=bH.superclass;
}return bI;
},hasInterface:qx.Bootstrap.hasInterface,implementsInterface:function(Q,R){var S=Q.constructor;

if(this.hasInterface(S,R)){return true;
}
try{qx.Interface.assertObject(Q,R);
return true;
}catch(E){}
try{qx.Interface.assert(S,R,false);
return true;
}catch(v){}return false;
},getInstance:function(){if(!this.$$instance){this.$$allowconstruct=true;
this.$$instance=new this;
delete this.$$allowconstruct;
}return this.$$instance;
},genericToString:function(){return bx+this.classname+bw;
},$$registry:qx.Bootstrap.$$registry,__T:null,__U:null,__V:function(){},__W:function(){},__X:function(name,bS,bT,bU,bV,bW,bX){var cb;

if(!bT&&qx.core.Variant.isSet("qx.aspects","off")){cb=bU||{};
qx.Bootstrap.setDisplayNames(cb,name);
}else{var cb={};

if(bT){if(!bV){bV=this.__bh();
}
if(this.__bj(bT,bX)){cb=this.__bk(bV,name,bS);
}else{cb=bV;
}if(bS==="singleton"){cb.getInstance=this.getInstance;
}qx.Bootstrap.setDisplayName(bV,name,"constructor");
}if(bU){qx.Bootstrap.setDisplayNames(bU,name);
var cc;

for(var i=0,a=qx.Bootstrap.getKeys(bU),l=a.length;i<l;i++){cc=a[i];
var bY=bU[cc];

if(qx.core.Variant.isSet("qx.aspects","on")){if(bY instanceof Function){bY=qx.core.Aspect.wrap(name+"."+cc,bY,"static");
}cb[cc]=bY;
}else{cb[cc]=bY;
}}}}var ca=qx.Bootstrap.createNamespace(name,cb);
cb.name=cb.classname=name;
cb.basename=ca;
cb.$$type="Class";

if(bS){cb.$$classtype=bS;
}if(!cb.hasOwnProperty("toString")){cb.toString=this.genericToString;
}
if(bT){qx.Bootstrap.extendClass(cb,bV,bT,name,ca);
if(bW){if(qx.core.Variant.isSet("qx.aspects","on")){bW=qx.core.Aspect.wrap(name,bW,"destructor");
}cb.$$destructor=bW;
qx.Bootstrap.setDisplayName(bW,name,"destruct");
}}this.$$registry[name]=cb;
return cb;
},__Y:function(bJ,bK,bL){var bM,bM;
{};

if(bJ.$$events){for(var bM in bK){bJ.$$events[bM]=bK[bM];
}}else{bJ.$$events=bK;
}},__ba:function(bc,bd,be){var bf;

if(be===undefined){be=false;
}var bg=bc.prototype;

for(var name in bd){bf=bd[name];
{};
bf.name=name;
if(!bf.refine){if(bc.$$properties===undefined){bc.$$properties={};
}bc.$$properties[name]=bf;
}if(bf.init!==undefined){bc.prototype[bv+name]=bf.init;
}if(bf.event!==undefined){var event={};
event[bf.event]=bq;
this.__Y(bc,event,be);
}if(bf.inheritable){qx.core.Property.$$inheritable[name]=true;

if(!bg.$$refreshInheritables){qx.core.Property.attachRefreshInheritables(bc);
}}
if(!bf.refine){qx.core.Property.attachMethods(bc,name,bf);
}}},__bb:null,__bc:function(b,c,d,e,f){var g=b.prototype;
var j,h;
qx.Bootstrap.setDisplayNames(c,b.classname+bs);

for(var i=0,a=qx.Bootstrap.getKeys(c),l=a.length;i<l;i++){j=a[i];
h=c[j];
{};
if(e!==false&&h instanceof Function&&h.$$type==null){if(f==true){h=this.__bd(h,g[j]);
}else{if(g[j]){h.base=g[j];
}h.self=b;
}
if(qx.core.Variant.isSet(bB,bA)){h=qx.core.Aspect.wrap(b.classname+bz+j,h,bt);
}}g[j]=h;
}},__bd:function(t,u){if(u){return function(){var Y=t.base;
t.base=u;
var X=t.apply(this,arguments);
t.base=Y;
return X;
};
}else{return t;
}},__be:function(bh,bi){{};
var bj=qx.Interface.flatten([bi]);

if(bh.$$implements){bh.$$implements.push(bi);
bh.$$flatImplements.push.apply(bh.$$flatImplements,bj);
}else{bh.$$implements=[bi];
bh.$$flatImplements=bj;
}},__bf:function(F){var name=F.classname;
var G=this.__bk(F,name,F.$$classtype);
for(var i=0,a=qx.Bootstrap.getKeys(F),l=a.length;i<l;i++){H=a[i];
G[H]=F[H];
}G.prototype=F.prototype;
var J=F.prototype;

for(var i=0,a=qx.Bootstrap.getKeys(J),l=a.length;i<l;i++){H=a[i];
var K=J[H];
if(K&&K.self==F){K.self=G;
}}for(var H in this.$$registry){var I=this.$$registry[H];

if(!I){continue;
}
if(I.base==F){I.base=G;
}
if(I.superclass==F){I.superclass=G;
}
if(I.$$original){if(I.$$original.base==F){I.$$original.base=G;
}
if(I.$$original.superclass==F){I.$$original.superclass=G;
}}}qx.Bootstrap.createNamespace(name,G);
this.$$registry[name]=G;
return G;
},__bg:function(y,z,A){{};

if(this.hasMixin(y,z)){return;
}var D=y.$$original;

if(z.$$constructor&&!D){y=this.__bf(y);
}var C=qx.Mixin.flatten([z]);
var B;

for(var i=0,l=C.length;i<l;i++){B=C[i];
if(B.$$events){this.__Y(y,B.$$events,A);
}if(B.$$properties){this.__ba(y,B.$$properties,A);
}if(B.$$members){this.__bc(y,B.$$members,A,A,A);
}}if(y.$$includes){y.$$includes.push(z);
y.$$flatIncludes.push.apply(y.$$flatIncludes,C);
}else{y.$$includes=[z];
y.$$flatIncludes=C;
}},__bh:function(){function bN(){bN.base.apply(this,arguments);
}return bN;
},__bi:function(){return function(){};
},__bj:function(T,U){{};
if(T&&T.$$includes){var V=T.$$flatIncludes;

for(var i=0,l=V.length;i<l;i++){if(V[i].$$constructor){return true;
}}}if(U){var W=qx.Mixin.flatten(U);

for(var i=0,l=W.length;i<l;i++){if(W[i].$$constructor){return true;
}}}return false;
},__bk:function(L,name,M){var O=function(){var bm=O;
{};
var bl=bm.$$original.apply(this,arguments);
if(bm.$$includes){var bk=bm.$$flatIncludes;

for(var i=0,l=bk.length;i<l;i++){if(bk[i].$$constructor){bk[i].$$constructor.apply(this,arguments);
}}}{};
return bl;
};

if(qx.core.Variant.isSet(bB,bA)){var N=qx.core.Aspect.wrap(name,O,bu);
O.$$original=L;
O.constructor=N;
O=N;
}O.$$original=L;
L.wrapper=O;
return O;
}},defer:function(){if(qx.core.Variant.isSet(bB,bA)){for(var bE in qx.Bootstrap.$$registry){var bF=qx.Bootstrap.$$registry[bE];

for(var bG in bF){if(bF[bG] instanceof Function){bF[bG]=qx.core.Aspect.wrap(bE+bz+bG,bF[bG],by);
}}}}}});
})();
(function(){var o="qx.client",n="on",m="function",l="mousedown",k="qx.bom.Event",j="return;",i="mouseover",h="HTMLEvents";
qx.Class.define(k,{statics:{addNativeListener:qx.core.Variant.select(o,{"mshtml":function(d,f,g){d.attachEvent(n+f,g);
},"default":function(D,E,F){D.addEventListener(E,F,false);
}}),removeNativeListener:qx.core.Variant.select(o,{"mshtml":function(r,s,t){try{r.detachEvent(n+s,t);
}catch(e){if(e.number!==-2146828218){throw e;
}}},"default":function(z,A,B){z.removeEventListener(A,B,false);
}}),getTarget:function(e){return e.target||e.srcElement;
},getRelatedTarget:qx.core.Variant.select(o,{"mshtml":function(e){if(e.type===i){return e.fromEvent;
}else{return e.toElement;
}},"gecko":function(e){try{e.relatedTarget&&e.relatedTarget.nodeType;
}catch(e){return null;
}return e.relatedTarget;
},"default":function(e){return e.relatedTarget;
}}),preventDefault:qx.core.Variant.select(o,{"gecko":function(e){if(qx.bom.client.Engine.VERSION>=1.9&&e.type==l&&e.button==2){return;
}e.preventDefault();
if(qx.bom.client.Engine.VERSION<1.9){try{e.keyCode=0;
}catch(u){}}},"mshtml":function(e){try{e.keyCode=0;
}catch(C){}e.returnValue=false;
},"default":function(e){e.preventDefault();
}}),stopPropagation:function(e){if(e.stopPropagation){e.stopPropagation();
}e.cancelBubble=true;
},fire:function(a,b){if(document.createEventObject){var c=document.createEventObject();
return a.fireEvent(n+b,c);
}else{var c=document.createEvent(h);
c.initEvent(b,true,true);
return !a.dispatchEvent(c);
}},supportsEvent:qx.core.Variant.select(o,{"webkit":function(p,q){return p.hasOwnProperty(n+q);
},"default":function(v,w){var x=n+w;
var y=(x in v);

if(!y){y=typeof v[x]==m;

if(!y&&v.setAttribute){v.setAttribute(x,j);
y=typeof v[x]==m;
v.removeAttribute(x);
}}return y;
}})}});
})();
(function(){var x="|bubble",w="|capture",v="|",u="",t="_",s="unload",r="UNKNOWN_",q="__bq",p="c",o="DOM_",k="WIN_",n="__bp",m="capture",j="qx.event.Manager",h="QX_";
qx.Class.define(j,{extend:Object,construct:function(H,I){this.__bl=H;
this.__bm=qx.core.ObjectRegistry.toHashCode(H);
this.__bn=I;
if(H.qx!==qx){var self=this;
qx.bom.Event.addNativeListener(H,s,qx.event.GlobalError.observeMethod(function(){qx.bom.Event.removeNativeListener(H,s,arguments.callee);
self.dispose();
}));
}this.__bo={};
this.__bp={};
this.__bq={};
this.__br={};
},statics:{__bs:0,getNextUniqueId:function(){return (this.__bs++)+u;
}},members:{__bn:null,__bo:null,__bq:null,__bt:null,__bp:null,__br:null,__bl:null,__bm:null,getWindow:function(){return this.__bl;
},getWindowId:function(){return this.__bm;
},getHandler:function(bJ){var bK=this.__bp[bJ.classname];

if(bK){return bK;
}return this.__bp[bJ.classname]=new bJ(this);
},getDispatcher:function(Q){var R=this.__bq[Q.classname];

if(R){return R;
}return this.__bq[Q.classname]=new Q(this,this.__bn);
},getListeners:function(J,K,L){var M=J.$$hash||qx.core.ObjectRegistry.toHashCode(J);
var O=this.__bo[M];

if(!O){return null;
}var P=K+(L?w:x);
var N=O[P];
return N?N.concat():null;
},serializeListeners:function(bY){var cg=bY.$$hash||qx.core.ObjectRegistry.toHashCode(bY);
var ci=this.__bo[cg];
var ce=[];

if(ci){var cc,ch,ca,cd,cf;

for(var cb in ci){cc=cb.indexOf(v);
ch=cb.substring(0,cc);
ca=cb.charAt(cc+1)==p;
cd=ci[cb];

for(var i=0,l=cd.length;i<l;i++){cf=cd[i];
ce.push({self:cf.context,handler:cf.handler,type:ch,capture:ca});
}}}return ce;
},toggleAttachedEvents:function(y,z){var E=y.$$hash||qx.core.ObjectRegistry.toHashCode(y);
var G=this.__bo[E];

if(G){var B,F,A,C;

for(var D in G){B=D.indexOf(v);
F=D.substring(0,B);
A=D.charCodeAt(B+1)===99;
C=G[D];

if(z){this.__bu(y,F,A);
}else{this.__bv(y,F,A);
}}}},hasListener:function(a,b,c){{};
var d=a.$$hash||qx.core.ObjectRegistry.toHashCode(a);
var f=this.__bo[d];

if(!f){return false;
}var g=b+(c?w:x);
var e=f[g];
return e&&e.length>0;
},importListeners:function(bP,bQ){{};
var bW=bP.$$hash||qx.core.ObjectRegistry.toHashCode(bP);
var bX=this.__bo[bW]={};
var bT=qx.event.Manager;

for(var bR in bQ){var bU=bQ[bR];
var bV=bU.type+(bU.capture?w:x);
var bS=bX[bV];

if(!bS){bS=bX[bV]=[];
this.__bu(bP,bU.type,bU.capture);
}bS.push({handler:bU.listener,context:bU.self,unique:bU.unique||(bT.__bs++)+u});
}},addListener:function(by,bz,bA,self,bB){var bF;
{};
var bG=by.$$hash||qx.core.ObjectRegistry.toHashCode(by);
var bI=this.__bo[bG];

if(!bI){bI=this.__bo[bG]={};
}var bE=bz+(bB?w:x);
var bD=bI[bE];

if(!bD){bD=bI[bE]=[];
}if(bD.length===0){this.__bu(by,bz,bB);
}var bH=(qx.event.Manager.__bs++)+u;
var bC={handler:bA,context:self,unique:bH};
bD.push(bC);
return bE+v+bH;
},findHandler:function(S,T){var be=false,W=false,bf=false;
var bd;

if(S.nodeType===1){be=true;
bd=o+S.tagName.toLowerCase()+t+T;
}else if(S==this.__bl){W=true;
bd=k+T;
}else if(S.classname){bf=true;
bd=h+S.classname+t+T;
}else{bd=r+S+t+T;
}var Y=this.__br;

if(Y[bd]){return Y[bd];
}var bc=this.__bn.getHandlers();
var X=qx.event.IEventHandler;
var ba,bb,V,U;

for(var i=0,l=bc.length;i<l;i++){ba=bc[i];
V=ba.SUPPORTED_TYPES;

if(V&&!V[T]){continue;
}U=ba.TARGET_CHECK;

if(U){if(!be&&U===X.TARGET_DOMNODE){continue;
}else if(!W&&U===X.TARGET_WINDOW){continue;
}else if(!bf&&U===X.TARGET_OBJECT){continue;
}}bb=this.getHandler(bc[i]);

if(ba.IGNORE_CAN_HANDLE||bb.canHandleEvent(S,T)){Y[bd]=bb;
return bb;
}}return null;
},__bu:function(bL,bM,bN){var bO=this.findHandler(bL,bM);

if(bO){bO.registerEvent(bL,bM,bN);
return;
}{};
},removeListener:function(cj,ck,cl,self,cm){var cq;
{};
var cr=cj.$$hash||qx.core.ObjectRegistry.toHashCode(cj);
var cs=this.__bo[cr];

if(!cs){return false;
}var cn=ck+(cm?w:x);
var co=cs[cn];

if(!co){return false;
}var cp;

for(var i=0,l=co.length;i<l;i++){cp=co[i];

if(cp.handler===cl&&cp.context===self){qx.lang.Array.removeAt(co,i);

if(co.length==0){this.__bv(cj,ck,cm);
}return true;
}}return false;
},removeListenerById:function(ct,cu){var cA;
{};
var cy=cu.split(v);
var cD=cy[0];
var cv=cy[1].charCodeAt(0)==99;
var cC=cy[2];
var cB=ct.$$hash||qx.core.ObjectRegistry.toHashCode(ct);
var cE=this.__bo[cB];

if(!cE){return false;
}var cz=cD+(cv?w:x);
var cx=cE[cz];

if(!cx){return false;
}var cw;

for(var i=0,l=cx.length;i<l;i++){cw=cx[i];

if(cw.unique===cC){qx.lang.Array.removeAt(cx,i);

if(cx.length==0){this.__bv(ct,cD,cv);
}return true;
}}return false;
},removeAllListeners:function(bg){var bk=bg.$$hash||qx.core.ObjectRegistry.toHashCode(bg);
var bm=this.__bo[bk];

if(!bm){return false;
}var bi,bl,bh;

for(var bj in bm){if(bm[bj].length>0){bi=bj.split(v);
bl=bi[0];
bh=bi[1]===m;
this.__bv(bg,bl,bh);
}}delete this.__bo[bk];
return true;
},deleteAllListeners:function(cF){delete this.__bo[cF];
},__bv:function(bn,bo,bp){var bq=this.findHandler(bn,bo);

if(bq){bq.unregisterEvent(bn,bo,bp);
return;
}{};
},dispatchEvent:function(br,event){var bw;
{};
var bx=event.getType();

if(!event.getBubbles()&&!this.hasListener(br,bx)){qx.event.Pool.getInstance().poolObject(event);
return true;
}
if(!event.getTarget()){event.setTarget(br);
}var bv=this.__bn.getDispatchers();
var bu;
var bt=false;

for(var i=0,l=bv.length;i<l;i++){bu=this.getDispatcher(bv[i]);
if(bu.canDispatchEvent(br,event,bx)){bu.dispatchEvent(br,event,bx);
bt=true;
break;
}}
if(!bt){{};
return true;
}var bs=event.getDefaultPrevented();
qx.event.Pool.getInstance().poolObject(event);
return !bs;
},dispose:function(){this.__bn.removeManager(this);
qx.util.DisposeUtil.disposeMap(this,n);
qx.util.DisposeUtil.disposeMap(this,q);
this.__bo=this.__bl=this.__bt=null;
this.__bn=this.__br=null;
}}});
})();
(function(){var j="qx.dom.Node",h="qx.client",g="";
qx.Class.define(j,{statics:{ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12,getDocument:function(e){return e.nodeType===
this.DOCUMENT?e:
e.ownerDocument||e.document;
},getWindow:qx.core.Variant.select(h,{"mshtml":function(r){if(r.nodeType==null){return r;
}if(r.nodeType!==this.DOCUMENT){r=r.ownerDocument;
}return r.parentWindow;
},"default":function(k){if(k.nodeType==null){return k;
}if(k.nodeType!==this.DOCUMENT){k=k.ownerDocument;
}return k.defaultView;
}}),getDocumentElement:function(d){return this.getDocument(d).documentElement;
},getBodyElement:function(f){return this.getDocument(f).body;
},isNode:function(p){return !!(p&&p.nodeType!=null);
},isElement:function(b){return !!(b&&b.nodeType===this.ELEMENT);
},isDocument:function(c){return !!(c&&c.nodeType===this.DOCUMENT);
},isText:function(q){return !!(q&&q.nodeType===this.TEXT);
},isWindow:function(m){return !!(m&&m.history&&m.location&&m.document);
},isNodeName:function(n,o){if(!o||!n||!n.nodeName){return false;
}return o.toLowerCase()==qx.dom.Node.getName(n);
},getName:function(l){if(!l||!l.nodeName){return null;
}return l.nodeName.toLowerCase();
},getText:function(s){if(!s||!s.nodeType){return null;
}
switch(s.nodeType){case 1:var i,a=[],t=s.childNodes,length=t.length;

for(i=0;i<length;i++){a[i]=this.getText(t[i]);
}return a.join(g);
case 2:return s.nodeValue;
break;
case 3:return s.nodeValue;
break;
}return null;
}}});
})();
(function(){var A="mshtml",z="qx.client",y="[object Array]",x="qx.lang.Array",w="qx",v="number",u="string";
qx.Class.define(x,{statics:{toArray:function(U,V){return this.cast(U,Array,V);
},cast:function(c,d,e){if(c.constructor===d){return c;
}
if(qx.Class.hasInterface(c,qx.data.IListData)){var c=c.toArray();
}var f=new d;
if(qx.core.Variant.isSet(z,A)){if(c.item){for(var i=e||0,l=c.length;i<l;i++){f.push(c[i]);
}return f;
}}if(Object.prototype.toString.call(c)===y&&e==null){f.push.apply(f,c);
}else{f.push.apply(f,Array.prototype.slice.call(c,e||0));
}return f;
},fromArguments:function(S,T){return Array.prototype.slice.call(S,T||0);
},fromCollection:function(r){if(qx.core.Variant.isSet(z,A)){if(r.item){var s=[];

for(var i=0,l=r.length;i<l;i++){s[i]=r[i];
}return s;
}}return Array.prototype.slice.call(r,0);
},fromShortHand:function(L){var N=L.length;
var M=qx.lang.Array.clone(L);
switch(N){case 1:M[1]=M[2]=M[3]=M[0];
break;
case 2:M[2]=M[0];
case 3:M[3]=M[1];
}return M;
},clone:function(bq){return bq.concat();
},insertAt:function(a,b,i){a.splice(i,0,b);
return a;
},insertBefore:function(E,F,G){var i=E.indexOf(G);

if(i==-1){E.push(F);
}else{E.splice(i,0,F);
}return E;
},insertAfter:function(P,Q,R){var i=P.indexOf(R);

if(i==-1||i==(P.length-1)){P.push(Q);
}else{P.splice(i+1,0,Q);
}return P;
},removeAt:function(O,i){return O.splice(i,1)[0];
},removeAll:function(j){j.length=0;
return this;
},append:function(ba,bb){{};
Array.prototype.push.apply(ba,bb);
return ba;
},exclude:function(H,I){{};

for(var i=0,K=I.length,J;i<K;i++){J=H.indexOf(I[i]);

if(J!=-1){H.splice(J,1);
}}return H;
},remove:function(k,m){var i=k.indexOf(m);

if(i!=-1){k.splice(i,1);
return m;
}},contains:function(p,q){return p.indexOf(q)!==-1;
},equals:function(g,h){var length=g.length;

if(length!==h.length){return false;
}
for(var i=0;i<length;i++){if(g[i]!==h[i]){return false;
}}return true;
},sum:function(n){var o=0;

for(var i=0,l=n.length;i<l;i++){o+=n[i];
}return o;
},max:function(W){{};
var i,Y=W.length,X=W[0];

for(i=1;i<Y;i++){if(W[i]>X){X=W[i];
}}return X===undefined?null:X;
},min:function(B){{};
var i,D=B.length,C=B[0];

for(i=1;i<D;i++){if(B[i]<C){C=B[i];
}}return C===undefined?null:C;
},unique:function(bc){var bm=[],be={},bh={},bj={};
var bi,bd=0;
var bn=w+qx.lang.Date.now();
var bf=false,bl=false,bo=false;
for(var i=0,bk=bc.length;i<bk;i++){bi=bc[i];
if(bi===null){if(!bf){bf=true;
bm.push(bi);
}}else if(bi===undefined){}else if(bi===false){if(!bl){bl=true;
bm.push(bi);
}}else if(bi===true){if(!bo){bo=true;
bm.push(bi);
}}else if(typeof bi===u){if(!be[bi]){be[bi]=1;
bm.push(bi);
}}else if(typeof bi===v){if(!bh[bi]){bh[bi]=1;
bm.push(bi);
}}else{bg=bi[bn];

if(bg==null){bg=bi[bn]=bd++;
}
if(!bj[bg]){bj[bg]=bi;
bm.push(bi);
}}}for(var bg in bj){try{delete bj[bg][bn];
}catch(t){try{bj[bg][bn]=null;
}catch(bp){throw new Error("Cannot clean-up map entry doneObjects["+bg+"]["+bn+"]");
}}}return bm;
}}});
})();
(function(){var x="()",w=".",v=".prototype.",u='anonymous()',t="qx.lang.Function",s=".constructor()";
qx.Class.define(t,{statics:{getCaller:function(e){return e.caller?e.caller.callee:e.callee.caller;
},getName:function(A){if(A.displayName){return A.displayName;
}
if(A.$$original||A.wrapper||A.classname){return A.classname+s;
}
if(A.$$mixin){for(var C in A.$$mixin.$$members){if(A.$$mixin.$$members[C]==A){return A.$$mixin.name+v+C+x;
}}for(var C in A.$$mixin){if(A.$$mixin[C]==A){return A.$$mixin.name+w+C+x;
}}}
if(A.self){var D=A.self.constructor;

if(D){for(var C in D.prototype){if(D.prototype[C]==A){return D.classname+v+C+x;
}}for(var C in D){if(D[C]==A){return D.classname+w+C+x;
}}}}var B=A.toString().match(/function\s*(\w*)\s*\(.*/);

if(B&&B.length>=1&&B[1]){return B[1]+x;
}return u;
},globalEval:function(o){if(window.execScript){return window.execScript(o);
}else{return eval.call(window,o);
}},empty:function(){},returnTrue:function(){return true;
},returnFalse:function(){return false;
},returnNull:function(){return null;
},returnThis:function(){return this;
},returnZero:function(){return 0;
},create:function(y,z){{};
if(!z){return y;
}if(!(z.self||z.args||z.delay!=null||z.periodical!=null||z.attempt)){return y;
}return function(event){{};
var G=qx.lang.Array.fromArguments(arguments);
if(z.args){G=z.args.concat(G);
}
if(z.delay||z.periodical){var F=qx.event.GlobalError.observeMethod(function(){return y.apply(z.self||this,G);
});

if(z.delay){return window.setTimeout(F,z.delay);
}
if(z.periodical){return window.setInterval(F,z.periodical);
}}else if(z.attempt){var H=false;

try{H=y.apply(z.self||this,G);
}catch(E){}return H;
}else{return y.apply(z.self||this,G);
}};
},bind:function(k,self,l){return this.create(k,{self:self,args:arguments.length>2?qx.lang.Array.fromArguments(arguments,2):null});
},curry:function(f,g){return this.create(f,{args:arguments.length>1?qx.lang.Array.fromArguments(arguments,1):null});
},listener:function(h,self,i){if(arguments.length<3){return function(event){return h.call(self||this,event||window.event);
};
}else{var j=qx.lang.Array.fromArguments(arguments,2);
return function(event){var a=[event||window.event];
a.push.apply(a,j);
h.apply(self||this,a);
};
}},attempt:function(m,self,n){return this.create(m,{self:self,attempt:true,args:arguments.length>2?qx.lang.Array.fromArguments(arguments,2):null})();
},delay:function(p,q,self,r){return this.create(p,{delay:q,self:self,args:arguments.length>3?qx.lang.Array.fromArguments(arguments,3):null})();
},periodical:function(b,c,self,d){return this.create(b,{periodical:c,self:self,args:arguments.length>3?qx.lang.Array.fromArguments(arguments,3):null})();
}}});
})();
(function(){var o="qx.event.Registration";
qx.Class.define(o,{statics:{__bw:{},getManager:function(z){if(z==null){{};
z=window;
}else if(z.nodeType){z=qx.dom.Node.getWindow(z);
}else if(!qx.dom.Node.isWindow(z)){z=window;
}var B=z.$$hash||qx.core.ObjectRegistry.toHashCode(z);
var A=this.__bw[B];

if(!A){A=new qx.event.Manager(z,this);
this.__bw[B]=A;
}return A;
},removeManager:function(w){var x=w.getWindowId();
delete this.__bw[x];
},addListener:function(c,d,e,self,f){return this.getManager(c).addListener(c,d,e,self,f);
},removeListener:function(p,q,r,self,s){return this.getManager(p).removeListener(p,q,r,self,s);
},removeListenerById:function(L,M){return this.getManager(L).removeListenerById(L,M);
},removeAllListeners:function(g){return this.getManager(g).removeAllListeners(g);
},deleteAllListeners:function(C){var D=C.$$hash;

if(D){this.getManager(C).deleteAllListeners(D);
}},hasListener:function(t,u,v){return this.getManager(t).hasListener(t,u,v);
},serializeListeners:function(y){return this.getManager(y).serializeListeners(y);
},createEvent:function(E,F,G){{};
if(F==null){F=qx.event.type.Event;
}var H=qx.event.Pool.getInstance().getObject(F);
G?H.init.apply(H,G):H.init();
if(E){H.setType(E);
}return H;
},dispatchEvent:function(I,event){return this.getManager(I).dispatchEvent(I,event);
},fireEvent:function(i,j,k,l){var m;
{};
var n=this.createEvent(j,k||null,l);
return this.getManager(i).dispatchEvent(i,n);
},fireNonBubblingEvent:function(N,O,P,Q){{};
var R=this.getManager(N);

if(!R.hasListener(N,O,false)){return true;
}var S=this.createEvent(O,P||null,Q);
return R.dispatchEvent(N,S);
},PRIORITY_FIRST:-32000,PRIORITY_NORMAL:0,PRIORITY_LAST:32000,__bx:[],addHandler:function(h){{};
this.__bx.push(h);
this.__bx.sort(function(a,b){return a.PRIORITY-b.PRIORITY;
});
},getHandlers:function(){return this.__bx;
},__by:[],addDispatcher:function(J,K){{};
this.__by.push(J);
this.__by.sort(function(a,b){return a.PRIORITY-b.PRIORITY;
});
},getDispatchers:function(){return this.__by;
}}});
})();
(function(){var o="$$hash",n="",m="qx.core.ObjectRegistry";
qx.Class.define(m,{statics:{inShutDown:false,__bz:{},__bA:0,__bB:[],register:function(q){var t=this.__bz;

if(!t){return;
}var s=q.$$hash;

if(s==null){var r=this.__bB;

if(r.length>0){s=r.pop();
}else{s=(this.__bA++)+n;
}q.$$hash=s;
}{};
t[s]=q;
},unregister:function(y){var z=y.$$hash;

if(z==null){return;
}var A=this.__bz;

if(A&&A[z]){delete A[z];
this.__bB.push(z);
}try{delete y.$$hash;
}catch(p){if(y.removeAttribute){y.removeAttribute(o);
}}},toHashCode:function(c){{};
var e=c.$$hash;

if(e!=null){return e;
}var d=this.__bB;

if(d.length>0){e=d.pop();
}else{e=(this.__bA++)+n;
}return c.$$hash=e;
},clearHashCode:function(u){{};
var v=u.$$hash;

if(v!=null){this.__bB.push(v);
try{delete u.$$hash;
}catch(k){if(u.removeAttribute){u.removeAttribute(o);
}}}},fromHashCode:function(x){return this.__bz[x]||null;
},shutdown:function(){this.inShutDown=true;
var g=this.__bz;
var j=[];

for(var h in g){j.push(h);
}j.sort(function(a,b){return parseInt(b)-parseInt(a);
});
var f,i=0,l=j.length;

while(true){try{for(;i<l;i++){h=j[i];
f=g[h];

if(f&&f.dispose){f.dispose();
}}}catch(w){qx.Bootstrap.error(this,"Could not dispose object "+f.toString()+": "+w);

if(i!==l){i++;
continue;
}}break;
}qx.Bootstrap.debug(this,"Disposed "+l+" objects");
delete this.__bz;
},getRegistry:function(){return this.__bz;
}}});
})();
(function(){var a="qx.data.MBinding";
qx.Mixin.define(a,{members:{bind:function(c,d,e,f){return qx.data.SingleValueBinding.bind(this,c,d,e,f);
},removeBinding:function(b){qx.data.SingleValueBinding.removeBindingFromObject(this,b);
},removeAllBindings:function(){qx.data.SingleValueBinding.removeAllBindingsForObject(this);
},getBindings:function(){return qx.data.SingleValueBinding.getAllBindingsForObject(this);
}}});
})();
(function(){var v=":",u="qx.client",t="anonymous",s="...",r="qx.dev.StackTrace",q="",p="\n",o="/source/class/",n=".";
qx.Class.define(r,{statics:{getStackTrace:qx.core.Variant.select(u,{"gecko":function(){try{throw new Error();
}catch(l){var E=this.getStackTraceFromError(l);
qx.lang.Array.removeAt(E,0);
var C=this.getStackTraceFromCaller(arguments);
var A=C.length>E.length?C:E;

for(var i=0;i<Math.min(C.length,E.length);i++){var B=C[i];

if(B.indexOf(t)>=0){continue;
}var I=B.split(v);

if(I.length!=2){continue;
}var G=I[0];
var z=I[1];
var y=E[i];
var J=y.split(v);
var F=J[0];
var x=J[1];

if(qx.Class.getByName(F)){var D=F;
}else{D=G;
}var H=D+v;

if(z){H+=z+v;
}H+=x;
A[i]=H;
}return A;
}},"mshtml|webkit":function(){return this.getStackTraceFromCaller(arguments);
},"opera":function(){var b;

try{b.bar();
}catch(X){var c=this.getStackTraceFromError(X);
qx.lang.Array.removeAt(c,0);
return c;
}return [];
}}),getStackTraceFromCaller:qx.core.Variant.select(u,{"opera":function(m){return [];
},"default":function(K){var P=[];
var O=qx.lang.Function.getCaller(K);
var L={};

while(O){var M=qx.lang.Function.getName(O);
P.push(M);

try{O=O.caller;
}catch(a){break;
}
if(!O){break;
}var N=qx.core.ObjectRegistry.toHashCode(O);

if(L[N]){P.push(s);
break;
}L[N]=O;
}return P;
}}),getStackTraceFromError:qx.core.Variant.select(u,{"gecko":function(Q){if(!Q.stack){return [];
}var W=/@(.+):(\d+)$/gm;
var R;
var S=[];

while((R=W.exec(Q.stack))!=null){var T=R[1];
var V=R[2];
var U=this.__bC(T);
S.push(U+v+V);
}return S;
},"webkit":function(w){if(w.sourceURL&&w.line){return [this.__bC(w.sourceURL)+v+w.line];
}else{return [];
}},"opera":function(d){if(d.message.indexOf("Backtrace:")<0){return [];
}var f=[];
var g=qx.lang.String.trim(d.message.split("Backtrace:")[1]);
var h=g.split(p);

for(var i=0;i<h.length;i++){var e=h[i].match(/\s*Line ([0-9]+) of.* (\S.*)/);

if(e&&e.length>=2){var k=e[1];
var j=this.__bC(e[2]);
f.push(j+v+k);
}}return f;
},"default":function(){return [];
}}),__bC:function(Y){var bc=o;
var ba=Y.indexOf(bc);
var bb=(ba==-1)?Y:Y.substring(ba+bc.length).replace(/\//g,n).replace(/\.js$/,q);
return bb;
}}});
})();
(function(){var g="qx.log.appender.RingBuffer";
qx.Class.define(g,{extend:Object,construct:function(h){this.setMaxMessages(h||50);
},members:{__bD:0,__bE:0,__bF:false,__bG:0,__bH:null,__bI:null,setMaxMessages:function(i){this.__bI=i;
this.clearHistory();
},getMaxMessages:function(){return this.__bI;
},process:function(a){this.__bH[this.__bD]=a;
this.__bD=this.__bJ(this.__bD,1);
var b=this.getMaxMessages();

if(this.__bE<b){this.__bE++;
}if(this.__bF&&(this.__bG<b)){this.__bG++;
}},mark:function(){this.__bF=true;
this.__bG=0;
},clearMark:function(){this.__bF=false;
},getAllLogEvents:function(){return this.retrieveLogEvents(this.getMaxMessages());
},retrieveLogEvents:function(j,k){if(j>this.__bE){j=this.__bE;
}if(k&&this.__bF&&(j>this.__bG)){j=this.__bG;
}
if(j>0){var m=this.__bJ(this.__bD,-1);
var l=this.__bJ(m,-j+1);
var n;

if(l<=m){n=this.__bH.slice(l,m+1);
}else{n=this.__bH.slice(l,this.__bE).concat(this.__bH.slice(0,m+1));
}}else{n=[];
}return n;
},clearHistory:function(){this.__bH=new Array(this.getMaxMessages());
this.__bE=0;
this.__bG=0;
this.__bD=0;
},__bJ:function(c,d){var e=this.getMaxMessages();
var f=(c+d)%e;
if(f<0){f+=e;
}return f;
}}});
})();
(function(){var A="node",z="error",y="...(+",x="array",w=")",v="info",u="instance",t="string",s="null",r="class",V="number",U="stringify",T="]",S="unknown",R="function",Q="boolean",P="debug",O="map",N="undefined",M="qx.log.Logger",H=")}",I="#",F="warn",G="document",D="{...(",E="[",B="text[",C="[...(",J="\n",K=")]",L="object";
qx.Class.define(M,{statics:{__bK:P,setLevel:function(bI){this.__bK=bI;
},getLevel:function(){return this.__bK;
},setTreshold:function(a){this.__bN.setMaxMessages(a);
},getTreshold:function(){return this.__bN.getMaxMessages();
},__bL:{},__bM:0,register:function(o){if(o.$$id){return;
}var p=this.__bM++;
this.__bL[p]=o;
o.$$id=p;
var q=this.__bN.getAllLogEvents();

for(var i=0,l=q.length;i<l;i++){o.process(q[i]);
}},unregister:function(bJ){var bK=bJ.$$id;

if(bK==null){return;
}delete this.__bL[bK];
delete bJ.$$id;
},debug:function(bn,bo){qx.log.Logger.__bP(P,arguments);
},info:function(b,c){qx.log.Logger.__bP(v,arguments);
},warn:function(W,X){qx.log.Logger.__bP(F,arguments);
},error:function(bG,bH){qx.log.Logger.__bP(z,arguments);
},trace:function(bv){qx.log.Logger.__bP(v,[bv,qx.dev.StackTrace.getStackTrace().join(J)]);
},deprecatedMethodWarning:function(bL,bM){var bN;
{};
},deprecatedClassWarning:function(k,m){var n;
{};
},deprecatedEventWarning:function(g,event,h){var j;
{};
},deprecatedMixinWarning:function(d,e){var f;
{};
},deprecatedConstantWarning:function(br,bs,bt){var self,bu;
{};
},deprecateMethodOverriding:function(Y,ba,bb,bc){var bd;
{};
},clear:function(){this.__bN.clearHistory();
},__bN:new qx.log.appender.RingBuffer(50),__bO:{debug:0,info:1,warn:2,error:3},__bP:function(bw,bx){var bC=this.__bO;

if(bC[bw]<bC[this.__bK]){return;
}var bz=bx.length<2?null:bx[0];
var bB=bz?1:0;
var by=[];

for(var i=bB,l=bx.length;i<l;i++){by.push(this.__bR(bx[i],true));
}var bD=new Date;
var bE={time:bD,offset:bD-qx.Bootstrap.LOADSTART,level:bw,items:by,win:window};
if(bz){if(bz instanceof qx.core.Object){bE.object=bz.$$hash;
}else if(bz.$$type){bE.clazz=bz;
}}this.__bN.process(bE);
var bF=this.__bL;

for(var bA in bF){bF[bA].process(bE);
}},__bQ:function(bO){if(bO===undefined){return N;
}else if(bO===null){return s;
}
if(bO.$$type){return r;
}var bP=typeof bO;

if(bP===R||bP==t||bP===V||bP===Q){return bP;
}else if(bP===L){if(bO.nodeType){return A;
}else if(bO.classname){return u;
}else if(bO instanceof Array){return x;
}else if(bO instanceof Error){return z;
}else{return O;
}}
if(bO.toString){return U;
}return S;
},__bR:function(be,bf){var bm=this.__bQ(be);
var bi=S;
var bh=[];

switch(bm){case s:case N:bi=bm;
break;
case t:case V:case Q:bi=be;
break;
case A:if(be.nodeType===9){bi=G;
}else if(be.nodeType===3){bi=B+be.nodeValue+T;
}else if(be.nodeType===1){bi=be.nodeName.toLowerCase();

if(be.id){bi+=I+be.id;
}}else{bi=A;
}break;
case R:bi=qx.lang.Function.getName(be)||bm;
break;
case u:bi=be.basename+E+be.$$hash+T;
break;
case r:case U:bi=be.toString();
break;
case z:bh=qx.dev.StackTrace.getStackTraceFromError(be);
bi=be.toString();
break;
case x:if(bf){bi=[];

for(var i=0,l=be.length;i<l;i++){if(bi.length>20){bi.push(y+(l-i)+w);
break;
}bi.push(this.__bR(be[i],false));
}}else{bi=C+be.length+K;
}break;
case O:if(bf){var bg;
var bl=[];

for(var bk in be){bl.push(bk);
}bl.sort();
bi=[];

for(var i=0,l=bl.length;i<l;i++){if(bi.length>20){bi.push(y+(l-i)+w);
break;
}bk=bl[i];
bg=this.__bR(be[bk],false);
bg.key=bk;
bi.push(bg);
}}else{var bj=0;

for(var bk in be){bj++;
}bi=D+bj+H;
}break;
}return {type:bm,text:bi,trace:bh};
}},defer:function(bp){var bq=qx.Bootstrap.$$logs;

for(var i=0;i<bq.length;i++){this.__bP(bq[i][0],bq[i][1]);
}qx.Bootstrap.debug=bp.debug;
qx.Bootstrap.info=bp.info;
qx.Bootstrap.warn=bp.warn;
qx.Bootstrap.error=bp.error;
qx.Bootstrap.trace=bp.trace;
}});
})();
(function(){var bH="set",bG="get",bF="reset",bE="MSIE 6.0",bD="qx.core.Object",bC="]",bB="rv:1.8.1",bA="[",bz="$$user_",by="Object";
qx.Class.define(bD,{extend:Object,include:[qx.data.MBinding],construct:function(){qx.core.ObjectRegistry.register(this);
},statics:{$$type:by},members:{toHashCode:function(){return this.$$hash;
},toString:function(){return this.classname+bA+this.$$hash+bC;
},base:function(P,Q){{};

if(arguments.length===1){return P.callee.base.call(this);
}else{return P.callee.base.apply(this,Array.prototype.slice.call(arguments,1));
}},self:function(R){return R.callee.self;
},clone:function(){var t=this.constructor;
var s=new t;
var v=qx.Class.getProperties(t);
var u=qx.core.Property.$$store.user;
var w=qx.core.Property.$$method.set;
var name;
for(var i=0,l=v.length;i<l;i++){name=v[i];

if(this.hasOwnProperty(u[name])){s[w[name]](this[u[name]]);
}}return s;
},set:function(bf,bg){var bi=qx.core.Property.$$method.set;

if(qx.Bootstrap.isString(bf)){if(!this[bi[bf]]){if(this[bH+qx.Bootstrap.firstUp(bf)]!=undefined){this[bH+qx.Bootstrap.firstUp(bf)](bg);
return this;
}{};
}return this[bi[bf]](bg);
}else{for(var bh in bf){if(!this[bi[bh]]){if(this[bH+qx.Bootstrap.firstUp(bh)]!=undefined){this[bH+qx.Bootstrap.firstUp(bh)](bf[bh]);
continue;
}{};
}this[bi[bh]](bf[bh]);
}return this;
}},get:function(A){var B=qx.core.Property.$$method.get;

if(!this[B[A]]){if(this[bG+qx.Bootstrap.firstUp(A)]!=undefined){return this[bG+qx.Bootstrap.firstUp(A)]();
}{};
}return this[B[A]]();
},reset:function(E){var F=qx.core.Property.$$method.reset;

if(!this[F[E]]){if(this[bF+qx.Bootstrap.firstUp(E)]!=undefined){this[bF+qx.Bootstrap.firstUp(E)]();
return;
}{};
}this[F[E]]();
},__bS:qx.event.Registration,addListener:function(bc,bd,self,be){if(!this.$$disposed){return this.__bS.addListener(this,bc,bd,self,be);
}return null;
},addListenerOnce:function(I,J,self,K){var L=function(e){J.call(self||this,e);
this.removeListener(I,L,this,K);
};
return this.addListener(I,L,this,K);
},removeListener:function(bo,bp,self,bq){if(!this.$$disposed){return this.__bS.removeListener(this,bo,bp,self,bq);
}return false;
},removeListenerById:function(bb){if(!this.$$disposed){return this.__bS.removeListenerById(this,bb);
}return false;
},hasListener:function(G,H){return this.__bS.hasListener(this,G,H);
},dispatchEvent:function(bx){if(!this.$$disposed){return this.__bS.dispatchEvent(this,bx);
}return true;
},fireEvent:function(c,d,f){if(!this.$$disposed){return this.__bS.fireEvent(this,c,d,f);
}return true;
},fireNonBubblingEvent:function(X,Y,ba){if(!this.$$disposed){return this.__bS.fireNonBubblingEvent(this,X,Y,ba);
}return true;
},fireDataEvent:function(S,T,U,V){if(!this.$$disposed){if(U===undefined){U=null;
}return this.__bS.fireNonBubblingEvent(this,S,qx.event.type.Data,[T,U,!!V]);
}return true;
},__bT:null,setUserData:function(x,y){if(!this.__bT){this.__bT={};
}this.__bT[x]=y;
},getUserData:function(a){if(!this.__bT){return null;
}var b=this.__bT[a];
return b===undefined?null:b;
},__bU:qx.log.Logger,debug:function(D){this.__bU.debug(this,D);
},info:function(C){this.__bU.info(this,C);
},warn:function(z){this.__bU.warn(this,z);
},error:function(h){this.__bU.error(this,h);
},trace:function(){this.__bU.trace(this);
},isDisposed:function(){return this.$$disposed||false;
},dispose:function(){var bv,bt,bs,bw;
if(this.$$disposed){return;
}this.$$disposed=true;
this.$$instance=null;
this.$$allowconstruct=null;
{};
var bu=this.constructor;
var br;

while(bu.superclass){if(bu.$$destructor){bu.$$destructor.call(this);
}if(bu.$$includes){br=bu.$$flatIncludes;

for(var i=0,l=br.length;i<l;i++){if(br[i].$$destructor){br[i].$$destructor.call(this);
}}}bu=bu.superclass;
}if(this.__bV){this.__bV();
}{};
},__bV:null,__bW:function(){var M=qx.Class.getProperties(this.constructor);

for(var i=0,l=M.length;i<l;i++){delete this[bz+M[i]];
}},_disposeFields:function(W){qx.Bootstrap.warn("Don't use '_disposeFields' - instead assign directly to 'null'");
qx.util.DisposeUtil.disposeFields(this,arguments);
},_disposeObjects:function(g){qx.util.DisposeUtil.disposeObjects(this,arguments);
},_disposeSingletonObjects:function(bn){qx.util.DisposeUtil.disposeObjects(this,arguments,true);
},_disposeArray:function(N){qx.util.DisposeUtil.disposeArray(this,N);
},_disposeMap:function(O){qx.util.DisposeUtil.disposeMap(this,O);
}},settings:{"qx.disposerDebugLevel":0},defer:function(bj,bk){{};
var bm=navigator.userAgent.indexOf(bE)!=-1;
var bl=navigator.userAgent.indexOf(bB)!=-1;
if(bm||bl){bk.__bV=bk.__bW;
}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){qx.event.Registration.removeAllListeners(this);
}else{qx.event.Registration.deleteAllListeners(this);
}qx.core.ObjectRegistry.unregister(this);
this.__bT=null;
var m=this.constructor;
var q;
var r=qx.core.Property.$$store;
var o=r.user;
var p=r.theme;
var j=r.inherit;
var n=r.useinit;
var k=r.init;

while(m){q=m.$$properties;

if(q){for(var name in q){if(q[name].dispose||q[name].dereference){this[o[name]]=this[p[name]]=this[j[name]]=this[n[name]]=this[k[name]]=undefined;
}}}m=m.superclass;
}}});
})();
(function(){var a="qx.event.IEventHandler";
qx.Interface.define(a,{statics:{TARGET_DOMNODE:1,TARGET_WINDOW:2,TARGET_OBJECT:3},members:{canHandleEvent:function(e,f){},registerEvent:function(g,h,i){},unregisterEvent:function(b,c,d){}}});
})();
(function(){var f="qx.globalErrorHandling",d="on",c="qx.event.GlobalError";
qx.Bootstrap.define(c,{statics:{setErrorHandler:function(l,m){this.__bX=l||null;
this.__bY=m||window;

if(qx.core.Setting.get(f)===d){if(l&&window.onerror){var n=qx.Bootstrap.bind(this.__cb,this);

if(this.__ca==null){this.__ca=window.onerror;
}var self=this;
window.onerror=function(e){self.__ca(e);
n(e);
};
}
if(l&&!window.onerror){window.onerror=qx.Bootstrap.bind(this.__cb,this);
}if(this.__bX==null){if(this.__ca!=null){window.onerror=this.__ca;
this.__ca=null;
}else{window.onerror=null;
}}}},__cb:function(h,i,j){if(this.__bX){this.handleError(new qx.core.WindowError(h,i,j));
return true;
}},observeMethod:function(b){if(qx.core.Setting.get(f)===d){var self=this;
return function(){if(!self.__bX){return b.apply(this,arguments);
}
try{return b.apply(this,arguments);
}catch(k){self.handleError(new qx.core.GlobalError(k,arguments));
}};
}else{return b;
}},handleError:function(g){if(this.__bX){this.__bX.call(this.__bY,g);
}}},defer:function(a){qx.core.Setting.define(f,d);
a.setErrorHandler(null,null);
}});
})();
(function(){var p="ready",o="qx.client",n="mshtml",m="load",l="unload",k="qx.event.handler.Application",j="complete",i="gecko|opera|webkit",h="left",g="DOMContentLoaded",f="shutdown";
qx.Class.define(k,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(t){qx.core.Object.call(this);
this._window=t.getWindow();
this.__cc=false;
this.__cd=false;
this._initObserver();
qx.event.handler.Application.$$instance=this;
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{ready:1,shutdown:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_WINDOW,IGNORE_CAN_HANDLE:true,onScriptLoaded:function(){var s=qx.event.handler.Application.$$instance;

if(s){s.__cg();
}}},members:{canHandleEvent:function(q,r){},registerEvent:function(b,c,d){},unregisterEvent:function(v,w,x){},__ce:null,__cc:null,__cd:null,__cf:null,__cg:function(){if(!this.__ce&&this.__cc&&qx.$$loader.scriptLoaded){if(qx.core.Variant.isSet(o,n)){if(qx.event.Registration.hasListener(this._window,p)){this.__ce=true;
qx.event.Registration.fireEvent(this._window,p);
}}else{this.__ce=true;
qx.event.Registration.fireEvent(this._window,p);
}}},isApplicationReady:function(){return this.__ce;
},_initObserver:function(){if(qx.$$domReady||document.readyState==j||document.readyState==p){this.__cc=true;
this.__cg();
}else{this._onNativeLoadWrapped=qx.lang.Function.bind(this._onNativeLoad,this);

if(qx.core.Variant.isSet(o,i)){qx.bom.Event.addNativeListener(this._window,g,this._onNativeLoadWrapped);
}else if(qx.core.Variant.isSet(o,n)){var self=this;
var a=function(){try{document.documentElement.doScroll(h);

if(document.body){self._onNativeLoadWrapped();
}}catch(u){window.setTimeout(a,100);
}};
a();
}qx.bom.Event.addNativeListener(this._window,m,this._onNativeLoadWrapped);
}this._onNativeUnloadWrapped=qx.lang.Function.bind(this._onNativeUnload,this);
qx.bom.Event.addNativeListener(this._window,l,this._onNativeUnloadWrapped);
},_stopObserver:function(){if(this._onNativeLoadWrapped){qx.bom.Event.removeNativeListener(this._window,m,this._onNativeLoadWrapped);
}qx.bom.Event.removeNativeListener(this._window,l,this._onNativeUnloadWrapped);
this._onNativeLoadWrapped=null;
this._onNativeUnloadWrapped=null;
},_onNativeLoad:qx.event.GlobalError.observeMethod(function(){this.__cc=true;
this.__cg();
}),_onNativeUnload:qx.event.GlobalError.observeMethod(function(){if(!this.__cf){this.__cf=true;

try{qx.event.Registration.fireEvent(this._window,f);
}catch(e){throw e;
}finally{qx.core.ObjectRegistry.shutdown();
}}})},destruct:function(){this._stopObserver();
this._window=null;
},defer:function(y){qx.event.Registration.addHandler(y);
}});
})();
(function(){var k="qx.event.handler.Window";
qx.Class.define(k,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(g){qx.core.Object.call(this);
this._manager=g;
this._window=g.getWindow();
this._initWindowObserver();
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{error:1,load:1,beforeunload:1,unload:1,resize:1,scroll:1,beforeshutdown:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_WINDOW,IGNORE_CAN_HANDLE:true},members:{canHandleEvent:function(t,u){},registerEvent:function(q,r,s){},unregisterEvent:function(l,m,n){},_initWindowObserver:function(){this._onNativeWrapper=qx.lang.Function.listener(this._onNative,this);
var i=qx.event.handler.Window.SUPPORTED_TYPES;

for(var h in i){qx.bom.Event.addNativeListener(this._window,h,this._onNativeWrapper);
}},_stopWindowObserver:function(){var p=qx.event.handler.Window.SUPPORTED_TYPES;

for(var o in p){qx.bom.Event.removeNativeListener(this._window,o,this._onNativeWrapper);
}},_onNative:qx.event.GlobalError.observeMethod(function(e){if(this.isDisposed()){return;
}var b=this._window;

try{var f=b.document;
}catch(e){return ;
}var c=f.documentElement;
var a=e.target||e.srcElement;

if(a==null||a===b||a===f||a===c){var event=qx.event.Registration.createEvent(e.type,qx.event.type.Native,[e,b]);
qx.event.Registration.dispatchEvent(b,event);
var d=event.getReturnValue();

if(d!=null){e.returnValue=d;
return d;
}}})},destruct:function(){this._stopWindowObserver();
this._manager=this._window=null;
},defer:function(j){qx.event.Registration.addHandler(j);
}});
})();
(function(){var a="qx.event.IEventDispatcher";
qx.Interface.define(a,{members:{canDispatchEvent:function(d,event,e){this.assertInstance(event,qx.event.type.Event);
this.assertString(e);
},dispatchEvent:function(b,event,c){this.assertInstance(event,qx.event.type.Event);
this.assertString(c);
}}});
})();
(function(){var h="qx.event.dispatch.Direct";
qx.Class.define(h,{extend:qx.core.Object,implement:qx.event.IEventDispatcher,construct:function(j){this._manager=j;
},statics:{PRIORITY:qx.event.Registration.PRIORITY_LAST},members:{canDispatchEvent:function(k,event,m){return !event.getBubbles();
},dispatchEvent:function(a,event,b){var e,c;
{};
event.setEventPhase(qx.event.type.Event.AT_TARGET);
var f=this._manager.getListeners(a,b,false);

if(f){for(var i=0,l=f.length;i<l;i++){var d=f[i].context||a;
f[i].handler.call(d,event);
}}}},defer:function(g){qx.event.Registration.addDispatcher(g);
}});
})();
(function(){var g="ready",f="qx.application",d="beforeunload",c="qx.core.Init",b="shutdown";
qx.Class.define(c,{statics:{getApplication:function(){return this.__ch||null;
},ready:function(){if(this.__ch){return;
}
if(qx.bom.client.Engine.UNKNOWN_ENGINE){qx.log.Logger.warn("Could not detect engine!");
}
if(qx.bom.client.Engine.UNKNOWN_VERSION){qx.log.Logger.warn("Could not detect the version of the engine!");
}
if(qx.bom.client.Platform.UNKNOWN_PLATFORM){qx.log.Logger.warn("Could not detect platform!");
}
if(qx.bom.client.System.UNKNOWN_SYSTEM){qx.log.Logger.warn("Could not detect system!");
}qx.log.Logger.debug(this,"Load runtime: "+(new Date-qx.Bootstrap.LOADSTART)+"ms");
var j=qx.core.Setting.get(f);
var k=qx.Class.getByName(j);

if(k){this.__ch=new k;
var i=new Date;
this.__ch.main();
qx.log.Logger.debug(this,"Main runtime: "+(new Date-i)+"ms");
var i=new Date;
this.__ch.finalize();
qx.log.Logger.debug(this,"Finalize runtime: "+(new Date-i)+"ms");
}else{qx.log.Logger.warn("Missing application class: "+j);
}},__ci:function(e){var a=this.__ch;

if(a){e.setReturnValue(a.close());
}},__cj:function(){var l=this.__ch;

if(l){l.terminate();
}}},defer:function(h){qx.event.Registration.addListener(window,g,h.ready,h);
qx.event.Registration.addListener(window,b,h.__cj,h);
qx.event.Registration.addListener(window,d,h.__ci,h);
}});
})();
(function(){var a="qx.application.IApplication";
qx.Interface.define(a,{members:{main:function(){},finalize:function(){},close:function(){},terminate:function(){}}});
})();
(function(){var d="qx.locale.MTranslation";
qx.Mixin.define(d,{members:{tr:function(a,b){var c=qx.locale.Manager;

if(c){return c.tr.apply(c,arguments);
}throw new Error("To enable localization please include qx.locale.Manager into your build!");
},trn:function(e,f,g,h){var i=qx.locale.Manager;

if(i){return i.trn.apply(i,arguments);
}throw new Error("To enable localization please include qx.locale.Manager into your build!");
},trc:function(l,m,n){var o=qx.locale.Manager;

if(o){return o.trc.apply(o,arguments);
}throw new Error("To enable localization please include qx.locale.Manager into your build!");
},marktr:function(j){var k=qx.locale.Manager;

if(k){return k.marktr.apply(k,arguments);
}throw new Error("To enable localization please include qx.locale.Manager into your build!");
}}});
})();
(function(){var b="abstract",a="qx.application.AbstractGui";
qx.Class.define(a,{type:b,extend:qx.core.Object,implement:[qx.application.IApplication],include:qx.locale.MTranslation,members:{__ck:null,_createRootWidget:function(){throw new Error("Abstract method call");
},getRoot:function(){return this.__ck;
},main:function(){qx.theme.manager.Meta.getInstance().initialize();
qx.ui.tooltip.Manager.getInstance();
this.__ck=this._createRootWidget();
},finalize:function(){this.render();
},render:function(){qx.ui.core.queue.Manager.flush();
},close:function(c){},terminate:function(){}},destruct:function(){this.__ck=null;
}});
})();
(function(){var a="qx.application.Standalone";
qx.Class.define(a,{extend:qx.application.AbstractGui,members:{_createRootWidget:function(){return new qx.ui.root.Application(document);
}}});
})();
(function(){var i='</xmp>',h='<xmp>',g="100%",f="html",e="",d="track.Application";
function c(a){var b=e;

if(window.document.body.outerHTML!=undefined){b=h+window.document.body.outerHTML+i;
}else if(document.getElementsByTagName(f)[0].innerHTML!=undefined){b=h+document.getElementsByTagName(f)[0].innerHTML+i;
}else if(window.document.documentElement.outerHTML!=undefined){b=h+window.document.documentElement.outerHTML+i;
}else{alert('Your browser does not support this functionality');
}a.info(b);
}qx.Class.define(d,{extend:qx.application.Standalone,members:{main:function(){qx.application.Standalone.prototype.main.call(this);
{};
net.watchee.util.log=this;
this.trackGui=new track.TrackGui(this);
this.getRoot().add(this.trackGui,{left:0,top:0,width:g,height:g});
this.trackGui.postCreationEvent();
},close:function(){qx.application.Standalone.prototype.close.call(this);
if(this.trackGui!=null){this.trackGui.shutdown();
this.trackGui=null;
}},terminate:function(){qx.application.Standalone.prototype.terminate.call(this);
if(this.trackGui!=null){this.trackGui.shutdown();
this.trackGui=null;
}}},settings:{}});
})();
(function(){var b="qx.event.type.Event";
qx.Class.define(b,{extend:qx.core.Object,statics:{CAPTURING_PHASE:1,AT_TARGET:2,BUBBLING_PHASE:3},members:{init:function(d,e){{};
this._type=null;
this._target=null;
this._currentTarget=null;
this._relatedTarget=null;
this._originalTarget=null;
this._stopPropagation=false;
this._preventDefault=false;
this._bubbles=!!d;
this._cancelable=!!e;
this._timeStamp=(new Date()).getTime();
this._eventPhase=null;
return this;
},clone:function(f){if(f){var g=f;
}else{var g=qx.event.Pool.getInstance().getObject(this.constructor);
}g._type=this._type;
g._target=this._target;
g._currentTarget=this._currentTarget;
g._relatedTarget=this._relatedTarget;
g._originalTarget=this._originalTarget;
g._stopPropagation=this._stopPropagation;
g._bubbles=this._bubbles;
g._preventDefault=this._preventDefault;
g._cancelable=this._cancelable;
return g;
},stop:function(){if(this._bubbles){this.stopPropagation();
}
if(this._cancelable){this.preventDefault();
}},stopPropagation:function(){{};
this._stopPropagation=true;
},getPropagationStopped:function(){return !!this._stopPropagation;
},preventDefault:function(){{};
this._preventDefault=true;
},getDefaultPrevented:function(){return !!this._preventDefault;
},getType:function(){return this._type;
},setType:function(k){this._type=k;
},getEventPhase:function(){return this._eventPhase;
},setEventPhase:function(m){this._eventPhase=m;
},getTimeStamp:function(){return this._timeStamp;
},getTarget:function(){return this._target;
},setTarget:function(c){this._target=c;
},getCurrentTarget:function(){return this._currentTarget||this._target;
},setCurrentTarget:function(j){this._currentTarget=j;
},getRelatedTarget:function(){return this._relatedTarget;
},setRelatedTarget:function(a){this._relatedTarget=a;
},getOriginalTarget:function(){return this._originalTarget;
},setOriginalTarget:function(h){this._originalTarget=h;
},getBubbles:function(){return this._bubbles;
},setBubbles:function(l){this._bubbles=l;
},isCancelable:function(){return this._cancelable;
},setCancelable:function(i){this._cancelable=i;
}},destruct:function(){this._target=this._currentTarget=this._relatedTarget=this._originalTarget=null;
}});
})();
(function(){var d="qx.event.type.Data";
qx.Class.define(d,{extend:qx.event.type.Event,members:{__cl:null,__cm:null,init:function(a,b,c){qx.event.type.Event.prototype.init.call(this,false,c);
this.__cl=a;
this.__cm=b;
return this;
},clone:function(e){var f=qx.event.type.Event.prototype.clone.call(this,e);
f.__cl=this.__cl;
f.__cm=this.__cm;
return f;
},getData:function(){return this.__cl;
},getOldData:function(){return this.__cm;
}},destruct:function(){this.__cl=this.__cm=null;
}});
})();
(function(){var ce="get",cd="",cc="[",cb="last",ca="change",bY="]",bX=".",bW="Number",bV="String",bU="set",ct="deepBinding",cs="item",cr="reset",cq="' (",cp="Boolean",co=").",cn=") to the object '",cm="Integer",cl="qx.data.SingleValueBinding",ck="No event could be found for the property",ci="PositiveNumber",cj="Binding from '",cg="PositiveInteger",ch="Binding does not exist!",cf="Date";
qx.Class.define(cl,{statics:{DEBUG_ON:false,__cn:{},bind:function(bk,bl,bm,bn,bo){var by=this.__cp(bk,bl,bm,bn,bo);
var bt=bl.split(bX);
var bq=this.__cw(bt);
var bx=[];
var bu=[];
var bv=[];
var br=[];
var bs=bk;
for(var i=0;i<bt.length;i++){if(bq[i]!==cd){br.push(ca);
}else{br.push(this.__cr(bs,bt[i]));
}bx[i]=bs;
if(i==bt.length-1){if(bq[i]!==cd){var bB=bq[i]===cb?bs.length-1:bq[i];
var bp=bs.getItem(bB);
this.__cv(bp,bm,bn,bo,bk);
bv[i]=this.__cx(bs,br[i],bm,bn,bo,bq[i]);
}else{if(bt[i]!=null&&bs[ce+qx.lang.String.firstUp(bt[i])]!=null){var bp=bs[ce+qx.lang.String.firstUp(bt[i])]();
this.__cv(bp,bm,bn,bo,bk);
}bv[i]=this.__cx(bs,br[i],bm,bn,bo);
}}else{var bz={index:i,propertyNames:bt,sources:bx,listenerIds:bv,arrayIndexValues:bq,targetObject:bm,targetPropertyChain:bn,options:bo,listeners:bu};
var bw=qx.lang.Function.bind(this.__co,this,bz);
bu.push(bw);
bv[i]=bs.addListener(br[i],bw);
}if(bs[ce+qx.lang.String.firstUp(bt[i])]==null){bs=null;
}else if(bq[i]!==cd){bs=bs[ce+qx.lang.String.firstUp(bt[i])](bq[i]);
}else{bs=bs[ce+qx.lang.String.firstUp(bt[i])]();
}
if(!bs){break;
}}var bA={type:ct,listenerIds:bv,sources:bx,targetListenerIds:by.listenerIds,targets:by.targets};
this.__cy(bA,bk,bl,bm,bn);
return bA;
},__co:function(cR){if(cR.options&&cR.options.onUpdate){cR.options.onUpdate(cR.sources[cR.index],cR.targetObject);
}for(var j=cR.index+1;j<cR.propertyNames.length;j++){var cV=cR.sources[j];
cR.sources[j]=null;

if(!cV){continue;
}cV.removeListenerById(cR.listenerIds[j]);
}var cV=cR.sources[cR.index];
for(var j=cR.index+1;j<cR.propertyNames.length;j++){if(cR.arrayIndexValues[j-1]!==cd){cV=cV[ce+qx.lang.String.firstUp(cR.propertyNames[j-1])](cR.arrayIndexValues[j-1]);
}else{cV=cV[ce+qx.lang.String.firstUp(cR.propertyNames[j-1])]();
}cR.sources[j]=cV;
if(!cV){this.__cs(cR.targetObject,cR.targetPropertyChain);
break;
}if(j==cR.propertyNames.length-1){if(qx.Class.implementsInterface(cV,qx.data.IListData)){var cW=cR.arrayIndexValues[j]===cb?cV.length-1:cR.arrayIndexValues[j];
var cT=cV.getItem(cW);
this.__cv(cT,cR.targetObject,cR.targetPropertyChain,cR.options,cR.sources[cR.index]);
cR.listenerIds[j]=this.__cx(cV,ca,cR.targetObject,cR.targetPropertyChain,cR.options,cR.arrayIndexValues[j]);
}else{if(cR.propertyNames[j]!=null&&cV[ce+qx.lang.String.firstUp(cR.propertyNames[j])]!=null){var cT=cV[ce+qx.lang.String.firstUp(cR.propertyNames[j])]();
this.__cv(cT,cR.targetObject,cR.targetPropertyChain,cR.options,cR.sources[cR.index]);
}var cU=this.__cr(cV,cR.propertyNames[j]);
cR.listenerIds[j]=this.__cx(cV,cU,cR.targetObject,cR.targetPropertyChain,cR.options);
}}else{if(cR.listeners[j]==null){var cS=qx.lang.Function.bind(this.__co,this,cR);
cR.listeners.push(cS);
}if(qx.Class.implementsInterface(cV,qx.data.IListData)){var cU=ca;
}else{var cU=this.__cr(cV,cR.propertyNames[j]);
}cR.listenerIds[j]=cV.addListener(cU,cR.listeners[j]);
}}},__cp:function(cD,cE,cF,cG,cH){var cL=cG.split(bX);
var cJ=this.__cw(cL);
var cQ=[];
var cP=[];
var cN=[];
var cM=[];
var cK=cF;
for(var i=0;i<cL.length-1;i++){if(cJ[i]!==cd){cM.push(ca);
}else{try{cM.push(this.__cr(cK,cL[i]));
}catch(e){break;
}}cQ[i]=cK;
var cO=function(){for(var j=i+1;j<cL.length-1;j++){var da=cQ[j];
cQ[j]=null;

if(!da){continue;
}da.removeListenerById(cN[j]);
}var da=cQ[i];
for(var j=i+1;j<cL.length-1;j++){var cX=qx.lang.String.firstUp(cL[j-1]);
if(cJ[j-1]!==cd){var db=cJ[j-1]===cb?da.getLength()-1:cJ[j-1];
da=da[ce+cX](db);
}else{da=da[ce+cX]();
}cQ[j]=da;
if(cP[j]==null){cP.push(cO);
}if(qx.Class.implementsInterface(da,qx.data.IListData)){var cY=ca;
}else{try{var cY=qx.data.SingleValueBinding.__cr(da,cL[j]);
}catch(e){break;
}}cN[j]=da.addListener(cY,cP[j]);
}qx.data.SingleValueBinding.__cq(cD,cE,cF,cG,cH);
};
cP.push(cO);
cN[i]=cK.addListener(cM[i],cO);
var cI=qx.lang.String.firstUp(cL[i]);
if(cK[ce+cI]==null){cK=null;
}else if(cJ[i]!==cd){cK=cK[ce+cI](cJ[i]);
}else{cK=cK[ce+cI]();
}
if(!cK){break;
}}return {listenerIds:cN,targets:cQ};
},__cq:function(b,c,d,f,g){var m=this.__cu(b,c);

if(m!=null){var o=c.substring(c.lastIndexOf(bX)+1,c.length);
if(o.charAt(o.length-1)==bY){var h=o.substring(o.lastIndexOf(cc)+1,o.length-1);
var l=o.substring(0,o.lastIndexOf(cc));
var n=m[ce+qx.lang.String.firstUp(l)]();

if(h==cb){h=n.length-1;
}
if(n!=null){var k=n.getItem(h);
}}else{var k=m[ce+qx.lang.String.firstUp(o)]();
}}k=qx.data.SingleValueBinding.__cz(k,d,f,g);
this.__ct(d,f,k);
},__cr:function(cu,cv){var cw=this.__cA(cu,cv);
if(cw==null){if(qx.Class.supportsEvent(cu.constructor,cv)){cw=cv;
}else if(qx.Class.supportsEvent(cu.constructor,ca+qx.lang.String.firstUp(cv))){cw=ca+qx.lang.String.firstUp(cv);
}else{throw new qx.core.AssertionError(ck,cv);
}}return cw;
},__cs:function(Y,ba){var bb=this.__cu(Y,ba);

if(bb!=null){var bc=ba.substring(ba.lastIndexOf(bX)+1,ba.length);
if(bc.charAt(bc.length-1)==bY){this.__ct(Y,ba,null);
return;
}if(bb[cr+qx.lang.String.firstUp(bc)]!=undefined){bb[cr+qx.lang.String.firstUp(bc)]();
}else{bb[bU+qx.lang.String.firstUp(bc)](null);
}}},__ct:function(bM,bN,bO){var bS=this.__cu(bM,bN);

if(bS!=null){var bT=bN.substring(bN.lastIndexOf(bX)+1,bN.length);
if(bT.charAt(bT.length-1)==bY){var bP=bT.substring(bT.lastIndexOf(cc)+1,bT.length-1);
var bR=bT.substring(0,bT.lastIndexOf(cc));
var bQ=bS[ce+qx.lang.String.firstUp(bR)]();

if(bP==cb){bP=bQ.length-1;
}
if(bQ!=null){bQ.setItem(bP,bO);
}}else{bS[bU+qx.lang.String.firstUp(bT)](bO);
}}},__cu:function(N,O){var R=O.split(bX);
var S=N;
for(var i=0;i<R.length-1;i++){try{var Q=R[i];
if(Q.indexOf(bY)==Q.length-1){var P=Q.substring(Q.indexOf(cc)+1,Q.length-1);
Q=Q.substring(0,Q.indexOf(cc));
}S=S[ce+qx.lang.String.firstUp(Q)]();

if(P!=null){if(P==cb){P=S.length-1;
}S=S.getItem(P);
P=null;
}}catch(M){return null;
}}return S;
},__cv:function(bd,be,bf,bg,bh){bd=this.__cz(bd,be,bf,bg);
if(bd==null){this.__cs(be,bf);
}if(bd!=undefined){try{this.__ct(be,bf,bd);
if(bg&&bg.onUpdate){bg.onUpdate(bh,be,bd);
}}catch(e){if(!(e instanceof qx.core.ValidationError)){throw e;
}
if(bg&&bg.onSetFail){bg.onSetFail(e);
}else{this.warn("Failed so set value "+bd+" on "+be+". Error message: "+e);
}}}},__cw:function(cx){var cy=[];
for(var i=0;i<cx.length;i++){var name=cx[i];
if(qx.lang.String.endsWith(name,bY)){var cz=name.substring(name.indexOf(cc)+1,name.indexOf(bY));
if(name.indexOf(bY)!=name.length-1){throw new Error("Please use only one array at a time: "+name+" does not work.");
}
if(cz!==cb){if(cz==cd||isNaN(parseInt(cz))){throw new Error("No number or 'last' value hast been given"+" in a array binding: "+name+" does not work.");
}}if(name.indexOf(cc)!=0){cx[i]=name.substring(0,name.indexOf(cc));
cy[i]=cd;
cy[i+1]=cz;
cx.splice(i+1,0,cs);
i++;
}else{cy[i]=cz;
cx.splice(i,1,cs);
}}else{cy[i]=cd;
}}return cy;
},__cx:function(p,q,r,s,t,u){var v;
{};
var x=function(bC,e){if(bC!==cd){if(bC===cb){bC=p.length-1;
}var bF=p.getItem(bC);
if(bF==undefined){qx.data.SingleValueBinding.__cs(r,s);
}var bD=e.getData().start;
var bE=e.getData().end;

if(bC<bD||bC>bE){return;
}}else{var bF=e.getData();
}if(qx.data.SingleValueBinding.DEBUG_ON){qx.log.Logger.debug("Binding executed from "+p+" by "+q+" to "+r+" ("+s+")");
qx.log.Logger.debug("Data before conversion: "+bF);
}bF=qx.data.SingleValueBinding.__cz(bF,r,s,t);
if(qx.data.SingleValueBinding.DEBUG_ON){qx.log.Logger.debug("Data after conversion: "+bF);
}try{if(bF!=undefined){qx.data.SingleValueBinding.__ct(r,s,bF);
}else{qx.data.SingleValueBinding.__cs(r,s);
}if(t&&t.onUpdate){t.onUpdate(p,r,bF);
}}catch(e){if(!(e instanceof qx.core.ValidationError)){throw e;
}
if(t&&t.onSetFail){t.onSetFail(e);
}else{this.warn("Failed so set value "+bF+" on "+r+". Error message: "+e);
}}};
if(!u){u=cd;
}x=qx.lang.Function.bind(x,p,u);
var w=p.addListener(q,x);
return w;
},__cy:function(T,U,V,W,X){if(this.__cn[U.toHashCode()]===undefined){this.__cn[U.toHashCode()]=[];
}this.__cn[U.toHashCode()].push([T,U,V,W,X]);
},__cz:function(y,z,A,B){if(B&&B.converter){var D;

if(z.getModel){D=z.getModel();
}return B.converter(y,D);
}else{var F=this.__cu(z,A);
var G=A.substring(A.lastIndexOf(bX)+1,A.length);
if(F==null){return y;
}var E=qx.Class.getPropertyDefinition(F.constructor,G);
var C=E==null?cd:E.check;
return this.__cB(y,C);
}},__cA:function(H,I){var J=qx.Class.getPropertyDefinition(H.constructor,I);

if(J==null){return null;
}return J.event;
},__cB:function(dc,dd){var de=qx.lang.Type.getClass(dc);
if((de==bW||de==bV)&&(dd==cm||dd==cg)){dc=parseInt(dc);
}if((de==cp||de==bW||de==cf)&&dd==bV){dc=dc+cd;
}if((de==bW||de==bV)&&(dd==bW||dd==ci)){dc=parseFloat(dc);
}return dc;
},removeBindingFromObject:function(cA,cB){if(cB.type==ct){for(var i=0;i<cB.sources.length;i++){if(cB.sources[i]){cB.sources[i].removeListenerById(cB.listenerIds[i]);
}}for(var i=0;i<cB.targets.length;i++){if(cB.targets[i]){cB.targets[i].removeListenerById(cB.targetListenerIds[i]);
}}}else{cA.removeListenerById(cB);
}var cC=this.__cn[cA.toHashCode()];
if(cC!=undefined){for(var i=0;i<cC.length;i++){if(cC[i][0]==cB){qx.lang.Array.remove(cC,cC[i]);
return;
}}}throw new Error("Binding could not be found!");
},removeAllBindingsForObject:function(bG){{};
var bH=this.__cn[bG.toHashCode()];

if(bH!=undefined){for(var i=bH.length-1;i>=0;i--){this.removeBindingFromObject(bG,bH[i][0]);
}}},getAllBindingsForObject:function(a){if(this.__cn[a.toHashCode()]===undefined){this.__cn[a.toHashCode()]=[];
}return this.__cn[a.toHashCode()];
},removeAllBindings:function(){for(var bj in this.__cn){var bi=qx.core.ObjectRegistry.fromHashCode(bj);
if(bi==null){delete this.__cn[bj];
continue;
}this.removeAllBindingsForObject(bi);
}this.__cn={};
},getAllBindings:function(){return this.__cn;
},showBindingInLog:function(bI,bJ){var bL;
for(var i=0;i<this.__cn[bI.toHashCode()].length;i++){if(this.__cn[bI.toHashCode()][i][0]==bJ){bL=this.__cn[bI.toHashCode()][i];
break;
}}
if(bL===undefined){var bK=ch;
}else{var bK=cj+bL[1]+cq+bL[2]+cn+bL[3]+cq+bL[4]+co;
}qx.log.Logger.debug(bK);
},showAllBindingsInLog:function(){for(var L in this.__cn){var K=qx.core.ObjectRegistry.fromHashCode(L);

for(var i=0;i<this.__cn[L].length;i++){this.showBindingInLog(K,this.__cn[L][i][0]);
}}}}});
})();
(function(){var s="",r="g",q="0",p='\\$1',o="%",n='-',m="qx.lang.String",l=' ',k='\n',j="undefined";
qx.Class.define(m,{statics:{camelCase:function(h){return h.replace(/\-([a-z])/g,function(w,x){return x.toUpperCase();
});
},hyphenate:function(a){return a.replace(/[A-Z]/g,function(v){return (n+v.charAt(0).toLowerCase());
});
},capitalize:function(u){return u.replace(/\b[a-z]/g,function(E){return E.toUpperCase();
});
},clean:function(z){return this.trim(z.replace(/\s+/g,l));
},trimLeft:function(F){return F.replace(/^\s+/,s);
},trimRight:function(H){return H.replace(/\s+$/,s);
},trim:function(y){return y.replace(/^\s+|\s+$/g,s);
},startsWith:function(P,Q){return P.indexOf(Q)===0;
},endsWith:function(K,L){return K.substring(K.length-L.length,K.length)===L;
},repeat:function(b,c){return b.length>0?new Array(c+1).join(b):s;
},pad:function(A,length,B){var C=length-A.length;

if(C>0){if(typeof B===j){B=q;
}return this.repeat(B,C)+A;
}else{return A;
}},firstUp:qx.Bootstrap.firstUp,firstLow:qx.Bootstrap.firstLow,contains:function(I,J){return I.indexOf(J)!=-1;
},format:function(M,N){var O=M;

for(var i=0;i<N.length;i++){O=O.replace(new RegExp(o+(i+1),r),N[i]);
}return O;
},escapeRegexpChars:function(D){return D.replace(/([.*+?^${}()|[\]\/\\])/g,p);
},toArray:function(t){return t.split(/\B|\b/g);
},stripTags:function(G){return G.replace(/<\/?[^>]+>/gi,s);
},stripScripts:function(d,e){var g=s;
var f=d.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){g+=arguments[1]+k;
return s;
});

if(e===true){qx.lang.Function.globalEval(g);
}return f;
}}});
})();
(function(){var c="qx.event.type.Data",b="qx.event.type.Event",a="qx.data.IListData";
qx.Interface.define(a,{events:{"change":c,"changeLength":b},members:{getItem:function(g){},setItem:function(d,e){},splice:function(h,i,j){},contains:function(f){},getLength:function(){},toArray:function(){}}});
})();
(function(){var a="qx.lang.Date";
qx.Class.define(a,{statics:{now:function(){return +new Date;
}}});
})();
(function(){var b="",a="qx.core.WindowError";
qx.Bootstrap.define(a,{extend:Error,construct:function(c,d,e){Error.call(this,c);
this.__cC=c;
this.__cD=d||b;
this.__cE=e===undefined?-1:e;
},members:{__cC:null,__cD:null,__cE:null,toString:function(){return this.__cC;
},getUri:function(){return this.__cD;
},getLineNumber:function(){return this.__cE;
}}});
})();
(function(){var b="GlobalError: ",a="qx.core.GlobalError";
qx.Bootstrap.define(a,{extend:Error,construct:function(c,d){{};
this.__cF=b+(c&&c.message?c.message:c);
Error.call(this,this.__cF);
this.__cG=d;
this.__cH=c;
},members:{__cH:null,__cG:null,__cF:null,toString:function(){return this.__cF;
},getArguments:function(){return this.__cG;
},getSourceException:function(){return this.__cH;
}},destruct:function(){this.__cH=null;
this.__cG=null;
this.__cF=null;
}});
})();
(function(){var c=": ",b="qx.type.BaseError",a="";
qx.Class.define(b,{extend:Error,construct:function(d,e){Error.call(this,e);
this.__cI=d||a;
this.message=e||qx.type.BaseError.DEFAULTMESSAGE;
},statics:{DEFAULTMESSAGE:"error"},members:{__cI:null,message:null,getComment:function(){return this.__cI;
},toString:function(){return this.__cI+c+this.message;
}}});
})();
(function(){var a="qx.core.AssertionError";
qx.Class.define(a,{extend:qx.type.BaseError,construct:function(b,c){qx.type.BaseError.call(this,b,c);
this.__cJ=qx.dev.StackTrace.getStackTrace();
},members:{__cJ:null,getStackTrace:function(){return this.__cJ;
}}});
})();
(function(){var a="qx.core.ValidationError";
qx.Class.define(a,{extend:qx.type.BaseError});
})();
(function(){var h="qx.lang.Type",g="Error",f="RegExp",e="Date",d="Number",c="Boolean";
qx.Class.define(h,{statics:{getClass:qx.Bootstrap.getClass,isString:qx.Bootstrap.isString,isArray:qx.Bootstrap.isArray,isObject:qx.Bootstrap.isObject,isFunction:qx.Bootstrap.isFunction,isRegExp:function(j){return this.getClass(j)==f;
},isNumber:function(b){return (b!==null&&(this.getClass(b)==d||b instanceof Number));
},isBoolean:function(i){return (i!==null&&(this.getClass(i)==c||i instanceof Boolean));
},isDate:function(k){return (k!==null&&(this.getClass(k)==e||k instanceof Date));
},isError:function(a){return (a!==null&&(this.getClass(a)==g||a instanceof Error));
}}});
})();
(function(){var e="qx.util.ObjectPool",d="Integer";
qx.Class.define(e,{extend:qx.core.Object,construct:function(n){qx.core.Object.call(this);
this.__cK={};

if(n!=null){this.setSize(n);
}},properties:{size:{check:d,init:Infinity}},members:{__cK:null,getObject:function(f){if(this.$$disposed){return new f;
}
if(!f){throw new Error("Class needs to be defined!");
}var g=null;
var h=this.__cK[f.classname];

if(h){g=h.pop();
}
if(g){g.$$pooled=false;
}else{g=new f;
}return g;
},poolObject:function(j){if(!this.__cK){return;
}var k=j.classname;
var m=this.__cK[k];

if(j.$$pooled){throw new Error("Object is already pooled: "+j);
}
if(!m){this.__cK[k]=m=[];
}if(m.length>this.getSize()){if(j.destroy){j.destroy();
}else{j.dispose();
}return;
}j.$$pooled=true;
m.push(j);
}},destruct:function(){var c=this.__cK;
var a,b,i,l;

for(a in c){b=c[a];

for(i=0,l=b.length;i<l;i++){b[i].dispose();
}}delete this.__cK;
}});
})();
(function(){var b="singleton",a="qx.event.Pool";
qx.Class.define(a,{extend:qx.util.ObjectPool,type:b,construct:function(){qx.util.ObjectPool.call(this,30);
}});
})();
(function(){var e="qx.util.DisposeUtil";
qx.Class.define(e,{statics:{disposeFields:function(f,g){qx.Bootstrap.warn("Don't use 'disposeFields' - instead assign directly to 'null'");

for(var i=0,l=g.length;i<l;i++){var name=g[i];

if(f[name]==null||!f.hasOwnProperty(name)){continue;
}f[name]=null;
}},disposeObjects:function(n,o,p){var name;

for(var i=0,l=o.length;i<l;i++){name=o[i];

if(n[name]==null||!n.hasOwnProperty(name)){continue;
}
if(!qx.core.ObjectRegistry.inShutDown){if(n[name].dispose){if(!p&&n[name].constructor.$$instance){throw new Error("The object stored in key "+name+" is a singleton! Please use disposeSingleton instead.");
}else{n[name].dispose();
}}else{throw new Error("Has no disposable object under key: "+name+"!");
}}n[name]=null;
}},disposeArray:function(h,j){var m=h[j];

if(!m){return;
}if(qx.core.ObjectRegistry.inShutDown){h[j]=null;
return;
}try{var k;

for(var i=m.length-1;i>=0;i--){k=m[i];

if(k){k.dispose();
}}}catch(a){throw new Error("The array field: "+j+" of object: "+h+" has non disposable entries: "+a);
}m.length=0;
h[j]=null;
},disposeMap:function(r,s){var t=r[s];

if(!t){return;
}if(qx.core.ObjectRegistry.inShutDown){r[s]=null;
return;
}try{for(var u in t){if(t.hasOwnProperty(u)){t[u].dispose();
}}}catch(q){throw new Error("The map field: "+s+" of object: "+r+" has non disposable entries: "+q);
}r[s]=null;
},disposeTriggeredBy:function(b,c){var d=c.dispose;
c.dispose=function(){d.call(c);
b.dispose();
};
}}});
})();
(function(){var d="qx.event.handler.Object";
qx.Class.define(d,{extend:qx.core.Object,implement:qx.event.IEventHandler,statics:{PRIORITY:qx.event.Registration.PRIORITY_LAST,SUPPORTED_TYPES:null,TARGET_CHECK:qx.event.IEventHandler.TARGET_OBJECT,IGNORE_CAN_HANDLE:false},members:{canHandleEvent:function(e,f){return qx.Class.supportsEvent(e.constructor,f);
},registerEvent:function(a,b,c){},unregisterEvent:function(g,h,i){}},defer:function(j){qx.event.Registration.addHandler(j);
}});
})();
(function(){var n="indexOf",m="lastIndexOf",k="slice",j="concat",h="join",g="toLocaleUpperCase",f="shift",e="substr",d="filter",c="unshift",K="match",J="quote",I="qx.lang.Generics",H="localeCompare",G="sort",F="some",E="charAt",D="split",C="substring",B="pop",v="toUpperCase",w="replace",t="push",u="charCodeAt",q="every",r="reverse",o="search",p="forEach",x="map",y="toLowerCase",A="splice",z="toLocaleLowerCase";
qx.Class.define(I,{statics:{__cL:{"Array":[h,r,G,t,B,f,c,A,j,k,n,m,p,x,d,F,q],"String":[J,C,y,v,E,u,n,m,z,g,H,K,o,w,D,e,j,k]},__cM:function(a,b){return function(s){return a.prototype[b].apply(s,Array.prototype.slice.call(arguments,1));
};
},__cN:function(){var M=qx.lang.Generics.__cL;

for(var Q in M){var O=window[Q];
var N=M[Q];

for(var i=0,l=N.length;i<l;i++){var P=N[i];

if(!O[P]){O[P]=qx.lang.Generics.__cM(O,P);
}}}}},defer:function(L){L.__cN();
}});
})();
(function(){var i="qx.event.type.Native";
qx.Class.define(i,{extend:qx.event.type.Event,members:{init:function(b,c,d,e,f){qx.event.type.Event.prototype.init.call(this,e,f);
this._target=c||qx.bom.Event.getTarget(b);
this._relatedTarget=d||qx.bom.Event.getRelatedTarget(b);

if(b.timeStamp){this._timeStamp=b.timeStamp;
}this._native=b;
this._returnValue=null;
return this;
},clone:function(j){var k=qx.event.type.Event.prototype.clone.call(this,j);
var l={};
k._native=this._cloneNativeEvent(this._native,l);
k._returnValue=this._returnValue;
return k;
},_cloneNativeEvent:function(g,h){h.preventDefault=qx.lang.Function.empty;
return h;
},preventDefault:function(){qx.event.type.Event.prototype.preventDefault.call(this);
qx.bom.Event.preventDefault(this._native);
},getNativeEvent:function(){return this._native;
},setReturnValue:function(a){this._returnValue=a;
},getReturnValue:function(){return this._returnValue;
}},destruct:function(){this._native=this._returnValue=null;
}});
})();
(function(){var m="iPod",l="Win32",k="",j="Win64",i="Linux",h="BSD",g="Macintosh",f="iPhone",e="Windows",d="qx.bom.client.Platform",a="X11",c="MacIntel",b="MacPPC";
qx.Class.define(d,{statics:{NAME:"",WIN:false,MAC:false,UNIX:false,UNKNOWN_PLATFORM:false,__cO:function(){var o=navigator.platform;
if(o==null||o===k){o=navigator.userAgent;
}
if(o.indexOf(e)!=-1||o.indexOf(l)!=-1||o.indexOf(j)!=-1){this.WIN=true;
this.NAME="win";
}else if(o.indexOf(g)!=-1||o.indexOf(b)!=-1||o.indexOf(c)!=-1||o.indexOf(m)!=-1||o.indexOf(f)!=-1){this.MAC=true;
this.NAME="mac";
}else if(o.indexOf(a)!=-1||o.indexOf(i)!=-1||o.indexOf(h)!=-1){this.UNIX=true;
this.NAME="unix";
}else{this.UNKNOWN_PLATFORM=true;
this.WIN=true;
this.NAME="win";
}}},defer:function(n){n.__cO();
}});
})();
(function(){var j="win98",i="osx2",h="osx0",g="osx4",f="win95",e="win2000",d="osx1",c="osx5",b="osx3",a="Windows NT 5.01",H=")",G="winxp",F="freebsd",E="sunos",D="SV1",C="|",B="nintendods",A="winnt4",z="wince",y="winme",q="os9",r="\.",o="osx",p="linux",m="netbsd",n="winvista",k="openbsd",l="(",s="win2003",t="symbian",v="win7",u="g",x="qx.bom.client.System",w=" Mobile/";
qx.Class.define(x,{statics:{NAME:"",SP1:false,SP2:false,WIN95:false,WIN98:false,WINME:false,WINNT4:false,WIN2000:false,WINXP:false,WIN2003:false,WINVISTA:false,WIN7:false,WINCE:false,LINUX:false,SUNOS:false,FREEBSD:false,NETBSD:false,OPENBSD:false,OSX:false,OS9:false,SYMBIAN:false,NINTENDODS:false,PSP:false,IPHONE:false,UNKNOWN_SYSTEM:false,__cP:{"Windows NT 6.1":v,"Windows NT 6.0":n,"Windows NT 5.2":s,"Windows NT 5.1":G,"Windows NT 5.0":e,"Windows 2000":e,"Windows NT 4.0":A,"Win 9x 4.90":y,"Windows CE":z,"Windows 98":j,"Win98":j,"Windows 95":f,"Win95":f,"Linux":p,"FreeBSD":F,"NetBSD":m,"OpenBSD":k,"SunOS":E,"Symbian System":t,"Nitro":B,"PSP":"sonypsp","Mac OS X 10_5":c,"Mac OS X 10.5":c,"Mac OS X 10_4":g,"Mac OS X 10.4":g,"Mac OS X 10_3":b,"Mac OS X 10.3":b,"Mac OS X 10_2":i,"Mac OS X 10.2":i,"Mac OS X 10_1":d,"Mac OS X 10.1":d,"Mac OS X 10_0":h,"Mac OS X 10.0":h,"Mac OS X":o,"Mac OS 9":q},__cQ:function(){var L=navigator.userAgent;
var K=[];

for(var J in this.__cP){K.push(J);
}var M=new RegExp(l+K.join(C).replace(/\./g,r)+H,u);

if(!M.test(L)){this.UNKNOWN_SYSTEM=true;

if(!qx.bom.client.Platform.UNKNOWN_PLATFORM){if(qx.bom.client.Platform.UNIX){this.NAME="linux";
this.LINUX=true;
}else if(qx.bom.client.Platform.MAC){this.NAME="osx5";
this.OSX=true;
}else{this.NAME="winxp";
this.WINXP=true;
}}else{this.NAME="winxp";
this.WINXP=true;
}return;
}
if(qx.bom.client.Engine.WEBKIT&&RegExp(w).test(navigator.userAgent)){this.IPHONE=true;
this.NAME="iphone";
}else{this.NAME=this.__cP[RegExp.$1];
this[this.NAME.toUpperCase()]=true;

if(qx.bom.client.Platform.WIN){if(L.indexOf(a)!==-1){this.SP1=true;
}else if(qx.bom.client.Engine.MSHTML&&L.indexOf(D)!==-1){this.SP2=true;
}}}}},defer:function(I){I.__cQ();
}});
})();
(function(){var f="_applyTheme",e="qx.theme",d="qx.theme.manager.Meta",c="qx.theme.Modern",b="Theme",a="singleton";
qx.Class.define(d,{type:a,extend:qx.core.Object,properties:{theme:{check:b,nullable:true,apply:f}},members:{_applyTheme:function(g,h){var k=null;
var n=null;
var q=null;
var r=null;
var m=null;

if(g){k=g.meta.color||null;
n=g.meta.decoration||null;
q=g.meta.font||null;
r=g.meta.icon||null;
m=g.meta.appearance||null;
}var o=qx.theme.manager.Color.getInstance();
var p=qx.theme.manager.Decoration.getInstance();
var i=qx.theme.manager.Font.getInstance();
var l=qx.theme.manager.Icon.getInstance();
var j=qx.theme.manager.Appearance.getInstance();
o.setTheme(k);
p.setTheme(n);
i.setTheme(q);
l.setTheme(r);
j.setTheme(m);
},initialize:function(){var t=qx.core.Setting;
var s,u;
s=t.get(e);

if(s){u=qx.Theme.getByName(s);

if(!u){throw new Error("The theme to use is not available: "+s);
}this.setTheme(u);
}}},settings:{"qx.theme":c}});
})();
(function(){var c="qx.util.ValueManager",b="abstract";
qx.Class.define(c,{type:b,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this._dynamic={};
},members:{_dynamic:null,resolveDynamic:function(a){return this._dynamic[a];
},isDynamic:function(f){return !!this._dynamic[f];
},resolve:function(e){if(e&&this._dynamic[e]){return this._dynamic[e];
}return e;
},_setDynamic:function(d){this._dynamic=d;
},_getDynamic:function(){return this._dynamic;
}},destruct:function(){this._dynamic=null;
}});
})();
(function(){var i="_applyTheme",h="qx.theme.manager.Color",g="Theme",f="changeTheme",e="string",d="singleton";
qx.Class.define(h,{type:d,extend:qx.util.ValueManager,properties:{theme:{check:g,nullable:true,apply:i,event:f}},members:{_applyTheme:function(j){var k={};

if(j){var l=j.colors;
var m=qx.util.ColorUtil;
var n;

for(var o in l){n=l[o];

if(typeof n===e){if(!m.isCssString(n)){throw new Error("Could not parse color: "+n);
}}else if(n instanceof Array){n=m.rgbToRgbString(n);
}else{throw new Error("Could not parse color: "+n);
}k[o]=n;
}}this._setDynamic(k);
},resolve:function(p){var s=this._dynamic;
var q=s[p];

if(q){return q;
}var r=this.getTheme();

if(r!==null&&r.colors[p]){return s[p]=r.colors[p];
}return p;
},isDynamic:function(a){var c=this._dynamic;

if(a&&(c[a]!==undefined)){return true;
}var b=this.getTheme();

if(b!==null&&a&&(b.colors[a]!==undefined)){c[a]=b.colors[a];
return true;
}return false;
}}});
})();
(function(){var V=",",U="rgb(",T=")",S="qx.theme.manager.Color",R="qx.util.ColorUtil";
qx.Class.define(R,{statics:{REGEXP:{hex3:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,rgb:/^rgb\(\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*\)$/,rgba:/^rgba\(\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*\)$/},SYSTEM:{activeborder:true,activecaption:true,appworkspace:true,background:true,buttonface:true,buttonhighlight:true,buttonshadow:true,buttontext:true,captiontext:true,graytext:true,highlight:true,highlighttext:true,inactiveborder:true,inactivecaption:true,inactivecaptiontext:true,infobackground:true,infotext:true,menu:true,menutext:true,scrollbar:true,threeddarkshadow:true,threedface:true,threedhighlight:true,threedlightshadow:true,threedshadow:true,window:true,windowframe:true,windowtext:true},NAMED:{black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255],transparent:[-1,-1,-1],magenta:[255,0,255],orange:[255,165,0],brown:[165,42,42]},isNamedColor:function(be){return this.NAMED[be]!==undefined;
},isSystemColor:function(K){return this.SYSTEM[K]!==undefined;
},supportsThemes:function(){return qx.Class.isDefined(S);
},isThemedColor:function(ba){if(!this.supportsThemes()){return false;
}return qx.theme.manager.Color.getInstance().isDynamic(ba);
},stringToRgb:function(L){if(this.supportsThemes()&&this.isThemedColor(L)){var L=qx.theme.manager.Color.getInstance().resolveDynamic(L);
}
if(this.isNamedColor(L)){return this.NAMED[L];
}else if(this.isSystemColor(L)){throw new Error("Could not convert system colors to RGB: "+L);
}else if(this.isRgbString(L)){return this.__cR();
}else if(this.isHex3String(L)){return this.__cT();
}else if(this.isHex6String(L)){return this.__cU();
}throw new Error("Could not parse color: "+L);
},cssStringToRgb:function(I){if(this.isNamedColor(I)){return this.NAMED[I];
}else if(this.isSystemColor(I)){throw new Error("Could not convert system colors to RGB: "+I);
}else if(this.isRgbString(I)){return this.__cR();
}else if(this.isRgbaString(I)){return this.__cS();
}else if(this.isHex3String(I)){return this.__cT();
}else if(this.isHex6String(I)){return this.__cU();
}throw new Error("Could not parse color: "+I);
},stringToRgbString:function(bg){return this.rgbToRgbString(this.stringToRgb(bg));
},rgbToRgbString:function(A){return U+A[0]+V+A[1]+V+A[2]+T;
},rgbToHexString:function(bh){return (qx.lang.String.pad(bh[0].toString(16).toUpperCase(),2)+qx.lang.String.pad(bh[1].toString(16).toUpperCase(),2)+qx.lang.String.pad(bh[2].toString(16).toUpperCase(),2));
},isValidPropertyValue:function(M){return this.isThemedColor(M)||this.isNamedColor(M)||this.isHex3String(M)||this.isHex6String(M)||this.isRgbString(M);
},isCssString:function(bf){return this.isSystemColor(bf)||this.isNamedColor(bf)||this.isHex3String(bf)||this.isHex6String(bf)||this.isRgbString(bf);
},isHex3String:function(e){return this.REGEXP.hex3.test(e);
},isHex6String:function(bi){return this.REGEXP.hex6.test(bi);
},isRgbString:function(Q){return this.REGEXP.rgb.test(Q);
},isRgbaString:function(H){return this.REGEXP.rgba.test(H);
},__cR:function(){var P=parseInt(RegExp.$1,10);
var O=parseInt(RegExp.$2,10);
var N=parseInt(RegExp.$3,10);
return [P,O,N];
},__cS:function(){var bd=parseInt(RegExp.$1,10);
var bc=parseInt(RegExp.$2,10);
var bb=parseInt(RegExp.$3,10);
return [bd,bc,bb];
},__cT:function(){var d=parseInt(RegExp.$1,16)*17;
var c=parseInt(RegExp.$2,16)*17;
var a=parseInt(RegExp.$3,16)*17;
return [d,c,a];
},__cU:function(){var Y=(parseInt(RegExp.$1,16)*16)+parseInt(RegExp.$2,16);
var X=(parseInt(RegExp.$3,16)*16)+parseInt(RegExp.$4,16);
var W=(parseInt(RegExp.$5,16)*16)+parseInt(RegExp.$6,16);
return [Y,X,W];
},hex3StringToRgb:function(j){if(this.isHex3String(j)){return this.__cT(j);
}throw new Error("Invalid hex3 value: "+j);
},hex6StringToRgb:function(h){if(this.isHex6String(h)){return this.__cU(h);
}throw new Error("Invalid hex6 value: "+h);
},hexStringToRgb:function(J){if(this.isHex3String(J)){return this.__cT(J);
}
if(this.isHex6String(J)){return this.__cU(J);
}throw new Error("Invalid hex value: "+J);
},rgbToHsb:function(k){var m,n,s;
var z=k[0];
var w=k[1];
var l=k[2];
var y=(z>w)?z:w;

if(l>y){y=l;
}var o=(z<w)?z:w;

if(l<o){o=l;
}s=y/255.0;

if(y!=0){n=(y-o)/y;
}else{n=0;
}
if(n==0){m=0;
}else{var v=(y-z)/(y-o);
var x=(y-w)/(y-o);
var u=(y-l)/(y-o);

if(z==y){m=u-x;
}else if(w==y){m=2.0+v-u;
}else{m=4.0+x-v;
}m=m/6.0;

if(m<0){m=m+1.0;
}}return [Math.round(m*360),Math.round(n*100),Math.round(s*100)];
},hsbToRgb:function(B){var i,f,p,q,t;
var C=B[0]/360;
var D=B[1]/100;
var E=B[2]/100;

if(C>=1.0){C%=1.0;
}
if(D>1.0){D=1.0;
}
if(E>1.0){E=1.0;
}var F=Math.floor(255*E);
var G={};

if(D==0.0){G.red=G.green=G.blue=F;
}else{C*=6.0;
i=Math.floor(C);
f=C-i;
p=Math.floor(F*(1.0-D));
q=Math.floor(F*(1.0-(D*f)));
t=Math.floor(F*(1.0-(D*(1.0-f))));

switch(i){case 0:G.red=F;
G.green=t;
G.blue=p;
break;
case 1:G.red=q;
G.green=F;
G.blue=p;
break;
case 2:G.red=p;
G.green=F;
G.blue=t;
break;
case 3:G.red=p;
G.green=q;
G.blue=F;
break;
case 4:G.red=t;
G.green=p;
G.blue=F;
break;
case 5:G.red=F;
G.green=p;
G.blue=q;
break;
}}return [G.red,G.green,G.blue];
},randomColor:function(){var r=Math.round(Math.random()*255);
var g=Math.round(Math.random()*255);
var b=Math.round(Math.random()*255);
return this.rgbToRgbString([r,g,b]);
}}});
})();
(function(){var h="object",g="_applyTheme",f="qx.theme.manager.Decoration",e="__cV",d="Theme",c="changeTheme",b="string",a="singleton";
qx.Class.define(f,{type:a,extend:qx.core.Object,properties:{theme:{check:d,nullable:true,apply:g,event:c}},members:{__cV:null,resolve:function(m){if(!m){return null;
}
if(typeof m===h){return m;
}var p=this.getTheme();

if(!p){return null;
}var p=this.getTheme();

if(!p){return null;
}var q=this.__cV;

if(!q){q=this.__cV={};
}var n=q[m];

if(n){return n;
}var o=p.decorations[m];

if(!o){return null;
}var r=o.decorator;

if(r==null){throw new Error("Missing definition of which decorator to use in entry: "+m+"!");
}return q[m]=(new r).set(o.style);
},isValidPropertyValue:function(i){if(typeof i===b){return this.isDynamic(i);
}else if(typeof i===h){var j=i.constructor;
return qx.Class.hasInterface(j,qx.ui.decoration.IDecorator);
}return false;
},isDynamic:function(k){if(!k){return false;
}var l=this.getTheme();

if(!l){return false;
}return !!l.decorations[k];
},_applyTheme:function(s,t){var v=qx.util.AliasManager.getInstance();

if(t){for(var u in t.aliases){v.remove(u);
}}
if(s){for(var u in s.aliases){v.add(u,s.aliases[u]);
}}
if(!s){this.__cV={};
}}},destruct:function(){this._disposeMap(e);
}});
})();
(function(){var c="qx.ui.decoration.IDecorator";
qx.Interface.define(c,{members:{getMarkup:function(){},resize:function(d,e,f){},tint:function(a,b){},getInsets:function(){}}});
})();
(function(){var l="/",k="0",j="qx/static",i="http://",h="https://",g="file://",f="qx.util.AliasManager",e="singleton",d=".",c="static";
qx.Class.define(f,{type:e,extend:qx.util.ValueManager,construct:function(){qx.util.ValueManager.call(this);
this.__cW={};
this.add(c,j);
},members:{__cW:null,_preprocess:function(m){var p=this._getDynamic();

if(p[m]===false){return m;
}else if(p[m]===undefined){if(m.charAt(0)===l||m.charAt(0)===d||m.indexOf(i)===0||m.indexOf(h)===k||m.indexOf(g)===0){p[m]=false;
return m;
}
if(this.__cW[m]){return this.__cW[m];
}var o=m.substring(0,m.indexOf(l));
var n=this.__cW[o];

if(n!==undefined){p[m]=n+m.substring(o.length);
}}return m;
},add:function(r,s){this.__cW[r]=s;
var u=this._getDynamic();
for(var t in u){if(t.substring(0,t.indexOf(l))===r){u[t]=s+t.substring(r.length);
}}},remove:function(q){delete this.__cW[q];
},resolve:function(a){var b=this._getDynamic();

if(a!=null){a=this._preprocess(a);
}return b[a]||a;
}},destruct:function(){this.__cW=null;
}});
})();
(function(){var k="qx.theme.manager.Font",j="Theme",i="changeTheme",h="_applyTheme",g="singleton";
qx.Class.define(k,{type:g,extend:qx.util.ValueManager,properties:{theme:{check:j,nullable:true,apply:h,event:i}},members:{resolveDynamic:function(a){var b=this._dynamic;
return a instanceof qx.bom.Font?a:b[a];
},resolve:function(c){var f=this._dynamic;
var d=f[c];

if(d){return d;
}var e=this.getTheme();

if(e!==null&&e.fonts[c]){return f[c]=(new qx.bom.Font).set(e.fonts[c]);
}return c;
},isDynamic:function(q){var s=this._dynamic;

if(q&&(q instanceof qx.bom.Font||s[q]!==undefined)){return true;
}var r=this.getTheme();

if(r!==null&&q&&r.fonts[q]){s[q]=(new qx.bom.Font).set(r.fonts[q]);
return true;
}return false;
},__cX:function(t,u){if(t[u].include){var v=t[t[u].include];
t[u].include=null;
delete t[u].include;
t[u]=qx.lang.Object.mergeWith(t[u],v,false);
this.__cX(t,u);
}},_applyTheme:function(l){var m=this._getDynamic();

for(var p in m){if(m[p].themed){m[p].dispose();
delete m[p];
}}
if(l){var n=l.fonts;
var o=qx.bom.Font;

for(var p in n){if(n[p].include&&n[n[p].include]){this.__cX(n,p);
}m[p]=(new o).set(n[p]);
m[p].themed=true;
}}this._setDynamic(m);
}}});
})();
(function(){var n="",m="underline",k="Boolean",j="px",h='"',g="italic",f="normal",e="bold",d="_applyItalic",c="_applyBold",z="Integer",y="_applyFamily",x="_applyLineHeight",w="Array",v="overline",u="line-through",t="qx.bom.Font",s="Number",r="_applyDecoration",q=" ",o="_applySize",p=",";
qx.Class.define(t,{extend:qx.core.Object,construct:function(A,B){qx.core.Object.call(this);

if(A!==undefined){this.setSize(A);
}
if(B!==undefined){this.setFamily(B);
}},statics:{fromString:function(P){var T=new qx.bom.Font();
var R=P.split(/\s+/);
var name=[];
var S;

for(var i=0;i<R.length;i++){switch(S=R[i]){case e:T.setBold(true);
break;
case g:T.setItalic(true);
break;
case m:T.setDecoration(m);
break;
default:var Q=parseInt(S,10);

if(Q==S||qx.lang.String.contains(S,j)){T.setSize(Q);
}else{name.push(S);
}break;
}}
if(name.length>0){T.setFamily(name);
}return T;
},fromConfig:function(C){var D=new qx.bom.Font;
D.set(C);
return D;
},__cY:{fontFamily:n,fontSize:n,fontWeight:n,fontStyle:n,textDecoration:n,lineHeight:1.2},getDefaultStyles:function(){return this.__cY;
}},properties:{size:{check:z,nullable:true,apply:o},lineHeight:{check:s,nullable:true,apply:x},family:{check:w,nullable:true,apply:y},bold:{check:k,nullable:true,apply:c},italic:{check:k,nullable:true,apply:d},decoration:{check:[m,u,v],nullable:true,apply:r}},members:{__da:null,__db:null,__dc:null,__dd:null,__de:null,__df:null,_applySize:function(L,M){this.__da=L===null?null:L+j;
},_applyLineHeight:function(J,K){this.__df=J===null?null:J;
},_applyFamily:function(E,F){var G=n;

for(var i=0,l=E.length;i<l;i++){if(E[i].indexOf(q)>0){G+=h+E[i]+h;
}else{G+=E[i];
}
if(i!==l-1){G+=p;
}}this.__db=G;
},_applyBold:function(H,I){this.__dc=H===null?null:H?e:f;
},_applyItalic:function(a,b){this.__dd=a===null?null:a?g:f;
},_applyDecoration:function(N,O){this.__de=N===null?null:N;
},getStyles:function(){return {fontFamily:this.__db,fontSize:this.__da,fontWeight:this.__dc,fontStyle:this.__dd,textDecoration:this.__de,lineHeight:this.__df};
}}});
})();
(function(){var b="CSS1Compat",a="qx.bom.client.Feature";
qx.Class.define(a,{statics:{STANDARD_MODE:false,QUIRKS_MODE:false,CONTENT_BOX:false,BORDER_BOX:false,SVG:false,CANVAS:!!window.CanvasRenderingContext2D,VML:false,XPATH:!!document.evaluate,AIR:navigator.userAgent.indexOf("adobeair")!==-1,GEARS:!!(window.google&&window.google.gears),SSL:window.location.protocol==="https:",ECMA_OBJECT_COUNT:(({}).__count__==0),CSS_POINTER_EVENTS:"pointerEvents" in document.documentElement.style,HTML5_CLASSLIST:(document.documentElement.classList&&qx.Bootstrap.getClass(document.documentElement.classList)==="DOMTokenList"),__dg:function(){this.QUIRKS_MODE=this.__dh();
this.STANDARD_MODE=!this.QUIRKS_MODE;
this.CONTENT_BOX=!qx.bom.client.Engine.MSHTML||this.STANDARD_MODE;
this.BORDER_BOX=!this.CONTENT_BOX;
this.SVG=document.implementation&&document.implementation.hasFeature&&(document.implementation.hasFeature("org.w3c.dom.svg","1.0")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));
this.VML=qx.bom.client.Engine.MSHTML;
},__dh:function(){if(qx.bom.client.Engine.MSHTML&&qx.bom.client.Engine.VERSION>=8){return qx.bom.client.Engine.DOCUMENT_MODE===5;
}else{return document.compatMode!==b;
}}},defer:function(c){c.__dg();
}});
})();
(function(){var j="qx.lang.Object";
qx.Class.define(j,{statics:{empty:function(I){{};

for(var J in I){if(I.hasOwnProperty(J)){delete I[J];
}}},isEmpty:(qx.bom.client.Feature.ECMA_OBJECT_COUNT)?
function(f){{};
return f.__count__===0;
}:
function(g){{};

for(var h in g){return false;
}return true;
},hasMinLength:(qx.bom.client.Feature.ECMA_OBJECT_COUNT)?
function(n,o){{};
return n.__count__>=o;
}:
function(C,D){{};

if(D<=0){return true;
}var length=0;

for(var E in C){if((++length)>=D){return true;
}}return false;
},getLength:qx.Bootstrap.objectGetLength,getKeys:qx.Bootstrap.getKeys,getKeysAsString:qx.Bootstrap.getKeysAsString,getValues:function(F){{};
var H=[];
var G=this.getKeys(F);

for(var i=0,l=G.length;i<l;i++){H.push(F[G[i]]);
}return H;
},mergeWith:qx.Bootstrap.objectMergeWith,carefullyMergeWith:function(k,m){{};
return qx.lang.Object.mergeWith(k,m,false);
},merge:function(t,u){{};
var v=arguments.length;

for(var i=1;i<v;i++){qx.lang.Object.mergeWith(t,arguments[i]);
}return t;
},clone:function(c){{};
var d={};

for(var e in c){d[e]=c[e];
}return d;
},invert:function(w){{};
var x={};

for(var y in w){x[w[y].toString()]=y;
}return x;
},getKeyFromValue:function(z,A){{};

for(var B in z){if(z.hasOwnProperty(B)&&z[B]===A){return B;
}}return null;
},contains:function(p,q){{};
return this.getKeyFromValue(p,q)!==null;
},select:function(r,s){{};
return s[r];
},fromArray:function(a){{};
var b={};

for(var i=0,l=a.length;i<l;i++){{};
b[a[i].toString()]=true;
}return b;
}}});
})();
(function(){var e="qx.theme.manager.Icon",d="Theme",c="changeTheme",b="_applyTheme",a="singleton";
qx.Class.define(e,{type:a,extend:qx.core.Object,properties:{theme:{check:d,nullable:true,apply:b,event:c}},members:{_applyTheme:function(f,g){var i=qx.util.AliasManager.getInstance();

if(g){for(var h in g.aliases){i.remove(h);
}}
if(f){for(var h in f.aliases){i.add(h,f.aliases[h]);
}}}}});
})();
(function(){var L="string",K="_applyTheme",J="qx.theme.manager.Appearance",I=":",H="Theme",G="changeTheme",F="/",E="singleton";
qx.Class.define(J,{type:E,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__di={};
this.__dj={};
},properties:{theme:{check:H,nullable:true,event:G,apply:K}},members:{__dk:{},__di:null,__dj:null,_applyTheme:function(l,m){this.__dj={};
this.__di={};
},__dl:function(a,b,c){var g=b.appearances;
var j=g[a];

if(!j){var k=F;
var d=[];
var i=a.split(k);
var h;

while(!j&&i.length>0){d.unshift(i.pop());
var e=i.join(k);
j=g[e];

if(j){h=j.alias||j;

if(typeof h===L){var f=h+k+d.join(k);
return this.__dl(f,b,c);
}}}if(c!=null){return this.__dl(c,b);
}return null;
}else if(typeof j===L){return this.__dl(j,b,c);
}else if(j.include&&!j.style){return this.__dl(j.include,b,c);
}return a;
},styleFrom:function(n,o,p,q){if(!p){p=this.getTheme();
}var w=this.__dj;
var r=w[n];

if(!r){r=w[n]=this.__dl(n,p,q);
}var B=p.appearances[r];

if(!B){this.warn("Missing appearance: "+n);
return null;
}if(!B.style){return null;
}var C=r;

if(o){var D=B.$$bits;

if(!D){D=B.$$bits={};
B.$$length=0;
}var u=0;

for(var x in o){if(!o[x]){continue;
}
if(D[x]==null){D[x]=1<<B.$$length++;
}u+=D[x];
}if(u>0){C+=I+u;
}}var v=this.__di;

if(v[C]!==undefined){return v[C];
}if(!o){o=this.__dk;
}var z;
if(B.include||B.base){var t=B.style(o);
var s;

if(B.include){s=this.styleFrom(B.include,o,p,q);
}z={};
if(B.base){var y=this.styleFrom(r,o,B.base,q);

if(B.include){for(var A in y){if(!s.hasOwnProperty(A)&&!t.hasOwnProperty(A)){z[A]=y[A];
}}}else{for(var A in y){if(!t.hasOwnProperty(A)){z[A]=y[A];
}}}}if(B.include){for(var A in s){if(!t.hasOwnProperty(A)){z[A]=s[A];
}}}for(var A in t){z[A]=t[A];
}}else{z=B.style(o);
}return v[C]=z||null;
}},destruct:function(){this.__di=this.__dj=null;
}});
})();
(function(){var x="other",w="widgets",v="fonts",u="appearances",t="qx.Theme",s="]",r="[Theme ",q="colors",p="decorations",o="Theme",k="meta",n="borders",m="icons";
qx.Bootstrap.define(t,{statics:{define:function(name,J){if(!J){var J={};
}J.include=this.__dm(J.include);
J.patch=this.__dm(J.patch);
{};
var K={$$type:o,name:name,title:J.title,toString:this.genericToString};
if(J.extend){K.supertheme=J.extend;
}K.basename=qx.Bootstrap.createNamespace(name,K);
this.__dp(K,J);
this.__dn(K,J);
this.$$registry[name]=K;
for(var i=0,a=J.include,l=a.length;i<l;i++){this.include(K,a[i]);
}
for(var i=0,a=J.patch,l=a.length;i<l;i++){this.patch(K,a[i]);
}},__dm:function(y){if(!y){return [];
}
if(qx.Bootstrap.isArray(y)){return y;
}else{return [y];
}},__dn:function(G,H){var I=H.aliases||{};

if(H.extend&&H.extend.aliases){qx.Bootstrap.objectMergeWith(I,H.extend.aliases,false);
}G.aliases=I;
},getAll:function(){return this.$$registry;
},getByName:function(name){return this.$$registry[name];
},isDefined:function(name){return this.getByName(name)!==undefined;
},getTotalNumber:function(){return qx.Bootstrap.objectGetLength(this.$$registry);
},genericToString:function(){return r+this.name+s;
},__do:function(b){for(var i=0,c=this.__dq,l=c.length;i<l;i++){if(b[c[i]]){return c[i];
}}},__dp:function(z,A){var D=this.__do(A);
if(A.extend&&!D){D=A.extend.type;
}z.type=D||x;
if(!D){return;
}var F=function(){};
if(A.extend){F.prototype=new A.extend.$$clazz;
}var E=F.prototype;
var C=A[D];
for(var B in C){E[B]=C[B];
if(E[B].base){{};
E[B].base=A.extend;
}}z.$$clazz=F;
z[D]=new F;
},$$registry:{},__dq:[q,n,p,v,m,w,u,k],__dr:null,__ds:null,__dt:function(){},patch:function(L,M){var O=this.__do(M);

if(O!==this.__do(L)){throw new Error("The mixins '"+L.name+"' are not compatible '"+M.name+"'!");
}var N=M[O];
var P=L.$$clazz.prototype;

for(var Q in N){P[Q]=N[Q];
}},include:function(d,e){var g=e.type;

if(g!==d.type){throw new Error("The mixins '"+d.name+"' are not compatible '"+e.name+"'!");
}var f=e[g];
var h=d.$$clazz.prototype;

for(var j in f){if(h[j]!==undefined){continue;
}h[j]=f[j];
}}}});
})();
(function(){var A="focusout",z="interval",y="mouseover",x="mouseout",w="mousemove",v="widget",u="__dv",t="qx.ui.tooltip.ToolTip",s="Boolean",r="_applyCurrent",o="__du",q="qx.ui.tooltip.Manager",p="__dx",n="tooltip-error",m="singleton";
qx.Class.define(q,{type:m,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
qx.event.Registration.addListener(document.body,y,this.__dE,this,true);
this.__du=new qx.event.Timer();
this.__du.addListener(z,this.__dB,this);
this.__dv=new qx.event.Timer();
this.__dv.addListener(z,this.__dC,this);
this.__dw={left:0,top:0};
},properties:{current:{check:t,nullable:true,apply:r},showInvalidTooltips:{check:s,init:true}},members:{__dw:null,__dv:null,__du:null,__dx:null,__dy:null,__dz:function(){if(!this.__dx){this.__dx=new qx.ui.tooltip.ToolTip().set({rich:true});
}return this.__dx;
},__dA:function(){if(!this.__dy){this.__dy=new qx.ui.tooltip.ToolTip().set({appearance:n});
this.__dy.syncAppearance();
}return this.__dy;
},_applyCurrent:function(B,C){if(C&&qx.ui.core.Widget.contains(C,B)){return;
}if(C){if(!C.isDisposed()){C.exclude();
}this.__du.stop();
this.__dv.stop();
}var E=qx.event.Registration;
var D=document.body;
if(B){this.__du.startWith(B.getShowTimeout());
E.addListener(D,x,this.__dF,this,true);
E.addListener(D,A,this.__dG,this,true);
E.addListener(D,w,this.__dD,this,true);
}else{E.removeListener(D,x,this.__dF,this,true);
E.removeListener(D,A,this.__dG,this,true);
E.removeListener(D,w,this.__dD,this,true);
}},__dB:function(e){var k=this.getCurrent();

if(k&&!k.isDisposed()){this.__dv.startWith(k.getHideTimeout());

if(k.getPlaceMethod()==v){k.placeToWidget(k.getOpener());
}else{k.placeToPoint(this.__dw);
}k.show();
}this.__du.stop();
},__dC:function(e){var l=this.getCurrent();

if(l&&!l.isDisposed()){l.exclude();
}this.__dv.stop();
this.resetCurrent();
},__dD:function(e){var g=this.__dw;
g.left=e.getDocumentLeft();
g.top=e.getDocumentTop();
},__dE:function(e){var c=qx.ui.core.Widget.getWidgetByElement(e.getTarget());

if(!c){return;
}var d;
while(c!=null){var d=c.getToolTip();
var f=c.getToolTipText()||null;
var b=c.getToolTipIcon()||null;

if(qx.Class.hasInterface(c.constructor,qx.ui.form.IForm)&&!c.isValid()){var a=c.getInvalidMessage();
}
if(d||f||b||a){break;
}c=c.getLayoutParent();
}
if(!c){return;
}
if(c.isBlockToolTip()){return;
}if(a&&c.getEnabled()){if(!this.getShowInvalidTooltips()){return;
}var d=this.__dA().set({label:a});
}else if(!d){var d=this.__dz().set({label:f,icon:b});
}this.setCurrent(d);
d.setOpener(c);
},__dF:function(e){var h=qx.ui.core.Widget.getWidgetByElement(e.getTarget());

if(!h){return;
}var i=qx.ui.core.Widget.getWidgetByElement(e.getRelatedTarget());

if(!i){return;
}var j=this.getCurrent();
if(j&&(i==j||qx.ui.core.Widget.contains(j,i))){return;
}if(i&&h&&qx.ui.core.Widget.contains(h,i)){return;
}if(j&&!i){this.setCurrent(null);
}else{this.resetCurrent();
}},__dG:function(e){var F=qx.ui.core.Widget.getWidgetByElement(e.getTarget());

if(!F){return;
}var G=this.getCurrent();
if(G&&G==F.getToolTip()){this.setCurrent(null);
}}},destruct:function(){qx.event.Registration.removeListener(document.body,y,this.__dE,this,true);
this._disposeObjects(o,u,p);
this.__dw=null;
}});
})();
(function(){var l="interval",k="qx.event.Timer",j="_applyInterval",i="_applyEnabled",h="Boolean",g="qx.event.type.Event",f="Integer";
qx.Class.define(k,{extend:qx.core.Object,construct:function(n){qx.core.Object.call(this);
this.setEnabled(false);

if(n!=null){this.setInterval(n);
}var self=this;
this.__dH=function(){self._oninterval.call(self);
};
},events:{"interval":g},statics:{once:function(o,p,q){var r=new qx.event.Timer(q);
r.__dI=o;
r.addListener(l,function(e){r.stop();
o.call(p,e);
r.dispose();
p=null;
},p);
r.start();
return r;
}},properties:{enabled:{init:true,check:h,apply:i},interval:{check:f,init:1000,apply:j}},members:{__dJ:null,__dH:null,_applyInterval:function(c,d){if(this.getEnabled()){this.restart();
}},_applyEnabled:function(a,b){if(b){window.clearInterval(this.__dJ);
this.__dJ=null;
}else if(a){this.__dJ=window.setInterval(this.__dH,this.getInterval());
}},start:function(){this.setEnabled(true);
},startWith:function(m){this.setInterval(m);
this.start();
},stop:function(){this.setEnabled(false);
},restart:function(){this.stop();
this.start();
},restartWith:function(s){this.stop();
this.startWith(s);
},_oninterval:qx.event.GlobalError.observeMethod(function(){if(this.$$disposed){return;
}
if(this.getEnabled()){this.fireEvent(l);
}})},destruct:function(){if(this.__dJ){window.clearInterval(this.__dJ);
}this.__dJ=this.__dH=null;
}});
})();
(function(){var b="qx.ui.core.MChildrenHandling";
qx.Mixin.define(b,{members:{getChildren:function(){return this._getChildren();
},hasChildren:function(){return this._hasChildren();
},indexOf:function(a){return this._indexOf(a);
},add:function(e,f){this._add(e,f);
},addAt:function(h,i,j){this._addAt(h,i,j);
},addBefore:function(n,o,p){this._addBefore(n,o,p);
},addAfter:function(k,l,m){this._addAfter(k,l,m);
},remove:function(c){this._remove(c);
},removeAt:function(d){return this._removeAt(d);
},removeAll:function(){this._removeAll();
}},statics:{remap:function(g){g.getChildren=g._getChildren;
g.hasChildren=g._hasChildren;
g.indexOf=g._indexOf;
g.add=g._add;
g.addAt=g._addAt;
g.addBefore=g._addBefore;
g.addAfter=g._addAfter;
g.remove=g._remove;
g.removeAt=g._removeAt;
g.removeAll=g._removeAll;
}}});
})();
(function(){var a="qx.ui.core.MLayoutHandling";
qx.Mixin.define(a,{members:{setLayout:function(b){return this._setLayout(b);
},getLayout:function(){return this._getLayout();
}},statics:{remap:function(c){c.getLayout=c._getLayout;
c.setLayout=c._setLayout;
}}});
})();
(function(){var j="Integer",i="_applyDimension",h="Boolean",g="_applyStretching",f="_applyMargin",e="shorthand",d="_applyAlign",c="allowShrinkY",b="bottom",a="baseline",x="marginBottom",w="qx.ui.core.LayoutItem",v="center",u="marginTop",t="allowGrowX",s="middle",r="marginLeft",q="allowShrinkX",p="top",o="right",m="marginRight",n="abstract",k="allowGrowY",l="left";
qx.Class.define(w,{type:n,extend:qx.core.Object,properties:{minWidth:{check:j,nullable:true,apply:i,init:null,themeable:true},width:{check:j,nullable:true,apply:i,init:null,themeable:true},maxWidth:{check:j,nullable:true,apply:i,init:null,themeable:true},minHeight:{check:j,nullable:true,apply:i,init:null,themeable:true},height:{check:j,nullable:true,apply:i,init:null,themeable:true},maxHeight:{check:j,nullable:true,apply:i,init:null,themeable:true},allowGrowX:{check:h,apply:g,init:true,themeable:true},allowShrinkX:{check:h,apply:g,init:true,themeable:true},allowGrowY:{check:h,apply:g,init:true,themeable:true},allowShrinkY:{check:h,apply:g,init:true,themeable:true},allowStretchX:{group:[t,q],mode:e,themeable:true},allowStretchY:{group:[k,c],mode:e,themeable:true},marginTop:{check:j,init:0,apply:f,themeable:true},marginRight:{check:j,init:0,apply:f,themeable:true},marginBottom:{check:j,init:0,apply:f,themeable:true},marginLeft:{check:j,init:0,apply:f,themeable:true},margin:{group:[u,m,x,r],mode:e,themeable:true},alignX:{check:[l,v,o],nullable:true,apply:d,themeable:true},alignY:{check:[p,s,b,a],nullable:true,apply:d,themeable:true}},members:{__dK:null,__dL:null,__dM:null,__dN:null,__dO:null,__dP:null,__dQ:null,getBounds:function(){return this.__dP||this.__dL||null;
},clearSeparators:function(){},renderSeparator:function(J,K){},renderLayout:function(L,top,M,N){var O;
{};
var P=null;

if(this.getHeight()==null&&this._hasHeightForWidth()){var P=this._getHeightForWidth(M);
}
if(P!=null&&P!==this.__dK){this.__dK=P;
qx.ui.core.queue.Layout.add(this);
return null;
}var R=this.__dL;

if(!R){R=this.__dL={};
}var Q={};

if(L!==R.left||top!==R.top){Q.position=true;
R.left=L;
R.top=top;
}
if(M!==R.width||N!==R.height){Q.size=true;
R.width=M;
R.height=N;
}if(this.__dM){Q.local=true;
delete this.__dM;
}
if(this.__dO){Q.margin=true;
delete this.__dO;
}return Q;
},isExcluded:function(){return false;
},hasValidLayout:function(){return !this.__dM;
},scheduleLayoutUpdate:function(){qx.ui.core.queue.Layout.add(this);
},invalidateLayoutCache:function(){this.__dM=true;
this.__dN=null;
},getSizeHint:function(S){var T=this.__dN;

if(T){return T;
}
if(S===false){return null;
}T=this.__dN=this._computeSizeHint();
if(this._hasHeightForWidth()&&this.__dK&&this.getHeight()==null){T.height=this.__dK;
}if(T.minWidth>T.width){T.width=T.minWidth;
}
if(T.maxWidth<T.width){T.width=T.maxWidth;
}
if(!this.getAllowGrowX()){T.maxWidth=T.width;
}
if(!this.getAllowShrinkX()){T.minWidth=T.width;
}if(T.minHeight>T.height){T.height=T.minHeight;
}
if(T.maxHeight<T.height){T.height=T.maxHeight;
}
if(!this.getAllowGrowY()){T.maxHeight=T.height;
}
if(!this.getAllowShrinkY()){T.minHeight=T.height;
}return T;
},_computeSizeHint:function(){var Y=this.getMinWidth()||0;
var V=this.getMinHeight()||0;
var ba=this.getWidth()||Y;
var X=this.getHeight()||V;
var U=this.getMaxWidth()||Infinity;
var W=this.getMaxHeight()||Infinity;
return {minWidth:Y,width:ba,maxWidth:U,minHeight:V,height:X,maxHeight:W};
},_hasHeightForWidth:function(){var bb=this._getLayout();

if(bb){return bb.hasHeightForWidth();
}return false;
},_getHeightForWidth:function(bc){var bd=this._getLayout();

if(bd&&bd.hasHeightForWidth()){return bd.getHeightForWidth(bc);
}return null;
},_getLayout:function(){return null;
},_applyMargin:function(){this.__dO=true;
var parent=this.$$parent;

if(parent){parent.updateLayoutProperties();
}},_applyAlign:function(){var parent=this.$$parent;

if(parent){parent.updateLayoutProperties();
}},_applyDimension:function(){qx.ui.core.queue.Layout.add(this);
},_applyStretching:function(){qx.ui.core.queue.Layout.add(this);
},hasUserBounds:function(){return !!this.__dP;
},setUserBounds:function(D,top,E,F){this.__dP={left:D,top:top,width:E,height:F};
qx.ui.core.queue.Layout.add(this);
},resetUserBounds:function(){delete this.__dP;
qx.ui.core.queue.Layout.add(this);
},__dR:{},setLayoutProperties:function(G){if(G==null){return;
}var H=this.__dQ;

if(!H){H=this.__dQ={};
}var parent=this.getLayoutParent();

if(parent){parent.updateLayoutProperties(G);
}for(var I in G){if(G[I]==null){delete H[I];
}else{H[I]=G[I];
}}},getLayoutProperties:function(){return this.__dQ||this.__dR;
},clearLayoutProperties:function(){delete this.__dQ;
},updateLayoutProperties:function(A){var B=this._getLayout();

if(B){var C;
{};
B.invalidateChildrenCache();
}qx.ui.core.queue.Layout.add(this);
},getApplicationRoot:function(){return qx.core.Init.getApplication().getRoot();
},getLayoutParent:function(){return this.$$parent||null;
},setLayoutParent:function(parent){if(this.$$parent===parent){return;
}this.$$parent=parent||null;
qx.ui.core.queue.Visibility.add(this);
},isRootWidget:function(){return false;
},_getRoot:function(){var parent=this;

while(parent){if(parent.isRootWidget()){return parent;
}parent=parent.$$parent;
}return null;
},clone:function(){var y=qx.core.Object.prototype.clone.call(this);
var z=this.__dQ;

if(z){y.__dQ=qx.lang.Object.clone(z);
}return y;
}},destruct:function(){this.$$parent=this.$$subparent=this.__dQ=this.__dL=this.__dP=this.__dN=null;
}});
})();
(function(){var k="qx.ui.core.DecoratorFactory",j="$$nopool$$";
qx.Class.define(k,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__dS={};
},statics:{MAX_SIZE:15,__dT:j},members:{__dS:null,getDecoratorElement:function(l){var q=qx.ui.core.DecoratorFactory;

if(qx.lang.Type.isString(l)){var o=l;
var n=qx.theme.manager.Decoration.getInstance().resolve(l);
}else{var o=q.__dT;
n=l;
}var p=this.__dS;

if(p[o]&&p[o].length>0){var m=p[o].pop();
}else{var m=this._createDecoratorElement(n,o);
}m.$$pooled=false;
return m;
},poolDecorator:function(f){if(!f||f.$$pooled){return;
}var i=qx.ui.core.DecoratorFactory;
var g=f.getId();

if(g==i.__dT){f.dispose();
return;
}var h=this.__dS;

if(!h[g]){h[g]=[];
}
if(h[g].length>i.MAX_SIZE){f.dispose();
}else{f.$$pooled=true;
h[g].push(f);
}},_createDecoratorElement:function(c,d){var e=new qx.html.Decorator(c,d);
{};
return e;
},toString:function(){return qx.core.Object.prototype.toString.call(this);
}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){var b=this.__dS;

for(var a in b){qx.util.DisposeUtil.disposeArray(b,a);
}}this.__dS=null;
}});
})();
(function(){var gE="px",gD="Boolean",gC="qx.event.type.Mouse",gB="qx.event.type.Drag",gA="visible",gz="qx.event.type.Focus",gy="on",gx="Integer",gw="excluded",gv="qx.event.type.Data",gh="_applyPadding",gg="qx.event.type.Event",gf="hidden",ge="contextmenu",gd="String",gc="tabIndex",gb="backgroundColor",ga="focused",fY="changeVisibility",fX="mshtml",gL="hovered",gM="qx.event.type.KeySequence",gJ="qx.client",gK="absolute",gH="drag",gI="div",gF="disabled",gG="move",gN="dragstart",gO="qx.dynlocale",go="dragchange",gn="dragend",gq="resize",gp="Decorator",gs="zIndex",gr="opacity",gu="default",gt="Color",gm="changeToolTipText",gl="beforeContextmenuOpen",eO="_applyNativeContextMenu",eP="_applyBackgroundColor",eQ="_applyFocusable",eR="changeShadow",eS="qx.event.type.KeyInput",eT="createChildControl",eU="__eb",eV="Font",eW="_applyShadow",eX="__ei",gS="_applyEnabled",gR="_applySelectable",gQ="Number",gP="_applyKeepActive",gW="__dY",gV="__ea",gU="_applyVisibility",gT="__eg",gY="repeat",gX="qxDraggable",fx="syncAppearance",fy="paddingLeft",fv="_applyDroppable",fw="#",fB="qx.event.type.MouseWheel",fC="_applyCursor",fz="_applyDraggable",fA="changeTextColor",ft="$$widget",fu="changeContextMenu",fg="paddingTop",ff="changeSelectable",fi="hideFocus",fh="none",fc="outline",fb="_applyAppearance",fe="_applyOpacity",fd="url(",fa=")",eY="qx.ui.core.Widget",fH="_applyFont",fI="cursor",fJ="qxDroppable",fK="changeZIndex",fD="changeEnabled",fE="changeFont",fF="__ee",fG="__dU",fL="_applyDecorator",fM="_applyZIndex",fq="_applyTextColor",fp="qx.ui.menu.Menu",fo="_applyToolTipText",fn="true",fm="widget",fl="changeDecorator",fk="__dV",fj="_applyTabIndex",fs="changeAppearance",fr="shorthand",fN="/",fO="",fP="_applyContextMenu",fQ="paddingBottom",fR="changeNativeContextMenu",fS="qx.ui.tooltip.ToolTip",fT="qxKeepActive",fU="_applyKeepFocus",fV="paddingRight",fW="changeBackgroundColor",gk="changeLocale",gj="qxKeepFocus",gi="qx/static/blank.gif";
qx.Class.define(eY,{extend:qx.ui.core.LayoutItem,include:[qx.locale.MTranslation],construct:function(){qx.ui.core.LayoutItem.call(this);
this.__dU=this._createContainerElement();
this.__dV=this.__eh();
this.__dU.add(this.__dV);
this.initFocusable();
this.initSelectable();
this.initNativeContextMenu();
},events:{appear:gg,disappear:gg,createChildControl:gv,resize:gv,move:gv,syncAppearance:gv,mousemove:gC,mouseover:gC,mouseout:gC,mousedown:gC,mouseup:gC,click:gC,dblclick:gC,contextmenu:gC,beforeContextmenuOpen:gC,mousewheel:fB,keyup:gM,keydown:gM,keypress:gM,keyinput:eS,focus:gz,blur:gz,focusin:gz,focusout:gz,activate:gz,deactivate:gz,capture:gg,losecapture:gg,drop:gB,dragleave:gB,dragover:gB,drag:gB,dragstart:gB,dragend:gB,dragchange:gB,droprequest:gB},properties:{paddingTop:{check:gx,init:0,apply:gh,themeable:true},paddingRight:{check:gx,init:0,apply:gh,themeable:true},paddingBottom:{check:gx,init:0,apply:gh,themeable:true},paddingLeft:{check:gx,init:0,apply:gh,themeable:true},padding:{group:[fg,fV,fQ,fy],mode:fr,themeable:true},zIndex:{nullable:true,init:null,apply:fM,event:fK,check:gx,themeable:true},decorator:{nullable:true,init:null,apply:fL,event:fl,check:gp,themeable:true},shadow:{nullable:true,init:null,apply:eW,event:eR,check:gp,themeable:true},backgroundColor:{nullable:true,check:gt,apply:eP,event:fW,themeable:true},textColor:{nullable:true,check:gt,apply:fq,event:fA,themeable:true,inheritable:true},font:{nullable:true,apply:fH,check:eV,event:fE,themeable:true,inheritable:true,dereference:true},opacity:{check:gQ,apply:fe,themeable:true,nullable:true,init:null},cursor:{check:gd,apply:fC,themeable:true,inheritable:true,nullable:true,init:null},toolTip:{check:fS,nullable:true},toolTipText:{check:gd,nullable:true,event:gm,apply:fo},toolTipIcon:{check:gd,nullable:true,event:gm},blockToolTip:{check:gD,init:false},visibility:{check:[gA,gf,gw],init:gA,apply:gU,event:fY},enabled:{init:true,check:gD,inheritable:true,apply:gS,event:fD},anonymous:{init:false,check:gD},tabIndex:{check:gx,nullable:true,apply:fj},focusable:{check:gD,init:false,apply:eQ},keepFocus:{check:gD,init:false,apply:fU},keepActive:{check:gD,init:false,apply:gP},draggable:{check:gD,init:false,apply:fz},droppable:{check:gD,init:false,apply:fv},selectable:{check:gD,init:false,event:ff,apply:gR},contextMenu:{check:fp,apply:fP,nullable:true,event:fu},nativeContextMenu:{check:gD,init:false,themeable:true,event:fR,apply:eO},appearance:{check:gd,init:fm,apply:fb,event:fs}},statics:{DEBUG:false,getWidgetByElement:function(dl){while(dl){var dm=dl.$$widget;
if(dm!=null){return qx.core.ObjectRegistry.fromHashCode(dm);
}try{dl=dl.parentNode;
}catch(e){return null;
}}return null;
},contains:function(parent,dq){while(dq){if(parent==dq){return true;
}dq=dq.getLayoutParent();
}return false;
},__dW:new qx.ui.core.DecoratorFactory(),__dX:new qx.ui.core.DecoratorFactory()},members:{__dU:null,__dV:null,__dY:null,__ea:null,__eb:null,__ec:null,__ed:null,__ee:null,_getLayout:function(){return this.__ee;
},_setLayout:function(cG){{};

if(this.__ee){this.__ee.connectToWidget(null);
}
if(cG){cG.connectToWidget(this);
}this.__ee=cG;
qx.ui.core.queue.Layout.add(this);
},setLayoutParent:function(parent){if(this.$$parent===parent){return;
}var cS=this.getContainerElement();

if(this.$$parent&&!this.$$parent.$$disposed){this.$$parent.getContentElement().remove(cS);
}this.$$parent=parent||null;

if(parent&&!parent.$$disposed){this.$$parent.getContentElement().add(cS);
}this.$$refreshInheritables();
qx.ui.core.queue.Visibility.add(this);
},_updateInsets:null,__ef:function(a,b){if(a==b){return false;
}
if(a==null||b==null){return true;
}var cw=qx.theme.manager.Decoration.getInstance();
var cy=cw.resolve(a).getInsets();
var cx=cw.resolve(b).getInsets();

if(cy.top!=cx.top||cy.right!=cx.right||cy.bottom!=cx.bottom||cy.left!=cx.left){return true;
}return false;
},renderLayout:function(dL,top,dM,dN){var dW=qx.ui.core.LayoutItem.prototype.renderLayout.call(this,dL,top,dM,dN);
if(!dW){return;
}var dP=this.getContainerElement();
var content=this.getContentElement();
var dT=dW.size||this._updateInsets;
var dX=gE;
var dU={};
if(dW.position){dU.left=dL+dX;
dU.top=top+dX;
}if(dW.size){dU.width=dM+dX;
dU.height=dN+dX;
}
if(dW.position||dW.size){dP.setStyles(dU);
}
if(dT||dW.local||dW.margin){var dO=this.getInsets();
var innerWidth=dM-dO.left-dO.right;
var innerHeight=dN-dO.top-dO.bottom;
innerWidth=innerWidth<0?0:innerWidth;
innerHeight=innerHeight<0?0:innerHeight;
}var dR={};

if(this._updateInsets){dR.left=dO.left+dX;
dR.top=dO.top+dX;
}
if(dT){dR.width=innerWidth+dX;
dR.height=innerHeight+dX;
}
if(dT||this._updateInsets){content.setStyles(dR);
}
if(dW.size){var dV=this.__eb;

if(dV){dV.setStyles({width:dM+gE,height:dN+gE});
}}
if(dW.size||this._updateInsets){if(this.__dY){this.__dY.resize(dM,dN);
}}
if(dW.size){if(this.__ea){var dO=this.__ea.getInsets();
var dS=dM+dO.left+dO.right;
var dQ=dN+dO.top+dO.bottom;
this.__ea.resize(dS,dQ);
}}
if(dT||dW.local||dW.margin){if(this.__ee&&this.hasLayoutChildren()){this.__ee.renderLayout(innerWidth,innerHeight);
}else if(this.hasLayoutChildren()){throw new Error("At least one child in control "+this._findTopControl()+" requires a layout, but no one was defined!");
}}if(dW.position&&this.hasListener(gG)){this.fireDataEvent(gG,this.getBounds());
}
if(dW.size&&this.hasListener(gq)){this.fireDataEvent(gq,this.getBounds());
}delete this._updateInsets;
return dW;
},__eg:null,clearSeparators:function(){var cf=this.__eg;

if(!cf){return;
}var cg=qx.ui.core.Widget.__dW;
var content=this.getContentElement();
var ce;

for(var i=0,l=cf.length;i<l;i++){ce=cf[i];
cg.poolDecorator(ce);
content.remove(ce);
}cf.length=0;
},renderSeparator:function(bk,bl){var bm=qx.ui.core.Widget.__dW.getDecoratorElement(bk);
this.getContentElement().add(bm);
bm.resize(bl.width,bl.height);
bm.setStyles({left:bl.left+gE,top:bl.top+gE});
if(!this.__eg){this.__eg=[bm];
}else{this.__eg.push(bm);
}},_computeSizeHint:function(){var dH=this.getWidth();
var dG=this.getMinWidth();
var dC=this.getMaxWidth();
var dF=this.getHeight();
var dD=this.getMinHeight();
var dE=this.getMaxHeight();
{};
var dI=this._getContentHint();
var dB=this.getInsets();
var dK=dB.left+dB.right;
var dJ=dB.top+dB.bottom;

if(dH==null){dH=dI.width+dK;
}
if(dF==null){dF=dI.height+dJ;
}
if(dG==null){dG=dK;

if(dI.minWidth!=null){dG+=dI.minWidth;
}}
if(dD==null){dD=dJ;

if(dI.minHeight!=null){dD+=dI.minHeight;
}}
if(dC==null){if(dI.maxWidth==null){dC=Infinity;
}else{dC=dI.maxWidth+dK;
}}
if(dE==null){if(dI.maxHeight==null){dE=Infinity;
}else{dE=dI.maxHeight+dJ;
}}return {width:dH,minWidth:dG,maxWidth:dC,height:dF,minHeight:dD,maxHeight:dE};
},invalidateLayoutCache:function(){qx.ui.core.LayoutItem.prototype.invalidateLayoutCache.call(this);

if(this.__ee){this.__ee.invalidateLayoutCache();
}},_getContentHint:function(){var ew=this.__ee;

if(ew){if(this.hasLayoutChildren()){var ev;
var ex=ew.getSizeHint();
{};
return ex;
}else{return {width:0,height:0};
}}else{return {width:100,height:50};
}},_getHeightForWidth:function(cT){var cX=this.getInsets();
var db=cX.left+cX.right;
var da=cX.top+cX.bottom;
var cY=cT-db;
var cV=this._getLayout();

if(cV&&cV.hasHeightForWidth()){var cU=cV.getHeightForWidth(cT);
}else{cU=this._getContentHeightForWidth(cY);
}var cW=cU+da;
return cW;
},_getContentHeightForWidth:function(bJ){throw new Error("Abstract method call: _getContentHeightForWidth()!");
},getInsets:function(){var top=this.getPaddingTop();
var eb=this.getPaddingRight();
var ed=this.getPaddingBottom();
var ec=this.getPaddingLeft();

if(this.__dY){var ea=this.__dY.getInsets();
{};
top+=ea.top;
eb+=ea.right;
ed+=ea.bottom;
ec+=ea.left;
}return {"top":top,"right":eb,"bottom":ed,"left":ec};
},getInnerSize:function(){var bI=this.getBounds();

if(!bI){return null;
}var bH=this.getInsets();
return {width:bI.width-bH.left-bH.right,height:bI.height-bH.top-bH.bottom};
},show:function(){this.setVisibility(gA);
},hide:function(){this.setVisibility(gf);
},exclude:function(){this.setVisibility(gw);
},isVisible:function(){return this.getVisibility()===gA;
},isHidden:function(){return this.getVisibility()!==gA;
},isExcluded:function(){return this.getVisibility()===gw;
},isSeeable:function(){var eJ=this.getContainerElement().getDomElement();

if(eJ){return eJ.offsetWidth>0;
}var eI=this;

do{if(!eI.isVisible()){return false;
}
if(eI.isRootWidget()){return true;
}eI=eI.getLayoutParent();
}while(eI);
return false;
},_createContainerElement:function(){var K={"$$widget":this.toHashCode()};
{};
var J={zIndex:0,position:gK};
return new qx.html.Element(gI,J,K);
},__eh:function(){var eu=this._createContentElement();
{};
eu.setStyles({"position":gK,"zIndex":10});
return eu;
},_createContentElement:function(){return new qx.html.Element(gI,{overflowX:gf,overflowY:gf});
},getContainerElement:function(){return this.__dU;
},getContentElement:function(){return this.__dV;
},getDecoratorElement:function(){return this.__dY||null;
},getShadowElement:function(){return this.__ea||null;
},__ei:null,getLayoutChildren:function(){var bF=this.__ei;

if(!bF){return this.__ej;
}var bG;

for(var i=0,l=bF.length;i<l;i++){var bE=bF[i];

if(bE.hasUserBounds()||bE.isExcluded()){if(bG==null){bG=bF.concat();
}qx.lang.Array.remove(bG,bE);
}}return bG||bF;
},scheduleLayoutUpdate:function(){qx.ui.core.queue.Layout.add(this);
},invalidateLayoutChildren:function(){var L=this.__ee;

if(L){L.invalidateChildrenCache();
}qx.ui.core.queue.Layout.add(this);
},hasLayoutChildren:function(){var V=this.__ei;

if(!V){return false;
}var W;

for(var i=0,l=V.length;i<l;i++){W=V[i];

if(!W.hasUserBounds()&&!W.isExcluded()){return true;
}}return false;
},getChildrenContainer:function(){return this;
},__ej:[],_getChildren:function(){return this.__ei||this.__ej;
},_indexOf:function(bK){var bL=this.__ei;

if(!bL){return -1;
}return bL.indexOf(bK);
},_hasChildren:function(){var N=this.__ei;
return N!=null&&(!!N[0]);
},addChildrenToQueue:function(bt){var bu=this.__ei;

if(!bu){return;
}var bv;

for(var i=0,l=bu.length;i<l;i++){bv=bu[i];
bt[bv.$$hash]=bv;
bv.addChildrenToQueue(bt);
}},_add:function(ch,ci){if(ch.getLayoutParent()==this){qx.lang.Array.remove(this.__ei,ch);
}
if(this.__ei){this.__ei.push(ch);
}else{this.__ei=[ch];
}this.__ek(ch,ci);
},_addAt:function(bp,bq,br){if(!this.__ei){this.__ei=[];
}if(bp.getLayoutParent()==this){qx.lang.Array.remove(this.__ei,bp);
}var bs=this.__ei[bq];

if(bs===bp){return bp.setLayoutProperties(br);
}
if(bs){qx.lang.Array.insertBefore(this.__ei,bp,bs);
}else{this.__ei.push(bp);
}this.__ek(bp,br);
},_addBefore:function(be,bf,bg){{};

if(be==bf){return;
}
if(!this.__ei){this.__ei=[];
}if(be.getLayoutParent()==this){qx.lang.Array.remove(this.__ei,be);
}qx.lang.Array.insertBefore(this.__ei,be,bf);
this.__ek(be,bg);
},_addAfter:function(s,t,u){{};

if(s==t){return;
}
if(!this.__ei){this.__ei=[];
}if(s.getLayoutParent()==this){qx.lang.Array.remove(this.__ei,s);
}qx.lang.Array.insertAfter(this.__ei,s,t);
this.__ek(s,u);
},_remove:function(eA){if(!this.__ei){throw new Error("This widget has no children!");
}qx.lang.Array.remove(this.__ei,eA);
this.__el(eA);
},_removeAt:function(T){if(!this.__ei){throw new Error("This widget has no children!");
}var U=this.__ei[T];
qx.lang.Array.removeAt(this.__ei,T);
this.__el(U);
return U;
},_removeAll:function(){if(!this.__ei){return;
}var O=this.__ei.concat();
this.__ei.length=0;

for(var i=O.length-1;i>=0;i--){this.__el(O[i]);
}qx.ui.core.queue.Layout.add(this);
},_afterAddChild:null,_afterRemoveChild:null,__ek:function(ey,ez){{};
var parent=ey.getLayoutParent();

if(parent&&parent!=this){parent._remove(ey);
}ey.setLayoutParent(this);
if(ez){ey.setLayoutProperties(ez);
}else{this.updateLayoutProperties();
}if(this._afterAddChild){this._afterAddChild(ey);
}},__el:function(eo){{};

if(eo.getLayoutParent()!==this){throw new Error("Remove Error: "+eo+" is not a child of this widget!");
}eo.setLayoutParent(null);
if(this.__ee){this.__ee.invalidateChildrenCache();
}qx.ui.core.queue.Layout.add(this);
if(this._afterRemoveChild){this._afterRemoveChild(eo);
}},capture:function(dY){this.getContainerElement().capture(dY);
},releaseCapture:function(){this.getContainerElement().releaseCapture();
},_applyPadding:function(bc,bd,name){this._updateInsets=true;
qx.ui.core.queue.Layout.add(this);
},_createProtectorElement:function(){if(this.__eb){return;
}var dc=this.__eb=new qx.html.Element;
{};
dc.setStyles({position:gK,top:0,left:0,zIndex:7});
var dd=this.getBounds();

if(dd){this.__eb.setStyles({width:dd.width+gE,height:dd.height+gE});
}if(qx.core.Variant.isSet(gJ,fX)){dc.setStyles({backgroundImage:fd+qx.util.ResourceManager.getInstance().toUri(gi)+fa,backgroundRepeat:gY});
}this.getContainerElement().add(dc);
},_applyDecorator:function(C,D){{};
var H=qx.ui.core.Widget.__dW;
var F=this.getContainerElement();
if(!this.__eb&&!qx.bom.client.Feature.CSS_POINTER_EVENTS){this._createProtectorElement();
}if(D){F.remove(this.__dY);
H.poolDecorator(this.__dY);
}if(C){var G=this.__dY=H.getDecoratorElement(C);
G.setStyle(gs,5);
var E=this.getBackgroundColor();
G.tint(E);
F.add(G);
}else{delete this.__dY;
this._applyBackgroundColor(this.getBackgroundColor());
}if(C&&!D&&E){this.getContainerElement().setStyle(gb,null);
}if(this.__ef(D,C)){this._updateInsets=true;
qx.ui.core.queue.Layout.add(this);
}else if(C){var I=this.getBounds();

if(I){G.resize(I.width,I.height);
this.__eb&&
this.__eb.setStyles({width:I.width+gE,height:I.height+gE});
}}},_applyShadow:function(cl,cm){var ct=qx.ui.core.Widget.__dX;
var co=this.getContainerElement();
if(cm){co.remove(this.__ea);
ct.poolDecorator(this.__ea);
}if(cl){var cq=this.__ea=ct.getDecoratorElement(cl);
co.add(cq);
var cs=cq.getInsets();
cq.setStyles({left:(-cs.left)+gE,top:(-cs.top)+gE});
var cr=this.getBounds();

if(cr){var cp=cr.width+cs.left+cs.right;
var cn=cr.height+cs.top+cs.bottom;
cq.resize(cp,cn);
}cq.tint(null);
}else{delete this.__ea;
}},_applyToolTipText:function(bh,bi){if(qx.core.Variant.isSet(gO,gy)){if(this.__ed){return;
}var bj=qx.locale.Manager.getInstance();
this.__ed=bj.addListener(gk,function(){if(bh&&bh.translate){this.setToolTipText(bh.translate());
}},this);
}},_applyTextColor:function(er,es){},_applyZIndex:function(bS,bT){this.getContainerElement().setStyle(gs,bS==null?0:bS);
},_applyVisibility:function(x,y){var z=this.getContainerElement();

if(x===gA){z.show();
}else{z.hide();
}var parent=this.$$parent;

if(parent&&(y==null||x==null||y===gw||x===gw)){parent.invalidateLayoutChildren();
}qx.ui.core.queue.Visibility.add(this);
},_applyOpacity:function(bw,bx){this.getContainerElement().setStyle(gr,bw==1?null:bw);
if(qx.core.Variant.isSet(gJ,fX)&&qx.bom.element.Decoration.isAlphaImageLoaderEnabled()){if(!qx.Class.isSubClassOf(this.getContentElement().constructor,qx.html.Image)){var by=(bw==1||bw==null)?null:0.99;
this.getContentElement().setStyle(gr,by);
}}},_applyCursor:function(bA,bB){if(bA==null&&!this.isSelectable()){bA=gu;
}this.getContainerElement().setStyle(fI,bA,qx.bom.client.Engine.OPERA);
},_applyBackgroundColor:function(cH,cI){var cJ=this.getBackgroundColor();
var cL=this.getContainerElement();

if(this.__dY){this.__dY.tint(cJ);
cL.setStyle(gb,null);
}else{var cK=qx.theme.manager.Color.getInstance().resolve(cJ);
cL.setStyle(gb,cK);
}},_applyFont:function(eB,eC){},__em:null,$$stateChanges:null,_forwardStates:null,hasState:function(dz){var dA=this.__em;
return !!dA&&!!dA[dz];
},addState:function(de){var df=this.__em;

if(!df){df=this.__em={};
}
if(df[de]){return;
}this.__em[de]=true;
if(de===gL){this.syncAppearance();
}else if(!qx.ui.core.queue.Visibility.isVisible(this)){this.$$stateChanges=true;
}else{qx.ui.core.queue.Appearance.add(this);
}var forward=this._forwardStates;
var di=this.__ep;

if(forward&&forward[de]&&di){var dg;

for(var dh in di){dg=di[dh];

if(dg instanceof qx.ui.core.Widget){di[dh].addState(de);
}}}},removeState:function(cz){var cA=this.__em;

if(!cA||!cA[cz]){return;
}delete this.__em[cz];
if(cz===gL){this.syncAppearance();
}else if(!qx.ui.core.queue.Visibility.isVisible(this)){this.$$stateChanges=true;
}else{qx.ui.core.queue.Appearance.add(this);
}var forward=this._forwardStates;
var cD=this.__ep;

if(forward&&forward[cz]&&cD){for(var cC in cD){var cB=cD[cC];

if(cB instanceof qx.ui.core.Widget){cB.removeState(cz);
}}}},replaceState:function(cM,cN){var cO=this.__em;

if(!cO){cO=this.__em={};
}
if(!cO[cN]){cO[cN]=true;
}
if(cO[cM]){delete cO[cM];
}
if(!qx.ui.core.queue.Visibility.isVisible(this)){this.$$stateChanges=true;
}else{qx.ui.core.queue.Appearance.add(this);
}var forward=this._forwardStates;
var cR=this.__ep;

if(forward&&forward[cN]&&cR){for(var cQ in cR){var cP=cR[cQ];

if(cP instanceof qx.ui.core.Widget){cP.replaceState(cM,cN);
}}}},__en:null,__eo:null,syncAppearance:function(){var m=this.__em;
var k=this.__en;
var n=qx.theme.manager.Appearance.getInstance();
var h=qx.core.Property.$$method.setThemed;
var r=qx.core.Property.$$method.resetThemed;
if(this.__eo){delete this.__eo;
if(k){var g=n.styleFrom(k,m,null,this.getAppearance());
if(g){k=null;
}}}if(!k){var j=this;
var q=[];

do{q.push(j.$$subcontrol||j.getAppearance());
}while(j=j.$$subparent);
k=this.__en=q.reverse().join(fN).replace(/#[0-9]+/g,fO);
}var o=n.styleFrom(k,m,null,this.getAppearance());

if(o){var p;

if(g){for(var p in g){if(o[p]===undefined){this[r[p]]();
}}}{};
for(var p in o){o[p]===undefined?this[r[p]]():this[h[p]](o[p]);
}}else if(g){for(var p in g){this[r[p]]();
}}this.fireDataEvent(fx,this.__em);
},_applyAppearance:function(cu,cv){this.updateAppearance();
},checkAppearanceNeeds:function(){if(!this.__ec){qx.ui.core.queue.Appearance.add(this);
this.__ec=true;
}else if(this.$$stateChanges){qx.ui.core.queue.Appearance.add(this);
delete this.$$stateChanges;
}},updateAppearance:function(){this.__eo=true;
qx.ui.core.queue.Appearance.add(this);
var bQ=this.__ep;

if(bQ){var bO;

for(var bP in bQ){bO=bQ[bP];

if(bO instanceof qx.ui.core.Widget){bO.updateAppearance();
}}}},syncWidget:function(){},getEventTarget:function(){var bz=this;

while(bz.getAnonymous()){bz=bz.getLayoutParent();

if(!bz){return null;
}}return bz;
},getFocusTarget:function(){var en=this;

if(!en.getEnabled()){return null;
}
while(en.getAnonymous()||!en.getFocusable()){en=en.getLayoutParent();

if(!en||!en.getEnabled()){return null;
}}return en;
},getFocusElement:function(){return this.getContainerElement();
},isTabable:function(){return (!!this.getContainerElement().getDomElement())&&this.isFocusable();
},_applyFocusable:function(P,Q){var R=this.getFocusElement();
if(P){var S=this.getTabIndex();

if(S==null){S=1;
}R.setAttribute(gc,S);
if(qx.core.Variant.isSet(gJ,fX)){R.setAttribute(fi,fn);
}else{R.setStyle(fc,fh);
}}else{if(R.isNativelyFocusable()){R.setAttribute(gc,-1);
}else if(Q){R.setAttribute(gc,null);
}}},_applyKeepFocus:function(v){var w=this.getFocusElement();
w.setAttribute(gj,v?gy:null);
},_applyKeepActive:function(bn){var bo=this.getContainerElement();
bo.setAttribute(fT,bn?gy:null);
},_applyTabIndex:function(eD){if(eD==null){eD=1;
}else if(eD<1||eD>32000){throw new Error("TabIndex property must be between 1 and 32000");
}
if(this.getFocusable()&&eD!=null){this.getFocusElement().setAttribute(gc,eD);
}},_applySelectable:function(bU,bV){if(bV!==null){this._applyCursor(this.getCursor());
}this.getContainerElement().setSelectable(bU);
this.getContentElement().setSelectable(bU);
},_applyEnabled:function(cE,cF){if(cE===false){this.addState(gF);
this.removeState(gL);
if(this.isFocusable()){this.removeState(ga);
this._applyFocusable(false,true);
}if(this.isDraggable()){this._applyDraggable(false,true);
}if(this.isDroppable()){this._applyDroppable(false,true);
}}else{this.removeState(gF);
if(this.isFocusable()){this._applyFocusable(true,false);
}if(this.isDraggable()){this._applyDraggable(true,false);
}if(this.isDroppable()){this._applyDroppable(true,false);
}}},_applyNativeContextMenu:function(eM,eN,name){},_applyContextMenu:function(eK,eL){if(eL){eL.removeState(ge);

if(eL.getOpener()==this){eL.resetOpener();
}
if(!eK){this.removeListener(ge,this._onContextMenuOpen);
eL.removeListener(fY,this._onBeforeContextMenuOpen,this);
}}
if(eK){eK.setOpener(this);
eK.addState(ge);

if(!eL){this.addListener(ge,this._onContextMenuOpen);
eK.addListener(fY,this._onBeforeContextMenuOpen,this);
}}},_onContextMenuOpen:function(e){this.getContextMenu().openAtMouse(e);
e.stop();
},_onBeforeContextMenuOpen:function(e){if(e.getData()==gA&&this.hasListener(gl)){this.fireDataEvent(gl,e);
}},_onStopEvent:function(e){e.stopPropagation();
},_applyDraggable:function(eE,eF){if(!this.isEnabled()&&eE===true){eE=false;
}qx.ui.core.DragDropCursor.getInstance();
if(eE){this.addListener(gN,this._onDragStart);
this.addListener(gH,this._onDrag);
this.addListener(gn,this._onDragEnd);
this.addListener(go,this._onDragChange);
}else{this.removeListener(gN,this._onDragStart);
this.removeListener(gH,this._onDrag);
this.removeListener(gn,this._onDragEnd);
this.removeListener(go,this._onDragChange);
}this.getContainerElement().setAttribute(gX,eE?gy:null);
},_applyDroppable:function(bC,bD){if(!this.isEnabled()&&bC===true){bC=false;
}this.getContainerElement().setAttribute(fJ,bC?gy:null);
},_onDragStart:function(e){qx.ui.core.DragDropCursor.getInstance().placeToMouse(e);
this.getApplicationRoot().setGlobalCursor(gu);
},_onDrag:function(e){qx.ui.core.DragDropCursor.getInstance().placeToMouse(e);
},_onDragEnd:function(e){qx.ui.core.DragDropCursor.getInstance().moveTo(-1000,-1000);
this.getApplicationRoot().resetGlobalCursor();
},_onDragChange:function(e){var dn=qx.ui.core.DragDropCursor.getInstance();
var dp=e.getCurrentAction();
dp?dn.setAction(dp):dn.resetAction();
},visualizeFocus:function(){this.addState(ga);
},visualizeBlur:function(){this.removeState(ga);
},scrollChildIntoView:function(bW,bX,bY,ca){this.scrollChildIntoViewX(bW,bX,ca);
this.scrollChildIntoViewY(bW,bY,ca);
},scrollChildIntoViewX:function(cb,cc,cd){this.getContentElement().scrollChildIntoViewX(cb.getContainerElement(),cc,cd);
},scrollChildIntoViewY:function(c,d,f){this.getContentElement().scrollChildIntoViewY(c.getContainerElement(),d,f);
},focus:function(){if(this.isFocusable()){this.getFocusElement().focus();
}else{throw new Error("Widget is not focusable!");
}},blur:function(){if(this.isFocusable()){this.getFocusElement().blur();
}else{throw new Error("Widget is not focusable!");
}},activate:function(){this.getContainerElement().activate();
},deactivate:function(){this.getContainerElement().deactivate();
},tabFocus:function(){this.getFocusElement().focus();
},hasChildControl:function(et){if(!this.__ep){return false;
}return !!this.__ep[et];
},__ep:null,_getCreatedChildControls:function(){return this.__ep;
},getChildControl:function(ee,ef){if(!this.__ep){if(ef){return null;
}this.__ep={};
}var eg=this.__ep[ee];

if(eg){return eg;
}
if(ef===true){return null;
}return this._createChildControl(ee);
},_showChildControl:function(cj){var ck=this.getChildControl(cj);
ck.show();
return ck;
},_excludeChildControl:function(A){var B=this.getChildControl(A,true);

if(B){B.exclude();
}},_isChildControlVisible:function(ep){var eq=this.getChildControl(ep,true);

if(eq){return eq.isVisible();
}return false;
},_createChildControl:function(eh){if(!this.__ep){this.__ep={};
}else if(this.__ep[eh]){throw new Error("Child control '"+eh+"' already created!");
}var em=eh.indexOf(fw);

if(em==-1){var ei=this._createChildControlImpl(eh);
}else{var ei=this._createChildControlImpl(eh.substring(0,em));
}
if(!ei){throw new Error("Unsupported control: "+eh);
}ei.$$subcontrol=eh;
ei.$$subparent=this;
var ej=this.__em;
var forward=this._forwardStates;

if(ej&&forward&&ei instanceof qx.ui.core.Widget){for(var ek in ej){if(forward[ek]){ei.addState(ek);
}}}this.fireDataEvent(eT,ei);
return this.__ep[eh]=ei;
},_createChildControlImpl:function(bR){return null;
},_disposeChildControls:function(){var bb=this.__ep;

if(!bb){return;
}var Y=qx.ui.core.Widget;

for(var ba in bb){var X=bb[ba];

if(!Y.contains(this,X)){X.destroy();
}else{X.dispose();
}}delete this.__ep;
},_findTopControl:function(){var M=this;

while(M){if(!M.$$subparent){return M;
}M=M.$$subparent;
}return null;
},getContainerLocation:function(dj){var dk=this.getContainerElement().getDomElement();
return dk?qx.bom.element.Location.get(dk,dj):null;
},getContentLocation:function(bM){var bN=this.getContentElement().getDomElement();
return bN?qx.bom.element.Location.get(bN,bM):null;
},setDomLeft:function(dt){var du=this.getContainerElement().getDomElement();

if(du){du.style.left=dt+gE;
}else{throw new Error("DOM element is not yet created!");
}},setDomTop:function(eG){var eH=this.getContainerElement().getDomElement();

if(eH){eH.style.top=eG+gE;
}else{throw new Error("DOM element is not yet created!");
}},setDomPosition:function(dv,top){var dw=this.getContainerElement().getDomElement();

if(dw){dw.style.left=dv+gE;
dw.style.top=top+gE;
}else{throw new Error("DOM element is not yet created!");
}},destroy:function(){if(this.$$disposed){return;
}var parent=this.$$parent;

if(parent){parent._remove(this);
}qx.ui.core.queue.Dispose.add(this);
},clone:function(){var dr=qx.ui.core.LayoutItem.prototype.clone.call(this);

if(this.getChildren){var ds=this.getChildren();

for(var i=0,l=ds.length;i<l;i++){dr.add(ds[i].clone());
}}return dr;
}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){if(qx.core.Variant.isSet(gO,gy)){if(this.__ed){qx.locale.Manager.getInstance().removeListenerById(this.__ed);
}}this.getContainerElement().setAttribute(ft,null,true);
this._disposeChildControls();
qx.ui.core.queue.Appearance.remove(this);
qx.ui.core.queue.Layout.remove(this);
qx.ui.core.queue.Visibility.remove(this);
qx.ui.core.queue.Widget.remove(this);
}if(!qx.core.ObjectRegistry.inShutDown){var dy=qx.ui.core.Widget;
var dx=this.getContainerElement();

if(this.__dY){dx.remove(this.__dY);
dy.__dW.poolDecorator(this.__dY);
}
if(this.__ea){dx.remove(this.__ea);
dy.__dX.poolDecorator(this.__ea);
}this.clearSeparators();
this.__dY=this.__ea=this.__eg=null;
}else{this._disposeArray(gT);
this._disposeObjects(gW,gV);
}this._disposeArray(eX);
this.__em=this.__ep=null;
this._disposeObjects(fF,fG,fk,eU);
}});
})();
(function(){var e="qx.event.type.Data",d="qx.ui.container.Composite",c="addChildWidget",b="removeChildWidget";
qx.Class.define(d,{extend:qx.ui.core.Widget,include:[qx.ui.core.MChildrenHandling,qx.ui.core.MLayoutHandling],construct:function(i){qx.ui.core.Widget.call(this);

if(i!=null){this._setLayout(i);
}},events:{addChildWidget:e,removeChildWidget:e},members:{_afterAddChild:function(a){this.fireNonBubblingEvent(c,qx.event.type.Data,[a]);
},_afterRemoveChild:function(f){this.fireNonBubblingEvent(b,qx.event.type.Data,[f]);
}},defer:function(g,h){qx.ui.core.MChildrenHandling.remap(h);
qx.ui.core.MLayoutHandling.remap(h);
}});
})();
(function(){var j="keep-align",i="Integer",h="interval",g="direct",f="disappear",e="best-fit",d="mouse",c="bottom-left",b="Boolean",a="bottom-right",x="widget",w="qx.ui.core.MPlacement",v="left-top",u="offsetRight",t="shorthand",s="offsetLeft",r="top-left",q="appear",p="offsetBottom",o="top-right",m="offsetTop",n="right-bottom",k="right-top",l="left-bottom";
qx.Mixin.define(w,{properties:{position:{check:[r,o,c,a,v,l,k,n],init:c,themeable:true},placeMethod:{check:[x,d],init:d,themeable:true},domMove:{check:b,init:false},placementModeX:{check:[g,j,e],init:j,themeable:true},placementModeY:{check:[g,j,e],init:j,themeable:true},offsetLeft:{check:i,init:0,themeable:true},offsetTop:{check:i,init:0,themeable:true},offsetRight:{check:i,init:0,themeable:true},offsetBottom:{check:i,init:0,themeable:true},offset:{group:[m,u,p,s],mode:t,themeable:true}},members:{__eq:null,__er:null,__es:null,getLayoutLocation:function(H){var K,J,L,top;
J=H.getBounds();
L=J.left;
top=J.top;
var M=J;
H=H.getLayoutParent();

while(H&&!H.isRootWidget()){J=H.getBounds();
L+=J.left;
top+=J.top;
K=H.getInsets();
L+=K.left;
top+=K.top;
H=H.getLayoutParent();
}if(H.isRootWidget()){var I=H.getContainerLocation();

if(I){L+=I.left;
top+=I.top;
}}return {left:L,top:top,right:L+M.width,bottom:top+M.height};
},moveTo:function(C,top){if(this.getDomMove()){this.setDomPosition(C,top);
}else{this.setLayoutProperties({left:C,top:top});
}},placeToWidget:function(N,O){if(O){this.__et();
this.__eq=qx.lang.Function.bind(this.placeToWidget,this,N,false);
qx.event.Idle.getInstance().addListener(h,this.__eq);
this.__es=function(){this.__et();
};
this.addListener(f,this.__es,this);
}var P=N.getContainerLocation()||this.getLayoutLocation(N);
this.__ev(P);
},__et:function(){if(this.__eq){qx.event.Idle.getInstance().removeListener(h,this.__eq);
this.__eq=null;
}
if(this.__es){this.removeListener(f,this.__es,this);
this.__es=null;
}},placeToMouse:function(event){var z=event.getDocumentLeft();
var top=event.getDocumentTop();
var y={left:z,top:top,right:z,bottom:top};
this.__ev(y);
},placeToElement:function(U,V){var location=qx.bom.element.Location.get(U);
var W={left:location.left,top:location.top,right:location.left+U.offsetWidth,bottom:location.top+U.offsetHeight};
if(V){this.__eq=qx.lang.Function.bind(this.placeToElement,this,U,false);
qx.event.Idle.getInstance().addListener(h,this.__eq);
this.addListener(f,function(){if(this.__eq){qx.event.Idle.getInstance().removeListener(h,this.__eq);
this.__eq=null;
}},this);
}this.__ev(W);
},placeToPoint:function(D){var E={left:D.left,top:D.top,right:D.left,bottom:D.top};
this.__ev(E);
},_getPlacementOffsets:function(){return {left:this.getOffsetLeft(),top:this.getOffsetTop(),right:this.getOffsetRight(),bottom:this.getOffsetBottom()};
},__eu:function(F){var G=null;

if(this._computePlacementSize){var G=this._computePlacementSize();
}else if(this.isVisible()){var G=this.getBounds();
}
if(G==null){this.addListenerOnce(q,function(){this.__eu(F);
},this);
}else{F.call(this,G);
}},__ev:function(X){this.__eu(function(S){var T=qx.util.placement.Placement.compute(S,this.getLayoutParent().getBounds(),X,this._getPlacementOffsets(),this.getPosition(),this.getPlacementModeX(),this.getPlacementModeY());
this.moveTo(T.left,T.top);
});
},setSmart:function(Q){{};
var R=Q?j:g;
this.set({placementModeX:R,placementModeY:R});
},getSmart:function(){{};
var A=this.getPlacementModeX()==j?true:false;
var B=this.getPlacementModeY()==j?true:false;
return A&&B;
},resetSmart:function(){{};
this.resetPlacementModeX();
this.resetPlacementModeY();
},isSmart:function(){{};
return this.getSmart();
},toggleSmart:function(){{};
this.setSmart(!this.getSmart());
}},destruct:function(){this.__et();
}});
})();
(function(){var e="qx.ui.popup.Popup",d="visible",c="excluded",b="popup",a="Boolean";
qx.Class.define(e,{extend:qx.ui.container.Composite,include:qx.ui.core.MPlacement,construct:function(i){qx.ui.container.Composite.call(this,i);
qx.core.Init.getApplication().getRoot().add(this);
this.initVisibility();
},properties:{appearance:{refine:true,init:b},visibility:{refine:true,init:c},autoHide:{check:a,init:true}},members:{_applyVisibility:function(f,g){qx.ui.container.Composite.prototype._applyVisibility.call(this,f,g);
var h=qx.ui.popup.Manager.getInstance();
f===d?h.add(this):h.remove(this);
}},destruct:function(){qx.ui.popup.Manager.getInstance().remove(this);
}});
})();
(function(){var r="atom",q="Integer",p="String",o="_applyRich",n="qx.ui.tooltip.ToolTip",m="_applyIcon",l="tooltip",k="qx.ui.core.Widget",j="mouseover",i="Boolean",h="_applyLabel";
qx.Class.define(n,{extend:qx.ui.popup.Popup,construct:function(s,t){qx.ui.popup.Popup.call(this);
this.setLayout(new qx.ui.layout.Grow);
this._createChildControl(r);
if(s!=null){this.setLabel(s);
}
if(t!=null){this.setIcon(t);
}this.addListener(j,this._onMouseOver,this);
},properties:{appearance:{refine:true,init:l},showTimeout:{check:q,init:700,themeable:true},hideTimeout:{check:q,init:4000,themeable:true},label:{check:p,nullable:true,apply:h},icon:{check:p,nullable:true,apply:m,themeable:true},rich:{check:i,init:false,apply:o},opener:{check:k,nullable:true}},members:{_createChildControlImpl:function(x){var y;

switch(x){case r:y=new qx.ui.basic.Atom;
this._add(y);
break;
}return y||qx.ui.popup.Popup.prototype._createChildControlImpl.call(this,x);
},_onMouseOver:function(e){this.hide();
},_applyIcon:function(d,f){var g=this.getChildControl(r);
d==null?g.resetIcon():g.setIcon(d);
},_applyLabel:function(u,v){var w=this.getChildControl(r);
u==null?w.resetLabel():w.setLabel(u);
},_applyRich:function(a,b){var c=this.getChildControl(r);
c.setRich(a);
}}});
})();
(function(){var k="qx.ui.core.queue.Layout",j="layout";
qx.Class.define(k,{statics:{__ew:{},remove:function(A){delete this.__ew[A.$$hash];
},add:function(v){this.__ew[v.$$hash]=v;
qx.ui.core.queue.Manager.scheduleFlush(j);
},flush:function(){var w=this.__ez();
for(var i=w.length-1;i>=0;i--){var x=w[i];
if(x.hasValidLayout()){continue;
}if(x.isRootWidget()&&!x.hasUserBounds()){var z=x.getSizeHint();
x.renderLayout(0,0,z.width,z.height);
}else{var y=x.getBounds();
x.renderLayout(y.left,y.top,y.width,y.height);
}}},getNestingLevel:function(r){var s=this.__ey;
var u=0;
var parent=r;
while(true){if(s[parent.$$hash]!=null){u+=s[parent.$$hash];
break;
}
if(!parent.$$parent){break;
}parent=parent.$$parent;
u+=1;
}var t=u;

while(r&&r!==parent){s[r.$$hash]=t--;
r=r.$$parent;
}return u;
},__ex:function(){var q=qx.ui.core.queue.Visibility;
this.__ey={};
var p=[];
var o=this.__ew;
var l,n;

for(var m in o){l=o[m];

if(q.isVisible(l)){n=this.getNestingLevel(l);
if(!p[n]){p[n]={};
}p[n][m]=l;
delete o[m];
}}return p;
},__ez:function(){var d=[];
var f=this.__ex();

for(var c=f.length-1;c>=0;c--){if(!f[c]){continue;
}
for(var b in f[c]){var a=f[c][b];
if(c==0||a.isRootWidget()||a.hasUserBounds()){d.push(a);
a.invalidateLayoutCache();
continue;
}var h=a.getSizeHint(false);

if(h){a.invalidateLayoutCache();
var e=a.getSizeHint();
var g=(!a.getBounds()||h.minWidth!==e.minWidth||h.width!==e.width||h.maxWidth!==e.maxWidth||h.minHeight!==e.minHeight||h.height!==e.height||h.maxHeight!==e.maxHeight);
}else{g=true;
}
if(g){var parent=a.getLayoutParent();

if(!f[c-1]){f[c-1]={};
}f[c-1][parent.$$hash]=parent;
}else{d.push(a);
}}}return d;
}}});
})();
(function(){var e="qx.event.handler.UserAction";
qx.Class.define(e,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(d){qx.core.Object.call(this);
this.__eA=d;
this.__eB=d.getWindow();
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{useraction:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_WINDOW,IGNORE_CAN_HANDLE:true},members:{__eA:null,__eB:null,canHandleEvent:function(j,k){},registerEvent:function(g,h,i){},unregisterEvent:function(a,b,c){}},destruct:function(){this.__eA=this.__eB=null;
},defer:function(f){qx.event.Registration.addHandler(f);
}});
})();
(function(){var b="qx.util.DeferredCallManager",a="singleton";
qx.Class.define(b,{extend:qx.core.Object,type:a,construct:function(){this.__eC={};
this.__eD=qx.lang.Function.bind(this.__eH,this);
this.__eE=false;
},members:{__eF:null,__eG:null,__eC:null,__eE:null,__eD:null,schedule:function(g){if(this.__eF==null){this.__eF=window.setTimeout(this.__eD,0);
}var h=g.toHashCode();
if(this.__eG&&this.__eG[h]){return;
}this.__eC[h]=g;
this.__eE=true;
},cancel:function(c){var d=c.toHashCode();
if(this.__eG&&this.__eG[d]){this.__eG[d]=null;
return;
}delete this.__eC[d];
if(qx.lang.Object.isEmpty(this.__eC)&&this.__eF!=null){window.clearTimeout(this.__eF);
this.__eF=null;
}},__eH:qx.event.GlobalError.observeMethod(function(){this.__eF=null;
while(this.__eE){this.__eG=qx.lang.Object.clone(this.__eC);
this.__eC={};
this.__eE=false;

for(var f in this.__eG){var e=this.__eG[f];

if(e){this.__eG[f]=null;
e.call();
}}}this.__eG=null;
})},destruct:function(){if(this.__eF!=null){window.clearTimeout(this.__eF);
}this.__eD=this.__eC=null;
}});
})();
(function(){var a="qx.util.DeferredCall";
qx.Class.define(a,{extend:qx.core.Object,construct:function(b,c){qx.core.Object.call(this);
this.__eI=b;
this.__eJ=c||null;
this.__eK=qx.util.DeferredCallManager.getInstance();
},members:{__eI:null,__eJ:null,__eK:null,cancel:function(){this.__eK.cancel(this);
},schedule:function(){this.__eK.schedule(this);
},call:function(){this.__eJ?this.__eI.apply(this.__eJ):this.__eI();
}},destruct:function(d,e){this.cancel();
this.__eJ=this.__eI=this.__eK=null;
}});
})();
(function(){var m="element",k="qx.client",j="qxSelectable",h="off",g="on",f="div",d="",c="mshtml",b="none",a="scroll",G="text",F="qx.html.Element",E="|capture|",D="activate",C="blur",B="deactivate",A="capture",z="userSelect",w="-moz-none",v="visible",t="releaseCapture",u="|bubble|",r="tabIndex",s="focus",p="MozUserSelect",q="normal",n="__fi",o="hidden";
qx.Class.define(F,{extend:qx.core.Object,construct:function(cO,cP,cQ){qx.core.Object.call(this);
this.__eL=cO||f;
this.__eM=cP||null;
this.__eN=cQ||null;
},statics:{DEBUG:false,_modified:{},_visibility:{},_scroll:{},_actions:[],__eO:{},_scheduleFlush:function(bp){qx.html.Element.__ft.schedule();
},flush:function(){var bA;
{};
var bs=this.__eP();
var br=bs.getFocus();

if(br&&this.__eT(br)){bs.blur(br);
}var bH=bs.getActive();

if(bH&&this.__eT(bH)){qx.bom.Element.deactivate(bH);
}var bv=this.__eR();

if(bv&&this.__eT(bv)){qx.bom.Element.releaseCapture(bv);
}var bB=[];
var bC=this._modified;

for(var bz in bC){bA=bC[bz];
if(bA.__fm()){if(bA.__eU&&qx.dom.Hierarchy.isRendered(bA.__eU)){bB.push(bA);
}else{{};
bA.__fl();
}delete bC[bz];
}}
for(var i=0,l=bB.length;i<l;i++){bA=bB[i];
{};
bA.__fl();
}var bx=this._visibility;

for(var bz in bx){bA=bx[bz];
var bD=bA.__eU;

if(!bD){delete bx[bz];
continue;
}{};
if(!bA.$$disposed){bD.style.display=bA.__eX?d:b;
if(qx.core.Variant.isSet(k,c)){if(!(document.documentMode>=8)){bD.style.visibility=bA.__eX?v:o;
}}}delete bx[bz];
}var scroll=this._scroll;

for(var bz in scroll){bA=scroll[bz];
var bI=bA.__eU;

if(bI&&bI.offsetWidth){var bu=true;
if(bA.__fb!=null){bA.__eU.scrollLeft=bA.__fb;
delete bA.__fb;
}if(bA.__fc!=null){bA.__eU.scrollTop=bA.__fc;
delete bA.__fc;
}var bE=bA.__eY;

if(bE!=null){var by=bE.element.getDomElement();

if(by&&by.offsetWidth){qx.bom.element.Scroll.intoViewX(by,bI,bE.align);
delete bA.__eY;
}else{bu=false;
}}var bF=bA.__fa;

if(bF!=null){var by=bF.element.getDomElement();

if(by&&by.offsetWidth){qx.bom.element.Scroll.intoViewY(by,bI,bF.align);
delete bA.__fa;
}else{bu=false;
}}if(bu){delete scroll[bz];
}}}var bt={"releaseCapture":1,"blur":1,"deactivate":1};
for(var i=0;i<this._actions.length;i++){var bG=this._actions[i];
var bD=bG.element.__eU;

if(!bD||!bt[bG.type]&&!bG.element.__fm()){continue;
}var bw=bG.args;
bw.unshift(bD);
qx.bom.Element[bG.type].apply(qx.bom.Element,bw);
}this._actions=[];
for(var bz in this.__eO){var bq=this.__eO[bz];
var bI=bq.element.__eU;

if(bI){qx.bom.Selection.set(bI,bq.start,bq.end);
delete this.__eO[bz];
}}qx.event.handler.Appear.refresh();
},__eP:function(){if(!this.__eQ){var dF=qx.event.Registration.getManager(window);
this.__eQ=dF.getHandler(qx.event.handler.Focus);
}return this.__eQ;
},__eR:function(){if(!this.__eS){var co=qx.event.Registration.getManager(window);
this.__eS=co.getDispatcher(qx.event.dispatch.MouseCapture);
}return this.__eS.getCaptureElement();
},__eT:function(bb){var bc=qx.core.ObjectRegistry.fromHashCode(bb.$$element);
return bc&&!bc.__fm();
}},members:{__eL:null,__eU:null,__eV:false,__eW:true,__eX:true,__eY:null,__fa:null,__fb:null,__fc:null,__fd:null,__fe:null,__ff:null,__eM:null,__eN:null,__fg:null,__fh:null,__fi:null,__fj:null,__fk:null,_scheduleChildrenUpdate:function(){if(this.__fj){return;
}this.__fj=true;
qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
},_createDomElement:function(){return qx.bom.Element.create(this.__eL);
},__fl:function(){{};
var dB=this.__fi;

if(dB){var length=dB.length;
var dC;

for(var i=0;i<length;i++){dC=dB[i];

if(dC.__eX&&dC.__eW&&!dC.__eU){dC.__fl();
}}}
if(!this.__eU){this.__eU=this._createDomElement();
this.__eU.$$element=this.$$hash;
this._copyData(false);

if(dB&&length>0){this._insertChildren();
}}else{this._syncData();

if(this.__fj){this._syncChildren();
}}delete this.__fj;
},_insertChildren:function(){var bd=this.__fi;
var length=bd.length;
var bf;

if(length>2){var be=document.createDocumentFragment();

for(var i=0;i<length;i++){bf=bd[i];

if(bf.__eU&&bf.__eW){be.appendChild(bf.__eU);
}}this.__eU.appendChild(be);
}else{var be=this.__eU;

for(var i=0;i<length;i++){bf=bd[i];

if(bf.__eU&&bf.__eW){be.appendChild(bf.__eU);
}}}},_syncChildren:function(){var cV;
var dc=qx.core.ObjectRegistry;
var cR=this.__fi;
var cY=cR.length;
var cS;
var cW;
var cU=this.__eU;
var cX=cU.childNodes;
var cT=0;
var da;
{};
for(var i=cX.length-1;i>=0;i--){da=cX[i];
cW=dc.fromHashCode(da.$$element);

if(!cW||!cW.__eW||cW.__fk!==this){cU.removeChild(da);
{};
}}for(var i=0;i<cY;i++){cS=cR[i];
if(cS.__eW){cW=cS.__eU;
da=cX[cT];

if(!cW){continue;
}if(cW!=da){if(da){cU.insertBefore(cW,da);
}else{cU.appendChild(cW);
}{};
}cT++;
}}{};
},_copyData:function(dG){var dK=this.__eU;
var dJ=this.__eN;

if(dJ){var dH=qx.bom.element.Attribute;

for(var dL in dJ){dH.set(dK,dL,dJ[dL]);
}}var dJ=this.__eM;

if(dJ){var dI=qx.bom.element.Style;

if(dG){dI.setStyles(dK,dJ);
}else{dI.setCss(dK,dI.compile(dJ));
}}var dJ=this.__fg;

if(dJ){for(var dL in dJ){this._applyProperty(dL,dJ[dL]);
}}var dJ=this.__fh;

if(dJ){qx.event.Registration.getManager(dK).importListeners(dK,dJ);
delete this.__fh;
}},_syncData:function(){var cy=this.__eU;
var cx=qx.bom.element.Attribute;
var cv=qx.bom.element.Style;
var cw=this.__fe;

if(cw){var cB=this.__eN;

if(cB){var cz;

for(var cA in cw){cz=cB[cA];

if(cz!==undefined){cx.set(cy,cA,cz);
}else{cx.reset(cy,cA);
}}}this.__fe=null;
}var cw=this.__fd;

if(cw){var cB=this.__eM;

if(cB){var cu={};

for(var cA in cw){cu[cA]=cB[cA];
}cv.setStyles(cy,cu);
}this.__fd=null;
}var cw=this.__ff;

if(cw){var cB=this.__fg;

if(cB){var cz;

for(var cA in cw){this._applyProperty(cA,cB[cA]);
}}this.__ff=null;
}},__fm:function(){var dd=this;
while(dd){if(dd.__eV){return true;
}
if(!dd.__eW||!dd.__eX){return false;
}dd=dd.__fk;
}return false;
},__fn:function(cN){if(cN.__fk===this){throw new Error("Child is already in: "+cN);
}
if(cN.__eV){throw new Error("Root elements could not be inserted into other ones.");
}if(cN.__fk){cN.__fk.remove(cN);
}cN.__fk=this;
if(!this.__fi){this.__fi=[];
}if(this.__eU){this._scheduleChildrenUpdate();
}},__fo:function(ba){if(ba.__fk!==this){throw new Error("Has no child: "+ba);
}if(this.__eU){this._scheduleChildrenUpdate();
}delete ba.__fk;
},__fp:function(dP){if(dP.__fk!==this){throw new Error("Has no child: "+dP);
}if(this.__eU){this._scheduleChildrenUpdate();
}},getChildren:function(){return this.__fi||null;
},getChild:function(dn){var dp=this.__fi;
return dp&&dp[dn]||null;
},hasChildren:function(){var bQ=this.__fi;
return bQ&&bQ[0]!==undefined;
},indexOf:function(bl){var bm=this.__fi;
return bm?bm.indexOf(bl):-1;
},hasChild:function(cF){var cG=this.__fi;
return cG&&cG.indexOf(cF)!==-1;
},add:function(dh){if(arguments[1]){for(var i=0,l=arguments.length;i<l;i++){this.__fn(arguments[i]);
}this.__fi.push.apply(this.__fi,arguments);
}else{this.__fn(dh);
this.__fi.push(dh);
}return this;
},addAt:function(P,Q){this.__fn(P);
qx.lang.Array.insertAt(this.__fi,P,Q);
return this;
},remove:function(dM){var dN=this.__fi;

if(!dN){return;
}
if(arguments[1]){var dO;

for(var i=0,l=arguments.length;i<l;i++){dO=arguments[i];
this.__fo(dO);
qx.lang.Array.remove(dN,dO);
}}else{this.__fo(dM);
qx.lang.Array.remove(dN,dM);
}return this;
},removeAt:function(bT){var bU=this.__fi;

if(!bU){throw new Error("Has no children!");
}var bV=bU[bT];

if(!bV){throw new Error("Has no child at this position!");
}this.__fo(bV);
qx.lang.Array.removeAt(this.__fi,bT);
return this;
},removeAll:function(){var di=this.__fi;

if(di){for(var i=0,l=di.length;i<l;i++){this.__fo(di[i]);
}di.length=0;
}return this;
},getParent:function(){return this.__fk||null;
},insertInto:function(parent,bg){parent.__fn(this);

if(bg==null){parent.__fi.push(this);
}else{qx.lang.Array.insertAt(this.__fi,this,bg);
}return this;
},insertBefore:function(dA){var parent=dA.__fk;
parent.__fn(this);
qx.lang.Array.insertBefore(parent.__fi,this,dA);
return this;
},insertAfter:function(bh){var parent=bh.__fk;
parent.__fn(this);
qx.lang.Array.insertAfter(parent.__fi,this,bh);
return this;
},moveTo:function(cf){var parent=this.__fk;
parent.__fp(this);
var cg=parent.__fi.indexOf(this);

if(cg===cf){throw new Error("Could not move to same index!");
}else if(cg<cf){cf--;
}qx.lang.Array.removeAt(parent.__fi,cg);
qx.lang.Array.insertAt(parent.__fi,this,cf);
return this;
},moveBefore:function(dE){var parent=this.__fk;
return this.moveTo(parent.__fi.indexOf(dE));
},moveAfter:function(dD){var parent=this.__fk;
return this.moveTo(parent.__fi.indexOf(dD)+1);
},free:function(){var parent=this.__fk;

if(!parent){throw new Error("Has no parent to remove from.");
}
if(!parent.__fi){return;
}parent.__fo(this);
qx.lang.Array.remove(parent.__fi,this);
return this;
},getDomElement:function(){return this.__eU||null;
},getNodeName:function(){return this.__eL;
},setNodeName:function(name){this.__eL=name;
},setRoot:function(cH){this.__eV=cH;
},useMarkup:function(dy){if(this.__eU){throw new Error("Could not overwrite existing element!");
}if(qx.core.Variant.isSet(k,c)){var dz=document.createElement(f);
}else{var dz=qx.bom.Element.getHelperElement();
}dz.innerHTML=dy;
this.useElement(dz.firstChild);
return this.__eU;
},useElement:function(bR){if(this.__eU){throw new Error("Could not overwrite existing element!");
}this.__eU=bR;
this.__eU.$$element=this.$$hash;
this._copyData(true);
},isFocusable:function(){var cM=this.getAttribute(r);

if(cM>=1){return true;
}var cL=qx.event.handler.Focus.FOCUSABLE_ELEMENTS;

if(cM>=0&&cL[this.__eL]){return true;
}return false;
},setSelectable:qx.core.Variant.select(k,{"webkit":function(dR){this.setAttribute(j,dR?g:h);
this.setStyle(z,dR?q:b);
},"gecko":function(df){this.setAttribute(j,df?g:h);
this.setStyle(p,df?G:w);
},"default":function(dQ){this.setAttribute(j,dQ?g:h);
}}),isNativelyFocusable:function(){return !!qx.event.handler.Focus.FOCUSABLE_ELEMENTS[this.__eL];
},include:function(){if(this.__eW){return;
}delete this.__eW;

if(this.__fk){this.__fk._scheduleChildrenUpdate();
}return this;
},exclude:function(){if(!this.__eW){return;
}this.__eW=false;

if(this.__fk){this.__fk._scheduleChildrenUpdate();
}return this;
},isIncluded:function(){return this.__eW===true;
},show:function(){if(this.__eX){return;
}
if(this.__eU){qx.html.Element._visibility[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}if(this.__fk){this.__fk._scheduleChildrenUpdate();
}delete this.__eX;
},hide:function(){if(!this.__eX){return;
}
if(this.__eU){qx.html.Element._visibility[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}this.__eX=false;
},isVisible:function(){return this.__eX===true;
},scrollChildIntoViewX:function(cp,cq,cr){var cs=this.__eU;
var ct=cp.getDomElement();

if(cr!==false&&cs&&cs.offsetWidth&&ct&&ct.offsetWidth){qx.bom.element.Scroll.intoViewX(ct,cs,cq);
}else{this.__eY={element:cp,align:cq};
qx.html.Element._scroll[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}delete this.__fb;
},scrollChildIntoViewY:function(bJ,bK,bL){var bM=this.__eU;
var bN=bJ.getDomElement();

if(bL!==false&&bM&&bM.offsetWidth&&bN&&bN.offsetWidth){qx.bom.element.Scroll.intoViewY(bN,bM,bK);
}else{this.__fa={element:bJ,align:bK};
qx.html.Element._scroll[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}delete this.__fc;
},scrollToX:function(x,du){var dv=this.__eU;

if(du!==true&&dv&&dv.offsetWidth){dv.scrollLeft=x;
}else{this.__fb=x;
qx.html.Element._scroll[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}delete this.__eY;
},getScrollX:function(){var dj=this.__eU;

if(dj){return dj.scrollLeft;
}return this.__fb||0;
},scrollToY:function(y,bX){var bY=this.__eU;

if(bX!==true&&bY&&bY.offsetWidth){bY.scrollTop=y;
}else{this.__fc=y;
qx.html.Element._scroll[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}delete this.__fa;
},getScrollY:function(){var R=this.__eU;

if(R){return R.scrollTop;
}return this.__fc||0;
},disableScrolling:function(){this.enableScrolling();
this.scrollToX(0);
this.scrollToY(0);
this.addListener(a,this.__fr,this);
},enableScrolling:function(){this.removeListener(a,this.__fr,this);
},__fq:null,__fr:function(e){if(!this.__fq){this.__fq=true;
this.__eU.scrollTop=0;
this.__eU.scrollLeft=0;
delete this.__fq;
}},getTextSelection:function(){var dq=this.__eU;

if(dq){return qx.bom.Selection.get(dq);
}return null;
},getTextSelectionLength:function(){var dg=this.__eU;

if(dg){return qx.bom.Selection.getLength(dg);
}return null;
},getTextSelectionStart:function(){var S=this.__eU;

if(S){return qx.bom.Selection.getStart(S);
}return null;
},getTextSelectionEnd:function(){var de=this.__eU;

if(de){return qx.bom.Selection.getEnd(de);
}return null;
},setTextSelection:function(dS,dT){var dU=this.__eU;

if(dU){qx.bom.Selection.set(dU,dS,dT);
return;
}qx.html.Element.__eO[this.toHashCode()]={element:this,start:dS,end:dT};
qx.html.Element._scheduleFlush(m);
},clearTextSelection:function(){var bW=this.__eU;

if(bW){qx.bom.Selection.clear(bW);
}delete qx.html.Element.__eO[this.toHashCode()];
},__fs:function(dk,dl){var dm=qx.html.Element._actions;
dm.push({type:dk,element:this,args:dl||[]});
qx.html.Element._scheduleFlush(m);
},focus:function(){this.__fs(s);
},blur:function(){this.__fs(C);
},activate:function(){this.__fs(D);
},deactivate:function(){this.__fs(B);
},capture:function(bS){this.__fs(A,[bS!==false]);
},releaseCapture:function(){this.__fs(t);
},setStyle:function(V,W,X){if(!this.__eM){this.__eM={};
}
if(this.__eM[V]==W){return;
}
if(W==null){delete this.__eM[V];
}else{this.__eM[V]=W;
}if(this.__eU){if(X){qx.bom.element.Style.set(this.__eU,V,W);
return this;
}if(!this.__fd){this.__fd={};
}this.__fd[V]=true;
qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}return this;
},setStyles:function(H,I){var J=qx.bom.element.Style;

if(!this.__eM){this.__eM={};
}
if(this.__eU){if(!this.__fd){this.__fd={};
}
for(var L in H){var K=H[L];

if(this.__eM[L]==K){continue;
}
if(K==null){delete this.__eM[L];
}else{this.__eM[L]=K;
}if(I){J.set(this.__eU,L,K);
continue;
}this.__fd[L]=true;
}qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}else{for(var L in H){var K=H[L];

if(this.__eM[L]==K){continue;
}
if(K==null){delete this.__eM[L];
}else{this.__eM[L]=K;
}}}return this;
},removeStyle:function(bn,bo){this.setStyle(bn,null,bo);
},getStyle:function(U){return this.__eM?this.__eM[U]:null;
},getAllStyles:function(){return this.__eM||null;
},setAttribute:function(dr,ds,dt){if(!this.__eN){this.__eN={};
}
if(this.__eN[dr]==ds){return;
}
if(ds==null){delete this.__eN[dr];
}else{this.__eN[dr]=ds;
}if(this.__eU){if(dt){qx.bom.element.Attribute.set(this.__eU,dr,ds);
return this;
}if(!this.__fe){this.__fe={};
}this.__fe[dr]=true;
qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}return this;
},setAttributes:function(bi,bj){for(var bk in bi){this.setAttribute(bk,bi[bk],bj);
}return this;
},removeAttribute:function(bO,bP){this.setAttribute(bO,null,bP);
},getAttribute:function(Y){return this.__eN?this.__eN[Y]:null;
},_applyProperty:function(name,T){},_setProperty:function(M,N,O){if(!this.__fg){this.__fg={};
}
if(this.__fg[M]==N){return;
}
if(N==null){delete this.__fg[M];
}else{this.__fg[M]=N;
}if(this.__eU){if(O){this._applyProperty(M,N);
return this;
}if(!this.__ff){this.__ff={};
}this.__ff[M]=true;
qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}return this;
},_removeProperty:function(cC,cD){this._setProperty(cC,null,cD);
},_getProperty:function(cI){var cJ=this.__fg;

if(!cJ){return null;
}var cK=cJ[cI];
return cK==null?null:cK;
},addListener:function(dV,dW,self,dX){var dY;

if(this.$$disposed){return null;
}{};

if(this.__eU){return qx.event.Registration.addListener(this.__eU,dV,dW,self,dX);
}
if(!this.__fh){this.__fh={};
}
if(dX==null){dX=false;
}var ea=qx.event.Manager.getNextUniqueId();
var eb=dV+(dX?E:u)+ea;
this.__fh[eb]={type:dV,listener:dW,self:self,capture:dX,unique:ea};
return eb;
},removeListener:function(ch,ci,self,cj){var ck;

if(this.$$disposed){return null;
}{};

if(this.__eU){qx.event.Registration.removeListener(this.__eU,ch,ci,self,cj);
}else{var cm=this.__fh;
var cl;

if(cj==null){cj=false;
}
for(var cn in cm){cl=cm[cn];
if(cl.listener===ci&&cl.self===self&&cl.capture===cj&&cl.type===ch){delete cm[cn];
break;
}}}return this;
},removeListenerById:function(dw){if(this.$$disposed){return null;
}
if(this.__eU){qx.event.Registration.removeListenerById(this.__eU,dw);
}else{delete this.__fh[dw];
}return this;
},hasListener:function(ca,cb){if(this.$$disposed){return false;
}
if(this.__eU){return qx.event.Registration.hasListener(this.__eU,ca,cb);
}var cd=this.__fh;
var cc;

if(cb==null){cb=false;
}
for(var ce in cd){cc=cd[ce];
if(cc.capture===cb&&cc.type===ca){return true;
}}return false;
}},defer:function(dx){dx.__ft=new qx.util.DeferredCall(dx.flush,dx);
},destruct:function(){var cE=this.__eU;

if(cE){qx.event.Registration.getManager(cE).removeAllListeners(cE);
cE.$$element=d;
}
if(!qx.core.ObjectRegistry.inShutDown){var parent=this.__fk;

if(parent&&!parent.$$disposed){parent.remove(this);
}}this._disposeArray(n);
this.__eN=this.__eM=this.__fh=this.__fg=this.__fe=this.__fd=this.__ff=this.__eU=this.__fk=this.__eY=this.__fa=null;
}});
})();
(function(){var c="qx.ui.core.queue.Manager",b="useraction";
qx.Class.define(c,{statics:{__fu:false,__fv:{},__fw:0,MAX_RETRIES:10,scheduleFlush:function(d){var self=qx.ui.core.queue.Manager;
self.__fv[d]=true;

if(!self.__fu){self.__fz.schedule();
self.__fu=true;
}},flush:function(){var self=qx.ui.core.queue.Manager;
if(self.__fx){return;
}self.__fx=true;
self.__fz.cancel();
var f=self.__fv;
self.__fy(function(){while(f.visibility||f.widget||f.appearance||f.layout||f.element){if(f.widget){delete f.widget;
qx.ui.core.queue.Widget.flush();
}
if(f.visibility){delete f.visibility;
qx.ui.core.queue.Visibility.flush();
}
if(f.appearance){delete f.appearance;
qx.ui.core.queue.Appearance.flush();
}if(f.widget||f.visibility||f.appearance){continue;
}
if(f.layout){delete f.layout;
qx.ui.core.queue.Layout.flush();
}if(f.widget||f.visibility||f.appearance||f.layout){continue;
}
if(f.element){delete f.element;
qx.html.Element.flush();
}}},function(){self.__fu=false;
});
self.__fy(function(){if(f.dispose){delete f.dispose;
qx.ui.core.queue.Dispose.flush();
}},function(){self.__fx=false;
});
self.__fw=0;
},__fy:function(g,h){var self=qx.ui.core.queue.Manager;

try{g();
}catch(e){{};
self.__fu=false;
self.__fx=false;
self.__fw+=1;

if(self.__fw<=self.MAX_RETRIES){self.scheduleFlush();
}else{throw new Error("Fatal Error: Flush terminated "+(self.__fw-1)+" times in a row"+" due to exceptions in user code. The application has to be reloaded!");
}throw e;
}finally{h();
}}},defer:function(a){a.__fz=new qx.util.DeferredCall(a.flush);
qx.html.Element._scheduleFlush=a.scheduleFlush;
qx.event.Registration.addListener(window,b,a.flush);
}});
})();
(function(){var u="abstract",t="qx.event.dispatch.AbstractBubbling";
qx.Class.define(t,{extend:qx.core.Object,implement:qx.event.IEventDispatcher,type:u,construct:function(v){this._manager=v;
},members:{_getParent:function(s){throw new Error("Missing implementation");
},canDispatchEvent:function(w,event,x){return event.getBubbles();
},dispatchEvent:function(a,event,b){var parent=a;
var m=this._manager;
var h,q;
var f;
var l,o;
var n;
var p=[];
h=m.getListeners(a,b,true);
q=m.getListeners(a,b,false);

if(h){p.push(h);
}
if(q){p.push(q);
}var parent=this._getParent(a);
var d=[];
var c=[];
var e=[];
var k=[];
while(parent!=null){h=m.getListeners(parent,b,true);

if(h){e.push(h);
k.push(parent);
}q=m.getListeners(parent,b,false);

if(q){d.push(q);
c.push(parent);
}parent=this._getParent(parent);
}event.setEventPhase(qx.event.type.Event.CAPTURING_PHASE);

for(var i=e.length-1;i>=0;i--){n=k[i];
event.setCurrentTarget(n);
f=e[i];

for(var j=0,g=f.length;j<g;j++){l=f[j];
o=l.context||n;
l.handler.call(o,event);
}
if(event.getPropagationStopped()){return;
}}event.setEventPhase(qx.event.type.Event.AT_TARGET);
event.setCurrentTarget(a);

for(var i=0,r=p.length;i<r;i++){f=p[i];

for(var j=0,g=f.length;j<g;j++){l=f[j];
o=l.context||a;
l.handler.call(o,event);
}
if(event.getPropagationStopped()){return;
}}event.setEventPhase(qx.event.type.Event.BUBBLING_PHASE);

for(var i=0,r=d.length;i<r;i++){n=c[i];
event.setCurrentTarget(n);
f=d[i];

for(var j=0,g=f.length;j<g;j++){l=f[j];
o=l.context||n;
l.handler.call(o,event);
}
if(event.getPropagationStopped()){return;
}}}}});
})();
(function(){var a="qx.event.dispatch.DomBubbling";
qx.Class.define(a,{extend:qx.event.dispatch.AbstractBubbling,statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL},members:{_getParent:function(e){return e.parentNode;
},canDispatchEvent:function(b,event,c){return b.nodeType!==undefined&&event.getBubbles();
}},defer:function(d){qx.event.Registration.addDispatcher(d);
}});
})();
(function(){var I="keydown",H="qx.client",G="keypress",F="NumLock",E="keyup",D="Enter",C="0",B="9",A="-",z="PageUp",bQ="+",bP="PrintScreen",bO="gecko",bN="A",bM="Z",bL="Left",bK="F5",bJ="Down",bI="Up",bH="F11",P="F6",Q="useraction",N="F3",O="keyinput",L="Insert",M="F8",J="End",K="/",X="Delete",Y="*",bl="cmd",bh="F1",bt="F4",bo="Home",bD="F2",by="F12",bd="PageDown",bG="F7",bF="Win",bE="F9",bc="F10",bf="Right",bg="text",bj="Escape",bm="webkit",bp="5",bv="3",bA="Meta",R="7",S="CapsLock",be="input",bs="Control",br="Space",bq="Tab",bx="Shift",bw="Pause",bn="Unidentified",bu="qx.event.handler.Keyboard",w="mshtml|webkit",bz="6",T="off",U="Apps",bi="4",x="Alt",y="mshtml",bb="2",V="Scroll",W="1",ba="8",bk="autoComplete",bC=",",bB="Backspace";
qx.Class.define(bu,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(cM){qx.core.Object.call(this);
this.__fA=cM;
this.__fB=cM.getWindow();
if(qx.core.Variant.isSet(H,bO)){this.__fC=this.__fB;
}else{this.__fC=this.__fB.document.documentElement;
}this.__fD={};
this._initKeyObserver();
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{keyup:1,keydown:1,keypress:1,keyinput:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true,isValidKeyIdentifier:function(bR){if(this._identifierToKeyCodeMap[bR]){return true;
}
if(bR.length!=1){return false;
}
if(bR>=C&&bR<=B){return true;
}
if(bR>=bN&&bR<=bM){return true;
}
switch(bR){case bQ:case A:case Y:case K:return true;
default:return false;
}}},members:{__fE:null,__fA:null,__fB:null,__fC:null,__fD:null,__fF:null,__fG:null,__fH:null,canHandleEvent:function(cy,cz){},registerEvent:function(bW,bX,bY){},unregisterEvent:function(cE,cF,cG){},_fireInputEvent:function(a,b){var c=this.__fI();
if(c&&c.offsetWidth!=0){var event=qx.event.Registration.createEvent(O,qx.event.type.KeyInput,[a,c,b]);
this.__fA.dispatchEvent(c,event);
}if(this.__fB){qx.event.Registration.fireEvent(this.__fB,Q,qx.event.type.Data,[O]);
}},_fireSequenceEvent:function(cH,cI,cJ){var cK=this.__fI();
var cL=cH.keyCode;
var event=qx.event.Registration.createEvent(cI,qx.event.type.KeySequence,[cH,cK,cJ]);
this.__fA.dispatchEvent(cK,event);
if(qx.core.Variant.isSet(H,w)){if(cI==I&&event.getDefaultPrevented()){if(!this._isNonPrintableKeyCode(cL)&&!this._emulateKeyPress[cL]){this._fireSequenceEvent(cH,G,cJ);
}}}if(this.__fB){qx.event.Registration.fireEvent(this.__fB,Q,qx.event.type.Data,[cI]);
}},__fI:function(){var p=this.__fA.getHandler(qx.event.handler.Focus);
var q=p.getActive();
if(!q||q.offsetWidth==0){q=p.getFocus();
}if(!q||q.offsetWidth==0){q=this.__fA.getWindow().document.body;
}return q;
},_initKeyObserver:function(){this.__fE=qx.lang.Function.listener(this.__fJ,this);
this.__fH=qx.lang.Function.listener(this.__fL,this);
var Event=qx.bom.Event;
Event.addNativeListener(this.__fC,E,this.__fE);
Event.addNativeListener(this.__fC,I,this.__fE);
Event.addNativeListener(this.__fC,G,this.__fH);
},_stopKeyObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__fC,E,this.__fE);
Event.removeNativeListener(this.__fC,I,this.__fE);
Event.removeNativeListener(this.__fC,G,this.__fH);

for(var cf in (this.__fG||{})){var ce=this.__fG[cf];
Event.removeNativeListener(ce.target,G,ce.callback);
}delete (this.__fG);
},__fJ:qx.event.GlobalError.observeMethod(qx.core.Variant.select(H,{"mshtml":function(bS){bS=window.event||bS;
var bV=bS.keyCode;
var bT=0;
var bU=bS.type;
if(!(this.__fD[bV]==I&&bU==I)){this._idealKeyHandler(bV,bT,bU,bS);
}if(bU==I){if(this._isNonPrintableKeyCode(bV)||this._emulateKeyPress[bV]){this._idealKeyHandler(bV,bT,G,bS);
}}this.__fD[bV]=bU;
},"gecko":function(r){var v=this._keyCodeFix[r.keyCode]||r.keyCode;
var t=0;
var u=r.type;
if(qx.bom.client.Platform.WIN){var s=v?this._keyCodeToIdentifier(v):this._charCodeToIdentifier(t);

if(!(this.__fD[s]==I&&u==I)){this._idealKeyHandler(v,t,u,r);
}this.__fD[s]=u;
}else{this._idealKeyHandler(v,t,u,r);
}this.__fK(r.target,u,v);
},"webkit":function(cA){var cD=0;
var cB=0;
var cC=cA.type;
if(qx.bom.client.Engine.VERSION<525.13){if(cC==E||cC==I){cD=this._charCode2KeyCode[cA.charCode]||cA.keyCode;
}else{if(this._charCode2KeyCode[cA.charCode]){cD=this._charCode2KeyCode[cA.charCode];
}else{cB=cA.charCode;
}}this._idealKeyHandler(cD,cB,cC,cA);
}else{cD=cA.keyCode;
if(!(this.__fD[cD]==I&&cC==I)){this._idealKeyHandler(cD,cB,cC,cA);
}if(cC==I){if(this._isNonPrintableKeyCode(cD)||this._emulateKeyPress[cD]){this._idealKeyHandler(cD,cB,G,cA);
}}this.__fD[cD]=cC;
}},"opera":function(ck){this.__fF=ck.keyCode;
this._idealKeyHandler(ck.keyCode,0,ck.type,ck);
}})),__fK:qx.core.Variant.select(H,{"gecko":function(k,l,m){if(l===I&&(m==33||m==34||m==38||m==40)&&k.type==bg&&k.tagName.toLowerCase()===be&&k.getAttribute(bk)!==T){if(!this.__fG){this.__fG={};
}var o=qx.core.ObjectRegistry.toHashCode(k);

if(this.__fG[o]){return;
}var self=this;
this.__fG[o]={target:k,callback:function(cl){qx.bom.Event.stopPropagation(cl);
self.__fL(cl);
}};
var n=qx.event.GlobalError.observeMethod(this.__fG[o].callback);
qx.bom.Event.addNativeListener(k,G,n);
}},"default":null}),__fL:qx.event.GlobalError.observeMethod(qx.core.Variant.select(H,{"mshtml":function(cm){cm=window.event||cm;

if(this._charCode2KeyCode[cm.keyCode]){this._idealKeyHandler(this._charCode2KeyCode[cm.keyCode],0,cm.type,cm);
}else{this._idealKeyHandler(0,cm.keyCode,cm.type,cm);
}},"gecko":function(cp){var cs=this._keyCodeFix[cp.keyCode]||cp.keyCode;
var cq=cp.charCode;
var cr=cp.type;
this._idealKeyHandler(cs,cq,cr,cp);
},"webkit":function(g){if(qx.bom.client.Engine.VERSION<525.13){var j=0;
var h=0;
var i=g.type;

if(i==E||i==I){j=this._charCode2KeyCode[g.charCode]||g.keyCode;
}else{if(this._charCode2KeyCode[g.charCode]){j=this._charCode2KeyCode[g.charCode];
}else{h=g.charCode;
}}this._idealKeyHandler(j,h,i,g);
}else{if(this._charCode2KeyCode[g.keyCode]){this._idealKeyHandler(this._charCode2KeyCode[g.keyCode],0,g.type,g);
}else{this._idealKeyHandler(0,g.keyCode,g.type,g);
}}},"opera":function(d){var f=d.keyCode;
var e=d.type;
if(f!=this.__fF){this._idealKeyHandler(0,this.__fF,e,d);
}else{if(this._keyCodeToIdentifierMap[d.keyCode]){this._idealKeyHandler(d.keyCode,0,d.type,d);
}else{this._idealKeyHandler(0,d.keyCode,d.type,d);
}}}})),_idealKeyHandler:function(ct,cu,cv,cw){var cx;
if(ct||(!ct&&!cu)){cx=this._keyCodeToIdentifier(ct);
this._fireSequenceEvent(cw,cv,cx);
}else{cx=this._charCodeToIdentifier(cu);
this._fireSequenceEvent(cw,G,cx);
this._fireInputEvent(cw,cu);
}},_specialCharCodeMap:{8:bB,9:bq,13:D,27:bj,32:br},_emulateKeyPress:qx.core.Variant.select(H,{"mshtml":{8:true,9:true},"webkit":{8:true,9:true,27:true},"default":{}}),_keyCodeToIdentifierMap:{16:bx,17:bs,18:x,20:S,224:bA,37:bL,38:bI,39:bf,40:bJ,33:z,34:bd,35:J,36:bo,45:L,46:X,112:bh,113:bD,114:N,115:bt,116:bK,117:P,118:bG,119:M,120:bE,121:bc,122:bH,123:by,144:F,44:bP,145:V,19:bw,91:qx.bom.client.Platform.MAC?bl:bF,92:bF,93:qx.bom.client.Platform.MAC?bl:U},_numpadToCharCode:{96:C.charCodeAt(0),97:W.charCodeAt(0),98:bb.charCodeAt(0),99:bv.charCodeAt(0),100:bi.charCodeAt(0),101:bp.charCodeAt(0),102:bz.charCodeAt(0),103:R.charCodeAt(0),104:ba.charCodeAt(0),105:B.charCodeAt(0),106:Y.charCodeAt(0),107:bQ.charCodeAt(0),109:A.charCodeAt(0),110:bC.charCodeAt(0),111:K.charCodeAt(0)},_charCodeA:bN.charCodeAt(0),_charCodeZ:bM.charCodeAt(0),_charCode0:C.charCodeAt(0),_charCode9:B.charCodeAt(0),_isNonPrintableKeyCode:function(cd){return this._keyCodeToIdentifierMap[cd]?true:false;
},_isIdentifiableKeyCode:function(ca){if(ca>=this._charCodeA&&ca<=this._charCodeZ){return true;
}if(ca>=this._charCode0&&ca<=this._charCode9){return true;
}if(this._specialCharCodeMap[ca]){return true;
}if(this._numpadToCharCode[ca]){return true;
}if(this._isNonPrintableKeyCode(ca)){return true;
}return false;
},_keyCodeToIdentifier:function(cn){if(this._isIdentifiableKeyCode(cn)){var co=this._numpadToCharCode[cn];

if(co){return String.fromCharCode(co);
}return (this._keyCodeToIdentifierMap[cn]||this._specialCharCodeMap[cn]||String.fromCharCode(cn));
}else{return bn;
}},_charCodeToIdentifier:function(cc){return this._specialCharCodeMap[cc]||String.fromCharCode(cc).toUpperCase();
},_identifierToKeyCode:function(cb){return qx.event.handler.Keyboard._identifierToKeyCodeMap[cb]||cb.charCodeAt(0);
}},destruct:function(){this._stopKeyObserver();
this.__fF=this.__fA=this.__fB=this.__fC=this.__fD=null;
},defer:function(cg,ch,ci){qx.event.Registration.addHandler(cg);
if(!cg._identifierToKeyCodeMap){cg._identifierToKeyCodeMap={};

for(var cj in ch._keyCodeToIdentifierMap){cg._identifierToKeyCodeMap[ch._keyCodeToIdentifierMap[cj]]=parseInt(cj,10);
}
for(var cj in ch._specialCharCodeMap){cg._identifierToKeyCodeMap[ch._specialCharCodeMap[cj]]=parseInt(cj,10);
}}
if(qx.core.Variant.isSet(H,y)){ch._charCode2KeyCode={13:13,27:27};
}else if(qx.core.Variant.isSet(H,bO)){ch._keyCodeFix={12:ch._identifierToKeyCode(F)};
}else if(qx.core.Variant.isSet(H,bm)){if(qx.bom.client.Engine.VERSION<525.13){ch._charCode2KeyCode={63289:ch._identifierToKeyCode(F),63276:ch._identifierToKeyCode(z),63277:ch._identifierToKeyCode(bd),63275:ch._identifierToKeyCode(J),63273:ch._identifierToKeyCode(bo),63234:ch._identifierToKeyCode(bL),63232:ch._identifierToKeyCode(bI),63235:ch._identifierToKeyCode(bf),63233:ch._identifierToKeyCode(bJ),63272:ch._identifierToKeyCode(X),63302:ch._identifierToKeyCode(L),63236:ch._identifierToKeyCode(bh),63237:ch._identifierToKeyCode(bD),63238:ch._identifierToKeyCode(N),63239:ch._identifierToKeyCode(bt),63240:ch._identifierToKeyCode(bK),63241:ch._identifierToKeyCode(P),63242:ch._identifierToKeyCode(bG),63243:ch._identifierToKeyCode(M),63244:ch._identifierToKeyCode(bE),63245:ch._identifierToKeyCode(bc),63246:ch._identifierToKeyCode(bH),63247:ch._identifierToKeyCode(by),63248:ch._identifierToKeyCode(bP),3:ch._identifierToKeyCode(D),12:ch._identifierToKeyCode(F),13:ch._identifierToKeyCode(D)};
}else{ch._charCode2KeyCode={13:13,27:27};
}}}});
})();
(function(){var M="qx.client",L="mouseup",K="click",J="mousedown",I="contextmenu",H="mousewheel",G="dblclick",F="mshtml",E="mouseover",D="mouseout",y="DOMMouseScroll",C="mousemove",B="on",x="mshtml|webkit|opera",w="useraction",A="gecko|webkit",z="qx.event.handler.Mouse";
qx.Class.define(z,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(g){qx.core.Object.call(this);
this.__fM=g;
this.__fN=g.getWindow();
this.__fO=this.__fN.document;
this._initButtonObserver();
this._initMoveObserver();
this._initWheelObserver();
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{mousemove:1,mouseover:1,mouseout:1,mousedown:1,mouseup:1,click:1,dblclick:1,contextmenu:1,mousewheel:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true},members:{__fP:null,__fQ:null,__fR:null,__fS:null,__fT:null,__fM:null,__fN:null,__fO:null,canHandleEvent:function(Q,R){},registerEvent:qx.bom.client.System.IPHONE?
function(S,T,U){S[B+T]=qx.lang.Function.returnNull;
}:qx.lang.Function.returnNull,unregisterEvent:qx.bom.client.System.IPHONE?
function(o,p,q){o[B+p]=undefined;
}:qx.lang.Function.returnNull,__fU:function(h,i,j){if(!j){j=h.target||h.srcElement;
}if(j&&j.nodeType){qx.event.Registration.fireEvent(j,i||h.type,i==H?qx.event.type.MouseWheel:qx.event.type.Mouse,[h,j,null,true,true]);
}qx.event.Registration.fireEvent(this.__fN,w,qx.event.type.Data,[i||h.type]);
},_initButtonObserver:function(){this.__fP=qx.lang.Function.listener(this._onButtonEvent,this);
var Event=qx.bom.Event;
Event.addNativeListener(this.__fO,J,this.__fP);
Event.addNativeListener(this.__fO,L,this.__fP);
Event.addNativeListener(this.__fO,K,this.__fP);
Event.addNativeListener(this.__fO,G,this.__fP);
Event.addNativeListener(this.__fO,I,this.__fP);
},_initMoveObserver:function(){this.__fQ=qx.lang.Function.listener(this._onMoveEvent,this);
var Event=qx.bom.Event;
Event.addNativeListener(this.__fO,C,this.__fQ);
Event.addNativeListener(this.__fO,E,this.__fQ);
Event.addNativeListener(this.__fO,D,this.__fQ);
},_initWheelObserver:function(){this.__fR=qx.lang.Function.listener(this._onWheelEvent,this);
var Event=qx.bom.Event;
var e=qx.core.Variant.isSet(M,x)?H:y;
var f=qx.core.Variant.isSet(M,F)?this.__fO:this.__fN;
Event.addNativeListener(f,e,this.__fR);
},_stopButtonObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__fO,J,this.__fP);
Event.removeNativeListener(this.__fO,L,this.__fP);
Event.removeNativeListener(this.__fO,K,this.__fP);
Event.removeNativeListener(this.__fO,G,this.__fP);
Event.removeNativeListener(this.__fO,I,this.__fP);
},_stopMoveObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__fO,C,this.__fQ);
Event.removeNativeListener(this.__fO,E,this.__fQ);
Event.removeNativeListener(this.__fO,D,this.__fQ);
},_stopWheelObserver:function(){var Event=qx.bom.Event;
var u=qx.core.Variant.isSet(M,x)?H:y;
var v=qx.core.Variant.isSet(M,F)?this.__fO:this.__fN;
Event.removeNativeListener(v,u,this.__fR);
},_onMoveEvent:qx.event.GlobalError.observeMethod(function(a){this.__fU(a);
}),_onButtonEvent:qx.event.GlobalError.observeMethod(function(N){var O=N.type;
var P=N.target||N.srcElement;
if(qx.core.Variant.isSet(M,A)){if(P&&P.nodeType==3){P=P.parentNode;
}}
if(this.__fV){this.__fV(N,O,P);
}
if(this.__fX){this.__fX(N,O,P);
}this.__fU(N,O,P);

if(this.__fW){this.__fW(N,O,P);
}
if(this.__fY){this.__fY(N,O,P);
}this.__fS=O;
}),_onWheelEvent:qx.event.GlobalError.observeMethod(function(n){this.__fU(n,H);
}),__fV:qx.core.Variant.select(M,{"webkit":function(b,c,d){if(qx.bom.client.Engine.VERSION<530){if(c==I){this.__fU(b,L,d);
}}},"default":null}),__fW:qx.core.Variant.select(M,{"opera":function(k,l,m){if(l==L&&k.button==2){this.__fU(k,I,m);
}},"default":null}),__fX:qx.core.Variant.select(M,{"mshtml":function(r,s,t){if(s==L&&this.__fS==K){this.__fU(r,J,t);
}else if(s==G){this.__fU(r,K,t);
}},"default":null}),__fY:qx.core.Variant.select(M,{"mshtml":null,"default":function(V,W,X){switch(W){case J:this.__fT=X;
break;
case L:if(X!==this.__fT){var Y=qx.dom.Hierarchy.getCommonParent(X,this.__fT);
this.__fU(V,K,Y);
}}}})},destruct:function(){this._stopButtonObserver();
this._stopMoveObserver();
this._stopWheelObserver();
this.__fM=this.__fN=this.__fO=this.__fT=null;
},defer:function(ba){qx.event.Registration.addHandler(ba);
}});
})();
(function(){var c="qx.event.handler.Capture";
qx.Class.define(c,{extend:qx.core.Object,implement:qx.event.IEventHandler,statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{capture:true,losecapture:true},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true},members:{canHandleEvent:function(a,b){},registerEvent:function(d,e,f){},unregisterEvent:function(g,h,i){}},defer:function(j){qx.event.Registration.addHandler(j);
}});
})();
(function(){var k="alias",j="copy",i="blur",h="mouseout",g="keydown",f="Ctrl",d="Shift",c="mousemove",b="move",a="mouseover",A="Alt",z="keyup",y="mouseup",x="dragend",w="on",v="mousedown",u="qxDraggable",t="drag",s="drop",r="qxDroppable",p="qx.event.handler.DragDrop",q="droprequest",n="dragstart",o="dragchange",l="dragleave",m="dragover";
qx.Class.define(p,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(Y){qx.core.Object.call(this);
this.__ga=Y;
this.__gb=Y.getWindow().document.documentElement;
this.__ga.addListener(this.__gb,v,this._onMouseDown,this);
this.__gn();
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{dragstart:1,dragend:1,dragover:1,dragleave:1,drop:1,drag:1,dragchange:1,droprequest:1},IGNORE_CAN_HANDLE:true},members:{__ga:null,__gb:null,__gc:null,__gd:null,__ge:null,__gf:null,__gg:null,__gh:null,__gi:null,__gj:null,__gk:false,__gl:0,__gm:0,canHandleEvent:function(bi,bj){},registerEvent:function(P,Q,R){},unregisterEvent:function(U,V,W){},addType:function(ba){this.__ge[ba]=true;
},addAction:function(T){this.__gf[T]=true;
},supportsType:function(X){return !!this.__ge[X];
},supportsAction:function(O){return !!this.__gf[O];
},getData:function(bk){if(!this.__gu||!this.__gc){throw new Error("This method must not be used outside the drop event listener!");
}
if(!this.__ge[bk]){throw new Error("Unsupported data type: "+bk+"!");
}
if(!this.__gh[bk]){this.__gi=bk;
this.__gp(q,this.__gd,this.__gc,false);
}
if(!this.__gh[bk]){throw new Error("Please use a droprequest listener to the drag source to fill the manager with data!");
}return this.__gh[bk]||null;
},getCurrentAction:function(){return this.__gj;
},addData:function(B,C){this.__gh[B]=C;
},getCurrentType:function(){return this.__gi;
},isSessionActive:function(){return this.__gk;
},__gn:function(){this.__ge={};
this.__gf={};
this.__gg={};
this.__gh={};
},__go:function(){if(this.__gd==null){return;
}var be=this.__gf;
var bc=this.__gg;
var bd=null;

if(this.__gu){if(bc.Shift&&bc.Ctrl&&be.alias){bd=k;
}else if(bc.Shift&&bc.Alt&&be.copy){bd=j;
}else if(bc.Shift&&be.move){bd=b;
}else if(bc.Alt&&be.alias){bd=k;
}else if(bc.Ctrl&&be.copy){bd=j;
}else if(be.move){bd=b;
}else if(be.copy){bd=j;
}else if(be.alias){bd=k;
}}
if(bd!=this.__gj){this.__gj=bd;
this.__gp(o,this.__gd,this.__gc,false);
}},__gp:function(G,H,I,J,K){var M=qx.event.Registration;
var L=M.createEvent(G,qx.event.type.Drag,[J,K]);

if(H!==I){L.setRelatedTarget(I);
}return M.dispatchEvent(H,L);
},__gq:function(N){while(N&&N.nodeType==1){if(N.getAttribute(u)==w){return N;
}N=N.parentNode;
}return null;
},__gr:function(bb){while(bb&&bb.nodeType==1){if(bb.getAttribute(r)==w){return bb;
}bb=bb.parentNode;
}return null;
},__gs:function(){this.__gd=null;
this.__ga.removeListener(this.__gb,c,this._onMouseMove,this,true);
this.__ga.removeListener(this.__gb,y,this._onMouseUp,this,true);
qx.event.Registration.removeListener(window,i,this._onWindowBlur,this);
this.__gn();
},__gt:function(){if(this.__gk){this.__ga.removeListener(this.__gb,a,this._onMouseOver,this,true);
this.__ga.removeListener(this.__gb,h,this._onMouseOut,this,true);
this.__ga.removeListener(this.__gb,g,this._onKeyDown,this,true);
this.__ga.removeListener(this.__gb,z,this._onKeyUp,this,true);
this.__gp(x,this.__gd,this.__gc,false);
this.__gk=false;
}this.__gu=false;
this.__gc=null;
this.__gs();
},__gu:false,_onWindowBlur:function(e){this.__gt();
},_onKeyDown:function(e){var S=e.getKeyIdentifier();

switch(S){case A:case f:case d:if(!this.__gg[S]){this.__gg[S]=true;
this.__go();
}}},_onKeyUp:function(e){var bh=e.getKeyIdentifier();

switch(bh){case A:case f:case d:if(this.__gg[bh]){this.__gg[bh]=false;
this.__go();
}}},_onMouseDown:function(e){if(this.__gk){return;
}var bm=this.__gq(e.getTarget());

if(bm){this.__gl=e.getDocumentLeft();
this.__gm=e.getDocumentTop();
this.__gd=bm;
this.__ga.addListener(this.__gb,c,this._onMouseMove,this,true);
this.__ga.addListener(this.__gb,y,this._onMouseUp,this,true);
qx.event.Registration.addListener(window,i,this._onWindowBlur,this);
}},_onMouseUp:function(e){if(this.__gu){this.__gp(s,this.__gc,this.__gd,false,e);
}if(this.__gk){e.stopPropagation();
}this.__gt();
},_onMouseMove:function(e){if(this.__gk){if(!this.__gp(t,this.__gd,this.__gc,true,e)){this.__gt();
}}else{if(Math.abs(e.getDocumentLeft()-this.__gl)>3||Math.abs(e.getDocumentTop()-this.__gm)>3){if(this.__gp(n,this.__gd,this.__gc,true,e)){this.__gk=true;
this.__ga.addListener(this.__gb,a,this._onMouseOver,this,true);
this.__ga.addListener(this.__gb,h,this._onMouseOut,this,true);
this.__ga.addListener(this.__gb,g,this._onKeyDown,this,true);
this.__ga.addListener(this.__gb,z,this._onKeyUp,this,true);
var F=this.__gg;
F.Ctrl=e.isCtrlPressed();
F.Shift=e.isShiftPressed();
F.Alt=e.isAltPressed();
this.__go();
}else{this.__gp(x,this.__gd,this.__gc,false);
this.__gs();
}}}},_onMouseOver:function(e){var D=e.getTarget();
var E=this.__gr(D);

if(E&&E!=this.__gc){this.__gu=this.__gp(m,E,this.__gd,true,e);
this.__gc=E;
this.__go();
}},_onMouseOut:function(e){var bg=this.__gr(e.getTarget());
var bf=this.__gr(e.getRelatedTarget());

if(bg&&bg!==bf&&bg==this.__gc){this.__gp(l,this.__gc,bf,false,e);
this.__gc=null;
this.__gu=false;
qx.event.Timer.once(this.__go,this,0);
}}},destruct:function(){this.__gd=this.__gc=this.__ga=this.__gb=this.__ge=this.__gf=this.__gg=this.__gh=null;
},defer:function(bl){qx.event.Registration.addHandler(bl);
}});
})();
(function(){var p="-",o="qx.event.handler.Element";
qx.Class.define(o,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(h){qx.core.Object.call(this);
this._manager=h;
this._registeredEvents={};
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{abort:true,scroll:true,select:true,reset:true,submit:true},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true},members:{canHandleEvent:function(q,r){},registerEvent:function(i,j,k){var n=qx.core.ObjectRegistry.toHashCode(i);
var l=n+p+j;
var m=qx.lang.Function.listener(this._onNative,this,l);
qx.bom.Event.addNativeListener(i,j,m);
this._registeredEvents[l]={element:i,type:j,listener:m};
},unregisterEvent:function(a,b,c){var f=this._registeredEvents;

if(!f){return;
}var g=qx.core.ObjectRegistry.toHashCode(a);
var d=g+p+b;
var e=this._registeredEvents[d];

if(e){qx.bom.Event.removeNativeListener(a,b,e.listener);
}delete this._registeredEvents[d];
},_onNative:qx.event.GlobalError.observeMethod(function(w,x){var z=this._registeredEvents;

if(!z){return;
}var y=z[x];
qx.event.Registration.fireNonBubblingEvent(y.element,y.type,qx.event.type.Native,[w]);
})},destruct:function(){var t;
var u=this._registeredEvents;

for(var v in u){t=u[v];
qx.bom.Event.removeNativeListener(t.element,t.type,t.listener);
}this._manager=this._registeredEvents=null;
},defer:function(s){qx.event.Registration.addHandler(s);
}});
})();
(function(){var m="qx.event.handler.Appear",l="disappear",k="appear";
qx.Class.define(m,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(n){qx.core.Object.call(this);
this.__gv=n;
this.__gw={};
qx.event.handler.Appear.__gx[this.$$hash]=this;
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{appear:true,disappear:true},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true,__gx:{},refresh:function(){var i=this.__gx;

for(var j in i){i[j].refresh();
}}},members:{__gv:null,__gw:null,canHandleEvent:function(b,c){},registerEvent:function(o,p,q){var r=qx.core.ObjectRegistry.toHashCode(o)+p;
var s=this.__gw;

if(s&&!s[r]){s[r]=o;
o.$$displayed=o.offsetWidth>0;
}},unregisterEvent:function(t,u,v){var w=qx.core.ObjectRegistry.toHashCode(t)+u;
var x=this.__gw;

if(!x){return;
}
if(x[w]){delete x[w];
}},refresh:function(){var g=this.__gw;
var h;

for(var f in g){h=g[f];
var d=h.offsetWidth>0;

if((!!h.$$displayed)!==d){h.$$displayed=d;
var e=qx.event.Registration.createEvent(d?k:l);
this.__gv.dispatchEvent(h,e);
}}}},destruct:function(){this.__gv=this.__gw=null;
delete qx.event.handler.Appear.__gx[this.$$hash];
},defer:function(a){qx.event.Registration.addHandler(a);
}});
})();
(function(){var C="mshtml",B="",A="qx.client",z=">",y=" ",x="<",w="='",v="none",u="qx.bom.Element",t="' ",r="div",s="></";
qx.Class.define(u,{statics:{__gy:{"onload":true,"onpropertychange":true,"oninput":true,"onchange":true,"name":true,"type":true,"checked":true,"disabled":true},__gz:{},getHelperElement:function(f){if(!f){f=window;
}var h=f.location.href;

if(!qx.bom.Element.__gz[h]){var g=qx.bom.Element.__gz[h]=f.document.createElement(r);
if(qx.bom.client.Engine.WEBKIT){g.style.display=v;
f.document.body.appendChild(g);
}}return qx.bom.Element.__gz[h];
},create:function(name,U,V){if(!V){V=window;
}
if(!name){throw new Error("The tag name is missing!");
}var X=this.__gy;
var W=B;

for(var ba in U){if(X[ba]){W+=ba+w+U[ba]+t;
}}var bb;
if(W!=B){if(qx.bom.client.Engine.MSHTML){bb=V.document.createElement(x+name+y+W+z);
}else{var Y=qx.bom.Element.getHelperElement(V);
Y.innerHTML=x+name+y+W+s+name+z;
bb=Y.firstChild;
}}else{bb=V.document.createElement(name);
}
for(var ba in U){if(!X[ba]){qx.bom.element.Attribute.set(bb,ba,U[ba]);
}}return bb;
},empty:function(q){return q.innerHTML=B;
},addListener:function(m,n,o,self,p){return qx.event.Registration.addListener(m,n,o,self,p);
},removeListener:function(a,b,c,self,d){return qx.event.Registration.removeListener(a,b,c,self,d);
},removeListenerById:function(bf,bg){return qx.event.Registration.removeListenerById(bf,bg);
},hasListener:function(D,E,F){return qx.event.Registration.hasListener(D,E,F);
},focus:function(bc){qx.event.Registration.getManager(bc).getHandler(qx.event.handler.Focus).focus(bc);
},blur:function(e){qx.event.Registration.getManager(e).getHandler(qx.event.handler.Focus).blur(e);
},activate:function(k){qx.event.Registration.getManager(k).getHandler(qx.event.handler.Focus).activate(k);
},deactivate:function(H){qx.event.Registration.getManager(H).getHandler(qx.event.handler.Focus).deactivate(H);
},capture:function(bd,be){qx.event.Registration.getManager(bd).getDispatcher(qx.event.dispatch.MouseCapture).activateCapture(bd,be);
},releaseCapture:function(G){qx.event.Registration.getManager(G).getDispatcher(qx.event.dispatch.MouseCapture).releaseCapture(G);
},clone:function(I,J){var M;

if(J||(qx.core.Variant.isSet(A,C)&&!qx.xml.Document.isXmlDocument(I))){var Q=qx.event.Registration.getManager(I);
var K=qx.dom.Hierarchy.getDescendants(I);
K.push(I);
}if(qx.core.Variant.isSet(A,C)){for(var i=0,l=K.length;i<l;i++){Q.toggleAttachedEvents(K[i],false);
}}var M=I.cloneNode(true);
if(qx.core.Variant.isSet(A,C)){for(var i=0,l=K.length;i<l;i++){Q.toggleAttachedEvents(K[i],true);
}}if(J===true){var T=qx.dom.Hierarchy.getDescendants(M);
T.push(M);
var L,O,S,N;

for(var i=0,R=K.length;i<R;i++){S=K[i];
L=Q.serializeListeners(S);

if(L.length>0){O=T[i];

for(var j=0,P=L.length;j<P;j++){N=L[j];
Q.addListener(O,N.type,N.handler,N.self,N.capture);
}}}}return M;
}}});
})();
(function(){var c="qx.event.type.Dom";
qx.Class.define(c,{extend:qx.event.type.Native,statics:{SHIFT_MASK:1,CTRL_MASK:2,ALT_MASK:4,META_MASK:8},members:{_cloneNativeEvent:function(d,e){var e=qx.event.type.Native.prototype._cloneNativeEvent.call(this,d,e);
e.shiftKey=d.shiftKey;
e.ctrlKey=d.ctrlKey;
e.altKey=d.altKey;
e.metaKey=d.metaKey;
return e;
},getModifiers:function(){var b=0;
var a=this._native;

if(a.shiftKey){b|=qx.event.type.Dom.SHIFT_MASK;
}
if(a.ctrlKey){b|=qx.event.type.Dom.CTRL_MASK;
}
if(a.altKey){b|=qx.event.type.Dom.ALT_MASK;
}
if(a.metaKey){b|=qx.event.type.Dom.META_MASK;
}return b;
},isCtrlPressed:function(){return this._native.ctrlKey;
},isShiftPressed:function(){return this._native.shiftKey;
},isAltPressed:function(){return this._native.altKey;
},isMetaPressed:function(){return this._native.metaKey;
},isCtrlOrCommandPressed:function(){if(qx.bom.client.Platform.MAC){return this._native.metaKey;
}else{return this._native.ctrlKey;
}}}});
})();
(function(){var f="qx.event.type.KeyInput";
qx.Class.define(f,{extend:qx.event.type.Dom,members:{init:function(a,b,c){qx.event.type.Dom.prototype.init.call(this,a,b,null,true,true);
this._charCode=c;
return this;
},clone:function(d){var e=qx.event.type.Dom.prototype.clone.call(this,d);
e._charCode=this._charCode;
return e;
},getCharCode:function(){return this._charCode;
},getChar:function(){return String.fromCharCode(this._charCode);
}}});
})();
(function(){var a="qx.event.type.KeySequence";
qx.Class.define(a,{extend:qx.event.type.Dom,members:{init:function(b,c,d){qx.event.type.Dom.prototype.init.call(this,b,c,null,true,true);
this._identifier=d;
return this;
},clone:function(e){var f=qx.event.type.Dom.prototype.clone.call(this,e);
f._identifier=this._identifier;
return f;
},getKeyIdentifier:function(){return this._identifier;
}}});
})();
(function(){var E="qx.client",D="blur",C="focus",B="mousedown",A="on",z="mouseup",y="DOMFocusOut",x="DOMFocusIn",w="selectstart",v="onmousedown",Y="onfocusout",X="onfocusin",W="onmouseup",V="onselectstart",U="draggesture",T="qx.event.handler.Focus",S="_applyFocus",R="deactivate",Q="textarea",P="_applyActive",L="input",M="focusin",J="qxSelectable",K="tabIndex",H="off",I="activate",F="mshtml",G="focusout",N="qxKeepFocus",O="qxKeepActive";
qx.Class.define(T,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(bx){qx.core.Object.call(this);
this._manager=bx;
this._window=bx.getWindow();
this._document=this._window.document;
this._root=this._document.documentElement;
this._body=this._document.body;
this._initObserver();
},properties:{active:{apply:P,nullable:true},focus:{apply:S,nullable:true}},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{focus:1,blur:1,focusin:1,focusout:1,activate:1,deactivate:1},IGNORE_CAN_HANDLE:true,FOCUSABLE_ELEMENTS:qx.core.Variant.select("qx.client",{"mshtml|gecko":{a:1,body:1,button:1,frame:1,iframe:1,img:1,input:1,object:1,select:1,textarea:1},"opera|webkit":{button:1,input:1,select:1,textarea:1}})},members:{__gA:null,__gB:null,__gC:null,__gD:null,__gE:null,__gF:null,__gG:null,__gH:null,__gI:null,__gJ:null,canHandleEvent:function(bK,bL){},registerEvent:function(bl,bm,bn){},unregisterEvent:function(bH,bI,bJ){},focus:function(bo){if(qx.core.Variant.isSet(E,F)){window.setTimeout(function(){try{bo.focus();
}catch(bM){}},0);
}else{try{bo.focus();
}catch(bj){}}this.setFocus(bo);
this.setActive(bo);
},activate:function(j){this.setActive(j);
},blur:function(bN){try{bN.blur();
}catch(l){}
if(this.getActive()===bN){this.resetActive();
}
if(this.getFocus()===bN){this.resetFocus();
}},deactivate:function(i){if(this.getActive()===i){this.resetActive();
}},tryActivate:function(r){var s=this.__gY(r);

if(s){this.setActive(s);
}},__gK:function(bc,bd,be,bf){var bh=qx.event.Registration;
var bg=bh.createEvent(be,qx.event.type.Focus,[bc,bd,bf]);
bh.dispatchEvent(bc,bg);
},_windowFocused:true,__gL:function(){if(this._windowFocused){this._windowFocused=false;
this.__gK(this._window,null,D,false);
}},__gM:function(){if(!this._windowFocused){this._windowFocused=true;
this.__gK(this._window,null,C,false);
}},_initObserver:qx.core.Variant.select(E,{"gecko":function(){this.__gA=qx.lang.Function.listener(this.__gS,this);
this.__gB=qx.lang.Function.listener(this.__gT,this);
this.__gC=qx.lang.Function.listener(this.__gR,this);
this.__gD=qx.lang.Function.listener(this.__gQ,this);
this.__gE=qx.lang.Function.listener(this.__gN,this);
this._document.addEventListener(B,this.__gA,true);
this._document.addEventListener(z,this.__gB,true);
this._window.addEventListener(C,this.__gC,true);
this._window.addEventListener(D,this.__gD,true);
this._window.addEventListener(U,this.__gE,true);
},"mshtml":function(){this.__gA=qx.lang.Function.listener(this.__gS,this);
this.__gB=qx.lang.Function.listener(this.__gT,this);
this.__gG=qx.lang.Function.listener(this.__gO,this);
this.__gH=qx.lang.Function.listener(this.__gP,this);
this.__gF=qx.lang.Function.listener(this.__gV,this);
this._document.attachEvent(v,this.__gA);
this._document.attachEvent(W,this.__gB);
this._document.attachEvent(X,this.__gG);
this._document.attachEvent(Y,this.__gH);
this._document.attachEvent(V,this.__gF);
},"webkit":function(){this.__gA=qx.lang.Function.listener(this.__gS,this);
this.__gB=qx.lang.Function.listener(this.__gT,this);
this.__gH=qx.lang.Function.listener(this.__gP,this);
this.__gC=qx.lang.Function.listener(this.__gR,this);
this.__gD=qx.lang.Function.listener(this.__gQ,this);
this.__gF=qx.lang.Function.listener(this.__gV,this);
this._document.addEventListener(B,this.__gA,true);
this._document.addEventListener(z,this.__gB,true);
this._document.addEventListener(w,this.__gF,false);
this._window.addEventListener(y,this.__gH,true);
this._window.addEventListener(C,this.__gC,true);
this._window.addEventListener(D,this.__gD,true);
},"opera":function(){this.__gA=qx.lang.Function.listener(this.__gS,this);
this.__gB=qx.lang.Function.listener(this.__gT,this);
this.__gG=qx.lang.Function.listener(this.__gO,this);
this.__gH=qx.lang.Function.listener(this.__gP,this);
this._document.addEventListener(B,this.__gA,true);
this._document.addEventListener(z,this.__gB,true);
this._window.addEventListener(x,this.__gG,true);
this._window.addEventListener(y,this.__gH,true);
}}),_stopObserver:qx.core.Variant.select(E,{"gecko":function(){this._document.removeEventListener(B,this.__gA,true);
this._document.removeEventListener(z,this.__gB,true);
this._window.removeEventListener(C,this.__gC,true);
this._window.removeEventListener(D,this.__gD,true);
this._window.removeEventListener(U,this.__gE,true);
},"mshtml":function(){qx.bom.Event.removeNativeListener(this._document,v,this.__gA);
qx.bom.Event.removeNativeListener(this._document,W,this.__gB);
qx.bom.Event.removeNativeListener(this._document,X,this.__gG);
qx.bom.Event.removeNativeListener(this._document,Y,this.__gH);
qx.bom.Event.removeNativeListener(this._document,V,this.__gF);
},"webkit":function(){this._document.removeEventListener(B,this.__gA,true);
this._document.removeEventListener(w,this.__gF,false);
this._window.removeEventListener(x,this.__gG,true);
this._window.removeEventListener(y,this.__gH,true);
this._window.removeEventListener(C,this.__gC,true);
this._window.removeEventListener(D,this.__gD,true);
},"opera":function(){this._document.removeEventListener(B,this.__gA,true);
this._window.removeEventListener(x,this.__gG,true);
this._window.removeEventListener(y,this.__gH,true);
this._window.removeEventListener(C,this.__gC,true);
this._window.removeEventListener(D,this.__gD,true);
}}),__gN:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"gecko":function(e){if(!this.__ha(e.target)){qx.bom.Event.preventDefault(e);
}},"default":null})),__gO:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"mshtml":function(e){this.__gM();
var b=e.srcElement;
var a=this.__gX(b);

if(a){this.setFocus(a);
}this.tryActivate(b);
},"opera":function(e){var m=e.target;

if(m==this._document||m==this._window){this.__gM();

if(this.__gI){this.setFocus(this.__gI);
delete this.__gI;
}
if(this.__gJ){this.setActive(this.__gJ);
delete this.__gJ;
}}else{this.setFocus(m);
this.tryActivate(m);
if(!this.__ha(m)){m.selectionStart=0;
m.selectionEnd=0;
}}},"default":null})),__gP:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"mshtml":function(e){if(!e.toElement){this.__gL();
this.resetFocus();
this.resetActive();
}},"webkit":function(e){var bw=e.target;

if(bw===this.getFocus()){this.resetFocus();
}
if(bw===this.getActive()){this.resetActive();
}},"opera":function(e){var k=e.target;

if(k==this._document){this.__gL();
this.__gI=this.getFocus();
this.__gJ=this.getActive();
this.resetFocus();
this.resetActive();
}else{if(k===this.getFocus()){this.resetFocus();
}
if(k===this.getActive()){this.resetActive();
}}},"default":null})),__gQ:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"gecko":function(e){if(e.target===this._window||e.target===this._document){this.__gL();
this.resetActive();
this.resetFocus();
}},"webkit":function(e){if(e.target===this._window||e.target===this._document){this.__gL();
this.__gI=this.getFocus();
this.__gJ=this.getActive();
this.resetActive();
this.resetFocus();
}},"default":null})),__gR:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"gecko":function(e){var q=e.target;

if(q===this._window||q===this._document){this.__gM();
q=this._body;
}this.setFocus(q);
this.tryActivate(q);
},"webkit":function(e){var t=e.target;

if(t===this._window||t===this._document){this.__gM();

if(this.__gI){this.setFocus(this.__gI);
delete this.__gI;
}
if(this.__gJ){this.setActive(this.__gJ);
delete this.__gJ;
}}else{this.setFocus(t);
this.tryActivate(t);
}},"default":null})),__gS:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"gecko":function(e){var h=this.__gX(e.target);

if(!h){qx.bom.Event.preventDefault(e);
}else if(h===this._body){this.setFocus(h);
}},"mshtml":function(e){var bA=e.srcElement;
var bz=this.__gX(bA);

if(bz){if(!this.__ha(bA)){bA.unselectable=A;
try{document.selection.empty();
}catch(e){}try{bz.focus();
}catch(e){}}}else{qx.bom.Event.preventDefault(e);
if(!this.__ha(bA)){bA.unselectable=A;
}}},"webkit":function(e){var g=e.target;
var f=this.__gX(g);

if(f){this.setFocus(f);
}else{qx.bom.Event.preventDefault(e);
}},"opera":function(e){var bD=e.target;
var bB=this.__gX(bD);

if(!this.__ha(bD)){qx.bom.Event.preventDefault(e);
if(bB){var bC=this.getFocus();

if(bC&&bC.selectionEnd){bC.selectionStart=0;
bC.selectionEnd=0;
bC.blur();
}if(bB){this.setFocus(bB);
}}}else if(bB){this.setFocus(bB);
}},"default":null})),__gT:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"mshtml":function(e){var bk=e.srcElement;

if(bk.unselectable){bk.unselectable=H;
}this.tryActivate(this.__gU(bk));
},"gecko":function(e){var by=e.target;

while(by&&by.offsetWidth===undefined){by=by.parentNode;
}
if(by){this.tryActivate(by);
}},"webkit|opera":function(e){this.tryActivate(this.__gU(e.target));
},"default":null})),__gU:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"mshtml|webkit":function(ba){var bb=this.getFocus();

if(bb&&ba!=bb&&(bb.nodeName.toLowerCase()===L||bb.nodeName.toLowerCase()===Q)){ba=bb;
}return ba;
},"default":function(bi){return bi;
}})),__gV:qx.event.GlobalError.observeMethod(qx.core.Variant.select(E,{"mshtml|webkit":function(e){var bE=qx.bom.client.Engine.MSHTML?e.srcElement:e.target;

if(!this.__ha(bE)){qx.bom.Event.preventDefault(e);
}},"default":null})),__gW:function(n){var o=qx.bom.element.Attribute.get(n,K);

if(o>=1){return true;
}var p=qx.event.handler.Focus.FOCUSABLE_ELEMENTS;

if(o>=0&&p[n.tagName]){return true;
}return false;
},__gX:function(u){while(u&&u.nodeType===1){if(u.getAttribute(N)==A){return null;
}
if(this.__gW(u)){return u;
}u=u.parentNode;
}return this._body;
},__gY:function(c){var d=c;

while(c&&c.nodeType===1){if(c.getAttribute(O)==A){return null;
}c=c.parentNode;
}return d;
},__ha:function(bp){while(bp&&bp.nodeType===1){var bq=bp.getAttribute(J);

if(bq!=null){return bq===A;
}bp=bp.parentNode;
}return true;
},_applyActive:function(bF,bG){if(bG){this.__gK(bG,bF,R,true);
}
if(bF){this.__gK(bF,bG,I,true);
}},_applyFocus:function(bu,bv){if(bv){this.__gK(bv,bu,G,true);
}
if(bu){this.__gK(bu,bv,M,true);
}if(bv){this.__gK(bv,bu,D,false);
}
if(bu){this.__gK(bu,bv,C,false);
}}},destruct:function(){this._stopObserver();
this._manager=this._window=this._document=this._root=this._body=this.__hb=null;
},defer:function(br){qx.event.Registration.addHandler(br);
var bs=br.FOCUSABLE_ELEMENTS;

for(var bt in bs){bs[bt.toUpperCase()]=1;
}}});
})();
(function(){var a="qx.event.type.Focus";
qx.Class.define(a,{extend:qx.event.type.Event,members:{init:function(b,c,d){qx.event.type.Event.prototype.init.call(this,d,false);
this._target=b;
this._relatedTarget=c;
return this;
}}});
})();
(function(){var m="",l="undefined",k="qx.client",j="readOnly",i="accessKey",h="qx.bom.element.Attribute",g="rowSpan",f="vAlign",e="className",d="textContent",B="'",A="htmlFor",z="longDesc",y="cellSpacing",x="frameBorder",w="='",v="useMap",u="innerText",t="innerHTML",s="tabIndex",q="dateTime",r="maxLength",o="mshtml",p="cellPadding",n="colSpan";
qx.Class.define(h,{statics:{__hc:{names:{"class":e,"for":A,html:t,text:qx.core.Variant.isSet(k,o)?u:d,colspan:n,rowspan:g,valign:f,datetime:q,accesskey:i,tabindex:s,maxlength:r,readonly:j,longdesc:z,cellpadding:p,cellspacing:y,frameborder:x,usemap:v},runtime:{"html":1,"text":1},bools:{compact:1,nowrap:1,ismap:1,declare:1,noshade:1,checked:1,disabled:1,readOnly:1,multiple:1,selected:1,noresize:1,defer:1,allowTransparency:1},property:{$$html:1,$$widget:1,disabled:1,checked:1,readOnly:1,multiple:1,selected:1,value:1,maxLength:1,className:1,innerHTML:1,innerText:1,textContent:1,htmlFor:1,tabIndex:1},qxProperties:{$$widget:1,$$html:1},propertyDefault:{disabled:false,checked:false,readOnly:false,multiple:false,selected:false,value:m,className:m,innerHTML:m,innerText:m,textContent:m,htmlFor:m,tabIndex:0,maxLength:qx.core.Variant.select(k,{"mshtml":2147483647,"webkit":524288,"default":-1})},removeableProperties:{disabled:1,multiple:1,maxLength:1},original:{href:1,src:1,type:1}},compile:function(C){var D=[];
var F=this.__hc.runtime;

for(var E in C){if(!F[E]){D.push(E,w,C[E],B);
}}return D.join(m);
},get:qx.core.Variant.select(k,{"mshtml":function(a,name){var c=this.__hc;
var b;
name=c.names[name]||name;
if(c.original[name]){b=a.getAttribute(name,2);
}else if(c.property[name]){b=a[name];

if(typeof c.propertyDefault[name]!==l&&b==c.propertyDefault[name]){if(typeof c.bools[name]===l){return null;
}else{return b;
}}}else{b=a.getAttribute(name);
}if(c.bools[name]){return !!b;
}return b;
},"default":function(K,name){var M=this.__hc;
var L;
name=M.names[name]||name;
if(M.property[name]){L=K[name];

if(typeof M.propertyDefault[name]!==l&&L==M.propertyDefault[name]){if(typeof M.bools[name]===l){return null;
}else{return L;
}}}else{L=K.getAttribute(name);
}if(M.bools[name]){return !!L;
}return L;
}}),set:function(H,name,I){var J=this.__hc;
name=J.names[name]||name;
if(J.bools[name]){I=!!I;
}if(J.property[name]&&(!(H[name]===undefined)||J.qxProperties[name])){if(I==null){if(J.removeableProperties[name]){H.removeAttribute(name);
return;
}else if(typeof J.propertyDefault[name]!==l){I=J.propertyDefault[name];
}}H[name]=I;
}else{if(I===true){H.setAttribute(name,name);
}else if(I===false||I===null){H.removeAttribute(name);
}else{H.setAttribute(name,I);
}}},reset:function(G,name){this.set(G,name,null);
}}});
})();
(function(){var l="left",k="right",j="middle",i="qx.client",h="dblclick",g="click",f="none",e="contextmenu",d="qx.event.type.Mouse";
qx.Class.define(d,{extend:qx.event.type.Dom,members:{init:function(m,n,o,p,q){qx.event.type.Dom.prototype.init.call(this,m,n,o,p,q);

if(!o){this._relatedTarget=qx.bom.Event.getRelatedTarget(m);
}return this;
},_cloneNativeEvent:function(a,b){var b=qx.event.type.Dom.prototype._cloneNativeEvent.call(this,a,b);
b.button=a.button;
b.clientX=a.clientX;
b.clientY=a.clientY;
b.pageX=a.pageX;
b.pageY=a.pageY;
b.screenX=a.screenX;
b.screenY=a.screenY;
b.wheelDelta=a.wheelDelta;
b.detail=a.detail;
b.srcElement=a.srcElement;
return b;
},__hd:qx.core.Variant.select(i,{"mshtml":{1:l,2:k,4:j},"default":{0:l,2:k,1:j}}),stop:function(){this.stopPropagation();
},getButton:function(){switch(this._type){case g:case h:return l;
case e:return k;
default:return this.__hd[this._native.button]||f;
}},isLeftPressed:function(){return this.getButton()===l;
},isMiddlePressed:function(){return this.getButton()===j;
},isRightPressed:function(){return this.getButton()===k;
},getRelatedTarget:function(){return this._relatedTarget;
},getViewportLeft:function(){return this._native.clientX;
},getViewportTop:function(){return this._native.clientY;
},getDocumentLeft:qx.core.Variant.select(i,{"mshtml":function(){var c=qx.dom.Node.getWindow(this._native.srcElement);
return this._native.clientX+qx.bom.Viewport.getScrollLeft(c);
},"default":function(){return this._native.pageX;
}}),getDocumentTop:qx.core.Variant.select(i,{"mshtml":function(){var r=qx.dom.Node.getWindow(this._native.srcElement);
return this._native.clientY+qx.bom.Viewport.getScrollTop(r);
},"default":function(){return this._native.pageY;
}}),getScreenLeft:function(){return this._native.screenX;
},getScreenTop:function(){return this._native.screenY;
}}});
})();
(function(){var c="qx.client",b="chrome",a="qx.event.type.MouseWheel";
qx.Class.define(a,{extend:qx.event.type.Mouse,members:{stop:function(){this.stopPropagation();
this.preventDefault();
},getWheelDelta:qx.core.Variant.select(c,{"default":function(){return -(this._native.wheelDelta/40);
},"gecko":function(){return this._native.detail;
},"webkit":function(){if(qx.bom.client.Browser.NAME==b){return -(this._native.wheelDelta/120);
}else{var d=40;
if(qx.bom.client.Browser.VERSION>=5){d=1200;
}return -(this._native.wheelDelta/d);
}}})}});
})();
(function(){var f="qx.client",e="qx.bom.Viewport";
qx.Class.define(e,{statics:{getWidth:qx.core.Variant.select(f,{"opera":function(l){if(qx.bom.client.Engine.VERSION<9.5){return (l||window).document.body.clientWidth;
}else{var m=(l||window).document;
return qx.bom.Document.isStandardMode(l)?m.documentElement.clientWidth:m.body.clientWidth;
}},"webkit":function(c){if(qx.bom.client.Engine.VERSION<523.15){return (c||window).innerWidth;
}else{var d=(c||window).document;
return qx.bom.Document.isStandardMode(c)?d.documentElement.clientWidth:d.body.clientWidth;
}},"default":function(s){var t=(s||window).document;
return qx.bom.Document.isStandardMode(s)?t.documentElement.clientWidth:t.body.clientWidth;
}}),getHeight:qx.core.Variant.select(f,{"opera":function(h){if(qx.bom.client.Engine.VERSION<9.5){return (h||window).document.body.clientHeight;
}else{var i=(h||window).document;
return qx.bom.Document.isStandardMode(h)?i.documentElement.clientHeight:i.body.clientHeight;
}},"webkit":function(j){if(qx.bom.client.Engine.VERSION<523.15){return (j||window).innerHeight;
}else{var k=(j||window).document;
return qx.bom.Document.isStandardMode(j)?k.documentElement.clientHeight:k.body.clientHeight;
}},"default":function(p){var q=(p||window).document;
return qx.bom.Document.isStandardMode(p)?q.documentElement.clientHeight:q.body.clientHeight;
}}),getScrollLeft:qx.core.Variant.select(f,{"mshtml":function(a){var b=(a||window).document;
return b.documentElement.scrollLeft||b.body.scrollLeft;
},"default":function(g){return (g||window).pageXOffset;
}}),getScrollTop:qx.core.Variant.select(f,{"mshtml":function(n){var o=(n||window).document;
return o.documentElement.scrollTop||o.body.scrollTop;
},"default":function(r){return (r||window).pageYOffset;
}})}});
})();
(function(){var k="CSS1Compat",j="position:absolute;width:0;height:0;width:1",i="qx.bom.Document",h="1px",g="qx.client",f="div";
qx.Class.define(i,{statics:{isQuirksMode:qx.core.Variant.select(g,{"mshtml":function(a){if(qx.bom.client.Engine.VERSION>=8){return qx.bom.client.Engine.DOCUMENT_MODE===5;
}else{return (a||window).document.compatMode!==k;
}},"webkit":function(p){if(document.compatMode===undefined){var q=(p||window).document.createElement(f);
q.style.cssText=j;
return q.style.width===h?true:false;
}else{return (p||window).document.compatMode!==k;
}},"default":function(e){return (e||window).document.compatMode!==k;
}}),isStandardMode:function(o){return !this.isQuirksMode(o);
},getWidth:function(l){var m=(l||window).document;
var n=qx.bom.Viewport.getWidth(l);
var scroll=this.isStandardMode(l)?m.documentElement.scrollWidth:m.body.scrollWidth;
return Math.max(scroll,n);
},getHeight:function(b){var c=(b||window).document;
var d=qx.bom.Viewport.getHeight(b);
var scroll=this.isStandardMode(b)?c.documentElement.scrollHeight:c.body.scrollHeight;
return Math.max(scroll,d);
}}});
})();
(function(){var q="qx.client",p="ie",o="msie",n="android",m="operamini",l="mobile chrome",k=")(/| )([0-9]+\.[0-9])",j="iemobile",i="opera mobi",h="Mobile Safari",E="operamobile",D="mobile safari",C="IEMobile|Maxthon|MSIE",B="qx.bom.client.Browser",A="opera mini",z="(",y="opera",x="mshtml",w="Opera Mini|Opera Mobi|Opera",v="AdobeAIR|Titanium|Fluid|Chrome|Android|Epiphany|Konqueror|iCab|OmniWeb|Maxthon|Pre|Mobile Safari|Safari",t="webkit",u="5.0",r="prism|Fennec|Camino|Kmeleon|Galeon|Netscape|SeaMonkey|Firefox",s="Mobile/";
qx.Bootstrap.define(B,{statics:{UNKNOWN:true,NAME:"unknown",TITLE:"unknown 0.0",VERSION:0.0,FULLVERSION:"0.0.0",__he:function(b){var c=navigator.userAgent;
var e=new RegExp(z+b+k);
var f=c.match(e);

if(!f){return;
}var name=f[1].toLowerCase();
var d=f[3];
if(c.match(/Version(\/| )([0-9]+\.[0-9])/)){d=RegExp.$2;
}
if(qx.core.Variant.isSet(q,t)){if(name===n){name=l;
}else if(c.indexOf(h)!==-1||c.indexOf(s)!==-1){name=D;
}}else if(qx.core.Variant.isSet(q,x)){if(name===o){name=p;
if(qx.bom.client.System.WINCE&&name===p){name=j;
d=u;
}}}else if(qx.core.Variant.isSet(q,y)){if(name===i){name=E;
}else if(name===A){name=m;
}}this.NAME=name;
this.FULLVERSION=d;
this.VERSION=parseFloat(d,10);
this.TITLE=name+" "+this.VERSION;
this.UNKNOWN=false;
}},defer:qx.core.Variant.select(q,{"webkit":function(g){g.__he(v);
},"gecko":function(F){F.__he(r);
},"mshtml":function(G){G.__he(C);
},"opera":function(a){a.__he(w);
}})});
})();
(function(){var k="qx.client",j="qx.dom.Hierarchy",i="previousSibling",h="*",g="nextSibling",f="parentNode";
qx.Class.define(j,{statics:{getNodeIndex:function(q){var r=0;

while(q&&(q=q.previousSibling)){r++;
}return r;
},getElementIndex:function(P){var Q=0;
var R=qx.dom.Node.ELEMENT;

while(P&&(P=P.previousSibling)){if(P.nodeType==R){Q++;
}}return Q;
},getNextElementSibling:function(c){while(c&&(c=c.nextSibling)&&!qx.dom.Node.isElement(c)){continue;
}return c||null;
},getPreviousElementSibling:function(K){while(K&&(K=K.previousSibling)&&!qx.dom.Node.isElement(K)){continue;
}return K||null;
},contains:qx.core.Variant.select(k,{"webkit|mshtml|opera":function(n,o){if(qx.dom.Node.isDocument(n)){var p=qx.dom.Node.getDocument(o);
return n&&p==n;
}else if(qx.dom.Node.isDocument(o)){return false;
}else{return n.contains(o);
}},"gecko":function(S,T){return !!(S.compareDocumentPosition(T)&16);
},"default":function(E,F){while(F){if(E==F){return true;
}F=F.parentNode;
}return false;
}}),isRendered:function(L){if(!L.parentNode||!L.offsetParent){return false;
}var M=L.ownerDocument||L.document;
if(M.body.contains){return M.body.contains(L);
}if(M.compareDocumentPosition){return !!(M.compareDocumentPosition(L)&16);
}throw new Error("Missing support for isRendered()!");
},isDescendantOf:function(d,e){return this.contains(e,d);
},getCommonParent:qx.core.Variant.select(k,{"mshtml|opera":function(l,m){if(l===m){return l;
}
while(l&&qx.dom.Node.isElement(l)){if(l.contains(m)){return l;
}l=l.parentNode;
}return null;
},"default":function(s,t){if(s===t){return s;
}var u={};
var x=qx.core.ObjectRegistry;
var w,v;

while(s||t){if(s){w=x.toHashCode(s);

if(u[w]){return u[w];
}u[w]=s;
s=s.parentNode;
}
if(t){v=x.toHashCode(t);

if(u[v]){return u[v];
}u[v]=t;
t=t.parentNode;
}}return null;
}}),getAncestors:function(D){return this._recursivelyCollect(D,f);
},getChildElements:function(y){y=y.firstChild;

if(!y){return [];
}var z=this.getNextSiblings(y);

if(y.nodeType===1){z.unshift(y);
}return z;
},getDescendants:function(b){return qx.lang.Array.fromCollection(b.getElementsByTagName(h));
},getFirstDescendant:function(O){O=O.firstChild;

while(O&&O.nodeType!=1){O=O.nextSibling;
}return O;
},getLastDescendant:function(U){U=U.lastChild;

while(U&&U.nodeType!=1){U=U.previousSibling;
}return U;
},getPreviousSiblings:function(N){return this._recursivelyCollect(N,i);
},getNextSiblings:function(a){return this._recursivelyCollect(a,g);
},_recursivelyCollect:function(H,I){var J=[];

while(H=H[I]){if(H.nodeType==1){J.push(H);
}}return J;
},getSiblings:function(V){return this.getPreviousSiblings(V).reverse().concat(this.getNextSiblings(V));
},isEmpty:function(G){G=G.firstChild;

while(G){if(G.nodeType===qx.dom.Node.ELEMENT||G.nodeType===qx.dom.Node.TEXT){return false;
}G=G.nextSibling;
}return true;
},cleanWhitespace:function(A){var B=A.firstChild;

while(B){var C=B.nextSibling;

if(B.nodeType==3&&!/\S/.test(B.nodeValue)){A.removeChild(B);
}B=C;
}}}});
})();
(function(){var g="qx.client",f="qx.event.type.Drag";
qx.Class.define(f,{extend:qx.event.type.Event,members:{init:function(m,n){qx.event.type.Event.prototype.init.call(this,true,m);

if(n){this._native=n.getNativeEvent()||null;
this._originalTarget=n.getTarget()||null;
}else{this._native=null;
this._originalTarget=null;
}return this;
},clone:function(i){var j=qx.event.type.Event.prototype.clone.call(this,i);
j._native=this._native;
return j;
},getDocumentLeft:qx.core.Variant.select(g,{"mshtml":function(){if(this._native==null){return 0;
}var l=qx.dom.Node.getWindow(this._native.srcElement);
return this._native.clientX+qx.bom.Viewport.getScrollLeft(l);
},"default":function(){if(this._native==null){return 0;
}return this._native.pageX;
}}),getDocumentTop:qx.core.Variant.select(g,{"mshtml":function(){if(this._native==null){return 0;
}var k=qx.dom.Node.getWindow(this._native.srcElement);
return this._native.clientY+qx.bom.Viewport.getScrollTop(k);
},"default":function(){if(this._native==null){return 0;
}return this._native.pageY;
}}),getManager:function(){return qx.event.Registration.getManager(this.getTarget()).getHandler(qx.event.handler.DragDrop);
},addType:function(o){this.getManager().addType(o);
},addAction:function(c){this.getManager().addAction(c);
},supportsType:function(h){return this.getManager().supportsType(h);
},supportsAction:function(b){return this.getManager().supportsAction(b);
},addData:function(d,e){this.getManager().addData(d,e);
},getData:function(a){return this.getManager().getData(a);
},getCurrentType:function(){return this.getManager().getCurrentType();
},getCurrentAction:function(){return this.getManager().getCurrentAction();
}}});
})();
(function(){var o="losecapture",n="qx.client",m="blur",l="focus",k="click",j="qx.event.dispatch.MouseCapture",i="capture",h="scroll";
qx.Class.define(j,{extend:qx.event.dispatch.AbstractBubbling,construct:function(t,u){qx.event.dispatch.AbstractBubbling.call(this,t);
this.__hf=t.getWindow();
this.__hg=u;
t.addListener(this.__hf,m,this.releaseCapture,this);
t.addListener(this.__hf,l,this.releaseCapture,this);
t.addListener(this.__hf,h,this.releaseCapture,this);
},statics:{PRIORITY:qx.event.Registration.PRIORITY_FIRST},members:{__hg:null,__hh:null,__hi:true,__hf:null,_getParent:function(v){return v.parentNode;
},canDispatchEvent:function(e,event,f){return (this.__hh&&this.__hj[f]);
},dispatchEvent:function(c,event,d){if(d==k){event.stopPropagation();
this.releaseCapture();
return;
}
if(this.__hi||!qx.dom.Hierarchy.contains(this.__hh,c)){c=this.__hh;
}qx.event.dispatch.AbstractBubbling.prototype.dispatchEvent.call(this,c,event,d);
},__hj:{"mouseup":1,"mousedown":1,"click":1,"dblclick":1,"mousemove":1,"mouseout":1,"mouseover":1},activateCapture:function(a,b){var b=b!==false;

if(this.__hh===a&&this.__hi==b){return;
}
if(this.__hh){this.releaseCapture();
}this.nativeSetCapture(a,b);

if(this.hasNativeCapture){var self=this;
qx.bom.Event.addNativeListener(a,o,function(){qx.bom.Event.removeNativeListener(a,o,arguments.callee);
self.releaseCapture();
});
}this.__hi=b;
this.__hh=a;
this.__hg.fireEvent(a,i,qx.event.type.Event,[true,false]);
},getCaptureElement:function(){return this.__hh;
},releaseCapture:function(){var s=this.__hh;

if(!s){return;
}this.__hh=null;
this.__hg.fireEvent(s,o,qx.event.type.Event,[true,false]);
this.nativeReleaseCapture(s);
},hasNativeCapture:qx.bom.client.Engine.MSHTML,nativeSetCapture:qx.core.Variant.select(n,{"mshtml":function(q,r){q.setCapture(r!==false);
},"default":qx.lang.Function.empty}),nativeReleaseCapture:qx.core.Variant.select(n,{"mshtml":function(g){g.releaseCapture();
},"default":qx.lang.Function.empty})},destruct:function(){this.__hh=this.__hf=this.__hg=null;
},defer:function(p){qx.event.Registration.addDispatcher(p);
}});
})();
(function(){var y="qx.client",x="",w="mshtml",v="'",u="SelectionLanguage",t="qx.xml.Document",s=" />",r="MSXML2.DOMDocument.3.0",q='<\?xml version="1.0" encoding="utf-8"?>\n<',p="MSXML2.XMLHTTP.3.0",k="MSXML2.XMLHTTP.6.0",o=" xmlns='",n="text/xml",j="XPath",h="MSXML2.DOMDocument.6.0",m="HTML";
qx.Class.define(t,{statics:{DOMDOC:null,XMLHTTP:null,isXmlDocument:function(C){if(C.nodeType===9){return C.documentElement.nodeName!==m;
}else if(C.ownerDocument){return this.isXmlDocument(C.ownerDocument);
}else{return false;
}},create:qx.core.Variant.select(y,{"mshtml":function(d,e){var f=new ActiveXObject(this.DOMDOC);
f.setProperty(u,j);

if(e){var g=q;
g+=e;

if(d){g+=o+d+v;
}g+=s;
f.loadXML(g);
}return f;
},"default":function(z,A){return document.implementation.createDocument(z||x,A||x,null);
}}),fromString:qx.core.Variant.select(y,{"mshtml":function(D){var E=qx.xml.Document.create();
E.loadXML(D);
return E;
},"default":function(F){var G=new DOMParser();
return G.parseFromString(F,n);
}})},defer:function(a){if(qx.core.Variant.isSet(y,w)){var b=[h,r];
var c=[k,p];

for(var i=0,l=b.length;i<l;i++){try{new ActiveXObject(b[i]);
new ActiveXObject(c[i]);
}catch(B){continue;
}a.DOMDOC=b[i];
a.XMLHTTP=c[i];
break;
}}}});
})();
(function(){var G="visible",F="scroll",E="borderBottomWidth",D="borderTopWidth",C="left",B="borderLeftWidth",A="bottom",z="top",y="right",x="qx.bom.element.Scroll",w="borderRightWidth";
qx.Class.define(x,{statics:{intoViewX:function(a,stop,b){var parent=a.parentNode;
var g=qx.dom.Node.getDocument(a);
var c=g.body;
var o,m,j;
var q,h,r;
var k,s,v;
var t,e,n,d;
var i,u,l;
var f=b===C;
var p=b===y;
stop=stop?stop.parentNode:g;
while(parent&&parent!=stop){if(parent.scrollWidth>parent.clientWidth&&(parent===c||qx.bom.element.Overflow.getY(parent)!=G)){if(parent===c){m=parent.scrollLeft;
j=m+qx.bom.Viewport.getWidth();
q=qx.bom.Viewport.getWidth();
h=parent.clientWidth;
r=parent.scrollWidth;
k=0;
s=0;
v=0;
}else{o=qx.bom.element.Location.get(parent);
m=o.left;
j=o.right;
q=parent.offsetWidth;
h=parent.clientWidth;
r=parent.scrollWidth;
k=parseInt(qx.bom.element.Style.get(parent,B),10)||0;
s=parseInt(qx.bom.element.Style.get(parent,w),10)||0;
v=q-h-k-s;
}t=qx.bom.element.Location.get(a);
e=t.left;
n=t.right;
d=a.offsetWidth;
i=e-m-k;
u=n-j+s;
l=0;
if(f){l=i;
}else if(p){l=u+v;
}else if(i<0||d>h){l=i;
}else if(u>0){l=u+v;
}parent.scrollLeft+=l;
if(qx.bom.client.Engine.GECKO){qx.event.Registration.fireNonBubblingEvent(parent,F);
}}
if(parent===c){break;
}parent=parent.parentNode;
}},intoViewY:function(K,stop,L){var parent=K.parentNode;
var R=qx.dom.Node.getDocument(K);
var M=R.body;
var ba,N,V;
var bc,Y,T;
var P,Q,O;
var be,bf,bb,U;
var X,S,bg;
var bd=L===z;
var W=L===A;
stop=stop?stop.parentNode:R;
while(parent&&parent!=stop){if(parent.scrollHeight>parent.clientHeight&&(parent===M||qx.bom.element.Overflow.getY(parent)!=G)){if(parent===M){N=parent.scrollTop;
V=N+qx.bom.Viewport.getHeight();
bc=qx.bom.Viewport.getHeight();
Y=parent.clientHeight;
T=parent.scrollHeight;
P=0;
Q=0;
O=0;
}else{ba=qx.bom.element.Location.get(parent);
N=ba.top;
V=ba.bottom;
bc=parent.offsetHeight;
Y=parent.clientHeight;
T=parent.scrollHeight;
P=parseInt(qx.bom.element.Style.get(parent,D),10)||0;
Q=parseInt(qx.bom.element.Style.get(parent,E),10)||0;
O=bc-Y-P-Q;
}be=qx.bom.element.Location.get(K);
bf=be.top;
bb=be.bottom;
U=K.offsetHeight;
X=bf-N-P;
S=bb-V+Q;
bg=0;
if(bd){bg=X;
}else if(W){bg=S+O;
}else if(X<0||U>Y){bg=X;
}else if(S>0){bg=S+O;
}parent.scrollTop+=bg;
if(qx.bom.client.Engine.GECKO){qx.event.Registration.fireNonBubblingEvent(parent,F);
}}
if(parent===M){break;
}parent=parent.parentNode;
}},intoView:function(H,stop,I,J){this.intoViewX(H,stop,I);
this.intoViewY(H,stop,J);
}}});
})();
(function(){var F="",E="qx.client",D="hidden",C="-moz-scrollbars-none",B="overflow",A=";",z="overflowY",y=":",x="overflowX",w="overflow:",R="none",Q="scroll",P="borderLeftStyle",O="borderRightStyle",N="div",M="borderRightWidth",L="overflow-y",K="borderLeftWidth",J="-moz-scrollbars-vertical",I="100px",G="qx.bom.element.Overflow",H="overflow-x";
qx.Class.define(G,{statics:{__hk:null,getScrollbarWidth:function(){if(this.__hk!==null){return this.__hk;
}var bf=qx.bom.element.Style;
var bh=function(a,b){return parseInt(bf.get(a,b))||0;
};
var bi=function(X){return (bf.get(X,O)==R?0:bh(X,M));
};
var bg=function(n){return (bf.get(n,P)==R?0:bh(n,K));
};
var bk=qx.core.Variant.select(E,{"mshtml":function(W){if(bf.get(W,z)==D||W.clientWidth==0){return bi(W);
}return Math.max(0,W.offsetWidth-W.clientLeft-W.clientWidth);
},"default":function(bw){if(bw.clientWidth==0){var bx=bf.get(bw,B);
var by=(bx==Q||bx==J?16:0);
return Math.max(0,bi(bw)+by);
}return Math.max(0,(bw.offsetWidth-bw.clientWidth-bg(bw)));
}});
var bj=function(cf){return bk(cf)-bi(cf);
};
var t=document.createElement(N);
var s=t.style;
s.height=s.width=I;
s.overflow=Q;
document.body.appendChild(t);
var c=bj(t);
this.__hk=c?c:16;
document.body.removeChild(t);
return this.__hk;
},_compile:qx.core.Variant.select(E,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bz,bA){if(bA==D){bA=C;
}return w+bA+A;
}:
function(d,e){return d+y+e+A;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(bs,bt){return w+bt+A;
}:
function(bu,bv){return bu+y+bv+A;
},"default":function(q,r){return q+y+r+A;
}}),compileX:function(bI){return this._compile(H,bI);
},compileY:function(bV){return this._compile(L,bV);
},getX:qx.core.Variant.select(E,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bF,bG){var bH=qx.bom.element.Style.get(bF,B,bG,false);

if(bH===C){bH=D;
}return bH;
}:
function(bp,bq){return qx.bom.element.Style.get(bp,x,bq,false);
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(bd,be){return qx.bom.element.Style.get(bd,B,be,false);
}:
function(bD,bE){return qx.bom.element.Style.get(bD,x,bE,false);
},"default":function(bY,ca){return qx.bom.element.Style.get(bY,x,ca,false);
}}),setX:qx.core.Variant.select(E,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(f,g){if(g==D){g=C;
}f.style.overflow=g;
}:
function(cb,cc){cb.style.overflowX=cc;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(h,i){h.style.overflow=i;
}:
function(bL,bM){bL.style.overflowX=bM;
},"default":function(bJ,bK){bJ.style.overflowX=bK;
}}),resetX:qx.core.Variant.select(E,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bm){bm.style.overflow=F;
}:
function(bl){bl.style.overflowX=F;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(S,T){S.style.overflow=F;
}:
function(Y,ba){Y.style.overflowX=F;
},"default":function(bT){bT.style.overflowX=F;
}}),getY:qx.core.Variant.select(E,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bP,bQ){var bR=qx.bom.element.Style.get(bP,B,bQ,false);

if(bR===C){bR=D;
}return bR;
}:
function(bN,bO){return qx.bom.element.Style.get(bN,z,bO,false);
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(bb,bc){return qx.bom.element.Style.get(bb,B,bc,false);
}:
function(bn,bo){return qx.bom.element.Style.get(bn,z,bo,false);
},"default":function(U,V){return qx.bom.element.Style.get(U,z,V,false);
}}),setY:qx.core.Variant.select(E,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bB,bC){if(bC===D){bC=C;
}bB.style.overflow=bC;
}:
function(o,p){o.style.overflowY=p;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(j,k){j.style.overflow=k;
}:
function(l,m){l.style.overflowY=m;
},"default":function(cd,ce){cd.style.overflowY=ce;
}}),resetY:qx.core.Variant.select(E,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bU){bU.style.overflow=F;
}:
function(br){br.style.overflowY=F;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(u,v){u.style.overflow=F;
}:
function(bW,bX){bW.style.overflowY=F;
},"default":function(bS){bS.style.overflowY=F;
}})}});
})();
(function(){var o="auto",n="px",m=",",l="clip:auto;",k="rect(",j=");",i="",h=")",g="qx.bom.element.Clip",f="string",c="rect(auto)",e="clip:rect(",d="clip",b="rect(auto,auto,auto,auto)";
qx.Class.define(g,{statics:{compile:function(y){if(!y){return l;
}var D=y.left;
var top=y.top;
var C=y.width;
var B=y.height;
var z,A;

if(D==null){z=(C==null?o:C+n);
D=o;
}else{z=(C==null?o:D+C+n);
D=D+n;
}
if(top==null){A=(B==null?o:B+n);
top=o;
}else{A=(B==null?o:top+B+n);
top=top+n;
}return e+top+m+z+m+A+m+D+j;
},get:function(p,q){var s=qx.bom.element.Style.get(p,d,q,false);
var x,top,v,u;
var r,t;

if(typeof s===f&&s!==o&&s!==i){s=qx.lang.String.trim(s);
if(/\((.*)\)/.test(s)){var w=RegExp.$1.split(m);
top=qx.lang.String.trim(w[0]);
r=qx.lang.String.trim(w[1]);
t=qx.lang.String.trim(w[2]);
x=qx.lang.String.trim(w[3]);
if(x===o){x=null;
}
if(top===o){top=null;
}
if(r===o){r=null;
}
if(t===o){t=null;
}if(top!=null){top=parseInt(top,10);
}
if(r!=null){r=parseInt(r,10);
}
if(t!=null){t=parseInt(t,10);
}
if(x!=null){x=parseInt(x,10);
}if(r!=null&&x!=null){v=r-x;
}else if(r!=null){v=r;
}
if(t!=null&&top!=null){u=t-top;
}else if(t!=null){u=t;
}}else{throw new Error("Could not parse clip string: "+s);
}}return {left:x||null,top:top||null,width:v||null,height:u||null};
},set:function(E,F){if(!F){E.style.clip=b;
return;
}var K=F.left;
var top=F.top;
var J=F.width;
var I=F.height;
var G,H;

if(K==null){G=(J==null?o:J+n);
K=o;
}else{G=(J==null?o:K+J+n);
K=K+n;
}
if(top==null){H=(I==null?o:I+n);
top=o;
}else{H=(I==null?o:top+I+n);
top=top+n;
}E.style.clip=k+top+m+G+m+H+m+K+h;
},reset:function(a){a.style.clip=qx.bom.client.Engine.MSHTML?c:o;
}}});
})();
(function(){var k="n-resize",j="e-resize",i="nw-resize",h="ne-resize",g="",f="cursor:",e="qx.client",d=";",c="qx.bom.element.Cursor",b="cursor",a="hand";
qx.Class.define(c,{statics:{__hl:qx.core.Variant.select(e,{"mshtml":{"cursor":a,"ew-resize":j,"ns-resize":k,"nesw-resize":h,"nwse-resize":i},"opera":{"col-resize":j,"row-resize":k,"ew-resize":j,"ns-resize":k,"nesw-resize":h,"nwse-resize":i},"default":{}}),compile:function(o){return f+(this.__hl[o]||o)+d;
},get:function(m,n){return qx.bom.element.Style.get(m,b,n,false);
},set:function(p,q){p.style.cursor=this.__hl[q]||q;
},reset:function(l){l.style.cursor=g;
}}});
})();
(function(){var u="",t="qx.client",s=";",r="filter",q="opacity:",p="opacity",o="MozOpacity",n=");",m=")",l="zoom:1;filter:alpha(opacity=",i="qx.bom.element.Opacity",k="alpha(opacity=",j="-moz-opacity:";
qx.Class.define(i,{statics:{compile:qx.core.Variant.select(t,{"mshtml":function(y){if(y>=1){return u;
}
if(y<0.00001){y=0;
}return l+(y*100)+n;
},"gecko":function(E){if(E==1){E=0.999999;
}
if(qx.bom.client.Engine.VERSION<1.7){return j+E+s;
}else{return q+E+s;
}},"default":function(c){if(c==1){return u;
}return q+c+s;
}}),set:qx.core.Variant.select(t,{"mshtml":function(v,w){var x=qx.bom.element.Style.get(v,r,qx.bom.element.Style.COMPUTED_MODE,false);
if(w>=1){v.style.filter=x.replace(/alpha\([^\)]*\)/gi,u);
return;
}
if(w<0.00001){w=0;
}if(!v.currentStyle||!v.currentStyle.hasLayout){v.style.zoom=1;
}v.style.filter=x.replace(/alpha\([^\)]*\)/gi,u)+k+w*100+m;
},"gecko":function(J,K){if(K==1){K=0.999999;
}
if(qx.bom.client.Engine.VERSION<1.7){J.style.MozOpacity=K;
}else{J.style.opacity=K;
}},"default":function(a,b){if(b==1){b=u;
}a.style.opacity=b;
}}),reset:qx.core.Variant.select(t,{"mshtml":function(C){var D=qx.bom.element.Style.get(C,r,qx.bom.element.Style.COMPUTED_MODE,false);
C.style.filter=D.replace(/alpha\([^\)]*\)/gi,u);
},"gecko":function(h){if(qx.bom.client.Engine.VERSION<1.7){h.style.MozOpacity=u;
}else{h.style.opacity=u;
}},"default":function(I){I.style.opacity=u;
}}),get:qx.core.Variant.select(t,{"mshtml":function(d,e){var f=qx.bom.element.Style.get(d,r,e,false);

if(f){var g=f.match(/alpha\(opacity=(.*)\)/);

if(g&&g[1]){return parseFloat(g[1])/100;
}}return 1.0;
},"gecko":function(F,G){var H=qx.bom.element.Style.get(F,qx.bom.client.Engine.VERSION<1.7?o:p,G,false);

if(H==0.999999){H=1.0;
}
if(H!=null){return parseFloat(H);
}return 1.0;
},"default":function(z,A){var B=qx.bom.element.Style.get(z,p,A,false);

if(B!=null){return parseFloat(B);
}return 1.0;
}})}});
})();
(function(){var s="qx.client",r="",q="boxSizing",p="box-sizing",o=":",n="border-box",m="qx.bom.element.BoxSizing",k="KhtmlBoxSizing",j="-moz-box-sizing",h="WebkitBoxSizing",e=";",g="-khtml-box-sizing",f="content-box",d="-webkit-box-sizing",c="MozBoxSizing";
qx.Class.define(m,{statics:{__hm:qx.core.Variant.select(s,{"mshtml":null,"webkit":[q,k,h],"gecko":[c],"opera":[q]}),__hn:qx.core.Variant.select(s,{"mshtml":null,"webkit":[p,g,d],"gecko":[j],"opera":[p]}),__ho:{tags:{button:true,select:true},types:{search:true,button:true,submit:true,reset:true,checkbox:true,radio:true}},__hp:function(w){var x=this.__ho;
return x.tags[w.tagName.toLowerCase()]||x.types[w.type];
},compile:qx.core.Variant.select(s,{"mshtml":function(C){{};
},"default":function(y){var A=this.__hn;
var z=r;

if(A){for(var i=0,l=A.length;i<l;i++){z+=A[i]+o+y+e;
}}return z;
}}),get:qx.core.Variant.select(s,{"mshtml":function(B){if(qx.bom.Document.isStandardMode(qx.dom.Node.getDocument(B))){if(!this.__hp(B)){return f;
}}return n;
},"default":function(D){var F=this.__hm;
var E;

if(F){for(var i=0,l=F.length;i<l;i++){E=qx.bom.element.Style.get(D,F[i],null,false);

if(E!=null&&E!==r){return E;
}}}return r;
}}),set:qx.core.Variant.select(s,{"mshtml":function(a,b){{};
},"default":function(t,u){var v=this.__hm;

if(v){for(var i=0,l=v.length;i<l;i++){t.style[v[i]]=u;
}}}}),reset:function(G){this.set(G,r);
}}});
})();
(function(){var E="",D="qx.client",C="userSelect",B="style",A="MozUserModify",z="px",y="float",x="borderImage",w="styleFloat",v="appearance",X="pixelHeight",W='Ms',V=":",U="cssFloat",T="pixelTop",S="pixelLeft",R='O',Q="qx.bom.element.Style",P='Khtml',O='string',L="pixelRight",M='Moz',J="pixelWidth",K="pixelBottom",H=";",I="textOverflow",F="userModify",G='Webkit',N="WebkitUserModify";
qx.Class.define(Q,{statics:{__hq:function(){var d=[v,C,I,x];
var h={};
var e=document.documentElement.style;
var k=[M,G,P,R,W];

for(var i=0,l=d.length;i<l;i++){var m=d[i];
var f=m;

if(e[m]){h[f]=m;
continue;
}m=qx.lang.String.firstUp(m);

for(var j=0,n=k.length;j<n;j++){var g=k[j]+m;

if(typeof e[g]==O){h[f]=g;
break;
}}}this.__hr=h;
this.__hr[F]=qx.core.Variant.select(D,{"gecko":A,"webkit":N,"default":C});
this.__hs={};

for(var f in h){this.__hs[f]=this.__hw(h[f]);
}this.__hr[y]=qx.core.Variant.select(D,{"mshtml":w,"default":U});
},__ht:{width:J,height:X,left:S,right:L,top:T,bottom:K},__hu:{clip:qx.bom.element.Clip,cursor:qx.bom.element.Cursor,opacity:qx.bom.element.Opacity,boxSizing:qx.bom.element.BoxSizing,overflowX:{set:qx.lang.Function.bind(qx.bom.element.Overflow.setX,qx.bom.element.Overflow),get:qx.lang.Function.bind(qx.bom.element.Overflow.getX,qx.bom.element.Overflow),reset:qx.lang.Function.bind(qx.bom.element.Overflow.resetX,qx.bom.element.Overflow),compile:qx.lang.Function.bind(qx.bom.element.Overflow.compileX,qx.bom.element.Overflow)},overflowY:{set:qx.lang.Function.bind(qx.bom.element.Overflow.setY,qx.bom.element.Overflow),get:qx.lang.Function.bind(qx.bom.element.Overflow.getY,qx.bom.element.Overflow),reset:qx.lang.Function.bind(qx.bom.element.Overflow.resetY,qx.bom.element.Overflow),compile:qx.lang.Function.bind(qx.bom.element.Overflow.compileY,qx.bom.element.Overflow)}},compile:function(Y){var bb=[];
var bd=this.__hu;
var bc=this.__hs;
var name,ba;

for(name in Y){ba=Y[name];

if(ba==null){continue;
}name=bc[name]||name;
if(bd[name]){bb.push(bd[name].compile(ba));
}else{bb.push(this.__hw(name),V,ba,H);
}}return bb.join(E);
},__hv:{},__hw:function(bA){var bB=this.__hv;
var bC=bB[bA];

if(!bC){bC=bB[bA]=qx.lang.String.hyphenate(bA);
}return bC;
},setCss:qx.core.Variant.select(D,{"mshtml":function(b,c){b.style.cssText=c;
},"default":function(bi,bj){bi.setAttribute(B,bj);
}}),getCss:qx.core.Variant.select(D,{"mshtml":function(bf){return bf.style.cssText.toLowerCase();
},"default":function(be){return be.getAttribute(B);
}}),isPropertySupported:function(bD){return (this.__hu[bD]||this.__hr[bD]||bD in document.documentElement.style);
},COMPUTED_MODE:1,CASCADED_MODE:2,LOCAL_MODE:3,set:function(bk,name,bl,bm){{};
name=this.__hr[name]||name;
if(bm!==false&&this.__hu[name]){return this.__hu[name].set(bk,bl);
}else{bk.style[name]=bl!==null?bl:E;
}},setStyles:function(bn,bo,bp){{};
var bs=this.__hr;
var bu=this.__hu;
var bq=bn.style;

for(var bt in bo){var br=bo[bt];
var name=bs[bt]||bt;

if(br===undefined){if(bp!==false&&bu[name]){bu[name].reset(bn);
}else{bq[name]=E;
}}else{if(bp!==false&&bu[name]){bu[name].set(bn,br);
}else{bq[name]=br!==null?br:E;
}}}},reset:function(bg,name,bh){name=this.__hr[name]||name;
if(bh!==false&&this.__hu[name]){return this.__hu[name].reset(bg);
}else{bg.style[name]=E;
}},get:qx.core.Variant.select(D,{"mshtml":function(o,name,p,q){name=this.__hr[name]||name;
if(q!==false&&this.__hu[name]){return this.__hu[name].get(o,p);
}if(!o.currentStyle){return o.style[name]||E;
}switch(p){case this.LOCAL_MODE:return o.style[name]||E;
case this.CASCADED_MODE:return o.currentStyle[name]||E;
default:var u=o.currentStyle[name]||E;
if(/^-?[\.\d]+(px)?$/i.test(u)){return u;
}var t=this.__ht[name];

if(t){var r=o.style[name];
o.style[name]=u||0;
var s=o.style[t]+z;
o.style[name]=r;
return s;
}if(/^-?[\.\d]+(em|pt|%)?$/i.test(u)){throw new Error("Untranslated computed property value: "+name+". Only pixel values work well across different clients.");
}return u;
}},"default":function(bv,name,bw,bx){name=this.__hr[name]||name;
if(bx!==false&&this.__hu[name]){return this.__hu[name].get(bv,bw);
}switch(bw){case this.LOCAL_MODE:return bv.style[name]||E;
case this.CASCADED_MODE:if(bv.currentStyle){return bv.currentStyle[name]||E;
}throw new Error("Cascaded styles are not supported in this browser!");
default:var by=qx.dom.Node.getDocument(bv);
var bz=by.defaultView.getComputedStyle(bv,null);
return bz?bz[name]:E;
}}})},defer:function(a){a.__hq();
}});
})();
(function(){var T="borderTopWidth",S="borderLeftWidth",R="marginTop",Q="marginLeft",P="scroll",O="qx.client",N="border-box",M="borderBottomWidth",L="borderRightWidth",K="auto",bj="padding",bi="qx.bom.element.Location",bh="paddingLeft",bg="static",bf="marginBottom",be="visible",bd="BODY",bc="paddingBottom",bb="paddingTop",ba="marginRight",X="position",Y="margin",V="overflow",W="paddingRight",U="border";
qx.Class.define(bi,{statics:{__hx:function(j,k){return qx.bom.element.Style.get(j,k,qx.bom.element.Style.COMPUTED_MODE,false);
},__hy:function(r,s){return parseInt(qx.bom.element.Style.get(r,s,qx.bom.element.Style.COMPUTED_MODE,false),10)||0;
},__hz:function(n){var q=0,top=0;
if(n.getBoundingClientRect&&!qx.bom.client.Engine.OPERA){var p=qx.dom.Node.getWindow(n);
q-=qx.bom.Viewport.getScrollLeft(p);
top-=qx.bom.Viewport.getScrollTop(p);
}else{var o=qx.dom.Node.getDocument(n).body;
n=n.parentNode;
while(n&&n!=o){q+=n.scrollLeft;
top+=n.scrollTop;
n=n.parentNode;
}}return {left:q,top:top};
},__hA:qx.core.Variant.select(O,{"mshtml":function(bK){var bM=qx.dom.Node.getDocument(bK);
var bL=bM.body;
var bN=0;
var top=0;
bN-=bL.clientLeft+bM.documentElement.clientLeft;
top-=bL.clientTop+bM.documentElement.clientTop;

if(qx.bom.client.Feature.STANDARD_MODE){bN+=this.__hy(bL,S);
top+=this.__hy(bL,T);
}return {left:bN,top:top};
},"webkit":function(a){var c=qx.dom.Node.getDocument(a);
var b=c.body;
var d=b.offsetLeft;
var top=b.offsetTop;
if(qx.bom.client.Engine.VERSION<530.17){d+=this.__hy(b,S);
top+=this.__hy(b,T);
}return {left:d,top:top};
},"gecko":function(e){var f=qx.dom.Node.getDocument(e).body;
var g=f.offsetLeft;
var top=f.offsetTop;
if(qx.bom.client.Engine.VERSION<1.9){g+=this.__hy(f,Q);
top+=this.__hy(f,R);
}if(qx.bom.element.BoxSizing.get(f)!==N){g+=this.__hy(f,S);
top+=this.__hy(f,T);
}return {left:g,top:top};
},"default":function(bH){var bI=qx.dom.Node.getDocument(bH).body;
var bJ=bI.offsetLeft;
var top=bI.offsetTop;
return {left:bJ,top:top};
}}),__hB:qx.core.Variant.select(O,{"mshtml|webkit":function(bx){var bz=qx.dom.Node.getDocument(bx);
if(bx.getBoundingClientRect){var bA=bx.getBoundingClientRect();
var bB=bA.left;
var top=bA.top;
}else{var bB=bx.offsetLeft;
var top=bx.offsetTop;
bx=bx.offsetParent;
var by=bz.body;
while(bx&&bx!=by){bB+=bx.offsetLeft;
top+=bx.offsetTop;
bB+=this.__hy(bx,S);
top+=this.__hy(bx,T);
bx=bx.offsetParent;
}}return {left:bB,top:top};
},"gecko":function(v){if(v.getBoundingClientRect){var y=v.getBoundingClientRect();
var z=Math.round(y.left);
var top=Math.round(y.top);
}else{var z=0;
var top=0;
var w=qx.dom.Node.getDocument(v).body;
var x=qx.bom.element.BoxSizing;

if(x.get(v)!==N){z-=this.__hy(v,S);
top-=this.__hy(v,T);
}
while(v&&v!==w){z+=v.offsetLeft;
top+=v.offsetTop;
if(x.get(v)!==N){z+=this.__hy(v,S);
top+=this.__hy(v,T);
}if(v.parentNode&&this.__hx(v.parentNode,V)!=be){z+=this.__hy(v.parentNode,S);
top+=this.__hy(v.parentNode,T);
}v=v.offsetParent;
}}return {left:z,top:top};
},"default":function(bm){var bo=0;
var top=0;
var bn=qx.dom.Node.getDocument(bm).body;
while(bm&&bm!==bn){bo+=bm.offsetLeft;
top+=bm.offsetTop;
bm=bm.offsetParent;
}return {left:bo,top:top};
}}),get:function(B,C){if(B.tagName==bd){var location=this.__hC(B);
var J=location.left;
var top=location.top;
}else{var D=this.__hA(B);
var I=this.__hB(B);
var scroll=this.__hz(B);
var J=I.left+D.left-scroll.left;
var top=I.top+D.top-scroll.top;
}var E=J+B.offsetWidth;
var F=top+B.offsetHeight;

if(C){if(C==bj||C==P){var G=qx.bom.element.Overflow.getX(B);

if(G==P||G==K){E+=B.scrollWidth-B.offsetWidth+this.__hy(B,S)+this.__hy(B,L);
}var H=qx.bom.element.Overflow.getY(B);

if(H==P||H==K){F+=B.scrollHeight-B.offsetHeight+this.__hy(B,T)+this.__hy(B,M);
}}
switch(C){case bj:J+=this.__hy(B,bh);
top+=this.__hy(B,bb);
E-=this.__hy(B,W);
F-=this.__hy(B,bc);
case P:J-=B.scrollLeft;
top-=B.scrollTop;
E-=B.scrollLeft;
F-=B.scrollTop;
case U:J+=this.__hy(B,S);
top+=this.__hy(B,T);
E-=this.__hy(B,L);
F-=this.__hy(B,M);
break;
case Y:J-=this.__hy(B,Q);
top-=this.__hy(B,R);
E+=this.__hy(B,ba);
F+=this.__hy(B,bf);
break;
}}return {left:J,top:top,right:E,bottom:F};
},__hC:qx.core.Variant.select(O,{"default":function(bv){var top=bv.offsetTop+this.__hy(bv,R);
var bw=bv.offsetLeft+this.__hy(bv,Q);
return {left:bw,top:top};
},"mshtml":function(bk){var top=bk.offsetTop;
var bl=bk.offsetLeft;

if(!((qx.bom.client.Engine.VERSION<8||qx.bom.client.Engine.DOCUMENT_MODE<8)&&!qx.bom.client.Feature.QUIRKS_MODE)){top+=this.__hy(bk,R);
bl+=this.__hy(bk,Q);
}return {left:bl,top:top};
},"gecko":function(bC){var top=bC.offsetTop+this.__hy(bC,R)+this.__hy(bC,S);
var bD=bC.offsetLeft+this.__hy(bC,Q)+this.__hy(bC,T);
return {left:bD,top:top};
}}),getLeft:function(t,u){return this.get(t,u).left;
},getTop:function(bO,bP){return this.get(bO,bP).top;
},getRight:function(l,m){return this.get(l,m).right;
},getBottom:function(h,i){return this.get(h,i).bottom;
},getRelative:function(bp,bq,br,bs){var bu=this.get(bp,br);
var bt=this.get(bq,bs);
return {left:bu.left-bt.left,top:bu.top-bt.top,right:bu.right-bt.right,bottom:bu.bottom-bt.bottom};
},getPosition:function(A){return this.getRelative(A,this.getOffsetParent(A));
},getOffsetParent:function(bE){var bG=bE.offsetParent||document.body;
var bF=qx.bom.element.Style;

while(bG&&(!/^body|html$/i.test(bG.tagName)&&bF.get(bG,X)===bg)){bG=bG.offsetParent;
}return bG;
}}});
})();
(function(){var y="qx.client",x="character",w="EndToEnd",v="input",u="textarea",t="StartToStart",s='character',r="qx.bom.Selection",q="button",p="#text",o="body";
qx.Class.define(r,{statics:{getSelectionObject:qx.core.Variant.select(y,{"mshtml":function(by){return by.selection;
},"default":function(z){return qx.dom.Node.getWindow(z).getSelection();
}}),get:qx.core.Variant.select(y,{"mshtml":function(bl){var bm=qx.bom.Range.get(qx.dom.Node.getDocument(bl));
return bm.text;
},"default":function(B){if(this.__hD(B)){return B.value.substring(B.selectionStart,B.selectionEnd);
}else{return this.getSelectionObject(qx.dom.Node.getDocument(B)).toString();
}}}),getLength:qx.core.Variant.select(y,{"mshtml":function(f){var h=this.get(f);
var g=qx.util.StringSplit.split(h,/\r\n/);
return h.length-(g.length-1);
},"opera":function(bb){var bg,be,bc;

if(this.__hD(bb)){var bf=bb.selectionStart;
var bd=bb.selectionEnd;
bg=bb.value.substring(bf,bd);
be=bd-bf;
}else{bg=qx.bom.Selection.get(bb);
be=bg.length;
}bc=qx.util.StringSplit.split(bg,/\r\n/);
return be-(bc.length-1);
},"default":function(bk){if(this.__hD(bk)){return bk.selectionEnd-bk.selectionStart;
}else{return this.get(bk).length;
}}}),getStart:qx.core.Variant.select(y,{"mshtml":function(R){if(this.__hD(R)){var W=qx.bom.Range.get();
if(!R.contains(W.parentElement())){return -1;
}var X=qx.bom.Range.get(R);
var V=R.value.length;
X.moveToBookmark(W.getBookmark());
X.moveEnd(s,V);
return V-X.text.length;
}else{var X=qx.bom.Range.get(R);
var T=X.parentElement();
var Y=qx.bom.Range.get();
Y.moveToElementText(T);
var S=qx.bom.Range.get(qx.dom.Node.getBodyElement(R));
S.setEndPoint(t,X);
S.setEndPoint(w,Y);
if(Y.compareEndPoints(t,S)==0){return 0;
}var U;
var ba=0;

while(true){U=S.moveStart(x,-1);
if(Y.compareEndPoints(t,S)==0){break;
}if(U==0){break;
}else{ba++;
}}return ++ba;
}},"gecko|webkit":function(bv){if(this.__hD(bv)){return bv.selectionStart;
}else{var bx=qx.dom.Node.getDocument(bv);
var bw=this.getSelectionObject(bx);
if(bw.anchorOffset<bw.focusOffset){return bw.anchorOffset;
}else{return bw.focusOffset;
}}},"default":function(A){if(this.__hD(A)){return A.selectionStart;
}else{return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(A)).anchorOffset;
}}}),getEnd:qx.core.Variant.select(y,{"mshtml":function(C){if(this.__hD(C)){var H=qx.bom.Range.get();
if(!C.contains(H.parentElement())){return -1;
}var I=qx.bom.Range.get(C);
var G=C.value.length;
I.moveToBookmark(H.getBookmark());
I.moveStart(s,-G);
return I.text.length;
}else{var I=qx.bom.Range.get(C);
var E=I.parentElement();
var J=qx.bom.Range.get();
J.moveToElementText(E);
var G=J.text.length;
var D=qx.bom.Range.get(qx.dom.Node.getBodyElement(C));
D.setEndPoint(w,I);
D.setEndPoint(t,J);
if(J.compareEndPoints(w,D)==0){return G-1;
}var F;
var K=0;

while(true){F=D.moveEnd(x,1);
if(J.compareEndPoints(w,D)==0){break;
}if(F==0){break;
}else{K++;
}}return G-(++K);
}},"gecko|webkit":function(bh){if(this.__hD(bh)){return bh.selectionEnd;
}else{var bj=qx.dom.Node.getDocument(bh);
var bi=this.getSelectionObject(bj);
if(bi.focusOffset>bi.anchorOffset){return bi.focusOffset;
}else{return bi.anchorOffset;
}}},"default":function(i){if(this.__hD(i)){return i.selectionEnd;
}else{return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(i)).focusOffset;
}}}),__hD:function(bn){return qx.dom.Node.isElement(bn)&&(bn.nodeName.toLowerCase()==v||bn.nodeName.toLowerCase()==u);
},set:qx.core.Variant.select(y,{"mshtml":function(j,k,l){var m;
if(qx.dom.Node.isDocument(j)){j=j.body;
}
if(qx.dom.Node.isElement(j)||qx.dom.Node.isText(j)){switch(j.nodeName.toLowerCase()){case v:case u:case q:if(l===undefined){l=j.value.length;
}
if(k>=0&&k<=j.value.length&&l>=0&&l<=j.value.length){m=qx.bom.Range.get(j);
m.collapse(true);
m.moveStart(x,k);
m.moveEnd(x,l-k);
m.select();
return true;
}break;
case p:if(l===undefined){l=j.nodeValue.length;
}
if(k>=0&&k<=j.nodeValue.length&&l>=0&&l<=j.nodeValue.length){m=qx.bom.Range.get(qx.dom.Node.getBodyElement(j));
m.moveToElementText(j.parentNode);
m.collapse(true);
m.moveStart(x,k);
m.moveEnd(x,l-k);
m.select();
return true;
}break;
default:if(l===undefined){l=j.childNodes.length-1;
}if(j.childNodes[k]&&j.childNodes[l]){m=qx.bom.Range.get(qx.dom.Node.getBodyElement(j));
m.moveToElementText(j.childNodes[k]);
m.collapse(true);
var n=qx.bom.Range.get(qx.dom.Node.getBodyElement(j));
n.moveToElementText(j.childNodes[l]);
m.setEndPoint(w,n);
m.select();
return true;
}}}return false;
},"default":function(bo,bp,bq){var bu=bo.nodeName.toLowerCase();

if(qx.dom.Node.isElement(bo)&&(bu==v||bu==u)){if(bq===undefined){bq=bo.value.length;
}if(bp>=0&&bp<=bo.value.length&&bq>=0&&bq<=bo.value.length){bo.focus();
bo.select();
bo.setSelectionRange(bp,bq);
return true;
}}else{var bs=false;
var bt=qx.dom.Node.getWindow(bo).getSelection();
var br=qx.bom.Range.get(bo);
if(qx.dom.Node.isText(bo)){if(bq===undefined){bq=bo.length;
}
if(bp>=0&&bp<bo.length&&bq>=0&&bq<=bo.length){bs=true;
}}else if(qx.dom.Node.isElement(bo)){if(bq===undefined){bq=bo.childNodes.length-1;
}
if(bp>=0&&bo.childNodes[bp]&&bq>=0&&bo.childNodes[bq]){bs=true;
}}else if(qx.dom.Node.isDocument(bo)){bo=bo.body;

if(bq===undefined){bq=bo.childNodes.length-1;
}
if(bp>=0&&bo.childNodes[bp]&&bq>=0&&bo.childNodes[bq]){bs=true;
}}
if(bs){if(!bt.isCollapsed){bt.collapseToStart();
}br.setStart(bo,bp);
if(qx.dom.Node.isText(bo)){br.setEnd(bo,bq);
}else{br.setEndAfter(bo.childNodes[bq]);
}if(bt.rangeCount>0){bt.removeAllRanges();
}bt.addRange(br);
return true;
}}return false;
}}),setAll:function(e){return qx.bom.Selection.set(e,0);
},clear:qx.core.Variant.select(y,{"mshtml":function(a){var b=qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(a));
var c=qx.bom.Range.get(a);
var parent=c.parentElement();
var d=qx.bom.Range.get(qx.dom.Node.getDocument(a));
if(parent==d.parentElement()&&parent==a){b.empty();
}},"default":function(L){var N=qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(L));
var P=L.nodeName.toLowerCase();
if(qx.dom.Node.isElement(L)&&(P==v||P==u)){L.setSelectionRange(0,0);
qx.bom.Element.blur(L);
}else if(qx.dom.Node.isDocument(L)||P==o){N.collapse(L.body?L.body:L,0);
}else{var O=qx.bom.Range.get(L);

if(!O.collapsed){var Q;
var M=O.commonAncestorContainer;
if(qx.dom.Node.isElement(L)&&qx.dom.Node.isText(M)){Q=M.parentNode;
}else{Q=M;
}
if(Q==L){N.collapse(L,0);
}}}}})}});
})();
(function(){var l="button",k="qx.bom.Range",j="text",i="password",h="file",g="submit",f="reset",e="textarea",d="input",c="hidden",a="qx.client",b="body";
qx.Class.define(k,{statics:{get:qx.core.Variant.select(a,{"mshtml":function(p){if(qx.dom.Node.isElement(p)){switch(p.nodeName.toLowerCase()){case d:switch(p.type){case j:case i:case c:case l:case f:case h:case g:return p.createTextRange();
break;
default:return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(p)).createRange();
}break;
case e:case b:case l:return p.createTextRange();
break;
default:return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(p)).createRange();
}}else{if(p==null){p=window;
}return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(p)).createRange();
}},"default":function(m){var n=qx.dom.Node.getDocument(m);
var o=qx.bom.Selection.getSelectionObject(n);

if(o.rangeCount>0){return o.getRangeAt(0);
}else{return n.createRange();
}}})}});
})();
(function(){var f="",e="g",d="$",c="qx.util.StringSplit",b="\\$&",a="^";
qx.Class.define(c,{statics:{split:function(g,h,k){var n=f;
if(h===undefined){return [g.toString()];
}else if(h===null||h.constructor!==RegExp){h=new RegExp(String(h).replace(/[.*+?^${}()|[\]\/\\]/g,b),e);
}else{n=h.toString().replace(/^[\S\s]+\//,f);

if(!h.global){h=new RegExp(h.source,e+n);
}}var m=new RegExp(a+h.source+d,n);
if(k===undefined||+k<0){k=false;
}else{k=Math.floor(+k);

if(!k){return [];
}}var p,o=[],l=0,i=0;

while((k?i++<=k:true)&&(p=h.exec(g))){if((p[0].length===0)&&(h.lastIndex>p.index)){h.lastIndex--;
}
if(h.lastIndex>l){if(p.length>1){p[0].replace(m,function(){for(var j=1;j<arguments.length-2;j++){if(arguments[j]===undefined){p[j]=undefined;
}}});
}o=o.concat(g.substring(l,p.index),(p.index===g.length?[]:p.slice(1)));
l=h.lastIndex;
}
if(p[0].length===0){h.lastIndex++;
}}return (l===g.length)?(h.test(f)?o:o.concat(f)):(k?o:o.concat(g.substring(l)));
}}});
})();
(function(){var e="qx.ui.core.queue.Widget",d="widget";
qx.Class.define(e,{statics:{__hE:{},remove:function(h){delete this.__hE[h.$$hash];
},add:function(f){var g=this.__hE;

if(g[f.$$hash]){return;
}g[f.$$hash]=f;
qx.ui.core.queue.Manager.scheduleFlush(d);
},flush:function(){var a=this.__hE;
var c;

for(var b in a){c=a[b];
delete a[b];
c.syncWidget();
}for(var b in a){return;
}this.__hE={};
}}});
})();
(function(){var b="qx.ui.core.queue.Visibility",a="visibility";
qx.Class.define(b,{statics:{__hF:{},__hG:{},remove:function(n){var o=n.$$hash;
delete this.__hG[o];
delete this.__hF[o];
},isVisible:function(p){return this.__hG[p.$$hash]||false;
},__hH:function(e){var g=this.__hG;
var f=e.$$hash;
var h;
if(e.isExcluded()){h=false;
}else{var parent=e.$$parent;

if(parent){h=this.__hH(parent);
}else{h=e.isRootWidget();
}}return g[f]=h;
},add:function(c){var d=this.__hF;

if(d[c.$$hash]){return;
}d[c.$$hash]=c;
qx.ui.core.queue.Manager.scheduleFlush(a);
},flush:function(){var i=this.__hF;
var m=this.__hG;
for(var j in i){if(m[j]!=null){i[j].addChildrenToQueue(i);
}}var l={};

for(var j in i){l[j]=m[j];
m[j]=null;
}for(var j in i){var k=i[j];
delete i[j];
if(m[j]==null){this.__hH(k);
}if(m[j]&&m[j]!=l[j]){k.checkAppearanceNeeds();
}}this.__hF={};
}}});
})();
(function(){var f="appearance",e="qx.ui.core.queue.Appearance";
qx.Class.define(e,{statics:{__hI:{},remove:function(j){delete this.__hI[j.$$hash];
},add:function(g){var h=this.__hI;

if(h[g.$$hash]){return;
}h[g.$$hash]=g;
qx.ui.core.queue.Manager.scheduleFlush(f);
},has:function(i){return !!this.__hI[i.$$hash];
},flush:function(){var d=qx.ui.core.queue.Visibility;
var a=this.__hI;
var c;

for(var b in a){c=a[b];
delete a[b];
if(d.isVisible(c)){c.syncAppearance();
}else{c.$$stateChanges=true;
}}}}});
})();
(function(){var e="dispose",d="qx.ui.core.queue.Dispose";
qx.Class.define(d,{statics:{__hJ:{},add:function(f){var g=this.__hJ;

if(g[f.$$hash]){return;
}g[f.$$hash]=f;
qx.ui.core.queue.Manager.scheduleFlush(e);
},flush:function(){var a=this.__hJ;

for(var c in a){var b=a[c];
delete a[c];
b.dispose();
}for(var c in a){return;
}this.__hJ={};
}}});
})();
(function(){var d="none",c="qx.html.Decorator",b="absolute";
qx.Class.define(c,{extend:qx.html.Element,construct:function(e,f){var g={position:b,top:0,left:0};

if(qx.bom.client.Feature.CSS_POINTER_EVENTS){g.pointerEvents=d;
}qx.html.Element.call(this,null,g);
this.__hK=e;
this.__hL=f||e.toHashCode();
this.useMarkup(e.getMarkup());
},members:{__hL:null,__hK:null,getId:function(){return this.__hL;
},getDecorator:function(){return this.__hK;
},resize:function(h,i){this.__hK.resize(this.getDomElement(),h,i);
},tint:function(a){this.__hK.tint(this.getDomElement(),a);
},getInsets:function(){return this.__hK.getInsets();
}},destruct:function(){this.__hK=null;
}});
})();
(function(){var k="blur",j="focus",h="input",g="load",f="qx.ui.core.EventHandler",e="activate";
qx.Class.define(f,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(){qx.core.Object.call(this);
this.__hM=qx.event.Registration.getManager(window);
},statics:{PRIORITY:qx.event.Registration.PRIORITY_FIRST,SUPPORTED_TYPES:{mousemove:1,mouseover:1,mouseout:1,mousedown:1,mouseup:1,click:1,dblclick:1,contextmenu:1,mousewheel:1,keyup:1,keydown:1,keypress:1,keyinput:1,capture:1,losecapture:1,focusin:1,focusout:1,focus:1,blur:1,activate:1,deactivate:1,appear:1,disappear:1,dragstart:1,dragend:1,dragover:1,dragleave:1,drop:1,drag:1,dragchange:1,droprequest:1},IGNORE_CAN_HANDLE:false},members:{__hM:null,__hN:{focusin:1,focusout:1,focus:1,blur:1},__hO:{mouseover:1,mouseout:1,appear:1,disappear:1},canHandleEvent:function(C,D){return C instanceof qx.ui.core.Widget;
},_dispatchEvent:function(m){var r=m.getTarget();
var q=qx.ui.core.Widget.getWidgetByElement(r);
var s=false;

while(q&&q.isAnonymous()){var s=true;
q=q.getLayoutParent();
}if(q&&s&&m.getType()==e){q.getContainerElement().activate();
}if(this.__hN[m.getType()]){q=q&&q.getFocusTarget();
if(!q){return;
}}if(m.getRelatedTarget){var z=m.getRelatedTarget();
var y=qx.ui.core.Widget.getWidgetByElement(z);

while(y&&y.isAnonymous()){y=y.getLayoutParent();
}
if(y){if(this.__hN[m.getType()]){y=y.getFocusTarget();
}if(y===q){return;
}}}var u=m.getCurrentTarget();
var w=qx.ui.core.Widget.getWidgetByElement(u);

if(!w||w.isAnonymous()){return;
}if(this.__hN[m.getType()]){w=w.getFocusTarget();
}var x=m.getType();

if(!w||!(w.isEnabled()||this.__hO[x])){return;
}var n=m.getEventPhase()==qx.event.type.Event.CAPTURING_PHASE;
var t=this.__hM.getListeners(w,x,n);

if(!t||t.length===0){return;
}var o=qx.event.Pool.getInstance().getObject(m.constructor);
m.clone(o);
o.setTarget(q);
o.setRelatedTarget(y||null);
o.setCurrentTarget(w);
var A=m.getOriginalTarget();

if(A){var p=qx.ui.core.Widget.getWidgetByElement(A);

while(p&&p.isAnonymous()){p=p.getLayoutParent();
}o.setOriginalTarget(p);
}else{o.setOriginalTarget(r);
}for(var i=0,l=t.length;i<l;i++){var v=t[i].context||w;
t[i].handler.call(v,o);
}if(o.getPropagationStopped()){m.stopPropagation();
}
if(o.getDefaultPrevented()){m.preventDefault();
}qx.event.Pool.getInstance().poolObject(o);
},registerEvent:function(E,F,G){var H;

if(F===j||F===k){H=E.getFocusElement();
}else if(F===g||F===h){H=E.getContentElement();
}else{H=E.getContainerElement();
}
if(H){H.addListener(F,this._dispatchEvent,this,G);
}},unregisterEvent:function(a,b,c){var d;

if(b===j||b===k){d=a.getFocusElement();
}else if(b===g||b===h){d=a.getContentElement();
}else{d=a.getContainerElement();
}
if(d){d.removeListener(b,this._dispatchEvent,this,c);
}}},destruct:function(){this.__hM=null;
},defer:function(B){qx.event.Registration.addHandler(B);
}});
})();
(function(){var l="/",k="mshtml",j="",i="qx.client",h="?",g="string",f="qx.util.ResourceManager",e="singleton";
qx.Class.define(f,{extend:qx.core.Object,type:e,statics:{__hP:qx.$$resources||{},__hQ:{}},members:{has:function(a){return !!this.self(arguments).__hP[a];
},getData:function(b){return this.self(arguments).__hP[b]||null;
},getImageWidth:function(q){var r=this.self(arguments).__hP[q];
return r?r[0]:null;
},getImageHeight:function(c){var d=this.self(arguments).__hP[c];
return d?d[1]:null;
},getImageFormat:function(s){var t=this.self(arguments).__hP[s];
return t?t[2]:null;
},isClippedImage:function(u){var v=this.self(arguments).__hP[u];
return v&&v.length>4;
},toUri:function(m){if(m==null){return m;
}var n=this.self(arguments).__hP[m];

if(!n){return m;
}
if(typeof n===g){var p=n;
}else{var p=n[3];
if(!p){return m;
}}var o=j;

if(qx.core.Variant.isSet(i,k)&&qx.bom.client.Feature.SSL){o=this.self(arguments).__hQ[p];
}return o+qx.$$libraries[p].resourceUri+l+m;
}},defer:function(w){if(qx.core.Variant.isSet(i,k)){if(qx.bom.client.Feature.SSL){for(var A in qx.$$libraries){var y;

if(qx.$$libraries[A].resourceUri){y=qx.$$libraries[A].resourceUri;
}else{w.__hQ[A]=j;
continue;
}if(y.match(/^\/\//)!=null){w.__hQ[A]=window.location.protocol;
}else if(y.match(/^\.\//)!=null){var x=document.URL;
w.__hQ[A]=x.substring(0,x.lastIndexOf(l)+1);
}else if(y.match(/^http/)!=null){}else{var B=window.location.href.indexOf(h);
var z;

if(B==-1){z=window.location.href;
}else{z=window.location.href.substring(0,B);
}w.__hQ[A]=z.substring(0,z.lastIndexOf(l)+1);
}}}}}});
})();
(function(){var d="qx.bom.client.Locale",c="-",b="";
qx.Class.define(d,{statics:{LOCALE:"",VARIANT:"",__hR:function(){var e=(navigator.userLanguage||navigator.language).toLowerCase();
var g=b;
var f=e.indexOf(c);

if(f!=-1){g=e.substr(f+1);
e=e.substr(0,f);
}this.LOCALE=e;
this.VARIANT=g;
}},defer:function(a){a.__hR();
}});
})();
(function(){var y="",x='indexOf',w='slice',v='concat',u='toLocaleLowerCase',t="qx.type.BaseString",s='match',r='toLocaleUpperCase',q='search',p='replace',h='toLowerCase',o='charCodeAt',m='split',g='substring',f='lastIndexOf',k='substr',j='toUpperCase',n='charAt';
qx.Class.define(t,{extend:Object,construct:function(z){var z=z||y;
this.__hS=z;
this.length=z.length;
},members:{$$isString:true,length:0,__hS:null,toString:function(){return this.__hS;
},charAt:null,valueOf:null,charCodeAt:null,concat:null,indexOf:null,lastIndexOf:null,match:null,replace:null,search:null,slice:null,split:null,substr:null,substring:null,toLowerCase:null,toUpperCase:null,toHashCode:function(){return qx.core.ObjectRegistry.toHashCode(this);
},toLocaleLowerCase:null,toLocaleUpperCase:null,base:function(d,e){return qx.core.Object.prototype.base.apply(this,arguments);
}},defer:function(a,b){{};
var c=[n,o,v,x,f,s,p,q,w,m,k,g,h,j,u,r];
b.valueOf=b.toString;

if(new a(y).valueOf()==null){delete b.valueOf;
}
for(var i=0,l=c.length;i<l;i++){b[c[i]]=String.prototype[c[i]];
}}});
})();
(function(){var a="qx.locale.LocalizedString";
qx.Class.define(a,{extend:qx.type.BaseString,construct:function(b,c,d){qx.type.BaseString.call(this,b);
this.__hT=c;
this.__hU=d;
},members:{__hT:null,__hU:null,translate:function(){return qx.locale.Manager.getInstance().translate(this.__hT,this.__hU);
}}});
})();
(function(){var w="_",v="",u="_applyLocale",t="changeLocale",s="C",r="qx.dynlocale",q="on",p="qx.locale.Manager",o="String",n="singleton";
qx.Class.define(p,{type:n,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__hV=qx.$$translations||{};
this.__hW=qx.$$locales||{};
var T=qx.bom.client.Locale;
var R=T.LOCALE;
var S=T.VARIANT;

if(S!==v){R+=w+S;
}this.setLocale(R||this.__hX);
},statics:{tr:function(bd,be){var bf=qx.lang.Array.fromArguments(arguments);
bf.splice(0,1);
return qx.locale.Manager.getInstance().translate(bd,bf);
},trn:function(M,N,O,P){var Q=qx.lang.Array.fromArguments(arguments);
Q.splice(0,3);
if(O!=1){return qx.locale.Manager.getInstance().translate(N,Q);
}else{return qx.locale.Manager.getInstance().translate(M,Q);
}},trc:function(B,C,D){var E=qx.lang.Array.fromArguments(arguments);
E.splice(0,2);
return qx.locale.Manager.getInstance().translate(C,E);
},marktr:function(bg){return bg;
}},properties:{locale:{check:o,nullable:true,apply:u,event:t}},members:{__hX:s,__hY:null,__ia:null,__hV:null,__hW:null,getLanguage:function(){return this.__ia;
},getTerritory:function(){return this.getLocale().split(w)[1]||v;
},getAvailableLocales:function(){var m=[];

for(var l in this.__hW){if(l!=this.__hX){m.push(l);
}}return m;
},__ib:function(J){var L;
var K=J.indexOf(w);

if(K==-1){L=J;
}else{L=J.substring(0,K);
}return L;
},_applyLocale:function(j,k){this.__hY=j;
this.__ia=this.__ib(j);
},addTranslation:function(F,G){var H=this.__hV;

if(H[F]){for(var I in G){H[F][I]=G[I];
}}else{H[F]=G;
}},addLocale:function(U,V){var W=this.__hW;

if(W[U]){for(var X in V){W[U][X]=V[X];
}}else{W[U]=V;
}},translate:function(x,y,z){var A=this.__hV;
return this.__ic(A,x,y,z);
},localize:function(Y,ba,bb){var bc=this.__hW;
return this.__ic(bc,Y,ba,bb);
},__ic:function(a,b,c,d){var e;

if(!a){return b;
}
if(d){var g=this.__ib(d);
}else{d=this.__hY;
g=this.__ia;
}if(!e&&a[d]){e=a[d][b];
}if(!e&&a[g]){e=a[g][b];
}if(!e&&a[this.__hX]){e=a[this.__hX][b];
}
if(!e){e=b;
}
if(c.length>0){var f=[];

for(var i=0;i<c.length;i++){var h=c[i];

if(h&&h.translate){f[i]=h.translate();
}else{f[i]=h;
}}e=qx.lang.String.format(e,f);
}
if(qx.core.Variant.isSet(r,q)){e=new qx.locale.LocalizedString(e,b,c);
}return e;
}},destruct:function(){this.__hV=this.__hW=null;
}});
})();
(function(){var J="px",I="qx.client",H="div",G="img",F="",E="no-repeat",D="scale-x",C="mshtml",B="scale",A="scale-y",bf="qx/icon",be="repeat",bd=".png",bc="crop",bb="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='",ba='<div style="',Y="repeat-y",X='<img src="',W="qx.bom.element.Decoration",V="', sizingMethod='",Q="png",R="')",O='"></div>',P='"/>',M='" style="',N="none",K="webkit",L=" ",S="repeat-x",T="DXImageTransform.Microsoft.AlphaImageLoader",U="absolute";
qx.Class.define(W,{statics:{DEBUG:false,__id:{},__ie:qx.core.Variant.isSet(I,C),__if:qx.core.Variant.select(I,{"mshtml":{"scale-x":true,"scale-y":true,"scale":true,"no-repeat":true},"default":null}),__ig:{"scale-x":G,"scale-y":G,"scale":G,"repeat":H,"no-repeat":H,"repeat-x":H,"repeat-y":H},update:function(bN,bO,bP,bQ){var bS=this.getTagName(bP,bO);

if(bS!=bN.tagName.toLowerCase()){throw new Error("Image modification not possible because elements could not be replaced at runtime anymore!");
}var bT=this.getAttributes(bO,bP,bQ);

if(bS===G){bN.src=bT.src;
}if(bN.style.backgroundPosition!=F&&bT.style.backgroundPosition===undefined){bT.style.backgroundPosition=null;
}if(bN.style.clip!=F&&bT.style.clip===undefined){bT.style.clip=null;
}var bR=qx.bom.element.Style;
bR.setStyles(bN,bT.style);
if(this.__ie){try{bN.filters[T].apply();
}catch(e){}}},create:function(u,v,w){var x=this.getTagName(v,u);
var z=this.getAttributes(u,v,w);
var y=qx.bom.element.Style.compile(z.style);

if(x===G){return X+z.src+M+y+P;
}else{return ba+y+O;
}},getTagName:function(f,g){if(qx.core.Variant.isSet(I,C)){if(g&&this.__ie&&this.__if[f]&&qx.lang.String.endsWith(g,bd)){return H;
}}return this.__ig[f];
},getAttributes:function(h,i,j){if(!j){j={};
}
if(!j.position){j.position=U;
}
if(qx.core.Variant.isSet(I,C)){j.fontSize=0;
j.lineHeight=0;
}else if(qx.core.Variant.isSet(I,K)){j.WebkitUserDrag=N;
}var l=qx.util.ResourceManager.getInstance().getImageFormat(h)||qx.io.ImageLoader.getFormat(h);
{};
var k;
if(this.__ie&&this.__if[i]&&l===Q){k=this.__ij(j,i,h);
}else{if(i===B){k=this.__ik(j,i,h);
}else if(i===D||i===A){k=this.__il(j,i,h);
}else{k=this.__io(j,i,h);
}}return k;
},__ih:function(bh,bi,bj){if(bh.width==null&&bi!=null){bh.width=bi+J;
}
if(bh.height==null&&bj!=null){bh.height=bj+J;
}return bh;
},__ii:function(bJ){var bK=qx.util.ResourceManager.getInstance().getImageWidth(bJ)||qx.io.ImageLoader.getWidth(bJ);
var bL=qx.util.ResourceManager.getInstance().getImageHeight(bJ)||qx.io.ImageLoader.getHeight(bJ);
return {width:bK,height:bL};
},__ij:function(bz,bA,bB){var bE=this.__ii(bB);
bz=this.__ih(bz,bE.width,bE.height);
var bD=bA==E?bc:B;
var bC=bb+qx.util.ResourceManager.getInstance().toUri(bB)+V+bD+R;
bz.filter=bC;
bz.backgroundImage=bz.backgroundRepeat=F;
return {style:bz};
},__ik:function(bU,bV,bW){var bX=qx.util.ResourceManager.getInstance().toUri(bW);
var bY=this.__ii(bW);
bU=this.__ih(bU,bY.width,bY.height);
return {src:bX,style:bU};
},__il:function(br,bs,bt){var bx=qx.util.ResourceManager.getInstance();
var bw=bx.isClippedImage(bt);
var by=this.__ii(bt);

if(bw){var bv=bx.getData(bt);
var bu=bx.toUri(bv[4]);

if(bs===D){br=this.__im(br,bv,by.height);
}else{br=this.__in(br,bv,by.width);
}return {src:bu,style:br};
}else{{};

if(bs==D){br.height=by.height==null?null:by.height+J;
}else if(bs==A){br.width=by.width==null?null:by.width+J;
}var bu=bx.toUri(bt);
return {src:bu,style:br};
}},__im:function(bF,bG,bH){var bI=qx.util.ResourceManager.getInstance().getImageHeight(bG[4]);
bF.clip={top:-bG[6],height:bH};
bF.height=bI+J;
if(bF.top!=null){bF.top=(parseInt(bF.top,10)+bG[6])+J;
}else if(bF.bottom!=null){bF.bottom=(parseInt(bF.bottom,10)+bH-bI-bG[6])+J;
}return bF;
},__in:function(a,b,c){var d=qx.util.ResourceManager.getInstance().getImageWidth(b[4]);
a.clip={left:-b[5],width:c};
a.width=d+J;
if(a.left!=null){a.left=(parseInt(a.left,10)+b[5])+J;
}else if(a.right!=null){a.right=(parseInt(a.right,10)+c-d-b[5])+J;
}return a;
},__io:function(m,n,o){var t=qx.util.ResourceManager.getInstance().isClippedImage(o);
var s=this.__ii(o);
if(t&&n!==be){var r=qx.util.ResourceManager.getInstance().getData(o);
var q=qx.bom.element.Background.getStyles(r[4],n,r[5],r[6]);

for(var p in q){m[p]=q[p];
}
if(s.width!=null&&m.width==null&&(n==Y||n===E)){m.width=s.width+J;
}
if(s.height!=null&&m.height==null&&(n==S||n===E)){m.height=s.height+J;
}return {style:m};
}else{{};
m=this.__ih(m,s.width,s.height);
m=this.__ip(m,o,n);
return {style:m};
}},__ip:function(bk,bl,bm){var top=null;
var bq=null;

if(bk.backgroundPosition){var bn=bk.backgroundPosition.split(L);
bq=parseInt(bn[0]);

if(isNaN(bq)){bq=bn[0];
}top=parseInt(bn[1]);

if(isNaN(top)){top=bn[1];
}}var bp=qx.bom.element.Background.getStyles(bl,bm,bq,top);

for(var bo in bp){bk[bo]=bp[bo];
}if(bk.filter){bk.filter=F;
}return bk;
},__iq:function(bM){if(this.DEBUG&&qx.util.ResourceManager.getInstance().has(bM)&&bM.indexOf(bf)==-1){if(!this.__id[bM]){qx.log.Logger.debug("Potential clipped image candidate: "+bM);
this.__id[bM]=true;
}}},isAlphaImageLoaderEnabled:qx.core.Variant.select(I,{"mshtml":function(){return qx.bom.element.Decoration.__ie;
},"default":function(){return false;
}})}});
})();
(function(){var p="qx.client",o="load",n="qx.io.ImageLoader";
qx.Bootstrap.define(n,{statics:{__ir:{},__is:{width:null,height:null},__it:/\.(png|gif|jpg|jpeg|bmp)\b/i,isLoaded:function(q){var r=this.__ir[q];
return !!(r&&r.loaded);
},isFailed:function(u){var v=this.__ir[u];
return !!(v&&v.failed);
},isLoading:function(a){var b=this.__ir[a];
return !!(b&&b.loading);
},getFormat:function(j){var k=this.__ir[j];
return k?k.format:null;
},getSize:function(y){var z=this.__ir[y];
return z?
{width:z.width,height:z.height}:this.__is;
},getWidth:function(s){var t=this.__ir[s];
return t?t.width:null;
},getHeight:function(w){var x=this.__ir[w];
return x?x.height:null;
},load:function(B,C,D){var E=this.__ir[B];

if(!E){E=this.__ir[B]={};
}if(C&&!D){D=window;
}if(E.loaded||E.loading||E.failed){if(C){if(E.loading){E.callbacks.push(C,D);
}else{C.call(D,B,E);
}}}else{E.loading=true;
E.callbacks=[];

if(C){E.callbacks.push(C,D);
}var G=new Image();
var F=qx.lang.Function.listener(this.__iu,this,G,B);
G.onload=F;
G.onerror=F;
G.src=B;
}},__iu:qx.event.GlobalError.observeMethod(function(event,c,d){var e=this.__ir[d];
if(event.type===o){e.loaded=true;
e.width=this.__iv(c);
e.height=this.__iw(c);
var f=this.__it.exec(d);

if(f!=null){e.format=f[1];
}}else{e.failed=true;
}c.onload=c.onerror=null;
var g=e.callbacks;
delete e.loading;
delete e.callbacks;
for(var i=0,l=g.length;i<l;i+=2){g[i].call(g[i+1],d,e);
}}),__iv:qx.core.Variant.select(p,{"gecko":function(m){return m.naturalWidth;
},"default":function(H){return H.width;
}}),__iw:qx.core.Variant.select(p,{"gecko":function(h){return h.naturalHeight;
},"default":function(A){return A.height;
}})}});
})();
(function(){var y="number",x="0",w="px",v=";",u="background-image:url(",t=");",s="",r=")",q="background-repeat:",p=" ",m="qx.bom.element.Background",o="url(",n="background-position:";
qx.Class.define(m,{statics:{__ix:[u,null,t,n,null,v,q,null,v],__iy:{backgroundImage:null,backgroundPosition:null,backgroundRepeat:null},__iz:function(F,top){var G=qx.bom.client.Engine;

if(G.GECKO&&G.VERSION<1.9&&F==top&&typeof F==y){top+=0.01;
}
if(F){var H=(typeof F==y)?F+w:F;
}else{H=x;
}
if(top){var I=(typeof top==y)?top+w:top;
}else{I=x;
}return H+p+I;
},compile:function(z,A,B,top){var C=this.__iz(B,top);
var D=qx.util.ResourceManager.getInstance().toUri(z);
var E=this.__ix;
E[1]=D;
E[4]=C;
E[7]=A;
return E.join(s);
},getStyles:function(a,b,c,top){if(!a){return this.__iy;
}var d=this.__iz(c,top);
var e=qx.util.ResourceManager.getInstance().toUri(a);
var f={backgroundPosition:d,backgroundImage:o+e+r};

if(b!=null){f.backgroundRepeat=b;
}return f;
},set:function(g,h,i,j,top){var k=this.getStyles(h,i,j,top);

for(var l in k){g.style[l]=k[l];
}}}});
})();
(function(){var m="source",l="scale",k="no-repeat",j="qx.client",i="mshtml",h="webkit",g="backgroundImage",f="div",e="qx.html.Image",d="qx/static/blank.gif";
qx.Class.define(e,{extend:qx.html.Element,members:{_applyProperty:function(name,q){qx.html.Element.prototype._applyProperty.call(this,name,q);

if(name===m){var u=this.getDomElement();
var r=this.getAllStyles();

if(this.getNodeName()==f&&this.getStyle(g)){r.backgroundPosition=null;
r.backgroundRepeat=null;
}var s=this._getProperty(m);
var t=this._getProperty(l);
var v=t?l:k;
if(s!=null){qx.bom.element.Decoration.update(u,s,v,r);
}}},_createDomElement:function(){var b=this._getProperty(l);
var c=b?l:k;

if(qx.core.Variant.isSet(j,i)){var a=this._getProperty(m);
this.setNodeName(qx.bom.element.Decoration.getTagName(c,a));
}else{this.setNodeName(qx.bom.element.Decoration.getTagName(c));
}return qx.html.Element.prototype._createDomElement.call(this);
},_copyData:function(n){return qx.html.Element.prototype._copyData.call(this,true);
},setSource:function(o){this._setProperty(m,o);
return this;
},getSource:function(){return this._getProperty(m);
},resetSource:function(){if(qx.core.Variant.isSet(j,h)){this._setProperty(m,qx.util.ResourceManager.getInstance().toUri(d));
}else{this._removeProperty(m,true);
}return this;
},setScale:function(p){this._setProperty(l,p);
return this;
},getScale:function(){return this._getProperty(l);
}}});
})();
(function(){var B="nonScaled",A="scaled",z="alphaScaled",y=".png",x="replacement",w="hidden",v="div",u="Boolean",t="_applyScale",s="px",m="_applySource",r="-disabled.$1",p="__iA",l="img",k="changeSource",o="qx.client",n="String",q="image",j="qx.ui.basic.Image";
qx.Class.define(j,{extend:qx.ui.core.Widget,construct:function(O){this.__iA={};
qx.ui.core.Widget.call(this);

if(O){this.setSource(O);
}},properties:{source:{check:n,init:null,nullable:true,event:k,apply:m,themeable:true},scale:{check:u,init:false,themeable:true,apply:t},appearance:{refine:true,init:q},allowShrinkX:{refine:true,init:false},allowShrinkY:{refine:true,init:false},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false}},members:{__iB:null,__iC:null,__iD:null,__iA:null,getContentElement:function(){return this.__iH();
},_createContentElement:function(){return this.__iH();
},_getContentHint:function(){return {width:this.__iB||0,height:this.__iC||0};
},_applyEnabled:function(I,J){qx.ui.core.Widget.prototype._applyEnabled.call(this,I,J);

if(this.getSource()){this._styleSource();
}},_applySource:function(a){this._styleSource();
},_applyScale:function(H){this._styleSource();
},__iE:function(bb){this.__iD=bb;
},__iF:function(){if(this.__iD==null){var be=this.getSource();
var bd=false;

if(be!=null){bd=qx.lang.String.endsWith(be,y);
}
if(this.getScale()&&bd&&qx.bom.element.Decoration.isAlphaImageLoaderEnabled()){this.__iD=z;
}else if(this.getScale()){this.__iD=A;
}else{this.__iD=B;
}}return this.__iD;
},__iG:function(W){var X;
var Y;

if(W==z){X=true;
Y=v;
}else if(W==B){X=false;
Y=v;
}else{X=true;
Y=l;
}var ba=new qx.html.Image(Y);
ba.setScale(X);
ba.setStyles({"overflowX":w,"overflowY":w});
return ba;
},__iH:function(){var bc=this.__iF();

if(this.__iA[bc]==null){this.__iA[bc]=this.__iG(bc);
}return this.__iA[bc];
},_styleSource:function(){var bh=qx.util.AliasManager.getInstance().resolve(this.getSource());

if(!bh){this.getContentElement().resetSource();
return;
}this.__iI(bh);
if(qx.util.ResourceManager.getInstance().has(bh)){this.__iK(this.getContentElement(),bh);
}else if(qx.io.ImageLoader.isLoaded(bh)){this.__iL(this.getContentElement(),bh);
}else{this.__iM(this.getContentElement(),bh);
}},__iI:qx.core.Variant.select(o,{"mshtml":function(b){var d=qx.bom.element.Decoration.isAlphaImageLoaderEnabled();
var c=qx.lang.String.endsWith(b,y);

if(d&&c){if(this.getScale()&&this.__iF()!=z){this.__iE(z);
}else if(!this.getScale()&&this.__iF()!=B){this.__iE(B);
}}else{if(this.getScale()&&this.__iF()!=A){this.__iE(A);
}else if(!this.getScale()&&this.__iF()!=B){this.__iE(B);
}}this.__iJ(this.__iH());
},"default":function(bi){if(this.getScale()&&this.__iF()!=A){this.__iE(A);
}else if(!this.getScale()&&this.__iF(B)){this.__iE(B);
}this.__iJ(this.__iH());
}}),__iJ:function(P){var S=this.getContainerElement();
var T=S.getChild(0);

if(T!=P){if(T!=null){var V=s;
var Q={};
var R=this.getInnerSize();

if(R!=null){Q.width=R.width+V;
Q.height=R.height+V;
}var U=this.getInsets();
Q.left=U.left+V;
Q.top=U.top+V;
Q.zIndex=10;
P.setStyles(Q,true);
P.setSelectable(this.getSelectable());
}S.removeAt(0);
S.addAt(P,0);
}},__iK:function(K,L){var N=qx.util.ResourceManager.getInstance();
if(!this.getEnabled()){var M=L.replace(/\.([a-z]+)$/,r);

if(N.has(M)){L=M;
this.addState(x);
}else{this.removeState(x);
}}if(K.getSource()===L){return;
}K.setSource(L);
this.__iO(N.getImageWidth(L),N.getImageHeight(L));
},__iL:function(C,D){var F=qx.io.ImageLoader;
C.setSource(D);
var E=F.getWidth(D);
var G=F.getHeight(D);
this.__iO(E,G);
},__iM:function(e,f){var self;
var g=qx.io.ImageLoader;
{};
if(!g.isFailed(f)){g.load(f,this.__iN,this);
}else{if(e!=null){e.resetSource();
}}},__iN:function(h,i){if(this.$$disposed===true){return;
}if(h!==qx.util.AliasManager.getInstance().resolve(this.getSource())){return;
}if(i.failed){this.warn("Image could not be loaded: "+h);
}this._styleSource();
},__iO:function(bf,bg){if(bf!==this.__iB||bg!==this.__iC){this.__iB=bf;
this.__iC=bg;
qx.ui.core.queue.Layout.add(this);
}}},destruct:function(){this._disposeMap(p);
}});
})();
(function(){var i="dragdrop-cursor",h="_applyAction",g="alias",f="qx.ui.core.DragDropCursor",e="move",d="singleton",c="copy";
qx.Class.define(f,{extend:qx.ui.basic.Image,include:qx.ui.core.MPlacement,type:d,construct:function(){qx.ui.basic.Image.call(this);
this.setZIndex(1e8);
this.setDomMove(true);
var j=this.getApplicationRoot();
j.add(this,{left:-1000,top:-1000});
},properties:{appearance:{refine:true,init:i},action:{check:[g,c,e],apply:h,nullable:true}},members:{_applyAction:function(a,b){if(b){this.removeState(b);
}
if(a){this.addState(a);
}}}});
})();
(function(){var f="interval",e="Number",d="_applyTimeoutInterval",c="qx.event.type.Event",b="qx.event.Idle",a="singleton";
qx.Class.define(b,{extend:qx.core.Object,type:a,construct:function(){qx.core.Object.call(this);
var g=new qx.event.Timer(this.getTimeoutInterval());
g.addListener(f,this._onInterval,this);
g.start();
this.__iP=g;
},events:{"interval":c},properties:{timeoutInterval:{check:e,init:100,apply:d}},members:{__iP:null,_applyTimeoutInterval:function(h){this.__iP.setInterval(h);
},_onInterval:function(){this.fireEvent(f);
}},destruct:function(){if(this.__iP){this.__iP.stop();
}this.__iP=null;
}});
})();
(function(){var o="top",n="right",m="bottom",l="left",k="align-start",j="qx.util.placement.AbstractAxis",i="edge-start",h="align-end",g="edge-end",f="-",c="best-fit",e="qx.util.placement.Placement",d='__iQ',b="keep-align",a="direct";
qx.Class.define(e,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__iQ=new qx.util.placement.DirectAxis();
},properties:{axisX:{check:j},axisY:{check:j},edge:{check:[o,n,m,l],init:o},align:{check:[o,n,m,l],init:n}},statics:{__iR:null,compute:function(p,q,r,s,t,u,v){this.__iR=this.__iR||new qx.util.placement.Placement();
var y=t.split(f);
var x=y[0];
var w=y[1];
this.__iR.set({axisX:this.__iV(u),axisY:this.__iV(v),edge:x,align:w});
return this.__iR.compute(p,q,r,s);
},__iS:null,__iT:null,__iU:null,__iV:function(B){switch(B){case a:this.__iS=this.__iS||new qx.util.placement.DirectAxis();
return this.__iS;
case b:this.__iT=this.__iT||new qx.util.placement.KeepAlignAxis();
return this.__iT;
case c:this.__iU=this.__iU||new qx.util.placement.BestFitAxis();
return this.__iU;
default:throw new Error("Invalid 'mode' argument!'");
}}},members:{__iQ:null,compute:function(E,F,G,H){{};
var I=this.getAxisX()||this.__iQ;
var K=I.computeStart(E.width,{start:G.left,end:G.right},{start:H.left,end:H.right},F.width,this.__iW());
var J=this.getAxisY()||this.__iQ;
var top=J.computeStart(E.height,{start:G.top,end:G.bottom},{start:H.top,end:H.bottom},F.height,this.__iX());
return {left:K,top:top};
},__iW:function(){var A=this.getEdge();
var z=this.getAlign();

if(A==l){return i;
}else if(A==n){return g;
}else if(z==l){return k;
}else if(z==n){return h;
}},__iX:function(){var D=this.getEdge();
var C=this.getAlign();

if(D==o){return i;
}else if(D==m){return g;
}else if(C==o){return k;
}else if(C==m){return h;
}}},destruct:function(){this._disposeObjects(d);
}});
})();
(function(){var e="edge-start",d="align-start",c="align-end",b="edge-end",a="qx.util.placement.AbstractAxis";
qx.Class.define(a,{extend:qx.core.Object,members:{computeStart:function(m,n,o,p,q){throw new Error("abstract method call!");
},_moveToEdgeAndAlign:function(i,j,k,l){switch(l){case e:return j.start-k.end-i;
case b:return j.end+k.start;
case d:return j.start+k.start;
case c:return j.end-k.end-i;
}},_isInRange:function(f,g,h){return f>=0&&f+g<=h;
}}});
})();
(function(){var a="qx.util.placement.DirectAxis";
qx.Class.define(a,{extend:qx.util.placement.AbstractAxis,members:{computeStart:function(b,c,d,e,f){return this._moveToEdgeAndAlign(b,c,d,f);
}}});
})();
(function(){var c="qx.util.placement.KeepAlignAxis",b="edge-start",a="edge-end";
qx.Class.define(c,{extend:qx.util.placement.AbstractAxis,members:{computeStart:function(d,e,f,g,h){var i=this._moveToEdgeAndAlign(d,e,f,h);
var j,k;

if(this._isInRange(i,d,g)){return i;
}
if(h==b||h==a){j=e.start-f.end;
k=e.end+f.start;
}else{j=e.end-f.end;
k=e.start+f.start;
}
if(j>g-k){i=j-d;
}else{i=k;
}return i;
}}});
})();
(function(){var g="qx.util.placement.BestFitAxis";
qx.Class.define(g,{extend:qx.util.placement.AbstractAxis,members:{computeStart:function(a,b,c,d,e){var f=this._moveToEdgeAndAlign(a,b,c,e);

if(this._isInRange(f,a,d)){return f;
}
if(f<0){f=Math.min(0,d-a);
}
if(f+a>d){f=Math.max(0,d-a);
}return f;
}}});
})();
(function(){var q="mousedown",p="blur",o="__iY",n="singleton",m="qx.ui.popup.Manager";
qx.Class.define(m,{type:n,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__iY={};
qx.event.Registration.addListener(document.documentElement,q,this.__jb,this,true);
qx.bom.Element.addListener(window,p,this.hideAll,this);
},members:{__iY:null,add:function(r){{};
this.__iY[r.$$hash]=r;
this.__ja();
},remove:function(h){{};
var i=this.__iY;

if(i){delete i[h.$$hash];
this.__ja();
}},hideAll:function(){var g=this.__iY;

if(g){for(var f in g){g[f].exclude();
}}},__ja:function(){var l=1e7;
var k=this.__iY;

for(var j in k){k[j].setZIndex(l++);
}},__jb:function(e){var c=qx.ui.core.Widget.getWidgetByElement(e.getTarget());
var d=this.__iY;

for(var b in d){var a=d[b];

if(!a.getAutoHide()||c==a||qx.ui.core.Widget.contains(a,c)){continue;
}a.exclude();
}}},destruct:function(){qx.event.Registration.removeListener(document.documentElement,q,this.__jb,this,true);
this._disposeMap(o);
}});
})();
(function(){var e="abstract",d="qx.ui.layout.Abstract";
qx.Class.define(d,{type:e,extend:qx.core.Object,members:{__jc:null,_invalidChildrenCache:null,__jd:null,invalidateLayoutCache:function(){this.__jc=null;
},renderLayout:function(a,b){this.warn("Missing renderLayout() implementation!");
},getSizeHint:function(){if(this.__jc){return this.__jc;
}return this.__jc=this._computeSizeHint();
},hasHeightForWidth:function(){return false;
},getHeightForWidth:function(i){this.warn("Missing getHeightForWidth() implementation!");
return null;
},_computeSizeHint:function(){return null;
},invalidateChildrenCache:function(){this._invalidChildrenCache=true;
},verifyLayoutProperty:null,_clearSeparators:function(){var c=this.__jd;

if(c instanceof qx.ui.core.LayoutItem){c.clearSeparators();
}},_renderSeparator:function(g,h){this.__jd.renderSeparator(g,h);
},connectToWidget:function(f){if(f&&this.__jd){throw new Error("It is not possible to manually set the connected widget.");
}this.__jd=f;
this.invalidateChildrenCache();
},_getWidget:function(){return this.__jd;
},_applyLayoutChange:function(){if(this.__jd){this.__jd.scheduleLayoutUpdate();
}},_getLayoutChildren:function(){return this.__jd.getLayoutChildren();
}},destruct:function(){this.__jd=this.__jc=null;
}});
})();
(function(){var a="qx.ui.layout.Grow";
qx.Class.define(a,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(m,n){var r=this._getLayoutChildren();
var q,s,p,o;
for(var i=0,l=r.length;i<l;i++){q=r[i];
s=q.getSizeHint();
p=m;

if(p<s.minWidth){p=s.minWidth;
}else if(p>s.maxWidth){p=s.maxWidth;
}o=n;

if(o<s.minHeight){o=s.minHeight;
}else if(o>s.maxHeight){o=s.maxHeight;
}q.renderLayout(0,0,p,o);
}},_computeSizeHint:function(){var h=this._getLayoutChildren();
var f,k;
var j=0,g=0;
var e=0,c=0;
var b=Infinity,d=Infinity;
for(var i=0,l=h.length;i<l;i++){f=h[i];
k=f.getSizeHint();
j=Math.max(j,k.width);
g=Math.max(g,k.height);
e=Math.max(e,k.minWidth);
c=Math.max(c,k.minHeight);
b=Math.min(b,k.maxWidth);
d=Math.min(d,k.maxHeight);
}return {width:j,height:g,minWidth:e,minHeight:c,maxWidth:b,maxHeight:d};
}}});
})();
(function(){var q="label",p="icon",o="Boolean",n="both",m="String",l="left",k="changeGap",j="changeShow",i="bottom",h="_applyCenter",D="changeIcon",C="qx.ui.basic.Atom",B="changeLabel",A="Integer",z="_applyIconPosition",y="top",x="right",w="_applyRich",v="_applyIcon",u="_applyShow",s="_applyLabel",t="_applyGap",r="atom";
qx.Class.define(C,{extend:qx.ui.core.Widget,construct:function(H,I){{};
qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.Atom());

if(H!=null){this.setLabel(H);
}
if(I!=null){this.setIcon(I);
}},properties:{appearance:{refine:true,init:r},label:{apply:s,nullable:true,check:m,event:B},rich:{check:o,init:false,apply:w},icon:{check:m,apply:v,nullable:true,themeable:true,event:D},gap:{check:A,nullable:false,event:k,apply:t,themeable:true,init:4},show:{init:n,check:[n,q,p],themeable:true,inheritable:true,apply:u,event:j},iconPosition:{init:l,check:[y,x,i,l],themeable:true,apply:z},center:{init:false,check:o,themeable:true,apply:h}},members:{_createChildControlImpl:function(d){var e;

switch(d){case q:e=new qx.ui.basic.Label(this.getLabel());
e.setAnonymous(true);
e.setRich(this.getRich());
this._add(e);

if(this.getLabel()==null||this.getShow()===p){e.exclude();
}break;
case p:e=new qx.ui.basic.Image(this.getIcon());
e.setAnonymous(true);
this._addAt(e,0);

if(this.getIcon()==null||this.getShow()===q){e.exclude();
}break;
}return e||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,d);
},_forwardStates:{focused:true,hovered:true},_handleLabel:function(){if(this.getLabel()==null||this.getShow()===p){this._excludeChildControl(q);
}else{this._showChildControl(q);
}},_handleIcon:function(){if(this.getIcon()==null||this.getShow()===q){this._excludeChildControl(p);
}else{this._showChildControl(p);
}},_applyLabel:function(a,b){var c=this.getChildControl(q,true);

if(c){c.setValue(a);
}this._handleLabel();
},_applyRich:function(J,K){var L=this.getChildControl(q,true);

if(L){L.setRich(J);
}},_applyIcon:function(E,F){var G=this.getChildControl(p,true);

if(G){G.setSource(E);
}this._handleIcon();
},_applyGap:function(O,P){this._getLayout().setGap(O);
},_applyShow:function(f,g){this._handleLabel();
this._handleIcon();
},_applyIconPosition:function(M,N){this._getLayout().setIconPosition(M);
},_applyCenter:function(Q,R){this._getLayout().setCenter(Q);
}}});
})();
(function(){var k="bottom",j="_applyLayoutChange",h="top",g="left",f="right",e="middle",d="center",c="qx.ui.layout.Atom",b="Integer",a="Boolean";
qx.Class.define(c,{extend:qx.ui.layout.Abstract,properties:{gap:{check:b,init:4,apply:j},iconPosition:{check:[g,h,f,k],init:g,apply:j},center:{check:a,init:false,apply:j}},members:{verifyLayoutProperty:null,renderLayout:function(l,m){var v=qx.ui.layout.Util;
var o=this.getIconPosition();
var r=this._getLayoutChildren();
var length=r.length;
var F,top,E,p;
var A,u;
var y=this.getGap();
var D=this.getCenter();
if(o===k||o===f){var w=length-1;
var s=-1;
var q=-1;
}else{var w=0;
var s=length;
var q=1;
}if(o==h||o==k){if(D){var z=0;

for(var i=w;i!=s;i+=q){p=r[i].getSizeHint().height;

if(p>0){z+=p;

if(i!=w){z+=y;
}}}top=Math.round((m-z)/2);
}else{top=0;
}
for(var i=w;i!=s;i+=q){A=r[i];
u=A.getSizeHint();
E=Math.min(u.maxWidth,Math.max(l,u.minWidth));
p=u.height;
F=v.computeHorizontalAlignOffset(d,E,l);
A.renderLayout(F,top,E,p);
if(p>0){top+=p+y;
}}}else{var t=l;
var n=null;
var C=0;

for(var i=w;i!=s;i+=q){A=r[i];
E=A.getSizeHint().width;

if(E>0){if(!n&&A instanceof qx.ui.basic.Label){n=A;
}else{t-=E;
}C++;
}}
if(C>1){var B=(C-1)*y;
t-=B;
}
if(n){var u=n.getSizeHint();
var x=Math.max(u.minWidth,Math.min(t,u.maxWidth));
t-=x;
}
if(D&&t>0){F=Math.round(t/2);
}else{F=0;
}
for(var i=w;i!=s;i+=q){A=r[i];
u=A.getSizeHint();
p=Math.min(u.maxHeight,Math.max(m,u.minHeight));

if(A===n){E=x;
}else{E=u.width;
}top=v.computeVerticalAlignOffset(e,u.height,m);
A.renderLayout(F,top,E,p);
if(E>0){F+=E+y;
}}}},_computeSizeHint:function(){var Q=this._getLayoutChildren();
var length=Q.length;
var I,O;
if(length===1){var I=Q[0].getSizeHint();
O={width:I.width,height:I.height,minWidth:I.minWidth,minHeight:I.minHeight};
}else{var M=0,N=0;
var J=0,L=0;
var K=this.getIconPosition();
var P=this.getGap();

if(K===h||K===k){var G=0;

for(var i=0;i<length;i++){I=Q[i].getSizeHint();
N=Math.max(N,I.width);
M=Math.max(M,I.minWidth);
if(I.height>0){L+=I.height;
J+=I.minHeight;
G++;
}}
if(G>1){var H=(G-1)*P;
L+=H;
J+=H;
}}else{var G=0;

for(var i=0;i<length;i++){I=Q[i].getSizeHint();
L=Math.max(L,I.height);
J=Math.max(J,I.minHeight);
if(I.width>0){N+=I.width;
M+=I.minWidth;
G++;
}}
if(G>1){var H=(G-1)*P;
N+=H;
M+=H;
}}O={minWidth:M,width:N,minHeight:J,height:L};
}return O;
}}});
})();
(function(){var A="middle",z="qx.ui.layout.Util",y="left",x="center",w="top",v="bottom",u="right";
qx.Class.define(z,{statics:{PERCENT_VALUE:/[0-9]+(?:\.[0-9]+)?%/,computeFlexOffsets:function(a,b,c){var e,j,d,k;
var f=b>c;
var m=Math.abs(b-c);
var n,g;
var h={};

for(j in a){e=a[j];
h[j]={potential:f?e.max-e.value:e.value-e.min,flex:f?e.flex:1/e.flex,offset:0};
}while(m!=0){k=Infinity;
d=0;

for(j in h){e=h[j];

if(e.potential>0){d+=e.flex;
k=Math.min(k,e.potential/e.flex);
}}if(d==0){break;
}k=Math.min(m,k*d)/d;
n=0;

for(j in h){e=h[j];

if(e.potential>0){g=Math.min(m,e.potential,Math.ceil(k*e.flex));
n+=g-k*e.flex;

if(n>=1){n-=1;
g-=1;
}e.potential-=g;

if(f){e.offset+=g;
}else{e.offset-=g;
}m-=g;
}}}return h;
},computeHorizontalAlignOffset:function(bk,bl,bm,bn,bo){if(bn==null){bn=0;
}
if(bo==null){bo=0;
}var bp=0;

switch(bk){case y:bp=bn;
break;
case u:bp=bm-bl-bo;
break;
case x:bp=Math.round((bm-bl)/2);
if(bp<bn){bp=bn;
}else if(bp<bo){bp=Math.max(bn,bm-bl-bo);
}break;
}return bp;
},computeVerticalAlignOffset:function(B,C,D,E,F){if(E==null){E=0;
}
if(F==null){F=0;
}var G=0;

switch(B){case w:G=E;
break;
case v:G=D-C-F;
break;
case A:G=Math.round((D-C)/2);
if(G<E){G=E;
}else if(G<F){G=Math.max(E,D-C-F);
}break;
}return G;
},collapseMargins:function(H){var I=0,K=0;

for(var i=0,l=arguments.length;i<l;i++){var J=arguments[i];

if(J<0){K=Math.min(K,J);
}else if(J>0){I=Math.max(I,J);
}}return I+K;
},computeHorizontalGaps:function(bg,bh,bi){if(bh==null){bh=0;
}var bj=0;

if(bi){bj+=bg[0].getMarginLeft();

for(var i=1,l=bg.length;i<l;i+=1){bj+=this.collapseMargins(bh,bg[i-1].getMarginRight(),bg[i].getMarginLeft());
}bj+=bg[l-1].getMarginRight();
}else{for(var i=1,l=bg.length;i<l;i+=1){bj+=bg[i].getMarginLeft()+bg[i].getMarginRight();
}bj+=(bh*(l-1));
}return bj;
},computeVerticalGaps:function(L,M,N){if(M==null){M=0;
}var O=0;

if(N){O+=L[0].getMarginTop();

for(var i=1,l=L.length;i<l;i+=1){O+=this.collapseMargins(M,L[i-1].getMarginBottom(),L[i].getMarginTop());
}O+=L[l-1].getMarginBottom();
}else{for(var i=1,l=L.length;i<l;i+=1){O+=L[i].getMarginTop()+L[i].getMarginBottom();
}O+=(M*(l-1));
}return O;
},computeHorizontalSeparatorGaps:function(X,Y,ba){var bd=qx.theme.manager.Decoration.getInstance().resolve(ba);
var bc=bd.getInsets();
var bb=bc.left+bc.right;
var be=0;

for(var i=0,l=X.length;i<l;i++){var bf=X[i];
be+=bf.getMarginLeft()+bf.getMarginRight();
}be+=(Y+bb+Y)*(l-1);
return be;
},computeVerticalSeparatorGaps:function(P,Q,R){var U=qx.theme.manager.Decoration.getInstance().resolve(R);
var T=U.getInsets();
var S=T.top+T.bottom;
var V=0;

for(var i=0,l=P.length;i<l;i++){var W=P[i];
V+=W.getMarginTop()+W.getMarginBottom();
}V+=(Q+S+Q)*(l-1);
return V;
},arrangeIdeals:function(o,p,q,r,s,t){if(p<o||s<r){if(p<o&&s<r){p=o;
s=r;
}else if(p<o){s-=(o-p);
p=o;
if(s<r){s=r;
}}else if(s<r){p-=(r-s);
s=r;
if(p<o){p=o;
}}}
if(p>q||s>t){if(p>q&&s>t){p=q;
s=t;
}else if(p>q){s+=(p-q);
p=q;
if(s>t){s=t;
}}else if(s>t){p+=(s-t);
s=t;
if(p>q){p=q;
}}}return {begin:p,end:s};
}}});
})();
(function(){var c="qx.event.type.Data",b="qx.ui.form.IStringForm";
qx.Interface.define(b,{events:{"changeValue":c},members:{setValue:function(a){return arguments.length==1;
},resetValue:function(){},getValue:function(){}}});
})();
(function(){var s="qx.dynlocale",r="text",q="Boolean",p="qx.client",o="color",n="userSelect",m="changeLocale",l="enabled",k="none",j="on",Q="_applyTextAlign",P="qx.ui.core.Widget",O="nowrap",N="gecko",M="changeTextAlign",L="_applyWrap",K="changeValue",J="changeContent",I="qx.ui.basic.Label",H="A",z="whiteSpace",A="_applyValue",x="center",y="_applyBuddy",v="String",w="textAlign",t="right",u="changeRich",B="normal",C="_applyRich",E="click",D="label",G="webkit",F="left";
qx.Class.define(I,{extend:qx.ui.core.Widget,implement:[qx.ui.form.IStringForm],construct:function(g){qx.ui.core.Widget.call(this);

if(g!=null){this.setValue(g);
}
if(qx.core.Variant.isSet(s,j)){qx.locale.Manager.getInstance().addListener(m,this._onChangeLocale,this);
}},properties:{rich:{check:q,init:false,event:u,apply:C},wrap:{check:q,init:true,apply:L},value:{check:v,apply:A,event:K,nullable:true},buddy:{check:P,apply:y,nullable:true,init:null},textAlign:{check:[F,x,t],nullable:true,themeable:true,apply:Q,event:M},appearance:{refine:true,init:D},selectable:{refine:true,init:false},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false},allowShrinkY:{refine:true,init:false}},members:{__je:null,__jf:null,__jg:null,__jh:null,_getContentHint:function(){if(this.__jf){this.__ji=this.__jj();
delete this.__jf;
}return {width:this.__ji.width,height:this.__ji.height};
},_hasHeightForWidth:function(){return this.getRich()&&this.getWrap();
},_applySelectable:function(bc){if(qx.core.Variant.isSet(p,N)){if(bc&&!this.isRich()){{};
return;
}}qx.ui.core.Widget.prototype._applySelectable.call(this,bc);
if(qx.core.Variant.isSet(p,G)){this.getContainerElement().setStyle(n,bc?r:k);
this.getContentElement().setStyle(n,bc?r:k);
}},_getContentHeightForWidth:function(a){if(!this.getRich()&&!this.getWrap()){return null;
}return this.__jj(a).height;
},_createContentElement:function(){return new qx.html.Label;
},_applyTextAlign:function(b,c){this.getContentElement().setStyle(w,b);
},_applyTextColor:function(h,i){if(h){this.getContentElement().setStyle(o,qx.theme.manager.Color.getInstance().resolve(h));
}else{this.getContentElement().removeStyle(o);
}},__ji:{width:0,height:0},_applyFont:function(bd,be){var bf;

if(bd){this.__je=qx.theme.manager.Font.getInstance().resolve(bd);
bf=this.__je.getStyles();
}else{this.__je=null;
bf=qx.bom.Font.getDefaultStyles();
}this.getContentElement().setStyles(bf);
this.__jf=true;
qx.ui.core.queue.Layout.add(this);
},__jj:function(R){var V=qx.bom.Label;
var T=this.getFont();
var S=T?this.__je.getStyles():qx.bom.Font.getDefaultStyles();
var content=this.getValue()||H;
var U=this.getRich();
return U?V.getHtmlSize(content,S,R):V.getTextSize(content,S);
},_applyBuddy:function(d,f){if(f!=null){f.removeBinding(this.__jg);
this.__jg=null;
this.removeListenerById(this.__jh);
this.__jh=null;
}
if(d!=null){this.__jg=d.bind(l,this,l);
this.__jh=this.addListener(E,function(){if(d.isFocusable()){d.focus.apply(d);
}},this);
}},_applyRich:function(ba){this.getContentElement().setRich(ba);
this.__jf=true;
qx.ui.core.queue.Layout.add(this);
},_applyWrap:function(W,X){if(W&&!this.isRich()){{};
}
if(this.isRich()){var Y=W?B:O;
this.getContentElement().setStyle(z,Y);
}},_onChangeLocale:qx.core.Variant.select(s,{"on":function(e){var content=this.getValue();

if(content&&content.translate){this.setValue(content.translate());
}},"off":null}),_applyValue:function(bg,bh){this.getContentElement().setValue(bg);
this.__jf=true;
qx.ui.core.queue.Layout.add(this);
this.fireDataEvent(J,bg,bh);
}},destruct:function(){if(qx.core.Variant.isSet(s,j)){qx.locale.Manager.getInstance().removeListener(m,this._onChangeLocale,this);
}if(this.__jg!=null){var bb=this.getBuddy();

if(bb!=null&&!bb.isDisposed()){bb.removeBinding(this.__jg);
}}this.__je=this.__jg=null;
}});
})();
(function(){var f="value",e="Please use the getValue() method instead.",d="qx.html.Label",c="Please use the setValue() method instead.";
qx.Class.define(d,{extend:qx.html.Element,members:{__jk:null,_applyProperty:function(name,a){qx.html.Element.prototype._applyProperty.call(this,name,a);

if(name==f){var b=this.getDomElement();
qx.bom.Label.setValue(b,a);
}},_createDomElement:function(){var h=this.__jk;
var g=qx.bom.Label.create(this._content,h);
return g;
},_copyData:function(k){return qx.html.Element.prototype._copyData.call(this,true);
},setRich:function(l){var m=this.getDomElement();

if(m){throw new Error("The label mode cannot be modified after initial creation");
}l=!!l;

if(this.__jk==l){return;
}this.__jk=l;
return this;
},setValue:function(j){this._setProperty(f,j);
return this;
},getValue:function(){return this._getProperty(f);
},setContent:function(i){qx.log.Logger.deprecatedMethodWarning(arguments.callee,c);
return this.setValue(i);
},getContent:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,e);
return this.getValue();
}}});
})();
(function(){var n="qx.client",m="gecko",l="div",k="inherit",j="text",i="value",h="",g="hidden",f="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",e="nowrap",F="auto",E="0",D="ellipsis",C="normal",B="label",A="px",z="crop",y="end",x="100%",w="visible",u="qx.bom.Label",v="Please use the setValue() method instead.",s="opera",t="Please use the getValue() method instead.",q="block",r="none",o="-1000px",p="absolute";
qx.Class.define(u,{statics:{__jl:{fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},__jm:function(){var X=this.__jo(false);
document.body.insertBefore(X,document.body.firstChild);
return this._textElement=X;
},__jn:function(){var T=this.__jo(true);
document.body.insertBefore(T,document.body.firstChild);
return this._htmlElement=T;
},__jo:function(G){var H=qx.bom.Element.create(l);
var I=H.style;
I.width=I.height=F;
I.left=I.top=o;
I.visibility=g;
I.position=p;
I.overflow=w;

if(G){I.whiteSpace=C;
}else{I.whiteSpace=e;

if(qx.core.Variant.isSet(n,m)){var J=document.createElementNS(f,B);
var I=J.style;
I.padding=E;

for(var K in this.__jl){I[K]=k;
}H.appendChild(J);
}}return H;
},__jp:function(c){var d={};

if(c){d.whiteSpace=C;
}else if(qx.core.Variant.isSet(n,m)){d.display=q;
}else{d.overflow=g;
d.whiteSpace=e;
d.textOverflow=D;
d.userSelect=r;
if(qx.core.Variant.isSet(n,s)){d.OTextOverflow=D;
}}return d;
},create:function(content,bc,bd){if(!bd){bd=window;
}
if(bc){var be=bd.document.createElement(l);
be.useHtml=true;
}else if(qx.core.Variant.isSet(n,m)){var be=bd.document.createElement(l);
var bg=bd.document.createElementNS(f,B);
var bf=bg.style;
bf.cursor=k;
bf.color=k;
bf.overflow=g;
bf.maxWidth=x;
bf.padding=E;
for(var bh in this.__jl){bg.style[bh]=k;
}bg.setAttribute(z,y);
be.appendChild(bg);
}else{var be=bd.document.createElement(l);
qx.bom.element.Style.setStyles(be,this.__jp(bc));
}
if(content){this.setValue(be,content);
}return be;
},setValue:function(L,M){M=M||h;

if(L.useHtml){L.innerHTML=M;
}else if(qx.core.Variant.isSet(n,m)){L.firstChild.setAttribute(i,M);
}else{qx.bom.element.Attribute.set(L,j,M);
}},getValue:function(N){if(N.useHtml){return N.innerHTML;
}else if(qx.core.Variant.isSet(n,m)){return N.firstChild.getAttribute(i)||h;
}else{return qx.bom.element.Attribute.get(N,j);
}},getHtmlSize:function(content,U,V){var W=this._htmlElement||this.__jn();
W.style.width=V!==undefined?V+A:F;
W.innerHTML=content;
return this.__jq(W,U);
},getTextSize:function(Y,ba){var bb=this._textElement||this.__jm();

if(qx.core.Variant.isSet(n,m)){bb.firstChild.setAttribute(i,Y);
}else{qx.bom.element.Attribute.set(bb,j,Y);
}return this.__jq(bb,ba);
},__jq:function(O,P){var Q=this.__jl;

if(!P){P={};
}
for(var R in Q){O.style[R]=P[R]||h;
}var S=qx.bom.element.Dimension.getSize(O);

if(qx.core.Variant.isSet(n,m)){if(!qx.bom.client.Platform.WIN){S.width++;
}}return S;
},setContent:function(a,b){qx.log.Logger.deprecatedMethodWarning(arguments.callee,v);
this.setValue(a,b);
},getContent:function(bi){qx.log.Logger.deprecatedMethodWarning(arguments.callee,t);
return this.getValue(bi);
}}});
})();
(function(){var h="0px",g="mshtml",f="qx.client",e="qx.bom.element.Dimension",d="paddingRight",c="paddingLeft",b="paddingTop",a="paddingBottom";
qx.Class.define(e,{statics:{getWidth:qx.core.Variant.select(f,{"gecko":function(i){if(i.getBoundingClientRect){var j=i.getBoundingClientRect();
return Math.round(j.right)-Math.round(j.left);
}else{return i.offsetWidth;
}},"default":function(l){return l.offsetWidth;
}}),getHeight:qx.core.Variant.select(f,{"gecko":function(m){if(m.getBoundingClientRect){var n=m.getBoundingClientRect();
return Math.round(n.bottom)-Math.round(n.top);
}else{return m.offsetHeight;
}},"default":function(D){return D.offsetHeight;
}}),getSize:function(v){return {width:this.getWidth(v),height:this.getHeight(v)};
},__jr:{visible:true,hidden:true},getContentWidth:function(w){var y=qx.bom.element.Style;
var z=qx.bom.element.Overflow.getX(w);
var A=parseInt(y.get(w,c)||h,10);
var C=parseInt(y.get(w,d)||h,10);

if(this.__jr[z]){return w.clientWidth-A-C;
}else{if(w.clientWidth>=w.scrollWidth){return Math.max(w.clientWidth,w.scrollWidth)-A-C;
}else{var B=w.scrollWidth-A;
var x=qx.bom.client.Engine;

if(x.NAME===g&&x.VERSION==6){B-=C;
}return B;
}}},getContentHeight:function(o){var q=qx.bom.element.Style;
var s=qx.bom.element.Overflow.getY(o);
var t=parseInt(q.get(o,b)||h,10);
var r=parseInt(q.get(o,a)||h,10);

if(this.__jr[s]){return o.clientHeight-t-r;
}else{if(o.clientHeight>=o.scrollHeight){return Math.max(o.clientHeight,o.scrollHeight)-t-r;
}else{var u=o.scrollHeight-t;
var p=qx.bom.client.Engine;

if(p.NAME===g&&p.VERSION==6){u-=r;
}return u;
}}},getContentSize:function(k){return {width:this.getContentWidth(k),height:this.getContentHeight(k)};
}}});
})();
(function(){var d="qx.event.type.Data",c="qx.ui.form.IForm";
qx.Interface.define(c,{events:{"changeEnabled":d,"changeValid":d,"changeInvalidMessage":d,"changeRequired":d},members:{setEnabled:function(b){return arguments.length==1;
},getEnabled:function(){},setRequired:function(e){return arguments.length==1;
},getRequired:function(){},setValid:function(f){return arguments.length==1;
},getValid:function(){},setInvalidMessage:function(a){return arguments.length==1;
},getInvalidMessage:function(){}}});
})();
(function(){var j="Use 'getBlocker().getContentBlockerElement()' instead.",i="Use 'getBlocker().getBlockerElement()' instead.",h="_applyBlockerColor",g="Number",f="__js",e="qx.ui.core.MBlocker",d="_applyBlockerOpacity",c="Color";
qx.Mixin.define(e,{construct:function(){this.__js=new qx.ui.core.Blocker(this);
},properties:{blockerColor:{check:c,init:null,nullable:true,apply:h,themeable:true},blockerOpacity:{check:g,init:1,apply:d,themeable:true}},members:{__js:null,_applyBlockerColor:function(k,l){this.__js.setColor(k);
},_applyBlockerOpacity:function(a,b){this.__js.setOpacity(a);
},block:function(){this.__js.block();
},isBlocked:function(){return this.__js.isBlocked();
},unblock:function(){this.__js.unblock();
},forceUnblock:function(){this.__js.forceUnblock();
},blockContent:function(m){this.__js.blockContent(m);
},isContentBlocked:function(){return this.__js.isContentBlocked();
},unblockContent:function(){this.__js.unblockContent();
},forceUnblockContent:function(){this.__js.forceUnblockContent();
},_getContentBlocker:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,j);
return this.__js.getContentBlockerElement();
},_getBlocker:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,i);
return this.__js.getBlockerElement();
},getBlocker:function(){return this.__js;
}},destruct:function(){this._disposeObjects(f);
}});
})();
(function(){var n="qx.ui.window.Window",m="changeModal",l="changeVisibility",k="changeActive",j="_applyActiveWindow",i="__jt",h="__ju",g="qx.ui.window.MDesktop";
qx.Mixin.define(g,{properties:{activeWindow:{check:n,apply:j,init:null,nullable:true}},members:{__jt:null,__ju:null,getWindowManager:function(){if(!this.__ju){this.setWindowManager(new qx.ui.window.Window.DEFAULT_MANAGER_CLASS());
}return this.__ju;
},supportsMaximize:function(){return true;
},setWindowManager:function(o){if(this.__ju){this.__ju.setDesktop(null);
}o.setDesktop(this);
this.__ju=o;
},_onChangeActive:function(e){if(e.getData()){this.setActiveWindow(e.getTarget());
}else if(this.getActiveWindow()==e.getTarget()){this.setActiveWindow(null);
}},_applyActiveWindow:function(b,c){this.getWindowManager().changeActiveWindow(b,c);

if(b){b.setActive(true);
}
if(c){c.resetActive();
}},_onChangeModal:function(e){this.getWindowManager().updateStack();
},_onChangeVisibility:function(){this.getWindowManager().updateStack();
},_afterAddChild:function(p){if(qx.Class.isDefined(n)&&p instanceof qx.ui.window.Window){this._addWindow(p);
}},_addWindow:function(d){if(!qx.lang.Array.contains(this.getWindows(),d)){this.getWindows().push(d);
d.addListener(k,this._onChangeActive,this);
d.addListener(m,this._onChangeModal,this);
d.addListener(l,this._onChangeVisibility,this);
}
if(d.getActive()){this.setActiveWindow(d);
}this.getWindowManager().updateStack();
},_afterRemoveChild:function(f){if(qx.Class.isDefined(n)&&f instanceof qx.ui.window.Window){this._removeWindow(f);
}},_removeWindow:function(a){qx.lang.Array.remove(this.getWindows(),a);
a.removeListener(k,this._onChangeActive,this);
a.removeListener(m,this._onChangeModal,this);
a.removeListener(l,this._onChangeVisibility,this);
this.getWindowManager().updateStack();
},getWindows:function(){if(!this.__jt){this.__jt=[];
}return this.__jt;
}},destruct:function(){this._disposeArray(i);
this._disposeObjects(h);
}});
})();
(function(){var p="contextmenu",o="help",n="qx.client",m="changeGlobalCursor",l="abstract",k="Boolean",j="root",i="",h=" !important",g="_applyGlobalCursor",c="_applyNativeHelp",f=";",d="qx.ui.root.Abstract",b="String",a="*";
qx.Class.define(d,{type:l,extend:qx.ui.core.Widget,include:[qx.ui.core.MChildrenHandling,qx.ui.core.MBlocker,qx.ui.window.MDesktop],construct:function(){qx.ui.core.Widget.call(this);
qx.ui.core.FocusHandler.getInstance().addRoot(this);
qx.ui.core.queue.Visibility.add(this);
this.initNativeHelp();
},properties:{appearance:{refine:true,init:j},enabled:{refine:true,init:true},focusable:{refine:true,init:true},globalCursor:{check:b,nullable:true,themeable:true,apply:g,event:m},nativeContextMenu:{refine:true,init:false},nativeHelp:{check:k,init:false,apply:c}},members:{__jv:null,isRootWidget:function(){return true;
},getLayout:function(){return this._getLayout();
},_applyGlobalCursor:qx.core.Variant.select(n,{"mshtml":function(y,z){},"default":function(q,r){var s=qx.bom.Stylesheet;
var t=this.__jv;

if(!t){this.__jv=t=s.createElement();
}s.removeAllRules(t);

if(q){s.addRule(t,a,qx.bom.element.Cursor.compile(q).replace(f,i)+h);
}}}),_applyNativeContextMenu:function(w,x){if(w){this.removeListener(p,this._onNativeContextMenu,this,true);
}else{this.addListener(p,this._onNativeContextMenu,this,true);
}},_onNativeContextMenu:function(e){if(e.getTarget().getNativeContextMenu()){return;
}e.preventDefault();
},_applyNativeHelp:qx.core.Variant.select(n,{"mshtml":function(A,B){if(B===false){qx.bom.Event.removeNativeListener(document,o,qx.lang.Function.returnFalse);
}
if(A===false){qx.bom.Event.addNativeListener(document,o,qx.lang.Function.returnFalse);
}},"default":function(){}})},destruct:function(){this.__jv=null;
},defer:function(u,v){qx.ui.core.MChildrenHandling.remap(v);
}});
})();
(function(){var q="resize",p="position",o="0px",n="webkit",m="paddingLeft",l="$$widget",k="qx.ui.root.Application",j="hidden",i="qx.client",h="div",d="paddingTop",g="100%",f="absolute";
qx.Class.define(k,{extend:qx.ui.root.Abstract,construct:function(c){this.__jw=qx.dom.Node.getWindow(c);
this.__jx=c;
qx.ui.root.Abstract.call(this);
qx.event.Registration.addListener(this.__jw,q,this._onResize,this);
this._setLayout(new qx.ui.layout.Canvas());
qx.ui.core.queue.Layout.add(this);
qx.ui.core.FocusHandler.getInstance().connectTo(this);
this.getContentElement().disableScrolling();
},members:{__jw:null,__jx:null,_createContainerElement:function(){var r=this.__jx;
if(qx.core.Variant.isSet(i,n)){if(!r.body){alert("The application could not be started due to a missing body tag in the HTML file!");
}}var v=r.documentElement.style;
var s=r.body.style;
v.overflow=s.overflow=j;
v.padding=v.margin=s.padding=s.margin=o;
v.width=v.height=s.width=s.height=g;
var u=r.createElement(h);
r.body.appendChild(u);
var t=new qx.html.Root(u);
t.setStyle(p,f);
t.setAttribute(l,this.toHashCode());
return t;
},_onResize:function(e){qx.ui.core.queue.Layout.add(this);
},_computeSizeHint:function(){var z=qx.bom.Viewport.getWidth(this.__jw);
var A=qx.bom.Viewport.getHeight(this.__jw);
return {minWidth:z,width:z,maxWidth:z,minHeight:A,height:A,maxHeight:A};
},_applyPadding:function(a,b,name){if(a&&(name==d||name==m)){throw new Error("The root widget does not support 'left', or 'top' paddings!");
}qx.ui.root.Abstract.prototype._applyPadding.call(this,a,b,name);
},_applyDecorator:function(w,x){qx.ui.root.Abstract.prototype._applyDecorator.call(this,w,x);

if(!w){return;
}var y=this.getDecoratorElement().getInsets();

if(y.left||y.top){throw new Error("The root widget does not support decorators with 'left', or 'top' insets!");
}}},destruct:function(){this.__jw=this.__jx=null;
}});
})();
(function(){var y="zIndex",x="px",w="keydown",v="deactivate",u="This method is not needed anymore.",t="resize",s="keyup",r="keypress",q="backgroundColor",p="_applyOpacity",L="__jG",K="Use 'getBlockerElement' instead.",J="opacity",I="interval",H="Tab",G="Color",F="qx.ui.root.Page",E="__jB",D="__jD",C="Use 'getContentBlockerElement' instead.",A="Number",B="qx.ui.core.Blocker",z="_applyColor";
qx.Class.define(B,{extend:qx.core.Object,construct:function(k){qx.core.Object.call(this);
this._widget=k;
this._isPageRoot=(qx.Class.isDefined(F)&&k instanceof qx.ui.root.Page);

if(this._isPageRoot){k.addListener(t,this.__jH,this);
}this.__jy=[];
this.__jz=[];
this.__jA=[];
},properties:{color:{check:G,init:null,nullable:true,apply:z,themeable:true},opacity:{check:A,init:1,apply:p,themeable:true}},members:{__jB:null,__jC:0,__jD:null,__jA:null,__jy:null,__jz:null,__jE:null,__jF:0,__jG:null,_isPageRoot:false,_widget:null,__jH:function(e){var S=e.getData();

if(this.isContentBlocked()){this.getContentBlockerElement().setStyles({width:S.width,height:S.height});
}
if(this.isBlocked()){this.getBlockerElement().setStyles({width:S.width,height:S.height});
}},_applyColor:function(g,h){var j=qx.theme.manager.Color.getInstance().resolve(g);
this.__jI(q,j);
},_applyOpacity:function(n,o){this.__jI(J,n);
},__jI:function(c,d){var f=[];
this.__jB&&f.push(this.__jB);
this.__jD&&f.push(this.__jD);

for(var i=0;i<f.length;i++){f[i].setStyle(c,d);
}},_saveAndSetAnonymousState:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,u);
this.__jF+=1;

if(this.__jF==1){this.__jE=this._widget.getAnonymous();
this._widget.setAnonymous(true);
}},_restoreAnonymousState:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,u);
this.__jF-=1;

if(this.__jF==0){this._widget.setAnonymous(this.__jE);
}},_backupActiveWidget:function(){var R=qx.event.Registration.getManager(window).getHandler(qx.event.handler.Focus);
this.__jy.push(R.getActive());
this.__jz.push(R.getFocus());

if(this._widget.isFocusable()){this._widget.focus();
}},_restoreActiveWidget:function(){var V=this.__jy.length;

if(V>0){var U=this.__jy[V-1];

if(U){qx.bom.Element.activate(U);
}this.__jy.pop();
}var T=this.__jz.length;

if(T>0){var U=this.__jz[T-1];

if(U){qx.bom.Element.focus(this.__jz[T-1]);
}this.__jz.pop();
}},__jJ:function(){return new qx.html.Blocker(this.getColor(),this.getOpacity());
},_getBlocker:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,K);
return this.getBlockerElement();
},getBlockerElement:function(){if(!this.__jB){this.__jB=this.__jJ();
this.__jB.setStyle(y,15);
this._widget.getContainerElement().add(this.__jB);
this.__jB.exclude();
}return this.__jB;
},block:function(){this.__jC++;

if(this.__jC<2){this._backupActiveWidget();
var b=this.getBlockerElement();
b.include();
b.activate();
b.addListener(v,this.__jO,this);
b.addListener(r,this.__jN,this);
b.addListener(w,this.__jN,this);
b.addListener(s,this.__jN,this);
}},isBlocked:function(){return this.__jC>0;
},unblock:function(){if(!this.isBlocked()){return;
}this.__jC--;

if(this.__jC<1){this.__jK();
this.__jC=0;
}},forceUnblock:function(){if(!this.isBlocked()){return;
}this.__jC=0;
this.__jK();
},__jK:function(){this._restoreActiveWidget();
var M=this.getBlockerElement();
M.removeListener(v,this.__jO,this);
M.removeListener(r,this.__jN,this);
M.removeListener(w,this.__jN,this);
M.removeListener(s,this.__jN,this);
M.exclude();
},_getContentBlocker:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,C);
return this.getContentBlockerElement();
},getContentBlockerElement:function(){if(!this.__jD){this.__jD=this.__jJ();
this._widget.getContentElement().add(this.__jD);
this.__jD.exclude();
}return this.__jD;
},blockContent:function(l){var m=this.getContentBlockerElement();
m.setStyle(y,l);
this.__jA.push(l);

if(this.__jA.length<2){m.include();

if(this._isPageRoot){if(!this.__jG){this.__jG=new qx.event.Timer(300);
this.__jG.addListener(I,this.__jM,this);
}this.__jG.start();
this.__jM();
}}},isContentBlocked:function(){return this.__jA.length>0;
},unblockContent:function(){if(!this.isContentBlocked()){return;
}this.__jA.pop();
var P=this.__jA[this.__jA.length-1];
var Q=this.getContentBlockerElement();
Q.setStyle(y,P);

if(this.__jA.length<1){this.__jL();
this.__jA=[];
}},forceUnblockContent:function(){if(!this.isContentBlocked()){return;
}this.__jA=[];
var a=this.getContentBlockerElement();
a.setStyle(y,null);
this.__jL();
},__jL:function(){this.getContentBlockerElement().exclude();

if(this._isPageRoot){this.__jG.stop();
}},__jM:function(){var N=this._widget.getContainerElement().getDomElement();
var O=qx.dom.Node.getDocument(N);
this.getContentBlockerElement().setStyles({height:O.documentElement.scrollHeight+x,width:O.documentElement.scrollWidth+x});
},__jN:function(e){if(e.getKeyIdentifier()==H){e.stop();
}},__jO:function(){this.getBlockerElement().activate();
}},destruct:function(){if(this._isPageRoot){this._widget.removeListener(t,this.__jH,this);
}this._disposeObjects(D,E,L);
this.__jE=this.__jy=this.__jz=this._widget=this.__jA=null;
}});
})();
(function(){var n="cursor",m="100%",l="repeat",k="mousedown",j="url(",i=")",h="mouseout",g="qx.client",f="div",d="dblclick",z="mousewheel",y="qx.html.Blocker",x="mousemove",w="mouseover",v="appear",u="click",t="mshtml",s="mouseup",r="contextmenu",q="disappear",o="qx/static/blank.gif",p="absolute";
qx.Class.define(y,{extend:qx.html.Element,construct:function(a,b){var a=a?qx.theme.manager.Color.getInstance().resolve(a):null;
var c={position:p,width:m,height:m,opacity:b||0,backgroundColor:a};
if(qx.core.Variant.isSet(g,t)){c.backgroundImage=j+qx.util.ResourceManager.getInstance().toUri(o)+i;
c.backgroundRepeat=l;
}qx.html.Element.call(this,f,c);
this.addListener(k,this._stopPropagation,this);
this.addListener(s,this._stopPropagation,this);
this.addListener(u,this._stopPropagation,this);
this.addListener(d,this._stopPropagation,this);
this.addListener(x,this._stopPropagation,this);
this.addListener(w,this._stopPropagation,this);
this.addListener(h,this._stopPropagation,this);
this.addListener(z,this._stopPropagation,this);
this.addListener(r,this._stopPropagation,this);
this.addListener(v,this.__jP,this);
this.addListener(q,this.__jP,this);
},members:{_stopPropagation:function(e){e.stopPropagation();
},__jP:function(){var A=this.getStyle(n);
this.setStyle(n,null,true);
this.setStyle(n,A,true);
}}});
})();
(function(){var A="keypress",z="focusout",y="activate",x="Tab",w="singleton",v="deactivate",u="__jQ",t="focusin",s="qx.ui.core.FocusHandler";
qx.Class.define(s,{extend:qx.core.Object,type:w,construct:function(){qx.core.Object.call(this);
this.__jQ={};
},members:{__jQ:null,__jR:null,__jS:null,__jT:null,connectTo:function(L){L.addListener(A,this.__jU,this);
L.addListener(t,this._onFocusIn,this,true);
L.addListener(z,this._onFocusOut,this,true);
L.addListener(y,this._onActivate,this,true);
L.addListener(v,this._onDeactivate,this,true);
},addRoot:function(be){this.__jQ[be.$$hash]=be;
},removeRoot:function(K){delete this.__jQ[K.$$hash];
},getActiveWidget:function(){return this.__jR;
},isActive:function(J){return this.__jR==J;
},getFocusedWidget:function(){return this.__jS;
},isFocused:function(X){return this.__jS==X;
},isFocusRoot:function(Y){return !!this.__jQ[Y.$$hash];
},_onActivate:function(e){var f=e.getTarget();
this.__jR=f;
var d=this.__jV(f);

if(d!=this.__jT){this.__jT=d;
}},_onDeactivate:function(e){var h=e.getTarget();

if(this.__jR==h){this.__jR=null;
}},_onFocusIn:function(e){var g=e.getTarget();

if(g!=this.__jS){this.__jS=g;
g.visualizeFocus();
}},_onFocusOut:function(e){var I=e.getTarget();

if(I==this.__jS){this.__jS=null;
I.visualizeBlur();
}},__jU:function(e){if(e.getKeyIdentifier()!=x){return;
}
if(!this.__jT){return;
}e.stopPropagation();
e.preventDefault();
var ba=this.__jS;

if(!e.isShiftPressed()){var bb=ba?this.__ka(ba):this.__jX();
}else{var bb=ba?this.__kb(ba):this.__jY();
}if(bb){bb.tabFocus();
}},__jV:function(bc){var bd=this.__jQ;

while(bc){if(bd[bc.$$hash]){return bc;
}bc=bc.getLayoutParent();
}return null;
},__jW:function(M,N){if(M===N){return 0;
}var P=M.getTabIndex()||0;
var O=N.getTabIndex()||0;

if(P!=O){return P-O;
}var U=M.getContainerElement().getDomElement();
var T=N.getContainerElement().getDomElement();
var S=qx.bom.element.Location;
var R=S.get(U);
var Q=S.get(T);
if(R.top!=Q.top){return R.top-Q.top;
}if(R.left!=Q.left){return R.left-Q.left;
}var V=M.getZIndex();
var W=N.getZIndex();

if(V!=W){return V-W;
}return 0;
},__jX:function(){return this.__ke(this.__jT,null);
},__jY:function(){return this.__kf(this.__jT,null);
},__ka:function(bf){var bg=this.__jT;

if(bg==bf){return this.__jX();
}
while(bf&&bf.getAnonymous()){bf=bf.getLayoutParent();
}
if(bf==null){return [];
}var bh=[];
this.__kc(bg,bf,bh);
bh.sort(this.__jW);
var bi=bh.length;
return bi>0?bh[0]:this.__jX();
},__kb:function(o){var p=this.__jT;

if(p==o){return this.__jY();
}
while(o&&o.getAnonymous()){o=o.getLayoutParent();
}
if(o==null){return [];
}var q=[];
this.__kd(p,o,q);
q.sort(this.__jW);
var r=q.length;
return r>0?q[r-1]:this.__jY();
},__kc:function(parent,B,C){var D=parent.getLayoutChildren();
var E;

for(var i=0,l=D.length;i<l;i++){E=D[i];
if(!(E instanceof qx.ui.core.Widget)){continue;
}
if(!this.isFocusRoot(E)&&E.isEnabled()&&E.isVisible()){if(E.isTabable()&&this.__jW(B,E)<0){C.push(E);
}this.__kc(E,B,C);
}}},__kd:function(parent,j,k){var m=parent.getLayoutChildren();
var n;

for(var i=0,l=m.length;i<l;i++){n=m[i];
if(!(n instanceof qx.ui.core.Widget)){continue;
}
if(!this.isFocusRoot(n)&&n.isEnabled()&&n.isVisible()){if(n.isTabable()&&this.__jW(j,n)>0){k.push(n);
}this.__kd(n,j,k);
}}},__ke:function(parent,F){var G=parent.getLayoutChildren();
var H;

for(var i=0,l=G.length;i<l;i++){H=G[i];
if(!(H instanceof qx.ui.core.Widget)){continue;
}if(!this.isFocusRoot(H)&&H.isEnabled()&&H.isVisible()){if(H.isTabable()){if(F==null||this.__jW(H,F)<0){F=H;
}}F=this.__ke(H,F);
}}return F;
},__kf:function(parent,a){var b=parent.getLayoutChildren();
var c;

for(var i=0,l=b.length;i<l;i++){c=b[i];
if(!(c instanceof qx.ui.core.Widget)){continue;
}if(!this.isFocusRoot(c)&&c.isEnabled()&&c.isVisible()){if(c.isTabable()){if(a==null||this.__jW(c,a)>0){a=c;
}}a=this.__kf(c,a);
}}return a;
}},destruct:function(){this._disposeMap(u);
this.__jS=this.__jR=this.__jT=null;
}});
})();
(function(){var H="qx.client",G="head",F="text/css",E="stylesheet",D="}",C='@import "',B="{",A='";',z="qx.bom.Stylesheet",y="link",x="style";
qx.Class.define(z,{statics:{includeFile:function(t,u){if(!u){u=document;
}var v=u.createElement(y);
v.type=F;
v.rel=E;
v.href=qx.util.ResourceManager.getInstance().toUri(t);
var w=u.getElementsByTagName(G)[0];
w.appendChild(v);
},createElement:qx.core.Variant.select(H,{"mshtml":function(X){var Y=document.createStyleSheet();

if(X){Y.cssText=X;
}return Y;
},"default":function(K){var L=document.createElement(x);
L.type=F;

if(K){L.appendChild(document.createTextNode(K));
}document.getElementsByTagName(G)[0].appendChild(L);
return L.sheet;
}}),addRule:qx.core.Variant.select(H,{"mshtml":function(m,n,o){m.addRule(n,o);
},"default":function(ba,bb,bc){ba.insertRule(bb+B+bc+D,ba.cssRules.length);
}}),removeRule:qx.core.Variant.select(H,{"mshtml":function(M,N){var O=M.rules;
var P=O.length;

for(var i=P-1;i>=0;--i){if(O[i].selectorText==N){M.removeRule(i);
}}},"default":function(bd,be){var bf=bd.cssRules;
var bg=bf.length;

for(var i=bg-1;i>=0;--i){if(bf[i].selectorText==be){bd.deleteRule(i);
}}}}),removeAllRules:qx.core.Variant.select(H,{"mshtml":function(j){var k=j.rules;
var l=k.length;

for(var i=l-1;i>=0;i--){j.removeRule(i);
}},"default":function(c){var d=c.cssRules;
var e=d.length;

for(var i=e-1;i>=0;i--){c.deleteRule(i);
}}}),addImport:qx.core.Variant.select(H,{"mshtml":function(a,b){a.addImport(b);
},"default":function(I,J){I.insertRule(C+J+A,I.cssRules.length);
}}),removeImport:qx.core.Variant.select(H,{"mshtml":function(p,q){var r=p.imports;
var s=r.length;

for(var i=s-1;i>=0;i--){if(r[i].href==q){p.removeImport(i);
}}},"default":function(Q,R){var S=Q.cssRules;
var T=S.length;

for(var i=T-1;i>=0;i--){if(S[i].href==R){Q.deleteRule(i);
}}}}),removeAllImports:qx.core.Variant.select(H,{"mshtml":function(f){var g=f.imports;
var h=g.length;

for(var i=h-1;i>=0;i--){f.removeImport(i);
}},"default":function(U){var V=U.cssRules;
var W=V.length;

for(var i=W-1;i>=0;i--){if(V[i].type==V[i].IMPORT_RULE){U.deleteRule(i);
}}}})}});
})();
(function(){var u="number",t="qx.ui.layout.Canvas";
qx.Class.define(t,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(v,w){var H=this._getLayoutChildren();
var z,G,E;
var J,top,x,y,B,A;
var F,D,I,C;

for(var i=0,l=H.length;i<l;i++){z=H[i];
G=z.getSizeHint();
E=z.getLayoutProperties();
F=z.getMarginTop();
D=z.getMarginRight();
I=z.getMarginBottom();
C=z.getMarginLeft();
J=E.left!=null?E.left:E.edge;

if(qx.lang.Type.isString(J)){J=Math.round(parseFloat(J)*v/100);
}x=E.right!=null?E.right:E.edge;

if(qx.lang.Type.isString(x)){x=Math.round(parseFloat(x)*v/100);
}top=E.top!=null?E.top:E.edge;

if(qx.lang.Type.isString(top)){top=Math.round(parseFloat(top)*w/100);
}y=E.bottom!=null?E.bottom:E.edge;

if(qx.lang.Type.isString(y)){y=Math.round(parseFloat(y)*w/100);
}if(J!=null&&x!=null){B=v-J-x-C-D;
if(B<G.minWidth){B=G.minWidth;
}else if(B>G.maxWidth){B=G.maxWidth;
}J+=C;
}else{B=E.width;

if(B==null){B=G.width;
}else{B=Math.round(parseFloat(B)*v/100);
if(B<G.minWidth){B=G.minWidth;
}else if(B>G.maxWidth){B=G.maxWidth;
}}
if(x!=null){J=v-B-x-D-C;
}else if(J==null){J=C;
}else{J+=C;
}}if(top!=null&&y!=null){A=w-top-y-F-I;
if(A<G.minHeight){A=G.minHeight;
}else if(A>G.maxHeight){A=G.maxHeight;
}top+=F;
}else{A=E.height;

if(A==null){A=G.height;
}else{A=Math.round(parseFloat(A)*w/100);
if(A<G.minHeight){A=G.minHeight;
}else if(A>G.maxHeight){A=G.maxHeight;
}}
if(y!=null){top=w-A-y-I-F;
}else if(top==null){top=F;
}else{top+=F;
}}z.renderLayout(J,top,B,A);
}},_computeSizeHint:function(){var r=0,q=0;
var o=0,m=0;
var j,h;
var g,e;
var a=this._getLayoutChildren();
var d,p,c;
var s,top,b,f;

for(var i=0,l=a.length;i<l;i++){d=a[i];
p=d.getLayoutProperties();
c=d.getSizeHint();
var n=d.getMarginLeft()+d.getMarginRight();
var k=d.getMarginTop()+d.getMarginBottom();
j=c.width+n;
h=c.minWidth+n;
s=p.left!=null?p.left:p.edge;

if(s&&typeof s===u){j+=s;
h+=s;
}b=p.right!=null?p.right:p.edge;

if(b&&typeof b===u){j+=b;
h+=b;
}r=Math.max(r,j);
q=Math.max(q,h);
g=c.height+k;
e=c.minHeight+k;
top=p.top!=null?p.top:p.edge;

if(top&&typeof top===u){g+=top;
e+=top;
}f=p.bottom!=null?p.bottom:p.edge;

if(f&&typeof f===u){g+=f;
e+=f;
}o=Math.max(o,g);
m=Math.max(m,e);
}return {width:r,minWidth:q,height:o,minHeight:m};
}}});
})();
(function(){var a="qx.html.Root";
qx.Class.define(a,{extend:qx.html.Element,construct:function(c){qx.html.Element.call(this);

if(c!=null){this.useElement(c);
}},members:{useElement:function(b){qx.html.Element.prototype.useElement.call(this,b);
this.setRoot(true);
qx.html.Element._modified[this.$$hash]=this;
}}});
})();
(function(){var lO="errorMsgBox",lN="AjaxAnimator",lM="<key oid='device.",lL="unSubscribe",lK="",lJ=":loginName",lI='</div>',lH="subscribe",lG="device.",lF="xpath://key[starts-with(@oid,'device.')]",ni="infoMsgBox",nh=".cfg",ng="-",nf="xsmsSenderName",ne='<div class="roundedLogoContainer" style="margin:0px; margin-bottom: 0px; padding:0px; padding-bottom:0px; border-style: none;">',nd="<qos>",nc="<multiSubscribe>false</multiSubscribe>",nb="<local>false</local>",na="<updateOneway>false</updateOneway>",mY="</qos>",lV="click",lW="<history numEntries='0' newestFirst='false'/>",lT=" ",lU="welcomeBox",lR="Logout",lS=".xsms'/>",lP="removeFriendOf",lQ="resource.maintenance",lX="<key oid='",lY="sendChangeAccountProperty",jS="connect",jR=".nmea'/>",jU="xSMS-subject",jT="Info Label",jW=":trackName",jV='<div class="header" style="padding-top:12px;">',jY=":",jX="requestInfo.exception.message",jQ="Lost server because of server maintenance, please try again later.",jP="header",iF="public",iG="<initialUpdate>false</initialUpdate>",iH="Get geofences",iI="requestInfo",iJ="requestInfo.timedout",iK="GPSvision",iL="sendDeviceSettings",iM="autoLogin",iN="'/>",iO="/iframelb/index.html",nH="requestInfo.exception.errorCode",nG="Error: Timeout",nF=".alarm'/>",nE=".cfg'/>",nL="Error: ",nK="application/watchee.service.track.tracklist/gpx",nJ="removeBuddy",nI="myMapFrame",nN="subscribeXSms",nM=".status'/>",mI="showMenuBar",mJ="id",mG='</span>',mH="Geofence enter or leave",mM="Remove geofence %1",mN="Buddy '%1' is removed already, but '%2' still has marked us as a friend",mK="Received %1 friendOf",mL="access denied",mE="Enter sleepmode",mF="loginPre",kM="or login with your private account login name</p>",kL="Sorry, can't call myself.",kO="Ssleep",kN="sendGetTracks",kI="The web server is under maintenance, we log out now. Please try again later.",kH="sendGetDeviceConfiguration",kK="Server Exception, %1 failed",kJ="FALLBACK",kG="Login is not possible, the account is not active any more.",kF="Logged in as %1",mS="tree",mT="phoneNumber",mU="Before:\n",mV="Phone call request to %1 (%2) is send to your device %3<br /><br />Please check your phone.",mO="<",mP="loginName",mQ="load",mR="DIESE HARD- UND SOFTWARE WIRD FÜR DAS RENNEN VERWENDET",mW="sendRawDeviceCommand",mX="onAjaxUpdate: ",kW='"',kV=", XSMS-Alias: ",kU=":phoneNumber",kT="user.illegalArgument",kS="Server Exception: Login failed, please check your user name and password<br /><br /><b>%1</b>",kR="...",kQ="vertical",kP="Geofence %1",kY="Adding buddy '%1' failed, please check the login name",kX="GEOFENCE_ENTER",jl="Login failed, please check your user name and password<br /><br /><b>%1</b>",jm="Login is denied please check your login name.",jn="<p>Get a %1 account: <a href='http://watchee.net/watchee/register.jsp' target='_blank'>Register</a></p>",jo="Geofence enter",jp="GPRS_OK",jq="TrackGui.js",jr="exhausted, login denied.",js=":oldPassword",jt="Successfully changed account data for %1",ju="Established a GPRS socket connection",ln="user.security.authentication.accessDenied.wrongPassword",lm="promptMsgBox.title",ll='_cmdNextSample',lk="runbutton",lr="Ajax Animator",lq="<initialUpdate>true</initialUpdate>",lp=":password",lo="Received %1 buddies",lt="ENTER_SLEEPMODE",ls="Rule %1",np="INVALID",nq="Login is not possible, the account is expired.",nn="Rendering %1 buddies",no="embeddedHtmlFrameBottom.url",nl="Ignoring received command list of unknown device %1",nm="Geofence leave",nj="OVERSPEED",nk='_cmdLoadProfile',nr="left",ns="Get buddies",io="Get track names for %1",im='<span class="header">',iq="setBuddies",ip="Processing returnQosOrException failure",is="user.security.authorization.notAuthorized",ir="&gt;",iu="sendTestSMS",it="SOS button pressed",il="logout failed",ik="Processing onAjaxUpdate failure:<br /><br />MsgUnit: ",kr="SOS_BUTTON",ks="16/actions/go-next.png",kt="ServiceListTO is parsed num=",ku="Lost the GPRS socket connection",kn="Tracker is sending locations with GPRS",ko="embeddedHtmlFrameLogo.url",kp="100%",kq="Calling %1 failed!<br /><br />Please configure a phone number for this device.",kk="setFriendOf",km="GPRS_LOST",mt="Send command to device",ms="Received buddy ",mr="sendGetAccountInfo",mq="Loading data for %1",mp='_cmdSampleInOwnWindow',mo="<qos><multiSubscribe>false</multiSubscribe><local>false</local><initialUpdate>false</initialUpdate><updateOneway>false</updateOneway></qos>",mn="sendTestEmail",mm='_cmdNamespacePollution',ml="f2",mk="type",hl="visible",hm="sendGetTrackLocations",hj="embeddedHtmlFrameBottom.caption",hk="Microsoft",hp="sendRemoveRule",hq="__states",hn="Remove account",ho='<iframe class="roundedLogoContainer" id="embeddedHtmlFrameLogo" src="',hr="Adding buddy %1",hs="SCHEDULED_EVENT",iU='<div class="header" style="padding-top:0px;">',iT=":filter/limit",iW="Tracker is sending locations with SMS",iV=" failed: ",iQ="sendGetDeviceCommandList",iP="Scheduled task",iS="Your request '%1' failed",iR="loginDone",iY="<p><b>For best usage use Firefox! <a href='http://www.mozilla.com/en-US/firefox/all-rc.html' target='_blank'>Download</a></b></p>",iX="Ignoring received command list for device %1",hP="ALIVE",hQ="GPSSIGNAL_LOST",hR="Creation of map frame failed",hS="toolbar",hT="admin",hU="TRACKER_OFFLINE",hV="sendGetRules",hW="horizontal",hN='_cmdPrevSample',hO="Server Exception",jK="Tracker connection lost",jJ="Tracker is moved away from last fix",jI="<p>Please login as user <i>public</i> with password <i>public</i><br />",jH="Get %1-device configuration",jO="\nAfter:\n",jN="maxGpsDataPerTrackCurrent",jM=":newPassword",jL="debug",jG="makePhoneCall",jF="GEOFENCE",jA="BATTERY_LOW",jz="_sampleToTreeNodeMap",jy="sendGetGeofences",jx='_cmdShowLastProfile',jE="TEST HACK",jD="showSortableDeviceTable",jC="16/actions/go-up.png",jB="showEmbeddedHtmlFrameBottom",jw="Login to server failed",jv="themes",hF="Unknown rule type",hG="logappender",hH="16/actions/go-previous.png",hI="Login",hJ="Change account",hK="Successfully changed password for %1",hL="testDevice",hM="Login failed, your maximum allowed login sessions are exhausted, please log out properly in future and wait some minutes to try again",hD="track.TrackGui",hE="sendChangePassword",nu="promptMsgBox.label",nt="<b>Welcome to %1 Web Tracking</b>",nw="doAction",nv=":alias",ny='_cmdRunSample',nx="Ignoring unknown message '%1'",nA="showEmbeddedHtmlFrameLeftBottom",nz="DEVELOPER INFO: ",nC="user.security.authentication.accessDenied",nB="embeddedHtmlFrameLeftBottom.url",lD="<b>Good Bye From %1!</b><br /><br /><b>The account %2 is destroyed</b><br />Thanks for having used %1.",lE='Watchee Web Tracking',lB="Base rule, fallback if no rule applies",lC="sendAddRule",lz="External power supply lost",lA="Remove rule %1",lx="Save settings",ly='</a>',lv="ENTER_AWAKE",lw="f1",kC="logoutPre",kB="Device Configuration",kA="Login is denied please check your your password.",kz="Netscape",ky="sendRemoveAccount",kx="Ignoring unknown NMEA data '%1'",kw="confirmAlarm",kv="Ignoring received 'alarmChanged' of unknown device %1: %2",kE="EXTERNAL_CHARGED_ON",kD="GPRS_OPERATION",iz=":key",iA="alarmChanged",iB="images/",iC="Lost GPS signal",iv="_subjectId",iw="Battery is almost empty",ix="EXTERNAL_CHARGED_OFF",iy='_cmdProfile',iD='Watchee Beta',iE="main",hA="maxGpsDataPerTrack",hz="errorMsgBox rules",hC="<p>You are auto-logged-in as user <i>public</i> with password <i>public</i></p>",hB="1",hw="Login is denied please check your login name and your password.",hv="<qos><multiSubscribe>false</multiSubscribe><local>false</local><updateOneway>false</updateOneway><history numEntries='20' newestFirst='false'/></qos>",hy='_cmdDisposeSample',hx="Ignoring received properties of unknown device %1",hu="_history",ht="Get device command list",my='<div class="roundedLogoContainer" ',mz="Rendering buddy %1/%2",mw="user.connect.multiple",mx="Change permission",mC="Berlin",mD="Changing password failed for %1:<br />%2",mA="tree1",mB='<span style="font-size:32px">&nbsp;&nbsp;<span style="color:red">GPS</span><span style="color:black">vision.de</span></span>',mu="GEOFENCE_LEAVE",mv="Server Exception during login, please try again.",ld="tests",lc="assert: TrackGui.getTracks() is called without loginName",lb="_action",la='<span style="font-size:32px">&nbsp;&nbsp;<span style="color:blue">GPS</span><span style="color:black"> Tracking</span></span>',lh="mapLineClicked",lg="Removing buddy %1",lf="user.security.authentication.expired",le="SMS_OPERATION",lj="logger",li="<p>Exception: ",ja="MOVED",jb="user.security.authentication.inactive",jc="user.geofence.usedByRule",jd="&lt;",je=":email",jf="</p>",jg=">",jh="Get friend of",ji="<p>For best usage use Firefox 3! <a href='http://www.mozilla.com/en-US/firefox/all-rc.html' target='_blank'>Download</a></p>",jk="Get permissions",mc="Got valid GPS signal",md="sendGetAlarms",ma="widgets",mb="You have not permission to configure %1",mg="16/actions/go-down.png",mh="Tracker is outside allowed speed",me="Changing account data for %1 failed",mf="Get alarm events",mi="hidden",mj="The geofence can't be removed, please remove the referencing rule(s) first",he="(Not logged in)",hd="/watchee/ajax",hg=":firstName",hf="text/raw",ha='<a href="http://gpsvision.de" style="text-decoration: none;" target="gpsvision.de">',gY="External power supply available",hc="<qos><multiSubscribe>false</multiSubscribe><local>false</local><initialUpdate>true</initialUpdate><updateOneway>false</updateOneway><history numEntries='20' newestFirst='false'/></qos>",hb="loginPost",hi="sendChangeAccount",hh="sendRemoveTrack",ig="Device Command",ih="mainsplit",ii="Your sender nick-name",ij="Button Label",ib="Change password",ic="GPSSIGNAL_OK",id=":lastName",ie=":info",hY='<a href="http://watchee.net/index.html" target="watchee"><img src="images/watchee.gif" border="0" align="middle"/></a>',ia="<i>for example 'Freddy', more than 3 characters, you can't change it during this session!</i>",kj='_cmdObjectSummary',ki="Buddies processed",kh="user.security.authentication.accessDenied.unknownLoginName",kg=' frameborder="0" marginHeight="0px" marginWidth="0px" scrolling="no" width="233" height="70"></iframe>',kf="Authorization Exception, ",ke="images/Oxygen/",kd="xpath://key[starts-with(@oid,'xsms.')]",kc="Waking up from sleepmode",kb="Please enter a nick name to identify yourself<br />",ka='style="margin:0px; margin-bottom: 0px; padding:0px; padding-bottom:0px; border-style: none;">';
var nD=5;
var lu=500;
var hX=true;
log=new qx.core.Object();
xbGetQxIcon=function(fs){return ke+fs;
};
xbGetIcon=function(eu){return iB+eu;
};
qx.Class.define(hD,{extend:qx.ui.container.Composite,construct:function(gq){qx.ui.container.Composite.call(this);
var gt=new qx.ui.layout.Canvas();
this.setLayout(gt);
this.homeViews=null;
this.blockingCounter=0;
this.myApplication=gq;
this.msgBox=new track.msgbox.MsgBox(this);
this.watchee=null;
this.multipleLoginCounter=0;
this.menuBar=null;
this.lazyLoadTriggered=false;
this.lazyLoadFinished=false;
this.eventManager=org.xmlBlaster.util.EventManager.getInstance();
this.requestResponseDispatcher=new org.xmlBlaster.util.RequestResponseDispatcher();
this.set({allowGrowX:true,allowGrowY:true});
this.windowManager=new track.util.WindowManager(this);
this.ajaxAnimator=new track.util.AjaxAnimator(this);
this.processingLogout=false;
this.postLoginFunction=null;
this.sessionProfile=new track.util.SessionProfile(this);
this.sessionProfile.activate();
this.initTranslations();
if(xbProperties.getBoolean(jL,false)==true){var gv=new track.test.TestForm(this);
gv.showForm();
}if(xbProperties.getBoolean(hL,false)==true){this.allowTestDevice=true;
}var gs=68;
this.headerBar=new qx.ui.container.Composite(new qx.ui.layout.Canvas()).set({height:gs});
this.headerLogo=this.__kh();
this.headerBar.add(this.headerLogo,{left:0,top:0,right:0,bottom:0});

if(xbProperties.getBoolean(mI,false)){this.menuBar=new track.mainview.MenuBar(this);
this.headerBar.add(this.menuBar.makeMenuBar(),{left:240,top:0,bottom:0});
}else this.menuBar=null;
this.loginForm=new track.mainview.LoginForm(this);
this.headerBar.add(this.loginForm.makeLoginForm(),{top:8,right:5});
this.add(this.headerBar,{left:0,top:0,right:0});
this.info("headerBar added");
this.mainSplitpane=new qx.ui.splitpane.Pane(hW);
this.mainSplitpane.set({allowGrowX:true,allowGrowY:true});
this.mainSplitpane.setDecorator(iE);
this.add(this.mainSplitpane,{left:0,top:0,bottom:0,padding:0,margin:0,spacing:0});
this.mainSplitpane.setMarginTop(gs);
this.controlFrame=new qx.ui.splitpane.Pane(kQ);
this.controlFrameWidth=342;
this.controlFrame.setMinWidth(this.controlFrameWidth);
this.controlFrame.setDecorator(null);
this.mainSplitpane.add(this.controlFrame,1);
this.mapFrameAtom=new qx.ui.basic.Atom();
this.mapFrameAtom.getContainerElement().setAttribute(mJ,nI);
this.iconUp=xbGetQxIcon(jC);
this.iconDown=xbGetQxIcon(mg);
this.iconRight=xbGetQxIcon(ks);
this.iconLeft=xbGetQxIcon(hH);
this.headerToggle=new qx.ui.basic.Atom(null,this.iconUp);
this.headerToggle.addListener(lV,function(e){if(this.headerToggle.getIcon()==this.iconUp){this.headerBar.setMaxHeight(0);
this.mainSplitpane.setMarginTop(0);
this.headerToggle.setMarginTop(0);
this.headerToggle.setIcon(this.iconDown);

if(this.loginNameLabel!=null){this.loginNameLabel.setVisibility(mi);
}}else{this.headerBar.setMaxHeight(100);
this.mainSplitpane.setMarginTop(gs);
this.headerToggle.setMarginTop(gs);
this.headerToggle.setIcon(this.iconUp);

if(this.loginNameLabel!=null){this.loginNameLabel.setVisibility(hl);
}}},this);
this.add(this.headerToggle,{right:0});
this.headerToggle.setMarginTop(gs);
this.paneToggle=new qx.ui.basic.Atom(null,this.iconLeft);
this.paneToggle.addListener(lV,function(e){if(this.paneToggle.getIcon()==this.iconLeft){this.leftMargin=this.controlFrame.getInnerSize().width;
this.controlFrame.setMaxWidth(0);
this.paneToggle.setMarginLeft(0);
this.paneToggle.setIcon(this.iconRight);
}else{this.controlFrame.setMaxWidth(800);
this.paneToggle.setMarginLeft(this.leftMargin);
this.paneToggle.setIcon(this.iconLeft);
}},this);
this.add(this.paneToggle,{bottom:0});
this.paneToggle.setMarginLeft(this.controlFrameWidth);
this.mainSplitpane.add(this.mapFrameAtom,5);
this.add(this.mainSplitpane,{width:kp});
this.info("mainSplitpane added");
if(xbProperties.getBoolean(jD,false)){this.buddiesWidget=new track.devicestable.DevicesTable(this);
this.controlFrame.add(this.buddiesWidget.create(),1);
}else{this.buddiesWidget=new track.BuddiesWidget(this);
var gu=new qx.ui.container.Scroll();
gu.add(this.buddiesWidget);
this.controlFrame.add(gu,1);
}this.getWindowsSize();
this.showBannerBottom();
this.xsmsPhoto=null;
this.embeddedFramelb=null;

if(xbProperties.getBoolean(nA,false)){this.embeddedFramelb=new qx.ui.embed.ThemedIframe();
this.controlFrame.add(this.embeddedFramelb,1);
this.embeddedFramelb.addListener(mQ,function(e){this.debug("Loaded: "+this.getSource());
});
var gr=xbProperties.getStr(nB,iO);
this.embeddedFramelb.setSource(gr);
this.embeddedFramelb.setEnabled(false);
}else{this.xsmsPhoto=new track.xsmsphoto.XsmsPhoto(this);
this.xsmsPhoto.setEnabled(false);
}this.sessionProfile.changeTheme();

if(xbProperties.getBoolean(jv,false)==true)this.sessionProfile.chooseThemesWindow().open();
this.__kg(xbProperties.getBoolean(iM,false));
this.historyPreloader=null;
this.info("TrackGui.js done");
},members:{getLogger:function(){return this;
},getWindowsSize:function(){this.winW=630;
this.winH=460;

if(parseInt(navigator.appVersion)>3){if(navigator.appName==kz){this.winW=window.innerWidth;
this.winH=window.innerHeight;
}
if(navigator.appName.indexOf(hk)!=-1){this.winW=document.body.offsetWidth;
this.winH=document.body.offsetHeight;
}}},showBannerBottom:function(){this.winBannerBottom=null;

if(xbProperties.getBoolean(jB,false)){this.winBannerBottom=new qx.ui.window.Window(xbProperties.getStr(hj,mR));
var cb=new qx.ui.layout.Basic();
this.winBannerBottom.setLayout(cb);
this.winBannerBottom.setContentPadding(0);
this.winBannerBottom.setShowStatusbar(false);
this.winBannerBottom.setAllowClose(false);
this.winBannerBottom.setAllowMaximize(false);
this.winBannerBottom.setAllowMinimize(false);
this.winBannerBottom.setMovable(false);
this.winBannerBottom.setResizable(false);
this.winBannerBottom.moveTo(this.controlFrameWidth+4,this.winH-107-5-35);
this.winBannerBottom.setWidth(611+1);
this.winBannerBottom.setHeight(107+20);
this.embeddedFrameBottom=new qx.ui.embed.ThemedIframe();
this.embeddedFrameBottom.setWidth(611);
this.embeddedFrameBottom.setHeight(107+60);
var ca=xbProperties.getStr(no,iO);
this.embeddedFrameBottom.setSource(ca);
this.winBannerBottom.add(this.embeddedFrameBottom,{left:0,top:0,bottom:0,padding:0,margin:0,spacing:0});
this.winBannerBottom.open();
}},veryBadHackToTriggerPNGLoadForAlarmTable:function(cW){if(this.menuBar==null)return;
var cX=new qx.ui.basic.Atom(jE,cW);
this.menuBar.menuBarContainer.add(cX,{row:0,column:this.menuBar.maxColHack});
this.menuBar.menuBarContainer.remove(cX);
return cW;
},getMyRoot:function(){return this.getApplicationRoot();
},getMyLoginName:function(){if(this.watchee==null)return null;
return this.watchee.getLoginName();
},getMyPassword:function(){if(this.loginForm==null)return null;
return this.loginForm.getPasswordTextFieldValue();
},getMyAccountTO:function(){if(this.watchee==null)return null;
return this.watchee.getAccountTO();
},getMyOemName:function(){var ed=this.getMyAccountTO();

if(ed==null)return iK;
var ec=ed.getOemName();

if(ec==null||ec==lK)return iK;
return ec;
},getSessionProfile:function(){return this.sessionProfile;
},getEventManager:function(){return this.eventManager;
},getWindowManager:function(){return this.windowManager;
},getRequestResponseDispatcher:function(){return this.requestResponseDispatcher;
},initTranslations:function(){net.watchee.RuleTypeEnum.GEOFENCE.description=this.trc(jF,mH);
net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.description=this.trc(mu,nm);
net.watchee.RuleTypeEnum.GEOFENCE_ENTER.description=this.trc(kX,jo);
net.watchee.RuleTypeEnum.SOS_BUTTON.description=this.trc(kr,it);
net.watchee.RuleTypeEnum.EXTERNAL_CHARGED_ON.description=this.trc(kE,gY);
net.watchee.RuleTypeEnum.EXTERNAL_CHARGED_OFF.description=this.trc(ix,lz);
net.watchee.RuleTypeEnum.TRACKER_OFFLINE.description=this.trc(hU,jK);
net.watchee.RuleTypeEnum.BATTERY_LOW.description=this.trc(jA,iw);
net.watchee.RuleTypeEnum.OVERSPEED.description=this.trc(nj,mh);
net.watchee.RuleTypeEnum.MOVED.description=this.trc(ja,jJ);
net.watchee.RuleTypeEnum.GPSSIGNAL_LOST.description=this.trc(hQ,iC);
net.watchee.RuleTypeEnum.GPSSIGNAL_OK.description=this.trc(ic,mc);
net.watchee.RuleTypeEnum.GPRS_LOST.description=this.trc(km,ku);
net.watchee.RuleTypeEnum.GPRS_OK.description=this.trc(jp,ju);
net.watchee.RuleTypeEnum.SMS_OPERATION.description=this.trc(le,iW);
net.watchee.RuleTypeEnum.GPRS_OPERATION.description=this.trc(kD,kn);
net.watchee.RuleTypeEnum.SCHEDULED_EVENT.description=this.trc(hs,iP);
net.watchee.RuleTypeEnum.ENTER_SLEEPMODE.description=this.trc(lt,mE);
net.watchee.RuleTypeEnum.ENTER_AWAKE.description=this.trc(lv,kc);
net.watchee.RuleTypeEnum.FALLBACK.description=this.trc(kJ,lB);
net.watchee.RuleTypeEnum.INVALID.description=this.trc(np,hF);
},getBounceNextVal:function(cI){if(org.xmlBlaster.util.isFilled(cI)){return cI+jY+this.requestResponseDispatcher.getRequestINextVal();
}return this.requestResponseDispatcher.getRequestIdNextVal();
},extractLoginNameFromBounceId:function(gV,gW){var gV=gV||null;
var gW=gW||null;

if(gV==null)return gW;
var gX=gV.indexOf(jY);

if(gX>0)return gV.substring(0,gX);
return gW;
},postCreationEvent:function(){var u=this;

if(this.blockingCounter>2000){this.errorMsgBox(this.trc(lO,hR));
return;
}if(!org.xmlBlaster.util.isDefined(this.mapFrame)){this.blockingCounter++;
setTimeout(function(){u.postCreationEvent();
},10);
u.makeEmbeddedMapFrame();
return;
}if(xbProperties.getBoolean(iM,false)==true){u.loginForm.clickedLoginButton();
}},__kg:function(ei){try{if(xbProperties.getBoolean(lU,false)==true){var ej=this.trc(lU,nt,this.getMyOemName());

if(xbProperties.getStr(mP,iF)==iF){if(ei){ej+=hC;
}else{ej+=jI+kM;
}
if(isWatchee){ej+=this.trc(lU,jn,this.getMyOemName());
}}
if(org.xmlBlaster.util.isIE6){ej+=iY;
}else{ej+=ji;
}this.infoMsgBox(ej);
}}catch(e){this.info("wellcomeBox caught exception: "+e);
}},__kh:function(){var ba=lK;

if(isGpsVision){ba=ne+jV+ha+mB+ly+lI+lI;
}else if(isGpsOem){var Y=xbProperties.getStr(ko,null);

if(Y==null){ba=ne+jV+la+lI+lI;
}else{ba=ne+iU+ho+Y+kW+kg+lI+lI;
}}else{var bc=lE;

if(xbProperties.getBoolean(mI,false))bc=iD;
ba=my+ka+im+hY+bc+mG+lI;
}var bb=new qx.ui.embed.Html(ba);
bb.getContainerElement().setAttribute(mJ,jP);
return bb;
},createPreferenceWindow:function(){if(!org.xmlBlaster.util.isDefined(this.preferenceWindow)){this.preferenceWindow=new track.pref.PreferenceWindow(this);
this.preferenceWindow.createPreferenceWindow();
}else{this.preferenceWindow.open();
this.preferenceWindow.focus();
}},startAjaxAnimator:function(r,s){this.ajaxAnimator.startAjaxAnimator(r,s);
},changeLabelAjaxAnimator:function(bL){this.ajaxAnimator.changeLabelAjaxAnimator(bL);
},stopAjaxAnimator:function(eD){this.ajaxAnimator.stopAjaxAnimator(eD);
},clearXsmsPane:function(){if(this.xsmsPhoto!=null){this.xsmsPhoto.xsmsTab.clearXsmsPane();
}},askMsgBox:function(dN,dO,dP,dQ,dR,dS,dT){return this.msgBox.askMsgBox(dN,dO,dP,dQ,dR,dS,dT);
},errorMsgBox:function(ff,fg){return this.msgBox.errorMsgBox(ff,fg);
},errorMsgBoxDeveloper:function(dI,dJ){var dI=dI||null;
var dJ=dJ||null;

if(isDevelopEnvironment)this.msgBox.errorMsgBox(nz+dI,dJ);
else this.error(dI+": "+dJ);
},infoMsgBox:function(S,T,U){return this.msgBox.infoMsgBox(S,T,U);
},promptMsgBox:function(bn,bo,bp,bq,br,bs,bt,bu){return this.msgBox.promptMsgBox(bn,bo,bp,bq,br,bs,bt,bu);
},getGeofences:function(G){if(this.watchee==null)return;
this.getLogger().info("getGeofences ...");
this.startAjaxAnimator(this.trc(lN,iH));
this.watchee.getRuleManager().sendGetGeofences(G,this.returnQosOrException,this,jy);
},sendAddGeofence:function(dF){if(this.watchee==null)return;
this.getLogger().info("sendAddGeofence ...");
this.startAjaxAnimator(this.trc(lN,kP,dF.getName()));
this.watchee.getRuleManager().sendAddGeofence(dF.getPropertyCollection());
this.stopAjaxAnimator();
},sendRemoveGeofence:function(cS){if(this.watchee==null)return;
this.getLogger().info("sendRemoveGeofence ...");
this.startAjaxAnimator(this.trc(lN,mM,cS.getName()));
this.watchee.getRuleManager().sendRemoveGeofence(cS.getPropertyCollection());
this.stopAjaxAnimator();
},getRules:function(df){if(this.watchee==null)return;
this.getLogger().info("getRules ...");
this.startAjaxAnimator(this.trc(lN,iH));
this.watchee.getRuleManager().sendGetRules(df,this.returnQosOrException,this,hV);
},sendAddRule:function(B,C,D,E){if(this.watchee==null)return;
this.getLogger().info("sendAddRule ...");
this.startAjaxAnimator(this.trc(lN,ls,B.getRuleName()));
var F=this.watchee.getRuleManager().sendAddRule(B.getPropertyCollections(),C,D,E);
this.watchee.publishServiceMessage(F,this.returnQosOrException,this,lC);
this.stopAjaxAnimator();
},sendRemoveRule:function(bd,be,bf,bg){if(this.watchee==null)return;
this.getLogger().info("sendRemoveRule ...");
this.startAjaxAnimator(this.trc(lN,lA,bd.getRuleName()));
var bh=this.watchee.getRuleManager().sendRemoveRule(bd.getPropertyCollections(),be,bf,bg);
this.watchee.publishServiceMessage(bh,this.returnQosOrException,this,hp);
this.stopAjaxAnimator();
},getAlarms:function(dG,dH){if(this.watchee==null)return;
this.getLogger().info("getAlarms ...");
this.startAjaxAnimator(this.trc(lN,mf));
this.watchee.getRuleManager().sendGetAlarms(dG,this.returnQosOrException,this,md,dH);
},confirmAlarms:function(bO,bP){if(this.watchee==null)return;
this.getLogger().info("confirmAlarm ...");
this.watchee.getRuleManager().sendConfirmAlarms(bO,bP,this.returnQosOrException,this,kw);
},sendChangeAccountProperty:function(gK,gL,gM,gN,gO,gP){if(this.watchee==null)return;

if(gN===undefined)gN=null;
this.getLogger().info("sendChangeAccountProperty ...");
this.startAjaxAnimator(this.trc(lN,lx));
var gT=org.xmlBlaster.util.PropTO;
var gR=new Array();
var gU=gT.VALUE_TASK_NAMED_CHANGEACCOUNTPROPERTY+ng+this.getRequestResponseDispatcher().getRequestIdNextVal();
gR.push(new gT(gT.KEY_SERVICENAME,gT.VALUE_SERVICE_ACCOUNT));
gR.push(new gT(gT.KEY_TASK,gT.VALUE_TASK_NAMED_CHANGEACCOUNTPROPERTY));
gR.push(new gT(gT.KEY_BOUNCE,gU));
gR.push(new gT(gT.KEY_DATA+lJ,gK));
gR.push(new gT(gT.KEY_DATA+iz,gL));
gR.push(new gT(gT.KEY_DATA,gM));
var gQ=new org.xmlBlaster.util.ServiceTO(gR);
var gS=new org.xmlBlaster.util.ServiceListTO(gQ);

if(gN!=null){this.getRequestResponseDispatcher().registerRequest(gU,120,gN,gO,gP,false);
this.watchee.publishServiceMessage(gS,this.returnQosOrException,this,lY);
}else{this.watchee.publishServiceMessage(gS,this.returnQosOrException,this,lY);
}this.stopAjaxAnimator();
},getTracks:function(bM){if(this.watchee==null)return;

if(!org.xmlBlaster.util.isDefined(bM)){this.errorMsgBox(this.trc(lO,lc));
return;
}this.getLogger().info("getTracks ...");
this.startAjaxAnimator(this.trc(lN,io,bM));
this.sendGetTracks(bM);
},sendGetTracks:function(gF){var gI=org.xmlBlaster.util.PropTO;
var gH=new Array();
gH.push(new gI(gI.KEY_SERVICENAME,gI.VALUE_SERVICE_TRACK));
gH.push(new gI(gI.KEY_TASKTYPE,gI.VALUE_TASKTYPE_NAMED));
gH.push(new gI(gI.KEY_TASK,gI.VALUE_TASK_NAMED_GETTRACKS));
gH.push(new gI(gI.KEY_DATA+lJ,gF));
gH.push(new gI(gI.KEY_BOUNCE,gF));
gH.push(new gI(gI.KEY_RESULTMIME,nK));
var gG=new org.xmlBlaster.util.ServiceTO(gH);
var gJ=new org.xmlBlaster.util.ServiceListTO(gG);

if(this.watchee!=null)this.watchee.publishServiceMessage(gJ,this.returnQosOrException,this,kN);
},getTrackLocations:function(bQ,bR,bS){if(this.watchee==null)return;
this.getLogger().info("getTrackLocations loginName="+bQ+" trackName="+bR+" ...");
this.startAjaxAnimator(this.trc(lN,mq,bR));
this.sendGetTrackLocations(bQ,bR,bS);
},sendGetTrackLocations:function(fy,fz,fA){var fA=fA||null;
var fD=this.watchee.getDevice(fy).getTrack(fz).isCurrentTrack();
var fG=org.xmlBlaster.util.PropTO;
var fC=new Array();
fC.push(new fG(fG.KEY_SERVICENAME,fG.VALUE_SERVICE_TRACK));
fC.push(new fG(fG.KEY_TASKTYPE,fG.VALUE_TASKTYPE_NAMED));
fC.push(new fG(fG.KEY_TASK,fG.VALUE_TASK_NAMED_GETTRACK));
fC.push(new fG(fG.KEY_DATA+lJ,fy));
fC.push(new fG(fG.KEY_DATA+jW,fz));
var fF=fD?xbProperties.getInt(jN,1000):xbProperties.getInt(hA,1000);
fC.push(new fG(fG.KEY_DATA+iT,fF));
fC.push(new fG(fG.KEY_BOUNCE,fy));

if(fA!=null)fC.push(new fG(fG.KEY_BOUNCE+ie,fA));
fC.push(new fG(fG.KEY_RESULTMIME,nK));
var fB=new org.xmlBlaster.util.ServiceTO(fC);
var fE=new org.xmlBlaster.util.ServiceListTO(fB);

if(this.watchee!=null)this.watchee.publishServiceMessage(fE,this.returnQosOrException,this,hm);
},sendChangePassword:function(j,l,m){var p=org.xmlBlaster.util.PropTO;
var o=new Array();
o.push(new p(p.KEY_SERVICENAME,p.VALUE_SERVICE_ACCOUNT));
o.push(new p(p.KEY_TASKTYPE,p.VALUE_TASKTYPE_NAMED));
o.push(new p(p.KEY_TASK,p.VALUE_TASK_NAMED_CHANGEPASSWORD));
o.push(new p(p.KEY_DATA+lJ,j));
o.push(new p(p.KEY_DATA+js,l));
o.push(new p(p.KEY_DATA+jM,m));
o.push(new p(p.KEY_BOUNCE,m));
o.push(new p(p.KEY_RESULTENCODING,p.ENCODING_PLAIN));
var n=new org.xmlBlaster.util.ServiceTO(o);
var q=new org.xmlBlaster.util.ServiceListTO(n);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,ib));
this.watchee.publishServiceMessage(q,this.returnQosOrException,this,hE);
}},sendChangeAccount:function(bF){var bJ=org.xmlBlaster.util.PropTO;
var bH=new Array();
var bG=bF.getLoginName();
bH.push(new bJ(bJ.KEY_SERVICENAME,bJ.VALUE_SERVICE_ACCOUNT));
bH.push(new bJ(bJ.KEY_TASKTYPE,bJ.VALUE_TASKTYPE_NAMED));
bH.push(new bJ(bJ.KEY_TASK,bJ.VALUE_TASK_NAMED_CHANGEACCOUNT));
bH.push(new bJ(bJ.KEY_DATA+lJ,bG));
bH.push(new bJ(bJ.KEY_DATA+nv,bF.getAlias()));
bH.push(new bJ(bJ.KEY_DATA+hg,bF.getFirstName()));
bH.push(new bJ(bJ.KEY_DATA+id,bF.getLastName()));
bH.push(new bJ(bJ.KEY_DATA+je,bF.getEmail()));
bH.push(new bJ(bJ.KEY_DATA+kU,bF.getPhoneNumber()));
bH.push(new bJ(bJ.KEY_BOUNCE,bG));
bH.push(new bJ(bJ.KEY_RESULTENCODING,bJ.ENCODING_PLAIN));
var bK=new org.xmlBlaster.util.ServiceTO(bH);
var bI=new org.xmlBlaster.util.ServiceListTO(bK);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,hJ));
this.watchee.publishServiceMessage(bI,this.returnQosOrException,this,hi);
}},sendRemoveAccount:function(cY,da){var dd=org.xmlBlaster.util.PropTO;
var dc=new Array();
dc.push(new dd(dd.KEY_SERVICENAME,dd.VALUE_SERVICE_ACCOUNT));
dc.push(new dd(dd.KEY_TASKTYPE,dd.VALUE_TASKTYPE_NAMED));
dc.push(new dd(dd.KEY_TASK,dd.VALUE_TASK_NAMED_REMOVEACCOUNT));
dc.push(new dd(dd.KEY_DATA+lJ,cY));
dc.push(new dd(dd.KEY_DATA+lp,da));
dc.push(new dd(dd.KEY_BOUNCE,cY));
dc.push(new dd(dd.KEY_RESULTENCODING,dd.ENCODING_PLAIN));
var db=new org.xmlBlaster.util.ServiceTO(dc);
var de=new org.xmlBlaster.util.ServiceListTO(db);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,hn),300000);
this.watchee.publishServiceMessage(de,this.returnQosOrException,this,ky);
}},sendRawDeviceCommand:function(cc,cd,ce){if(this.watchee==null||!org.xmlBlaster.util.isFilled(ce))throw new Error("sendRawDeviceCommand with watchee or command is null");
var cc=org.xmlBlaster.util.isFilled(cc)?cc:this.watchee.getLoginName();
var cd=org.xmlBlaster.util.isFilled(cd)?cd:cc;
var cj=org.xmlBlaster.util.PropTO;
var cg=new Array();
cg.push(new cj(cj.KEY_TASKTYPE,cj.VALUE_TASKTYPE_NAMED));
cg.push(new cj(cj.KEY_TASK,net.watchee.Device.SERVICE_KEY_SETSETTING));
cg.push(new cj(cj.KEY_MIME,hf));
cg.push(new cj(cj.KEY_DATA,ce));
cg.push(new cj(cj.KEY_BOUNCE,cd));
cg.push(new cj(cj.KEY_RESULTENCODING,cj.ENCODING_PLAIN));
var ci=new org.xmlBlaster.util.ServiceTO(cg);
var ch=new org.xmlBlaster.util.ServiceListTO(ci);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,mt));
var cf=lG+cc+nh;
this.getLogger().info("Send message to "+cf+": "+ce);
this.watchee.xbAccess.publishServiceMessage(cf,ch,this.returnQosOrException,this,mW);
}},sendGetDeviceCommandList:function(fH){if(this.watchee==null)throw new Error("sendGetDeviceCommandList with watchee is null");
var fH=org.xmlBlaster.util.isFilled(fH)?fH:this.watchee.getLoginName();
var fM=this.watchee.getBuddyManager().getBuddyOrMyself(fH);

if(fM==null||!fM.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){this.infoMsgBox(this.trc(ni,mb,fH));
return;
}var fN=org.xmlBlaster.util.PropTO;
var fJ=new Array();
fJ.push(new fN(fN.KEY_TASKTYPE,fN.VALUE_TASKTYPE_NAMED));
fJ.push(new fN(fN.KEY_TASK,net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST));
fJ.push(new fN(fN.KEY_DATA,lK));
fJ.push(new fN(fN.KEY_BOUNCE,fH));
var fL=new org.xmlBlaster.util.ServiceTO(fJ);
var fK=new org.xmlBlaster.util.ServiceListTO(fL);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,ht));
var fI=lG+fH+nh;
this.getLogger().info("sendGetDeviceCommandList("+fI+")");
this.watchee.xbAccess.publishServiceMessage(fI,fK,this.returnQosOrException,this,iQ);
}},makePhoneCallToDevice:function(c){var d=c.getHwPhoneNumber();

if(d==lK){this.errorMsgBox(this.trc(lO,kq,c.getDeviceId()));
return;
}var f=this.getMyLoginName();

if(f==c.getDeviceId()){this.errorMsgBox(this.trc(lO,kL,c.getDeviceId()));
return;
}this.makePhoneCall(f,d);
this.infoMsgBox(this.trc(ni,mV,c.getDeviceId(),d,f),20000);
},makePhoneCall:function(bv,bw){if(this.watchee==null)return false;

if(bw==undefined||bw==null||bw==lK)return false;
var bx=new net.watchee.PropertyCollection();
bx.add(new net.watchee.PropertyPair(mk,jG));
bx.add(new net.watchee.PropertyPair(lb,hB));
bx.add(new net.watchee.PropertyPair(mT,bw));
this.sendActionToDevice(bv,bx,false);
return true;
},sendDeviceSettings:function(H,I,J){var J=org.xmlBlaster.util.toBoolean(J,true);
var Q=org.xmlBlaster.util.PropTO;
var M=new Array();
var R=H+ng+this.getRequestResponseDispatcher().getRequestIdNextVal();
M.push(new Q(Q.KEY_TASKTYPE,Q.VALUE_TASKTYPE_NAMED));
M.push(new Q(Q.KEY_TASK,net.watchee.Device.SERVICE_KEY_SETSETTING));
M.push(new Q(Q.KEY_DATA,I.toXml()));
M.push(new Q(Q.KEY_BOUNCE,R));
M.push(new Q(Q.KEY_RESULTENCODING,Q.ENCODING_PLAIN));
var L=new org.xmlBlaster.util.ServiceTO(M);
var P=new org.xmlBlaster.util.ServiceListTO(L);

if(this.watchee!=null){var K=lG+H+nh;
this.getLogger().info("Send message to "+K+": "+I.toXml());

if(J){var N=true;
var O=null;
this.getRequestResponseDispatcher().registerRequest(R,120,function(gw,gx,gy){var gz=lK;

if(gw==null){gz=nG;
this.getLogger().info("Setting trackingRate timed out");
}else if(gw.isException()){gz=nL+gw.getErrorCode()+lT+gw.getErrorMessage();
this.getLogger().info("Got tracker exception: "+gw.getErrorCode());
}else{gz=gw.getPropValue(Q.KEY_RESULT);
this.getLogger().info("Got tracker response: "+gz);
}var gE=this.trc(jU,kB);
var gB=H;
var gC=this.watchee.getLoginName();
var gA=new net.watchee.X_SMS(gB,gC,gE,gz);
var gD=gA.getProperties();
gD.put(iI,gy);

if(gw==null){gD.put(iJ,true);
}else if(gw.isException()){gD.put(nH,gw.getErrorCode());
gD.put(jX,gw.getErrorMessage());
}this.receivedxSMS(gA);
},this,O,N);
}this.watchee.xbAccess.publishServiceMessage(K,P,this.returnQosOrException,this,iL);
}},sendGetDeviceConfiguration:function(cJ){var cO=this.watchee.getBuddyManager().getBuddyOrMyself(cJ);

if(cO==null||!cO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){this.warn("sendGetDeviceConfiguration: You have not permission to get configuration of "+cJ);
return;
}var cP=org.xmlBlaster.util.PropTO;
var cM=new Array();
var cQ=cJ+ng+this.getRequestResponseDispatcher().getRequestIdNextVal();
cM.push(new cP(cP.KEY_TASKTYPE,cP.VALUE_TASKTYPE_NAMED));
cM.push(new cP(cP.KEY_TASK,net.watchee.Device.SERVICE_KEY_GETSETTINGS));
cM.push(new cP(cP.KEY_BOUNCE,cQ));
cM.push(new cP(cP.KEY_RESULTENCODING,cP.ENCODING_PLAIN));
var cL=new org.xmlBlaster.util.ServiceTO(cM);
var cN=new org.xmlBlaster.util.ServiceListTO(cL);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,jH,cJ));
this.subscribeCfg(cJ);
var cK=lG+cJ+nh;
this.getLogger().info("Send 'getSettings' message to "+cK);
this.watchee.xbAccess.publishServiceMessage(cK,cN,this.returnQosOrException,this,kH);
}},sendActionToDevice:function(cl,cm,cn){var cn=org.xmlBlaster.util.toBoolean(cn,true);
var cv=org.xmlBlaster.util.PropTO;
var cq=new Array();
var cw=cl+ng+this.getRequestResponseDispatcher().getRequestIdNextVal();
var ct=nw;
cq.push(new cv(cv.KEY_TASKTYPE,cv.VALUE_TASKTYPE_NAMED));
cq.push(new cv(cv.KEY_TASK,ct));
cq.push(new cv(cv.KEY_DATA,cm.toXml()));
cq.push(new cv(cv.KEY_BOUNCE,cw));
cq.push(new cv(cv.KEY_RESULTENCODING,cv.ENCODING_PLAIN));
var cp=new org.xmlBlaster.util.ServiceTO(cq);
var cu=new org.xmlBlaster.util.ServiceListTO(cp);

if(this.watchee!=null){var co=lG+cl+nh;
this.getLogger().info("Send message to "+co+": "+cm.toXml());

if(cn){var cr=true;
var cs=null;
this.getRequestResponseDispatcher().registerRequest(cw,120,function(dw,dx,dy){var dz=lK;

if(dw==null){dz=nG;
this.getLogger().info("Setting action timed out");
}else if(dw.isException()){dz=nL+dw.getErrorCode()+lT+dw.getErrorMessage();
this.getLogger().info("Got tracker exception: "+dw.getErrorCode());
}else{dz=dw.getPropValue(cv.KEY_RESULT);
this.getLogger().info("Got tracker response: "+dz);
}var dE=this.trc(jU,ig);
var dB=cl;
var dC=this.watchee.getLoginName();
var dA=new net.watchee.X_SMS(dB,dC,dE,dz);
var dD=dA.getProperties();
dD.put(iI,dy);

if(dw==null){dD.put(iJ,true);
}else if(dw.isException()){dD.put(nH,dw.getErrorCode());
dD.put(jX,dw.getErrorMessage());
}this.receivedxSMS(dA);
},this,cs,cr);
}this.watchee.xbAccess.publishServiceMessage(co,cu,this.returnQosOrException,this,iL);
}},sendRemoveTrack:function(ek,el){var eo=org.xmlBlaster.util.PropTO;
var en=new Array();
en.push(new eo(eo.KEY_SERVICENAME,eo.VALUE_SERVICE_TRACK));
en.push(new eo(eo.KEY_TASKTYPE,eo.VALUE_TASKTYPE_NAMED));
en.push(new eo(eo.KEY_TASK,eo.VALUE_TASK_NAMED_REMOVETRACK));
en.push(new eo(eo.KEY_DATA+lJ,ek));
en.push(new eo(eo.KEY_DATA+jW,el));
var em=new org.xmlBlaster.util.ServiceTO(en);
var ep=new org.xmlBlaster.util.ServiceListTO(em);

if(this.watchee!=null)this.watchee.publishServiceMessage(ep,this.returnQosOrException,this,hh);
},getBuddies:function(){if(this.watchee==null)return;
this.getLogger().info("getBuddies ...");
this.startAjaxAnimator(this.trc(lN,ns));
this.watchee.getBuddyManager().getEventManager().addListener(iq,function(ez){this.getLogger().info("TrackGui.getBuddies event received, processing now");
var eA=ez.getData();
this.receivedBuddyList(eA);
},this);
this.watchee.getBuddyManager().sendGetBuddies();
},getFriendOf:function(){if(this.watchee==null)return;
this.getLogger().info("getFriendOf ...");
this.startAjaxAnimator(this.trc(lN,jh));
this.watchee.getBuddyManager().getEventManager().addListener(kk,function(fl){this.getLogger().info("TrackGui.getFriendOf event received, processing now");
var fm=fl.getData();
this.receivedFriendOfList(fm);
},this);
this.watchee.getBuddyManager().sendGetFriendOf();
},sendGetAccountInfo:function(fn){if(this.watchee==null)return;
this.getLogger().info("sendGetAccountInfo ...");
var fq=org.xmlBlaster.util.PropTO;
var fp=new Array();
fp.push(new fq(fq.KEY_SERVICENAME,fq.VALUE_SERVICE_ACCOUNT));
fp.push(new fq(fq.KEY_TASK,fq.VALUE_TASK_NAMED_GETACCOUNT));
fp.push(new fq(fq.KEY_DATA+lJ,fn));
fp.push(new fq(fq.KEY_RESULTENCODING,fq.ENCODING_PLAIN));
var fo=new org.xmlBlaster.util.ServiceTO(fp);
var fr=new org.xmlBlaster.util.ServiceListTO(fo);
this.watchee.publishServiceMessage(fr,this.returnQosOrException,this,mr);
},sendGetPermissionTemplates:function(){this.getLogger().info("sendGetPermissionTemplates ...");

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,jk));
this.watchee.getBuddyManager().sendGetPermissionTemplates();
}},sendChangePermission:function(fT){this.getLogger().info("sendChangePermission ...");

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,mx));
this.watchee.getBuddyManager().addBuddy(fT);
this.watchee.getBuddyManager().sendAddBuddy(fT);
this.stopAjaxAnimator();
}},sendAddBuddy:function(fx){this.getLogger().info("sendAddBuddy ...");

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,hr,fx.getLoginName()));
this.watchee.getBuddyManager().addBuddy(fx);
this.watchee.getBuddyManager().sendAddBuddy(fx);
this.stopAjaxAnimator();
}},sendRemoveBuddy:function(fh,fi){this.getLogger().info("sendRemoveBuddy ...");

if(this.watchee!=null){this.startAjaxAnimator(this.trc(lN,lg,fh.getLoginName()));
this.watchee.getBuddyManager().sendRemoveBuddy(fh,fi);
this.stopAjaxAnimator();
}},disposeWatchee:function(bW){var bX=qx.dev.ObjectSummary.getInfo();
bW.dispose();
qx.event.Timer.once(function(){this.infoMsgBox(mU+bX+jO+qx.dev.ObjectSummary.getInfo());
},this,5000);
},addPhotoToPhotoGallery:function(fc,fd){if(this.xsmsPhoto!=null){return this.xsmsPhoto.photoTab.addPhotoToPhotoGallery(fc,fd);
}return null;
},removePhotoFromPhotoGallery:function(t){if(this.xsmsPhoto!=null){return this.xsmsPhoto.photoTab.removePhotoFromPhotoGallery(t);
}return null;
},makeEmbeddedMapFrame:function(){if(org.xmlBlaster.util.isDefined(this.mapFrame))return this.mapFrame;
this.mapFrame=document.getElementById(nI);
return this.mapFrame;
},makeLoginLabel:function(b){if(b!=null)this.currentLoginLabelText=b;

if(xbProperties.getStr(nf,null)!=null)b=this.currentLoginLabelText+kV+xbProperties.getStr(nf,lK);

if(this.loginNameLabel==null){this.loginNameLabel=new qx.ui.basic.Label(b);
this.loginNameLabel.setTextColor(watcheeOrange);
this.add(this.loginNameLabel,{left:60,top:50});

if(xbProperties.getBoolean(hT,false)){this.loginNameLabel.addListener(lV,function(e){var bB=xbProperties.getStr(nf,lK);
var bD=3;
var bC=false;
this.promptMsgBox(this.trc(lm,ii),this.trc(nu,kb+ia),bB,bD,bC,function(z,A){if(z){xbProperties.setAccountProp(nf,A);
this.makeLoginLabel(null);
}else{}},this);
},this);
}}else this.loginNameLabel.setValue(b);
},fireAlarmChangedEvent:function(ds,dt,du){var ds=ds||null;
var dt=dt||true;
var du=du||null;
if(ds==null)return;
var dv={alarmTO:ds,device:du};
this.watchee.getEventManager().fireEvent(iA,dv);
},loginExecute:function(dU,dV){this.processingLogout=false;
var dY={loginName:dU};
this.eventManager.fireEvent(mF,dY);
this.startAjaxAnimator(this.trc(lN,hI));
var dX=hd;
this.watchee=new net.watchee.Watchee(dX,this.mapFrame,dU,null,this.getRequestResponseDispatcher());
this.watchee.registerMapInfoGui(new track.map.MapInfoGui(this));
this.buddiesWidget.initialize(this.watchee);

if(this.xsmsPhoto!=null){this.xsmsPhoto.initializeTabView();
this.xsmsPhoto.setEnabled(false);
}
if(this.embeddedFramelb!=null){this.embeddedFramelb.setEnabled(false);
}this.watchee.getEventManager().addListener(lh,function(dk){var dr=dk.getData().deviceId;
var dm=dk.getData().trackName;
var dp=dk.getData().gpsData;
this.getLogger().info("mapLineClicked, processing now");
var dl=dr;
var dq=this.watchee.getBuddyManager().getBuddyOrFriendOf(dl);
var dn=this.getWindowManager().popupTrackConfigWindow(dq);
dn.makeTrackCurrent(dm);
},this);
try{this.loginForm.setSubmitLoginButtonLabel(kR);
var eb=this.watchee.connect(true,dU,dV,null,jS);
this.loginForm.setSubmitLoginButtonLabel(this.trc(ij,lR));
this.makeLoginLabel(this.trc(jT,kF,dU));
this.initTranslations();
this.sendGetAccountInfo(dU);
this.removeFriendOfListenerFunc=this.watchee.getBuddyManager().getEventManager().addListener(lP,function(g){var h=g.getData();
this.onBuddyRemovedEvent(h,lP);
},this);
this.removeBuddyListenerFunc=this.watchee.getBuddyManager().getEventManager().addListener(nJ,function(cG){var cH=cG.getData();
this.onBuddyRemovedEvent(cH,nJ);
},this);
qx.event.Timer.once(function(){this.getBuddies();
},this,1);
qx.event.Timer.once(function(){this.getFriendOf();
},this,1);

if(this.xsmsPhoto!=null){this.xsmsPhoto.setEnabled(true);
}
if(this.embeddedFramelb!=null){this.embeddedFramelb.setEnabled(true);
}this.loginForm.isLoggedIn();
this.multipleLoginCounter=0;
var dY={loginName:dU};
this.eventManager.fireEvent(hb,dY);

if(this.menuBar!=null){this.menuBar.checkShowingButtons();
}this.historyPreloader=new track.util.HistoryPreloader(this);
this.historyPreloader.checkLoadingHistoryTracks();
}catch(eE){this.stopAjaxAnimator();
var ea=(eE.constructor==org.xmlBlaster.util.XmlBlasterException&&eE.getErrorCodeStr()==mw);
this.logout(ea);
this.stopAjaxAnimator();
if(ea&&this.multipleLoginCounter<2){this.multipleLoginCounter++;
this.loginExecute(dU,dV);
return;
}this.error("Login failed",eE);

if(eE.constructor==org.xmlBlaster.util.XmlBlasterException){if(eE.isTomcatServerSide()){eE.setErrorCodeStr(lQ);
this.errorMsgBox(this.trc(lO,jQ),eE);
}else if(eE.getErrorCodeStr()==nC){this.errorMsgBox(this.trc(lO,hw),eE);
}else if(eE.getErrorCodeStr()==kh){this.errorMsgBox(this.trc(lO,jm),eE);
}else if(eE.getErrorCodeStr()==ln){this.errorMsgBox(this.trc(lO,kA),eE);
}else if(eE.getErrorCodeStr()==jb){this.errorMsgBox(this.trc(lO,kG),eE);
}else if(eE.getErrorCodeStr()==lf){this.errorMsgBox(this.trc(lO,nq),eE);
}else{this.errorMsgBox(this.trc(lO,mv),eE);
}}else{this.errorMsgBox(this.trc(lO,jw),eE);
}return;
}this.stopAjaxAnimator();
var dW=this;
this.watchee.startAjaxPolling(function(bY){dW.onAjaxUpdate(bY);
});

if(this.postLoginFunction!=null){this.postLoginFunction(dU);
}},fireLoginDone:function(){var fj=this.getMyLoginName();

if(fj==null)return;
this.subscribeOnlineStatus();
this.subscribeStatus(fj);
this.subscribeAlarm(fj);
this.subscribeXSms(fj);
this.sendGetPermissionTemplates();
this.homeViews=net.watchee.HomeViews.parse(this.getMyAccountTO().getAccountPropertyCollection());

if(this.homeViews.getArr().length<1)this.homeViews.add(new net.watchee.HomeView(mC,52.5,13.4,11));
this.menuBar.homeViewSelectBox.updateItems();
this.getAlarms(fj,true);
var fk={loginName:this.watchee.getLoginName()};
this.eventManager.fireEvent(iR,fk);
},subscribeGps:function(fQ){if(this.watchee!=null&&org.xmlBlaster.util.isDefined(fQ)){if(!fQ.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS))return;
var fR=hv;
var fS=lM+fQ.getLoginName()+jR;
this.watchee.subscribe(fS,fR,this.returnQosOrException,this,lH);
}},unSubscribeGps:function(dK){if(this.watchee!=null&&org.xmlBlaster.util.isDefined(dK)){var dL=null;
var dM=lM+dK.getLoginName()+jR;
this.watchee.unSubscribe(dM,dL,this.returnQosOrException,this,lL);
}},subscribeXSms:function(bT){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(bT)){var bU=hc;
var bV=lM+bT+lS;
this.watchee.subscribe(bV,bU,this.returnQosOrException,this,nN);
}else{var bU=null;
var bV=kd;
this.watchee.subscribe(bV,bU,this.returnQosOrException,this,nN);
}}},unSubscribeXSms:function(by){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(by)){var bz=null;
var bA=lM+by+lS;
this.watchee.unSubscribe(bA,bz,this.returnQosOrException,this,lL);
}else{var bz=null;
var bA=lF;
this.watchee.unSubscribe(bA,bz,this.returnQosOrException,this,lL);
}}},subscribeOnlineStatus:function(){if(this.watchee!=null){var go=mo;
var gp=lX+net.watchee.TOPICID_ONLINESTATUS+iN;
this.watchee.subscribe(gp,go,this.returnQosOrException,this,lH);
}},unSubscribeOnlineStatus:function(){if(this.watchee!=null){var fO=null;
var fP=lX+net.watchee.TOPICID_ONLINESTATUS+iN;
this.watchee.unSubscribe(fP,fO,this.returnQosOrException,this,lL);
}},subscribeCfg:function(nO){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(nO)){var nQ=this.watchee.getBuddyManager().getBuddyOrMyself(nO);

if(nQ==null||!nQ.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG))return;
var nP=nd+nc+nb+iG+na+lW+mY;
var nR=lM+nO+nE;
this.watchee.subscribe(nR,nP,this.returnQosOrException,this,lH);
}else{var nP=null;
var nR=lF;
this.watchee.subscribe(nR,nP,this.returnQosOrException,this,lH);
}}},unSubscribeCfg:function(dh){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(dh)){var di=null;
var dj=lM+dh+nE;
this.watchee.unSubscribe(dj,di,this.returnQosOrException,this,lL);
}else{var di=null;
var dj=lF;
this.watchee.unSubscribe(dj,di,this.returnQosOrException,this,lL);
}}},subscribeStatus:function(eq){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(eq)){if(eq!=this.watchee.getLoginName()){var es=this.watchee.getBuddyManager().getBuddyOrMyself(eq);

if(es==null||!es.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_DEVICE_STATUS))return;
}var er=nd+nc+nb+lq+na+lW+mY;
var et=lM+eq+nM;
this.watchee.subscribe(et,er,this.returnQosOrException,this,lH);
}else{var er=null;
var et=lF;
this.watchee.subscribe(et,er,this.returnQosOrException,this,lH);
}}},unSubscribeStatus:function(cT){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(cT)){var cU=null;
var cV=lM+cT+nM;
this.watchee.unSubscribe(cV,cU,this.returnQosOrException,this,lL);
}else{var cU=null;
var cV=lF;
this.watchee.unSubscribe(cV,cU,this.returnQosOrException,this,lL);
}}},subscribeAlarm:function(bi){if(this.watchee!=null&&org.xmlBlaster.util.isFilled(bi)){if(bi!=this.watchee.getLoginName()){var bk=this.watchee.getBuddyManager().getBuddyOrMyself(bi);

if(bk==null||!bk.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM))return ;
}var bj=nd+nc+nb+iG+na+lW+mY;
var bl=lM+bi+nF;
this.watchee.subscribe(bl,bj,this.returnQosOrException,this,lH);
}},unSubscribeAlarm:function(V){if(this.watchee!=null&&org.xmlBlaster.util.isFilled(V)){var W=null;
var X=lM+V+nF;
this.watchee.unSubscribe(X,W,this.returnQosOrException,this,lL);
}},onAlarmEventFromServer:function(v,w){if(v.getGpsData()!=null){var x=v.getGpsData().hasAlarmOfType(net.watchee.RuleTypeEnum.GPSSIGNAL_OK.getId());

if(x)w.setGpsSignalOk(true);
var y=v.getGpsData().hasAlarmOfType(net.watchee.RuleTypeEnum.GPSSIGNAL_LOST.getId());

if(y)w.setGpsSignalOk(false);
}
if(v.isRuleTypeEnum(net.watchee.RuleTypeEnum.ENTER_SLEEPMODE)){w.setDeviceSleeping(true);
}
if(v.isRuleTypeEnum(net.watchee.RuleTypeEnum.ENTER_AWAKE)){w.setDeviceSleeping(false);
}w.countAlarmsIncrement();
this.fireAlarmChangedEvent(v,y,w);
},receivedServiceResponse:function(eF,eG,eH){var eS=org.xmlBlaster.util.PropTO;

for(var k=0,eN=eF.getServices().length;k<eN;k++){var eK=eF.getServices()[k];
var eY=this.getRequestResponseDispatcher().onResponseOrException(eK.getBounce(),eK);

if(eY){this.stopAjaxAnimator();
return;
}
if(eK.isException()){if(this.processingLogout)return;
if(eK.isTask(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ADDBUDDIES))this.errorMsgBox(this.trc(lO,kY,eK.getBounce()));
else if(eK.isTask(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_REMOVEBUDDIES))this.errorMsgBox(this.trc(lO,mN,eK.getBounce(),eK.getBounce()));
else{var eR=null;

if(eR==null)eR=new org.xmlBlaster.util.XmlBlasterException(eK.getErrorCode(),jq,eK.getErrorMessage());

if(eK.getErrorCode()==jc){this.errorMsgBox(this.trc(hz,mj),eR);
}else{this.errorMsgBox(this.trc(lO,iS,eK.getTask()),eR);
}}this.stopAjaxAnimator();
return;
}var eJ=eK.getPropValue(eS.KEY_TASK);

switch(eJ){case eS.VALUE_TASK_NAMED_ONLINESTATUS:this.getLogger().debug("TrackGui.receivedServiceResponse.onlineStatus: Not expected: "+eK.getResult());
break;
case eS.VALUE_TASK_NAMED_GETBUDDIES:var eI=net.watchee.BuddyListTO.parse(this.watchee,eK.getResult());
this.getLogger().debug("TrackGui.receivedServiceResponse.getBuddies -> calling BuddyManager.setBuddies");
this.watchee.getBuddyManager().setBuddies(eI);
this.getLogger().debug("TrackGui.receivedServiceResponse.getBuddies -> done BuddyManager.setBuddies");

if(this.watchee.getBuddyManager().isSync()){this.fireLoginDone();
}break;
case eS.VALUE_TASK_NAMED_GETFRIENDOF:var eL=true;
var eI=net.watchee.BuddyListTO.parse(this.watchee,eK.getResult(),eL);
this.getLogger().debug("TrackGui.receivedServiceResponse.setFriendOf -> calling BuddyManager.setFriendOf");
this.watchee.getBuddyManager().setFriendOf(eI);
this.getLogger().debug("TrackGui.receivedServiceResponse.setFriendOf -> done BuddyManager.setFriendOf");

if(this.watchee.getBuddyManager().isSync()){this.fireLoginDone();
}break;
case eS.VALUE_TASK_NAMED_ALARMEVENT:var eM=net.watchee.PropertyCollection.parseXml(eK.getResult());
var eP=new track.rulesmodel.AlarmTO(this,eM);
var eU=this.watchee.getDevice(eP.getDeviceId());

if(eU==null){this.errorMsgBoxDeveloper(this.trc(lO,kv,eO,eP));
return;
}this.onAlarmEventFromServer(eP,eU);
break;
case eS.VALUE_TASK_NAMED_GETPERMISSIONSTEMPLATES:this.watchee.setPermissionTemplateList(net.watchee.PermissionTemplateListTO.parse(eK.getResult()));
break;
case eS.VALUE_TASK_NAMED_GETTRACKS:var eO=eK.getPropValue(eS.KEY_BOUNCE);
var eU=this.watchee.getDevice(eO);
var eV=net.watchee.Track.parseGpxEnmea(eU,eK.getResult(),eS.VALUE_TASK_NAMED_GETTRACKS);
this.stopAjaxAnimator();
break;
case eS.VALUE_TASK_NAMED_GETTRACK:var eO=eK.getPropValue(eS.KEY_BOUNCE);
var eU=this.watchee.getDevice(eO);
var eV=net.watchee.Track.parseGpxEnmea(eU,eK.getResult(),eS.VALUE_TASK_NAMED_GETTRACK);
this.stopAjaxAnimator();
break;
case eS.VALUE_TASK_NAMED_GETACCOUNT:var eT=net.watchee.AccountTO.parse(this.watchee,eK.getResult());
this.stopAjaxAnimator();
break;
case eS.VALUE_TASK_NAMED_CHANGEPASSWORD:var eO=this.loginForm.getLoginTextFieldValue();
var eX=eK.getBounce();

if(eK.isException()){this.errorMsgBox(this.trc(lO,mD,eO,eK.getResult()));
return;
}this.stopAjaxAnimator();
this.loginForm.setPasswordTextFieldValue(eX);
this.infoMsgBox(this.trc(ni,hK,eO));
break;
case eS.VALUE_TASK_NAMED_CHANGEACCOUNT:var eO=eK.getBounce();

if(eK.isException()){this.errorMsgBox(this.trc(lO,me),eO);
return;
}this.stopAjaxAnimator();
var eQ=this.watchee.getBuddyManager().getBuddyOrMyself(eO);
this.watchee.getBuddyManager().fireChangeAccountEvent(eQ);
this.infoMsgBox(this.trc(ni,jt,eO));
break;
case eS.VALUE_TASK_NAMED_REMOVEACCOUNT:var eO=eK.getBounce();
var eW=this.getMyOemName();
this.logout();
this.infoMsgBox(this.trc(ni,lD,eW,eO));
break;
case net.watchee.Device.SERVICE_KEY_GETSETTINGS:this.stopAjaxAnimator();
var eO=eG.getSender().getSubjectId();

if(eH.isCfg())this.unSubscribeCfg(eO);
var eU=this.watchee.getDevice(eO);

if(eU==null){this.errorMsgBoxDeveloper(this.trc(lO,hx,eO));
return;
}var eM=net.watchee.PropertyCollection.parseXml(eK.getResult());

if(eM==null){if(eH.isCfg()&&eG.getSender().getPubSessionId()<0){this.warn("TODO: Remove subscribeCfg as soon as all WinCE devices are updated:"+eK.toXml());
}else{this.error("propertyCollection (getCommandList) is null: "+eK.toXml());
}break;
}eU.setPropertyCollection(eM,true);
break;
case net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST:this.stopAjaxAnimator();
var eO=eG.getSender().getSubjectId();
var eU=this.watchee.getDevice(eO);

if(eU==null){this.errorMsgBox(this.trc(lO,nl,eO));
return;
}var eM=net.watchee.PropertyCollection.parseXml(eK.getResult());

if(eM==null){if(eH.isCfg()&&eG.getSender().getPubSessionId()<0){this.warn("TODO: Remove subscribeCfg as soon as all J2ME/WinCE devices are updated:"+eK.toXml());
}else{this.error("propertyCollection (getCommandList) is null: "+eK.toXml());
}break;
}
if(this.getWindowManager().testDeviceWindow!=null)this.getWindowManager().testDeviceWindow.loadData(eM);
else this.errorMsgBox(this.trc(lO,iX,eO));
break;
default:this.getLogger().error("Ignoring received service message of task="+eK.getPropValue(eS.KEY_TASK)+": "+eK.getPropValue(eS.KEY_RESULT));
}}},removeAllBuddies:function(){this.buddiesWidget.removeAllBuddies(false);
},getBuddiesWidget:function(){return this.buddiesWidget;
},receivedBuddyList:function(bE){this.startAjaxAnimator(this.trc(lN,lo,bE.getBuddyList().length));
this.handleChangedBuddyAndFriendOfList();
this.startAjaxAnimator(this.trc(lN,ki));
this.stopAjaxAnimator();
},handleChangedBuddyAndFriendOfList:function(){if(this.watchee.getBuddyManager().isSync()==false){this.getLogger().debug("TrackGui.handleChangedBuddyAndFriendOfList ignored as not all data available");
return;
}this.removeAllBuddies(false);
var fb=this.watchee.getBuddyManager().getBuddyAndFriendOfList();
var fa=1;
this.iterBuddyData={buddyTOArr:fb,icurr:0,stepWidth:fa,inext:fa,myself:this,takeARest:0};

if(org.xmlBlaster.util.isOpera)this.iterBuddyData.takeARest=400;
this.startAjaxAnimator(this.trc(lN,nn,fb.length),100000);
this._handleChangedBuddyAndFriendOfListIterate();
},_handleChangedBuddyAndFriendOfListIterate:function(){var fu=this.iterBuddyData;

for(;fu.icurr<fu.inext&&fu.icurr<fu.buddyTOArr.length;fu.icurr++){if(this.watchee==null)return;
this.changeLabelAjaxAnimator(this.trc(lN,mz,(fu.icurr+1),fu.buddyTOArr.length));
var fv=fu.buddyTOArr[fu.icurr];
this.watchee.getXbAccess().logTimeElapsed(ms+fv.getLoginName());
var fw=fv.getLoginName();
var ft=this.watchee.getDevice(fw);

if(ft==null){this.getLogger().error("TrackGui.handleChangedBuddyAndFriendOfList: Error: Device "+fw+" is not existing!");
ft=this.watchee.createNewDevice(fw);
}fv.setDevice(ft);
this.getLogger().info("Working with buddy "+fv.getLoginName());
this.buddiesWidget.addBuddy(fv);
this.subscribeStatus(fw);
this.subscribeAlarm(fw);
this.getAlarms(fw,true);

if(fv.isOnline()){this.sendGetDeviceConfiguration(fv.getLoginName());
}}
if(fu.icurr==fu.buddyTOArr.length){this.stopAjaxAnimator();
return ;
}fu.inext+=fu.stepWidth;
qx.event.Timer.once(this._handleChangedBuddyAndFriendOfListIterate,this,fu.takeARest);
},onBuddyRemovedEvent:function(eB,eC){this.unSubscribeStatus(eB.getDevice().getDeviceId());
this.unSubscribeAlarm(eB.getDevice().getDeviceId());
},receivedFriendOfList:function(fe){this.startAjaxAnimator(this.trc(lN,mK,fe.getBuddyList().length));
this.info("Received friendOf list with "+fe.getBuddyList().length+" entries");
this.handleChangedBuddyAndFriendOfList();
},receivedxSMS:function(ck){if(this.xsmsPhoto!=null){this.xsmsPhoto.xsmsTab.receivedxSMS(ck);
}},onAjaxUpdate:function(fU){var fV=mX;
var gk=this.watchee;

for(var gj=0;gj<fU.length;gj++){var gm=fU[gj];

try{if(gk==null){this.getLogger().warn("Ignoring unexpected update: "+gm.dump());
return;
}
if(gm.isException()){this.getLogger().debug(fV+"Exception msgUnit="+gm.toXml());

if(this.processingLogout)return;
var gi=gm.getXmlBlasterException();
this.errorMsgBox(this.trc(lO,kI),gi);
this.logout(false);
return ;
}var ga=gm.getKeyData().getOid();
var ge=new net.watchee.WatcheeTopic(gm);
this.getLogger().debug(fV+"topicId="+ga);

if(ga==net.watchee.TOPICID_ONLINESTATUS){var fX=iv;
var fW=gm.getQosData().getClientProperty(fX,null);
var gl=gm.getQosData().getClientProperty(kO,false);
var gb=gm.getContentStr().indexOf(hP)>0?net.watchee.BuddyTO.STATUS_ONLINE:net.watchee.BuddyTO.STATUS_OFFLINE;
gk.getBuddyManager().changedOnlineStatus(fW,gb,gl);
continue;
}if(ge.isServiceResponse()||ge.isCfg()||ge.isStatus()||ge.isAlarm()){var content=gm.getContentStr();

if(!org.xmlBlaster.util.isFilled(content)&&ge.isCfg()){continue;
}var gd=org.xmlBlaster.util.ServiceListTO.parse(content);
gk.getXbAccess().logTimeElapsed(kt+gd.countServices());
this.receivedServiceResponse(gd,gm.getQosData(),ge);
continue;
}var gn=ge.getDeviceId();

if(gn.length<1){this.getLogger().warn("Ignoring empty device '"+gn+"' from "+gm.dump());
continue;
}var gf=gk.getDevice(gn);

if(gf==null){if(gk.getLoginName()!=gn)this.getLogger().error("Error-onAjaxUpdate: Device "+gn+" is not existing!\n"+gm.dump());
gf=gk.createNewDevice(gn);
}gf.updateNiceDeviceName(gm);
if(ge.isxSMS()){this.getLogger().info(fV+": Got update "+ge.getTopicId());
var gh=net.watchee.X_SMS.parse(gm.getQosData().getSender().getRelativeName(),gm.getContentStr());
gh.xmlBlasterRcvTimestampNanos=gm.getQosData().getRcvTimestampNanos();
gh.setClientProperties(gm.getQosData().getClientProperties());
gf.addReceivedxSMS(gh);
gf.addReceivedxSMSToInfoWindow();
this.receivedxSMS(gh);
}else if(ge.isNmea()){this.getLogger().info(fV+": Got update "+ge.getTopicId());
var gg=gk.addCurrentENMEA(gf,gm);

if(gg!=null){}else{this.errorMsgBox(this.trc(lO,kx,gm.getContentStr()));
}}else if(ge.isReset()){this.getLogger().info(fV+": Got update "+ge.getTopicId()+" command="+ge.getCmdStr());
var fY=gf.getCurrentTrack();
fY.clearMappingData();
}else{this.errorMsgBox(this.trc(lO,nx,ga));
}}catch(bm){var gc=gm.toXml();
gc=org.xmlBlaster.util.replaceAllTokens(gc,mO,jd);
gc=org.xmlBlaster.util.replaceAllTokens(gc,jg,ir);
this.errorMsgBoxDeveloper(ik+gc+li+bm+jf);
}}},logout:function(ee){if(this.watchee==null)return;

try{this.processingLogout=true;
var eh={loginName:this.watchee.getLoginName()};
this.eventManager.fireEvent(kC,eh);
var ee=org.xmlBlaster.util.toBoolean(ee,true);
this.startAjaxAnimator(this.trc(lr,lR));
this.loginForm.isLoggedOut();
this.makeLoginLabel(this.trc(jT,he));
try{this.requestResponseDispatcher.clear();
}catch(ey){this.getLogger().error("this.requestResponseDispatcher.clear()",ey);
}
if(this.menuBar!=null){}this.getWindowManager().clear();

if(ee)this.watchee.disconnect();

try{this.buddiesWidget.clear();
}catch(cR){this.getLogger().error("this.buddiesWidget.clear()",cR);
}
if(this.xsmsPhoto!=null){this.xsmsPhoto.setEnabled(false);
this.xsmsPhoto.clearTabView();
}
if(this.embeddedFramelb!=null){try{this.embeddedFramelb.setEnabled(false);
}catch(dg){this.getLogger().error("this.embeddedFramelb.setVisibility()",dg);
}}
try{if(org.xmlBlaster.util.isDefined(this.preferenceWindow)){this.preferenceWindow.close();
this.preferenceWindow=null;
}}catch(ew){this.getLogger().error("this.preferenceWindow",ew);
}var ef=this.getMyRoot();
var eg=ef.getChildren();

for(var i=0;i<eg.length;i++){if(eg[i] instanceof track.pref.PreferenceWindow){eg[i].destroyPopup();
}}if(this.watchee!=null)this.watchee.shutdown();
this.watchee=null;
this.stopAjaxAnimator();
}catch(bN){this.errorMsgBoxDeveloper(il,bN);
}},returnQosOrException:function(cx,cy,cz){var cz=cz||null;

try{this.getLogger().info("Entering returnQosOrException '"+cz+"': "+cx);

if(cx==null){this.getLogger().error("returnQosOrException with dataReceived=null");
return;
}var cB=org.xmlBlaster.util.getDOMDocument(cx);
var cD=org.xmlBlaster.util.parseXmlBlasterResponse(cB);

if(cD.length==0){this.getLogger().info("returnQosOrException '"+cz+"' with msgUnits=0");
return;
}var cF=cD[0];

if(cF.isException()){var cE=cF.getXmlBlasterException();
var cA=cE.getErrorCodeStr();
var cC=cE.getMessage();

if(cz==null){this.errorMsgBox(this.trc(lO,hO),cF.getXmlBlasterException());
return;
}
if(cE.isTomcatServerSide()){cE.setErrorCodeStr(lQ);
this.logout(false);
this.errorMsgBox(this.trc(lO,jQ),cE);
}else if(cx.indexOf(jr)!=-1){this.logout(false);
this.errorMsgBox(this.trc(lO,hM));
}else if(cx.indexOf(mL)!=-1){if(this.watchee==null){return ;
}this.logout(false);
this.errorMsgBox(this.trc(lO,jl,cA));
}else if(jS==cz){this.errorMsgBox(this.trc(lO,kS,cA));
}else if(cA==kT){this.getLogger().warn("Server Exception, "+cz+" failed: "+cA+" "+cC);
}else if(cA.indexOf(is)!=-1&&cz!=mn&&cz!=iu){this.errorMsgBoxDeveloper(kf+cz+iV+cA+lT+cC);
}else{this.errorMsgBox(this.trc(lO,kK,cz),cF.getXmlBlasterException());
}this.stopAjaxAnimator();
return;
}else{}}catch(a){this.errorMsgBox(this.trc(lO,ip),a);
}},shutdown:function(){this.logout();
}},destruct:function(){this._disposeFields(ma,ld,jz,mS,hq);
this._disposeObjects(jP,ih,mA,nr,lk,hS,lw,ml,lj,hu,hG,kj,ny,hN,ll,mp,nk,iy,jx,hy,mm);
}});
})();
(function(){var R='#bfbfbf',Q="execute",P="middle",O="right",N="resize",M="Ok",L="promptMsgBox-Button",K="16/actions/dialog-ok.png",J="button",I="",bw="focusout",bv="</i></td></tr></table>",bu="<br /><table width='100%' style='font-size:1.0em'><tr><td><i>",bt="focusOut",bs="</td></tr></table>",br="32/status/dialog-error.png",bq="default",bp="icon/16/actions/dialog-ok.png",bo="22/actions/dialog-apply.png",bn="Error",Y="Cancel",ba="No",W="<br /><b>Detail: ",X="<table width='100%' style='font-size:1.1em'><tr><td>",U="Question",V="track.msgbox.MsgBox",S="</b><br /><br /><table width='100%' style='font-size:1.0em'><tr><td><i>",T="<br /><b>",bb="title",bc="32/status/dialog-information.png",bf="</b>",be="Yes",bh="22/actions/dialog-cancel.png",bg="Info",bj="32/question_mark.png",bi="16/actions/dialog-cancel.png",bd="infoMsgBox",bm="Watchee Form",bl="errMsgBox-Button",bk="32/status/dialog-warning.png";
theCurrentMsgBox=null;
qx.Class.define(V,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(r){qx.core.Object.call(this);
this.trackGui=r;
},members:{askMsgBox:function(s,t,u,v,w,x,y){var x=x||null;
var y=y||null;
var s=org.xmlBlaster.util.isFilled(s)?s:this.trc(bb,U);
var u=org.xmlBlaster.util.isDefined(u)?u:null;
this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.4});
var C=new qx.ui.window.Window(s);
C.setLayout(new qx.ui.layout.VBox());
C.setModal(true);
C.setShowClose(false);
C.setMaxWidth(640);
C.setMaxHeight(480);
C.setAllowMaximize(false);
C.setAllowMinimize(false);
C.addListener(N,C.center);
this.trackGui.getMyRoot().add(C);
var E=new qx.ui.layout.HBox().set({spacing:10,alignX:O,alignY:P});
var B=new qx.ui.container.Composite(E).set({paddingTop:10});
C.add(B);
var H=new qx.ui.basic.Image(xbGetIcon(bj));
B.add(H,{left:10,top:10});
var G=new qx.ui.basic.Label().set({value:t,rich:true,width:280});
B.add(G);
var F=new qx.ui.layout.HBox().set({spacing:4,alignX:O});
var z=new qx.ui.container.Composite(F).set({paddingTop:11});
C.add(z);

if(x==null){x=this.trc(J,be);
}var A=new qx.ui.form.Button(x,xbGetQxIcon(bo));
A.addState(bq);
A.addListener(Q,function(e){this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.0});

if(u!=null){u.call(v,true,w);
}C.close();
},this);
z.add(A);

if(y==null){y=this.trc(J,ba);
}var D=new qx.ui.form.Button(y,xbGetQxIcon(bh));
D.addListener(Q,function(e){this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.0});

if(u!=null){u.call(v,false,w);
}C.close();
},this);
z.add(D);
C.open();
},errorMsgBox:function(a,b){this.trackGui.stopAjaxAnimator();
this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.6});
var a=org.xmlBlaster.util.isDefined(a)?a:I;
var j=null;
var l=I;

if(org.xmlBlaster.util.isDefined(b)){if(b.constructor==org.xmlBlaster.util.XmlBlasterException){if(false){j=T+b.getErrorCodeStr()+S+b.getMessage()+bv;
}else{j=W+b.getErrorCodeStr()+bf;
l=b.getMessage();
}}else{j=bu+b+bv;
}}this.error(a+" "+j+" "+l);
var f=640;
var h=10;
var c=640-2*h;
var m=new qx.ui.window.Window(bn);
m.setLayout(new qx.ui.layout.VBox());
m.setModal(true);
m.setShowClose(true);
m.setMaxWidth(f);
m.setMaxHeight(480);
m.setAllowMaximize(false);
m.setAllowMinimize(false);
m.addListener(N,m.center);
this.trackGui.getMyRoot().add(m);
var i=new qx.ui.layout.HBox().set({spacing:h,alignY:P});
var g=new qx.ui.container.Composite(i);
g.setMaxWidth(c);
m.add(g);
g.add(new qx.ui.basic.Image(xbGetQxIcon(br)));
a=X+a+bs;
g.add(new qx.ui.basic.Label().set({value:a,rich:true,width:c,maxWidth:c}));

if(j!=null){var n=new qx.ui.layout.HBox().set({spacing:h,alignY:P});
var k=new qx.ui.container.Composite(n);
k.setMaxWidth(c);
m.add(k);
k.add(new qx.ui.basic.Label().set({value:j,rich:true,width:c,maxWidth:c}));
}var o=new qx.ui.layout.HBox().set({spacing:4,alignX:O});
var d=new qx.ui.container.Composite(o).set({paddingTop:11});
d.setMaxWidth(c);
m.add(d);
var p=new qx.ui.form.Button(this.trc(bl,M),xbGetQxIcon(K));
p.addListener(Q,function(e){if(theCurrentMsgBox==m){this.info("errorMsgBox close()");
theCurrentMsgBox=null;
}this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.0});
m.close();
},this);
d.add(p);
m.addListener(bw,function(e){this.info("errorMsgBox got focusout");

if(theCurrentMsgBox==m){this.info("errorMsgBox got focusout open()");
m.open();
}},this);
m.open();
},infoMsgBox:function(bx,by,bz){var by=org.xmlBlaster.util.toNumber(by);
var bC=new qx.ui.window.Window(bg);
theCurrentMsgBox=bC;
bC.setLayout(new qx.ui.layout.VBox());
var bE=org.xmlBlaster.util.toBoolean(bz,true);
bC.setModal(bE);
bC.setShowClose(false);
bC.setMaxWidth(640);
bC.setMaxHeight(480);
bC.setAllowMaximize(false);
bC.setAllowMinimize(false);

if(bE)this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.4});
bC.addListener(N,bC.center);
bC.setZIndex(2000000);
this.trackGui.getMyRoot().add(bC);
var bD=new qx.ui.layout.HBox().set({spacing:10,alignY:P});
var bB=new qx.ui.container.Composite(bD);
bC.add(bB);
bB.add(new qx.ui.basic.Image(xbGetQxIcon(bc)));
bB.add(new qx.ui.basic.Label().set({value:bx,rich:true}));
var bF=new qx.ui.layout.HBox().set({spacing:4,alignX:O});
var bA=new qx.ui.container.Composite(bF).set({paddingTop:11});
bC.add(bA);
var bG=new qx.ui.form.Button(this.trc(bd,M),xbGetQxIcon(K));
bG.addListener(Q,function(e){if(theCurrentMsgBox==bC){this.info("msgBox close()");
theCurrentMsgBox=null;
}
if(bE)this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.0});
bC.close();
},this);
bG.setZIndex(9);
bG.focus();
bA.add(bG);
bC.addListener(bw,function(e){if(theCurrentMsgBox==bC){this.info("msgBox got focusout open()");
bC.open();
}},this);
bC.open();
if(by>0){qx.event.Timer.once(this.closeWm2,bC,by);
}},closeWm2:function(){var q=this;

if(theCurrentMsgBox==q)theCurrentMsgBox=null;
q.info("Calling closeWm2");
q.removeListener(bt,null,q);
q.close();
},promptMsgBox:function(bH,bI,bJ,bK,bL,bM,bN,bO){var bH=org.xmlBlaster.util.isFilled(bH)?bH:bm;
var bM=org.xmlBlaster.util.isDefined(bM)?bM:null;
this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.4});
var bR=new qx.ui.window.Window(bH);
bR.setLayout(new qx.ui.layout.VBox(10));
bR.setModal(true);
bR.setShowClose(false);
bR.setMaxWidth(480);
bR.setMaxHeight(400);
bR.setAllowMaximize(false);
bR.setAllowMinimize(false);
bR.addListener(N,bR.center);
this.trackGui.getMyRoot().add(bR);
var bT=new qx.ui.layout.HBox().set({spacing:10,alignY:P});
var bQ=new qx.ui.container.Composite(bT);
bR.add(bQ);
bQ.add(new qx.ui.basic.Image(xbGetQxIcon(bk)));
bQ.add(new qx.ui.basic.Label().set({value:bI,rich:true}));
var bS=new qx.ui.form.TextField(bJ);

with(bS){setPadding(5);
setPaddingRight(15);
setReadOnly(false);
}bR.add(bS,{top:60,left:48});
var bU=new qx.ui.layout.HBox().set({spacing:4,alignX:O});
var bP=new qx.ui.container.Composite(bU).set({paddingTop:11});
bR.add(bP);
var bW=new qx.ui.form.Button(this.trc(L,M),bp);
var bV=new qx.ui.form.Button(this.trc(L,Y),xbGetQxIcon(bi));
bW.addListener(Q,function(e){this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.0});

if(bM!=null){if(bS.getValue().length<bK)return;
bM.call(bN,true,bS.getValue(),bO);
}bR.close();
},this);
bP.add(bW);
bV.addListener(Q,function(e){this.trackGui.getMyRoot().set({blockerColor:R,blockerOpacity:0.0});

if(bM!=null){bM.call(bN,false,bS.getValue(),bO);
}bR.close();
},this);

if(bL)bP.add(bV);
bR.open();
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var s="indexOf",r="addAfter",q="add",p="addBefore",o="_",n="addAt",m="hasChildren",l="removeAt",k="removeAll",j="getChildren",h="remove",i="qx.ui.core.MRemoteChildrenHandling";
qx.Mixin.define(i,{members:{__ki:function(c,d,e,f){var g=this.getChildrenContainer();

if(g===this){c=o+c;
}return (g[c])(d,e,f);
},getChildren:function(){return this.__ki(j);
},hasChildren:function(){return this.__ki(m);
},add:function(a,b){return this.__ki(q,a,b);
},remove:function(w){return this.__ki(h,w);
},removeAll:function(){return this.__ki(k);
},indexOf:function(x){return this.__ki(s,x);
},addAt:function(y,z,A){this.__ki(n,y,z,A);
},addBefore:function(B,C,D){this.__ki(p,B,C,D);
},addAfter:function(t,u,v){this.__ki(r,t,u,v);
},removeAt:function(E){this.__ki(l,E);
}}});
})();
(function(){var a="qx.ui.core.MRemoteLayoutHandling";
qx.Mixin.define(a,{members:{setLayout:function(b){return this.getChildrenContainer().setLayout(b);
},getLayout:function(){return this.getChildrenContainer().getLayout();
}}});
})();
(function(){var r="Boolean",q="resize",p="mousedown",o="w-resize",n="sw-resize",m="n-resize",l="resizableRight",k="ne-resize",j="se-resize",i="Integer",G="e-resize",F="resizableLeft",E="mousemove",D="move",C="shorthand",B="maximized",A="nw-resize",z="mouseout",y="qx.ui.core.MResizable",x="mouseup",v="losecapture",w="resize-frame",t="resizableBottom",u="s-resize",s="resizableTop";
qx.Mixin.define(y,{construct:function(){this.addListener(p,this.__ku,this,true);
this.addListener(x,this.__kv,this);
this.addListener(E,this.__kx,this);
this.addListener(z,this.__ky,this);
this.addListener(v,this.__kw,this);
var Q=this.getContainerElement().getDomElement();

if(Q==null){Q=window;
}this.__kj=qx.event.Registration.getManager(Q).getHandler(qx.event.handler.DragDrop);
},properties:{resizableTop:{check:r,init:true},resizableRight:{check:r,init:true},resizableBottom:{check:r,init:true},resizableLeft:{check:r,init:true},resizable:{group:[s,l,t,F],mode:C},resizeSensitivity:{check:i,init:5},useResizeFrame:{check:r,init:true}},members:{__kj:null,__kk:null,__kl:null,__km:null,__kn:null,__ko:null,RESIZE_TOP:1,RESIZE_BOTTOM:2,RESIZE_LEFT:4,RESIZE_RIGHT:8,__kp:function(){var W=this.__kk;

if(!W){W=this.__kk=new qx.ui.core.Widget();
W.setAppearance(w);
W.exclude();
qx.core.Init.getApplication().getRoot().add(W);
}return W;
},__kq:function(){var P=this.__ko;
var O=this.__kp();
O.setUserBounds(P.left,P.top,P.width,P.height);
O.show();
O.setZIndex(this.getZIndex()+1);
},__kr:function(e){var I=this.__kl;
var J=this.getSizeHint();
var L=this.__ko;
var H=L.width;
var K=L.height;
var N=L.left;
var top=L.top;
var M;

if((I&this.RESIZE_TOP)||(I&this.RESIZE_BOTTOM)){M=e.getDocumentTop()-this.__kn;

if(I&this.RESIZE_TOP){K-=M;
}else{K+=M;
}
if(K<J.minHeight){K=J.minHeight;
}else if(K>J.maxHeight){K=J.maxHeight;
}
if(I&this.RESIZE_TOP){top+=L.height-K;
}}
if((I&this.RESIZE_LEFT)||(I&this.RESIZE_RIGHT)){M=e.getDocumentLeft()-this.__km;

if(I&this.RESIZE_LEFT){H-=M;
}else{H+=M;
}
if(H<J.minWidth){H=J.minWidth;
}else if(H>J.maxWidth){H=J.maxWidth;
}
if(I&this.RESIZE_LEFT){N+=L.width-H;
}}return {viewportLeft:N,viewportTop:top,parentLeft:L.bounds.left+N-L.left,parentTop:L.bounds.top+top-L.top,width:H,height:K};
},__ks:{1:m,2:u,4:o,8:G,5:A,6:n,9:k,10:j},__kt:function(e){var c=this.getContentLocation();
var a=this.getResizeSensitivity();
var f=e.getDocumentLeft();
var d=e.getDocumentTop();
var b=0;

if(this.getResizableTop()&&Math.abs(c.top-d)<a){b+=this.RESIZE_TOP;
}else if(this.getResizableBottom()&&Math.abs(c.bottom-d)<a){b+=this.RESIZE_BOTTOM;
}
if(this.getResizableLeft()&&Math.abs(c.left-f)<a){b+=this.RESIZE_LEFT;
}else if(this.getResizableRight()&&Math.abs(c.right-f)<a){b+=this.RESIZE_RIGHT;
}this.__kl=b;
},__ku:function(e){if(!this.__kl){return;
}this.addState(q);
this.__km=e.getDocumentLeft();
this.__kn=e.getDocumentTop();
var location=this.getContainerLocation();
var h=this.getBounds();
this.__ko={top:location.top,left:location.left,width:h.width,height:h.height,bounds:qx.lang.Object.clone(h)};
if(this.getUseResizeFrame()){this.__kq();
}this.capture();
e.stop();
},__kv:function(e){if(!this.hasState(q)){return;
}if(this.getUseResizeFrame()){this.__kp().exclude();
}var g=this.__kr(e);
this.setWidth(g.width);
this.setHeight(g.height);
if(this.getResizableLeft()||this.getResizableTop()){this.setLayoutProperties({left:g.parentLeft,top:g.parentTop});
}this.__kl=0;
this.removeState(q);
this.resetCursor();
this.getApplicationRoot().resetGlobalCursor();
this.releaseCapture();
e.stopPropagation();
},__kw:function(e){if(!this.__kl){return;
}this.resetCursor();
this.getApplicationRoot().resetGlobalCursor();
this.removeState(D);
if(this.getUseResizeFrame()){this.__kp().exclude();
}},__kx:function(e){if(this.hasState(q)){var U=this.__kr(e);
if(this.getUseResizeFrame()){var S=this.__kp();
S.setUserBounds(U.viewportLeft,U.viewportTop,U.width,U.height);
}else{this.setWidth(U.width);
this.setHeight(U.height);
if(this.getResizableLeft()||this.getResizableTop()){this.setLayoutProperties({left:U.parentLeft,top:U.parentTop});
}}e.stopPropagation();
}else if(!this.hasState(B)&&!this.__kj.isSessionActive()){this.__kt(e);
var V=this.__kl;
var T=this.getApplicationRoot();

if(V){var R=this.__ks[V];
this.setCursor(R);
T.setGlobalCursor(R);
}else if(this.getCursor()){this.resetCursor();
T.resetGlobalCursor();
}}},__ky:function(e){if(this.getCursor()&&!this.hasState(q)){this.resetCursor();
this.getApplicationRoot().resetGlobalCursor();
}}},destruct:function(){if(this.__kk!=null&&!qx.core.ObjectRegistry.inShutDown){this.__kk.destroy();
this.__kk=null;
}this.__kj=null;
}});
})();
(function(){var m="move",l="Boolean",k="mouseup",j="mousedown",i="__kz",h="losecapture",g="qx.ui.core.MMovable",f="__kA",d="mousemove",c="maximized",b="move-frame";
qx.Mixin.define(g,{properties:{movable:{check:l,init:true},useMoveFrame:{check:l,init:false}},members:{__kz:null,__kA:null,__kB:null,__kC:null,__kD:null,__kE:null,__kF:null,__kG:false,__kH:null,__kI:0,_activateMoveHandle:function(x){if(this.__kz){throw new Error("The move handle could not be redefined!");
}this.__kz=x;
x.addListener(j,this._onMoveMouseDown,this);
x.addListener(k,this._onMoveMouseUp,this);
x.addListener(d,this._onMoveMouseMove,this);
x.addListener(h,this.__kM,this);
},__kJ:function(){var v=this.__kA;

if(!v){v=this.__kA=new qx.ui.core.Widget();
v.setAppearance(b);
v.exclude();
qx.core.Init.getApplication().getRoot().add(v);
}return v;
},__kK:function(){var location=this.getContainerLocation();
var z=this.getBounds();
var y=this.__kJ();
y.setUserBounds(location.left,location.top,z.width,z.height);
y.show();
y.setZIndex(this.getZIndex()+1);
},__kL:function(e){var r=this.__kB;
var u=Math.max(r.left,Math.min(r.right,e.getDocumentLeft()));
var t=Math.max(r.top,Math.min(r.bottom,e.getDocumentTop()));
var q=this.__kC+u;
var s=this.__kD+t;
return {viewportLeft:q,viewportTop:s,parentLeft:q-this.__kE,parentTop:s-this.__kF};
},_onMoveMouseDown:function(e){if(!this.getMovable()||this.hasState(c)){return;
}var parent=this.getLayoutParent();
var o=parent.getContentLocation();
var p=parent.getBounds();
if(qx.Class.implementsInterface(parent,qx.ui.window.IDesktop)){if(!parent.isContentBlocked()){this.__kG=true;
this.__kH=parent.getBlockerColor();
this.__kI=parent.getBlockerOpacity();
parent.setBlockerColor(null);
parent.setBlockerOpacity(1);
parent.blockContent(this.getZIndex()-1);
}}this.__kB={left:o.left,top:o.top,right:o.left+p.width,bottom:o.top+p.height};
var n=this.getContainerLocation();
this.__kE=o.left;
this.__kF=o.top;
this.__kC=n.left-e.getDocumentLeft();
this.__kD=n.top-e.getDocumentTop();
this.addState(m);
this.__kz.capture();
if(this.getUseMoveFrame()){this.__kK();
}e.stop();
},_onMoveMouseMove:function(e){if(!this.hasState(m)){return;
}var w=this.__kL(e);

if(this.getUseMoveFrame()){this.__kJ().setDomPosition(w.viewportLeft,w.viewportTop);
}else{this.setDomPosition(w.parentLeft,w.parentTop);
}e.stopPropagation();
},_onMoveMouseUp:function(e){if(!this.hasState(m)){return;
}this.removeState(m);
var parent=this.getLayoutParent();

if(qx.Class.implementsInterface(parent,qx.ui.window.IDesktop)){if(this.__kG){parent.unblockContent();
parent.setBlockerColor(this.__kH);
parent.setBlockerOpacity(this.__kI);
this.__kH=null;
this.__kI=0;
}}this.__kz.releaseCapture();
var a=this.__kL(e);
this.setLayoutProperties({left:a.parentLeft,top:a.parentTop});
if(this.getUseMoveFrame()){this.__kJ().exclude();
}e.stopPropagation();
},__kM:function(e){if(!this.hasState(m)){return;
}this.removeState(m);
if(this.getUseMoveFrame()){this.__kJ().exclude();
}}},destruct:function(){this._disposeObjects(f,i);
this.__kB=null;
}});
})();
(function(){var p="Integer",o="_applyContentPadding",n="resetPaddingRight",m="setPaddingBottom",l="resetPaddingTop",k="qx.ui.core.MContentPadding",j="resetPaddingLeft",i="setPaddingTop",h="setPaddingRight",g="resetPaddingBottom",c="contentPaddingLeft",f="setPaddingLeft",e="contentPaddingTop",b="shorthand",a="contentPaddingRight",d="contentPaddingBottom";
qx.Mixin.define(k,{properties:{contentPaddingTop:{check:p,init:0,apply:o,themeable:true},contentPaddingRight:{check:p,init:0,apply:o,themeable:true},contentPaddingBottom:{check:p,init:0,apply:o,themeable:true},contentPaddingLeft:{check:p,init:0,apply:o,themeable:true},contentPadding:{group:[e,a,d,c],mode:b,themeable:true}},members:{__kN:{contentPaddingTop:i,contentPaddingRight:h,contentPaddingBottom:m,contentPaddingLeft:f},__kO:{contentPaddingTop:l,contentPaddingRight:n,contentPaddingBottom:g,contentPaddingLeft:j},_applyContentPadding:function(q,r,name){var s=this._getContentPaddingTarget();

if(q==null){var t=this.__kO[name];
s[t]();
}else{var u=this.__kN[name];
s[u](q);
}}}});
})();
(function(){var a="qx.ui.window.IWindowManager";
qx.Interface.define(a,{members:{setDesktop:function(b){this.assertInterface(b,qx.ui.window.IDesktop);
},changeActiveWindow:function(d,e){},updateStack:function(){},bringToFront:function(f){this.assertInstance(f,qx.ui.window.Window);
},sendToBack:function(c){this.assertInstance(c,qx.ui.window.Window);
}}});
})();
(function(){var m="__kP",k="qx.ui.window.Manager";
qx.Class.define(k,{extend:qx.core.Object,implement:qx.ui.window.IWindowManager,members:{__kP:null,setDesktop:function(j){this.__kP=j;
this.updateStack();
},getDesktop:function(){return this.__kP;
},changeActiveWindow:function(q,r){if(q){this.bringToFront(q);
}},_minZIndex:1e5,updateStack:function(){qx.ui.core.queue.Widget.add(this);
},syncWidget:function(){this.__kP.forceUnblockContent();
var b=this.__kP.getWindows();
var e=this._minZIndex-1;
var d=false;
var c,a=null;

for(var i=0,l=b.length;i<l;i++){c=b[i];

if(!c.isVisible()){continue;
}e+=2;
c.setZIndex(e);
if(c.getModal()){this.__kP.blockContent(e-1);
}d=d||c.isActive();
a=c;
}
if(!d){this.__kP.setActiveWindow(a);
}},bringToFront:function(n){var o=this.__kP.getWindows();
var p=qx.lang.Array.remove(o,n);

if(p){o.push(n);
this.updateStack();
}},sendToBack:function(f){var g=this.__kP.getWindows();
var h=qx.lang.Array.remove(g,f);

if(h){g.unshift(f);
this.updateStack();
}}},destruct:function(){this._disposeObjects(m);
}});
})();
(function(){var L="Boolean",K="qx.event.type.Event",J="captionbar",I="_applyCaptionBarChange",H="maximize-button",G="restore-button",F="minimize-button",E="close-button",D="title",C="icon",br="maximized",bq="execute",bp="pane",bo="statusbar-text",bn="statusbar",bm="String",bl="normal",bk="active",bj="beforeClose",bi="beforeMinimize",S="mousedown",T="changeStatus",Q="changeIcon",R="excluded",O="dblclick",P="_applyActive",M="beforeRestore",N="minimize",U="changeModal",V="_applyShowStatusbar",ba="_applyStatus",Y="qx.ui.window.Window",bc="changeCaption",bb="focusout",be="beforeMaximize",bd="maximize",X="restore",bh="window",bg="close",bf="changeActive",W="minimized";
qx.Class.define(Y,{extend:qx.ui.core.Widget,include:[qx.ui.core.MRemoteChildrenHandling,qx.ui.core.MRemoteLayoutHandling,qx.ui.core.MResizable,qx.ui.core.MMovable,qx.ui.core.MContentPadding],construct:function(f,g){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.VBox());
this._createChildControl(J);
this._createChildControl(bp);
if(g!=null){this.setIcon(g);
}
if(f!=null){this.setCaption(f);
}this._updateCaptionBar();
this.addListener(S,this._onWindowMouseDown,this,true);
this.addListener(bb,this._onWindowFocusOut,this);
qx.core.Init.getApplication().getRoot().add(this);
this.initVisibility();
qx.ui.core.FocusHandler.getInstance().addRoot(this);
{};
},statics:{DEFAULT_MANAGER_CLASS:qx.ui.window.Manager},events:{"beforeClose":K,"close":K,"beforeMinimize":K,"minimize":K,"beforeMaximize":K,"maximize":K,"beforeRestore":K,"restore":K},properties:{appearance:{refine:true,init:bh},visibility:{refine:true,init:R},focusable:{refine:true,init:true},active:{check:L,init:false,apply:P,event:bf},modal:{check:L,init:false,event:U},caption:{apply:I,event:bc,nullable:true},icon:{check:bm,nullable:true,apply:I,event:Q,themeable:true},status:{check:bm,nullable:true,apply:ba,event:T},showClose:{check:L,init:true,apply:I,themeable:true},showMaximize:{check:L,init:true,apply:I,themeable:true},showMinimize:{check:L,init:true,apply:I,themeable:true},allowClose:{check:L,init:true,apply:I},allowMaximize:{check:L,init:true,apply:I},allowMinimize:{check:L,init:true,apply:I},showStatusbar:{check:L,init:false,apply:V}},members:{__kQ:null,__kR:null,getChildrenContainer:function(){return this.getChildControl(bp);
},_forwardStates:{active:true,maximized:true},setLayoutParent:function(parent){{};
qx.ui.core.Widget.prototype.setLayoutParent.call(this,parent);
},_createChildControlImpl:function(r){var s;

switch(r){case bn:s=new qx.ui.container.Composite(new qx.ui.layout.HBox());
this._add(s);
s.add(this.getChildControl(bo));
break;
case bo:s=new qx.ui.basic.Label();
s.setValue(this.getStatus());
break;
case bp:s=new qx.ui.container.Composite();
this._add(s,{flex:1});
break;
case J:var u=new qx.ui.layout.Grid();
u.setRowFlex(0,1);
u.setColumnFlex(1,1);
s=new qx.ui.container.Composite(u);
this._add(s);
s.addListener(O,this._onCaptionMouseDblClick,this);
this._activateMoveHandle(s);
break;
case C:s=new qx.ui.basic.Image(this.getIcon());
this.getChildControl(J).add(s,{row:0,column:0});
break;
case D:s=new qx.ui.basic.Label(this.getCaption());
s.setWidth(0);
s.setAllowGrowX(true);
var t=this.getChildControl(J);
t.add(s,{row:0,column:1});
break;
case F:s=new qx.ui.form.Button();
s.setFocusable(false);
s.addListener(bq,this._onMinimizeButtonClick,this);
this.getChildControl(J).add(s,{row:0,column:2});
break;
case G:s=new qx.ui.form.Button();
s.setFocusable(false);
s.addListener(bq,this._onRestoreButtonClick,this);
this.getChildControl(J).add(s,{row:0,column:3});
break;
case H:s=new qx.ui.form.Button();
s.setFocusable(false);
s.addListener(bq,this._onMaximizeButtonClick,this);
this.getChildControl(J).add(s,{row:0,column:4});
break;
case E:s=new qx.ui.form.Button();
s.setFocusable(false);
s.addListener(bq,this._onCloseButtonClick,this);
this.getChildControl(J).add(s,{row:0,column:6});
break;
}return s||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,r);
},_updateCaptionBar:function(){var A;
var B=this.getIcon();

if(B){this.getChildControl(C).setSource(B);
this._showChildControl(C);
}else{this._excludeChildControl(C);
}var z=this.getCaption();

if(z){this.getChildControl(D).setValue(z);
this._showChildControl(D);
}else{this._excludeChildControl(D);
}
if(this.getShowMinimize()){this._showChildControl(F);
A=this.getChildControl(F);
this.getAllowMinimize()?A.resetEnabled():A.setEnabled(false);
}else{this._excludeChildControl(F);
}
if(this.getShowMaximize()){if(this.isMaximized()){this._showChildControl(G);
this._excludeChildControl(H);
}else{this._showChildControl(H);
this._excludeChildControl(G);
}A=this.getChildControl(H);
this.getAllowMaximize()?A.resetEnabled():A.setEnabled(false);
}else{this._excludeChildControl(H);
this._excludeChildControl(G);
}
if(this.getShowClose()){this._showChildControl(E);
A=this.getChildControl(E);
this.getAllowClose()?A.resetEnabled():A.setEnabled(false);
}else{this._excludeChildControl(E);
}},close:function(){if(!this.isVisible()){return;
}
if(this.fireNonBubblingEvent(bj,qx.event.type.Event,[false,true])){this.hide();
this.fireEvent(bg);
}},open:function(){this.show();
this.setActive(true);
this.focus();
},center:function(){var parent=this.getLayoutParent();

if(parent){var b=parent.getBounds();

if(b){var c=this.getSizeHint();
var a=Math.round((b.width-c.width)/2);
var top=Math.round((b.height-c.height)/2);

if(top<0){top=0;
}this.moveTo(a,top);
return;
}}{};
},maximize:function(){if(this.isMaximized()){return;
}var parent=this.getLayoutParent();

if(parent!=null&&parent.supportsMaximize()){if(this.fireNonBubblingEvent(be,qx.event.type.Event,[false,true])){if(!this.isVisible()){this.open();
}var d=this.getLayoutProperties();
this.__kR=d.left===undefined?0:d.left;
this.__kQ=d.top===undefined?0:d.top;
this.setLayoutProperties({left:null,top:null,edge:0});
this.addState(br);
this._updateCaptionBar();
this.fireEvent(bd);
}}},minimize:function(){if(!this.isVisible()){return;
}
if(this.fireNonBubblingEvent(bi,qx.event.type.Event,[false,true])){var bs=this.getLayoutProperties();
this.__kR=bs.left===undefined?0:bs.left;
this.__kQ=bs.top===undefined?0:bs.top;
this.removeState(br);
this.hide();
this.fireEvent(N);
}},restore:function(){if(this.getMode()===bl){return;
}
if(this.fireNonBubblingEvent(M,qx.event.type.Event,[false,true])){if(!this.isVisible()){this.open();
}var h=this.__kR;
var top=this.__kQ;
this.setLayoutProperties({edge:null,left:h,top:top});
this.removeState(br);
this._updateCaptionBar();
this.fireEvent(X);
}},moveTo:function(bu,top){if(this.isMaximized()){return;
}this.setLayoutProperties({left:bu,top:top});
},isMaximized:function(){return this.hasState(br);
},getMode:function(){if(!this.isVisible()){return W;
}else{if(this.isMaximized()){return br;
}else{return bl;
}}},_applyActive:function(i,j){if(j){this.removeState(bk);
}else{this.addState(bk);
}},_getContentPaddingTarget:function(){return this.getChildControl(bp);
},_applyShowStatusbar:function(m,n){if(m){this._showChildControl(bn);
}else{this._excludeChildControl(bn);
}},_applyCaptionBarChange:function(k,l){this._updateCaptionBar();
},_applyStatus:function(o,p){var q=this.getChildControl(bo,true);

if(q){q.setValue(o);
}},_applyCaption:function(x,y){{};
this.getChildControl(D).setValue(x);
},_applyIcon:function(v,w){{};
this.getChildControl(C).setSource(v);
},_onWindowEventStop:function(e){e.stopPropagation();
},_onWindowMouseDown:function(e){this.setActive(true);
},_onWindowFocusOut:function(e){if(this.getModal()){return;
}var bt=e.getRelatedTarget();

if(bt!=null&&!qx.ui.core.Widget.contains(this,bt)){this.setActive(false);
}},_onCaptionMouseDblClick:function(e){if(this.getAllowMaximize()){this.isMaximized()?this.restore():this.maximize();
}},_onMinimizeButtonClick:function(e){this.minimize();
this.getChildControl(F).reset();
},_onRestoreButtonClick:function(e){this.restore();
this.getChildControl(G).reset();
},_onMaximizeButtonClick:function(e){this.maximize();
this.getChildControl(H).reset();
},_onCloseButtonClick:function(e){this.close();
this.getChildControl(E).reset();
}}});
})();
(function(){var a="qx.ui.window.IDesktop";
qx.Interface.define(a,{members:{setWindowManager:function(b){this.assertInterface(b,qx.ui.window.IWindowManager);
},getWindows:function(){},supportsMaximize:function(){},blockContent:function(c){this.assertInteger(c);
},unblockContent:function(){},isContentBlocked:function(){}}});
})();
(function(){var n="_applyLayoutChange",m="top",k="left",j="middle",h="Decorator",g="center",f="_applyReversed",e="bottom",d="qx.ui.layout.VBox",c="Integer",a="right",b="Boolean";
qx.Class.define(d,{extend:qx.ui.layout.Abstract,construct:function(D,E,F){qx.ui.layout.Abstract.call(this);

if(D){this.setSpacing(D);
}
if(E){this.setAlignY(E);
}
if(F){this.setSeparator(F);
}},properties:{alignY:{check:[m,j,e],init:m,apply:n},alignX:{check:[k,g,a],init:k,apply:n},spacing:{check:c,init:0,apply:n},separator:{check:h,nullable:true,apply:n},reversed:{check:b,init:false,apply:f}},members:{__kS:null,__kT:null,__kU:null,__kV:null,_applyReversed:function(){this._invalidChildrenCache=true;
this._applyLayoutChange();
},__kW:function(){var bk=this._getLayoutChildren();
var length=bk.length;
var bg=false;
var bf=this.__kS&&this.__kS.length!=length&&this.__kT&&this.__kS;
var bi;
var bh=bf?this.__kS:new Array(length);
var bj=bf?this.__kT:new Array(length);
if(this.getReversed()){bk=bk.concat().reverse();
}for(var i=0;i<length;i++){bi=bk[i].getLayoutProperties();

if(bi.height!=null){bh[i]=parseFloat(bi.height)/100;
}
if(bi.flex!=null){bj[i]=bi.flex;
bg=true;
}else{bj[i]=0;
}}if(!bf){this.__kS=bh;
this.__kT=bj;
}this.__kU=bg;
this.__kV=bk;
delete this._invalidChildrenCache;
},verifyLayoutProperty:null,renderLayout:function(G,H){if(this._invalidChildrenCache){this.__kW();
}var O=this.__kV;
var length=O.length;
var Y=qx.ui.layout.Util;
var X=this.getSpacing();
var bc=this.getSeparator();

if(bc){var L=Y.computeVerticalSeparatorGaps(O,X,bc);
}else{var L=Y.computeVerticalGaps(O,X,true);
}var i,J,K,S;
var T=[];
var ba=L;

for(i=0;i<length;i+=1){S=this.__kS[i];
K=S!=null?Math.floor((H-L)*S):O[i].getSizeHint().height;
T.push(K);
ba+=K;
}if(this.__kU&&ba!=H){var Q={};
var W,bb;

for(i=0;i<length;i+=1){W=this.__kT[i];

if(W>0){P=O[i].getSizeHint();
Q[i]={min:P.minHeight,value:T[i],max:P.maxHeight,flex:W};
}}var M=Y.computeFlexOffsets(Q,H,ba);

for(i in M){bb=M[i].offset;
T[i]+=bb;
ba+=bb;
}}var top=O[0].getMarginTop();
if(ba<H&&this.getAlignY()!=m){top=H-ba;

if(this.getAlignY()===j){top=Math.round(top/2);
}}var P,be,U,K,R,V,N;
this._clearSeparators();
if(bc){var bd=qx.theme.manager.Decoration.getInstance().resolve(bc).getInsets();
var I=bd.top+bd.bottom;
}for(i=0;i<length;i+=1){J=O[i];
K=T[i];
P=J.getSizeHint();
V=J.getMarginLeft();
N=J.getMarginRight();
U=Math.max(P.minWidth,Math.min(G-V-N,P.maxWidth));
be=Y.computeHorizontalAlignOffset(J.getAlignX()||this.getAlignX(),U,G,V,N);
if(i>0){if(bc){top+=R+X;
this._renderSeparator(bc,{top:top,left:0,height:I,width:G});
top+=I+X+J.getMarginTop();
}else{top+=Y.collapseMargins(X,R,J.getMarginTop());
}}J.renderLayout(be,top,U,K);
top+=K;
R=J.getMarginBottom();
}},_computeSizeHint:function(){if(this._invalidChildrenCache){this.__kW();
}var u=qx.ui.layout.Util;
var C=this.__kV;
var q=0,t=0,s=0;
var o=0,v=0;
var z,p,B;
for(var i=0,l=C.length;i<l;i+=1){z=C[i];
p=z.getSizeHint();
t+=p.height;
var y=this.__kT[i];
var r=this.__kS[i];

if(y){q+=p.minHeight;
}else if(r){s=Math.max(s,Math.round(p.minHeight/r));
}else{q+=p.height;
}B=z.getMarginLeft()+z.getMarginRight();
if((p.width+B)>v){v=p.width+B;
}if((p.minWidth+B)>o){o=p.minWidth+B;
}}q+=s;
var x=this.getSpacing();
var A=this.getSeparator();

if(A){var w=u.computeVerticalSeparatorGaps(C,x,A);
}else{var w=u.computeVerticalGaps(C,x,true);
}return {minHeight:q+w,height:t+w,minWidth:o,width:v};
}},destruct:function(){this.__kS=this.__kT=this.__kV=null;
}});
})();
(function(){var R="_applyLayoutChange",Q="left",P="center",O="top",N="Decorator",M="middle",L="_applyReversed",K="bottom",J="Boolean",I="right",G="Integer",H="qx.ui.layout.HBox";
qx.Class.define(H,{extend:qx.ui.layout.Abstract,construct:function(S,T,U){qx.ui.layout.Abstract.call(this);

if(S){this.setSpacing(S);
}
if(T){this.setAlignX(T);
}
if(U){this.setSeparator(U);
}},properties:{alignX:{check:[Q,P,I],init:Q,apply:R},alignY:{check:[O,M,K],init:O,apply:R},spacing:{check:G,init:0,apply:R},separator:{check:N,nullable:true,apply:R},reversed:{check:J,init:false,apply:L}},members:{__kX:null,__kY:null,__la:null,__lb:null,_applyReversed:function(){this._invalidChildrenCache=true;
this._applyLayoutChange();
},__lc:function(){var F=this._getLayoutChildren();
var length=F.length;
var C=false;
var A=this.__kX&&this.__kX.length!=length&&this.__kY&&this.__kX;
var D;
var B=A?this.__kX:new Array(length);
var E=A?this.__kY:new Array(length);
if(this.getReversed()){F=F.concat().reverse();
}for(var i=0;i<length;i++){D=F[i].getLayoutProperties();

if(D.width!=null){B[i]=parseFloat(D.width)/100;
}
if(D.flex!=null){E[i]=D.flex;
C=true;
}else{E[i]=0;
}}if(!A){this.__kX=B;
this.__kY=E;
}this.__la=C;
this.__lb=F;
delete this._invalidChildrenCache;
},verifyLayoutProperty:null,renderLayout:function(a,b){if(this._invalidChildrenCache){this.__lc();
}var h=this.__lb;
var length=h.length;
var s=qx.ui.layout.Util;
var r=this.getSpacing();
var v=this.getSeparator();

if(v){var e=s.computeHorizontalSeparatorGaps(h,r,v);
}else{var e=s.computeHorizontalGaps(h,r,true);
}var i,c,p,o;
var u=[];
var j=e;

for(i=0;i<length;i+=1){o=this.__kX[i];
p=o!=null?Math.floor((a-e)*o):h[i].getSizeHint().width;
u.push(p);
j+=p;
}if(this.__la&&j!=a){var m={};
var q,t;

for(i=0;i<length;i+=1){q=this.__kY[i];

if(q>0){k=h[i].getSizeHint();
m[i]={min:k.minWidth,value:u[i],max:k.maxWidth,flex:q};
}}var f=s.computeFlexOffsets(m,a,j);

for(i in f){t=f[i].offset;
u[i]+=t;
j+=t;
}}var z=h[0].getMarginLeft();
if(j<a&&this.getAlignX()!=Q){z=a-j;

if(this.getAlignX()===P){z=Math.round(z/2);
}}var k,top,d,p,g,x,n;
var r=this.getSpacing();
this._clearSeparators();
if(v){var w=qx.theme.manager.Decoration.getInstance().resolve(v).getInsets();
var y=w.left+w.right;
}for(i=0;i<length;i+=1){c=h[i];
p=u[i];
k=c.getSizeHint();
x=c.getMarginTop();
n=c.getMarginBottom();
d=Math.max(k.minHeight,Math.min(b-x-n,k.maxHeight));
top=s.computeVerticalAlignOffset(c.getAlignY()||this.getAlignY(),d,b,x,n);
if(i>0){if(v){z+=g+r;
this._renderSeparator(v,{left:z,top:0,width:y,height:b});
z+=y+r+c.getMarginLeft();
}else{z+=s.collapseMargins(r,g,c.getMarginLeft());
}}c.renderLayout(z,top,p,d);
z+=p;
g=c.getMarginRight();
}},_computeSizeHint:function(){if(this._invalidChildrenCache){this.__lc();
}var bc=qx.ui.layout.Util;
var bk=this.__lb;
var V=0,bd=0,ba=0;
var Y=0,bb=0;
var bh,W,bj;
for(var i=0,l=bk.length;i<l;i+=1){bh=bk[i];
W=bh.getSizeHint();
bd+=W.width;
var bg=this.__kY[i];
var X=this.__kX[i];

if(bg){V+=W.minWidth;
}else if(X){ba=Math.max(ba,Math.round(W.minWidth/X));
}else{V+=W.width;
}bj=bh.getMarginTop()+bh.getMarginBottom();
if((W.height+bj)>bb){bb=W.height+bj;
}if((W.minHeight+bj)>Y){Y=W.minHeight+bj;
}}V+=ba;
var bf=this.getSpacing();
var bi=this.getSeparator();

if(bi){var be=bc.computeHorizontalSeparatorGaps(bk,bf,bi);
}else{var be=bc.computeHorizontalGaps(bk,bf,true);
}return {minWidth:V+be,width:bd+be,minHeight:Y,height:bb};
}},destruct:function(){this.__kX=this.__kY=this.__lb=null;
}});
})();
(function(){var cS="left",cR="top",cQ="_applyLayoutChange",cP="hAlign",cO="flex",cN="vAlign",cM="Integer",cL="minWidth",cK="width",cJ="minHeight",cG="qx.ui.layout.Grid",cI="height",cH="maxHeight",cF="maxWidth";
qx.Class.define(cG,{extend:qx.ui.layout.Abstract,construct:function(cV,cW){qx.ui.layout.Abstract.call(this);
this.__ld=[];
this.__le=[];

if(cV){this.setSpacingX(cV);
}
if(cW){this.setSpacingY(cW);
}},properties:{spacingX:{check:cM,init:0,apply:cQ},spacingY:{check:cM,init:0,apply:cQ}},members:{__lf:null,__ld:null,__le:null,__lg:null,__lh:null,__li:null,__lj:null,__lk:null,__ll:null,verifyLayoutProperty:null,__lm:function(){var cA=[];
var cz=[];
var cB=[];
var cx=-1;
var cw=-1;
var cD=this._getLayoutChildren();

for(var i=0,l=cD.length;i<l;i++){var cy=cD[i];
var cC=cy.getLayoutProperties();
var cE=cC.row;
var cv=cC.column;
cC.colSpan=cC.colSpan||1;
cC.rowSpan=cC.rowSpan||1;
if(cE==null||cv==null){throw new Error("The layout properties 'row' and 'column' of the child widget '"+cy+"' must be defined!");
}
if(cA[cE]&&cA[cE][cv]){throw new Error("Cannot add widget '"+cy+"'!. "+"There is already a widget '"+cA[cE][cv]+"' in this cell ("+cE+", "+cv+")");
}
for(var x=cv;x<cv+cC.colSpan;x++){for(var y=cE;y<cE+cC.rowSpan;y++){if(cA[y]==undefined){cA[y]=[];
}cA[y][x]=cy;
cw=Math.max(cw,x);
cx=Math.max(cx,y);
}}
if(cC.rowSpan>1){cB.push(cy);
}
if(cC.colSpan>1){cz.push(cy);
}}for(var y=0;y<=cx;y++){if(cA[y]==undefined){cA[y]=[];
}}this.__lf=cA;
this.__lg=cz;
this.__lh=cB;
this.__li=cx;
this.__lj=cw;
this.__lk=null;
this.__ll=null;
delete this._invalidChildrenCache;
},_setRowData:function(cX,cY,da){var db=this.__ld[cX];

if(!db){this.__ld[cX]={};
this.__ld[cX][cY]=da;
}else{db[cY]=da;
}},_setColumnData:function(dj,dk,dl){var dm=this.__le[dj];

if(!dm){this.__le[dj]={};
this.__le[dj][dk]=dl;
}else{dm[dk]=dl;
}},setSpacing:function(G){this.setSpacingY(G);
this.setSpacingX(G);
return this;
},setColumnAlign:function(cs,ct,cu){{};
this._setColumnData(cs,cP,ct);
this._setColumnData(cs,cN,cu);
this._applyLayoutChange();
return this;
},getColumnAlign:function(J){var K=this.__le[J]||{};
return {vAlign:K.vAlign||cR,hAlign:K.hAlign||cS};
},setRowAlign:function(br,bs,bt){{};
this._setRowData(br,cP,bs);
this._setRowData(br,cN,bt);
this._applyLayoutChange();
return this;
},getRowAlign:function(bu){var bv=this.__ld[bu]||{};
return {vAlign:bv.vAlign||cR,hAlign:bv.hAlign||cS};
},getCellWidget:function(dY,ea){if(this._invalidChildrenCache){this.__lm();
}var dY=this.__lf[dY]||{};
return dY[ea]||null;
},getRowCount:function(){if(this._invalidChildrenCache){this.__lm();
}return this.__li+1;
},getColumnCount:function(){if(this._invalidChildrenCache){this.__lm();
}return this.__lj+1;
},getCellAlign:function(bQ,bR){var bX=cR;
var bV=cS;
var bW=this.__ld[bQ];
var bT=this.__le[bR];
var bS=this.__lf[bQ][bR];

if(bS){var bU={vAlign:bS.getAlignY(),hAlign:bS.getAlignX()};
}else{bU={};
}if(bU.vAlign){bX=bU.vAlign;
}else if(bW&&bW.vAlign){bX=bW.vAlign;
}else if(bT&&bT.vAlign){bX=bT.vAlign;
}if(bU.hAlign){bV=bU.hAlign;
}else if(bT&&bT.hAlign){bV=bT.hAlign;
}else if(bW&&bW.hAlign){bV=bW.hAlign;
}return {vAlign:bX,hAlign:bV};
},setColumnFlex:function(H,I){this._setColumnData(H,cO,I);
this._applyLayoutChange();
return this;
},getColumnFlex:function(ch){var ci=this.__le[ch]||{};
return ci.flex!==undefined?ci.flex:0;
},setRowFlex:function(dE,dF){this._setRowData(dE,cO,dF);
this._applyLayoutChange();
return this;
},getRowFlex:function(dT){var dU=this.__ld[dT]||{};
var dV=dU.flex!==undefined?dU.flex:0;
return dV;
},setColumnMaxWidth:function(dG,dH){this._setColumnData(dG,cF,dH);
this._applyLayoutChange();
return this;
},getColumnMaxWidth:function(cb){var cc=this.__le[cb]||{};
return cc.maxWidth!==undefined?cc.maxWidth:Infinity;
},setColumnWidth:function(dW,dX){this._setColumnData(dW,cK,dX);
this._applyLayoutChange();
return this;
},getColumnWidth:function(bO){var bP=this.__le[bO]||{};
return bP.width!==undefined?bP.width:null;
},setColumnMinWidth:function(bw,bx){this._setColumnData(bw,cL,bx);
this._applyLayoutChange();
return this;
},getColumnMinWidth:function(bM){var bN=this.__le[bM]||{};
return bN.minWidth||0;
},setRowMaxHeight:function(cj,ck){this._setRowData(cj,cH,ck);
this._applyLayoutChange();
return this;
},getRowMaxHeight:function(cT){var cU=this.__ld[cT]||{};
return cU.maxHeight||Infinity;
},setRowHeight:function(cd,ce){this._setRowData(cd,cI,ce);
this._applyLayoutChange();
return this;
},getRowHeight:function(bY){var ca=this.__ld[bY]||{};
return ca.height!==undefined?ca.height:null;
},setRowMinHeight:function(cf,cg){this._setRowData(cf,cJ,cg);
this._applyLayoutChange();
return this;
},getRowMinHeight:function(o){var p=this.__ld[o]||{};
return p.minHeight||0;
},__ln:function(dn){var ds=dn.getSizeHint();
var dr=dn.getMarginLeft()+dn.getMarginRight();
var dq=dn.getMarginTop()+dn.getMarginBottom();
var dp={height:ds.height+dq,width:ds.width+dr,minHeight:ds.minHeight+dq,minWidth:ds.minWidth+dr,maxHeight:ds.maxHeight+dq,maxWidth:ds.maxWidth+dr};
return dp;
},_fixHeightsRowSpan:function(by){var bJ=this.getSpacingY();

for(var i=0,l=this.__lh.length;i<l;i++){var bB=this.__lh[i];
var bD=this.__ln(bB);
var bE=bB.getLayoutProperties();
var bA=bE.row;
var bH=bJ*(bE.rowSpan-1);
var bz=bH;
var bG={};

for(var j=0;j<bE.rowSpan;j++){var bL=bE.row+j;
var bC=by[bL];
var bK=this.getRowFlex(bL);

if(bK>0){bG[bL]={min:bC.minHeight,value:bC.height,max:bC.maxHeight,flex:bK};
}bH+=bC.height;
bz+=bC.minHeight;
}if(bH<bD.height){var bI=qx.ui.layout.Util.computeFlexOffsets(bG,bD.height,bH);

for(var j=0;j<bE.rowSpan;j++){var bF=bI[bA+j]?bI[bA+j].offset:0;
by[bA+j].height+=bF;
}}if(bz<bD.minHeight){var bI=qx.ui.layout.Util.computeFlexOffsets(bG,bD.minHeight,bz);

for(var j=0;j<bE.rowSpan;j++){var bF=bI[bA+j]?bI[bA+j].offset:0;
by[bA+j].minHeight+=bF;
}}}},_fixWidthsColSpan:function(q){var u=this.getSpacingX();

for(var i=0,l=this.__lg.length;i<l;i++){var r=this.__lg[i];
var t=this.__ln(r);
var w=r.getLayoutProperties();
var s=w.column;
var E=u*(w.colSpan-1);
var v=E;
var z={};
var B;

for(var j=0;j<w.colSpan;j++){var F=w.column+j;
var D=q[F];
var C=this.getColumnFlex(F);
if(C>0){z[F]={min:D.minWidth,value:D.width,max:D.maxWidth,flex:C};
}E+=D.width;
v+=D.minWidth;
}if(E<t.width){var A=qx.ui.layout.Util.computeFlexOffsets(z,t.width,E);

for(var j=0;j<w.colSpan;j++){B=A[s+j]?A[s+j].offset:0;
q[s+j].width+=B;
}}if(v<t.minWidth){var A=qx.ui.layout.Util.computeFlexOffsets(z,t.minWidth,v);

for(var j=0;j<w.colSpan;j++){B=A[s+j]?A[s+j].offset:0;
q[s+j].minWidth+=B;
}}}},_getRowHeights:function(){if(this.__lk!=null){return this.__lk;
}var dC=[];
var dv=this.__li;
var du=this.__lj;

for(var dD=0;dD<=dv;dD++){var dw=0;
var dy=0;
var dx=0;

for(var dB=0;dB<=du;dB++){var dt=this.__lf[dD][dB];

if(!dt){continue;
}var dz=dt.getLayoutProperties().rowSpan||0;

if(dz>1){continue;
}var dA=this.__ln(dt);

if(this.getRowFlex(dD)>0){dw=Math.max(dw,dA.minHeight);
}else{dw=Math.max(dw,dA.height);
}dy=Math.max(dy,dA.height);
}var dw=Math.max(dw,this.getRowMinHeight(dD));
var dx=this.getRowMaxHeight(dD);

if(this.getRowHeight(dD)!==null){var dy=this.getRowHeight(dD);
}else{var dy=Math.max(dw,Math.min(dy,dx));
}dC[dD]={minHeight:dw,height:dy,maxHeight:dx};
}
if(this.__lh.length>0){this._fixHeightsRowSpan(dC);
}this.__lk=dC;
return dC;
},_getColWidths:function(){if(this.__ll!=null){return this.__ll;
}var dM=[];
var dJ=this.__lj;
var dL=this.__li;

for(var dR=0;dR<=dJ;dR++){var dP=0;
var dO=0;
var dK=Infinity;

for(var dS=0;dS<=dL;dS++){var dI=this.__lf[dS][dR];

if(!dI){continue;
}var dN=dI.getLayoutProperties().colSpan||0;

if(dN>1){continue;
}var dQ=this.__ln(dI);

if(this.getColumnFlex(dR)>0){dO=Math.max(dO,dQ.minWidth);
}else{dO=Math.max(dO,dQ.width);
}dP=Math.max(dP,dQ.width);
}var dO=Math.max(dO,this.getColumnMinWidth(dR));
var dK=this.getColumnMaxWidth(dR);

if(this.getColumnWidth(dR)!==null){var dP=this.getColumnWidth(dR);
}else{var dP=Math.max(dO,Math.min(dP,dK));
}dM[dR]={minWidth:dO,width:dP,maxWidth:dK};
}
if(this.__lg.length>0){this._fixWidthsColSpan(dM);
}this.__ll=dM;
return dM;
},_getColumnFlexOffsets:function(cl){var cm=this.getSizeHint();
var cq=cl-cm.width;

if(cq==0){return {};
}var co=this._getColWidths();
var cn={};

for(var i=0,l=co.length;i<l;i++){var cr=co[i];
var cp=this.getColumnFlex(i);

if((cp<=0)||(cr.width==cr.maxWidth&&cq>0)||(cr.width==cr.minWidth&&cq<0)){continue;
}cn[i]={min:cr.minWidth,value:cr.width,max:cr.maxWidth,flex:cp};
}return qx.ui.layout.Util.computeFlexOffsets(cn,cl,cm.width);
},_getRowFlexOffsets:function(dc){var dd=this.getSizeHint();
var dg=dc-dd.height;

if(dg==0){return {};
}var dh=this._getRowHeights();
var de={};

for(var i=0,l=dh.length;i<l;i++){var di=dh[i];
var df=this.getRowFlex(i);

if((df<=0)||(di.height==di.maxHeight&&dg>0)||(di.height==di.minHeight&&dg<0)){continue;
}de[i]={min:di.minHeight,value:di.height,max:di.maxHeight,flex:df};
}return qx.ui.layout.Util.computeFlexOffsets(de,dc,dd.height);
},renderLayout:function(L,M){if(this._invalidChildrenCache){this.__lm();
}var bb=qx.ui.layout.Util;
var O=this.getSpacingX();
var U=this.getSpacingY();
var bg=this._getColWidths();
var bf=this._getColumnFlexOffsets(L);
var P=[];
var bi=this.__lj;
var N=this.__li;
var bh;

for(var bj=0;bj<=bi;bj++){bh=bf[bj]?bf[bj].offset:0;
P[bj]=bg[bj].width+bh;
}var X=this._getRowHeights();
var ba=this._getRowFlexOffsets(M);
var bp=[];

for(var V=0;V<=N;V++){bh=ba[V]?ba[V].offset:0;
bp[V]=X[V].height+bh;
}var bq=0;

for(var bj=0;bj<=bi;bj++){var top=0;

for(var V=0;V<=N;V++){var bd=this.__lf[V][bj];
if(!bd){top+=bp[V]+U;
continue;
}var Q=bd.getLayoutProperties();
if(Q.row!==V||Q.column!==bj){top+=bp[V]+U;
continue;
}var bo=O*(Q.colSpan-1);

for(var i=0;i<Q.colSpan;i++){bo+=P[bj+i];
}var be=U*(Q.rowSpan-1);

for(var i=0;i<Q.rowSpan;i++){be+=bp[V+i];
}var R=bd.getSizeHint();
var bm=bd.getMarginTop();
var bc=bd.getMarginLeft();
var Y=bd.getMarginBottom();
var T=bd.getMarginRight();
var W=Math.max(R.minWidth,Math.min(bo-bc-T,R.maxWidth));
var bn=Math.max(R.minHeight,Math.min(be-bm-Y,R.maxHeight));
var bk=this.getCellAlign(V,bj);
var bl=bq+bb.computeHorizontalAlignOffset(bk.hAlign,W,bo,bc,T);
var S=top+bb.computeVerticalAlignOffset(bk.vAlign,bn,be,bm,Y);
bd.renderLayout(bl,S,W,bn);
top+=bp[V]+U;
}bq+=P[bj]+O;
}},invalidateLayoutCache:function(){qx.ui.layout.Abstract.prototype.invalidateLayoutCache.call(this);
this.__ll=null;
this.__lk=null;
},_computeSizeHint:function(){if(this._invalidChildrenCache){this.__lm();
}var e=this._getColWidths();
var g=0,h=0;

for(var i=0,l=e.length;i<l;i++){var k=e[i];

if(this.getColumnFlex(i)>0){g+=k.minWidth;
}else{g+=k.width;
}h+=k.width;
}var m=this._getRowHeights();
var c=0,f=0;

for(var i=0,l=m.length;i<l;i++){var n=m[i];

if(this.getRowFlex(i)>0){c+=n.minHeight;
}else{c+=n.height;
}f+=n.height;
}var b=this.getSpacingX()*(e.length-1);
var a=this.getSpacingY()*(m.length-1);
var d={minWidth:g+b,width:h+b,minHeight:c+a,height:f+a};
return d;
}},destruct:function(){this.__lf=this.__ld=this.__le=this.__lg=this.__lh=this.__ll=this.__lk=null;
}});
})();
(function(){var t="execute",s="toolTipText",r="icon",q="label",p="qx.ui.core.MExecutable",o="value",n="qx.event.type.Event",m="_applyCommand",l="enabled",k="menu",h="changeCommand",j="qx.ui.core.Command";
qx.Mixin.define(p,{events:{"execute":n},properties:{command:{check:j,apply:m,event:h,nullable:true}},members:{__lo:null,__lp:false,__lq:null,_bindableProperties:[l,q,r,s,o,k],execute:function(){var u=this.getCommand();

if(u){if(this.__lp){this.__lp=false;
}else{this.__lp=true;
u.execute(this);
}}this.fireEvent(t);
},__lr:function(e){if(this.__lp){this.__lp=false;
return;
}this.__lp=true;
this.execute();
},_applyCommand:function(a,b){if(b!=null){b.removeListenerById(this.__lq);
}
if(a!=null){this.__lq=a.addListener(t,this.__lr,this);
}var f=this.__lo;

if(f==null){this.__lo=f={};
}
for(var i=0;i<this._bindableProperties.length;i++){var d=this._bindableProperties[i];
if(b!=null&&f[d]!=null){b.removeBinding(f[d]);
f[d]=null;
}if(a!=null&&qx.Class.hasProperty(this.constructor,d)){var c=a.get(d);

if(c==null){var g=this.get(d);
}f[d]=a.bind(d,this,d);
if(g){this.set(d,g);
}}}}},destruct:function(){this.__lo=null;
}});
})();
(function(){var b="qx.ui.form.IExecutable",a="qx.event.type.Data";
qx.Interface.define(b,{events:{"execute":a},members:{setCommand:function(c){return arguments.length==1;
},getCommand:function(){},execute:function(){}}});
})();
(function(){var r="pressed",q="abandoned",p="hovered",o="Enter",n="Space",m="dblclick",l="qx.ui.form.Button",k="mouseup",j="mousedown",i="mouseover",f="mouseout",h="keydown",g="button",d="keyup";
qx.Class.define(l,{extend:qx.ui.basic.Atom,include:[qx.ui.core.MExecutable],implement:[qx.ui.form.IExecutable],construct:function(a,b,c){qx.ui.basic.Atom.call(this,a,b);

if(c!=null){this.setCommand(c);
}this.addListener(i,this._onMouseOver);
this.addListener(f,this._onMouseOut);
this.addListener(j,this._onMouseDown);
this.addListener(k,this._onMouseUp);
this.addListener(h,this._onKeyDown);
this.addListener(d,this._onKeyUp);
this.addListener(m,this._onStopEvent);
},properties:{appearance:{refine:true,init:g},focusable:{refine:true,init:true}},members:{_forwardStates:{focused:true,hovered:true,pressed:true,disabled:true},press:function(){if(this.hasState(q)){return;
}this.addState(r);
},release:function(){if(this.hasState(r)){this.removeState(r);
}},reset:function(){this.removeState(r);
this.removeState(q);
this.removeState(p);
},_onMouseOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}
if(this.hasState(q)){this.removeState(q);
this.addState(r);
}this.addState(p);
},_onMouseOut:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}this.removeState(p);

if(this.hasState(r)){this.removeState(r);
this.addState(q);
}},_onMouseDown:function(e){if(!e.isLeftPressed()){return;
}e.stopPropagation();
this.capture();
this.removeState(q);
this.addState(r);
},_onMouseUp:function(e){this.releaseCapture();
var s=this.hasState(r);
var t=this.hasState(q);

if(s){this.removeState(r);
}
if(t){this.removeState(q);
}else{this.addState(p);

if(s){this.execute();
}}e.stopPropagation();
},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case o:case n:this.removeState(q);
this.addState(r);
e.stopPropagation();
}},_onKeyUp:function(e){switch(e.getKeyIdentifier()){case o:case n:if(this.hasState(r)){this.removeState(q);
this.removeState(r);
this.execute();
e.stopPropagation();
}}}}});
})();
(function(){var k="Boolean",j="invalid",i="qx.ui.form.MForm",h="_applyValid",g="",f="changeRequired",e="changeValid",d="changeInvalidMessage",c="String";
qx.Mixin.define(i,{properties:{valid:{check:k,init:true,apply:h,event:e},required:{check:k,init:false,event:f},invalidMessage:{check:c,init:g,event:d}},members:{_applyValid:function(a,b){a?this.removeState(j):this.addState(j);
}}});
})();
(function(){var A="showingPlaceholder",z="color",y="",x="none",w="qx.client",v="qx.dynlocale",u="Boolean",t="qx.event.type.Data",s="readonly",r="input",bq="focusin",bp="visibility",bo="focusout",bn="changeLocale",bm="hidden",bl="on",bk="absolute",bj="readOnly",bi="text",bh="_applyTextAlign",H="px",I="RegExp",F=")",G="syncAppearance",D="changeValue",E="gecko",B="A",C="change",L="textAlign",M="focused",U="center",S="visible",Y="disabled",W="url(",bd="off",bb="String",O="resize",bg="qx.ui.form.AbstractField",bf="transparent",be="spellcheck",N="false",Q="right",R="PositiveInteger",T="mshtml",V="abstract",X="block",ba="webkit",bc="_applyReadOnly",J="_applyPlaceholder",K="left",P="qx/static/blank.gif";
qx.Class.define(bg,{extend:qx.ui.core.Widget,implement:[qx.ui.form.IStringForm,qx.ui.form.IForm],include:[qx.ui.form.MForm],type:V,construct:function(bH){qx.ui.core.Widget.call(this);

if(bH!=null){this.setValue(bH);
}this.getContentElement().addListener(C,this._onChangeContent,this);
this.addListener(G,this._syncPlaceholder,this);
if(qx.core.Variant.isSet(v,bl)){qx.locale.Manager.getInstance().addListener(bn,this._onChangeLocale,this);
}},events:{"input":t,"changeValue":t},properties:{textAlign:{check:[K,U,Q],nullable:true,themeable:true,apply:bh},readOnly:{check:u,apply:bc,init:false},selectable:{refine:true,init:true},focusable:{refine:true,init:true},maxLength:{check:R,init:Infinity},liveUpdate:{check:u,init:false},placeholder:{check:bb,nullable:true,apply:J},filter:{check:I,nullable:true,init:null}},members:{__ls:true,__lt:null,__lu:null,__lv:null,getFocusElement:function(){var bK=this.getContentElement();

if(bK){return bK;
}},_createInputElement:function(){return new qx.html.Input(bi);
},renderLayout:function(i,top,j,k){var l=this._updateInsets;
var p=qx.ui.core.Widget.prototype.renderLayout.call(this,i,top,j,k);
if(!p){return;
}var n=p.size||l;
var q=H;

if(n||p.local||p.margin){var m=this.getInsets();
var innerWidth=j-m.left-m.right;
var innerHeight=k-m.top-m.bottom;
innerWidth=innerWidth<0?0:innerWidth;
innerHeight=innerHeight<0?0:innerHeight;
}var o=this.getContentElement();

if(l){this.__ly().setStyles({"left":m.left+q,"top":m.top+q});
}
if(n){this.__ly().setStyles({"width":innerWidth+q,"height":innerHeight+q});
o.setStyles({"width":innerWidth+q,"height":innerHeight+q});
}},_createContentElement:function(){var c=this._createInputElement();
c.setStyles({"border":x,"padding":0,"margin":0,"display":X,"background":bf,"outline":x,"appearance":x,"position":bk,"autoComplete":bd});
c.setSelectable(this.getSelectable());
c.setEnabled(this.getEnabled());
c.addListener(r,this._onHtmlInput,this);
if(qx.core.Variant.isSet(w,E)){c.setAttribute(be,N);
}if(qx.core.Variant.isSet(w,ba)){c.setStyle(O,x);
}if(qx.core.Variant.isSet(w,T)){c.setStyles({backgroundImage:W+qx.util.ResourceManager.getInstance().toUri(P)+F});
}return c;
},_applyEnabled:function(bF,bG){qx.ui.core.Widget.prototype._applyEnabled.call(this,bF,bG);
this.getContentElement().setEnabled(bF);

if(bF){this._showPlaceholder();
}else{this._removePlaceholder();
}},__lw:{width:16,height:16},_getContentHint:function(){return {width:this.__lw.width*10,height:this.__lw.height||16};
},_applyFont:function(br,bs){var bt;

if(br){var bu=qx.theme.manager.Font.getInstance().resolve(br);
bt=bu.getStyles();
}else{bt=qx.bom.Font.getDefaultStyles();
}this.getContentElement().setStyles(bt);
this.__ly().setStyles(bt);
if(br){this.__lw=qx.bom.Label.getTextSize(B,bt);
}else{delete this.__lw;
}qx.ui.core.queue.Layout.add(this);
},_applyTextColor:function(bI,bJ){if(bI){this.getContentElement().setStyle(z,qx.theme.manager.Color.getInstance().resolve(bI));
this.__ly().setStyle(z,qx.theme.manager.Color.getInstance().resolve(bI));
}else{this.getContentElement().removeStyle(z);
this.__ly().removeStyle(z);
}},tabFocus:function(){qx.ui.core.Widget.prototype.tabFocus.call(this);
this.selectAllText();
},_getTextSize:function(){return this.__lw;
},_onHtmlInput:function(e){var by=e.getData();
var bx=true;
this.__ls=false;
if(this.getFilter()!=null){var bz=y;
var bv=by.search(this.getFilter());
var bw=by;

while(bv>=0){bz=bz+(bw.charAt(bv));
bw=bw.substring(bv+1,bw.length);
bv=bw.search(this.getFilter());
}
if(bz!=by){bx=false;
by=bz;
this.getContentElement().setValue(by);
}}if(by.length>this.getMaxLength()){var bx=false;
this.getContentElement().setValue(by.substr(0,this.getMaxLength()));
}if(bx){this.fireDataEvent(r,by,this.__lv);
this.__lv=by;
if(this.getLiveUpdate()){this.__lx(by);
}}},__lx:function(bQ){this.fireNonBubblingEvent(D,qx.event.type.Data,[bQ,this.__lu]);
this.__lu=bQ;
},setValue:function(d){if(d===null){if(this.__ls){return d;
}d=y;
this.__ls=true;
}else{this.__ls=false;
this._removePlaceholder();
}
if(qx.lang.Type.isString(d)){var g=this.getContentElement();

if(d.length>this.getMaxLength()){d=d.substr(0,this.getMaxLength());
}
if(g.getValue()!=d){var h=g.getValue();
g.setValue(d);
var f=this.__ls?null:d;
this.__lu=h;
this.__lx(f);
}this._showPlaceholder();
return d;
}throw new Error("Invalid value type: "+d);
},getValue:function(){var bE=this.getContentElement().getValue();
return this.__ls?null:bE;
},resetValue:function(){this.setValue(null);
},_onChangeContent:function(e){this.__ls=e.getData()===null;
this.__lx(e.getData());
},getTextSelection:function(){return this.getContentElement().getTextSelection();
},getTextSelectionLength:function(){return this.getContentElement().getTextSelectionLength();
},getTextSelectionStart:function(){return this.getContentElement().getTextSelectionStart();
},getTextSelectionEnd:function(){return this.getContentElement().getTextSelectionEnd();
},setTextSelection:function(bC,bD){this.getContentElement().setTextSelection(bC,bD);
},clearTextSelection:function(){this.getContentElement().clearTextSelection();
},selectAllText:function(){this.setTextSelection(0);
},_showPlaceholder:function(){var bB=this.getValue()||y;
var bA=this.getPlaceholder();

if(bA!=null&&bB==y&&!this.hasState(M)&&!this.hasState(Y)){if(this.hasState(A)){this._syncPlaceholder();
}else{this.addState(A);
}}},_removePlaceholder:function(){if(this.hasState(A)){this.__ly().setStyle(bp,bm);
this.removeState(A);
}},_syncPlaceholder:function(){if(this.hasState(A)){this.__ly().setStyle(bp,S);
}},__ly:function(){if(this.__lt==null){this.__lt=new qx.html.Label();
this.__lt.setStyles({"visibility":bm,"zIndex":6,"position":bk});
this.getContainerElement().add(this.__lt);
}return this.__lt;
},_onChangeLocale:qx.core.Variant.select(v,{"on":function(e){var content=this.getPlaceholder();

if(content&&content.translate){this.setPlaceholder(content.translate());
}},"off":null}),_applyPlaceholder:function(a,b){this.__ly().setValue(a);

if(a!=null){this.addListener(bq,this._removePlaceholder,this);
this.addListener(bo,this._showPlaceholder,this);
this._showPlaceholder();
}else{this.removeListener(bq,this._removePlaceholder,this);
this.removeListener(bo,this._showPlaceholder,this);
this._removePlaceholder();
}},_applyTextAlign:function(bO,bP){this.getContentElement().setStyle(L,bO);
},_applyReadOnly:function(bL,bM){var bN=this.getContentElement();
bN.setAttribute(bj,bL);

if(bL){this.addState(s);
this.setFocusable(false);
}else{this.removeState(s);
this.setFocusable(true);
}}},destruct:function(){this.__lt=null;

if(qx.core.Variant.isSet(v,bl)){qx.locale.Manager.getInstance().removeListener(bn,this._onChangeLocale,this);
}}});
})();
(function(){var b="qx.ui.form.TextField",a="textfield";
qx.Class.define(b,{extend:qx.ui.form.AbstractField,properties:{appearance:{refine:true,init:a},allowGrowY:{refine:true,init:false},allowShrinkY:{refine:true,init:false}}});
})();
(function(){var s="none",r="wrap",q="value",p="qx.client",o="textarea",n="off",m="on",l="qxSelectable",k="",j="webkit",f="input",i="qx.html.Input",h="select",e="disabled",d="read-only",g="userSelect";
qx.Class.define(i,{extend:qx.html.Element,construct:function(w,x,y){if(w===h||w===o){var z=w;
}else{z=f;
}qx.html.Element.call(this,z,x,y);
this.__lz=w;
},members:{__lz:null,__lA:null,__lB:null,_createDomElement:function(){return qx.bom.Input.create(this.__lz);
},_applyProperty:function(name,u){qx.html.Element.prototype._applyProperty.call(this,name,u);
var v=this.getDomElement();

if(name===q){qx.bom.Input.setValue(v,u);
}else if(name===r){qx.bom.Input.setWrap(v,u);
}},setEnabled:qx.core.Variant.select(p,{"webkit":function(A){this.__lB=A;

if(!A){this.setStyles({"userModify":d,"userSelect":s});
}else{this.setStyles({"userModify":null,"userSelect":this.__lA?null:s});
}},"default":function(a){this.setAttribute(e,a===false);
}}),setSelectable:qx.core.Variant.select(p,{"webkit":function(C){this.__lA=C;
this.setAttribute(l,C?m:n);
if(qx.core.Variant.isSet(p,j)){var D=this.__lB?C?null:s:s;
this.setStyle(g,D);
}},"default":function(E){this.setAttribute(l,E?m:n);
}}),setValue:function(b){var c=this.getDomElement();

if(c){if(c.value!=b){qx.bom.Input.setValue(c,b);
}}else{this._setProperty(q,b);
}return this;
},getValue:function(){var B=this.getDomElement();

if(B){return qx.bom.Input.getValue(B);
}return this._getProperty(q)||k;
},setWrap:function(t){if(this.__lz===o){this._setProperty(r,t);
}else{throw new Error("Text wrapping is only support by textareas!");
}return this;
},getWrap:function(){if(this.__lz===o){return this._getProperty(r);
}else{throw new Error("Text wrapping is only support by textareas!");
}}}});
})();
(function(){var bc="change",bb="input",ba="qx.client",Y="text",X="password",W="checkbox",V="radio",U="textarea",T="keypress",S="opera",M="propertychange",R="blur",P="keydown",L="keyup",K="select-multiple",O="checked",N="value",Q="select",J="qx.event.handler.Input";
qx.Class.define(J,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(){qx.core.Object.call(this);
this._onChangeCheckedWrapper=qx.lang.Function.listener(this._onChangeChecked,this);
this._onChangeValueWrapper=qx.lang.Function.listener(this._onChangeValue,this);
this._onInputWrapper=qx.lang.Function.listener(this._onInput,this);
this._onPropertyWrapper=qx.lang.Function.listener(this._onProperty,this);
if(qx.core.Variant.isSet(ba,S)){this._onKeyDownWrapper=qx.lang.Function.listener(this._onKeyDown,this);
this._onKeyUpWrapper=qx.lang.Function.listener(this._onKeyUp,this);
this._onBlurWrapper=qx.lang.Function.listener(this._onBlur,this);
}},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{input:1,change:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:false},members:{__lC:false,__lD:null,__lE:null,canHandleEvent:function(r,s){var t=r.tagName.toLowerCase();

if(s===bb&&(t===bb||t===U)){return true;
}
if(s===bc&&(t===bb||t===U||t===Q)){return true;
}return false;
},registerEvent:qx.core.Variant.select(ba,{"mshtml":function(j,k,m){if(!j.__lF){var n=j.tagName.toLowerCase();
var p=j.type;

if(p===Y||p===X||n===U||p===W||p===V){qx.bom.Event.addNativeListener(j,M,this._onPropertyWrapper);
}
if(p!==W&&p!==V){qx.bom.Event.addNativeListener(j,bc,this._onChangeValueWrapper);
}
if(p===Y||p===X){this._onKeyPressWrapped=qx.lang.Function.listener(this._onKeyPress,this,j);
qx.bom.Event.addNativeListener(j,T,this._onKeyPressWrapped);
}j.__lF=true;
}},"default":function(z,A,B){if(A===bb){this.__lG(z);
}else if(A===bc){if(z.type===V||z.type===W){qx.bom.Event.addNativeListener(z,bc,this._onChangeCheckedWrapper);
}else{qx.bom.Event.addNativeListener(z,bc,this._onChangeValueWrapper);
}if(qx.core.Variant.isSet(ba,S)){if(z.type===Y||z.type===X){this._onKeyPressWrapped=qx.lang.Function.listener(this._onKeyPress,this,z);
qx.bom.Event.addNativeListener(z,T,this._onKeyPressWrapped);
}}}}}),__lG:qx.core.Variant.select(ba,{"mshtml":null,"webkit":function(d){var f=d.tagName.toLowerCase();
if(qx.bom.client.Engine.VERSION<532&&f==U){qx.bom.Event.addNativeListener(d,T,this._onInputWrapper);
}qx.bom.Event.addNativeListener(d,bb,this._onInputWrapper);
},"opera":function(C){qx.bom.Event.addNativeListener(C,L,this._onKeyUpWrapper);
qx.bom.Event.addNativeListener(C,P,this._onKeyDownWrapper);
qx.bom.Event.addNativeListener(C,R,this._onBlurWrapper);
qx.bom.Event.addNativeListener(C,bb,this._onInputWrapper);
},"default":function(I){qx.bom.Event.addNativeListener(I,bb,this._onInputWrapper);
}}),unregisterEvent:qx.core.Variant.select(ba,{"mshtml":function(D,E){if(D.__lF){var F=D.tagName.toLowerCase();
var G=D.type;

if(G===Y||G===X||F===U||G===W||G===V){qx.bom.Event.removeNativeListener(D,M,this._onPropertyWrapper);
}
if(G!==W&&G!==V){qx.bom.Event.removeNativeListener(D,bc,this._onChangeValueWrapper);
}
if(G===Y||G===X){qx.bom.Event.removeNativeListener(D,T,this._onKeyPressWrapped);
}
try{delete D.__lF;
}catch(c){D.__lF=null;
}}},"default":function(g,h){if(h===bb){this.__lG(g);
}else if(h===bc){if(g.type===V||g.type===W){qx.bom.Event.removeNativeListener(g,bc,this._onChangeCheckedWrapper);
}else{qx.bom.Event.removeNativeListener(g,bc,this._onChangeValueWrapper);
}}
if(qx.core.Variant.isSet(ba,S)){if(g.type===Y||g.type===X){qx.bom.Event.removeNativeListener(g,T,this._onKeyPressWrapped);
}}}}),__lH:qx.core.Variant.select(ba,{"mshtml":null,"webkit":function(v){var w=v.tagName.toLowerCase();
if(qx.bom.client.Engine.VERSION<532&&w==U){qx.bom.Event.removeNativeListener(v,T,this._onInputWrapper);
}qx.bom.Event.removeNativeListener(v,bb,this._onInputWrapper);
},"opera":function(H){qx.bom.Event.removeNativeListener(H,L,this._onKeyUpWrapper);
qx.bom.Event.removeNativeListener(H,P,this._onKeyDownWrapper);
qx.bom.Event.removeNativeListener(H,R,this._onBlurWrapper);
qx.bom.Event.removeNativeListener(H,bb,this._onInputWrapper);
},"default":function(bf){qx.bom.Event.removeNativeListener(bf,bb,this._onInputWrapper);
}}),_onKeyPress:qx.core.Variant.select(ba,{"mshtml|opera":function(e,be){if(e.keyCode===13){if(be.value!==this.__lE){this.__lE=be.value;
qx.event.Registration.fireEvent(be,bc,qx.event.type.Data,[be.value]);
}}},"default":null}),_onKeyDown:qx.core.Variant.select(ba,{"opera":function(e){if(e.keyCode===13){this.__lC=true;
}},"default":null}),_onKeyUp:qx.core.Variant.select(ba,{"opera":function(e){if(e.keyCode===13){this.__lC=false;
}},"default":null}),_onBlur:qx.core.Variant.select(ba,{"opera":function(e){if(this.__lD){window.clearTimeout(this.__lD);
}},"default":null}),_onInput:qx.event.GlobalError.observeMethod(function(e){var bd=e.target;
if(!this.__lC){if(qx.core.Variant.isSet(ba,S)){this.__lD=window.setTimeout(function(){qx.event.Registration.fireEvent(bd,bb,qx.event.type.Data,[bd.value]);
},0);
}else{qx.event.Registration.fireEvent(bd,bb,qx.event.type.Data,[bd.value]);
}}}),_onChangeValue:qx.event.GlobalError.observeMethod(function(e){var y=e.target||e.srcElement;
var x=y.value;

if(y.type===K){var x=[];

for(var i=0,o=y.options,l=o.length;i<l;i++){if(o[i].selected){x.push(o[i].value);
}}}qx.event.Registration.fireEvent(y,bc,qx.event.type.Data,[x]);
}),_onChangeChecked:qx.event.GlobalError.observeMethod(function(e){var q=e.target;

if(q.type===V){if(q.checked){qx.event.Registration.fireEvent(q,bc,qx.event.type.Data,[q.value]);
}}else{qx.event.Registration.fireEvent(q,bc,qx.event.type.Data,[q.checked]);
}}),_onProperty:qx.core.Variant.select(ba,{"mshtml":qx.event.GlobalError.observeMethod(function(e){var a=e.target||e.srcElement;
var b=e.propertyName;

if(b===N&&(a.type===Y||a.type===X||a.tagName.toLowerCase()===U)){if(!a.$$inValueSet){qx.event.Registration.fireEvent(a,bb,qx.event.type.Data,[a.value]);
}}else if(b===O){if(a.type===W){qx.event.Registration.fireEvent(a,bc,qx.event.type.Data,[a.checked]);
}else if(a.checked){qx.event.Registration.fireEvent(a,bc,qx.event.type.Data,[a.value]);
}}}),"default":function(){}})},defer:function(u){qx.event.Registration.addHandler(u);
}});
})();
(function(){var E="",D="select",C="soft",B="off",A="qx.client",z="wrap",y="text",x="mshtml",w="number",v="checkbox",o="select-one",u="input",r="option",n="value",m="radio",q="qx.bom.Input",p="nowrap",s="textarea",k="auto",t="normal";
qx.Class.define(q,{statics:{__lI:{text:1,textarea:1,select:1,checkbox:1,radio:1,password:1,hidden:1,submit:1,image:1,file:1,search:1,reset:1,button:1},create:function(F,G,H){{};
var G=G?qx.lang.Object.clone(G):{};
var I;

if(F===s||F===D){I=F;
}else{I=u;
G.type=F;
}return qx.bom.Element.create(I,G,H);
},setValue:function(a,b){var g=a.nodeName.toLowerCase();
var d=a.type;
var Array=qx.lang.Array;
var h=qx.lang.Type;

if(typeof b===w){b+=E;
}
if((d===v||d===m)){if(h.isArray(b)){a.checked=Array.contains(b,a.value);
}else{a.checked=a.value==b;
}}else if(g===D){var c=h.isArray(b);
var j=a.options;
var e,f;

for(var i=0,l=j.length;i<l;i++){e=j[i];
f=e.getAttribute(n);

if(f==null){f=e.text;
}e.selected=c?Array.contains(b,f):b==f;
}
if(c&&b.length==0){a.selectedIndex=-1;
}}else if(d===y&&qx.core.Variant.isSet(A,x)){a.$$inValueSet=true;
a.value=b;
a.$$inValueSet=null;
}else{a.value=b;
}},getValue:function(L){var R=L.nodeName.toLowerCase();

if(R===r){return (L.attributes.value||{}).specified?L.value:L.text;
}
if(R===D){var M=L.selectedIndex;
if(M<0){return null;
}var S=[];
var U=L.options;
var T=L.type==o;
var Q=qx.bom.Input;
var P;
for(var i=T?M:0,O=T?M+1:U.length;i<O;i++){var N=U[i];

if(N.selected){P=Q.getValue(N);
if(T){return P;
}S.push(P);
}}return S;
}else{return (L.value||E).replace(/\r/g,E);
}},setWrap:qx.core.Variant.select(A,{"mshtml":function(J,K){J.wrap=K?C:B;
},"gecko|webkit":function(V,W){var Y=W?C:B;
var X=W?E:k;
V.setAttribute(z,Y);
V.style.overflow=X;
},"default":function(ba,bb){ba.style.whiteSpace=bb?t:p;
}})}});
})();
(function(){var q="logoutPre",p="loginPost",o="loginDone",n="statisticWindow.enabled",m="trackConfigWindow.enabled",l="statisticWindow.open",k="adminDeviceWindow.enabled",j="userAdminWindow.enabled",h="track.util.WindowManager",g="deviceConfigWindow.enabled",d="rulesWindow.enabled",f="geofenceWindow.enabled",e="buddyConfigWindow.enabled",c="alarmWindow.enabled";
qx.Class.define(h,{extend:qx.core.Object,construct:function(Q){qx.core.Object.call(this);
this.trackGui=Q;
this.rulesWindow=null;
this.statisticWindow=null;
this.geofenceWindow=null;
this.testDeviceWindow=null;
this.userAdminWindow=null;
this.registerListeners();
},members:{registerListeners:function(){this.loginPostListenerFunc=this.trackGui.getEventManager().addListener(p,function(R){},this);
this.loginDoneListenerFunc=this.trackGui.getEventManager().addListener(o,function(P){this.onLoginDone();
},this);
this.logoutPreListenerFunc=this.trackGui.getEventManager().addListener(q,function(G){},this);
},onLoginDone:function(){if(xbProperties.getBoolean(l,false)==true){this.popupStatisticWindow();
}},findBuddyConfigWindow:function(N){var O=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<O.length;i++){if(O[i] instanceof track.buddy.BuddyWindow){if(O[i].getBuddyTO().getLoginName()==N){return O[i];
}}}return null;
},clearBuddyConfigWindow:function(bd){var be=this.findBuddyConfigWindow(bd);

if(be!=null){try{be.hide();
be.destroyPopup();
}catch(b){this.error("clearBuddyConfigWindow("+bd+") failed:"+b);
be=null;
}}},clearAllBuddyConfigWindow:function(){var C=this.trackGui.getMyRoot();
var D=C.getChildren();

for(var i=0;i<D.length;i++){if(D[i] instanceof track.buddy.BuddyWindow){D[i].destroyPopup();
}}},popupBuddyConfigWindow:function(bf){if(xbProperties.getBoolean(e,true)==false){return null;
}var bg=this.findBuddyConfigWindow(bf.getLoginName());

if(bg==null){bg=new track.buddy.BuddyWindow(this.trackGui,bf);
bg.createBuddyConfigWindow();
}else{bg.open();
}bg.focus();
return bg;
},findTrackConfigWindow:function(S){var T=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<T.length;i++){if(T[i] instanceof track.trackconf.TrackConfigWindow){if(T[i].getBuddyTO().getLoginName()==S){return T[i];
}}}return null;
},clearTrackConfigWindow:function(y){var z=this.findTrackConfigWindow(y);

if(z!=null){try{z.hide();
z.destroyPopup();
}catch(x){this.error("clearTrackConfigWindow("+y+") failed:"+x);
z=null;
}}},clearAllTrackConfigWindow:function(){var v=this.trackGui.getMyRoot();
var w=v.getChildren();

for(var i=0;i<w.length;i++){if(w[i] instanceof track.trackconf.TrackConfigWindow){w[i].destroyPopup();
}}},popupTrackConfigWindow:function(bj,bk){if(xbProperties.getBoolean(m,true)==false){return null;
}var bl=this.findTrackConfigWindow(bj.getLoginName());

if(bl==null){bl=new track.trackconf.TrackConfigWindow(this.trackGui,bj,bk);
bl.createTrackConfigWindow();
}else{bl.open();
}bl.focus();
return bl;
},findDeviceConfigWindow:function(t){var u=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<u.length;i++){if(u[i] instanceof track.deviceconf.DeviceWindow){if(u[i].getBuddyTO().getLoginName()==t){return u[i];
}}}return null;
},popupDeviceConfigWindow:function(r){if(xbProperties.getBoolean(g,true)==false){return null;
}var s=this.findDeviceConfigWindow(r.getLoginName());

if(s==null){s=new track.deviceconf.DeviceWindow(this.trackGui,r);
s.createDeviceWindow();
}else{s.open();
s.focus();
}return s;
},clearAllDeviceConfigWindow:function(){var bc=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<bc.length;i++){if(bc[i] instanceof track.deviceconf.DeviceWindow){bc[i].destroyPopup();
}}},popupRulesWindow:function(H,I,J,K,L){var H=H||null;
var I=I||null;
var J=J||null;
var K=K||null;
var L=L||false;

if(xbProperties.getBoolean(d,true)==false){return null;
}
if(this.rulesWindow==null){this.rulesWindow=new track.rules.RulesWindow(this.trackGui);
this.rulesWindow.createRulesWindow(H);
}var M=this.rulesWindow.setSpecificDevice(H,I,J,K);

if(L||M){this.rulesWindow.open();
this.rulesWindow.focus();
return this.rulesWindow;
}return null;
},clearRulesWindow:function(V){if(this.rulesWindow!=null){this.rulesWindow.destroyPopup();
this.rulesWindow=null;
}},popupStatisticWindow:function(bh){if(xbProperties.getBoolean(n,true)==false){return null;
}var bh=bh||null;

if(this.statisticWindow==null){this.statisticWindow=new track.statistic.StatisticWindow(this.trackGui);
this.statisticWindow.createStatisticWindow(bh);
}var bi=true;

if(bi){this.statisticWindow.open();
this.statisticWindow.focus();
this.statisticWindow.onPostOpen();
return this.statisticWindow;
}return null;
},clearStatisticWindow:function(Y){if(this.statisticWindow!=null){this.statisticWindow.destroyPopup();
this.statisticWindow=null;
}},popupGeofenceWindow:function(){if(xbProperties.getBoolean(f,true)==false){return null;
}
if(this.geofenceWindow!=null){this.clearGeofenceWindow();
}
if(this.geofenceWindow==null){this.geofenceWindow=new track.geofence.GeofenceWindow(this.trackGui);
}this.geofenceWindow.createGeofenceWindow();
this.geofenceWindow.open();
this.geofenceWindow.focus();
return this.geofenceWindow;
},clearGeofenceWindow:function(){if(this.geofenceWindow!=null){this.geofenceWindow.destroyPopup();
this.geofenceWindow=null;
}},findAlarmWindow:function(W){var X=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<X.length;i++){if(X[i] instanceof track.alarm.AlarmWindow){if(X[i].getBuddyTO().getLoginName()==W){return X[i];
}}}return null;
},clearAlarmWindow:function(A){var B=this.findAlarmWindow(A);

if(B!=null){try{B.hide();
B.destroyPopup();
}catch(U){this.error("clearAlarmWindow("+A+") failed:"+U);
B=null;
}}},clearAllAlarmWindow:function(){var E=this.trackGui.getMyRoot();
var F=E.getChildren();

for(var i=0;i<F.length;i++){if(F[i] instanceof track.alarm.AlarmWindow){F[i].destroyPopup();
}}},popupAlarmWindow:function(bm){if(xbProperties.getBoolean(c,true)==false){return null;
}var bn=this.findAlarmWindow(bm.getLoginName());

if(bn==null){bn=new track.alarm.AlarmWindow(this.trackGui,bm);
bn.createAlarmWindow();

if(bn.onPreOpen()==false)return null;
}else{if(bn.onPreOpen()==false)return null;
bn.open();
}bn.focus();
return bn;
},popupTestDeviceWindow:function(a){if(xbProperties.getBoolean(k,true)==false){return null;
}
if(!org.xmlBlaster.util.isDefined(a))a=null;

if(this.testDeviceWindow==null){this.testDeviceWindow=new track.admin.TestDeviceWindow(this.trackGui);
this.testDeviceWindow.showForm(a);
}this.testDeviceWindow.initForDeviceId(a);
this.testDeviceWindow.window.open();
this.testDeviceWindow.window.focus();
return this.testDeviceWindow;
},clearTestDeviceWindow:function(bb){if(this.testDeviceWindow!=null){this.testDeviceWindow.destroyPopup();
this.testDeviceWindow=null;
}},popupUserAdminWindow:function(){if(xbProperties.getBoolean(j,true)==false){return null;
}
if(this.userAdminWindow==null){this.userAdminWindow=new track.admin.account.UserAdminWindow(this.trackGui);
this.userAdminWindow.createWindow();
}
if(this.userAdminWindow.onPreOpen()==false)return null;
this.userAdminWindow.open();
this.userAdminWindow.focus();
return this.userAdminWindow;
},clearUserAdminWindow:function(ba){if(this.userAdminWindow!=null){this.userAdminWindow.destroyPopup();
this.userAdminWindow=null;
}},clear:function(){if(this.loginPostListenerFunc!=null){this.trackGui.getEventManager().removeListener(p,this.loginPostListenerFunc);
this.loginPostListenerFunc=null;
}
if(this.loginDoneListenerFunc!=null){this.trackGui.getEventManager().removeListener(o,this.loginDoneListenerFunc);
this.loginDoneListenerFunc=null;
}
if(this.logoutPreListenerFunc!=null){this.trackGui.getEventManager().removeListener(q,this.logoutPreListenerFunc);
this.logoutPreListenerFunc=null;
}this.clearAllBuddyConfigWindow();
this.clearAllTrackConfigWindow();
this.clearAllDeviceConfigWindow();
this.clearRulesWindow();
this.clearStatisticWindow();
this.clearGeofenceWindow();
this.clearAllAlarmWindow();
this.clearTestDeviceWindow();
this.clearUserAdminWindow();
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var r="updateBuddy",q="%1",p="changeAccount",o="window text",n="updateFriendOf",m="window title",l="16/apps/system-users.png",k="Here you can configure your buddy %1 and give permissions",j="32/categories/graphics.png",i="track.buddy.BuddyWindow",g="Here you can configure your account";
var f=50;
var h=150;
qx.Class.define(i,{extend:qx.ui.window.Window,construct:function(s,t){qx.ui.window.Window.call(this);
this.setLayout(new qx.ui.layout.Canvas());
this.buddyTO=t;
this.setCaption(this.trc(m,q,this.buddyTO.getAliasAndLoginName()));
this.setIcon(xbGetQxIcon(l));
this.trackGui=s;
this.log=this.trackGui.getLogger();
this.trackDisplayTab=null;
this.permissionTab=null;
this.initialize();
},members:{initialize:function(){var u=this.buddyTO.getDevice();
this.changeAccountListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(p,function(e){if(this.buddyTO==null||e==null||e.getData()==null||e.getData().buddyTO==null){this.error("BuddyWindows.js: this.buddyTO==null in changeAccount, why?");
return;
}
if(e.getData().buddyTO.getLoginName()==this.buddyTO.getLoginName())this.setCaption(this.trc(m,q,this.buddyTO.getAliasAndLoginName()));
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(n,function(a){if(this.buddyTO==null||a==null||a.getData()==null||a.getData().buddyTO==null||this.buddyTO.getLoginName()!=a.getData().buddyTO.getLoginName())return;
this.log.info("BuddyConfigWindow: Received 'updateFriendOf' event for "+this.buddyTO.getLoginName());

if(this.permissionTab!=null)this.permissionTab.updatePermissionGotCheckBoxes();
},this);
this.updateBuddyFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(r,function(v){if(this.buddyTO==null||v==null||v.getData()==null||v.getData().buddyTO==null||this.buddyTO.getLoginName()!=v.getData().buddyTO.getLoginName())return;
this.log.info("BuddyConfigWindow: Received 'updateBuddy' event for "+this.buddyTO.getLoginName());

if(this.permissionTab!=null)this.permissionTab.updatePermissionGrantedCheckBoxes();
},this);
this.addBuddyTab=null;
this.showAddBuddyTab=this.buddyTO.isCurrentLoginAccount()?true:false;
this.accountConfigTab=null;
},getBuddyTO:function(){return this.buddyTO;
},getBuddyConfigWindowTop:function(){if(f>200)f=50;
f+=25;
return f;
},getBuddyConfigWindowLeft:function(){if(h>350)h=150;
h+=25;
return h;
},createBuddyConfigWindow:function(){this.moveTo(this.getBuddyConfigWindowLeft(),this.getBuddyConfigWindowTop());
var c=(this.buddyTO.isCurrentLoginAccount())?(this.trc(o,g)):(this.trc(o,k,this.buddyTO.getAliasAndLoginName()));
var b=new qx.ui.basic.Atom(c,xbGetQxIcon(j));
b.setRich(true);
this.add(b,{top:4,left:4});
this.tabView=new qx.ui.tabview.TabView();

if(this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){this.accountConfigTab=new track.buddy.AccountConfigTab(this);
this.accountConfigTab.createTab(this.tabView);
}var d=(this.buddyTO.isCurrentLoginAccount())?false:true;

if(d){this.permissionTab=new track.buddy.PermissionTab(this);
this.permissionTab.createTab(this.tabView);
}
if(this.showAddBuddyTab){this.addBuddyTab=new track.buddy.AddBuddyTab(this);
this.addBuddyTab.createTab(this.tabView);
}this.add(this.tabView,{left:10,top:52,right:10,bottom:10});
this.trackGui.getMyRoot().add(this);
this.open();
},checkTabPermissions:function(){if(this.permissionTab!=null&&this.permissionTab.tabviewPage!=null)this.tabView.setSelection([this.permissionTab.tabviewPage]);
},destroyPopup:function(){this.trackGui.getMyRoot().remove(this);
this.close();

if(this.trackGui==null)return;
this.log.info("destruct BuddyWindow "+this.getBuddyTO().getLoginName());

if(this.changeAccountListenerFunc!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(p,this.changeAccountListenerFunc);
this.changeAccountListenerFunc=null;

if(this.updateFriendOfListenerFunc!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(n,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;

if(this.updateBuddyFunc!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(r,this.updateBuddyFunc);
this.updateBuddyFunc=null;
this.trackGui=null;
this.buddyTO=null;
this.log=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var c="qx.ui.core.ISingleSelection",b="qx.event.type.Data";
qx.Interface.define(c,{events:{"changeSelection":b},members:{getSelection:function(){return true;
},setSelection:function(a){return arguments.length==1;
},resetSelection:function(){return true;
},isSelected:function(d){return arguments.length==1;
},isSelectionEmpty:function(){return true;
},getSelectables:function(){return true;
}}});
})();
(function(){var w="pane",v="lastTab",u="bar",t="page",s="firstTab",r="right",q="bottom",p="button",o="changeSelection",n="close",K="top",J="left",I="qx.event.type.Data",H="barRight",G="beforeChangeSelection",F="__lK",E="tabview",D="vertical",C="_applyBarPosition",B="barLeft",z="horizontal",A="qx.ui.tabview.TabView",x="barTop",y="barBottom";
qx.Class.define(A,{extend:qx.ui.core.Widget,implement:qx.ui.core.ISingleSelection,include:[qx.ui.core.MContentPadding],construct:function(N){qx.ui.core.Widget.call(this);
this.__lJ={top:x,right:H,bottom:y,left:B};
this._createChildControl(u);
this._createChildControl(w);
var O=this.__lK=new qx.ui.form.RadioGroup;
O.setWrap(false);
O.addListener(o,this._onChangeSelection,this);
if(N!=null){this.setBarPosition(N);
}else{this.initBarPosition();
}},events:{"changeSelection":I},properties:{appearance:{refine:true,init:E},barPosition:{check:[J,r,K,q],init:K,apply:C}},members:{__lK:null,_createChildControlImpl:function(W){var X;

switch(W){case u:X=new qx.ui.container.SlideBar();
X.setZIndex(10);
this._add(X);
break;
case w:X=new qx.ui.container.Stack;
X.setZIndex(5);
this._add(X,{flex:1});
break;
}return X||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,W);
},_getContentPaddingTarget:function(){return this.getChildControl(w);
},add:function(bh){{};
var bi=bh.getButton();
var bj=this.getChildControl(u);
var bl=this.getChildControl(w);
bh.exclude();
bj.add(bi);
bl.add(bh);
this.__lK.add(bi);
bh.addState(this.__lJ[this.getBarPosition()]);
bh.addState(v);
var bk=this.getChildren();

if(bk[0]==bh){bh.addState(s);
}else{bk[bk.length-2].removeState(v);
}bh.addListener(n,this._onPageClose,this);
},remove:function(bb){var bg=this.getChildControl(w);
var be=this.getChildControl(u);
var bd=bb.getButton();
var bf=bg.getChildren();
if(this.getSelection()[0]==bb){var bc=bf.indexOf(bb);

if(bc==0){if(bf[1]){this.setSelection([bf[1]]);
}else{this.resetSelection();
}}else{this.setSelection([bf[bc-1]]);
}}be.remove(bd);
bg.remove(bb);
this.__lK.remove(bd);
bb.removeState(this.__lJ[this.getBarPosition()]);
if(bb.hasState(s)){bb.removeState(s);

if(bf[0]){bf[0].addState(s);
}}
if(bb.hasState(v)){bb.removeState(v);

if(bf.length>0){bf[bf.length-1].addState(v);
}}bb.removeListener(n,this._onPageClose,this);
},getChildren:function(){return this.getChildControl(w).getChildren();
},indexOf:function(bm){return this.getChildControl(w).indexOf(bm);
},__lJ:null,_applyBarPosition:function(a,b){var c=this.getChildControl(u);
var j=a==J||a==r;
var g=a==r||a==q;
var h=j?qx.ui.layout.HBox:qx.ui.layout.VBox;
var m=this._getLayout();

if(m&&m instanceof h){}else{this._setLayout(m=new h);
}m.setReversed(g);
c.setOrientation(j?D:z);
var k=this.getChildren();
if(b){var d=this.__lJ[b];
c.removeState(d);
for(var i=0,l=k.length;i<l;i++){k[i].removeState(d);
}}
if(a){var f=this.__lJ[a];
c.addState(f);
for(var i=0,l=k.length;i<l;i++){k[i].addState(f);
}}},getSelection:function(){var Y=this.__lK.getSelection();
var ba=[];

for(var i=0;i<Y.length;i++){ba.push(Y[i].getUserData(t));
}return ba;
},setSelection:function(P){var Q=[];

for(var i=0;i<P.length;i++){Q.push(P[i].getChildControl(p));
}this.__lK.setSelection(Q);
},resetSelection:function(){this.__lK.resetSelection();
},isSelected:function(bn){var bo=bn.getChildControl(p);
return this.__lK.isSelected(bo);
},isSelectionEmpty:function(){return this.__lK.isSelectionEmpty();
},getSelectables:function(){var L=this.__lK.getSelectables();
var M=[];

for(var i=0;i<L.length;i++){M.push(L[i].getUserData(t));
}return M;
},_onChangeSelection:function(e){var U=this.getChildControl(w);
var R=e.getData()[0];

if(R){U.setSelection([R.getUserData(t)]);
R.focus();
this.scrollChildIntoView(R,null,null,false);
}else{U.resetSelection();
}var T=U.getSelection();
var S=e.getOldData();
this.fireDataEvent(o,T,S);
},_onBeforeChangeSelection:function(e){if(!this.fireNonBubblingEvent(G,qx.event.type.Event,[false,true])){e.preventDefault();
}},_onRadioChangeSelection:function(e){var V=e.getData()[0];

if(V){this.setSelection([V.getUserData(t)]);
}else{this.resetSelection();
}},_onPageClose:function(e){this.remove(e.getTarget());
}},destruct:function(){this._disposeObjects(F);
this.__lJ=null;
}});
})();
(function(){var a="qx.ui.form.IModelSelection";
qx.Interface.define(a,{members:{setModelSelection:function(b){},getModelSelection:function(){}}});
})();
(function(){var i="__lL",h="qx.ui.core.MSingleSelectionHandling",g="changeSelection",f="changeSelected",d="qx.event.type.Data";
qx.Mixin.define(h,{events:{"changeSelection":d},members:{__lL:null,getSelection:function(){var j=this.__lM().getSelected();

if(j){return [j];
}else{return [];
}},setSelection:function(l){if(!this.getEnabled()){this.warn("Setting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to selecting the given items."));
this.trace();
}
switch(l.length){case 0:this.resetSelection();
break;
case 1:this.__lM().setSelected(l[0]);
break;
default:throw new Error("Could only select one item, but the selection "+" array contains "+l.length+" items!");
}},resetSelection:function(){if(!this.getEnabled()){this.warn("Resetting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to reset the selection."));
this.trace();
}this.__lM().resetSelected();
},isSelected:function(a){return this.__lM().isSelected(a);
},isSelectionEmpty:function(){return this.__lM().isSelectionEmpty();
},getSelectables:function(){return this.__lM().getSelectables();
},_onChangeSelected:function(e){var c=e.getData();
var b=e.getOldData();
c==null?c=[]:c=[c];
b==null?b=[]:b=[b];
this.fireDataEvent(g,c,b);
},__lM:function(){if(this.__lL==null){var m=this;
this.__lL=new qx.ui.core.SingleSelectionManager({getItems:function(){return m._getItems();
},isItemSelectable:function(k){if(m._isItemSelectable){return m._isItemSelectable(k);
}else{return k.isEnabled()&&k.isVisible();
}}});
this.__lL.addListener(f,this._onChangeSelected,this);
}this.__lL.setAllowEmptySelection(this._isAllowEmptySelection());
return this.__lL;
}},destruct:function(){this._disposeObjects(i);
}});
})();
(function(){var m="change",l="qx.event.type.Data",k="qx.ui.form.MModelSelection",h="__lN",g="changeSelection";
qx.Mixin.define(k,{construct:function(){this.__lN=new qx.data.Array();
this.__lN.addListener(m,this.__lQ,this);
this.addListener(g,this.__lP,this);
},events:{changeModelSelection:l},members:{__lN:null,__lO:false,__lP:function(){if(this.__lO){return;
}var e=this.getSelection();
var c=[];

for(var i=0;i<e.length;i++){var f=e[i];
var d=f.getModel?f.getModel():null;

if(d!==null){c.push(d);
}}if(c.length===e.length){this.setModelSelection(c);
}},__lQ:function(){this.__lO=true;
var o=this.getSelectables();
var q=[];
var p=this.__lN.toArray();

for(var i=0;i<p.length;i++){var s=p[i];

for(var j=0;j<o.length;j++){var t=o[j];
var n=t.getModel?t.getModel():null;

if(s===n){q.push(t);
break;
}}}this.setSelection(q);
this.__lO=false;
var r=this.getSelection();

if(!qx.lang.Array.equals(r,q)){this.__lP();
}},getModelSelection:function(){return this.__lN;
},setModelSelection:function(a){if(!a){this.__lN.removeAll();
return;
}{};
a.unshift(this.__lN.getLength());
a.unshift(0);
var b=this.__lN.splice.apply(this.__lN,a);
b.dispose();
}},destruct:function(){this._disposeObjects(h);
}});
})();
(function(){var G="Boolean",F="changeValue",E="_applyAllowEmptySelection",D="_applyInvalidMessage",C="qx.ui.form.RadioGroup",B="_applyValid",A="",z="changeRequired",y="__lR",x="changeValid",u="changeEnabled",w="changeInvalidMessage",v="changeSelection",t="_applyEnabled",s="String";
qx.Class.define(C,{extend:qx.core.Object,implement:[qx.ui.core.ISingleSelection,qx.ui.form.IForm,qx.ui.form.IModelSelection],include:[qx.ui.core.MSingleSelectionHandling,qx.ui.form.MModelSelection],construct:function(H){qx.core.Object.call(this);
this.__lR=[];
this.addListener(v,this.__lS,this);

if(H!=null){this.add.apply(this,arguments);
}},properties:{enabled:{check:G,apply:t,event:u,init:true},wrap:{check:G,init:true},allowEmptySelection:{check:G,init:false,apply:E},valid:{check:G,init:true,apply:B,event:x},required:{check:G,init:false,event:z},invalidMessage:{check:s,init:A,event:w,apply:D}},members:{__lR:null,getItems:function(){return this.__lR;
},add:function(k){var m=this.__lR;
var n;

for(var i=0,l=arguments.length;i<l;i++){n=arguments[i];

if(qx.lang.Array.contains(m,n)){continue;
}n.addListener(F,this._onItemChangeChecked,this);
m.push(n);
n.setGroup(this);
if(n.getValue()){this.setSelection([n]);
}}if(!this.isAllowEmptySelection()&&m.length>0&&!this.getSelection()[0]){this.setSelection([m[0]]);
}},remove:function(q){var r=this.__lR;

if(qx.lang.Array.contains(r,q)){qx.lang.Array.remove(r,q);
if(q.getGroup()===this){q.resetGroup();
}q.removeListener(F,this._onItemChangeChecked,this);
if(q.getValue()){this.resetSelection();
}}},getChildren:function(){return this.__lR;
},_onItemChangeChecked:function(e){var N=e.getTarget();

if(N.getValue()){this.setSelection([N]);
}else if(this.getSelection()[0]==N){this.resetSelection();
}},_applyInvalidMessage:function(I,J){for(var i=0;i<this.__lR.length;i++){this.__lR[i].setInvalidMessage(I);
}},_applyValid:function(d,f){for(var i=0;i<this.__lR.length;i++){this.__lR[i].setValid(d);
}},_applyEnabled:function(a,b){var c=this.__lR;

if(a==null){for(var i=0,l=c.length;i<l;i++){c[i].resetEnabled();
}}else{for(var i=0,l=c.length;i<l;i++){c[i].setEnabled(a);
}}},_applyAllowEmptySelection:function(O,P){if(!O&&this.isSelectionEmpty()){this.resetSelection();
}},selectNext:function(){var g=this.getSelection()[0];
var j=this.__lR;
var h=j.indexOf(g);

if(h==-1){return;
}var i=0;
var length=j.length;
if(this.getWrap()){h=(h+1)%length;
}else{h=Math.min(h+1,length-1);
}
while(i<length&&!j[h].getEnabled()){h=(h+1)%length;
i++;
}this.setSelection([j[h]]);
},selectPrevious:function(){var K=this.getSelection()[0];
var M=this.__lR;
var L=M.indexOf(K);

if(L==-1){return;
}var i=0;
var length=M.length;
if(this.getWrap()){L=(L-1+length)%length;
}else{L=Math.max(L-1,0);
}
while(i<length&&!M[L].getEnabled()){L=(L-1+length)%length;
i++;
}this.setSelection([M[L]]);
},_getItems:function(){return this.getItems();
},_isAllowEmptySelection:function(){return this.isAllowEmptySelection();
},__lS:function(e){var p=e.getData()[0];
var o=e.getOldData()[0];

if(o){o.setValue(false);
}
if(p){p.setValue(true);
}}},destruct:function(){this._disposeArray(y);
}});
})();
(function(){var m="Boolean",l="qx.ui.core.SingleSelectionManager",k="__lU",j="__lT",h="__lV",g="changeSelected",f="qx.event.type.Data";
qx.Class.define(l,{extend:qx.core.Object,construct:function(e){qx.core.Object.call(this);
{};
this.__lT=e;
},events:{"changeSelected":f},properties:{allowEmptySelection:{check:m,init:true,apply:h}},members:{__lU:null,__lT:null,getSelected:function(){return this.__lU;
},setSelected:function(b){if(!this.__lX(b)){throw new Error("Could not select "+b+", because it is not a child element!");
}this.__lW(b);
},resetSelected:function(){this.__lW(null);
},isSelected:function(a){if(!this.__lX(a)){throw new Error("Could not check if "+a+" is selected,"+" because it is not a child element!");
}return this.__lU===a;
},isSelectionEmpty:function(){return this.__lU==null;
},getSelectables:function(){var n=this.__lT.getItems();
var o=[];

for(var i=0;i<n.length;i++){if(this.__lT.isItemSelectable(n[i])){o.push(n[i]);
}}return o;
},__lV:function(c,d){if(!c){this.__lW(this.__lU);
}},__lW:function(r){var u=this.__lU;
var t=r;

if(t!=null&&u===t){return;
}
if(!this.isAllowEmptySelection()&&t==null){var s=this.getSelectables()[0];

if(s){t=s;
}}this.__lU=t;
this.fireDataEvent(g,t,u);
},__lX:function(p){var q=this.__lT.getItems();

for(var i=0;i<q.length;i++){if(q[i]===p){return true;
}}return false;
}},destruct:function(){if(this.__lT.toHashCode){this._disposeObjects(j);
}else{this.__lT=null;
}this._disposeObjects(k);
}});
})();
(function(){var l="[",k="]",j=".",i="idBubble",h="changeBubble",g="qx.data.marshal.MEventBubbling",f="qx.event.type.Data";
qx.Mixin.define(g,{events:{"changeBubble":f},members:{_applyEventPropagation:function(m,n,name){this.fireDataEvent(h,{value:m,name:name,old:n});
this._registerEventChaining(m,n,name);
},_registerEventChaining:function(a,b,name){if((a instanceof qx.core.Object)&&qx.Class.hasMixin(a.constructor,qx.data.marshal.MEventBubbling)){var c=qx.lang.Function.bind(this.__lY,this,name);
var d=a.addListener(h,c,this);
a.setUserData(i,d);
}if(b!=null&&b.getUserData&&b.getUserData(i)!=null){b.removeListenerById(b.getUserData(i));
}},__lY:function(name,e){var v=e.getData();
var r=v.value;
var p=v.old;
if(qx.Class.hasInterface(e.getTarget().constructor,qx.data.IListData)){if(v.name.indexOf){var u=v.name.indexOf(j)!=-1?v.name.indexOf(j):v.name.length;
var s=v.name.indexOf(l)!=-1?v.name.indexOf(l):v.name.length;

if(u<s){var o=v.name.substring(0,u);
var t=v.name.substring(u+1,v.name.length);

if(t[0]!=l){t=j+t;
}var q=name+l+o+k+t;
}else if(s<u){var o=v.name.substring(0,s);
var t=v.name.substring(s,v.name.length);
var q=name+l+o+k+t;
}else{var q=name+l+v.name+k;
}}else{var q=name+l+v.name+k;
}}else{var q=name+j+v.name;
}this.fireDataEvent(h,{value:r,name:q,old:p});
}}});
})();
(function(){var Q="change",P="add",O="remove",N="order",M="",L="qx.data.Array",K="?",J="changeBubble",I="qx.event.type.Event",H="number",F="changeLength",G="qx.event.type.Data";
qx.Class.define(L,{extend:qx.core.Object,include:qx.data.marshal.MEventBubbling,implement:[qx.data.IListData],construct:function(bg){qx.core.Object.call(this);
if(bg==undefined){this.__ma=[];
}else if(arguments.length>1){this.__ma=[];

for(var i=0;i<arguments.length;i++){this.__ma.push(arguments[i]);
}}else if(typeof bg==H){this.__ma=new Array(bg);
}else if(bg instanceof Array){this.__ma=qx.lang.Array.clone(bg);
}else{this.__ma=[];
throw new Error("Type of the parameter not supported!");
}for(var i=0;i<this.__ma.length;i++){this._applyEventPropagation(this.__ma[i],null,i);
}this.__mb();
},events:{"change":G,"changeLength":I},members:{__ma:null,concat:function(bb){if(bb){var bc=this.__ma.concat(bb);
}else{var bc=this.__ma.concat();
}return new qx.data.Array(bc);
},join:function(n){return this.__ma.join(n);
},pop:function(){var p=this.__ma.pop();
this.__mb();
this._applyEventPropagation(null,p,this.length-1);
this.fireDataEvent(Q,{start:this.length-1,end:this.length-1,type:O,items:[p]},null);
return p;
},push:function(d){for(var i=0;i<arguments.length;i++){this.__ma.push(arguments[i]);
this.__mb();
this._applyEventPropagation(arguments[i],null,this.length-1);
this.fireDataEvent(Q,{start:this.length-1,end:this.length-1,type:P,items:[arguments[i]]},null);
}return this.length;
},reverse:function(){this.__ma.reverse();
this.fireDataEvent(Q,{start:0,end:this.length-1,type:N,items:null},null);
},shift:function(){var be=this.__ma.shift();
this.__mb();
this._applyEventPropagation(null,be,this.length-1);
this.fireDataEvent(Q,{start:0,end:this.length-1,type:O,items:[be]},null);
return be;
},slice:function(q,r){return new qx.data.Array(this.__ma.slice(q,r));
},splice:function(R,S,T){var ba=this.__ma.length;
var W=this.__ma.splice.apply(this.__ma,arguments);
if(this.__ma.length!=ba){this.__mb();
}var X=S>0;
var U=arguments.length>2;
var V=null;

if(X||U){if(this.__ma.length>ba){var Y=P;
}else if(this.__ma.length<ba){var Y=O;
V=W;
}else{var Y=N;
}this.fireDataEvent(Q,{start:R,end:this.length-1,type:Y,items:V},null);
}for(var i=2;i<arguments.length;i++){this._registerEventChaining(arguments[i],null,R+i);
}this.fireDataEvent(J,{value:this,name:K,old:W});
for(var i=0;i<W.length;i++){this._applyEventPropagation(null,W[i],i);
}return (new qx.data.Array(W));
},sort:function(bf){this.__ma.sort.apply(this.__ma,arguments);
this.fireDataEvent(Q,{start:0,end:this.length-1,type:N,items:null},null);
},unshift:function(o){for(var i=arguments.length-1;i>=0;i--){this.__ma.unshift(arguments[i]);
this.__mb();
this._applyEventPropagation(arguments[i],null,0);
this.fireDataEvent(Q,{start:0,end:this.length-1,type:P,items:[arguments[i]]},null);
}return this.length;
},toArray:function(){return this.__ma;
},getItem:function(c){return this.__ma[c];
},setItem:function(C,D){var E=this.__ma[C];
this.__ma[C]=D;
this._applyEventPropagation(D,E,C);
if(this.length!=this.__ma.length){this.__mb();
}this.fireDataEvent(Q,{start:C,end:C,type:P,items:[D]},null);
},getLength:function(){return this.length;
},indexOf:function(v){return this.__ma.indexOf(v);
},toString:function(){if(this.__ma!=null){return this.__ma.toString();
}return M;
},contains:function(B){return this.__ma.indexOf(B)!==-1;
},copy:function(){return this.concat();
},insertAt:function(e,f){this.splice(e,0,f);
},insertBefore:function(g,h){var j=this.indexOf(g);

if(j==-1){this.push(h);
}else{this.splice(j,0,h);
}},insertAfter:function(w,x){var y=this.indexOf(w);

if(y==-1||y==(this.length-1)){this.push(x);
}else{this.splice(y+1,0,x);
}},removeAt:function(m){return this.splice(m,1)[0];
},removeAll:function(){for(var i=0;i<this.__ma.length;i++){this._applyEventPropagation(null,this.__ma[i],i);
}var A=this.getLength();
var z=this.__ma.concat();
this.__ma.length=0;
this.__mb();
this.fireDataEvent(Q,{start:0,end:A-1,type:O,items:z},null);
},append:function(k){if(k instanceof qx.data.Array){k=k.toArray();
}{};
for(var i=0;i<k.length;i++){this._applyEventPropagation(k[i],null,this.__ma.length+i);
}Array.prototype.push.apply(this.__ma,k);
var l=this.length;
this.__mb();
this.fireDataEvent(Q,{start:l,end:this.length-1,type:P,items:k},null);
},remove:function(bh){var bi=this.indexOf(bh);

if(bi!=-1){this.splice(bi,1);
return bh;
}},equals:function(b){if(this.length!==b.length){return false;
}
for(var i=0;i<this.length;i++){if(this.getItem(i)!==b.getItem(i)){return false;
}}return true;
},sum:function(){var u=0;

for(var i=0;i<this.length;i++){u+=this.getItem(i);
}return u;
},max:function(){var bd=this.getItem(0);

for(var i=1;i<this.length;i++){if(this.getItem(i)>bd){bd=this.getItem(i);
}}return bd===undefined?null:bd;
},min:function(){var a=this.getItem(0);

for(var i=1;i<this.length;i++){if(this.getItem(i)<a){a=this.getItem(i);
}}return a===undefined?null:a;
},forEach:function(s,t){for(var i=0;i<this.__ma.length;i++){s.call(t,this.__ma[i]);
}},__mb:function(){this.length=this.__ma.length;
this.fireEvent(F,qx.event.type.Event);
}},destruct:function(){for(var i=0;i<this.__ma.length;i++){this._applyEventPropagation(null,this.__ma[i],i);
}this.__ma=null;
}});
})();
(function(){var z="horizontal",y="scrollpane",x="vertical",w="button-backward",v="button-forward",u="content",t="execute",s="qx.ui.container.SlideBar",r="scrollY",q="removeChildWidget",m="scrollX",p="_applyOrientation",o="mousewheel",l="Integer",k="slidebar",n="update";
qx.Class.define(s,{extend:qx.ui.core.Widget,include:[qx.ui.core.MRemoteChildrenHandling,qx.ui.core.MRemoteLayoutHandling],construct:function(g){qx.ui.core.Widget.call(this);
var h=this.getChildControl(y);
this._add(h,{flex:1});

if(g!=null){this.setOrientation(g);
}else{this.initOrientation();
}this.addListener(o,this._onMouseWheel,this);
},properties:{appearance:{refine:true,init:k},orientation:{check:[z,x],init:z,apply:p},scrollStep:{check:l,init:15,themeable:true}},members:{getChildrenContainer:function(){return this.getChildControl(u);
},_createChildControlImpl:function(F){var G;

switch(F){case v:G=new qx.ui.form.RepeatButton;
G.addListener(t,this._onExecuteForward,this);
G.setFocusable(false);
this._addAt(G,2);
break;
case w:G=new qx.ui.form.RepeatButton;
G.addListener(t,this._onExecuteBackward,this);
G.setFocusable(false);
this._addAt(G,0);
break;
case u:G=new qx.ui.container.Composite();
if(qx.bom.client.Engine.GECKO){G.addListener(q,this._onRemoveChild,this);
}this.getChildControl(y).add(G);
break;
case y:G=new qx.ui.core.scroll.ScrollPane();
G.addListener(n,this._onResize,this);
G.addListener(m,this._onScroll,this);
G.addListener(r,this._onScroll,this);
break;
}return G||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,F);
},_forwardStates:{barLeft:true,barTop:true,barRight:true,barBottom:true},scrollBy:function(D){var E=this.getChildControl(y);

if(this.getOrientation()===z){E.scrollByX(D);
}else{E.scrollByY(D);
}},scrollTo:function(i){var j=this.getChildControl(y);

if(this.getOrientation()===z){j.scrollToX(i);
}else{j.scrollToY(i);
}},_applyOrientation:function(a,b){var f=[this.getLayout(),this._getLayout()];
var d=this.getChildControl(v);
var c=this.getChildControl(w);
if(b==x){d.removeState(x);
c.removeState(x);
d.addState(z);
c.addState(z);
}else if(b==z){d.removeState(z);
c.removeState(z);
d.addState(x);
c.addState(x);
}
if(a==z){this._setLayout(new qx.ui.layout.HBox());
this.setLayout(new qx.ui.layout.HBox());
}else{this._setLayout(new qx.ui.layout.VBox());
this.setLayout(new qx.ui.layout.VBox());
}
if(f[0]){f[0].dispose();
}
if(f[1]){f[1].dispose();
}},_onMouseWheel:function(e){this.scrollBy(e.getWheelDelta()*this.getScrollStep());
e.stop();
},_onScroll:function(){this._updateArrowsEnabled();
},_onResize:function(e){var content=this.getChildControl(y).getChildren()[0];

if(!content){return;
}var A=this.getInnerSize();
var C=content.getBounds();
var B=(this.getOrientation()===z)?C.width>A.width:C.height>A.height;

if(B){this._showArrows();
this._updateArrowsEnabled();
}else{this._hideArrows();
}},_onExecuteBackward:function(){this.scrollBy(-this.getScrollStep());
},_onExecuteForward:function(){this.scrollBy(this.getScrollStep());
},_onRemoveChild:function(){qx.event.Timer.once(function(){this.scrollBy(this.getChildControl(y).getScrollX());
},this,50);
},_updateArrowsEnabled:function(){var I=this.getChildControl(y);

if(this.getOrientation()===z){var H=I.getScrollX();
var J=I.getScrollMaxX();
}else{var H=I.getScrollY();
var J=I.getScrollMaxY();
}this.getChildControl(w).setEnabled(H>0);
this.getChildControl(v).setEnabled(H<J);
},_showArrows:function(){this._showChildControl(v);
this._showChildControl(w);
},_hideArrows:function(){this._excludeChildControl(v);
this._excludeChildControl(w);
this.scrollTo(0);
}}});
})();
(function(){var r="pressed",q="abandoned",p="Integer",o="hovered",n="qx.event.type.Event",m="Enter",l="Space",k="press",j="qx.ui.form.RepeatButton",i="release",f="interval",h="__mc",g="execute";
qx.Class.define(j,{extend:qx.ui.form.Button,construct:function(c,d){qx.ui.form.Button.call(this,c,d);
this.__mc=new qx.event.AcceleratingTimer();
this.__mc.addListener(f,this._onInterval,this);
},events:{"execute":n,"press":n,"release":n},properties:{interval:{check:p,init:100},firstInterval:{check:p,init:500},minTimer:{check:p,init:20},timerDecrease:{check:p,init:2}},members:{__md:null,__mc:null,press:function(){if(this.isEnabled()){if(!this.hasState(r)){this.__me();
}this.removeState(q);
this.addState(r);
}},release:function(s){if(!this.isEnabled()){return;
}if(this.hasState(r)){if(!this.__md){this.execute();
}}this.removeState(r);
this.removeState(q);
this.__mf();
},_applyEnabled:function(a,b){qx.ui.form.Button.prototype._applyEnabled.call(this,a,b);

if(!a){this.removeState(r);
this.removeState(q);
this.__mf();
}},_onMouseOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}
if(this.hasState(q)){this.removeState(q);
this.addState(r);
this.__mc.start();
}this.addState(o);
},_onMouseOut:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}this.removeState(o);

if(this.hasState(r)){this.removeState(r);
this.addState(q);
this.__mc.stop();
}},_onMouseDown:function(e){if(!e.isLeftPressed()){return;
}this.capture();
this.__me();
e.stopPropagation();
},_onMouseUp:function(e){this.releaseCapture();

if(!this.hasState(q)){this.addState(o);

if(this.hasState(r)&&!this.__md){this.execute();
}}this.__mf();
e.stopPropagation();
},_onKeyUp:function(e){switch(e.getKeyIdentifier()){case m:case l:if(this.hasState(r)){if(!this.__md){this.execute();
}this.removeState(r);
this.removeState(q);
e.stopPropagation();
this.__mf();
}}},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case m:case l:this.removeState(q);
this.addState(r);
e.stopPropagation();
this.__me();
}},_onInterval:function(e){this.__md=true;
this.fireEvent(g);
},__me:function(){this.fireEvent(k);
this.__md=false;
this.__mc.set({interval:this.getInterval(),firstInterval:this.getFirstInterval(),minimum:this.getMinTimer(),decrease:this.getTimerDecrease()}).start();
this.removeState(q);
this.addState(r);
},__mf:function(){this.fireEvent(i);
this.__mc.stop();
this.removeState(q);
this.removeState(r);
}},destruct:function(){this._disposeObjects(h);
}});
})();
(function(){var e="Integer",d="interval",c="__mg",b="qx.event.type.Event",a="qx.event.AcceleratingTimer";
qx.Class.define(a,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__mg=new qx.event.Timer(this.getInterval());
this.__mg.addListener(d,this._onInterval,this);
},events:{"interval":b},properties:{interval:{check:e,init:100},firstInterval:{check:e,init:500},minimum:{check:e,init:20},decrease:{check:e,init:2}},members:{__mg:null,__mh:null,start:function(){this.__mg.setInterval(this.getFirstInterval());
this.__mg.start();
},stop:function(){this.__mg.stop();
this.__mh=null;
},_onInterval:function(){this.__mg.stop();

if(this.__mh==null){this.__mh=this.getInterval();
}this.__mh=Math.max(this.getMinimum(),this.__mh-this.getDecrease());
this.__mg.setInterval(this.__mh);
this.__mg.start();
this.fireEvent(d);
}},destruct:function(){this._disposeObjects(c);
}});
})();
(function(){var M="resize",L="scrollY",K="update",J="scrollX",I="_applyScrollX",H="_applyScrollY",G="qx.lang.Type.isNumber(value)&&value>=0&&value<=this.getScrollMaxX()",F="appear",E="qx.lang.Type.isNumber(value)&&value>=0&&value<=this.getScrollMaxY()",D="qx.event.type.Event",B="qx.ui.core.scroll.ScrollPane",C="scroll";
qx.Class.define(B,{extend:qx.ui.core.Widget,construct:function(){qx.ui.core.Widget.call(this);
this.set({minWidth:0,minHeight:0});
this._setLayout(new qx.ui.layout.Grow());
this.addListener(M,this._onUpdate);
var s=this.getContentElement();
s.addListener(C,this._onScroll,this);
s.addListener(F,this._onAppear,this);
},events:{update:D},properties:{scrollX:{check:G,apply:I,event:J,init:0},scrollY:{check:E,apply:H,event:L,init:0}},members:{add:function(h){var i=this._getChildren()[0];

if(i){this._remove(i);
i.removeListener(M,this._onUpdate,this);
}
if(h){this._add(h);
h.addListener(M,this._onUpdate,this);
}},remove:function(w){if(w){this._remove(w);
w.removeListener(M,this._onUpdate,this);
}},getChildren:function(){return this._getChildren();
},_onUpdate:function(e){this.fireEvent(K);
},_onScroll:function(e){var u=this.getContentElement();
this.setScrollX(u.getScrollX());
this.setScrollY(u.getScrollY());
},_onAppear:function(e){var q=this.getContentElement();
var n=this.getScrollX();
var o=q.getScrollX();

if(n!=o){q.scrollToX(n);
}var r=this.getScrollY();
var p=q.getScrollY();

if(r!=p){q.scrollToY(r);
}},getItemTop:function(d){var top=0;

do{top+=d.getBounds().top;
d=d.getLayoutParent();
}while(d&&d!==this);
return top;
},getItemBottom:function(a){return this.getItemTop(a)+a.getBounds().height;
},getItemLeft:function(z){var A=0;
var parent;

do{A+=z.getBounds().left;
parent=z.getLayoutParent();

if(parent){A+=parent.getInsets().left;
}z=parent;
}while(z&&z!==this);
return A;
},getItemRight:function(t){return this.getItemLeft(t)+t.getBounds().width;
},getScrollSize:function(){return this.getChildren()[0].getBounds();
},getScrollMaxX:function(){var m=this.getInnerSize();
var l=this.getScrollSize();

if(m&&l){return Math.max(0,l.width-m.width);
}return 0;
},getScrollMaxY:function(){var k=this.getInnerSize();
var j=this.getScrollSize();

if(k&&j){return Math.max(0,j.height-k.height);
}return 0;
},scrollToX:function(b){var c=this.getScrollMaxX();

if(b<0){b=0;
}else if(b>c){b=c;
}this.setScrollX(b);
},scrollToY:function(f){var g=this.getScrollMaxY();

if(f<0){f=0;
}else if(f>g){f=g;
}this.setScrollY(f);
},scrollByX:function(x){this.scrollToX(this.getScrollX()+x);
},scrollByY:function(y){this.scrollToY(this.getScrollY()+y);
},_applyScrollX:function(N){this.getContentElement().scrollToX(N);
},_applyScrollY:function(v){this.getContentElement().scrollToY(v);
}}});
})();
(function(){var j="_applyDynamic",h="changeSelection",g="Boolean",f="qx.ui.container.Stack";
qx.Class.define(f,{extend:qx.ui.core.Widget,implement:qx.ui.core.ISingleSelection,include:qx.ui.core.MSingleSelectionHandling,construct:function(){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.Grow);
this.addListener(h,this.__mi,this);
},properties:{dynamic:{check:g,init:false,apply:j}},members:{_applyDynamic:function(p){var r=this._getChildren();
var q=this.getSelection()[0];
var s;

for(var i=0,l=r.length;i<l;i++){s=r[i];

if(s!=q){if(p){r[i].exclude();
}else{r[i].hide();
}}}},_getItems:function(){return this.getChildren();
},_isAllowEmptySelection:function(){return true;
},_isItemSelectable:function(b){return b.isEnabled();
},__mi:function(e){var c=e.getOldData()[0];
var d=e.getData()[0];

if(c){if(this.isDynamic()){c.exclude();
}else{c.hide();
}}
if(d){d.show();
}},add:function(t){this._add(t);
var u=this.getSelection()[0];

if(!u){this.setSelection([t]);
}else if(u!==t){if(this.isDynamic()){t.exclude();
}else{t.hide();
}}},remove:function(z){this._remove(z);

if(this.getSelection()[0]===z){var A=this._getChildren()[0];

if(A){this.setSelection([A]);
}else{this.resetSelection();
}}},indexOf:function(a){return this._indexOf(a);
},getChildren:function(){return this._getChildren();
},previous:function(){var n=this.getSelection()[0];
var k=this._indexOf(n)-1;
var o=this._getChildren();

if(k<0){k=o.length-1;
}var m=o[k];
this.setSelection([m]);
},next:function(){var w=this.getSelection()[0];
var v=this._indexOf(w)+1;
var x=this._getChildren();
var y=x[v]||x[0];
this.setSelection([y]);
}}});
})();
(function(){var l="input info",k="changeAccount",j="Alias name:",i="<b>Save</b>",h="track.buddy.AccountConfigTab",g="16/actions/dialog-ok.png",f="First name:",d="button",c="execute",b="Email:",x="middle",w="Changing account for %1 ...",v="tab title",u="Phone number:",t="AjaxAnimator",s="Last name:",r="32/buddies_add_32.png",q="Account details",p="right",o="groupbox title",m="left",n="Change Account";
qx.Class.define(h,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(a){qx.core.Object.call(this);
this.buddyWindow=a;
this.trackGui=this.buddyWindow.trackGui;
this.buddyTO=this.buddyWindow.buddyTO;
this.loginName=this.buddyWindow.buddyTO.getLoginName();
},members:{createTab:function(z){this.tabviewPage=new qx.ui.tabview.Page(this.trc(v,n),xbGetIcon(r));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
z.add(this.tabviewPage);

if(this.trackGui.watchee==null)return;
this.changeAccountListenerFunc=null;
var A=this._addBuddyGroup();
this.tabviewPage.add(A,{left:0,right:0,top:0,bottom:0});
},_addBuddyGroup:function(){var I=new qx.ui.groupbox.GroupBox(this.trc(o,q));
var C=new qx.ui.layout.Grid(6,4);
I.setLayout(C);
C.setRowAlign(0,m,x);
var K=0;
var E=new qx.ui.form.TextField(this.buddyTO.getAlias());
var J=new qx.ui.basic.Label(this.trc(l,j));
I.add(J,{row:K,column:0});
I.add(E,{row:K,column:1});
K++;
var F=new qx.ui.form.TextField(this.buddyTO.getFirstName());
var J=new qx.ui.basic.Label(this.trc(l,f));
I.add(J,{row:K,column:0});
I.add(F,{row:K,column:1});
K++;
var G=new qx.ui.form.TextField(this.buddyTO.getLastName());
var J=new qx.ui.basic.Label(this.trc(l,s));
I.add(J,{row:K,column:0});
I.add(G,{row:K,column:1});
K++;
var D=new qx.ui.form.TextField(this.buddyTO.getEmail());
var J=new qx.ui.basic.Label(this.trc(l,b));
I.add(J,{row:K,column:0});
I.add(D,{row:K,column:1});
K++;
var B=new qx.ui.form.TextField(this.buddyTO.getPhoneNumber());
var J=new qx.ui.basic.Label(this.trc(l,u));
I.add(J,{row:K,column:0});
I.add(B,{row:K,column:1});
K++;
var H=new qx.ui.form.Button(this.trc(d,i),xbGetQxIcon(g));

with(H){setWidth(120);
setAlignX(p);
setRich(true);
}I.add(H,{row:K,column:1});
this.changeAccountListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(k,function(y){this.trackGui.stopAjaxAnimator();
},this);
H.addListener(c,function(e){if(this.trackGui.watchee==null)return;
this.buddyTO.setAlias(org.xmlBlaster.util.trim(E.getValue()));
this.buddyTO.setFirstName(org.xmlBlaster.util.trim(F.getValue()));
this.buddyTO.setLastName(org.xmlBlaster.util.trim(G.getValue()));
this.buddyTO.setEmail(org.xmlBlaster.util.trim(D.getValue()));
this.buddyTO.setPhoneNumber(org.xmlBlaster.util.trim(B.getValue()));
this.trackGui.startAjaxAnimator(this.trc(t,w,this.loginName));
this.trackGui.sendChangeAccount(this.buddyTO);
},this);
return I;
}},destruct:function(){if(this.changeAccountListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(k,this.changeAccountListenerFunc);
this.changeAccountListenerFunc=null;
}this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var s="button",r="",q="close",p="String",o="_applyIcon",n="page",m="qx.event.type.Event",l="_applyShowCloseButton",k="tabview-page",j="qx.ui.tabview.Page",h="_applyLabel",i="Boolean";
qx.Class.define(j,{extend:qx.ui.container.Composite,construct:function(t,u){qx.ui.container.Composite.call(this);
this._createChildControl(s);
if(t!=null){this.setLabel(t);
}
if(u!=null){this.setIcon(u);
}},events:{"close":m},properties:{appearance:{refine:true,init:k},label:{check:p,init:r,apply:h},icon:{check:p,init:r,apply:o},showCloseButton:{check:i,init:false,apply:l}},members:{_forwardStates:{barTop:1,barRight:1,barBottom:1,barLeft:1,firstTab:1,lastTab:1},_applyIcon:function(x,y){this.getChildControl(s).setIcon(x);
},_applyLabel:function(f,g){this.getChildControl(s).setLabel(f);
},_applyEnabled:function(c,d){qx.ui.container.Composite.prototype._applyEnabled.call(this,c,d);
var e=this.getChildControl(s);
c==null?e.resetEnabled():e.setEnabled(c);
},_createChildControlImpl:function(v){var w;

switch(v){case s:w=new qx.ui.tabview.TabButton;
w.setAllowGrowX(true);
w.setAllowGrowY(true);
w.setUserData(n,this);
w.addListener(q,this._onButtonClose,this);
break;
}return w||qx.ui.container.Composite.prototype._createChildControlImpl.call(this,v);
},_applyShowCloseButton:function(a,b){this.getChildControl(s).setShowCloseButton(a);
},_onButtonClose:function(){this.fireEvent(q);
},getButton:function(){return this.getChildControl(s);
}}});
})();
(function(){var b="changeModel",a="qx.ui.form.MModelProperty";
qx.Mixin.define(a,{properties:{model:{nullable:true,event:b}}});
})();
(function(){var c="qx.ui.form.IRadioItem",b="qx.event.type.Data";
qx.Interface.define(c,{events:{"changeValue":b},members:{setValue:function(a){},getValue:function(){},setGroup:function(d){this.assertInstance(d,qx.ui.form.RadioGroup);
},getGroup:function(){}}});
})();
(function(){var b="qx.ui.form.IBooleanForm",a="qx.event.type.Data";
qx.Interface.define(b,{events:{"changeValue":a},members:{setValue:function(c){return arguments.length==1;
},resetValue:function(){},getValue:function(){}}});
})();
(function(){var b="qx.ui.form.IModel",a="qx.event.type.Data";
qx.Interface.define(b,{events:{"changeModel":a},members:{setModel:function(c){},getModel:function(){},resetModel:function(){}}});
})();
(function(){var o="checked",n="keypress",m="Boolean",l="Right",k="_applyValue",j="changeValue",i="qx.ui.form.RadioButton",h="radiobutton",g="Left",f="qx.ui.form.RadioGroup",b="Down",d="_applyGroup",c="Up",a="execute";
qx.Class.define(i,{extend:qx.ui.form.Button,include:[qx.ui.form.MForm,qx.ui.form.MModelProperty],implement:[qx.ui.form.IRadioItem,qx.ui.form.IForm,qx.ui.form.IBooleanForm,qx.ui.form.IModel],construct:function(u){{};
qx.ui.form.Button.call(this,u);
this.addListener(a,this._onExecute);
this.addListener(n,this._onKeyPress);
},properties:{group:{check:f,nullable:true,apply:d},value:{check:m,nullable:true,event:j,apply:k,init:false},appearance:{refine:true,init:h},allowGrowX:{refine:true,init:false}},members:{_applyValue:function(s,t){s?this.addState(o):this.removeState(o);

if(s&&this.getFocusable()){this.focus();
}},_applyGroup:function(p,q){if(q){q.remove(this);
}
if(p){p.add(this);
}},_onExecute:function(e){this.setValue(true);
},_onKeyPress:function(e){var r=this.getGroup();

if(!r){return;
}
switch(e.getKeyIdentifier()){case g:case c:r.selectPrevious();
break;
case l:case b:r.selectNext();
break;
}}}});
})();
(function(){var p="close-button",o="middle",n="left",m="icon",l="label",k="right",j="click",i="Boolean",h="bottom",g="qx.ui.tabview.TabButton",d="center",f="_applyShowCloseButton",e="top",c="close",b="qx.event.type.Data";
qx.Class.define(g,{extend:qx.ui.form.RadioButton,implement:qx.ui.form.IRadioItem,construct:function(){qx.ui.form.RadioButton.call(this);
var a=new qx.ui.layout.Grid(2,0);
a.setRowAlign(0,n,o);
a.setColumnAlign(0,k,o);
this._getLayout().dispose();
this._setLayout(a);
this.initShowCloseButton();
},events:{"close":b},properties:{showCloseButton:{check:i,init:false,apply:f}},members:{_forwardStates:{focused:true,checked:true},_applyIconPosition:function(q,r){var s={icon:this.getChildControl(m),label:this.getChildControl(l),closeButton:this.getShowCloseButton()?this.getChildControl(p):null};
for(var t in s){if(s[t]){this._remove(s[t]);
}}
switch(q){case e:this._add(s.label,{row:3,column:2});
this._add(s.icon,{row:1,column:2});

if(s.closeButton){this._add(s.closeButton,{row:0,column:4});
}break;
case h:this._add(s.label,{row:1,column:2});
this._add(s.icon,{row:3,column:2});

if(s.closeButton){this._add(s.closeButton,{row:0,column:4});
}break;
case n:this._add(s.label,{row:0,column:2});
this._add(s.icon,{row:0,column:0});

if(s.closeButton){this._add(s.closeButton,{row:0,column:4});
}break;
case k:this._add(s.label,{row:0,column:0});
this._add(s.icon,{row:0,column:2});

if(s.closeButton){this._add(s.closeButton,{row:0,column:4});
}break;
}},_createChildControlImpl:function(u){var v;

switch(u){case l:var v=new qx.ui.basic.Label(this.getLabel());
v.setAnonymous(true);
this._add(v,{row:0,column:2});
this._getLayout().setColumnFlex(2,1);
break;
case m:v=new qx.ui.basic.Image(this.getIcon());
v.setAnonymous(true);
this._add(v,{row:0,column:0});
break;
case p:v=new qx.ui.form.Button();
v.addListener(j,this._onCloseButtonClick,this);
this._add(v,{row:0,column:4});

if(!this.getShowCloseButton()){v.exclude();
}break;
}return v||qx.ui.form.RadioButton.prototype._createChildControlImpl.call(this,u);
},_onCloseButtonClick:function(){this.fireDataEvent(c,this);
},_applyShowCloseButton:function(w,x){if(w){this._showChildControl(p);
}else{this._excludeChildControl(p);
}},_applyCenter:function(y){var z=this._getLayout();

if(y){z.setColumnAlign(2,d,o);
}else{z.setColumnAlign(2,n,o);
}}}});
})();
(function(){var l="legend",k="frame",j="middle",i="top",h="resize",g="qx.ui.groupbox.GroupBox",f="groupbox",d="_applyLegendPosition";
qx.Class.define(g,{extend:qx.ui.core.Widget,include:[qx.ui.core.MRemoteChildrenHandling,qx.ui.core.MRemoteLayoutHandling,qx.ui.core.MContentPadding,qx.ui.form.MForm],implement:[qx.ui.form.IForm],construct:function(m,n){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.Canvas);
this._createChildControl(k);
this._createChildControl(l);
if(m!=null){this.setLegend(m);
}
if(n!=null){this.setIcon(n);
}},properties:{appearance:{refine:true,init:f},legendPosition:{check:[i,j],init:j,apply:d,themeable:true}},members:{_forwardStates:{invalid:true},_createChildControlImpl:function(a){var b;

switch(a){case k:b=new qx.ui.container.Composite();
this._add(b,{left:0,top:6,right:0,bottom:0});
break;
case l:b=new qx.ui.basic.Atom();
b.addListener(h,this._repositionFrame,this);
this._add(b);
break;
}return b||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,a);
},_getContentPaddingTarget:function(){return this.getChildControl(k);
},_applyLegendPosition:function(e){if(this.getChildControl(l).getBounds()){this._repositionFrame();
}},_repositionFrame:function(){var r=this.getChildControl(l);
var q=this.getChildControl(k);
var s=r.getBounds().height;
if(this.getLegendPosition()==j){q.setLayoutProperties({"top":Math.round(s/2)});
}else if(this.getLegendPosition()==i){q.setLayoutProperties({"top":s});
}},getChildrenContainer:function(){return this.getChildControl(k);
},setLegend:function(o){var p=this.getChildControl(l);

if(o!==null){p.setLabel(o);
p.show();
}else{p.exclude();
}},getLegend:function(){return this.getChildControl(l).getLabel();
},setIcon:function(c){this.getChildControl(l).setIcon(c);
},getIcon:function(){this.getChildControl(l).getIcon();
}}});
})();
(function(){var E="button",D="execute",C="info box",B="100%",A="16/password_16.png",z="infobox",y="PermissionTemplate",x="groupbox title",w="Permission hist",v="22/actions/edit-delete.png",bo="cfg",bn="Permissions I have got from '%1'",bm="Relation to %1 is destroyed",bk="16/actions/dialog-ok.png",bj="See history tracks",bi="Show my position",bh="Remove buddy %1",bg="%1 is not my buddy anymore",bf=" - ",be="Send messages to me",L="Permission status",M="Permission gps",J="The new permissions are saved",K="alarm",H="xsms",I="Permission alarm",F="32/apps/utilities-keyring.png",G="tab title",N="Permission cfg",O="Granted to '%1'",V="<b>",T="Buddy Permissions",X="gps",W="track.buddy.PermissionTab",ba="Permission xsms",Y="click",Q="</b>",bd="hist",bc="status",bb="Left click: Remove our relation; Right click: Remove all relations between %1",P="Configure device",R="My online/battery status",S="See alarms",U="Submit";
qx.Class.define(W,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bu){qx.core.Object.call(this);
this.buddyWindow=bu;
this.trackGui=this.buddyWindow.trackGui;
this.log=this.trackGui.getLogger();
this.permissionsGrantedConfigVertBox=null;
},members:{createTab:function(bq){this.tabviewPage=new qx.ui.tabview.Page(this.trc(G,T),xbGetQxIcon(F));
this.tabviewPage.setLayout(new qx.ui.layout.HBox(8));
bq.add(this.tabviewPage);
var br=this.createPermissionsGrantedConfig();
this.tabviewPage.add(br);
var bs=this.createPermissionsGotConfig();
this.tabviewPage.add(bs);
return this.tabviewPage;
},createPermissionsGrantedConfig:function(){var g=xbGetIcon(A);
var c=true;
var f=new qx.ui.groupbox.GroupBox(this.trc(x,O,this.buddyWindow.buddyTO.getAliasAndLoginName()),g);
f.setLayout(new qx.ui.layout.VBox());
f.setEnabled(c);
f.setSelectable(c);
var b=new qx.ui.container.Composite(new qx.ui.layout.VBox(8));
this.permissionsGrantedConfigVertBox=new qx.ui.container.Composite(new qx.ui.layout.VBox(8));
b.add(this.permissionsGrantedConfigVertBox);
f.add(b);
this.updatePermissionGrantedCheckBoxes();
var d=new qx.ui.form.Button(this.trc(E,U,xbGetQxIcon(bk)));
d.setMarginTop(12);
d.addListener(D,function(e){var k=new Array();
var j=this.permissionsGrantedConfigVertBox.getChildren();

for(var i=0,l=j.length;i<l;i++){var h=j[i];
var m=h.getUserData(y);

if(m!=null){if(h.getValue()){var n=new net.watchee.BuddyPermissionTO(m.getName(),m.getDescription());
k.push(n);
}}}this.buddyWindow.buddyTO.setPermissionsOutbound(k);
this.trackGui.sendChangePermission(this.buddyWindow.buddyTO);
this.log.debug("Send changed permissions: "+k);
this.trackGui.infoMsgBox(this.trc(C,J));
},this);
b.add(d);

if(!this.buddyWindow.buddyTO.isCurrentLoginAccount()){var a=new qx.ui.form.Button(this.trc(E,bh,this.buddyWindow.buddyTO.getLoginName()),v);
a.setMarginTop(12);
a.setToolTip(this.trc(C,bb,this.buddyWindow.buddyTO.getLoginName()));
a.addListener(D,function(e){this.onRemoveEvent(false);
},this);
a.addListener(Y,function(e){var bt=true;
this.onRemoveEvent(bt);
},this);
b.add(a);
}return f;
},onRemoveEvent:function(t){this.trackGui.sendRemoveBuddy(this.buddyWindow.buddyTO,t);

if(t){this.trackGui.infoMsgBox(this.trc(z,bm,this.buddyWindow.buddyTO.getLoginName()));
}else{this.trackGui.infoMsgBox(this.trc(z,bg,this.buddyWindow.buddyTO.getLoginName()),6000);
}this.trackGui.getBuddiesWidget().removeBuddy(this.buddyWindow.buddyTO.getLoginName());
},createPermissionsGotConfig:function(){var bD=xbGetIcon(A);
var bC=false;
var bB=new qx.ui.groupbox.GroupBox(this.trc(x,bn,this.buddyWindow.buddyTO.getLoginName()),bD);
bB.setLayout(new qx.ui.layout.VBox());
bB.setEnabled(bC);
bB.setSelectable(bC);
this.permissionsGotConfigVertBox=new qx.ui.container.Composite(new qx.ui.layout.VBox(8));
bB.add(this.permissionsGotConfigVertBox,{left:0,top:0,width:B,height:B});

if(this.trackGui.watchee==null)return bB;
this.updatePermissionGotCheckBoxes();
return bB;
},getDescriptionText:function(u){if(X==u.getName())return this.trc(M,bi);
else if(K==u.getName())return this.trc(I,S);
else if(bd==u.getName())return this.trc(w,bj);
else if(bc==u.getName())return this.trc(L,R);
else if(bo==u.getName())return this.trc(N,P);
else if(H==u.getName())return this.trc(ba,be);
else return u.getDescription();
},getPermissionLabelText:function(bv,bw){var bx=bw.getName()+bf+this.getDescriptionText(bw);

if(bv)return V+bx+Q;
return bx;
},updatePermissionGotCheckBoxes:function(){if(this.permissionsGotConfigVertBox==null)return;
this.permissionsGotConfigVertBox.removeAll();
var s=this.trackGui.watchee.getBuddyManager().getFriendOf(this.buddyWindow.buddyTO.getLoginName());
var o=this.trackGui.watchee.getPermissionTemplateList();

if(o!=null){for(var i=0,l=o.getPermissionTemplates().length;i<l;i++){var r=o.getPermissionTemplates()[i];
var q=(s!=null&&s.hasPermission(r.getName()));
var p=new qx.ui.form.CheckBox(this.getPermissionLabelText(q,r));
p.setRich(true);
p.setValue(q);
this.permissionsGotConfigVertBox.add(p);
}}},updatePermissionGrantedCheckBoxes:function(){if(this.permissionsGrantedConfigVertBox==null)return;
this.permissionsGrantedConfigVertBox.removeAll();
var by=this.trackGui.watchee.getPermissionTemplateList();

if(by!=null){for(var i=0,l=by.getPermissionTemplates().length;i<l;i++){var bA=by.getPermissionTemplates()[i];
var bz=new qx.ui.form.CheckBox(this.getPermissionLabelText(false,bA));
bz.setUserData(y,bA);
bz.setValue(this.buddyWindow.buddyTO.hasPermissionOutbound(bA.getName()));
this.permissionsGrantedConfigVertBox.add(bz);
}}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var w="pressed",v="abandoned",u="hovered",t="checked",s="Space",r="Enter",q="mouseup",p="mousedown",o="Boolean",n="_applyValue",h="mouseover",m="mouseout",k="qx.ui.form.ToggleButton",g="keydown",f="changeValue",j="button",i="keyup",l="execute";
qx.Class.define(k,{extend:qx.ui.basic.Atom,include:[qx.ui.core.MExecutable],implement:[qx.ui.form.IBooleanForm,qx.ui.form.IExecutable],construct:function(c,d){qx.ui.basic.Atom.call(this,c,d);
this.addListener(h,this._onMouseOver);
this.addListener(m,this._onMouseOut);
this.addListener(p,this._onMouseDown);
this.addListener(q,this._onMouseUp);
this.addListener(g,this._onKeyDown);
this.addListener(i,this._onKeyUp);
this.addListener(l,this._onExecute,this);
},properties:{appearance:{refine:true,init:j},focusable:{refine:true,init:true},value:{check:o,nullable:true,event:f,apply:n,init:false}},members:{_applyValue:function(a,b){a?this.addState(t):this.removeState(t);
},_onExecute:function(e){this.toggleValue();
},_onMouseOver:function(e){if(e.getTarget()!==this){return;
}this.addState(u);

if(this.hasState(v)){this.removeState(v);
this.addState(w);
}},_onMouseOut:function(e){if(e.getTarget()!==this){return;
}this.removeState(u);

if(this.hasState(w)){if(!this.getValue()){this.removeState(w);
}this.addState(v);
}},_onMouseDown:function(e){if(!e.isLeftPressed()){return;
}this.capture();
this.removeState(v);
this.addState(w);
e.stopPropagation();
},_onMouseUp:function(e){this.releaseCapture();

if(this.hasState(v)){this.removeState(v);
}else if(this.hasState(w)){this.execute();
}this.removeState(w);
e.stopPropagation();
},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case r:case s:this.removeState(v);
this.addState(w);
e.stopPropagation();
}},_onKeyUp:function(e){if(!this.hasState(w)){return;
}
switch(e.getKeyIdentifier()){case r:case s:this.removeState(v);
this.execute();
this.removeState(w);
e.stopPropagation();
}}}});
})();
(function(){var b="checkbox",a="qx.ui.form.CheckBox";
qx.Class.define(a,{extend:qx.ui.form.ToggleButton,include:[qx.ui.form.MForm,qx.ui.form.MModelProperty],implement:[qx.ui.form.IForm,qx.ui.form.IModel],construct:function(c){{};
qx.ui.form.ToggleButton.call(this,c);
this.setValue(false);
},properties:{appearance:{refine:true,init:b},allowGrowX:{refine:true,init:false}}});
})();
(function(){var x="input info",w="Add New Buddy",v="changeAccount",u="Please enter the buddy login name, the name is case sensitive.",t="16/actions/dialog-ok.png",s="info box",r="<b>Add Buddy</b>",q="(Buddy has empty permissions)",p="execute",o="AjaxAnimator",h="Adding buddy %1 ...",n="right",k="track.buddy.AddBuddyTab",g="groupbox title",f="left",j="32/buddies_add_32.png",i="middle",l="button",d="tab title",m="Login name of buddy (case sensitive):";
qx.Class.define(k,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(c){qx.core.Object.call(this);
this.buddyWindow=c;
this.trackGui=this.buddyWindow.trackGui;
},members:{createTab:function(a){this.tabviewPage=new qx.ui.tabview.Page(this.trc(d,w),xbGetIcon(j));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
a.add(this.tabviewPage);

if(this.trackGui.watchee==null)return;
this.changeAccountListenerFunc=null;
var b=this._addBuddyGroup();
this.tabviewPage.add(b,{left:0,right:0,top:0,bottom:0});
},_addBuddyGroup:function(){var B=new qx.ui.groupbox.GroupBox(this.trc(g,w));
var A=new qx.ui.layout.Grid(6,4);
B.setLayout(A);
A.setRowAlign(0,f,i);
A.setRowHeight(0,22);
A.setRowHeight(1,30);
var C=new qx.ui.form.TextField();
var D=new qx.ui.basic.Label(this.trc(x,m));
D.setRich(true);
B.add(D,{row:0,column:0});
B.add(C,{row:0,column:1});
B.add(new qx.ui.basic.Label(this.trc(x,q)),{row:1,column:0});
var z=new qx.ui.form.Button(this.trc(l,r),xbGetQxIcon(t));

with(z){setWidth(120);
setAlignX(n);
setRich(true);
}B.add(z,{row:1,column:1});
this.changeAccountListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(v,function(y){},this);
z.addListener(p,function(e){if(this.trackGui.watchee==null)return;
var F=org.xmlBlaster.util.trim(C.getValue());

if(!org.xmlBlaster.util.isFilled(F)){this.trackGui.infoMsgBox(this.trc(s,u));
return;
}this.trackGui.startAjaxAnimator(this.trc(o,h,F));
var E=new net.watchee.BuddyTO(this.trackGui.watchee,F);
this.trackGui.sendAddBuddy(E);
},this);
return B;
}},destruct:function(){if(this.changeAccountListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(v,this.changeAccountListenerFunc);
this.changeAccountListenerFunc=null;
}this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var v="addTrack",u="updateBuddy",t="removeTrack",s="window text",r="window title",q="%1",p="updateFriendOf",o="16/apps/system-users.png",n="Configure the display of your tracks and load history tracks",m="32/categories/graphics.png",k="Here you can see tracks of your buddy %1",l="track.trackconf.TrackConfigWindow";
var j=50;
var i=150;
qx.Class.define(l,{extend:qx.ui.window.Window,construct:function(D,E){qx.ui.window.Window.call(this);
this.setLayout(new qx.ui.layout.Canvas());
this.buddyTO=E;
this.setCaption(this.trc(r,q,this.buddyTO.getAliasAndLoginName()));
this.setIcon(xbGetQxIcon(o));
this.trackGui=D;
this.log=this.trackGui.getLogger();
this.trackDisplayTab=null;
},members:{__mj:function(){var C=this.buddyTO.getDevice();
this.addTrackEventFunc=C.getEventManager().addListener(v,function(e){var f=e.getData().track;
var g=e.getData().taskNameInfo;

if(g!=null&&g.taskName==org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_GETTRACKS&&g.currTrackIndex<g.countTracks-1)return;
this.log.info("TrackConfigWindow: Received addTrack event for "+f.getTrackName());
this.trackDisplayTab.setTrackNames();
if(f.getNumGpsData()>=0&&this.trackDisplayTab!=null)this.trackDisplayTab.trackDataLoaded(f);
},this);
this.removeTrackEventFunc=C.getEventManager().addListener(t,function(z){var A=z.getData();
this.log.info("TrackConfigWindow: Received removeTrack event for "+A.getTrackName());
this.trackDisplayTab.hideTrack(A);
this.trackDisplayTab.setTrackNames();
this.trackDisplayTab.displayComboCurrent();
},this);
this.updateBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(u,function(h){if(h.getData().buddyTO.getLoginName()==this.buddyTO.getLoginName())this.setCaption(this.trc(r,q,this.buddyTO.getAliasAndLoginName()));
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(p,function(a){if(this.buddyTO==null||a==null||a.getData()==null||a.getData().buddyTO==null||this.buddyTO.getLoginName()!=a.getData().buddyTO.getLoginName())return;
this.log.info("TrackConfigWindow: Received 'updateFriendOf' event for "+this.buddyTO.getLoginName());
var b=a.getData().oldBuddyTO;
var d=this.buddyTO.permissionInboundIsSame(net.watchee.BuddyPermissionTO.PERMISSION_GPS,b);
var c=this.buddyTO.permissionInboundIsSame(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY,b);

if(d&&c)return;
this.trackDisplayTab.setTrackNames();

if(!d){if(this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){}else{this.trackDisplayTab.hideCurrentTrack();
}}
if(!c){if(this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY)){this.trackGui.getTracks(this.buddyTO.getLoginName());
}else{this.trackDisplayTab.hideAllHistoryTracks();
}}this.trackDisplayTab.displayComboCurrent();
},this);
if(this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY)){this.trackGui.getTracks(this.buddyTO.getLoginName());
}},getBuddyTO:function(){return this.buddyTO;
},getTrackConfigWindowTop:function(){if(j>200)j=50;
j+=25;
return j;
},getTrackConfigWindowLeft:function(){if(i>350)i=150;
i+=25;
return i;
},createTrackConfigWindow:function(){this.moveTo(this.getTrackConfigWindowLeft(),this.getTrackConfigWindowTop());
var x=(this.buddyTO.isCurrentLoginAccount())?(this.trc(s,n)):(this.trc(s,k,this.buddyTO.getAliasAndLoginName()));
var w=new qx.ui.basic.Atom(x,xbGetQxIcon(m));
w.setRich(true);
this.add(w,{top:4,left:4});
this.tabView=new qx.ui.tabview.TabView();
var y=true;

if(this.buddyTO.isPublic())y=false;

if(y){this.trackDisplayTab=new track.trackconf.TrackDisplayTab(this.trackGui,this.buddyTO);
this.trackDisplayTab.createTab(this.tabView);
}this.__mj();
this.add(this.tabView,{left:10,top:52,right:10,bottom:10});
this.trackGui.getMyRoot().add(this);
this.open();
},makeTrackCurrent:function(B){this.trackDisplayTab.makeTrackCurrent(B);
},destroyPopup:function(){this.trackGui.getMyRoot().remove(this);
this.close();

if(this.trackGui==null)return;
this.log.info("destruct TrackConfigWindow "+this.getBuddyTO().getLoginName());

if(this.addTrackEventFunc!=null)this.buddyTO.getDevice().getEventManager().removeListener(v,this.addTrackEventFunc);
this.addTrackEventFunc=null;

if(this.removeTrackEventFunc!=null)this.buddyTO.getDevice().getEventManager().removeListener(t,this.removeTrackEventFunc);
this.removeTrackEventFunc=null;

if(this.updateBuddyListenerFunc!=null)this.buddyTO.getDevice().getEventManager().removeListener(u,this.updateBuddyListenerFunc);
this.updateBuddyListenerFunc=null;

if(this.updateFriendOfListenerFunc!=null)this.buddyTO.getDevice().getEventManager().removeListener(p,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;
this.trackGui=null;
this.buddyTO=null;
this.log=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var bi="dropdown item",bh="execute",bg="Label",bf="button",be="ToolTip",bd="16/actions/help-about.png",bc="Track Name [%1]",bb="AjaxAnimator",ba="trackName",Y="input info",cy="16/apps/preferences.png",cx="askMsgBox",cw="Vector",cv="askMsgBox title",cu="errorMsgBox",ct="",cs="middle",cr="Showing track failed",cq="label",cp="groupbox title",bp="left",bq="_50_30_25_1.5_70_0000FF_FF0000_jack.png",bn="Track Name [...]",bo="You have permission to see current location",bl="Save Display Settings",bm="changeValue",bj="Tracking Icon",bk="pink-dot.png",bx="Current Position",by="Watchee",bQ="Delete track",bM="right",bY="Blue dot",bT="Color of segment",cl="Yellow dot",cf="You have permission to see history tracks",bF="Segments to show",co="Track Name [NO PERM]",cn="Green dot",cm="You have <b>no</b> permission to see current location",bD="#",bI="No track 'changeSelected' for %1",bK="yellow-dot.png",bO="The settings are stored permanently: %1",bR="changeSelection",bU="22/actions/document-save.png",cb="watchee-point.png",ch="dropdown field title",br="Pink dot",bs="Hiding %1",bH="zeppelin90.gif",bX="22/places/user-trash.png",bW="Width of segment",bV="green-dot.png",cd="Configuration saved",cc="Icons to show",bS="Open Popup",ca="Hide",V="Show",cg="Configuration",bt="32/actions/system-log-out.png",bu="Red dot",bN="Green arrow",W="tab Title",X="22/actions/dialog-cancel.png",bC="red-dot.png",bv="You have <b>no</b> permission to see history tracks",bw="Delete",bB="Save track settings for next login session?",bP="track.trackconf.TrackDisplayTab",cj="Do you really want to destroy permanently track <br /><b>%1</b> with %2 locations?",ci="infoMsgBox title",bJ="blue-dot.png",ck="Show Tracks",bE="Track Display Settings",ce="green-arrow.png",bz="Zeppelin",bA="22/actions/edit-find.png",bG="Drawing %1",bL="infoMsgBox";
qx.Class.define(bP,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(cS,cT){qx.core.Object.call(this);
this.trackGui=cS;
this.buddyTO=cT;
var cU=this.buddyTO.getDevice();
this.log=this.trackGui.getLogger();
this.iconHash=new org.xmlBlaster.util.Hashtable();
this.trackNameCurrentlyConfigured=this.buddyTO.getDevice().getCurrentTrack().getTrackName();
this.hasRemoveButton=false;

if(this.buddyTO.isCurrentLoginAccount()||this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG))this.hasRemoveButton=true;
this.programmaticSetSelected=false;
this.numSegmentsToShowSpinner=null;
this.segmentWidthSpinner=null;
this.numIconsToShowSpinner=null;
this.iconSelectBox=null;
this.saveConfigButton=null;
this.colorPopup=null;
},members:{createTab:function(dm){this.tabviewPage=new qx.ui.tabview.Page(this.trc(W,ck),xbGetQxIcon(bt));
this.tabviewPage.setLayout(new qx.ui.layout.VBox());
dm.add(this.tabviewPage);
var dn=this.createTrackingMapControl();
this.tabviewPage.add(dn);
var dp=this.createConfigGroup();
this.tabviewPage.add(dp);
return this.tabviewPage;
},setSelectedNoEvent:function(dq,dr){this.programmaticSetSelected=true;
dq.setSelection([dr]);
this.programmaticSetSelected=false;
},addListItemNoEvent:function(T,U){this.programmaticSetSelected=true;
T.add(U);
this.programmaticSetSelected=false;
},createConfigGroup:function(){var M=new qx.ui.groupbox.GroupBox(this.trc(cp,cg),xbGetQxIcon(cy));
var L=new qx.ui.layout.Grid();
M.setLayout(L);
var N=0;
var O=1;
L.setSpacingY(4);
L.setSpacingX(6);
L.setColumnAlign(0,bp,cs);
{this.saveConfigButton=new qx.ui.form.Button(this.trc(bf,bl),xbGetQxIcon(bU));
this.saveConfigButton.addListener(bh,function(e){var ds=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);
this.trackGui.askMsgBox(this.trc(cv,ct),this.trc(cx,bB),function(cM,cN){if(cM){this.__ml(cN);
var cO=cN.getDeviceId();
var cQ=net.watchee.TrackDisplayInfo.KEY_TRACK_DISPLAY_INFO_PREFIX+cO;
var cP=cN.getTrackDisplayInfoDefault().toCSV();
this.trackGui.sendChangeAccountProperty(cO,cQ,cP,function(g,h,j){this.trackGui.infoMsgBox(this.trc(ci,cd),this.trc(bL,bO,g));
},this);
}},this,ds);
},this);
M.add(this.saveConfigButton,{row:0,column:0});
this.saveConfigButton.setEnabled(true);
};
return M;
},createTrackingMapControl:function(){var F=new qx.ui.groupbox.GroupBox(this.trc(cp,bE),xbGetQxIcon(cy));
var x=new qx.ui.layout.Grid();
F.setLayout(x);
var A=0;
var B=1;
x.setSpacingY(4);
x.setSpacingX(6);
x.setColumnAlign(0,bp,cs);
if(isWatchee){this.__mm(this.trc(bi,by),cb,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__mm(this.trc(bi,cw),bq,net.watchee.IconDisplayInfo.RENDER_ARROW);
this.__mm(this.trc(bi,bz),bH,net.watchee.IconDisplayInfo.RENDER_STATIC);
}this.__mm(this.trc(bi,bN),ce,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__mm(this.trc(bi,bY),bJ,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__mm(this.trc(bi,br),bk,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__mm(this.trc(bi,bu),bC,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__mm(this.trc(bi,cn),bV,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__mm(this.trc(bi,cl),bK,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__mm(this.trc(bi,cw),bq,net.watchee.IconDisplayInfo.RENDER_ARROW);
var I=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);
var G=I.getSegmentDisplayInfoDefault();
var C=I.getIconDisplayInfoDefault();
var K=0;
this.comboColorSelectBox=new qx.ui.form.Button(ct);
this.comboColorSelectBox.setDecorator(null);
this.colorPopup=new qx.ui.control.ColorPopup();
this.colorPopup.exclude();
this.colorPopup.setValue(I.getHexaColor());
this.comboColorSelectBox.addListener(bh,function(e){this.colorPopup.placeToWidget(this.comboColorSelectBox);
this.colorPopup.show();
},this);
this.colorPopup.addListener(bm,function(e){var db=e.getData();
var dc=new Array();
dc.push(this.colorPopup.getRed());
dc.push(this.colorPopup.getGreen());
dc.push(this.colorPopup.getBlue());
var dd=bD+qx.util.ColorUtil.rgbToHexString(dc);
this.comboColorSelectBox.setBackgroundColor(dd);
this.comboColorSelectBox.setLabel(dd);
},this);
this.iconSelectBox=new qx.ui.form.SelectBox();
this.log.info("trackHolderCurr.numIconsToShow()="+I.getNumIconsToShow());
this.numIconsToShowSpinner=new qx.ui.form.Spinner(0,I.getNumIconsToShow(),I.getFifoGpsQueueMax());
this.numSegmentsToShowSpinner=new qx.ui.form.Spinner(0,G.getNumSegmentsToShow(),I.getFifoGpsQueueMax());
this.segmentWidthSpinner=new qx.ui.form.Spinner(0,G.getSegmentWidth(),20);
{this.trackNameLabel=new qx.ui.basic.Label(this.trc(bg,bc,I.getNumGpsData()));
F.add(this.trackNameLabel,{row:K,column:A});
this.setTrackNames();
this.displayComboCurrent();
this.trackSelectBox.addListener(bR,function(e){if(this.programmaticSetSelected)return ;
var p=(e.getData().length==0)?null:e.getData()[0];

if(p==null)return ;
this.trackNameCurrentlyConfigured=p.getUserData(ba);
var o=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);

if(o==null){this.trackGui.errorMsgBox(this.trc(cu,bI,this.trackNameCurrentlyConfigured));
}this.__mk(o);
},this);
F.add(this.trackSelectBox,{row:K,column:B});
K++;
};
{F.add(new qx.ui.basic.Label(this.trc(bg,bj)),{row:K,column:A});
var y=this.iconHash.getValues();

for(var i=0,l=y.length;i<l;i++){var z=y[i];
var H=(z.renderType==net.watchee.IconDisplayInfo.RENDER_STATIC)?net.watchee.STATIC_ICON_URL_PATH:net.watchee.DYNAMIC_ICON_URL_PATH;
var D=new qx.ui.form.ListItem(z.label,H+z.iconName);
this.iconSelectBox.add(D);
}var z=this.__mn(C);

if(z!=null)track.util.GuiUtils.selectByLabel(this.iconSelectBox,z.label);
F.add(this.iconSelectBox,{row:K,column:B});
K++;
};
{var J=new qx.ui.form.Button(bS);
J.addListener(bh,function(e){this.colorPopup.placeToWidget(J);
this.colorPopup.show();
});
F.add(new qx.ui.basic.Label(this.trc(ch,bT)),{row:K,column:A});
this.comboColorSelectBox.setBackgroundColor(G.getSegmentColor());
F.add(this.comboColorSelectBox,{row:K,column:B});
K++;
};
{F.add(new qx.ui.basic.Label(this.trc(Y,cc)),{row:K,column:A});
F.add(this.numIconsToShowSpinner,{row:K,column:B});
K++;
};
{F.add(new qx.ui.basic.Label(this.trc(Y,bF)),{row:K,column:A});
F.add(this.numSegmentsToShowSpinner,{row:K,column:B});
K++;
};
{F.add(new qx.ui.basic.Label(this.trc(Y,bW)),{row:K,column:A});
F.add(this.segmentWidthSpinner,{row:K,column:B});
K++;
};
this.removeButton=null;

if(this.hasRemoveButton){this.removeButton=new qx.ui.form.Button(this.trc(bf,bQ),xbGetQxIcon(bX));
this.removeButton.addListener(bh,function(e){var f=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);
this.trackGui.askMsgBox(this.trc(cv,bw),this.trc(cx,cj,this.trackNameCurrentlyConfigured,f.getNumGpsData()),function(m,n){if(m){this.removeTrack(f);
}},this,f);
},this);
F.add(this.removeButton,{row:K,column:A});
this.removeButton.setEnabled(I.isDisplayedOnMap());
}var E=new qx.ui.container.Composite(new qx.ui.layout.HBox());
F.add(E,{row:K,column:B});
{this.hideButton=new qx.ui.form.Button(this.trc(bf,ca),xbGetQxIcon(X));
this.hideButton.addListener(bh,function(e){try{var cR=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);
this.trackGui.startAjaxAnimator(this.trc(bb,bs,cR.getTrackName()),10000);
this.hideTrack(cR);
this.trackGui.stopAjaxAnimator();
}catch(da){this.trackGui.errorMsgBox(this.trc(cu,cr),da);
}},this);
E.add(this.hideButton);
this.hideButton.setEnabled(I.isDisplayedOnMap());
};
{this.showTrackButton=new qx.ui.form.Button(this.trc(bf,V),xbGetQxIcon(bA));
this.showTrackButton.setAlignX(bM);
this.showTrackButton.addListener(bh,function(e){try{var v=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);

if(v.fifoGpsQueue.size()>0)this.trackGui.startAjaxAnimator(this.trc(bb,bG,v.getTrackName()),40000);
this.__ml(v);
v.drawHistoryLine();
var w=v.getFifoGpsQueue().getArray();

for(var i=0,l=w.length;i<l;i++){this.trackGui.addPhotoToPhotoGallery(v,w[i]);
}v.drawPositionIcons(function(e){this.trackGui.stopAjaxAnimator();
this.hideButton.setEnabled(v.isDisplayedOnMap());
},this);
}catch(cX){this.trackGui.errorMsgBox(this.trc(bb,cr),cX);
}},this);
E.add(this.showTrackButton);
this.updateShowTrackButton(I);
};
return F;
},__mk:function(df){var dl=false;

if(df.isCurrentTrack()){dl=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);
this.saveConfigButton.setEnabled(true);
}else{dl=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY);
this.saveConfigButton.setEnabled(false);
}var dh=df.getSegmentDisplayInfoDefault();
var dk=df.getIconDisplayInfoDefault();
this.numIconsToShowSpinner.setMaximum(df.getFifoGpsQueueMax());
this.numSegmentsToShowSpinner.setMaximum(df.getFifoGpsQueueMax());
var dj=false;

if(dl){if(!df.locationsAreLoaded()&&!df.isCurrentTrack()){this.trackNameLabel.setValue(this.trc(bg,bn));
dj=true;
this.trackGui.getTrackLocations(this.buddyTO.getLoginName(),df.getTrackName());
}else{this.trackNameLabel.setValue(this.trc(bg,bc,df.getNumGpsData()));
}}else{this.trackNameLabel.setValue(this.trc(bg,co));
}this.log.info("changeSelected to "+df.getTrackName());
var di=this.__mn(dk);

if(di!=null){track.util.GuiUtils.selectByLabel(this.iconSelectBox,di.label);
}var dg=dh.getSegmentColor();
this.comboColorSelectBox.setBackgroundColor(dg);
this.colorPopup.setValue(dg);
this.numSegmentsToShowSpinner.setValue(dh.getNumSegmentsToShow());
this.segmentWidthSpinner.setValue(dh.getSegmentWidth());
this.numIconsToShowSpinner.setValue(df.getNumIconsToShow());

if(this.hideButton!=null){this.hideButton.setEnabled(df.isDisplayedOnMap());
}
if(this.removeButton!=null){this.removeButton.setEnabled(!df.isCurrentTrack());
}this.updateShowTrackButton(df,dj);
},__ml:function(a){var b=a.getSegmentDisplayInfoDefault();
b.setNumSegmentsToShow(this.numSegmentsToShowSpinner.getValue());
b.setSegmentWidth(this.segmentWidthSpinner.getValue());
a.setNumIconsToShow(this.numIconsToShowSpinner.getValue());
a.setSegmentColor(this.comboColorSelectBox.getBackgroundColor());
var d=this.iconSelectBox.getSelection()[0].getLabel();
var c=this.iconHash.get(this.iconSelectBox.getSelection()[0].getLabel());
a.setIconName(c.iconName,c.renderType);
},__mm:function(P,Q,R){var S={label:P,iconName:Q,renderType:R};
this.iconHash.put(P,S);
},__mn:function(q){var r=q.getIconName();
var t=q.getRenderType();
var u=this.iconHash.getValues();

for(var i=0,l=u.length;i<l;i++){var s=u[i];
if(s.renderType==net.watchee.IconDisplayInfo.RENDER_STATIC){if(s.iconName==r)return s;
}else{if(s.renderType==t)return s;
}}return null;
},trackDataLoaded:function(de){if(de.getTrackName()==this.trackNameCurrentlyConfigured){if(org.xmlBlaster.util.isDefined(this.trackNameLabel))this.trackNameLabel.setValue(this.trc(cq,bc,de.getNumGpsData()));
}this.updateShowTrackButton(de);
},displayComboCurrent:function(){if(org.xmlBlaster.util.isDefined(this.trackSelectBox)){var cL=track.util.GuiUtils.findListItemByModel(this.trackSelectBox,net.watchee.Device.CUR_TRACK_KEY);
if(cL!=null){this.setSelectedNoEvent(this.trackSelectBox,cL);
var cK=this.buddyTO.getDevice().getCurrentTrack();
this.trackNameCurrentlyConfigured=cK.getTrackName();
this.updateShowTrackButton(cK);
return true;
}}return false;
},updateShowTrackButton:function(dt,du){if(dt==null)return;

if(!org.xmlBlaster.util.isDefined(this.showTrackButton))return;
var du=org.xmlBlaster.util.toBoolean(du,false);

if(du){this.showTrackButton.setEnabled(false);
return;
}
if(dt.isCurrentTrack()){var dv=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);
this.showTrackButton.setEnabled(dv);
var dw=dv?new qx.ui.tooltip.ToolTip(this.trc(be,bo),xbGetQxIcon(bd)):new qx.ui.tooltip.ToolTip(this.trc(be,cm),xbGetQxIcon(bd));
dw.setRich(true);
dw.setShowTimeout(50);
this.showTrackButton.setToolTip(dw);
}else{var dx=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY);
this.showTrackButton.setEnabled(dx);
var dw=dx?new qx.ui.tooltip.ToolTip(this.trc(be,cf),xbGetQxIcon(bd)):new qx.ui.tooltip.ToolTip(this.trc(be,bv),xbGetQxIcon(bd));
dw.setRich(true);
dw.setShowTimeout(50);
this.showTrackButton.setToolTip(dw);
}},hideAllHistoryTracks:function(){var cY=this.buddyTO.getDevice().getTracks();

for(var i in cY){this.hideTrack(cY[i]);
}},hideCurrentTrack:function(){this.hideTrack(this.buddyTO.getDevice().getCurrentTrack());
},hideTrack:function(cz){if(cz==null)return;
cz.clearMappingData(false);
this.hideButton.setEnabled(cz.isDisplayedOnMap());
var cA=cz.getFifoGpsQueue().getArray();

for(var i=0,l=cA.length;i<l;i++){this.trackGui.removePhotoFromPhotoGallery(cA[i]);
}},removeTrack:function(k){if(k==null)return;
k.getDevice().removeTrack(k.getTrackName());
this.trackGui.sendRemoveTrack(this.buddyTO.getLoginName(),k.getTrackName());
},makeTrackCurrent:function(cV){if(!org.xmlBlaster.util.isDefined(this.trackSelectBox))return;

if(!org.xmlBlaster.util.isFilled(cV))cV=net.watchee.Device.CUR_TRACK_KEY;
var cW=track.util.GuiUtils.findListItemByModel(this.trackSelectBox,cV);
if(cW!=null){this.trackSelectBox.setSelection([cW]);
}},setTrackNames:function(){var cI=this.buddyTO.getDevice().getTracks();
var cB=null;

if(this.trackSelectBox){var cC=this.trackSelectBox.getSelection()[0];
cB=cC.getUserData(ba);
this.trackSelectBox.removeAll();
}else{this.trackSelectBox=new qx.ui.form.SelectBox();
}var cF=null;

for(var i=0;i<cI.length;i++){var cG=cI[i];
var cD=cG.getTrackName();

if(cD==net.watchee.Device.CUR_TRACK_KEY)cD=this.trc(cq,bx);
var cJ=null;
var cH=cG.getTrackName();
var cE=new qx.ui.form.ListItem(cD,cJ,cH);

if(cB==cG.getTrackName())cF=cE;
cE.setUserData(ba,cG.getTrackName());
this.addListItemNoEvent(this.trackSelectBox,cE);
}
if(cF!=null)this.setSelectedNoEvent(this.trackSelectBox,cF);
}},destruct:function(){this.trackNameCurrentlyConfigured=null;
this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var c="qx.ui.form.IColorForm",b="qx.event.type.Data";
qx.Interface.define(c,{events:{"changeValue":b},members:{setValue:function(a){return arguments.length==1;
},resetValue:function(){},getValue:function(){}}});
})();
(function(){var w="current-preview",v="execute",u="selected-preview",t="Number",s="preview-pane",r="selector-button",q="colorselector-cancelbutton",p="auto-button",o="colorselector-okbutton",n="__mq",bi="mousedown",bh="teal",bg="__mr",bf="maroon",be="qx.ui.control.ColorPopup",bd="#666",bc="changeValue",bb="#333",ba="#000",Y="yellow",D="changeGreen",E="colorpopup",B="_applyValue",C="blue",z="changeRed",A="field#",x="#CCC",y="Color Selector",F="changeVisibility",G="recent",N="changeBlue",L="mouseover",R="Cancel",P="#FFF",U="right",T="Open ColorSelector",I="mouseout",X="#999",W="Automatic",V="Basic Colors",H="Preview (Old/New)",J="visible",K="Recent Colors",M="OK",O="field",Q="green",S="red";
qx.Class.define(be,{extend:qx.ui.popup.Popup,implement:[qx.ui.form.IColorForm],construct:function(){qx.ui.popup.Popup.call(this);
this.setLayout(new qx.ui.layout.VBox(5));
this._createChildControl(p);
this._createBoxes();
this._createChildControl(s);
this._createChildControl(r);
this.addListener(F,this._onChangeVisibility,this);
},properties:{appearance:{refine:true,init:E},value:{nullable:true,apply:B,event:bc},red:{check:t,init:null,nullable:true,event:z},green:{check:t,init:null,nullable:true,event:D},blue:{check:t,init:null,nullable:true,event:N}},members:{__mo:1e5,__mp:null,__mq:null,__mr:null,__ms:G,__mt:12,_createChildControlImpl:function(bn){var bo;

switch(bn){case O:bo=new qx.ui.core.Widget;
bo.addListener(bi,this._onFieldMouseDown,this);
bo.addListener(L,this._onFieldMouseOver,this);
bo.addListener(I,this._onFieldMouseOut,this);
break;
case p:bo=new qx.ui.form.Button(this.tr(W));
bo.setAllowStretchX(true);
bo.addListener(v,this._onAutomaticBtnExecute,this);
this.add(bo);
break;
case r:bo=new qx.ui.form.Button(this.tr(T));
bo.addListener(v,this._onSelectorButtonExecute,this);
this.add(bo);
break;
case s:bo=new qx.ui.groupbox.GroupBox(this.tr(H));
bo.setLayout(new qx.ui.layout.HBox);
bo.add(this._createChildControl(u,true),{flex:1});
bo.add(this._createChildControl(w,true),{flex:1});
this.add(bo);
break;
case u:bo=new qx.ui.container.Composite(new qx.ui.layout.Basic);
break;
case w:bo=new qx.ui.container.Composite(new qx.ui.layout.Basic);
break;
case o:bo=new qx.ui.form.Button(this.tr(M));
bo.addListener(v,this._onColorSelectorOk,this);
break;
case q:bo=new qx.ui.form.Button(this.tr(R));
bo.addListener(v,this._onColorSelectorCancel,this);
break;
}return bo||qx.ui.popup.Popup.prototype._createChildControlImpl.call(this,bn);
},_createBoxes:function(){this.__mp={};
var by=this._tables;
var bB,bx,bz;
var j=0;

for(var bA in by){bB=by[bA];
bx=new qx.ui.groupbox.GroupBox(bB.label);
bx.setLayout(new qx.ui.layout.HBox);
this.__mp[bA]=bx;
this.add(bx);

for(var i=0;i<this.__mt;i++){bz=this.getChildControl(A+(j++));
bz.setBackgroundColor(bB.values[i]||null);
bx.add(bz);
}}},_createColorSelector:function(){if(this.__mr){return;
}var bj=new qx.ui.window.Window(this.tr(y));
this.__mq=bj;
bj.setLayout(new qx.ui.layout.VBox(16));
bj.setResizable(false);
bj.moveTo(20,20);
this.__mr=new qx.ui.control.ColorSelector;
bj.add(this.__mr);
var bk=new qx.ui.container.Composite(new qx.ui.layout.HBox(8,U));
bj.add(bk);
var bm=this._createChildControl(q);
var bl=this._createChildControl(o);
bk.add(bm);
bk.add(bl);
},_applyValue:function(bp,bq){if(bp===null){this.setRed(null);
this.setGreen(null);
this.setBlue(null);
}else{var br=qx.util.ColorUtil.stringToRgb(bp);
this.setRed(br[0]);
this.setGreen(br[1]);
this.setBlue(br[2]);
}this.getChildControl(u).setBackgroundColor(bp);
this._rotatePreviousColors();
},_rotatePreviousColors:function(){if(!this._tables){return;
}var h=this._tables[this.__ms].values;
var k=this.__mp[this.__ms];

if(!h){return;
}var l=this.getValue();

if(!l){return;
}var g=h.indexOf(l);

if(g!=-1){qx.lang.Array.removeAt(h,g);
}else if(h.length==this.__mt){h.shift();
}h.push(l);
var f=k.getChildren();

for(var i=0;i<f.length;i++){f[i].setBackgroundColor(h[i]||null);
}},_onFieldMouseDown:function(e){var bs=this.getChildControl(w).getBackgroundColor();
this.setValue(bs);

if(bs){this.hide();
}},_onFieldMouseOver:function(e){this.getChildControl(w).setBackgroundColor(e.getTarget().getBackgroundColor());
},_onFieldMouseOut:function(e){var bw=this.getRed();
var bv=this.getGreen();
var bt=this.getBlue();
var bu=null;

if(bw!==null||bv!==null||bt!==null){var bu=qx.util.ColorUtil.rgbToRgbString([bw,bv,bt]);
}this.getChildControl(w).setBackgroundColor(bu);
},_onAutomaticBtnExecute:function(){this.setValue(null);
this.hide();
},_onSelectorButtonExecute:function(){this._createColorSelector();
this.exclude();
var bE=this.getRed();
var bD=this.getGreen();
var bC=this.getBlue();

if(bE===null||bD===null||bC===null){bE=255;
bD=255;
bC=255;
}this.__mr.setRed(bE);
this.__mr.setGreen(bD);
this.__mr.setBlue(bC);
this.__mq.open();
},_onColorSelectorOk:function(){var m=this.__mr;
this.setValue(qx.util.ColorUtil.rgbToRgbString([m.getRed(),m.getGreen(),m.getBlue()]));
this.__mq.close();
},_onColorSelectorCancel:function(){this.__mq.close();
},_onChangeVisibility:function(e){if(this.getVisibility()==J){var d=this.getRed();
var c=this.getGreen();
var a=this.getBlue();
var b=null;

if(d!==null||c!==null||a!==null){var b=qx.util.ColorUtil.rgbToRgbString([d,c,a]);
}this.getChildControl(u).setBackgroundColor(b);
this.getChildControl(w).setBackgroundColor(b);
}},_tables:{core:{label:V,values:[ba,bb,bd,X,x,P,S,Q,C,Y,bh,bf]},recent:{label:K,values:[]}}},destruct:function(){this._disposeObjects(n,bg);
this._tables=this.__mp=null;
}});
})();
(function(){var a="qx.ui.layout.Basic";
qx.Class.define(a,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(k,m){var q=this._getLayoutChildren();
var n,p,o,r,top;
for(var i=0,l=q.length;i<l;i++){n=q[i];
p=n.getSizeHint();
o=n.getLayoutProperties();
r=(o.left||0)+n.getMarginLeft();
top=(o.top||0)+n.getMarginTop();
n.renderLayout(r,top,p.width,p.height);
}},_computeSizeHint:function(){var g=this._getLayoutChildren();
var d,j,e;
var h=0,f=0;
var b,c;
for(var i=0,l=g.length;i<l;i++){d=g[i];
j=d.getSizeHint();
e=d.getLayoutProperties();
b=j.width+(e.left||0)+d.getMarginLeft()+d.getMarginRight();
c=j.height+(e.top||0)+d.getMarginTop()+d.getMarginBottom();

if(b>h){h=b;
}
if(c>f){f=c;
}}return {width:h,height:f};
}}});
})();
(function(){var bD="brightness-handle",bC="hue-saturation-handle",bB="hsbSpinner",bA="rgbSpinner",bz="changeValue",by="hexField",bx="hueSaturationField",bw="brightness-field",bv="mousedown",bu="rgb-spinner-red",bj="preview-content-old",bi="rgb-spinner-green",bh="brightnessField",bg="hue-saturation-field",bf="hsb-spinner-brightness",be="preview-content-new",bd="hue-saturation-pane",bc="rgb-spinner-blue",bb="hsb-spinner-hue",ba="hsb-spinner-saturation",bK="hex-field",bL="brightnessModifier",bI="blueModifier",bJ="saturationModifier",bG="middle",bH="Number",bE="#",bF="redModifier",bM="greenModifier",bN="hueModifier",bn="Integer",bm="brightness-pane",bp="control-pane",bo="preset-grid",br="mouseup",bq="preset-field-set",bt="qx.event.type.Event",bs="mousemove",bl="hex-field-composite",bk="rgb-spinner-composite",k="hsb-spinner-composite",l="control-bar",m="mousewheel",n="visual-pane",o="input-field-set",p="preview-field-set",q="black",r="_applyGreen",s="#333",t="aqua",bR="colorbucket",bQ="qx.event.type.Data",bP="Hex",bO="#BBB",bV="decoration/colorselector/brightness-handle.gif",bU="Visual",bT="_applySaturation",bS="Preview (Old/New)",bX="FFFFFF",bW="decoration/colorselector/brightness-field.png",J="white",K="orange",H="_applyRed",I="_applyBlue",N="maroon",O="Presets",L="_applyBrightness",M="#999",F="purple",G="red",B="blue",A="_applyHue",D="decoration/colorselector/huesaturation-handle.gif",C="colorselector",x="qx.ui.control.ColorSelector",w="lime",z="#EEE",y="olive",v="RGB",u="decoration/colorselector/huesaturation-field.jpg",T="navy",U="teal",V="green",W="yellow",P="#666",Q="fuchsia",R="Details",S="",X="colorbucket#",Y="appear",E="HSB";
qx.Class.define(x,{extend:qx.ui.core.Widget,implement:[qx.ui.form.IColorForm],construct:function(){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.VBox());
this._createChildControl(l);
this.addListener(Y,this._onAppear,this);
},events:{"dialogok":bt,"dialogcancel":bt,"changeValue":bQ},properties:{appearance:{refine:true,init:C},red:{check:bn,init:255,apply:H},green:{check:bn,init:255,apply:r},blue:{check:bn,init:255,apply:I},hue:{check:bH,init:0,apply:A},saturation:{check:bH,init:0,apply:bT},brightness:{check:bH,init:100,apply:L}},members:{__mu:null,__mv:[N,G,K,W,y,F,Q,w,V,T,B,t,U,q,s,P,M,bO,z,J],__mw:S,__mx:0,__my:0,__mz:0,__mA:true,__mB:false,_createChildControlImpl:function(ct){var cu;

switch(ct){case l:cu=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
cu.add(this.getChildControl(bp));
cu.add(this.getChildControl(n));
this._add(cu);
break;
case n:cu=new qx.ui.groupbox.GroupBox(this.tr(bU));
cu.setLayout(new qx.ui.layout.HBox(10));
cu.add(this.getChildControl(bd));
cu.add(this.getChildControl(bm));
break;
case bp:cu=new qx.ui.container.Composite(new qx.ui.layout.VBox(12));
cu.add(this.getChildControl(bq));
cu.add(this.getChildControl(o));
cu.add(this.getChildControl(p),{flex:1});
break;
case bd:cu=new qx.ui.container.Composite(new qx.ui.layout.Canvas());
cu.setAllowGrowY(false);
cu.addListener(m,this._onHueSaturationPaneMouseWheel,this);
cu.add(this.getChildControl(bg));
cu.add(this.getChildControl(bC),{left:0,top:256});
break;
case bg:cu=new qx.ui.basic.Image(u);
cu.addListener(bv,this._onHueSaturationFieldMouseDown,this);
break;
case bC:cu=new qx.ui.basic.Image(D);
cu.addListener(bv,this._onHueSaturationFieldMouseDown,this);
cu.addListener(br,this._onHueSaturationHandleMouseUp,this);
cu.addListener(bs,this._onHueSaturationHandleMouseMove,this);
break;
case bm:cu=new qx.ui.container.Composite(new qx.ui.layout.Canvas());
cu.setAllowGrowY(false);
cu.addListener(m,this._onBrightnessPaneMouseWheel,this);
cu.add(this.getChildControl(bw));
cu.add(this.getChildControl(bD));
break;
case bw:cu=new qx.ui.basic.Image(bW);
cu.addListener(bv,this._onBrightnessFieldMouseDown,this);
break;
case bD:cu=new qx.ui.basic.Image(bV);
cu.addListener(bv,this._onBrightnessHandleMouseDown,this);
cu.addListener(br,this._onBrightnessHandleMouseUp,this);
cu.addListener(bs,this._onBrightnessHandleMouseMove,this);
break;
case bq:cu=new qx.ui.groupbox.GroupBox(this.tr(O));
cu.setLayout(new qx.ui.layout.Grow());
cu.add(this.getChildControl(bo));
break;
case bR:cu=new qx.ui.core.Widget();
cu.addListener(bv,this._onColorFieldClick,this);
break;
case bo:cz=new qx.ui.layout.Grid(3,3);
cu=new qx.ui.container.Composite(cz);
var cA;
var cy;

for(var i=0;i<2;i++){for(var j=0;j<10;j++){cy=i*10+j;
cA=this.getChildControl(X+cy);
cA.setBackgroundColor(this.__mv[cy]);
cu.add(cA,{column:j,row:i});
}}break;
case o:cu=new qx.ui.groupbox.GroupBox(this.tr(R));
var cz=new qx.ui.layout.VBox();
cz.setSpacing(10);
cu.setLayout(cz);
cu.add(this.getChildControl(bl));
cu.add(this.getChildControl(bk));
cu.add(this.getChildControl(k));
break;
case p:cu=new qx.ui.groupbox.GroupBox(this.tr(bS));
var cz=new qx.ui.layout.HBox(10);
cu.setLayout(cz);
cu.add(this.getChildControl(bj),{flex:1});
cu.add(this.getChildControl(be),{flex:1});
break;
case bl:var cx=new qx.ui.layout.HBox(4);
cx.setAlignY(bG);
cu=new qx.ui.container.Composite(cx);
var cC=new qx.ui.basic.Label(this.tr(bP));
cu.add(cC);
var cB=new qx.ui.basic.Label(bE);
cu.add(cB);
cu.add(this.getChildControl(bK));
break;
case bK:cu=new qx.ui.form.TextField(bX);
cu.setMaxLength(6);
cu.setFilter(/[0-9A-Fa-f]/);
cu.setWidth(55);
cu.addListener(bz,this._onHexFieldChange,this);
break;
case bk:var cx=new qx.ui.layout.HBox(4);
cx.setAlignY(bG);
cu=new qx.ui.container.Composite(cx);
var cv=new qx.ui.basic.Label(this.tr(v));
cv.setWidth(25);
cu.add(cv);
cu.add(this.getChildControl(bu));
cu.add(this.getChildControl(bi));
cu.add(this.getChildControl(bc));
break;
case bu:cu=new qx.ui.form.Spinner(0,255,255);
cu.setWidth(50);
cu.addListener(bz,this._setRedFromSpinner,this);
break;
case bi:cu=new qx.ui.form.Spinner(0,255,255);
cu.setWidth(50);
cu.addListener(bz,this._setGreenFromSpinner,this);
break;
case bc:cu=new qx.ui.form.Spinner(0,255,255);
cu.setWidth(50);
cu.addListener(bz,this._setBlueFromSpinner,this);
break;
case k:var cx=new qx.ui.layout.HBox(4);
cx.setAlignY(bG);
cu=new qx.ui.container.Composite(cx);
var cw=new qx.ui.basic.Label(this.tr(E));
cw.setWidth(25);
cu.add(cw);
cu.add(this.getChildControl(bb));
cu.add(this.getChildControl(ba));
cu.add(this.getChildControl(bf));
break;
case bb:cu=new qx.ui.form.Spinner(0,0,360);
cu.setWidth(50);
cu.addListener(bz,this._setHueFromSpinner,this);
break;
case ba:cu=new qx.ui.form.Spinner(0,0,100);
cu.setWidth(50);
cu.addListener(bz,this._setSaturationFromSpinner,this);
break;
case bf:cu=new qx.ui.form.Spinner(0,100,100);
cu.setWidth(50);
cu.addListener(bz,this._setBrightnessFromSpinner,this);
break;
case bj:cu=new qx.ui.core.Widget();
break;
case be:cu=new qx.ui.core.Widget();
break;
}return cu||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,ct);
},setValue:function(cn){var co;

if(cn==null){this.__mA=true;
co=[255,255,255];
}else{co=qx.util.ColorUtil.stringToRgb(cn);
this.__mA=false;
}this.__mB=true;
this.setRed(co[0]);
this.setGreen(co[1]);
this.__mB=false;
this.setBlue(co[2]);
},getValue:function(){return this.__mA?null:bE+qx.util.ColorUtil.rgbToHexString([this.getRed(),this.getGreen(),this.getBlue()]);
},resetValue:function(){this.__mA=true;
this.__mB=true;
this.setRed(255);
this.setGreen(255);
this.__mB=false;
this.setBlue(255);
},__mC:function(){if(!this.__mB){this.__mA=false;
this.fireDataEvent(bz,this.getValue());
}},_applyRed:function(cJ,cK){if(this.__mu===null){this.__mu=bF;
}
if(this.__mu!==bA){this.getChildControl(bu).setValue(cJ);
}
if(this.__mu!==by){this._setHexFromRgb();
}
switch(this.__mu){case bA:case by:case bF:this._setHueFromRgb();
}this._setPreviewFromRgb();
this.__mC();

if(this.__mu===bF){this.__mu=null;
}},_applyGreen:function(cF,cG){if(this.__mu===null){this.__mu=bM;
}
if(this.__mu!==bA){this.getChildControl(bi).setValue(cF);
}
if(this.__mu!==by){this._setHexFromRgb();
}
switch(this.__mu){case bA:case by:case bM:this._setHueFromRgb();
}this._setPreviewFromRgb();
this.__mC();

if(this.__mu===bM){this.__mu=null;
}},_applyBlue:function(cP,cQ){if(this.__mu===null){this.__mu=bI;
}
if(this.__mu!==bA){this.getChildControl(bc).setValue(cP);
}
if(this.__mu!==by){this._setHexFromRgb();
}
switch(this.__mu){case bA:case by:case bI:this._setHueFromRgb();
}this._setPreviewFromRgb();
this.__mC();

if(this.__mu===bI){this.__mu=null;
}},_applyHue:function(g,h){if(this.__mu===null){this.__mu=bN;
}
if(this.__mu!==bB){this.getChildControl(bb).setValue(g);
}
if(this.__mu!==bx){if(this.getChildControl(bC).getBounds()){this.getChildControl(bC).setDomLeft(Math.round(g/1.40625)+this.getChildControl(bd).getPaddingLeft());
}else{this.getChildControl(bC).setLayoutProperties({left:Math.round(g/1.40625)});
}}
switch(this.__mu){case bB:case bx:case bN:this._setRgbFromHue();
}this._setBrightnessGradiant();

if(this.__mu===bN){this.__mu=null;
}},_applySaturation:function(cL,cM){if(this.__mu===null){this.__mu=bJ;
}
if(this.__mu!==bB){this.getChildControl(ba).setValue(cL);
}
if(this.__mu!==bx){this._setBrightnessGradiant();

if(this.getChildControl(bC).getBounds()){this.getChildControl(bC).setDomTop(256-Math.round(cL*2.56)+this.getChildControl(bd).getPaddingTop());
}else{this.getChildControl(bC).setLayoutProperties({top:256-Math.round(cL*2.56)});
}}
switch(this.__mu){case bB:case bx:case bJ:this._setRgbFromHue();
}
if(this.__mu===bJ){this.__mu=null;
}},_applyBrightness:function(cc,cd){if(this.__mu===null){this.__mu=bL;
}
if(this.__mu!==bB){this.getChildControl(bf).setValue(cc);
}
if(this.__mu!==bh){var ce=256-Math.round(cc*2.56);

if(this.getChildControl(bD).getBounds()){this.getChildControl(bD).setDomTop(ce+this.getChildControl(bm).getPaddingTop());
}else{this.getChildControl(bD).setLayoutProperties({top:ce});
}}
switch(this.__mu){case bB:case bh:case bL:this._setRgbFromHue();
}
if(this.__mu===bL){this.__mu=null;
}},_onBrightnessHandleMouseDown:function(e){this.getChildControl(bD).capture();
this.__mw=bD;
var cj=this.getChildControl(bw).getContainerLocation();
var ci=this.getChildControl(bD).getContainerLocation();
var ch=this.getChildControl(bw).getBounds();
this.__mx=cj.top+(e.getDocumentTop()-ci.top)-ch.top;
e.stopPropagation();
},_onBrightnessHandleMouseUp:function(e){this.getChildControl(bD).releaseCapture();
this.__mw=null;
},_onBrightnessHandleMouseMove:function(e){if(this.__mw===bD){this._setBrightnessOnFieldEvent(e);
e.stopPropagation();
}},_onBrightnessFieldMouseDown:function(e){var location=this.getChildControl(bw).getContainerLocation();
var cE=this.getChildControl(bD).getBounds();
this.__mx=location.top+(cE.height/2);
this._setBrightnessOnFieldEvent(e);
this.getChildControl(bD).capture();
this.__mw=bD;
},_onBrightnessPaneMouseWheel:function(e){this.setBrightness(qx.lang.Number.limit(this.getBrightness()+e.getWheelDelta(),0,100));
e.stop();
},_setBrightnessOnFieldEvent:function(e){var cD=qx.lang.Number.limit(e.getDocumentTop()-this.__mx,0,256);
this.__mu=bh;

if(this.getChildControl(bD).getBounds()){this.getChildControl(bD).setDomTop(cD);
}else{this.getChildControl(bD).setLayoutProperties({top:cD});
}this.setBrightness(100-Math.round(cD/2.56));
this.__mu=null;
},_onHueSaturationHandleMouseUp:function(e){if(this.__mw){e.stopPropagation();
this.getChildControl(bC).releaseCapture();
this.__mw=null;
}},_onHueSaturationHandleMouseMove:function(e){if(this.__mw===bC){this._setHueSaturationOnFieldEvent(e);
e.stopPropagation();
}},_onHueSaturationFieldMouseDown:function(e){var location=this.getChildControl(bg).getContainerLocation();
var cN=this.getChildControl(bC).getBounds();
var cO=this.getChildControl(bg).getBounds();
this.__my=location.top+(cN.height/2)-cO.top;
this.__mz=location.left+(cN.width/2)-cO.left;
this._setHueSaturationOnFieldEvent(e);
this.getChildControl(bC).capture();
this.__mw=bC;
},_onHueSaturationPaneMouseWheel:function(e){this.setSaturation(qx.lang.Number.limit(this.getSaturation()+e.getWheelDelta(),0,100));
e.stop();
},_setHueSaturationOnFieldEvent:function(e){var c=qx.lang.Number.limit(e.getDocumentTop()-this.__my,0,256);
var b=qx.lang.Number.limit(e.getDocumentLeft()-this.__mz,0,256);
this.getChildControl(bC).setDomPosition(b,c);
this.__mu=bx;
this.setSaturation(100-Math.round(c/2.56));
this.setHue(Math.round(b*1.40625));
this.__mu=null;
},_setRedFromSpinner:function(){if(this.__mu!==null){return;
}this.__mu=bA;
this.setRed(this.getChildControl(bu).getValue());
this.__mu=null;
},_setGreenFromSpinner:function(){if(this.__mu!==null){return;
}this.__mu=bA;
this.setGreen(this.getChildControl(bi).getValue());
this.__mu=null;
},_setBlueFromSpinner:function(){if(this.__mu!==null){return;
}this.__mu=bA;
this.setBlue(this.getChildControl(bc).getValue());
this.__mu=null;
},_setHueFromSpinner:function(){if(this.__mu!==null){return;
}this.__mu=bB;
this.setHue(this.getChildControl(bb).getValue());
this.__mu=null;
},_setSaturationFromSpinner:function(){if(this.__mu!==null){return;
}this.__mu=bB;
this.setSaturation(this.getChildControl(ba).getValue());
this.__mu=null;
},_setBrightnessFromSpinner:function(){if(this.__mu!==null){return;
}this.__mu=bB;
this.setBrightness(this.getChildControl(bf).getValue());
this.__mu=null;
},_onHexFieldChange:function(e){if(this.__mu!==null){return;
}
try{var f=this.getChildControl(bK);
var d=qx.util.ColorUtil.hexStringToRgb(bE+f.getValue());
}catch(cH){return;
}this.__mu=by;
this.setRed(d[0]);
this.setGreen(d[1]);
this.setBlue(d[2]);
this.__mu=null;
},_setHexFromRgb:function(){var a=qx.util.ColorUtil.rgbToHexString([this.getRed(),this.getGreen(),this.getBlue()]);
this.getChildControl(bK).setValue(a);
},_onColorFieldClick:function(e){var bY=e.getTarget().getBackgroundColor();

if(!bY){return this.error("Missing backgroundColor value for field: "+e.getTarget());
}var ca=qx.util.ColorUtil.stringToRgb(bY);
this.setRed(ca[0]);
this.setGreen(ca[1]);
this.setBlue(ca[2]);
},_setHueFromRgb:function(){switch(this.__mu){case bB:case bx:case bh:break;
default:var cg=qx.util.ColorUtil.rgbToHsb([this.getRed(),this.getGreen(),this.getBlue()]);
this.setHue(cg[0]);
this.setSaturation(cg[1]);
this.setBrightness(cg[2]);
}},_setRgbFromHue:function(){switch(this.__mu){case bA:case by:break;
default:var cb=qx.util.ColorUtil.hsbToRgb([this.getHue(),this.getSaturation(),this.getBrightness()]);
this.setRed(cb[0]);
this.setGreen(cb[1]);
this.setBlue(cb[2]);
}},_setPreviewFromRgb:function(){var cf=qx.util.ColorUtil.rgbToRgbString([this.getRed(),this.getGreen(),this.getBlue()]);
this.getChildControl(be).setBackgroundColor(cf);
},setPreviousColor:function(cp,cq,cr){var cs=qx.util.ColorUtil.rgbToRgbString([cp,cq,cr]);
this.getChildControl(bj).setBackgroundColor(cs);
this.setRed(cp);
this.setGreen(cq);
this.setBlue(cr);
},_setBrightnessGradiant:function(){var ck=qx.util.ColorUtil;
var cl=ck.hsbToRgb([this.getHue(),this.getSaturation(),255]);
var cm=ck.rgbToRgbString(cl);
this.getChildControl(bw).setBackgroundColor(cm);
},_onAppear:function(e){var cI=qx.util.ColorUtil.rgbToRgbString([this.getRed(),this.getGreen(),this.getBlue()]);
this.getChildControl(bj).setBackgroundColor(cI);
this.getChildControl(be).setBackgroundColor(cI);
}}});
})();
(function(){var b="qx.ui.form.INumberForm",a="qx.event.type.Data";
qx.Interface.define(b,{events:{"changeValue":a},members:{setValue:function(c){return arguments.length==1;
},resetValue:function(){},getValue:function(){}}});
})();
(function(){var b="qx.ui.form.IRange";
qx.Interface.define(b,{members:{setMinimum:function(d){return arguments.length==1;
},getMinimum:function(){},setMaximum:function(e){return arguments.length==1;
},getMaximum:function(){},setSingleStep:function(c){return arguments.length==1;
},getSingleStep:function(){},setPageStep:function(a){return arguments.length==1;
},getPageStep:function(){}}});
})();
(function(){var B="textfield",A="",z="downbutton",y="upbutton",x="Number",w="inner",v="PageUp",u="Boolean",t="changeValue",s="Down",bb="Up",ba="execute",Y="PageDown",X="changeLocale",W="qx.dynlocale",V="on",U="_applyEditable",T="_applyWrap",S="keydown",R="\-]",I="mousewheel",J="_applyValue",G="number",H="_applyMinimum",E="qx.util.format.NumberFormat",F="[0-9",C="keyup",D="spinner",K="this._checkValue(value)",L="_applyMaximum",N="changeNumberFormat",M="changeMaximum",P="changeMinimum",O="_applyNumberFormat",Q="qx.ui.form.Spinner";
qx.Class.define(Q,{extend:qx.ui.core.Widget,implement:[qx.ui.form.INumberForm,qx.ui.form.IRange,qx.ui.form.IForm],include:[qx.ui.core.MContentPadding,qx.ui.form.MForm],construct:function(i,j,k){qx.ui.core.Widget.call(this);
var l=new qx.ui.layout.Grid();
l.setColumnFlex(0,1);
l.setRowFlex(0,1);
l.setRowFlex(1,1);
this._setLayout(l);
this.addListener(S,this._onKeyDown,this);
this.addListener(C,this._onKeyUp,this);
this.addListener(I,this._onMouseWheel,this);

if(qx.core.Variant.isSet(W,V)){qx.locale.Manager.getInstance().addListener(X,this._onChangeLocale,this);
}this._createChildControl(B);
this._createChildControl(y);
this._createChildControl(z);
if(i!=null){this.setMinimum(i);
}
if(k!=null){this.setMaximum(k);
}
if(j!==undefined){this.setValue(j);
}else{this.initValue();
}},properties:{appearance:{refine:true,init:D},focusable:{refine:true,init:true},singleStep:{check:x,init:1},pageStep:{check:x,init:10},minimum:{check:x,apply:H,init:0,event:P},value:{check:K,nullable:true,apply:J,init:0,event:t},maximum:{check:x,apply:L,init:100,event:M},wrap:{check:u,init:false,apply:T},editable:{check:u,init:true,apply:U},numberFormat:{check:E,apply:O,nullable:true},allowShrinkY:{refine:true,init:false}},members:{__mD:null,__mE:false,__mF:false,_createChildControlImpl:function(bx){var by;

switch(bx){case B:by=new qx.ui.form.TextField();
by.setFilter(this._getFilterRegExp());
by.addState(w);
by.setWidth(40);
by.setFocusable(false);
by.addListener(t,this._onTextChange,this);
this._add(by,{column:0,row:0,rowSpan:2});
break;
case y:by=new qx.ui.form.RepeatButton();
by.addState(w);
by.setFocusable(false);
by.addListener(ba,this._countUp,this);
this._add(by,{column:1,row:0});
break;
case z:by=new qx.ui.form.RepeatButton();
by.addState(w);
by.setFocusable(false);
by.addListener(ba,this._countDown,this);
this._add(by,{column:1,row:1});
break;
}return by||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bx);
},_getFilterRegExp:function(){var h=qx.locale.Number.getDecimalSeparator(qx.locale.Manager.getInstance().getLocale());
var g=qx.locale.Number.getGroupSeparator(qx.locale.Manager.getInstance().getLocale());
var f=A;
var c=A;

if(this.getNumberFormat()!==null){f=this.getNumberFormat().getPrefix()||A;
c=this.getNumberFormat().getPostfix()||A;
}var d=new RegExp(F+qx.lang.String.escapeRegexpChars(h)+qx.lang.String.escapeRegexpChars(g)+qx.lang.String.escapeRegexpChars(f)+qx.lang.String.escapeRegexpChars(c)+R);
return d;
},_forwardStates:{focused:true,invalid:true},tabFocus:function(){var bD=this.getChildControl(B);
bD.getFocusElement().focus();
bD.selectAllText();
},_applyMinimum:function(o,p){if(this.getMaximum()<o){this.setMaximum(o);
}
if(this.getValue()<o){this.setValue(o);
}else{this._updateButtons();
}},_applyMaximum:function(bB,bC){if(this.getMinimum()>bB){this.setMin(bB);
}
if(this.getValue()>bB){this.setValue(bB);
}else{this._updateButtons();
}},_applyEnabled:function(bm,bn){qx.ui.core.Widget.prototype._applyEnabled.call(this,bm,bn);
this._updateButtons();
},_checkValue:function(bt){return typeof bt===G&&bt>=this.getMinimum()&&bt<=this.getMaximum();
},_applyValue:function(bg,bh){var bi=this.getChildControl(B);
this._updateButtons();
this.__mD=bg;
if(bg!==null){if(this.getNumberFormat()){bi.setValue(this.getNumberFormat().format(bg));
}else{bi.setValue(bg+A);
}}else{bi.setValue(A);
}},_applyEditable:function(bo,bp){var bq=this.getChildControl(B);

if(bq){bq.setReadOnly(!bo);
}},_applyWrap:function(br,bs){this._updateButtons();
},_applyNumberFormat:function(bc,bd){var be=this.getChildControl(B);
be.setFilter(this._getFilterRegExp());
this.getNumberFormat().addListener(N,this._onChangeNumberFormat,this);
this._applyValue(this.__mD,undefined);
},_getContentPaddingTarget:function(){return this.getChildControl(B);
},_updateButtons:function(){var bv=this.getChildControl(y);
var bu=this.getChildControl(z);
var bw=this.getValue();

if(!this.getEnabled()){bv.setEnabled(false);
bu.setEnabled(false);
}else{if(this.getWrap()){bv.setEnabled(true);
bu.setEnabled(true);
}else{if(bw!==null&&bw<this.getMaximum()){bv.setEnabled(true);
}else{bv.setEnabled(false);
}if(bw!==null&&bw>this.getMinimum()){bu.setEnabled(true);
}else{bu.setEnabled(false);
}}}},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case v:this.__mE=true;
case bb:this.getChildControl(y).press();
break;
case Y:this.__mF=true;
case s:this.getChildControl(z).press();
break;
default:return ;
}e.stopPropagation();
e.preventDefault();
},_onKeyUp:function(e){switch(e.getKeyIdentifier()){case v:this.getChildControl(y).release();
this.__mE=false;
break;
case bb:this.getChildControl(y).release();
break;
case Y:this.getChildControl(z).release();
this.__mF=false;
break;
case s:this.getChildControl(z).release();
break;
}},_onMouseWheel:function(e){if(e.getWheelDelta()>0){this._countDown();
}else{this._countUp();
}e.stop();
},_onTextChange:function(e){var a=this.getChildControl(B);
var b;
if(this.getNumberFormat()){try{b=this.getNumberFormat().parse(a.getValue());
}catch(bf){}}if(b===undefined){b=parseFloat(a.getValue(),10);
}if(!isNaN(b)){if(b>this.getMaximum()){a.setValue(this.getMaximum()+A);
return;
}else if(b<this.getMinimum()){a.setValue(this.getMinimum()+A);
return;
}this.setValue(b);
}else{this._applyValue(this.__mD,undefined);
}},_onChangeLocale:function(bz){if(this.getNumberFormat()!==null){this.setNumberFormat(this.getNumberFormat());
var bA=this.getChildControl(B);
bA.setFilter(this._getFilterRegExp());
bA.setValue(this.getNumberFormat().format(this.getValue()));
}},_onChangeNumberFormat:function(bj){var bk=this.getChildControl(B);
bk.setFilter(this._getFilterRegExp());
bk.setValue(this.getNumberFormat().format(this.getValue()));
},_countUp:function(){if(this.__mE){var r=this.getValue()+this.getPageStep();
}else{var r=this.getValue()+this.getSingleStep();
}if(this.getWrap()){if(r>this.getMaximum()){var q=this.getMaximum()-r;
r=this.getMinimum()+q;
}}this.gotoValue(r);
},_countDown:function(){if(this.__mF){var n=this.getValue()-this.getPageStep();
}else{var n=this.getValue()-this.getSingleStep();
}if(this.getWrap()){if(n<this.getMinimum()){var m=this.getMinimum()+n;
n=this.getMaximum()-m;
}}this.gotoValue(n);
},gotoValue:function(bl){return this.setValue(Math.min(this.getMaximum(),Math.max(this.getMinimum(),bl)));
}},destruct:function(){if(qx.core.Variant.isSet(W,V)){qx.locale.Manager.getInstance().removeListener(X,this._onChangeLocale,this);
}}});
})();
(function(){var d="cldr_number_decimal_separator",c="cldr_number_percent_format",b="qx.locale.Number",a="cldr_number_group_separator";
qx.Class.define(b,{statics:{getDecimalSeparator:function(g){return qx.locale.Manager.getInstance().localize(d,[],g);
},getGroupSeparator:function(e){return qx.locale.Manager.getInstance().localize(a,[],e);
},getPercentFormat:function(f){return qx.locale.Manager.getInstance().localize(c,[],f);
}}});
})();
(function(){var a="qx.lang.Number";
qx.Class.define(a,{statics:{isInRange:function(b,c,d){return b>=c&&b<=d;
},isBetweenRange:function(e,f,g){return e>f&&e<g;
},limit:function(h,i,j){if(j!=null&&h>j){return j;
}else if(i!=null&&h<i){return i;
}else{return h;
}}}});
})();
(function(){var v="popup",u="list",t="",s="mousewheel",r="resize",q="Function",p="blur",o="abstract",n="keypress",m="Number",f="changeSelection",l="PageUp",i="_applyMaxListHeight",c="PageDown",b="mouseup",h="Escape",g="changeVisibility",j="one",a="middle",k="qx.ui.form.AbstractSelectBox",d="mousedown";
qx.Class.define(k,{extend:qx.ui.core.Widget,include:[qx.ui.core.MRemoteChildrenHandling,qx.ui.form.MForm],implement:[qx.ui.form.IForm],type:o,construct:function(){qx.ui.core.Widget.call(this);
var x=new qx.ui.layout.HBox();
this._setLayout(x);
x.setAlignY(a);
this.addListener(n,this._onKeyPress);
this.addListener(p,this._onBlur,this);
var w=qx.core.Init.getApplication().getRoot();
w.addListener(s,this._onMousewheel,this,true);
this.addListener(r,this._onResize,this);
},properties:{focusable:{refine:true,init:true},width:{refine:true,init:120},maxListHeight:{check:m,apply:i,nullable:true,init:200},format:{check:q,init:function(K){return this._defaultFormat(K);
},nullable:true}},members:{_createChildControlImpl:function(y){var z;

switch(y){case u:z=new qx.ui.form.List().set({focusable:false,keepFocus:true,height:null,width:null,maxHeight:this.getMaxListHeight(),selectionMode:j,quickSelection:true});
z.addListener(f,this._onListChangeSelection,this);
z.addListener(d,this._onListMouseDown,this);
break;
case v:z=new qx.ui.popup.Popup(new qx.ui.layout.VBox);
z.setAutoHide(false);
z.setKeepActive(true);
z.addListener(b,this.close,this);
z.add(this.getChildControl(u));
z.addListener(g,this._onPopupChangeVisibility,this);
break;
}return z||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,y);
},_applyMaxListHeight:function(H,I){this.getChildControl(u).setMaxHeight(H);
},getChildrenContainer:function(){return this.getChildControl(u);
},open:function(){var D=this.getChildControl(v);
D.placeToWidget(this,true);
D.show();
},close:function(){this.getChildControl(v).hide();
},toggle:function(){var C=this.getChildControl(v).isVisible();

if(C){this.close();
}else{this.open();
}},_defaultFormat:function(E){var F=E?E.getLabel():t;
var G=E?E.getRich():false;

if(G){F=F.replace(/<[^>]+?>/g,t);
F=qx.bom.String.unescape(F);
}return F;
},_onBlur:function(e){this.close();
},_onKeyPress:function(e){var A=e.getKeyIdentifier();
var B=this.getChildControl(v);
if(B.isHidden()&&(A==c||A==l)){e.stopPropagation();
}else if(!B.isHidden()&&A==h){this.close();
e.stop();
}else{this.getChildControl(u).handleKeyPress(e);
}},_onMousewheel:function(e){var M=e.getTarget();
var L=this.getChildControl(v,true);

if(L==null){return;
}
if(qx.ui.core.Widget.contains(L,M)){e.preventDefault();
}else{this.close();
}},_onResize:function(e){this.getChildControl(v).setMinWidth(e.getData().width);
},_onListChangeSelection:function(e){throw new Error("Abstract method: _onListChangeSelection()");
},_onListMouseDown:function(e){throw new Error("Abstract method: _onListMouseDown()");
},_onPopupChangeVisibility:function(e){throw new Error("Abstract method: _onPopupChangeVisibility()");
}},destruct:function(){var J=qx.core.Init.getApplication().getRoot();

if(J){J.removeListener(s,this._onMousewheel,this,true);
}}});
})();
(function(){var p="list",o="atom",n="pressed",m="abandoned",l="popup",k="hovered",j="changeLabel",i="changeIcon",h="arrow",g="",E="spacer",D="Enter",C="one",B="mouseout",A="Space",z="key",y="mousewheel",x="keyinput",w="changeSelection",v="quick",t="qx.ui.form.SelectBox",u="mouseover",r="selectbox",s="click",q=" ";
qx.Class.define(t,{extend:qx.ui.form.AbstractSelectBox,implement:[qx.ui.core.ISingleSelection,qx.ui.form.IModelSelection],include:[qx.ui.core.MSingleSelectionHandling,qx.ui.form.MModelSelection],construct:function(){qx.ui.form.AbstractSelectBox.call(this);
this._createChildControl(o);
this._createChildControl(E);
this._createChildControl(h);
this.addListener(u,this._onMouseOver,this);
this.addListener(B,this._onMouseOut,this);
this.addListener(s,this._onClick,this);
this.addListener(y,this._onMouseWheel,this);
this.addListener(x,this._onKeyInput,this);
this.addListener(w,this.__mH,this);
},properties:{appearance:{refine:true,init:r}},members:{__mG:null,_createChildControlImpl:function(a){var b;

switch(a){case E:b=new qx.ui.core.Spacer();
this._add(b,{flex:1});
break;
case o:b=new qx.ui.basic.Atom(q);
b.setCenter(false);
b.setAnonymous(true);
this._add(b,{flex:1});
break;
case h:b=new qx.ui.basic.Image();
b.setAnonymous(true);
this._add(b);
break;
}return b||qx.ui.form.AbstractSelectBox.prototype._createChildControlImpl.call(this,a);
},_forwardStates:{focused:true},_getItems:function(){return this.getChildrenContainer().getChildren();
},_isAllowEmptySelection:function(){return this.getChildrenContainer().getSelectionMode()!==C;
},__mH:function(e){var P=e.getData()[0];
var O=this.getChildControl(p);

if(O.getSelection()[0]!=P){if(P){O.setSelection([P]);
}else{O.resetSelection();
}}this.__mI();
this.__mJ();
},__mI:function(){var d=this.getChildControl(p).getSelection()[0];
var f=this.getChildControl(o);
var c=d?d.getIcon():g;
c==null?f.resetIcon():f.setIcon(c);
},__mJ:function(){var H=this.getChildControl(p).getSelection()[0];
var I=this.getChildControl(o);
var G=H?H.getLabel():g;
var F=this.getFormat();

if(F!=null){G=F.call(this,H);
}if(G&&G.translate){G=G.translate();
}G==null?I.resetLabel():I.setLabel(G);
},_onMouseOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}
if(this.hasState(m)){this.removeState(m);
this.addState(n);
}this.addState(k);
},_onMouseOut:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}this.removeState(k);

if(this.hasState(n)){this.removeState(n);
this.addState(m);
}},_onClick:function(e){this.toggle();
},_onMouseWheel:function(e){if(this.getChildControl(l).isVisible()){return;
}var K=e.getWheelDelta()>0?1:-1;
var M=this.getSelectables();
var L=this.getSelection()[0];

if(!L){L=M[0];
}var J=M.indexOf(L)+K;
var N=M.length-1;
if(J<0){J=0;
}else if(J>=N){J=N;
}this.setSelection([M[J]]);
e.stopPropagation();
e.preventDefault();
},_onKeyPress:function(e){var Q=e.getKeyIdentifier();

if(Q==D||Q==A){if(this.__mG){this.setSelection([this.__mG]);
this.__mG=null;
}this.toggle();
}else{qx.ui.form.AbstractSelectBox.prototype._onKeyPress.call(this,e);
}},_onKeyInput:function(e){var R=e.clone();
R.setTarget(this._list);
R.setBubbles(false);
this.getChildControl(p).dispatchEvent(R);
},_onListMouseDown:function(e){if(this.__mG){this.setSelection([this.__mG]);
this.__mG=null;
}},_onListChangeSelection:function(e){var bb=e.getData();
var be=e.getOldData();
if(be&&be.length>0){be[0].removeListener(i,this.__mI,this);
be[0].removeListener(j,this.__mJ,this);
}
if(bb.length>0){var bd=this.getChildControl(l);
var bc=this.getChildControl(p);
var bf=bc.getSelectionContext();

if(bd.isVisible()&&(bf==v||bf==z)){this.__mG=bb[0];
}else{this.setSelection([bb[0]]);
this.__mG=null;
}bb[0].addListener(i,this.__mI,this);
bb[0].addListener(j,this.__mJ,this);
}else{this.resetSelection();
}},_onPopupChangeVisibility:function(e){var T=this.getChildControl(l);

if(!T.isVisible()){var V=this.getChildControl(p);
if(V.hasChildren()){V.setSelection(this.getSelection());
}}else{var S=T.getLayoutLocation(this);
var X=qx.bom.Viewport.getHeight();
var W=S.top;
var Y=X-S.bottom;
var U=W>Y?W:Y;
var ba=this.getMaxListHeight();
var V=this.getChildControl(p);

if(ba==null||ba>U){V.setMaxHeight(U);
}else if(ba<U){V.setMaxHeight(ba);
}}}},destruct:function(){this.__mG=null;
}});
})();
(function(){var b="qx.nativeScrollBars",a="qx.ui.core.scroll.MScrollBarFactory";
qx.core.Setting.define(b,false);
qx.Mixin.define(a,{members:{_createScrollBar:function(c){if(qx.core.Setting.get(b)){return new qx.ui.core.scroll.NativeScrollBar(c);
}else{return new qx.ui.core.scroll.ScrollBar(c);
}}}});
})();
(function(){var N="scrollbar-y",M="scrollbar-x",L="pane",K="auto",J="corner",I="on",H="changeVisibility",G="scroll",F="_computeScrollbars",E="off",x="scrollY",D="qx.ui.core.scroll.AbstractScrollArea",A="abstract",v="update",u="scrollX",z="mousewheel",y="scrollbarY",B="scrollbarX",t="horizontal",C="scrollarea",w="vertical";
qx.Class.define(D,{extend:qx.ui.core.Widget,include:qx.ui.core.scroll.MScrollBarFactory,type:A,construct:function(){qx.ui.core.Widget.call(this);
var g=new qx.ui.layout.Grid();
g.setColumnFlex(0,1);
g.setRowFlex(0,1);
this._setLayout(g);
this.addListener(z,this._onMouseWheel,this);
},properties:{appearance:{refine:true,init:C},width:{refine:true,init:100},height:{refine:true,init:200},scrollbarX:{check:[K,I,E],init:K,themeable:true,apply:F},scrollbarY:{check:[K,I,E],init:K,themeable:true,apply:F},scrollbar:{group:[B,y]}},members:{_createChildControlImpl:function(m){var n;

switch(m){case L:n=new qx.ui.core.scroll.ScrollPane();
n.addListener(v,this._computeScrollbars,this);
n.addListener(u,this._onScrollPaneX,this);
n.addListener(x,this._onScrollPaneY,this);
this._add(n,{row:0,column:0});
break;
case M:n=this._createScrollBar(t);
n.setMinWidth(0);
n.exclude();
n.addListener(G,this._onScrollBarX,this);
n.addListener(H,this._onChangeScrollbarXVisibility,this);
this._add(n,{row:1,column:0});
break;
case N:n=this._createScrollBar(w);
n.setMinHeight(0);
n.exclude();
n.addListener(G,this._onScrollBarY,this);
n.addListener(H,this._onChangeScrollbarYVisibility,this);
this._add(n,{row:0,column:1});
break;
case J:n=new qx.ui.core.Widget();
n.setWidth(0);
n.setHeight(0);
n.exclude();
this._add(n,{row:1,column:1});
break;
}return n||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,m);
},getPaneSize:function(){return this.getChildControl(L).getInnerSize();
},getItemTop:function(r){return this.getChildControl(L).getItemTop(r);
},getItemBottom:function(j){return this.getChildControl(L).getItemBottom(j);
},getItemLeft:function(i){return this.getChildControl(L).getItemLeft(i);
},getItemRight:function(O){return this.getChildControl(L).getItemRight(O);
},scrollToX:function(b){qx.ui.core.queue.Manager.flush();
this.getChildControl(M).scrollTo(b);
},scrollByX:function(h){qx.ui.core.queue.Manager.flush();
this.getChildControl(M).scrollBy(h);
},getScrollX:function(){var s=this.getChildControl(M,true);
return s?s.getPosition():0;
},scrollToY:function(o){qx.ui.core.queue.Manager.flush();
this.getChildControl(N).scrollTo(o);
},scrollByY:function(P){qx.ui.core.queue.Manager.flush();
this.getChildControl(N).scrollBy(P);
},getScrollY:function(){var a=this.getChildControl(N,true);
return a?a.getPosition():0;
},_onScrollBarX:function(e){this.getChildControl(L).scrollToX(e.getData());
},_onScrollBarY:function(e){this.getChildControl(L).scrollToY(e.getData());
},_onScrollPaneX:function(e){this.scrollToX(e.getData());
},_onScrollPaneY:function(e){this.scrollToY(e.getData());
},_onMouseWheel:function(e){var d=this._isChildControlVisible(M);
var f=this._isChildControlVisible(N);
var c=(f)?this.getChildControl(N,true):(d?this.getChildControl(M,true):null);

if(c){c.scrollBySteps(e.getWheelDelta());
}e.stop();
},_onChangeScrollbarXVisibility:function(e){var p=this._isChildControlVisible(M);
var q=this._isChildControlVisible(N);

if(!p){this.scrollToX(0);
}p&&q?this._showChildControl(J):this._excludeChildControl(J);
},_onChangeScrollbarYVisibility:function(e){var k=this._isChildControlVisible(M);
var l=this._isChildControlVisible(N);

if(!l){this.scrollToY(0);
}k&&l?this._showChildControl(J):this._excludeChildControl(J);
},_computeScrollbars:function(){var W=this.getChildControl(L);
var content=W.getChildren()[0];

if(!content){this._excludeChildControl(M);
this._excludeChildControl(N);
return;
}var Q=this.getInnerSize();
var V=W.getInnerSize();
var T=W.getScrollSize();
if(!V||!T){return;
}var X=this.getScrollbarX();
var Y=this.getScrollbarY();

if(X===K&&Y===K){var U=T.width>Q.width;
var ba=T.height>Q.height;
if((U||ba)&&!(U&&ba)){if(U){ba=T.height>V.height;
}else if(ba){U=T.width>V.width;
}}}else{var U=X===I;
var ba=Y===I;
if(T.width>(U?V.width:Q.width)&&X===K){U=true;
}
if(T.height>(U?V.height:Q.height)&&Y===K){ba=true;
}}if(U){var S=this.getChildControl(M);
S.show();
S.setMaximum(Math.max(0,T.width-V.width));
S.setKnobFactor((T.width===0)?0:V.width/T.width);
}else{this._excludeChildControl(M);
}
if(ba){var R=this.getChildControl(N);
R.show();
R.setMaximum(Math.max(0,T.height-V.height));
R.setKnobFactor((T.height===0)?0:V.height/T.height);
}else{this._excludeChildControl(N);
}}}});
})();
(function(){var a="qx.ui.core.IMultiSelection";
qx.Interface.define(a,{extend:qx.ui.core.ISingleSelection,members:{selectAll:function(){return true;
},addToSelection:function(b){return arguments.length==1;
},removeFromSelection:function(c){return arguments.length==1;
}}});
})();
(function(){var w="single",v="Boolean",u="one",t="changeSelection",s="__mK",r="mouseup",q="mousedown",p="losecapture",o="multi",n="_applyQuickSelection",f="mouseover",m="_applySelectionMode",j="_applyDragSelection",d="qx.ui.core.MMultiSelectionHandling",c="removeItem",h="keypress",g="qx.event.type.Data",k="addItem",b="additive",l="mousemove";
qx.Mixin.define(d,{construct:function(){var C=this.SELECTION_MANAGER;
var B=this.__mK=new C(this);
this.addListener(q,B.handleMouseDown,B);
this.addListener(r,B.handleMouseUp,B);
this.addListener(f,B.handleMouseOver,B);
this.addListener(l,B.handleMouseMove,B);
this.addListener(p,B.handleLoseCapture,B);
this.addListener(h,B.handleKeyPress,B);
this.addListener(k,B.handleAddItem,B);
this.addListener(c,B.handleRemoveItem,B);
B.addListener(t,this._onSelectionChange,this);
},events:{"changeSelection":g},properties:{selectionMode:{check:[w,o,b,u],init:w,apply:m},dragSelection:{check:v,init:false,apply:j},quickSelection:{check:v,init:false,apply:n}},members:{__mK:null,selectAll:function(){if(!this.getEnabled()){this.warn("Setting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to selecting all items."));
this.trace();
}this.__mK.selectAll();
},isSelected:function(a){if(!qx.ui.core.Widget.contains(this,a)){throw new Error("Could not test if "+a+" is selected, because it is not a child element!");
}return this.__mK.isItemSelected(a);
},addToSelection:function(G){if(!this.getEnabled()){this.warn("Setting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to selecting the given items."));
this.trace();
}
if(!qx.ui.core.Widget.contains(this,G)){throw new Error("Could not add + "+G+" to selection, because it is not a child element!");
}this.__mK.addItem(G);
},removeFromSelection:function(H){if(!this.getEnabled()){this.warn("Setting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to removing the given items."));
this.trace();
}
if(!qx.ui.core.Widget.contains(this,H)){throw new Error("Could not remove "+H+" from selection, because it is not a child element!");
}this.__mK.removeItem(H);
},selectRange:function(I,J){if(!this.getEnabled()){this.warn("Setting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to selecting the given items."));
this.trace();
}this.__mK.selectItemRange(I,J);
},resetSelection:function(){if(!this.getEnabled()){this.warn("Resetting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to resetting the selection."));
this.trace();
}this.__mK.clearSelection();
},setSelection:function(E){if(!this.getEnabled()){this.warn("Setting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to selectiong the given items."));
this.trace();
}
for(var i=0;i<E.length;i++){if(!qx.ui.core.Widget.contains(this,E[i])){throw new Error("Could not select "+E[i]+", because it is not a child element!");
}}
if(E.length===0){this.resetSelection();
}else{var F=this.getSelection();

if(!qx.lang.Array.equals(F,E)){this.__mK.replaceSelection(E);
}}},getSelection:function(){return this.__mK.getSelection();
},getSortedSelection:function(){return this.__mK.getSortedSelection();
},isSelectionEmpty:function(){return this.__mK.isSelectionEmpty();
},getSelectionContext:function(){return this.__mK.getSelectionContext();
},_getManager:function(){return this.__mK;
},getSelectables:function(){return this.__mK.getSelectables();
},invertSelection:function(){if(!this.getEnabled()){this.warn("Setting the selection on disabled '"+this.classname+"' is deprecated: "+("The current behavior will change from doing nothing to selecting the given items."));
this.trace();
}this.__mK.invertSelection();
},_getLeadItem:function(){var D=this.__mK.getMode();

if(D===w||D===u){return this.__mK.getSelectedItem();
}else{return this.__mK.getLeadItem();
}},_applySelectionMode:function(x,y){this.__mK.setMode(x);
},_applyDragSelection:function(K,L){this.__mK.setDrag(K);
},_applyQuickSelection:function(z,A){this.__mK.setQuick(z);
},_onSelectionChange:function(e){this.fireDataEvent(t,e.getData());
}},destruct:function(){this._disposeObjects(s);
}});
})();
(function(){var bO="one",bN="single",bM="selected",bL="additive",bK="multi",bJ="PageUp",bI="under",bH="Left",bG="lead",bF="Down",cn="Up",cm="Boolean",cl="PageDown",ck="anchor",cj="End",ci="Home",ch="Right",cg="right",cf="click",ce="above",bV="left",bW="Escape",bT="A",bU="Space",bR="_applyMode",bS="interval",bP="__mO",bQ="changeSelection",bX="qx.event.type.Data",bY="quick",cb="key",ca="abstract",cd="drag",cc="qx.ui.core.selection.Abstract";
qx.Class.define(cc,{type:ca,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__mL={};
},events:{"changeSelection":bX},properties:{mode:{check:[bN,bK,bL,bO],init:bN,apply:bR},drag:{check:cm,init:false},quick:{check:cm,init:false}},members:{__mM:0,__mN:0,__mO:null,__mP:null,__mQ:null,__mR:null,__mS:null,__mT:null,__mU:null,__mV:null,__mW:null,__mX:null,__mY:null,__na:null,__nb:null,__nc:null,__nd:null,__mL:null,__ne:null,__nf:null,getSelectionContext:function(){return this.__nc;
},selectAll:function(){var V=this.getMode();

if(V==bN||V==bO){throw new Error("Can not select all items in selection mode: "+V);
}this._selectAllItems();
this._fireChange();
},selectItem:function(bx){this._setSelectedItem(bx);
var by=this.getMode();

if(by!==bN&&by!==bO){this._setLeadItem(bx);
this._setAnchorItem(bx);
}this._scrollItemIntoView(bx);
this._fireChange();
},addItem:function(bp){var bq=this.getMode();

if(bq===bN||bq===bO){this._setSelectedItem(bp);
}else{if(!this._getAnchorItem()){this._setAnchorItem(bp);
}this._setLeadItem(bp);
this._addToSelection(bp);
}this._scrollItemIntoView(bp);
this._fireChange();
},removeItem:function(bz){this._removeFromSelection(bz);

if(this.getMode()===bO&&this.isSelectionEmpty()){var bA=this._getFirstSelectable();

if(bA){this.addItem(bA);
}if(bA==bz){return;
}}
if(this.getLeadItem()==bz){this._setLeadItem(null);
}
if(this._getAnchorItem()==bz){this._setAnchorItem(null);
}this._fireChange();
},selectItemRange:function(bk,bl){var bm=this.getMode();

if(bm==bN||bm==bO){throw new Error("Can not select multiple items in selection mode: "+bm);
}this._selectItemRange(bk,bl);
this._setAnchorItem(bk);
this._setLeadItem(bl);
this._scrollItemIntoView(bl);
this._fireChange();
},clearSelection:function(){if(this.getMode()==bO){return;
}this._clearSelection();
this._setLeadItem(null);
this._setAnchorItem(null);
this._fireChange();
},replaceSelection:function(bi){var bj=this.getMode();

if(bj==bO||bj===bN){if(bi.length>1){throw new Error("Could not select more than one items in mode: "+bj+"!");
}
if(bi.length==1){this.selectItem(bi[0]);
}else{this.clearSelection();
}return;
}else{this._replaceMultiSelection(bi);
}},getSelectedItem:function(){var k=this.getMode();

if(k===bN||k===bO){return this._getSelectedItem()||null;
}throw new Error("The method getSelectedItem() is only supported in 'single' and 'one' selection mode!");
},getSelection:function(){return qx.lang.Object.getValues(this.__mL);
},getSortedSelection:function(){var bs=this.getSelectables();
var br=qx.lang.Object.getValues(this.__mL);
br.sort(function(a,b){return bs.indexOf(a)-bs.indexOf(b);
});
return br;
},isItemSelected:function(d){var f=this._selectableToHashCode(d);
return this.__mL[f]!==undefined;
},isSelectionEmpty:function(){return qx.lang.Object.isEmpty(this.__mL);
},invertSelection:function(){var h=this.getMode();

if(h===bN||h===bO){throw new Error("The method invertSelection() is only supported in 'multi' and 'additive' selection mode!");
}var g=this.getSelectables();

for(var i=0;i<g.length;i++){this._toggleInSelection(g[i]);
}this._fireChange();
},_setLeadItem:function(W){var X=this.__nd;

if(X!==null){this._styleSelectable(X,bG,false);
}
if(W!==null){this._styleSelectable(W,bG,true);
}this.__nd=W;
},_getLeadItem:function(){{};
return this.getLeadItem();
},getLeadItem:function(){return this.__nd!==null?this.__nd:null;
},_setAnchorItem:function(n){var o=this.__ne;

if(o){this._styleSelectable(o,ck,false);
}
if(n){this._styleSelectable(n,ck,true);
}this.__ne=n;
},_getAnchorItem:function(){return this.__ne!==null?this.__ne:null;
},_isSelectable:function(cT){throw new Error("Abstract method call: _isSelectable()");
},_getSelectableFromMouseEvent:function(event){var cS=event.getTarget();
return this._isSelectable(cS)?cS:null;
},_selectableToHashCode:function(cW){throw new Error("Abstract method call: _selectableToHashCode()");
},_styleSelectable:function(R,S,T){throw new Error("Abstract method call: _styleSelectable()");
},_capture:function(){throw new Error("Abstract method call: _capture()");
},_releaseCapture:function(){throw new Error("Abstract method call: _releaseCapture()");
},_getLocation:function(){throw new Error("Abstract method call: _getLocation()");
},_getDimension:function(){throw new Error("Abstract method call: _getDimension()");
},_getSelectableLocationX:function(c){throw new Error("Abstract method call: _getSelectableLocationX()");
},_getSelectableLocationY:function(bt){throw new Error("Abstract method call: _getSelectableLocationY()");
},_getScroll:function(){throw new Error("Abstract method call: _getScroll()");
},_scrollBy:function(cL,cM){throw new Error("Abstract method call: _scrollBy()");
},_scrollItemIntoView:function(U){throw new Error("Abstract method call: _scrollItemIntoView()");
},getSelectables:function(){throw new Error("Abstract method call: getSelectables()");
},_getSelectableRange:function(Y,ba){throw new Error("Abstract method call: _getSelectableRange()");
},_getFirstSelectable:function(){throw new Error("Abstract method call: _getFirstSelectable()");
},_getLastSelectable:function(){throw new Error("Abstract method call: _getLastSelectable()");
},_getRelatedSelectable:function(bB,bC){throw new Error("Abstract method call: _getRelatedSelectable()");
},_getPage:function(be,bf){throw new Error("Abstract method call: _getPage()");
},_applyMode:function(O,P){this._setLeadItem(null);
this._setAnchorItem(null);
this._clearSelection();
if(O===bO){var Q=this._getFirstSelectable();

if(Q){this._setSelectedItem(Q);
this._scrollItemIntoView(Q);
}}this._fireChange();
},handleMouseOver:function(event){if(!this.getQuick()){return;
}var cV=this.getMode();

if(cV!==bO&&cV!==bN){return;
}var cU=this._getSelectableFromMouseEvent(event);

if(cU===null){return;
}this._setSelectedItem(cU);
this._fireChange(bY);
},handleMouseDown:function(event){var cO=this._getSelectableFromMouseEvent(event);

if(cO===null){return;
}var cQ=event.isCtrlPressed()||(qx.bom.client.Platform.MAC&&event.isMetaPressed());
var cN=event.isShiftPressed();
if(this.isItemSelected(cO)&&!cN&&!cQ&&!this.getDrag()){this.__nf=cO;
return;
}else{this.__nf=null;
}this._scrollItemIntoView(cO);
switch(this.getMode()){case bN:case bO:this._setSelectedItem(cO);
break;
case bL:this._setLeadItem(cO);
this._setAnchorItem(cO);
this._toggleInSelection(cO);
break;
case bK:this._setLeadItem(cO);
if(cN){var cP=this._getAnchorItem();

if(cP===null){cP=this._getFirstSelectable();
this._setAnchorItem(cP);
}this._selectItemRange(cP,cO,cQ);
}else if(cQ){this._setAnchorItem(cO);
this._toggleInSelection(cO);
}else{this._setAnchorItem(cO);
this._setSelectedItem(cO);
}break;
}var cR=this.getMode();

if(this.getDrag()&&cR!==bN&&cR!==bO&&!cN&&!cQ){this.__mS=this._getLocation();
this.__mP=this._getScroll();
this.__mT=event.getDocumentLeft()+this.__mP.left;
this.__mU=event.getDocumentTop()+this.__mP.top;
this.__mV=true;
this._capture();
}this._fireChange(cf);
},handleMouseUp:function(event){var cy=event.isCtrlPressed()||(qx.bom.client.Platform.MAC&&event.isMetaPressed());
var cv=event.isShiftPressed();

if(!cy&&!cv&&this.__nf){var cw=this._getSelectableFromMouseEvent(event);

if(cw===null||!this.isItemSelected(cw)){return;
}var cx=this.getMode();

if(cx===bL){this._removeFromSelection(cw);
}else{this._setSelectedItem(cw);

if(this.getMode()===bK){this._setLeadItem(cw);
this._setAnchorItem(cw);
}}}this._cleanup();
},handleLoseCapture:function(event){this._cleanup();
},handleMouseMove:function(event){if(!this.__mV){return;
}this.__mW=event.getDocumentLeft();
this.__mX=event.getDocumentTop();
var J=this.__mW+this.__mP.left;

if(J>this.__mT){this.__mY=1;
}else if(J<this.__mT){this.__mY=-1;
}else{this.__mY=0;
}var I=this.__mX+this.__mP.top;

if(I>this.__mU){this.__na=1;
}else if(I<this.__mU){this.__na=-1;
}else{this.__na=0;
}var location=this.__mS;

if(this.__mW<location.left){this.__mM=this.__mW-location.left;
}else if(this.__mW>location.right){this.__mM=this.__mW-location.right;
}else{this.__mM=0;
}
if(this.__mX<location.top){this.__mN=this.__mX-location.top;
}else if(this.__mX>location.bottom){this.__mN=this.__mX-location.bottom;
}else{this.__mN=0;
}if(!this.__mO){this.__mO=new qx.event.Timer(100);
this.__mO.addListener(bS,this._onInterval,this);
}this.__mO.start();
this._autoSelect();
event.stopPropagation();
},handleAddItem:function(e){var K=e.getData();

if(this.getMode()===bO&&this.isSelectionEmpty()){this.addItem(K);
}},handleRemoveItem:function(e){this.removeItem(e.getData());
},_cleanup:function(){if(!this.getDrag()&&this.__mV){return;
}if(this.__nb){this._fireChange(cf);
}delete this.__mV;
delete this.__mQ;
delete this.__mR;
this._releaseCapture();
if(this.__mO){this.__mO.stop();
}},_onInterval:function(e){this._scrollBy(this.__mM,this.__mN);
this.__mP=this._getScroll();
this._autoSelect();
},_autoSelect:function(){var cH=this._getDimension();
var cA=Math.max(0,Math.min(this.__mW-this.__mS.left,cH.width))+this.__mP.left;
var cz=Math.max(0,Math.min(this.__mX-this.__mS.top,cH.height))+this.__mP.top;
if(this.__mQ===cA&&this.__mR===cz){return;
}this.__mQ=cA;
this.__mR=cz;
var cJ=this._getAnchorItem();
var cC=cJ;
var cF=this.__mY;
var cI,cB;

while(cF!==0){cI=cF>0?this._getRelatedSelectable(cC,cg):this._getRelatedSelectable(cC,bV);
if(cI!==null){cB=this._getSelectableLocationX(cI);
if((cF>0&&cB.left<=cA)||(cF<0&&cB.right>=cA)){cC=cI;
continue;
}}break;
}var cG=this.__na;
var cE,cD;

while(cG!==0){cE=cG>0?this._getRelatedSelectable(cC,bI):this._getRelatedSelectable(cC,ce);
if(cE!==null){cD=this._getSelectableLocationY(cE);
if((cG>0&&cD.top<=cz)||(cG<0&&cD.bottom>=cz)){cC=cE;
continue;
}}break;
}var cK=this.getMode();

if(cK===bK){this._selectItemRange(cJ,cC);
}else if(cK===bL){if(this.isItemSelected(cJ)){this._selectItemRange(cJ,cC,true);
}else{this._deselectItemRange(cJ,cC);
}this._setAnchorItem(cC);
}this._fireChange(cd);
},__ng:{Home:1,Down:1,Right:1,PageDown:1,End:1,Up:1,Left:1,PageUp:1},handleKeyPress:function(event){var E,D;
var G=event.getKeyIdentifier();
var F=this.getMode();
var A=event.isCtrlPressed()||(qx.bom.client.Platform.MAC&&event.isMetaPressed());
var B=event.isShiftPressed();
var C=false;

if(G===bT&&A){if(F!==bN&&F!==bO){this._selectAllItems();
C=true;
}}else if(G===bW){if(F!==bN&&F!==bO){this._clearSelection();
C=true;
}}else if(G===bU){var z=this.getLeadItem();

if(z&&!B){if(A||F===bL){this._toggleInSelection(z);
}else{this._setSelectedItem(z);
}C=true;
}}else if(this.__ng[G]){C=true;

if(F===bN||F==bO){E=this._getSelectedItem();
}else{E=this.getLeadItem();
}
if(E!==null){switch(G){case ci:D=this._getFirstSelectable();
break;
case cj:D=this._getLastSelectable();
break;
case cn:D=this._getRelatedSelectable(E,ce);
break;
case bF:D=this._getRelatedSelectable(E,bI);
break;
case bH:D=this._getRelatedSelectable(E,bV);
break;
case ch:D=this._getRelatedSelectable(E,cg);
break;
case bJ:D=this._getPage(E,true);
break;
case cl:D=this._getPage(E,false);
break;
}}else{switch(G){case ci:case bF:case ch:case cl:D=this._getFirstSelectable();
break;
case cj:case cn:case bH:case bJ:D=this._getLastSelectable();
break;
}}if(D!==null){switch(F){case bN:case bO:this._setSelectedItem(D);
break;
case bL:this._setLeadItem(D);
break;
case bK:if(B){var H=this._getAnchorItem();

if(H===null){this._setAnchorItem(H=this._getFirstSelectable());
}this._setLeadItem(D);
this._selectItemRange(H,D,A);
}else{this._setAnchorItem(D);
this._setLeadItem(D);

if(!A){this._setSelectedItem(D);
}}break;
}this._scrollItemIntoView(D);
}}
if(C){event.stop();
this._fireChange(cb);
}},_selectAllItems:function(){var m=this.getSelectables();

for(var i=0,l=m.length;i<l;i++){this._addToSelection(m[i]);
}},_clearSelection:function(){var bg=this.__mL;

for(var bh in bg){this._removeFromSelection(bg[bh]);
}this.__mL={};
},_selectItemRange:function(q,r,s){var v=this._getSelectableRange(q,r);
if(!s){var u=this.__mL;
var w=this.__nh(v);

for(var t in u){if(!w[t]){this._removeFromSelection(u[t]);
}}}for(var i=0,l=v.length;i<l;i++){this._addToSelection(v[i]);
}},_deselectItemRange:function(bu,bv){var bw=this._getSelectableRange(bu,bv);

for(var i=0,l=bw.length;i<l;i++){this._removeFromSelection(bw[i]);
}},__nh:function(L){var N={};
var M;

for(var i=0,l=L.length;i<l;i++){M=L[i];
N[this._selectableToHashCode(M)]=M;
}return N;
},_getSelectedItem:function(){for(var p in this.__mL){return this.__mL[p];
}return null;
},_setSelectedItem:function(bb){if(this._isSelectable(bb)){var bc=this.__mL;
var bd=this._selectableToHashCode(bb);

if(!bc[bd]||qx.lang.Object.hasMinLength(bc,2)){this._clearSelection();
this._addToSelection(bb);
}}},_addToSelection:function(bn){var bo=this._selectableToHashCode(bn);

if(!this.__mL[bo]&&this._isSelectable(bn)){this.__mL[bo]=bn;
this._styleSelectable(bn,bM,true);
this.__nb=true;
}},_toggleInSelection:function(bD){var bE=this._selectableToHashCode(bD);

if(!this.__mL[bE]){this.__mL[bE]=bD;
this._styleSelectable(bD,bM,true);
}else{delete this.__mL[bE];
this._styleSelectable(bD,bM,false);
}this.__nb=true;
},_removeFromSelection:function(x){var y=this._selectableToHashCode(x);

if(this.__mL[y]!=null){delete this.__mL[y];
this._styleSelectable(x,bM,false);
this.__nb=true;
}},_replaceMultiSelection:function(co){var cr=false;
var cu,ct;
var cp={};

for(var i=0,l=co.length;i<l;i++){cu=co[i];

if(this._isSelectable(cu)){ct=this._selectableToHashCode(cu);
cp[ct]=cu;
}}var cq=cu;
var cs=this.__mL;

for(var ct in cs){if(cp[ct]){delete cp[ct];
}else{cu=cs[ct];
delete cs[ct];
this._styleSelectable(cu,bM,false);
cr=true;
}}for(var ct in cp){cu=cs[ct]=cp[ct];
this._styleSelectable(cu,bM,true);
cr=true;
}if(!cr){return false;
}this._scrollItemIntoView(cq);
this._setLeadItem(null);
this._setAnchorItem(null);
this.__nb=true;
this._fireChange();
},_fireChange:function(j){if(this.__nb){this.__nc=j||null;
this.fireDataEvent(bQ,this.getSelection());
delete this.__nb;
}}},destruct:function(){this._disposeObjects(bP);
this.__mL=this.__nf=this.__ne=null;
this.__nd=null;
}});
})();
(function(){var f="vertical",e="under",d="above",c="qx.ui.core.selection.Widget",b="left",a="right";
qx.Class.define(c,{extend:qx.ui.core.selection.Abstract,construct:function(D){qx.ui.core.selection.Abstract.call(this);
this.__ni=D;
},members:{__ni:null,_isSelectable:function(m){return m.isEnabled()&&m.isVisible()&&m.getLayoutParent()===this.__ni;
},_selectableToHashCode:function(k){return k.$$hash;
},_styleSelectable:function(y,z,A){A?y.addState(z):y.removeState(z);
},_capture:function(){this.__ni.capture();
},_releaseCapture:function(){this.__ni.releaseCapture();
},_getWidget:function(){return this.__ni;
},_getLocation:function(){var q=this.__ni.getContentElement().getDomElement();
return q?qx.bom.element.Location.get(q):null;
},_getDimension:function(){return this.__ni.getInnerSize();
},_getSelectableLocationX:function(B){var C=B.getBounds();

if(C){return {left:C.left,right:C.left+C.width};
}},_getSelectableLocationY:function(h){var j=h.getBounds();

if(j){return {top:j.top,bottom:j.top+j.height};
}},_getScroll:function(){return {left:0,top:0};
},_scrollBy:function(N,O){},_scrollItemIntoView:function(g){this.__ni.scrollChildIntoView(g);
},getSelectables:function(){var o=this.__ni.getChildren();
var p=[];
var n;

for(var i=0,l=o.length;i<l;i++){n=o[i];

if(n.isEnabled()&&n.isVisible()){p.push(n);
}}return p;
},_getSelectableRange:function(H,I){if(H===I){return [H];
}var M=this.__ni.getChildren();
var J=[];
var L=false;
var K;

for(var i=0,l=M.length;i<l;i++){K=M[i];

if(K===H||K===I){if(L){J.push(K);
break;
}else{L=true;
}}
if(L&&K.isEnabled()&&K.isVisible()){J.push(K);
}}return J;
},_getFirstSelectable:function(){var G=this.__ni.getChildren();

for(var i=0,l=G.length;i<l;i++){if(G[i].isEnabled()&&G[i].isVisible()){return G[i];
}}return null;
},_getLastSelectable:function(){var x=this.__ni.getChildren();

for(var i=x.length-1;i>0;i--){if(x[i].isEnabled()&&x[i].isVisible()){return x[i];
}}return null;
},_getRelatedSelectable:function(r,s){var v=this.__ni.getOrientation()===f;
var u=this.__ni.getChildren();
var t=u.indexOf(r);
var w;

if((v&&s===d)||(!v&&s===b)){for(var i=t-1;i>=0;i--){w=u[i];

if(w.isEnabled()&&w.isVisible()){return w;
}}}else if((v&&s===e)||(!v&&s===a)){for(var i=t+1;i<u.length;i++){w=u[i];

if(w.isEnabled()&&w.isVisible()){return w;
}}}return null;
},_getPage:function(E,F){if(F){return this._getFirstSelectable();
}else{return this._getLastSelectable();
}}},destruct:function(){this.__ni=null;
}});
})();
(function(){var o="qx.ui.core.selection.ScrollArea";
qx.Class.define(o,{extend:qx.ui.core.selection.Widget,members:{_isSelectable:function(n){return (n.isEnabled()&&n.isVisible()&&n.getLayoutParent()===this._getWidget().getChildrenContainer());
},_getDimension:function(){return this._getWidget().getPaneSize();
},_getScroll:function(){var s=this._getWidget();
return {left:s.getScrollX(),top:s.getScrollY()};
},_scrollBy:function(p,q){var r=this._getWidget();
r.scrollByX(p);
r.scrollByY(q);
},_getPage:function(a,b){var f=this.getSelectables();
var length=f.length;
var j=f.indexOf(a);
if(j===-1){throw new Error("Invalid lead item: "+a);
}var c=this._getWidget();
var l=c.getScrollY();
var innerHeight=c.getInnerSize().height;
var top,e,k;

if(b){var h=l;
var i=j;
while(1){for(;i>=0;i--){top=c.getItemTop(f[i]);
if(top<h){k=i+1;
break;
}}if(k==null){var m=this._getFirstSelectable();
return m==a?null:m;
}if(k>=j){h-=innerHeight+l-c.getItemBottom(a);
k=null;
continue;
}return f[k];
}}else{var g=innerHeight+l;
var i=j;
while(1){for(;i<length;i++){e=c.getItemBottom(f[i]);
if(e>g){k=i-1;
break;
}}if(k==null){var d=this._getLastSelectable();
return d==a?null:d;
}if(k<=j){g+=c.getItemTop(a)-l;
k=null;
continue;
}return f[k];
}}}}});
})();
(function(){var s="horizontal",r="qx.event.type.Data",q="vertical",p="",o="qx.ui.form.List",n="Enter",m="one",k="addChildWidget",j="__nj",h="_applySpacing",E="Boolean",D="Integer",C="action",B="keyinput",A="addItem",z="removeChildWidget",y="_applyOrientation",x="single",w="keypress",v="list",t="pane",u="removeItem";
qx.Class.define(o,{extend:qx.ui.core.scroll.AbstractScrollArea,implement:[qx.ui.core.IMultiSelection,qx.ui.form.IForm,qx.ui.form.IModelSelection],include:[qx.ui.core.MRemoteChildrenHandling,qx.ui.core.MMultiSelectionHandling,qx.ui.form.MForm,qx.ui.form.MModelSelection],construct:function(g){qx.ui.core.scroll.AbstractScrollArea.call(this);
this.__nj=new qx.ui.container.Composite();
this.__nj.addListener(k,this._onAddChild,this);
this.__nj.addListener(z,this._onRemoveChild,this);
this.getChildControl(t).add(this.__nj);
if(g){this.setOrientation(s);
}else{this.initOrientation();
}this.addListener(w,this._onKeyPress);
this.addListener(B,this._onKeyInput);
this.__nk=p;
},events:{addItem:r,removeItem:r},properties:{appearance:{refine:true,init:v},focusable:{refine:true,init:true},orientation:{check:[s,q],init:q,apply:y},spacing:{check:D,init:0,apply:h,themeable:true},enableInlineFind:{check:E,init:true}},members:{__nk:null,__nl:null,__nj:null,SELECTION_MANAGER:qx.ui.core.selection.ScrollArea,getChildrenContainer:function(){return this.__nj;
},_onAddChild:function(e){this.fireDataEvent(A,e.getData());
},_onRemoveChild:function(e){this.fireDataEvent(u,e.getData());
},handleKeyPress:function(e){if(!this._onKeyPress(e)){this._getManager().handleKeyPress(e);
}},_applyOrientation:function(K,L){var M=K===s;
var N=M?new qx.ui.layout.HBox():new qx.ui.layout.VBox();
var content=this.__nj;
content.setLayout(N);
content.setAllowGrowX(!M);
content.setAllowGrowY(M);
this._applySpacing(this.getSpacing());
},_applySpacing:function(F,G){this.__nj.getLayout().setSpacing(F);
},_onKeyPress:function(e){if(e.getKeyIdentifier()==n&&!e.isAltPressed()){var O=this.getSelection();

for(var i=0;i<O.length;i++){O[i].fireEvent(C);
}return true;
}return false;
},_onKeyInput:function(e){if(!this.getEnableInlineFind()){return;
}var P=this.getSelectionMode();

if(!(P===x||P===m)){return;
}if(((new Date).valueOf()-this.__nl)>1000){this.__nk=p;
}this.__nk+=e.getChar();
var Q=this.findItemByLabelFuzzy(this.__nk);
if(Q){this.setSelection([Q]);
}this.__nl=(new Date).valueOf();
},findItemByLabelFuzzy:function(H){H=H.toLowerCase();
var I=this.getChildren();
for(var i=0,l=I.length;i<l;i++){var J=I[i].getLabel();
if(J&&J.toLowerCase().indexOf(H)==0){return I[i];
}}return null;
},findItem:function(a,b){if(b!==false){a=a.toLowerCase();
}var c=this.getChildren();
var f;
for(var i=0,l=c.length;i<l;i++){f=c[i];
var d=f.getLabel();

if(d!=null){if(d.translate){d=d.translate();
}
if(b!==false){d=d.toLowerCase();
}
if(d.toString()==a.toString()){return f;
}}}return null;
}},destruct:function(){this._disposeObjects(j);
}});
})();
(function(){var c="qx.ui.core.scroll.IScrollBar",b="qx.event.type.Data";
qx.Interface.define(c,{events:{"scroll":b},properties:{orientation:{},maximum:{},position:{},knobFactor:{}},members:{scrollTo:function(d){this.assertNumber(d);
},scrollBy:function(a){this.assertNumber(a);
},scrollBySteps:function(e){this.assertNumber(e);
}}});
})();
(function(){var t="horizontal",s="px",r="scroll",q="vertical",p="-1px",o="qx.client",n="0",m="hidden",l="mousedown",k="qx.ui.core.scroll.NativeScrollBar",I="PositiveNumber",H="Integer",G="mousemove",F="_applyMaximum",E="_applyOrientation",D="__nn",C="appear",B="opera",A="PositiveInteger",z="mshtml",x="mouseup",y="Number",v="_applyPosition",w="scrollbar",u="native";
qx.Class.define(k,{extend:qx.ui.core.Widget,implement:qx.ui.core.scroll.IScrollBar,construct:function(P){qx.ui.core.Widget.call(this);
this.addState(u);
this.getContentElement().addListener(r,this._onScroll,this);
this.addListener(l,this._stopPropagation,this);
this.addListener(x,this._stopPropagation,this);
this.addListener(G,this._stopPropagation,this);

if(qx.core.Variant.isSet(o,B)){this.addListener(C,this._onAppear,this);
}this.getContentElement().add(this._getScrollPaneElement());
if(P!=null){this.setOrientation(P);
}else{this.initOrientation();
}},properties:{appearance:{refine:true,init:w},orientation:{check:[t,q],init:t,apply:E},maximum:{check:A,apply:F,init:100},position:{check:y,init:0,apply:v,event:r},singleStep:{check:H,init:20},knobFactor:{check:I,nullable:true}},members:{__nm:null,__nn:null,_getScrollPaneElement:function(){if(!this.__nn){this.__nn=new qx.html.Element();
}return this.__nn;
},renderLayout:function(T,top,U,V){var W=qx.ui.core.Widget.prototype.renderLayout.call(this,T,top,U,V);
this._updateScrollBar();
return W;
},_getContentHint:function(){var M=qx.bom.element.Overflow.getScrollbarWidth();
return {width:this.__nm?100:M,maxWidth:this.__nm?null:M,minWidth:this.__nm?null:M,height:this.__nm?M:100,maxHeight:this.__nm?M:null,minHeight:this.__nm?M:null};
},_applyEnabled:function(J,K){qx.ui.core.Widget.prototype._applyEnabled.call(this,J,K);
this._updateScrollBar();
},_applyMaximum:function(R){this._updateScrollBar();
},_applyPosition:function(Q){var content=this.getContentElement();

if(this.__nm){content.scrollToX(Q);
}else{content.scrollToY(Q);
}},_applyOrientation:function(h,i){var j=this.__nm=h===t;
this.set({allowGrowX:j,allowShrinkX:j,allowGrowY:!j,allowShrinkY:!j});

if(j){this.replaceState(q,t);
}else{this.replaceState(t,q);
}this.getContentElement().setStyles({overflowX:j?r:m,overflowY:j?m:r});
qx.ui.core.queue.Layout.add(this);
},_updateScrollBar:function(){var d=this.__nm;
var f=this.getBounds();

if(!f){return;
}
if(this.isEnabled()){var g=d?f.width:f.height;
var c=this.getMaximum()+g;
}else{c=0;
}if(qx.core.Variant.isSet(o,z)){var f=this.getBounds();
this.getContentElement().setStyles({left:d?n:p,top:d?p:n,width:(d?f.width:f.width+1)+s,height:(d?f.height+1:f.height)+s});
}this._getScrollPaneElement().setStyles({left:0,top:0,width:(d?c:1)+s,height:(d?1:c)+s});
this.scrollTo(this.getPosition());
},scrollTo:function(L){this.setPosition(Math.max(0,Math.min(this.getMaximum(),L)));
},scrollBy:function(S){this.scrollTo(this.getPosition()+S);
},scrollBySteps:function(a){var b=this.getSingleStep();
this.scrollBy(a*b);
},_onScroll:function(e){var O=this.getContentElement();
var N=this.__nm?O.getScrollX():O.getScrollY();
this.setPosition(N);
},_onAppear:function(e){this.scrollTo(this.getPosition());
},_stopPropagation:function(e){e.stopPropagation();
}},destruct:function(){this._disposeObjects(D);
}});
})();
(function(){var l="slider",k="horizontal",j="button-begin",i="vertical",h="button-end",g="Integer",f="execute",d="right",c="left",b="down",A="up",z="PositiveNumber",y="changeValue",x="qx.lang.Type.isNumber(value)&&value>=0&&value<=this.getMaximum()",w="_applyKnobFactor",v="knob",u="qx.ui.core.scroll.ScrollBar",t="resize",s="_applyOrientation",r="_applyPageStep",p="PositiveInteger",q="scroll",n="_applyPosition",o="scrollbar",m="_applyMaximum";
qx.Class.define(u,{extend:qx.ui.core.Widget,implement:qx.ui.core.scroll.IScrollBar,construct:function(C){qx.ui.core.Widget.call(this);
this._createChildControl(j);
this._createChildControl(l).addListener(t,this._onResizeSlider,this);
this._createChildControl(h);
if(C!=null){this.setOrientation(C);
}else{this.initOrientation();
}},properties:{appearance:{refine:true,init:o},orientation:{check:[k,i],init:k,apply:s},maximum:{check:p,apply:m,init:100},position:{check:x,init:0,apply:n,event:q},singleStep:{check:g,init:20},pageStep:{check:g,init:10,apply:r},knobFactor:{check:z,apply:w,nullable:true}},members:{__no:2,_createChildControlImpl:function(M){var N;

switch(M){case l:N=new qx.ui.core.scroll.ScrollSlider();
N.setPageStep(100);
N.setFocusable(false);
N.addListener(y,this._onChangeSliderValue,this);
this._add(N,{flex:1});
break;
case j:N=new qx.ui.form.RepeatButton();
N.setFocusable(false);
N.addListener(f,this._onExecuteBegin,this);
this._add(N);
break;
case h:N=new qx.ui.form.RepeatButton();
N.setFocusable(false);
N.addListener(f,this._onExecuteEnd,this);
this._add(N);
break;
}return N||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,M);
},_applyMaximum:function(D){this.getChildControl(l).setMaximum(D);
},_applyPosition:function(O){this.getChildControl(l).setValue(O);
},_applyKnobFactor:function(P){this.getChildControl(l).setKnobFactor(P);
},_applyPageStep:function(L){this.getChildControl(l).setPageStep(L);
},_applyOrientation:function(I,J){var K=this._getLayout();

if(K){K.dispose();
}if(I===k){this._setLayout(new qx.ui.layout.HBox());
this.setAllowStretchX(true);
this.setAllowStretchY(false);
this.replaceState(i,k);
this.getChildControl(j).replaceState(A,c);
this.getChildControl(h).replaceState(b,d);
}else{this._setLayout(new qx.ui.layout.VBox());
this.setAllowStretchX(false);
this.setAllowStretchY(true);
this.replaceState(k,i);
this.getChildControl(j).replaceState(c,A);
this.getChildControl(h).replaceState(d,b);
}this.getChildControl(l).setOrientation(I);
},scrollTo:function(B){this.getChildControl(l).slideTo(B);
},scrollBy:function(a){this.getChildControl(l).slideBy(a);
},scrollBySteps:function(Q){var R=this.getSingleStep();
this.getChildControl(l).slideBy(Q*R);
},_onExecuteBegin:function(e){this.scrollBy(-this.getSingleStep());
},_onExecuteEnd:function(e){this.scrollBy(this.getSingleStep());
},_onChangeSliderValue:function(e){this.setPosition(e.getData());
},_onResizeSlider:function(e){var E=this.getChildControl(l).getChildControl(v);
var H=E.getSizeHint();
var F=false;
var G=this.getChildControl(l).getInnerSize();

if(this.getOrientation()==i){if(G.height<H.minHeight+this.__no){F=true;
}}else{if(G.width<H.minWidth+this.__no){F=true;
}}
if(F){E.exclude();
}else{E.show();
}}}});
})();
(function(){var bj="knob",bi="horizontal",bh="vertical",bg="Integer",bf="hovered",be="left",bd="top",bc="mouseup",bb="pressed",ba="px",bT="mousemove",bS="resize",bR="slider",bQ="mousedown",bP="PageUp",bO="mouseout",bN="changeValue",bM="Left",bL="Down",bK="Up",bq="dblclick",br="qx.ui.form.Slider",bo="PageDown",bp="mousewheel",bm="interval",bn="_applyValue",bk="_applyKnobFactor",bl="End",bs="height",bt="Right",bA="width",by="_applyOrientation",bE="Home",bC="mouseover",bG="floor",bF="_applyMinimum",bv="click",bJ="typeof value==='number'&&value>=this.getMinimum()&&value<=this.getMaximum()",bI="keypress",bH="ceil",bu="losecapture",bw="contextmenu",bx="_applyMaximum",bz="Number",bB="changeMaximum",bD="changeMinimum";
qx.Class.define(br,{extend:qx.ui.core.Widget,implement:[qx.ui.form.IForm,qx.ui.form.INumberForm,qx.ui.form.IRange],include:[qx.ui.form.MForm],construct:function(a){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.Canvas());
this.addListener(bI,this._onKeyPress);
this.addListener(bp,this._onMouseWheel);
this.addListener(bQ,this._onMouseDown);
this.addListener(bc,this._onMouseUp);
this.addListener(bu,this._onMouseUp);
this.addListener(bS,this._onUpdate);
this.addListener(bw,this._onStopEvent);
this.addListener(bv,this._onStopEvent);
this.addListener(bq,this._onStopEvent);
if(a!=null){this.setOrientation(a);
}else{this.initOrientation();
}},properties:{appearance:{refine:true,init:bR},focusable:{refine:true,init:true},orientation:{check:[bi,bh],init:bi,apply:by},value:{check:bJ,init:0,apply:bn,event:bN,nullable:true},minimum:{check:bg,init:0,apply:bF,event:bD},maximum:{check:bg,init:100,apply:bx,event:bB},singleStep:{check:bg,init:1},pageStep:{check:bg,init:10},knobFactor:{check:bz,apply:bk,nullable:true}},members:{__np:null,__nq:null,__nr:null,__ns:null,__nt:null,__nu:null,__nv:null,__nw:null,__nx:null,_forwardStates:{invalid:true},_createChildControlImpl:function(U){var V;

switch(U){case bj:V=new qx.ui.core.Widget();
V.addListener(bS,this._onUpdate,this);
V.addListener(bC,this._onMouseOver);
V.addListener(bO,this._onMouseOut);
this._add(V);
break;
}return V||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,U);
},_onMouseOver:function(e){this.addState(bf);
},_onMouseOut:function(e){this.removeState(bf);
},_onMouseWheel:function(e){var I=e.getWheelDelta()>0?1:-1;
this.slideBy(I*this.getSingleStep());
e.stop();
},_onKeyPress:function(e){var M=this.getOrientation()===bi;
var L=M?bM:bK;
var forward=M?bt:bL;

switch(e.getKeyIdentifier()){case forward:this.slideForward();
break;
case L:this.slideBack();
break;
case bo:this.slidePageForward();
break;
case bP:this.slidePageBack();
break;
case bE:this.slideToBegin();
break;
case bl:this.slideToEnd();
break;
default:return;
}e.stop();
},_onMouseDown:function(e){if(this.__ns){return;
}var bW=this.__nz;
var bU=this.getChildControl(bj);
var bV=bW?be:bd;
var bY=bW?e.getDocumentLeft():e.getDocumentTop();
var ca=this.__np=qx.bom.element.Location.get(this.getContentElement().getDomElement())[bV];
var bX=this.__nq=qx.bom.element.Location.get(bU.getContainerElement().getDomElement())[bV];

if(e.getTarget()===bU){this.__ns=true;
this.__nt=bY+ca-bX;
bU.addState(bb);
}else{this.__nu=true;
this.__nv=bY<=bX?-1:1;
this.__nA(e);
this._onInterval();
if(!this.__nx){this.__nx=new qx.event.Timer(100);
this.__nx.addListener(bm,this._onInterval,this);
}this.__nx.start();
}this.addListener(bT,this._onMouseMove);
this.capture();
e.stopPropagation();
},_onMouseUp:function(e){if(this.__ns){this.releaseCapture();
delete this.__ns;
delete this.__nt;
this.getChildControl(bj).removeState(bb);
if(e.getType()===bc){var S;
var T;
var R;

if(this.__nz){S=e.getDocumentLeft()-(this._valueToPosition(this.getValue())+this.__np);
R=qx.bom.element.Location.get(this.getContentElement().getDomElement())[bd];
T=e.getDocumentTop()-(R+this.getChildControl(bj).getBounds().top);
}else{S=e.getDocumentTop()-(this._valueToPosition(this.getValue())+this.__np);
R=qx.bom.element.Location.get(this.getContentElement().getDomElement())[be];
T=e.getDocumentLeft()-(R+this.getChildControl(bj).getBounds().left);
}
if(T<0||T>this.__nr||S<0||S>this.__nr){this.getChildControl(bj).removeState(bf);
}}}else if(this.__nu){this.__nx.stop();
this.releaseCapture();
delete this.__nu;
delete this.__nv;
delete this.__nw;
}this.removeListener(bT,this._onMouseMove);
if(e.getType()===bc){e.stopPropagation();
}},_onMouseMove:function(e){if(this.__ns){var O=this.__nz?e.getDocumentLeft():e.getDocumentTop();
var N=O-this.__nt;
this.slideTo(this._positionToValue(N));
}else if(this.__nu){this.__nA(e);
}e.stopPropagation();
},_onInterval:function(e){var d=this.getValue()+(this.__nv*this.getPageStep());
if(d<this.getMinimum()){d=this.getMinimum();
}else if(d>this.getMaximum()){d=this.getMaximum();
}var f=this.__nv==-1;

if((f&&d<=this.__nw)||(!f&&d>=this.__nw)){d=this.__nw;
}this.slideTo(d);
},_onUpdate:function(e){var j=this.getInnerSize();
var k=this.getChildControl(bj).getBounds();
var i=this.__nz?bA:bs;
this._updateKnobSize();
this.__ny=j[i]-k[i];
this.__nr=k[i];
this._updateKnobPosition();
},__nz:false,__ny:0,__nA:function(e){var s=this.__nz;
var z=s?e.getDocumentLeft():e.getDocumentTop();
var B=this.__np;
var t=this.__nq;
var D=this.__nr;
var A=z-B;

if(z>=t){A-=D;
}var x=this._positionToValue(A);
var u=this.getMinimum();
var v=this.getMaximum();

if(x<u){x=u;
}else if(x>v){x=v;
}else{var y=this.getValue();
var w=this.getPageStep();
var C=this.__nv<0?bG:bH;
x=y+(Math[C]((x-y)/w)*w);
}if(this.__nw==null||(this.__nv==-1&&x<=this.__nw)||(this.__nv==1&&x>=this.__nw)){this.__nw=x;
}},_positionToValue:function(E){var F=this.__ny;
if(F==null||F==0){return 0;
}var H=E/F;

if(H<0){H=0;
}else if(H>1){H=1;
}var G=this.getMaximum()-this.getMinimum();
return this.getMinimum()+Math.round(G*H);
},_valueToPosition:function(l){var m=this.__ny;

if(m==null){return 0;
}var n=this.getMaximum()-this.getMinimum();
if(n==0){return 0;
}var l=l-this.getMinimum();
var o=l/n;

if(o<0){o=0;
}else if(o>1){o=1;
}return Math.round(m*o);
},_updateKnobPosition:function(){this._setKnobPosition(this._valueToPosition(this.getValue()));
},_setKnobPosition:function(W){var X=this.getChildControl(bj).getContainerElement();

if(this.__nz){X.setStyle(be,W+ba,true);
}else{X.setStyle(bd,W+ba,true);
}},_updateKnobSize:function(){var c=this.getKnobFactor();

if(c==null){return;
}var b=this.getInnerSize();

if(b==null){return;
}if(this.__nz){this.getChildControl(bj).setWidth(Math.round(c*b.width));
}else{this.getChildControl(bj).setHeight(Math.round(c*b.height));
}},slideToBegin:function(){this.slideTo(this.getMinimum());
},slideToEnd:function(){this.slideTo(this.getMaximum());
},slideForward:function(){this.slideBy(this.getSingleStep());
},slideBack:function(){this.slideBy(-this.getSingleStep());
},slidePageForward:function(){this.slideBy(this.getPageStep());
},slidePageBack:function(){this.slideBy(-this.getPageStep());
},slideBy:function(cb){this.slideTo(this.getValue()+cb);
},slideTo:function(Y){if(Y<this.getMinimum()){Y=this.getMinimum();
}else if(Y>this.getMaximum()){Y=this.getMaximum();
}else{Y=this.getMinimum()+Math.round((Y-this.getMinimum())/this.getSingleStep())*this.getSingleStep();
}this.setValue(Y);
},_applyOrientation:function(p,q){var r=this.getChildControl(bj);
this.__nz=p===bi;
if(this.__nz){this.removeState(bh);
r.removeState(bh);
this.addState(bi);
r.addState(bi);
r.setLayoutProperties({top:0,right:null,bottom:0});
}else{this.removeState(bi);
r.removeState(bi);
this.addState(bh);
r.addState(bh);
r.setLayoutProperties({right:0,bottom:null,left:0});
}this._updateKnobPosition();
},_applyKnobFactor:function(g,h){if(g!=null){this._updateKnobSize();
}else{if(this.__nz){this.getChildControl(bj).resetWidth();
}else{this.getChildControl(bj).resetHeight();
}}},_applyValue:function(J,K){if(J!=null){this._updateKnobPosition();
}else{this.resetValue();
}},_applyMinimum:function(P,Q){if(this.getValue()<P){this.setValue(P);
}this._updateKnobPosition();
},_applyMaximum:function(cc,cd){if(this.getValue()>cc){this.setValue(cc);
}this._updateKnobPosition();
}}});
})();
(function(){var c="mousewheel",b="qx.ui.core.scroll.ScrollSlider",a="keypress";
qx.Class.define(b,{extend:qx.ui.form.Slider,construct:function(d){qx.ui.form.Slider.call(this,d);
this.removeListener(a,this._onKeyPress);
this.removeListener(c,this._onMouseWheel);
}});
})();
(function(){var l="",k="<br",j=" &nbsp;",i="<br>",h=" ",g="\n",f="qx.bom.String";
qx.Class.define(f,{statics:{TO_CHARCODE:{"quot":34,"amp":38,"lt":60,"gt":62,"nbsp":160,"iexcl":161,"cent":162,"pound":163,"curren":164,"yen":165,"brvbar":166,"sect":167,"uml":168,"copy":169,"ordf":170,"laquo":171,"not":172,"shy":173,"reg":174,"macr":175,"deg":176,"plusmn":177,"sup2":178,"sup3":179,"acute":180,"micro":181,"para":182,"middot":183,"cedil":184,"sup1":185,"ordm":186,"raquo":187,"frac14":188,"frac12":189,"frac34":190,"iquest":191,"Agrave":192,"Aacute":193,"Acirc":194,"Atilde":195,"Auml":196,"Aring":197,"AElig":198,"Ccedil":199,"Egrave":200,"Eacute":201,"Ecirc":202,"Euml":203,"Igrave":204,"Iacute":205,"Icirc":206,"Iuml":207,"ETH":208,"Ntilde":209,"Ograve":210,"Oacute":211,"Ocirc":212,"Otilde":213,"Ouml":214,"times":215,"Oslash":216,"Ugrave":217,"Uacute":218,"Ucirc":219,"Uuml":220,"Yacute":221,"THORN":222,"szlig":223,"agrave":224,"aacute":225,"acirc":226,"atilde":227,"auml":228,"aring":229,"aelig":230,"ccedil":231,"egrave":232,"eacute":233,"ecirc":234,"euml":235,"igrave":236,"iacute":237,"icirc":238,"iuml":239,"eth":240,"ntilde":241,"ograve":242,"oacute":243,"ocirc":244,"otilde":245,"ouml":246,"divide":247,"oslash":248,"ugrave":249,"uacute":250,"ucirc":251,"uuml":252,"yacute":253,"thorn":254,"yuml":255,"fnof":402,"Alpha":913,"Beta":914,"Gamma":915,"Delta":916,"Epsilon":917,"Zeta":918,"Eta":919,"Theta":920,"Iota":921,"Kappa":922,"Lambda":923,"Mu":924,"Nu":925,"Xi":926,"Omicron":927,"Pi":928,"Rho":929,"Sigma":931,"Tau":932,"Upsilon":933,"Phi":934,"Chi":935,"Psi":936,"Omega":937,"alpha":945,"beta":946,"gamma":947,"delta":948,"epsilon":949,"zeta":950,"eta":951,"theta":952,"iota":953,"kappa":954,"lambda":955,"mu":956,"nu":957,"xi":958,"omicron":959,"pi":960,"rho":961,"sigmaf":962,"sigma":963,"tau":964,"upsilon":965,"phi":966,"chi":967,"psi":968,"omega":969,"thetasym":977,"upsih":978,"piv":982,"bull":8226,"hellip":8230,"prime":8242,"Prime":8243,"oline":8254,"frasl":8260,"weierp":8472,"image":8465,"real":8476,"trade":8482,"alefsym":8501,"larr":8592,"uarr":8593,"rarr":8594,"darr":8595,"harr":8596,"crarr":8629,"lArr":8656,"uArr":8657,"rArr":8658,"dArr":8659,"hArr":8660,"forall":8704,"part":8706,"exist":8707,"empty":8709,"nabla":8711,"isin":8712,"notin":8713,"ni":8715,"prod":8719,"sum":8721,"minus":8722,"lowast":8727,"radic":8730,"prop":8733,"infin":8734,"ang":8736,"and":8743,"or":8744,"cap":8745,"cup":8746,"int":8747,"there4":8756,"sim":8764,"cong":8773,"asymp":8776,"ne":8800,"equiv":8801,"le":8804,"ge":8805,"sub":8834,"sup":8835,"sube":8838,"supe":8839,"oplus":8853,"otimes":8855,"perp":8869,"sdot":8901,"lceil":8968,"rceil":8969,"lfloor":8970,"rfloor":8971,"lang":9001,"rang":9002,"loz":9674,"spades":9824,"clubs":9827,"hearts":9829,"diams":9830,"OElig":338,"oelig":339,"Scaron":352,"scaron":353,"Yuml":376,"circ":710,"tilde":732,"ensp":8194,"emsp":8195,"thinsp":8201,"zwnj":8204,"zwj":8205,"lrm":8206,"rlm":8207,"ndash":8211,"mdash":8212,"lsquo":8216,"rsquo":8217,"sbquo":8218,"ldquo":8220,"rdquo":8221,"bdquo":8222,"dagger":8224,"Dagger":8225,"permil":8240,"lsaquo":8249,"rsaquo":8250,"euro":8364},escape:function(o){return qx.util.StringEscape.escape(o,qx.bom.String.FROM_CHARCODE);
},unescape:function(q){return qx.util.StringEscape.unescape(q,qx.bom.String.TO_CHARCODE);
},fromText:function(a){return qx.bom.String.escape(a).replace(/(  |\n)/g,function(m){var n={"  ":j,"\n":i};
return n[m]||m;
});
},toText:function(p){return qx.bom.String.unescape(p.replace(/\s+|<([^>])+>/gi,function(b){if(b.indexOf(k)===0){return g;
}else if(b.length>0&&b.replace(/^\s*/,l).replace(/\s*$/,l)==l){return h;
}else{return l;
}}));
}},defer:function(c,d,e){c.FROM_CHARCODE=qx.lang.Object.invert(c.TO_CHARCODE);
}});
})();
(function(){var g=";",f="&",e='X',d="",c='#',b="&#",a="qx.util.StringEscape";
qx.Class.define(a,{statics:{escape:function(o,p){var r,t=d;

for(var i=0,l=o.length;i<l;i++){var s=o.charAt(i);
var q=s.charCodeAt(0);

if(p[q]){r=f+p[q]+g;
}else{if(q>0x7F){r=b+q+g;
}else{r=s;
}}t+=r;
}return t;
},unescape:function(m,n){return m.replace(/&[#\w]+;/gi,function(h){var j=h;
var h=h.substring(1,h.length-1);
var k=n[h];

if(k){j=String.fromCharCode(k);
}else{if(h.charAt(0)==c){if(h.charAt(1).toUpperCase()==e){k=h.substring(2);
if(k.match(/^[0-9A-Fa-f]+$/gi)){j=String.fromCharCode(parseInt(k,16));
}}else{k=h.substring(1);
if(k.match(/^\d+$/gi)){j=String.fromCharCode(parseInt(k,10));
}}}}return j;
});
}}});
})();
(function(){var a="qx.ui.core.Spacer";
qx.Class.define(a,{extend:qx.ui.core.LayoutItem,construct:function(c,d){qx.ui.core.LayoutItem.call(this);
this.setWidth(c!=null?c:0);
this.setHeight(d!=null?d:0);
},members:{checkAppearanceNeeds:function(){},addChildrenToQueue:function(b){},destroy:function(){if(this.$$disposed){return;
}var parent=this.$$parent;

if(parent){parent._remove(this);
}qx.ui.core.queue.Dispose.add(this);
}}});
})();
(function(){var c="listitem",b="qx.ui.form.ListItem",a="qx.event.type.Event";
qx.Class.define(b,{extend:qx.ui.basic.Atom,implement:[qx.ui.form.IModel],include:[qx.ui.form.MModelProperty],construct:function(d,e,f){qx.ui.basic.Atom.call(this,d,e);

if(f!=null){this.setModel(f);
}},events:{"action":a},properties:{appearance:{refine:true,init:c}},members:{_forwardStates:{focused:true,hovered:true,selected:true,dragover:true}}});
})();
(function(){var j="track.util.GuiUtils";
qx.Class.define(j,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
},statics:{getSelectedUserData:function(k,m,n){if(n===undefined)n=null;

if(k===undefined)return n;

if(m===undefined)return n;
var o=k.getSelection()[0];

if(o==null)return n;
return o.getUserData(m);
},findListItemByUserData:function(t,u,v){if(v===undefined)v=null;

if(t===undefined)return null;

if(u===undefined)return null;
var x=t.getChildren();

for(var i=0,l=x.length;i<l;i++){var y=x[i];
var w=y.getUserData(u);

if(w==null)continue;
if(v!=null&&v!=w){continue;
}return y;
}return null;
},findListItemByModel:function(a,b){if(b===undefined)b=null;

if(a===undefined)return null;
var d=a.getChildren();

for(var i=0,l=d.length;i<l;i++){var e=d[i];
var c=e.getModel();

if(c==null)continue;

if(b==c){return e;
}}return null;
},findListItemByLabel:function(z,A){if(A===undefined)A=null;

if(z===undefined)return null;
var C=z.getChildren();

for(var i=0,l=C.length;i<l;i++){var D=C[i];
var B=D.getLabel();

if(B==null)continue;

if(A==B){return D;
}}return null;
},selectByUserData:function(p,q,r){var s=track.util.GuiUtils.findListItemByUserData(p,q,r);

if(s!=null)p.setSelection([s]);
return s;
},selectByModel:function(f,g){var h=track.util.GuiUtils.findListItemByModel(f,g);

if(h!=null)f.setSelection([h]);
return h;
},selectByLabel:function(E,F){var G=track.util.GuiUtils.findListItemByLabel(E,F);

if(G!=null)E.setSelection([G]);
return G;
},dummy:function(){}},members:{},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var u="info box",t="remotePropertiesChanged",s="Device <b>%1</b> is off-line",r="window text",q="showPropertiesTab",p="16/apps/system-users.png",o="showTrackingRate",n="images/32/pda_blue.png",m="Configure remotely the device of your buddy %1",l="Remote configure device of %1",e="Configure remotely your device (mobile phone or PDA)",k="Device <b>%1</b> is off-line or you have no permissions",h="updateFriendOf",c="Device <b>%1</b> is off-line, getting last known configuration",b="showSleepingMode",g="window title",f="showSmsTab",i="track.deviceconf.DeviceWindow";
var j=100;
var d=250;
qx.Class.define(i,{extend:qx.ui.window.Window,construct:function(v,w){qx.ui.window.Window.call(this);
this.setLayout(new qx.ui.layout.Canvas());
this.buddyTO=w;
this.setCaption(this.trc(g,l,this.buddyTO.getAliasAndLoginName()));
this.setIcon(xbGetQxIcon(p));
this.trackGui=v;
this.log=this.trackGui.getLogger();
this.trackRateTab=null;
this.sleepingModeTab=null;
this.viewPropertiesTab=null;
this.smsTab=null;
this.remotePropertiesChangedListenerFunc=null;
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(h,function(a){if(this.buddyTO.getLoginName()!=a.getData().buddyTO.getLoginName())return;
this.log.info("DeviceWindow: TODO Received 'updateFriendOf' event for "+this.buddyTO.getLoginName());
},this);
},members:{getBuddyTO:function(){return this.buddyTO;
},getDeviceWindowTop:function(){if(j>200)j=100;
j+=25;
return j;
},getDeviceWindowLeft:function(){if(d>350)d=250;
d+=25;
return d;
},createDeviceWindow:function(){var A=(this.buddyTO.isCurrentLoginAccount())?this.trc(r,e):this.trc(r,m,this.buddyTO.getAliasAndLoginName());
var z=new qx.ui.basic.Atom(A,n);
z.setRich(true);
this.add(z,{top:4,left:4});
var C=new qx.ui.tabview.TabView();
C.setMinWidth(200);
C.setMinHeight(200);
var y=xbProperties.getBoolean(o,true);

if(y){this.trackRateTab=new track.deviceconf.TrackRateTab(this,this.buddyTO);
this.trackRateTab.createTab(C);
C.setSelection([this.trackRateTab.tabviewPage]);
}var x=xbProperties.getBoolean(b,this.getBuddyTO().getDeviceInfo().supportsSleepingMode());

if(x){this.sleepingModeTab=new track.deviceconf.SleepingModeTab(this,this.buddyTO);
this.sleepingModeTab.createTab(C);
}var B=xbProperties.getBoolean(q,true);

if(B){this.viewPropertiesTab=new track.deviceconf.ViewPropertiesTab(this,this.buddyTO);
this.viewPropertiesTab.createTab(C,false);
}var D=xbProperties.getBoolean(f,false);

if(!this.getBuddyTO().getDeviceInfo().isJ2me())D=false;

if(D){this.smsTab=new track.deviceconf.SmsTab(this,this.buddyTO);
this.smsTab.createTab(C,false);
}this.add(C,{left:10,top:52,right:10,bottom:10});
this.trackGui.getMyRoot().add(this,{left:this.getDeviceWindowLeft(),top:this.getDeviceWindowTop()});
this.open();
this.remotePropertiesChangedListenerFunc=this.buddyTO.getDevice().getEventManager().addListener(t,function(I){var J=I.getData().propertyCollection;
this._onRemoteProperiesChanged(J);
},this);
this.loadRemoteProperties();
},_onRemoteProperiesChanged:function(K){if(this.sleepingModeTab!=null){this.sleepingModeTab.onRemoteProperiesChanged(K);
}
if(this.trackRateTab!=null){this.trackRateTab.onRemoteProperiesChanged(K);
}
if(this.viewPropertiesTab!=null){this.viewPropertiesTab.onRemoteProperiesChanged(K);
}},loadRemoteProperties:function(){var L=this.buddyTO.getDeviceInfo().hasOfflineProxyConfiguration();
this._loadPropertyCollection(L);
},_loadPropertyCollection:function(E){var G=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);

if(!G){this.trackGui.infoMsgBox(this.trc(u,k,this.buddyTO.getLoginName()),3000);
return;
}var F=this.buddyTO.isOnline();

if(E){this.trackGui.sendGetDeviceConfiguration(this.buddyTO.getLoginName());

if(!F){if(this.buddyTO.getDeviceInfo().hasOfflineProxyConfiguration())this.trackGui.infoMsgBox(this.trc(u,c,this.buddyTO.getLoginName()),4000);
else this.trackGui.infoMsgBox(this.trc(u,s,this.buddyTO.getLoginName()),3000);
}return;
}
if(F&&this.buddyTO.getDevice().hasPropertyCollectionCompleteCached()==false){this.trackGui.sendGetDeviceConfiguration(this.buddyTO.getLoginName());
}else{var H=this.buddyTO.getDevice().getPropertyCollection();

if(H!=null){this.log.info("DeviceWindow._loadPropertyCollection using from cache");
this._onRemoteProperiesChanged(H);
}else{this.log.info("DeviceWindow._loadPropertyCollection not done: isOnline="+F+" pcIsNull="+(this.buddyTO.getDevice().getPropertyCollection()==null));
}}
if(!F){this.trackGui.infoMsgBox(this.trc(u,s,this.buddyTO.getLoginName()),3000);
return;
}},destroyPopup:function(){if(this.remotePropertiesChangedListenerFunc!=null){if(this.trackGui.watchee!=null&&this.buddyTO!=null)this.buddyTO.getDevice().getEventManager().removeListener(t,this.remotePropertiesChangedListenerFunc);
this.remotePropertiesChangedListenerFunc=null;
}
if(this.trackRateTab!=null){this.trackRateTab.clear();
this.trackRateTab=null;
}
if(this.sleepingModeTab!=null){this.sleepingModeTab.clear();
this.sleepingModeTab=null;
}
if(this.viewPropertiesTab!=null){this.viewPropertiesTab.clear();
this.viewPropertiesTab=null;
}
if(this.smsTab!=null){this.smsTab.clear();
this.smsTab=null;
}this.trackGui.getMyRoot().remove(this);
this.close();

if(this.trackGui==null)return;
this.log.info("destruct DeviceWindow "+this.getBuddyTO().getLoginName());
this.trackGui=null;
this.buddyTO=null;
this.log=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var x="input info",w="",v="label",u="Tracking Rate",t="Button label",s="32/statusLine/deviceStateUnknown.png",r="execute",q="_action",p="action",o="type",bu="middle",bt="16/apps/preferences.png",bs="trackingState",br="tracking",bq="infoMsgBox",bp="groupbox title",bo="left",bn="Track every given second at max speed:",bm="Change persistently (survive device restart)",bl="Disabled for this account",E="Auto Tracking",F="Track every given second when standstill (heartbeat):",C="32/statusLine/deviceStateNoGPS.png",D="Send new tracking rate for %1.<br/><b>Note: The buddy is offline</b>",A="16/actions/dialog-ok.png",B="gps",y="button",z="Start Tracking",I="Track every given second at min speed:",J="Device shall send tracking data",R="ToolTip",P="info box",ba="stop",U="Send new tracking rate for %1",bh="GroupBox title",bf="Send location if heading changes more than (degrees):",L="tab title",bk="32/statusLine/deviceStateOff.png",bj="start",bi="Stop command (xb stop; gps stop):",K="32/devices/network-wireless.png",N="16/statusLine/toolTipIcon.png",O="trackConfigWindow.showTrackingIcon",Q="trackConfigWindow.trackOnOffButton.enabled",S="Start command (xb start; gps start):",V="right",bc="Speed (km/h) for which max tracking rate applies:",bg="On/Off tracking on remote device:",G="22/actions/view-refresh.png",H="admin",M="32/statusLine/deviceStateOn.png",Y="track.deviceconf.TrackRateTab",X="Vtrt",W="The min. speed (km/h) for heading change detection:",be="No permission to change tracking rate for public users",bd="Stop Tracking",T="You have no permission to switch on or off tracking",bb="Submit";
qx.Class.define(Y,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bD,bE){qx.core.Object.call(this);
this.buddyConfigWindow=bD;
this.buddyTO=bE;
this.trackGui=this.buddyConfigWindow.trackGui;
this.ME="TrackRateTab.js";
this.log=this.trackGui.getLogger();
this.trackingRateStruct=null;
this.newStyle=true;
this.trackRateGroup=null;
this.trackOnOffSubmitButton=null;
this.isTrackingAtom=null;
this.trackingIsOn=false;
this.KEY_TRACKING_RATE="trackingRate";
},members:{getBuddyTO:function(){return this.buddyTO;
},getSpecificDevice:function(){return this.getBuddyTO().getDevice();
},createTab:function(j){this.tabviewPage=new qx.ui.tabview.Page(this.trc(L,E),xbGetQxIcon(K));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
j.add(this.tabviewPage);
var n=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(n);

if(this.trackGui.watchee==null)return;
this.showCmdStr=xbProperties.getBoolean(H,false);
this.trackingRateStruct=net.watchee.TrackingRate.parseOldOrNew(this.trackingRate);

if(this.newStyle){this.trackRateGroup=new track.rules.TrackRateGroup(this.trackGui,this);
var k=6;
this.trackRateGroup.createGroup(k,this.trc(bh,u),true);
this.tabviewPage.add(this.trackRateGroup.getGroupBox());
}else{this.tabviewPage.add(this._createTrackingRateGroup());
}var m=this.buddyTO.getDeviceInfo();
var l=(m!=null&&m.isWonde())?true:false;

if(!l){this.tabviewPage.add(this._createTrackOnOff());
}},onRemoteProperiesChanged:function(bx){var bz=bx.contains(this.KEY_TRACKING_RATE)||bx.contains(X)||bx.isAll();

if(!bz)return;
var by=bx.getStr(this.KEY_TRACKING_RATE,w);

if(by!=w){this.trackingRateStruct=net.watchee.TrackingRate.parseOldOrNew(by);
}else{this.trackingRateStruct=net.watchee.TrackingRate.parseOldOrNew(by);
}this.trackingIsOn=this.trackingRateStruct.switchedOn;
this.trackingIsOn=bx.getBoolean(br,this.trackingIsOn);

if(this.newStyle){this.tabviewPage.removeAll();
this.trackRateGroup.setTrackingRate(this.trackingRateStruct);
this.trackRateGroup.updateEnabledFeatures(this.getSpecificDevice().getDeviceInfo());
this.tabviewPage.add(this.trackRateGroup.getGroupBox());
this.tabviewPage.add(this._createTrackOnOff());
}else{this.tabviewPage.removeAll();
this.tabviewPage.add(this._createTrackingRateGroup());
this.tabviewPage.add(this._createTrackOnOff());
}var bB=this.trackingIsOn;
var bA=null;

if(bx.get(bs)!=null){bA=bx.getInt(bs,-1);
bB=(bA==0||bA==1);
}else if(this.buddyTO.getDeviceInfo().isBlackbox()){bA=bB?1:-1;
}this._setTrackLabel(bB);
this._setTrackingIcon(bA);
},_createTrackingRateGroup:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(P,be));
}var bN=new qx.ui.groupbox.GroupBox(this.trc(bp,u),xbGetQxIcon(bt));
var bJ=new qx.ui.layout.Grid();
bN.setLayout(bJ);
var bK=380;
var bM=80;
bJ.setSpacingY(4);
bJ.setSpacingX(6);
bJ.setColumnAlign(0,bo,bu);
var bP=0;
this.sendIntervalAtMinSpeedSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.sendIntervalAtMinSpeed,86400);
this.sendIntervalAtMinSpeedLabel=new qx.ui.basic.Label(this.trc(x,I));
bN.add(this.sendIntervalAtMinSpeedLabel,{row:bP,column:0});
bN.add(this.sendIntervalAtMinSpeedSpinner,{row:bP,column:1});
bP++;
this.sendIntervalAtMaxSpeedSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.sendIntervalAtMaxSpeed,86400);
this.sendIntervalAtMaxSpeedLabel=new qx.ui.basic.Label(this.trc(x,bn));
bN.add(this.sendIntervalAtMaxSpeedLabel,{row:bP,column:0});
bN.add(this.sendIntervalAtMaxSpeedSpinner,{row:bP,column:1});
bP++;
this.speedForMaxIntervalSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.speedForMaxInterval,900);
this.speedForMaxIntervalLabel=new qx.ui.basic.Label(this.trc(x,bc));
bN.add(this.speedForMaxIntervalLabel,{row:bP,column:0});
bN.add(this.speedForMaxIntervalSpinner,{row:bP,column:1});
bP++;
this.sendIntervalHeartBeatSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.sendIntervalHeartBeat,86400);
this.sendIntervalHeartBeatLabel=new qx.ui.basic.Label(this.trc(x,F));
bN.add(this.sendIntervalHeartBeatLabel,{row:bP,column:0});
bN.add(this.sendIntervalHeartBeatSpinner,{row:bP,column:1});
bP++;
this.minSpeedForHeadingChangeThresholdSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.minSpeedForHeadingChangeThreshold,900);
this.minSpeedForHeadingChangeThresholdLabel=new qx.ui.basic.Label(this.trc(x,W));
bN.add(this.minSpeedForHeadingChangeThresholdLabel,{row:bP,column:0});
bN.add(this.minSpeedForHeadingChangeThresholdSpinner,{row:bP,column:1});
bP++;
this.headingChangeThresholdSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.headingChangeThreshold,360);
this.headingChangeThresholdLabel=new qx.ui.basic.Label(this.trc(x,bf));
bN.add(this.headingChangeThresholdLabel,{row:bP,column:0});
bN.add(this.headingChangeThresholdSpinner,{row:bP,column:1});
bP++;
var bL=this.buddyTO.getDeviceInfo();

if(!bL.supportsTrackingBySpeed()){this.sendIntervalAtMinSpeedLabel.setEnabled(false);
this.sendIntervalAtMinSpeedSpinner.setEnabled(false);
this.sendIntervalAtMaxSpeedLabel.setEnabled(false);
this.sendIntervalAtMaxSpeedSpinner.setEnabled(false);
this.speedForMaxIntervalLabel.setEnabled(false);
this.speedForMaxIntervalSpinner.setEnabled(false);
}
if(!bL.supportsTrackingByHeadingChangeThreshold()){this.minSpeedForHeadingChangeThresholdLabel.setEnabled(false);
this.minSpeedForHeadingChangeThresholdSpinner.setEnabled(false);
}
if(!bL.supportsTrackingByHeadingChange()){this.headingChangeThresholdLabel.setEnabled(false);
this.headingChangeThresholdSpinner.setEnabled(false);
}
if(this.showCmdStr){this.timerStartCmdTextField=new qx.ui.form.TextField(w);
bN.add(new qx.ui.basic.Label(this.trc(v,S)),{row:bP,column:0});
bN.add(this.timerStartCmdTextField,{row:bP,column:1});
bP++;
this.timerStopCmdTextField=new qx.ui.form.TextField(w);
bN.add(new qx.ui.basic.Label(this.trc(v,bi)),{row:bP,column:0});
bN.add(this.timerStopCmdTextField,{row:bP,column:1});
bP++;
}this.trackingRatePersistent=new qx.ui.form.CheckBox(this.trc(x,bm));
this.trackingRatePersistent.setValue(false);
bN.add(this.trackingRatePersistent,{row:bP,column:0});

if(!bL.supportsTransientTrackingChange()){this.trackingRatePersistent.setEnabled(false);
this.trackingRatePersistent.setValue(true);
}var bO=new qx.ui.form.Button(this.trc(y,bb),xbGetQxIcon(A));
bN.add(bO,{row:bP,column:1});
bP++;
bO.addListener(r,function(e){if(this.trackGui.watchee==null)return;
var d=new net.watchee.PropertyCollection();
var i=new net.watchee.TrackingRate();
i.sendIntervalAtMinSpeed=new Number(this.sendIntervalAtMinSpeedSpinner.getValue()).valueOf();
i.sendIntervalAtMaxSpeed=new Number(this.sendIntervalAtMaxSpeedSpinner.getValue());
i.speedForMaxInterval=new Number(this.speedForMaxIntervalSpinner.getValue());
i.sendIntervalHeartBeat=new Number(this.sendIntervalHeartBeatSpinner.getValue());
i.minSpeedForHeadingChangeThreshold=new Number(this.minSpeedForHeadingChangeThresholdSpinner.getValue());
i.headingChangeThreshold=new Number(this.headingChangeThresholdSpinner.getValue());

if(this.showCmdStr){i.timerStartCmd=this.timerStartCmdTextField.getValue();
i.timerStopCmd=this.timerStopCmdTextField.getValue();
}var c=i.toCSV();
var h=new net.watchee.PropertyPair(this.KEY_TRACKING_RATE,c);
h.setDurable(this.trackingRatePersistent.getValue());
d.add(h);
this.trackGui.sendDeviceSettings(this.buddyTO.getLoginName(),d);
var g=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);

if(this.buddyTO.isOnline()||!g){this.trackGui.infoMsgBox(this.trc(bq,U,this.buddyTO.getLoginName()),3000);
}else{this.trackGui.infoMsgBox(this.trc(bq,D,this.buddyTO.getLoginName()),3000);
}
if(g){var f=getSpecificDevice();

if(f!=null&&f.getPropertyCollection()!=null){f.getPropertyCollection().addKeyValue(this.KEY_TRACKING_RATE,c);
}}bO.setEnabled(false);
qx.event.Timer.once(function(e){bO.setEnabled(true);
},this,10000);
},this);
return bN;
},_setTrackLabel:function(bC){if(this.trackOnOffSubmitButton==null)return;
this.trackingIsOn=bC;
this.trackOnOffSubmitButton.setLabel(this._getTrackingLabel());
this._setTrackingIcon(bC?1:-1);
},_createTrackOnOff:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(v,T));
}var bH=new qx.ui.groupbox.GroupBox(this.trc(bp,J),xbGetQxIcon(bt));
var bF=new qx.ui.layout.Grid(6,4);
bH.setLayout(bF);
bF.setRowAlign(0,bo,bu);
bF.setRowHeight(0,30);
bH.add(new qx.ui.basic.Label(this.trc(x,bg)),{row:0,column:0});
this.trackOnOffSubmitButton=new qx.ui.form.Button(this._getTrackingLabel(),xbGetQxIcon(G));
this.trackOnOffSubmitButton.setAlignX(V);
bH.add(this.trackOnOffSubmitButton,{row:0,column:1});
this.trackOnOffSubmitButton.addListener(r,function(e){if(this.trackGui.watchee==null)return;
var bv=(this.trackingIsOn)?ba:bj;
this.trackingIsOn=!this.trackingIsOn;
{var bw=new net.watchee.PropertyCollection();
bw.add(new net.watchee.PropertyPair(p,bv));
bw.add(new net.watchee.PropertyPair(q,bv));
bw.add(new net.watchee.PropertyPair(o,B));
this.trackGui.sendActionToDevice(this.buddyTO.getLoginName(),bw);
};
{var bw=new net.watchee.PropertyCollection();
bw.add(new net.watchee.PropertyPair(p,bv));
bw.add(new net.watchee.PropertyPair(q,bv));
bw.add(new net.watchee.PropertyPair(o,br));
this.trackGui.sendActionToDevice(this.buddyTO.getLoginName(),bw);
};
this._setTrackLabel(this.trackingIsOn);
this.trackOnOffSubmitButton.setEnabled(false);
qx.event.Timer.once(function(e){this.trackOnOffSubmitButton.setEnabled(true);
},this,10000);
},this);

if(xbProperties.getBoolean(Q,true)==false){this.trackOnOffSubmitButton.setEnabled(false);
var bI=this.trc(R,bl);
var bG=new qx.ui.tooltip.ToolTip(bI,xbGetIcon(N));
bG.setRich(true);
bG.setShowTimeout(50);
this.trackOnOffSubmitButton.setToolTip(bG);
}
if(xbProperties.getBoolean(O,true)){this.isTrackingAtom=new qx.ui.basic.Atom(w);
this._setTrackingIcon(null);
bH.add(this.isTrackingAtom,{row:0,column:2});
}return bH;
},_setTrackingIcon:function(a){if(this.isTrackingAtom==null)return;
var b=xbGetIcon(s);

if(a!=null&&this.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_DEVICE_STATUS)){if(a==0)b=xbGetIcon(C);
else if(a==-1)b=xbGetIcon(bk);
else if(a==1)b=xbGetIcon(M);
else b=xbGetIcon(s);
}this.isTrackingAtom.setIcon(b);
},_getTrackingLabel:function(){return (this.trackingIsOn)?this.trc(t,bd):this.trc(t,z);
},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var o="Label",n="middle",m="ListItem",k="h",j="km",h="min",g="changeValue",f="sec",d="m",c="Send all",I="changeSelection",H="a position",G="infoMsgBox",F="Change persistently (survive device restart)",E="Disabled for this account",D="Tracking Rate",C="16/actions/dialog-ok.png",B="button",A="execute",z="Send on course change of",v="ToolTip",w="Send new tracking rate for %1",t="track.rules.TrackRateGroup",u="degree a position",r="trackConfigWindow.trackRateButton.enabled",s="16/statusLine/toolTipIcon.png",p="input info",q="Send new tracking rate for %1.<br/><b>Note: The buddy is offline</b>",x="groupbox title",y="Submit";
qx.Class.define(t,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(J,K){qx.core.Object.call(this);
this.trackGui=J;
this.masterWindow=K||null;
this.groupBox=null;
this.distanceCheckBox=null;
this.distanceSpinner=null;
this.distanceEntitySelectBox=null;
this.distanceHBox=null;
this.heartbeatCheckBox=null;
this.heartbeatSpinner=null;
this.heartbeatEntitySelectBox=null;
this.heartbeatHBox=null;
this.headingCheckBox=null;
this.headingSpinner=null;
this.headingHBox=null;
this.supportsTrackingByHeartbeat=true;
this.supportsTrackingByDistance=true;
this.supportsTrackingByHeadingChange=true;
this.doUseTrackingRate=true;
this.minimumMeter=100;
this.minimumSec=10;
this.maximumHeartbeatHours=1000;
this.maximumDistanceKm=1000;
},members:{getGroupBox:function(){return this.groupBox;
},createDistanceHBox:function(){var bo=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
var bp=new qx.ui.container.Composite(new qx.ui.layout.HBox(6));
this.distanceCheckBox=new qx.ui.form.CheckBox();
this.distanceCheckBox.setValue(true);
this.distanceCheckBox.addListener(g,function(e){var bs=e.getData();
bp.setEnabled(bs);
});
var bq=this.getDeviceInfo();

if(bq!=null&&bq.isWonde()){this.maximumDistanceKm=65;
}this.distanceLabel1=new qx.ui.basic.Label(this.trc(o,c)).set({alignY:n});
this.distanceSpinner=new qx.ui.form.Spinner(this.minimumMeter,500,5000);
this.distanceSpinner.setSingleStep(10);
this.distanceSpinner.setPageStep(100);
var br=new qx.util.format.NumberFormat();
br.setMaximumFractionDigits(0);
this.distanceSpinner.setNumberFormat(br);
this.distanceEntitySelectBox=new qx.ui.form.SelectBox().set({width:50});
this.listItemM=new qx.ui.form.ListItem(this.trc(m,d),null,d);
this.distanceEntitySelectBox.add(this.listItemM);
this.listItemKM=new qx.ui.form.ListItem(this.trc(m,j),null,j);
this.distanceEntitySelectBox.add(this.listItemKM);
this.distanceEntitySelectBox.addListener(I,function(e){var O=(e.getData().length==0)?null:e.getData()[0];

if(O.getModel()==d){this.distanceSpinner.setMinimum(this.minimumMeter);
this.distanceSpinner.setMaximum(5000);
this.distanceSpinner.setSingleStep(10);
this.distanceSpinner.setPageStep(100);
}else if(O.getModel()==j){this.distanceSpinner.setMinimum(1);
this.distanceSpinner.setMaximum(this.maximumDistanceKm);
this.distanceSpinner.setSingleStep(1);
this.distanceSpinner.setPageStep(10);
}},this);
this.distanceLabel2=new qx.ui.basic.Label(this.trc(o,H)).set({alignY:n});
bo.add(this.distanceCheckBox);
bo.add(bp);
bp.add(this.distanceLabel1);
bp.add(this.distanceSpinner);
bp.add(this.distanceEntitySelectBox);
bp.add(this.distanceLabel2);
this.distanceHBox=bo;
return bo;
},createHeartbeatHBox:function(){var bE=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
var bF=new qx.ui.container.Composite(new qx.ui.layout.HBox(6));
this.heartbeatCheckBox=new qx.ui.form.CheckBox();
this.heartbeatCheckBox.setValue(true);
this.heartbeatCheckBox.addListener(g,function(e){var b=e.getData();
bF.setEnabled(b);
});
this.heartbeatLabel1=new qx.ui.basic.Label(this.trc(o,c)).set({alignY:n});
this.heartbeatSpinner=new qx.ui.form.Spinner(this.minimumSec,120,300);
this.heartbeatSpinner.set({singleStep:1,pageStep:10});
var bH=new qx.util.format.NumberFormat();
bH.setMaximumFractionDigits(0);
this.heartbeatSpinner.setNumberFormat(bH);
var bG=this.getDeviceInfo();

if(bG!=null&&bG.isWonde()){this.maximumHeartbeatHours=18;
}this.heartbeatEntitySelectBox=new qx.ui.form.SelectBox().set({width:60});
this.listItemSec=new qx.ui.form.ListItem(this.trc(m,f),null,f);
this.heartbeatEntitySelectBox.add(this.listItemSec);
this.listItemMin=new qx.ui.form.ListItem(this.trc(m,h),null,h);
this.heartbeatEntitySelectBox.add(this.listItemMin);
this.listItemHour=new qx.ui.form.ListItem(this.trc(m,k),null,k);
this.heartbeatEntitySelectBox.add(this.listItemHour);
this.heartbeatEntitySelectBox.addListener(I,function(e){var bx=(e.getData().length==0)?null:e.getData()[0];

if(bx.getModel()==f){this.heartbeatSpinner.setMinimum(this.minimumSec);
this.heartbeatSpinner.setMaximum(300);
this.heartbeatSpinner.setSingleStep(1);
this.heartbeatSpinner.setPageStep(10);
}else if(bx.getModel()==h){this.heartbeatSpinner.setMinimum(1);
this.heartbeatSpinner.setMaximum(300);
this.heartbeatSpinner.setSingleStep(1);
this.heartbeatSpinner.setPageStep(10);
}else if(bx.getModel()==k){this.heartbeatSpinner.setMinimum(1);
this.heartbeatSpinner.setMaximum(this.maximumHeartbeatHours);
this.heartbeatSpinner.setSingleStep(1);
this.heartbeatSpinner.setPageStep(10);
}},this);
this.heartbeatLabel2=new qx.ui.basic.Label(this.trc(o,H)).set({alignY:n});
bE.add(this.heartbeatCheckBox);
bE.add(bF);
bF.add(this.heartbeatLabel1);
bF.add(this.heartbeatSpinner);
bF.add(this.heartbeatEntitySelectBox);
bF.add(this.heartbeatLabel2);
this.heartbeatHBox=bE;
return bE;
},createHeadingHBox:function(){var L=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
var M=new qx.ui.container.Composite(new qx.ui.layout.HBox(6));
this.headingCheckBox=new qx.ui.form.CheckBox();
this.headingCheckBox.setValue(true);
this.headingCheckBox.addListener(g,function(e){var a=e.getData();
M.setEnabled(a);
});
this.headingLabel1=new qx.ui.basic.Label(this.trc(o,z)).set({alignY:n});
this.headingSpinner=new qx.ui.form.Spinner(10,30,90);
this.headingSpinner.set({singleStep:1,pageStep:10});
var N=new qx.util.format.NumberFormat();
N.setMaximumFractionDigits(0);
this.headingSpinner.setNumberFormat(N);
this.headingLabel2=new qx.ui.basic.Label(this.trc(o,u)).set({alignY:n});
L.add(this.headingCheckBox);
L.add(M);
M.add(this.headingLabel1);
M.add(this.headingSpinner);
M.add(this.headingLabel2);
this.headingHBox=L;
return L;
},createSendConfigHBox:function(){var bd=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
var bf=this.getDeviceInfo();
this.trackingRatePersistent=new qx.ui.form.CheckBox(this.trc(p,F));
this.trackingRatePersistent.setValue(false);

if(bf==null||!bf.supportsTransientTrackingChange()){this.trackingRatePersistent.setEnabled(false);
this.trackingRatePersistent.setValue(true);
}this.submitButton=new qx.ui.form.Button(this.trc(B,y),xbGetQxIcon(C));
this.KEY_TRACKING_RATE="trackingRate";
this.submitButton.addListener(A,function(e){if(this.trackGui.watchee==null)return;
var bj=new net.watchee.PropertyCollection();
var bi=this.getTrackingRateStrGui();
var bn=new net.watchee.PropertyPair(this.KEY_TRACKING_RATE,bi);
bn.setDurable(this.trackingRatePersistent.getValue());
bj.add(bn);
var bl=this.getBuddyTO();
this.trackGui.sendDeviceSettings(bl.getLoginName(),bj);
var bm=bl.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);

if(bl.isOnline()||!bm){this.trackGui.infoMsgBox(this.trc(G,w,bl.getLoginName()),3000);
}else{this.trackGui.infoMsgBox(this.trc(G,q,bl.getLoginName()),3000);
}
if(bm){var bk=this.masterWindow.getSpecificDevice();

if(bk!=null&&bk.getPropertyCollection()!=null){bk.getPropertyCollection().addKeyValue(this.KEY_TRACKING_RATE,bi);
}}this.submitButton.setEnabled(false);
qx.event.Timer.once(function(e){this.submitButton.setEnabled(true);
},this,10000);
},this);

if(xbProperties.getBoolean(r,true)==false){this.submitButton.setEnabled(false);
var bg=this.trc(v,E);
var be=new qx.ui.tooltip.ToolTip(bg,xbGetIcon(s));
be.setRich(true);
be.setShowTimeout(50);
this.submitButton.setToolTip(be);
}bd.add(this.trackingRatePersistent);
bd.add(this.submitButton);
return bd;
},createGroup:function(S,T,U){var U=org.xmlBlaster.util.toBoolean(U,false);
var W=T||this.trc(x,D);
this.groupBox=new qx.ui.groupbox.GroupBox(W);
var V=this.groupBox;
this.groupBox.setLayout(new qx.ui.layout.VBox(10));
this.groupBox.setContentPadding(S||12);
this.groupBox.add(this.createHeartbeatHBox());
this.groupBox.add(this.createDistanceHBox());
this.groupBox.add(this.createHeadingHBox());

if(U){this.groupBox.add(this.createSendConfigHBox());
}this.updateEnabledFeatures(this.getDeviceInfo());
return this.groupBox;
},getBuddyTO:function(){var Y=this.masterWindow.getSpecificDevice();

if(Y!=null){return Y.getBuddyTO();
}return null;
},getDeviceInfo:function(){var by=this.masterWindow.getSpecificDevice();

if(by!=null){return by.getDeviceInfo();
}return null;
},updateEnabledFeatures:function(X){var X=X||null;

if(X==null){this.supportsTrackingByHeartbeat=true;
this.supportsTrackingByDistance=true;
this.supportsTrackingByHeadingChange=true;
}else{this.supportsTrackingByHeartbeat=X.supportsTrackingByHeartbeat();
this.supportsTrackingByDistance=X.supportsTrackingByDistance();
this.supportsTrackingByHeadingChange=X.supportsTrackingByHeadingChange();
}this.__nB();
},__nB:function(){if(this.distanceHBox!=null)this.distanceHBox.setEnabled(this.supportsTrackingByDistance);

if(this.heartbeatHBox!=null)this.heartbeatHBox.setEnabled(this.supportsTrackingByHeartbeat);

if(this.headingHBox!=null)this.headingHBox.setEnabled(this.supportsTrackingByHeadingChange);
},setTrackingRateStr:function(bz){this.setTrackingRate(net.watchee.TrackingRate.parseOldOrNew(bz));
},setTrackingRate:function(ba){this.trackingRateStruct=ba;
this.distanceCheckBox.setValue(this.trackingRateStruct.useSwitchDistanceMeter());
this.heartbeatCheckBox.setValue(this.trackingRateStruct.useSwitchIntervalHeartBeat());
this.headingCheckBox.setValue(this.trackingRateStruct.useSwitchHeadingChangeThreshold());
if(this.trackingRateStruct.sendIntervalHeartBeat<=300){this.heartbeatEntitySelectBox.setSelection([this.listItemSec]);
this.heartbeatSpinner.setValue(this.trackingRateStruct.sendIntervalHeartBeat);
}else if(this.trackingRateStruct.sendIntervalHeartBeat<=(300*60)){this.heartbeatEntitySelectBox.setSelection([this.listItemMin]);
this.heartbeatSpinner.setValue(this.trackingRateStruct.sendIntervalHeartBeat/60);
}else{this.heartbeatEntitySelectBox.setSelection([this.listItemHour]);
this.heartbeatSpinner.setValue(this.trackingRateStruct.sendIntervalHeartBeat/3600);
}
if(this.trackingRateStruct.distanceMeter<=5000){this.distanceEntitySelectBox.setSelection([this.listItemM]);
this.distanceSpinner.setValue(this.trackingRateStruct.distanceMeter);
}else{this.distanceEntitySelectBox.setSelection([this.listItemKM]);
this.distanceSpinner.setValue(this.trackingRateStruct.distanceMeter/1000);
}this.headingSpinner.setValue(this.trackingRateStruct.headingChangeThreshold);
},getTrackingRateStrGui:function(){var bJ=new net.watchee.TrackingRate();
bJ.setSwitchDistanceMeter(this.useDistance());
var bL=new Number(this.distanceSpinner.getValue());

if(this.distanceEntitySelectBox.getSelection()[0].getModel()==j)bL*=1000;

if(bL<this.minimumMeter)bL=this.minimumMeter;
bJ.setDistanceMeter(bL);
bJ.setSwitchIntervalHeartBeat(this.useHeartbeat());
var bI=new Number(this.heartbeatSpinner.getValue());

if(this.heartbeatEntitySelectBox.getSelection()[0].getModel()==h)bI*=60;
else if(this.heartbeatEntitySelectBox.getSelection()[0].getModel()==k)bI*=3600;

if(bI<this.minimumSec)bI=this.minimumSec;
bJ.setSendIntervalHeartBeat(bI);
bJ.setSwitchHeadingChangeThreshold(this.useHeading());
bJ.setHeadingChangeThreshold(this.headingSpinner.getValue());
var bK=bJ.toCSV();
return bK;
},useDistance:function(){var bb=(this.distanceCheckBox!=null&&this.distanceCheckBox.getValue()&&this.distanceHBox.isEnabled());
return bb;
},useHeartbeat:function(){var bA=(this.heartbeatCheckBox!=null&&this.heartbeatCheckBox.getValue()&&this.heartbeatHBox.isEnabled());
return bA;
},useHeading:function(){var bh=(this.headingCheckBox!=null&&this.headingCheckBox.getValue()&&this.headingHBox.isEnabled());
return bh;
},useTrackingRate:function(){var bc=this.useDistance()||this.useHeartbeat()||this.useHeading();

if(bc==false){}return bc;
},getEventSinksTOFromGui:function(){var Q=[];

if(this.useTrackingRate()){var P=this.getTrackingRateStrGui();
var R=new track.rulesmodel.EventSinkTO(this.trackGui,null);
R.setExpression(P);
R.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.DEVICECOMMAND_TRACKINGRATE);
Q.push(R);
}return Q;
},onChangeSelectedRuleName:function(bt){if(bt==null){}else{var bu=bt.getEventSinkTOs(net.watchee.EventSinkTypeEnum.DEVICECOMMAND_TRACKINGRATE);

if(bu.length>=1){var bw=bu[0];
var bv=bw.getExpression();
this.setTrackingRateStr(bv);
}else{this.distanceCheckBox.setValue(false);
this.heartbeatCheckBox.setValue(false);
this.headingCheckBox.setValue(false);
}}},onChangeSelectedDevices:function(bB){if(bB.length==0){this.updateEnabledFeatures(null);
}
for(var i=0,l=bB.length;i<l;i++){var bD=bB[i];
var bC=bD.getDeviceInfo();
this.updateEnabledFeatures(bC);
break;
}},clear:function(){}},destruct:function(){}});
})();
(function(){var a="qx.util.format.IFormat";
qx.Interface.define(a,{members:{format:function(b){},parse:function(c){}}});
})();
(function(){var u="",t="Number",s="-",r="0",q="String",p="changeNumberFormat",o='(',n="g",m="Boolean",l="$",e="NaN",k='([0-9]{1,3}(?:',h='{0,1}[0-9]{3}){0,})',d='\\d+){0,1}',c="qx.util.format.NumberFormat",g="Infinity",f="^",i=".",b="-Infinity",j='([-+]){0,1}';
qx.Class.define(c,{extend:qx.core.Object,implement:qx.util.format.IFormat,construct:function(a){qx.core.Object.call(this);
this.__nC=a;
},statics:{getIntegerInstance:function(){var Q=qx.util.format.NumberFormat;

if(Q._integerInstance==null){Q._integerInstance=new Q();
Q._integerInstance.setMaximumFractionDigits(0);
}return Q._integerInstance;
},getInstance:function(){if(!this._instance){this._instance=new this;
}return this._instance;
}},properties:{minimumIntegerDigits:{check:t,init:0},maximumIntegerDigits:{check:t,nullable:true},minimumFractionDigits:{check:t,init:0},maximumFractionDigits:{check:t,nullable:true},groupingUsed:{check:m,init:true},prefix:{check:q,init:u,event:p},postfix:{check:q,init:u,event:p}},members:{__nC:null,format:function(E){switch(E){case Infinity:return g;
case -Infinity:return b;
case NaN:return e;
}var I=(E<0);

if(I){E=-E;
}
if(this.getMaximumFractionDigits()!=null){var P=Math.pow(10,this.getMaximumFractionDigits());
E=Math.round(E*P)/P;
}var O=String(Math.floor(E)).length;
var F=u+E;
var L=F.substring(0,O);

while(L.length<this.getMinimumIntegerDigits()){L=r+L;
}
if(this.getMaximumIntegerDigits()!=null&&L.length>this.getMaximumIntegerDigits()){L=L.substring(L.length-this.getMaximumIntegerDigits());
}var K=F.substring(O+1);

while(K.length<this.getMinimumFractionDigits()){K+=r;
}
if(this.getMaximumFractionDigits()!=null&&K.length>this.getMaximumFractionDigits()){K=K.substring(0,this.getMaximumFractionDigits());
}if(this.getGroupingUsed()){var H=L;
L=u;
var N;

for(N=H.length;N>3;N-=3){L=u+qx.locale.Number.getGroupSeparator(this.__nC)+H.substring(N-3,N)+L;
}L=H.substring(0,N)+L;
}var J=this.getPrefix()?this.getPrefix():u;
var G=this.getPostfix()?this.getPostfix():u;
var M=J+(I?s:u)+L;

if(K.length>0){M+=u+qx.locale.Number.getDecimalSeparator(this.__nC)+K;
}M+=G;
return M;
},parse:function(v){var A=qx.lang.String.escapeRegexpChars(qx.locale.Number.getGroupSeparator(this.__nC)+u);
var y=qx.lang.String.escapeRegexpChars(qx.locale.Number.getDecimalSeparator(this.__nC)+u);
var w=new RegExp(f+qx.lang.String.escapeRegexpChars(this.getPrefix())+j+k+A+h+o+y+d+qx.lang.String.escapeRegexpChars(this.getPostfix())+l);
var z=w.exec(v);

if(z==null){throw new Error("Number string '"+v+"' does not match the number format");
}var B=(z[1]==s);
var D=z[2];
var C=z[3];
D=D.replace(new RegExp(A,n),u);
var x=(B?s:u)+D;

if(C!=null&&C.length!=0){C=C.replace(new RegExp(y),u);
x+=i+C;
}return parseFloat(x);
}}});
})();
(function(){var h="",g="eventSinkType",f="info",e="expression",d="track.rulesmodel.EventSinkTO",c="creationTs",b="modifiedTs",a="EventSink";
qx.Class.define(d,{extend:qx.core.Object,construct:function(i,j){qx.core.Object.call(this);
this.trackGui=i;
if(org.xmlBlaster.util.isDefined(j)){this.propertyCollection=j;
}else{this.propertyCollection=new net.watchee.PropertyCollection(a);
}},members:{getExpression:function(){return this.propertyCollection.getStr(e,h);
},setExpression:function(l){this.propertyCollection.addKeyValue(e,l);
},getEventSinkTypeId:function(){return this.propertyCollection.getStr(g,h);
},getEventSinkTypeEnum:function(){var k=this.propertyCollection.getStr(g,h);
return net.watchee.EventSinkTypeEnum.lookup(k);
},setEventSinkTypeEnum:function(n){var o=null;

if(n===undefined||n==null){o=this.propertyCollection.remove(g);
}else{o=this.propertyCollection.addKeyValue(g,n.getId());
}return (o==null)?null:o.getValue();
},getInfo:function(){return this.propertyCollection.getStr(f,h);
},setInfo:function(m){this.propertyCollection.addKeyValue(f,m);
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(c,h);
},getModifiedTs:function(){return this.propertyCollection.getStr(b,h);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var u="VsleepDelaySec",t="",s="input info",r="status label",q="infoMsgBox",p="16/apps/preferences.png",o="Power Save Mode",n="track.deviceconf.SleepingModeTab",m="changeValue",l="Power down delay seconds:",O="Ssleep",N="button",M="execute",L="Sending sleeping (power save) mode configuration for %1",K="info box",J="Currently normal operation",I="middle",H="32/apps/preferences-display.png",G="tab title",F="16/actions/dialog-ok.png",B="Currently in sleep mode",C="Activate sleeping mode (power save)",z="red",A="Sleeping Mode",x="Sending sleeping (power save) mode configuration for %1.<br/><b>Note: The buddy is offline</b>",y="groupbox title",v="left",w="No permission to change tracking rate for public users",D="green",E="Submit";
qx.Class.define(n,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(V,W){qx.core.Object.call(this);
this.buddyConfigWindow=V;
this.buddyTO=W;
this.trackGui=this.buddyConfigWindow.trackGui;
this.ME="SleepingModeTab.js";
this.log=this.trackGui.getLogger();
this.delaySeconds=300;
this.trackerIsInSleepmode=false;
this.submitButton=null;
},members:{getBuddyTO:function(){return this.buddyTO;
},createTab:function(X){this.tabviewPage=new qx.ui.tabview.Page(this.trc(G,A),xbGetQxIcon(H));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
X.add(this.tabviewPage);
var Y=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(Y);

if(this.trackGui.watchee==null)return;
this.tabviewPage.add(this._createTrackingRateGroup(false));
},onRemoteProperiesChanged:function(P){var Q=P.contains(u)||P.isAll();

if(!Q)return;
this.delaySeconds=P.getStr(u,this.delaySeconds);
this.trackerIsInSleepmode=P.getBoolean(O,this.trackerIsInSleepmode);
this.tabviewPage.removeAll();
this.tabviewPage.add(this._createTrackingRateGroup(true));
this.setCurrentSleepmode(false);
},setCurrentSleepmode:function(bb){if(bb){this.statusLabel.setValue(t);
return;
}
if(this.trackerIsInSleepmode){this.statusLabel.setTextColor(z);
this.statusLabel.setValue(this.trc(r,B));
}else{this.statusLabel.setTextColor(D);
this.statusLabel.setValue(this.trc(r,J));
}},_createTrackingRateGroup:function(a){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(K,w));
}var h=new qx.ui.groupbox.GroupBox(this.trc(y,o),xbGetQxIcon(p));
var b=new qx.ui.layout.Grid();
h.setLayout(b);
var d=380;
var g=80;
b.setSpacingY(4);
b.setSpacingX(6);
b.setColumnAlign(0,v,I);
var k=0;
this.activateSleepingMode=new qx.ui.form.CheckBox(this.trc(s,C));
this.activateSleepingMode.setValue(this.trackerIsInSleepmode);
this.activateSleepingMode.setEnabled(a);
this.activateSleepingMode.addListener(m,function(e){var ba=e.getData();
this.delaySecSpinner.setEnabled(ba);
},this);
h.add(this.activateSleepingMode,{row:k,column:0});
k++;
var f=60;
var c=65535;
this.delaySecSpinner=new qx.ui.form.Spinner(f,this.delaySeconds,c);
var j=new qx.ui.basic.Label(this.trc(s,l));
h.add(j,{row:k,column:0});
h.add(this.delaySecSpinner,{row:k,column:1});
var i=this.activateSleepingMode.getValue();
this.delaySecSpinner.setEnabled(i);
k++;
this.submitButton=new qx.ui.form.Button(this.trc(N,E),xbGetQxIcon(F));
h.add(this.submitButton,{row:k,column:1});
this.statusLabel=new qx.ui.basic.Label(t);
h.add(this.statusLabel,{row:k,column:0});
k++;
this.submitButton.addListener(M,function(e){this.submitData();
},this);
return h;
},submitData:function(){if(this.trackGui.watchee==null)return;
var T=new net.watchee.PropertyCollection();
var R=this.activateSleepingMode.getValue()?net.watchee.RuleTypeEnum.ENTER_SLEEPMODE.toSetActionString():net.watchee.RuleTypeEnum.ENTER_SLEEPMODE.toRemoveActionString();
var S=new net.watchee.PropertyPair(net.watchee.PC_ACTION,R);
S.setDurable(true);
T.add(S);
if(this.activateSleepingMode.getValue()){var S=new net.watchee.PropertyPair(u,this.delaySecSpinner.getValue());
S.setDurable(true);
T.add(S);
}this.trackGui.sendDeviceSettings(this.buddyTO.getLoginName(),T);
var U=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);

if(this.buddyTO.isOnline()||!U){this.trackGui.infoMsgBox(this.trc(q,L,this.buddyTO.getLoginName()),3000);
}else this.trackGui.infoMsgBox(this.trc(q,x,this.buddyTO.getLoginName()),3000);
this.submitButton.setEnabled(false);
this.setCurrentSleepmode(true);
qx.event.Timer.once(function(e){this.submitButton.setEnabled(true);
},this,5000);

if(!this.buddyTO.getDeviceInfo().supportsSleepingMode()){this.activateSleepingMode.setEnabled(false);
this.activateSleepingMode.setValue(false);
this.delaySecSpinner.setEnabled(false);
this.submitButton.setEnabled(false);
}},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var s="right",r="middle",q="info text",p="groupbox title",o="infoMsgBox",n="errorMsgBox",m="100%",l="execute",k="button",j="icon/16/apps/preferences.png",bp="16/actions/dialog-ok.png",bo="You have no permission to change the device phone number",bn="label",bm="left",bl=",bounce=",bk="xbConnectionState",bj="16/apps/preferences.png",bi="<b>Value</b>",bh="track.deviceconf.ViewPropertiesTab",bg="</font></b> ",z=")",A="Get current configuration from device",x="View Configuration",y="-1",v="Settings of %1",w="<b>Key</b>",t="password",u="You have no permission to load device configuration",D=" (",E="OFF",M="+491xxxxxx",K="changeSelection",U="ON",P="tab title",bc="server.hwPhoneNumber",ba="Refresh",G="",bf="<b><font color='green'>Success</font></b> %1",be="pn",bd="trackingState",F="Timeout, no response after %1 sec",I="Please enter the phone number of your tracker in a valid format like '+491751111'",J="gpsConnectionState",L="deviceEnum",N="input info",Q="1",W="Device phone number for SMS sending",bb="32/actions/edit-find.png",B="******",C="POLLING",H="<b><font color='red'>",T="Change Tracker Phone Number",S="Changing phone number is available only for blackbox trackers",R="=",Y="<b><font color='#FF0000'>Unexpected</font></b> %1",X=" ",O="server:hwPhoneNumber",V="Load from device";
qx.Class.define(bh,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bt,bu){qx.core.Object.call(this);
this.buddyConfigWindow=bt;
this.buddyTO=bu;
this.trackGui=this.buddyConfigWindow.trackGui;
this.ME="ViewPropertiesTab.js";
this.log=this.trackGui.getLogger();
this.editTextField=null;
this.propertyCollection=null;
},members:{getBuddyTO:function(){return this.buddyTO;
},createTab:function(a){this.tabviewPage=new qx.ui.tabview.Page(this.trc(P,x),xbGetQxIcon(bb));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
a.add(this.tabviewPage);
var b=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(b);

if(this.trackGui.watchee==null)return;
this.height=200;
this.width=380;
this.tabviewPage.add(this._createRefreshButton(),{left:0,right:0});
this.tabviewPage.add(this._createPropertiesView());
this.tabviewPage.add(this._createChangeHwPhoneNumber());
a.addListener(K,function(e){if(this.trackGui.watchee==null)return;

if(a.getSelection()[0]==this.tabviewPage){this.buddyConfigWindow.loadRemoteProperties();
}},this);
},onRemoteProperiesChanged:function(bB){if(this.propertyCollection!=null){this.propertyCollection.merge(bB);
}else{this.propertyCollection=bB.deepClone();
}this.propertyCollection.sortByKeysInsensitive();
var bL=this.propertiesGrid;
bL.removeAll();
var bE=this.propertyCollection.propHash.getKeys();
var bM=0;
var bJ=new qx.ui.basic.Label(this.trc(bn,w));
bJ.setRich(true);
bL.add(bJ,{row:bM,column:0});
var bH=new qx.ui.basic.Label(this.trc(bn,bi));
bH.setRich(true);
bL.add(bH,{row:bM,column:1});

for(var i=0;i<bE.length;i++){var bD=bE[i];
var bG=this.propertyCollection.propHash.get(bD,null);

if(bG==null)continue;
var bD=bG.getKey();

if(bD==L){continue;
}bM=i+1;
var bI=new qx.ui.form.TextField(bD).set({readOnly:true});
bL.add(bI,{row:bM,column:0});
var bC=bG.getValueStr();

if(bD==be||bD==bc){if(this.editTextField!=null){this.editTextField.setValue(bC);
}}
if(bD.indexOf(t)>=0){bC=B;
}else if(bD==bk||bD==J||bD==bd){if(bC==y)bC=E;
else if(bC==Q)bC=U;
else bC=C;
}var bK=new qx.ui.form.TextField(bC).set({readOnly:true});
bL.add(bK,{row:bM,column:1});
}var bF=this.getBuddyTO().getDeviceMapping();

if(bF!=null){if(this.editTextField!=null){this.editTextField.setValue(bF.getHwPhoneNumber());
}}},_createPropertiesView:function(){this.propertiesGrid=new qx.ui.groupbox.GroupBox(this.trc(p,v,this.buddyTO.getLoginName()),xbGetQxIcon(bj));

with(this.propertiesGrid){setHeight(200);
}var bS=0;
var bT=1;
var bR=new qx.ui.container.Scroll();
bR.add(this.propertiesGrid);
var bQ=new qx.ui.layout.Grid();
this.propertiesGrid.setLayout(bQ);
bQ.setSpacingY(4);
bQ.setSpacingX(6);
bQ.setColumnFlex(bT,1);
bQ.setColumnWidth(bS,160);
bQ.setColumnAlign(0,bm,r);
bQ.setColumnAlign(1,bm,r);
return bR;
},_createRefreshButton:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(q,u));
}var bP=new qx.ui.groupbox.GroupBox(this.trc(p,V),xbGetQxIcon(j));
var bO=new qx.ui.layout.Grid(6,4);
bP.setLayout(bO);
bP.setWidth(m);
bO.setRowHeight(0,30);
bO.setRowAlign(0,s,r);
bO.setColumnAlign(0,s,r);
bP.add(new qx.ui.basic.Label(this.trc(N,A)),{row:0,column:0});
this.trackinIsOn=false;
var bN=new qx.ui.form.Button(this.trc(k,ba),xbGetQxIcon(bp));
bN.setAlignX(s);
bO.setColumnAlign(1,s,r);
bP.add(bN,{row:0,column:1,alignX:s});
bN.addListener(l,function(e){if(this.trackGui.watchee==null)return;
this.buddyConfigWindow._loadPropertyCollection(true);
},this);
return bP;
},_createChangeHwPhoneNumber:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(q,bo));
}
if(!this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){return new qx.ui.basic.Label(this.trc(q,bo));
}var bs=new qx.ui.groupbox.GroupBox(this.trc(p,W),xbGetQxIcon(j));
var br=new qx.ui.layout.Grid(6,2);
bs.setLayout(br);
bs.setWidth(m);
br.setColumnWidth(0,140);
br.setRowAlign(0,s,r);
br.setColumnAlign(0,s,r);
this.editTextField=new qx.ui.form.TextField(M);
this.editTextField.setMaxLength(26);
bs.add(this.editTextField,{row:0,column:0});
this.trackinIsOn=false;
var bq=new qx.ui.form.Button(this.trc(k,T),xbGetQxIcon(bp));
bq.setAlignX(s);
br.setColumnAlign(1,s,r);
bs.add(bq,{row:0,column:1,alignX:s});
bq.addListener(l,function(e){if(this.trackGui.watchee==null)return;
var bw=this.trackGui.watchee.validateSmsPhoneNumber(this.editTextField.getValue());

if(bw==null){this.trackGui.errorMsgBox(this.trc(n,I));
return;
}
if(!this.getBuddyTO().getDeviceInfo().isBlackbox()){this.trackGui.errorMsgBox(this.trc(n,S));
return;
}bq.setEnabled(false);
qx.event.Timer.once(function(e){bq.setEnabled(true);
},this,4000);
var bx=O;
var bv=bx+R+bw;
this.sendCommand(bv);
},this);
return bs;
},sendCommand:function(by){this.RESPONSE_TIMEOUT_SEC=10;
var bA=this.trackGui.getBounceNextVal();
by=by+bl+bA;
this.info("Sending command '"+by+"'");
var bz=null;
this.trackGui.getRequestResponseDispatcher().registerRequest(bA,this.RESPONSE_TIMEOUT_SEC,this.responseOrExceptionOrTimeoutReceived,this,bz);
this.trackGui.sendRawDeviceCommand(this.buddyTO.getLoginName(),bA,by);
},responseOrExceptionOrTimeoutReceived:function(c,d,f){this.info("TestDeviceWindow.js Received response: "+c);
var h=org.xmlBlaster.util.PropTO;
var g=null;

if(c==null){g=this.trc(o,F,f.timeoutSec);
}else if(c.isException()){g=G;
g+=H+c.getPropValue(h.KEY_ERRORCODE)+bg;
g+=X+c.getPropValue(h.KEY_RESULT);
g+=D+c.getPropValue(h.KEY_DATA)+z;
}else{if(c.getPropValue(h.KEY_TASK)==net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST){g=this.trc(o,Y,c.getPropValue(h.KEY_RESULT));
}else{g=this.trc(o,bf,c.getPropValue(h.KEY_RESULT));
}}this.trackGui.infoMsgBox(g);
},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var b="pane",a="qx.ui.container.Scroll";
qx.Class.define(a,{extend:qx.ui.core.scroll.AbstractScrollArea,include:[qx.ui.core.MContentPadding],construct:function(content){qx.ui.core.scroll.AbstractScrollArea.call(this);

if(content){this.add(content);
}},members:{add:function(d){this.getChildControl(b).add(d);
},remove:function(c){this.getChildControl(b).remove(c);
},getChildren:function(){return this.getChildControl(b).getChildren();
},_getContentPaddingTarget:function(){return this.getChildControl(b);
}}});
})();
(function(){var o="",n="infoMsgBox",m="text",l="16/apps/preferences.png",k="SMS is send to %1, please check if application comes online in the next minutes.<br /><br />If not, check the battery status and GSM reception of your mobile phone",j="16/actions/dialog-ok.png",i="track.deviceconf.SmsTab",h="button",g="execute",f="info box",H="Send SMS to device %1",G="Wake up command",F="doAction: type=Sgprs,_action=true;type=Sgps,_action=true;type=Str,_action=true",E="32/sendSms.png",D="50412",C="middle",B="tab title",A="errorMsgBox",z="sendSms",y="SMS",v="left",w="Sending SMS is for customers only",t="port",u="No permission to send SMS for public users",r="label",s="to",p="Sending SMS to %1 failed!<br /><br />Please configure a phone number for this device.",q="groupbox title",x="Send SMS";
qx.Class.define(i,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(c,d){qx.core.Object.call(this);
this.deviceWindow=c;
this.buddyTO=d;
this.trackGui=this.deviceWindow.trackGui;
this.ME="SmsTab.js";
this.log=this.trackGui.getLogger();
this.smsTextLabel=null;
this.smsTextField=null;
this.submitButton=null;
},members:{getBuddyTO:function(){return this.buddyTO;
},createTab:function(I){this.tabviewPage=new qx.ui.tabview.Page(this.trc(B,y),xbGetIcon(E));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
I.add(this.tabviewPage);
var J=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(J);

if(this.trackGui.watchee==null)return;
this.tabviewPage.add(this._createSmsSendGroup(false));
},_createSmsSendGroup:function(K){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(f,u));
}var O=new qx.ui.groupbox.GroupBox(this.trc(q,H,this.getBuddyTO().getLoginName()),xbGetQxIcon(l));
var L=new qx.ui.layout.Grid();
O.setLayout(L);
var M=380;
var N=80;
L.setSpacingY(4);
L.setSpacingX(6);
L.setColumnAlign(0,v,C);
var Q=0;
this.smsTextLabel=new qx.ui.basic.Label(this.trc(r,G));
O.add(this.smsTextLabel,{row:Q,column:0});
var P=F;
this.smsTextField=new qx.ui.form.TextField(P);
this.smsTextField.setEnabled(false);
this.smsTextField.setMaxLength(160);
this.smsTextField.setWidth(280);
O.add(this.smsTextField,{row:Q,column:1});
Q++;
this.submitButton=new qx.ui.form.Button(this.trc(h,x),xbGetQxIcon(j));
O.add(this.submitButton,{row:Q,column:1});
this.statusLabel=new qx.ui.basic.Label(o);
O.add(this.statusLabel,{row:Q,column:0});
Q++;
this.submitButton.addListener(g,function(e){var a=this.buddyTO.getDevice();
var b=a.getHwPhoneNumber();

if(b==o){this.trackGui.errorMsgBox(this.trc(A,p,a.getDeviceId()));
return;
}this.sendSms(b);
this.submitButton.setEnabled(false);
qx.event.Timer.once(function(e){this.submitButton.setEnabled(true);
},this,60000);
},this);
return O;
},sendSms:function(R){if(this.trackGui.watchee==null)return;

if(!this.trackGui.getSessionProfile().hasPermissionForSmsSending()){this.trackGui.infoMsgBox(this.trc(n,w));
return false;
}var S=this.trackGui.watchee.getTopicSmssend(R);
var U=o;
var T=D;
var V=new net.watchee.PropertyCollection();
V.add(new net.watchee.PropertyPair(s,R));
V.add(new net.watchee.PropertyPair(t,T));
V.add(new net.watchee.PropertyPair(m,this.smsTextField.getValue()));
var content=V.toXml();
this.trackGui.watchee.publishContent(S,content,U,this.trackGui.returnQosOrException,this.trackGui,z);
this.trackGui.infoMsgBox(this.trc(n,k,R));
},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var o="infoMsgBox",n="button",m="",k="This account does not support changing of rules",j="addGeofences",h="<p>Do you still want to save and activate the rule?</p>",g="<br /> (",f="addRules",d="</font></b> ",c=")",U="<p><font color='red'>Caution:</font> Disable sleep mode (power save mode) if configured, otherwise this rule has no effect.</p>",T="window title",S="<p><font color='red'>Caution:</font> Please provide an email address so we can remember you about the deactivation after an alarm has fired.</p>",R="Yes, save it",Q="Timeout, no response after %1 sec",P="<br /> ",O="infoMsgBoxException",N="<b><font color='#FF0000'>Unexpected</font></b> %1",M="askMsgBox title",L="No, I want to revise it",v="GroupBox title",w="<pcc><pc><pr k='__class'>Rule</pr><pr k='info'>Fired</pr><pr k='loginName'>joe@mycomp.info</pr><pr k='ruleName'>Rule-Morning</pr><pr k='ruleType'>GEOFENCE_LEAVE</pr></pc><pc><pr k='__class'>Geofence</pr><pr k='coordinates'>9.25480938904866,47.73980862233422,0 9.25515124109398,47.73996595928546,0 9.255465678626445,47.73972628995423,0</pr><pr k='info'>No comment</pr><pr k='loginName'>joe@mycomp.info</pr><pr k='name'>Geofence-House</pr></pc><pc><pr k='__class'>Filter</pr><pr k='expression'>* * * * 12 * ?</pr><pr k='filterType'>CRON</pr><pr k='info'>A crontab filter</pr></pc><pc><pr k='__class'>EventSink</pr><pr k='eventSinkType'>EMAIL</pr><pr k='expression'>mr@marcel.info</pr></pc><pc><pr k='__class'>EventSink</pr><pr k='eventSinkType'>SMS</pr><pr k='expression'>+49174635</pr></pc><pc><pr k='__class'>Rule</pr><pr k='info'>Fired</pr><pr k='loginName'>joe@mycomp.info</pr><pr k='ruleName'>Rule-Evening</pr><pr k='ruleType'>GEOFENCE_LEAVE</pr></pc><pc><pr k='__class'>Rule</pr><pr k='info'>Fired one time</pr><pr k='loginName'>joe@mycomp.info</pr><pr k='ruleName'>Rule-Weekend</pr><pr k='ruleType'>SOS_BUTTON</pr></pc></pcc>",t="track.rules.RulesWindow",u="Rule Definitions",r="<p><font color='green'>Note:</font> For tracker of types like 'TK2000' and 'TK5000' no such SMS costs arise if they are online.</p>",s="Please select the day and time for this rule",p="Save rule %1",q="Tracking Rate On Alarm",x="<b><font color='green'>Rule is deleted</font></b>",y="rulesEditable",D="<p><font color='red'>Caution:</font> For this tracker type your SIM card on the tracker is charged. It is caused when the tracker sends the configuration SMS responses. The SMS send by the portal are free of charge as specified in your contract.</p>",C="<b><font color='red'>",F="16/rules/rules.png",E="user.rule.notExists",H="<b><font color='green'>Success.</font></b>",G="<b><font color='green'>The rule '%1' is saved.</font></b><p>The tracker is configured accordingly, please check the xSMS window for tracker responses.</p>",z="Please choose a device first",K="close",J="Please enter a unique name for the new rule",I="infoMsgBoxSuccess";
var B=40;
var A=20;
qx.Class.define(t,{extend:qx.ui.window.Window,construct:function(a){qx.ui.window.Window.call(this);
this.trackGui=a;
this.setContentPadding(3);
this.defaultGroupBoxContentPadding=8;
this.ruleNameGroup=new track.rules.RuleNameGroup(this.trackGui,this);
this.ruleTypeGroup=new track.rules.RuleTypeGroup(this.trackGui,this);
this.chooseDevicesGroup=new track.rules.ChooseDevicesGroup(this.trackGui,this);
this.timeFilterGroup=new track.rules.TimeFilterGroup(this.trackGui,this);
this.eventSinkGroup=new track.rules.EventSinkGroup(this.trackGui,this);
this.trackRateGroup=new track.rules.TrackRateGroup(this.trackGui,this);
this.guiGroups=new Array(this.ruleNameGroup,this.ruleTypeGroup,this.chooseDevicesGroup,this.timeFilterGroup,this.eventSinkGroup,this.trackRateGroup);
this.defaultBoxSpacing=5;
this.setLayout(new qx.ui.layout.HBox(this.defaultBoxSpacing));
this.leftVBox=new qx.ui.container.Composite(new qx.ui.layout.VBox(this.defaultBoxSpacing));
this.rightVBox=new qx.ui.container.Composite(new qx.ui.layout.VBox(this.defaultBoxSpacing));
this.add(this.leftVBox);
this.add(this.rightVBox);
this.setCaption(this.trc(T,u));
this.setIcon(xbGetIcon(F));
this.rulesTO=null;
this.preferredDevice=null;
this.preferredRuleNameToDisplay=null;
this.preferredRuleTypeEnum=null;
this.addListener(K,function(e){this.clear();
},this);
this.addRulesEventFunc=this.trackGui.watchee.getEventManager().addListener(f,function(bS){var bT=bS.getData();
this.info("RulesWindow: Received addRules event");
this.rulesTO=new track.rulesmodel.RulesTO(this.trackGui,bT);
this.ruleNameGroup.addRules(this.rulesTO);
if(this.preferredRuleNameToDisplay!=null){this.setSpecificRule(this.preferredDevice,this.preferredRuleTypeEnum,this.preferredRuleNameToDisplay,null);
this.preferredRuleNameToDisplay=null;
this.preferredRuleTypeEnum=null;
}},this);
},members:{getRulesWindowTop:function(){if(B>200)B=100;
B+=25;
return B;
},getRulesWindowLeft:function(){if(A>350)A=250;
A+=25;
return A;
},areRulesEditable:function(){return xbProperties.getBoolean(y,true);
},test:function(){var bQ=w;
var bR=net.watchee.PropertyCollections.parseXml(bQ);
return this.__nD(new track.rulesmodel.RulesTO(this.trackGui,bR));
},lookupRuleTOByRuleName:function(bt){var bt=bt||null;

if(this.rulesTO==null)return null;
return this.rulesTO.lookupRuleTOByRuleName(bt);
},lookupRuleTOByRuleTypeEnum:function(V){var V=V||null;

if(this.rulesTO==null)return null;
return this.rulesTO.lookupRuleTOByRuleTypeEnum(V);
},setSpecificDevice:function(bb,bc,bd,be){var bb=bb||null;
var bc=bc||null;
var bd=bd||null;
this.preferredDevice=bb;
this.preferredRuleTypeEnum=bc;
this.preferredRuleNameToDisplay=bd;
var be=be||null;
this.ruleNameGroup.setSpecificDevice(bb);
var bf=null;
this.requestRulesFromServer(bf);
return true;
},setSpecificRule:function(bw,bx,by,bz){var bw=bw||null;
var bx=bx||null;
var by=by||null;
var bz=bz||null;
var bC=null;
var bA=(bw==null)?null:bw.getLoginName();

if(bx!=null||by!=null||bz!=null){var bB=this.lookupRuleTOByRuleName(by);

if(bB!=null&&bB.hasTargetDevice(bA)){this.ruleNameGroup.changeRuleNameSelection(bB.getRuleName());
return true;
}var bB=this.lookupRuleTOByRuleTypeEnum(bx);

if(bB!=null&&bB.hasTargetDevice(bA)){this.ruleNameGroup.changeRuleNameSelection(bB.getRuleName());
return true;
}this.setDefaultRuleNameActive();
return false;
}this.setDefaultRuleNameActive();
return true;
},setDefaultRuleNameActive:function(){this.onChangeSelectedRuleName(null);
},getSpecificDevice:function(){return this.ruleNameGroup.getSpecificDevice();
},createRulesWindow:function(bV){this.ruleNameGroup.setSpecificDevice(bV);
return this.__nD(null);
},__nD:function(){this.leftVBox.add(this.ruleNameGroup.createGroup(this.defaultGroupBoxContentPadding),{left:0,top:0});
this.leftVBox.add(this.ruleTypeGroup.createGroup(this.defaultGroupBoxContentPadding),{left:0,top:0});
this.leftVBox.add(this.eventSinkGroup.createGroup(this.defaultGroupBoxContentPadding),{left:0,top:0});
var b=new qx.ui.container.Composite(new qx.ui.layout.HBox());
b.add(this.chooseDevicesGroup.createGroup(this.defaultGroupBoxContentPadding),{left:0,top:0});
b.add(this.timeFilterGroup.createGroup(this.defaultGroupBoxContentPadding),{right:0,top:0});
this.rightVBox.add(b,{left:0,top:0});
this.rightVBox.add(this.trackRateGroup.createGroup(this.defaultGroupBoxContentPadding,this.trc(v,q)),{left:0,top:0});
this.trackGui.getMyRoot().add(this,{left:this.getRulesWindowLeft(),top:this.getRulesWindowTop()});
this.addGeofencesEventFunc=this.trackGui.watchee.getEventManager().addListener(j,function(br){var bs=br.getData();
this.info("RulesWindow: Received addGeofences event");
this.ruleTypeGroup.addGeofences(new track.rulesmodel.GeofencesTO(this.trackGui,bs));
},this);
this.trackGui.getGeofences(null);
this.onChangeSelectedRuleTypeEnum(this.ruleTypeGroup.getSelectedRuleTypeEnum());
this.open();
},requestRulesFromServer:function(Y,ba){var Y=Y||null;
var ba=ba||null;
this.trackGui.getRules(Y);
},onChangeSelectedRuleName:function(W){for(var i=0,l=this.guiGroups.length;i<l;i++){var X=this.guiGroups[i];

if(X.onChangeSelectedRuleName!=undefined){X.onChangeSelectedRuleName(W);
}}},onChangeSelectedRuleTypeEnum:function(bu){for(var i=0,l=this.guiGroups.length;i<l;i++){var bv=this.guiGroups[i];

if(bv.onChangeSelectedRuleTypeEnum!=undefined){bv.onChangeSelectedRuleTypeEnum(bu);
}}},onChangeSelectedDevices:function(bE){for(var i=0,l=this.guiGroups.length;i<l;i++){var bF=this.guiGroups[i];

if(bF.onChangeSelectedDevices!=undefined){bF.onChangeSelectedDevices(bE);
}}},deleteButtonClicked:function(){if(this.trackGui.watchee==null)return;

if(!this.areRulesEditable()){this.trackGui.infoMsgBox(this.trc(o,k));
}var bD=this.ruleNameGroup.getRuleTOFromGui();

if(bD==null){return;
}},saveButtonClicked:function(bG){var bG=(bG===undefined)?false:bG;

if(this.trackGui.watchee==null)return;

if(!this.areRulesEditable()){this.trackGui.infoMsgBox(this.trc(o,k));
}var bM=this.ruleNameGroup.getRuleTOFromGui();

if(bM==null){return;
}
if(!org.xmlBlaster.util.isFilled(bM.getRuleName())){this.trackGui.infoMsgBox(this.trc(o,J));
return;
}this.ruleTypeGroup.fillRuleTOFromGui(bM);
var bN=this.eventSinkGroup.getEventSinksTOFromGui();
bM.setEventSinkTOs(bN);
var bJ=this.trackRateGroup.getEventSinksTOFromGui();
bM.addEventSinkTOs(bJ);
var bP=this.chooseDevicesGroup.getRuleAccountRelationsTOFromGui();

if(bP.length==0){this.trackGui.infoMsgBox(this.trc(o,z));
return;
}bM.setRuleAccountRelationTOs(bP);
var bL=this.timeFilterGroup.getFiltersTOFromGui();

if(bL.length==0&&!bM.isFallbackRule()){this.trackGui.infoMsgBox(this.trc(o,s));
return;
}bM.setFilterTOs(bL);

if(!bG){var bO=null;

if(this.chooseDevicesGroup.supportsSmsConfigurationOnly()){bO=this.trc(o,D);

if(bM.isRuleTypeEnum(net.watchee.RuleTypeEnum.GEOFENCE_LEAVE)||bM.isRuleTypeEnum(net.watchee.RuleTypeEnum.OVERSPEED)||bM.isRuleTypeEnum(net.watchee.RuleTypeEnum.MOVED)){var bK=this.eventSinkGroup.getValidatedEmailAddresses();

if(bK.length==0){bO+=this.trc(o,S);
}}bO+=this.trc(o,r);
}
if(!bG&&bM.isRuleTypeEnum(net.watchee.RuleTypeEnum.GPRS_LOST)){bO=this.trc(o,U);
}
if(bO!=null){bO+=this.trc(o,h);
var bH=null;
this.trackGui.askMsgBox(this.trc(M,p,bM.getRuleName()),bO,function(bW,bX){if(bW){this.saveButtonClicked(true);
}},this,bH,this.trc(n,R),this.trc(n,L));
return;
}}var bI=true;

if(bI){this.trackGui.sendAddRule(bM,this.responseOrExceptionOrTimeoutReceived,this,bM);
}else{this.trackGui.sendAddRule(bM,this.responseOrExceptionOrTimeoutReceived,this,bM);
}},deleteButtonClicked:function(){if(this.trackGui.watchee==null)return;
var bU=this.ruleNameGroup.getCurrentRuleTO();

if(bU==null){return;
}this.trackGui.sendRemoveRule(bU,this.responseOrExceptionOrTimeoutReceived,this,bU);
},responseOrExceptionOrTimeoutReceived:function(bg,bh,bi){this.info("RulesWindow.js Received response: "+bg);
var bo=bh;
var bn=org.xmlBlaster.util.PropTO;
var bq=null;
var bm=m;

if(bg==null){bq=this.trc(o,Q,bi.timeoutSec);
}else if(bg.isException()){var bl=bg.getPropValue(bn.KEY_ERRORCODE);
var bk=bg.getPropValue(bn.KEY_RESULT);
var bp=bg.getPropValue(bn.KEY_DATA);

if(bl==E){bq=this.trc(O,H);
}else{bq=m;
bq+=C+bl+d;
bq+=P+bk;
bq+=g+bp+c;
}}else{var bj=bg.getPropValue(bn.KEY_TASK);

if(bj==bn.VALUE_TASK_NAMED_ADDRULE){bq=this.trc(I,G,bo.getRuleName());
this.preferredRuleNameToDisplay=bo.getRuleName();
this.preferredRuleTypeEnum=bo.getRuleTypeEnum();
this.requestRulesFromServer(null,null);
}else if(bj==bn.VALUE_TASK_NAMED_REMOVERULE){bq=this.trc(o,x);
this.requestRulesFromServer(null,null);
}else{bq=this.trc(o,N,bg.getPropValue(bn.KEY_RESULT));
}}this.trackGui.infoMsgBox(bq+bm);
},clear:function(){this.ruleNameGroup.clear();
this.ruleTypeGroup.clear();
this.chooseDevicesGroup.clear();
this.timeFilterGroup.clear();
this.eventSinkGroup.clear();
this.trackRateGroup.clear();
},destroyPopup:function(){if(this.addGeofencesEventFunc!=null){this.trackGui.watchee.getEventManager().removeListener(j,this.addGeofencesEventFunc);
this.addGeofencesEventFunc=null;
}this.trackGui.getMyRoot().remove(this);
this.close();
this.trackGui=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var G="ruleTO",F="middle",E="",D="execute",C="right",B="groupbox title",A="left",z="<New Rule>",y=")",x="button",X="All Alarm Rules",W="NEW_INSTANCE",V="Alarm Rules Filtered For %1",U="changeSelection",T="Delete",S="Button",R="16/rules/rules.png",Q=" (",P="RuleName",O="Choose rule:",M="22/actions/document-save.png",N="input info",K="track.rules.RuleNameGroup",L="Rule name:",I="Save",J="label",H="22/places/user-trash.png";
qx.Class.define(K,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bs,bt){qx.core.Object.call(this);
this.trackGui=bs;
this.masterWindow=bt||null;
this.groupBoxTitle=null;
this.programmaticSetSelected=false;
this.ruleNameSelectBox=null;
this.ruleNameTextField=null;
this.groupBoxTitle=null;
},members:{setSpecificDevice:function(a){this.setTitle();
},getSpecificDevice:function(){return this.filterDevice;
},setTitle:function(){var bf=this.trc(B,X);

if(this.filterDevice!=null){bf=this.trc(B,V,this.filterDevice.getNiceName());
}
if(this.groupBoxTitle!=null)this.groupBoxTitle.setLegend(bf);
return bf;
},addRules:function(g){var g=g||null;
this.ruleNameSelectBox.removeAll();
this.listItemNew=this.__nE(null);

if(g==null){this.ruleNameSelectBox.setSelection([0]);
return;
}var h=g.getRules();
for(var i=0,l=h.length;i<l;i++){var j=h[i];
this.__nE(j);
}},__nE:function(b){var f=null;
var d=null;

if(b==null){f=this.trc(P,z);
d=W;
}else{f=b.getRuleName();
f+=Q+b.getRuleTypeId()+y;
d=f;

if(d==net.watchee.RuleNameEnums.FALLBACK)f=net.watchee.RuleTypeEnum.FALLBACK.description;
}var c=this.__nH(f);

if(c!=null)return c;
c=new qx.ui.form.ListItem(f,xbGetIcon(R),d);
c.setUserData(G,b);
this.__nF(this.ruleNameSelectBox,c);
return c;
},__nF:function(q,r){this.programmaticSetSelected=true;
q.add(r);
this.programmaticSetSelected=false;
},__nG:function(s){var t=this.__nH(s);

if(t!=null){this.ruleNameSelectBox.remove(t);
return t;
}return null;
},__nH:function(k){if(k==null)return null;
var m=this.ruleNameSelectBox.getChildren();

for(var i=0,l=m.length;i<l;i++){var n=m[i];

if(k==n.getModel())return n;
}return null;
},createGroup:function(bg){var bm=new qx.ui.groupbox.GroupBox(this.setTitle());
this.groupBox=bm;
this.groupBoxTitle=bm;
var bh=new qx.ui.layout.Grid(6,4);
bm.setLayout(bh);
bm.setContentPadding(bg||12);
var bo=0;
var bk=0;
var bl=1;
var bi=2;
var bj=3;
bh.setColumnAlign(bk,A,F);
bh.setColumnAlign(bl,C,F);
bh.setColumnWidth(bl,200);
bh.setColumnAlign(bi,A,F);
bm.add(new qx.ui.basic.Label(this.trc(J,O)),{row:bo,column:bk});
this.ruleNameSelectBox=new qx.ui.form.SelectBox();
bm.add(this.ruleNameSelectBox,{row:bo,column:bl});
this.ruleNameSelectBox.addListener(U,function(e){if(this.programmaticSetSelected)return;
var u=(e.getData().length==0)?null:e.getData()[0];
this.__nJ(u);
},this);
bo++;
this.ruleNameTextField=new qx.ui.form.TextField(E);
var bn=new qx.ui.basic.Label(this.trc(N,L));
bm.add(bn,{row:bo,column:bk});
bm.add(this.ruleNameTextField,{row:bo,column:bl});
this.ruleNameTextField.setEnabled(true);
bo=0;
this.deleteButton=new qx.ui.form.Button(this.trc(x,T),xbGetQxIcon(H));
this.deleteButton.setAlignX(C);
bm.add(this.deleteButton,{row:bo,column:bi});
this.deleteButton.setEnabled(false);
this.deleteButton.addListener(D,function(e){this.masterWindow.deleteButtonClicked();
},this);
bo++;
this.saveButton=new qx.ui.form.Button(this.trc(S,I),xbGetQxIcon(M));
this.saveButton.setEnabled(true);
bm.add(this.saveButton,{row:bo,column:bi});
this.saveButton.addListener(D,function(e){this.masterWindow.saveButtonClicked();
},this);
return bm;
},changeRuleNameSelection:function(bp){var bq=this.__nI(bp);

if(bq!=null){this.ruleNameSelectBox.setSelection([bq]);
return true;
}return false;
},__nI:function(ba){var ba=ba||null;

if(ba==null)return null;
var bc=this.ruleNameSelectBox.getChildren();

for(var i=0,l=bc.length;i<l;i++){var bd=bc[i];
var bb=bd.getUserData(G);

if(bb!=null&&bb.getRuleName()==ba)return bd;
}return null;
},__nJ:function(v){if(v==null)return ;
var w=v.getUserData(G);
this.masterWindow.onChangeSelectedRuleName(w);
},getCurrentRuleName:function(){var Y=this.getCurrentRuleTO();

if(Y==null)return null;
return Y.getRuleName();
},getCurrentRuleTO:function(){var o=this.ruleNameSelectBox.getSelection()[0];

if(o!=null)return o.getUserData(G);
return null;
},getRuleTOFromGui:function(){var br=this.getCurrentRuleTO();

if(br==null)br=new track.rulesmodel.RuleTO(this.trackGui,null);
br.setRuleName(this.ruleNameTextField.getValue());
br.setRuleTypeEnum(this.masterWindow.ruleTypeGroup.getSelectedRuleTypeEnum());
br.setGeofenceTO(this.masterWindow.ruleTypeGroup.getSelectedGeofenceTO());
br.setInfo(E);
return br;
},onChangeSelectedRuleName:function(p){this.deleteButton.setEnabled(true);

if(p==null){this.ruleNameTextField.setEnabled(true);
this.deleteButton.setEnabled(false);
this.ruleNameTextField.setValue(E);
}else if(p.isRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK)){this.ruleNameTextField.setEnabled(false);
}else{this.ruleNameTextField.setEnabled(true);
}
if(p!=null)this.ruleNameTextField.setValue(p.getRuleName());
},onChangeSelectedRuleTypeEnum:function(be){if(this.groupBox==null)return;

if(net.watchee.RuleTypeEnum.FALLBACK.isSame(be)){this.ruleNameTextField.setEnabled(false);
}else{this.ruleNameTextField.setEnabled(true);
}},clear:function(){}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var H="",G="ruleType",F="info",E="ruleName",D="ruleTypeData",C="adminLoginName",B="Rule",A="creationTs",z="track.rulesmodel.RuleTO",y="modifiedTs",x="id";
qx.Class.define(z,{extend:qx.core.Object,construct:function(v,w){qx.core.Object.call(this);
this.trackGui=v;
this.geofenceTO=null;
this.filters=[];
this.eventSinks=[];
this.ruleAccountRelations=[];

if(org.xmlBlaster.util.isDefined(w)){this.propertyCollection=w;
}else{this.propertyCollection=new net.watchee.PropertyCollection(B);
}},members:{getRuleId:function(){return this.propertyCollection.getStr(x,H);
},getRuleName:function(){if(this.isRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK)){return this.getRuleTypeEnum().getAutoRuleName();
}return this.propertyCollection.getStr(E,H);
},setRuleName:function(V){this.propertyCollection.addKeyValue(E,V);
},getRuleTypeId:function(){var S=this.propertyCollection.getStr(G,H);
return S;
},getRuleTypeEnum:function(d){var e=this.getRuleTypeId();
return net.watchee.RuleTypeEnum.lookup(e,d);
},isRuleTypeEnum:function(U){return this.getRuleTypeEnum().isSame(U);
},setRuleTypeEnum:function(X){if(X.constructor==net.watchee.RuleTypeEnum)this.propertyCollection.addKeyValue(G,X.getId());
else this.propertyCollection.addKeyValue(G,X);
},isFallbackRule:function(){if(net.watchee.RuleTypeEnum.FALLBACK.getAutoRuleName()==this.getRuleName()){return true;
}
if(this.isRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK)){return true;
}return false;
},getRuleTypeData:function(){return this.propertyCollection.getStr(D,H);
},getRuleTypeDataNumber:function(Y){return org.xmlBlaster.util.toNumber(this.getRuleTypeData(),Y);
},setRuleTypeData:function(s){this.propertyCollection.addKeyValue(D,s);
},getInfo:function(){return this.propertyCollection.getStr(F,H);
},setInfo:function(u){if(u==null||u.length<1)this.propertyCollection.remove(F);
else this.propertyCollection.addKeyValue(F,u);
},setGeofenceTO:function(O){this.geofenceTO=O;
},getGeofenceTO:function(){return this.geofenceTO;
},setFilterTOs:function(N){this.filters=N;
},addFilterTO:function(t){this.filters.push(t);
},addFilterPC:function(g){var h=new track.rulesmodel.FilterTO(this.trackGui,g);
this.filters.push(h);
},getFilterTOs:function(){return this.filters;
},getFilterTOs:function(p){var p=p||null;
var r=[];

for(var i=0,l=this.filters.length;i<l;i++){var q=this.filters[i];

if(q.getFilterTypeEnum().isSame(p))r.push(q);
}return r;
},addEventSinkTO:function(f){this.eventSinks.push(f);
},addEventSinkTOs:function(I){for(var i=0,l=I.length;i<l;i++){this.eventSinks.push(I[i]);
}},setEventSinkTOs:function(R){this.eventSinks=R;
},addEventSinkPC:function(b){var c=new track.rulesmodel.EventSinkTO(this.trackGui,b);
this.eventSinks.push(c);
},getEventSinkTOs:function(){return this.eventSinks;
},getEventSinkTOs:function(k){var k=k||null;
var n=[];

for(var i=0,l=this.eventSinks.length;i<l;i++){var m=this.eventSinks[i];

if(m.getEventSinkTypeEnum().isSame(k))n.push(m);
}return n;
},getPropertyCollectionOfRule:function(){return this.propertyCollection;
},getPropertyCollectionArr:function(){var M=[];
M.push(this.propertyCollection);

if(this.geofenceTO!=null){M.push(this.geofenceTO.getPropertyCollection());
}
for(var i=0,l=this.filters.length;i<l;i++){var L=this.filters[i];
M.push(L.getPropertyCollection());
}
for(var i=0,l=this.eventSinks.length;i<l;i++){var J=this.eventSinks[i];
M.push(J.getPropertyCollection());
}
for(var i=0,l=this.ruleAccountRelations.length;i<l;i++){var K=this.ruleAccountRelations[i];
M.push(K.getPropertyCollection());
}return M;
},getPropertyCollections:function(){var a=new net.watchee.PropertyCollections();
a.pcList=this.getPropertyCollectionArr();
return a;
},getCreationTs:function(){return this.propertyCollection.getStr(A,H);
},getModifiedTs:function(){return this.propertyCollection.getStr(y,H);
},setRuleAccountRelationTOs:function(j){this.ruleAccountRelations=j;
},addRuleAccountRelationTO:function(T){this.ruleAccountRelations.push(T);
},addRuleAccountRelationPC:function(P){var Q=new track.rulesmodel.RuleAccountRelationTO(this.trackGui,P);
this.ruleAccountRelations.push(Q);
},getRuleAccountRelationTOs:function(){return this.ruleAccountRelations;
},hasTargetDevice:function(o){if(o==null)return false;

for(var i=0,l=this.ruleAccountRelations.length;i<l;i++){if(this.ruleAccountRelations[i].getLoginName()==o)return true;
}return false;
},getRuleAccountLoginNames:function(){var W=[];

for(var i=0,l=this.ruleAccountRelations.length;i<l;i++){W.push(this.ruleAccountRelations[i].getLoginName());
}return W;
},getAdminLoginName:function(){return this.propertyCollection.getStr(C,H);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var j="",i="filterType",h="info",g="expression",f="modifiedTs",e="creationTs",d="Filter",c="track.rulesmodel.FilterTO";
qx.Class.define(c,{extend:qx.core.Object,construct:function(o,p){qx.core.Object.call(this);
this.trackGui=o;
if(org.xmlBlaster.util.isDefined(p)){this.propertyCollection=p;
}else{this.propertyCollection=new net.watchee.PropertyCollection(d);
}this.infoMapCache=null;
},members:{getExpression:function(){return this.propertyCollection.getStr(g,j);
},getCronExpression:function(){var b=new net.watchee.CronExpression(this.getExpression(),this.getInfoMap());
return b;
},setExpression:function(q){this.propertyCollection.addKeyValue(g,q);
},getFilterTypeId:function(){return this.propertyCollection.getStr(i,j);
},getFilterTypeEnum:function(){var l=this.propertyCollection.getStr(i,j);
return net.watchee.FilterTypeEnum.lookup(l);
},setFilterTypeEnum:function(m){var n=null;

if(m===undefined||m==null){n=this.propertyCollection.remove(i);
}else{n=this.propertyCollection.addKeyValue(i,m.getId());
}return (n==null)?null:n.getValue();
},getInfoMap:function(){if(this.infoMapCache==null){this.infoMapCache=org.xmlBlaster.util.Hashtable.parseCSV(this.getInfo());
}return this.infoMapCache;
},setInfoMap:function(a){var a=a||null;
this.infoMapCache=null;

if(a==null){this.setInfo(j);
}else{this.setInfo(a.toCSV());
}},getInfo:function(){return this.propertyCollection.getStr(h,j);
},setInfo:function(k){this.propertyCollection.addKeyValue(h,k);
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(e,j);
},getModifiedTs:function(){return this.propertyCollection.getStr(f,j);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var j="",i="loginName",h="accountId",g="RuleAccountRelation",f="creationTs",e="modifiedTs",d="ruleId",c="track.rulesmodel.RuleAccountRelationTO";
qx.Class.define(c,{extend:qx.core.Object,construct:function(a,b){qx.core.Object.call(this);
this.trackGui=a;
if(org.xmlBlaster.util.isDefined(b)){this.propertyCollection=b;
}else{this.propertyCollection=new net.watchee.PropertyCollection(g);
}},members:{getLoginName:function(){return this.propertyCollection.getStr(i,j);
},setLoginName:function(k){this.propertyCollection.addKeyValue(i,k);
},getAccountId:function(){return this.propertyCollection.getStr(h,j);
},getRuleId:function(){return this.propertyCollection.getStr(d,j);
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(f,j);
},getModifiedTs:function(){return this.propertyCollection.getStr(e,j);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var y="label",x="geofenceTO",w="ruleTypeEnum",v="",u="changeSelection",t="middle",s="16/rules/ruleType.png",r="Rule Type",q="track.rules.RuleTypeGroup",p="Geofence to use:",g="16/rules/geofence.png",o=")",k="getSelectedRuleTypeEnum is null",d=" (",c=", TK5000 only",j="Speed km/h:",h="groupbox title",m="left",b="Alarm type to use:",n="right",f="Ping intervall seconds:";
qx.Class.define(q,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bn,bo){qx.core.Object.call(this);
this.trackGui=bn;
this.masterWindow=bo||null;
this.programmaticSetSelected=false;
this.groupBox=null;
this.ruleTypesSelectBox=null;
this.geofenceNameSelectBox=null;
this.geofenceDrawer=null;
this.geofenceIsShown=false;
this.COL0=0;
this.COL1=1;
},members:{setSpecificDevice:function(U){if(org.xmlBlaster.util.isDefined(U)){this.filterDevice=U;
var V=new Array(U.getDeviceId());
this.trackGui.getRules(V);
}else{this.filterDevice=null;
var V=[];
var W=this.trackGui.watchee.getBuddyManager().getFriendOfList(net.watchee.BuddyPermissionTO.PERMISSION_CFG);
for(var i=0,l=W.length;i<l;i++){V.push(W[i].getLoginName());
}this.trackGui.getRules(V);
}this.setTitle();
},setTitle:function(){var I=this.trc(h,r);

if(this.groupBox!=null)this.groupBox.setLegend(I);
return I;
},addGeofences:function(Q){var Q=Q||null;
this.geofenceNameSelectBox.removeAll();

if(Q==null)return;
var T=Q.getGeofences();

for(var i=0,l=T.length;i<l;i++){var R=T[i];
var S=new qx.ui.form.ListItem(R.getName(),xbGetIcon(g));
S.setUserData(x,R);
this.__nM(this.geofenceNameSelectBox,S);
}},__nK:function(){if(this.geofenceDrawer!=null){this.geofenceDrawer.clearAll();
this.geofenceDrawer=null;
}},__nL:function(bv){var bw=bw||null;
this.__nK();
this.geofenceDrawer=this.trackGui.watchee.getMapManager().createGeofenceDrawer();
this.geofenceDrawer.draw(bv);
},createGroup:function(ba){var be=new qx.ui.groupbox.GroupBox(this.setTitle());
this.groupBox=be;
var bc=new qx.ui.layout.Grid(6,4);
be.setLayout(bc);
be.setContentPadding(ba||12);
var bi=0;
bc.setColumnAlign(this.COL0,m,t);
bc.setColumnAlign(this.COL1,n,t);
bc.setColumnWidth(this.COL1,290);
bi=0;
be.add(new qx.ui.basic.Label(this.trc(y,b)),{row:bi,column:this.COL0});
this.ruleTypesSelectBox=new qx.ui.form.SelectBox();
var bh=null;

for(var i=0,l=net.watchee.RuleTypeEnums.length;i<l;i++){var bf=net.watchee.RuleTypeEnums[i];

if(bf.isSame(net.watchee.RuleTypeEnum.BATTERY_LOW)||
bf.isSame(net.watchee.RuleTypeEnum.GEOFENCE_LEAVE)||
bf.isSame(net.watchee.RuleTypeEnum.MOVED)||
bf.isSame(net.watchee.RuleTypeEnum.GPSSIGNAL_LOST)||
bf.isSame(net.watchee.RuleTypeEnum.GPSSIGNAL_OK)||
bf.isSame(net.watchee.RuleTypeEnum.GPRS_LOST)||
bf.isSame(net.watchee.RuleTypeEnum.OVERSPEED)||
bf.isSame(net.watchee.RuleTypeEnum.SMS_OPERATION)||
bf.isSame(net.watchee.RuleTypeEnum.ENTER_SLEEPMODE)||bf.isSame(net.watchee.RuleTypeEnum.ENTER_AWAKE)||bf.isSame(net.watchee.RuleTypeEnum.SOS_BUTTON)){var bg=v;

if(bf.isSame(net.watchee.RuleTypeEnum.ENTER_SLEEPMODE)||bf.isSame(net.watchee.RuleTypeEnum.ENTER_AWAKE))bg=this.trc(y,c);
var bd=bf.getDescription()+d+bf.getId()+bg+o;
var bb=new qx.ui.form.ListItem(bd,xbGetIcon(s),bf.getId());
bb.setUserData(w,bf);
this.ruleTypesSelectBox.add(bb);

if(bf.isSame(net.watchee.RuleTypeEnum.SOS_BUTTON))bh=bb;
}}be.add(this.ruleTypesSelectBox,{row:bi,column:this.COL1});
this.ruleTypesSelectBox.addListener(u,function(e){if(this.programmaticSetSelected)return ;
var bu=(e.getData().length==0)?null:e.getData()[0];
this.__nS(bu);
},this);
bi++;
this.ruleTypeDataLabel=new qx.ui.basic.Label(v);
this.groupBox.add(this.ruleTypeDataLabel,{row:bi,column:this.COL0});
this.ruleTypeDataBox=new qx.ui.container.Composite(new qx.ui.layout.HBox(0));
this.groupBox.add(this.ruleTypeDataBox,{row:bi,column:this.COL1});
this.geofenceNameSelectBox=new qx.ui.form.SelectBox();
this.__nR();
this.geofenceNameSelectBox.addListener(u,function(e){if(this.programmaticSetSelected)return ;
var K=(e.getData().length==0)?null:e.getData()[0];

if(K==null)return ;
var J=K.getUserData(x);
this.__nL(J.getCoordinates());
},this);
this.overspeedSpinner=new qx.ui.form.Spinner(10,80,220);
this.overspeedSpinner.set({singleStep:1,pageStep:10});
this.pingIntervalSecSpinner=new qx.ui.form.Spinner(30,120,100000);
this.pingIntervalSecSpinner.set({singleStep:1,pageStep:10});

if(bh!=null){this.__nN(this.ruleTypesSelectBox,bh);
}return be;
},__nM:function(O,P){this.programmaticSetSelected=true;
O.add(P);
this.programmaticSetSelected=false;
},__nN:function(M,N){this.programmaticSetSelected=true;
M.setSelection([N]);
this.programmaticSetSelected=false;
},__nO:function(G){this.ruleTypeDataLabel.setValue(this.trc(y,j));
this.ruleTypeDataBox.removeAll();
this.ruleTypeDataBox.add(this.overspeedSpinner);
},__nP:function(H){this.ruleTypeDataLabel.setValue(this.trc(y,f));
this.ruleTypeDataBox.removeAll();
this.ruleTypeDataBox.add(this.pingIntervalSecSpinner);
},__nQ:function(bt){this.ruleTypeDataLabel.setEnabled(bt);
this.ruleTypeDataBox.setEnabled(bt);
},__nR:function(z){this.ruleTypeDataLabel.setValue(this.trc(y,p));
this.ruleTypeDataBox.removeAll();
this.ruleTypeDataBox.add(this.geofenceNameSelectBox);
},__nS:function(X){if(X==null)return ;
var Y=X.getUserData(w);
this.masterWindow.onChangeSelectedRuleTypeEnum(Y);
},onChangeSelectedRuleName:function(bj){this.ruleTypesSelectBox.setEnabled(true);

if(bj==null){return;
}if(bj.isRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK)){this.masterWindow.onChangeSelectedRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK);
}else{if(bj.getRuleTypeEnum().isGeofenceType()){this.selectedGeofenceTO(bj.getGeofenceTO().getName());
}else if(bj.getRuleTypeEnum().isSame(net.watchee.RuleTypeEnum.OVERSPEED)){this.overspeedSpinner.setValue(bj.getRuleTypeDataNumber(80));
}else if(bj.getRuleTypeEnum().isSame(net.watchee.RuleTypeEnum.GPRS_LOST)){this.pingIntervalSecSpinner.setValue(bj.getRuleTypeDataNumber(120));
}this.masterWindow.onChangeSelectedRuleTypeEnum(bj.getRuleTypeEnum());
}},onChangeSelectedRuleTypeEnum:function(bk){var bl=this.__nT(bk);

if(bl!=null)this.ruleTypesSelectBox.setSelection([bl]);

if(bk.isGeofenceType()){this.__nR();
this.__nQ(true);
var bm=this.getSelectedGeofenceTO();

if(bm!=null){this.__nL(bm.getCoordinates());
}}else if(bk.isSame(net.watchee.RuleTypeEnum.OVERSPEED)){this.__nQ(true);
this.__nO();
}else if(bk.isSame(net.watchee.RuleTypeEnum.GPRS_LOST)){this.__nQ(true);
this.__nP();
}else{this.__nK();
this.__nQ(false);
}
if(net.watchee.RuleTypeEnum.FALLBACK.isSame(bk)){this.ruleTypesSelectBox.setEnabled(false);
}else{this.ruleTypesSelectBox.setEnabled(true);
}},getSelectedRuleTypeEnum:function(){var L=this.ruleTypesSelectBox.getSelection()[0];

if(L!=null){return L.getUserData(w);
}this.trackGui.errorMsgBoxDeveloper(k);
return null;
},__nT:function(A){if(A==null)return null;
var C=this.ruleTypesSelectBox.getChildren();

for(var i=0,l=C.length;i<l;i++){var D=C[i];
var B=D.getUserData(w);

if(B!=null&&B.isSame(A))return D;
}return null;
},getSelectedGeofenceTO:function(){var a=this.geofenceNameSelectBox.getSelection()[0];

if(a!=null){return a.getUserData(x);
}return null;
},__nU:function(bp){var bp=bp||null;

if(bp==null)return null;
var br=this.geofenceNameSelectBox.getChildren();

for(var i=0,l=br.length;i<l;i++){var bs=br[i];
var bq=bs.getUserData(x);

if(bq!=null&&bq.getName()==bp)return bs;
}return null;
},selectedGeofenceTO:function(E){var F=this.__nU(E);

if(F!=null)this.geofenceNameSelectBox.setSelection([F]);
},fillRuleTOFromGui:function(bx){bx.setGeofenceTO(null);
bx.setRuleTypeData(null);

if(!this.ruleTypesSelectBox.isEnabled()){if(bx.isFallbackRule()){bx.setRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK);
}return bx;
}var by=this.getSelectedRuleTypeEnum();
bx.setRuleTypeEnum(by);

if(by.isGeofenceType()){bx.setGeofenceTO(this.getSelectedGeofenceTO());
}else if(by.isSame(net.watchee.RuleTypeEnum.OVERSPEED)){bx.setRuleTypeData(this.overspeedSpinner.getValue());
}else if(by.isSame(net.watchee.RuleTypeEnum.GPRS_LOST)){bx.setRuleTypeData(this.pingIntervalSecSpinner.getValue());
}else{}return bx;
},clear:function(){this.__nK();
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var t="buddyTO",s="track.rules.ChooseDevicesGroup",r="multi",q="groupbox title",p="changeSelection",o="on",n="Choose Devices";
qx.Class.define(s,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(E,F){qx.core.Object.call(this);
this.trackGui=E;
this.masterWindow=F||null;
this.configList=null;
this.groupBox=null;
},members:{createGroup:function(R){var W=new qx.ui.groupbox.GroupBox(this.trc(q,n));
this.groupBox=W;
var S=new qx.ui.layout.Basic();
W.setLayout(S);
W.setContentPadding(R||12);
this.configList=new qx.ui.form.List;
this.configList.setScrollbarX(o);
this.configList.set({height:170,width:160,selectionMode:r,dragSelection:true});
var T=this.trackGui.watchee.getBuddyManager().getFriendOfList(net.watchee.BuddyPermissionTO.PERMISSION_CFG,true);

for(var i=0,l=T.length;i<l;i++){var V=T[i];
var U=new qx.ui.form.ListItem(V.getAliasAndLoginName());
U.setUserData(t,V);
this.configList.add(U);
}this.configList.addListener(p,function(e){this.debug("changeSelection value="+e.getData());
var u=e.getData();
this.__nV(u);
},this);
W.add(this.configList);
return W;
},__nV:function(v){var w=[];

for(var i=0,l=v.length;i<l;i++){var y=v[i];
var x=y.getUserData(t);

if(x!=null)w.push(x);
}this.masterWindow.onChangeSelectedDevices(w);
},getRuleAccountRelationsTOFromGui:function(){var G=this.configList.getSelection();
var H=[];

for(var i=0,l=G.length;i<l;i++){var J=G[i];
var I=J.getUserData(t);
var K=new track.rulesmodel.RuleAccountRelationTO(this.trackGui,null);
K.setLoginName(I.getLoginName());
H.push(K);
}return H;
},containsDeviceType:function(z){var A=this.configList.getSelection();

for(var i=0,l=A.length;i<l;i++){var D=A[i];
var C=D.getUserData(t);
var B=C.getDeviceInfo();

if(B.getDeviceEnum()==z){return true;
}}return false;
},supportsSmsConfigurationOnly:function(){var a=this.configList.getSelection();

for(var i=0,l=a.length;i<l;i++){var d=a[i];
var c=d.getUserData(t);

if(c==null)continue;
var b=c.getDeviceInfo();

if(b.supportsSmsConfigurationOnly()){return true;
}}return false;
},__nW:function(N){var N=N||null;

if(N==null)return null;
var P=this.configList.getChildren();

for(var i=0,l=P.length;i<l;i++){var Q=P[i];
var O=Q.getUserData(t);

if(O!=null&&O.getLoginName()==N)return Q;
}return null;
},onChangeSelectedRuleName:function(L){this.configList.resetSelection();

if(L==null){if(this.masterWindow.preferredDevice!=null){this.selectLoginName([this.masterWindow.preferredDevice.getLoginName()]);
}return;
}var M=L.getRuleAccountLoginNames();
this.selectLoginName(M,false);
},selectLoginName:function(g,h){var g=g||[];

if(h)this.configList.resetSelection();

if(g.length==0){return;
}var k=[];

for(var i=0,l=g.length;i<l;i++){var j=g[i];
var m=this.__nW(j);
k.push(m);
}
if(k.length>0){this.configList.setSelection(k);
return true;
}return false;
},onChangeSelectedRuleTypeEnum:function(f){if(this.groupBox==null)return;
},clear:function(){}},destruct:function(){}});
})();
(function(){var P="Weekday",O="MON",N="changeValue",M="TimeSlider",L="weekDay",K="THU",J="SAT",I="TUE",H="12/sliderKnobStart.png",G="Monday",bh="Complete day",bg="WED",bf="Until: ",be="Filter",bd="track.rules.TimeFilterGroup",bc="Thursday",bb="From: ",ba="CheckBox label",Y="12/sliderKnobUntil.png",X="Saturday",V="Tuesday",W="SUN",T="Friday",U="Sunday",R="Wednesday",S="groupbox title",Q="FRI";
qx.Class.define(bd,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(by){qx.core.Object.call(this);
this.trackGui=by;
this.groupBox=null;
this.fromDayTimeSlider=null;
this.untilDayTimeSlider=null;
this.completeDayCheckBox=null;
},members:{createGroup:function(c){var j=new qx.ui.groupbox.GroupBox(this.trc(S,be));
this.groupBox=j;
var g=new qx.ui.layout.VBox(0);
j.setLayout(g);
j.setContentPadding(c||12);
var o=new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
var d=new qx.ui.container.Composite(new qx.ui.layout.HBox(4));
var h=new qx.ui.container.Composite(new qx.ui.layout.VBox(0));
var k=new qx.ui.container.Composite(new qx.ui.layout.VBox(0));
var m=new qx.ui.container.Composite(new qx.ui.layout.VBox(0));
j.add(o);
j.add(d);
d.add(h);
d.add(k);
d.add(m);
this.completeDayCheckBox=new qx.ui.form.CheckBox(this.trc(ba,bh));
this.completeDayCheckBox.setValue(true);
this.completeDayCheckBox.addListener(N,function(e){var F=e.getData();
this.info("RulesWindow.js completeDayCheckBox Checked "+F);
this.fromDayTimeSlider.setEnabled(!F);
this.untilDayTimeSlider.setEnabled(!F);
},this);
o.add(this.completeDayCheckBox,{right:0});
var n=200;
this.fromDayTimeSlider=new track.util.DayTimeSlider(xbGetIcon(H));
o.add(this.fromDayTimeSlider.createTimer(this.trc(M,bb),6,n),{right:0});
this.fromDayTimeSlider.setEnabled(!this.completeDayCheckBox.getValue());
this.untilDayTimeSlider=new track.util.DayTimeSlider(xbGetIcon(Y));
o.add(this.untilDayTimeSlider.createTimer(this.trc(M,bf),18,n),{right:0});
this.untilDayTimeSlider.setEnabled(!this.completeDayCheckBox.getValue());
track.util.DayTimeSlider.knobIcon=null;
o.add(new qx.ui.core.Spacer(1,5));
this.weekDays=[{cronId:O,label:this.trc(P,G),checkBox:null},{cronId:I,label:this.trc(P,V),checkBox:null},{cronId:bg,label:this.trc(P,R),checkBox:null},{cronId:K,label:this.trc(P,bc),checkBox:null},{cronId:Q,label:this.trc(P,T),checkBox:null},{cronId:J,label:this.trc(P,X),checkBox:null},{cronId:W,label:this.trc(P,U),checkBox:null}];

for(var i=0,l=this.weekDays.length;i<l;i++){var f=new qx.ui.form.CheckBox(this.weekDays[i].label);
this.weekDays[i].checkBox=f;
f.setUserData(L,this.weekDays[i]);
f.addListener(N,function(e){var a=e.getData();
var b=f.getUserData(L);
this.info("TimeFilterGroup.js Checked "+b.cronId+" isChecked="+a);
},this);

if(i<3)h.add(f);
else if(i<5)k.add(f);
else m.add(f);
}return j;
},getFiltersTOFromGui:function(){var z=[];
var u=false;
var D=[];
var r=[];
var B=this.completeDayCheckBox.getValue();
var x=0;
var y=this.fromDayTimeSlider.getNumericTimeValue()>=this.untilDayTimeSlider.getNumericTimeValue();
var s=!y;
for(var i=0,l=this.weekDays.length;i<l;i++){var E=this.weekDays[i];
var A=E.checkBox.getValue();

if(B&&A){x++;
}if(B){var v=this.weekDays[this.weekDays.length-1].checkBox.getValue();

if(A){if(!u){if(E.cronId==O&&v){}else{D.push(E.cronId);
}u=true;
}}else{if(u||E.cronId==O&&v){r.push(E.cronId);
u=false;
}}}else{if(s){if(A){D.push(E.cronId);
r.push(E.cronId);
}}else{if(A){D.push(E.cronId);

if(i<(l-1))r.push(this.weekDays[i+1].cronId);
else r.push(O);
}}}}var q=(x==7);

if(q||D.length>0){var t=new track.rulesmodel.FilterTO(this.trackGui,null);
var w=new net.watchee.CronExpression(null);
w.setForever(q);

if(B){w.setCompleteDay(true);
}else{w.setHour(this.fromDayTimeSlider.getHourStr());
w.setMinute(this.fromDayTimeSlider.getMinuteStr());
}w.setDayOfWeek(D);
var p=w.getCronExpressionStr();
t.setExpression(p);
t.setInfoMap(w.getFlagMap());
t.setFilterTypeEnum(net.watchee.FilterTypeEnum.CRON);
z.push(t);

if(!q){var C=new track.rulesmodel.FilterTO(this.trackGui,null);
var w=new net.watchee.CronExpression(null);
w.setForever(q);

if(B){w.setCompleteDay(true);
}else{w.setHour(this.untilDayTimeSlider.getHourStr());
w.setMinute(this.untilDayTimeSlider.getMinuteStr());
}w.setDayOfWeek(r);
var p=w.getCronExpressionStr();
C.setExpression(p);
C.setInfoMap(w.getFlagMap());
C.setFilterTypeEnum(net.watchee.FilterTypeEnum.CRON);
z.push(C);
}}return z;
},onChangeSelectedRuleName:function(bl){if(bl==null||bl.isFallbackRule()){}else{this.checkAllWeekDays(false);
var bs=bl.getFilterTOs(net.watchee.FilterTypeEnum.CRON);
var br=(bs.length>0)?bs[0]:null;
var bu=(br!=null)?br.getCronExpression():null;
var bv=(bs.length>1)?bs[1]:null;
var bt=(bv!=null)?bv.getCronExpression():null;

if(bu!=null){var bq=this.fromDayTimeSlider;
this.completeDayCheckBox.setValue(bu.isCompleteDay());

if(!bu.isCompleteDay()){var bp=bu.getHoursInt();
var bn=bu.getMinutesInt();
bq.moveSliderTo(bp,bn);
}
for(var i=0,l=this.weekDays.length;i<l;i++){var bx=this.weekDays[i];

if(bu.isForever()){bx.checkBox.setValue(true);
}else{var bm=bu.matchesDayOfWeek(bx.cronId);
bx.checkBox.setValue(bm);

if(bu.isCompleteDay()){if(bm){var bo=false;

for(i=i+1;i<l;i++){var bx=this.weekDays[i];
var bm=bt.matchesDayOfWeek(bx.cronId);

if(bm){bo=true;
break;
}bx.checkBox.setValue(true);
}
if(!bo){for(var bw=0;bw<i;bw++){var bx=this.weekDays[bw];
var bm=bt.matchesDayOfWeek(bx.cronId);

if(bm){bo=true;
break;
}bx.checkBox.setValue(true);
}}}}}}}
if(bt!=null){var bq=this.untilDayTimeSlider;

if(!bt.isCompleteDay()){var bp=bt.getHoursInt();
var bn=bt.getMinutesInt();
bq.moveSliderTo(bp,bn);
}}}},onChangeSelectedRuleTypeEnum:function(bi){if(this.groupBox==null)return;
this.checkAllWeekDays(false);
this.groupBox.setEnabled(true);
this.completeDayCheckBox.setValue(true);
this.completeDayCheckBox.setEnabled(true);

if(net.watchee.RuleTypeEnum.FALLBACK.isSame(bi)){this.checkAllWeekDays(true);
this.groupBox.setEnabled(false);
}else if(net.watchee.RuleTypeEnum.SCHEDULED_EVENT.isSame(bi)){this.completeDayCheckBox.setValue(false);
this.completeDayCheckBox.setEnabled(false);
}else{}},checkAllWeekDays:function(bj){for(var i=0,l=this.weekDays.length;i<l;i++){var bk=this.weekDays[i];
bk.checkBox.setValue(bj);
}},clear:function(){}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var v="",u="bottom",t="releaseSlider",s="grey",r="Escape",q='',p="changeValue",o="00",n="center",m=" ",H="qx.event.type.Event",G=":",F="h",E="0:00",D="right",C="mouseup",B="keypress",A="track.util.DayTimeSlider",z="hour abbreviation",y="button-pressed",w="23:45",x="left";
qx.Class.define(A,{extend:qx.ui.container.Composite,construct:function(I){qx.ui.container.Composite.call(this);
this.setLayout(new qx.ui.layout.HBox());
this.slider=new track.util.WatcheeSlider(I);
this.slider.addListener(C,function(){this.fireEvent(t);
},this);
this.slider.addListener(B,function(e){if(e.getKeyIdentifier()==r){this.fireEvent(t);
}},this);
this.hourAbrev=this.trc(z,F);
this.minValue=0;
this.maxValue=95;
this.minAllowed=this.minValue;
this.maxAllowed=this.maxValue;
},events:{"releaseSlider":H},members:{createTimer:function(b,c,d){var b=b||v;
var c=c||12;
var d=d||400;

if(d>0)this.setWidth(d);
if(b!=q){var f=new qx.ui.basic.Label(b);
this.add(f);
}var h=new qx.ui.layout.Grid();
h.setSpacing(1);
h.setColumnFlex(0,1);
h.setColumnFlex(1,1);
h.setColumnFlex(2,1);
h.setColumnAlign(0,x,u);
h.setColumnAlign(1,n,u);
h.setColumnAlign(2,D,u);
var i=new qx.ui.container.Composite(h);
i.setWidth(d);
this.slider.set({width:d,minimum:this.minValue,maximum:this.maxValue,singleStep:1,pageStep:4,value:c*4});
var j=new qx.ui.basic.Label(E+this.hourAbrev);
j.setTextColor(s);
var k=new qx.ui.basic.Label(w+this.hourAbrev);
k.setTextColor(s);
var g=new qx.ui.basic.Label(this.__nX(this.slider.getValue()).time+this.hourAbrev);
this.slider.addListener(p,function(e){g.setValue(this.__nX(this.slider.getValue()).time+this.hourAbrev);
},this);
i.add(j,{row:0,column:0});
i.add(g,{row:0,column:1});
i.add(k,{row:0,column:2});
i.add(this.slider,{row:1,column:0,colSpan:3,rowSpan:1});
this.add(i);
this.setDecorator(y);
return this;
},handleKeyPress:function(){this.slider.handleKeyPress(e);
},moveSliderTo:function(S,T){this.slider.setValue(S*4+Math.floor(T/15.0));
},__nX:function(J,K){var K=K||true;
var R=parseFloat(J);
var N=Math.floor(R/4.0);
var Q=new String(N);

if(K&&Q.length<2)Q=m+Q;
var P=Math.round((R/4.0-N)*60);
var M=((P==0)?o:v+P);
var O=(v+Q+G+M);
var L={hours:N,minutes:P,time:O};
return L;
},getNumericTimeValue:function(){if(this.slider==null)return 0;
return this.slider.getValue();
},setNumericTimeValue:function(l){if(this.slider!=null){this.slider.setValue(l);
}},getMinuteStr:function(){if(this.slider==null)return v;
return this.__nX(this.slider.getValue(),false).minutes;
},getHourStr:function(){if(this.slider==null)return v;
return this.__nX(this.slider.getValue(),false).hours;
},getTimeStr:function(){if(this.slider==null)return v;
return this.__nX(this.slider.getValue(),false).time;
},getValue:function(){var U=new Date(0);
U.setHours(parseInt(this.getHourStr()));
U.setMinutes(parseInt(this.getMinuteStr()));
this.info("DayTimeSlider getValue: "+U.getHours()+":"+U.getMinutes());
return U;
},setValue:function(a){this.moveSliderTo(a.getHours(),a.getMinutes());
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var c="resize",b="knob",a="track.util.WatcheeSlider";
qx.Class.define(a,{extend:qx.ui.form.Slider,construct:function(d){this.knobIcon=d||null;
qx.ui.form.Slider.call(this);
},members:{_createChildControlImpl:function(e){var f;
var g=this.knobIcon;
this.info("_createChildControlImpl static="+track.util.WatcheeSlider.knobIcon+" this="+this.knobIcon);

switch(e){case b:if(g==null)f=new qx.ui.core.Widget();
else f=new qx.ui.basic.Atom(null,g);
f.addListener(c,this._onUpdate,this);
this._add(f);
break;
}return f||qx.ui.form.Slider.prototype._createChildControlImpl.call(this,e);
}}});
})();
(function(){var bg="",bf="OEM/",be="TextArea",bd="infoMsgBox",bc="changeValue",bb="label",ba="text",Y="focus",X="execute",W="middle",cq="errorMsgBox",cp="sendTestEmail",co="22/testSend.png",cn="\n",cm="to",cl="Test",ck="/from",cj="supportEmail",ci="mousedown",ch="%1 is validated",bn="Please enter a valid SMS phone number +49175... to test",bo="mail.subject",bl="Please enter the command to send to the phone<br />",bm="content",bj="oemName",bk="Please enter a valid email address to test",bh="expires",bi="right",bv="demo@gmx.net\ntest@yahoo.com",bw="GPSvision",bJ="Browser notification",bF="button email",bR="promptMsgBox.label",bM="doAction: xb start; gps start; tracking start",cd="Sending SMS is for customers only",bW="button",bA="from",cg="<i>for example 'doAction: xb start; gps start; tracking start'</i>",cf="Sending Emails is for customers only",ce="sms.testTitle",bz=":",bC="track.rules.EventSinkGroup",bE="Email notification",bH="Test Mail From Portal",bK="supportPhone",bN="%1 Test",bT="emailTestButton.enabled",bY="subject",bp="+60000",bq="mr@marcelruff.info",bB="/supportEmail",bQ="+4917599999\n+491577000000",bP="sms.text",bO="Your command to send",bV="+491754616132\n+4915774705478:50412",bU="supportName",bL="oemNiceName",bS="smsTestButton.enabled",T="Send Alarm To",bX="/oemNiceName",br="mail.content",bs="emailsend",bG="promptMsgBox.title",U="port",V="/supportPhone",by="@",bt="Your email address %1 is validated",bu="lang",bx="groupbox title",bI="left",cb="/supportName",ca="SMS is send to %1, please check your mobile phone",bD="Email is send to %1, please check your email account",cc="SMS notification";
qx.Class.define(bC,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(cU){qx.core.Object.call(this);
this.trackGui=cU;
this.groupBox=null;
this.browserCheckBox=null;
this.emailCheckBox=null;
this.emailTextArea=null;
this.emailTextAreaExample=this.trc(be,bv);
this.emailTestButton=null;
this.emailTestButtonEnabled=xbProperties.getBoolean(bT,true);
this.smsCheckBox=null;
this.smsTextArea=null;
this.smsTextAreaExample=this.trc(be,bQ);
this.smsTestButton=null;
this.smsTestButtonEnabled=xbProperties.getBoolean(bS,true);
this.j2meCommand=bM;
this.j2meEnableSend=true;
this.testFixed=isDevelopEnvironment;

if(this.testFixed){this.emailTextAreaExample=this.trc(be,bq);
this.smsTextAreaExample=this.trc(be,bV);
}},members:{createGroup:function(cD){var cK=new qx.ui.groupbox.GroupBox(this.trc(bx,T));
this.groupBox=cK;
var cE=new qx.ui.layout.Grid(6,2);
cK.setLayout(cE);
cK.setContentPadding(cD||12);
var cL=0;
var cH=0;
var cI=1;
var cG=2;
cE.setColumnAlign(0,bI,W);
cE.setColumnAlign(1,bi,W);
this.browserCheckBox=new qx.ui.form.CheckBox(this.trc(bb,bJ));
this.browserCheckBox.setValue(true);
this.browserCheckBox.addListener(bc,function(e){},this);
cK.add(this.browserCheckBox,{row:cL,column:cH});
cL++;
var cJ=false;
this.emailCheckBox=new qx.ui.form.CheckBox(this.trc(bb,bE));
this.emailCheckBox.setValue(cJ);
cK.add(this.emailCheckBox,{row:cL,column:cH});
this.emailTextArea=new qx.ui.form.TextArea(this.emailTextAreaExample);
this.emailTextArea.setWrap(false);
this.emailTextArea.setHeight(42);
this.emailTextArea.setEnabled(cJ);
this.emailTextArea.addListener(Y,function(e){if(!this.testFixed&&this.__oc()==this.emailTextAreaExample){this.emailTextArea.setValue(bg);
}},this);
cK.add(this.emailTextArea,{row:cL,column:cI});
this.emailTestButton=new qx.ui.form.Button(this.trc(bF,cl),xbGetIcon(co));
this.emailTestButton.setEnabled(cJ);
cK.add(this.emailTestButton,{row:cL,column:cG});
this.emailCheckBox.addListener(bc,function(e){var a=e.getData();
this.__nY(a);
},this);
this.emailTestButton.addListener(X,function(e){if(this.trackGui.watchee==null)return;

if(this.sendTestEmails()==false)return;
this.emailTestButton.setEnabled(false);

if(this.emailTestButtonEnabled){qx.event.Timer.once(function(e){this.emailTestButton.setEnabled(true);
},this,10000);
}},this);
cL++;
var cF=false;
this.smsCheckBox=new qx.ui.form.CheckBox(this.trc(bb,cc));
this.smsCheckBox.setValue(cF);
cK.add(this.smsCheckBox,{row:cL,column:cH});
this.smsTextArea=new qx.ui.form.TextArea(this.smsTextAreaExample);
this.smsTextArea.setWrap(false);
this.smsTextArea.setHeight(42);
this.smsTextArea.setEnabled(cF);
this.smsTextArea.addListener(Y,function(e){if(!this.testFixed&&this.__ob()==this.smsTextAreaExample){this.smsTextArea.setValue(bg);
}},this);
cK.add(this.smsTextArea,{row:cL,column:cI});
this.smsTestButton=new qx.ui.form.Button(this.trc(bW,cl),xbGetIcon(co));
this.smsTestButton.setEnabled(this.smsTestButtonEnabled&&cF);
cK.add(this.smsTestButton,{row:cL,column:cG});
this.smsCheckBox.addListener(bc,function(e){var C=e.getData();
this.__oa(C);
},this);
this.smsTestButton.addListener(X,function(e){if(this.trackGui.watchee==null)return;

if(this.j2meEnableSend==false)return;

if(this.sendTestSmses()==false)return;
this.smsTestButton.setEnabled(false);

if(this.smsTestButtonEnabled){qx.event.Timer.once(function(e){this.smsTestButton.setEnabled(true);
},this,60000);
}},this);
this.smsTestButton.addListener(ci,function(e){if(this.trackGui.watchee==null)return;

if(e.isShiftPressed()){this.j2meEnableSend=false;
this.editJ2meCommand();
}},this);
return cK;
},__nY:function(cV){this.emailTextArea.setEnabled(cV);
this.emailTestButton.setEnabled(this.emailTestButtonEnabled&&cV);
},__oa:function(S){this.smsTextArea.setEnabled(S);
this.smsTestButton.setEnabled(this.smsTestButtonEnabled&&S);
},__ob:function(){var cs=100;
var cr=this.smsTextArea.getValue();
cr=org.xmlBlaster.util.trim(cr);

if(cr.length>cs){cr=cr.substring(0,cs);
cr=org.xmlBlaster.util.trim(cr);
this.smsTextArea.setValue(cr);
}return cr;
},__oc:function(){var cM=156;
var cN=this.emailTextArea.getValue();
cN=org.xmlBlaster.util.trim(cN);

if(cN.length>cM){cN=cN.substring(0,cM);
cN=org.xmlBlaster.util.trim(cN);
this.emailTextArea.setValue(cN);
}return cN;
},editJ2meCommand:function(){var D=3;
var E=false;
this.trackGui.promptMsgBox(this.trc(bG,bO),this.trc(bR,bl+cg),this.j2meCommand,D,E,function(k,m){this.j2meEnableSend=true;

if(k){this.j2meCommand=m;
}},this);
},sendTestEmails:function(){var L=this.getValidatedEmailAddresses();

if(L.length==0){this.trackGui.errorMsgBox(this.trc(cq,bk));
return false;
}
for(var i=0,l=L.length;i<l;i++){var M=L[i];

if(this.sendTestEmail(M)==false)return false;
}return true;
},sendTestEmail:function(N){if(!this.trackGui.getSessionProfile().hasPermissionForEmailSending()){this.trackGui.infoMsgBox(this.trc(bd,cf));
return false;
}var P=bs;
var Q=bg;
var R=new net.watchee.PropertyCollection();
var O=new net.watchee.PropertyPair(cm,N);
R.add(O);
var O=new net.watchee.PropertyPair(bY,this.trc(bo,bH));
R.add(O);
var O=new net.watchee.PropertyPair(bm,this.trc(br,bt,N));
R.add(O);
var O=new net.watchee.PropertyPair(bh,bp);
R.add(O);
this.appendOemInfo(R);
var content=R.toXml();
this.trackGui.watchee.publishContent(P,content,Q,this.trackGui.returnQosOrException,this.trackGui,cp);
this.trackGui.infoMsgBox(this.trc(bd,bD,N));
return true;
},appendOemInfo:function(n){var s=bw;
var t=this.trackGui.getMyAccountTO();

if(t==null)return s;
var r=t.getOemName();

if(r!=null&&r!=bg){s=r;
n.addKeyValue(bj,r);
n.addKeyValue(bu,t.getLanguage());
var o=t.getAccountPropertyStr(bf+r+ck,null);

if(o!=null){n.addKeyValue(bA,o);
}var u=t.getAccountPropertyStr(bf+r+bB,null);

if(u!=null){n.addKeyValue(cj,u);
}var q=t.getAccountPropertyStr(bf+r+V,null);

if(q!=null){n.addKeyValue(bK,q);
}var v=t.getAccountPropertyStr(bf+r+bX,null);

if(v!=null){n.addKeyValue(bL,v);
s=v;
}var p=t.getAccountPropertyStr(bf+r+cb,null);

if(p!=null){n.addKeyValue(bU,p);
s=p;
}}return s;
},getValidatedEmailAddresses:function(){var g=[];

if(this.emailCheckBox.getValue()){var h=this.__oc();

if(!this.testFixed&&h==this.emailTextAreaExample){return g;
}var f=h.split(/[\s,;]+/);

for(var i=0,l=f.length;i<l;i++){var j=this.validateEmailAddress(f[i]);

if(j==null)continue;
g.push(j);
}}return g;
},validateEmailAddress:function(cC){var cC=cC||null;

if(cC==null){return null;
}cC=org.xmlBlaster.util.trim(cC);

if(cC.indexOf(by)==-1){return null;
}
if(cC.length<5){return null;
}return cC;
},sendTestSmses:function(){var cP=this.getValidatedSmsAddresses();

if(cP.length==0){this.trackGui.errorMsgBox(this.trc(cq,bn));
return false;
}
for(var i=0,l=cP.length;i<l;i++){var cO=cP[i];

if(this.sendTestSms(cO)==false)return false;
}return true;
},getValidatedSmsAddresses:function(){var cR=[];

if(this.smsCheckBox.getValue()){var cT=this.__ob();

if(!this.testFixed&&cT==this.smsTextAreaExample){return cR;
}var cS=cT.split(/[\s,;]+/);

for(var i=0,l=cS.length;i<l;i++){var cQ=this.validateSmsPhoneNumber(cS[i]);

if(cQ==null)continue;
cR.push(cQ);
}}return cR;
},validateSmsPhoneNumber:function(cB){if(this.trackGui!=null&&this.trackGui.watchee!=null)return this.trackGui.watchee.validateSmsPhoneNumber(cB);
return cB;
},spiltPhoneNumberPort:function(b){var c=b.indexOf(bz);

if(c!=-1){var d=null;

if(c<b.length)d=b.substring(c+1);
return {phoneNumber:b.substring(0,c),port:d};
}return {phoneNumber:b,port:null};
},sendTestSms:function(ct){if(!this.trackGui.getSessionProfile().hasPermissionForSmsSending()){this.trackGui.infoMsgBox(this.trc(bd,cd));
return false;
}var cu=this.trackGui.watchee.getTopicSmssend(ct);
var cw=bg;
var cv=this.spiltPhoneNumberPort(ct);
var cz=new net.watchee.PropertyCollection();
var cA=new net.watchee.PropertyPair(cm,cv.phoneNumber);
cz.add(cA);
var cx=this.appendOemInfo(cz);
var cy=this.trc(ce,bN,cx);
var cA=new net.watchee.PropertyPair(ba,cy+cn+this.trc(bP,ch,cv.phoneNumber));

if(cv.port!=null)cA=new net.watchee.PropertyPair(ba,this.j2meCommand);
cz.add(cA);

if(cv.port!=null){var cA=new net.watchee.PropertyPair(U,cv.port);
cz.add(cA);
}var content=cz.toXml();
this.trackGui.watchee.publishContent(cu,content,cw,this.trackGui.returnQosOrException,this.trackGui,cp);
this.trackGui.infoMsgBox(this.trc(bd,ca,ct));
},getEventSinksTOFromGui:function(){var H=[];

if(this.browserCheckBox.getValue()){var J=new track.rulesmodel.EventSinkTO(this.trackGui,null);
J.setExpression(bg);
J.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.BROWSER);
H.push(J);
}var F=this.getValidatedEmailAddresses();

for(var i=0,l=F.length;i<l;i++){var K=F[i];
var J=new track.rulesmodel.EventSinkTO(this.trackGui,null);
J.setExpression(K);
J.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.EMAIL);
H.push(J);
}var I=this.getValidatedSmsAddresses();

for(var i=0,l=I.length;i<l;i++){var G=I[i];
var J=new track.rulesmodel.EventSinkTO(this.trackGui,null);
J.setExpression(G);
J.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.SMS);
H.push(J);
}return H;
},onChangeSelectedRuleName:function(w){this.emailTextArea.setValue(this.emailTextAreaExample);
this.emailCheckBox.setValue(false);
this.smsTextArea.setValue(this.smsTextAreaExample);
this.smsCheckBox.setValue(false);

if(w==null){this.groupBox.setEnabled(true);
return;
}var x=cn;
var y=bg;
var A=w.getEventSinkTOs(net.watchee.EventSinkTypeEnum.EMAIL);

if(A.length>0){this.emailCheckBox.setValue(true);

for(var i=0,l=A.length;i<l;i++){var B=A[i];

if(i>0)y+=x;
y+=B.getExpression();
}
if(y.length>0){this.emailTextArea.setValue(y);
}}var z=bg;
var A=w.getEventSinkTOs(net.watchee.EventSinkTypeEnum.SMS);

if(A.length>0){this.smsCheckBox.setValue(true);

for(var i=0,l=A.length;i<l;i++){var B=A[i];

if(i>0)z+=x;
z+=B.getExpression();
}
if(z.length>0){this.smsTextArea.setValue(z);
}}},onChangeSelectedRuleTypeEnum:function(cW){if(this.groupBox==null)return;
this.browserCheckBox.setValue(true);
this.browserCheckBox.setEnabled(false);

if(net.watchee.RuleTypeEnum.FALLBACK.isSame(cW)){this.groupBox.setEnabled(false);
}else if(net.watchee.RuleTypeEnum.GPRS_LOST.isSame(cW)){this.browserCheckBox.setEnabled(true);
}else if(net.watchee.RuleTypeEnum.SCHEDULED_EVENT.isSame(cW)){this.browserCheckBox.setEnabled(true);
}else{this.groupBox.setEnabled(true);
}},clear:function(){}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var k="auto",j="textarea",i="Boolean",h="qx.ui.form.TextArea",g="_applyWrap",f="Integer",d="mousewheel";
qx.Class.define(h,{extend:qx.ui.form.AbstractField,construct:function(a){qx.ui.form.AbstractField.call(this,a);
this.initWrap();
this.addListener(d,this._onMousewheel,this);
},properties:{wrap:{check:i,init:true,apply:g},appearance:{refine:true,init:j},singleStep:{check:f,init:20}},members:{_onMousewheel:function(e){var l=this.getContentElement();
var scrollY=l.getScrollY();
l.scrollToY(scrollY+e.getWheelDelta()*this.getSingleStep());
var m=l.getScrollY();

if(m!=scrollY){e.stop();
}},_createInputElement:function(){return new qx.html.Input(j,{overflowX:k,overflowY:k});
},_applyWrap:function(b,c){this.getContentElement().setWrap(b);
},_getContentHint:function(){var n=qx.ui.form.AbstractField.prototype._getContentHint.call(this);
n.height=n.height*4;
n.width=this._getTextSize().width*20;
return n;
}}});
})();
(function(){var g="track.rulesmodel.RulesTO",f="Rule",e="",d="RuleAccountRelation",c="EventSink",b="Geofence",a="Filter";
qx.Class.define(g,{extend:qx.core.Object,construct:function(q,r){qx.core.Object.call(this);
this.trackGui=q;

if(org.xmlBlaster.util.isDefined(r)){this.propertyCollections=r;
this.ruleTOArray=this.__od(this.propertyCollections);
}else{this.propertyCollections=new net.watchee.PropertyCollections();
this.ruleTOArray=[];
}},members:{__od:function(h){var m=[];
var n=null;
var j=h.getPropertyCollections();

for(var i=0,l=j.length;i<l;i++){var k=j[i];

if(f==k.getClazz()){n=new track.rulesmodel.RuleTO(this.trackGui,k);
m.push(n);
}else if(b==k.getClazz()){n.setGeofenceTO(new track.rulesmodel.GeofenceTO(this.trackGui,k));
}else if(a==k.getClazz()){n.addFilterPC(k);
}else if(c==k.getClazz()){n.addEventSinkPC(k);
}else if(d==k.getClazz()){n.addRuleAccountRelationPC(k);
}}return m;
},lookupRuleTOByRuleName:function(o){var o=o||null;

if(o==null||o==e)return null;

for(var i=0,l=this.ruleTOArray.length;i<l;i++){var p=this.ruleTOArray[i];

if(o==p.getRuleName())return p;
}return null;
},lookupRuleTOByRuleTypeEnum:function(s){var s=s||null;

if(s==null)return null;

for(var i=0,l=this.ruleTOArray.length;i<l;i++){var t=this.ruleTOArray[i];

if(t.getRuleTypeEnum().isSame(s))return t;
}return null;
},getRules:function(){return this.ruleTOArray;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var n="",m="info",l="geoType",k="name",j="SQUARE",i="coordinates",h="track.rulesmodel.GeofenceTO",g="creationTs",f="loginName",e="modifiedTs",d="Geofence";
qx.Class.define(h,{extend:qx.core.Object,construct:function(a,b){qx.core.Object.call(this);
this.trackGui=a;

if(org.xmlBlaster.util.isDefined(b)){this.propertyCollection=b;
this.coordinates=net.watchee.Coordinates.parseKmlStr(this.propertyCollection.getStr(i,n));
}else{this.propertyCollection=new net.watchee.PropertyCollection(d);
this.coordinates=new net.watchee.Coordinates();
}},members:{getName:function(){return this.propertyCollection.getStr(k,n);
},setName:function(name){this.propertyCollection.addKeyValue(k,name);
},getGeoType:function(){return this.propertyCollection.getStr(l,j);
},setGeoType:function(p){this.propertyCollection.addKeyValue(l,p);
},isGeoTypeSquare:function(){return j==this.getGeoType();
},getCoordinates:function(){return this.coordinates;
},getKmlStr:function(){return this.coordinates.toKmlStr();
},setCoordinatesKmlStr:function(c){delete this.coordinates;
this.coordinates=net.watchee.Coordinates.parseKmlStr(c);
},appendCoordinate:function(o){this.coordinates.append(o);
},getInfo:function(){return this.propertyCollection.getStr(m,n);
},setInfo:function(q){this.propertyCollection.addKeyValue(m,q);
},getPropertyCollection:function(){this.propertyCollection.addKeyValue(i,this.coordinates.toKmlStr());
return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(g,n);
},getModifiedTs:function(){return this.propertyCollection.getStr(e,n);
},getLoginName:function(){return this.propertyCollection.getStr(f,n);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var b="Geofence",a="track.rulesmodel.GeofencesTO";
qx.Class.define(a,{extend:qx.core.Object,construct:function(c,d){qx.core.Object.call(this);
this.trackGui=c;

if(org.xmlBlaster.util.isDefined(d)){this.propertyCollections=d;
}else{this.propertyCollections=new net.watchee.PropertyCollections();
}},members:{getGeofences:function(){var e=this.propertyCollections.getClazzes(b);
var g=[];

for(var i=0,l=e.length;i<l;i++){var f=e[i];
g.push(new track.rulesmodel.GeofenceTO(this.trackGui,f));
}return g;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var k="16/statistic.png",j="Statistic Report",i="click",h="track.statistic.StatisticWindow",g="window title",f="close";
var c=40;
var d=20;
qx.Class.define(h,{extend:qx.ui.window.Window,construct:function(l){qx.ui.window.Window.call(this);
this.trackGui=l;
this.setUseMoveFrame(true);
this.setResizable(false);
this.setContentPadding(2);
this.timeplotGroup=new track.statistic.TimeplotGroup(this.trackGui,this);
this.setLayout(new qx.ui.layout.Canvas());
this.setCaption(this.trc(g,j));
this.setIcon(xbGetIcon(k));
this.setMinWidth(914);
this.addListener(f,function(e){this.clear();
},this);
},members:{getStatisticWindowTop:function(){if(c>200)c=100;
c+=25;
return c;
},getStatisticWindowLeft:function(){if(d>350)d=250;
d+=25;
return d;
},createStatisticWindow:function(){this.trackGui.getMyRoot().add(this,{left:this.getStatisticWindowLeft(),top:this.getStatisticWindowTop()});
this.add(this.timeplotGroup.createGroup(),{left:0,top:0});
this.open();
this.filterToggle=new qx.ui.basic.Atom(null,this.trackGui.iconUp);
this.filterToggle.addListener(i,function(e){if(this.filterToggle.getIcon()==this.trackGui.iconUp){this.timeplotGroup.filterView.exclude();
this.filterToggle.setMarginTop(0);
this.filterToggle.setPaddingTop(0);
this.filterToggle.setIcon(this.trackGui.iconDown);
}else{this.timeplotGroup.filterView.show();
this.filterToggle.setMarginTop(50);
this.filterToggle.setIcon(this.trackGui.iconUp);
}},this);
this.add(this.filterToggle,{right:0});
this.filterToggle.setMarginTop(50);
},onPostOpen:function(){if(this.timeplotGroup!=null){this.timeplotGroup.onPostOpen();
}},setWindowSize:function(a,b){this.setWidth(a);
this.setHeight(b);
},clear:function(){this.timeplotGroup.clear();
},destroyPopup:function(){this.trackGui.getMyRoot().remove(this);

try{this.clear();
}catch(m){this.error("StatisticWindow.js destroyPopup failed: "+m);
}this.close();
this.trackGui=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var r="Label",q="red",p="errorMsgBox",o="",n="-",m="Get locations failed",k="Please choose a device.",j=":filter/startTimestamp",h="Get locations timeout, no data to show",g="info box",O="application/watchee.service.track.tracklist/enmea",N="statisticTimeplot.load",M="Received %1",L="No tracking data found in the given time range",K="AjaxAnimator",J="statisticTimeplot.loginName",I=":filter/limit",H="track.statistic.TimeplotGroup",G="statisticTimeplot.timestampStart",F="statisticTimeplot.yAxis",y="Get locations",z="getLocations",w="statisticWindow.table.visible",x="statisticTimeplot.timestampEnd",u="Loading ...",v="\n",s=":loginName",t="statisticWindow.maxValuesLoad",A="Get locations timeout",B="No tracking data found",D=":filter/endTimestamp",C="infoMsgBox",E="Get locations failed: %1 %2";
qx.Class.define(H,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(S,T){qx.core.Object.call(this);
this.trackGui=S;
this.statisticWindow=T;
this.groupBox=null;
this.filterView=null;
this.timeplotView=null;
this.historyTableView=null;
this.loadedFromUrlParameter=false;
this.firstLoadDone=false;
this.timeplotDataCacheInfo={gpsDataArr:[],device:null,startDate:null,endDate:null};
},members:{createGroup:function(d){this.groupBox=new qx.ui.groupbox.GroupBox(null,null);
this.groupBox.setLayout(new qx.ui.layout.VBox());
this.groupBox.setContentPadding(2);
this.groupBox.setMinWidth(908);
this.filterView=new track.statistic.FilterView(this.trackGui,this.statisticWindow,this);
this.filter=this.filterView.createFilter();
this.groupBox.add(this.filter);
this.timeplotView=new track.statistic.TimeplotView(this.trackGui,this.statisticWindow,this);
var e=this.timeplotView.createDivParent();
e.exclude();
this.groupBox.add(e);
this.historyTableView=new track.statistic.HistoryTableView(this.trackGui,this.statisticWindow,this);
this.historyTable=this.historyTableView.createTable();
var f=xbProperties.getBoolean(w,true);

if(!f)this.historyTable.exclude();
this.groupBox.add(this.historyTable);
return this.groupBox;
},onPostOpen:function(){this.filterView.refreshButton.setEnabled(true);
var bB=this.setFromUrlParameter(true);
var bA=!bB&&!this.firstLoadDone;
this.timeplotView.createTimeplot(bA);
},onTimeplotIsInitialized:function(){var bf=this.setFromUrlParameter(true);

if(xbProperties.getBoolean(N,bf)){qx.event.Timer.once(this.loadStatistic,this,2000);
}},setFromUrlParameter:function(bs){if(this.firstLoadDone)return false;
var bs=(bs==undefined)?true:bs;
var bu=xbProperties.getStr(J,null);

if(bu!=null){this.loadedFromUrlParameter=true;
}var bt=xbProperties.getDate(G,null);

if(bt!=null){this.loadedFromUrlParameter=true;
}var bw=xbProperties.getDate(x,null);

if(bw!=null){this.loadedFromUrlParameter=true;
}var bv=xbProperties.getStr(F,null);

if(bv!=null){this.loadedFromUrlParameter=true;
}this.firstLoadDone=true;
if(this.loadedFromUrlParameter&&bs){this.setQueryData(bu,bt,bw,bv);
}return this.loadedFromUrlParameter;
},loadStatistic:function(){var by=this.filterView.destinationsSelectBox.getSelectedLoginName();

if(by==null||by==o){this.trackGui.errorMsgBox(this.trc(g,k));
return;
}var bx=this.filterView.getStartDate();
var bz=this.filterView.getEndDate();

if(this.hasDataCached(by,bx,bz)){this.loadDataFromCache(bx,bz);
}else{this.sendGetLocations(by,bx,bz);
}},sendGetLocations:function(bg,bh,bi){this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendGetLocations with watchee is null");
var bl=org.xmlBlaster.util.getCurrentIsoGmtTimestampStr(bh,false,true);
var bq=org.xmlBlaster.util.getCurrentIsoGmtTimestampStr(bi,false,true);
this.setCacheStartEnd(this.filterView.getSelectedDevice(),bh,bi);
var bo=org.xmlBlaster.util.PropTO;
var bm=this.trackGui.getRequestResponseDispatcher();
var br=bo.VALUE_TASK_NAMED_GETLOCATIONS+n+bm.getRequestIdNextVal();
var bk=new Array();
bk.push(new bo(bo.KEY_SERVICENAME,bo.VALUE_SERVICE_TRACK));
bk.push(new bo(bo.KEY_TASK,bo.VALUE_TASK_NAMED_GETLOCATIONS));
bk.push(new bo(bo.KEY_DATA+s,bg));
bk.push(new bo(bo.KEY_DATA+j,bl));
bk.push(new bo(bo.KEY_DATA+D,bq));
var bn=xbProperties.getInt(t,2000);
bk.push(new bo(bo.KEY_DATA+I,bn));
bk.push(new bo(bo.KEY_RESULTMIME,O));
bk.push(new bo(bo.KEY_BOUNCE,br));
var bj=new org.xmlBlaster.util.ServiceTO(bk);
var bp=new org.xmlBlaster.util.ServiceListTO(bj);
this.trackGui.startAjaxAnimator(this.trc(K,y),4000);
bm.registerRequest(br,120,this.onGetLocations,this,o);
this.watchee.publishServiceMessage(bp,this.trackGui.returnQosOrException,this.trackGui,z);
this.filterView.refreshButton.setEnabled(false);
this.filterView.setStatusLabelValue(this.trc(r,u));
},onGetLocations:function(ba,bb,bc){this.trackGui.stopAjaxAnimator();

if(ba==null){this.filterView.setStatusLabelValue(this.trc(r,A),q);
this.trackGui.errorMsgBox(this.trc(p,h));
this.onEnmeaArray([]);
this.filterView.refreshButton.setEnabled(true);
return;
}if(ba.isException()){this.filterView.setStatusLabelValue(this.trc(r,m),q);
this.trackGui.errorMsgBox(this.trc(p,E,ba.getBounce(),ba.getErrorMessage()));
this.onEnmeaArray([]);
this.filterView.refreshButton.setEnabled(true);
return;
}var bd=ba.getPropValue(org.xmlBlaster.util.PropTO.KEY_RESULT);

if(bd==null||bd.length==0){this.filterView.setStatusLabelValue(this.trc(r,B),q);
this.trackGui.infoMsgBox(this.trc(C,L));
this.onEnmeaArray([]);
this.filterView.refreshButton.setEnabled(true);
return;
}var be=bd.split(v);
this.filterView.setStatusLabelValue(this.trc(r,M,be.length));
this.onEnmeaArray(be);
this.filterView.refreshButton.setEnabled(true);
},setCacheStartEnd:function(a,b,c){this.timeplotDataCacheInfo.device=a;
this.timeplotDataCacheInfo.startDate=b;
this.timeplotDataCacheInfo.endDate=c;
},hasDataCached:function(U,V,W){if(this.timeplotDataCacheInfo==null||this.timeplotDataCacheInfo.startDate==null||this.timeplotDataCacheInfo.endDate==null||V==null||W==null)return false;

if(this.timeplotDataCacheInfo.device.getDeviceId()==U&&this.timeplotDataCacheInfo.startDate.getTime()<=V.getTime()&&this.timeplotDataCacheInfo.endDate.getTime()>=W.getTime())return true;
return false;
},onEnmeaArray:function(P){this.timeplotDataCacheInfo.gpsDataArr=[];

for(var i=0,l=P.length;i<l;i++){var Q=P[i];
var R=new net.watchee.GPSData(Q,this.timeplotDataCacheInfo.device);
this.timeplotDataCacheInfo.gpsDataArr.push(R);
}this.loadDataFromCache(null,null);
},loadDataFromCache:function(X,Y){this.timeplotView.loadDataFromCache(this.timeplotDataCacheInfo,X,Y);
this.historyTableView.loadDataFromCacheAsync(this.timeplotDataCacheInfo,X,Y);
},clear:function(){if(this.filterView!=null){this.filterView.clear();
}
if(this.timeplotView!=null){this.timeplotView.clear();
}if(this.historyTableView!=null){this.historyTableView.clear();
}},setStatusLabelValue:function(bC){this.filterView.setStatusLabelValue(bC);
},getSelectedDevice:function(){return this.filterView.getSelectedDevice();
},getSelectedYAxis:function(){return this.filterView.getSelectedYAxis();
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var bf="yAxis",be="listItem",bd="top",bc="",bb="label",ba="left",Y="exportFormat",X="button",W="execute",V="/",co="_",cn='">',cm="22/speed.png",cl="export:kmlPlacemarks",ck="changeValue",cj="changeSelection",ci="kmh",ch="csv",cg="BLABLA",cf="checkbox",bm="Device",bn='<input type="hidden" name="_password" value="">',bk='<input type="hidden" name="export:localeQoox" value="',bl="22/height.png",bi="h",bj="track.statistic.FilterView",bg="Please choose a device.",bh="true",bu="green",bv="22/course.png",bI="Start Date",bE="End Date",bQ="Speed km/h",bL="_blank",cb="statisticWindow.diagram.visible",bV="info box",bz="/io/rest/stat/",ce="type",cd="input",cc="downloadFormPOST",by="Height in m",bB="Export",bD='<form id="downloadFormPOST" action="" method="post" accept-charset="UTF-8" target="_blank">',bG="Diagram",bJ=":",bM="22/chart.png",bS="CSV",bX='<input type="hidden" name="export:timezoneOffsetMinutes" value="',bo="Y-Axis",bp="Course in °",bA="Table",bP="exportAdditional",bO="KML",bN="Load",bU="medium",bT="false",bK="right",bR="statisticWindow.table.visible",S="Resize",bW="name",bq="Speed, Height and Course",br="course",bF='</form>',T="?_loginName=k320i&_password=secret",U="22/download.png",bx='<input type="hidden" name="_loginName" value="">',bs="kml",bt="all",bw="hidden",bH=".",ca='<input type="hidden" name="export:locale" value="',bY="id",bC="value";
qx.Class.define(bj,{extend:qx.ui.container.Composite,construct:function(cM,cN,cO){qx.ui.container.Composite.call(this);
this.trackGui=cM;
this.statisticWindow=cN;
this.timeplotGroup=cO;
this.programmaticSetSelected=false;
this.layout=new qx.ui.layout.Grid(3,0);
this.setLayout(this.layout);
this.set({width:900,height:80});
},members:{createFilter:function(){var b=0;
var c=1;
var G=0;
var H=1;
var E=2;
var F=3;
var C=4;
var D=5;
var A=6;
var B=7;
var y=8;
var z=9;
this.layout.setColumnAlign(G,ba,bd);
this.layout.setColumnAlign(H,ba,bd);
this.layout.setColumnAlign(E,ba,bd);
this.layout.setColumnAlign(F,ba,bd);
this.layout.setColumnWidth(G,180);
this.layout.setColumnWidth(F,180);
this.layout.setColumnAlign(D,ba,bd);
this.layout.setColumnWidth(A,60);
this.layout.setColumnWidth(y,20);
this.add(new qx.ui.basic.Label(this.trc(bb,bm)),{row:b,column:G});
var j=true;
this.destinationsSelectBox=new track.util.BuddySelectBox(this.trackGui,this,j);
this.add(this.destinationsSelectBox,{row:c,column:G});
this.destinationsSelectBox.addDevicesListener(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY);
this.destinationsSelectBox.addListener(cj,function(e){if(this.programmaticSetSelected)return ;
var cL=(e.getData().length==0)?null:e.getData()[0];

if(cL==null)return ;
},this);
var k=qx.locale.Date.getDateFormat(bU,qx.locale.Manager.getInstance().getLocale());
var n=new qx.util.format.DateFormat(k);
this.add(new qx.ui.basic.Label(this.trc(bb,bI)),{row:b,column:H});
this.dateFieldStart=new track.util.DateTimePicker();
this.dateFieldStart.setDateFormat(n);
var r=new Date();
var h=r.getTime()-(24*60*60*1000);
r.setTime(h);
r.setHours(00);
r.setMinutes(00);
this.dateFieldStart.setValue(r);
this.add(this.dateFieldStart,{row:c,column:H});
this.add(new qx.ui.basic.Label(this.trc(bb,bE)),{row:b,column:E});
this.dateFieldEnd=new track.util.DateTimePicker();
this.dateFieldEnd.setDateFormat(n);
var p=new Date();
p.setHours(23);
p.setMinutes(45);
this.dateFieldEnd.setValue(p);
this.add(this.dateFieldEnd,{row:c,column:E});
this.labelHBox=new qx.ui.container.Composite(new qx.ui.layout.HBox());
var m=new qx.ui.basic.Label(this.trc(bb,bo));
this.labelHBox.add(m);
this.add(this.labelHBox,{row:b,column:F});
this.ySelectBox=new qx.ui.form.SelectBox();
this.add(this.ySelectBox,{row:c,column:F});
var I=new qx.ui.form.ListItem(this.trc(be,bQ),xbGetIcon(cm));
I.setUserData(bf,ci);
this.__of(this.ySelectBox,I);
var s=new qx.ui.form.ListItem(this.trc(be,by),xbGetIcon(bl));
s.setUserData(bf,bi);
this.__of(this.ySelectBox,s);
var w=new qx.ui.form.ListItem(this.trc(be,bp),xbGetIcon(bv));
w.setUserData(bf,br);
this.__of(this.ySelectBox,w);
var o=new qx.ui.form.ListItem(this.trc(be,bq),xbGetIcon(cm));
o.setUserData(bf,bt);
this.__of(this.ySelectBox,o);
this.ySelectBox.addListener(cj,function(e){if(this.programmaticSetSelected)return ;
var cQ=(e.getData().length==0)?null:e.getData()[0];

if(cQ==null)return ;

if(this.timeplotGroup.timeplotView!=null){this.timeplotGroup.timeplotView.changedWantedYAxis(cQ.getUserData(bf));
}},this);
this.refreshButton=new qx.ui.form.Button(this.trc(X,bN),xbGetQxIcon(bM));
this.add(this.refreshButton,{row:c,column:C});
this.refreshButton.addListener(W,function(e){this.timeplotGroup.loadStatistic();
},this);
var J=new qx.ui.container.Composite(new qx.ui.layout.VBox(5));
var g=xbProperties.getBoolean(cb,true);
this.showDiagramCheckBox=new qx.ui.form.CheckBox(this.trc(cf,bG));
J.add(this.showDiagramCheckBox);
this.showDiagramCheckBox.addListener(ck,function(e){var cu=e.getData();

if(this.timeplotGroup.timeplotView==null)return;

if(cu){this.timeplotGroup.timeplotView.setVisible(true);
}else{this.timeplotGroup.timeplotView.setVisible(false);
}},this);
var x=xbProperties.getBoolean(bR,true);
this.showTableCheckBox=new qx.ui.form.CheckBox(this.trc(cf,bA));
this.showTableCheckBox.setValue(x);
J.add(this.showTableCheckBox);
this.add(J,{row:c,column:D});
this.showTableCheckBox.addListener(ck,function(e){var cR=e.getData();

if(this.timeplotGroup.historyTable==null)return;

if(cR){this.timeplotGroup.historyTable.show();
}else{this.timeplotGroup.historyTable.exclude();
}},this);
this.exportFormatSelectBox=new qx.ui.form.SelectBox();
this.add(this.exportFormatSelectBox,{row:c,column:A});
var q=new qx.ui.form.ListItem(this.trc(be,bS));
q.setUserData(Y,ch);
this.__of(this.exportFormatSelectBox,q);
var t=new qx.ui.form.ListItem(this.trc(be,bO));
t.setUserData(Y,bs);
this.__of(this.exportFormatSelectBox,t);
this.exportButton=new qx.ui.form.Button(this.trc(X,bB),xbGetIcon(U));
this.add(this.exportButton,{row:c,column:B});
var d=44;
this.destinationsSelectBox.setMaxHeight(d);
this.ySelectBox.setMaxHeight(d);
this.refreshButton.setMaxHeight(d);
this.exportFormatSelectBox.setMaxHeight(d);
this.exportButton.setMaxHeight(d);
this.setMaxHeight(d+20);
this.setAlignY(bd);
var f=bD+
bx+
bn+
bX+
org.xmlBlaster.util.getTimezoneOffsetMinutes()+
cn+
ca+
org.xmlBlaster.util.getLocaleIdJava()+
cn+
bk+
qx.locale.Manager.getInstance().getLocale()+
cn+bF;
var u=new qx.ui.embed.Html(f);
this.add(u,{row:c,column:y});
this.exportButton.addListener(W,function(e){if(this.trackGui.watchee==null)return;
var cx=this.destinationsSelectBox.getSelectedLoginName();

if(cx==null||cx==bc){this.trackGui.errorMsgBox(this.trc(bV,bg));
return;
}var cE=this.getSelectedExportFormat();
var cD=this.getSelectedExportAdditional();
var cw=this.getStartTimestampUtcT();
var cy=this.getEndTimestampUtcT();
var cC=bz+cx+V+cw+V+cy+V;
var cA=cx+co+cw+co+cy+bH+cE;
cA=org.xmlBlaster.util.replaceAllTokens(cA,bJ,co);
var cB=cC+cA;
var cz=false;

if(cz){cB+=T;
window.open(cB,bL);
}else{var cF=window.document.getElementById(cc);
cF._loginName.value=this.trackGui.getMyLoginName();
cF._password.value=this.trackGui.getMyPassword();

if(cD!=null)this.createNewFormElement(cF,cl,bT);
else this.createNewFormElement(cF,cl,bh);
cF.action=cB;
cF.submit();
}},this);
var v=false;

if(v){this.ruleNameTextField=new qx.ui.form.TextField(bc);
this.add(this.ruleNameTextField,{row:b,column:z});
this.deleteButton=new qx.ui.form.Button(this.trc(X,S));
this.add(this.deleteButton,{row:c,column:z});
this.deleteButton.addListener(W,function(e){var cp=org.xmlBlaster.util.toNumber(this.ruleNameTextField.getValue(),200);
alert("Setting height="+cp);
this.statisticWindow.setMaxHeight(cp);
},this);
}this.statusLabel=new qx.ui.basic.Label(this.trc(bb,bc));
{this.statusLabel.setTextAlign(bK);
this.labelHBox.add(new qx.ui.core.Spacer(40));
this.labelHBox.add(this.statusLabel);
};
return this;
},createNewFormElement:function(cU,cV,cW){var cX=null;

for(var i=0;i<cU.elements.length;i++){if(cU.elements[i].id==cg){cX=cU.elements[i];
break;
}}
if(cX==null){var cX=document.createElement(cd);
cX.setAttribute(ce,bw);
cX.setAttribute(bY,cg);
cX.setAttribute(bW,cV);
cX.setAttribute(bC,cW);
cU.appendChild(cX);
}else{cX.value=cW;
}return cX;
},setStatusLabelValue:function(O,P){var P=P||bu;
this.statusLabel.setTextColor(P);
this.statusLabel.setValue(O);
},setQueryData:function(cG,cH,cI,cJ){if(this.destinationsSelectBox==null)return;
var cG=cG||null;
var cH=cH||null;
var cI=cI||null;
var cJ=cJ||null;

if(cG!=null){this.destinationsSelectBox.selectLoginName(cG);
}
if(cH!=null){this.dateFieldStart.setValue(cH);
}
if(cI!=null){this.dateFieldEnd.setValue(cI);
}
if(cJ!=null){var cK=this.selectYAxis(cJ);
}return;
},getStartDate:function(){return this.dateFieldStart.getValue();
},getStartTimestampUtcT:function(){var cv=this.getStartDate();

if(cv==null)return bc;
return org.xmlBlaster.util.getDateStr(cv);
},getEndDate:function(){var R=this.dateFieldEnd.getValue();
return R;
},getEndTimestampUtcT:function(){var cr=this.getEndDate();

if(cr==null)return bc;
return org.xmlBlaster.util.getDateStr(cr);
},__of:function(cs,ct){this.programmaticSetSelected=true;
cs.add(ct);
this.programmaticSetSelected=false;
},selectYAxis:function(cS){var cT=this.__og(cS);

if(cT!=null)this.ySelectBox.setSelection([cT]);
return cT;
},__og:function(K){var K=K||null;

if(K==null)return null;
var M=this.ySelectBox.getChildren();

for(var i=0,l=M.length;i<l;i++){var N=M[i];
var L=N.getUserData(bf);

if(L==K)return N;
}return null;
},getSelectedYAxis:function(){var cq=this.ySelectBox.getSelection()[0];

if(cq==null)return ci;
return cq.getUserData(bf);
},getSelectedExportFormat:function(){var a=this.exportFormatSelectBox.getSelection()[0];

if(a==null)return ch;
return a.getUserData(Y);
},getSelectedExportAdditional:function(){var Q=this.exportFormatSelectBox.getSelection()[0];

if(Q==null)return null;
return Q.getUserData(bP);
},getSelectedDevice:function(){var cP=this.destinationsSelectBox.getSelectedBuddyTO();

if(cP==null)return null;
return cP.getDevice();
},getSelectedBuddyTO:function(){return this.destinationsSelectBox.getSelectedBuddyTO();
},getSelectedLoginName:function(){return this.destinationsSelectBox.getSelectedLoginName();
},clear:function(){}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var j="buddyTO",h="updateFriendOfListenerFunc",g="onlineStatusListenerFunc",f="updateFriendOf",e="changed",d="track.util.BuddySelectBox",c="";
qx.Class.define(d,{extend:qx.ui.form.SelectBox,construct:function(C,D,E){qx.ui.form.SelectBox.call(this);
this.trackGui=C;
this.parentWindow=D;
this.programmaticSetSelected=false;
this.buddyChangedEventFunc=null;
this.onlyBuddiesWithHardware=(E==undefined)?false:E;
},members:{addDevicesListener:function(r){this.buddyChangedEventFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(e,function(F){this.__oh();
},this);
this.__oh();
},__oh:function(){if(this.trackGui.watchee==null)return;

if(!this.trackGui.watchee.getBuddyManager().buddiesInboundIsSet)return;
var u=u||net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY;
var w=this.trackGui.watchee.getBuddyManager().getFriendOfList(u);
this.removeAll();
var z=this.trackGui.watchee.getAccountTO().getBuddyTO();
var y=this.__oi(z);

if(y!=null){this.add(y);
this.setSelection([y]);
}
for(var i=0,l=w.length;i<l;i++){var v=w[i];
var x=this.__oi(v);

if(x!=null){this.add(x);
}}},__oi:function(k){if(this.onlyBuddiesWithHardware){if(!k.getDeviceInfo().hasTrackerConfigured()){return null;
}}var o=new qx.ui.form.ListItem(k.getAliasAndLoginName(),k.getAvatarIconUrl(),k.getLoginName());
var m=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,function(B){if(B.getData().loginName==o.getModel())o.setIcon(B.getData().buddyTO.getAvatarIconUrl());
},this);
o.setUserData(g,m);
var n=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(f,function(A){if(A.getData().buddyTO.getLoginName()==o.getModel())o.setIcon(A.getData().buddyTO.getAvatarIconUrl());
},this);
o.setUserData(h,n);
o.setUserData(j,k);
return o;
},getSelectedBuddyTO:function(){var a=this.getSelection()[0];

if(a==null)return null;
return a.getUserData(j);
},getSelectedLoginName:function(){var b=this.getSelection()[0];

if(b==null)return c;
return b.getModel();
},__oj:function(I){var I=I||null;

if(I==null)return null;
var K=this.getChildren();

for(var i=0,l=K.length;i<l;i++){var L=K[i];
var J=L.getModel();

if(J==I)return L;
}return null;
},selectLoginName:function(s){var t=this.__oj(s);

if(t!=null)this.setSelection([t]);
},__ok:function(G,H){this.programmaticSetSelected=true;
G.add(H);
this.programmaticSetSelected=false;
},clear:function(){if(this.buddyChangedEventFunc!=null){this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(e,this.buddyChangedEventFunc);
this.buddyChangedEventFunc=null;
}var p=this.getChildren();

for(var i=0,l=p.length;i<l;i++){var q=p[i];

if(q!=null){this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,q.getUserData(g));
this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(f,q.getUserData(h));
return q;
}}this.removeAll();
}},destruct:function(){}});
})();
(function(){var H="_",G="format",F="thu",E="sat",D="cldr_day_",C="cldr_month_",B="wed",A="fri",z="tue",y="mon",Y="sun",X="short",W="HH:mm",V="HHmmsszz",U="HHmm",T="HHmmss",S="cldr_date_format_",R="HH:mm:ss zz",Q="full",P="cldr_pm",N="long",O="medium",L="cldr_am",M="qx.locale.Date",J="cldr_date_time_format_",K="cldr_time_format_",I="HH:mm:ss";
qx.Class.define(M,{statics:{__ol:qx.locale.Manager.getInstance(),getAmMarker:function(f){return this.__ol.localize(L,[],f);
},getPmMarker:function(g){return this.__ol.localize(P,[],g);
},getDayNames:function(length,bh,bi){var bi=bi?bi:G;
{};
var bk=[Y,y,z,B,F,A,E];
var bl=[];

for(var i=0;i<bk.length;i++){var bj=D+bi+H+length+H+bk[i];
bl.push(this.__ol.localize(bj,[],bh));
}return bl;
},getDayName:function(length,m,n,o){var o=o?o:G;
{};
var q=[Y,y,z,B,F,A,E];
var p=D+o+H+length+H+q[m];
return this.__ol.localize(p,[],n);
},getMonthNames:function(length,h,j){var j=j?j:G;
{};
var l=[];

for(var i=0;i<12;i++){var k=C+j+H+length+H+(i+1);
l.push(this.__ol.localize(k,[],h));
}return l;
},getMonthName:function(length,bm,bn,bo){var bo=bo?bo:G;
{};
var bp=C+bo+H+length+H+(bm+1);
return this.__ol.localize(bp,[],bn);
},getDateFormat:function(bq,br){{};
var bs=S+bq;
return this.__ol.localize(bs,[],br);
},getDateTimeFormat:function(a,b,c){var e=J+a;
var d=this.__ol.localize(e,[],c);

if(d==e){d=b;
}return d;
},getTimeFormat:function(u,v){{};
var x=K+u;
var w=this.__ol.localize(x,[],v);

if(w!=x){return w;
}
switch(u){case X:case O:return qx.locale.Date.getDateTimeFormat(U,W);
case N:return qx.locale.Date.getDateTimeFormat(T,I);
case Q:return qx.locale.Date.getDateTimeFormat(V,R);
default:throw new Error("This case should never happen.");
}},getWeekStart:function(be){var bf={"MV":5,"AE":6,"AF":6,"BH":6,"DJ":6,"DZ":6,"EG":6,"ER":6,"ET":6,"IQ":6,"IR":6,"JO":6,"KE":6,"KW":6,"LB":6,"LY":6,"MA":6,"OM":6,"QA":6,"SA":6,"SD":6,"SO":6,"TN":6,"YE":6,"AS":0,"AU":0,"AZ":0,"BW":0,"CA":0,"CN":0,"FO":0,"GE":0,"GL":0,"GU":0,"HK":0,"IE":0,"IL":0,"IS":0,"JM":0,"JP":0,"KG":0,"KR":0,"LA":0,"MH":0,"MN":0,"MO":0,"MP":0,"MT":0,"NZ":0,"PH":0,"PK":0,"SG":0,"TH":0,"TT":0,"TW":0,"UM":0,"US":0,"UZ":0,"VI":0,"ZA":0,"ZW":0,"MW":0,"NG":0,"TJ":0};
var bg=qx.locale.Date._getTerritory(be);
return bf[bg]!=null?bf[bg]:1;
},getWeekendStart:function(bt){var bv={"EG":5,"IL":5,"SY":5,"IN":0,"AE":4,"BH":4,"DZ":4,"IQ":4,"JO":4,"KW":4,"LB":4,"LY":4,"MA":4,"OM":4,"QA":4,"SA":4,"SD":4,"TN":4,"YE":4};
var bu=qx.locale.Date._getTerritory(bt);
return bv[bu]!=null?bv[bu]:6;
},getWeekendEnd:function(r){var s={"AE":5,"BH":5,"DZ":5,"IQ":5,"JO":5,"KW":5,"LB":5,"LY":5,"MA":5,"OM":5,"QA":5,"SA":5,"SD":5,"TN":5,"YE":5,"AF":5,"IR":5,"EG":6,"IL":6,"SY":6};
var t=qx.locale.Date._getTerritory(r);
return s[t]!=null?s[t]:0;
},isWeekend:function(ba,bb){var bd=qx.locale.Date.getWeekendStart(bb);
var bc=qx.locale.Date.getWeekendEnd(bb);

if(bc>bd){return ((ba>=bd)&&(ba<=bc));
}else{return ((ba>=bd)||(ba<=bc));
}},_getTerritory:function(bw){if(bw){var bx=bw.split(H)[1]||bw;
}else{bx=this.__ol.getTerritory()||this.__ol.getLanguage();
}return bx.toUpperCase();
}}});
})();
(function(){var cr="(\\d\\d?)",cq="format",cp="",co="abbreviated",cn="wide",cm="(",cl=")",ck="|",cj="stand-alone",ci="wildcard",bW="default",bV="literal",bU="'",bT="hour",bS="(\\d\\d?\\d?)",bR="ms",bQ="narrow",bP="-",bO="quoted_literal",bN='a',cy="HH:mm:ss",cz="+",cw="HHmmss",cx="long",cu='z',cv="0",cs="sec",ct="day",cA='Z',cB=" ",cb="min",ca="mm",cd="(\\d+)",cc="h",cf="KK",ce='L',ch="Z",cg="(\\d\\d+)",bY="EEEE",bX="^",O=":",P='y',Q="K",R="a",S="([\\+\\-]\\d\\d:?\\d\\d)",T="GMT",U="dd",V="qx.util.format.DateFormat",W="yyy",X="H",cF="YYYY",cE="y",cD="HH",cC="EE",cJ='h',cI="S",cH='s',cG='A',cL="yyyyyy",cK="kk",bx="ss",by='H',bv='S',bw="MMMM",bB='c',bC="d",bz="([a-zA-Z]+)",bA='k',bt="m",bu='Y',bg='D',bf="yyyyy",bi='K',bh="hh",bc="SSS",bb="MM",be="yy",bd="(\\d\\d\\d\\d\\d\\d+)",ba="yyyy-MM-dd HH:mm:ss",Y="(\\d\\d\\d\\d\\d+)",bH="short",bI='d',bJ="unkown",bK='m',bD="(\\d\\d\\d\\d)",bE="(\\d\\d\\d+)",bF="k",bG='M',bL="(\\d\\d\\d\\d+)",bM="SS",bq="MMM",bp="s",bo="M",bn='w',bm="EEE",bl="$",bk="?",bj='E',bs="z",br="yyyy";
qx.Class.define(V,{extend:qx.core.Object,implement:qx.util.format.IFormat,construct:function(p,q){qx.core.Object.call(this);

if(!q){this.__om=qx.locale.Manager.getInstance().getLocale();
}else{this.__om=q;
}
if(p!=null){this.__on=p.toString();
}else{this.__on=qx.locale.Date.getDateFormat(cx,this.__om)+cB+qx.locale.Date.getDateTimeFormat(cw,cy,this.__om);
}},statics:{getDateTimeInstance:function(){var l=qx.util.format.DateFormat;
var k=qx.locale.Date.getDateFormat(cx)+cB+qx.locale.Date.getDateTimeFormat(cw,cy);

if(l._dateInstance==null||l._dateInstance.__on!=k){l._dateTimeInstance=new l();
}return l._dateTimeInstance;
},getDateInstance:function(){var E=qx.util.format.DateFormat;
var D=qx.locale.Date.getDateFormat(bH)+cp;

if(E._dateInstance==null||E._dateInstance.__on!=D){E._dateInstance=new E(D);
}return E._dateInstance;
},ASSUME_YEAR_2000_THRESHOLD:30,LOGGING_DATE_TIME__format:ba,AM_MARKER:"am",PM_MARKER:"pm",MEDIUM_TIMEZONE_NAMES:["GMT"],FULL_TIMEZONE_NAMES:["Greenwich Mean Time"]},members:{__om:null,__on:null,__oo:null,__op:null,__oq:null,__or:function(L,M){var N=cp+L;

while(N.length<M){N=cv+N;
}return N;
},__os:function(g){var h=new Date(g.getTime());
var j=h.getDate();

while(h.getMonth()!=0){h.setDate(-1);
j+=h.getDate()+1;
}return j;
},__ot:function(m){return new Date(m.getTime()+(3-((m.getDay()+6)%7))*86400000);
},__ou:function(a){var c=this.__ot(a);
var d=c.getFullYear();
var b=this.__ot(new Date(d,0,4));
return Math.floor(1.5+(c.getTime()-b.getTime())/86400000/7);
},format:function(dp){if(dp==null){return null;
}var dv=qx.util.format.DateFormat;
var dw=this.__om;
var dG=dp.getFullYear();
var dA=dp.getMonth();
var dI=dp.getDate();
var dq=dp.getDay();
var dB=dp.getHours();
var dx=dp.getMinutes();
var dC=dp.getSeconds();
var dE=dp.getMilliseconds();
var dH=dp.getTimezoneOffset();
var dt=dH>0?1:-1;
var dr=Math.floor(Math.abs(dH)/60);
var dy=Math.abs(dH)%60;
this.__ov();
var dF=cp;

for(var i=0;i<this.__oq.length;i++){var dD=this.__oq[i];

if(dD.type==bV){dF+=dD.text;
}else{var du=dD.character;
var dz=dD.size;
var ds=bk;

switch(du){case P:case bu:if(dz==2){ds=this.__or(dG%100,2);
}else{ds=dG+cp;

if(dz>ds.length){for(var i=ds.length;i<dz;i++){ds=cv+ds;
}}}break;
case bg:ds=this.__or(this.__os(dp),dz);
break;
case bI:ds=this.__or(dI,dz);
break;
case bn:ds=this.__or(this.__ou(dp),dz);
break;
case bj:if(dz==2){ds=qx.locale.Date.getDayName(bQ,dq,dw,cq);
}else if(dz==3){ds=qx.locale.Date.getDayName(co,dq,dw,cq);
}else if(dz==4){ds=qx.locale.Date.getDayName(cn,dq,dw,cq);
}break;
case bB:if(dz==2){ds=qx.locale.Date.getDayName(bQ,dq,dw,cj);
}else if(dz==3){ds=qx.locale.Date.getDayName(co,dq,dw,cj);
}else if(dz==4){ds=qx.locale.Date.getDayName(cn,dq,dw,cj);
}break;
case bG:if(dz==1||dz==2){ds=this.__or(dA+1,dz);
}else if(dz==3){ds=qx.locale.Date.getMonthName(co,dA,dw,cq);
}else if(dz==4){ds=qx.locale.Date.getMonthName(cn,dA,dw,cq);
}break;
case ce:if(dz==1||dz==2){ds=this.__or(dA+1,dz);
}else if(dz==3){ds=qx.locale.Date.getMonthName(co,dA,dw,cj);
}else if(dz==4){ds=qx.locale.Date.getMonthName(cn,dA,dw,cj);
}break;
case bN:ds=(dB<12)?qx.locale.Date.getAmMarker(dw):qx.locale.Date.getPmMarker(dw);
break;
case by:ds=this.__or(dB,dz);
break;
case bA:ds=this.__or((dB==0)?24:dB,dz);
break;
case bi:ds=this.__or(dB%12,dz);
break;
case cJ:ds=this.__or(((dB%12)==0)?12:(dB%12),dz);
break;
case bK:ds=this.__or(dx,dz);
break;
case cH:ds=this.__or(dC,dz);
break;
case bv:ds=this.__or(dE,dz);
break;
case cu:if(dz==1){ds=T+((dt>0)?bP:cz)+this.__or(Math.abs(dr))+O+this.__or(dy,2);
}else if(dz==2){ds=dv.MEDIUM_TIMEZONE_NAMES[dr];
}else if(dz==3){ds=dv.FULL_TIMEZONE_NAMES[dr];
}break;
case cA:ds=((dt>0)?bP:cz)+this.__or(Math.abs(dr),2)+this.__or(dy,2);
break;
}dF+=ds;
}}return dF;
},parse:function(cO){this.__ow();
var cU=this.__oo.regex.exec(cO);

if(cU==null){throw new Error("Date string '"+cO+"' does not match the date format: "+this.__on);
}var cP={year:1970,month:0,day:1,hour:0,ispm:false,min:0,sec:0,ms:0};
var cQ=1;

for(var i=0;i<this.__oo.usedRules.length;i++){var cS=this.__oo.usedRules[i];
var cR=cU[cQ];

if(cS.field!=null){cP[cS.field]=parseInt(cR,10);
}else{cS.manipulator(cP,cR);
}cQ+=(cS.groups==null)?1:cS.groups;
}var cT=new Date(cP.year,cP.month,cP.day,(cP.ispm)?(cP.hour+12):cP.hour,cP.min,cP.sec,cP.ms);

if(cP.month!=cT.getMonth()||cP.year!=cT.getFullYear()){throw new Error("Error parsing date '"+cO+"': the value for day or month is too large");
}return cT;
},__ov:function(){if(this.__oq!=null){return;
}this.__oq=[];
var y;
var w=0;
var A=cp;
var u=this.__on;
var x=bW;
var i=0;

while(i<u.length){var z=u.charAt(i);

switch(x){case bO:if(z==bU){if(i+1>=u.length){i++;
break;
}var v=u.charAt(i+1);

if(v==bU){A+=z;
i++;
}else{i++;
x=bJ;
}}else{A+=z;
i++;
}break;
case ci:if(z==y){w++;
i++;
}else{this.__oq.push({type:ci,character:y,size:w});
y=null;
w=0;
x=bW;
}break;
default:if((z>=bN&&z<=cu)||(z>=cG&&z<=cA)){y=z;
x=ci;
}else if(z==bU){if(i+1>=u.length){A+=z;
i++;
break;
}var v=u.charAt(i+1);

if(v==bU){A+=z;
i++;
}i++;
x=bO;
}else{x=bW;
}
if(x!=bW){if(A.length>0){this.__oq.push({type:bV,text:A});
A=cp;
}}else{A+=z;
i++;
}break;
}}if(y!=null){this.__oq.push({type:ci,character:y,size:w});
}else if(A.length>0){this.__oq.push({type:bV,text:A});
}},__ow:function(){if(this.__oo!=null){return ;
}var db=this.__on;
this.__ox();
this.__ov();
var dh=[];
var dd=bX;

for(var cY=0;cY<this.__oq.length;cY++){var di=this.__oq[cY];

if(di.type==bV){dd+=qx.lang.String.escapeRegexpChars(di.text);
}else{var da=di.character;
var de=di.size;
var dc;

for(var dj=0;dj<this.__op.length;dj++){var df=this.__op[dj];

if(da==df.pattern.charAt(0)&&de==df.pattern.length){dc=df;
break;
}}if(dc==null){var dg=cp;

for(var i=0;i<de;i++){dg+=da;
}throw new Error("Malformed date format: "+db+". Wildcard "+dg+" is not supported");
}else{dh.push(dc);
dd+=dc.regex;
}}}dd+=bl;
var cX;

try{cX=new RegExp(dd);
}catch(t){throw new Error("Malformed date format: "+db);
}this.__oo={regex:cX,"usedRules":dh,pattern:dd};
},__ox:function(){var dO=qx.util.format.DateFormat;
var dU=qx.lang.String;

if(this.__op!=null){return ;
}var dP=this.__op=[];
var ec=function(cV,cW){cW=parseInt(cW,10);

if(cW<dO.ASSUME_YEAR_2000_THRESHOLD){cW+=2000;
}else if(cW<100){cW+=1900;
}cV.year=cW;
};
var dV=function(F,G){F.month=parseInt(G,10)-1;
};
var dS=function(dm,dn){dm.ispm=(dn==dO.PM_MARKER);
};
var dR=function(B,C){B.hour=parseInt(C,10)%24;
};
var dQ=function(n,o){n.hour=parseInt(o,10)%12;
};
var dY=function(H,I){return;
};
var dW=qx.locale.Date.getMonthNames(co,this.__om,cq);

for(var i=0;i<dW.length;i++){dW[i]=dU.escapeRegexpChars(dW[i].toString());
}var dX=function(J,K){K=dU.escapeRegexpChars(K);
J.month=dW.indexOf(K);
};
var dL=qx.locale.Date.getMonthNames(cn,this.__om,cq);

for(var i=0;i<dL.length;i++){dL[i]=dU.escapeRegexpChars(dL[i].toString());
}var dK=function(dk,dl){dl=dU.escapeRegexpChars(dl);
dk.month=dL.indexOf(dl);
};
var dN=qx.locale.Date.getDayNames(bQ,this.__om,cq);

for(var i=0;i<dN.length;i++){dN[i]=dU.escapeRegexpChars(dN[i].toString());
}var dJ=function(cM,cN){cN=dU.escapeRegexpChars(cN);
cM.month=dN.indexOf(cN);
};
var ea=qx.locale.Date.getDayNames(co,this.__om,cq);

for(var i=0;i<ea.length;i++){ea[i]=dU.escapeRegexpChars(ea[i].toString());
}var dT=function(e,f){f=dU.escapeRegexpChars(f);
e.month=ea.indexOf(f);
};
var eb=qx.locale.Date.getDayNames(cn,this.__om,cq);

for(var i=0;i<eb.length;i++){eb[i]=dU.escapeRegexpChars(eb[i].toString());
}var dM=function(r,s){s=dU.escapeRegexpChars(s);
r.month=eb.indexOf(s);
};
dP.push({pattern:cF,regex:bD,manipulator:ec});
dP.push({pattern:cE,regex:cd,manipulator:ec});
dP.push({pattern:be,regex:cg,manipulator:ec});
dP.push({pattern:W,regex:bE,manipulator:ec});
dP.push({pattern:br,regex:bL,manipulator:ec});
dP.push({pattern:bf,regex:Y,manipulator:ec});
dP.push({pattern:cL,regex:bd,manipulator:ec});
dP.push({pattern:bo,regex:cr,manipulator:dV});
dP.push({pattern:bb,regex:cr,manipulator:dV});
dP.push({pattern:bq,regex:cm+dW.join(ck)+cl,manipulator:dX});
dP.push({pattern:bw,regex:cm+dL.join(ck)+cl,manipulator:dK});
dP.push({pattern:U,regex:cr,field:ct});
dP.push({pattern:bC,regex:cr,field:ct});
dP.push({pattern:cC,regex:cm+dN.join(ck)+cl,manipulator:dJ});
dP.push({pattern:bm,regex:cm+ea.join(ck)+cl,manipulator:dT});
dP.push({pattern:bY,regex:cm+eb.join(ck)+cl,manipulator:dM});
dP.push({pattern:R,regex:cm+dO.AM_MARKER+ck+dO.PM_MARKER+cl,manipulator:dS});
dP.push({pattern:cD,regex:cr,field:bT});
dP.push({pattern:X,regex:cr,field:bT});
dP.push({pattern:cK,regex:cr,manipulator:dR});
dP.push({pattern:bF,regex:cr,manipulator:dR});
dP.push({pattern:cf,regex:cr,field:bT});
dP.push({pattern:Q,regex:cr,field:bT});
dP.push({pattern:bh,regex:cr,manipulator:dQ});
dP.push({pattern:cc,regex:cr,manipulator:dQ});
dP.push({pattern:ca,regex:cr,field:cb});
dP.push({pattern:bt,regex:cr,field:cb});
dP.push({pattern:bx,regex:cr,field:cs});
dP.push({pattern:bp,regex:cr,field:cs});
dP.push({pattern:bc,regex:bS,field:bR});
dP.push({pattern:bM,regex:bS,field:bR});
dP.push({pattern:cI,regex:bS,field:bR});
dP.push({pattern:ch,regex:S,manipulator:dY});
dP.push({pattern:bs,regex:bz,manipulator:dY});
}},destruct:function(){this.__oq=this.__oo=this.__op=null;
}});
})();
(function(){var b="qx.ui.form.IDateForm",a="qx.event.type.Data";
qx.Interface.define(b,{events:{"changeValue":a},members:{setValue:function(c){return arguments.length==1;
},resetValue:function(){},getValue:function(){}}});
})();
(function(){var a="track.util.DateTimePicker";
qx.Class.define(a,{extend:qx.ui.container.Composite,implement:[qx.ui.form.IDateForm],construct:function(){qx.ui.container.Composite.call(this);
this.setLayout(new qx.ui.layout.VBox());
this.__oy=new qx.ui.form.DateField();
this.add(this.__oy);
this.__oz=new track.util.TimeField();
this.add(this.__oz);
},members:{__oz:null,__oy:null,setValue:function(e){this.__oy.setValue(e);
this.__oz.setValue(e);
},getValue:function(){var c=this.__oy.getValue();
var d=this.__oz.getValue();
c.setHours(d.getHours());
c.setMinutes(d.getMinutes());
return c;
},resetValue:function(){this.__oy.setValue(0);
this.__oz.setValue(0);
},setDateFormat:function(b){this.__oy.setDateFormat(b);
}}});
})();
(function(){var A="textfield",z="button",y="list",x="selected",w="focusout",v="inner",u="changeValue",t="popup",s="focusin",r="combobox",k="click",q="blur",n="Enter",j="quick",i="_applyPlaceholder",m="qx.ui.form.ComboBox",l="single",o="Down",h="String",p="qx.event.type.Data";
qx.Class.define(m,{extend:qx.ui.form.AbstractSelectBox,implement:[qx.ui.form.IStringForm],construct:function(){qx.ui.form.AbstractSelectBox.call(this);
var F=this._createChildControl(A);
this._createChildControl(z);
this.addListener(k,this._onClick);
this.addListener(s,function(e){F.fireNonBubblingEvent(s,qx.event.type.Focus);
},this);
this.addListener(w,function(e){F.fireNonBubblingEvent(w,qx.event.type.Focus);
},this);
},properties:{appearance:{refine:true,init:r},placeholder:{check:h,nullable:true,apply:i}},events:{"changeValue":p},members:{__oA:null,__oB:null,_applyPlaceholder:function(G,H){this.getChildControl(A).setPlaceholder(G);
},_createChildControlImpl:function(B){var C;

switch(B){case A:C=new qx.ui.form.TextField();
C.setFocusable(false);
C.addState(v);
C.addListener(u,this._onTextFieldChangeValue,this);
C.addListener(q,this.close,this);
this._add(C,{flex:1});
break;
case z:C=new qx.ui.form.Button();
C.setFocusable(false);
C.setKeepActive(true);
C.addState(v);
this._add(C);
break;
case y:C=qx.ui.form.AbstractSelectBox.prototype._createChildControlImpl.call(this,B);
C.setSelectionMode(l);
break;
}return C||qx.ui.form.AbstractSelectBox.prototype._createChildControlImpl.call(this,B);
},_forwardStates:{focused:true},tabFocus:function(){var g=this.getChildControl(A);
g.getFocusElement().focus();
g.selectAllText();
},setValue:function(b){var c=this.getChildControl(A);

if(c.getValue()==b){return;
}c.setValue(b);
},getValue:function(){return this.getChildControl(A).getValue();
},resetValue:function(){this.getChildControl(A).setValue(null);
},_onKeyPress:function(e){var E=this.getChildControl(t);
var D=e.getKeyIdentifier();

if(D==o&&e.isAltPressed()){this.getChildControl(z).addState(x);
this.toggle();
e.stopPropagation();
}else if(D==n){if(E.isVisible()){this.close();
e.stop();
}}else if(E.isVisible()){qx.ui.form.AbstractSelectBox.prototype._onKeyPress.call(this,e);
}},_onClick:function(e){var a=e.getTarget();

if(a==this.getChildControl(z)){this.toggle();
}else{this.close();
}},_onListMouseDown:function(e){if(this.__oA){var L=this.__oA.getLabel();

if(this.getFormat()!=null){L=this.getFormat().call(this,this.__oA);
}if(L&&L.translate){L=L.translate();
}this.setValue(L);
this.__oA=null;
}},_onListChangeSelection:function(e){var M=e.getData();

if(M.length>0){var N=this.getChildControl(y);

if(N.getSelectionContext()==j){this.__oA=M[0];
}else{var O=M[0].getLabel();

if(this.getFormat()!=null){O=this.getFormat().call(this,M[0]);
}if(O&&O.translate){O=O.translate();
}this.setValue(O);
this.__oA=null;
}}},_onPopupChangeVisibility:function(e){var Q=this.getChildControl(t);

if(Q.isVisible()){var R=this.getChildControl(y);
var S=this.getValue();
var P=null;

if(S){P=R.findItem(S);
}
if(P){R.setSelection([P]);
}else{R.resetSelection();
}}else{this.tabFocus();
}this.getChildControl(z).removeState(x);
},_onTextFieldChangeValue:function(e){var K=e.getData();
var J=this.getChildControl(y);

if(K!=null){var I=J.findItem(K,false);

if(I){J.setSelection([I]);
}else{J.resetSelection();
}}else{J.resetSelection();
}this.fireDataEvent(u,K,e.getOldData());
},getTextSelection:function(){return this.getChildControl(A).getTextSelection();
},getTextSelectionLength:function(){return this.getChildControl(A).getTextSelectionLength();
},setTextSelection:function(d,f){this.getChildControl(A).setTextSelection(d,f);
},clearTextSelection:function(){this.getChildControl(A).clearTextSelection();
},selectAllText:function(){this.getChildControl(A).selectAllText();
}}});
})();
(function(){var u="list",t="textfield",s="popup",r="Down",q="",p="Escape",o="qx.util.format.DateFormat",n="changeValue",m="Left",l="Up",G="execute",F="changeLocale",E="_applyDateFormat",D="changeVisibility",C="qx.dynlocale",B="medium",A="mouseup",z="qx.ui.form.DateField",y="datefield",x="hidden",v="on",w="Right";
qx.Class.define(z,{extend:qx.ui.form.ComboBox,implement:[qx.ui.form.IDateForm],construct:function(){qx.ui.form.ComboBox.call(this);
this.setDateFormat(qx.ui.form.DateField.getDefaultDateFormatter());
if(qx.core.Variant.isSet(C,v)){qx.locale.Manager.getInstance().addListener(F,function(){this.setDateFormat(qx.ui.form.DateField.getDefaultDateFormatter());
},this);
}},properties:{appearance:{refine:true,init:y},dateFormat:{check:o,apply:E}},statics:{__oC:null,__oD:null,getDefaultDateFormatter:function(){var c=qx.locale.Date.getDateFormat(B).toString();

if(c==this.__oC){return this.__oD;
}
if(this.__oD){this.__oD.dispose();
}this.__oD=new qx.util.format.DateFormat(c,qx.locale.Manager.getInstance().getLocale());
this.__oC=c;
return this.__oD;
}},members:{setValue:function(K){var L=this.getChildControl(t);
L.setValue(this.getDateFormat().format(K));
var M=this.getChildControl(u);
M.setValue(K);
},getValue:function(){var N=this.getChildControl(t).getValue();
try{return this.getDateFormat().parse(N);
}catch(O){return null;
}},resetValue:function(){var P=this.getChildControl(t);
P.setValue(q);
var Q=this.getChildControl(u);
Q.setValue(null);
},_applyDateFormat:function(g,h){try{var j=this.getChildControl(t);
var k=j.getValue();
var i=h.parse(k);
j.setValue(g.format(i));
}catch(U){}},_createChildControlImpl:function(d){var f;

switch(d){case u:f=new qx.ui.control.DateChooser();
f.setFocusable(false);
f.setKeepFocus(true);
f.addListener(G,this._onChangeDate,this);
break;
case s:f=new qx.ui.popup.Popup(new qx.ui.layout.VBox);
f.setAutoHide(false);
f.add(this.getChildControl(u));
f.addListener(A,this._onChangeDate,this);
f.addListener(D,this._onPopupChangeVisibility,this);
break;
}return f||qx.ui.form.ComboBox.prototype._createChildControlImpl.call(this,d);
},_onChangeDate:function(e){var a=this.getChildControl(t);
var b=this.getChildControl(u).getValue();
a.setValue(this.getDateFormat().format(b));
this.close();
},_onKeyPress:function(e){var V=e.getKeyIdentifier();

if(V==r&&e.isAltPressed()){this.toggle();
e.stopPropagation();
return;
}var W=this.getChildControl(s);

if(W.getVisibility()==x){return;
}if(V==p){this.close();
e.stopPropagation();
return;
}if(V===m||V===w||V===r||V===l){e.preventDefault();
}this.getChildControl(u).handleKeyPress(e);
},_onPopupChangeVisibility:function(e){var S=this.getChildControl(s);

if(S.isVisible()){var T=this.getChildControl(u);
var R=this.getValue();
T.setValue(R);
}},_onTextFieldChangeValue:function(e){var I=this.getValue();

if(I!=null){var J=this.getChildControl(u);
J.setValue(I);
}this.fireDataEvent(n,this.getValue());
},isEmpty:function(){var H=this.getChildControl(t).getValue();
return H==null||H==q;
}}});
})();
(function(){var v="selected",u="click",t="last-month-button",s="default",r="next-month-button",q="otherMonth",p="month-year-label",o="last-year-button",n="navigation-bar",m="next-year-button",bv="date-pane",bu="PageUp",bt="mousedown",bs="today",br="Integer",bq="PageDown",bp="changeLocale",bo="next-month-button-tooltip",bn="last-month-button-tooltip",bm="qx.dynlocale",E="last-year-button-tooltip",F="next-year-button-tooltip",C="on",D="weekend",A="day",B="lastMonth",w="Next month",z="Escape",I="Left",J="weekday",R="changeValue",P="Space",ba="Down",U="qx.ui.control.DateChooser",bi="Date",bf="Enter",L="dblclick",bl="day#",bk="Next year",bj="ww",K="_applyValue",N="Up",O="weekday#",Q="datechooser",S="header",V="week",bc="lastYear",bh="nextYear",G="changeShownYear",H="week#",M="Last month",Y="Right",X="Last year",W="EE",be="mouseup",bd="keypress",T="",bb="nextMonth",l="week#0",bg="changeShownMonth";
qx.Class.define(U,{extend:qx.ui.core.Widget,include:[qx.ui.core.MExecutable,qx.ui.form.MForm],implement:[qx.ui.form.IExecutable,qx.ui.form.IForm,qx.ui.form.IDateForm],construct:function(c){qx.ui.core.Widget.call(this);
var f=new qx.ui.layout.VBox();
this._setLayout(f);
this._createChildControl(n);
this._createChildControl(bv);
this.addListener(bd,this._onKeyPress);
var d=(c!=null)?c:new Date();
this.showMonth(d.getMonth(),d.getFullYear());
if(qx.core.Variant.isSet(bm,C)){qx.locale.Manager.getInstance().addListener(bp,this._updateDatePane,this);
}this.addListener(bt,this._onMouseUpDown,this);
this.addListener(be,this._onMouseUpDown,this);
},statics:{MONTH_YEAR_FORMAT:qx.locale.Date.getDateTimeFormat("yyyyMMMM","MMMM yyyy")},properties:{appearance:{refine:true,init:Q},width:{refine:true,init:200},height:{refine:true,init:150},shownMonth:{check:br,init:null,nullable:true,event:bg},shownYear:{check:br,init:null,nullable:true,event:G},value:{check:bi,init:null,nullable:true,event:R,apply:K}},members:{__oE:null,__oF:null,__oG:null,_forwardStates:{invalid:true},_createChildControlImpl:function(g){var h;

switch(g){case n:h=new qx.ui.container.Composite(new qx.ui.layout.HBox());
h.add(this.getChildControl(o));
h.add(this.getChildControl(t));
h.add(this.getChildControl(p),{flex:1});
h.add(this.getChildControl(r));
h.add(this.getChildControl(m));
this._add(h);
break;
case E:h=new qx.ui.tooltip.ToolTip(this.tr(X));
break;
case o:h=new qx.ui.form.Button();
h.addState(bc);
h.setFocusable(false);
h.setToolTip(this.getChildControl(E));
h.addListener(u,this._onNavButtonClicked,this);
break;
case bn:h=new qx.ui.tooltip.ToolTip(this.tr(M));
break;
case t:h=new qx.ui.toolbar.Button();
h.addState(B);
h.setFocusable(false);
h.setToolTip(this.getChildControl(bn));
h.addListener(u,this._onNavButtonClicked,this);
break;
case bo:h=new qx.ui.tooltip.ToolTip(this.tr(w));
break;
case r:h=new qx.ui.toolbar.Button();
h.addState(bb);
h.setFocusable(false);
h.setToolTip(this.getChildControl(bo));
h.addListener(u,this._onNavButtonClicked,this);
break;
case F:h=new qx.ui.tooltip.ToolTip(this.tr(bk));
break;
case m:h=new qx.ui.toolbar.Button();
h.addState(bh);
h.setFocusable(false);
h.setToolTip(this.getChildControl(F));
h.addListener(u,this._onNavButtonClicked,this);
break;
case p:h=new qx.ui.basic.Label();
h.setAllowGrowX(true);
h.setAnonymous(true);
break;
case V:h=new qx.ui.basic.Label();
h.setAllowGrowX(true);
h.setAllowGrowY(true);
h.setSelectable(false);
h.setAnonymous(true);
h.setCursor(s);
break;
case J:h=new qx.ui.basic.Label();
h.setAllowGrowX(true);
h.setAllowGrowY(true);
h.setSelectable(false);
h.setAnonymous(true);
h.setCursor(s);
break;
case A:h=new qx.ui.basic.Label();
h.setAllowGrowX(true);
h.setAllowGrowY(true);
h.setCursor(s);
h.addListener(bt,this._onDayClicked,this);
h.addListener(L,this._onDayDblClicked,this);
break;
case bv:var j=new qx.ui.layout.Grid();
h=new qx.ui.container.Composite(j);

for(var i=0;i<8;i++){j.setColumnFlex(i,1);
}
for(var i=0;i<7;i++){j.setRowFlex(i,1);
}var k=this.getChildControl(l);
k.addState(S);
h.add(k,{column:0,row:0});
this.__oE=[];

for(var i=0;i<7;i++){k=this.getChildControl(O+i);
h.add(k,{column:i+1,row:0});
this.__oE.push(k);
}this.__oF=[];
this.__oG=[];

for(var y=0;y<6;y++){var k=this.getChildControl(H+(y+1));
h.add(k,{column:0,row:y+1});
this.__oG.push(k);
for(var x=0;x<7;x++){var k=this.getChildControl(bl+((y*7)+x));
h.add(k,{column:x+1,row:y+1});
this.__oF.push(k);
}}this._add(h);
break;
}return h||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,g);
},_applyValue:function(bw,bx){if((bw!=null)&&(this.getShownMonth()!=bw.getMonth()||this.getShownYear()!=bw.getFullYear())){this.showMonth(bw.getMonth(),bw.getFullYear());
}else{var bz=(bw==null)?-1:bw.getDate();

for(var i=0;i<6*7;i++){var by=this.__oF[i];

if(by.hasState(q)){if(by.hasState(v)){by.removeState(v);
}}else{var bA=parseInt(by.getValue());

if(bA==bz){by.addState(v);
}else if(by.hasState(v)){by.removeState(v);
}}}}},_onMouseUpDown:function(e){var bG=e.getTarget();

if(bG==this.getChildControl(n)||bG==this.getChildControl(bv)){e.stopPropagation();
return;
}},_onNavButtonClicked:function(cj){var cl=this.getShownYear();
var ck=this.getShownMonth();

switch(cj.getCurrentTarget()){case this.getChildControl(o):cl--;
break;
case this.getChildControl(t):ck--;

if(ck<0){ck=11;
cl--;
}break;
case this.getChildControl(r):ck++;

if(ck>=12){ck=0;
cl++;
}break;
case this.getChildControl(m):cl++;
break;
}this.showMonth(ck,cl);
},_onDayClicked:function(cm){var cn=cm.getCurrentTarget().dateTime;
this.setValue(new Date(cn));
},_onDayDblClicked:function(){this.execute();
},_onKeyPress:function(bB){var bF=null;
var bD=null;
var bE=null;

if(bB.getModifiers()==0){switch(bB.getKeyIdentifier()){case I:bF=-1;
break;
case Y:bF=1;
break;
case N:bF=-7;
break;
case ba:bF=7;
break;
case bu:bD=-1;
break;
case bq:bD=1;
break;
case z:if(this.getValue()!=null){this.setValue(null);
return true;
}break;
case bf:case P:if(this.getValue()!=null){this.execute();
}return;
}}else if(bB.isShiftPressed()){switch(bB.getKeyIdentifier()){case bu:bE=-1;
break;
case bq:bE=1;
break;
}}
if(bF!=null||bD!=null||bE!=null){var bC=this.getValue();

if(bC!=null){bC=new Date(bC.getTime());
}
if(bC==null){bC=new Date();
}else{if(bF!=null){bC.setDate(bC.getDate()+bF);
}
if(bD!=null){bC.setMonth(bC.getMonth()+bD);
}
if(bE!=null){bC.setFullYear(bC.getFullYear()+bE);
}}this.setValue(bC);
}},showMonth:function(a,b){if((a!=null&&a!=this.getShownMonth())||(b!=null&&b!=this.getShownYear())){if(a!=null){this.setShownMonth(a);
}
if(b!=null){this.setShownYear(b);
}this._updateDatePane();
}},handleKeyPress:function(e){this._onKeyPress(e);
},_updateDatePane:function(){var bW=qx.ui.control.DateChooser;
var bT=new Date();
var bM=bT.getFullYear();
var bR=bT.getMonth();
var bP=bT.getDate();
var bX=this.getValue();
var cb=(bX==null)?-1:bX.getFullYear();
var ci=(bX==null)?-1:bX.getMonth();
var bU=(bX==null)?-1:bX.getDate();
var bQ=this.getShownMonth();
var cf=this.getShownYear();
var bN=qx.locale.Date.getWeekStart();
var bY=new Date(this.getShownYear(),this.getShownMonth(),1);
var bV=new qx.util.format.DateFormat(bW.MONTH_YEAR_FORMAT);
this.getChildControl(p).setValue(bV.format(bY));
var ch=bY.getDay();
var bS=1+((7-ch)%7);
var ca=new qx.util.format.DateFormat(W);

for(var i=0;i<7;i++){var cc=(i+bN)%7;
var ce=this.__oE[i];
bY.setDate(bS+cc);
ce.setValue(ca.format(bY));

if(qx.locale.Date.isWeekend(cc)){ce.addState(D);
}else{ce.removeState(D);
}}bY=new Date(cf,bQ,1,12,0,0);
var bI=(7+ch-bN)%7;
bY.setDate(bY.getDate()-bI);
var cd=new qx.util.format.DateFormat(bj);

for(var bH=0;bH<6;bH++){this.__oG[bH].setValue(cd.format(bY));

for(var i=0;i<7;i++){var ce=this.__oF[bH*7+i];
var bL=bY.getFullYear();
var bK=bY.getMonth();
var bO=bY.getDate();
var bJ=(cb==bL&&ci==bK&&bU==bO);

if(bJ){ce.addState(v);
}else{ce.removeState(v);
}
if(bK!=bQ){ce.addState(q);
}else{ce.removeState(q);
}var cg=(bL==bM&&bK==bR&&bO==bP);

if(cg){ce.addState(bs);
}else{ce.removeState(bs);
}ce.setValue(T+bO);
ce.dateTime=bY.getTime();
bY.setDate(bY.getDate()+1);
}}bV.dispose();
ca.dispose();
cd.dispose();
}},destruct:function(){if(qx.core.Variant.isSet(bm,C)){qx.locale.Manager.getInstance().removeListener(bp,this._updateDatePane,this);
}this.__oE=this.__oF=this.__oG=null;
}});
})();
(function(){var h="inherit",g="toolbar-button",f="keydown",e="qx.ui.toolbar.Button",d="keyup";
qx.Class.define(e,{extend:qx.ui.form.Button,construct:function(a,b,c){qx.ui.form.Button.call(this,a,b,c);
this.removeListener(f,this._onKeyDown);
this.removeListener(d,this._onKeyUp);
},properties:{appearance:{refine:true,init:g},show:{refine:true,init:h},focusable:{refine:true,init:false}}});
})();
(function(){var u="list",t="textfield",s="popup",r=":",q="",p="0:00",o="00",n="mouseup",l="track.util.TimeField",k="releaseSlider",h="changeValue",j="watcheetimefield",i="button";
qx.Class.define(l,{extend:qx.ui.form.ComboBox,construct:function(){qx.ui.form.ComboBox.call(this);
this.getChildControl(t).setValue(p);
},properties:{appearance:{refine:true,init:j}},members:{_onClick:function(e){var f=this.getChildControl(s).isVisible();
var g=e.getTarget();
this.info("target="+g);

if(g==this.getChildControl(i)){this.toggle();
}else{this.closePopup();
}},toggle:function(){var H=this.getChildControl(s).isVisible();

if(H){this.closePopup();
}else{this.open();
this.getChildControl(u).slider.activate();
}},close:function(){var a=1;
},closePopup:function(){this.getChildControl(s).hide();
},setValue:function(b){var c=this.getChildControl(t);
var m=b.getMinutes();

if(m==0)m=o;
c.setValue(b.getHours()+r+m);
var d=this.getChildControl(u);
d.setValue(b);
},getValue:function(){var w=this.getChildControl(t).getValue().replace(/\./g,r);
var v=new Date(0);
if(w.search(/(([01])?[0-9]|2[0-3]):[0-5][0-9]/)>-1){var x=w.split(r);
v.setHours(x[0]);
v.setMinutes(x[1]);
return v;
}else{return v;
}},resetValue:function(){var I=this.getChildControl(t);
I.setValue(p);
var J=this.getChildControl(u);
J.setValue(0);
},_createChildControlImpl:function(z){var A;

switch(z){case u:A=new track.util.DayTimeSlider();
A.createTimer(q,0,200);
A.setFocusable(false);
A.setKeepFocus(true);
A.addListener(k,this._onChangeDate,this);
break;
case s:A=new qx.ui.popup.Popup(new qx.ui.layout.VBox);
A.setAutoHide(false);
A.add(this.getChildControl(u));
A.addListener(n,this._onChangeDate,this);
break;
}return A||qx.ui.form.ComboBox.prototype._createChildControlImpl.call(this,z);
},findItem:function(y){},_onChangeDate:function(e){var F=this.getChildControl(t);
var E=this.getChildControl(u).getValue();
var G=E.getMinutes();

if(G==0)G=o;
F.setValue(E.getHours()+r+G);
this.closePopup();
},_onTextFieldChangeValue:function(e){var B=this.getValue();

if(B!=null){var C=this.getChildControl(u);
C.setValue(B);
}this.fireDataEvent(h,this.getValue());
},isEmpty:function(){var D=this.getChildControl(t).getValue();
return D==null||D==q;
}}});
})();
(function(){var i="auto",h="overflowX",g="visible",f="hidden",e="scroll",d="overflowY",c="_applyOverflowX",b="_applyOverflowY",a="qx.ui.core.MNativeOverflow";
qx.Mixin.define(a,{properties:{overflowX:{check:[f,g,e,i],nullable:true,apply:c},overflowY:{check:[f,g,e,i],nullable:true,apply:b},overflow:{group:[h,d]}},members:{_applyOverflowX:function(j){this.getContentElement().setStyle(h,j);
},_applyOverflowY:function(k){this.getContentElement().setStyle(d,k);
}}});
})();
(function(){var r="none",q="text",p="",o="userSelect",n="color",m="String",l="0px",k="webkit",j="changeHtml",i="_applyCssClass",f="class",h="qx.ui.embed.Html",g="_applyHtml",e="qx.client",d="html";
qx.Class.define(h,{extend:qx.ui.core.Widget,include:[qx.ui.core.MNativeOverflow],construct:function(s){qx.ui.core.Widget.call(this);

if(s!=null){this.setHtml(s);
}},properties:{html:{check:m,apply:g,event:j,nullable:true},cssClass:{check:m,init:p,apply:i},selectable:{refine:true,init:true},focusable:{refine:true,init:true}},members:{getFocusElement:function(){return this.getContentElement();
},_applyHtml:function(w,x){var y=this.getContentElement();
y.setAttribute(d,w||p);
y.setStyles({"padding":l,"border":r});
},_applyCssClass:function(t,u){this.getContentElement().setAttribute(f,t);
},_applySelectable:function(v){qx.ui.core.Widget.prototype._applySelectable.call(this,v);
if(qx.core.Variant.isSet(e,k)){this.getContainerElement().setStyle(o,v?q:r);
this.getContentElement().setStyle(o,v?q:r);
}},_applyFont:function(a,b){var c=a?qx.theme.manager.Font.getInstance().resolve(a).getStyles():qx.bom.Font.getDefaultStyles();
this.getContentElement().setStyles(c);
},_applyTextColor:function(z,A){if(z){this.getContentElement().setStyle(n,qx.theme.manager.Color.getInstance().resolve(z));
}else{this.getContentElement().removeStyle(n);
}}}});
})();
(function(){var o=",",n="Label",m="",k="myTimeplotView",j="visible",h="kmh",g="right",f="#000000",e="#00FF00",d=" °",bx="js/timeplot/timeplot-bundle.js",bw="track.statistic.TimeplotView",bv='px;"></div>',bu="h",bt="#0000FF",bs="plotCourse",br="true",bq="2006-06-02T12:45:00,87,470,90\n",bp='iso8601',bo="statisticTimeplot.maxValues",v="excluded",w="bottom",t="%1 plot data read ...",u='js/timeplot/timeplot-bundle.css',r="#4B088A",s="#80cc80",p="js/timeline-ajax/simile-ajax-bundle.js",q='<div id="myTimeplotView" style="height: ',D="iso8601",E="Plot data %1/%2 ...",R="2006-06-02T23:20:00,40,490,105\n",N='images/32/statusLine/alarmOn.png',ba="someArg",U="js/timeline-ajax/",bk="2006-06-02T19:46:00,90,490,105\n",bf="2006-06-03T02:45:00,88,512,95\n",I="plotHeight",bn="#8080cc",bm="2006-06-03T18:50:00,100,600,87",bl='#FF0000',H="js/timeline/timeline-bundle.js",K="#FF0000",M='js/timeline/timeline-bundle.css',P="2006-06-03T10:48:00,0,530,110\n",S=" km/h",V="On tour",bc="valueGeometryKmh",bh="2006-06-03T02:47:00,0,512,95\n",x="top",y="plotAlarm",J=" m",Y="2006-06-03T12:49:00,37,502,120\n",X="Plot created (%1)",W="course",be="Statistic is not available, please contact the support",bd="\n",T="Creating plot ...",bb="plotKmh",a="infoMsgBox",bg="all",z="t",A="  ",O="i",b="js/timeline/",c=" ",G="#B441FF",B="-",C="left",F="2006-06-02T16:46:00,92,499,105\n",Q="js/timeplot/",bj="#606060",bi="id",L=" <i>history</i>";
qx.Class.define(bw,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bU,bV,bW){qx.core.Object.call(this);
this.trackGui=bU;
this.mapInfoGui=new track.map.MapInfoGui(this.trackGui);
this.statisticWindow=bV;
this.timeplotGroup=bW;
this.resizeTimerID=null;
this.counter=0;
this.timeplotViewAtom=null;
this.timeplotData=m;
this.alarmJson=null;
this.timeplot=null;
this.timeplotHeight=180;
this.timeplotWidth=900;
this.eventSourceKmh=null;
this.eventSourceHeight=null;
this.eventSourceCourse=null;
this.eventSourceAlarm=null;
this.countDataRead=0;
this.timeplotIsInitialized=false;
},members:{onResize:function(){qx.event.Timer.once(this.__oH,this,100);
},__oH:function(){if(this.timeplot!=null)this.timeplot.repaint();
},setVisible:function(bA){this.timeplotViewAtom.setVisibility(bA?j:v);

if(bA){this.createTimeplot();
}},isVisible:function(){var cc=(this.timeplotViewAtom.getVisibility()==j);
return cc;
},changedWantedYAxis:function(bX){this.__oJ(bX);
},__oI:function(){SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY]=SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]*24*2;
this.eventSourceAlarm=new Timeplot.DefaultEventSource();
this.eventSourceKmh=new Timeplot.DefaultEventSource();
this.eventSourceKmh.columnKmh=1;
this.eventSourceKmh.colorKmh=r;
this.eventSourceKmh.fillColor=G;
var cf=new Timeplot.DefaultValueGeometry({id:bc,gridColor:this.eventSourceKmh.colorKmh,axisLabelsPlacement:C,axisColor:e,gridLineWidth:2.0,min:0});
this.eventSourceHeight=new Timeplot.DefaultEventSource();
this.eventSourceHeight.columnHeight=2;
this.eventSourceHeight.colorHeight=bt;
this.eventSourceHeight.fillColor=bn;
var cg=new Timeplot.DefaultValueGeometry({gridColor:this.eventSourceHeight.colorHeight,axisLabelsPlacement:g});
this.eventSourceCourse=new Timeplot.DefaultEventSource();
this.eventSourceCourse.columnCourse=3;
this.eventSourceCourse.colorCourse=e;
this.eventSourceCourse.fillColor=s;
var cd=new Timeplot.DefaultValueGeometry({gridColor:this.eventSourceCourse.colorCourse,axisLabelsPlacement:g});
var ce=new Timeplot.DefaultTimeGeometry({gridColor:new Timeplot.Color(f),axisColor:bj,gridColor:f,gridLineWidth:0.5,timeValuePosition:w,axisLabelsPlacement:x});
this.plotInfo=[Timeplot.createPlotInfo({id:bb,dataSource:new Timeplot.ColumnSource(this.eventSourceKmh,this.eventSourceKmh.columnKmh),valueGeometry:cf,timeGeometry:ce,lineColor:this.eventSourceKmh.colorKmh,fillColor:this.eventSourceKmh.fillColor,valueEntity:S,showValues:true}),Timeplot.createPlotInfo({id:I,dataSource:new Timeplot.ColumnSource(this.eventSourceHeight,this.eventSourceHeight.columnHeight),valueGeometry:cg,timeGeometry:ce,lineColor:this.eventSourceHeight.colorHeight,fillColor:this.eventSourceHeight.fillColor,valueEntity:J,showValues:true}),Timeplot.createPlotInfo({id:bs,dataSource:new Timeplot.ColumnSource(this.eventSourceCourse,this.eventSourceCourse.columnCourse),valueGeometry:cd,timeGeometry:ce,lineColor:this.eventSourceCourse.colorCourse,fillColor:this.eventSourceCourse.fillColor,valueEntity:d,showValues:true}),Timeplot.createPlotInfo({id:y,timeGeometry:ce,eventSource:this.eventSourceAlarm,lineColor:K})];
return this.plotInfo;
},createDivParent:function(){if(this.timeplotViewAtom!=null)return this.timeplotViewAtom;

if(true){var bB=q+(this.timeplotHeight-30)+bv;
this.timeplotViewAtom=new qx.ui.embed.Html(bB);
this.timeplotViewAtom.setPadding(0);
this.timeplotViewAtom.setMargin(0);
}else{this.timeplotViewAtom=new qx.ui.basic.Atom();
this.timeplotViewAtom.getContainerElement().setAttribute(bi,k);
}this.timeplotViewAtom.setMinHeight(this.timeplotHeight);
this.timeplotViewAtom.setMaxHeight(this.timeplotHeight);
this.timeplotViewAtom.setHeight(this.timeplotHeight);
this.timeplotViewAtom.setWidth(this.timeplotWidth);
this.timeplotViewAtom.setMaxWidth(this.timeplotWidth);
return this.timeplotViewAtom;
},__oJ:function(bR){this.timeplotGroup.setStatusLabelValue(this.trc(n,T));
var bR=bR||h;

if(this.timeplot!=null){this.timeplot.dispose();
}this.plotInfo=this.__oI();
var parent=document.getElementById(k);
this.timeplot=Timeplot.create(parent,this.plotInfo);
var bS=null;
var bT=D;

if(bR==h){this.eventSourceKmh.loadText(this.timeplotData,o,document.location.href,bS,bT);
}else if(bR==bu){this.eventSourceHeight.loadText(this.timeplotData,o,document.location.href,bS,bT);
}else if(bR==W){this.eventSourceCourse.loadText(this.timeplotData,o,document.location.href,bS,bT);
}else{this.eventSourceKmh.loadText(this.timeplotData,o,document.location.href,bS,bT);
this.eventSourceHeight.loadText(this.timeplotData,o,document.location.href,bS,bT);
this.eventSourceCourse.loadText(this.timeplotData,o,document.location.href,bS,bT);
}
if(this.alarmJson!=null){this.eventSourceAlarm.loadJSON(this.alarmJson,document.location.href);
}this.timeplotGroup.setStatusLabelValue(this.trc(n,X,this.countDataRead));
},createTimeplot:function(cb){this.doLoadTestData=(cb==undefined)?true:cb;
this.__oK();
},__oK:function(){if(this.timeplot!=null)return;
var bY=true;

if(bY){if(!this.trackGui.lazyLoadTriggered){this.trackGui.lazyLoadTriggered=true;
SimileAjax={loaded:false,loadingScriptsCount:0,error:null,params:{bundle:br}};
SimileAjax.Platform=new Object();
SimileAjax.urlPrefix=U;
window.Timeline=new Object();
window.Timeline.DateTime=window.SimileAjax.DateTime;
window.Timeline.urlPrefix=b;
window.Timeplot={loaded:false,params:{bundle:true,autoCreate:true},importers:{}};
window.Timeplot.urlPrefix=Q;
LazyLoad.css(M,function(){LazyLoad.css(u,function(){var bz=[p,H,bx];
LazyLoad.js(bz,function(bC){this.trackGui.lazyLoadFinished=true;
this.info(bz+' has been loaded');
},ba,this);
},null,this);
},null,this);
}}else{this.trackGui.lazyLoadTriggered=true;
this.trackGui.lazyLoadFinished=true;
}this.counter++;
var parent=document.getElementById(k);
if(parent==null||this.trackGui.lazyLoadFinished==false){if(this.counter>100){this.error("TimeplotView: parent="+parent+" this.trackGui.lazyLoadFinished="+this.trackGui.lazyLoadFinished);
this.counter=0;

if(!this.isVisible()){return ;
}this.trackGui.infoMsgBox(this.trc(a,be));
return;
}qx.event.Timer.once(this.__oK,this,100);
return;
}this.__oL();
},isTimeplotInitialized:function(){return this.timeplotIsInitialized;
},__oL:function(){this.counter=0;
this.timeplotIsInitialized=true;
this.timeplotGroup.onTimeplotIsInitialized();

if(this.doLoadTestData){this.doLoadTestData=false;
this.__oM();
this.__oJ(bg);
}},__oM:function(){this.timeplotData=bq+F+bk+R+bf+bh+P+Y+bm;
return this.timeplotData;
},loadDataFromCache:function(bD,bE,bF){var bE=bE||null;
var bF=bF||null;

if(bD==null)return;

if(!this.isVisible()){return;
}this.alarmJson={'dateTimeFormat':bp,'events':[]};
var bO=xbProperties.getInt(bo,200);
var bG=0;
var bH=[];

for(var i=0,l=bD.gpsDataArr.length;i<l;i++){var bN=bD.gpsDataArr[i];
var bP=bN.getUtcDateObj();

if(bE!=null&&bP.getTime()<bE.getTime()||bF!=null&&bP.getTime()>bF.getTime()){continue;
}bH.push(bN);
}this.timeplotData=m;

for(var i=0,l=bH.length;i<l;i++){var bN=bH[i];
if(l>bO){var bJ=bO-bG;

try{var bQ=(bJ==0)?1:(Math.round((l-i)/bJ)+1);
if((i%bQ)==0){;
}else{continue;
}}catch(ca){this.warn("enmeas.size()="+l+" limit="+bO+" count="+bG+" divisor="+bJ);
}}bG++;

if((bG%50)==0){this.timeplotGroup.setStatusLabelValue(this.trc(n,E,bG,bD.gpsDataArr.length));
}this.timeplotData+=bN.getUtcIsoStr()+o+bN.getSpeedKmhInteger();
this.timeplotData+=o+bN.getHeight();
this.timeplotData+=o+bN.getCourse();
this.timeplotData+=bd;

if(bN.hasAlarm()){var bL=bD.device.getBuddyTO().getAliasAndLoginName();
bL+=L;
var bI=bN.getInfo(O,m)+A+bN.getInfo(z,m);

if(bI.length==0)bI=V;
var bK=c;
var bM=this.mapInfoGui.getGpsCompleteHtml(bN,bI,bK,bL);
this.alarmJson.events.push({'start':bN.getUtcIsoStr(),'title':bN.getAlarmType(),'durationEvent':false,'description':bM,'image':N,'color':bl});
}}this.timeplotGroup.setStatusLabelValue(this.trc(n,t,bG));
this.countDataRead=bG;
this.__oJ(this.timeplotGroup.getSelectedYAxis());
},__oN:function(ch){for(var i=0;i<ch.length;i++){var ci=ch[i];
ci[0]=ci[0].replace(/\//g,B);
}return ch;
},clear:function(){try{if(this.timeplot!=null){this.timeplot.dispose();
this.timeplot=null;
this.timeplotIsInitialized=false;
}}catch(by){this.error("TimeplotView.js dispose failed: "+by);
}}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var bA="</td>",bz="<tr>",by="</tr>",bx="<td class='gpsMapValue'>",bw="MapInfo",bv="<td class='gpsMapLabel'>",bu="-",bt=" / ",bs="MapInfo.Xsms",br="</th>",bg="</table>",bf="/",be="",bd="</thead>",bc="<thead>",bb="h",ba="<table class='gpsMapLabel'>",Y="</a>",X=" ",W="<th class='gpsMapLabel' colspan='2'>",bH="<td class='xsmsMapValue'>",bI="Time:",bF=" km/h",bG=" m</td>",bD="Speed:",bE="alarm",bB="Overall Distance:",bC=" deg",bJ="</td><td>",bK="---",bk="<th class='xsmsMapLabel' width='33%'>",bj="</td></tr></table>",bm="<table><tr><td>",bl=" (local)",bo="<td class='gpsMapLabel' colspan='2'>",bn="&z=12' target='_blank'>",bq="Latitude/Longitude:",bp="<td class='gpsMapValue' style='color:red'>",bi="/>",bh="To",l="CellId/Mcc/Mnc/Lac:",m="Longitude:",n="Device:",o="Height:",p="mapInfoShowHeight",q="XSMS-To:",r="<a href='#' onclick='",s="' border='0' alt='Phone' width='32' height='32' ",t="Date",u="\")",bO="Alarm:",bN="Course/Height:",bM="32/statusLine/telephone.png",bL="<td class='xsmsMapBody' colspan='3'>",bS="Link to google maps:",bR="track.map.MapInfoGui.makePhoneCallToDevice(\"",bQ="From",bP="unknown",bU="Make Phone Call:",bT="; return false;'>",J="mapInfoPopupPhoneCall",K="<th class='xsmsMapLabel' width='34%'>",H="Date:",I="XSMS-From:",N="<table class='gpsMapLabel' width='330'>",O="XSMS-Send-Date:",L="</b>",M="track.map.MapInfoGui",F="<a href='http://maps.google.com/maps?f=q&q=",G="<br />",C="Date/Time:",B="' target='_blank'>Google: ",E="<td class='gpsMapLabel' style='color:red'>",D="Latitude:",y="<a href='",x="<td class='gpsMapLabel'>CellId/Mcc/Mnc/Lac:</td>",A="<img src='",z="mapClickPhoneCall",w="mapInfoOverallDistance",v="Track:",S="<b>",T="Course:",U=" GMT</td>",V="<td class='gpsMapLabel'>CellId/Mcc/Mnc:</td>",P="\",\"",Q="XSMS-Message:",R=",";
qx.Class.define(M,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(k){qx.core.Object.call(this);
this.trackGui=k;
},statics:{makePhoneCallToDevice:function(a,b){if(a===undefined)a=null;

if(b===undefined)b=null;
var d=qx.core.ObjectRegistry.fromHashCode(a);

if(d!=null){d.getLogger().info("makePhoneCallToDevice "+a+" "+b);
var c=d.watchee.getBuddyManager().getBuddyOrFriendOf(b).getDevice();
d.makePhoneCallToDevice(c);
}else{alert("makePhoneCallToDevice failed, trackGui not found "+a+" "+b);
}}},members:{processMarkerSelection:function(e,f,g,h){if(f!=null&&f.ctrlKey==true){var j=xbProperties.getBoolean(z,false);

if(j&&g!=null){var i=g.getDevice();
this.trackGui.makePhoneCallToDevice(i);
return false;
}}return true;
},getXsmsHtml:function(cr){var cs=be;
cs+=N;
cs+=bc;
cs+=bz;
cs+=bk+this.trc(bs,bQ)+br;
cs+=bk+this.trc(bs,bh)+br;
cs+=K+this.trc(bs,t)+br;
cs+=by;
cs+=bd;
cs+=bz;
cs+=bH+cr.getFromStr()+bA;
cs+=bH+cr.getToStr()+bA;
cs+=bH+cr.getGmtTimeStr()+bA;
cs+=by;
cs+=bz;
cs+=bL+cr.getBody()+bA;
cs+=by;
cs+=bg;
return cs;
},getGpsHtml:function(cg,ch,ci,cj,ck){var cn=be;
cn+=ba;

if(org.xmlBlaster.util.isDefined(ch)){cn+=bc;
cn+=bz;
cn+=W+ch+br;
cn+=by;
cn+=bd;
}cn+=bz;
cn+=bv+this.trc(bw,bI)+bA;
cn+=bx+cg.getLocalTime()+this.trc(bw,bl)+bA;
cn+=by;
cn+=bz;

if(cg.isFromCellId()){var cm=cg.getMcc();
var co=cg.getMnc();
var cq=cg.getCellId();
var cl=cq+bf+cm+bf+co;
cn+=V;
cn+=bx+cl+bA;
}else{cn+=bv+this.trc(bw,bD)+bA;
var cp=cg.getSpeedKmh().toFixed(0)+bF;
cn+=bx+cp+bA;
}cn+=by;
cn+=bz;
cn+=bv+this.trc(bw,T)+bA;
cn+=bx+cg.getCourse().toFixed(0)+this.trc(bw,bC)+bA;
cn+=by;

if(cg.getInfo(bb,null)!=null){cn+=bz;
cn+=bv+this.trc(bw,o)+bA;
cn+=bx+cg.getInfo(bb,bK)+bG;
cn+=by;
}
if(org.xmlBlaster.util.isDefined(ci)){cn+=bz;
cn+=bv+this.trc(bw,bB)+bA;
cn+=bx+ci+bA;
cn+=by;
}
if(org.xmlBlaster.util.isFilled(cj)){cn+=bz;
cn+=bo+cj+bA;
cn+=by;
}cn+=bg;

if(org.xmlBlaster.util.isDefined(ck)){cn=bm+cn+bJ+ck+bj;
}return cn;
},getGpsCompleteHtml:function(ct,cu,cv,cw,cx,cy,cz,cA){var cy=cy||null;
var cJ=be;
cJ+=ba;

if(org.xmlBlaster.util.isDefined(cu)){cJ+=bc;
cJ+=bz;
cJ+=W+cu+br;
cJ+=by;
cJ+=bd;
}
if(cy!=null){cJ+=bz;
cJ+=bv+this.trc(bs,I)+bA;
cJ+=bx+cy.getFromStr()+bA;
cJ+=by;
cJ+=bz;
cJ+=bv+this.trc(bs,q)+bA;
cJ+=bx+cy.getToStr()+bA;
cJ+=by;
cJ+=bz;
cJ+=bv+this.trc(bs,O)+bA;
cJ+=bx+cy.getGmtTimeStr()+bA;
cJ+=by;
cJ+=bz;
cJ+=bv+this.trc(bs,Q)+bA;
cJ+=bx+cy.getBody()+bA;
cJ+=by;

if(ct==null){cJ+=bg;
return cJ;
}}cJ+=bz;
cJ+=bv+this.trc(bw,C)+bA;
cJ+=bx+ct.getLocalDate()+X+ct.getLocalTime()+this.trc(bw,bl)+bA;
cJ+=by;
cJ+=bz;

if(ct.isFromCellId()){var cN=ct.getCellId();
var cF=ct.getMcc();
var cL=ct.getMnc();
var cG=ct.getLac();

if(cN==null)cN=bu;

if(cF==null)cF=bu;

if(cL==null)cL=bu;

if(cG==null)cG=bu;
var cD=cN+bt+cF+bt+cL+bt+cG;
cJ+=bv+this.trc(bw,l)+bA;
cJ+=bx+cD+bA;
}else{cJ+=bv+this.trc(bw,bD)+bA;
var cM=ct.getSpeedKmh().toFixed(0)+bF;
cJ+=bx+cM+bA;
}cJ+=by;
var cE=ct.getGoogleMapsLink(12,ct.getTrackName(be)+X+ct.getAlarmTypeNotNull());
var cH=y+cE+B+ct.latitudeDecimal(5)+bt+ct.longitudeDecimal(5)+Y;
var cI=G+cH;
cJ+=bz;
cJ+=bv+this.trc(bw,bq)+bA;
cJ+=bx+ct.latitudeDegMinSec()+bt+ct.longitudeDegMinSec()+X+cI+bA;
cJ+=by;
var cB=xbProperties.getBoolean(p,true);

if(cB){cJ+=bz;
cJ+=bv+this.trc(bw,bN)+bA;
cJ+=bx+ct.getCourse().toFixed(0)+this.trc(bw,bC)+bt+ct.getInfo(bb,bK)+bG;
cJ+=by;
}
if(ct.getInfo(bE,null)!=null){cJ+=bz;
cJ+=E+this.trc(bw,bO)+bA;
cJ+=bp+ct.getInfo(bE,bP)+bA;
cJ+=by;
}var cC=xbProperties.getBoolean(w,true);

if(cC){if(org.xmlBlaster.util.isDefined(cv)){cJ+=bz;
cJ+=bv+this.trc(bw,bB)+bA;
cJ+=bx+cv+bA;
cJ+=by;
}}var cK=xbProperties.getBoolean(J,false);

if(cK&&cz!=undefined&&cz!=null){var cK=bR+this.trackGui.toHashCode()+P+cz.getDeviceId()+u;
cJ+=bz;
cJ+=bv+this.trc(bw,bU)+bA;
cJ+=bx+r+cK+bT+A+xbGetIcon(bM)+s+bi+Y;
bA;
cJ+=by;
}
if(org.xmlBlaster.util.isFilled(cw)){cJ+=bz;
cJ+=bo+cw+bA;
cJ+=by;
}cJ+=bg;

if(org.xmlBlaster.util.isDefined(cx)){cJ=bm+cJ+bJ+cx+bj;
}return cJ;
},getGpsDetailHtml:function(bV,bW){var cd=be;
cd+=ba;

if(false){cd+=bc;
cd+=bz;
cd+=W+header+br;
cd+=by;
cd+=bd;
}cd+=bz;
cd+=bv+this.trc(bw,H)+bA;
cd+=bx+bV.getDate()+bA;
cd+=by;
cd+=bz;
cd+=bv+this.trc(bw,bI)+bA;
cd+=bx+bV.getTime()+U;
cd+=by;
cd+=bz;
cd+=bv+this.trc(bw,D)+bA;
cd+=bx+bV.latitudeDegMinSec()+bA;
cd+=by;
cd+=bz;
cd+=bv+this.trc(bw,m)+bA;
cd+=bx+bV.longitudeDegMinSec()+bA;
cd+=by;
cd+=bz;
var cc=F+bV.latitudeDecimal(7)+R+bV.longitudeDecimal(7)+bn+bV.latitudeDecimal(5)+bt+bV.longitudeDecimal(5)+Y;
cd+=bv+this.trc(bw,bS)+bA;
cd+=bx+cc+bA;
cd+=by;
var ca=bV.getMcc();
var ce=bV.getMnc();
var cf=bV.getCellId();
var cb=bV.getLac();

if(cf!=null||ca!=null){if(cf==null)cf=bu;

if(ca==null)ca=bu;

if(ce==null)ce=bu;

if(cb==null)cb=bu;
var bY=cf+bf+ca+bf+ce+bf+cb;
var bX=(bV.isFromCellId())?S+bY+L:bY;
cd+=bz;
cd+=x;
cd+=bx+bX+bA;
cd+=by;
}
if(org.xmlBlaster.util.isDefined(bW)){cd+=bz;
cd+=bv+this.trc(bw,n)+bA;
cd+=bx+bW.getDeviceId()+bA;
cd+=by;
cd+=bz;
cd+=bv+this.trc(bw,v)+bA;
cd+=bx+bW.getTrackName()+bA;
cd+=by;
}cd+=bg;
return cd;
},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var bi="table title",bh="",bg="Label",bf="visible",be=" ",bd="v [km/h]",bc="Height [m]",bb="volt",ba="ch",Y="excluded",bJ="Address",bI="Lat / Lon",bH="No Web-Server found for: ",bG="Down",bF="Up",bE="googleMaps",bD="ActionType=xmlScript&xmlScriptBase64=",bC="Bat [V]",bB="Content-length",bA="Table data %1/%2 ...",bp="XbAccess.js#postXmlScript",bq="track.statistic.HistoryTableView",bn="Alarm",bo="</a>",bl=" / ",bm="communication.noConnection",bj="' target='_blank'>",bk="application/x-www-form-urlencoded;charset=UTF-8",br="Table loaded (%1)",bs="keypress",bv="cellClick",bu="Charged",bx="<a href='",bw="Content-Type",bz="Date (local)",by="Course [°]",bt="GET";
qx.Class.define(bq,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(x,y,z){qx.core.Object.call(this);
this.trackGui=x;
this.mapInfoGui=new track.map.MapInfoGui(this.trackGui);
this.statisticWindow=y;
this.timeplotGroup=z;
var A=0;
this.COL_DATE=A++;
this.COL_LATLONLINK=A++;
this.COL_SPEED=A++;
this.COL_COURSE=A++;
this.COL_HEIGHT=A++;
this.COL_VOLTAGE=A++;
this.COL_ISCHARGED=A++;
this.COL_ALARM=A++;
this.COL_ADDRESS=A++;
this.COL_HIDDEN_GPSDATA=A++;
this.NUM_COLS=A++;
this.table=null;
this.tableModel=null;
this.keypressListenerId=null;
},members:{createTable:function(){var j=[];
this.tableModel=new qx.ui.table.model.Simple();
var k=[this.trc(bi,bz),this.trc(bi,bI),this.trc(bi,bd),this.trc(bi,by),this.trc(bi,bc),this.trc(bi,bC),this.trc(bi,bu),this.trc(bi,bn),this.trc(bi,bJ)];
this.tableModel.setColumns(k);
this.tableModel.setData(j);
this.tableModel.setColumnSortable(this.COL_DATE,true);
this.tableModel.setColumnSortable(this.COL_LATLONLINK,true);
this.tableModel.setColumnSortable(this.COL_SPEED,true);
this.tableModel.setColumnSortable(this.COL_COURSE,true);
this.tableModel.setColumnSortable(this.COL_HEIGHT,true);
this.tableModel.setColumnSortable(this.COL_VOLTAGE,true);
this.tableModel.setColumnSortable(this.COL_ISCHARGED,true);
this.tableModel.setColumnSortable(this.COL_ALARM,true);
this.tableModel.setColumnSortable(this.COL_ADDRESS,true);
this.tableModel.sortByColumn(this.COL_DATE,false);
var h=new qx.ui.table.Table(this.tableModel);
this.table=h;
this.table.setStatusBarVisible(true);
h.set({width:900,minWidth:900,height:200,decorator:null});
h.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.MULTIPLE_INTERVAL_SELECTION);
h.addListener(bv,this.onCellEvent,this);
var g=h.getTableColumnModel();
h.setColumnWidth(this.COL_DATE,120);
h.setColumnWidth(this.COL_LATLONLINK,110);
h.setColumnWidth(this.COL_SPEED,55);
h.setColumnWidth(this.COL_COURSE,70);
h.setColumnWidth(this.COL_HEIGHT,65);
h.setColumnWidth(this.COL_VOLTAGE,50);
h.setColumnWidth(this.COL_ISCHARGED,55);
h.setColumnWidth(this.COL_ALARM,120);
h.setColumnWidth(this.COL_ADDRESS,240);
g.setDataCellRenderer(this.COL_LATLONLINK,new qx.ui.table.cellrenderer.Html());
this.keypressListenerId=h.addListener(bs,function(e){this.debug("Event keypress e="+e+" identifier="+e.getKeyIdentifier()+" isShiftPressed="+e.isShiftPressed());
var R=e.getKeyIdentifier();

if(R==bF||R==bG){var Q=h.getFocusedRow();
var S=this.tableModel.getData();
var P=S[Q];
this.showOnMap(P,null);
}},this);
return h;
},setVisible:function(f){this.table.setVisibility(f?bf:Y);
},isVisible:function(){var bK=(this.table.getVisibility()==bf);
return bK;
},_findRowNumber:function(a){var b=this.tableModel.getData();

for(var i=0,l=b.length;i<l;i++){var d=b[i];
var c=d[this.COL_HIDDEN_GPSDATA];

if(a==c)return i;
}return -1;
},focusGpsDataRow:function(K){var L=true;
var N=0;
var M=this.tableModel.getData();
var O=this._findRowNumber(K);

if(O!=-1)this.table.setFocusedCell(N,O,L);
},onCellEvent:function(e){var bM=this.tableModel.getData();
var bP=bM[e.getRow()];

if(e.isShiftPressed()||e.isRightPressed()){var bL=bP[this.COL_HIDDEN_GPSDATA];
alert(bL.dump());
}else{var bO=e.getColumn();

if(bO==this.COL_LATLONLINK){var bL=bP[this.COL_HIDDEN_GPSDATA];
var bN=this.getGoogleLink(bL);
window.open(bN,bE);
}this.showOnMap(bP,null);
}},showOnMap:function(C,D){var G=C[this.COL_HIDDEN_GPSDATA];
var E=this.timeplotGroup.getSelectedDevice();
var F=E.getTrack(G.getTrackName(null));
this.trackGui.watchee.getMapManager().showAndCenterLocation(F,G);
},lookupReverseGeocode:function(m){var n=bt;
var o=true;
var q=this.watchee.xbAccess.getUrlBaseRandom();
var p=org.xmlBlaster.util.createXmlHttpRequest(null);
p.open(n,q,o);
p.setRequestHeader(bw,bk);
var r=bD+enc;
p.setRequestHeader(bB,r.length);
try{p.send(r);
}catch(w){throw new org.xmlBlaster.util.XmlBlasterException(bm,bp,bH+q,false);
}
if(o==true){return null;
}else{return p.responseText;
}},getGoogleLink:function(T){var U=T.getGoogleMapsLink(12,T.getTrackName(bh)+be+T.getAlarmTypeNotNull());
return U;
},loadDataFromCacheAsync:function(H,I,J){var H=H;
var I=I;
var J=J;
qx.event.Timer.once(function(){this.loadDataFromCache(H,I,J);
},this,100);
},_loadChunk:function(bQ,bR,bS,bT,bU){var bY=10;
var i=bT;
var bW=i+bY;
var bX=(i==0);
var cb=bX?100:1;
this.timeplotGroup.setStatusLabelValue(this.trc(bg,bA,i,bQ.gpsDataArr.length));

for(var l=bQ.gpsDataArr.length;i<l;i++){var ca=bQ.gpsDataArr[i];
var cc=ca.getUtcDateObj();

if(bR!=null&&cc.getTime()<bR.getTime()||bS!=null&&cc.getTime()>bS.getTime()){continue;
}var bV=[];
bV[this.COL_DATE]=ca.getLocalDate()+be+ca.getLocalTime();
bV[this.COL_LATLONLINK]=bh;

if(ca.hasLatLon()){var cd=this.getGoogleLink(ca);
bV[this.COL_LATLONLINK]=bx+cd+bj+ca.latitudeDecimal(5)+bl+ca.longitudeDecimal(5)+bo;
}bV[this.COL_SPEED]=ca.getSpeedKmhInteger();
bV[this.COL_COURSE]=ca.getCourseInteger();
bV[this.COL_HEIGHT]=ca.getHeight(0);
bV[this.COL_VOLTAGE]=ca.getInfo(bb,bh);
bV[this.COL_ISCHARGED]=ca.getInfo(ba,bh);
bV[this.COL_ALARM]=ca.getAlarmTypeNotNull();
bV[this.COL_ADDRESS]=bh;
bV[this.COL_HIDDEN_GPSDATA]=ca;
bU.push(bV);

if(i>=bW)break;
}
if(bX||i>=bQ.gpsDataArr.length){this.tableModel.setData(bU);
}
if(i>=bQ.gpsDataArr.length){this.timeplotGroup.setStatusLabelValue(this.trc(bg,br,bU.length));
return;
}qx.event.Timer.once(function(){this._loadChunk(bQ,bR,bS,(i+1),bU);
},this,cb);
},loadDataFromCache:function(s,t,u){var t=t||null;
var u=u||null;

if(s==null)return;

if(!this.isVisible()){return;
}var v=[];
this._loadChunk(s,t,u,0,v);
},loadReverseGeocode:function(){},_loadReverseGeocode:function(W){if(W>=timeplotDataCacheInfo.gpsDataArr.length){return;
}var X=timeplotDataCacheInfo.gpsDataArr[W];
W++;
alert("TODO: _loadReverseGeocode");
qx.event.Timer.once(function(){this._loadReverseGeocode(W);
},this,sleep);
},clear:function(){try{var V=[];
this.tableModel.setData(V);
}catch(B){this.error("HistoryTableView.js dispose failed: "+B);
}}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var n="qx.event.type.Data",m="EVENT_TYPE_DATA_CHANGED",l="qx.ui.table.ITableModel",k="New code should not use this. Instead, use the text string 'dataChanged' literally.",j="New code should not use this. Instead, use the text string 'metaDataChanged' literally.",i="qx.event.type.Event",h="EVENT_TYPE_META_DATA_CHANGED";
qx.Interface.define(l,{events:{"dataChanged":n,"metaDataChanged":i,"sorted":n},statics:{EVENT_TYPE_DATA_CHANGED:"dataChanged",EVENT_TYPE_META_DATA_CHANGED:"metaDataChanged"},members:{getRowCount:function(){},getRowData:function(p){},getColumnCount:function(){},getColumnId:function(o){},getColumnIndexById:function(A){},getColumnName:function(z){},isColumnEditable:function(e){},isColumnSortable:function(a){},sortByColumn:function(f,g){},getSortColumnIndex:function(){},isSortAscending:function(){},prefetchRows:function(v,w){},getValue:function(x,y){},getValueById:function(q,r){},setValue:function(b,c,d){},setValueById:function(s,t,u){}}});
qx.log.Logger.deprecatedConstantWarning(qx.ui.table.ITableModel,m,k);
qx.log.Logger.deprecatedConstantWarning(qx.ui.table.ITableModel,h,j);
})();
(function(){var f="metaDataChanged",e="qx.event.type.Data",d="qx.event.type.Event",c="abstract",b="qx.ui.table.model.Abstract";
qx.Class.define(b,{type:c,extend:qx.core.Object,implement:qx.ui.table.ITableModel,events:{"dataChanged":e,"metaDataChanged":d,"sorted":e},construct:function(){qx.core.Object.call(this);
this.__oO=[];
this.__oP=[];
this.__oQ={};
},members:{__oO:null,__oP:null,__oQ:null,__oR:null,getRowCount:function(){throw new Error("getRowCount is abstract");
},getRowData:function(F){return null;
},isColumnEditable:function(a){return false;
},isColumnSortable:function(y){return false;
},sortByColumn:function(D,E){},getSortColumnIndex:function(){return -1;
},isSortAscending:function(){return true;
},prefetchRows:function(B,C){},getValue:function(p,q){throw new Error("getValue is abstract");
},getValueById:function(g,h){return this.getValue(this.getColumnIndexById(g),h);
},setValue:function(u,v,w){throw new Error("setValue is abstract");
},setValueById:function(l,m,n){this.setValue(this.getColumnIndexById(l),m,n);
},getColumnCount:function(){return this.__oO.length;
},getColumnIndexById:function(j){return this.__oQ[j];
},getColumnId:function(A){return this.__oO[A];
},getColumnName:function(o){return this.__oP[o];
},setColumnIds:function(x){this.__oO=x;
this.__oQ={};

for(var i=0;i<x.length;i++){this.__oQ[x[i]]=i;
}this.__oP=new Array(x.length);
if(!this.__oR){this.fireEvent(f);
}},setColumnNamesByIndex:function(z){if(this.__oO.length!=z.length){throw new Error("this.__columnIdArr and columnNameArr have different length: "+this.__oO.length+" != "+z.length);
}this.__oP=z;
this.fireEvent(f);
},setColumnNamesById:function(k){this.__oP=new Array(this.__oO.length);

for(var i=0;i<this.__oO.length;++i){this.__oP[i]=k[this.__oO[i]];
}},setColumns:function(r,s){var t=this.__oO.length==0||s;

if(s==null){if(this.__oO.length==0){s=r;
}else{s=this.__oO;
}}
if(s.length!=r.length){throw new Error("columnIdArr and columnNameArr have different length: "+s.length+" != "+r.length);
}
if(t){this.__oR=true;
this.setColumnIds(s);
this.__oR=false;
}this.setColumnNamesByIndex(r);
}},destruct:function(){this.__oO=this.__oP=this.__oQ=null;
}});
})();
(function(){var T="dataChanged",S="metaDataChanged",R="qx.ui.table.model.Simple",Q="Boolean",P="sorted";
qx.Class.define(R,{extend:qx.ui.table.model.Abstract,construct:function(){qx.ui.table.model.Abstract.call(this);
this.__oS=[];
this.__oT=-1;
this.__oU=[];
this.__oV=null;
},properties:{caseSensitiveSorting:{check:Q,init:true}},statics:{_defaultSortComparatorAscending:function(br,bs){var bt=br[arguments.callee.columnIndex];
var bu=bs[arguments.callee.columnIndex];

if(qx.lang.Type.isNumber(bt)&&qx.lang.Type.isNumber(bu)){var bv=isNaN(bt)?isNaN(bu)?0:1:isNaN(bu)?-1:null;

if(bv!=null){return bv;
}}return (bt>bu)?1:((bt==bu)?0:-1);
},_defaultSortComparatorInsensitiveAscending:function(bw,bx){var by=(bw[arguments.callee.columnIndex].toLowerCase?bw[arguments.callee.columnIndex].toLowerCase():bw[arguments.callee.columnIndex]);
var bz=(bx[arguments.callee.columnIndex].toLowerCase?bx[arguments.callee.columnIndex].toLowerCase():bx[arguments.callee.columnIndex]);

if(qx.lang.Type.isNumber(by)&&qx.lang.Type.isNumber(bz)){var bA=isNaN(by)?isNaN(bz)?0:1:isNaN(bz)?-1:null;

if(bA!=null){return bA;
}}return (by>bz)?1:((by==bz)?0:-1);
},_defaultSortComparatorDescending:function(bl,bm){var bn=bl[arguments.callee.columnIndex];
var bo=bm[arguments.callee.columnIndex];

if(qx.lang.Type.isNumber(bn)&&qx.lang.Type.isNumber(bo)){var bp=isNaN(bn)?isNaN(bo)?0:1:isNaN(bo)?-1:null;

if(bp!=null){return bp;
}}return (bn<bo)?1:((bn==bo)?0:-1);
},_defaultSortComparatorInsensitiveDescending:function(bB,bC){var bD=(bB[arguments.callee.columnIndex].toLowerCase?bB[arguments.callee.columnIndex].toLowerCase():bB[arguments.callee.columnIndex]);
var bE=(bC[arguments.callee.columnIndex].toLowerCase?bC[arguments.callee.columnIndex].toLowerCase():bC[arguments.callee.columnIndex]);

if(qx.lang.Type.isNumber(bD)&&qx.lang.Type.isNumber(bE)){var bF=isNaN(bD)?isNaN(bE)?0:1:isNaN(bE)?-1:null;

if(bF!=null){return bF;
}}return (bD<bE)?1:((bD==bE)?0:-1);
}},members:{__oS:null,__oV:null,__oW:null,__oU:null,__oT:null,__oX:null,getRowData:function(w){var x=this.__oS[w];

if(x==null||x.originalData==null){return x;
}else{return x.originalData;
}},getRowDataAsMap:function(bc){var be=this.__oS[bc];
var bd={};

for(var bf=0;bf<this.getColumnCount();bf++){bd[this.getColumnId(bf)]=be[bf];
}return bd;
},getDataAsMapArray:function(){var e=this.getRowCount();
var d=[];

for(var i=0;i<e;i++){d.push(this.getRowDataAsMap(i));
}return d;
},setEditable:function(G){this.__oV=[];

for(var H=0;H<this.getColumnCount();H++){this.__oV[H]=G;
}this.fireEvent(S);
},setColumnEditable:function(u,v){if(v!=this.isColumnEditable(u)){if(this.__oV==null){this.__oV=[];
}this.__oV[u]=v;
this.fireEvent(S);
}},isColumnEditable:function(bq){return this.__oV?(this.__oV[bq]==true):false;
},setColumnSortable:function(r,s){if(s!=this.isColumnSortable(r)){if(this.__oW==null){this.__oW=[];
}this.__oW[r]=s;
this.fireEvent(S);
}},isColumnSortable:function(bO){return (this.__oW?(this.__oW[bO]!==false):true);
},sortByColumn:function(W,X){var bb;
var ba=this.__oU[W];

if(ba){bb=(X?ba.ascending:ba.descending);
}else{if(this.getCaseSensitiveSorting()){bb=(X?qx.ui.table.model.Simple._defaultSortComparatorAscending:qx.ui.table.model.Simple._defaultSortComparatorDescending);
}else{bb=(X?qx.ui.table.model.Simple._defaultSortComparatorInsensitiveAscending:qx.ui.table.model.Simple._defaultSortComparatorInsensitiveDescending);
}}bb.columnIndex=W;
this.__oS.sort(bb);
this.__oT=W;
this.__oX=X;
var Y={columnIndex:W,ascending:X};
this.fireDataEvent(P,Y);
this.fireEvent(S);
},setSortMethods:function(bi,bj){var bk;

if(qx.lang.Type.isFunction(bj)){bk={ascending:bj,descending:function(bg,bh){return bj(bh,bg);
}};
}else{bk=bj;
}this.__oU[bi]=bk;
},getSortMethods:function(t){return this.__oU[t];
},clearSorting:function(){if(this.__oT!=-1){this.__oT=-1;
this.__oX=true;
this.fireEvent(S);
}},getSortColumnIndex:function(){return this.__oT;
},isSortAscending:function(){return this.__oX;
},getRowCount:function(){return this.__oS.length;
},getValue:function(U,V){if(V<0||V>=this.__oS.length){throw new Error("this.__rowArr out of bounds: "+V+" (0.."+this.__oS.length+")");
}return this.__oS[V][U];
},setValue:function(n,o,p){if(this.__oS[o][n]!=p){this.__oS[o][n]=p;
if(this.hasListener(T)){var q={firstRow:o,lastRow:o,firstColumn:n,lastColumn:n};
this.fireDataEvent(T,q);
}
if(n==this.__oT){this.clearSorting();
}}},setData:function(a,b){this.__oS=a;
if(this.hasListener(T)){var c={firstRow:0,lastRow:a.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};
this.fireDataEvent(T,c);
}
if(b!==false){this.clearSorting();
}},getData:function(){return this.__oS;
},setDataAsMapArray:function(I,J,K){this.setData(this._mapArray2RowArr(I,J),K);
},addRows:function(y,z,A){if(z==null){z=this.__oS.length;
}y.splice(0,0,z,0);
Array.prototype.splice.apply(this.__oS,y);
var B={firstRow:z,lastRow:this.__oS.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};
this.fireDataEvent(T,B);

if(A!==false){this.clearSorting();
}},addRowsAsMapArray:function(L,M,N,O){this.addRows(this._mapArray2RowArr(L,N),M,O);
},setRows:function(C,D,E){if(D==null){D=0;
}C.splice(0,0,D,C.length);
Array.prototype.splice.apply(this.__oS,C);
var F={firstRow:D,lastRow:this.__oS.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};
this.fireDataEvent(T,F);

if(E!==false){this.clearSorting();
}},setRowsAsMapArray:function(bK,bL,bM,bN){this.setRows(this._mapArray2RowArr(bK,bM),bL,bN);
},removeRows:function(bG,bH,bI){this.__oS.splice(bG,bH);
var bJ={firstRow:bG,lastRow:this.__oS.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1,removeStart:bG,removeCount:bH};
this.fireDataEvent(T,bJ);

if(bI!==false){this.clearSorting();
}},_mapArray2RowArr:function(f,g){var m=f.length;
var h=this.getColumnCount();
var l=new Array(m);
var k;

for(var i=0;i<m;++i){k=[];

if(g){k.originalData=f[i];
}
for(var j=0;j<h;++j){k[j]=f[i][this.getColumnId(j)];
}l[i]=k;
}return l;
}},destruct:function(){this.__oS=this.__oV=this.__oU=this.__oW=null;
}});
})();
(function(){var cY="column-button",cX="Function",cW="Boolean",cV="qx.event.type.Data",cU="statusbar",cT="qx.ui.table.pane.CellEvent",cS="PageUp",cR='"',cQ="changeLocale",cP="__pj",en="changeSelection",em="qx.dynlocale",el="Enter",ek="metaDataChanged",ej="dataChanged",ei="on",eh="_applyStatusBarVisible",eg="columnVisibilityMenuCreateStart",ef="blur",ee="qx.ui.table.Table",dg="columnVisibilityMenuCreateEnd",dh="Use 'resetSelection' instead.",de="verticalScrollBarChanged",df="_applyMetaColumnCounts",dc="one of one row",dd="focus",da="changeDataRowRenderer",db="changeHeaderCellHeight",dp="Escape",dq="A",dF="changeSelectionModel",dB="Left",dN="Down",dI="Integer",ea="_applyHeaderCellHeight",dT="__ph",dw="visibilityChanged",ed="qx.ui.table.ITableModel",ec="orderChanged",eb="_applySelectionModel",du="menu",dy="_applyAdditionalStatusBarText",dA="_applyFocusCellOnMouseMove",dD="table",dG="_applyColumnVisibilityButtonVisible",dJ="changeTableModel",dP="qx.event.type.Event",dV="tableWidthChanged",di="End",dj="Object",dx="__oY",dM="_applyShowCellFocusIndicator",dL="resize",dK="changeScrollY",dR="_applyTableModel",dQ="menu-button",dH="_applyKeepFirstVisibleRowComplete",dO="widthChanged",cM="Home",dU="_applyRowHeight",dk="F2",dl="appear",dC="Up",cN="%1 rows",cO="qx.ui.table.selection.Model",dt="__pa",dm="one row",dn="PageDown",ds="%1 of %2 rows",dE="__pi",dX="keypress",dW="changeRowHeight",dz="Number",dY="changeVisible",dv="qx.ui.table.IRowRenderer",dS="Right",dr="Space";
qx.Class.define(ee,{extend:qx.ui.core.Widget,construct:function(cy,cz){qx.ui.core.Widget.call(this);
if(!cz){cz={};
}
if(cz.selectionManager){this.setNewSelectionManager(cz.selectionManager);
}
if(cz.selectionModel){this.setNewSelectionModel(cz.selectionModel);
}
if(cz.tableColumnModel){this.setNewTableColumnModel(cz.tableColumnModel);
}
if(cz.tablePane){this.setNewTablePane(cz.tablePane);
}
if(cz.tablePaneHeader){this.setNewTablePaneHeader(cz.tablePaneHeader);
}
if(cz.tablePaneScroller){this.setNewTablePaneScroller(cz.tablePaneScroller);
}
if(cz.tablePaneModel){this.setNewTablePaneModel(cz.tablePaneModel);
}
if(cz.columnMenu){this.setNewColumnMenu(cz.columnMenu);
}this._setLayout(new qx.ui.layout.VBox());
this.__oY=new qx.ui.container.Composite(new qx.ui.layout.HBox());
this._add(this.__oY,{flex:1});
this.setDataRowRenderer(new qx.ui.table.rowrenderer.Default(this));
this.__pa=this.getNewSelectionManager()(this);
this.setSelectionModel(this.getNewSelectionModel()(this));
this.setTableModel(cy||this.getEmptyTableModel());
this.setMetaColumnCounts([-1]);
this.setTabIndex(1);
this.addListener(dX,this._onKeyPress);
this.addListener(dd,this._onFocusChanged);
this.addListener(ef,this._onFocusChanged);
var cA=new qx.ui.core.Widget().set({height:0});
this._add(cA);
cA.addListener(dL,this._onResize,this);
this.__pb=null;
this.__pc=null;
if(qx.core.Variant.isSet(em,ei)){qx.locale.Manager.getInstance().addListener(cQ,this._onChangeLocale,this);
}this.initStatusBarVisible();
},events:{"columnVisibilityMenuCreateStart":cV,"columnVisibilityMenuCreateEnd":cV,"tableWidthChanged":dP,"verticalScrollBarChanged":cV,"cellClick":cT,"cellDblclick":cT,"cellContextmenu":cT,"dataEdited":cV},statics:{__pd:{cellClick:1,cellDblclick:1,cellContextmenu:1}},properties:{appearance:{refine:true,init:dD},focusable:{refine:true,init:true},minWidth:{refine:true,init:50},selectable:{refine:true,init:false},selectionModel:{check:cO,apply:eb,event:dF},tableModel:{check:ed,apply:dR,event:dJ},rowHeight:{check:dz,init:20,apply:dU,event:dW},forceLineHeight:{check:cW,init:true},headerCellHeight:{check:dI,init:16,apply:ea,event:db,nullable:true},statusBarVisible:{check:cW,init:true,apply:eh},additionalStatusBarText:{nullable:true,init:null,apply:dy},columnVisibilityButtonVisible:{check:cW,init:true,apply:dG},metaColumnCounts:{check:dj,apply:df},focusCellOnMouseMove:{check:cW,init:false,apply:dA},rowFocusChangeModifiesSelection:{check:cW,init:true},showCellFocusIndicator:{check:cW,init:true,apply:dM},keepFirstVisibleRowComplete:{check:cW,init:true,apply:dH},alwaysUpdateCells:{check:cW,init:false},dataRowRenderer:{check:dv,init:null,nullable:true,event:da},modalCellEditorPreOpenFunction:{check:cX,init:null,nullable:true},newColumnMenu:{check:cX,init:function(){return new qx.ui.table.columnmenu.Button();
}},newSelectionManager:{check:cX,init:function(eo){return new qx.ui.table.selection.Manager(eo);
}},newSelectionModel:{check:cX,init:function(cd){return new qx.ui.table.selection.Model(cd);
}},newTableColumnModel:{check:cX,init:function(eU){return new qx.ui.table.columnmodel.Basic(eU);
}},newTablePane:{check:cX,init:function(J){return new qx.ui.table.pane.Pane(J);
}},newTablePaneHeader:{check:cX,init:function(cx){return new qx.ui.table.pane.Header(cx);
}},newTablePaneScroller:{check:cX,init:function(n){return new qx.ui.table.pane.Scroller(n);
}},newTablePaneModel:{check:cX,init:function(bC){return new qx.ui.table.pane.Model(bC);
}}},members:{__pb:null,__pc:null,__oY:null,__pa:null,__pe:null,__pf:null,__pg:null,__ph:null,__pi:null,__pj:null,_createChildControlImpl:function(eG){var eH;

switch(eG){case cU:eH=new qx.ui.basic.Label();
eH.set({allowGrowX:true});
this._add(eH);
break;
case cY:eH=this.getNewColumnMenu()();
eH.set({focusable:false});
var eI=eH.factory(du,{table:this});
eI.addListener(dl,this._initColumnMenu,this);
break;
}return eH||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,eG);
},_applySelectionModel:function(z,A){this.__pa.setSelectionModel(z);

if(A!=null){A.removeListener(en,this._onSelectionChanged,this);
}z.addListener(en,this._onSelectionChanged,this);
},_applyRowHeight:function(G,H){var I=this._getPaneScrollerArr();

for(var i=0;i<I.length;i++){I[i].updateVerScrollBarMaximum();
}},_applyHeaderCellHeight:function(cr,cs){var ct=this._getPaneScrollerArr();

for(var i=0;i<ct.length;i++){ct[i].getHeader().setHeight(cr);
}},getEmptyTableModel:function(){if(!this.__pj){this.__pj=new qx.ui.table.model.Simple();
this.__pj.setColumns([]);
this.__pj.setData([]);
}return this.__pj;
},_applyTableModel:function(bY,ca){this.getTableColumnModel().init(bY.getColumnCount(),this);

if(ca!=null){ca.removeListener(ek,this._onTableModelMetaDataChanged,this);
ca.removeListener(ej,this._onTableModelDataChanged,this);
}bY.addListener(ek,this._onTableModelMetaDataChanged,this);
bY.addListener(ej,this._onTableModelDataChanged,this);
this._updateStatusBar();
this._updateTableData(0,bY.getRowCount(),0,bY.getColumnCount());
this._onTableModelMetaDataChanged();
},getTableColumnModel:function(){if(!this.__pi){var ba=this.__pi=this.getNewTableColumnModel()(this);
ba.addListener(dw,this._onColVisibilityChanged,this);
ba.addListener(dO,this._onColWidthChanged,this);
ba.addListener(ec,this._onColOrderChanged,this);
var Y=this.getTableModel();
ba.init(Y.getColumnCount(),this);
var W=this._getPaneScrollerArr();

for(var i=0;i<W.length;i++){var X=W[i];
var bb=X.getTablePaneModel();
bb.setTableColumnModel(ba);
}}return this.__pi;
},_applyStatusBarVisible:function(bD,bE){if(bD){this._showChildControl(cU);
}else{this._excludeChildControl(cU);
}
if(bD){this._updateStatusBar();
}},_applyAdditionalStatusBarText:function(w,y){this.__pe=w;
this._updateStatusBar();
},_applyColumnVisibilityButtonVisible:function(eA,eB){if(eA){this._showChildControl(cY);
}else{this._excludeChildControl(cY);
}},_applyMetaColumnCounts:function(bm,bn){var bu=bm;
var bo=this._getPaneScrollerArr();
var bs={};

if(bm>bn){var bw=qx.event.Registration.getManager(bo[0]);

for(var bx in qx.ui.table.Table.__pd){bs[bx]={};
bs[bx].capture=bw.getListeners(bo[0],bx,true);
bs[bx].bubble=bw.getListeners(bo[0],bx,false);
}}this._cleanUpMetaColumns(bu.length);
var bt=0;

for(var i=0;i<bo.length;i++){var by=bo[i];
var bv=by.getTablePaneModel();
bv.setFirstColumnX(bt);
bv.setMaxColumnCount(bu[i]);
bt+=bu[i];
}if(bu.length>bo.length){var br=this.getTableColumnModel();

for(var i=bo.length;i<bu.length;i++){var bv=this.getNewTablePaneModel()(br);
bv.setFirstColumnX(bt);
bv.setMaxColumnCount(bu[i]);
bt+=bu[i];
var by=this.getNewTablePaneScroller()(this);
by.setTablePaneModel(bv);
by.addListener(dK,this._onScrollY,this);
for(bx in qx.ui.table.Table.__pd){if(!bs[bx]){break;
}
if(bs[bx].capture&&bs[bx].capture.length>0){var bp=bs[bx].capture;

for(var i=0;i<bp.length;i++){var bq=bp[i].context;

if(!bq){bq=this;
}else if(bq==bo[0]){bq=by;
}by.addListener(bx,bp[i].handler,bq,true);
}}
if(bs[bx].bubble&&bs[bx].bubble.length>0){var bA=bs[bx].bubble;

for(var i=0;i<bA.length;i++){var bq=bA[i].context;

if(!bq){bq=this;
}else if(bq==bo[0]){bq=by;
}by.addListener(bx,bA[i].handler,bq,false);
}}}var bz=(i==bu.length-1)?1:0;
this.__oY.add(by,{flex:bz});
bo=this._getPaneScrollerArr();
}}for(var i=0;i<bo.length;i++){var by=bo[i];
var bB=(i==(bo.length-1));
by.getHeader().setHeight(this.getHeaderCellHeight());
by.setTopRightWidget(bB?this.getChildControl(cY):null);
}
if(!this.isColumnVisibilityButtonVisible()){this._excludeChildControl(cY);
}this._updateScrollerWidths();
this._updateScrollBarVisibility();
},_applyFocusCellOnMouseMove:function(c,d){var e=this._getPaneScrollerArr();

for(var i=0;i<e.length;i++){e[i].setFocusCellOnMouseMove(c);
}},_applyShowCellFocusIndicator:function(eN,eO){var eP=this._getPaneScrollerArr();

for(var i=0;i<eP.length;i++){eP[i].setShowCellFocusIndicator(eN);
}},_applyKeepFirstVisibleRowComplete:function(h,j){var k=this._getPaneScrollerArr();

for(var i=0;i<k.length;i++){k[i].onKeepFirstVisibleRowCompleteChanged();
}},getSelectionManager:function(){return this.__pa;
},_getPaneScrollerArr:function(){return this.__oY.getChildren();
},getPaneScroller:function(bf){return this._getPaneScrollerArr()[bf];
},_cleanUpMetaColumns:function(bP){var bQ=this._getPaneScrollerArr();

if(bQ!=null){for(var i=bQ.length-1;i>=bP;i--){bQ[i].destroy();
}}},_onChangeLocale:function(m){this.updateContent();
this._updateStatusBar();
},_onSelectionChanged:function(f){var g=this._getPaneScrollerArr();

for(var i=0;i<g.length;i++){g[i].onSelectionChanged();
}this._updateStatusBar();
},_onTableModelMetaDataChanged:function(bF){var bG=this._getPaneScrollerArr();

for(var i=0;i<bG.length;i++){bG[i].onTableModelMetaDataChanged();
}this._updateStatusBar();
},_onTableModelDataChanged:function(et){var eu=et.getData();
this._updateTableData(eu.firstRow,eu.lastRow,eu.firstColumn,eu.lastColumn,eu.removeStart,eu.removeCount);
},_updateTableData:function(bH,bI,bJ,bK,bL,bM){var bN=this._getPaneScrollerArr();
if(bM){this.getSelectionModel().removeSelectionInterval(bL,bL+bM);
}
for(var i=0;i<bN.length;i++){bN[i].onTableModelDataChanged(bH,bI,bJ,bK);
}var bO=this.getTableModel().getRowCount();

if(bO!=this.__pf){this.__pf=bO;
this._updateScrollBarVisibility();
this._updateStatusBar();
}},_onScrollY:function(eE){if(!this.__pg){this.__pg=true;
var eF=this._getPaneScrollerArr();

for(var i=0;i<eF.length;i++){eF[i].setScrollY(eE.getData());
}this.__pg=false;
}},_onKeyPress:function(ci){if(!this.getEnabled()){return;
}var cp=this.__pc;
var cm=true;
var cq=ci.getKeyIdentifier();

if(this.isEditing()){if(ci.getModifiers()==0){switch(cq){case el:this.stopEditing();
var cp=this.__pc;
this.moveFocusedCell(0,1);

if(this.__pc!=cp){cm=this.startEditing();
}break;
case dp:this.cancelEditing();
this.focus();
break;
default:cm=false;
break;
}}}else{if(ci.isCtrlPressed()){cm=true;

switch(cq){case dq:var cn=this.getTableModel().getRowCount();

if(cn>0){this.getSelectionModel().setSelectionInterval(0,cn-1);
}break;
default:cm=false;
break;
}}else{switch(cq){case dr:this.__pa.handleSelectKeyDown(this.__pc,ci);
break;
case dk:case el:this.startEditing();
cm=true;
break;
case cM:this.setFocusedCell(this.__pb,0,true);
break;
case di:var cn=this.getTableModel().getRowCount();
this.setFocusedCell(this.__pb,cn-1,true);
break;
case dB:this.moveFocusedCell(-1,0);
break;
case dS:this.moveFocusedCell(1,0);
break;
case dC:this.moveFocusedCell(0,-1);
break;
case dN:this.moveFocusedCell(0,1);
break;
case cS:case dn:var cl=this.getPaneScroller(0);
var co=cl.getTablePane();
var ck=this.getRowHeight();
var cj=(cq==cS)?-1:1;
cn=co.getVisibleRowCount()-1;
cl.setScrollY(cl.getScrollY()+cj*cn*ck);
this.moveFocusedCell(0,cj*cn);
break;
default:cm=false;
}}}
if(cp!=this.__pc&&this.getRowFocusChangeModifiesSelection()){this.__pa.handleMoveKeyDown(this.__pc,ci);
}
if(cm){ci.preventDefault();
ci.stopPropagation();
}},_onFocusChanged:function(eR){var eS=this._getPaneScrollerArr();

for(var i=0;i<eS.length;i++){eS[i].onFocusChanged();
}},_onColVisibilityChanged:function(ep){var eq=this._getPaneScrollerArr();

for(var i=0;i<eq.length;i++){eq[i].onColVisibilityChanged();
}var er=ep.getData();

if(this.__ph!=null&&er.col!=null&&er.visible!=null){this.__ph[er.col].setVisible(er.visible);
}this._updateScrollerWidths();
this._updateScrollBarVisibility();
},_onColWidthChanged:function(bj){var bk=this._getPaneScrollerArr();

for(var i=0;i<bk.length;i++){var bl=bj.getData();
bk[i].setColumnWidth(bl.col,bl.newWidth);
}this._updateScrollerWidths();
this._updateScrollBarVisibility();
},_onColOrderChanged:function(eC){var eD=this._getPaneScrollerArr();

for(var i=0;i<eD.length;i++){eD[i].onColOrderChanged();
}this._updateScrollerWidths();
this._updateScrollBarVisibility();
},getTablePaneScrollerAtPageX:function(cb){var cc=this._getMetaColumnAtPageX(cb);
return (cc!=-1)?this.getPaneScroller(cc):null;
},setFocusedCell:function(ew,ex,ey){if(!this.isEditing()&&(ew!=this.__pb||ex!=this.__pc)){if(ew===null){ew=0;
}this.__pb=ew;
this.__pc=ex;
var ez=this._getPaneScrollerArr();

for(var i=0;i<ez.length;i++){ez[i].setFocusedCell(ew,ex);
}
if(ew!==null&&ey){this.scrollCellVisible(ew,ex);
}}},resetSelection:function(){this.getSelectionModel().resetSelection();
},clearSelection:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,dh);
this.resetSelection();
},resetCellFocus:function(){this.setFocusedCell(null,null,false);
},getFocusedColumn:function(){return this.__pb;
},getFocusedRow:function(){return this.__pc;
},highlightFocusedRow:function(B){this.getDataRowRenderer().setHighlightFocusRow(B);
},clearFocusedRowHighlight:function(cC){if(cC){var cE=cC.getRelatedTarget();

if(cE instanceof qx.ui.table.pane.Pane||cE instanceof qx.ui.table.pane.FocusIndicator){return;
}}this.resetCellFocus();
var cD=this._getPaneScrollerArr();

for(var i=0;i<cD.length;i++){cD[i].onFocusChanged();
}},moveFocusedCell:function(K,L){var P=this.__pb;
var Q=this.__pc;

if(P===null||Q===null){return;
}
if(K!=0){var O=this.getTableColumnModel();
var x=O.getVisibleX(P);
var N=O.getVisibleColumnCount();
x=qx.lang.Number.limit(x+K,0,N-1);
P=O.getVisibleColumnAtX(x);
}
if(L!=0){var M=this.getTableModel();
Q=qx.lang.Number.limit(Q+L,0,M.getRowCount()-1);
}this.setFocusedCell(P,Q,true);
},scrollCellVisible:function(ce,cf){var cg=this.getTableColumnModel();
var x=cg.getVisibleX(ce);
var ch=this._getMetaColumnAtColumnX(x);

if(ch!=-1){this.getPaneScroller(ch).scrollCellVisible(ce,cf);
}},isEditing:function(){if(this.__pb!=null){var x=this.getTableColumnModel().getVisibleX(this.__pb);
var cB=this._getMetaColumnAtColumnX(x);
return this.getPaneScroller(cB).isEditing();
}return false;
},startEditing:function(){if(this.__pb!=null){var x=this.getTableColumnModel().getVisibleX(this.__pb);
var bi=this._getMetaColumnAtColumnX(x);
var bh=this.getPaneScroller(bi).startEditing();
return bh;
}return false;
},stopEditing:function(){if(this.__pb!=null){var x=this.getTableColumnModel().getVisibleX(this.__pb);
var be=this._getMetaColumnAtColumnX(x);
this.getPaneScroller(be).stopEditing();
}},cancelEditing:function(){if(this.__pb!=null){var x=this.getTableColumnModel().getVisibleX(this.__pb);
var es=this._getMetaColumnAtColumnX(x);
this.getPaneScroller(es).cancelEditing();
}},updateContent:function(){var ev=this._getPaneScrollerArr();

for(var i=0;i<ev.length;i++){ev[i].getTablePane().updateContent();
}},blockHeaderElements:function(){var eQ=this._getPaneScrollerArr();

for(var i=0;i<eQ.length;i++){eQ[i].getHeader().getBlocker().blockContent(20);
}this.getChildControl(cY).getBlocker().blockContent(20);
},unblockHeaderElements:function(){var eT=this._getPaneScrollerArr();

for(var i=0;i<eT.length;i++){eT[i].getHeader().getBlocker().unblockContent();
}this.getChildControl(cY).getBlocker().unblockContent();
},_getMetaColumnAtPageX:function(cu){var cv=this._getPaneScrollerArr();

for(var i=0;i<cv.length;i++){var cw=cv[i].getContainerLocation();

if(cu>=cw.left&&cu<=cw.right){return i;
}}return -1;
},_getMetaColumnAtColumnX:function(s){var u=this.getMetaColumnCounts();
var v=0;

for(var i=0;i<u.length;i++){var t=u[i];
v+=t;

if(t==-1||s<v){return i;
}}return -1;
},_updateStatusBar:function(){var o=this.getTableModel();

if(this.getStatusBarVisible()){var p=this.getSelectionModel().getSelectedCount();
var r=o.getRowCount();
var q;

if(r>=0){if(p==0){q=this.trn(dm,cN,r,r);
}else{q=this.trn(dc,ds,r,p,r);
}}
if(this.__pe){if(q){q+=this.__pe;
}else{q=this.__pe;
}}
if(q){this.getChildControl(cU).setValue(q);
}}},_updateScrollerWidths:function(){var eJ=this._getPaneScrollerArr();

for(var i=0;i<eJ.length;i++){var eL=(i==(eJ.length-1));
var eM=eJ[i].getTablePaneModel().getTotalWidth();
eJ[i].setPaneWidth(eM);
var eK=eL?1:0;
eJ[i].setLayoutProperties({flex:eK});
}},_updateScrollBarVisibility:function(){if(!this.getBounds()){return;
}var eY=qx.ui.table.pane.Scroller.HORIZONTAL_SCROLLBAR;
var fc=qx.ui.table.pane.Scroller.VERTICAL_SCROLLBAR;
var eV=this._getPaneScrollerArr();
var eX=false;
var fb=false;

for(var i=0;i<eV.length;i++){var fd=(i==(eV.length-1));
var eW=eV[i].getNeededScrollBars(eX,!fd);

if(eW&eY){eX=true;
}
if(fd&&(eW&fc)){fb=true;
}}for(var i=0;i<eV.length;i++){var fd=(i==(eV.length-1));
var fa;
eV[i].setHorizontalScrollBarVisible(eX);
if(fd){fa=eV[i].getVerticalScrollBarVisible();
}eV[i].setVerticalScrollBarVisible(fd&&fb);
if(fd&&fb!=fa){this.fireDataEvent(de,fb);
}}},_initColumnMenu:function(){var bT=this.getTableModel();
var bU=this.getTableColumnModel();
var bV=this.getChildControl(cY);
bV.empty();
var bS=bV.getMenu();
var bW={table:this,menu:bS,columnButton:bV};
this.fireDataEvent(eg,bW);
this.__ph={};

for(var bX=0,l=bT.getColumnCount();bX<l;bX++){var bR=bV.factory(dQ,{text:bT.getColumnName(bX),column:bX,bVisible:bU.isColumnVisible(bX)});
qx.core.Assert.assertInterface(bR,qx.ui.table.IColumnMenuItem);
bR.addListener(dY,this._createColumnVisibilityCheckBoxHandler(bX),this);
this.__ph[bX]=bR;
}var bW={table:this,menu:bS,columnButton:bV};
this.fireDataEvent(dg,bW);
},_createColumnVisibilityCheckBoxHandler:function(bg){return function(bc){var bd=this.getTableColumnModel();
bd.setColumnVisible(bg,bc.getData());
};
},setColumnWidth:function(a,b){this.getTableColumnModel().setColumnWidth(a,b);
},_onResize:function(){this.fireEvent(dV);
this._updateScrollerWidths();
this._updateScrollBarVisibility();
},addListener:function(cF,cG,self,cH){if(this.self(arguments).__pd[cF]){var cJ=[cF];

for(var i=0,cI=this._getPaneScrollerArr();i<cI.length;i++){cJ.push(cI[i].addListener.apply(cI[i],arguments));
}return cJ.join(cR);
}else{return qx.ui.core.Widget.prototype.addListener.call(this,cF,cG,self,cH);
}},removeListener:function(C,D,self,E){if(this.self(arguments).__pd[C]){for(var i=0,F=this._getPaneScrollerArr();i<F.length;i++){F[i].removeListener.apply(F[i],arguments);
}}else{qx.ui.core.Widget.prototype.removeListener.call(this,C,D,self,E);
}},removeListenerById:function(R){var V=R.split(cR);
var U=V.shift();

if(this.self(arguments).__pd[U]){var T=true;

for(var i=0,S=this._getPaneScrollerArr();i<S.length;i++){T=S[i].removeListenerById.call(S[i],V[i])&&T;
}return T;
}else{return qx.ui.core.Widget.prototype.removeListenerById.call(this,R);
}},destroy:function(){this.getChildControl(cY).getMenu().destroy();
qx.ui.core.Widget.prototype.destroy.call(this);
}},destruct:function(){if(qx.core.Variant.isSet(em,ei)){qx.locale.Manager.getInstance().removeListener(cQ,this._onChangeLocale,this);
}var cL=this.getSelectionModel();

if(cL){cL.dispose();
}var cK=this.getDataRowRenderer();

if(cK){cK.dispose();
}this._cleanUpMetaColumns(0);
this.getTableColumnModel().dispose();
this._disposeObjects(dt,dx,cP,cP,dE);
this._disposeMap(dT);
}});
})();
(function(){var b="qx.ui.table.IRowRenderer";
qx.Interface.define(b,{members:{updateDataRowElement:function(d,e){},getRowHeightStyle:function(a){},createRowStyle:function(c){},getRowClass:function(f){}}});
})();
(function(){var v="",u="table-row-background-even",t="table-row-background-selected",s="table-row",r="background-color:",q="table-row-background-focused",p=';border-bottom: 1px solid ',o=';color:',n="table-row-selected",m="table-row-background-odd",f="default",l="table-row-background-focused-selected",i="qx.ui.table.rowrenderer.Default",e="table-row-line",d="'",h="height:",g=";",j="px;",c="1px solid ",k="Boolean";
qx.Class.define(i,{extend:qx.core.Object,implement:qx.ui.table.IRowRenderer,construct:function(){qx.core.Object.call(this);
this.__pk=v;
this.__pk={};
this.__pl={};
this._renderFont(qx.theme.manager.Font.getInstance().resolve(f));
var A=qx.theme.manager.Color.getInstance();
this.__pl.bgcolFocusedSelected=A.resolve(l);
this.__pl.bgcolFocused=A.resolve(q);
this.__pl.bgcolSelected=A.resolve(t);
this.__pl.bgcolEven=A.resolve(u);
this.__pl.bgcolOdd=A.resolve(m);
this.__pl.colSelected=A.resolve(n);
this.__pl.colNormal=A.resolve(s);
this.__pl.horLine=A.resolve(e);
},properties:{highlightFocusRow:{check:k,init:true}},members:{__pl:null,__pm:null,__pk:null,_insetY:1,_renderFont:function(b){if(b){this.__pm=b.getStyles();
this.__pk=qx.bom.element.Style.compile(this.__pm);
this.__pk=this.__pk.replace(/"/g,d);
}else{this.__pk=v;
this.__pm=qx.bom.Font.getDefaultStyles();
}},updateDataRowElement:function(w,x){var z=this.__pm;
var y=x.style;
qx.bom.element.Style.setStyles(x,z);

if(w.focusedRow&&this.getHighlightFocusRow()){y.backgroundColor=w.selected?this.__pl.bgcolFocusedSelected:this.__pl.bgcolFocused;
}else{if(w.selected){y.backgroundColor=this.__pl.bgcolSelected;
}else{y.backgroundColor=(w.row%2==0)?this.__pl.bgcolEven:this.__pl.bgcolOdd;
}}y.color=w.selected?this.__pl.colSelected:this.__pl.colNormal;
y.borderBottom=c+this.__pl.horLine;
},getRowHeightStyle:function(B){if(qx.bom.client.Feature.CONTENT_BOX){B-=this._insetY;
}return h+B+j;
},createRowStyle:function(D){var E=[];
E.push(g);
E.push(this.__pk);
E.push(r);

if(D.focusedRow&&this.getHighlightFocusRow()){E.push(D.selected?this.__pl.bgcolFocusedSelected:this.__pl.bgcolFocused);
}else{if(D.selected){E.push(this.__pl.bgcolSelected);
}else{E.push((D.row%2==0)?this.__pl.bgcolEven:this.__pl.bgcolOdd);
}}E.push(o);
E.push(D.selected?this.__pl.colSelected:this.__pl.colNormal);
E.push(p,this.__pl.horLine);
return E.join(v);
},getRowClass:function(C){return v;
},getRowAttributes:function(a){return v;
}},destruct:function(){this.__pl=this.__pm=this.__pk=null;
}});
})();
(function(){var o="pressed",n="hovered",m="changeVisibility",l="qx.ui.menu.Menu",k="submenu",j="Enter",i="contextmenu",h="changeMenu",g="qx.ui.form.MenuButton",f="abandoned",d="_applyMenu";
qx.Class.define(g,{extend:qx.ui.form.Button,construct:function(a,b,c){qx.ui.form.Button.call(this,a,b);
if(c!=null){this.setMenu(c);
}},properties:{menu:{check:l,nullable:true,apply:d,event:h}},members:{_applyMenu:function(p,q){if(q){q.removeListener(m,this._onMenuChange,this);
q.resetOpener();
}
if(p){p.addListener(m,this._onMenuChange,this);
p.setOpener(this);
p.removeState(k);
p.removeState(i);
}},open:function(r){var s=this.getMenu();

if(s){qx.ui.menu.Manager.getInstance().hideAll();
s.setOpener(this);
s.open();
if(r){var t=s.getSelectables()[0];

if(t){s.setSelectedButton(t);
}}}},_onMenuChange:function(e){var u=this.getMenu();

if(u.isVisible()){this.addState(o);
}else{this.removeState(o);
}},_onMouseDown:function(e){var v=this.getMenu();

if(v){if(!v.isVisible()){this.open();
}else{v.exclude();
}e.stopPropagation();
}},_onMouseUp:function(e){qx.ui.form.Button.prototype._onMouseUp.call(this,e);
e.stopPropagation();
},_onMouseOver:function(e){this.addState(n);
},_onMouseOut:function(e){this.removeState(n);
},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case j:this.removeState(f);
this.addState(o);
var w=this.getMenu();

if(w){if(!w.isVisible()){this.open();
}else{w.exclude();
}}e.stopPropagation();
}},_onKeyUp:function(e){}},destruct:function(){if(this.getMenu()){if(!qx.core.ObjectRegistry.inShutDown){this.getMenu().destroy();
}}}});
})();
(function(){var a="qx.ui.table.IColumnMenuButton";
qx.Interface.define(a,{properties:{menu:{}},members:{factory:function(b,c){return true;
},empty:function(){return true;
}}});
})();
(function(){var f="menu-button",e="table-column-reset-button",d="separator",c="user-button",b="qx.ui.table.columnmenu.Button",a="menu";
qx.Class.define(b,{extend:qx.ui.form.MenuButton,implement:qx.ui.table.IColumnMenuButton,construct:function(){qx.ui.form.MenuButton.call(this);
this.__pn=new qx.ui.core.Blocker(this);
},members:{__po:null,__pn:null,factory:function(j,k){switch(j){case a:var m=new qx.ui.menu.Menu();
this.setMenu(m);
return m;
case f:var o=new qx.ui.table.columnmenu.MenuItem(k.text);
o.setVisible(k.bVisible);
this.getMenu().add(o);
return o;
case c:var n=new qx.ui.menu.Button(k.text);
n.set({appearance:e});
return n;
case d:return new qx.ui.menu.Separator();
default:throw new Error("Unrecognized factory request: "+j);
}},getBlocker:function(){return this.__pn;
},empty:function(){var g=this.getMenu();
var h=g.getChildren();

for(var i=0,l=h.length;i<l;i++){h[0].destroy();
}}},destruct:function(){this.__pn.dispose();
}});
})();
(function(){var V="keypress",U="interval",T="keydown",S="mousedown",R="keyup",Q="blur",P="Enter",O="__pr",N="Up",M="__pq",G="Escape",L="qx.ui.menu.Manager",J="Left",F="__pp",E="Down",I="Right",H="singleton",K="Space";
qx.Class.define(L,{type:H,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__pp=[];
var q=document.body;
var r=qx.event.Registration;
r.addListener(window.document.documentElement,S,this._onMouseDown,this,true);
r.addListener(q,T,this._onKeyUpDown,this,true);
r.addListener(q,R,this._onKeyUpDown,this,true);
r.addListener(q,V,this._onKeyPress,this,true);
qx.bom.Element.addListener(window,Q,this.hideAll,this);
this.__pq=new qx.event.Timer;
this.__pq.addListener(U,this._onOpenInterval,this);
this.__pr=new qx.event.Timer;
this.__pr.addListener(U,this._onCloseInterval,this);
},members:{__ps:null,__pt:null,__pq:null,__pr:null,__pp:null,_getChild:function(bt,bu,bv,bw){var bx=bt.getChildren();
var length=bx.length;
var by;

for(var i=bu;i<length&&i>=0;i+=bv){by=bx[i];

if(by.isEnabled()&&!by.isAnonymous()){return by;
}}
if(bw){i=i==length?0:length-1;

for(;i!=bu;i+=bv){by=bx[i];

if(by.isEnabled()&&!by.isAnonymous()){return by;
}}}return null;
},_isInMenu:function(p){while(p){if(p instanceof qx.ui.menu.Menu){return true;
}p=p.getLayoutParent();
}return false;
},_getMenuButton:function(D){while(D){if(D instanceof qx.ui.menu.AbstractButton){return D;
}D=D.getLayoutParent();
}return null;
},add:function(bn){{};
var bo=this.__pp;
bo.push(bn);
bn.setZIndex(1e6+bo.length);
},remove:function(bl){{};
var bm=this.__pp;

if(bm){qx.lang.Array.remove(bm,bl);
}},hideAll:function(){var bp=this.__pp;

if(bp){for(var i=bp.length-1;i>=0;i--){bp[i].exclude();
}}},getActiveMenu:function(){var x=this.__pp;
return x.length>0?x[x.length-1]:null;
},scheduleOpen:function(bi){this.cancelClose(bi);
if(bi.isVisible()){if(this.__ps){this.cancelOpen(this.__ps);
}}else if(this.__ps!=bi){this.__ps=bi;
this.__pq.restartWith(bi.getOpenInterval());
}},scheduleClose:function(bD){this.cancelOpen(bD);
if(!bD.isVisible()){if(this.__pt){this.cancelClose(this.__pt);
}}else if(this.__pt!=bD){this.__pt=bD;
this.__pr.restartWith(bD.getCloseInterval());
}},cancelOpen:function(bz){if(this.__ps==bz){this.__pq.stop();
this.__ps=null;
}},cancelClose:function(W){if(this.__pt==W){this.__pr.stop();
this.__pt=null;
}},_onOpenInterval:function(e){this.__pq.stop();
this.__ps.open();
this.__ps=null;
},_onCloseInterval:function(e){this.__pr.stop();
this.__pt.exclude();
this.__pt=null;
},_onMouseDown:function(e){var X=e.getTarget();
X=qx.ui.core.Widget.getWidgetByElement(X);
if(X==null){this.hideAll();
return;
}if(X.getMenu&&X.getMenu()&&X.getMenu().isVisible()){return;
}if(this.__pp.length>0&&!this._isInMenu(X)){this.hideAll();
}},__pu:{"Enter":1,"Space":1},__pv:{"Escape":1,"Up":1,"Down":1,"Left":1,"Right":1},_onKeyUpDown:function(e){var f=this.getActiveMenu();

if(!f){return;
}var g=e.getKeyIdentifier();

if(this.__pv[g]||(this.__pu[g]&&f.getSelectedButton())){e.stopPropagation();
}},_onKeyPress:function(e){var s=this.getActiveMenu();

if(!s){return;
}var t=e.getKeyIdentifier();
var v=this.__pv[t];
var u=this.__pu[t];

if(v){switch(t){case N:this._onKeyPressUp(s);
break;
case E:this._onKeyPressDown(s);
break;
case J:this._onKeyPressLeft(s);
break;
case I:this._onKeyPressRight(s);
break;
case G:this.hideAll();
break;
}e.stopPropagation();
e.preventDefault();
}else if(u){var w=s.getSelectedButton();

if(w){switch(t){case P:this._onKeyPressEnter(s,w,e);
break;
case K:this._onKeyPressSpace(s,w,e);
break;
}e.stopPropagation();
e.preventDefault();
}}},_onKeyPressUp:function(y){var z=y.getSelectedButton();
var A=y.getChildren();
var C=z?y.indexOf(z)-1:A.length-1;
var B=this._getChild(y,C,-1,true);
if(B){y.setSelectedButton(B);
}else{y.resetSelectedButton();
}},_onKeyPressDown:function(a){var b=a.getSelectedButton();
var d=b?a.indexOf(b)+1:0;
var c=this._getChild(a,d,1,true);
if(c){a.setSelectedButton(c);
}else{a.resetSelectedButton();
}},_onKeyPressLeft:function(h){var n=h.getOpener();

if(!n){return;
}if(n instanceof qx.ui.menu.Button){var k=n.getLayoutParent();
k.resetOpenedButton();
k.setSelectedButton(n);
}else if(n instanceof qx.ui.menubar.Button){var m=n.getMenuBar().getMenuButtons();
var j=m.indexOf(n);
if(j===-1){return;
}var o=null;
var length=m.length;

for(var i=1;i<=length;i++){var l=m[(j-i+length)%length];

if(l.isEnabled()){o=l;
break;
}}
if(o&&o!=n){o.open(true);
}}},_onKeyPressRight:function(Y){var bb=Y.getSelectedButton();
if(bb){var ba=bb.getMenu();

if(ba){Y.setOpenedButton(bb);
var bh=this._getChild(ba,0,1);

if(bh){ba.setSelectedButton(bh);
}return;
}}else if(!Y.getOpenedButton()){var bh=this._getChild(Y,0,1);

if(bh){Y.setSelectedButton(bh);

if(bh.getMenu()){Y.setOpenedButton(bh);
}return;
}}var bf=Y.getOpener();
if(bf instanceof qx.ui.menu.Button&&bb){while(bf){bf=bf.getLayoutParent();

if(bf instanceof qx.ui.menu.Menu){bf=bf.getOpener();

if(bf instanceof qx.ui.menubar.Button){break;
}}else{break;
}}
if(!bf){return;
}}if(bf instanceof qx.ui.menubar.Button){var be=bf.getMenuBar().getMenuButtons();
var bc=be.indexOf(bf);
if(bc===-1){return;
}var bg=null;
var length=be.length;

for(var i=1;i<=length;i++){var bd=be[(bc+i)%length];

if(bd.isEnabled()){bg=bd;
break;
}}
if(bg&&bg!=bf){bg.open(true);
}}},_onKeyPressEnter:function(bq,br,e){if(br.hasListener(V)){var bs=e.clone();
bs.setBubbles(false);
bs.setTarget(br);
br.dispatchEvent(bs);
}this.hideAll();
},_onKeyPressSpace:function(bA,bB,e){if(bB.hasListener(V)){var bC=e.clone();
bC.setBubbles(false);
bC.setTarget(bB);
bB.dispatchEvent(bC);
}}},destruct:function(){var bk=qx.event.Registration;
var bj=document.body;
bk.removeListener(window.document.documentElement,S,this._onMouseDown,this,true);
bk.removeListener(bj,T,this._onKeyUpDown,this,true);
bk.removeListener(bj,R,this._onKeyUpDown,this,true);
bk.removeListener(bj,V,this._onKeyPress,this,true);
this._disposeObjects(M,O);
this._disposeArray(F);
}});
})();
(function(){var M="slidebar",L="Integer",K="resize",J="qx.ui.core.Widget",I="selected",H="visible",G="Boolean",F="mouseout",E="excluded",D="menu",bc="_applySelectedButton",bb="_applySpacingY",ba="_blocker",Y="_applyCloseInterval",X="_applyBlockerColor",W="_applyIconColumnWidth",V="mouseover",U="_applyArrowColumnWidth",T="qx.ui.menu.Menu",S="Color",Q="Number",R="_applyOpenInterval",O="_applySpacingX",P="_applyBlockerOpacity",N="_applyOpenedButton";
qx.Class.define(T,{extend:qx.ui.core.Widget,include:[qx.ui.core.MPlacement,qx.ui.core.MRemoteChildrenHandling],construct:function(){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.menu.Layout);
var A=this.getApplicationRoot();
A.add(this);
this.addListener(V,this._onMouseOver);
this.addListener(F,this._onMouseOut);
this.addListener(K,this._onResize,this);
A.addListener(K,this._onResize,this);
this._blocker=new qx.ui.core.Blocker(A);
this.initVisibility();
this.initKeepFocus();
this.initKeepActive();
},properties:{appearance:{refine:true,init:D},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false},visibility:{refine:true,init:E},keepFocus:{refine:true,init:true},keepActive:{refine:true,init:true},spacingX:{check:L,apply:O,init:0,themeable:true},spacingY:{check:L,apply:bb,init:0,themeable:true},iconColumnWidth:{check:L,init:0,themeable:true,apply:W},arrowColumnWidth:{check:L,init:0,themeable:true,apply:U},blockerColor:{check:S,init:null,nullable:true,apply:X,themeable:true},blockerOpacity:{check:Q,init:1,apply:P,themeable:true},selectedButton:{check:J,nullable:true,apply:bc},openedButton:{check:J,nullable:true,apply:N},opener:{check:J,nullable:true},openInterval:{check:L,themeable:true,init:250,apply:R},closeInterval:{check:L,themeable:true,init:250,apply:Y},blockBackground:{check:G,themeable:true,init:false}},members:{__pw:null,__px:null,_blocker:null,open:function(){if(this.getOpener()!=null){this.placeToWidget(this.getOpener());
this.__pz();
this.show();
this._placementTarget=this.getOpener();
}else{this.warn("The menu instance needs a configured 'opener' widget!");
}},openAtMouse:function(e){this.placeToMouse(e);
this.__pz();
this.show();
this._placementTarget={left:e.getDocumentLeft(),top:e.getDocumentTop()};
},openAtPoint:function(o){this.placeToPoint(o);
this.__pz();
this.show();
this._placementTarget=o;
},addSeparator:function(){this.add(new qx.ui.menu.Separator);
},getColumnSizes:function(){return this._getMenuLayout().getColumnSizes();
},getSelectables:function(){var bn=[];
var bo=this.getChildren();

for(var i=0;i<bo.length;i++){if(bo[i].isEnabled()){bn.push(bo[i]);
}}return bn;
},_applyIconColumnWidth:function(bl,bm){this._getMenuLayout().setIconColumnWidth(bl);
},_applyArrowColumnWidth:function(bd,be){this._getMenuLayout().setArrowColumnWidth(bd);
},_applySpacingX:function(bq,br){this._getMenuLayout().setColumnSpacing(bq);
},_applySpacingY:function(y,z){this._getMenuLayout().setSpacing(y);
},_applyVisibility:function(k,l){qx.ui.core.Widget.prototype._applyVisibility.call(this,k,l);
var m=qx.ui.menu.Manager.getInstance();

if(k===H){m.add(this);
var n=this.getParentMenu();

if(n){n.setOpenedButton(this.getOpener());
}}else if(l===H){m.remove(this);
var n=this.getParentMenu();

if(n&&n.getOpenedButton()==this.getOpener()){n.resetOpenedButton();
}this.resetOpenedButton();
this.resetSelectedButton();
}this.__py();
},__py:function(){if(this.isVisible()){if(this.getBlockBackground()){var bh=this.getZIndex();
this._blocker.blockContent(bh-1);
}}else{if(this._blocker.isContentBlocked()){this._blocker.unblockContent();
}}},getParentMenu:function(){var c=this.getOpener();

if(!c||!(c instanceof qx.ui.menu.AbstractButton)){return null;
}
while(c&&!(c instanceof qx.ui.menu.Menu)){c=c.getLayoutParent();
}return c;
},_applySelectedButton:function(r,s){if(s){s.removeState(I);
}
if(r){r.addState(I);
}},_applyOpenedButton:function(bf,bg){if(bg){bg.getMenu().exclude();
}
if(bf){bf.getMenu().open();
}},_applyBlockerColor:function(B,C){this._blocker.setColor(B);
},_applyBlockerOpacity:function(p,q){this._blocker.setOpacity(p);
},getChildrenContainer:function(){return this.getChildControl(M,true)||this;
},_createChildControlImpl:function(d){var f;

switch(d){case M:var f=new qx.ui.menu.MenuSlideBar();
var h=this._getLayout();
this._setLayout(new qx.ui.layout.Grow());
var g=f.getLayout();
f.setLayout(h);
g.dispose();
var j=qx.lang.Array.clone(this.getChildren());

for(var i=0;i<j.length;i++){f.add(j[i]);
}this.removeListener(K,this._onResize,this);
f.getChildrenContainer().addListener(K,this._onResize,this);
this._add(f);
break;
}return f||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,d);
},_getMenuLayout:function(){if(this.hasChildControl(M)){return this.getChildControl(M).getChildrenContainer().getLayout();
}else{return this._getLayout();
}},_getMenuBounds:function(){if(this.hasChildControl(M)){return this.getChildControl(M).getChildrenContainer().getBounds();
}else{return this.getBounds();
}},_computePlacementSize:function(){return this._getMenuBounds();
},__pz:function(){var bj=this._getMenuBounds();

if(!bj){this.addListenerOnce(K,this.__pz,this);
return;
}var bi=this.getLayoutParent().getBounds().height;
var top=this.getLayoutProperties().top;
var bk=this.getLayoutProperties().left;
if(top<0){this._assertSlideBar(function(){this.setHeight(bj.height+top);
this.moveTo(bk,0);
});
}else if(top+bj.height>bi){this._assertSlideBar(function(){this.setHeight(bi-top);
});
}else{this.setHeight(null);
}},_assertSlideBar:function(bp){if(this.hasChildControl(M)){return bp.call(this);
}this.__px=bp;
qx.ui.core.queue.Widget.add(this);
},syncWidget:function(){this.getChildControl(M);

if(this.__px){this.__px.call(this);
delete this.__px;
}},_onResize:function(){if(this.isVisible()){var t=this._placementTarget;

if(!t){return;
}else if(t instanceof qx.ui.core.Widget){this.placeToWidget(t);
}else if(t.top!==undefined){this.placeToPoint(t);
}else{throw new Error("Unknown target: "+t);
}this.__pz();
}},_onMouseOver:function(e){var v=qx.ui.menu.Manager.getInstance();
v.cancelClose(this);
var w=e.getTarget();

if(w.isEnabled()&&w instanceof qx.ui.menu.AbstractButton){this.setSelectedButton(w);
var u=w.getMenu&&w.getMenu();

if(u){u.setOpener(w);
v.scheduleOpen(u);
this.__pw=u;
}else{var x=this.getOpenedButton();

if(x){v.scheduleClose(x.getMenu());
}
if(this.__pw){v.cancelOpen(this.__pw);
this.__pw=null;
}}}else if(!this.getOpenedButton()){this.resetSelectedButton();
}},_onMouseOut:function(e){var a=qx.ui.menu.Manager.getInstance();
if(!qx.ui.core.Widget.contains(this,e.getRelatedTarget())){var b=this.getOpenedButton();
b?this.setSelectedButton(b):this.resetSelectedButton();
if(b){a.cancelClose(b.getMenu());
}if(this.__pw){a.cancelOpen(this.__pw);
}}}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){qx.ui.menu.Manager.getInstance().remove(this);
}this.getApplicationRoot().removeListener(K,this._onResize,this);
this._placementTarget=null;
this._disposeObjects(ba);
}});
})();
(function(){var c="Integer",b="_applyLayoutChange",a="qx.ui.menu.Layout";
qx.Class.define(a,{extend:qx.ui.layout.VBox,properties:{columnSpacing:{check:c,init:0,apply:b},spanColumn:{check:c,init:1,nullable:true,apply:b},iconColumnWidth:{check:c,init:0,themeable:true,apply:b},arrowColumnWidth:{check:c,init:0,themeable:true,apply:b}},members:{__pA:null,_computeSizeHint:function(){var q=this._getLayoutChildren();
var o,g,j;
var e=this.getSpanColumn();
var h=this.__pA=[0,0,0,0];
var m=this.getColumnSpacing();
var k=0;
var f=0;
for(var i=0,l=q.length;i<l;i++){o=q[i];

if(o.isAnonymous()){continue;
}g=o.getChildrenSizes();

for(var n=0;n<g.length;n++){if(e!=null&&n==e&&g[e+1]==0){k=Math.max(k,g[n]);
}else{h[n]=Math.max(h[n],g[n]);
}}var d=q[i].getInsets();
f=Math.max(f,d.left+d.right);
}if(e!=null&&h[e]+m+h[e+1]<k){h[e]=k-h[e+1]-m;
}if(k==0){j=m*2;
}else{j=m*3;
}if(h[0]==0){h[0]=this.getIconColumnWidth();
}if(h[3]==0){h[3]=this.getArrowColumnWidth();
}var p=qx.ui.layout.VBox.prototype._computeSizeHint.call(this).height;
return {minHeight:p,height:p,width:qx.lang.Array.sum(h)+f+j};
},getColumnSizes:function(){return this.__pA||null;
}},destruct:function(){this.__pA=null;
}});
})();
(function(){var b="menu-separator",a="qx.ui.menu.Separator";
qx.Class.define(a,{extend:qx.ui.core.Widget,properties:{appearance:{refine:true,init:b},anonymous:{refine:true,init:true}}});
})();
(function(){var D="icon",C="label",B="arrow",A="shortcut",z="changeLocale",y="qx.dynlocale",x="submenu",w="on",v="String",u="qx.ui.menu.Menu",o="qx.ui.menu.AbstractButton",t="keypress",r="",n="_applyIcon",m="mouseup",q="abstract",p="_applyLabel",s="_applyMenu",l="changeCommand";
qx.Class.define(o,{extend:qx.ui.core.Widget,include:[qx.ui.core.MExecutable],implement:[qx.ui.form.IExecutable],type:q,construct:function(){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.menu.ButtonLayout);
this.addListener(m,this._onMouseUp);
this.addListener(t,this._onKeyPress);
this.addListener(l,this._onChangeCommand,this);
},properties:{blockToolTip:{refine:true,init:true},label:{check:v,apply:p,nullable:true},menu:{check:u,apply:s,nullable:true},icon:{check:v,apply:n,themeable:true,nullable:true}},members:{_createChildControlImpl:function(c){var d;

switch(c){case D:d=new qx.ui.basic.Image;
d.setAnonymous(true);
this._add(d,{column:0});
break;
case C:d=new qx.ui.basic.Label;
d.setAnonymous(true);
this._add(d,{column:1});
break;
case A:d=new qx.ui.basic.Label;
d.setAnonymous(true);
this._add(d,{column:2});
break;
case B:d=new qx.ui.basic.Image;
d.setAnonymous(true);
this._add(d,{column:3});
break;
}return d||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,c);
},_forwardStates:{selected:1},getChildrenSizes:function(){var E=0,F=0,G=0,K=0;

if(this._isChildControlVisible(D)){var L=this.getChildControl(D);
E=L.getMarginLeft()+L.getSizeHint().width+L.getMarginRight();
}
if(this._isChildControlVisible(C)){var I=this.getChildControl(C);
F=I.getMarginLeft()+I.getSizeHint().width+I.getMarginRight();
}
if(this._isChildControlVisible(A)){var H=this.getChildControl(A);
G=H.getMarginLeft()+H.getSizeHint().width+H.getMarginRight();
}
if(this._isChildControlVisible(B)){var J=this.getChildControl(B);
K=J.getMarginLeft()+J.getSizeHint().width+J.getMarginRight();
}return [E,F,G,K];
},_onMouseUp:function(e){},_onKeyPress:function(e){},_onChangeCommand:function(e){var k=e.getData();

if(qx.core.Variant.isSet(y,w)){var i=e.getOldData();

if(!i){qx.locale.Manager.getInstance().addListener(z,this._onChangeLocale,this);
}
if(!k){qx.locale.Manager.getInstance().removeListener(z,this._onChangeLocale,this);
}}var j=k!=null?k.toString():r;
this.getChildControl(A).setValue(j);
},_onChangeLocale:qx.core.Variant.select(y,{"on":function(e){var f=this.getCommand();

if(f!=null){this.getChildControl(A).setValue(f.toString());
}},"off":null}),_applyIcon:function(M,N){if(M){this._showChildControl(D).setSource(M);
}else{this._excludeChildControl(D);
}},_applyLabel:function(g,h){if(g){this._showChildControl(C).setValue(g);
}else{this._excludeChildControl(C);
}},_applyMenu:function(a,b){if(b){b.resetOpener();
b.removeState(x);
}
if(a){this._showChildControl(B);
a.setOpener(this);
a.addState(x);
}else{this._excludeChildControl(B);
}}},destruct:function(){if(this.getMenu()){if(!qx.core.ObjectRegistry.inShutDown){this.getMenu().destroy();
}}
if(qx.core.Variant.isSet(y,w)){qx.locale.Manager.getInstance().removeListener(z,this._onChangeLocale,this);
}}});
})();
(function(){var c="middle",b="qx.ui.menu.ButtonLayout",a="left";
qx.Class.define(b,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(h,j){var u=this._getLayoutChildren();
var t;
var m;
var n=[];

for(var i=0,l=u.length;i<l;i++){t=u[i];
m=t.getLayoutProperties().column;
n[m]=t;
}var s=this.__pB(u[0]);
var v=s.getColumnSizes();
var p=s.getSpacingX();
var o=qx.lang.Array.sum(v)+p*(v.length-1);

if(o<h){v[1]+=h-o;
}var w=0,top=0;
var q=qx.ui.layout.Util;

for(var i=0,l=v.length;i<l;i++){t=n[i];

if(t){var k=t.getSizeHint();
var top=q.computeVerticalAlignOffset(t.getAlignY()||c,k.height,j,0,0);
var r=q.computeHorizontalAlignOffset(t.getAlignX()||a,k.width,v[i],t.getMarginLeft(),t.getMarginRight());
t.renderLayout(w+r,top,k.width,k.height);
}w+=v[i]+p;
}},__pB:function(x){while(!(x instanceof qx.ui.menu.Menu)){x=x.getLayoutParent();
}return x;
},_computeSizeHint:function(){var f=this._getLayoutChildren();
var e=0;
var g=0;

for(var i=0,l=f.length;i<l;i++){var d=f[i].getSizeHint();
g+=d.width;
e=Math.max(e,d.height);
}return {width:g,height:e};
}}});
})();
(function(){var f="execute",e="button-backward",d="vertical",c="button-forward",b="menu-slidebar",a="qx.ui.menu.MenuSlideBar";
qx.Class.define(a,{extend:qx.ui.container.SlideBar,construct:function(){qx.ui.container.SlideBar.call(this,d);
},properties:{appearance:{refine:true,init:b}},members:{_createChildControlImpl:function(g){var h;

switch(g){case c:h=new qx.ui.form.HoverButton();
h.addListener(f,this._onExecuteForward,this);
this._addAt(h,2);
break;
case e:h=new qx.ui.form.HoverButton();
h.addListener(f,this._onExecuteBackward,this);
this._addAt(h,0);
break;
}return h||qx.ui.container.SlideBar.prototype._createChildControlImpl.call(this,g);
}}});
})();
(function(){var k="Integer",j="hovered",i="hover-button",h="interval",g="mouseover",f="mouseout",d="__pC",c="qx.ui.form.HoverButton";
qx.Class.define(c,{extend:qx.ui.basic.Atom,include:[qx.ui.core.MExecutable],implement:[qx.ui.form.IExecutable],construct:function(a,b){qx.ui.basic.Atom.call(this,a,b);
this.addListener(g,this._onMouseOver,this);
this.addListener(f,this._onMouseOut,this);
this.__pC=new qx.event.AcceleratingTimer();
this.__pC.addListener(h,this._onInterval,this);
},properties:{appearance:{refine:true,init:i},interval:{check:k,init:80},firstInterval:{check:k,init:200},minTimer:{check:k,init:20},timerDecrease:{check:k,init:2}},members:{__pC:null,_onMouseOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}this.__pC.set({interval:this.getInterval(),firstInterval:this.getFirstInterval(),minimum:this.getMinTimer(),decrease:this.getTimerDecrease()}).start();
this.addState(j);
},_onMouseOut:function(e){this.__pC.stop();
this.removeState(j);

if(!this.isEnabled()||e.getTarget()!==this){return;
}},_onInterval:function(){if(this.isEnabled()){this.execute();
}else{this.__pC.stop();
}}},destruct:function(){this._disposeObjects(d);
}});
})();
(function(){var g="qx.ui.menu.Button",f="menu-button";
qx.Class.define(g,{extend:qx.ui.menu.AbstractButton,construct:function(a,b,c,d){qx.ui.menu.AbstractButton.call(this);
if(a!=null){this.setLabel(a);
}
if(b!=null){this.setIcon(b);
}
if(c!=null){this.setCommand(c);
}
if(d!=null){this.setMenu(d);
}},properties:{appearance:{refine:true,init:f}},members:{_onMouseUp:function(e){if(e.isLeftPressed()){this.execute();
if(this.getMenu()){return;
}}qx.ui.menu.Manager.getInstance().hideAll();
},_onKeyPress:function(e){this.execute();
}}});
})();
(function(){var k="pressed",j="hovered",i="inherit",h="qx.ui.menubar.Button",g="keydown",f="menubar-button",d="keyup";
qx.Class.define(h,{extend:qx.ui.form.MenuButton,construct:function(a,b,c){qx.ui.form.MenuButton.call(this,a,b,c);
this.removeListener(g,this._onKeyDown);
this.removeListener(d,this._onKeyUp);
},properties:{appearance:{refine:true,init:f},show:{refine:true,init:i},focusable:{refine:true,init:false}},members:{getMenuBar:function(){var parent=this;

while(parent){if(parent instanceof qx.ui.toolbar.ToolBar){return parent;
}parent=parent.getLayoutParent();
}return null;
},open:function(l){qx.ui.form.MenuButton.prototype.open.call(this,l);
var menubar=this.getMenuBar();
menubar._setAllowMenuOpenHover(true);
},_onMenuChange:function(e){var m=this.getMenu();
var menubar=this.getMenuBar();

if(m.isVisible()){this.addState(k);
if(menubar){menubar.setOpenMenu(m);
}}else{this.removeState(k);
if(menubar&&menubar.getOpenMenu()==m){menubar.resetOpenMenu();
menubar._setAllowMenuOpenHover(false);
}}},_onMouseUp:function(e){qx.ui.form.MenuButton.prototype._onMouseUp.call(this,e);
var n=this.getMenu();

if(n&&n.isVisible()&&!this.hasState(k)){this.addState(k);
}},_onMouseOver:function(e){this.addState(j);
if(this.getMenu()){var menubar=this.getMenuBar();

if(menubar._isAllowMenuOpenHover()){qx.ui.menu.Manager.getInstance().hideAll();
menubar._setAllowMenuOpenHover(true);
if(this.isEnabled()){this.open();
}}}}}});
})();
(function(){var n="both",m="qx.ui.menu.Menu",k="_applySpacing",j="icon",h="label",g="changeShow",f="Integer",e="qx.ui.toolbar.ToolBar",d="toolbar",c="changeOpenMenu";
qx.Class.define(e,{extend:qx.ui.core.Widget,include:qx.ui.core.MChildrenHandling,construct:function(){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.HBox());
},properties:{appearance:{refine:true,init:d},openMenu:{check:m,event:c,nullable:true},show:{init:n,check:[n,h,j],inheritable:true,event:g},spacing:{nullable:true,check:f,themeable:true,apply:k}},members:{__pD:false,_setAllowMenuOpenHover:function(b){this.__pD=b;
},_isAllowMenuOpenHover:function(){return this.__pD;
},_applySpacing:function(o,p){var q=this._getLayout();
o==null?q.resetSpacing():q.setSpacing(o);
},addSpacer:function(){var a=new qx.ui.core.Spacer;
this._add(a,{flex:1});
return a;
},addSeparator:function(){this.add(new qx.ui.toolbar.Separator);
},getMenuButtons:function(){var s=this.getChildren();
var r=[];
var t;

for(var i=0,l=s.length;i<l;i++){t=s[i];

if(t instanceof qx.ui.menubar.Button){r.push(t);
}else if(t instanceof qx.ui.toolbar.Part){r.push.apply(r,t.getMenuButtons());
}}return r;
}}});
})();
(function(){var b="toolbar-separator",a="qx.ui.toolbar.Separator";
qx.Class.define(a,{extend:qx.ui.core.Widget,properties:{appearance:{refine:true,init:b},anonymous:{refine:true,init:true},width:{refine:true,init:0},height:{refine:true,init:0}}});
})();
(function(){var o="container",n="handle",m="both",k="Integer",j="middle",h="qx.ui.toolbar.Part",g="icon",f="label",e="changeShow",d="_applySpacing",c="toolbar/part";
qx.Class.define(h,{extend:qx.ui.core.Widget,include:[qx.ui.core.MRemoteChildrenHandling],construct:function(){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.HBox);
this._createChildControl(n);
},properties:{appearance:{refine:true,init:c},show:{init:m,check:[m,f,g],inheritable:true,event:e},spacing:{nullable:true,check:k,themeable:true,apply:d}},members:{_createChildControlImpl:function(a){var b;

switch(a){case n:b=new qx.ui.basic.Image();
b.setAlignY(j);
this._add(b);
break;
case o:b=new qx.ui.toolbar.PartContainer;
this._add(b);
break;
}return b||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,a);
},getChildrenContainer:function(){return this.getChildControl(o);
},_applySpacing:function(s,t){var u=this.getChildControl(o).getLayout();
s==null?u.resetSpacing():u.setSpacing(s);
},addSeparator:function(){this.add(new qx.ui.toolbar.Separator);
},getMenuButtons:function(){var q=this.getChildren();
var p=[];
var r;

for(var i=0,l=q.length;i<l;i++){r=q[i];

if(r instanceof qx.ui.menubar.Button){p.push(r);
}}return p;
}}});
})();
(function(){var f="both",e="toolbar/part/container",d="icon",c="changeShow",b="qx.ui.toolbar.PartContainer",a="label";
qx.Class.define(b,{extend:qx.ui.container.Composite,construct:function(){qx.ui.container.Composite.call(this);
this._setLayout(new qx.ui.layout.HBox);
},properties:{appearance:{refine:true,init:e},show:{init:f,check:[f,a,d],inheritable:true,event:c}}});
})();
(function(){var h="checked",g="menu-checkbox",f="Boolean",d="_applyValue",c="changeValue",b="qx.ui.menu.CheckBox",a="execute";
qx.Class.define(b,{extend:qx.ui.menu.AbstractButton,implement:[qx.ui.form.IBooleanForm],construct:function(i,j){qx.ui.menu.AbstractButton.call(this);
if(i!=null){if(i.translate){this.setLabel(i.translate());
}else{this.setLabel(i);
}}
if(j!=null){this.setMenu(j);
}this.addListener(a,this._onExecute,this);
},properties:{appearance:{refine:true,init:g},value:{check:f,init:false,apply:d,event:c,nullable:true}},members:{_applyValue:function(k,l){k?this.addState(h):this.removeState(h);
},_onExecute:function(e){this.toggleValue();
},_onMouseUp:function(e){if(e.isLeftPressed()){this.execute();
}qx.ui.menu.Manager.getInstance().hideAll();
},_onKeyPress:function(e){this.execute();
}}});
})();
(function(){var b="qx.ui.table.IColumnMenuItem",a="qx.event.type.Data";
qx.Interface.define(b,{properties:{visible:{}},events:{changeVisible:a}});
})();
(function(){var h="changeVisible",g="qx.ui.table.columnmenu.MenuItem",f="_applyVisible",d="Boolean",c="changeValue";
qx.Class.define(g,{extend:qx.ui.menu.CheckBox,implement:qx.ui.table.IColumnMenuItem,properties:{visible:{check:d,init:true,apply:f,event:h}},construct:function(i){qx.ui.menu.CheckBox.call(this,i);
this.addListener(c,function(e){this.bInListener=true;
this.setVisible(e.getData());
this.bInListener=false;
});
},members:{__pE:false,_applyVisible:function(a,b){if(!this.bInListener){this.setValue(a);
}}}});
})();
(function(){var d="qx.ui.table.selection.Model",c="qx.ui.table.selection.Manager";
qx.Class.define(c,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
},properties:{selectionModel:{check:d}},members:{__pF:null,handleMouseDown:function(g,h){if(h.isLeftPressed()){var i=this.getSelectionModel();

if(!i.isSelectedIndex(g)){this._handleSelectEvent(g,h);
this.__pF=true;
}else{this.__pF=false;
}}else if(h.isRightPressed()&&h.getModifiers()==0){var i=this.getSelectionModel();

if(!i.isSelectedIndex(g)){i.setSelectionInterval(g,g);
}}},handleMouseUp:function(e,f){if(f.isLeftPressed()&&!this.__pF){this._handleSelectEvent(e,f);
}},handleClick:function(a,b){},handleSelectKeyDown:function(j,k){this._handleSelectEvent(j,k);
},handleMoveKeyDown:function(l,m){var o=this.getSelectionModel();

switch(m.getModifiers()){case 0:o.setSelectionInterval(l,l);
break;
case qx.event.type.Dom.SHIFT_MASK:var n=o.getAnchorSelectionIndex();

if(n==-1){o.setSelectionInterval(l,l);
}else{o.setSelectionInterval(n,l);
}break;
}},_handleSelectEvent:function(p,q){var t=this.getSelectionModel();
var r=t.getLeadSelectionIndex();
var s=t.getAnchorSelectionIndex();

if(q.isShiftPressed()){if(p!=r||t.isSelectionEmpty()){if(s==-1){s=p;
}
if(q.isCtrlOrCommandPressed()){t.addSelectionInterval(s,p);
}else{t.setSelectionInterval(s,p);
}}}else if(q.isCtrlOrCommandPressed()){if(t.isSelectedIndex(p)){t.removeSelectionInterval(p,p);
}else{t.addSelectionInterval(p,p);
}}else{t.setSelectionInterval(p,p);
}}}});
})();
(function(){var U="..",T="changeSelection",S="Use 'resetSelection' instead",R=" [",Q="]",P="qx.event.type.Event",O="Ranges:",N="qx.ui.table.selection.Model",M="_applySelectionMode",L="Use '_resetSelection' instead.";
qx.Class.define(N,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__pG=[];
this.__pH=-1;
this.__pI=-1;
this.hasBatchModeRefCount=0;
this.__pJ=false;
},events:{"changeSelection":P},statics:{NO_SELECTION:1,SINGLE_SELECTION:2,SINGLE_INTERVAL_SELECTION:3,MULTIPLE_INTERVAL_SELECTION:4,MULTIPLE_INTERVAL_SELECTION_TOGGLE:5},properties:{selectionMode:{init:2,check:[1,2,3,4,5],apply:M}},members:{__pJ:null,__pH:null,__pI:null,__pG:null,_applySelectionMode:function(K){this.resetSelection();
},setBatchMode:function(a){if(a){this.hasBatchModeRefCount+=1;
}else{if(this.hasBatchModeRefCount==0){throw new Error("Try to turn off batch mode althoug it was not turned on.");
}this.hasBatchModeRefCount-=1;

if(this.__pJ){this.__pJ=false;
this._fireChangeSelection();
}}return this.hasBatchMode();
},hasBatchMode:function(){return this.hasBatchModeRefCount>0;
},getAnchorSelectionIndex:function(){return this.__pH;
},_setAnchorSelectionIndex:function(b){this.__pH=b;
},getLeadSelectionIndex:function(){return this.__pI;
},_setLeadSelectionIndex:function(x){this.__pI=x;
},_getSelectedRangeArr:function(){return this.__pG;
},resetSelection:function(){if(!this.isSelectionEmpty()){this._resetSelection();
this._fireChangeSelection();
}},clearSelection:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,S);
this.resetSelection();
},isSelectionEmpty:function(){return this.__pG.length==0;
},getSelectedCount:function(){var J=0;

for(var i=0;i<this.__pG.length;i++){var I=this.__pG[i];
J+=I.maxIndex-I.minIndex+1;
}return J;
},isSelectedIndex:function(B){for(var i=0;i<this.__pG.length;i++){var C=this.__pG[i];

if(B>=C.minIndex&&B<=C.maxIndex){return true;
}}return false;
},getSelectedRanges:function(){var u=[];

for(var i=0;i<this.__pG.length;i++){u.push({minIndex:this.__pG[i].minIndex,maxIndex:this.__pG[i].maxIndex});
}return u;
},iterateSelection:function(D,E){for(var i=0;i<this.__pG.length;i++){for(var j=this.__pG[i].minIndex;j<=this.__pG[i].maxIndex;j++){D.call(E,j);
}}},setSelectionInterval:function(y,z){var A=this.self(arguments);

switch(this.getSelectionMode()){case A.NO_SELECTION:return;
case A.SINGLE_SELECTION:if(this.isSelectedIndex(z)){return;
}y=z;
break;
case A.MULTIPLE_INTERVAL_SELECTION_TOGGLE:this.setBatchMode(true);

try{for(var i=y;i<=z;i++){if(!this.isSelectedIndex(i)){this._addSelectionInterval(i,i);
}else{this.removeSelectionInterval(i,i);
}}}catch(e){throw e;
}finally{this.setBatchMode(false);
}this._fireChangeSelection();
return;
}this._resetSelection();
this._addSelectionInterval(y,z);
this._fireChangeSelection();
},addSelectionInterval:function(F,G){var H=qx.ui.table.selection.Model;

switch(this.getSelectionMode()){case H.NO_SELECTION:return;
case H.MULTIPLE_INTERVAL_SELECTION:case H.MULTIPLE_INTERVAL_SELECTION_TOGGLE:this._addSelectionInterval(F,G);
this._fireChangeSelection();
break;
default:this.setSelectionInterval(F,G);
break;
}},removeSelectionInterval:function(m,n){this.__pH=m;
this.__pI=n;
var o=Math.min(m,n);
var q=Math.max(m,n);
for(var i=0;i<this.__pG.length;i++){var s=this.__pG[i];

if(s.minIndex>q){break;
}else if(s.maxIndex>=o){var t=(s.minIndex>=o)&&(s.minIndex<=q);
var r=(s.maxIndex>=o)&&(s.maxIndex<=q);

if(t&&r){this.__pG.splice(i,1);
i--;
}else if(t){s.minIndex=q+1;
}else if(r){s.maxIndex=o-1;
}else{var p={minIndex:q+1,maxIndex:s.maxIndex};
this.__pG.splice(i+1,0,p);
s.maxIndex=o-1;
break;
}}}this._fireChangeSelection();
},_resetSelection:function(){this.__pG=[];
this.__pH=-1;
this.__pI=-1;
},_clearSelection:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,L);
this._resetSelection();
},_addSelectionInterval:function(c,d){this.__pH=c;
this.__pI=d;
var f=Math.min(c,d);
var h=Math.max(c,d);
var g=0;

for(;g<this.__pG.length;g++){var k=this.__pG[g];

if(k.minIndex>f){break;
}}this.__pG.splice(g,0,{minIndex:f,maxIndex:h});
var l=this.__pG[0];

for(var i=1;i<this.__pG.length;i++){var k=this.__pG[i];

if(l.maxIndex+1>=k.minIndex){l.maxIndex=Math.max(l.maxIndex,k.maxIndex);
this.__pG.splice(i,1);
i--;
}else{l=k;
}}},_dumpRanges:function(){var v=O;

for(var i=0;i<this.__pG.length;i++){var w=this.__pG[i];
v+=R+w.minIndex+U+w.maxIndex+Q;
}this.debug(v);
},_fireChangeSelection:function(){if(this.hasBatchMode()){this.__pJ=true;
}else{this.fireEvent(T);
}}},destruct:function(){this.__pG=null;
}});
})();
(function(){var a="qx.ui.table.IHeaderRenderer";
qx.Interface.define(a,{members:{createHeaderCell:function(d){return true;
},updateHeaderCell:function(b,c){return true;
}}});
})();
(function(){var b="qx.ui.table.headerrenderer.Default",a="String";
qx.Class.define(b,{extend:qx.core.Object,implement:qx.ui.table.IHeaderRenderer,statics:{STATE_SORTED:"sorted",STATE_SORTED_ASCENDING:"sortedAscending"},properties:{toolTip:{check:a,init:null,nullable:true}},members:{createHeaderCell:function(c){var d=new qx.ui.table.headerrenderer.HeaderCell();
this.updateHeaderCell(c,d);
return d;
},updateHeaderCell:function(e,f){var g=qx.ui.table.headerrenderer.Default;
if(e.name&&e.name.translate){f.setLabel(e.name.translate());
}else{f.setLabel(e.name);
}var h=f.getToolTip();

if(this.getToolTip()!=null){if(h==null){h=new qx.ui.tooltip.ToolTip(this.getToolTip());
f.setToolTip(h);
qx.util.DisposeUtil.disposeTriggeredBy(h,f);
}else{h.setLabel(this.getToolTip());
}}e.sorted?f.addState(g.STATE_SORTED):f.removeState(g.STATE_SORTED);
e.sortedAscending?f.addState(g.STATE_SORTED_ASCENDING):f.removeState(g.STATE_SORTED_ASCENDING);
}}});
})();
(function(){var a="qx.ui.table.ICellRenderer";
qx.Interface.define(a,{members:{createDataCellHtml:function(b,c){return true;
}}});
})();
(function(){var v="",u="px;",t=".qooxdoo-table-cell {",s="qooxdoo-table-cell",r='" ',q="nowrap",p="default",o="qx.client",n="}",m="width:",S=".qooxdoo-table-cell-right { text-align:right } ",R="0px 6px",Q='<div class="',P="0px",O="height:",N="1px solid ",M=".qooxdoo-table-cell-bold { font-weight:bold } ",L="table-row-line",K='>',J="mshtml",C='</div>',D="ellipsis",A="content-box",B='left:',y="qx.ui.table.cellrenderer.Abstract",z='" style="',w="abstract",x="none",E="hidden",F="} ",H='px;',G=".qooxdoo-table-cell-italic { font-style:italic} ",I="absolute";
qx.Class.define(y,{type:w,implement:qx.ui.table.ICellRenderer,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
var a=qx.ui.table.cellrenderer.Abstract;

if(!a.__pK){var c=qx.theme.manager.Color.getInstance();
a.__pK=this.self(arguments);
var b=t+
qx.bom.element.Style.compile({position:I,top:P,overflow:E,whiteSpace:q,borderRight:N+c.resolve(L),padding:R,cursor:p,textOverflow:D,userSelect:x})+F+S+G+M;

if(!qx.core.Variant.isSet(o,J)){b+=t+qx.bom.element.BoxSizing.compile(A)+n;
}a.__pK.stylesheet=qx.bom.Stylesheet.createElement(b);
}},members:{_insetX:6+6+1,_insetY:0,_getCellClass:function(g){return s;
},_getCellStyle:function(T){return T.style||v;
},_getCellAttributes:function(d){return v;
},_getContentHtml:function(U){return U.value||v;
},_getCellSizeStyle:function(h,i,j,k){var l=v;

if(qx.bom.client.Feature.CONTENT_BOX){h-=j;
i-=k;
}l+=m+Math.max(h,0)+u;
l+=O+Math.max(i,0)+u;
return l;
},createDataCellHtml:function(e,f){f.push(Q,this._getCellClass(e),z,B,e.styleLeft,H,this._getCellSizeStyle(e.styleWidth,e.styleHeight,this._insetX,this._insetY),this._getCellStyle(e),r,this._getCellAttributes(e),K+this._getContentHtml(e),C);
}}});
})();
(function(){var k="",j="number",i="Boolean",h="qx.ui.table.cellrenderer.Default",g=" qooxdoo-table-cell-bold",f=" qooxdoo-table-cell-right",e=" qooxdoo-table-cell-italic",d="string";
qx.Class.define(h,{extend:qx.ui.table.cellrenderer.Abstract,statics:{STYLEFLAG_ALIGN_RIGHT:1,STYLEFLAG_BOLD:2,STYLEFLAG_ITALIC:4,_numberFormat:null},properties:{useAutoAlign:{check:i,init:true}},members:{_getStyleFlags:function(p){if(this.getUseAutoAlign()){if(typeof p.value==j){return qx.ui.table.cellrenderer.Default.STYLEFLAG_ALIGN_RIGHT;
}}return 0;
},_getCellClass:function(a){var b=qx.ui.table.cellrenderer.Abstract.prototype._getCellClass.call(this,a);

if(!b){return k;
}var c=this._getStyleFlags(a);

if(c&qx.ui.table.cellrenderer.Default.STYLEFLAG_ALIGN_RIGHT){b+=f;
}
if(c&qx.ui.table.cellrenderer.Default.STYLEFLAG_BOLD){b+=g;
}
if(c&qx.ui.table.cellrenderer.Default.STYLEFLAG_ITALIC){b+=e;
}return b;
},_getContentHtml:function(o){return qx.bom.String.escape(this._formatValue(o));
},_formatValue:function(l){var n=l.value;
var m;

if(n==null){return k;
}
if(typeof n==d){return n;
}else if(typeof n==j){if(!qx.ui.table.cellrenderer.Default._numberFormat){qx.ui.table.cellrenderer.Default._numberFormat=new qx.util.format.NumberFormat();
qx.ui.table.cellrenderer.Default._numberFormat.setMaximumFractionDigits(2);
}var m=qx.ui.table.cellrenderer.Default._numberFormat.format(n);
}else if(n instanceof Date){m=qx.util.format.DateFormat.getDateInstance().format(n);
}else{m=n;
}return m;
}}});
})();
(function(){var a="qx.ui.table.ICellEditorFactory";
qx.Interface.define(a,{members:{createCellEditor:function(c){return true;
},getCellEditorValue:function(b){return true;
}}});
})();
(function(){var i="",h="Function",g="abstract",f="number",e="appear",d="qx.ui.table.celleditor.AbstractField";
qx.Class.define(d,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,type:g,properties:{validationFunction:{check:h,nullable:true,init:null}},members:{_createEditor:function(){throw new Error("Abstract method call!");
},createCellEditor:function(j){var k=this._createEditor();
k.originalValue=j.value;

if(j.value===null||j.value===undefined){j.value=i;
}k.setValue(i+j.value);
k.addListener(e,function(){k.selectAllText();
});
return k;
},getCellEditorValue:function(a){var c=a.getValue();
var b=this.getValidationFunction();

if(b){c=b(c,a.originalValue);
}
if(typeof a.originalValue==f){c=parseFloat(c);
}return c;
}}});
})();
(function(){var d="number",c="qx.ui.table.celleditor.TextField",b="table-editor-textfield";
qx.Class.define(c,{extend:qx.ui.table.celleditor.AbstractField,members:{getCellEditorValue:function(e){var g=e.getValue();
var f=this.getValidationFunction();

if(f){g=f(g,e.originalValue);
}
if(typeof e.originalValue==d){if(g!=null){g=parseFloat(g);
}}return g;
},_createEditor:function(){var a=new qx.ui.form.TextField();
a.setAppearance(b);
return a;
}}});
})();
(function(){var B="qx.event.type.Data",A="visibilityChanged",z="orderChanged",y="visibilityChangedPre",w="__pS",v="__pR",u="widthChanged",t="qx.ui.table.columnmodel.Basic",s="__pQ";
qx.Class.define(t,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__pL=[];
this.__pM=[];
},events:{"widthChanged":B,"visibilityChangedPre":B,"visibilityChanged":B,"orderChanged":B},statics:{DEFAULT_WIDTH:100,DEFAULT_HEADER_RENDERER:qx.ui.table.headerrenderer.Default,DEFAULT_DATA_RENDERER:qx.ui.table.cellrenderer.Default,DEFAULT_EDITOR_FACTORY:qx.ui.table.celleditor.TextField},members:{__pN:null,__pO:null,__pM:null,__pL:null,__pP:null,__pQ:null,__pR:null,__pS:null,init:function(J){{};
this.__pP=[];
var M=qx.ui.table.columnmodel.Basic.DEFAULT_WIDTH;
var N=this.__pQ||(this.__pQ=new qx.ui.table.columnmodel.Basic.DEFAULT_HEADER_RENDERER());
var L=this.__pR||(this.__pR=new qx.ui.table.columnmodel.Basic.DEFAULT_DATA_RENDERER());
var K=this.__pS||(this.__pS=new qx.ui.table.columnmodel.Basic.DEFAULT_EDITOR_FACTORY());
this.__pL=[];
this.__pM=[];

for(var P=0;P<J;P++){this.__pP[P]={width:M,headerRenderer:N,dataRenderer:L,editorFactory:K};
this.__pL[P]=P;
this.__pM[P]=P;
}this.__pO=null;

for(var P=0;P<J;P++){var O={col:P,visible:true};
this.fireDataEvent(y,O);
this.fireDataEvent(A,O);
}},getVisibleColumns:function(){return this.__pM!=null?this.__pM:[];
},setColumnWidth:function(f,g){{};
var j=this.__pP[f].width;

if(j!=g){this.__pP[f].width=g;
var h={col:f,newWidth:g,oldWidth:j};
this.fireDataEvent(u,h);
}},getColumnWidth:function(bj){{};
return this.__pP[bj].width;
},setHeaderCellRenderer:function(c,d){{};
var e=this.__pP[c].headerRenderer;

if(e!==this.__pQ){e.dispose();
}this.__pP[c].headerRenderer=d;
},getHeaderCellRenderer:function(Y){{};
return this.__pP[Y].headerRenderer;
},setDataCellRenderer:function(R,S){{};
var T=this.__pP[R].dataRenderer;

if(T!==this.__pR){T.dispose();
}this.__pP[R].dataRenderer=S;
},getDataCellRenderer:function(k){{};
return this.__pP[k].dataRenderer;
},setCellEditorFactory:function(D,E){{};
var F=this.__pP[D].headerRenderer;

if(F!==this.__pS){F.dispose();
}this.__pP[D].editorFactory=E;
},getCellEditorFactory:function(b){{};
return this.__pP[b].editorFactory;
},_getColToXPosMap:function(){if(this.__pO==null){this.__pO={};

for(var I=0;I<this.__pL.length;I++){var H=this.__pL[I];
this.__pO[H]={overX:I};
}
for(var G=0;G<this.__pM.length;G++){var H=this.__pM[G];
this.__pO[H].visX=G;
}}return this.__pO;
},getVisibleColumnCount:function(){return this.__pM!=null?this.__pM.length:0;
},getVisibleColumnAtX:function(C){{};
return this.__pM[C];
},getVisibleX:function(a){{};
return this._getColToXPosMap()[a].visX;
},getOverallColumnCount:function(){return this.__pL.length;
},getOverallColumnAtX:function(Q){{};
return this.__pL[Q];
},getOverallX:function(r){{};
return this._getColToXPosMap()[r].overX;
},isColumnVisible:function(q){{};
return (this._getColToXPosMap()[q].visX!=null);
},setColumnVisible:function(ba,bb){{};

if(bb!=this.isColumnVisible(ba)){if(bb){var bh=this._getColToXPosMap();
var be=bh[ba].overX;

if(be==null){throw new Error("Showing column failed: "+ba+". The column is not added to this TablePaneModel.");
}var bf;

for(var x=be+1;x<this.__pL.length;x++){var bg=this.__pL[x];
var bc=bh[bg].visX;

if(bc!=null){bf=bc;
break;
}}if(bf==null){bf=this.__pM.length;
}this.__pM.splice(bf,0,ba);
}else{var bd=this.getVisibleX(ba);
this.__pM.splice(bd,1);
}this.__pO=null;
if(!this.__pN){var bi={col:ba,visible:bb};
this.fireDataEvent(y,bi);
this.fireDataEvent(A,bi);
}}},moveColumn:function(l,m){{};
this.__pN=true;
var p=this.__pL[l];
var n=this.isColumnVisible(p);

if(n){this.setColumnVisible(p,false);
}this.__pL.splice(l,1);
this.__pL.splice(m,0,p);
this.__pO=null;

if(n){this.setColumnVisible(p,true);
}this.__pN=false;
var o={col:p,fromOverXPos:l,toOverXPos:m};
this.fireDataEvent(z,o);
},setColumnsOrder:function(U){{};

if(U.length==this.__pL.length){this.__pN=true;
var X=new Array(U.length);

for(var V=0;V<this.__pL.length;V++){var W=this.isColumnVisible(V);
X[V]=W;

if(W){this.setColumnVisible(V,false);
}}this.__pL=qx.lang.Array.clone(U);
this.__pO=null;
for(var V=0;V<this.__pL.length;V++){if(X[V]){this.setColumnVisible(V,true);
}}this.__pN=false;
this.fireDataEvent(z);
}else{throw new Error("setColumnsOrder: Invalid number of column positions given, expected "+this.__pL.length+", got "+U.length);
}}},destruct:function(){for(var i=0;i<this.__pP.length;i++){this.__pP[i].headerRenderer.dispose();
this.__pP[i].dataRenderer.dispose();
this.__pP[i].editorFactory.dispose();
}this.__pL=this.__pM=this.__pP=this.__pO=null;
this._disposeObjects(s,v,w);
}});
})();
(function(){var k="icon",j="label",i="String",h="sort-icon",g="_applySortIcon",f="_applyIcon",e="table-header-cell",d="qx.ui.table.headerrenderer.HeaderCell",c="_applyLabel";
qx.Class.define(d,{extend:qx.ui.container.Composite,construct:function(){qx.ui.container.Composite.call(this);
var l=new qx.ui.layout.Grid();
l.setRowFlex(0,1);
l.setColumnFlex(1,1);
l.setColumnFlex(2,1);
this.setLayout(l);
},properties:{appearance:{refine:true,init:e},label:{check:i,init:null,nullable:true,apply:c},sortIcon:{check:i,init:null,nullable:true,apply:g,themeable:true},icon:{check:i,init:null,nullable:true,apply:f}},members:{_applyLabel:function(m,n){if(m){this._showChildControl(j).setValue(m);
}else{this._excludeChildControl(j);
}},_applySortIcon:function(q,r){if(q){this._showChildControl(h).setSource(q);
}else{this._excludeChildControl(h);
}},_applyIcon:function(a,b){if(a){this._showChildControl(k).setSource(a);
}else{this._excludeChildControl(k);
}},_createChildControlImpl:function(o){var p;

switch(o){case j:p=new qx.ui.basic.Label(this.getLabel()).set({anonymous:true,allowShrinkX:true});
this._add(p,{row:0,column:1});
break;
case h:p=new qx.ui.basic.Image(this.getSortIcon());
p.setAnonymous(true);
this._add(p,{row:0,column:2});
break;
case k:p=new qx.ui.basic.Image(this.getIcon()).set({anonymous:true,allowShrinkX:true});
this._add(p,{row:0,column:0});
break;
}return p||qx.ui.container.Composite.prototype._createChildControlImpl.call(this,o);
}}});
})();
(function(){var v="",u="Number",t='</div>',s='" ',r="paneUpdated",q='<div>',p="</div>",o="overflow: hidden;",n="qx.event.type.Data",m="paneReloadsData",P="div",O='style="',N="_applyMaxCacheLines",M="qx.ui.table.pane.Pane",L="width: 100%;",K="qx.event.type.Event",J="_applyVisibleRowCount",I='>',H="line-height: ",G="appear",E='class="',F="width:100%;",C="px;",D='<div ',A="'>",B="_applyFirstVisibleRow",w="<div style='",z=";position:relative;";
qx.Class.define(M,{extend:qx.ui.core.Widget,construct:function(Q){qx.ui.core.Widget.call(this);
this.__pT=Q;
this.__pU=0;
this.__pV=0;
this.__pW=[];
},events:{"paneReloadsData":n,"paneUpdated":K},properties:{firstVisibleRow:{check:u,init:0,apply:B},visibleRowCount:{check:u,init:0,apply:J},maxCacheLines:{check:u,init:1000,apply:N},allowShrinkX:{refine:true,init:false}},members:{__pV:null,__pU:null,__pT:null,__pX:null,__pY:null,__qa:null,__pW:null,__qb:0,_applyFirstVisibleRow:function(bz,bA){this.updateContent(false,bz-bA);
},_applyVisibleRowCount:function(a,b){this.updateContent(true);
},_getContentHint:function(){return {width:this.getPaneScroller().getTablePaneModel().getTotalWidth(),height:400};
},getPaneScroller:function(){return this.__pT;
},getTable:function(){return this.__pT.getTable();
},setFocusedCell:function(bB,bC,bD){if(bB!=this.__qa||bC!=this.__pY){var bE=this.__pY;
this.__qa=bB;
this.__pY=bC;
if(bC!=bE&&!bD){if(bE!==null){this.updateContent(false,null,bE,true);
}
if(bC!==null){this.updateContent(false,null,bC,true);
}}}},onSelectionChanged:function(){this.updateContent(false,null,null,true);
},onFocusChanged:function(){this.updateContent(false,null,null,true);
},setColumnWidth:function(cm,cn){this.updateContent(true);
},onColOrderChanged:function(){this.updateContent(true);
},onPaneModelChanged:function(){this.updateContent(true);
},onTableModelDataChanged:function(c,d,e,f){this.__qc();
var h=this.getFirstVisibleRow();
var g=this.getVisibleRowCount();

if(d==-1||d>=h&&c<h+g){this.updateContent();
}},onTableModelMetaDataChanged:function(){this.updateContent(true);
},_applyMaxCacheLines:function(bY,ca){if(this.__qb>=bY&&bY!==-1){this.__qc();
}},__qc:function(){this.__pW=[];
this.__qb=0;
},__qd:function(j,k,l){if(!k&&!l&&this.__pW[j]){return this.__pW[j];
}else{return null;
}},__qe:function(bF,bG,bH,bI){var bJ=this.getMaxCacheLines();

if(!bH&&!bI&&!this.__pW[bF]&&bJ>0){this._applyMaxCacheLines(bJ);
this.__pW[bF]=bG;
this.__qb+=1;
}},updateContent:function(R,S,T,U){if(R){this.__qc();
}if(S&&Math.abs(S)<=Math.min(10,this.getVisibleRowCount())){this._scrollContent(S);
}else if(U&&!this.getTable().getAlwaysUpdateCells()){this._updateRowStyles(T);
}else{this._updateAllRows();
}},_updateRowStyles:function(cb){var cf=this.getContentElement().getDomElement();

if(!cf||!cf.firstChild){this._updateAllRows();
return;
}var cj=this.getTable();
var cd=cj.getSelectionModel();
var cg=cj.getTableModel();
var ck=cj.getDataRowRenderer();
var ce=cf.firstChild.childNodes;
var ci={table:cj};
var cl=this.getFirstVisibleRow();
var y=0;
var cc=ce.length;

if(cb!=null){var ch=cb-cl;

if(ch>=0&&ch<cc){cl=cb;
y=ch;
cc=ch+1;
}else{return;
}}
for(;y<cc;y++,cl++){ci.row=cl;
ci.selected=cd.isSelectedIndex(cl);
ci.focusedRow=(this.__pY==cl);
ci.rowData=cg.getRowData(cl);
ck.updateDataRowElement(ci,ce[y]);
}},_getRowsHtml:function(V,W){var bd=this.getTable();
var bg=bd.getSelectionModel();
var ba=bd.getTableModel();
var bb=bd.getTableColumnModel();
var bv=this.getPaneScroller().getTablePaneModel();
var bl=bd.getDataRowRenderer();
ba.prefetchRows(V,V+W-1);
var bs=bd.getRowHeight();
var bu=bv.getColumnCount();
var bc=0;
var Y=[];
for(var x=0;x<bu;x++){var bx=bv.getColumnAtX(x);
var bf=bb.getColumnWidth(bx);
Y.push({col:bx,xPos:x,editable:ba.isColumnEditable(bx),focusedCol:this.__qa==bx,styleLeft:bc,styleWidth:bf});
bc+=bf;
}var bw=[];
var by=false;

for(var be=V;be<V+W;be++){var bh=bg.isSelectedIndex(be);
var bk=(this.__pY==be);
var bp=this.__qd(be,bh,bk);

if(bp){bw.push(bp);
continue;
}var X=[];
var br={table:bd};
br.styleHeight=bs;
br.row=be;
br.selected=bh;
br.focusedRow=bk;
br.rowData=ba.getRowData(be);

if(!br.rowData){by=true;
}X.push(D);
var bo=bl.getRowAttributes(br);

if(bo){X.push(bo);
}var bn=bl.getRowClass(br);

if(bn){X.push(E,bn,s);
}var bm=bl.createRowStyle(br);
bm+=z+bl.getRowHeightStyle(bs)+F;

if(bm){X.push(O,bm,s);
}X.push(I);

for(var x=0;x<bu;x++){var bi=Y[x];

for(var bt in bi){br[bt]=bi[bt];
}var bx=br.col;
br.value=ba.getValue(bx,be);
var bj=bb.getDataCellRenderer(bx);
bj.createDataCellHtml(br,X);
}X.push(t);
var bq=X.join(v);
this.__qe(be,bq,bh,bk);
bw.push(bq);
}this.fireDataEvent(m,by);
return bw.join(v);
},_scrollContent:function(bK){var bL=this.getContentElement().getDomElement();

if(!(bL&&bL.firstChild)){this._updateAllRows();
return;
}var bU=bL.firstChild;
var bM=bU.childNodes;
var bS=this.getVisibleRowCount();
var bR=this.getFirstVisibleRow();
var bP=this.getTable().getTableModel();
var bV=0;
bV=bP.getRowCount();
if(bR+bS>bV){this._updateAllRows();
return;
}var bW=bK<0?bS+bK:0;
var bN=bK<0?0:bS-bK;

for(i=Math.abs(bK)-1;i>=0;i--){var bQ=bM[bW];

try{bU.removeChild(bQ);
}catch(bX){break;
}}if(!this.__pX){this.__pX=document.createElement(P);
}var bT=q;
bT+=this._getRowsHtml(bR+bN,Math.abs(bK));
bT+=t;
this.__pX.innerHTML=bT;
var bO=this.__pX.firstChild.childNodes;
if(bK>0){for(var i=bO.length-1;i>=0;i--){var bQ=bO[0];
bU.appendChild(bQ);
}}else{for(var i=bO.length-1;i>=0;i--){var bQ=bO[bO.length-1];
bU.insertBefore(bQ,bU.firstChild);
}}if(this.__pY!==null){this._updateRowStyles(this.__pY-bK);
this._updateRowStyles(this.__pY);
}this.fireEvent(r);
},_updateAllRows:function(){var cr=this.getContentElement().getDomElement();

if(!cr){this.addListenerOnce(G,arguments.callee,this);
return;
}var cx=this.getTable();
var cu=cx.getTableModel();
var cw=this.getPaneScroller().getTablePaneModel();
var cv=cw.getColumnCount();
var co=cx.getRowHeight();
var cs=this.getFirstVisibleRow();
var cp=this.getVisibleRowCount();
var cy=cu.getRowCount();

if(cs+cp>cy){cp=Math.max(0,cy-cs);
}var cq=cw.getTotalWidth();
var ct;
if(cp>0){ct=[w,L,(cx.getForceLineHeight()?H+co+C:v),o,A,this._getRowsHtml(cs,cp),p];
}else{ct=[];
}var cz=ct.join(v);
cr.innerHTML=cz;
this.setWidth(cq);
this.__pU=cv;
this.__pV=cp;
this.fireEvent(r);
}},destruct:function(){this.__pX=this.__pT=this.__pW=null;
}});
})();
(function(){var c="hovered",b="__qg",a="qx.ui.table.pane.Header";
qx.Class.define(a,{extend:qx.ui.core.Widget,construct:function(p){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.HBox());
this.__qf=new qx.ui.core.Blocker(this);
this.__qg=p;
},members:{__qg:null,__qh:null,__qi:null,__qf:null,getPaneScroller:function(){return this.__qg;
},getTable:function(){return this.__qg.getTable();
},getBlocker:function(){return this.__qf;
},onColOrderChanged:function(){this._updateContent(true);
},onPaneModelChanged:function(){this._updateContent(true);
},onTableModelMetaDataChanged:function(){this._updateContent();
},setColumnWidth:function(w,y){var z=this.getHeaderWidgetAtColumn(w);

if(z!=null){z.setWidth(y);
}},setMouseOverColumn:function(u){if(u!=this.__qi){if(this.__qi!=null){var v=this.getHeaderWidgetAtColumn(this.__qi);

if(v!=null){v.removeState(c);
}}
if(u!=null){this.getHeaderWidgetAtColumn(u).addState(c);
}this.__qi=u;
}},getHeaderWidgetAtColumn:function(s){var t=this.getPaneScroller().getTablePaneModel().getX(s);
return this._getChildren()[t];
},showColumnMoveFeedback:function(A,x){var E=this.getContainerLocation();

if(this.__qh==null){var B=this.getPaneScroller().getTablePaneModel().getX(A);
var D=this._getChildren()[B];
var F=this.getTable().getTableModel();
var H=this.getTable().getTableColumnModel();
var I={xPos:B,col:A,name:F.getColumnName(A)};
var G=H.getHeaderCellRenderer(A);
var C=G.createHeaderCell(I);
var J=D.getBounds();
C.setWidth(J.width);
C.setHeight(J.height);
C.setZIndex(1000000);
C.setOpacity(0.8);
C.setLayoutProperties({top:E.top});
this.getApplicationRoot().add(C);
this.__qh=C;
}this.__qh.setLayoutProperties({left:E.left+x});
this.__qh.show();
},hideColumnMoveFeedback:function(){if(this.__qh!=null){this.__qh.destroy();
this.__qh=null;
}},isShowingColumnMoveFeedback:function(){return this.__qh!=null;
},_updateContent:function(d){var i=this.getTable().getTableModel();
var l=this.getTable().getTableColumnModel();
var m=this.getPaneScroller().getTablePaneModel();
var o=this._getChildren();
var j=m.getColumnCount();
var e=i.getSortColumnIndex();
if(d){this._cleanUpCells();
}var f={};
f.sortedAscending=i.isSortAscending();

for(var x=0;x<j;x++){var h=m.getColumnAtX(x);

if(h===undefined){continue;
}var n=l.getColumnWidth(h);
var k=l.getHeaderCellRenderer(h);
f.xPos=x;
f.col=h;
f.name=i.getColumnName(h);
f.editable=i.isColumnEditable(h);
f.sorted=(h==e);
var g=o[x];
if(g==null){g=k.createHeaderCell(f);
g.set({width:n});
this._add(g);
}else{k.updateHeaderCell(f,g);
}}},_cleanUpCells:function(){var r=this._getChildren();

for(var x=r.length-1;x>=0;x--){var q=r[x];
q.destroy();
}}},destruct:function(){this.__qf.dispose();
this._disposeObjects(b);
}});
})();
(function(){var dY="Boolean",dX="resize-line",dW="mousedown",dV="qx.event.type.Data",dU="mouseup",dT="qx.ui.table.pane.CellEvent",dS="scroll",dR="focus-indicator",dQ="excluded",dP="scrollbar-y",eX="table-scroller-focus-indicator",eW="visible",eV="mousemove",eU="header",eT="editing",eS="click",eR="modelChanged",eQ="scrollbar-x",eP="cellClick",eO="pane",eg="__qp",eh="__qn",ee="__qm",ef="mouseout",ec="changeHorizontalScrollBarVisible",ed="bottom",ea="_applyScrollTimeout",eb="changeScrollX",el="_applyTablePaneModel",em="Integer",eu="__qo",es="dblclick",eC="dataEdited",ex="mousewheel",eK="interval",eH="qx.ui.table.pane.Scroller",eo="_applyShowCellFocusIndicator",eN="__qr",eM="resize",eL="vertical",en="__qq",eq="changeScrollY",er="appear",et="table-scroller",ev="beforeSort",ey="cellDblclick",eE="__ql",eJ="__qk",ei="horizontal",ej="losecapture",ep="contextmenu",eB="col-resize",eA="disappear",ez="_applyVerticalScrollBarVisible",eG="_applyHorizontalScrollBarVisible",eF="cellContextmenu",ew="close",eD="__qs",dO="changeTablePaneModel",eI="qx.ui.table.pane.Model",ek="changeVerticalScrollBarVisible";
qx.Class.define(eH,{extend:qx.ui.core.Widget,include:qx.ui.core.scroll.MScrollBarFactory,construct:function(dl){qx.ui.core.Widget.call(this);
this.__qj=dl;
var dm=new qx.ui.layout.Grid();
dm.setColumnFlex(0,1);
dm.setRowFlex(1,1);
this._setLayout(dm);
this.__qk=this._showChildControl(eQ);
this.__ql=this._showChildControl(dP);
this.__qm=this._showChildControl(eU);
this.__qn=this._showChildControl(eO);
this.__qo=new qx.ui.container.Composite(new qx.ui.layout.HBox()).set({minWidth:0});
this._add(this.__qo,{row:0,column:0,colSpan:2});
this.__qp=new qx.ui.table.pane.Clipper();
this.__qp.add(this.__qm);
this.__qp.addListener(ej,this._onChangeCaptureHeader,this);
this.__qp.addListener(eV,this._onMousemoveHeader,this);
this.__qp.addListener(dW,this._onMousedownHeader,this);
this.__qp.addListener(dU,this._onMouseupHeader,this);
this.__qp.addListener(eS,this._onClickHeader,this);
this.__qo.add(this.__qp,{flex:1});
this.__qq=new qx.ui.table.pane.Clipper();
this.__qq.add(this.__qn);
this.__qq.addListener(ex,this._onMousewheel,this);
this.__qq.addListener(eV,this._onMousemovePane,this);
this.__qq.addListener(dW,this._onMousedownPane,this);
this.__qq.addListener(dU,this._onMouseupPane,this);
this.__qq.addListener(eS,this._onClickPane,this);
this.__qq.addListener(ep,this._onContextMenu,this);
this.__qq.addListener(es,this._onDblclickPane,this);
this.__qq.addListener(eM,this._onResizePane,this);
this._add(this.__qq,{row:1,column:0});
this.__qr=this.getChildControl(dR);
this.getChildControl(dX).hide();
this.addListener(ef,this._onMouseout,this);
this.addListener(er,this._onAppear,this);
this.addListener(eA,this._onDisappear,this);
this.__qs=new qx.event.Timer();
this.__qs.addListener(eK,this._oninterval,this);
this.initScrollTimeout();
},statics:{MIN_COLUMN_WIDTH:10,RESIZE_REGION_RADIUS:5,CLICK_TOLERANCE:5,HORIZONTAL_SCROLLBAR:1,VERTICAL_SCROLLBAR:2},events:{"changeScrollY":dV,"changeScrollX":dV,"cellClick":dT,"cellDblclick":dT,"cellContextmenu":dT,"beforeSort":dV},properties:{horizontalScrollBarVisible:{check:dY,init:true,apply:eG,event:ec},verticalScrollBarVisible:{check:dY,init:true,apply:ez,event:ek},tablePaneModel:{check:eI,apply:el,event:dO},liveResize:{check:dY,init:false},focusCellOnMouseMove:{check:dY,init:false},selectBeforeFocus:{check:dY,init:false},showCellFocusIndicator:{check:dY,init:true,apply:eo},scrollTimeout:{check:em,init:100,apply:ea},appearance:{refine:true,init:et}},members:{__qt:null,__qj:null,__qu:null,__qv:null,__qw:null,__qx:null,__qy:null,__qz:null,__qA:null,__qB:null,__qC:null,__qD:null,__qE:null,__qF:null,__qG:null,__qH:null,__qI:null,__qJ:null,__qK:null,__qL:null,__qM:null,__qN:null,__qk:null,__ql:null,__qm:null,__qp:null,__qn:null,__qq:null,__qr:null,__qo:null,__qs:null,getPaneInsetRight:function(){var P=this.getTopRightWidget();
var Q=P&&P.isVisible()&&P.getBounds()?P.getBounds().width:0;
var O=this.getVerticalScrollBarVisible()?this.getVerticalScrollBarWidth():0;
return Math.max(Q,O);
},setPaneWidth:function(dk){if(this.isVerticalScrollBarVisible()){dk+=this.getPaneInsetRight();
}this.setWidth(dk);
},_createChildControlImpl:function(eY){var fa;

switch(eY){case eU:fa=(this.getTable().getNewTablePaneHeader())(this);
break;
case eO:fa=(this.getTable().getNewTablePane())(this);
break;
case dR:fa=new qx.ui.table.pane.FocusIndicator(this);
fa.setUserBounds(0,0,0,0);
fa.setZIndex(1000);
fa.addListener(dU,this._onMouseupFocusIndicator,this);
this.__qq.add(fa);
fa.show();
fa.setDecorator(null);
break;
case dX:fa=new qx.ui.core.Widget();
fa.setUserBounds(0,0,0,0);
fa.setZIndex(1000);
this.__qq.add(fa);
break;
case eQ:fa=this._createScrollBar(ei).set({minWidth:0,alignY:ed});
fa.addListener(dS,this._onScrollX,this);
this._add(fa,{row:2,column:0});
break;
case dP:fa=this._createScrollBar(eL);
fa.addListener(dS,this._onScrollY,this);
this._add(fa,{row:1,column:1});
break;
}return fa||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,eY);
},_applyHorizontalScrollBarVisible:function(dH,dI){this.__qk.setVisibility(dH?eW:dQ);

if(!dH){this.setScrollY(0,true);
}},_applyVerticalScrollBarVisible:function(dw,dx){this.__ql.setVisibility(dw?eW:dQ);

if(!dw){this.setScrollX(0);
}},_applyTablePaneModel:function(cS,cT){if(cT!=null){cT.removeListener(eR,this._onPaneModelChanged,this);
}cS.addListener(eR,this._onPaneModelChanged,this);
},_applyShowCellFocusIndicator:function(bb,bc){if(bb){this.__qr.setDecorator(eX);
this._updateFocusIndicator();
}else{if(this.__qr){this.__qr.setDecorator(null);
}}},getScrollY:function(){return this.__ql.getPosition();
},setScrollY:function(scrollY,fb){this.__ql.scrollTo(scrollY);

if(fb){this._updateContent();
}},getScrollX:function(){return this.__qk.getPosition();
},setScrollX:function(scrollX){this.__qk.scrollTo(scrollX);
},getTable:function(){return this.__qj;
},onColVisibilityChanged:function(){this.updateHorScrollBarMaximum();
this._updateFocusIndicator();
},setColumnWidth:function(cN,cO){this.__qm.setColumnWidth(cN,cO);
this.__qn.setColumnWidth(cN,cO);
var cP=this.getTablePaneModel();
var x=cP.getX(cN);

if(x!=-1){this.updateHorScrollBarMaximum();
this._updateFocusIndicator();
}},onColOrderChanged:function(){this.__qm.onColOrderChanged();
this.__qn.onColOrderChanged();
this.updateHorScrollBarMaximum();
},onTableModelDataChanged:function(h,i,j,k){this.__qn.onTableModelDataChanged(h,i,j,k);
var l=this.getTable().getTableModel().getRowCount();

if(l!=this.__qt){this.updateVerScrollBarMaximum();

if(this.getFocusedRow()>=l){if(l==0){this.setFocusedCell(null,null);
}else{this.setFocusedCell(this.getFocusedColumn(),l-1);
}}this.__qt=l;
}},onSelectionChanged:function(){this.__qn.onSelectionChanged();
},onFocusChanged:function(){this.__qn.onFocusChanged();
},onTableModelMetaDataChanged:function(){this.__qm.onTableModelMetaDataChanged();
this.__qn.onTableModelMetaDataChanged();
},_onPaneModelChanged:function(){this.__qm.onPaneModelChanged();
this.__qn.onPaneModelChanged();
},_onResizePane:function(){this.updateHorScrollBarMaximum();
this.updateVerScrollBarMaximum();
this._updateContent();
this.__qm._updateContent();
this.__qj._updateScrollBarVisibility();
},updateHorScrollBarMaximum:function(){var bg=this.__qq.getInnerSize();

if(!bg){return ;
}var be=this.getTablePaneModel().getTotalWidth();
var bf=this.__qk;

if(bg.width<be){var bd=Math.max(0,be-bg.width);
bf.setMaximum(bd);
bf.setKnobFactor(bg.width/be);
var bh=bf.getPosition();
bf.setPosition(Math.min(bh,bd));
}else{bf.setMaximum(0);
bf.setKnobFactor(1);
bf.setPosition(0);
}},updateVerScrollBarMaximum:function(){var bX=this.__qq.getInnerSize();

if(!bX){return ;
}var bV=this.getTable().getTableModel();
var bR=bV.getRowCount();

if(this.getTable().getKeepFirstVisibleRowComplete()){bR+=1;
}var bQ=this.getTable().getRowHeight();
var bT=bR*bQ;
var bW=this.__ql;

if(bX.height<bT){var bS=Math.max(0,bT-bX.height);
bW.setMaximum(bS);
bW.setKnobFactor(bX.height/bT);
var bU=bW.getPosition();
bW.setPosition(Math.min(bU,bS));
}else{bW.setMaximum(0);
bW.setKnobFactor(1);
bW.setPosition(0);
}},onKeepFirstVisibleRowCompleteChanged:function(){this.updateVerScrollBarMaximum();
this._updateContent();
},_onAppear:function(){this._startInterval(this.getScrollTimeout());
},_onDisappear:function(){this._stopInterval();
},_onScrollX:function(e){var ba=e.getData();
this.fireDataEvent(eb,ba,e.getOldData());
this.__qp.scrollToX(ba);
this.__qq.scrollToX(ba);
},_onScrollY:function(e){this.fireDataEvent(eq,e.getData(),e.getOldData());
this._postponedUpdateContent();
},_onMousewheel:function(e){var cV=this.getTable();

if(!cV.getEnabled()){return;
}var cX=qx.bom.client.Engine.GECKO?1:3;
var cW=this.__ql.getPosition()+((e.getWheelDelta()*cX)*cV.getRowHeight());
this.__ql.scrollTo(cW);
if(this.__qH&&this.getFocusCellOnMouseMove()){this._focusCellAtPagePos(this.__qH,this.__qI);
}e.stop();
},__qO:function(cG){var cL=this.getTable();
var cM=this.__qm.getHeaderWidgetAtColumn(this.__qC);
var cH=cM.getSizeHint().minWidth;
var cJ=Math.max(cH,this.__qE+cG-this.__qD);

if(this.getLiveResize()){var cI=cL.getTableColumnModel();
cI.setColumnWidth(this.__qC,cJ);
}else{this.__qm.setColumnWidth(this.__qC,cJ);
var cK=this.getTablePaneModel();
this._showResizeLine(cK.getColumnLeft(this.__qC)+cJ);
}this.__qD+=cJ-this.__qE;
this.__qE=cJ;
},__qP:function(dn){var dp=qx.ui.table.pane.Scroller.CLICK_TOLERANCE;

if(this.__qm.isShowingColumnMoveFeedback()||dn>this.__qB+dp||dn<this.__qB-dp){this.__qy+=dn-this.__qB;
this.__qm.showColumnMoveFeedback(this.__qx,this.__qy);
var dq=this.__qj.getTablePaneScrollerAtPageX(dn);

if(this.__qA&&this.__qA!=dq){this.__qA.hideColumnMoveFeedback();
}
if(dq!=null){this.__qz=dq.showColumnMoveFeedback(dn);
}else{this.__qz=null;
}this.__qA=dq;
this.__qB=dn;
}},_onMousemoveHeader:function(e){var bo=this.getTable();

if(!bo.getEnabled()){return;
}var bp=false;
var bi=null;
var bm=e.getDocumentLeft();
var bn=e.getDocumentTop();
this.__qH=bm;
this.__qI=bn;

if(this.__qC!=null){this.__qO(bm);
bp=true;
e.stopPropagation();
}else if(this.__qx!=null){this.__qP(bm);
e.stopPropagation();
}else{var bj=this._getResizeColumnForPageX(bm);

if(bj!=-1){bp=true;
}else{var bl=bo.getTableModel();
var bq=this._getColumnForPageX(bm);

if(bq!=null&&bl.isColumnSortable(bq)){bi=bq;
}}}var bk=bp?eB:null;
this.getApplicationRoot().setGlobalCursor(bk);
this.setCursor(bk);
this.__qm.setMouseOverColumn(bi);
},_onMousemovePane:function(e){var fc=this.getTable();

if(!fc.getEnabled()){return;
}var fe=e.getDocumentLeft();
var ff=e.getDocumentTop();
this.__qH=fe;
this.__qI=ff;
var fd=this._getRowForPagePos(fe,ff);

if(fd!=null&&this._getColumnForPageX(fe)!=null){if(this.getFocusCellOnMouseMove()){this._focusCellAtPagePos(fe,ff);
}}this.__qm.setMouseOverColumn(null);
},_onMousedownHeader:function(e){if(!this.getTable().getEnabled()){return;
}var fh=e.getDocumentLeft();
var fi=this._getResizeColumnForPageX(fh);

if(fi!=-1){this._startResizeHeader(fi,fh);
e.stop();
}else{var fg=this._getColumnForPageX(fh);

if(fg!=null){this._startMoveHeader(fg,fh);
e.stop();
}}},_startResizeHeader:function(dh,di){var dj=this.getTable().getTableColumnModel();
this.__qC=dh;
this.__qD=di;
this.__qE=dj.getColumnWidth(this.__qC);
this.__qp.capture();
},_startMoveHeader:function(df,dg){this.__qx=df;
this.__qB=dg;
this.__qy=this.getTablePaneModel().getColumnLeft(df);
this.__qp.capture();
},_onMousedownPane:function(e){var dc=this.getTable();

if(!dc.getEnabled()){return;
}
if(this.isEditing()){this.stopEditing();
}var cY=e.getDocumentLeft();
var db=e.getDocumentTop();
var de=this._getRowForPagePos(cY,db);
var dd=this._getColumnForPageX(cY);

if(de!==null){this.__qF={row:de,col:dd};
var da=this.getSelectBeforeFocus();

if(da){dc.getSelectionManager().handleMouseDown(de,e);
}if(!this.getFocusCellOnMouseMove()){this._focusCellAtPagePos(cY,db);
}
if(!da){dc.getSelectionManager().handleMouseDown(de,e);
}}},_onMouseupFocusIndicator:function(e){if(this.__qF&&!this.isEditing()&&this.__qr.getRow()==this.__qF.row&&this.__qr.getColumn()==this.__qF.col){this.fireEvent(eP,qx.ui.table.pane.CellEvent,[this,e,this.__qF.row,this.__qF.col],true);
}},_onChangeCaptureHeader:function(e){if(this.__qC!=null){this._stopResizeHeader();
}
if(this.__qx!=null){this._stopMoveHeader();
}},_stopResizeHeader:function(){var cU=this.getTable().getTableColumnModel();
if(!this.getLiveResize()){this._hideResizeLine();
cU.setColumnWidth(this.__qC,this.__qE);
}this.__qC=null;
this.__qp.releaseCapture();
this.getApplicationRoot().setGlobalCursor(null);
this.setCursor(null);
},_stopMoveHeader:function(){var dD=this.getTable().getTableColumnModel();
var dE=this.getTablePaneModel();
this.__qm.hideColumnMoveFeedback();

if(this.__qA){this.__qA.hideColumnMoveFeedback();
}
if(this.__qz!=null){var dG=dE.getFirstColumnX()+dE.getX(this.__qx);
var dC=this.__qz;

if(dC!=dG&&dC!=dG+1){var dF=dD.getVisibleColumnAtX(dG);
var dB=dD.getVisibleColumnAtX(dC);
var dA=dD.getOverallX(dF);
var dz=(dB!=null)?dD.getOverallX(dB):dD.getOverallColumnCount();

if(dz>dA){dz--;
}dD.moveColumn(dA,dz);
}}this.__qx=null;
this.__qz=null;
this.__qp.releaseCapture();
},_onMouseupPane:function(e){var cQ=this.getTable();

if(!cQ.getEnabled()){return;
}var cR=this._getRowForPagePos(e.getDocumentLeft(),e.getDocumentTop());

if(cR!=-1&&cR!=null&&this._getColumnForPageX(e.getDocumentLeft())!=null){cQ.getSelectionManager().handleMouseUp(cR,e);
}},_onMouseupHeader:function(e){var cF=this.getTable();

if(!cF.getEnabled()){return;
}
if(this.__qC!=null){this._stopResizeHeader();
this.__qG=true;
e.stop();
}else if(this.__qx!=null){this._stopMoveHeader();
e.stop();
}},_onClickHeader:function(e){if(this.__qG){this.__qG=false;
return;
}var bL=this.getTable();

if(!bL.getEnabled()){return;
}var bJ=bL.getTableModel();
var bK=e.getDocumentLeft();
var bI=this._getResizeColumnForPageX(bK);

if(bI==-1){var bO=this._getColumnForPageX(bK);

if(bO!=null&&bJ.isColumnSortable(bO)){var bH=bJ.getSortColumnIndex();
var bM=(bO!=bH)?true:!bJ.isSortAscending();
var bN={column:bO,ascending:bM};

if(this.fireDataEvent(ev,bN)){bJ.sortByColumn(bO,bM);
bL.getSelectionModel().resetSelection();
}}}e.stop();
},_onClickPane:function(e){var H=this.getTable();

if(!H.getEnabled()){return;
}var K=e.getDocumentLeft();
var L=e.getDocumentTop();
var I=this._getRowForPagePos(K,L);
var J=this._getColumnForPageX(K);

if(I!=null&&J!=null){H.getSelectionManager().handleClick(I,e);

if(this.__qr.isHidden()||(this.__qF&&!this.isEditing()&&I==this.__qF.row&&J==this.__qF.col)){this.fireEvent(eP,qx.ui.table.pane.CellEvent,[this,e,I,J],true);
}}},_onContextMenu:function(e){var dM=e.getDocumentLeft();
var dN=e.getDocumentTop();
var dK=this._getRowForPagePos(dM,dN);
var dL=this._getColumnForPageX(dM);

if(this.__qr.isHidden()||(this.__qF&&dK==this.__qF.row&&dL==this.__qF.col)){this.fireEvent(eF,qx.ui.table.pane.CellEvent,[this,e,dK,dL],true);
var dJ=this.getTable().getContextMenu();

if(dJ){if(dJ.getChildren().length>0){dJ.openAtMouse(e);
}else{dJ.exclude();
}e.preventDefault();
}}},_onContextMenuOpen:function(e){},_onDblclickPane:function(e){var b=e.getDocumentLeft();
var c=e.getDocumentTop();
this._focusCellAtPagePos(b,c);
this.startEditing();
var a=this._getRowForPagePos(b,c);

if(a!=-1&&a!=null){this.fireEvent(ey,qx.ui.table.pane.CellEvent,[this,e,a],true);
}},_onMouseout:function(e){var dy=this.getTable();

if(!dy.getEnabled()){return;
}if(this.__qC==null){this.setCursor(null);
this.getApplicationRoot().setGlobalCursor(null);
}this.__qm.setMouseOverColumn(null);
},_showResizeLine:function(x){var cD=this._showChildControl(dX);
var cC=cD.getWidth();
var cE=this.__qq.getBounds();
cD.setUserBounds(x-Math.round(cC/2),0,cC,cE.height);
},_hideResizeLine:function(){this._excludeChildControl(dX);
},showColumnMoveFeedback:function(ca){var cj=this.getTablePaneModel();
var ci=this.getTable().getTableColumnModel();
var cd=this.__qn.getContainerLocation().left;
var ch=cj.getColumnCount();
var ce=0;
var cc=0;
var cm=cd;

for(var cb=0;cb<ch;cb++){var cf=cj.getColumnAtX(cb);
var ck=ci.getColumnWidth(cf);

if(ca<cm+ck/2){break;
}cm+=ck;
ce=cb+1;
cc=cm-cd;
}var cg=this.__qq.getContainerLocation().left;
var cl=this.__qq.getBounds().width;
var scrollX=cg-cd;
cc=qx.lang.Number.limit(cc,scrollX+2,scrollX+cl-1);
this._showResizeLine(cc);
return cj.getFirstColumnX()+ce;
},hideColumnMoveFeedback:function(){this._hideResizeLine();
},_focusCellAtPagePos:function(D,E){var G=this._getRowForPagePos(D,E);

if(G!=-1&&G!=null){var F=this._getColumnForPageX(D);
this.__qj.setFocusedCell(F,G);
}},setFocusedCell:function(du,dv){if(!this.isEditing()){this.__qn.setFocusedCell(du,dv,this.__qv);
this.__qJ=du;
this.__qK=dv;
this._updateFocusIndicator();
}},getFocusedColumn:function(){return this.__qJ;
},getFocusedRow:function(){return this.__qK;
},scrollCellVisible:function(cn,co){var cy=this.getTablePaneModel();
var cp=cy.getX(cn);

if(cp!=-1){var cv=this.__qq.getInnerSize();

if(!cv){return;
}var cw=this.getTable().getTableColumnModel();
var cs=cy.getColumnLeft(cn);
var cz=cw.getColumnWidth(cn);
var cq=this.getTable().getRowHeight();
var cA=co*cq;
var scrollX=this.getScrollX();
var scrollY=this.getScrollY();
var cx=Math.min(cs,cs+cz-cv.width);
var cu=cs;
this.setScrollX(Math.max(cx,Math.min(cu,scrollX)));
var cr=cA+cq-cv.height;

if(this.getTable().getKeepFirstVisibleRowComplete()){cr+=cq;
}var ct=cA;
this.setScrollY(Math.max(cr,Math.min(ct,scrollY)),true);
}},isEditing:function(){return this.__qL!=null;
},startEditing:function(){var V=this.getTable();
var T=V.getTableModel();
var X=this.__qJ;

if(!this.isEditing()&&(X!=null)&&T.isColumnEditable(X)){var Y=this.__qK;
var R=this.getTablePaneModel().getX(X);
var S=T.getValue(X,Y);
V.blockHeaderElements();
this.__qM=V.getTableColumnModel().getCellEditorFactory(X);
var U={col:X,row:Y,xPos:R,value:S,table:V};
this.__qL=this.__qM.createCellEditor(U);
if(this.__qL===null){return false;
}else if(this.__qL instanceof qx.ui.window.Window){this.__qL.setModal(true);
this.__qL.setShowClose(false);
this.__qL.addListener(ew,this._onCellEditorModalWindowClose,this);
var f=V.getModalCellEditorPreOpenFunction();

if(f!=null){f(this.__qL,U);
}this.__qL.open();
}else{var W=this.__qr.getInnerSize();
this.__qL.setUserBounds(0,0,W.width,W.height);
this.__qr.addListener(dW,function(e){this.__qF={row:this.__qK,col:this.__qJ};
e.stopPropagation();
},this);
this.__qr.add(this.__qL);
this.__qr.addState(eT);
this.__qr.setKeepActive(false);
this.__qr.setDecorator(eX);
this.__qL.focus();
this.__qL.activate();
}return true;
}return false;
},stopEditing:function(){if(!this.getShowCellFocusIndicator()){this.__qr.setDecorator(null);
}this.flushEditor();
this.cancelEditing();
},flushEditor:function(){if(this.isEditing()){var N=this.__qM.getCellEditorValue(this.__qL);
var M=this.getTable().getTableModel().getValue(this.__qJ,this.__qK);
this.getTable().getTableModel().setValue(this.__qJ,this.__qK,N);
this.__qj.focus();
this.__qj.fireDataEvent(eC,{row:this.__qK,col:this.__qJ,oldValue:M,value:N});
}},cancelEditing:function(){if(this.isEditing()&&!this.__qL.pendingDispose){this.getTable().unblockHeaderElements();

if(this._cellEditorIsModalWindow){this.__qL.destroy();
this.__qL=null;
this.__qM=null;
this.__qL.pendingDispose=true;
}else{this.__qr.removeState(eT);
this.__qr.setKeepActive(true);
this.__qL.destroy();
this.__qL=null;
this.__qM=null;
}}},_onCellEditorModalWindowClose:function(e){this.stopEditing();
},_getColumnForPageX:function(v){var z=this.getTable().getTableColumnModel();
var A=this.getTablePaneModel();
var y=A.getColumnCount();
var C=this.__qm.getContainerLocation().left;

for(var x=0;x<y;x++){var w=A.getColumnAtX(x);
var B=z.getColumnWidth(w);
C+=B;

if(v<C){return w;
}}return null;
},_getResizeColumnForPageX:function(bz){var bD=this.getTable().getTableColumnModel();
var bE=this.getTablePaneModel();
var bC=bE.getColumnCount();
var bG=this.__qm.getContainerLocation().left;
var bA=qx.ui.table.pane.Scroller.RESIZE_REGION_RADIUS;

for(var x=0;x<bC;x++){var bB=bE.getColumnAtX(x);
var bF=bD.getColumnWidth(bB);
bG+=bF;

if(bz>=(bG-bA)&&bz<=(bG+bA)){return bB;
}}return -1;
},_getRowForPagePos:function(m,n){var o=this.__qn.getContentLocation();

if(m<o.left||m>o.right){return null;
}
if(n>=o.top&&n<=o.bottom){var p=this.getTable().getRowHeight();
var scrollY=this.__ql.getPosition();

if(this.getTable().getKeepFirstVisibleRowComplete()){scrollY=Math.floor(scrollY/p)*p;
}var s=scrollY+n-o.top;
var u=Math.floor(s/p);
var t=this.getTable().getTableModel();
var q=t.getRowCount();
return (u<q)?u:null;
}var r=this.__qm.getContainerLocation();

if(n>=r.top&&n<=r.bottom&&m<=r.right){return -1;
}return null;
},setTopRightWidget:function(ds){var dt=this.__qN;

if(dt!=null){this.__qo.remove(dt);
}
if(ds!=null){this.__qo.add(ds);
}this.__qN=ds;
},getTopRightWidget:function(){return this.__qN;
},getHeader:function(){return this.__qm;
},getTablePane:function(){return this.__qn;
},getVerticalScrollBarWidth:function(){var bP=this.__ql;
return bP.isVisible()?(bP.getSizeHint().width||0):0;
},getNeededScrollBars:function(fj,fk){var fq=this.__ql.getSizeHint().width;
var fr=this.__qq.getInnerSize();
var fl=fr?fr.width:0;

if(this.getVerticalScrollBarVisible()){fl+=fq;
}var fu=fr?fr.height:0;

if(this.getHorizontalScrollBarVisible()){fu+=fq;
}var fo=this.getTable().getTableModel();
var fs=fo.getRowCount();
var fv=this.getTablePaneModel().getTotalWidth();
var ft=this.getTable().getRowHeight()*fs;
var fn=false;
var fw=false;

if(fv>fl){fn=true;

if(ft>fu-fq){fw=true;
}}else if(ft>fu){fw=true;

if(!fk&&(fv>fl-fq)){fn=true;
}}var fp=qx.ui.table.pane.Scroller.HORIZONTAL_SCROLLBAR;
var fm=qx.ui.table.pane.Scroller.VERTICAL_SCROLLBAR;
return ((fj||fn)?fp:0)|((fk||!fw)?0:fm);
},getPaneClipper:function(){return this.__qq;
},_applyScrollTimeout:function(d,g){this._startInterval(d);
},_startInterval:function(bY){this.__qs.setInterval(bY);
this.__qs.start();
},_stopInterval:function(){this.__qs.stop();
},_postponedUpdateContent:function(){this._updateContent();
},_oninterval:qx.event.GlobalError.observeMethod(function(){if(this.__qv&&!this.__qn._layoutPending){this.__qv=false;
this._updateContent();
}}),_updateContent:function(){var bv=this.__qq.getInnerSize();

if(!bv){return;
}var by=bv.height;
var scrollX=this.__qk.getPosition();
var scrollY=this.__ql.getPosition();
var bs=this.getTable().getRowHeight();
var bt=Math.floor(scrollY/bs);
var bx=this.__qn.getFirstVisibleRow();
this.__qn.setFirstVisibleRow(bt);
var bu=Math.ceil(by/bs);
var br=0;
var bw=this.getTable().getKeepFirstVisibleRowComplete();

if(!bw){bu++;
br=scrollY%bs;
}this.__qn.setVisibleRowCount(bu);

if(bt!=bx){this._updateFocusIndicator();
}this.__qq.scrollToX(scrollX);
if(!bw){this.__qq.scrollToY(br);
}},_updateFocusIndicator:function(){var cB=this.getTable();

if(!cB.getEnabled()){return;
}this.__qr.moveToCell(this.__qJ,this.__qK);
}},destruct:function(){this._stopInterval();
var dr=this.getTablePaneModel();

if(dr){dr.dispose();
}this.__qF=this.__qN=this.__qj=null;
this._disposeObjects(eJ,eE,eg,en,eN,ee,eh,eu,eD);
}});
})();
(function(){var b="qx.ui.table.pane.Clipper";
qx.Class.define(b,{extend:qx.ui.container.Composite,construct:function(){qx.ui.container.Composite.call(this,new qx.ui.layout.Grow());
this.setMinWidth(0);
},members:{scrollToX:function(c){this.getContentElement().scrollToX(c,false);
},scrollToY:function(a){this.getContentElement().scrollToY(a,true);
}}});
})();
(function(){var h="Integer",g="Escape",f="keypress",d="Enter",c="excluded",b="qx.ui.table.pane.FocusIndicator";
qx.Class.define(b,{extend:qx.ui.container.Composite,construct:function(a){qx.ui.container.Composite.call(this);
this.__qQ=a;
this.setKeepActive(true);
this.addListener(f,this._onKeyPress,this);
},properties:{visibility:{refine:true,init:c},row:{check:h,nullable:true},column:{check:h,nullable:true}},members:{__qQ:null,_onKeyPress:function(e){var q=e.getKeyIdentifier();

if(q!==g&&q!==d){e.stopPropagation();
}},moveToCell:function(i,j){if(i==null){this.hide();
this.setRow(null);
this.setColumn(null);
}else{var k=this.__qQ.getTablePaneModel().getX(i);

if(k==-1){this.hide();
this.setRow(null);
this.setColumn(null);
}else{var p=this.__qQ.getTable();
var n=p.getTableColumnModel();
var o=this.__qQ.getTablePaneModel();
var m=this.__qQ.getTablePane().getFirstVisibleRow();
var l=p.getRowHeight();
this.setUserBounds(o.getColumnLeft(i)-2,(j-m)*l-2,n.getColumnWidth(i)+3,l+3);
this.show();
this.setRow(j);
this.setColumn(i);
}}}},destruct:function(){this.__qQ=null;
}});
})();
(function(){var b="Integer",a="qx.ui.table.pane.CellEvent";
qx.Class.define(a,{extend:qx.event.type.Mouse,properties:{row:{check:b,nullable:true},column:{check:b,nullable:true}},members:{init:function(c,d,e,f){d.clone(this);
this.setBubbles(false);

if(e!=null){this.setRow(e);
}else{this.setRow(c._getRowForPagePos(this.getDocumentLeft(),this.getDocumentTop()));
}
if(f!=null){this.setColumn(f);
}else{this.setColumn(c._getColumnForPageX(this.getDocumentLeft()));
}},clone:function(g){var h=qx.event.type.Mouse.prototype.clone.call(this,g);
h.set({row:this.getRow(),column:this.getColumn()});
return h;
}}});
})();
(function(){var n="Number",m="qx.event.type.Event",l="_applyFirstColumnX",k="Integer",j="qx.ui.table.pane.Model",i="_applyMaxColumnCount",h="visibilityChangedPre";
qx.Class.define(j,{extend:qx.core.Object,construct:function(o){qx.core.Object.call(this);
o.addListener(h,this._onColVisibilityChanged,this);
this.__qR=o;
},events:{"modelChanged":m},statics:{EVENT_TYPE_MODEL_CHANGED:"modelChanged"},properties:{firstColumnX:{check:k,init:0,apply:l},maxColumnCount:{check:n,init:-1,apply:i}},members:{__qS:null,__qR:null,_applyFirstColumnX:function(C,D){this.__qS=null;
this.fireEvent(qx.ui.table.pane.Model.EVENT_TYPE_MODEL_CHANGED);
},_applyMaxColumnCount:function(b,c){this.__qS=null;
this.fireEvent(qx.ui.table.pane.Model.EVENT_TYPE_MODEL_CHANGED);
},setTableColumnModel:function(r){this.__qR=r;
this.__qS=null;
},_onColVisibilityChanged:function(a){this.__qS=null;
this.fireEvent(qx.ui.table.pane.Model.EVENT_TYPE_MODEL_CHANGED);
},getColumnCount:function(){if(this.__qS==null){var z=this.getFirstColumnX();
var B=this.getMaxColumnCount();
var A=this.__qR.getVisibleColumnCount();

if(B==-1||(z+B)>A){this.__qS=A-z;
}else{this.__qS=B;
}}return this.__qS;
},getColumnAtX:function(p){var q=this.getFirstColumnX();
return this.__qR.getVisibleColumnAtX(q+p);
},getX:function(s){var t=this.getFirstColumnX();
var u=this.getMaxColumnCount();
var x=this.__qR.getVisibleX(s)-t;

if(x>=0&&(u==-1||x<u)){return x;
}else{return -1;
}},getColumnLeft:function(d){var g=0;
var f=this.getColumnCount();

for(var x=0;x<f;x++){var e=this.getColumnAtX(x);

if(e==d){return g;
}g+=this.__qR.getColumnWidth(e);
}return -1;
},getTotalWidth:function(){var v=0;
var w=this.getColumnCount();

for(var x=0;x<w;x++){var y=this.getColumnAtX(x);
v+=this.__qR.getColumnWidth(y);
}return v;
}},destruct:function(){this.__qR=null;
}});
})();
(function(){var bu="",bt="!",bs="'!",br="'",bq="Expected '",bp="' (rgb(",bo=",",bn=")), but found value '",bm="Event (",bl="Expected value to be the CSS color '",cA="' but found ",cz="The value '",cy="qx.core.Object",cx="Expected value to be an array but found ",cw=") was fired.",cv="Expected value to be an integer >= 0 but found ",cu="' to be not equal with '",ct="' to '",cs="qx.ui.core.Widget",cr="Called assertTrue with '",bB="Expected value to be a map but found ",bC="The function did not raise an exception!",bz="Expected value to be undefined but found ",bA="Expected value to be a DOM element but found  '",bx="Expected value to be a regular expression but found ",by="' to implement the interface '",bv="Expected value to be null but found ",bw="Invalid argument 'type'",bJ="Called assert with 'false'",bK="Assertion error! ",bW="Expected value to be a string but found ",bS="null",cf="' but found '",ca="' must must be a key of the map '",cn="The String '",ck="Expected value not to be undefined but found ",bO="qx.util.ColorUtil",cq=": ",cp="The raised exception does not have the expected type! ",co=") not fired.",bN="qx.core.Assert",bQ="Expected value to be typeof object but found ",bR="' (identical) but found '",bU="' must have any of the values defined in the array '",bX="Expected value to be a number but found ",cb="Called assertFalse with '",ch="]",cm="Expected value to be a qooxdoo object but found ",bD="' arguments.",bE="Expected value not to be null but found ",bP="Array[",ce="' does not match the regular expression '",cd="' to be not identical with '",cc="' arguments but found '",cj="', which cannot be converted to a CSS color!",ci="Expected object '",bY="qx.core.AssertionError",cg="Expected value to be a boolean but found ",bi="))!",cl="Expected value to be a qooxdoo widget but found ",bF="Expected value '%1' to be in the range '%2'..'%3'!",bG="Expected value to be typeof '",bT="Expected value to be typeof function but found ",bj="Expected value to be an integer but found ",bk="Called fail().",bM="The parameter 're' must be a string or a regular expression.",bH="Expected value to be a number >= 0 but found ",bI="Expected value to be instanceof '",bL="Wrong number of arguments given. Expected '",bV="object";
qx.Class.define(bN,{statics:{__qT:true,__qU:function(y,z){var A=bu;

for(var i=1,l=arguments.length;i<l;i++){A=A+this.__qV(arguments[i]);
}var C=bK+y+cq+A;

if(this.__qT){qx.Bootstrap.error(C);
}
if(qx.Class.isDefined(bY)){var B=new qx.core.AssertionError(y,A);

if(this.__qT){qx.Bootstrap.error("Stack trace: \n"+B.getStackTrace());
}throw B;
}else{throw new Error(C);
}},__qV:function(D){var E;

if(D===null){E=bS;
}else if(qx.lang.Type.isArray(D)&&D.length>10){E=bP+D.length+ch;
}else if((D instanceof Object)&&(D.toString==null)){E=qx.lang.Json.stringify(D,null,2);
}else{try{E=D.toString();
}catch(e){E=bu;
}}return E;
},assert:function(F,G){F==true||this.__qU(G||bu,bJ);
},fail:function(U){this.__qU(U||bu,bk);
},assertTrue:function(g,h){(g===true)||this.__qU(h||bu,cr,g,br);
},assertFalse:function(cW,cX){(cW===false)||this.__qU(cX||bu,cb,cW,br);
},assertEquals:function(cQ,cR,cS){cQ==cR||this.__qU(cS||bu,bq,cQ,cf,cR,bs);
},assertNotEquals:function(cN,cO,cP){cN!=cO||this.__qU(cP||bu,bq,cN,cu,cO,bs);
},assertIdentical:function(t,u,v){t===u||this.__qU(v||bu,bq,t,bR,u,bs);
},assertNotIdentical:function(J,K,L){J!==K||this.__qU(L||bu,bq,J,cd,K,bs);
},assertNotUndefined:function(dF,dG){dF!==undefined||this.__qU(dG||bu,ck,dF,bt);
},assertUndefined:function(bc,bd){bc===undefined||this.__qU(bd||bu,bz,bc,bt);
},assertNotNull:function(w,x){w!==null||this.__qU(x||bu,bE,w,bt);
},assertNull:function(dO,dP){dO===null||this.__qU(dP||bu,bv,dO,bt);
},assertJsonEquals:function(dt,du,dv){this.assertEquals(qx.lang.Json.stringify(dt),qx.lang.Json.stringify(du),dv);
},assertMatch:function(Y,ba,bb){this.assertString(Y);
this.assert(qx.lang.Type.isRegExp(ba)||qx.lang.Type.isString(ba),bM);
Y.search(ba)>=0||this.__qU(bb||bu,cn,Y,ce,ba.toString(),bs);
},assertArgumentsCount:function(cB,cC,cD,cE){var cF=cB.length;
(cF>=cC&&cF<=cD)||this.__qU(cE||bu,bL,cC,ct,cD,cc,arguments.length,bD);
},assertEventFired:function(cG,event,cH,cI,cJ){var cL=false;
var cK=function(e){if(cI){cI.call(cG,e);
}cL=true;
};
var cM=cG.addListener(event,cK,cG);
cH.call();
cL===true||this.__qU(cJ||bu,bm,event,co);
cG.removeListenerById(cM);
},assertEventNotFired:function(db,event,dc,dd){var df=false;
var de=function(e){df=true;
};
var dg=db.addListener(event,de,db);
dc.call();
df===false||this.__qU(dd||bu,bm,event,cw);
db.removeListenerById(dg);
},assertException:function(j,k,m,n){var k=k||Error;
var o;

try{this.__qT=false;
j();
}catch(p){o=p;
}finally{this.__qT=true;
}
if(o==null){this.__qU(n||bu,bC);
}o instanceof k||this.__qU(n||bu,cp,k);

if(m){this.assertMatch(o.toString(),m,n);
}},assertInArray:function(dA,dB,dC){dB.indexOf(dA)!==-1||this.__qU(dC||bu,cz,dA,bU,dB,br);
},assertArrayEquals:function(q,r,s){this.assertArray(q,s);
this.assertArray(r,s);
this.assertEquals(q.length,r.length,s);

for(var i=0;i<q.length;i++){this.assertIdentical(q[i],r[i],s);
}},assertKeyInMap:function(dj,dk,dl){dk[dj]!==undefined||this.__qU(dl||bu,cz,dj,ca,dk,br);
},assertFunction:function(be,bf){qx.lang.Type.isFunction(be)||this.__qU(bf||bu,bT,be,bt);
},assertString:function(H,I){qx.lang.Type.isString(H)||this.__qU(I||bu,bW,H,bt);
},assertBoolean:function(bg,bh){qx.lang.Type.isBoolean(bg)||this.__qU(bh||bu,cg,bg,bt);
},assertNumber:function(dD,dE){(qx.lang.Type.isNumber(dD)&&isFinite(dD))||this.__qU(dE||bu,bX,dD,bt);
},assertPositiveNumber:function(dV,dW){(qx.lang.Type.isNumber(dV)&&isFinite(dV)&&dV>=0)||this.__qU(dW||bu,bH,dV,bt);
},assertInteger:function(dm,dn){(qx.lang.Type.isNumber(dm)&&isFinite(dm)&&dm%1===0)||this.__qU(dn||bu,bj,dm,bt);
},assertPositiveInteger:function(V,W){var X=(qx.lang.Type.isNumber(V)&&isFinite(V)&&V%1===0&&V>=0);
X||this.__qU(W||bu,cv,V,bt);
},assertInRange:function(dp,dq,dr,ds){(dp>=dq&&dp<=dr)||this.__qU(ds||bu,qx.lang.String.format(bF,[dp,dq,dr]));
},assertObject:function(R,S){var T=R!==null&&(qx.lang.Type.isObject(R)||typeof R===bV);
T||this.__qU(S||bu,bQ,(R),bt);
},assertArray:function(dw,dx){qx.lang.Type.isArray(dw)||this.__qU(dx||bu,cx,dw,bt);
},assertMap:function(dQ,dR){qx.lang.Type.isObject(dQ)||this.__qU(dR||bu,bB,dQ,bt);
},assertRegExp:function(dy,dz){qx.lang.Type.isRegExp(dy)||this.__qU(dz||bu,bx,dy,bt);
},assertType:function(dS,dT,dU){this.assertString(dT,bw);
typeof (dS)===dT||this.__qU(dU||bu,bG,dT,cA,dS,bt);
},assertInstance:function(a,b,c){var d=b.classname||b+bu;
a instanceof b||this.__qU(c||bu,bI,d,cA,a,bt);
},assertInterface:function(cT,cU,cV){qx.Class.implementsInterface(cT,cU)||this.__qU(cV||bu,ci,cT,by,cU,bs);
},assertCssColor:function(dH,dI,dJ){var dK=qx.Class.getByName(bO);

if(!dK){throw new Error("qx.util.ColorUtil not available! Your code must have a dependency on 'qx.util.ColorUtil'");
}var dM=dK.stringToRgb(dH);

try{var dL=dK.stringToRgb(dI);
}catch(f){this.__qU(dJ||bu,bl,dH,bp,dM.join(bo),bn,dI,cj);
}var dN=dM[0]==dL[0]&&dM[1]==dL[1]&&dM[2]==dL[2];
dN||this.__qU(dJ||bu,bl,dM,bp,dM.join(bo),bn,dI,bp,dL.join(bo),bi);
},assertElement:function(P,Q){!!(P&&P.nodeType===1)||this.__qU(Q||bu,bA,P,bs);
},assertQxObject:function(cY,da){this.__qW(cY,cy)||this.__qU(da||bu,cm,cY,bt);
},assertQxWidget:function(dh,di){this.__qW(dh,cs)||this.__qU(di||bu,cl,dh,bt);
},__qW:function(M,N){if(!M){return false;
}var O=M.constructor;

while(O){if(O.classname===N){return true;
}O=O.superclass;
}return false;
}}});
})();
(function(){var w='',u='"',t=':',s=']',r='null',q=': ',p='object',o='function',m=',',l='\n',bg='\\u',bf=',\n',be='0000',bd='string',bc="Cannot stringify a recursive object.",bb='0',ba='-',Y='}',X='String',W='Boolean',D='\\\\',E='\\f',B='\\t',C='{\n',z='[]',A="qx.lang.JsonImpl",x='Z',y='\\n',F='Object',G='{}',N='@',L='.',Q='(',P='Array',S='T',R='\\r',I='{',V='JSON.parse',U=' ',T='[',H='Number',J=')',K='[\n',M='\\"',O='\\b';
qx.Class.define(A,{extend:Object,construct:function(){this.stringify=qx.lang.Function.bind(this.stringify,this);
this.parse=qx.lang.Function.bind(this.parse,this);
},members:{__qX:null,__qY:null,__ra:null,__rb:null,stringify:function(b,d,e){this.__qX=w;
this.__qY=w;
this.__rb=[];

if(qx.lang.Type.isNumber(e)){var e=Math.min(10,Math.floor(e));

for(var i=0;i<e;i+=1){this.__qY+=U;
}}else if(qx.lang.Type.isString(e)){if(e.length>10){e=e.slice(0,10);
}this.__qY=e;
}if(d&&(qx.lang.Type.isFunction(d)||qx.lang.Type.isArray(d))){this.__ra=d;
}else{this.__ra=null;
}return this.__rc(w,{'':b});
},__rc:function(bp,bq){var bt=this.__qX,br,bu=bq[bp];
if(bu&&qx.lang.Type.isFunction(bu.toJSON)){bu=bu.toJSON(bp);
}else if(qx.lang.Type.isDate(bu)){bu=this.dateToJSON(bu);
}if(typeof this.__ra===o){bu=this.__ra.call(bq,bp,bu);
}
if(bu===null){return r;
}
if(bu===undefined){return undefined;
}switch(qx.lang.Type.getClass(bu)){case X:return this.__rd(bu);
case H:return isFinite(bu)?String(bu):r;
case W:return String(bu);
case P:this.__qX+=this.__qY;
br=[];

if(this.__rb.indexOf(bu)!==-1){throw new TypeError(bc);
}this.__rb.push(bu);
var length=bu.length;

for(var i=0;i<length;i+=1){br[i]=this.__rc(i,bu)||r;
}this.__rb.pop();
if(br.length===0){var bs=z;
}else if(this.__qX){bs=K+this.__qX+br.join(bf+this.__qX)+l+bt+s;
}else{bs=T+br.join(m)+s;
}this.__qX=bt;
return bs;
case F:this.__qX+=this.__qY;
br=[];

if(this.__rb.indexOf(bu)!==-1){throw new TypeError(bc);
}this.__rb.push(bu);
if(this.__ra&&typeof this.__ra===p){var length=this.__ra.length;

for(var i=0;i<length;i+=1){var k=this.__ra[i];

if(typeof k===bd){var v=this.__rc(k,bu);

if(v){br.push(this.__rd(k)+(this.__qX?q:t)+v);
}}}}else{for(var k in bu){if(Object.hasOwnProperty.call(bu,k)){var v=this.__rc(k,bu);

if(v){br.push(this.__rd(k)+(this.__qX?q:t)+v);
}}}}this.__rb.pop();
if(br.length===0){var bs=G;
}else if(this.__qX){bs=C+this.__qX+br.join(bf+this.__qX)+l+bt+Y;
}else{bs=I+br.join(m)+Y;
}this.__qX=bt;
return bs;
}},dateToJSON:function(bh){var bi=function(n){return n<10?bb+n:n;
};
var bj=function(n){var bo=bi(n);
return n<100?bb+bo:bo;
};
return isFinite(bh.valueOf())?bh.getUTCFullYear()+ba+bi(bh.getUTCMonth()+1)+ba+bi(bh.getUTCDate())+S+bi(bh.getUTCHours())+t+bi(bh.getUTCMinutes())+t+bi(bh.getUTCSeconds())+L+bj(bh.getUTCMilliseconds())+x:null;
},__rd:function(f){var g={'\b':O,'\t':B,'\n':y,'\f':E,'\r':R,'"':M,'\\':D};
var h=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
h.lastIndex=0;

if(h.test(f)){return u+
f.replace(h,function(a){var c=g[a];
return typeof c===bd?c:bg+(be+a.charCodeAt(0).toString(16)).slice(-4);
})+u;
}else{return u+f+u;
}},parse:function(bv,bw){var bx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
bx.lastIndex=0;
if(bx.test(bv)){bv=bv.replace(bx,function(a){return bg+(be+a.charCodeAt(0).toString(16)).slice(-4);
});
}if(/^[\],:{}\s]*$/.test(bv.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,N).replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,s).replace(/(?:^|:|,)(?:\s*\[)+/g,w))){var j=eval(Q+bv+J);
return typeof bw===o?this.__re({'':j},w,bw):j;
}throw new SyntaxError(V);
},__re:function(bk,bl,bm){var bn=bk[bl];

if(bn&&typeof bn===p){for(var k in bn){if(Object.hasOwnProperty.call(bn,k)){var v=this.__re(bn,k,bm);

if(v!==undefined){bn[k]=v;
}else{delete bn[k];
}}}}return bm.call(bk,bl,bn);
}}});
})();
(function(){var a="qx.lang.Json";
qx.Class.define(a,{statics:{JSON:(qx.lang.Type.getClass(window.JSON)=="JSON"&&JSON.parse('{"x":1}').x===1)?window.JSON:new qx.lang.JsonImpl(),stringify:null,parse:null},defer:function(b){b.stringify=b.JSON.stringify;
b.parse=b.JSON.parse;
}});
})();
(function(){var J="",I="==",H=">",G="between",F="<",E="regex",D="!between",C=">=",B="!=",A="<=",u="font-weight",z=";",x="text-align",t='g',s=":",w="qx.ui.table.cellrenderer.Conditional",v="color",y="font-style";
qx.Class.define(w,{extend:qx.ui.table.cellrenderer.Default,construct:function(M,N,O,P){qx.ui.table.cellrenderer.Default.call(this);
this.numericAllowed=[I,B,H,F,C,A];
this.betweenAllowed=[G,D];
this.conditions=[];
this.__rf=M||J;
this.__rg=N||J;
this.__rh=O||J;
this.__ri=P||J;
},members:{__rf:null,__rg:null,__rh:null,__ri:null,__rj:function(K,L){if(K[1]!=null){L[x]=K[1];
}
if(K[2]!=null){L[v]=K[2];
}
if(K[3]!=null){L[y]=K[3];
}
if(K[4]!=null){L[u]=K[4];
}},addNumericCondition:function(a,b,c,d,e,f,g){var h=null;

if(qx.lang.Array.contains(this.numericAllowed,a)){if(b!=null){h=[a,c,d,e,f,b,g];
}}
if(h!=null){this.conditions.push(h);
}else{throw new Error("Condition not recognized or value is null!");
}},addBetweenCondition:function(j,k,l,m,n,o,p,q){if(qx.lang.Array.contains(this.betweenAllowed,j)){if(k!=null&&l!=null){var r=[j,m,n,o,p,k,l,q];
}}
if(r!=null){this.conditions.push(r);
}else{throw new Error("Condition not recognized or value1/value2 is null!");
}},addRegex:function(Q,R,S,T,U,V){if(Q!=null){var W=[E,R,S,T,U,Q,V];
}
if(W!=null){this.conditions.push(W);
}else{throw new Error("regex cannot be null!");
}},_getCellStyle:function(X){if(!this.conditions.length){return X.style||J;
}var bd=X.table.getTableModel();
var i;
var bf;
var Y;
var bb={"text-align":this.__rf,"color":this.__rg,"font-style":this.__rh,"font-weight":this.__ri};

for(i in this.conditions){bf=false;

if(qx.lang.Array.contains(this.numericAllowed,this.conditions[i][0])){if(this.conditions[i][6]==null){Y=X.value;
}else{Y=bd.getValueById(this.conditions[i][6],X.row);
}
switch(this.conditions[i][0]){case I:if(Y==this.conditions[i][5]){bf=true;
}break;
case B:if(Y!=this.conditions[i][5]){bf=true;
}break;
case H:if(Y>this.conditions[i][5]){bf=true;
}break;
case F:if(Y<this.conditions[i][5]){bf=true;
}break;
case C:if(Y>=this.conditions[i][5]){bf=true;
}break;
case A:if(Y<=this.conditions[i][5]){bf=true;
}break;
}}else if(qx.lang.Array.contains(this.betweenAllowed,this.conditions[i][0])){if(this.conditions[i][7]==null){Y=X.value;
}else{Y=bd.getValueById(this.conditions[i][7],X.row);
}
switch(this.conditions[i][0]){case G:if(Y>=this.conditions[i][5]&&Y<=this.conditions[i][6]){bf=true;
}break;
case D:if(Y<this.conditions[i][5]&&Y>this.conditions[i][6]){bf=true;
}break;
}}else if(this.conditions[i][0]==E){if(this.conditions[i][6]==null){Y=X.value;
}else{Y=bd.getValueById(this.conditions[i][6],X.row);
}var ba=new RegExp(this.conditions[i][5],t);
bf=ba.test(Y);
}if(bf==true){this.__rj(this.conditions[i],bb);
}}var be=[];

for(var bc in bb){if(bb[bc]){be.push(bc,s,bb[bc],z);
}}return be.join(J);
}},destruct:function(){this.numericAllowed=this.betweenAllowed=this.conditions=null;
}});
})();
(function(){var c="qooxdoo-table-cell",b="qx.ui.table.cellrenderer.Html",a="";
qx.Class.define(b,{extend:qx.ui.table.cellrenderer.Conditional,members:{_getContentHtml:function(d){return (d.value||a);
},_getCellClass:function(e){return c;
}}});
})();
(function(){var k="track.geofence.GeofenceWindow",j="Manage geofence definitions",i="close",h="window title",g="16/rules/geofence.png";
var d=275;
var f=5;
qx.Class.define(k,{extend:qx.ui.window.Window,construct:function(c){qx.ui.window.Window.call(this);
this.trackGui=c;
this.setLayout(new qx.ui.layout.VBox());
this.setContentPadding(2);
this.setCaption(this.trc(h,j));
this.setIcon(xbGetIcon(g));
this.addListener(i,function(e){this.clear();
},this);
},members:{getGeofenceWindowTop:function(){return d;
},getGeofenceWindowLeft:function(){return f;
},createGeofenceWindow:function(){var a=new qx.ui.tabview.TabView();
a.setMinWidth(200);
a.setMinHeight(200);
this.manageGeofenceTab=new track.geofence.ManageGeofenceTab(this);
this.manageGeofenceTab.createTab(a);
var b=false;

if(b){this.assignGeofenceTab=new track.geofence.AssignGeofenceTab(this);
this.assignGeofenceTab.createTab(a,false);
}this.add(a);
this.trackGui.getMyRoot().add(this,{left:this.getGeofenceWindowLeft(),top:this.getGeofenceWindowTop()});
this.open();
},clear:function(){if(this.manageGeofenceTab!=null)this.manageGeofenceTab.clear();
},destroyPopup:function(){this.clear();
this.trackGui.getMyRoot().remove(this);
this.close();
this.trackGui=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var Q="",P="input info",O="geofenceTO",N="button",M="execute",L="</pc>",K="addGeofences",J="<pr k='__class'>Geofence</pr>",I="left",H="<pc>",by=",",bx="<pr k='coordinates'>9.0,40.3,500 9.1,40.2,500</pr>",bw="Geofence details",bv="Geofence name:",bu="<b>Save</b>",bt="Choose Geofence:",bs="16/actions/dialog-ok.png",br="right",bq="<New Geofence>",bp="<b>Delete Geofence</b>",X="track.geofence.ManageGeofenceTab",Y="<pcc>",V="middle",W="tab title",T="</pcc>",U="groupbox title",R="NEW_INSTANCE",S="changeSelection",ba="Manage",bb="stockade123456 ",bh="errorMsg",bg="TK102/TK2000 SMS command:",bj="Please enter geofence name",bi="<pr k='name'>Geofence Company</pr>",bl="GeofenceName",bk="<pr k='coordinates'>9.0,40.1,500 9.1,40.0,500</pr>",bd="<pr k='name'>Geofence Home</pr>",bo="Bottom right (Long,Lat):",bn="22/rules/geofenceManage.png",bm="Upper Left (Long,Lat):",bc=" ",be="22/places/user-trash.png",bf=";";
qx.Class.define(X,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bG){qx.core.Object.call(this);
this.geofenceWindow=bG;
this.trackGui=this.geofenceWindow.trackGui;
this.programmaticSetSelected=false;
this.currentGeofenceTO=null;
this.geofenceDrawer=null;
this.listItemNew=null;
this.tk102CoomandTextField=null;
},members:{createTab:function(bz){this.tabviewPage=new qx.ui.tabview.Page(this.trc(W,ba),xbGetIcon(bn));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
bz.add(this.tabviewPage);
this.tabviewPage.add(this.__ru());
this.addGeofencesEventFunc=this.trackGui.watchee.getEventManager().addListener(K,function(bR){var bS=bR.getData();
this.info("ManageGeofenceTab: Received addGeofences event");
this.__rt(new track.rulesmodel.GeofencesTO(this.trackGui,bS));
},this);
this.trackGui.getGeofences(null);
},test:function(){var a=Y+H+J+bi+bk+L+H+J+bd+bx+L+T;
var b=net.watchee.PropertyCollections.parseXml(a);
return this.__ru(new track.rulesmodel.GeofencesTO(this.trackGui,b));
},__rk:function(bP,bQ){this.programmaticSetSelected=true;
bP.add(bQ);
this.programmaticSetSelected=false;
},__rl:function(p,q,r,s){var t=bb+p+by+q+bf+r+by+s+Q;
return t;
},__rm:function(c){var f=c.getCoordinate(0);
var d=c.getCoordinate(1);
return this.__rl(f.getLngEW(),f.getLatNS(),d.getLngEW(),d.getLatNS());
},__rn:function(bM){this.__ro();

if(bM==null){this.currentGeofenceTO=new track.rulesmodel.GeofenceTO(this.trackGui);
this.geofenceNameTextField.setEnabled(true);
this.geofenceNameTextField.setValue(Q);
this.coordinate1TextField.setValue(Q);
this.coordinate2TextField.setValue(Q);
this.tk102CoomandTextField.setValue(Q);
this.__rp(null);
}else{this.currentGeofenceTO=bM;
this.geofenceNameTextField.setEnabled(false);
this.geofenceNameTextField.setValue(this.currentGeofenceTO.getName());
var bO=this.currentGeofenceTO.getCoordinates();

if(bO.size()>0)this.coordinate1TextField.setValue(bO.getCoordinate(0).toKmlLngLatStr());

if(bO.size()>1){this.coordinate2TextField.setValue(bO.getCoordinate(1).toKmlLngLatStr());
var bN=this.__rm(bO);
this.tk102CoomandTextField.setValue(bN);
}this.__rp(bO);
}return this.currentGeofenceTO;
},geofenceDrawEvent:function(g,h){this.geofenceDrawer=g;
this.coordinate1TextField.setValue(g.getKmlNW());
this.coordinate2TextField.setValue(g.getKmlSE());
var k=net.watchee.Coordinates.parseKmlStr(g.getKmlNW()+bc+g.getKmlSE());
var j=this.__rm(k);
this.tk102CoomandTextField.setValue(j);
},__ro:function(){if(this.geofenceDrawer!=null){this.geofenceDrawer.clearAll();
this.geofenceDrawer=null;
}},__rp:function(bK){var bK=bK||null;
this.__ro();
var bL=null;
this.geofenceDrawer=this.trackGui.watchee.getMapManager().createGeofenceDrawer(this.geofenceDrawEvent,this,bL);
this.geofenceDrawer.draw(bK);
},__rq:function(B){var E=null;
var D=null;

if(B==null){E=this.trc(bl,bq);
D=R;
}else{E=B.getName();
D=E;
}var C=this.__rs(E);

if(C!=null)return C;
C=new qx.ui.form.ListItem(E,null,D);
C.setUserData(O,B);
this.__rk(this.geofenceNameSelectBox,C);
return C;
},__rr:function(m){var n=this.__rs(m);

if(n!=null){this.geofenceNameSelectBox.remove(n);
return n;
}return null;
},__rs:function(bT){if(bT==null)return null;
var bU=this.geofenceNameSelectBox.getChildren();

for(var i=0,l=bU.length;i<l;i++){var bV=bU[i];

if(bT==bV.getModel())return bV;
}return null;
},__rt:function(F){var F=F||null;
this.geofenceNameSelectBox.removeAll();
this.listItemNew=this.__rq(null);

if(F==null)return;
var G=F.getGeofences();

for(var i=0,l=G.length;i<l;i++){this.__rq(G[i]);
}},__ru:function(u){var u=u||null;
var x=new qx.ui.groupbox.GroupBox(this.trc(U,bw));
var v=new qx.ui.layout.Grid(6,4);
x.setLayout(v);
v.setRowAlign(0,I,V);
var A=0;
this.geofenceNameSelectBox=new qx.ui.form.SelectBox();
var z=new qx.ui.basic.Label(this.trc(P,bt));
x.add(z,{row:A,column:0});
x.add(this.geofenceNameSelectBox,{row:A,column:1});
this.__rt(u);
this.geofenceNameSelectBox.addListener(S,function(e){if(this.programmaticSetSelected)return ;
var o=(e.getData().length==0)?null:e.getData()[0];
if(o==null)return ;

if(this.listItemNew==o)this.__rn(null);
else this.__rn(o.getUserData(O));
},this);
A++;
this.geofenceNameTextField=new qx.ui.form.TextField(Q);
var z=new qx.ui.basic.Label(this.trc(P,bv));
x.add(z,{row:A,column:0});
x.add(this.geofenceNameTextField,{row:A,column:1});
this.geofenceNameTextField.setEnabled(false);
A++;
this.coordinate1TextField=new qx.ui.form.TextField(Q);
var z=new qx.ui.basic.Label(this.trc(P,bm));
x.add(z,{row:A,column:0});
x.add(this.coordinate1TextField,{row:A,column:1});
this.coordinate1TextField.setEnabled(false);
A++;
this.coordinate2TextField=new qx.ui.form.TextField(Q);
var z=new qx.ui.basic.Label(this.trc(P,bo));
x.add(z,{row:A,column:0});
x.add(this.coordinate2TextField,{row:A,column:1});
this.coordinate2TextField.setEnabled(false);
A++;
this.tk102CoomandTextField=new qx.ui.form.TextField(Q);
var z=new qx.ui.basic.Label(this.trc(P,bg));
x.add(z,{row:A,column:0});
x.add(this.tk102CoomandTextField,{row:A,column:1});
this.tk102CoomandTextField.setEnabled(true);
A++;
var w=new qx.ui.form.Button(this.trc(N,bp),xbGetQxIcon(be));

with(w){setWidth(160);
setAlignX(I);
setRich(true);
}x.add(w,{row:A,column:0});
w.addListener(M,function(e){if(this.trackGui.watchee==null)return;
var bI=this.currentGeofenceTO;
var bH=this.geofenceNameSelectBox.getSelection()[0];
var bJ=(this.listItemNew==bH);

if(bJ){this.__rn(null);
return;
}this.trackGui.sendRemoveGeofence(bI);
this.__rr(bI.getName());
this.__rv();
},this);
var y=new qx.ui.form.Button(this.trc(N,bu),xbGetQxIcon(bs));

with(y){setWidth(160);
setAlignX(br);
setRich(true);
}x.add(y,{row:A,column:1});
y.addListener(M,function(e){if(this.trackGui.watchee==null)return;
var bD=this.geofenceNameSelectBox.getSelection()[0];
var bA=(this.listItemNew==bD);

if(bA){var name=this.geofenceNameTextField.getValue();

if(name==null||name.length<2){this.trackGui.errorMsgBox(this.trc(bh,bj));
return;
}this.currentGeofenceTO.setName(name);
}var bC=this.currentGeofenceTO.getKmlStr();
var bB=(this.geofenceDrawer!=null)?this.geofenceDrawer.getKmlStr():null;
this.info("Saving oldKml="+bC+" newKml="+bB);

if(bB==null){return;
}var bF=(bC!=bB);

if(bF){this.currentGeofenceTO.setCoordinatesKmlStr(bB);

if(bA){this.trackGui.sendAddGeofence(this.currentGeofenceTO);
this.__rv();
}else{this.trackGui.sendAddGeofence(this.currentGeofenceTO);
}}
if(bA){var bE=this.__rq(this.currentGeofenceTO);
this.geofenceNameSelectBox.setSelection([bE]);
}},this);
this.listItemNew.setUserData(O,this.__rn(null));
return x;
},__rv:function(){if(this.trackGui.watchee!=null)this.trackGui.getGeofences(this.trackGui.watchee.getLoginName());
},clear:function(){this.__ro();
}},destruct:function(){if(this.addGeofencesEventFunc!=null&&this.trackGui.watchee!=null)this.trackGui.watchee.getEventManager().removeListener(K,this.addGeofencesEventFunc);
this.addGeofencesEventFunc=null;
this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var e="22/geofenceAssign.png",d="track.geofence.AssignGeofenceTab",c="Assign",b="tab title";
qx.Class.define(d,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(a){qx.core.Object.call(this);
this.geofenceWindow=a;
this.trackGui=this.geofenceWindow.trackGui;
},members:{createTab:function(f){this.tabviewPage=new qx.ui.tabview.Page(this.trc(b,c),xbGetIcon(e));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
f.add(this.tabviewPage);

if(this.trackGui.watchee==null)return;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var x="confirmAlarms",w="alarmChanged",v="addAlarms",u="updateFriendOf",t="infoMsgBox",s="No permission to view alarms of %1",r="Alarm Event Handling",q="16/alarm/alarm.png",p="<b><font color='red'>Only the newest and uncomfirmed %1 results are shown</font></b>",o="window title",k="close",n="track.alarm.AlarmWindow",m="statusAtom";
var j=40;
var l=20;
qx.Class.define(n,{extend:qx.ui.window.Window,construct:function(y,z){qx.ui.window.Window.call(this);
this.trackGui=y;
this.buddyTO=z;
this.defaultGroupBoxContentPadding=8;
this.alarmEventTableGroup=new track.alarm.AlarmEventTableGroup(this.trackGui,this);
this.alarmManageGroup=new track.alarm.AlarmManageGroup(this.trackGui,this);
this.autoConfirmGroup=new track.alarm.AutoConfirmGroup(this.trackGui,this);
this.guiGroups=new Array(this.alarmEventTableGroup,this.alarmManageGroup,this.autoConfirmGroup);
this.defaultBoxSpacing=5;
this.statusAtom=null;
this.setLayout(new qx.ui.layout.VBox(this.defaultBoxSpacing));
this.setCaption(this.trc(o,r));
this.setIcon(xbGetIcon(q));
this.addListener(k,function(e){},this);
},members:{getAlarmWindowTop:function(){if(j>200)j=100;
j+=25;
return j;
},getAlarmWindowLeft:function(){if(l>350)l=250;
l+=25;
return l;
},onPreOpen:function(){return this.requestAlarmsFromServer();
},getBuddyTO:function(){return this.buddyTO;
},getDevice:function(){return this.buddyTO.getDevice();
},statusAtomShow:function(A){this.statusAtomRemove();
this.statusAtom=new qx.ui.basic.Atom(null);
this.statusAtom.setEnabled(true);
this.statusAtom.setRich(true);
this.statusAtom.setLabel(A);
this.addAt(this.statusAtom,0);
},statusAtomRemove:function(){if(this.statusAtom!=null){this.remove(this.statusAtom);
this.statusAtom=null;
}},createAlarmWindow:function(){this.moveTo(this.getAlarmWindowLeft(),this.getAlarmWindowTop());
this.add(this.alarmEventTableGroup.createGroup(this.defaultGroupBoxContentPadding),{left:0,top:0});
this.add(this.alarmManageGroup.createGroup(this.defaultGroupBoxContentPadding),{left:0,top:0});
this.add(this.autoConfirmGroup.createGroup(this.defaultGroupBoxContentPadding),{left:0,top:0});
this.open();
this.alarmChangedEventFunc=this.trackGui.watchee.getEventManager().addListener(w,function(f){var g=f.getData().device;

if(this.getDevice().getDeviceId()!=g.getDeviceId()){return;
}var h=f.getData().alarmTO;
this.info("AlarmWindow: Received alarmChanged event "+h.getRuleTypeId()+" for "+g.getDeviceId());

if(this.getDevice().getDeviceId()==g.getDeviceId())this.alarmEventTableGroup.addAlarm(h,true);
},this);
this.confirmAlarmsEventFunc=this.trackGui.watchee.getEventManager().addListener(x,function(B){var D=B.getData().loginName;

if(this.getDevice().getDeviceId()!=D){return ;
}var C=B.getData().alarmTOArr;

if(C!=null)this.info("AlarmWindow: Received confirmAlarms event for "+D+", count="+C.length);
else this.info("AlarmWindow: Received confirmAlarms event for all alarms from "+D);
},this);
this.addAlarmsEventFunc=this.trackGui.watchee.getEventManager().addListener(v,function(a){var b=a.getData().pcc;
var d=a.getData().hasMore;
var c=a.getData().loginName;

if(this.getDevice().getDeviceId()!=c){return ;
}this.info("AlarmWindow: Received "+b.size()+"addAlarms event, hasMore="+d);

if(d){this.statusAtomShow(this.trc(m,p,b.size()));
}else{this.statusAtomRemove();
}this.alarmEventTableGroup.addAlarms(new track.rulesmodel.AlarmsTO(this.trackGui,b));
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(u,function(i){if(this.buddyTO==null||i==null||i.getData()==null||i.getData().buddyTO==null||this.buddyTO.getLoginName()!=i.getData().buddyTO.getLoginName())return;
this.info("AlarmWindow: Received 'updateFriendOf' event for "+this.buddyTO.getLoginName());

if(this.alarmEventTableGroup!=null){this.alarmEventTableGroup.enforcePermission();
}
if(this.alarmManageGroup!=null){this.alarmManageGroup.enforcePermission();
}
if(this.autoConfirmGroup!=null){this.autoConfirmGroup.enforcePermission();
}},this);
},requestAlarmsFromServer:function(){if(this.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM)){this.trackGui.getAlarms(this.getBuddyTO().getLoginName());
return true;
}else{this.trackGui.infoMsgBox(this.trc(t,s,this.getBuddyTO().getLoginName()));
return this.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);
}},clear:function(){if(this.trackGui.watchee==null)return;

if(this.alarmChangedEventFunc!=null){this.trackGui.watchee.getEventManager().removeListener(w,this.alarmChangedEventFunc);
this.alarmChangedEventFunc=null;
}
if(this.confirmAlarmsEventFunc!=null){this.trackGui.watchee.getEventManager().removeListener(x,this.confirmAlarmsEventFunc);
this.confirmAlarmsEventFunc=null;
}
if(this.addAlarmsEventFunc!=null){this.trackGui.watchee.getEventManager().removeListener(v,this.addAlarmsEventFunc);
this.addAlarmsEventFunc=null;
}
if(this.updateFriendOfListenerFunc!=null){this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(u,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;
}this.alarmEventTableGroup.clear();
this.alarmManageGroup.clear();
this.autoConfirmGroup.clear();
},destroyPopup:function(){this.clear();
this.trackGui.getMyRoot().remove(this);
this.close();
this.trackGui=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var m="tableHeader",k="info box",j="/alarm/alarmShowRuleWindow.png",h="/alarm/alarmConfirm.png",g="middle",f="",d="Received at",c="Alarm Events of %1",b="#FF0000",a="No position found to display on map",C="Map",B="Take care",A="icon/16/apps/office-calendar.png",z="Comment",y="No permission to see alarms of %1",x="Confirm",w="track.alarm.AlarmEventTableGroup",v="Date",u="No matching rule found",t="Type",r="Info",s="tooltip",p="cellClick",q="2009-07-01",n="groupbox title",o="undefined";
qx.Class.define(w,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bM,bN){qx.core.Object.call(this);
this.trackGui=bM;
this.alarmWindow=bN;
this.groupBox=null;
this.alarmEventTable=null;
this.tableQX=null;
this.tableModel=null;
var bO=0;
this.COLUMN_CONFIRM_BUTTON=bO++;
this.COLUMN_SHOWING_RULE_WINDOW=bO++;
this.COLUMN_SHOWING_ON_MAP=bO++;
this.COLUMN_RULE_TYPE=bO++;
this.COLUMN_DATE=bO++;
this.COLUMN_INFO=bO++;
this.NUM_COLUMN=bO;
this.ICON_WIDTH=16;
this.lastSortCol=this.COLUMN_DATE;
this.lastSortAsc=false;
this.columnWidth=[];
this.columnWidth[this.COLUMN_CONFIRM_BUTTON]=this.ICON_WIDTH;
this.columnWidth[this.COLUMN_SHOWING_RULE_WINDOW]=this.ICON_WIDTH;
this.columnWidth[this.COLUMN_SHOWING_ON_MAP]=this.ICON_WIDTH;
this.columnWidth[this.COLUMN_RULE_TYPE]=120;
this.columnWidth[this.COLUMN_DATE]=120;
this.columnWidth[this.COLUMN_INFO]=320;
this.RESPONSE_TIMEOUT_SEC=120;
},members:{getDevice:function(){return this.alarmWindow.getDevice();
},createGroup:function(W){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(n,c,this.getDevice().getNiceName()));
var X=new qx.ui.layout.VBox(0);
this.groupBox.setLayout(X);
this.groupBox.setContentPadding(W||12);
this.groupBox.add(this.__rw(),{left:0,top:0});
return this.groupBox;
},__rw:function(){var F=this.columnWidth[this.COLUMN_CONFIRM_BUTTON];
this.tableModel=new qx.ui.table.model.Simple();
this.tableModel.setColumns([this.trc(m,x),this.trc(m,r),this.trc(m,C),this.trc(m,t),this.trc(m,d),this.trc(m,z)]);
this.tableModel.setColumnEditable(this.COLUMN_CONFIRM_BUTTON,true);
this.tableModel.setColumnSortable(this.COLUMN_CONFIRM_BUTTON,true);
var I=new qx.ui.table.Table(this.tableModel);
this.tableQX=I;
I.set({width:600,height:280,decorator:null});
var J=2;
var E=8;
I.setRowHeight(F+J);
I.setPadding(0);
I.setMargin(0);
I.setAlignY(g);
I.setForceLineHeight(true);
I.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.MULTIPLE_INTERVAL_SELECTION);
var H=I.getTableColumnModel();

for(var i=0,l=this.columnWidth.length;i<l;i++)H.setColumnWidth(i,this.columnWidth[i]+E);
H.setHeaderCellRenderer(this.COLUMN_DATE,new qx.ui.table.headerrenderer.Icon(A,v));
var G=this.columnWidth[this.COLUMN_CONFIRM_BUTTON];
H.setDataCellRenderer(this.COLUMN_CONFIRM_BUTTON,new qx.ui.table.cellrenderer.Image(G,F));
this.ruleImageRenderer=new qx.ui.table.cellrenderer.Image(G,F);
H.setDataCellRenderer(this.COLUMN_SHOWING_RULE_WINDOW,this.ruleImageRenderer);
H.setDataCellRenderer(this.COLUMN_SHOWING_ON_MAP,new qx.ui.table.cellrenderer.Image(G,F));
var D=H.getDataCellRenderer(this.COLUMN_RULE_TYPE);
H.setDataCellRenderer(this.COLUMN_INFO,new qx.ui.table.cellrenderer.String(g,b));
this.doDefaultSorting();
I.addListener(p,this.cellEventClicked,this);
this.enforcePermission();
return I;
},hasPermission:function(){var V=this.alarmWindow.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM);
return V;
},enforcePermission:function(){var bp=this.hasPermission();

if(bp){this.tableQX.setToolTipText(null);
}else{this.resetData();
this.tableQX.setToolTipText(this.trc(s,y,this.alarmWindow.getBuddyTO().getLoginName()));
}},doDefaultSorting:function(P,Q){var P=P||this.lastSortCol;

if(Q===undefined)Q=this.lastSortAsc;
this.tableModel.sortByColumn(P,Q);
this.tableQX.updateAppearance();
},getAlarmTO:function(Y){var bb=this.tableModel.getRowData(Y);
bb=bb||null;

if(bb==null)return;
var ba=bb[this.COLUMN_RULE_TYPE];

if(typeof ba.alarmTO!=o){var bc=ba.alarmTO;

if(bc!=null){return bc;
}}this.error("AlarmEventTable.js: Can't determine alarmTO");
return null;
},cellEventClicked:function(e){var bE=e.getRow();
var bD=e.getColumn();
var by=this.getAlarmTO(bE);

if(by==null)return;
if(bD==this.COLUMN_CONFIRM_BUTTON){this.tableQX.getSelectionModel().setSelectionInterval(bE,bE);
this.confirmSelection();
}else if(bD==this.COLUMN_SHOWING_RULE_WINDOW){var bB=by.getDeviceId();

if(bB==null||bB==f)return;
var bC=this.trackGui.watchee.getDevice(bB);

if(bC==null)return;
var bz=this.trackGui.getWindowManager().popupRulesWindow(bC,by.getRuleTypeEnum(),by.getRuleName(),by,false);

if(bz==null){this.trackGui.infoMsgBox(this.trc(k,u),10000);
}}else if(bD==this.COLUMN_SHOWING_ON_MAP){var bB=by.getDeviceId();

if(bB==null||bB==f)return;
var bC=this.trackGui.watchee.getDevice(bB);

if(bC==null)return;
var bA=by.getGpsData();

if(bA!=null&&bC!=null&&this.trackGui.watchee!=null){if(bC.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){this.trackGui.watchee.getMapManager().showAndCenterLocationByDevice(bC,bA);
return ;
}}this.trackGui.infoMsgBox(this.trc(k,a),10000);
}},resetData:function(){var br=[[]];
this.info("resetData");

if(this.tableModel!=null){var bq=this.tableModel.getRowCount();
this.tableModel.removeRows(0,bq);
}},lookupAlarmById:function(R){var U=this.tableModel.getData();

for(var i=0,l=U.length;i<l;i++){var T=this.getAlarmTO(i);

if(T!=null&&T.getAlarmId()==R){var S={row:i,alarmTO:T};
return S;
}}return null;
},addAlarm:function(K,L){if(!this.hasPermission())return;
var K=K||null;
var L=L||false;

if(K==null)return;
var N=this.__rx(K);
var M=this.lookupAlarmById(K.getAlarmId());

if(M!=null){this.tableModel.removeRows(M.row,1);
}var O=[];
O.push(N);
this.info("addAlarm: Pushing table rawData="+O);
this.tableModel.addRows(O);

if(L){this.doDefaultSorting();
}},addAlarms:function(bF){if(!this.hasPermission())return;
var bF=bF||null;
this.resetData();

if(bF==null)return;
var bI=bF.getAlarms();
var bH=[];

for(var i=0,l=bI.length;i<l;i++){var bG=bI[i];
var bJ=this.__rx(bG);
bH.push(bJ);
}this.tableModel.addRows(bH);
this.doDefaultSorting();
},confirmSelection:function(){if(!this.hasPermission())return;
var bg=[];
var be=[];
var bf=this.getDevice().getCountAlarms();
this.tableQX.getSelectionModel().iterateSelection(function(bK){var bL=this.getAlarmTO(bK);

if(bL==null)return;
bg.push(bL);
be.push(bK);
},this);

if(bg.length==0){return ;
}this.trackGui.confirmAlarms(this.alarmWindow.getBuddyTO().getLoginName(),bg);
be.sort();

for(var i=be.length-1;i>=0;i--)this.tableModel.removeRows(be[i],1);
var bd=bf-be.length;
this.trackGui.watchee.getRuleManager().fireCountAlarms(this.getDevice().getDeviceId(),bd);
},confirmAll:function(){if(!this.hasPermission())return;
var bi=null;
this.trackGui.confirmAlarms(this.alarmWindow.getBuddyTO().getLoginName(),bi);
this.resetData();
var bh=0;
this.trackGui.watchee.getRuleManager().fireCountAlarms(this.getDevice().getDeviceId(),bh);
},__rx:function(bj){var bk=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+h));
var bl=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+j));
var bo=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(this.getDevice().getShowingOnMapIcon(this.ICON_WIDTH));
var bm=new String(bj.getRuleTypeId());
bm.alarmTO=bj;
var bn=[bk,bl,bo,bm,bj.getCreationTsNice(),bj.getNiceNameInfo()];
return bn;
},addTestData:function(){var bs=new track.rulesmodel.AlarmTO(this.trackGui);
bs.setRuleTypeEnum(net.watchee.RuleTypeEnum.GEOFENCE_LEAVE);
var bv=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+h));
var bw=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+j));
var bu=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(this.getDevice().getShowingOnMapIcon(this.ICON_WIDTH));
var bx=[bv,bw,bu,net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.getId(),q,B];
var bt=[];
bt.push(bx);
this.info("testAlarm: Pushing table rawData="+bt);
this.tableModel.setData(bt);
},clear:function(){this.resetData();
}},destruct:function(){if(this.tableModel!=null){this.tableModel.dispose();
this.tableModel=null;
}}});
})();
(function(){var e="",d="qx.ui.table.headerrenderer.Icon",c="String";
qx.Class.define(d,{extend:qx.ui.table.headerrenderer.Default,construct:function(a,b){qx.ui.table.headerrenderer.Default.call(this);

if(a==null){a=e;
}this.setIconUrl(a);

if(b){this.setToolTip(b);
}},properties:{iconUrl:{check:c,init:e}},members:{updateHeaderCell:function(f,g){qx.ui.table.headerrenderer.Default.prototype.updateHeaderCell.call(this,f,g);
g.setIcon(this.getIconUrl());
}}});
})();
(function(){var x="px",w=".qooxdoo-table-cell-icon {",v="abstract",u="",t="qx.ui.table.cellrenderer.AbstractImage",s=" qooxdoo-table-cell-icon",r="<div></div>",q="'",p="no-repeat",o="}",i="  text-align:center;",n="inline-block",l="static",h="top",g="  padding-top:1px;",k="title='",j="string",m="-moz-inline-box";
qx.Class.define(t,{extend:qx.ui.table.cellrenderer.Abstract,type:v,construct:function(){qx.ui.table.cellrenderer.Abstract.call(this);
var f=this.self(arguments);

if(!f.stylesheet){f.stylesheet=qx.bom.Stylesheet.createElement(w+i+g+o);
}},members:{__ry:16,__rz:16,_insetY:2,__rA:null,_identifyImage:function(b){throw new Error("_identifyImage is abstract");
},_getImageInfos:function(c){var d=this._identifyImage(c);
if(d==null||typeof c==j){d={url:d,tooltip:null};
}
if(c.width&&c.height){var e={width:c.imageWidth,height:c.imageHeight};
}else{e=this.__rB(d.url);
}d.width=e.width;
d.height=e.height;
return d;
},__rB:function(C){var F=qx.util.ResourceManager.getInstance();
var E=qx.io.ImageLoader;
var D,G;
if(F.has(C)){D=F.getImageWidth(C);
G=F.getImageHeight(C);
}else if(E.isLoaded(C)){D=E.getWidth(C);
G=E.getHeight(C);
}else{D=this.__ry;
G=this.__rz;
}return {width:D,height:G};
},createDataCellHtml:function(A,B){this.__rA=this._getImageInfos(A);
return qx.ui.table.cellrenderer.Abstract.prototype.createDataCellHtml.call(this,A,B);
},_getCellClass:function(a){return qx.ui.table.cellrenderer.Abstract.prototype._getCellClass.call(this)+s;
},_getContentHtml:function(H){var content=r;
if(this.__rA.url){var content=qx.bom.element.Decoration.create(this.__rA.url,p,{width:this.__rA.width+x,height:this.__rA.height+x,display:qx.bom.client.Engine.GECKO&&qx.bom.client.Engine.VERSION<1.9?m:n,verticalAlign:h,position:l});
}return content;
},_getCellAttributes:function(y){var z=this.__rA.tooltip;

if(z){return k+z+q;
}else{return u;
}}},destruct:function(){this.__rA=null;
}});
})();
(function(){var b="qx.ui.table.cellrenderer.Image",a="";
qx.Class.define(b,{extend:qx.ui.table.cellrenderer.AbstractImage,construct:function(c,d){qx.ui.table.cellrenderer.AbstractImage.call(this);

if(c){this.__rC=c;
}
if(d){this.__rD=d;
}this.__rE=qx.util.AliasManager.getInstance();
},members:{__rE:null,__rD:16,__rC:16,_identifyImage:function(e){var f={imageWidth:this.__rC,imageHeight:this.__rD};

if(e.value==a){f.url=null;
}else{f.url=this.__rE.resolve(e.value);
}f.tooltip=e.tooltip;
return f;
}},destruct:function(){this.__rE=null;
}});
})();
(function(){var c="qx.ui.table.cellrenderer.String",b="qooxdoo-table-cell",a="";
qx.Class.define(c,{extend:qx.ui.table.cellrenderer.Conditional,members:{_getContentHtml:function(e){return qx.bom.String.escape(e.value||a);
},_getCellClass:function(d){return b;
}}});
})();
(function(){var H="",G="ruleType",F="info",E=" (",D=")",C="gpsData",B="ruleName",A="confirmLoginName",z="__",y=": ",s="deviceId",x="creationTs",v=" ",r="modifiedTs",q="track.rulesmodel.AlarmTO",u="alarmId",t="Alarm",w="accountId";
qx.Class.define(q,{extend:qx.core.Object,construct:function(o,p){qx.core.Object.call(this);
this.trackGui=o;

if(org.xmlBlaster.util.isDefined(p)){this.propertyCollection=p;
}else{this.propertyCollection=new net.watchee.PropertyCollection(t);
}this.gpsDataCached=null;
},members:{getAlarmId:function(){return this.propertyCollection.getStr(u,H);
},getRuleName:function(){return this.propertyCollection.getStr(B,H);
},setRuleName:function(e){this.propertyCollection.addKeyValue(B,e);
},getNiceNameInfo:function(){var f=this.getRuleTypeEnum().getDescription();
var g=this.getRuleName();

if(g!=H&&g.indexOf(z)!=0&&this.getInfo()!=H){f+=E+g+y+this.getInfo()+D;
}else if(g!=H&&g.indexOf(z)!=0){f+=E+g+D;
}else if(this.getInfo()!=H){f+=E+this.getInfo()+D;
}return f;
},getRuleTypeId:function(){var d=this.propertyCollection.getStr(G,H);
return d;
},getRuleTypeEnum:function(h){var i=this.getRuleTypeId();
return net.watchee.RuleTypeEnum.lookup(i,h);
},isRuleTypeEnum:function(l){return this.getRuleTypeEnum().isSame(l);
},setRuleTypeEnum:function(b){if(b.constructor==net.watchee.RuleTypeEnum)this.propertyCollection.addKeyValue(G,b.getId());
else this.propertyCollection.addKeyValue(G,b);
},getInfo:function(){return this.propertyCollection.getStr(F,H);
},setInfo:function(n){if(n==null||n.length<1)this.propertyCollection.remove(F);
else this.propertyCollection.addKeyValue(F,n);
},getGpsDataStr:function(){return this.propertyCollection.getStr(C,null);
},setGpsDataStr:function(a){if(a==null||a.length<1)this.propertyCollection.remove(C);
else this.propertyCollection.addKeyValue(C,a);
},getGpsData:function(){if(this.gpsDataCached!=null)return this.gpsDataCached;
var k=this.getGpsDataStr();

if(k!=null&&k!=H)this.gpsDataCached=new net.watchee.GPSData(k,null);
return this.gpsDataCached;
},setGpsDataCached:function(c){this.gpsDataCached=c||null;
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTsNice:function(){var m=this.getCreationTs();
return org.xmlBlaster.util.getDateStrFromIsoDateStr(m)+v+org.xmlBlaster.util.getTimeStrFromIsoDateStr(m);
},getCreationTs:function(){return this.propertyCollection.getStr(x,H);
},getModifiedTs:function(){return this.propertyCollection.getStr(r,H);
},getConfirmLoginName:function(){return this.propertyCollection.getStr(A,H);
},setConfirmLoginName:function(j){this.propertyCollection.addKeyValue(A,j);
},getDeviceId:function(){return this.propertyCollection.getStr(s,H);
},getAccountId:function(){return this.propertyCollection.getStr(w,H);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var n="22/testSend.png",m="tooltip",l="button",k="execute",j="Confirm All",i="Manage Alarms",h="track.alarm.AlarmManageGroup",g="No permission to confirm alarms for %1",f="Confirm that you are aware of this alarm of %1",d="groupbox title",a="left",c="middle",b="Confirm Selected";
qx.Class.define(h,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(o,p){qx.core.Object.call(this);
this.trackGui=o;
this.alarmWindow=p;
this.groupBox=null;
this.confirmButton=null;
this.deleteAllButton=null;
},members:{createGroup:function(q){var v=new qx.ui.groupbox.GroupBox(this.trc(d,i));
this.groupBox=v;
var r=new qx.ui.layout.Grid(6,2);
v.setLayout(r);
v.setContentPadding(q||12);
var w=0;
var t=0;
var u=1;
var s=2;
r.setColumnAlign(0,a,c);
this.confirmButton=new qx.ui.form.Button(this.trc(l,b),xbGetIcon(n));
this.confirmButton.setEnabled(true);
v.add(this.confirmButton,{row:w,column:t});
this.confirmButton.addListener(k,function(e){if(this.trackGui.watchee==null)return;
this.confirmButton.setEnabled(false);
qx.event.Timer.once(function(e){this.confirmButton.setEnabled(this.hasPermission());
},this,2000);
this.alarmWindow.alarmEventTableGroup.confirmSelection();
},this);
this.deleteAllButton=new qx.ui.form.Button(this.trc(l,j),xbGetIcon(n));
this.deleteAllButton.setEnabled(true);
v.add(this.deleteAllButton,{row:w,column:s});
this.deleteAllButton.addListener(k,function(e){if(this.trackGui.watchee==null)return;
this.deleteAllButton.setEnabled(false);
qx.event.Timer.once(function(e){this.deleteAllButton.setEnabled(this.hasPermission());
},this,2000);
this.alarmWindow.alarmEventTableGroup.confirmAll();
},this);
this.enforcePermission();
return v;
},hasPermission:function(){var x=this.alarmWindow.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM);
return x;
},enforcePermission:function(){var y=this.hasPermission();
this.confirmButton.setEnabled(y);

if(y){this.confirmButton.setToolTipText(this.trc(m,f,this.alarmWindow.getBuddyTO().getLoginName()));
}else{this.confirmButton.setToolTipText(this.trc(m,g,this.alarmWindow.getBuddyTO().getLoginName()));
}},clear:function(){}},destruct:function(){}});
})();
(function(){var M="ruleTypeEnum",L="infoMsgBox",K="alarmAutoConfirm",J="tooltip",I="changeValue",H="16/actions/dialog-ok.png",G="button",F="execute",E="No permission to change configuration of %1",D="Save the changes made for %1",bd="16/actions/dialog-cancel.png",bc="changeSelection",bb="middle",ba=": ",Y="22/testSend.png",X="track.alarm.AutoConfirmGroup",W="AutoConfirmGroup.js createGroup failed",V="Timeout, no response after %1 sec",U="Automatic Confirmations",T="Automatically confirm new ones",R="label",S="Save all changes",P="<b><font color='green'>Configuration is saved</font></b>",Q="No permission to configure alarms of %1",N="groupbox title",O=",";
qx.Class.define(X,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(r,s){qx.core.Object.call(this);
this.trackGui=r;
this.alarmWindow=s;
this.groupBox=null;
this.programmaticSetSelected=false;
this.ruleTypesSelectBox=null;
this.confirmButton=null;
this.alarmAutoConfirmHashtable=new org.xmlBlaster.util.Hashtable();
this.okIcon=xbGetQxIcon(H);
this.noIcon=xbGetQxIcon(bd);
},members:{createGroup:function(h){try{var k=new qx.ui.groupbox.GroupBox(this.trc(N,U));
this.groupBox=k;
var j=new qx.ui.layout.HBox().set({spacing:10,alignY:bb});
k.setLayout(j);
this.ruleTypesSelectBox=new qx.ui.form.SelectBox();
this.ruleTypesSelectBox.setWidth(260);
k.add(this.ruleTypesSelectBox);
this.ruleTypesSelectBox.addListener(bc,function(e){if(this.programmaticSetSelected)return ;
var be=(e.getData().length==0)?null:e.getData()[0];
this.__rJ(be);
},this);
this.checkBox=new qx.ui.form.CheckBox(this.trc(R,T));
this.checkBox.setValue(true);
this.checkBox.addListener(I,function(e){if(this.programmaticSetSelected)return ;
var n=this.ruleTypesSelectBox.getSelection()[0];
var m=e.getData();
this.__rH(n,m);
},this);
k.add(this.checkBox);
this.confirmButton=new qx.ui.form.Button(this.trc(G,S),xbGetIcon(Y));
this.confirmButton.setEnabled(true);
k.add(this.confirmButton);
this.confirmButton.addListener(F,function(e){if(this.trackGui.watchee==null)return;
this.confirmButton.setEnabled(false);
qx.event.Timer.once(function(e){this.confirmButton.setEnabled(this.hasPermission());
},this,2000);
this.__rK();
},this);
this.populateRules();
this.enforcePermission();
return k;
}catch(bq){this.trackGui.errorMsgBoxDeveloper(W,bq);
return null;
}},hasPermission:function(){var bf=this.alarmWindow.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);
return bf;
},enforcePermission:function(){var br=this.hasPermission();
this.confirmButton.setEnabled(br);
this.checkBox.setEnabled(br);

if(br){this.confirmButton.setToolTipText(this.trc(J,D,this.alarmWindow.getBuddyTO().getLoginName()));
}else{this.confirmButton.setToolTipText(this.trc(J,E,this.alarmWindow.getBuddyTO().getLoginName()));
}},populateRules:function(){if(this.ruleTypesSelectBox==null)return;
this.programmaticSetSelected=true;
this.alarmAutoConfirmHashtable=this.alarmWindow.getBuddyTO().getAccountPropertyHashtable(K,null);
this.ruleTypesSelectBox.removeAll();

for(var i=0,l=net.watchee.RuleTypeEnums.length;i<l;i++){var bl=net.watchee.RuleTypeEnums[i];

if(bl.isSame(net.watchee.RuleTypeEnum.GEOFENCE))continue;
var bn=this.alarmAutoConfirmHashtable.contains(bl.getId())?this.okIcon:this.noIcon;
var bm=new qx.ui.form.ListItem(bl.getId(),bn,bl.getId());
bm.setToolTipText(bl.getId()+ba+bl.getDescription());
bm.setUserData(M,bl);
this.ruleTypesSelectBox.add(bm);
}this.__rF();
this.ruleTypesSelectBox.updateAppearance();
this.programmaticSetSelected=false;
},__rF:function(){var bo=track.util.GuiUtils.getSelectedUserData(this.ruleTypesSelectBox,M);
var bp=this.alarmAutoConfirmHashtable.contains(bo.getId());
this.checkBox.setValue(bp);
},__rG:function(bg){if(this.ruleTypesSelectBox==null)return;
var bh=this.ruleTypesSelectBox.getChildren();

for(var i=0,l=bh.length;i<l;i++){if(bg!=bh[i])return bh[i];
}},__rH:function(o,p){if(o==null)return false;
var q=p?this.okIcon:this.noIcon;
o.setIcon(q);
},__rI:function(B){if(B==null)return false;
var C=(B.getIcon()==this.okIcon);
return C;
},__rJ:function(bi){if(bi==null)return ;
var bj=bi.getUserData(M);
var bk=this.__rI(bi);
this.checkBox.setValue(bk);
},__rK:function(){if(this.trackGui.watchee==null)return;

if(this.ruleTypesSelectBox==null)return;

if(!this.hasPermission()){this.trackGui.infoMsgBox(this.trc(L,Q,this.alarmWindow.getBuddyTO().getLoginName()));
return;
}var A=[];
var u=this.ruleTypesSelectBox.getChildren();

for(var i=0,l=u.length;i<l;i++){var x=u[i];

if(this.__rI(x)){var z=x.getUserData(M);
A.push(z.getId());
}}var t=this.alarmWindow.getBuddyTO().getLoginName();
var y=K;
var v=org.xmlBlaster.util.arrayToCsv(A,O);
var w=v;
this.trackGui.sendChangeAccountProperty(t,y,v,this.responseOrExceptionOrTimeoutReceived,this,w);
},responseOrExceptionOrTimeoutReceived:function(a,b,c){this.info("AutoConfirmGroup.js Received response: "+a);
var g=b;
var f=org.xmlBlaster.util.PropTO;
var d=null;

if(a==null){d=this.trc(L,V,c.timeoutSec);
}else if(a.isException()){d=a.getErrorHtmlMessage();
}else{d=this.trc(L,P);
}this.trackGui.infoMsgBox(d);
},clear:function(){}},destruct:function(){}});
})();
(function(){var b="Alarm",a="track.rulesmodel.AlarmsTO";
qx.Class.define(a,{extend:qx.core.Object,construct:function(h,j){qx.core.Object.call(this);
this.trackGui=h;

if(org.xmlBlaster.util.isDefined(j)){this.propertyCollections=j;
this.alarmTOArray=this.__rL(this.propertyCollections);
}else{this.propertyCollections=new net.watchee.PropertyCollections();
this.alarmTOArray=[];
}},members:{__rL:function(c){var d=[];
var g=null;
var e=c.getPropertyCollections();

for(var i=0,l=e.length;i<l;i++){var f=e[i];

if(b==f.getClazz()){g=new track.rulesmodel.AlarmTO(this.trackGui,f);
d.push(g);
}else{this.error("AlarmsTO.js: Unexpected clazz in Alarm PCC: "+c.toXml());
}}return d;
},getAlarms:function(){return this.alarmTOArray;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var dQ="setSetting",dP="bool",dO="doAction",dN="1",dM="int",dL="",dK="password",dJ="action",dI="type",dH="checkbox",cs="_action",cr="removeInputControl",cq='Send',cp="240000",co="html",cn='options',cm="phonenumber",cl="infoMsgBox",ck="options",cj="0",dX='type',dY="loginPost",dV="useBluetoothApi",dW="trackingRate:old",dT="<b><font color='#FF0000'>Unexpected</font></b> ",dU="minimizeOnStartup",dR='validationFunc',dS="smsRegister",ea="Milliseconds to wait for ping response",eb="Defaults to 100, for C702 try 86 percent",dp="Tracking to server switch on/off",dn="default,small,medium,big",dr="BlackBerry:encoding=video/3gpp  k610i:encoding=jpeg&width=160&height=120 others: null",dq="addInputControl",dt="sendSMS=1,phoneNumber=+491754616132,port=50412,show=true,sms=Hello World",ds='Info',dw="validationFunc",du="photoSize",dm="regExp",dl="Sgprs",p="mapRadius",q="setDisplay",r="gpsConnectOnStartup",s="Display button to capture audo clips",t="Vibration feedback to user",u="sendSMS",v="supportPhone",w="createVideoPlayerPostix",x="Milliseconds to ping mobile phone",y="takeConnectionQueue",ep="Destroy first number of outgoing messages",eo="User interaction if SMS arrives",en="Trigger a phone call",em="Adjust logging level",et="serverConnectOnStartup",es="trackingOnStartup",er="Qst=t",eq="exitMidlet",ew="cbPingInterval",eu="registerLaunchMidlet",br="External GPS chip",bs='resp',bp="pingInterval",bq="Send the mobile phone logging to server (publish to topic device.xxxxxx.cfg)",bv="=",bw="0.8",bt="Internal GPS chip",bu="100",bn="trackingRate:",bo="Str",S="Display a Message Box",R='DblCick',U="autostart",T='regExp',O="publishNMEA",N='[0-9]+',Q="clearConnectionQueue",P='Use only numbers!',M="hostname",L="60000",bC="float",bD="pingResponseTimeout",bE="string",bF="trackName",by="300",bz="useGpsSerialApi",bA="Server IP, 188.40.32.151=gpsvision, 88.198.105.108=watchee, forstw-test=194.120.23.2",bB="Telephone number customer support",bG="latlonDisplay",bH="Record sound",bg="containerId=POI,id=waggonnr,value=70",bf="123456",be="trackingRate:S",bd="Strv=0,Strt=1,Strc=1,Strd=-1,Strs=0",bc="GPRS switch on/off",bb="Auto Tracking on MIDLet startup",ba="dataChanged",Y="Remove all GUI lines",bk="getLog",bj="avoidScreenSaver",bI="containerId=POI,id=*",bJ="Register to SMS on given SMS-Port",bK="listIconSizeX",bL="Publish position data (usually received from SMS)",bM='password',bN="</font></b> ",bO="photo=1,photoSize=medium,interactive=false,delaySec=5",bP="120, 30, 80, 240, 4, 30, 2000, 4",bQ="combobox",bR="3412",cA="GPS switch on/off",cz="Window-title",cy="<b><font color='green'>Success</font></b> ",cx="encoding=jpeg&width=240&height=320 BlackBerry:encoding=jpeg&width=480&height=360&quality=normal",cE="Add an new GUI line, choose row>100 and <1000",cD="Server Port: 3412(gpsvision/watchee compressed); 3411 uncompressed",cC="Defaults to 40",cB="showTakePhoto",cI="captureAudio",cH=" ",dg="40",dh="makePhoneCall",de=" sec",df="trackingRate:V",dc="screenHeightPercent",dd="Qst",da="clearConnectionQueue=1,interactive=false",db="Size of Icons [pixel]",di="photo",dj=")",dA="maxLogEntries",dz="Command is send to %1 over SMS<br />The response will take about one minute, please wait<br /><br /><i>%2</i>",dC="How many positions to tail back on phone if GPRS is lost",dB="publishNMEA=1,nmea=$GPRMC,120333.931,A,4745.7901,N,00911.0797,E,000.0,324.1,220608,,,A*62",dE="minimize,overview,mainMenu,configureMenu,settings,info,buddies,buddiesSelect,xsms,xsmsInbox,xsmsOutbox",dD="Automatically start application on phone boot (Sony Ericsson only, else use 'registerLaunchMidlet')",dG="degminsec,decimal",dF="Set track name, if not a date it is not switched on midnight",dy="Remove a GUI line",dx="sendIntervalAtMinSpeed,sendIntervalAtMaxSpeed,speedForMaxInterval(0==off),sendIntervalHeartBeat(0==off),minSpeedForHeadingChangeThreshold,headingChangeThreshold(0==off)[,distanceMeter(0==off)|TimerStartCmd,TimerStopCmd]",ei="takeConnectionQueue=1,numMessages=1,interactive=false",ej="INFO,DEBUG,NONE,ERROR,WARN",ek="Tracking settings: Speed,Heartbeat,Course,Distance,StopAndGo,TimerStartCmd,TimerStopCmd",el="Milliseconds to for server to wait for update ACK",ee="Clear outgoing messages",ef="track.admin.TestDeviceWindow",eg="Format of Lat/Lon displayed",eh="editable",ec="required",ed=" (",o="50412",n="updateResponseTimeout",m='Response/Exception',k="updateMidlet",j="Take a photo",h="Auto GPRS connect",g="Feed GPS to OpenCellid.org",f="clearAll",d="Register in push registry to start midlet again in given seconds (see also 'autostart' for Sony Ericsson devices)",c="useLocationApi",B="port",C="SMS-Port",z="vibrate",A="containerId=POI,id=waggonnr,singleLine=true,row=110,label=WaggonNr,labelFontAttr=STYLE_BOLD,labelIconUrl=leYes,labelSelectable=false,labelWidth=-60,value=0,type=int,maxLen=12,valueBorder=1,autoMove=true",F="Change server password",G="showMsg",D="26",E="Milliseconds to ping server (0=off)",I="---",J='Query track',cM="Change value of a GUI line",cG=",bounce=",cT='Infotext',cP="Query current position (Query Sentencetype Track)",cv="Display button to take photos",ct='int',W="smsAsk",cw="containerId=POI,id=waggonnr",bi="showCaptureAudio",bh="Tracking activation: Speed,Heartbeat,Course,Distance,StopAndGo; 0=off,-1=undef,1=on",cb='Qst=t',cc="Sgps",cd="Raw configure device %1",ce="600000",cf="<b><font color='red'>Timeout</font></b>, no response after ",cg='Doubleclick on cell to edit value',ch="registerLaunchMidlet=1,secondsFromNow=30",ci="Defaults to 50412, FwMobile to 50414",bY="Minimize MIDlet or load menu",ca="setInputValue",cu="Command is send to %1<br /><br /><i>%2</i>",cS="updateMidlet=1,ask=false,url=http://gpsvision.biz/jsec,exitMIDlet=-1",cR="makePhoneCall=1,phoneNumber=+491754616132",cQ="188.40.32.151",cX="Vtrmin=120,Vtrmax=30,Vtrvmax=80,Vtrt=240,Vtrcvmin=4,Vtrc=30,Vtrd=5000,Vtrs=4,Vtrstart=void,Vtrstop=void",cW="captureAudio=1,captureAudioSec=5,interactive=false",cV="After startup of MIDlet hide it",cU="logLevel",cO="Clear all property settings (and user data in record store?)",cN="trackingRate",H="showMsg=1,msgbox.title=From Server,msgbox.message=Hello World,msgbox.type=INFO,msgbox.sec=3",bm='Property Name',bl="Avoid screen saver on some phone models",cF="cellDblclick",bx='task',cL="16/apps/preferences-desktop-multimedia.png",cK="appendCellId",cJ="+497551309371",V="<b><font color='red'>",cY="Download new MIDlet version",K="Auto GPS connect",X="Send a SMS",bS="maxNumOfEntries",bT="Stop the application",bU="email",bV="Serial cable GPS chip",bW="Map radius in km",bX='Type',dk=",";
var ex=0;
qx.Class.define(ef,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(a){qx.core.Object.call(this);
this.trackGui=a;
this.deviceId=dL;
this.propertyEditor=null;

if(this.trackGui.watchee!=null){this.deviceId=this.trackGui.watchee.getLoginName();
}this.loginPostListenerFunc=null;
this.window=null;
var b=0;
this.COLUMN_BUTTON=b++;
this.COLUMN_TYPE=b++;
this.COLUMN_INFO=b++;
this.COLUMN_KEY=b++;
this.COLUMN_VALUE=b++;
this.COLUMN_RESPONSE=b++;
ex=b++;
this.headerLabels=[R,bX,ds,bm,cg,m];
this.columnWidth=[];
this.columnWidth[this.COLUMN_BUTTON]=60;
this.columnWidth[this.COLUMN_TYPE]=42;
this.columnWidth[this.COLUMN_INFO]=180;
this.columnWidth[this.COLUMN_KEY]=100;
this.columnWidth[this.COLUMN_VALUE]=200;
this.columnWidth[this.COLUMN_RESPONSE]=640;
this.RESPONSE_TIMEOUT_SEC=120;
this.TYPE_CSV="csv";
},members:{setDeviceId:function(fJ){if(this.deviceId!=fJ){this.resetData();
}this.deviceId=fJ;
this.setCaption();
},initForDeviceId:function(fo){this.setDeviceId(fo);
var fp=this.fillDeviceData();
if(!fp)this.trackGui.sendGetDeviceCommandList(fo);
},resetData:function(){this.tableData=[[]];
this.info("resetData");

if(this.propertyEditor!=null){this.propertyEditor.getTableModel().setData(this.tableData);
}},setCaption:function(){var fK=(org.xmlBlaster.util.isFilled(this.deviceId))?this.deviceId:I;
var fL=this.trc(cz,cd,fK);

if(this.window!=null)this.window.setCaption(fL);
return fL;
},showForm:function(eM){if(org.xmlBlaster.util.isDefined(eM)){this.deviceId=eM;
}var eN=new qx.ui.window.Window(this.setCaption(),xbGetQxIcon(cL));
this.window=eN;
eN.setLayout(new qx.ui.layout.Canvas());
eN.setWidth(720);
eN.setHeight(420);
this.trackGui.getMyRoot().add(eN,{left:4,top:60});
this.createDemoData();
eN.add(this.createTable(),{left:10,top:10,bottom:10,right:10});
this.loginPostListenerFunc=this.trackGui.getEventManager().addListener(dY,function(fX){if(this.getDevice()!=null&&this.getDevice().getDeviceInfo().isBlackbox()){this.trackGui.sendGetDeviceCommandList(this.deviceId);
}},this);
eN.open();
return eN;
},__rM:function(){},createTable:function(){this.propertyCellRendererFactory=new qx.ui.table.cellrenderer.Dynamic(this.propertyCellRendererFactoryFunc);
this.propertyCellEditorFactory=new qx.ui.table.celleditor.Dynamic(this.propertyCellEditorFactoryFunc);
this.responseCellRendererFactory=new qx.ui.table.cellrenderer.Dynamic(this.responseCellRendererFactoryFunc);
this.tableModel=new qx.ui.table.model.Simple();
this.tableModel.setColumns(this.headerLabels);
var fa={tableColumnModel:function(fW){return new qx.ui.table.columnmodel.Resize(fW);
}};
this.propertyEditor=new qx.ui.table.Table(this.tableModel,fa);
this.propertyEditor.setDecorator(null);
this.propertyEditor.setColumnVisibilityButtonVisible(false);
this.propertyEditor.setKeepFirstVisibleRowComplete(true);
this.propertyEditor.setStatusBarVisible(false);
this.propertyEditor.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.SINGLE_SELECTION);
var fb=this.propertyEditor.getTableColumnModel();
fb.getBehavior().setWidth(this.COLUMN_BUTTON,this.columnWidth[this.COLUMN_BUTTON]);
fb.getBehavior().setWidth(this.COLUMN_TYPE,this.columnWidth[this.COLUMN_TYPE]);
fb.getBehavior().setWidth(this.COLUMN_INFO,this.columnWidth[this.COLUMN_INFO]);
fb.getBehavior().setWidth(this.COLUMN_KEY,this.columnWidth[this.COLUMN_KEY]);
fb.getBehavior().setWidth(this.COLUMN_VALUE,this.columnWidth[this.COLUMN_VALUE]);
this.tableModel.setColumnEditable(this.COLUMN_VALUE,true);
fb.setDataCellRenderer(this.COLUMN_VALUE,this.propertyCellRendererFactory);
fb.setCellEditorFactory(this.COLUMN_VALUE,this.propertyCellEditorFactory);
fb.setDataCellRenderer(this.COLUMN_RESPONSE,this.responseCellRendererFactory);
fb.getBehavior().setWidth(this.COLUMN_RESPONSE,this.columnWidth[this.COLUMN_RESPONSE]);
this.propertyEditor.getTableModel().setData(this.tableData);
this.propertyEditor.getTableModel().addListener(ba,function(event){if(!(event instanceof qx.event.type.Data)){return;
}var gl=event.getData();
var gi=this.getTableModel();
var gk=gi.getValue(0,gl.firstRow);
var gj=gi.getValue(gl.firstColumn,gl.firstRow);
this.info("User edited property '"+gk+"' and entered value '"+gj+"'.");
},this.propertyEditor);
this.propertyEditor.addListener(cF,function(e){var eY=e.getRow();
var eX=e.getColumn();
this.info("User dblclicked "+e.getType()+" row="+eY+" col="+eX);

if(this.COLUMN_BUTTON==e.getColumn()){this.info("User dblclicked COLUMN_BUTTON");

if(this.getDevice().getDeviceInfo().isBlackbox()){this.info("User dblclicked BlackBox");
var eV=this.tableModel.getValue(this.COLUMN_KEY,eY);
var eW=this.tableModel.getValue(this.COLUMN_TYPE,eY);
var eT=this.tableModel.getValue(this.COLUMN_VALUE,eY);
var eS=this.tableModel.getValue(this.COLUMN_INFO,eY);
var eU=eT;

if(eV.length>0&&eV.indexOf(bv)!=-1){if(eW==dP){eU=eV+((eT==true)?1:0);
}else{eU=eV+eT;
}}this.info("User dblclicked BlackBox command="+eU);
this.__rO(eU,eY);
}else{this.info("User dblclicked no BlackBox");
this.__rN(eY);
}}},this);
return this.propertyEditor;
},responseOrExceptionOrTimeoutReceived:function(fD,fE,fF){var fI=fE;
var fH=org.xmlBlaster.util.PropTO;
var fG=null;

if(fD==null){fG=cf+fF.timeoutSec+de;
}else if(fD.isException()){fG=dL;
fG+=V+fD.getPropValue(fH.KEY_ERRORCODE)+bN;
fG+=cH+fD.getPropValue(fH.KEY_RESULT);
fG+=ed+fD.getPropValue(fH.KEY_DATA)+dj;
}else{if(fD.getPropValue(fH.KEY_TASK)==net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST){fG=dT+fD.getPropValue(fH.KEY_RESULT);
}else{fG=cy+fD.getPropValue(fH.KEY_RESULT);
}}if(fI!=null)this.tableModel.setValue(this.COLUMN_RESPONSE,fI,fG);
},__rN:function(ey){if(this.trackGui.watchee==null)return;
var eH=this.tableModel.getValue(this.COLUMN_KEY,ey);
var eK=this.tableModel.getValue(this.COLUMN_TYPE,ey);
var eF=dL+this.tableModel.getValue(this.COLUMN_VALUE,ey);
var eL=this.tableModel.getValue(ex,ey);
var eA=eL[bx];
var ez=this.tableModel.getValue(this.COLUMN_INFO,ey);
var eB=org.xmlBlaster.util.Hashtable.parseCSV(eF);
var eD=eB.getKeys();

if(eA==dO){var eE=new net.watchee.PropertyCollection();
eE.add(new net.watchee.PropertyPair(dI,eH));

if(eK==dP){var eI=dL+eF;
eE.add(new net.watchee.PropertyPair(dJ,eI));
eE.add(new net.watchee.PropertyPair(cs,eI));
}else if(eK==this.TYPE_CSV){var eI=dL+eF;
eE.add(new net.watchee.PropertyPair(dJ,eI));
eE.add(new net.watchee.PropertyPair(cs,eI));
}else{for(var i=0,l=eD.length;i<l;i++){var eC=eD[i];

if(eC==eH){var eI=eB.get(eC);
eE.add(new net.watchee.PropertyPair(dJ,eI));
eE.add(new net.watchee.PropertyPair(cs,eI));
}else{var eJ=eB.get(eC);
eE.add(new net.watchee.PropertyPair(eC,eJ));
}}}this.trackGui.sendActionToDevice(this.getDevice().getLoginName(),eE);
}else if(eA==dQ){var eE=new net.watchee.PropertyCollection();
if(eH.indexOf(bn)==0){eH=cN;
}var eG=new net.watchee.PropertyPair(eH,eF);
eG.setDurable(true);
eE.add(eG);
this.trackGui.sendDeviceSettings(this.getDevice().getLoginName(),eE);
}},__rO:function(fc,fd){var ff=this.trackGui.getBounceNextVal();
fc=fc+cG+ff;
this.info("Sending command '"+fc+"'");
var fe=fd;
this.trackGui.getRequestResponseDispatcher().registerRequest(ff,this.RESPONSE_TIMEOUT_SEC,this.responseOrExceptionOrTimeoutReceived,this,fe);
this.trackGui.sendRawDeviceCommand(this.deviceId,ff,fc);
if(this.getDevice()!=null&&this.getDevice().getDeviceInfo().supportsSmsConfigurationOnly()){this.trackGui.infoMsgBox(this.trc(cl,dz,this.deviceId,fc),30000);
}else{this.trackGui.infoMsgBox(this.trc(cl,cu,this.deviceId,fc),3000);
}},getDevice:function(){if(this.deviceId!=null&&this.trackGui.watchee!=null)return this.trackGui.watchee.getDevice(this.deviceId);
return null;
},responseCellRendererFactoryFunc:function(ge){return new qx.ui.table.cellrenderer.Html();
},propertyCellRendererFactoryFunc:function(fg){var fm=fg.table;
var fj=fm.getTableModel();
var fk=fj.getRowData(fg.row);
var fn=fk[ex];
var fl;

for(var fi in fn){switch(fi){case dI:switch(fn[dX]){case dH:return new qx.ui.table.cellrenderer.Boolean;
case co:return new qx.ui.table.cellrenderer.Html;
case dK:return new qx.ui.table.cellrenderer.Password;
}break;
case ck:var fl=new qx.ui.table.cellrenderer.Replace;
var fh={};
fn[cn].forEach(function(eO){if(eO instanceof Array){fh[eO[0]]=eO[2];
}});
fl.setReplaceMap(fh);
fl.addReversedReplaceMap();
return fl;
}}return new qx.ui.table.cellrenderer.Default();
},propertyCellEditorFactoryFunc:function(fM){var fR=fM.table;
var fP=fR.getTableModel();
var fQ=fP.getRowData(fM.row);
var fT=fQ[ex];
var fO=new qx.ui.table.celleditor.TextField;
var fS=null;

for(var fN in fT){switch(fN){case ck:if(fT.editable){fO=new qx.ui.table.celleditor.ComboBox();
}else{fO=new qx.ui.table.celleditor.SelectBox();
}fO.setListData(fT[cn]);
break;
case eh:break;
case dI:switch(fT[dX]){case dK:fO=new qx.ui.table.celleditor.PasswordField;
break;
case co:return new qx.ui.table.cellrenderer.Html;
case dH:fO=new qx.ui.table.celleditor.CheckBox;
break;
case bU:fO.setValidationFunction(function(eP,eQ){var eR=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;

if(eR.test(eP)){return eP;
}alert("You did not enter a valid email address");
return eQ;
});
break;
}break;
case dm:fO.setValidationFunction(function(gf,gg){var gh=new RegExp(fT[T]);

if(gh.test(gf)){return gf;
}alert(fT['failMsg']);
return gg;
});
break;
case dw:fO.setValidationFunction(fT[dR]);
break;
case ec:fS=function(fU,fV){if(!fU){alert("You need to supply a value here");
return fV;
}return fU;
};
break;
}}return fO;
},createDemoData:function(){this.tableData=[[cq,ct,cT,J,cb,bs,{'required':true}]];
},fillDeviceData:function(){var gd=this.getDevice();

if(gd==null){return false;
}
if(gd.getDeviceInfo().isJ2me()){return this.fillJ2meData();
}return false;
},fillJ2meData:function(){var ga=true;
var gc=true;
var gb=bE;
var fY=new net.watchee.PropertyCollection();
fY.add(new net.watchee.PropertyPair(dl,dN,ga,dP,bc,dO));
fY.add(new net.watchee.PropertyPair(cc,dN,ga,dP,cA,dO));
fY.add(new net.watchee.PropertyPair(bo,dN,ga,dP,dp,dO));
fY.add(new net.watchee.PropertyPair(di,bO,ga,gb,j,dO));
fY.add(new net.watchee.PropertyPair(cI,cW,ga,gb,bH,dO));
fY.add(new net.watchee.PropertyPair(k,cS,ga,gb,cY,dO));
fY.add(new net.watchee.PropertyPair(eu,ch,ga,gb,d,dO));
fY.add(new net.watchee.PropertyPair(G,H,ga,gb,S,dO));
fY.add(new net.watchee.PropertyPair(dh,cR,ga,gb,en,dO));
fY.add(new net.watchee.PropertyPair(u,dt,ga,gb,X,dO));
fY.add(new net.watchee.PropertyPair(bk,dN,ga,dP,bq,dO));
fY.add(new net.watchee.PropertyPair(dd,er,ga,gb,cP,dO));
fY.add(new net.watchee.PropertyPair(Q,da,gc,gb,ee,dO));
fY.add(new net.watchee.PropertyPair(y,ei,gc,gb,ep,dO));
fY.add(new net.watchee.PropertyPair(dq,A,ga,this.TYPE_CSV,cE,dO));
fY.add(new net.watchee.PropertyPair(ca,bg,ga,this.TYPE_CSV,cM,dO));
fY.add(new net.watchee.PropertyPair(cr,cw,ga,this.TYPE_CSV,dy,dO));
fY.add(new net.watchee.PropertyPair(cr,bI,ga,this.TYPE_CSV,Y,dO));
fY.add(new net.watchee.PropertyPair(q,dE,ga,this.TYPE_CSV,bY,dO));
fY.add(new net.watchee.PropertyPair(O,dB,ga,gb,bL,dO));
fY.add(new net.watchee.PropertyPair(eq,dN,ga,dP,bT,dO));
fY.add(new net.watchee.PropertyPair(f,dN,ga,dP,cO,dQ));
fY.add(new net.watchee.PropertyPair(M,cQ,ga,gb,bA,dQ));
fY.add(new net.watchee.PropertyPair(B,bR,ga,dM,cD,dQ));
fY.add(new net.watchee.PropertyPair(dK,bf,ga,dK,F,dQ));
fY.add(new net.watchee.PropertyPair(bp,cp,ga,dM,E,dQ));
fY.add(new net.watchee.PropertyPair(ew,L,ga,dM,x,dQ));
fY.add(new net.watchee.PropertyPair(bD,cp,ga,dM,ea,dQ));
fY.add(new net.watchee.PropertyPair(n,ce,ga,dM,el,dQ));
fY.add(new net.watchee.PropertyPair(v,cJ,ga,cm,bB,dQ));
fY.add(new net.watchee.PropertyPair(bK,D,ga,dM,db,dQ));
fY.add(new net.watchee.PropertyPair(dc,bu,ga,dM,eb,dQ));
fY.add(new net.watchee.PropertyPair(U,dN,ga,dP,dD,dQ));
fY.add(new net.watchee.PropertyPair(et,dN,ga,dP,h,dQ));
fY.add(new net.watchee.PropertyPair(r,dN,ga,dP,K,dQ));
fY.add(new net.watchee.PropertyPair(es,dN,ga,dP,bb,dQ));
fY.add(new net.watchee.PropertyPair(z,dN,ga,dP,t,dQ));
fY.add(new net.watchee.PropertyPair(dU,cj,ga,dP,cV,dQ));
fY.add(new net.watchee.PropertyPair(p,bw,ga,bC,bW,dQ));
fY.add(new net.watchee.PropertyPair(dV,dN,ga,dP,br,dQ));
fY.add(new net.watchee.PropertyPair(c,dN,ga,dP,bt,dQ));
fY.add(new net.watchee.PropertyPair(bz,dN,ga,dP,bV,dQ));
fY.add(new net.watchee.PropertyPair(cK,dN,ga,dP,g,dQ));
fY.add(new net.watchee.PropertyPair(bj,dN,ga,dP,bl,dQ));
fY.add(new net.watchee.PropertyPair(cU,ej,ga,this.TYPE_CSV,em,dQ));
fY.add(new net.watchee.PropertyPair(dA,dg,ga,dM,cC,dQ));
fY.add(new net.watchee.PropertyPair(w,dL,ga,gb,dr,dQ));
fY.add(new net.watchee.PropertyPair(du,dn,ga,this.TYPE_CSV,cx,dQ));
fY.add(new net.watchee.PropertyPair(dS,dN,ga,dP,bJ,dQ));
fY.add(new net.watchee.PropertyPair(C,o,ga,dM,ci,dQ));
fY.add(new net.watchee.PropertyPair(W,dN,ga,dP,eo,dQ));
fY.add(new net.watchee.PropertyPair(bS,by,ga,dM,dC,dQ));
fY.add(new net.watchee.PropertyPair(be,bd,ga,gb,bh,dQ));
fY.add(new net.watchee.PropertyPair(df,cX,ga,gb,ek,dQ));
fY.add(new net.watchee.PropertyPair(dW,bP,ga,gb,dx,dQ));
fY.add(new net.watchee.PropertyPair(bF,org.xmlBlaster.util.getDateStr(),ga,gb,dF,dQ));
fY.add(new net.watchee.PropertyPair(cB,dN,ga,dP,cv,dQ));
fY.add(new net.watchee.PropertyPair(bi,cj,ga,dP,s,dQ));
fY.add(new net.watchee.PropertyPair(bG,dG,ga,this.TYPE_CSV,eg,dQ));
this.loadData(fY);
return true;
},loadData:function(fq){this.tableData=[];
var fy=fq.propHash;
var fx=fy.getValues();

for(var i=0,l=fx.length;i<l;i++){var fu=fx[i];
var fs=fu.getTypedValue();
var fz=fu.getKey();
var fB=fu.getType();
var ft=fu.getTimestamp();
var fw=fu.getFlag();
var fr=fu.getInfo();
var fC=dL;
var fA={'required':true,'task':fw};

if(fu.isBool())fA={'type':dH,'task':fw};

if(fB==dK||fr.indexOf("Password")!=-1){fs=dL+fs;
fA={'type':bM,'required':true,'task':fw};
}
if(fB==cm||fr.indexOf("PhoneNumber")!=-1){fA={'regExp':N,'failMsg':P,'task':fw};
}
if(fB==this.TYPE_CSV){fA={'type':bQ,'options':fu.getTypedValue().split(dk),'editable':true,'task':fw};
}var fv=[cq,fB,fr,fz,fs,fC,fA];
this.tableData.push(fv);
}this.propertyEditor.getTableModel().setData(this.tableData);
},destroyPopup:function(){if(this.loginPostListenerFunc!=null){this.trackGui.getEventManager().removeListener(dY,this.loginPostListenerFunc);
this.loginPostListenerFunc=null;
}this.trackGui.getMyRoot().remove(this.window);
this.window.close();
this.trackGui=null;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var b="Function",a="qx.ui.table.cellrenderer.Dynamic";
qx.Class.define(a,{extend:qx.ui.table.cellrenderer.Default,construct:function(g){qx.ui.table.cellrenderer.Default.call(this);

if(g){this.setCellRendererFactoryFunction(g);
}},properties:{cellRendererFactoryFunction:{check:b,nullable:true,init:null}},members:{createDataCellHtml:function(c,d){var f=this.getCellRendererFactoryFunction();

if(!f){throw new Error("No function provided! Aborting.");
}var e=f(c);
return e.createDataCellHtml(c,d);
}}});
})();
(function(){var f="Function",e="qx.ui.table.celleditor.Dynamic";
qx.Class.define(e,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,construct:function(d){qx.core.Object.call(this);

if(d){this.setCellEditorFactoryFunction(d);
}},properties:{cellEditorFactoryFunction:{check:f,nullable:true,init:null}},members:{__rP:null,createCellEditor:function(a){var b=this.getCellEditorFactoryFunction();
{};
this.__rP=b(a);
var c=this.__rP.createCellEditor(a);
return c;
},getCellEditorValue:function(g){var h=this.getCellEditorFactoryFunction();
{};
var i=this.__rP.getCellEditorValue(g);
return i;
}},destruct:function(){this.__rP=null;
}});
})();
(function(){var t="appear",s="columnVisibilityMenuCreateEnd",r="tableWidthChanged",q="verticalScrollBarChanged",p="qx.ui.table.columnmodel.resizebehavior.Abstract",n="qx.ui.table.columnmodel.Resize",m="_applyBehavior",l="separator",k="visibilityChanged",j="Reset column widths",g="changeBehavior",i="user-button",h="widthChanged",f="execute";
qx.Class.define(n,{extend:qx.ui.table.columnmodel.Basic,include:qx.locale.MTranslation,construct:function(){qx.ui.table.columnmodel.Basic.call(this);
this.__rQ=false;
this.__rR=false;
},properties:{behavior:{check:p,init:null,nullable:true,apply:m,event:g}},members:{__rR:null,__rQ:null,__rS:null,_applyBehavior:function(u,v){if(v!=null){v.dispose();
v=null;
}u._setNumColumns(this.getOverallColumnCount());
u.setTableColumnModel(this);
},init:function(d,e){qx.ui.table.columnmodel.Basic.prototype.init.call(this,d);

if(this.__rS==null){this.__rS=e;
e.addListener(t,this._onappear,this);
e.addListener(r,this._onTableWidthChanged,this);
e.addListener(q,this._onverticalscrollbarchanged,this);
e.addListener(s,this._addResetColumnWidthButton,this);
this.addListener(h,this._oncolumnwidthchanged,this);
this.addListener(k,this._onvisibilitychanged,this);
}if(this.getBehavior()==null){this.setBehavior(new qx.ui.table.columnmodel.resizebehavior.Default());
}this.getBehavior()._setNumColumns(d);
},getTable:function(){return this.__rS;
},_addResetColumnWidthButton:function(event){var c=event.getData();
var b=c.columnButton;
var a=c.menu;
var o;
o=b.factory(l);
a.add(o);
o=b.factory(i,{text:this.tr(j)});
a.add(o);
o.addListener(f,this._onappear,this);
},_onappear:function(event){if(this.__rQ){return ;
}this.__rQ=true;
{};
this.getBehavior().onAppear(event,event.getType()!==t);
this.__rS._updateScrollerWidths();
this.__rS._updateScrollBarVisibility();
this.__rQ=false;
this.__rR=true;
},_onTableWidthChanged:function(event){if(this.__rQ||!this.__rR){return ;
}this.__rQ=true;
{};
this.getBehavior().onTableWidthChanged(event);
this.__rQ=false;
},_onverticalscrollbarchanged:function(event){if(this.__rQ||!this.__rR){return ;
}this.__rQ=true;
{};
this.getBehavior().onVerticalScrollBarChanged(event);
qx.event.Timer.once(function(){if(this.__rS&&!this.__rS.isDisposed()){this.__rS._updateScrollerWidths();
this.__rS._updateScrollBarVisibility();
}},this,0);
this.__rQ=false;
},_oncolumnwidthchanged:function(event){if(this.__rQ||!this.__rR){return ;
}this.__rQ=true;
{};
this.getBehavior().onColumnWidthChanged(event);
this.__rQ=false;
},_onvisibilitychanged:function(event){if(this.__rQ||!this.__rR){return ;
}this.__rQ=true;
{};
this.getBehavior().onVisibilityChanged(event);
this.__rQ=false;
}},destruct:function(){this.__rS=null;
}});
})();
(function(){var e="auto",d="string",c="number",b="*",a="qx.ui.core.ColumnData";
qx.Class.define(a,{extend:qx.ui.core.LayoutItem,construct:function(){qx.ui.core.LayoutItem.call(this);
this.setColumnWidth(e);
},members:{__rT:null,renderLayout:function(j,top,k,l){this.__rT=k;
},getComputedWidth:function(){return this.__rT;
},getFlex:function(){return this.getLayoutProperties().flex||0;
},setColumnWidth:function(f,g){var g=g||0;
var h=null;

if(typeof f==c){this.setWidth(f);
}else if(typeof f==d){if(f==e){g=1;
}else{var i=f.match(/^[0-9]+(?:\.[0-9]+)?([%\*])$/);

if(i){if(i[1]==b){g=parseFloat(f);
}else{h=f;
}}}}this.setLayoutProperties({flex:g,width:h});
}},settings:{"qx.tableResizeDebug":false}});
})();
(function(){var b="qx.ui.table.columnmodel.resizebehavior.Abstract",a="abstract";
qx.Class.define(b,{type:a,extend:qx.core.Object,members:{_setNumColumns:function(i){throw new Error("_setNumColumns is abstract");
},onAppear:function(event,c){throw new Error("onAppear is abstract");
},onTableWidthChanged:function(event){throw new Error("onTableWidthChanged is abstract");
},onVerticalScrollBarChanged:function(event){throw new Error("onVerticalScrollBarChanged is abstract");
},onColumnWidthChanged:function(event){throw new Error("onColumnWidthChanged is abstract");
},onVisibilityChanged:function(event){throw new Error("onVisibilityChanged is abstract");
},_getAvailableWidth:function(){var e=this.getTableColumnModel();
var h=e.getTable();
var d=h._getPaneScrollerArr();

if(!d[0]||!d[0].getLayoutParent().getBounds()){return null;
}var g=d[0].getLayoutParent().getBounds().width;
var f=d[d.length-1];
g-=f.getPaneInsetRight();
return g;
}}});
})();
(function(){var A="Function",z="Boolean",y="minWidth",x="width",w="qx.ui.table.columnmodel.Resize",v="qx.ui.table.columnmodel.resizebehavior.Default",u="__rV",t="__rW",s="maxWidth";
qx.Class.define(v,{extend:qx.ui.table.columnmodel.resizebehavior.Abstract,construct:function(){qx.ui.table.columnmodel.resizebehavior.Abstract.call(this);
this.__rU=[];
this.__rV=new qx.ui.layout.HBox();
this.__rV.connectToWidget(this);
this.__rW=new qx.util.DeferredCall(this._computeColumnsFlexWidth,this);
},properties:{newResizeBehaviorColumnData:{check:A,init:function(O){return new qx.ui.core.ColumnData();
}},initializeWidthsOnEveryAppear:{check:z,init:false},tableColumnModel:{check:w}},members:{__rV:null,__rX:null,__rU:null,__rW:null,__rY:false,setWidth:function(C,D,E){if(C>=this.__rU.length){throw new Error("Column number out of range");
}this.__rU[C].setColumnWidth(D,E);
this.__rW.schedule();
},setMinWidth:function(W,X){if(W>=this.__rU.length){throw new Error("Column number out of range");
}this.__rU[W].setMinWidth(X);
this.__rW.schedule();
},setMaxWidth:function(S,T){if(S>=this.__rU.length){throw new Error("Column number out of range");
}this.__rU[S].setMaxWidth(T);
this.__rW.schedule();
},set:function(P,Q){for(var R in Q){switch(R){case x:this.setWidth(P,Q[R]);
break;
case y:this.setMinWidth(P,Q[R]);
break;
case s:this.setMaxWidth(P,Q[R]);
break;
default:throw new Error("Unknown property: "+R);
}}},onAppear:function(event,a){if(a===true||!this.__rY||this.getInitializeWidthsOnEveryAppear()){this._computeColumnsFlexWidth();
this.__rY=true;
}},onTableWidthChanged:function(event){this._computeColumnsFlexWidth();
},onVerticalScrollBarChanged:function(event){this._computeColumnsFlexWidth();
},onColumnWidthChanged:function(event){this._extendNextColumn(event);
},onVisibilityChanged:function(event){var B=event.getData();
if(B.visible){this._computeColumnsFlexWidth();
return;
}this._extendLastColumn(event);
},_setNumColumns:function(U){var V=this.__rU;
if(U<=V.length){V.splice(U,V.length);
return;
}for(var i=V.length;i<U;i++){V[i]=this.getNewResizeBehaviorColumnData()();
V[i].columnNumber=i;
}},getLayoutChildren:function(){return this.__rX;
},_computeColumnsFlexWidth:function(){this.__rW.cancel();
var p=this._getAvailableWidth();

if(p===null){return;
}var k=this.getTableColumnModel();
var n=k.getVisibleColumns();
var o=n.length;
var m=this.__rU;
var i,l;

if(o===0){return;
}var r=[];

for(i=0;i<o;i++){r.push(m[n[i]]);
}this.__rX=r;
this.__sa();
this.__rV.renderLayout(p,100);
for(i=0,l=r.length;i<l;i++){var q=r[i].getComputedWidth();
k.setColumnWidth(n[i],q);
}},__sa:function(){this.__rV.invalidateChildrenCache();
var N=this.__rX;

for(var i=0,l=N.length;i<l;i++){N[i].invalidateLayoutCache();
}},_extendNextColumn:function(event){var f=this.getTableColumnModel();
var j=event.getData();
var d=f.getVisibleColumns();
var c=this._getAvailableWidth();
var b=d.length;
if(j.newWidth>j.oldWidth){return ;
}var i;
var e;
var h=0;

for(i=0;i<b;i++){h+=f.getColumnWidth(d[i]);
}if(h<c){for(i=0;i<d.length;i++){if(d[i]==j.col){e=d[i+1];
break;
}}
if(e){var g=(c-(h-f.getColumnWidth(e)));
f.setColumnWidth(e,g);
}}},_extendLastColumn:function(event){var I=this.getTableColumnModel();
var M=event.getData();
if(M.visible){return;
}var H=I.getVisibleColumns();
if(H.length==0){return;
}var G=this._getAvailableWidth(I);
var F=H.length;
var i;
var K;
var L=0;

for(i=0;i<F;i++){L+=I.getColumnWidth(H[i]);
}if(L<G){K=H[H.length-1];
var J=(G-(L-I.getColumnWidth(K)));
I.setColumnWidth(K,J);
}},_getResizeColumnData:function(){return this.__rU;
}},destruct:function(){this.__rU=this.__rX=null;
this._disposeObjects(u,t);
}});
})();
(function(){var j="String",i="_applyIconTrue",h="decoration/table/boolean-true.png",g="qx.ui.table.cellrenderer.Boolean",f=";padding-top:4px;",e="decoration/table/boolean-false.png",d="_applyIconFalse";
qx.Class.define(g,{extend:qx.ui.table.cellrenderer.AbstractImage,construct:function(){qx.ui.table.cellrenderer.AbstractImage.call(this);
this.__sb=qx.util.AliasManager.getInstance();
this.initIconTrue();
this.initIconFalse();
},properties:{iconTrue:{check:j,init:h,apply:i},iconFalse:{check:j,init:e,apply:d}},members:{__sc:null,__sd:false,__sb:null,_applyIconTrue:function(k){this.__sc=this.__sb.resolve(k);
},_applyIconFalse:function(l){this.__sd=this.__sb.resolve(l);
},_insetY:5,_getCellStyle:function(a){return qx.ui.table.cellrenderer.AbstractImage.prototype._getCellStyle.call(this,a)+f;
},_identifyImage:function(b){var c={imageWidth:11,imageHeight:11};

switch(b.value){case true:c.url=this.__sc;
break;
case false:c.url=this.__sd;
break;
default:c.url=null;
break;
}return c;
}},destruct:function(){this.__sb=null;
}});
})();
(function(){var c="",b="qx.ui.table.cellrenderer.Password",a="*";
qx.Class.define(b,{extend:qx.ui.table.cellrenderer.Default,members:{_getContentHtml:function(d){var e=d.value;

if(e===null){e=c;
}d.value=e.replace(/./g,a);
return qx.bom.String.escape(this._formatValue(d));
}}});
})();
(function(){var i="Function",h="undefined",g="qx.ui.table.cellrenderer.Replace",f="Object";
qx.Class.define(g,{extend:qx.ui.table.cellrenderer.Default,properties:{replaceMap:{check:f,nullable:true,init:null},replaceFunction:{check:i,nullable:true,init:null}},members:{_getContentHtml:function(a){var d=a.value;
var b=this.getReplaceMap();
var c=this.getReplaceFunction();
var e;
if(b){e=b[d];

if(typeof e!=h){a.value=e;
return qx.bom.String.escape(this._formatValue(a));
}}if(c){a.value=c(d);
}return qx.bom.String.escape(this._formatValue(a));
},addReversedReplaceMap:function(){var j=this.getReplaceMap();

for(var l in j){var k=j[l];
j[k]=l;
}return true;
}}});
})();
(function(){var k="",j="Function",h="qx.ui.table.celleditor.ComboBox",g="number",f="Array",e="table-editor-combobox",d="appear";
qx.Class.define(h,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,properties:{validationFunction:{check:j,nullable:true,init:null},listData:{check:f,init:null,nullable:true}},members:{createCellEditor:function(m){var o=new qx.ui.form.ComboBox().set({appearance:e});
var p=m.value;
o.originalValue=p;
var s=m.table.getTableColumnModel().getDataCellRenderer(m.col);
var q=s._getContentHtml(m);

if(p!=q){p=q;
}if(p===null||p===undefined){p=k;
}var n=this.getListData();

if(n){var r;

for(var i=0,l=n.length;i<l;i++){var t=n[i];

if(t instanceof Array){r=new qx.ui.form.ListItem(t[0],t[1]);
}else{r=new qx.ui.form.ListItem(t,null);
}o.add(r);
}}o.setValue(k+p);
o.addListener(d,function(){o.selectAllText();
});
return o;
},getCellEditorValue:function(a){var c=a.getValue()||k;
var b=this.getValidationFunction();

if(b){c=b(c,a.originalValue);
}
if(typeof a.originalValue==g){c=parseFloat(c);
}return c;
}}});
})();
(function(){var h="",g="row",f="Function",e="qx.ui.table.celleditor.SelectBox",d="number",c="table-editor-selectbox",b="appear",a="Array";
qx.Class.define(e,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,properties:{validationFunction:{check:f,nullable:true,init:null},listData:{check:a,init:null,nullable:true}},members:{createCellEditor:function(j){var n=new qx.ui.form.SelectBox().set({appearance:c});
var o=j.value;
n.originalValue=o;
var r=j.table.getTableColumnModel().getDataCellRenderer(j.col);
var p=r._getContentHtml(j);

if(o!=p){o=p;
}if(o===null){o=h;
}var m=this.getListData();

if(m){var q;

for(var i=0,l=m.length;i<l;i++){var s=m[i];

if(s instanceof Array){q=new qx.ui.form.ListItem(s[0],s[1]);
q.setUserData(g,s[2]);
}else{q=new qx.ui.form.ListItem(s,null);
q.setUserData(g,s);
}n.add(q);
}}var k=n.getChildrenContainer().findItem(h+o);

if(k){n.setSelection([k]);
}else{n.resetSelection();
}n.addListener(b,function(){n.open();
});
return n;
},getCellEditorValue:function(t){var u=t.getSelection();
var w=h;

if(u&&u[0]){w=u[0].getUserData(g)||u[0].getLabel();
}var v=this.getValidationFunction();

if(v){w=v(w,t.originalValue);
}
if(typeof t.originalValue==d){w=parseFloat(w);
}return w;
}}});
})();
(function(){var b="qx.ui.table.celleditor.PasswordField",a="table-editor-textfield";
qx.Class.define(b,{extend:qx.ui.table.celleditor.AbstractField,members:{_createEditor:function(){var c=new qx.ui.form.PasswordField();
c.setAppearance(a);
return c;
}}});
})();
(function(){var d="password",c="qx.ui.form.PasswordField",b="input";
qx.Class.define(c,{extend:qx.ui.form.TextField,members:{_createInputElement:function(){var a=new qx.html.Input(d);
a.addListener(b,this._onHtmlInput,this);
return a;
}}});
})();
(function(){var m="keypress",l="Enter",k="qx.ui.table.celleditor.CheckBox",j="focus",i="center",h="keydown",g="middle",f="activate";
qx.Class.define(k,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,members:{createCellEditor:function(b){var d=new qx.ui.container.Composite(new qx.ui.layout.HBox().set({alignX:i,alignY:g})).set({focusable:true});
var c=new qx.ui.form.CheckBox().set({value:b.value});
d.add(c);
d.addListener(j,function(){c.focus();
});
d.addListener(f,function(){c.activate();
});
c.addListener(h,function(e){if(e.getKeyIdentifier()==l){var n=qx.event.Pool.getInstance().getObject(qx.event.type.KeySequence);
var o=d.getContainerElement().getDomElement();
n.init(e.getNativeEvent(),o,e.getKeyIdentifier());
n.setType(m);
qx.event.Registration.dispatchEvent(o,n);
}},this);
return d;
},getCellEditorValue:function(a){return a.getChildren()[0].getValue();
}}});
})();
(function(){var y="infoMsgBox",x="errorMsgBox",w="",v="-",u="AjaxAnimator",t="Get account %1",s="isNew=true",r="getAccount",q="addDeviceMapping",p=":loginName",bk="getDeviceMapping",bj="User Administration",bi="Add DeviceMapping %1",bh="DeviceMapping removed with null response",bg="getAccountLoginNames",bf="window title",be="execute",bd=":deviceImei",bc="DeviceMapping saved",bb="22/userAdmin.png",F="application/watchee.service.accountTO",G="DeviceMapping added with null response",D=":mergeIfExists",E="Remove DeviceMapping %1",B="loginName",C="Add account failed: %1 %2",z="button title",A="Add deviceMapping failed: %1 %2",H="Adding get account login names failed: %1 %2",I=":deviceLoginName",P="deviceMappingId=",N="Account added",T="Remove deviceMapping failed: %1 %2",R="Get deviceMapping failed: %1 %2",W="DeviceMapping removed",V="Add account failed with empty data",K="DeviceMapping didn't exist",ba="Save",Y="DeviceMapping added",X="Account changed",J="track.admin.account.UserAdminWindow",L="Get account list",M="Get account failed: %1 %2",O="close",Q="Get DeviceMapping %1",S=":deviceMappingId",U=",";
var o=275;
var n=0;
qx.Class.define(J,{extend:qx.ui.window.Window,construct:function(bU){qx.ui.window.Window.call(this);
this.trackGui=bU||null;
var bV=new qx.ui.layout.HBox();
bV.setSpacing(10);
this.setLayout(bV);
this.setCaption(this.trc(bf,bj));
this.setIcon(xbGetIcon(bb));
this.visibleCompany=false;
this.companyGroupBox=null;
this.accountGroupBox=null;
this.deviceGroupBox=null;
this.addListener(O,function(e){this.clear();
},this);
},members:{getAdminWindowTop:function(){return o;
},getAdminWindowLeft:function(){return n;
},createWindow:function(){if(this.visibleCompany){this.companyGroupBox=new track.admin.account.CompanyGroupBox(this);
var cE=this.companyGroupBox.create();
this.add(cE);
}this.accountGroupBox=new track.admin.account.AccountGroupBox(this);
var cF=this.accountGroupBox.create();
this.add(cF);
this.deviceGroupBox=new track.admin.account.DeviceGroupBox(this);
var cC=this.deviceGroupBox.create();
this.add(cC);
var cD=new qx.ui.form.Button(this.trc(z,ba));
this.add(cD);
cD.addListener(be,function(e){this.sendSaveData();
},this);
this.open();
return true;
},resetDeviceMappingGui:function(){if(this.deviceGroupBox!=null)this.deviceGroupBox.onChangedDeviceMappingTO(null);
},sendGetAccountLoginNames:function(){this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendGetAccountLoginNames with watchee is null");

if(this.accountGroupBox==null)return;
var bo=org.xmlBlaster.util.PropTO;
var bp=this.trackGui.getRequestResponseDispatcher();
var bq=bo.VALUE_TASK_NAMED_GETACCOUNTLOGINNAMES+v+bp.getRequestIdNextVal();
var bm=new Array();
bm.push(new bo(bo.KEY_SERVICENAME,bo.VALUE_SERVICE_ACCOUNT));
bm.push(new bo(bo.KEY_TASK,bo.VALUE_TASK_NAMED_GETACCOUNTLOGINNAMES));
bm.push(new bo(bo.KEY_DATA,w));
bm.push(new bo(bo.KEY_BOUNCE,bq));
var bl=new org.xmlBlaster.util.ServiceTO(bm);
var bn=new org.xmlBlaster.util.ServiceListTO(bl);
this.trackGui.startAjaxAnimator(this.trc(u,L),2000);
bp.registerRequest(bq,120,this.onGetAccountLoginNames,this,w);
this.watchee.publishServiceMessage(bn,this.trackGui.returnQosOrException,this.trackGui,bg);
},onGetAccountLoginNames:function(cc,cd,ce){if(cc.isException()){this.trackGui.errorMsgBox(this.trc(x,H,cc.getBounce(),cc.getErrorMessage()));
return;
}var cf=cc.getPropValue(org.xmlBlaster.util.PropTO.KEY_RESULT);
var cg=cf.split(U);
this.accountGroupBox.onLoginNames(cg);
},sendGetAccount:function(a){var a=a||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendGetAccount with watchee is null");

if(this.accountGroupBox==null)return;
this.deviceGroupBox.onChangedDeviceMappingTO(null);
var f=org.xmlBlaster.util.PropTO;
var g=this.trackGui.getRequestResponseDispatcher();
var h=f.VALUE_TASK_NAMED_GETACCOUNT+v+g.getRequestIdNextVal();
var c=new Array();
c.push(new f(f.KEY_SERVICENAME,f.VALUE_SERVICE_ACCOUNT));
c.push(new f(f.KEY_TASK,f.VALUE_TASK_NAMED_GETACCOUNT));
c.push(new f(f.KEY_DATA+p,a));
c.push(new f(f.KEY_RESULTENCODING,f.ENCODING_PLAIN));
c.push(new f(f.KEY_BOUNCE,h));
var b=new org.xmlBlaster.util.ServiceTO(c);
var d=new org.xmlBlaster.util.ServiceListTO(b);
this.trackGui.startAjaxAnimator(this.trc(u,t,a),2000);
g.registerRequest(h,120,this.onGetAccountTO,this,w);
this.watchee.publishServiceMessage(d,this.trackGui.returnQosOrException,this.trackGui,r);
},onGetAccountTO:function(i,j,k){if(i.isException()){this.trackGui.errorMsgBox(this.trc(x,M,i.getBounce(),i.getErrorMessage()));
return;
}var l=false;
var m=net.watchee.AccountTO.parse(this.trackGui.watchee,i.getResult(),l);
this.accountGroupBox.onChangedAccountTO(m);
this.sendGetDeviceMapping(m.getLoginName());
},sendGetDeviceMapping:function(ch){var ch=ch||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendGetDeviceMapping with watchee is null");

if(this.accountGroupBox==null)return;
var cl=org.xmlBlaster.util.PropTO;
var cm=this.trackGui.getRequestResponseDispatcher();
var cn=cl.VALUE_TASK_NAMED_GETDEVICEMAPPING+v+cm.getRequestIdNextVal();
var cj=new Array();
cj.push(new cl(cl.KEY_SERVICENAME,cl.VALUE_SERVICE_ACCOUNT));
cj.push(new cl(cl.KEY_TASK,cl.VALUE_TASK_NAMED_GETDEVICEMAPPING));
cj.push(new cl(cl.KEY_DATA+p,ch));
cj.push(new cl(cl.KEY_RESULTENCODING,cl.ENCODING_PLAIN));
cj.push(new cl(cl.KEY_BOUNCE,cn));
var ci=new org.xmlBlaster.util.ServiceTO(cj);
var ck=new org.xmlBlaster.util.ServiceListTO(ci);
this.trackGui.startAjaxAnimator(this.trc(u,Q,ch),2000);
cm.registerRequest(cn,120,this.onGetDeviceMapping,this,w);
this.watchee.publishServiceMessage(ck,this.trackGui.returnQosOrException,this.trackGui,bk);
},onGetDeviceMapping:function(br,bs,bt){if(br.isException()){this.trackGui.errorMsgBox(this.trc(x,R,br.getBounce(),br.getErrorMessage()));
return;
}var bw=br.getResult();

if(bw==null||bw.length==0){this.deviceGroupBox.onChangedDeviceMappingTO(null);
}else{var bv=net.watchee.PropertyCollection.parseXml(bw);
var bu=new track.admin.account.DeviceMappingTO(this.trackGui,bv);
this.deviceGroupBox.onChangedDeviceMappingTO(bu);
}},onPreOpen:function(){this.sendGetAccountLoginNames();
return true;
},sendSaveData:function(){var bG=this.accountGroupBox.fillAccountTOFromGui();

if(bG!=null){this.sendAddAccount(bG);

if(this.deviceGroupBox.doAddDevice()){var bF=this.deviceGroupBox.fillDeviceMappingTOFromGui(true);

if(bF!=null)this.sendAddDeviceMapping(bF);
}else{if(this.deviceGroupBox.getImei(false)!=null){var bF=this.deviceGroupBox.fillDeviceMappingTOFromGui(false);

if(bF!=null)this.sendRemoveDeviceMapping(bF);
}}return true;
}return false;
},sendAddAccount:function(co){var co=co||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendAddAccount with watchee is null");

if(this.accountGroupBox==null)return;
var cs=org.xmlBlaster.util.PropTO;
var ct=this.trackGui.getRequestResponseDispatcher();
var cu=cs.VALUE_TASK_NAMED_ADDACCOUNT+v+ct.getRequestIdNextVal();
var cq=new Array();
cq.push(new cs(cs.KEY_SERVICENAME,cs.VALUE_SERVICE_ACCOUNT));
cq.push(new cs(cs.KEY_TASK,cs.VALUE_TASK_NAMED_ADDACCOUNT));
cq.push(new cs(cs.KEY_DATA,co.toXml()));
cq.push(new cs(cs.KEY_DATA+D,true));
cq.push(new cs(cs.KEY_MIME,F));
cq.push(new cs(cs.KEY_RESULTENCODING,cs.ENCODING_PLAIN));
cq.push(new cs(cs.KEY_RESULTMIME,org.xmlBlaster.util.PropTO.VALUE_RESULTMIME_CSV));
cq.push(new cs(cs.KEY_BOUNCE,cu));
var cp=new org.xmlBlaster.util.ServiceTO(cq);
var cr=new org.xmlBlaster.util.ServiceListTO(cp);
this.trackGui.startAjaxAnimator(this.trc(u,t,co.getLoginName()),2000);
ct.registerRequest(cu,120,this.onAddAccountResponse,this,w);
this.watchee.publishServiceMessage(cr,this.trackGui.returnQosOrException,this.trackGui,r);
},onAddAccountResponse:function(cv,cw,cx){var cv=cv||null;

if(cv==null){this.trackGui.errorMsgBox(this.trc(x,V));
return;
}
if(cv.isException()){this.trackGui.errorMsgBox(this.trc(x,C,cv.getBounce(),cv.getErrorMessage()));
return;
}var cz=cv.getResult();
var cy=org.xmlBlaster.util.Hashtable.parseCSV(cz);
var cB=cz.indexOf(s)!=-1;
var cA=cy.get(B,null);
this.accountGroupBox.onLoginNameAdded(cA);

if(cB)this.trackGui.infoMsgBox(this.trc(y,N));
else this.trackGui.infoMsgBox(this.trc(y,X));
},sendAddDeviceMapping:function(bx){var bx=bx||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendAddDeviceMapping with watchee is null");

if(this.accountGroupBox==null)return;
var by=bx.getLoginName();
var bC=org.xmlBlaster.util.PropTO;
var bD=this.trackGui.getRequestResponseDispatcher();
var bE=bC.VALUE_TASK_NAMED_ADDDEVICEMAPPING+v+bD.getRequestIdNextVal();
var bz=new Array();
bz.push(new bC(bC.KEY_SERVICENAME,bC.VALUE_SERVICE_ACCOUNT));
bz.push(new bC(bC.KEY_TASK,bC.VALUE_TASK_NAMED_ADDDEVICEMAPPING));
bz.push(new bC(bC.KEY_DATA,bx.toXml()));
bz.push(new bC(bC.KEY_MIME,bC.VALUE_RESULTMIME_PROPERTYCOLLECTION));
bz.push(new bC(bC.KEY_RESULTENCODING,bC.ENCODING_PLAIN));
bz.push(new bC(bC.KEY_RESULTMIME,org.xmlBlaster.util.PropTO.VALUE_RESULTMIME_CSV));
bz.push(new bC(bC.KEY_BOUNCE,bE));
var bB=new org.xmlBlaster.util.ServiceTO(bz);
var bA=new org.xmlBlaster.util.ServiceListTO(bB);
this.trackGui.startAjaxAnimator(this.trc(u,bi,by),2000);
bD.registerRequest(bE,120,this.onAddDeviceMappingResponse,this,w);
this.watchee.publishServiceMessage(bA,this.trackGui.returnQosOrException,this.trackGui,q);
},onAddDeviceMappingResponse:function(bW,bX,bY){if(bW==null){this.trackGui.infoMsgBox(this.trc(y,G));
return;
}
if(bW.isException()){this.trackGui.errorMsgBox(this.trc(x,A,bW.getBounce(),bW.getErrorMessage()));
return;
}var ca=bW.getResult();
var cb=ca.indexOf(s)!=-1;

if(cb)this.trackGui.infoMsgBox(this.trc(y,Y));
else this.trackGui.infoMsgBox(this.trc(y,bc));
},sendRemoveDeviceMapping:function(bM){var bM=bM||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendRemoveDeviceMapping with watchee is null");

if(this.accountGroupBox==null)return;
var bN=bM.getLoginName();
var bR=org.xmlBlaster.util.PropTO;
var bS=this.trackGui.getRequestResponseDispatcher();
var bT=bR.VALUE_TASK_NAMED_REMOVEDEVICEMAPPING+v+bS.getRequestIdNextVal();
var bO=new Array();
bO.push(new bR(bR.KEY_SERVICENAME,bR.VALUE_SERVICE_ACCOUNT));
bO.push(new bR(bR.KEY_TASK,bR.VALUE_TASK_NAMED_REMOVEDEVICEMAPPING));
bO.push(new bR(bR.KEY_DATA+I,bM.getLoginName()));
bO.push(new bR(bR.KEY_DATA+S,bM.getDeviceMappingId()));
bO.push(new bR(bR.KEY_DATA+bd,bM.getDeviceImei()));
bO.push(new bR(bR.KEY_RESULTMIME,org.xmlBlaster.util.PropTO.VALUE_RESULTMIME_CSV));
bO.push(new bR(bR.KEY_BOUNCE,bT));
var bQ=new org.xmlBlaster.util.ServiceTO(bO);
var bP=new org.xmlBlaster.util.ServiceListTO(bQ);
this.trackGui.startAjaxAnimator(this.trc(u,E,bN),2000);
bS.registerRequest(bT,120,this.onRemoveDeviceMappingResponse,this,w);
this.watchee.publishServiceMessage(bP,this.trackGui.returnQosOrException,this.trackGui,q);
},onRemoveDeviceMappingResponse:function(bH,bI,bJ){if(bH==null){this.trackGui.infoMsgBox(this.trc(y,bh));
return;
}
if(bH.isException()){this.trackGui.errorMsgBox(this.trc(x,T,bH.getBounce(),bH.getErrorMessage()));
return;
}var bK=bH.getResult();
var bL=bK.indexOf(P)!=-1;

if(bL)this.trackGui.infoMsgBox(this.trc(y,W));
else this.trackGui.infoMsgBox(this.trc(y,K));
this.resetDeviceMappingGui();
},showCompanyGroupBox:function(){return this.visibleCompany;
},getCompanyGroupBox:function(){return this.companyGroupBox;
},getAccountGroupBox:function(){return this.accountGroupBox;
},clear:function(){},destroyPopup:function(){this.clear();

if(this.trackGui!=null){this.trackGui.getMyRoot().remove(this);
this.trackGui=null;
}this.close();
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var t="",s="label name",r="[new company]",q="Aldi",p="Lidl",o="label",n="Edeka",m="Companyname:",l="groupbox title",k="AdminEmail:",d="changeSelection",j=".de",h="select box item",c="Company",b="AdminEmail: ",g="Company: ",f="track.admin.account.CompanyGroupBox",i="Company:",a="admin@";
qx.Class.define(f,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(A){qx.core.Object.call(this);
this.userAdminWindow=A;
},members:{create:function(){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(l,c));
var u=new qx.ui.layout.Grid(3,2);
this.groupBox.setLayout(u);
var v=new qx.ui.basic.Label(this.trc(s,i));
var x=new qx.ui.basic.Label(this.trc(s,m));
var w=new qx.ui.basic.Label(this.trc(s,k));
this.groupBox.add(v,{row:0,column:0});
this.groupBox.add(x,{row:1,column:0});
this.groupBox.add(w,{row:2,column:0});
this.__se=new qx.ui.form.SelectBox();
this.__se.add(new qx.ui.form.ListItem(this.trc(h,r),null,r));
this.__se.add(new qx.ui.form.ListItem(q,null,q));
this.__se.add(new qx.ui.form.ListItem(p,null,p));
this.__se.add(new qx.ui.form.ListItem(n,null,n));
this.__sf=new qx.ui.form.TextField();
this.__sg=new qx.ui.form.TextField();
this.groupBox.add(this.__se,{row:0,column:1});
this.groupBox.add(this.__sf,{row:1,column:1});
this.groupBox.add(this.__sg,{row:2,column:1});
this.__se.addListener(d,function(e){var z=(e.getData().length==0)?null:e.getData()[0];
var y=(z==null)?t:z.getValue();

if(y==t||y==r){this.__sf.setValue(t);
this.__sf.setEnabled(true);
this.__sg.setValue(t);
}else{this.__sf.setValue(y);
this.__sf.setEnabled(false);
this.__sg.setValue(a+y+j);
}this.userAdminWindow.accountGroupBox.companyChanged(y);
},this);
return this.groupBox;
},getCompany:function(){return this.__se.getValue();
},getCompanyInput:function(){return (this.trc(o,g)+this.__sf.getValue()+this.trc(o,b)+this.__sg.getValue());
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var cB="select box item",cA="label name",cz="",cy="errorMsgBox",cx="label",cw=" ",cv="changeSelection",cu="Skipper",ct="[new account]",cs="%1 found",ch="NEW_INSTANCE",cg="GPSvision",cf="Pferdetracking",ce="Netwake",cd="Forstware",cc="de_DE",cb="-",ca="Account",bY="Elite Sportcars AT",bX="Binnenschiffer",cI="Telkomatik",cJ="cs",cG="Auto Wacht DE",cH="First name:",cE="cleverID DE",cF="Elite-Sportcars",cC="Alarm.de DE",cD="Email:",cK="Permission:",cL="Czech cs",cl="Phone number:",ck="...",cn="@",cm="groupbox title",cp="OEM:",co="<br/>Last Web Login: ",cr="Gender:",cq="Comfort",cj="Invalid email '%1', example 'order@gpsvision.de'",ci="Invalid portal password: %1",W="Telkomatik Schweiz",X="Softway Computers India",Y="Magicmaps DE",ba="Password:",bb="execute",bc="SIMNET CZ",bd="input",be="Jetski",bf="End-Date:",bg=".",cP="SkipperInAppPurchase",cO="is a new name",cN="+49",cM="red",cT="%1 matches found",cS="Alias:",cR="hu",cQ=":",cV="Professional",cU="Auto-Wacht",bF="en",bG="SIMNET",bD="GPS-ZIP",bE="button",bJ="Trial Access",bK="Enterprise",bH="Login name:",bI="Binnenschiffer DE",bB="track.admin.account.AccountGroupBox",bC="Hungarian hu",bo="Last name:",bn="usradm",bq="Language:",bp="Login:",bk="Account-Details",bj="Created: ",bm="Mr.",bl="<br/>Tracks: ",bi="male",bh="Alarm.de",bP="German Austria de_AT",bQ="GPS-ZIP DE",bR="Invalid loginName '%1', example 'mueller' (at least 5 chars)",bS="Basic",bL="Invalid end date '%1', example '2009-09-28'",bM="/",bN="_",bO="[new company]",bT="English en",bU="German de_DE",by="de_AT",bx="Mrs.",bw="cleverID",bv="Jetski AT",bu="something",bt="female",bs="de_CH",br="Active:",bA="Magicmaps",bz="German Switzerland de_CH",bV="Softway-Computers",bW="<br/>Last Position: ";
qx.Class.define(bB,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(T){qx.core.Object.call(this);
this.userAdminWindow=T;
this.trackGui=this.userAdminWindow.trackGui;
this.currAccountTO=null;
this.programmaticSetSelected=false;
},members:{create:function(){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(cm,ca));
var Q=new qx.ui.layout.Grid(10,2);
this.groupBox.setLayout(Q);
var D=240;
var E=new qx.ui.basic.Label(this.trc(cA,bH));
var I=new qx.ui.basic.Label(this.trc(cA,bp));
var K=new qx.ui.basic.Label(ck);
var J=new qx.ui.basic.Label(this.trc(cA,cp));
var v=new qx.ui.basic.Label(this.trc(cA,cK));
var P=new qx.ui.basic.Label(this.trc(cA,cS));
var O=new qx.ui.basic.Label(this.trc(cA,cr));
var N=new qx.ui.basic.Label(this.trc(cA,cH));
var A=new qx.ui.basic.Label(this.trc(cA,bo));
var w=new qx.ui.basic.Label(this.trc(cA,cD));
var x=new qx.ui.basic.Label(this.trc(cA,cl));
var B=new qx.ui.basic.Label(this.trc(cA,ba));
var y=new qx.ui.basic.Label(this.trc(cA,bq));
var F=new qx.ui.basic.Label(this.trc(cA,bf));
var M=new qx.ui.basic.Label(this.trc(cA,br));
var z=0;
this.groupBox.add(E,{row:z++,column:0});
this.groupBox.add(I,{row:z++,column:0});
this.groupBox.add(K,{row:z++,column:0});
this.groupBox.add(J,{row:z++,column:0});
this.groupBox.add(v,{row:z++,column:0});
this.groupBox.add(P,{row:z++,column:0});
this.groupBox.add(O,{row:z++,column:0});
this.groupBox.add(N,{row:z++,column:0});
this.groupBox.add(A,{row:z++,column:0});
this.groupBox.add(w,{row:z++,column:0});
this.groupBox.add(x,{row:z++,column:0});
this.groupBox.add(B,{row:z++,column:0});
this.groupBox.add(y,{row:z++,column:0});
this.groupBox.add(F,{row:z++,column:0});
this.groupBox.add(M,{row:z++,column:0});
this.__sh=new qx.ui.form.SelectBox();
this.__sh.setWidth(D);
this.onLoginNames([]);
this.__si=new qx.ui.form.TextField();
this.__sj=new qx.ui.basic.Label(cz);
this.__sj.setTextColor(cM);
this.__sk=new qx.ui.form.SelectBox();
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,cg),null,cg));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,ce),null,ce));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,cd),null,cd));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,cE),null,bw));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,cf),null,cf));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,W),null,cI));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,bQ),null,bD));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,cG),null,cU));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,bI),null,bX));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,bc),null,bG));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,cC),null,bh));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,Y),null,bA));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,bv),null,be));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,bY),null,cF));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,X),null,bV));
this.__sk.add(new qx.ui.form.ListItem(this.trc(cB,cu),null,cu));
this.__sl=new qx.ui.form.SelectBox();
this.__sl.add(new qx.ui.form.ListItem(this.trc(cB,bJ),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_TrialAccess));
this.__sl.add(new qx.ui.form.ListItem(this.trc(cB,bS),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_Basic));
this.__sl.add(new qx.ui.form.ListItem(this.trc(cB,cq),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_Comfort));
this.__sl.add(new qx.ui.form.ListItem(this.trc(cB,cV),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_Professional));
this.__sl.add(new qx.ui.form.ListItem(this.trc(cB,bK),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_Enterprise));
this.__sl.add(new qx.ui.form.ListItem(this.trc(cB,cP),null,net.watchee.PermissionTemplateTO.PERMISSION_SkipperInAppPurchase));
this.__sm=new qx.ui.form.TextField();
this.__sn=new qx.ui.form.SelectBox();
this.__sn.add(new qx.ui.form.ListItem(this.trc(cB,bm),null,bi));
this.__sn.add(new qx.ui.form.ListItem(this.trc(cB,bx),null,bt));
this.__so=new qx.ui.form.TextField();
this.__sp=new qx.ui.form.TextField();
this.__sq=new qx.ui.form.TextField();
this.__sr=new qx.ui.form.TextField();
this.__ss=new qx.ui.form.PasswordField();
this.__st=new qx.ui.form.SelectBox();
this.__st.add(new qx.ui.form.ListItem(this.trc(cB,bU),null,cc));
this.__st.add(new qx.ui.form.ListItem(this.trc(cB,bz),null,bs));
this.__st.add(new qx.ui.form.ListItem(this.trc(cB,bP),null,by));
this.__st.add(new qx.ui.form.ListItem(this.trc(cB,bC),null,cR));
this.__st.add(new qx.ui.form.ListItem(this.trc(cB,cL),null,cJ));
this.__st.add(new qx.ui.form.ListItem(this.trc(cB,bT),null,bF));
this.__su=new qx.ui.form.TextField();
this.__sv=new qx.ui.form.CheckBox();
this.__sw=new qx.ui.form.Button(this.trc(bE,bk));
var L=new qx.ui.container.Composite(new qx.ui.layout.HBox());
L.add(this.__sv);
L.add(this.__sw);
var z=0;
this.groupBox.add(this.__sh,{row:z++,column:1});
this.groupBox.add(this.__si,{row:z++,column:1});
this.groupBox.add(this.__sj,{row:z++,column:1});
this.groupBox.add(this.__sk,{row:z++,column:1});
this.groupBox.add(this.__sl,{row:z++,column:1});
this.groupBox.add(this.__sm,{row:z++,column:1});
this.groupBox.add(this.__sn,{row:z++,column:1});
this.groupBox.add(this.__so,{row:z++,column:1});
this.groupBox.add(this.__sp,{row:z++,column:1});
this.groupBox.add(this.__sq,{row:z++,column:1});
this.groupBox.add(this.__sr,{row:z++,column:1});
this.groupBox.add(this.__ss,{row:z++,column:1});
this.groupBox.add(this.__st,{row:z++,column:1});
this.groupBox.add(this.__su,{row:z++,column:1});
this.groupBox.add(L,{row:z++,column:1});
this.__sw.addListener(bb,function(e){if(this.currAccountTO!=null)this.trackGui.infoMsgBox(bj+this.currAccountTO.getCreationDateStr()+co+org.xmlBlaster.util.getDateStrFromIsoDateStr(this.currAccountTO.getLastLoginWebStr())+cw+org.xmlBlaster.util.getTimeStrFromIsoDateStr(this.currAccountTO.getLastLoginWebStr())+bl+this.currAccountTO.getNumberOfTracks()+bW+org.xmlBlaster.util.getDateStrFromIsoDateStr(this.currAccountTO.getLastPositionTs()));
},this);
var C=this.userAdminWindow.showCompanyGroupBox();

if(C){var G=this.userAdminWindow.getCompanyGroupBox();
var H=G.getCompany();
}else{var H=bu;
this.companyChanged(H);
}this.__sh.addListener(cv,function(e){var dl=(e.getData().length==0)?null:e.getData()[0];
this.__sx(dl);
},this);
this.__si.addListener(bd,function(e){var dd=e.getData();
var dc=this.__si.getValue();

if(dc.length<=2){this.__sj.setValue(cz);
return;
}var de=this.__sA(dc);

if(de.length>1){this.__sj.setValue(this.trc(cx,cT,de.length));
this.onChangedAccountTO(null,false);
this.userAdminWindow.resetDeviceMappingGui();
}else if(de.length==1){this.__sj.setValue(this.trc(cx,cs,de[0]));

if(dc==de[0])this.userAdminWindow.sendGetAccount(de[0]);
}else{this.__sj.setValue(this.trc(cx,cO));
this.userAdminWindow.resetDeviceMappingGui();
}},this);
this.__sl.addListener(cv,function(e){if(this.programmaticSetSelected)return;
var dk=(e.getData().length==0)?null:e.getData()[0];

if(dk.getModel()==net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_TrialAccess)this.__sz();
else this.__su.setValue(cz);
},this);
return this.groupBox;
},__sx:function(U){if(U==null)return ;
var V=U.getModel();

if(V==ch){this.onChangedAccountTO(null);
return;
}this.userAdminWindow.sendGetAccount(V);
},onChangedAccountTO:function(df,dg){var df=df||null;
this.programmaticSetSelected=true;
this.currAccountTO=df;
var dg=org.xmlBlaster.util.toBoolean(dg,true);

if(df==null||df.getLoginName()==ct){if(dg){this.__si.setValue(cz);
}this.__si.setEnabled(true);

if(dg){this.__sj.setValue(cz);
}this.__sk.resetSelection();
this.__sl.resetSelection();
this.__sm.setValue(cz);
this.__sn.resetSelection();
this.__so.setValue(cz);
this.__sp.setValue(cz);
this.__sq.setValue(cz);
this.__sr.setValue(cN);
this.__ss.setValue(cz);
this.__st.resetSelection();
this.__su.setValue(cz);
this.__sz();
this.__sv.setValue(true);
this.__sw.setEnabled(false);
this.userAdminWindow.deviceGroupBox.accountChanged(cz);
}else{this.__si.setValue(df.getLoginName());
if(dg){this.__sj.setValue(cz);
}var dh=track.util.GuiUtils.findListItemByModel(this.__sk,df.getOemName());

if(dh!=null)this.__sk.setSelection([dh]);
else this.__sk.resetSelection();
var dh=this.__sC(df.getPermissionTemplateStr());

if(dh!=null)this.__sl.setSelection([dh]);
else this.__sl.resetSelection();
this.__sm.setValue(df.getAlias());
this.__sn.resetSelection();
this.__so.setValue(df.getFirstName());
this.__sp.setValue(df.getLastName());
this.__sq.setValue(df.getEmail());
this.__sr.setValue(df.getPhoneNumber());
this.__ss.setValue(df.getPassword());
this.__sy(df.getLanguage());
this.__su.setValue(df.getEndDateStr());
this.__sv.setValue(df.isActive());
this.userAdminWindow.deviceGroupBox.accountChanged(df.getLoginName());
this.__sj.setValue(this.trc(cx,cs,df.getLoginName()));
this.__sw.setEnabled(true);
}this.programmaticSetSelected=false;
},__sy:function(b){var c=this.findListItem(this.__st,b);

if(c!=null)this.__st.setSelection([c]);
},findListItem:function(dm,dn){if(dn==null)return null;
var dp=dm.getChildren();

for(var i=0,l=dp.length;i<l;i++){var dq=dp[i];

if(dq!=null&&dq.getModel()==dn)return dq;
}return null;
},__sz:function(){var cY=org.xmlBlaster.util.getCurrentGmtDate(null);
var cX=cY.getTime()+(16*24*60*60*1000);
var db=org.xmlBlaster.util.getCurrentGmtDate(null);
db.setTime(cX);
var da=org.xmlBlaster.util.getDateStr(db);
this.__su.setValue(da);
},fillAccountTOFromGui:function(){if(this.validateGuiEntries()==false)return null;
var cW=new net.watchee.AccountTO(this.trackGui.watchee,this.getLoginName());
cW.setPermissionTemplateStr(this.__sl.getSelection()[0].getModel());
cW.setOemName(this.__sk.getSelection()[0].getModel());
cW.setAlias(this.__sm.getValue());
cW.setGender(this.__sn.getSelection()[0].getModel());
cW.setFirstName(this.__so.getValue());
cW.setLastName(this.__sp.getValue());
cW.setEmail(this.getEmail());
cW.setPhoneNumber(this.__sr.getValue());
cW.setPassword(this.getPassword());
cW.setLanguage(this.__st.getSelection()[0].getModel());
cW.setEndDateStr(this.getEndDate());
cW.setActive(this.__sv.getValue());
return cW;
},onLoginNames:function(s){var s=s||[];
this.__sh.removeAll();
this.__sh.add(new qx.ui.form.ListItem(this.trc(cB,ct),null,ch));

for(var i=0,l=s.length;i<l;i++){var t=s[i];
this.__sh.add(new qx.ui.form.ListItem(t,null,t));
}},onLoginNameAdded:function(di){var di=di||null;

if(di==null)return;
var dj=this.__sB(di);

if(dj==null){this.__sh.add(new qx.ui.form.ListItem(di,null,di));
}},onLoginNameDeleted:function(R){var R=R||null;

if(loginNanme==null)return;
var S=this.__sB(R);

if(S!=null){this.__sh.remove(S);
}},__sA:function(j){if(j==null)return null;
var m=this.__sh.getChildren();
var k=[];

for(var i=0,l=m.length;i<l;i++){var n=m[i];

if(n!=null&&n.getModel().indexOf(j)==0){k.push(n.getModel());
}}return k;
},__sB:function(p){if(p==null)return null;
var q=this.__sh.getChildren();

for(var i=0,l=q.length;i<l;i++){var r=q[i];

if(r!=null&&r.getModel()==p)return r;
}return null;
},__sC:function(d){if(d==null)return null;
var f=this.__sl.getChildren();

for(var i=0,l=f.length;i<l;i++){var g=f[i];

if(g!=null&&g.getModel()==d)return g;
}return null;
},companyChanged:function(a){if(a==bO){this.onLoginNames([]);
}else{this.onLoginNames([]);
}},getEndDate:function(){var u=org.xmlBlaster.util.trim(this.__su.getValue());

if(u==null||u.length==0){return u;
}
if(u.indexOf(cb)!=4||u.length!=10){this.trackGui.errorMsgBox(this.trc(cy,bL,u));
return null;
}return u;
},getEmail:function(){var h=org.xmlBlaster.util.trim(this.__sq.getValue());

if(h==null||h.length<5||h.indexOf(cn)==-1||h.indexOf(bg)==-1||h.indexOf(cw)!=-1){this.trackGui.errorMsgBox(this.trc(cy,cj,h));
return null;
}return h;
},getLoginName:function(){var dr=org.xmlBlaster.util.trim(this.__si.getValue());
var ds=(this.trackGui.getMyLoginName()==bn)?4:5;
if(dr==null||dr.length<ds||dr.indexOf(cQ)!=-1||dr.indexOf(bM)!=-1||dr.indexOf(bN)==0||dr.indexOf(cw)!=-1){this.trackGui.errorMsgBox(this.trc(cy,bR,dr));
return null;
}return dr.toLowerCase();
},getPassword:function(){var o=org.xmlBlaster.util.trim(this.__ss.getValue());

if(o==null||o.length<4){this.trackGui.errorMsgBox(this.trc(cy,ci,o));
return null;
}return o;
},validateGuiEntries:function(){if(this.getEndDate()==null)return false;

if(this.getLoginName()==null)return false;

if(this.getEmail()==null)return false;

if(this.getPassword()==null)return false;
return true;
},destruct:function(){this._disposeFields();
this._disposeObjects();
}}});
})();
(function(){var y="label name",x="errorMsgBox",w="",v="123456",u="Device",t="+",s="iPhone",r="Invalid tracker phone number '%1'",q="changeValue",p="TK5000",X="Password:",W="IMEI:",V="1738d8e79f059c99dd4f3175fbd28943d1eea6bd",U="SoftwayVehicle",T="Android",S="changeSelection",R="TK102",Q="Type:",P="SoftwayPersonal",O="CT100",F="J2ME/Nokia/SonyEricsson/Blackberry",G="TK2000",D="Info:",E="track.admin.account.DeviceGroupBox",B="Invalid IMEI (15 digits expected): %1",C="Invalid tracker phone number '%1', example '+49157734054'",z="0000",A="Invalid tracker password: %1",H="+49",I="Windows-CE Phones",K="359585015245084",J="Add a device:",M="groupbox title",L="Phonenumber:",N="TK105";
qx.Class.define(E,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bc){qx.core.Object.call(this);
this.userAdminWindow=bc;
this.trackGui=this.userAdminWindow.trackGui;
},members:{create:function(){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(M,u));
var f=240;
var j=new qx.ui.layout.Grid(5,2);
this.groupBox.setLayout(j);
var g=new qx.ui.basic.Label(this.trc(y,J));
var k=new qx.ui.basic.Label(this.trc(y,Q));
var d=new qx.ui.basic.Label(this.trc(y,W));
var b=new qx.ui.basic.Label(this.trc(y,X));
var c=new qx.ui.basic.Label(this.trc(y,L));
var h=new qx.ui.basic.Label(this.trc(y,D));
var m=0;
this.groupBox.add(g,{row:m++,column:0});
this.groupBox.add(k,{row:m++,column:0});
this.groupBox.add(d,{row:m++,column:0});
this.groupBox.add(b,{row:m++,column:0});
this.groupBox.add(c,{row:m++,column:0});
this.groupBox.add(h,{row:m++,column:0});
this.__sD=new qx.ui.form.CheckBox();
this.__sE=new qx.ui.form.SelectBox();
this.__sE.setWidth(f);
this.__sE.add(new qx.ui.form.ListItem(R,null,18));
this.__sE.add(new qx.ui.form.ListItem(G,null,20));
this.__sE.add(new qx.ui.form.ListItem(N,null,19));
this.__sE.add(new qx.ui.form.ListItem(p,null,12));
this.__sE.add(new qx.ui.form.ListItem(O,null,14));
this.__sE.add(new qx.ui.form.ListItem(F,null,8));
this.__sE.add(new qx.ui.form.ListItem(s,null,7));
this.__sE.add(new qx.ui.form.ListItem(I,null,9));
this.__sE.add(new qx.ui.form.ListItem(T,null,6));
this.__sE.add(new qx.ui.form.ListItem(P,null,21));
this.__sE.add(new qx.ui.form.ListItem(U,null,22));
this.__sF=new qx.ui.form.TextField();
this.__sG=new qx.ui.form.TextField();
this.__sH=new qx.ui.form.TextField();
this.__sI=new qx.ui.form.TextField();
this.__sE.addListener(S,function(e){var bk=(e.getData().length==0)?null:e.getData()[0];

if(this.__sF.getValue()==w){if(bk!=null&&(bk.getModel()==12||bk.getModel()==14)){this.__sG.setValue(z);
}else{this.__sG.setValue(v);
}}},this);
var m=0;
this.groupBox.add(this.__sD,{row:m++,column:1});
this.groupBox.add(this.__sE,{row:m++,column:1});
this.groupBox.add(this.__sF,{row:m++,column:1});
this.groupBox.add(this.__sG,{row:m++,column:1});
this.groupBox.add(this.__sH,{row:m++,column:1});
this.groupBox.add(this.__sI,{row:m++,column:1});
this.onChangedDeviceMappingTO(null);
this.__sD.addListener(q,function(e){var bf=e.getData();
this.__sF.setEnabled(bf);
},this);
this.__sD.setValue(true);
return this.groupBox;
},doAddDevice:function(){return this.__sD.getValue();
},onChangedDeviceMappingTO:function(bl,bm){var bl=bl||null;
var bm=bm||v;

if(bl==null){this.__sD.setValue(true);
this.__sE.resetSelection();
this.__sF.setValue(w);
this.__sG.setValue(bm);
this.__sH.setValue(H);
this.__sI.setValue(w);
}else{this.__sD.setValue(true);
var bn=this.__sJ(bl.getPubSessionId());

if(bn!=null)this.__sE.setSelection([bn]);
else this.__sE.resetSelection();
this.__sF.setValue(bl.getDeviceImei());
this.__sG.setValue(bl.getHwPasswd());
this.__sH.setValue(bl.getHwPhoneNumber());
this.__sI.setValue(bl.getInfo());
}},fillDeviceMappingTOFromGui:function(bg){if(bg&&this.validateGuiEntries()==false)return null;
var bi=this.userAdminWindow.getAccountGroupBox().getLoginName();
var bh=new track.admin.account.DeviceMappingTO(this.trackGui.watchee);
bh.setLoginName(bi);
var bj=this.__sE.getSelection()[0];

if(bj!=null)bh.setPubSessionId(bj.getModel());
bh.setDeviceImei(this.getImei());
bh.setHwPasswd(this.getHwPasswd());
bh.setHwPhoneNumber(this.getHwPhoneNumber());
bh.setInfo(this.__sI.getValue());
return bh;
},getImei:function(bd){var bd=org.xmlBlaster.util.toBoolean(bd,true);
var be=org.xmlBlaster.util.trim(this.__sF.getValue());
if(be!=null&&(be.length==K.length||be.length==V.length)){return be;
}
if(bd)this.trackGui.errorMsgBox(this.trc(x,B,be));
return null;
},getHwPasswd:function(){var n=org.xmlBlaster.util.trim(this.__sG.getValue());

if(n==null||n.length<4){this.trackGui.errorMsgBox(this.trc(x,A,n));
return null;
}return n;
},getHwPhoneNumber:function(){var o=org.xmlBlaster.util.trim(this.__sH.getValue());

if(o==null||o.length<3){this.trackGui.errorMsgBox(this.trc(x,r,o));
return null;
}
if(!o.indexOf(t)==0){this.trackGui.errorMsgBox(this.trc(x,C,o));
return null;
}return o;
},validateGuiEntries:function(){if(this.getImei()==null)return false;

if(this.getHwPasswd()==null)return false;

if(this.getHwPhoneNumber()==null)return false;
return true;
},__sJ:function(Y){if(Y==null)return null;
var ba=this.__sE.getChildren();

for(var i=0,l=ba.length;i<l;i++){var bb=ba[i];

if(bb!=null&&bb.getModel()==Y)return bb;
}return null;
},accountChanged:function(a){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var o="",n="info",m="hwPasswd",l="deviceImei",k="pubSessionId",j="loginName",i="hwPhoneNumber",h="deviceMappingId",g="track.admin.account.DeviceMappingTO",f="DeviceMapping",c="creationTs",e="modifiedTs",d="accountId";
qx.Class.define(g,{extend:qx.core.Object,construct:function(q,r){qx.core.Object.call(this);
this.trackGui=q;

if(org.xmlBlaster.util.isDefined(r)){this.propertyCollection=r;
}else{this.propertyCollection=new net.watchee.PropertyCollection(f);
}this.gpsDataCached=null;
},members:{getDeviceMappingId:function(){return this.propertyCollection.getStr(h,o);
},getDeviceImei:function(){return this.propertyCollection.getStr(l,o);
},setDeviceImei:function(v){this.propertyCollection.addKeyValue(l,v);
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(c,o);
},getModifiedTs:function(){return this.propertyCollection.getStr(e,o);
},getHwPasswd:function(){return this.propertyCollection.getStr(m,o);
},setHwPasswd:function(t){this.propertyCollection.addKeyValue(m,t);
},getHwPhoneNumber:function(){return this.propertyCollection.getStr(i,o);
},setHwPhoneNumber:function(a){this.propertyCollection.addKeyValue(i,a);
},getPubSessionId:function(){var s=this.propertyCollection.getStr(k,o);
return org.xmlBlaster.util.toNumber(s,0);
},setPubSessionId:function(u){this.propertyCollection.addKeyValue(k,u);
},getInfo:function(){return this.propertyCollection.getStr(n,o);
},setInfo:function(b){if(b==null||b.length<1)this.propertyCollection.remove(n);
else this.propertyCollection.addKeyValue(n,b);
},getAccountId:function(){return this.propertyCollection.getStr(d,o);
},getLoginName:function(){return this.propertyCollection.getStr(j,null);
},setLoginName:function(p){this.propertyCollection.addKeyValue(j,p);
},toXml:function(){return this.propertyCollection.toXml();
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var l="images/anim/watcheeAjax_32.gif",k="#E6FAED",j="visible",i="Loading",h="... ",g="interval",f="track.util.AjaxAnimator",d="...",c="button-pressed",b="hidden",a="left";
qx.Class.define(f,{extend:qx.core.Object,construct:function(r){qx.core.Object.call(this);
this.trackGui=r;
this.animator=null;
},members:{startAjaxAnimator:function(p,q){var p=p||i;
var q=org.xmlBlaster.util.toNumber(q,20000);

if(this.animator==null){this.animator=new qx.ui.basic.Atom(h+p,l).set({backgroundColor:k,decorator:c,iconPosition:a,padding:5,allowGrowY:false});
this.trackGui.headerBar.add(this.animator,{top:2,left:350});
}else{this.animator.setLabel(p);
this.animator.setVisibility(j);
}this.stopAjaxAnimator(q);
},changeLabelAjaxAnimator:function(o){if(this.animator!=null)this.animator.setLabel(o);
},stopAjaxAnimator:function(m){if(this.animator!=null){if(this.animatorTimer==null){this.animatorTimer=new qx.event.Timer(10000);
this.animatorTimer.setEnabled(false);
this.animatorTimer.addListener(g,function(e){this.__sK();
},this);
}var n=org.xmlBlaster.util.toNumber(m,2000);
this.animatorTimer.stop();
this.animatorTimer.startWith(n);
}},__sK:function(){if(this.animator!=null){this.animatorTimer.setEnabled(false);
this.animator.setLabel(d);
this.animator.setVisibility(b);
this.animatorTimer.stop();
}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var bR="",bQ="loginName",bP="userProfile",bO="password",bN="public",bM="#000000",bL="showSortableDeviceTable",bK="showInfoWindowForLatestPosition",bJ="images/watchee-point.png",bI="session.maxSessions",bx="showMenuBar",bw="autoLogin",bv="mapZoom",bu="rundum",bt="#FFFFFF",bs="showMenuBarVideoButton",br="demo",bq="mapCenterLat",bp="mapCenterLng",bo="green-arrow.png",bY="trackingOn",ca="defaultIcon.arrowColor",bW="demo1",bX="2",bU="useOpenLayers",bV="defaultIcon.courseModulo",bS="trackingOnFor",bT="numSegmentsToShow",cb="100%",cc="defaultIcon.arrowWidth",bB="maxGpsDataPerTrackCurrent",bA="defaultIcon.speedSteps",bD="defaultIcon.labelColor",bC="defaultIcon.renderType",bF="numIconsToShow",bE="defaultIcon.labelType",bH="mapType",bG="defaultIcon.iconPixelWidth",bz="0000FF",by="defaultIcon.maxSpeed",t="mapSegmentWidth",u="panningFenceLatPercent",v="isGpsOem",w="panningFenceLngPercent",x="Click on one of the buttons to change the look an feel",y="defaultIcon.name",z="Überlingen",A="FF2200",B="mapStaticMarkerArray",C="useMapWatcheeMapnikLayer",cg="Meersburg",cf="mapMaxZoomOnShow",ce="defaultIcon.labelFormat",cd="mapInfoShowHeight",ck="showSmsTab",cj="locale",ci="geofenceWindow.enabled",ch="mm-",cm="Schiff",cl="useMapGoogleLayer",X="xsmsMaySendToOthers",Y="rulesWindow.enabled",V="track.util.SessionProfile",W="${aliasName}",bc="gpsvision",bd="rundumStart",ba="trackConfigWindow.trackOnOffButton.enabled",bb="demo-02",T="mapCenterOnLocationUpdate",U="shadow-window",K="mapInfoPopupPhoneCall",J="16/apps/preferences-desktop-wallpaper.png",M="Watchee Themes",L="meichle",G="isGpsVision",F="showEmbeddedHtmlFrameLeftBottom",I="embeddedHtmlFrameLeftBottom.url",H="numSegmentsToShowCurrent",E="isgpsoem",D="demo.html",bi="ruleColIsTelephone",bj="G_SATELLITE_MAP",bk="FF0000",bl="/iframelb/index.html",be="Romanshorn",bf="Vector",bg="^mm-...$,^mmt-...$",bh="isWatcheeBeta",bm="mapClickPhoneCall",bn="useMapWatcheeOsmarenderLayer",S="trackConfigWindow.trackRateButton.enabled",R="mapInfoOverallDistance",Q="Lindau Schlagwerk",P="G_PHYSICAL_MAP",O="welcomeBox",N="32/actions/system-run.png";
qx.Class.define(V,{extend:qx.core.Object,construct:function(cn){qx.core.Object.call(this);
this.trackGui=cn;
},members:{activate:function(){this.activateUserProfile(xbProperties.getStr(bP,null));
},activateLoginName:function(cC){this.activateUserProfile(xbProperties.getStr(bP,null),cC);
},postLoginFunctionRundum:function(d){},activateGpsOem:function(co,cp){if(isGpsOem){xbProperties.setDefaultProp(bP,v);
co=xbProperties.getStr(bP,co);
}var cq=co.toLowerCase().indexOf(E)!=-1;

if(!cq)return false;

if(xbProperties.getStr(bQ,bR)==bR){xbProperties.setDefaultProp(bQ,bR);
}
if(xbProperties.getStr(bO,bR)==bR){xbProperties.setDefaultProp(bO,bR);
}watcheeOrange=bt;
watcheeColorSelf=bM;
watcheeBlue=bM;
watcheeDefaultIcon=bo;
xbProperties.setDefaultProp(bK,false);
xbProperties.setDefaultProp(bx,true);
xbProperties.setDefaultProp(bs,false);
xbProperties.setDefaultProp(bL,true);
xbProperties.setDefaultProp(F,false);
xbProperties.setDefaultProp(I,bl);
xbProperties.setDefaultProp(bI,100);
this.info("User profile="+co+" loginName="+cp+" activated");
return true;
},activateGpsVision:function(g,h){if(isGpsVision){xbProperties.setDefaultProp(bP,G);
g=xbProperties.getStr(bP,g);
}var j=g.toLowerCase().indexOf(bc)!=-1;

if(!j)return false;
var i=false;

if(xbProperties.getStr(bQ,bR)==bR){xbProperties.setDefaultProp(bQ,br);
i=true;
}watcheeOrange=bt;
watcheeColorSelf=bM;
watcheeBlue=bM;
watcheeDefaultIcon=bo;
xbProperties.setDefaultProp(bK,false);
xbProperties.setDefaultProp(bx,true);
xbProperties.setDefaultProp(bs,true);
xbProperties.setDefaultProp(bL,true);

if(i){xbProperties.setDefaultProp(bS,bb);
xbProperties.setDefaultProp(bw,true);
xbProperties.setDefaultProp(bO,bW);
xbProperties.setDefaultProp(bI,1000);
xbProperties.setDefaultProp(bv,14);
}this.info("User profile="+g+" loginName="+h+" activated");
return false;
},activateRundum:function(o,p){var r=(!org.xmlBlaster.util.isFilled(o)&&p.indexOf(bu)==0||o.indexOf(bu)==0);

if(!r)return false;
xbProperties.setDefaultProp(bx,true);
xbProperties.setAccountProp(bI,100);
xbProperties.setDefaultProp(bL,true);
xbProperties.setAccountProp(bY,true);
xbProperties.setAccountProp(bw,false);
xbProperties.setAccountProp(bQ,bu);
xbProperties.setAccountProp(bO,bR);
xbProperties.setAccountProp(bB,3);
xbProperties.setAccountProp(bF,1);
xbProperties.setAccountProp(bT,6);
xbProperties.setAccountProp(H,6);
xbProperties.setAccountProp(bK,false);
xbProperties.setAccountProp(u,-1);
xbProperties.setAccountProp(w,-1);
xbProperties.setAccountProp(bC,net.watchee.IconDisplayInfo.RENDER_ARROW);
xbProperties.setAccountProp(y,bf);
xbProperties.setAccountProp(bG,80);
xbProperties.setAccountProp(cc,bX);
xbProperties.setAccountProp(ce,W);
xbProperties.setAccountProp(bD,bk);
xbProperties.setAccountProp(ca,A);
xbProperties.setAccountProp(by,20);
xbProperties.setAccountProp(bA,4);
xbProperties.setAccountProp(bV,10);
xbProperties.setAccountProp(bE,1);
xbProperties.setAccountProp(X,true);
var q=new Array();
q.push({lat:47.53961667,lng:9.684367,icon:bJ,title:Q});
q.push({lat:47.53701667,lng:9.692383,icon:bJ,title:cm});
q.push({lat:47.57281667,lng:9.386667,icon:bJ,title:be});
q.push({lat:47.68111667,lng:9.28805,icon:bJ,title:cg});
q.push({lat:47.76183333,lng:9.16125,icon:bJ,title:z});
xbProperties.setAccountProp(B,q);
xbProperties.setAccountProp(t,1);

if(o==bd){xbProperties.setAccountProp(bH,bj);
xbProperties.setAccountProp(bq,47.53);
xbProperties.setAccountProp(bp,9.7);
xbProperties.setAccountProp(bv,14);
}else{xbProperties.setAccountProp(bH,P);
xbProperties.setAccountProp(bq,47.61);
xbProperties.setAccountProp(bp,9.39);
xbProperties.setAccountProp(bv,11);
xbProperties.setAccountProp(cf,13);
}this.trackGui.postLoginFunction=this.postLoginFunctionRundum;
this.info("User profile "+o+" activated");
return true;
},activateMeichleMohr:function(ct,cu){var cw=((!org.xmlBlaster.util.isFilled(ct)||isGpsVision)&&cu.indexOf(ch)==0||ct.indexOf(L)==0);

if(!cw)return false;
watcheeOrange=bt;
watcheeColorSelf=bM;
watcheeBlue=bM;
watcheeDefaultIcon=bo;
xbProperties.setDefaultProp(bx,true);
xbProperties.setDefaultProp(bs,false);
xbProperties.setDefaultProp(bL,true);
xbProperties.setDefaultProp(bS,bg);
xbProperties.setAccountProp(bB,1);
xbProperties.setAccountProp(bF,1);
xbProperties.setAccountProp(bT,0);
xbProperties.setAccountProp(bK,false);
xbProperties.setAccountProp(bC,net.watchee.IconDisplayInfo.RENDER_ARROW);
xbProperties.setAccountProp(bG,80);
xbProperties.setAccountProp(cc,bX);
xbProperties.setAccountProp(bD,bz);
xbProperties.setAccountProp(ca,bz);
xbProperties.setAccountProp(by,80);
xbProperties.setAccountProp(bA,4);
xbProperties.setAccountProp(bV,30);
xbProperties.setAccountProp(bE,0);
xbProperties.setAccountProp(t,2);
xbProperties.setAccountProp(bq,47.87);
xbProperties.setAccountProp(bp,9.1);
xbProperties.setAccountProp(bv,10);
xbProperties.setAccountProp(T,false);
xbProperties.setAccountProp(ci,false);
xbProperties.setAccountProp(Y,false);
var cv=xbProperties.getBoolean(ck,false);

if(cu.length!=5){}else{xbProperties.setAccountProp(S,false);
xbProperties.setAccountProp(ba,false);
}xbProperties.setAccountProp(bi,true);
xbProperties.setAccountProp(bm,true);
xbProperties.setAccountProp(K,true);
xbProperties.setAccountProp(R,false);
xbProperties.setAccountProp(cd,false);
this.trackGui.postLoginFunction=this.postLoginFunctionRundum;
this.info("User profile "+ct+" activated");
return true;
},activateWatcheeBeta:function(k,l){var m=bR+document.location;
var n=(m.toLowerCase().indexOf(D)>=0);

if(!n)return false;
xbProperties.setDefaultProp(bP,bh);
k=xbProperties.getStr(bP,k);

if(xbProperties.getStr(bQ,bR)==bR){xbProperties.setDefaultProp(bQ,br);
isDemoAccount=true;
}xbProperties.setDefaultProp(bK,true);
xbProperties.setDefaultProp(bx,true);
xbProperties.setDefaultProp(bL,true);
xbProperties.setDefaultProp(bY,true);
xbProperties.setDefaultProp(bw,true);
xbProperties.setDefaultProp(bO,bW);
xbProperties.setDefaultProp(bI,1000);
this.info("User profile="+k+" loginName="+l+" activated");
return true;
},activateWatcheePublic:function(cx,cy){if(!isWatchee){return false;
}xbProperties.setAccountProp(bU,false);
var cA=(cx.toLowerCase().indexOf(bN)==0||cy.toLowerCase().indexOf(bN)==0);

if(!cA)return false;
xbProperties.setAccountProp(bI,100000);
var cz=xbProperties.getBoolean(bw,false);

if(cz){if(xbProperties.getStr(bQ,bR)==bR){xbProperties.setDefaultProp(bQ,bN);
}
if(xbProperties.getStr(bO,bR)==bR){xbProperties.setDefaultProp(bO,bN);
}}else{if(xbProperties.getStr(bQ,bN)==bN){xbProperties.setDefaultProp(O,true);
}}this.info("User profile="+cx+" loginName="+cy+" activated");
return true;
},activateUserProfile:function(a,b){var a=org.xmlBlaster.util.isDefined(a)?a:bR;
var b=org.xmlBlaster.util.isDefined(b)?b:bR;
xbProperties.setAccountProp(bU,true);
xbProperties.setAccountProp(C,true);
xbProperties.setAccountProp(bn,false);
xbProperties.setAccountProp(cl,false);
var c=xbProperties.getStr(cj,bR);

if(org.xmlBlaster.util.isFilled(c)){qx.locale.Manager.getInstance().setLocale(c);
}
if(this.activateWatcheeBeta(a,b)==true)return;

if(this.activateWatcheePublic(a,b)==true)return;

if(this.activateGpsOem(a,b)==true)return;

if(this.activateGpsVision(a,b)==true)return;

if(this.activateRundum(a,b)==true)return;

if(this.activateMeichleMohr(a,b)==true)return;
},getCurrentLoginName:function(){if(this.trackGui==null||this.trackGui.watchee==null)return bR;
var cB=this.trackGui.watchee.getAccountTO().getLoginName();
return cB;
},hasPermissionForEmailSending:function(){var s=this.getCurrentLoginName();

if(s==bN||s==br)return false;
return true;
},hasPermissionForSmsSending:function(){return this.hasPermissionForEmailSending();
},changeTheme:function(){var e=qx.theme.manager.Decoration.getInstance().getTheme();
var f=e.decorations[U];
},chooseThemesWindow:function(){var cs=new qx.ui.window.Window(M,xbGetQxIcon(J));
cs.setLayout(new qx.ui.layout.Canvas());
this.getMyRoot().add(cs,{left:50,top:150,width:cb,height:cb});
var cr=new qx.ui.basic.Atom(x,xbGetQxIcon(N));
cr.setLocation(0,0);
cs.add(cr);
qx.util.ThemeList.createMetaButtons(cs.getPane(),0,50);
return cs;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var W="execute",V="k320i",U="getFriendOf",T="<enter here>",S="Enter Data",R="showDate",Q="getTrack(k320i,2007-12-30)",P="2007-12-30",O="DE",N="en",bA="Prompt",bz="Get Map Coordinates",by="Raw subscribe",bx="track.test.TestForm",bw="<qos><multiSubscribe>false</multiSubscribe><local>false</local><initialUpdate>true</initialUpdate><updateOneway>true</updateOneway><history numEntries='0' newestFirst='false'/></qos>",bv="Pls check you code, there was some severe problem which seems to affect some specific operation in some special environment if you know what I mean.",bu="Error, <b>bad thing</b>",bt="bjoernsSubscribes",bs="Yes, <b>well done</b>",br="Error",be="A private Question",bf="Ask",bc="de",bd="EN",ba="Testing Window",bb="Please enter a <b>nice text</b>",X="DeviceTests: getCommandList",Y="Do you really want to <b>ask</b> a veryyyyyy long question which should not fit into one row?",bg="internal.illegalArgument",bh="16/apps/preferences-desktop-multimedia.png",bk="Info",bj="Set Map Coordinates",bm="Toggle Logging",bl="red",bo="getBuddies",bn="__sys__Event",bi="getTracks(k320i)",bq="<key oid='__sys__Event'/>",bp="TestForm.js";
function M(bE,bF,bG){alert("Processing returnQosOrException ...");

try{if(bE==null)return;
var bK=org.xmlBlaster.util.getDOMDocument(bE);
var bH=org.xmlBlaster.util.parseXmlBlasterResponse(bK);

if(bH.length==0)return ;
var bL=bH[0];

if(bL.isException()){var bI=bL.getXmlBlasterException().getErrorCodeStr();
var bJ=bL.getXmlBlasterException().getMessage();
}else{}}catch(v){alert("Processing returnQosOrException failure"+v);
}}function L(w){for(var A=0;A<w.length;A++){var C=w[A];

try{if(C.isException()){var z=C.getXmlBlasterException();
alert("The server is reporting an error"+z);
return;
}var y=C.getKeyData().getOid();

if(y==bn){var x=C.getQosData().getClientProperty(key,null);
var B=C.getContentStr();
}}catch(bC){alert("Processing onAjaxUpdate failure: "+C.toXml()+" "+bC);
}}}qx.Class.define(bx,{extend:qx.core.Object,construct:function(c){qx.core.Object.call(this);
this.trackGui=c;
},members:{showForm:function(){var o=new qx.ui.window.Window(ba,xbGetQxIcon(bh));
o.setLayout(new qx.ui.layout.Canvas());
o.setWidth(200);
o.setHeight(200);
this.trackGui.getMyRoot().add(o,{left:480,top:0});
var i=0;
var s=0;
var r=new qx.ui.container.Composite(new qx.ui.layout.Grid());
r.setBackgroundColor(bl);
var d=null;
var k=new qx.ui.form.Button(bo);
k.addListener(W,function(e){qx.event.Timer.once(function(){this.trackGui.getBuddies();
},this,1);
},this);
r.add(k,{row:i,column:s++});
var j=new qx.ui.form.Button(U);
j.addListener(W,function(e){qx.event.Timer.once(function(){this.trackGui.getFriendOf();
},this,1);
},this);
r.add(j,{row:i,column:s++});
var p=new qx.ui.form.Button(bi);
p.addListener(W,function(e){qx.event.Timer.once(function(){this.trackGui.getTracks(V);
},this,1);
},this);
r.add(p,{row:i,column:s++});
var f=new qx.ui.form.Button(Q);
f.addListener(W,function(e){qx.event.Timer.once(function(){this.trackGui.getTrackLocations(V,P);
},this,1);
},this);
r.add(f,{row:i,column:s++});
var n=new qx.ui.form.Button(bm);
n.addListener(W,function(e){qx.event.Timer.once(function(){qx.log.appender.Console.toggle();
},this,1);
},this);
r.add(n,{row:i,column:s++});
i++;
s=0;
var m=new qx.ui.form.Button(bf);
m.addListener(W,function(e){this.trackGui.askMsgBox(be,Y,function(t,u){if(t)alert("OK");
else alert("No");
},this,null);
},this);
r.add(m,{row:i,column:s++});
var l=new qx.ui.form.Button(bk);
l.addListener(W,function(e){this.trackGui.infoMsgBox(bs);
},this);
r.add(l,{row:i,column:s++});
var q=new qx.ui.form.Button(bA);
q.addListener(W,function(e){this.trackGui.promptMsgBox(S,bb,T,5,true,function(D,E){if(D){alert(E);
}else{alert("cancel");
}},this);
},this);
r.add(q,{row:i,column:s++});
var g=new qx.ui.form.Button(br);
g.addListener(W,function(e){var bB=new org.xmlBlaster.util.XmlBlasterException(bg,bp,bv);
this.trackGui.errorMsgBox(bu,bB);
},this);
r.add(g,{row:i,column:s++});
i++;
s=0;
{var h=new qx.ui.form.Button(O);
h.addListener(W,function(e){qx.locale.Manager.getInstance().setLocale(bc);
},this);
r.add(h,{row:i,column:s++});
};
{var h=new qx.ui.form.Button(bd);
h.addListener(W,function(e){qx.locale.Manager.getInstance().setLocale(N);
},this);
r.add(h,{row:i,column:s++});
};
i++;
s=0;
{var h=new qx.ui.form.Button(X);
h.addListener(W,function(e){this.trackGui.getWindowManager().popupTestDeviceWindow();
var bD=null;
this.trackGui.sendGetDeviceCommandList(bD);
},this);
r.add(h,{row:i,column:s++});
};
{var h=new qx.ui.form.Button(by);
h.addListener(W,function(e){this.rawSubscribe();
},this);
r.add(h,{row:i,column:s++});
};
this.datetime=new track.util.DateTimePicker();
r.add(this.datetime,{row:i,column:s++});
{var h=new qx.ui.form.Button(R);
h.addListener(W,function(e){alert(this.datetime.getValue());
},this);
r.add(h,{row:i,column:s++});
};
{var h=new qx.ui.form.Button(bz);
h.addListener(W,function(e){var a=this.trackGui.watchee.getMapManager().getCenterCoordinates();
var b=this.trackGui.watchee.getMapManager().getZoomFactor();
alert("Coordinates="+a.toKmlLngLatStr()+" zoomFactor="+b);
},this);
r.add(h,{row:i,column:s++});
};
{var h=new qx.ui.form.Button(bj);
h.addListener(W,function(e){this.trackGui.watchee.getMapManager().setCenterAndZoom(47.11,9.18,6);
},this);
r.add(h,{row:i,column:s++});
};
o.add(r);
o.open();
return o;
},rawSubscribe:function(){var I=this.trackGui.watchee.xbAccess;
var J=null;
I.startAjaxPolling(L,J);
var H=bt;
var F=self;
var G=bw;
var K=bq;
I.subscribe(K,G,M,F,H);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var n="",m='</div>',l="Up",k="none",j="keypress",i='.qxconsole .messages{background:white;height:100%;width:100%;overflow:auto;}',h="Enter",g="px",f='.qxconsole .messages .user-result{background:white}',d='.qxconsole .messages .level-error{background:#FFE2D5}',Y="div",X="user-command",W='<div class="command">',V='.qxconsole .command input:focus{outline:none;}',U='.qxconsole .messages .type-key{color:#565656;font-style:italic}',T='.qxconsole .messages .type-instance{color:#565656;font-weight:bold}',S='.qxconsole .messages div{padding:0px 4px;}',R='.qxconsole .messages .level-debug{background:white}',Q='.qxconsole .messages .type-class{color:#5F3E8A;font-weight:bold}',P="DIV",u='.qxconsole .messages .level-user{background:#E3EFE9}',v='<div class="qxconsole">',s="D",t='.qxconsole .messages .type-map{color:#CC3E8A;font-weight:bold;}',q='.qxconsole .messages .type-string{color:black;font-weight:normal;}',r='.qxconsole .control a{text-decoration:none;color:black;}',o='<div class="messages">',p='.qxconsole .messages .type-boolean{color:#15BC91;font-weight:normal;}',w='<input type="text"/>',x="clear",E='.qxconsole .command input{width:100%;border:0 none;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:1.2;}',C='.qxconsole .messages .type-array{color:#CC3E8A;font-weight:bold;}',I='.qxconsole{z-index:10000;width:600px;height:300px;top:0px;right:0px;position:absolute;border-left:1px solid black;color:black;border-bottom:1px solid black;color:black;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:1.2;}',G='.qxconsole .command{background:white;padding:2px 4px;border-top:1px solid black;}',L='.qxconsole .messages .user-command{color:blue}',K="F7",z="qx.log.appender.Console",O='.qxconsole .messages .level-info{background:#DEEDFA}',N="block",M='.qxconsole .messages .level-warn{background:#FFF7D5}',y='.qxconsole .messages .type-stringify{color:#565656;font-weight:bold}',A='.qxconsole .messages .user-error{background:#FFE2D5}',B='.qxconsole .control{background:#cdcdcd;border-bottom:1px solid black;padding:4px 8px;}',D='<div class="control"><a href="javascript:qx.log.appender.Console.clear()">Clear</a> | <a href="javascript:qx.log.appender.Console.toggle()">Hide</a></div>',F=">>> ",H="Down",J='.qxconsole .messages .type-number{color:#155791;font-weight:normal;}';
qx.Class.define(z,{statics:{init:function(){var ba=[I,B,r,i,S,L,f,A,R,O,M,d,u,q,J,p,C,t,U,Q,T,y,G,E,V];
qx.bom.Stylesheet.createElement(ba.join(n));
var bc=[v,D,o,m,W,w,m,m];
var bd=document.createElement(P);
bd.innerHTML=bc.join(n);
var bb=bd.firstChild;
document.body.appendChild(bd.firstChild);
this.__sL=bb;
this.__sM=bb.childNodes[1];
this.__sN=bb.childNodes[2].firstChild;
this.__sS();
qx.log.Logger.register(this);
qx.core.ObjectRegistry.register(this);
},dispose:function(){qx.event.Registration.removeListener(document.documentElement,j,this.__sT,this);
qx.log.Logger.unregister(this);
},clear:function(){this.__sM.innerHTML=n;
},process:function(bi){this.__sM.appendChild(qx.log.appender.Util.toHtml(bi));
this.__sO();
},__sO:function(){this.__sM.scrollTop=this.__sM.scrollHeight;
},__sP:true,toggle:function(){if(!this.__sL){this.init();
}else if(this.__sL.style.display==k){this.show();
}else{this.__sL.style.display=k;
}},show:function(){if(!this.__sL){this.init();
}else{this.__sL.style.display=N;
this.__sM.scrollTop=this.__sM.scrollHeight;
}},__sQ:[],execute:function(){var c=this.__sN.value;

if(c==n){return;
}
if(c==x){return this.clear();
}var a=document.createElement(Y);
a.innerHTML=qx.log.appender.Util.escapeHTML(F+c);
a.className=X;
this.__sQ.push(c);
this.__sR=this.__sQ.length;
this.__sM.appendChild(a);
this.__sO();

try{var b=window.eval(c);
}catch(be){qx.log.Logger.error(be);
}
if(b!==undefined){qx.log.Logger.debug(b);
}},__sS:function(e){this.__sM.style.height=(this.__sL.clientHeight-this.__sL.firstChild.offsetHeight-this.__sL.lastChild.offsetHeight)+g;
},__sT:function(e){var bg=e.getKeyIdentifier();
if((bg==K)||(bg==s&&e.isCtrlPressed())){this.toggle();
e.preventDefault();
}if(!this.__sL){return;
}if(!qx.dom.Hierarchy.contains(this.__sL,e.getTarget())){return;
}if(bg==h&&this.__sN.value!=n){this.execute();
this.__sN.value=n;
}if(bg==l||bg==H){this.__sR+=bg==l?-1:1;
this.__sR=Math.min(Math.max(0,this.__sR),this.__sQ.length);
var bf=this.__sQ[this.__sR];
this.__sN.value=bf||n;
this.__sN.select();
}}},defer:function(bh){qx.event.Registration.addListener(document.documentElement,j,bh.__sT,bh);
}});
})();
(function(){var u="'>",t="[",s=", ",r="</span>",q="<span class='type-",p="</span> ",o="}",n="",m="]",l="{",R="map",Q="<span class='object'>",P="]:",O="&gt;",N="<span class='object' title='Object instance with hash code: ",M="string",L="level-",K="0",J="&lt;",I="<span class='offset'>",B=":",C="qx.log.appender.Util",z="&amp;",A="&#39;",x="DIV",y="<span>",v="&quot;",w="<span class='type-key'>",D="</span>:<span class='type-",E="</span>: ",G=" ",F="]</span>: ",H="?";
qx.Class.define(C,{statics:{toHtml:function(Y){var bj=[];
var bg,bi,bb,bd;
bj.push(I,this.formatOffset(Y.offset,6),p);

if(Y.object){var ba=Y.win.qx.core.ObjectRegistry.fromHashCode(Y.object);

if(ba){bj.push(N+ba.$$hash+u,ba.classname,t,ba.$$hash,F);
}}else if(Y.clazz){bj.push(Q+Y.clazz.classname,E);
}var bc=Y.items;

for(var i=0,bh=bc.length;i<bh;i++){bg=bc[i];
bi=bg.text;

if(bi instanceof Array){var bd=[];

for(var j=0,bf=bi.length;j<bf;j++){bb=bi[j];

if(typeof bb===M){bd.push(y+this.escapeHTML(bb)+r);
}else if(bb.key){bd.push(w+bb.key+D+bb.type+u+this.escapeHTML(bb.text)+r);
}else{bd.push(q+bb.type+u+this.escapeHTML(bb.text)+r);
}}bj.push(q+bg.type+u);

if(bg.type===R){bj.push(l,bd.join(s),o);
}else{bj.push(t,bd.join(s),m);
}bj.push(r);
}else{bj.push(q+bg.type+u+this.escapeHTML(bi)+p);
}}var be=document.createElement(x);
be.innerHTML=bj.join(n);
be.className=L+Y.level;
return be;
},formatOffset:function(T,length){var W=T.toString();
var U=(length||6)-W.length;
var V=n;

for(var i=0;i<U;i++){V+=K;
}return V+W;
},escapeHTML:function(S){return String(S).replace(/[<>&"']/g,this.__sU);
},__sU:function(bk){var bl={"<":J,">":O,"&":z,"'":A,'"':v};
return bl[bk]||H;
},toText:function(X){return this.toTextArray(X).join(G);
},toTextArray:function(a){var k=[];
k.push(this.formatOffset(a.offset,6));

if(a.object){var b=a.win.qx.core.ObjectRegistry.fromHashCode(a.object);

if(b){k.push(b.classname+t+b.$$hash+P);
}}else if(a.clazz){k.push(a.clazz.classname+B);
}var c=a.items;
var f,h;

for(var i=0,g=c.length;i<g;i++){f=c[i];
h=f.text;

if(h instanceof Array){var d=[];

for(var j=0,e=h.length;j<e;j++){d.push(h[j].text);
}
if(f.type===R){k.push(l,d.join(s),o);
}else{k.push(t,d.join(s),m);
}}else{k.push(h);
}}return k;
}}});
})();
(function(){var l="execute",k="Button",j="loginPost",i="logoutPre",h="statisticWindow.enabled",g="Internet Explorer is not supported, please use the free <a href='http://www.mozilla.com' target='_blank'>Firefox</a>",f="_blank",d="22/video.png",c="Geofence",b="popupStatisticWindow failed: ",E="22/userAdmin.png",D="22/rules/rules.png",C="Rules",B="22/statistic.png",A="userAdmin",z="videoWindow.enabled",y="showMenuBarVideoButton",x="middle",w="Video-Help",v="left",s="track.mainview.MenuBar",t="Statistic",q="browser info",r="22/rules/geofence.png",o="geofenceWindow.enabled",p="red",m="http://www.youtube.com/watch?v=yIRy1AsKEWs",n="User Admin",u="rulesWindow.enabled";
qx.Class.define(s,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(O){qx.core.Object.call(this);
this.trackGui=O;
this.loginPostListenerFunc=null;
this.logoutPreListenerFunc=null;
this.menuBarContainer=null;
this.videoButton=null;
this.maxColHack=0;
},members:{makeMenuBar:function(){var I=new qx.ui.layout.Grid(10,10);
I.setColumnAlign(0,v,x);
I.setRowHeight(0,22);
I.setRowHeight(1,22);
this.menuBarContainer=new qx.ui.container.Composite(I);
var K=0;
var J=0;

if(org.xmlBlaster.util.isIE){var H=new qx.ui.basic.Label(this.trc(q,g));
H.setRich(true);
H.setTextColor(p);
this.menuBarContainer.add(H,{row:K,column:J++,colSpan:4});
}K=1;
J=0;
this.geofenceButton=new qx.ui.form.Button(this.trc(k,c),xbGetIcon(r));
this.menuBarContainer.add(this.geofenceButton,{row:K,column:J++});
this.geofenceButton.addListener(l,function(e){this.info("MenuBar.js: Pressed Geofence");

if(this.trackGui.watchee==null)return;
this.trackGui.getWindowManager().popupGeofenceWindow();
},this);
this.rulesButton=new qx.ui.form.Button(this.trc(k,C),xbGetIcon(D));
this.menuBarContainer.add(this.rulesButton,{row:K,column:J++});
this.rulesButton.addListener(l,function(e){this.info("MenuBar.js: Pressed Rules");

if(this.trackGui.watchee==null)return;
this.trackGui.getWindowManager().popupRulesWindow();
},this);
this.statisticButton=new qx.ui.form.Button(this.trc(k,t),xbGetIcon(B));
this.menuBarContainer.add(this.statisticButton,{row:K,column:J++});
this.statisticButton.addListener(l,function(e){if(this.trackGui.watchee==null)return;

try{this.trackGui.getWindowManager().popupStatisticWindow(null);
}catch(M){this.trackGui.errorMsgBoxDeveloper(b+M);
}},this);
this.homeViewSelectBox=new track.mainview.HomeViewSelectBox(this.trackGui);
this.menuBarContainer.add(this.homeViewSelectBox,{row:K,column:J++});
this.checkShowingVideoButton(K,J++);
if(xbProperties.getBoolean(A,false)==true){this.userAdminButton=new qx.ui.form.Button(this.trc(k,n),xbGetIcon(E));
this.menuBarContainer.add(this.userAdminButton,{row:K,column:J++});
this.userAdminButton.addListener(l,function(e){this.info("MenuBar.js: Pressed User Admin");

if(this.trackGui.watchee==null)return;
this.trackGui.getWindowManager().popupUserAdminWindow();
},this);
}this.maxColHack=J;
this.enableButtons(false);
this.registerListeners();
return this.menuBarContainer;
},enableButtons:function(L){this.menuBarContainer.setEnabled(L);
this.geofenceButton.setEnabled(xbProperties.getBoolean(o,true)&&L);
this.rulesButton.setEnabled(xbProperties.getBoolean(u,true)&&L);
this.statisticButton.setEnabled(xbProperties.getBoolean(h,true)&&L);

if(this.videoButton!=null)this.videoButton.setEnabled(xbProperties.getBoolean(z,true)&&L);
},checkShowingVideoButton:function(F,G){if(xbProperties.getBoolean(y,false)){this.__sV(F,G);
}else{this.__sW();
}},__sV:function(P,Q){if(this.videoButton!=null)return;
this.videoButton=new qx.ui.form.Button(this.trc(k,w),xbGetIcon(d));
this.menuBarContainer.add(this.videoButton,{row:P,column:Q});
this.videoButton.addListener(l,function(e){this.info("MenuBar.js: Pressed Video");
window.open(m,f);

if(this.trackGui.watchee==null)return;
},this);
},__sW:function(){if(this.videoButton==null)return;
this.menuBarContainer.remove(this.videoButton);
this.videoButton.destroy();
this.videoButton=null;
},checkShowingButtons:function(){this.checkShowingVideoButton(1,3);
},registerListeners:function(){this.loginPostListenerFunc=this.trackGui.getEventManager().addListener(j,function(a){this.enableButtons(true);
},this);
this.logoutPreListenerFunc=this.trackGui.getEventManager().addListener(i,function(N){this.enableButtons(false);
},this);
},clear:function(){if(this.loginPostListenerFunc!=null){this.trackGui.getEventManager().removeListener(j,this.loginPostListenerFunc);
this.loginPostListenerFunc=null;
}
if(this.logoutPreListenerFunc!=null){this.trackGui.getEventManager().removeListener(i,this.logoutPreListenerFunc);
this.logoutPreListenerFunc=null;
}}}});
})();
(function(){var u="homeView",t="atom",s="ComboBox",r="16/actions/go-home.png",q="22/actions/go-home.png",p="popup",o="ToolTip",n="errorBox",m="<New home view>",l="changeSelection",g="16/actions/list-add.png",k="changeHomeView",j="Loading home view failed: %1",f="Add new home views under Config",d="track.mainview.HomeViewSelectBox",h="qx.event.type.Data";
qx.Class.define(d,{extend:qx.ui.form.SelectBox,construct:function(v){this.trackGui=v;
qx.ui.form.SelectBox.call(this);
this.getChildControl(t).setAnonymous(false);
this.noEvent=false;
this.configMode=false;
this.newHomeView=null;
this.setToolTipText(this.trc(o,f));
this.icon=xbGetQxIcon(q);
this.addListener(l,function(e){if(this.noEvent)return;
var c=(e.getData().length==0)?null:e.getData()[0];
this._centerHomeView(c);
},this);
},events:{"changeHomeView":h},members:{setConfigMode:function(){this.configMode=true;
this.icon=xbGetQxIcon(r);
this.resetToolTipText();
this.newHomeView=new net.watchee.HomeView(this.trc(s,m),0,0,0);
},updateItems:function(){this.removeAll();

if(this.configMode){var x=this.parseListItem(this.newHomeView);
x.setIcon(xbGetQxIcon(g));
this._addNoEvent(x);
}var y=this.trackGui.homeViews.getArr();

if(y.length>0){for(var i=0;i<y.length;i++){this._addNoEvent(this.parseListItem(y[i]));
}}},parseListItem:function(A){var B=new qx.ui.form.ListItem(A.getName(),this.icon);
B.setUserData(u,A);
return B;
},_addNoEvent:function(w){this.noEvent=true;
this.add(w);
this.noEvent=false;
},_onClick:function(e){var a=e.getTarget();

if(a==this.getChildControl(t)&&!this.getChildControl(p).isVisible()){var b=this.getSelection()[0];
this._centerHomeView(b);
}else{this.toggle();
}},_centerHomeView:function(C){if(C==null)return;

if(this.trackGui.watchee==null)return;
var D=C.getUserData(u);

if(D==null)return;

try{if(D!=this.newHomeView)this.trackGui.watchee.getMapManager().setCenterAndZoom(D.getLat(),D.getLon(),D.getZoom());
this.fireDataEvent(k,D);
}catch(z){this.trackGui.errorMsgBoxDeveloper(this.trc(n,j,z));
}}}});
})();
(function(){var m="right",l="Login",k="execute",j="public",i="errorMsgBox title",h="click",g="bold",f="red",d="Enter",c="submitLoginButton.enabled",I="Password",H="16/actions/dialog-ok.png",G="preferenceWindow.enabled",F="Login name",E="22/Flag_Germany.png",D="Login problem",C="password",B="The Password Label",A="The Login name Label",z="track.mainview.LoginForm",t="loginName",u="Button Label",r="middle",s="Logout problem",p="16/actions/go-home.png",q="Config",n="The Config Button",o="de",v="The Login Button",w="keypress",y="en",x="22/Flag_England.png";
qx.Class.define(z,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(O){qx.core.Object.call(this);
this.trackGui=O;
},members:{makeLoginForm:function(){var M=new qx.ui.layout.Grid(10,10);
M.setColumnAlign(0,m,r);
M.setRowHeight(0,22);
M.setRowHeight(1,22);
var J=new qx.ui.container.Composite(M);
var N=new qx.ui.basic.Label(this.trc(A,F));

with(N){setFont(g);
setTextColor(watcheeOrange);
}J.add(N,{row:0,column:0});
this.loginTextField=new qx.ui.form.TextField(xbProperties.getStr(t,j));
J.add(this.loginTextField,{row:0,column:1});
var L=new qx.ui.basic.Label(this.trc(B,I));

with(L){setFont(g);
setTextColor(watcheeOrange);
}J.add(L,{row:1,column:0});
this.passwordTextField=new qx.ui.form.PasswordField(xbProperties.getStr(C,j));
J.add(this.passwordTextField,{row:1,column:1});
this.clickedLoginButtonIsProcessing=false;
this.passwordTextField.addListener(w,function(P){if(P.getKeyIdentifier()==d){this.clickedLoginButton();
}},this);
this.configureButton=new qx.ui.form.Button(this.trc(n,q),xbGetQxIcon(p));

with(this.configureButton){setAlignX(m);
setEnabled(false);
}J.add(this.configureButton,{row:0,column:2});
this.submitLoginButton=new qx.ui.form.Button(this.trc(v,l),xbGetQxIcon(H));
this.submitLoginButton.setEnabled(xbProperties.getBoolean(c,true));

with(this.submitLoginButton){setAlignX(m);
setBackgroundColor(f);
}J.add(this.submitLoginButton,{row:1,column:2});
this.configureButton.addListener(k,function(e){if(this.trackGui.watchee==null)return;
this.trackGui.createPreferenceWindow();
},this);
this.clickedLoginButtonIsProcessing=false;
this.submitLoginButton.addListener(k,function(e){this.clickedLoginButton();
},this);
var K=new qx.ui.basic.Atom(null,xbGetIcon(x));
K.addListener(h,function(e){qx.locale.Manager.getInstance().setLocale(y);
},this);
J.add(K,{row:0,column:3});
var K=new qx.ui.basic.Atom(null,xbGetIcon(E));
K.addListener(h,function(e){qx.locale.Manager.getInstance().setLocale(o);
},this);
J.add(K,{row:1,column:3});
return J;
},clickedLoginButton:function(){if(this.clickedLoginButtonIsProcessing)return;
this.clickedLoginButtonIsProcessing=true;
var b=(this.trackGui.watchee==null);

try{if(this.trackGui.watchee!=null){this.trackGui.logout();
}else{this.trackGui.sessionProfile.activateLoginName(this.getLoginTextFieldValue());
this.trackGui.makeEmbeddedMapFrame();
this.trackGui.loginExecute(this.getLoginTextFieldValue(),this.passwordTextField.getValue());
}}catch(Q){this.trackGui.errorMsgBox((b?this.trc(i,D):this.trc(i,s)),Q);
}this.clickedLoginButtonIsProcessing=false;
},getLoginTextFieldValue:function(){return org.xmlBlaster.util.trim(this.loginTextField.getValue());
},setPasswordTextFieldValue:function(R){this.passwordTextField.setValue(R);
},getPasswordTextFieldValue:function(){return this.passwordTextField.getValue();
},setSubmitLoginButtonLabel:function(a){this.submitLoginButton.setLabel(a);
},isLoggedIn:function(){if(xbProperties.getBoolean(G,true)){this.configureButton.setEnabled(true);
}this.submitLoginButton.resetBackgroundColor();
},isLoggedOut:function(){this.configureButton.setEnabled(false);
this.submitLoginButton.setLabel(this.trc(u,l));
this.submitLoginButton.setBackgroundColor(f);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var J="splitter",I="slider",H="mousedown",G="mouseout",F="mousemove",E="mouseup",D="losecapture",C="active",B="horizontal",A="vertical",ba="knob",Y="Integer",X="height",W="row-resize",V="move",U="maxHeight",T="width",S="_applyOrientation",R="mouseover",Q="splitpane",O="qx.ui.splitpane.Pane",P="_applyOffset",M="minHeight",N="minWidth",K="col-resize",L="maxWidth";
qx.Class.define(O,{extend:qx.ui.core.Widget,construct:function(k){qx.ui.core.Widget.call(this);
this.__sX=[];
if(k){this.setOrientation(k);
}else{this.initOrientation();
}this.addListener(H,this._onMouseDown);
this.addListener(E,this._onMouseUp);
this.addListener(F,this._onMouseMove);
this.addListener(G,this._onMouseOut);
this.addListener(D,this._onMouseUp);
},properties:{appearance:{refine:true,init:Q},offset:{check:Y,init:6,apply:P},orientation:{init:B,check:[B,A],apply:S}},members:{__sY:null,__ta:false,__tb:null,__tc:null,__td:null,__te:null,__tf:null,__sX:null,_createChildControlImpl:function(bh){var bi;

switch(bh){case I:bi=new qx.ui.splitpane.Slider(this);
bi.exclude();
this._add(bi,{type:bh});
break;
case J:bi=new qx.ui.splitpane.Splitter(this);
this._add(bi,{type:bh});
bi.addListener(V,this._onSplitterMove,this);
if(qx.bom.client.Engine.OPERA){bi.addListener(R,this._onSplitterMouseOver,bi);
}break;
}return bi||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bh);
},_applyOrientation:function(bb,bc){var bd=this.getChildControl(I);
var bg=this.getChildControl(J);
this.__td=bb===B;
var bf=this._getLayout();

if(bf){bf.dispose();
}var be=bb===A?new qx.ui.splitpane.VLayout:new qx.ui.splitpane.HLayout;
this._setLayout(be);
bg.removeState(bc);
bg.addState(bb);
bg.getChildControl(ba).removeState(bc);
bg.getChildControl(ba).addState(bb);
bd.removeState(bc);
bd.addState(bb);
},_applyOffset:function(o,p){var q=this.getChildControl(J);

if(p===0){q.removeListener(H,this._onMouseDown,this);
q.removeListener(F,this._onMouseMove,this);
q.removeListener(G,this._onMouseOut,this);
q.removeListener(E,this._onMouseUp,this);
q.removeListener(D,this._onMouseUp,this);
this.addListener(H,this._onMouseDown);
this.addListener(E,this._onMouseUp);
this.addListener(F,this._onMouseMove);
this.addListener(G,this._onMouseOut);
this.addListener(D,this._onMouseUp);
}
if(o===0){this.removeListener(H,this._onMouseDown);
this.removeListener(E,this._onMouseUp);
this.removeListener(F,this._onMouseMove);
this.removeListener(G,this._onMouseOut);
this.removeListener(D,this._onMouseUp);
q.addListener(H,this._onMouseDown,this);
q.addListener(F,this._onMouseMove,this);
q.addListener(G,this._onMouseOut,this);
q.addListener(E,this._onMouseUp,this);
q.addListener(D,this._onMouseUp,this);
}},add:function(i,j){if(j==null){this._add(i);
}else{this._add(i,{flex:j});
}this.__sX.push(i);
},remove:function(n){this._remove(n);
qx.lang.Array.remove(this.__sX,n);
},getChildren:function(){return this.__sX;
},_onMouseDown:function(e){if(!e.isLeftPressed()||!this._isNear()){return;
}var bk=this.getChildControl(J);
var bm=bk.getContainerLocation();
var bl=this.getContentLocation();
this.__sY=this.__td?e.getDocumentLeft()-bm.left+bl.left:e.getDocumentTop()-bm.top+bl.top;
var bo=this.getChildControl(I);
var bn=bk.getBounds();
bo.setUserBounds(bn.left,bn.top,bn.width,bn.height);
bo.setZIndex(bk.getZIndex()+1);
bo.show();
this.__ta=true;
e.getCurrentTarget().capture();
e.stop();
},_onMouseMove:function(e){this._setLastMousePosition(e.getDocumentLeft(),e.getDocumentTop());
if(this.__ta){this.__th();
var l=this.getChildControl(I);
var m=this.__te;

if(this.__td){l.setDomLeft(m);
}else{l.setDomTop(m);
}e.stop();
}else{this.__tg();
}},_onMouseOut:function(e){this._setLastMousePosition(-100,-100);
this.__tg();
},_onMouseUp:function(e){if(!this.__ta){return;
}this._finalizeSizes();
var bj=this.getChildControl(I);
bj.exclude();
this.__ta=false;
this.releaseCapture();
this.__tg();
e.stop();
},_onSplitterMove:function(){this.__tg();
},_onSplitterMouseOver:function(){this.addState(C);
},_finalizeSizes:function(){var d=this.__te;
var a=this.__tf;

if(d==null){return;
}var g=this._getChildren();
var f=g[2];
var b=g[3];
var c=f.getLayoutProperties().flex;
var h=b.getLayoutProperties().flex;
if((c!=0)&&(h!=0)){f.setLayoutProperties({flex:d});
b.setLayoutProperties({flex:a});
}else{if(this.__td){f.setWidth(d);
b.setWidth(a);
}else{f.setHeight(d);
b.setHeight(a);
}}},_isNear:function(){var r=this.getChildControl(J);
var t=r.getBounds();
var v=r.getContainerLocation();
var s=this.getOffset();
if(!v){return;
}var w=this.__tb;
var z=t.width;
var u=v.left;

if(z<s){u-=Math.floor((s-z)/2);
z=s;
}
if(w<u||w>(u+z)){return false;
}var w=this.__tc;
var z=t.height;
var u=v.top;

if(z<s){u-=Math.floor((s-z)/2);
z=s;
}
if(w<u||w>(u+z)){return false;
}return true;
},__tg:function(){var bA=this.getChildControl(J);
var bB=this.getApplicationRoot();
if(this.__ta||this._isNear()){var bz=this.__td?K:W;
this.setCursor(bz);
bB.setGlobalCursor(bz);
bA.addState(C);
}else if(bA.hasState(C)){this.resetCursor();
bB.resetGlobalCursor();
bA.removeState(C);
}},__th:function(){if(this.__td){var br=N,by=T,bs=L,bw=this.__tb;
}else{var br=M,by=X,bs=U,bw=this.__tc;
}var bx=this._getChildren();
var bp=bx[2].getSizeHint();
var bu=bx[3].getSizeHint();
var bv=bx[2].getBounds()[by]+bx[3].getBounds()[by];
var bt=bw-this.__sY;
var bq=bv-bt;
if(bt<bp[br]){bq-=bp[br]-bt;
bt=bp[br];
}else if(bq<bu[br]){bt-=bu[br]-bq;
bq=bu[br];
}if(bt>bp[bs]){bq+=bt-bp[bs];
bt=bp[bs];
}else if(bq>bu[bs]){bt+=bq-bu[bs];
bq=bu[bs];
}this.__te=bt;
this.__tf=bq;
},_isActiveDragSession:function(){return this.__ta;
},_setLastMousePosition:function(x,y){this.__tb=x;
this.__tc=y;
}},destruct:function(){this.__sX=null;
}});
})();
(function(){var a="qx.ui.splitpane.Slider";
qx.Class.define(a,{extend:qx.ui.core.Widget,properties:{allowShrinkX:{refine:true,init:false},allowShrinkY:{refine:true,init:false}}});
})();
(function(){var f="center",e="knob",d="middle",c="qx.ui.splitpane.Splitter",b="vertical";
qx.Class.define(c,{extend:qx.ui.core.Widget,construct:function(a){qx.ui.core.Widget.call(this);
if(a.getOrientation()==b){this._setLayout(new qx.ui.layout.HBox(0,f));
this._getLayout().setAlignY(d);
}else{this._setLayout(new qx.ui.layout.VBox(0,d));
this._getLayout().setAlignX(f);
}this._createChildControl(e);
},properties:{allowShrinkX:{refine:true,init:false},allowShrinkY:{refine:true,init:false}},members:{_createChildControlImpl:function(g){var h;

switch(g){case e:h=new qx.ui.basic.Image;
this._add(h);
break;
}return h||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,g);
}}});
})();
(function(){var c="slider",b="splitter",a="qx.ui.splitpane.VLayout";
qx.Class.define(a,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(d,e){var v=this._getLayoutChildren();
var length=v.length;
var r,u;
var g,f,p,h;

for(var i=0;i<length;i++){r=v[i];
u=r.getLayoutProperties().type;

if(u===b){f=r;
}else if(u===c){p=r;
}else if(!g){g=r;
}else{h=r;
}}
if(g&&h){var x=g.getLayoutProperties().flex;
var k=h.getLayoutProperties().flex;

if(x==null){x=1;
}
if(k==null){k=1;
}var w=g.getSizeHint();
var n=f.getSizeHint();
var o=h.getSizeHint();
var j=w.height;
var s=n.height;
var t=o.height;

if(x>0&&k>0){var l=x+k;
var m=e-s;
var j=Math.round((m/l)*x);
var t=m-j;
var q=qx.ui.layout.Util.arrangeIdeals(w.minHeight,j,w.maxHeight,o.minHeight,t,o.maxHeight);
j=q.begin;
t=q.end;
}else if(x>0){j=e-s-t;

if(j<w.minHeight){j=w.minHeight;
}
if(j>w.maxHeight){j=w.maxHeight;
}}else if(k>0){t=e-j-s;

if(t<o.minHeight){t=o.minHeight;
}
if(t>o.maxHeight){t=o.maxHeight;
}}g.renderLayout(0,0,d,j);
f.renderLayout(0,j,d,s);
h.renderLayout(0,j+s,d,t);
}else{f.renderLayout(0,0,0,0);
if(g){g.renderLayout(0,0,d,e);
}else if(h){h.renderLayout(0,0,d,e);
}}},_computeSizeHint:function(){var H=this._getLayoutChildren();
var length=H.length;
var A,z,G;
var B=0,D=0,C=0;
var E=0,F=0,y=0;

for(var i=0;i<length;i++){A=H[i];
G=A.getLayoutProperties();
if(G.type===c){continue;
}z=A.getSizeHint();
B+=z.minHeight;
D+=z.height;
C+=z.maxHeight;

if(z.minWidth>E){E=z.minWidth;
}
if(z.width>F){F=z.width;
}
if(z.maxWidth>y){y=z.maxWidth;
}}return {minHeight:B,height:D,maxHeight:C,minWidth:E,width:F,maxWidth:y};
}}});
})();
(function(){var c="slider",b="splitter",a="qx.ui.splitpane.HLayout";
qx.Class.define(a,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(o,p){var F=this._getLayoutChildren();
var length=F.length;
var C,E;
var r,q,z,s;

for(var i=0;i<length;i++){C=F[i];
E=C.getLayoutProperties().type;

if(E===b){q=C;
}else if(E===c){z=C;
}else if(!r){r=C;
}else{s=C;
}}
if(r&&s){var H=r.getLayoutProperties().flex;
var t=s.getLayoutProperties().flex;

if(H==null){H=1;
}
if(t==null){t=1;
}var G=r.getSizeHint();
var w=q.getSizeHint();
var y=s.getSizeHint();
var D=G.width;
var B=w.width;
var A=y.width;

if(H>0&&t>0){var u=H+t;
var v=o-B;
var D=Math.round((v/u)*H);
var A=v-D;
var x=qx.ui.layout.Util.arrangeIdeals(G.minWidth,D,G.maxWidth,y.minWidth,A,y.maxWidth);
D=x.begin;
A=x.end;
}else if(H>0){D=o-B-A;

if(D<G.minWidth){D=G.minWidth;
}
if(D>G.maxWidth){D=G.maxWidth;
}}else if(t>0){A=o-D-B;

if(A<y.minWidth){A=y.minWidth;
}
if(A>y.maxWidth){A=y.maxWidth;
}}r.renderLayout(0,0,D,p);
q.renderLayout(D,0,B,p);
s.renderLayout(D+B,0,A,p);
}else{q.renderLayout(0,0,0,0);
if(r){r.renderLayout(0,0,o,p);
}else if(s){s.renderLayout(0,0,o,p);
}}},_computeSizeHint:function(){var n=this._getLayoutChildren();
var length=n.length;
var f,e,m;
var k=0,l=0,d=0;
var g=0,j=0,h=0;

for(var i=0;i<length;i++){f=n[i];
m=f.getLayoutProperties();
if(m.type===c){continue;
}e=f.getSizeHint();
k+=e.minWidth;
l+=e.width;
d+=e.maxWidth;

if(e.minHeight>g){g=e.minHeight;
}
if(e.height>j){j=e.height;
}
if(e.maxHeight>h){h=e.maxHeight;
}}return {minWidth:k,width:l,maxWidth:d,minHeight:g,height:j,maxHeight:h};
}}});
})();
(function(){var bM="ToolTip",bL="",bK="row",bJ="column",bI="execute",bH="device",bG="transparent",bF="table-scroller-header",bE="auto",bD="meeeier",bs="0",br="Sortable column",bq=".",bp="Battery status is not known",bo="16/statusLine/toolTipIcon.png",bn="-",bm="Meier",bl="Please check one alarm",bk="black",bj="top",bT="<b>%1</b> is online but has no GPS signal",bU="muuuel",bR="caption",bS="Edit alarm rules",bP=" / ",bQ="Müller",bN="Make a phone call to %1 (%2) using your phone %3",bO="Device is charged by external power supply [%1 %2%]",bV="Device is charged by external power supply [%1 %2V]",bW="Someone",bw="soome",bv="Test-",by="One device",bx="<b>%1</b> is offline",bA="You have <b>no</b> permission to track on the map",bz="<b>%1</b> is in power saving mode (sleeping)",bC="Please reload the battery [%1 %2%]",bB="bold",bu="<b>%1</b> is online",bt="The color of the track",g="Click to show device position on the map or Right-Click to avoid zooming in",h="Remove Row",j="Power available [%1 %2V]",k="32/statusLine/telephone.png",m="Click to display centered auto-tracking data on the map or Right-Click to not center",n="#CCFFCC",o="The unique device name",p="track.devicestable.DevicesTable",q="48/statusLine/TowTruckYellow.png",r="48/statusLine/CarGrey.png",cb="Remove All",ca="zooros",bY="Send Event",bX="kingKong",cf="cellClick",ce="red",cd="No alarm",cc="table-statusbar",ch="On",cg="<",Q="Click: Sort by alias name / Shift-Click: Sort by login name",R="Debug Window",O="Zorros",P="cellContextmenu",U="Configure your remote device (Shift-Click: Administrator mode)",V="Configure your remote device",S="daniel",T="48/statusLine/HelicopterMedical.png",M="avatarSortBy",N="right",z="48/statusLine/LorryGreen.png",y="main",B="Try Table",A="click",v="The buddy avatar, configure permissions",u="Bering",x="You have <b>no</b> permission to see online status",w="ruleColIsTelephone",t="My device avatar, configure attributes and add buddies",s="You have <b>no</b> permission to see alarms",bb="Please reload the battery [%1 %2V]",bc="%1 devices",bd="#AAAAAA",be="Power available [%1 %2%]",W="green",X="color12x48.png",Y="Click to stop auto-tracking on the map or Shift-Click to avoid centering",ba=">",bf="48/statusLine/QuadBikeBlue.png",bg="#224477",J="Please check %1 alarms",I="48/statusLine/Excavator.png",H="apee",G="Add Row",F="cellDblclick",E="beeeri",D="Change track appearance and load old tracks",C="icon/16/apps/internet-feed-reader.png",L="Off",K="grey",bh="48/statusLine/CabrioletRed.png",bi="Click to stop auto-tracking on the map or Shift-Click to center";
qx.Class.define(p,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(dm){qx.core.Object.call(this);
this.trackGui=dm;
this.qooxdooCanLookupCellWidget=true;
this.devicesTableController=new track.devicestable.DevicesTableController(this);
this.initDeviceTableLayoutConstants();
},members:{create:function(){var et=this.createVirtualTableContainer();
this.scroller=this.createVirtualTable(et);
this.__tl(true,true);
return et;
},initDeviceTableLayoutConstants:function(){var eY=0;
this.COLUMN_COLOR=eY++;
this.COLUMN_AVATAR=eY++;
this.COLUMN_UPPER_LABEL=eY++;
eY=2;
this.COLUMN_ONLINE_STATUS=eY++;
this.COLUMN_BATTERY=eY++;
this.COLUMN_ALARM=eY++;
this.COLUMN_HISTORY_TRACKS=eY++;
this.COLUMN_DEVICE_CONFIG=eY++;
this.COLUMN_RULES=eY++;
this.COLUMN_DEVICE_AUTOTRACKING=eY++;
this.COLUMN_SHOWING_ON_MAP=eY++;
this.COLUMNCOUNT=eY;
this.TABLEROWS_PER_BLOCK=2;
this.ROWSPAN1=1;
this.ROWSPAN2=2;
this.TOP_PADDING=4;
this.BOTTOM_PADDING=8;
this.COLOR_WIDTH=12;
this.AVATAR_WIDTH=48;
this.DOUBLEROW_HEIGHT=this.AVATAR_WIDTH+this.BOTTOM_PADDING;
this.HEADER_HEIGHT=18;
this.BOTTOM_ICON_HEIGHT=this.DOUBLEROW_HEIGHT-this.HEADER_HEIGHT;
this.BOTTOM_ICON_WIDTH=32;
this.currentSortingColumn=this.COLUMN_AVATAR;
this.currentSortingAscending=true;
this.AVATAR_SORT_BY_ALIASNAME="aliasName";
this.AVATAR_SORT_BY_LOGINNAME="loginName";
this.AVATAR_SORT_BY_FIRSTNAME="firstName";
this.AVATAR_SORT_BY_LASTNAME="lastName";
this.devicesArray=[];
},initialize:function(co){this.avatarSortBy=xbProperties.getStr(M,this.AVATAR_SORT_BY_ALIASNAME);
this.ruleColIsTelephone=xbProperties.getBoolean(w,false);
this.devicesTableController.initialize(co);
},clear:function(){this.devicesTableController.clear();
},addBuddy:function(fk){this.addDevice(fk.getDevice(),true);
},removeBuddy:function(ek){if(this.trackGui.watchee==null)return;
this.trackGui.getWindowManager().clearBuddyConfigWindow(ek);
var el=true;
var em=ek;
this.removeDeviceByDeviceId(em,el);
},removeAllBuddies:function(ei){if(this.trackGui.watchee==null)return;
this.trackGui.getWindowManager().clearAllBuddyConfigWindow();
this.removeAllDevices();

if(!ei){if(!this.trackGui.watchee.getAccountTO().isPublic()){var ej=this.trackGui.watchee.getAccountTO().getBuddyTO();
this.addBuddy(ej);
}}},__ti:function(eQ){return Math.floor(eQ/this.TABLEROWS_PER_BLOCK);
},__tj:function(){var cQ=this.trackGui.watchee;
this.devicesArray=[new net.watchee.Device(cQ,bm,bD,xbGetIcon(z),true,W,0),new net.watchee.Device(cQ,u,E,xbGetIcon(r),true,K,1),new net.watchee.Device(cQ,bW,bw,xbGetIcon(bh),false,ce,1),new net.watchee.Device(cQ,O,ca,xbGetIcon(T),true,n,0),new net.watchee.Device(cQ,bQ,bU,xbGetIcon(bf),true,bg,0),new net.watchee.Device(cQ,bX,H,xbGetIcon(q),true,bd,0)];
},__tk:function(du){var dv=this.trackGui.watchee;

if(du===undefined)du=this.devicesArray.length;
var dx=du*this.TABLEROWS_PER_BLOCK;
du=bL+du;
var dw=6;

for(var i=0;i<dw;i++)if(du.length<dw)du=bs+du;
var dx=bL+dx;

for(var i=0;i<dw;i++)if(dx.length<dw)dx=bs+dx;
return new net.watchee.Device(dv,bv+du+bn+dx,bD,xbGetIcon(I),true,bk,0);
},removeAllDevices:function(){this.devicesArray=[];
this.__tl();
},addDevice:function(dI,dJ){if(dI===undefined||dI==null)return;

if(this.trackGui.watchee==null)return;

if(!this.trackGui.watchee.getBuddyManager().showAccount(dI.getLoginName()))return;

if(dJ===undefined)dJ=true;
var dK=dI.getDeviceId();
this.removeDeviceByDeviceId(dK,false);
this.devicesArray.push(dI);

if(dI.isTrackingInitiallyOn()){var dL=dI.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);

if(dL){this.devicesTableController.startTracking(dI);
}}
if(dJ){this.__tl(true);
}},removeDeviceByDeviceId:function(eV,eW){if(eV===undefined||eV==null)return null;

if(eW===undefined)eW=true;

for(var i=0,l=this.devicesArray.length;i<l;i++){if(eV==this.devicesArray[i].getDeviceId()){var eX=this.devicesArray[i];
this.devicesArray.splice(i,1);

if(eW){this.__tl(true);
}return eX;
}}return null;
},lookupDeviceByDeviceId:function(dn,dp){if(dn===undefined||dn==null)return null;

for(var i=0,l=this.devicesArray.length;i<l;i++){if(dn==this.devicesArray[i].getDeviceId()){return this.devicesArray[i];
}}return null;
},findAvatarAtom:function(cG){var cH=this.lookupCellWidget(this.__tn(cG),this.COLUMN_AVATAR);
return cH;
},findOnlineStatusAtom:function(cV){var cW=this.lookupCellWidget(this.__to(cV),this.COLUMN_ONLINE_STATUS);
return cW;
},__tl:function(eR,eS){if(eR===undefined)eR=true;

if(eS===undefined)eS=true;
var eU=this.scroller.getPane().getRowConfig().getItemCount();
var eT=this.devicesArray.length*this.TABLEROWS_PER_BLOCK;

if(eU!=eT)this.scroller.getPane().getRowConfig().setItemCount(eT);

if(eS)this.sortTable(this.currentSortingColumn,false);
this.__tq();
this.__tr();

if(eR){this.scroller.getPane().fullUpdate();
}},__tm:function(ec){if(ec===undefined||ec==null)return null;

for(var i=0,l=this.devicesArray.length;i<l;i++){if(ec==this.devicesArray[i].getDeviceId())return this.devicesArray[i];
}return null;
},__tn:function(ez){if(ez===undefined||ez==null)return -1;

for(var i=0,l=this.devicesArray.length;i<l;i++){if(ez==this.devicesArray[i].getDeviceId())return i*this.TABLEROWS_PER_BLOCK;
}return -1;
},__to:function(cm){var cn=this.__tn(cm);

if(cn==-1)return -1;
return cn+1;
},createVirtualTableContainer:function(){var cS=new qx.ui.layout.Grid(5,0);
cS.setRowFlex(1,1);
cS.setColumnFlex(0,1);
cS.setColumnFlex(1,1);
var cR=new qx.ui.container.Composite(cS);
cR.setDecorator(y);
return cR;
},sortTable:function(eI,eJ){var eL=this;
this.currentSortingColumn=eI;
var eN=eI;
var eK=(eI==this.COLUMN_AVATAR)?false:true;
this.devicesArray.sort(function(dD,dE){var dF=null;
var dG=null;

if(eL.avatarSortBy==eL.AVATAR_SORT_BY_LOGINNAME){dF=dD.deviceId;
dG=dE.deviceId;
}else{dF=dD.getAlias();
dG=dE.getAlias();
}
if(eN==eL.COLUMN_ONLINE_STATUS){dF=bL+dD.isOnline();
dG=bL+dE.isOnline();
}else if(eN==eL.COLUMN_BATTERY){dF=bL+dD.getBatteryLevel();
dG=bL+dE.getBatteryLevel();
}else if(eN==eL.COLUMN_ALARM){dF=bL+dD.hasAlarms();
dG=bL+dE.hasAlarms();
}else if(eN==eL.COLUMN_HISTORY_TRACKS){dF=bL+dD.hasHistoryTracks();
dG=bL+dE.hasHistoryTracks();
}else if(eN==eL.COLUMN_DEVICE_CONFIG){}else if(eN==eL.COLUMN_RULES){dF=bL+dD.hasRules();
dG=bL+dE.hasRules();
}else if(eN==eL.COLUMN_DEVICE_AUTOTRACKING){dF=bL+dD.isAutoTracking();
dG=bL+dE.isAutoTracking();
}else if(eN==eL.COLUMN_SHOWING_ON_MAP){dF=bL+dD.isShowingOnMap();
dG=bL+dE.isShowingOnMap();
}
if(eK==false){dF=dF.toLowerCase();
dG=dG.toLowerCase();
}var dH;

if(eL.currentSortingAscending)dH=(dF>dG)?1:((dF==dG)?0:-1);
else dH=(dF<dG)?1:((dF==dG)?0:-1);

if(dH==0&&eI!=eL.COLUMN_AVATAR){if(eL.avatarSortBy==eL.AVATAR_SORT_BY_LOGINNAME){dF=dD.getDeviceId().toLowerCase();
dG=dE.getDeviceId().toLowerCase();
dH=(dF>dG)?1:((dF==dG)?0:-1);
}else{dF=dD.getAlias().toLowerCase();
dG=dE.getAlias().toLowerCase();
dH=(dF>dG)?1:((dF==dG)?0:-1);
}}return dH;
});

if(eJ){var eM=false;
this.__tl(eJ,eM);
}},__tp:function(en){var ep=this.COLOR_WIDTH+this.AVATAR_WIDTH+9;
var eo=0;
var es=new qx.ui.container.Composite(new qx.ui.layout.Canvas());
this.headerAtomArr=[];
this.headerAtomArr[this.COLUMN_AVATAR]=this.__tt(es,this.COLUMN_AVATAR,eo,ep,bL);
this.__tq();

for(var eq=this.COLUMN_AVATAR+1;eq<this.COLUMNCOUNT;eq++){var er=bq;
this.headerAtomArr[eq]=this.__tt(es,eq,ep,this.BOTTOM_ICON_WIDTH,er);
ep+=this.BOTTOM_ICON_WIDTH;
}this.__tr();
en.add(es,{row:0,column:0});
return es;
},__tq:function(){var cU=this.devicesArray.length;
this.headerAtomArr[this.COLUMN_AVATAR].setLabel(this.trn(by,bc,cU,this.devicesArray.length));
},__tr:function(){for(var cN=this.COLUMN_AVATAR+1;cN<this.COLUMNCOUNT;cN++){var cO=bq;

if(cN==this.currentSortingColumn){cO=this.currentSortingAscending?cg:ba;
}
if(!this.__ts(cN)){cO=bL;
}this.headerAtomArr[cN].setLabel(cO);
}},__ts:function(cT){return (cT!=this.COLUMN_HISTORY_TRACKS&&cT!=this.COLUMN_DEVICE_CONFIG);
},__tt:function(cx,cy,cz,cA,cB){var cE=new qx.ui.basic.Atom(cB).set({font:bB,decorator:bF,padding:0,width:cA,height:22,center:true,allowGrowX:true});

if(this.__ts(cy)){var cF=cE.addListener(A,function(e){this.currentSortingAscending=!this.currentSortingAscending;
if(e.isShiftPressed()){this.avatarSortBy=this.AVATAR_SORT_BY_LOGINNAME;
}else{this.avatarSortBy=this.AVATAR_SORT_BY_ALIASNAME;
}this.info("sorting now data for "+cy+" asc="+this.currentSortingAscending);
this.sortTable(cy,true);
},this);
var cC=(cy==this.COLUMN_AVATAR)?this.trc(bM,Q):this.trc(bM,br);
var cD=new qx.ui.tooltip.ToolTip(cC,xbGetIcon(bo));
cD.setRich(true);
cD.setShowTimeout(50);
cE.setToolTip(cD);
}cx.add(cE,{left:cz});
return cE;
},createVirtualTable:function(cP){this.__tp(cP);
this.getWidgetCellSpanScroller();
this.scroller.set({scrollbarX:bE,scrollbarY:bE});
cP.add(this.scroller,{row:1,column:0});
return this.scroller;
},getCellProperties:function(eO,eP){return this.__cellRenderer.getCellProperties(eO+bP+eP);
},getWidgetCellSpanScroller:function(){var dq=this.devicesArray.length*this.TABLEROWS_PER_BLOCK;
this.scroller=new qx.ui.virtual.core.Scroller(dq,this.COLUMNCOUNT,this.BOTTOM_ICON_HEIGHT,this.BOTTOM_ICON_WIDTH);
var dt=this.scroller.getPane();
dt.addListener(cf,this._onCellClick,this);
dt.addListener(P,this._onContextMenu,this);
dt.addListener(F,this._onDblclickPane,this);
var dr=dt.getRowConfig();
var ds=dt.getColumnConfig();
ds.setItemSize(this.COLUMN_COLOR,this.COLOR_WIDTH);
ds.setItemSize(this.COLUMN_AVATAR,this.DOUBLEROW_HEIGHT);
this.widgetCellSpan=new qx.ui.virtual.layer.WidgetCellSpan(this,dr,ds);
this.scroller.getPane().addLayer(this.widgetCellSpan);
this._pool=[];
return this.scroller;
},__tu:function(eG){var eH=((eG%this.TABLEROWS_PER_BLOCK)==0);

if(eH){this.scroller.getPane().getRowConfig().setItemSize(eG,this.HEADER_HEIGHT);
this.widgetCellSpan.setCellSpan(eG,this.COLUMN_AVATAR,this.TABLEROWS_PER_BLOCK,1);
this.widgetCellSpan.setCellSpan(eG,this.COLUMN_UPPER_LABEL,1,this.COLUMNCOUNT-this.COLUMN_UPPER_LABEL);
}},__tv:function(ci,cj){var cl=this.__ti(ci);

if(cl>=this.devicesArray.length){this.error("TableView.__lookupDevice TODO: Reload device row="+ci+" from database: We return the first as dummy");
this.devicesArray.push(this.__tk(ci));
}var ck=this.devicesArray[cl];
return ck;
},__tw:function(dQ,dR,dS){var dS=(dS===undefined)?true:dS;
var dT=(dS?ch:L);
var dV=((dQ%this.TABLEROWS_PER_BLOCK)==0);
var dU=this.__tv(dQ,dR);

if(dR==this.COLUMN_COLOR){return null;
}else if(dR==this.COLUMN_AVATAR&&dV){return dU.getAvatarIconUrl();
}else if(dR==this.COLUMN_AVATAR&&!dV){return null;
}else if(dR>=this.COLUMN_UPPER_LABEL&&dV){return null;
}else if(dR==this.COLUMN_ONLINE_STATUS){return dU.getOnlineStatusIcon();
}else if(dR==this.COLUMN_BATTERY){return dU.getBatteryIcon();
}else if(dR==this.COLUMN_ALARM){return dU.getAlarmIcon();
}else if(dR==this.COLUMN_HISTORY_TRACKS){return dU.getHistoryTracksIcon();
}else if(dR==this.COLUMN_DEVICE_CONFIG){return dU.getDeviceConfigIcon();
}else if(dR==this.COLUMN_RULES){if(this.ruleColIsTelephone){return xbGetIcon(k);
}else{return dU.getRulesIcon();
}}else if(dR==this.COLUMN_DEVICE_AUTOTRACKING){return dU.getAutoTrackingIcon();
}else if(dR==this.COLUMN_SHOWING_ON_MAP){return dU.getShowingOnMapIcon();
}this.error("Unexpected Icon wanted row="+dQ+" column="+dR);
return xbGetIcon(X);
},__tx:function(dW,dX,dY){var eb=((dW%this.TABLEROWS_PER_BLOCK)==0);

if(dX==this.COLUMN_UPPER_LABEL&&eb){var ea=this.__tv(dW,dX);
return ea.getNiceName();
}return null;
},__ty:function(dy,dz,dA){var dC=((dy%this.TABLEROWS_PER_BLOCK)==0);

if(dz==this.COLUMN_COLOR&&dC){var dB=this.__tv(dy,dz);
return dB.getTrackSegmentColor();
}return null;
},__tz:function(eA,eB,eC){if(eC==null)return;
var eD=this.__tv(eA,eB);
var eE=((eA%this.TABLEROWS_PER_BLOCK)==0);

if(eB==this.COLUMN_COLOR&&eE){eC.setLabel(this.trc(bM,bt));
}else if(eB==this.COLUMN_AVATAR){if(eD.isCurrentLoginAccount())eC.setLabel(this.trc(bM,t));
else eC.setLabel(this.trc(bM,v));
}else if(eB>=this.COLUMN_UPPER_LABEL&&eE){eC.setLabel(this.trc(bM,o));
}else if(eB==this.COLUMN_ONLINE_STATUS){var eF=eD.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_DEVICE_STATUS);

if(eF){if(eD.getDeviceInfo().isDeviceSleepMode()&&eD.isDeviceSleepingOrOffline())eC.setLabel(this.trc(bM,bz,eD.getDeviceId()));
else if(!eD.isGpsSignalOk())eC.setLabel(this.trc(bM,bT,eD.getDeviceId()));
else if(eD.isOnline())eC.setLabel(this.trc(bM,bu,eD.getDeviceId()));
else eC.setLabel(this.trc(bM,bx,eD.getDeviceId()));
}else{eC.setLabel(this.trc(bM,x));
}}else if(eB==this.COLUMN_BATTERY){if(eD.hasVolt()){if(eD.isCharged())eC.setLabel(this.trc(bM,bV,eD.getVoltTimeStr(),eD.getVolt()));
else if(eD.isBatteryUnknown())eC.setLabel(this.trc(bM,bp));
else if(eD.isBatteryEmpty())eC.setLabel(this.trc(bM,bb,eD.getVoltTimeStr(),eD.getVolt()));
else eC.setLabel(this.trc(bM,j,eD.getVoltTimeStr(),eD.getVolt()));
}else{if(eD.isCharged())eC.setLabel(this.trc(bM,bO,eD.getVoltTimeStr(),eD.getBatteryPercent()));
else if(eD.isBatteryUnknown())eC.setLabel(this.trc(bM,bp));
else if(eD.isBatteryEmpty())eC.setLabel(this.trc(bM,bC,eD.getVoltTimeStr(),eD.getBatteryPercent()));
else eC.setLabel(this.trc(bM,be,eD.getVoltTimeStr(),eD.getBatteryPercent()));
}}else if(eB==this.COLUMN_ALARM){var eF=eD.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM)||eD.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);

if(eF){if(eD.hasAlarms())eC.setLabel(this.trn(bl,J,eD.getCountAlarms(),eD.getCountAlarms()));
else eC.setLabel(this.trc(bM,cd));
}else{eC.setLabel(this.trc(bM,s));
}}else if(eB==this.COLUMN_HISTORY_TRACKS){eC.setLabel(this.trc(bM,D));
}else if(eB==this.COLUMN_DEVICE_CONFIG){if(this.trackGui.allowTestDevice)eC.setLabel(this.trc(bM,U));
else eC.setLabel(this.trc(bM,V));
}else if(eB==this.COLUMN_RULES){if(this.ruleColIsTelephone){eC.setLabel(this.trc(bM,bN,eD.getDeviceId(),eD.getHwPhoneNumber(),this.trackGui.getMyLoginName()));
}else{eC.setLabel(this.trc(bM,bS));
}}else if(eB==this.COLUMN_DEVICE_AUTOTRACKING){var eF=eD.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);

if(eF){if(eD.isAutoTracking()){if(eD.isAutoTrackingCentered()){eC.setLabel(this.trc(bM,Y));
}else{eC.setLabel(this.trc(bM,bi));
}}else{eC.setLabel(this.trc(bM,m));
}}else{eC.setLabel(this.trc(bR,bA));
}}else if(eB==this.COLUMN_SHOWING_ON_MAP){eC.setLabel(this.trc(bM,g));
}else{eC.setLabel(bL);
}},lookupCellWidget:function(a,b){if(this.qooxdooCanLookupCellWidget){var d=this.widgetCellSpan.getRenderedCellWidget(a,b);

if(d!=null){return d;
}return null;
}else{var f=((a%this.TABLEROWS_PER_BLOCK)==0);
var c=this.__tv(a,b);

if(c==null){this.info("lookupCellWidget(row="+a+",column="+b+") device is null");
return null;
}var d=c.tableAtomsCache[f?0:1][b];

if(d==null){this.info("lookupCellWidget(row="+a+",column="+b+") widget is null, device OK");
return null;
}return d;
}},updateDeviceStateAutoRefresh:function(cX,cY){var cY=org.xmlBlaster.util.toNumber(cY,this.COLUMN_AVATAR);
var da=(this.currentSortingColumn==cY);
if(this.currentSortingColumn==this.COLUMN_AVATAR){da=false;
}this.updateDeviceState(cX,da,cY);
},updateDeviceState:function(cp,cq,cr){var cr=(cr===undefined)?-1:cr;
var cw=this.__tn(cp);

if(cw==-1)return;

if(cr==-1){for(var cv=0;cv<this.COLUMNCOUNT;cv++){if(cv==this.COLUMN_AVATAR)continue;
var ct=this.lookupCellWidget(cw,cv);

if(ct!=null)this.updateCellWidgetState(ct,cw,cv);
}}else{var ct=this.lookupCellWidget(cw,cr);

if(ct!=null&&cr<=this.COLUMN_UPPER_LABEL)this.updateCellWidgetState(ct,cw,cr);
}cw=this.__to(cp);

if(cw==-1)return;

if(cr==-1){for(var cv=0;cv<this.COLUMNCOUNT;cv++){if(cv==this.COLUMN_AVATAR)continue;
var ct=this.lookupCellWidget(cw,cv);

if(ct!=null)this.updateCellWidgetState(ct,cw,cv);
}}else if(cr!=this.COLUMN_AVATAR){var ct=this.lookupCellWidget(cw,cr);

if(ct!=null)this.updateCellWidgetState(ct,cw,cr);
}
if(cq===undefined)cq=true;

if(cq){var cu=true;
var cs=true;
this.__tl(cu,cs);
}},updateCellWidgetState:function(fa,fb,fc){if(fa==null)return;

if(!this.qooxdooCanLookupCellWidget){fb=org.xmlBlaster.util.toNumber(fb,fa.getUserData(bK));
fc=org.xmlBlaster.util.toNumber(fc,fa.getUserData(bJ));
}var fe=this.__tw(fb,fc,true);

if(fe!=null)fa.setIcon(fe);
else fa.resetIcon();
var fd=this.__tx(fb,fc,true);

if(fd!=null)fa.setLabel(fd);
else fa.resetLabel();
fa.setIconPosition(N);
var ff=this.__ty(fb,fc,true);

if(ff!=null){fa.setBackgroundColor(ff);
}this.__tz(fb,fc,fa.getToolTip());
},getCellWidget:function(fl,fm){var fo=this._pool.pop()||this.createNewCellWidget(fl,fm);
var fp=((fl%this.TABLEROWS_PER_BLOCK)==0);

if(fm==this.COLUMN_AVATAR){fo.setIconPosition(bj);
}fo.setPaddingTop(fp?this.TOP_PADDING:0);
fo.setPaddingBottom(fp?0:this.BOTTOM_PADDING);

if(fp){fo.setDecorator(cc);
}else{if(fm>this.COLUMN_AVATAR)fo.setDecorator(bF);
}if(!this.qooxdooCanLookupCellWidget){fo.setUserData(bK,fl);
fo.setUserData(bJ,fm);
var fn=this.__tv(fl,fm);
fo.setUserData(bH,fn);
fn.tableAtomsCache[fp?0:1][fm]=fo;
}this.__tu(fl);
this.updateCellWidgetState(fo,fl,fm);
return fo;
},createNewCellWidget:function(fg,fh){var fi=new qx.ui.basic.Atom(null).set({allowGrowX:true});
var fj=new qx.ui.tooltip.ToolTip(this.trc(bM,br),xbGetIcon(bo));
fj.setRich(true);
fj.setShowTimeout(50);
fi.setToolTip(fj);
fi.setBackgroundColor(bG);
fi.setDecorator(null);
return fi;
},poolCellWidget:function(ed){if(!this.qooxdooCanLookupCellWidget){var eh=ed.getUserData(bK);
var ee=ed.getUserData(bJ);
var eg=((eh%this.TABLEROWS_PER_BLOCK)==0);
var ef=ed.getUserData(bH);
ef.tableAtomsCache[eg?0:1][ee]=null;
ed.setUserData(bH,null);
ed.setUserData(bK,null);
ed.setUserData(bJ,null);
}ed.setBackgroundColor(bG);
ed.setDecorator(null);
this._pool.push(ed);
},setCellWidgetIcon:function(cI,cJ,cK){var cL=((cI%this.TABLEROWS_PER_BLOCK)==0);
var cM=this.lookupCellWidget(cI,cJ);

if(cM==null)return null;
cM.setIcon(cK);
return cM;
},_onCellClick:function(e){var dg=e.getRow();
var dc=e.getColumn();
var dd=((dg%this.TABLEROWS_PER_BLOCK)==0);
this.info("event.name="+e.name+"row="+e.getRow()+" column="+e.getColumn()+"<-_onCellClick");
this.info("event.type="+e.getType()+" button="+e.getButton()+" isLeftPressed="+e.isLeftPressed()+" isMiddlePressed="+e.isMiddlePressed()+" isRightPressed="+e.isRightPressed()+" modifier="+e.getModifiers()+" isAltPressed="+e.isAltPressed()+" isCtrlPressed="+e.isCtrlPressed());
var de=this.__tv(dg,dc);
var db=this.lookupCellWidget(dg,dc);
if(dc==this.COLUMN_COLOR){this.trackGui.getWindowManager().popupTrackConfigWindow(de.getBuddyTO());
}else if(dc==this.COLUMN_AVATAR){this.trackGui.getWindowManager().popupBuddyConfigWindow(de.getBuddyTO());
}else if(dc==this.COLUMN_ONLINE_STATUS){}else if(dc==this.COLUMN_BATTERY){}else if(dc==this.COLUMN_ALARM){this.trackGui.getWindowManager().popupAlarmWindow(de.getBuddyTO());
}else if(dc==this.COLUMN_HISTORY_TRACKS){this.trackGui.getWindowManager().popupTrackConfigWindow(de.getBuddyTO());
}else if(dc==this.COLUMN_DEVICE_CONFIG){if(e.isShiftPressed()){if(this.trackGui.allowTestDevice==true){this.trackGui.getWindowManager().popupTestDeviceWindow(de.getDeviceId());
}}else{this.trackGui.getWindowManager().popupDeviceConfigWindow(de.getBuddyTO());
}}else if(dc==this.COLUMN_RULES){if(this.ruleColIsTelephone){this.trackGui.makePhoneCallToDevice(de);
}else{this.trackGui.getWindowManager().popupRulesWindow(de);
}}else if(dc==this.COLUMN_DEVICE_AUTOTRACKING){if(de.isAutoTracking()&&e.isShiftPressed()){de.setAutoTrackingCentered(!de.isAutoTrackingCentered());
this.updateDeviceStateAutoRefresh(de.getDeviceId(),this.COLUMN_DEVICE_AUTOTRACKING);
}else if(de.isAutoTracking()){this.devicesTableController.stopTracking(de);
}else if(!de.isAutoTracking()){if(e.isRightPressed()){de.setAutoTrackingCentered(false);
}else{de.setAutoTrackingCentered(true);
}this.devicesTableController.startTracking(de);
}}else if(dc==this.COLUMN_SHOWING_ON_MAP){var df=e.isRightPressed()?false:true;
this.devicesTableController.toggleShowingOnMap(de,df);
}},_onContextMenu:function(e){this.info("row="+e.getRow()+" column="+e.getColumn()+"<-_onContextMenu");
},_onDblclickPane:function(e){var ey=e.getRow();
var eu=e.getColumn();
var ew=((ey%this.TABLEROWS_PER_BLOCK)==0);
this.info("event.name="+e.name+"row="+e.getRow()+" column="+e.getColumn()+"<-_onDblclickPane");
var ev=this.__tv(ey,eu);
var ex=this.lookupCellWidget(ey,eu);
if(eu==this.COLUMN_AVATAR){}else if(eu==this.COLUMN_ONLINE_STATUS){}else if(eu==this.COLUMN_BATTERY){}else if(eu==this.COLUMN_ALARM){}else if(eu==this.COLUMN_HISTORY_TRACKS){}else if(eu==this.COLUMN_DEVICE_CONFIG){if(this.trackGui.allowTestDevice==true){this.trackGui.getWindowManager().popupTestDeviceWindow(ev.getDeviceId());
}}},createDebugWindow:function(){var di=new qx.ui.window.Window(R,C);
di.setLayout(new qx.ui.layout.VBox(10));
di.setStatus(B);
di.open();
this.trackGui.getMyRoot().add(di,{left:420,top:160});
var dk=new qx.ui.form.Button(G);
dk.addListener(bI,function(e){this.addDevice(this.__tk(),true);
},this);
di.add(dk);
{var dl=new qx.ui.form.Button(h);
dl.addListener(bI,function(e){if(this.devicesArray.length>0)this.removeDeviceByDeviceId(this.devicesArray[0].getDeviceId());
},this);
di.add(dl);
};
{var dj=new qx.ui.form.Button(cb);
dj.addListener(bI,function(e){this.removeAllDevices();
},this);
di.add(dj);
};
var dh=new qx.ui.form.Button(bY);
dh.addListener(bI,function(e){var dP=S;
var dM=this.__tm(dP);

if(dM!=null){dM.toggleOnline();
var dO=false;
var dN=this.lookupCellWidget(this.__to(dP),this.COLUMN_ONLINE_STATUS);

if(dN!=null){dN.setIcon(dM.getOnlineStatusIcon());
this.__tl();
}}},this);
di.add(dh);
}}});
})();
(function(){var T="updateBuddy",S="countAlarms",R="info box",Q="remotePropertiesChanged",P="removeBuddy",O="alarmChanged",N="changeAccount",M="setFriendOf",L="updateFriendOf",K="removeFriendOf",H="trackDisplayInfoChanged",J="trackInfoChanged",I="track.devicestable.DevicesTableController",G="You have no permission to see location of %1",F="Location of %1 is not known<br />Try start tracking first";
qx.Class.define(I,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(g){qx.core.Object.call(this);
this.devicesTable=g;
this.trackGui=this.devicesTable.trackGui;
},members:{initialize:function(p){this.onlineStatusListenerFunc=null;

if(this.trackGui.watchee!=null){this.onlineStatusListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,function(U){var V=U.getData().buddyTO;
this.info("Got online status event "+V.isOnline()+" for "+V.getLoginName());
this.devicesTable.updateDeviceStateAutoRefresh(V.getDevice().getDeviceId(),this.devicesTable.COLUMN_AVATAR);
this.devicesTable.updateDeviceStateAutoRefresh(V.getDevice().getDeviceId(),this.devicesTable.COLUMN_ONLINE_STATUS);
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(L,function(a){this.updateBuddyOrFriendOfArrived(a.getData().buddyTO);
},this);
this.setFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(M,function(b){var c=b.getData();
var e=c.getBuddyList();

for(var k=0,f=e.length;k<f;k++){var d=e[k];
this.updateBuddyOrFriendOfArrived(d);
}},this);
this.changeAccountListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(N,function(z){this.changeAccountOrFriendOfArrived(z.getData().buddyTO);
},this);
this.updateBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(T,function(r){this.updateBuddyOrFriendOfArrived(r.getData().buddyTO);
var s=this.trackGui.getWindowManager().popupBuddyConfigWindow(r.getData().buddyTO);
s.checkTabPermissions();
},this);
this.removeFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(K,function(t){var u=t.getData();
this.devicesTable.removeBuddy(u.getLoginName());
},this);
this.removeBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(P,function(n){var o=n.getData();
this.devicesTable.removeBuddy(o.getLoginName());
},this);
this.remotePropertiesChangedListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(Q,function(ba){var bb=ba.getData().device;
var bc=ba.getData().propertyCollection;
this.devicesTable.updateDeviceStateAutoRefresh(bb.getDeviceId(),this.devicesTable.COLUMN_BATTERY);
},this);
this.alarmChangedListenerFunc=this.trackGui.watchee.getEventManager().addListener(O,function(W){var X=W.getData().device;
var Y=W.getData().alarmTO;
this.devicesTable.updateDeviceStateAutoRefresh(X.getDeviceId(),this.devicesTable.COLUMN_ALARM);
if(Y.isRuleTypeEnum(net.watchee.RuleTypeEnum.GPSSIGNAL_LOST)||Y.isRuleTypeEnum(net.watchee.RuleTypeEnum.GPSSIGNAL_OK)){this.devicesTable.updateDeviceStateAutoRefresh(X.getDeviceId(),this.devicesTable.COLUMN_ONLINE_STATUS);
}},this);
this.countAlarmsListenerFunc=this.trackGui.watchee.getEventManager().addListener(S,function(C){var E=C.getData().loginName;
var D=C.getData().countAlarms;
this.devicesTable.updateDeviceStateAutoRefresh(E,this.devicesTable.COLUMN_ALARM);
},this);
this.trackInfoChangedListenerFunc=this.trackGui.watchee.getEventManager().addListener(H,function(A){var B=A.getData().device;
this.devicesTable.updateDeviceStateAutoRefresh(B.getDeviceId(),this.devicesTable.COLUMN_COLOR);
},this);
}},toggleShowingOnMap:function(bd,be){if(this.trackGui.watchee==null)return;
bd.setShowingOnMap(true);
if(bd.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){this.showLastKnownPosition(bd,be);
}this.devicesTable.updateDeviceStateAutoRefresh(bd.getDeviceId(),this.devicesTable.COLUMN_SHOWING_ON_MAP);
},showLastKnownPosition:function(i,j){if(i.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){if(this.trackGui.watchee!=null){var l=i.getCurrentTrack();
var m=l.getLastValidGpsData();

if(m!=null){this.trackGui.watchee.getMapManager().showAndCenterLocation(l,m,j);
return;
}}this.trackGui.infoMsgBox(this.trc(R,F,i.getNiceName()),4000);
}else{this.trackGui.infoMsgBox(this.trc(R,G,i.getNiceName()),4000);
}},startTracking:function(q){if(q.isAutoTracking())return;

if(!q.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS))return;
q.setAutoTracking(true);
this.trackGui.subscribeGps(q.getBuddyTO());
this.devicesTable.updateDeviceStateAutoRefresh(q.getDeviceId(),this.devicesTable.COLUMN_DEVICE_AUTOTRACKING);
},stopTracking:function(v){if(!v.isAutoTracking())return;
v.setAutoTracking(false);
this.trackGui.unSubscribeGps(v.getBuddyTO());
this.devicesTable.updateDeviceStateAutoRefresh(v.getDeviceId(),this.devicesTable.COLUMN_DEVICE_AUTOTRACKING);
},changeAccountOrFriendOfArrived:function(h){this.updateBuddyOrFriendOfArrived(h);
},updateBuddyOrFriendOfArrived:function(w){var x=this.devicesTable.lookupDeviceByDeviceId(w.getLoginName());

if(x==null){this.devicesTable.addBuddy(w);
}else{var y=x.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);

if(!y&&x.isAutoTracking()){this.trackGui.unSubscribeGps(w);
}this.devicesTable.updateDeviceState(x.getDeviceId(),true);
}},clear:function(){this.devicesTable.removeAllBuddies(true);

if(this.onlineStatusListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,this.onlineStatusListenerFunc);
this.onlineStatusListenerFunc=null;
}
if(this.updateFriendOfListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(L,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;
}
if(this.setFriendOfListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(M,this.setFriendOfListenerFunc);
this.setFriendOfListenerFunc=null;
}
if(this.changeAccountListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(N,this.changeAccountListenerFunc);
this.changeAccountListenerFunc=null;
}
if(this.updateBuddyListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(T,this.updateBuddyListenerFunc);
this.updateBuddyListenerFunc=null;
}
if(this.removeFriendOfListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(K,this.removeFriendOfListenerFunc);
this.removeFriendOfListenerFunc=null;
}
if(this.removeBuddyListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(P,this.removeFriendOfListenerFunc);
this.removeBuddyListenerFunc=null;
}
if(this.remotePropertiesChangedListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(Q,this.remotePropertiesChangedListenerFunc);
this.remotePropertiesChangedListenerFunc=null;
}
if(this.alarmChangedListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getEventManager().removeListener(O,this.alarmChangedListenerFunc);
this.alarmChangedListenerFunc=null;
}
if(this.countAlarmsListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getEventManager().removeListener(S,this.countAlarmsListenerFunc);
this.countAlarmsListenerFunc=null;
}
if(this.trackInfoChangedListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getEventManager().removeListener(J,this.trackInfoChangedListenerFunc);
this.trackInfoChangedListenerFunc=null;
}this.trackGui.getWindowManager().clearAllBuddyConfigWindow();
this.trackGui.getWindowManager().clearAllDeviceConfigWindow();
}},destruct:function(){this.clear();
}});
})();
(function(){var i="scrollY",h="update",g="scrollX",f="__tA",d="pane",c="qx.ui.virtual.core.Scroller";
qx.Class.define(c,{extend:qx.ui.core.scroll.AbstractScrollArea,construct:function(k,l,m,n){qx.ui.core.scroll.AbstractScrollArea.call(this);
this.__tA=new qx.ui.virtual.core.Pane(k,l,m,n);
this.__tA.addListener(h,this._computeScrollbars,this);
this.__tA.addListener(g,this._onScrollPaneX,this);
this.__tA.addListener(i,this._onScrollPaneY,this);
this._add(this.__tA,{row:0,column:0});
},properties:{width:{refine:true,init:null},height:{refine:true,init:null}},members:{__tA:null,getPane:function(){return this.__tA;
},_createChildControlImpl:function(j){if(j==d){return this.__tA;
}else{return qx.ui.core.scroll.AbstractScrollArea.prototype._createChildControlImpl.call(this,j);
}},getItemTop:function(p){throw new Error("The method 'getItemTop' is not implemented!");
},getItemBottom:function(o){throw new Error("The method 'getItemBottom' is not implemented!");
},getItemLeft:function(b){throw new Error("The method 'getItemLeft' is not implemented!");
},getItemRight:function(a){throw new Error("The method 'getItemRight' is not implemented!");
},_onScrollBarX:function(e){this.__tA.setScrollX(e.getData());
},_onScrollBarY:function(e){this.__tA.setScrollY(e.getData());
}},destruct:function(){this._disposeObjects(f);
}});
})();
(function(){var y="appear",x="qx.ui.virtual.core.CellEvent",w="qx.event.type.Data",v="change",u="update",t="scrollY",s="full update",r="__tC",q="dblclick",p="update layer window",N="qx.event.type.Event",M="__tK",L="resize",K="scrollX",J="__tB",I="cellDblclick",H="qx.ui.virtual.core.Pane",G="click",F="prefetch x",E="contextmenu",C="cellClick",D="cellContextmenu",A="prefetch y",B="__tJ",z="scroll";
qx.Class.define(H,{extend:qx.ui.core.Widget,construct:function(cb,cc,cd,ce){qx.ui.core.Widget.call(this);
this.__tB=new qx.ui.virtual.core.Axis(cd,cb);
this.__tC=new qx.ui.virtual.core.Axis(ce,cc);
this.__tD=0;
this.__tE=0;
this.__tF=0;
this.__tG=0;
this.__tH={};
this.__tI={};
this.__tJ=new qx.ui.container.Composite();
this.__tJ.setUserBounds(0,0,0,0);
this._add(this.__tJ);
this.__tK=[];
this.__tB.addListener(v,this.fullUpdate,this);
this.__tC.addListener(v,this.fullUpdate,this);
this.addListener(L,this._onResize,this);
this.addListenerOnce(y,this._onAppear,this);
this.addListener(G,this._onClick,this);
this.addListener(q,this._onDblclick,this);
this.addListener(E,this._onContextmenu,this);
},events:{cellClick:x,cellContextmenu:x,cellDblclick:x,update:N,scrollX:w,scrollY:w},properties:{width:{refine:true,init:400},height:{refine:true,init:300}},members:{__tB:null,__tC:null,__tD:null,__tE:null,__tF:null,__tG:null,__tH:null,__tI:null,__tJ:null,__tK:null,__tL:null,__tM:null,__tN:null,DEBUG:false,getRowConfig:function(){return this.__tB;
},getColumnConfig:function(){return this.__tC;
},getChildren:function(){return [this.__tJ];
},addLayer:function(O){{};
this.__tK.push(O);
O.setUserBounds(0,0,0,0);
this.__tJ.add(O);
},getLayers:function(){return this.__tK;
},getVisibleLayers:function(){var bb=[];

for(var i=0;i<this.__tK.length;i++){var bc=this.__tK[i];

if(bc.isVisible()){bb.push(bc);
}}return bb;
},getScrollMaxX:function(){var c=this.getBounds();

if(c){return Math.max(0,this.__tC.getTotalSize()-c.width);
}return 0;
},getScrollMaxY:function(){var bE=this.getBounds();

if(bE){return Math.max(0,this.__tB.getTotalSize()-bE.height);
}return 0;
},setScrollY:function(P){var Q=this.getScrollMaxY();

if(P<0){P=0;
}else if(P>Q){P=Q;
}
if(this.__tD!==P){var R=this.__tD;
this.__tD=P;
this._deferredUpdateScrollPosition();
this.fireDataEvent(t,P,R);
}},getScrollY:function(){return this.__tD;
},setScrollX:function(bI){var bJ=this.getScrollMaxX();

if(bI<0){bI=0;
}else if(bI>bJ){bI=bJ;
}
if(bI!==this.__tE){var bK=this.__tE;
this.__tE=bI;
this._deferredUpdateScrollPosition();
this.fireDataEvent(K,bI,bK);
}},getScrollX:function(){return this.__tE;
},getScrollSize:function(){return {width:this.__tC.getTotalSize(),height:this.__tB.getTotalSize()};
},scrollRowIntoView:function(bg){var bj=this.getBounds();

if(!bj){this.addListenerOnce(y,function(){this.scrollRowIntoView(bg);
},this);
return;
}var bk=this.__tB.getItemPosition(bg);
var bi=bk+this.__tB.getItemSize(bg);
var bh=this.getScrollY();

if(bk<bh){this.setScrollY(bk);
}else if(bi>bh+bj.height){this.setScrollY(bi-bj.height);
}},scrollColumnIntoView:function(bL){var bO=this.getBounds();

if(!bO){this.addListenerOnce(y,function(){this.scrollColumnIntoView(bL);
},this);
return;
}var bN=this.__tC.getItemPosition(bL);
var bM=bN+this.__tC.getItemSize(bL);
var bP=this.getScrollX();

if(bN<bP){this.setScrollX(bN);
}else if(bM>bP+bO.width){this.setScrollX(bM-bO.width);
}},scrollCellIntoView:function(bF,bG){var bH=this.getBounds();

if(!bH){this.addListenerOnce(y,function(){this.scrollCellIntoView(bF,bG);
},this);
return;
}this.scrollColumnIntoView(bF);
this.scrollRowIntoView(bG);
},getCellAtPosition:function(V,W){var X,Y;
var ba=this.getContentLocation();

if(!ba||W<ba.top||W>=ba.bottom||V<ba.left||V>=ba.right){return null;
}X=this.__tB.getItemAtPosition(this.getScrollY()+W-ba.top);
Y=this.__tC.getItemAtPosition(this.getScrollX()+V-ba.left);

if(!X||!Y){return null;
}return {row:X.index,column:Y.index};
},prefetchX:function(d,f,g,h){var j=this.getVisibleLayers();

if(j.length==0){return;
}var l=this.getBounds();

if(!l){return;
}var m=this.__tE+l.width;
var n=this.__tG-m;

if(this.__tE-this.__tH.left<Math.min(this.__tE,d)||this.__tH.right-m<Math.min(n,g)){this.DEBUG&&console.log(F);
var o=Math.min(this.__tE,f);
var k=Math.min(n,h);
this._setLayerWindow(j,this.__tE-o,this.__tD,l.width+o+k,l.height,false);
}},prefetchY:function(bQ,bR,bS,bT){var bU=this.getVisibleLayers();

if(bU.length==0){return;
}var bX=this.getBounds();

if(!bX){return;
}var bV=this.__tD+bX.height;
var bW=this.__tF-bV;

if(this.__tD-this.__tH.top<Math.min(this.__tD,bQ)||this.__tH.bottom-bV<Math.min(bW,bS)){this.DEBUG&&console.log(A);
var ca=Math.min(this.__tD,bR);
var bY=Math.min(bW,bT);
this._setLayerWindow(bU,this.__tE,this.__tD-ca,bX.width,bX.height+ca+bY,false);
}},_onResize:function(){if(this.getContainerElement().getDomElement()){this.__tL=true;
this._updateScrollPosition();
this.__tL=null;
this.fireEvent(u);
}},_onAppear:function(){this.fullUpdate();
},_onClick:function(e){this.__tO(e,C);
},_onContextmenu:function(e){this.__tO(e,D);
},_onDblclick:function(e){this.__tO(e,I);
},__tO:function(e,a){var b=this.getCellAtPosition(e.getDocumentLeft(),e.getDocumentTop());

if(!b){return;
}this.fireNonBubblingEvent(a,qx.ui.virtual.core.CellEvent,[this,e,b.row,b.column]);
},syncWidget:function(){if(this.__tI._fullUpdate){this._fullUpdate();
}else if(this.__tI._updateScrollPosition){this._updateScrollPosition();
}this.__tI={};
},_setLayerWindow:function(bl,bm,top,bn,bo,bp){var bu=this.__tB.getItemAtPosition(top);

if(bu){var bw=bu.index;
var bB=this.__tB.getItemSizes(bw,bo+bu.offset);
var bv=qx.lang.Array.sum(bB);
var bD=top-bu.offset;
var bA=top-bu.offset+bv;
}else{var bw=0;
var bB=[];
var bv=0;
var bD=0;
var bA=0;
}var by=this.__tC.getItemAtPosition(bm);

if(by){var bs=by.index;
var br=this.__tC.getItemSizes(bs,bn+by.offset);
var bx=qx.lang.Array.sum(br);
var bC=bm-by.offset;
var bt=bm-by.offset+bx;
}else{var bs=0;
var br=[];
var bx=0;
var bC=0;
var bt=0;
}this.__tH={top:bD,bottom:bA,left:bC,right:bt};
this.__tJ.setUserBounds(this.__tH.left-this.__tE,this.__tH.top-this.__tD,bx,bv);
this.__tM=br;
this.__tN=bB;
this.DEBUG&&qx.ui.core.queue.Manager.flush();

for(var i=0;i<this.__tK.length;i++){var bz=new Date();
var bq=this.__tK[i];
bq.setUserBounds(0,0,bx,bv);

if(bp){bq.fullUpdate(bw,bs,bB,br);
}else{bq.updateLayerWindow(bw,bs,bB,br);
}if(this.DEBUG){this.debug("layer update ("+bq.classname+"): "+(new Date()-bz)+"ms");
var bz=new Date();
qx.ui.core.queue.Manager.flush();
this.debug("layer flush ("+bq.classname+"): "+(new Date()-bz)+"ms");
}}},__tP:function(){if(this.__tL){return;
}var S=this.getScrollSize();

if(this.__tF!==S.height||this.__tG!==S.width){this.__tF=S.height;
this.__tG=S.width;
this.fireEvent(u);
}},fullUpdate:function(){this.__tI._fullUpdate=1;
qx.ui.core.queue.Widget.add(this);
},isUpdatePending:function(){return !!this.__tI._fullUpdate;
},_fullUpdate:function(){var T=this.getVisibleLayers();

if(T.length==0){this.__tP();
return;
}
if(!this.getContainerElement().getDomElement()){return ;
}var U=this.getBounds();
this.DEBUG&&console.log(s);
this._setLayerWindow(T,this.__tE,this.__tD,U.width,U.height,true);
this.__tP();
},_deferredUpdateScrollPosition:function(){this.__tI._updateScrollPosition=1;
qx.ui.core.queue.Widget.add(this);
},_updateScrollPosition:function(){var bd=this.getVisibleLayers();

if(bd.length==0){this.__tP();
return;
}var bf=this.getBounds();

if(!bf){return ;
}var be={top:this.__tD,bottom:this.__tD+bf.height,left:this.__tE,right:this.__tE+bf.width};

if(this.__tH.top<=be.top&&this.__tH.bottom>=be.bottom&&this.__tH.left<=be.left&&this.__tH.right>=be.right){this.DEBUG&&console.log(z);
this.__tJ.setUserBounds(this.__tH.left-be.left,this.__tH.top-be.top,this.__tH.right-this.__tH.left,this.__tH.bottom-this.__tH.top);
}else{this.DEBUG&&console.log(p);
this._setLayerWindow(bd,this.__tE,this.__tD,bf.width,bf.height,false);
}this.__tP();
}},destruct:function(){this._disposeArray(M);
this._disposeObjects(J,r,B);
this.__tH=this.__tI=this.__tM=this.__tN=null;
}});
})();
(function(){var p="change",o="qx.event.type.Event",n="qx.ui.virtual.core.Axis";
qx.Class.define(n,{extend:qx.core.Object,construct:function(M,N){qx.core.Object.call(this);
this.itemCount=N;
this.defaultItemSize=M;
this.customSizes={};
},events:{"change":o},members:{__tQ:null,getDefaultItemSize:function(){return this.defaultItemSize;
},setDefaultItemSize:function(ba){if(this.defaultItemSize!==ba){this.defaultItemSize=ba;
this.__tQ=null;
this.fireNonBubblingEvent(p);
}},getItemCount:function(){return this.itemCount;
},setItemCount:function(c){if(this.itemCount!==c){this.itemCount=c;
this.__tQ=null;
this.fireNonBubblingEvent(p);
}},setItemSize:function(C,D){{};

if(this.customSizes[C]==D){return;
}
if(D===null){delete this.customSizes[C];
}else{this.customSizes[C]=D;
}this.__tQ=null;
this.fireNonBubblingEvent(p);
},getItemSize:function(m){return this.customSizes[m]||this.defaultItemSize;
},resetItemSizes:function(){this.customSizes={};
this.__tQ=null;
this.fireNonBubblingEvent(p);
},__tR:function(){if(this.__tQ){return this.__tQ;
}var Q=this.defaultItemSize;
var X=this.itemCount;
var S=[];

for(var U in this.customSizes){var O=parseInt(U);

if(O<X){S.push(O);
}}
if(S.length==0){var T=[{startIndex:0,endIndex:X-1,firstItemSize:Q,rangeStart:0,rangeEnd:X*Q-1}];
this.__tQ=T;
return T;
}S.sort(function(a,b){return a>b?1:-1;
});
var T=[];
var P=0;

for(var i=0;i<S.length;i++){var O=S[i];

if(O>=X){break;
}var W=this.customSizes[O];
var R=O*Q+P;
P+=W-Q;
T[i]={startIndex:O,firstItemSize:W,rangeStart:R};

if(i>0){T[i-1].rangeEnd=R-1;
T[i-1].endIndex=O-1;
}}if(T[0].rangeStart>0){T.unshift({startIndex:0,endIndex:T[0].startIndex-1,firstItemSize:Q,rangeStart:0,rangeEnd:T[0].rangeStart-1});
}var Y=T[T.length-1];
var V=(X-Y.startIndex-1)*Q;
Y.rangeEnd=Y.rangeStart+Y.firstItemSize+V-1;
Y.endIndex=X-1;
this.__tQ=T;
return T;
},__tS:function(G){var H=this.__tQ||this.__tR();
var I=0;
var K=H.length-1;
while(true){var L=I+((K-I)>>1);
var J=H[L];

if(J.rangeEnd<G){I=L+1;
}else if(J.rangeStart>G){K=L-1;
}else{return J;
}}},getItemAtPosition:function(q){if(q<0||q>=this.getTotalSize()){return null;
}var s=this.__tS(q);
var u=s.rangeStart;
var r=s.startIndex;
var v=s.firstItemSize;

if(u+v>q){return {index:r,offset:q-u};
}else{var t=this.defaultItemSize;
return {index:r+1+Math.floor((q-u-v)/t),offset:(q-u-v)%t};
}},__tT:function(w){var x=this.__tQ||this.__tR();
var y=0;
var A=x.length-1;
while(true){var B=y+((A-y)>>1);
var z=x[B];

if(z.endIndex<w){y=B+1;
}else if(z.startIndex>w){A=B-1;
}else{return z;
}}},getItemPosition:function(E){if(E<0||E>=this.itemCount){return null;
}var F=this.__tT(E);

if(F.startIndex==E){return F.rangeStart;
}else{return F.rangeStart+F.firstItemSize+(E-F.startIndex-1)*this.defaultItemSize;
}},getTotalSize:function(){var d=this.__tQ||this.__tR();
return d[d.length-1].rangeEnd+1;
},getItemSizes:function(e,f){var g=this.customSizes;
var k=this.defaultItemSize;
var j=0;
var h=[];
var i=0;

while(j<f){var l=g[e++]||k;
j+=l;
h[i++]=l;

if(e>=this.itemCount){break;
}}return h;
}},destruct:function(){this.customSizes=this.__tQ=null;
}});
})();
(function(){var b="Integer",a="qx.ui.virtual.core.CellEvent";
qx.Class.define(a,{extend:qx.event.type.Mouse,properties:{row:{check:b,nullable:true},column:{check:b,nullable:true}},members:{init:function(c,d,e,f){d.clone(this);
this.setBubbles(false);
this.setRow(e);
this.setColumn(f);
}}});
})();
(function(){var e="qx.ui.virtual.core.ILayer";
qx.Interface.define(e,{members:{fullUpdate:function(a,b,c,d){this.assertArgumentsCount(arguments,6,6);
this.assertPositiveInteger(a);
this.assertPositiveInteger(b);
this.assertArray(c);
this.assertArray(d);
},updateLayerWindow:function(f,g,h,i){this.assertArgumentsCount(arguments,6,6);
this.assertPositiveInteger(f);
this.assertPositiveInteger(g);
this.assertArray(h);
this.assertArray(i);
},updateLayerData:function(){}}});
})();
(function(){var f="qx.ui.virtual.layer.Abstract",e="abstract";
qx.Class.define(f,{extend:qx.ui.core.Widget,type:e,implement:[qx.ui.virtual.core.ILayer],construct:function(){qx.ui.core.Widget.call(this);
this.__tU={};
},properties:{anonymous:{refine:true,init:true}},members:{__tU:null,__tV:null,__tW:null,__tX:null,__tY:null,__ua:null,getFirstRow:function(){return this.__tW;
},getFirstColumn:function(){return this.__tX;
},getRowSizes:function(){return this.__tY||[];
},getColumnSizes:function(){return this.__ua||[];
},syncWidget:function(){if(!this.getContentElement().getDomElement()){return;
}
if(this.__tU.fullUpdate||this.__tU.updateLayerWindow&&this.__tU.updateLayerData){this._fullUpdate.apply(this,this.__tV);
}else if(this.__tU.updateLayerWindow){this._updateLayerWindow.apply(this,this.__tV);
}else if(this.__tU.updateLayerData&&this.__tY){this._updateLayerData();
}
if(this.__tU.fullUpdate||this.__tU.updateLayerWindow){var o=this.__tV;
this.__tW=o[0];
this.__tX=o[1];
this.__tY=o[2];
this.__ua=o[3];
}this.__tU={};
},_updateLayerData:function(){this._fullUpdate(this.__tW,this.__tX,this.__tY,this.__ua);
},_fullUpdate:function(a,b,c,d){throw new Error("Abstract method '_fullUpdate' called!");
},_updateLayerWindow:function(g,h,i,j){this._fullUpdate(g,h,i,j);
},updateLayerData:function(){this.__tU.updateLayerData=true;
qx.ui.core.queue.Widget.add(this);
},fullUpdate:function(p,q,r,s){this.__tV=arguments;
this.__tU.fullUpdate=true;
qx.ui.core.queue.Widget.add(this);
},updateLayerWindow:function(k,l,m,n){this.__tV=arguments;
this.__tU.updateLayerWindow=true;
qx.ui.core.queue.Widget.add(this);
}},destruct:function(){this.__tU=this.__tV=this.__tY=this.__ua=null;
}});
})();
(function(){var s="cell.spanning",r="cell.rowspan",q="cell.column",p="cell.colspan",o="cell.row",n="x",m="qx.ui.virtual.layer.WidgetCellSpan",k="_spanManager",j="_cellLayer";
qx.Class.define(m,{extend:qx.ui.virtual.layer.Abstract,include:[qx.ui.core.MChildrenHandling],construct:function(t,u,v){qx.ui.virtual.layer.Abstract.call(this);
this.setZIndex(2);
this._spanManager=new qx.ui.virtual.layer.CellSpanManager(u,v);
this._cellProvider=t;
this.__ub=[];
this._cellLayer=new qx.ui.virtual.layer.WidgetCell(this.__uc());
this._cellLayer.setZIndex(0);
this._setLayout(new qx.ui.layout.Grow());
this._add(this._cellLayer);
},properties:{anonymous:{refine:true,init:false}},members:{getRenderedCellWidget:function(a,b){var c=this._cellLayer.getRenderedCellWidget(a,b);

if(!c||c.getUserData(s)){var f=this._getChildren();

for(var i=0,l=f.length;i<l;i++){var e=f[i];

if(e==this._cellLayer){continue;
}var d={row:e.getUserData(o),column:e.getUserData(q),rowSpan:e.getUserData(r),colSpan:e.getUserData(p)};

if(d.row<=a&&a<d.row+d.rowSpan&&d.column<=b&&b<d.column+d.colSpan){return e;
}}return null;
}return c;
},__ub:null,setCellSpan:function(L,M,N,O){var P=L+n+M;
this._spanManager.removeCell(P);

if(N>1||O>1){this._spanManager.addCell(P,L,M,N,O);
}qx.ui.core.queue.Widget.add(this);
},__uc:function(){var self=this;
var K=this._cellProvider;
var J=this.__ub;
var I={getCellWidget:function(w,x){if(!self._spanMap[w][x]){var y=K.getCellWidget(w,x);
}else{var y=J.pop();

if(!y){y=new qx.ui.core.Spacer();
y.setUserData(s,1);
}}return y;
},poolCellWidget:function(h){if(h.getUserData(s)){J.push(h);
}else{K.poolCellWidget(h);
}}};
return I;
},__ud:function(U,V,W,X){this._cells=this._spanManager.findCellsInWindow(U,V,W,X);

if(this._cells.length>0){this._bounds=this._spanManager.getCellBounds(this._cells,U,V);
this._spanMap=this._spanManager.computeCellSpanMap(this._cells,U,V,W,X);
}else{this._bounds=[];
this._spanMap=[];

for(var i=0;i<W;i++){this._spanMap[U+i]=[];
}}},__ue:function(){var D=this.getChildren();

for(var i=D.length-1;i>=0;i--){var C=D[i];

if(C!==this._cellLayer){this._cellProvider.poolCellWidget(C);
this._remove(C);
}}
for(var i=0,l=this._cells.length;i<l;i++){var B=this._cells[i];
var z=this._bounds[i];
var A=this._cellProvider.getCellWidget(B.firstRow,B.firstColumn);

if(A){A.setUserBounds(z.left,z.top,z.width,z.height);
A.setUserData(o,B.firstRow);
A.setUserData(q,B.firstColumn);
A.setUserData(r,B.lastRow-B.firstRow+1);
A.setUserData(p,B.lastColumn-B.firstColumn+1);
this._add(A);
}}},_fullUpdate:function(E,F,G,H){this.__ud(E,F,G.length,H.length);
this.__ue();
this._cellLayer.fullUpdate(E,F,G,H);
},_updateLayerWindow:function(Q,R,S,T){this.__ud(Q,R,S.length,T.length);
this.__ue();
this._cellLayer.updateLayerWindow(Q,R,S,T);
}},destruct:function(){var g=this._getChildren();

for(var i=0;i<g.length;i++){g[i].dispose();
}this._disposeObjects(k,j);
this._cellProvider=this.__ub=this._cells=this._bounds=this._spanMap=null;
}});
})();
(function(){var s="change",r="lastColumn",q="firstColumn",p="firstRow",o="qx.ui.virtual.layer.CellSpanManager",n="lastRow";
qx.Class.define(o,{extend:qx.core.Object,construct:function(f,g){qx.core.Object.call(this);
{};
this._cells={};
this._invalidateSortCache();
this._invalidatePositionCache();
f.addListener(s,this._onRowConfigChange,this);
g.addListener(s,this._onColumnConfigChange,this);
this._rowConfig=f;
this._columnConfig=g;
},members:{addCell:function(bi,bj,bk,bl,bm){this._cells[bi]={firstRow:bj,lastRow:bj+bl-1,firstColumn:bk,lastColumn:bk+bm-1,id:bi};
this._invalidateSortCache();
},removeCell:function(B){delete (this._cells[B]);
this._invalidateSortCache();
},_invalidateSortCache:function(){this._sorted={};
},_getSortedCells:function(br){if(this._sorted[br]){return this._sorted[br];
}var bs=this._sorted[br]=qx.lang.Object.getValues(this._cells);
bs.sort(function(a,b){return a[br]<b[br]?-1:1;
});
return bs;
},_findCellsInRange:function(E,F,G){var I=this._getSortedCells(E);

if(I.length==0){return {};
}var K=0;
var H=I.length-1;
while(true){var M=K+((H-K)>>1);
var J=I[M];

if(J[E]>=F&&(M==0||I[M-1][E]<F)){break;
}
if(J[E]>=F){H=M-1;
}else{K=M+1;
}
if(K>H){return {};
}}var L={};
var J=I[M];

while(J&&J[E]>=F&&J[E]<=G){L[J.id]=J;
J=I[M++];
}return L;
},findCellsInWindow:function(t,u,v,w){var A={};

if(v>0){var y=t+v-1;
qx.lang.Object.merge(A,this._findCellsInRange(p,t,y),this._findCellsInRange(n,t,y));
}var x={};

if(w>0){var z=u+w-1;
qx.lang.Object.merge(x,this._findCellsInRange(q,u,z),this._findCellsInRange(r,u,z));
}return this.__uf(x,A);
},__uf:function(be,bf){var bg=[];

for(var bh in be){if(bf[bh]){bg.push(bf[bh]);
}}return bg;
},_onRowConfigChange:function(e){this._rowPos=[];
},_onColumnConfigChange:function(e){this._columnPos=[];
},_invalidatePositionCache:function(){this._rowPos=[];
this._columnPos=[];
},_getRowPosition:function(c){var d=this._rowPos[c];

if(d!==undefined){return d;
}d=this._rowPos[c]=this._rowConfig.getItemPosition(c);
return d;
},_getColumnPosition:function(C){var D=this._columnPos[C];

if(D!==undefined){return D;
}D=this._columnPos[C]=this._columnConfig.getItemPosition(C);
return D;
},_getSingleCellBounds:function(bn,bo,bp){var bq={left:0,top:0,width:0,height:0};
bq.height=this._getRowPosition(bn.lastRow)+this._rowConfig.getItemSize(bn.lastRow)-this._getRowPosition(bn.firstRow);
bq.top=this._getRowPosition(bn.firstRow)-this._getRowPosition(bo);
bq.width=this._getColumnPosition(bn.lastColumn)+this._columnConfig.getItemSize(bn.lastColumn)-this._getColumnPosition(bn.firstColumn);
bq.left=this._getColumnPosition(bn.firstColumn)-this._getColumnPosition(bp);
return bq;
},getCellBounds:function(h,j,k){var m=[];

for(var i=0,l=h.length;i<l;i++){m.push(this._getSingleCellBounds(h[i],j,k));
}return m;
},computeCellSpanMap:function(N,O,P,Q,R){var S=[];

if(Q<=0){return S;
}var bc=O+Q-1;

for(var i=O;i<=bc;i++){S[i]=[];
}
if(R<=0){return S;
}var U=P+R-1;

for(var i=0,l=N.length;i<l;i++){var X=N[i];
var V=Math.max(O,X.firstRow);
var W=Math.min(bc,X.lastRow);
var bd;

for(var Y=V;Y<=W;Y++){bd=S[Y];
var T=Math.max(P,X.firstColumn);
var bb=Math.min(U,X.lastColumn);

for(var ba=T;ba<=bb;ba++){bd[ba]=1;
}}}return S;
}},destruct:function(){this._rowConfig.removeListener(s,this._onRowConfigChange,this);
this._columnConfig.removeListener(s,this._onColumnConfigChange,this);
this._cells=this._sorted=this._rowPos=this._columnPos=this._rowConfig=this._columnConfig=null;
}});
})();
(function(){var d="cell.empty",c="cell.row",b="cell.column",a="qx.ui.virtual.layer.WidgetCell";
qx.Class.define(a,{extend:qx.ui.virtual.layer.Abstract,include:[qx.ui.core.MChildrenHandling],construct:function(U){qx.ui.virtual.layer.Abstract.call(this);
this.setZIndex(2);
{};
this._cellProvider=U;
this.__ug=[];
},properties:{anonymous:{refine:true,init:false}},members:{__ug:null,getRenderedCellWidget:function(e,f){var g=this.getColumnSizes().length;
var m=this.getRowSizes().length;
var l=this.getFirstRow();
var k=this.getFirstColumn();

if(e<l||e>=l+m||f<k||f>=k+g){return null;
}var j=(f-k)+(e-l)*g;
var h=this._getChildren()[j];

if(h.getUserData(d)){return null;
}else{return h;
}},_getSpacer:function(){var S=this.__ug.pop();

if(!S){S=new qx.ui.core.Spacer();
S.setUserData(d,1);
}return S;
},_fullUpdate:function(H,I,J,K){var M=this._cellProvider;
var Q=this._getChildren();

for(var i=0;i<Q.length;i++){var O=Q[i];

if(O.getUserData(d)){this.__ug.push(O);
}else{M.poolCellWidget(O);
}}this._removeAll();
var top=0;
var R=0;

for(var y=0;y<J.length;y++){for(var x=0;x<K.length;x++){var P=H+y;
var N=I+x;
var L=M.getCellWidget(P,N)||this._getSpacer();
L.setUserBounds(R,top,K[x],J[y]);
L.setUserData(c,P);
L.setUserData(b,N);
this._add(L);
R+=K[x];
}top+=J[y];
R=0;
}},_updateLayerWindow:function(n,o,p,q){{};
var E=n+p.length-1;
var t=o+q.length-1;
var A={firstRow:Math.max(n,this.getFirstRow()),lastRow:Math.min(E,this._lastRow),firstColumn:Math.max(o,this.getFirstColumn()),lastColumn:Math.min(t,this._lastColumn)};
this._lastColumn=t;
this._lastRow=E;

if(A.firstRow>A.lastRow||A.firstColumn>A.lastColumn){return this._fullUpdate(n,o,p,q);
}var F=this._getChildren();
var r=this.getColumnSizes().length;
var C=[];
var z={};

for(var G=n;G<=E;G++){C[G]=[];

for(var w=o;w<=t;w++){if(G>=A.firstRow&&G<=A.lastRow&&w>=A.firstColumn&&w<=A.lastColumn){var x=w-this.getFirstColumn();
var y=G-this.getFirstRow();
var s=y*r+x;
C[G][w]=F[s];
z[s]=true;
}}}var B=this._cellProvider;
var F=this._getChildren();

for(var i=0;i<F.length;i++){if(!z[i]){var D=F[i];

if(D.getUserData(d)){this.__ug.push(D);
}else{B.poolCellWidget(D);
}}}this._removeAll();
var top=0;
var u=0;

for(var y=0;y<p.length;y++){for(var x=0;x<q.length;x++){var G=n+y;
var w=o+x;
var v=C[G][w]||B.getCellWidget(G,w)||this._getSpacer();
v.setUserBounds(u,top,q[x],p[y]);
v.setUserData(c,G);
v.setUserData(b,w);
this._add(v);
u+=q[x];
}top+=p[y];
u=0;
}}},destruct:function(){var T=this._getChildren();

for(var i=0;i<T.length;i++){T[i].dispose();
}this._cellProvider=this.__ug=null;
}});
})();
(function(){var y="caption",x="16/actions/help-about.png",w="buddyTO",v="isPressed",u="execute",t="button",s="Track now",r="updateBuddy",q="updateFriendOf",p="removeFriendOf",ba="22/actions/dialog-ok.png",Y="info box",X="100%",W="removeBuddy",V="avatarAtom",U="trackButton",T="<b>%1</b>: Access history tracks and configure track-colors and icons",S="22/buddies_add.png",R="track.BuddiesWidget",Q=" - click me to see current location",F="22/categories/graphics.png",G="ToolTip",D="You have no permission to see location of %1",E="16/actions/edit-find.png",B="Your buddy <b>%1</b> is offline",C="16/pda_blue.png",z="You have <b>no</b> permission to see online status",A="Location of %1 is not known<br />Try start tracking first",H="22/actions/dialog-cancel.png",I="Start/Stop tracking <b>%1</b> on the map",L="deviceConfButton",K="click",N="You have <b>no</b> permission to track <b>%1</b> on the map",M="Configure device of <b>%1</b>, change tracking rate and more",P="Your buddy <b>%1</b> is online %2",O="Configure <b>%1</b> relation and permissions",J="Stop Tracking";
qx.Class.define(R,{extend:qx.ui.container.Composite,construct:function(a){qx.ui.container.Composite.call(this);
this.trackGui=a;
this.ME="BuddiesWidget.js";
this.log=this.trackGui.getLogger();
this.setLayout(new qx.ui.layout.Canvas());
this.buddiesFrame=new qx.ui.container.Composite(new qx.ui.layout.VBox());
this.add(this.buddiesFrame,{width:X,height:X});
this.log.info("mainSplitpane added");
},members:{updateBuddyOrFriendOfArrived:function(k){var m=this.findBuddyWidget(k.getLoginName());

if(m==null){this.addBuddy(k);
}else{var o=this.findAvatarAtom(k.getLoginName());
this.updateAvatarAtom(k,o);
var n=this.findTrackButton(k.getLoginName());
this.updateTrackButton(k,n);
}},initialize:function(f){this.onlineStatusListenerFunc=null;

if(this.trackGui.watchee!=null){this.onlineStatusListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,function(bE){var bF=bE.getData().buddyTO;
var bG=this.findAvatarAtom(bF.getLoginName());
this.updateAvatarAtom(bF,bG);
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(q,function(bT){this.updateBuddyOrFriendOfArrived(bT.getData().buddyTO);
},this);
this.updateBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(r,function(cf){this.updateBuddyOrFriendOfArrived(cf.getData().buddyTO);
var cg=this.trackGui.getWindowManager().popupBuddyConfigWindow(cf.getData().buddyTO);
cg.checkTabPermissions();
},this);
this.removeFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(p,function(bX){var bY=bX.getData();
this.removeBuddy(bY.getLoginName());
},this);
this.removeBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(W,function(bL){var bM=bL.getData();
this.removeBuddy(bM.getLoginName());
},this);
}},updateAvatarAtom:function(bf,bg){if(bg==null){this.log.info("BuddiesWidget.updateAvatarAtom(): avatarAtom is null for '"+bf.getLoginName()+"'");
return;
}bg.setIcon(bf.getAvatarIconUrl());
var bj=bf.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_DEVICE_STATUS);
var bi=null;

if(bj){var bh=this.trc(G,Q);

if(bf.isOnline()){bi=new qx.ui.tooltip.ToolTip(this.trc(y,P,bf.getAliasAndLoginName(),bh),xbGetQxIcon(x));
}else{bi=new qx.ui.tooltip.ToolTip(this.trc(y,B,bf.getAliasAndLoginName()),xbGetQxIcon(x));
}}else{bi=new qx.ui.tooltip.ToolTip(this.trc(y,z),xbGetQxIcon(x));
}bi.setRich(true);
bi.setShowTimeout(50);
bg.setToolTip(bi);
},clear:function(){this.removeAllBuddies(true);

if(this.onlineStatusListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,this.onlineStatusListenerFunc);
this.onlineStatusListenerFunc=null;
}
if(this.updateFriendOfListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(q,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;
}
if(this.updateBuddyListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(r,this.updateBuddyListenerFunc);
this.updateBuddyListenerFunc=null;
}
if(this.removeFriendOfListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(p,this.removeFriendOfListenerFunc);
this.removeFriendOfListenerFunc=null;
}
if(this.removeBuddyListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(W,this.removeFriendOfListenerFunc);
this.removeBuddyListenerFunc=null;
}this.trackGui.getWindowManager().clearAllBuddyConfigWindow();
this.trackGui.getWindowManager().clearAllDeviceConfigWindow();
},setBuddies:function(bb){this.removeAllBuddies(false);
var bc=bb.getBuddies();

for(var i=0,l=bc.length;i<l;i++){var be=bc[i];
this.addBuddy(be);
}},removeAllBuddies:function(ca){if(this.trackGui.watchee==null)return;
var cd=this.buddiesFrame.getChildren();

for(var i=0,l=cd.length;i<l;i++){var cb=cd[i];
var ce=cb.getUserData(w);
var cc=this.trackGui.getWindowManager().findBuddyConfigWindow(ce.getLoginName());

if(cc!=null){if(cc.destroyPopup&&!(cc.destroyPopup===undefined))cc.destroyPopup();
}}this.buddiesFrame.removeAll();

if(!ca){if(!this.trackGui.watchee.getAccountTO().isPublic()){var ce=this.trackGui.watchee.getAccountTO().getBuddyTO();
this.addBuddy(ce);
}}},removeBuddy:function(bH){if(this.trackGui.watchee==null)return;
var bJ=this.findBuddyWidget(bH);

if(bJ==null)return;
var bK=bJ.getUserData(w);
var bI=this.trackGui.getWindowManager().findBuddyConfigWindow(bK.getLoginName());

if(bI!=null){try{bI.hide();
bI.destroyPopup();
}catch(bS){bI=null;
}}this.buddiesFrame.remove(bJ);
},addBuddy:function(b){if(this.trackGui.watchee==null)return;

if(!this.trackGui.watchee.getBuddyManager().showAccount(b.getDevice().getLoginName()))return;
var d=this.findBuddyWidget(b.getLoginName());

if(d!=null){var c=d.getUserData(w);
d.setUserData(w,b);
}else this.buddiesFrame.add(this.__uh(b),{left:0,top:0,right:0});
},findBuddyWidget:function(by){var bA=this.buddiesFrame.getChildren();

for(var i=0,l=bA.length;i<l;i++){var bz=bA[i];
var bB=bz.getUserData(w);

if(bB.getLoginName()==by)return bz;
}return null;
},findAvatarAtom:function(bC){var bD=this.findBuddyWidget(bC);

if(bD!=null){return bD.getUserData(V);
}return null;
},__uh:function(bo){var bq=new qx.ui.groupbox.GroupBox(bo.getAliasAndLoginName());
bq.setLayout(new qx.ui.layout.Canvas());
bq.setContentPadding(6);
bq.setUserData(w,bo);

if(bo.isCurrentLoginAccount()){bq.setTextColor(watcheeColorSelf);
}var bx=new qx.ui.container.Composite(new qx.ui.layout.HBox(0));
bq.add(bx,{left:0,top:0,right:0});
var bu=new qx.ui.basic.Atom(null,bo.getAvatarIconUrl()).set({gap:0,maxHeight:32,maxWidth:32});
bq.setUserData(V,bu);
bu.addListener(K,function(e){if(bo.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){if(this.trackGui.watchee!=null&&bo.getDevice()!=null){var h=bo.getDevice().getCurrentTrack();
var j=h.getLastValidGpsData();

if(j!=null){this.trackGui.watchee.getMapManager().showAndCenterLocation(h,j);
return;
}}this.trackGui.infoMsgBox(this.trc(Y,A,bo.getLoginName()),4000);
}else{this.trackGui.infoMsgBox(this.trc(Y,D,bo.getLoginName()),4000);
}},this);
this.updateAvatarAtom(bo,bu);
bx.add(bu,{left:0,top:0});
var bw=new qx.ui.form.Button(null,xbGetIcon(C));
bq.setUserData(L,bw);

with(bw){setPadding(0);
setMargin(0);
setMaxWidth(30);
var bt=new qx.ui.tooltip.ToolTip(this.trc(y,M,bo.getAlias()),xbGetQxIcon(E));
bt.setRich(true);
bt.setShowTimeout(50);
setToolTip(bt);
addListener(u,function(e){this.trackGui.getWindowManager().popupDeviceConfigWindow(bo);
},this);
}bx.add(bw,{left:0,top:0});
var bs=new qx.ui.form.Button(null,xbGetIcon(S));

with(bs){setMaxWidth(85);
var bt=new qx.ui.tooltip.ToolTip(this.trc(y,O,bo.getAlias()),xbGetQxIcon(x));
bt.setRich(true);
bt.setShowTimeout(50);
setToolTip(bt);
addListener(u,function(e){this.trackGui.getWindowManager().popupBuddyConfigWindow(bo);
},this);
}bx.add(bs,{left:0,top:0});
var bv=new qx.ui.form.Button(null,xbGetQxIcon(F));

with(bv){setMaxWidth(85);
var bt=new qx.ui.tooltip.ToolTip(this.trc(y,T,bo.getAlias()),xbGetQxIcon(x));
bt.setRich(true);
bt.setShowTimeout(50);
setToolTip(bt);
addListener(u,function(e){this.trackGui.getWindowManager().popupTrackConfigWindow(bo);
},this);
}bx.add(bv,{left:0,top:0});
var br=new qx.ui.form.Button(this.trc(t,s),xbGetQxIcon(ba));
bq.setUserData(U,br);

with(br){setMaxWidth(200);
setUserData(v,false);
this.updateTrackButton(bo,br);
addListener(u,function(e){if(bo.isTracking)this.stopTracking(bo,br);
else this.startTracking(bo,br);
},this);
}bx.add(br,{left:0,top:0});

if(bo.getDevice()!=null&&bo.getDevice().isTrackingInitiallyOn()){var bp=bo;
qx.event.Timer.once(function(){this.startTracking(bp);
},this,0);
}return bq;
},startTracking:function(bk){if(bk.isTracking)return;

if(!bk.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS))return;
bk.isTracking=true;
var bl=this.findTrackButton(bk.getLoginName());
this._trackButtonPress(bl);
this.trackGui.subscribeGps(bk);
this.updateTrackButton(bk,bl);
},stopTracking:function(bm){if(!bm.isTracking)return;
bm.isTracking=false;
var bn=this.findTrackButton(bm.getLoginName());
this._trackButtonRelease(bn);
this.trackGui.unSubscribeGps(bm);
this.updateTrackButton(bm,bn);
},_trackButtonPress:function(bW){with(bW){setLabel(this.trc(t,J));
setIcon(xbGetQxIcon(H));
setUserData(v,true);
}},_trackButtonRelease:function(g){with(g){setLabel(this.trc(t,s));
setIcon(xbGetQxIcon(ba));
setUserData(v,false);
}},findTrackButton:function(bU){var bV=this.findBuddyWidget(bU);

if(bV!=null){return bV.getUserData(U);
}return null;
},updateTrackButton:function(bN,bO){if(bO==null){this.log.error("buddiesWidget.js updateTrackButton is null");
return;
}
with(bO){var bR=bN.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);

if(bN.isCurrentLoginAccount())bR=true;
var bQ=(bR)?new qx.ui.tooltip.ToolTip(this.trc(y,I,bN.getAlias()),xbGetQxIcon(x)):new qx.ui.tooltip.ToolTip(this.trc(y,N,bN.getAlias()),xbGetQxIcon(x));
bQ.setRich(true);
bQ.setShowTimeout(50);
setToolTip(bQ);
setEnabled(bR);
var bP=bO.getUserData(v);
if(!bR&&bP){this._trackButtonRelease(bO);
this.trackGui.unSubscribeGps(bN);
}}}},destruct:function(){this.clear();
}});
})();
(function(){var l="String",k="qx.ui.embed.AbstractIframe",j="name",i="",h="_applySource",g="qx.event.type.Event",f="_applyFrameName";
qx.Class.define(k,{extend:qx.ui.core.Widget,construct:function(a){qx.ui.core.Widget.call(this);

if(a){this.setSource(a);
}},events:{"load":g},properties:{source:{check:l,apply:h,nullable:true},frameName:{check:l,init:i,apply:f}},members:{_getIframeElement:function(){throw new Error("Abstract method call");
},_applySource:function(b,c){this._getIframeElement().setSource(b);
},_applyFrameName:function(d,e){this._getIframeElement().setAttribute(j,d);
},getWindow:function(){return this._getIframeElement().getWindow();
},getDocument:function(){return this._getIframeElement().getDocument();
},getBody:function(){return this._getIframeElement().getBody();
},getName:function(){return this._getIframeElement().getName();
},reload:function(){this._getIframeElement().reload();
}}});
})();
(function(){var v="auto",u="scrollbar-y",t="iframe",s="corner",r="on",q="scrollbar-x",p="scroll",o="hidden",n="_updateScrollbars",m="load",f="off",l="resize",i="interval",d="horizontal",c="mousewheel",h="qx.ui.embed.ThemedIframe",g="scrollbarX",j="scrollbarY",b="scrollarea",k="vertical";
qx.Class.define(h,{extend:qx.ui.embed.AbstractIframe,construct:function(P){qx.ui.embed.AbstractIframe.call(this,P);
var Q=new qx.ui.layout.Grid();
Q.setColumnFlex(0,1);
Q.setRowFlex(0,1);
this._setLayout(Q);
this._showChildControl(t);
},properties:{appearance:{refine:true,init:b},scrollbarX:{check:[v,r,f],init:v,themeable:true,apply:n},scrollbarY:{check:[v,r,f],init:v,themeable:true,apply:n},scrollbar:{group:[g,j]}},members:{__ui:null,__uj:null,_getIframeElement:function(){return this.getChildControl(t).getContentElement();
},_createChildControlImpl:function(K){var L;

switch(K){case t:L=new qx.ui.embed.Iframe(this.getSource());
L.addListener(m,this._onIframeLoad,this);
L.addListener(l,this._onIframeResize,this);
this._add(L,{row:0,column:0});
break;
case q:L=new qx.ui.core.scroll.ScrollBar(d);
L.setMinWidth(0);
L.exclude();
L.addListener(p,this._onScrollBarX,this);
this._add(L,{row:1,column:0});
break;
case u:L=new qx.ui.core.scroll.ScrollBar(k);
L.setMinHeight(0);
L.exclude();
L.addListener(p,this._onScrollBarY,this);
this._add(L,{row:0,column:1});
break;
case s:L=new qx.ui.core.Widget();
L.setWidth(0);
L.setHeight(0);
L.exclude();
this._add(L,{row:1,column:1});
break;
}return L||qx.ui.embed.AbstractIframe.prototype._createChildControlImpl.call(this,K);
},_onIframeLoad:function(){this._disableScollbars();
var A=this._getIframeElement().getBody();

if(A){this._startIframeObserver();
this._addWheelListener();
}this.fireEvent(m);
},_onIframeResize:function(){this._updateScrollbars();
},_disableScollbars:function(){this._excludeChildControl(q);
this._excludeChildControl(u);
this._excludeChildControl(s);
this._stopIframeObserver();
},_addWheelListener:function(){try{var R=this._getIframeElement().getBody();
qx.bom.Element.addListener(R,c,this._onMouseWheel,this);
}catch(e){this._disableScollbars();
}},_onMouseWheel:function(e){var O=this._isChildControlVisible(u)&&this.getChildControl(u).isEnabled();

if(!O){return;
}var N=this.getChildControl(u,true);
N.scrollBySteps(e.getWheelDelta());
e.stop();
},_startIframeObserver:function(){if(this.__uj){this._stopIframeObserver();
}var M=qx.event.Idle.getInstance();
this.__uj=M.addListener(i,this._onIframeObserverInterval,this);
},_stopIframeObserver:function(){this.__ui=null;

if(!this.__uj){return;
}var X=qx.event.Idle.getInstance();
X.removeListenerById(this.__uj);
},_onIframeObserverInterval:function(){var I=this._getIframeSize();

if(!I){this._disableScollbars();
return;
}
if(this.__ui&&I.width==this.__ui.width&&I.height==this.__ui.height){return;
}this.__ui=I;
this._preventIframeScrolling();
this._updateScrollbars();
},_preventIframeScrolling:function(){try{var Y=this._getIframeElement().getDocument();
Y.documentElement.style.overflow=o;
Y.body.style.overflow=o;
}catch(e){this._disableScollbars();
}},_updateScrollbars:function(){var B=this.__ui;
var E=this.getChildControl(t).getBounds();
var C=this.getChildControl(t).getInnerSize();

if(!B||!C||!C){return;
}var D=false;
var H=false;
var F=this.getScrollbarX();
var G=this.getScrollbarY();

if(F===v&&G===v){var D=B.width>C.width;
var H=B.height>C.height;
if((D||H)&&!(D&&H)){if(D){H=B.height>E.height;
}else if(H){D=B.width>E.width;
}}}else{var D=F===r;
var H=G===r;
if(B.width>(D?E.width:C.width)&&F===v){D=true;
}
if(B.height>(D?E.height:C.height)&&G===v){H=true;
}}this._configureScrollbar(q,D,C.width,B.width);
this._configureScrollbar(u,H,C.height,B.height);
this._updateCornerWidget();
},_getIframeSize:function(){try{var w=this._getIframeElement().getWindow();
var z={width:qx.bom.Document.getWidth(w),height:qx.bom.Document.getHeight(w)};
return z;
}catch(e){return null;
}},_updateCornerWidget:function(){if(this._isChildControlVisible(q)&&this._isChildControlVisible(u)){this._showChildControl(s);
}else{this._excludeChildControl(s);
}},_configureScrollbar:function(S,T,U,V){if(!T){this._excludeChildControl(S);
return;
}var W=this._showChildControl(S);

if(U>=V){W.set({position:0,maximum:V,knobFactor:1,enabled:false});
}else{W.setMaximum(1000000);
W.set({position:Math.min(W.getPosition(),V),maximum:V-U,knobFactor:U/V,enabled:true});
}},_onScrollBarX:function(e){this.scrollToX(e.getData());
},_onScrollBarY:function(e){this.scrollToY(e.getData());
},scrollToX:function(x){try{var J=this._getIframeElement().getWindow();
J.scroll(x,qx.bom.Viewport.getScrollTop(J));
}catch(e){this._disableScollbars();
}},scrollToY:function(y){try{var a=this._getIframeElement().getWindow();
a.scroll(qx.bom.Viewport.getScrollLeft(a),y);
}catch(e){this._disableScollbars();
}}},destruct:function(){this._stopIframeObserver();
this.__ui=null;
}});
})();
(function(){var F="Please use the 'scrollbar' property instead.",E="qx.client",D="mousedown",C="load",B="help",A="overflowY",z="mouseup",y="losecapture",x="contextmenu",w="none",bf="display",be="overflowX",bd="no",bc="Boolean",bb="px",ba="url(",Y=")",X="gecko",W="repeat",V="div",M="auto",N="__ul",K="_applyScrollbar",L="DOMNodeInserted",I="_applyNativeHelp",J="yes",G="scrolling",H="/",O="appear",P="mshtml",R="block",Q="qx.ui.embed.Iframe",T="iframe",S="qx/static/blank.gif",U="absolute";
qx.Class.define(Q,{extend:qx.ui.embed.AbstractIframe,construct:function(s){if(s!=null){this.__uk=s;
}qx.ui.embed.AbstractIframe.call(this,s);
qx.event.Registration.addListener(document.body,D,this.block,this,true);
qx.event.Registration.addListener(document.body,z,this.release,this,true);
qx.event.Registration.addListener(document.body,y,this.release,this,true);
this.__ul=this._createBlockerElement();
this.getContainerElement().add(this.__ul);

if(qx.core.Variant.isSet(E,X)){this.addListenerOnce(O,function(e){var v=this.getContainerElement().getDomElement();
qx.bom.Event.addNativeListener(v,L,this._onDOMNodeInserted);
});
this._onDOMNodeInserted=qx.lang.Function.listener(this._syncSourceAfterDOMMove,this);
}},properties:{appearance:{refine:true,init:T},nativeContextMenu:{refine:true,init:false},nativeHelp:{check:bc,init:false,apply:I},scrollbar:{check:[M,bd,J],nullable:true,themeable:true,apply:K}},members:{__uk:null,__ul:null,renderLayout:function(a,top,b,c){qx.ui.embed.AbstractIframe.prototype.renderLayout.call(this,a,top,b,c);
var f=bb;
var d=this.getInsets();
this.__ul.setStyles({"left":d.left+f,"top":d.top+f,"width":(b-d.left-d.right)+f,"height":(c-d.top-d.bottom)+f});
},_createContentElement:function(){var bi=new qx.html.Iframe(this.__uk);
bi.addListener(C,this._onIframeLoad,this);
return bi;
},_getIframeElement:function(){return this.getContentElement();
},_createBlockerElement:function(){var r=new qx.html.Element(V);
r.setStyles({"zIndex":20,"position":U,"display":w});
if(qx.core.Variant.isSet(E,P)){r.setStyles({backgroundImage:ba+qx.util.ResourceManager.getInstance().toUri(S)+Y,backgroundRepeat:W});
}return r;
},_onIframeLoad:function(e){this._applyNativeContextMenu(this.getNativeContextMenu(),null);
this._applyNativeHelp(this.getNativeHelp(),null);
this.fireNonBubblingEvent(C);
},block:function(){this.__ul.setStyle(bf,R);
},release:function(){this.__ul.setStyle(bf,w);
},_applyNativeContextMenu:function(h,i){if(h!==false&&i!==false){return;
}var j=this.getDocument();

if(!j){return;
}
try{var k=j.documentElement;
}catch(e){return ;
}
if(i===false){qx.event.Registration.removeListener(k,x,this._onNativeContextMenu,this,true);
}
if(h===false){qx.event.Registration.addListener(k,x,this._onNativeContextMenu,this,true);
}},_onNativeContextMenu:function(e){e.preventDefault();
},_applyNativeHelp:qx.core.Variant.select(E,{"mshtml":function(t,u){var document=this.getDocument();

if(!document){return;
}
try{if(u===false){qx.bom.Event.removeNativeListener(document,B,qx.lang.Function.returnFalse);
}
if(t===false){qx.bom.Event.addNativeListener(document,B,qx.lang.Function.returnFalse);
}}catch(e){}},"default":function(){}}),_syncSourceAfterDOMMove:function(){var bh=this.getContentElement().getDomElement();
var bg=bh.src;
if(bg.charAt(bg.length-1)==H){bg=bg.substring(0,bg.length-1);
}
if(bg!=this.getSource()){qx.bom.Iframe.getWindow(bh).stop();
bh.src=this.getSource();
}},_applyScrollbar:function(n){this.getContentElement().setAttribute(G,n);
},setOverflow:function(p,q){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);

if(arguments[0] instanceof Array){this.setOverflowX(p[0]);
this.setOverflowY(p[1]);
}else{this.setOverflowX(p);
this.setOverflowY(q);
}},resetOverflow:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
this.resetOverflowX();
this.resetOverflowY();
},setOverflowX:function(l){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
{};
this.getContentElement().setStyle(be,l);
},getOverflowX:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
return this.getContentElement().getStyle(be);
},initOverflowX:function(o){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
this.setOverflowX(o);
},resetOverflowX:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
this.setOverflowX(null);
},setOverflowY:function(g){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
{};
this.getContentElement().setStyle(A,g);
},getOverflowY:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
return this.getContentElement().getStyle(A);
},initOverflowY:function(m){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
this.setOverflowY(m);
},resetOverflowY:function(){qx.log.Logger.deprecatedMethodWarning(arguments.callee,F);
this.setOverflowY(null);
}},destruct:function(){this._disposeObjects(N);
qx.event.Registration.removeListener(document.body,D,this.block,this,true);
qx.event.Registration.removeListener(document.body,z,this.release,this,true);
qx.event.Registration.removeListener(document.body,y,this.release,this,true);
}});
})();
(function(){var h="source",g="name",f="qx.html.Iframe",e="qx.event.type.Event",d="iframe";
qx.Class.define(f,{extend:qx.html.Element,construct:function(i,j,k){qx.html.Element.call(this,d,j,k);
this._setProperty(h,i);
},events:{"load":e},members:{_applyProperty:function(name,o){qx.html.Element.prototype._applyProperty.call(this,name,o);

if(name==h){var p=this.getDomElement();
qx.bom.Iframe.setSource(p,o);
}},_createDomElement:function(){return qx.bom.Iframe.create(this._content);
},getWindow:function(){var c=this.getDomElement();

if(c){return qx.bom.Iframe.getWindow(c);
}else{return null;
}},getDocument:function(){var l=this.getDomElement();

if(l){return qx.bom.Iframe.getDocument(l);
}else{return null;
}},getBody:function(){var m=this.getDomElement();

if(m){return qx.bom.Iframe.getBody(m);
}else{return null;
}},setSource:function(n){this._setProperty(h,n);
return this;
},getSource:function(){return this._getProperty(h);
},setName:function(name){this.setAttribute(g,name);
return this;
},getName:function(){return this.getAttribute(g);
},reload:function(){var b=this.getDomElement();

if(b){var a=this.getSource();
this.setSource(null);
this.setSource(a);
}}}});
})();
(function(){var c="qx.event.handler.Iframe",b="load",a="iframe";
qx.Class.define(c,{extend:qx.core.Object,implement:qx.event.IEventHandler,statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{load:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:false,onevent:qx.event.GlobalError.observeMethod(function(k){qx.event.Registration.fireEvent(k,b);
})},members:{canHandleEvent:function(l,m){return l.tagName.toLowerCase()===a;
},registerEvent:function(d,e,f){},unregisterEvent:function(h,i,j){}},defer:function(g){qx.event.Registration.addHandler(g);
}});
})();
(function(){var k="qx.client",j="webkit",i="body",h="iframe",g="qx.bom.Iframe";
qx.Class.define(g,{statics:{DEFAULT_ATTRIBUTES:{onload:"qx.event.handler.Iframe.onevent(this)",frameBorder:0,frameSpacing:0,marginWidth:0,marginHeight:0,hspace:0,vspace:0,border:0,allowTransparency:true},create:function(b,c){var b=b?qx.lang.Object.clone(b):{};
var d=qx.bom.Iframe.DEFAULT_ATTRIBUTES;

for(var e in d){if(b[e]==null){b[e]=d[e];
}}return qx.bom.Element.create(h,b,c);
},getWindow:qx.core.Variant.select(k,{"mshtml|gecko":function(v){try{return v.contentWindow;
}catch(m){return null;
}},"default":function(z){try{var A=this.getDocument(z);
return A?A.defaultView:null;
}catch(w){return null;
}}}),getDocument:qx.core.Variant.select(k,{"mshtml":function(C){try{var D=this.getWindow(C);
return D?D.document:null;
}catch(a){return null;
}},"default":function(y){try{return y.contentDocument;
}catch(x){return null;
}}}),getBody:function(p){try{var q=this.getDocument(p);
return q?q.getElementsByTagName(i)[0]:null;
}catch(l){return null;
}},setSource:function(s,t){try{if(this.getWindow(s)&&qx.dom.Hierarchy.isRendered(s)){try{if(qx.core.Variant.isSet(k,j)&&qx.bom.client.Platform.MAC){var u=this.getContentWindow();

if(u){u.stop();
}}this.getWindow(s).location.replace(t);
}catch(B){s.src=t;
}}else{s.src=t;
}}catch(r){qx.log.Logger.warn("Iframe source could not be set!");
}},queryCurrentUrl:function(n){var o=this.getDocument(n);

try{if(o&&o.location){return o.location.href;
}}catch(f){}return null;
}}});
})();
(function(){var h="embeddedHtmlFrameLeftBottom.url",g="showXsmsTab",f="track.xsmsphoto.XsmsPhoto",e=")",d="showPhotoTab",c="XsmsPhoto.setEnable(",b="showInfoTab";
qx.Class.define(f,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(i){qx.core.Object.call(this);
this.trackGui=i;
this.log=this.trackGui.getLogger();
this.trackGui.controlFrame.add(this.__um(),1);
},members:{setEnabled:function(k){if(this.eventTabView!=null){this.eventTabView.setEnabled(k);
this.trackGui.getLogger(c+k+e);
}},__um:function(){this.eventTabView=new qx.ui.tabview.TabView();
this.eventTabView.setMinWidth(200);
this.eventTabView.setMinHeight(200);
this.eventTabView.setContentPadding(0);
this.xsmsTab=new track.xsmsphoto.XsmsTab(this);
this.eventTabView.add(this.xsmsTab.createTab(this.eventTabView));
this.photoTab=new track.xsmsphoto.PhotoTab(this);
this.eventTabView.add(this.photoTab.createTab(this.eventTabView));

if(xbProperties.getStr(h,null)!=null){this.infoTab=new track.xsmsphoto.InfoTab(this);
this.eventTabView.add(this.infoTab.createTab(this.eventTabView));
}
if(this.xsmsTab!=null&&xbProperties.getBoolean(g,false)){this.eventTabView.setSelection([this.xsmsTab.getPage()]);
}
if(this.photoTab!=null&&xbProperties.getBoolean(d,false)){this.eventTabView.setSelection([this.photoTab.getPage()]);
}
if(this.infoTab!=null&&xbProperties.getBoolean(b,false)){this.eventTabView.setSelection([this.infoTab.getPage()]);
}return this.eventTabView;
},initializeTabView:function(){this.xsmsTab.initializeXsmsPane();
this.photoTab.initializePhotoPage();
},clearTabView:function(){try{this.xsmsTab.clearXsmsPane();
}catch(j){this.error("this.xsmsTab.clearXsmsPane() "+j);
}
try{this.photoTab.clearPhotoPage();
}catch(a){this.error("this.photoTab.clearPhotoPage() "+a);
}}},destruct:function(){this.trackGui=null;
this.log=null;
}});
})();
(function(){var t="",s="requestInfo.exception.errorCode",r="right",q="xSMS-error",p="</font>",o="xsmsSenderName",n="Subject: %1",m="__ASYNC__",k="info box",j="xsms",bs="info",br="requestInfo.timedout",bq="xSMS-subject",bp="button-checked",bo="Sending a message:",bn="22/actions/mail-mark-read.png",bm="_watcheeService",bl="GPS Portal",bk="focus",bj="<font color='green'>",A="updateFriendOf",B="changed",y="Timeout",z="xsmsMaySendToOthers",w="button",x="To: ",u="execute",v="Please choose a destination address.",F="22/actions/dialog-ok.png",G="promptMsgBox-label",O="sendRawCommandToTracker",M="<font color='red'>",W="sendxSMS",R="center",bf="Please login first.",bc="loginName",I="track.xsmsphoto.XsmsTab",bi="middle",bh="textArea",bg="<<Enter Text>>",H="tab title",K="xSMS is send to %1<br /><i>%2</i>",L="To: %1",N="16/apps/utilities-text-editor.png",P="Send",S="Your sender nick-name",Y="appear",be="off",C="xSMS",D="main",J="<i>for example 'Freddy', more than 3 characters, you can't change it during this session!</i>",V="click",U="\n",T="infoMsgBox",bb="promptMsgBox-title",ba="Error: <font color='red'>%1</font>",Q="To label",X="groupbox title",h="left",bd="From: %1",E="Please enter a nick name to identify yourself<br />";
qx.Class.define(I,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bC){qx.core.Object.call(this);
this.xsmsPhoto=bC;
this.trackGui=this.xsmsPhoto.trackGui;
this.log=this.trackGui.getLogger();
this.defaultText=this.trc(bh,bg);
this.eventTabXSms=null;
},members:{createTab:function(bz){this.eventTabXSms=new qx.ui.tabview.Page(this.trc(H,C),xbGetQxIcon(bn));
var bA=new qx.ui.layout.Canvas();
this.eventTabXSms.setLayout(bA);
this.__un();
this.__uo();
return this.eventTabXSms;
},getPage:function(){return this.eventTabXSms;
},__un:function(){var bD=new qx.ui.layout.VBox(6);
this.xsmsInboxFrame=new qx.ui.container.Composite(bD);
this.xsmsInboxFrame.setDecorator(D);
this.xsmsInboxFrameScroller=new qx.ui.container.Scroll();
this.xsmsInboxFrameScroller.setScrollbarX(be);
this.xsmsInboxFrameScroller.add(this.xsmsInboxFrame);
this.eventTabXSms.add(this.xsmsInboxFrameScroller,{top:0,bottom:146,left:0,right:0});
},__uo:function(){var bG=new qx.ui.groupbox.GroupBox(this.trc(X,bo),xbGetQxIcon(N));
var bF=new qx.ui.layout.VBox();
bG.setLayout(bF);
bG.setMinHeight(60);
this.eventTabXSms.add(bG,{bottom:0});
this.writeTextArea=new qx.ui.form.TextArea(this.defaultText);
this.writeTextArea.setPadding(0);
this.writeTextArea.setMargin(0);
this.writeTextArea.setWrap(true);
this.writeTextArea.setAllowGrowY(false);
this.writeTextArea.addListener(bk,function(e){var bB=org.xmlBlaster.util.trim(this.writeTextArea.getValue());

if(bB==this.defaultText){this.writeTextArea.setValue(t);
}},this);
bG.add(this.writeTextArea);
this.sendBox=new qx.ui.container.Composite(new qx.ui.layout.HBox(0));
bG.add(this.sendBox,{left:0});
this.sendXsmsButton=new qx.ui.form.Button(this.trc(w,P),xbGetQxIcon(F));

with(this.sendXsmsButton){setAlignX(r);
addListener(u,function(e){var cD=org.xmlBlaster.util.trim(this.writeTextArea.getValue());

if(cD.length<1||cD==this.defaultText){this.writeTextArea.setValue(this.defaultText);
return;
}var cF=this.selectBoxDestinations.getSelection()[0];

if(!org.xmlBlaster.util.isDefined(cF)){this.trackGui.errorMsgBox(this.trc(k,v));
return;
}var cE=cF.getModel();

if(cE.length<1){return;
}
if(this.trackGui.watchee==null){this.trackGui.errorMsgBox(this.trc(k,bf));
return;
}var cI=this.__up(cE,cD);

if(m!=cI){this.__uq(cE,cI,cD);
var cC=xbProperties.getBoolean(O,false);

if(cC){var cG=cD;
var cH=null;
this.trackGui.sendRawDeviceCommand(cE,cH,cG);
}}},this);
}this.sendBox.add(this.sendXsmsButton);
var bE=new qx.ui.basic.Label(this.trc(Q,x));

with(bE){setAlignY(bi);
setPaddingTop(5);
setPaddingLeft(2);
setPaddingRight(2);
setTextAlign(r);
}this.sendBox.add(bE,{left:0,top:0,bottom:0});
this.selectBoxDestinations=new qx.ui.form.SelectBox();
this.sendBox.add(this.selectBoxDestinations,{left:0});
return bG;
},__up:function(ci,cj){if(this.trackGui.watchee==null){return null;
}xsmsSenderName=xbProperties.getStr(o,null);

if(!org.xmlBlaster.util.isFilled(xsmsSenderName)&&this.trackGui.watchee.getAccountTO().isPublic()){var ck=xsmsSenderName==null?t:xsmsSenderName;
var cm=3;
var cl=false;
this.trackGui.promptMsgBox(this.trc(bb,S),this.trc(G,E+J),ck,cm,cl,function(bH,bI){if(bH){xbProperties.setAccountProp(o,bI);
this.trackGui.makeLoginLabel(null);
this.__uq(ci,bI,cj);
}else{}},this);
return m;
}return xsmsSenderName;
},__uq:function(bM,bN,bO){if(bN!=null){bO+=U+bN;
}var bQ=this.trackGui.watchee.getBuddyManager().getBuddyOrFriendOf(bM);
this.debug("Send xSMS to single client "+bQ.getLoginName());
var bR=t;
var bP=new net.watchee.X_SMS(this.trackGui.watchee.getLoginName(),bQ.getLoginName(),bR,bO);
this.trackGui.watchee.sendxSMS(bQ.getLoginName(),null,bP,function(bJ,bK,bL){this.debug("Send xSMS to "+bP.getToStr()+" succeeded");
this.xsmsPhoto.xsmsTab.addXsms(bP);
this.trackGui.infoMsgBox(this.trc(T,K,bQ.getLoginName(),bP.getBody()),3000,false);
},this,W);
},addXsms:function(cn){this.xsmsInboxFrame.add(this.createSingleXsmsBox(cn));
},receivedxSMS:function(bT){this.info("Received xSMS "+bT.dump());
var bU=this.createSingleXsmsBox(bT);
var bY=this.xsmsInboxFrame.getChildren();

if(bY.length>0){var bX=bT.xmlBlasterRcvTimestampNanos;

for(var i=0;i<bY.length;i++){var bW=bY[i].getUserData(j);

if(bT!=null&&bW!=null){var bV=bW.xmlBlasterRcvTimestampNanos;

if(bX<bV){this.xsmsInboxFrame.addAt(bU,i);
return;
}}}}this.xsmsInboxFrame.add(bU);
},initializeXsmsPane:function(){if(this.trackGui.watchee==null)return;
this.trackGui.watchee.getBuddyManager().getEventManager().addListener(B,function(ca){if(this.trackGui.watchee==null)return;

if(!this.trackGui.watchee.getBuddyManager().buddiesInboundIsSet)return;
var cb=net.watchee.BuddyPermissionTO.PERMISSION_XSMS;
var cd=this.trackGui.watchee.getBuddyManager().getFriendOfList(cb);
this.selectBoxDestinations.removeAll();
var ce=this.trackGui.watchee.getAccountTO().getBuddyTO();
var cf=this.__ur(ce);
this.selectBoxDestinations.add(cf);
this.selectBoxDestinations.setSelection([cf]);
var ch=xbProperties.getBoolean(z,true);

if(ch){for(var i=0,l=cd.length;i<l;i++){var cc=cd[i];
var cg=this.__ur(cc);
this.selectBoxDestinations.add(cg);
}}},this);
},__ur:function(b){var f=new qx.ui.form.ListItem(b.getAliasAndLoginName(),b.getAvatarIconUrl(),b.getLoginName());
var c=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,function(bS){if(bS.getData().loginName==f.getModel())f.setIcon(bS.getData().buddyTO.getAvatarIconUrl());
},this);
var d=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(A,function(g){if(g.getData().buddyTO.getLoginName()==f.getModel())f.setIcon(g.getData().buddyTO.getAvatarIconUrl());
},this);
return f;
},createSingleXsmsBox:function(co){var ct=new qx.ui.layout.VBox(0);
var cq=new qx.ui.container.Composite(ct);
cq.setDecorator(bp);
cq.setUserData(j,co);
var cz=new qx.ui.container.Composite(new qx.ui.layout.HBox(0));
cq.add(cz,{left:0,top:0,right:0});
var cs=co.getFrom().getSubjectId();
var cx=this.trackGui.watchee.getBuddyManager().getBuddyOrFriendOf(cs);

if(cx!=null)cs=cx.getAliasAndLoginName();

if(cs==bm){cs=co.getProperties().get(bc,bl);
}var cu=new qx.ui.basic.Atom(this.trc(bs,bd,cs));
cu.setPaddingLeft(10);
cz.add(cu);

if(!co.isTo(this.trackGui.watchee.getLoginName())){var cp=new qx.ui.basic.Atom(this.trc(bs,L,co.getTo().getSubjectId()));
cz.add(cp,{left:0,top:0});
}var cr=false;

if(co.hasSubject()){var cB=null;
cr=co.getProperties().contains(s)||co.getProperties().contains(br);

if(cr){cB=this.trc(bq,n,M+co.getSubject()+p);
}else{cB=this.trc(bq,n,bj+co.getSubject()+p);
}var cB=new qx.ui.basic.Label(cB);

with(cB){setRich(true);
setPaddingLeft(10);
setPaddingRight(5);
setTextAlign(R);
}cq.add(cB,{left:0,top:0});
}var cy=new qx.ui.basic.Label(co.getLocalSendTimeStr());

with(cy){setTextAlign(r);
setPaddingLeft(10);
setPaddingRight(5);
}cz.add(cy,{left:0,top:0});

if(cr){var cw=co.getProperties().contains(br)?this.trc(q,y):t;

if(co.getProperties().contains(s))cw=co.getProperties().get(s,t);
var cA=new qx.ui.basic.Label(this.trc(q,ba,cw));

with(cA){setRich(true);
setPaddingLeft(10);
setPaddingRight(5);
setTextAlign(h);
}cq.add(cA,{left:0,top:0});
}var cv=new qx.ui.form.TextArea(co.getBody());
cv.setDecorator(null);
cv.setWrap(true);
cv.setReadOnly(true);
cq.add(cv,{left:0,top:0});
cv.addListener(Y,function(e){this.info("appear widget is "+e);
var a=e.getTarget();
this.xsmsInboxFrameScroller.scrollToY(1000000);
},this);
cv.addListener(V,function(e){if(this.trackGui.watchee==null||this.trackGui.watchee.getMapManager()==null)return;
this.info("click widget is "+e);
var bu=co.getEnmea();

if(!org.xmlBlaster.util.isFilled(bu)){this.info("No enmea with xSMS");
return;
}var bx=co.getFromStr();
var by=this.trackGui.watchee.getDevice(bx);
var bv=new net.watchee.GPSData(bu,by);
var bt=bx;
var bw=this.trackGui.watchee.getBuddyManager().getBuddyOrMyself(bt);

if(bw!=null&&bw.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){this.trackGui.watchee.getMapManager().showXsmsInfoWindow(co,bv);
}},this);
return cq;
},clearXsmsPane:function(){if(org.xmlBlaster.util.isDefined(this.xsmsInboxFrame)){this.xsmsInboxFrame.removeAll();
}
if(org.xmlBlaster.util.isDefined(this.writeTextArea)){this.writeTextArea.setValue(this.defaultText);
}
if(org.xmlBlaster.util.isDefined(this.selectBoxDestinations)){this.selectBoxDestinations.removeAll();
}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var A="pictureId",z="",y="100%",x="track.xsmsphoto.PhotoTab",w="click",v=" (",u="Photo",t="i",s="  ",r=" GMT)",o="22/devices/camera-photo.png",q="t",p="addGps",n=": ",m="tab title";
qx.Class.define(x,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(C){qx.core.Object.call(this);
this.xsmsPhoto=C;
this.trackGui=this.xsmsPhoto.trackGui;
this.log=this.trackGui.getLogger();
this.eventTabPhoto=null;
},members:{createTab:function(B){this.eventTabPhoto=new qx.ui.tabview.Page(this.trc(m,u),xbGetQxIcon(o));
this.eventTabPhoto.setLayout(new qx.ui.layout.VBox(0));
this.eventPagePhotoVBox=new qx.ui.container.Composite(new qx.ui.layout.VBox(8));
var scroll=new qx.ui.container.Scroll();
scroll.add(this.eventPagePhotoVBox);
this.eventTabPhoto.add(scroll,{left:0,top:0,width:y,height:y});
return this.eventTabPhoto;
},getPage:function(){return this.eventTabPhoto;
},initializePhotoPage:function(){if(this.trackGui.watchee==null)return;
this.trackGui.watchee.getEventManager().addListener(p,function(D){this.addPhotoToPhotoGallery(D.getData().track,D.getData().gpsData);
},this);
},addPhotoToPhotoGallery:function(E,F){if(this.trackGui.watchee==null)return;
var M=F.getPictureId(null);

if(M==null)return null;
var G=F.getInfo(t,z)+s+F.getInfo(q,z);

if(G.length==0)G=E.getTrackName();
var K=net.watchee.toPictureInfo(this.trackGui.watchee,F);

if(K==null)return null;

if(this.findPictureIdInGroupBox(M)==M){return null;
}var I=E.getDeviceId()+n+G+v+F.getTime()+r;
var J=new qx.ui.groupbox.GroupBox(I);
J.setUserData(A,K.pictureId);
J.setLayout(new qx.ui.layout.Basic());
var L=new qx.ui.basic.Image(K.url);
J.add(L);
L.setUserData(A,K.pictureId);
L.addListener(w,function(e){if(this.trackGui.watchee==null)return;
var P=true;
this.trackGui.watchee.getMapManager().updateMap(E,F,P);
},this);
this.eventPagePhotoVBox.add(J);
var H=50;

if(this.eventPagePhotoVBox.getChildren().length>H)this.eventPagePhotoVBox.removeAt(0);
return K;
},findPictureIdInGroupBox:function(N){var O=this.findGroupBox(N);

if(O==null)return 0;
return O.getUserData(A);
},findGroupBox:function(g){if(g==null)return null;
var j=this.eventPagePhotoVBox.getChildren();

for(var i=0,l=j.length;i<l;i++){var h=j[i];
var k=h.getUserData(A);

if(k==g){return h;
}}return null;
},removePhotoFromPhotoGallery:function(a){var d=a.getPictureId(null);

if(d==null)return 0;
var b=this.eventPagePhotoVBox.getChildren();

for(var i=0,l=b.length;i<l;i++){var c=b[i];
var f=c.getUserData(A);

if(f==d){this.eventPagePhotoVBox.removeAt(i);
return d;
}}return 0;
},clearPhotoPage:function(){if(org.xmlBlaster.util.isDefined(this.eventPagePhotoVBox)){this.eventPagePhotoVBox.removeAll();
}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var j="100%",i="track.xsmsphoto.InfoTab",h="22/help.png",g="/iframelb/index.html",f="embeddedHtmlFrameLeftBottom.url",d="load",c="Info ",b="tabTitleInfo";
qx.Class.define(i,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(a){qx.core.Object.call(this);
this.xsmsPhoto=a;
this.trackGui=this.xsmsPhoto.trackGui;
this.log=this.trackGui.getLogger();
this.eventTabInfo=null;
},members:{createTab:function(k){this.eventTabInfo=new qx.ui.tabview.Page(this.trc(b,c),xbGetIcon(h));
var m=new qx.ui.layout.VBox(0);
{};
this.eventTabInfo.setLayout(m);
this.embeddedFramelb=new qx.ui.embed.ThemedIframe();
this.eventTabInfo.add(this.embeddedFramelb,{left:0,top:0,width:j,height:j});
this.embeddedFramelb.addListener(d,function(e){this.debug("Loaded: "+this.getSource());
});
var l=xbProperties.getStr(f,g);
this.embeddedFramelb.setSource(l);
this.embeddedFramelb.setEnabled(false);
return this.eventTabInfo;
},getPage:function(){return this.eventTabInfo;
},dummy:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var n="info text",m="track.pref.PreferenceWindow",l="Configure general settings",k="images/16/logo_16.png",j="32/actions/system-run.png",i="Configure my settings",h="button caption";
var f=200;
var g=350;
qx.Class.define(m,{extend:qx.ui.window.Window,construct:function(e){qx.ui.window.Window.call(this);
this.setLayout(new qx.ui.layout.Canvas());
this.setCaption(this.trc(h,i));
this.setIcon(k);
this.trackGui=e;
this.ME="PreferenceWindow.js";
this.log=this.trackGui.getLogger();
},members:{getPreferenceWindowTop:function(){if(f>300)f=300;
f+=25;
return f;
},getPreferenceWindowLeft:function(){if(g>450)g=350;
g+=25;
return g;
},createPreferenceWindow:function(){this.moveTo(this.getPreferenceWindowLeft(),this.getPreferenceWindowTop());
var b=(this.trc(n,l));
var a=new qx.ui.basic.Atom(b,xbGetQxIcon(j));
a.setRich(true);
this.add(a,{top:4,left:4});
var c=new qx.ui.tabview.TabView();
var d=true;
this.passwordTab=new track.pref.PasswordTab(this);
this.passwordTab.createTab(c);

if(d){this.mapTab=new track.pref.HomeViewTab(this);
this.mapTab.createTab(c);
}this.add(c,{left:10,top:52,right:10,bottom:10});
this.trackGui.getMyRoot().add(this);
this.open();
},destroyPopup:function(){if(this.trackGui==null)return;
this.trackGui.getMyRoot().remove(this);
this.close();
this.trackGui=null;
this.log=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var o="info box",n="middle",m="right",l="info text",k="input info",j="infoMsgBox",i="button",h="execute",g="left",f="groupbox title",T="22/actions/dialog-close.png",S="Delete Account",R="Label",Q="askMsgBox",P="track.pref.PasswordTab",O="Password:",N="22/actions/dialog-ok.png",M="Account can't be removed for public users",L="32/apps/preferences-security.png",K="You new password must be at least 5 characters long",v="Change Password",w="Delete",t="askMgsBox title",u="Destroying your account ...<p>Note: This can take half an hour depending on the amount of data you have</p><br />Please be patient ...",r="tab title",s="Nothing destroyed, you are still a <i>%1</i> user",p="Your old password is not correct",q="<b>Destroy %1</b>",x="Your 're-type'  password is different, please enter again",y="No password change for public users",C="Do you really want to destroy permanently your account <br /><b>%1</b>?",B="Your password is not correct",E="Re-type new password:",D="New password:",G="32/status/security-high.png",F="Password / Account",A="22/emblems/emblem-important.png",J="DANGER (all data is destroyed)",I="Changing Password ...",H="Old password:",z="Submit";
qx.Class.define(P,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(U){qx.core.Object.call(this);
this.preferenceWindow=U;
this.trackGui=this.preferenceWindow.trackGui;
this.ME="PasswordTab.js";
this.log=this.trackGui.getLogger();
},members:{createTab:function(a){this.tabviewPage=new qx.ui.tabview.Page(this.trc(r,F),xbGetQxIcon(L));
var c=new qx.ui.layout.VBox(10);
this.tabviewPage.setLayout(c);
a.add(this.tabviewPage);

if(this.trackGui.watchee==null)return;
var b=this._createChangePasswordGroup();
this.tabviewPage.add(b);
var d=this._createRemoveAccountGroup();
this.tabviewPage.add(d);
return this.tabviewPage;
},_createChangePasswordGroup:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(l,y));
}var bd=new qx.ui.groupbox.GroupBox(this.trc(f,v),xbGetQxIcon(G));
var bc=new qx.ui.layout.Grid(6,4);
bd.setLayout(bc);
bc.setColumnAlign(0,g,n);
bc.setColumnAlign(1,m,n);
var bb=new qx.ui.form.PasswordField();
bd.add(new qx.ui.basic.Label(this.trc(k,H)),{row:0,column:0});
bd.add(bb,{row:0,column:1});
var bg=new qx.ui.form.PasswordField();
bd.add(new qx.ui.basic.Label(this.trc(k,D)),{row:1,column:0});
bd.add(bg,{row:1,column:1});
var bf=new qx.ui.form.PasswordField();
bd.add(new qx.ui.basic.Label(this.trc(k,E)),{row:2,column:0});
bd.add(bf,{row:2,column:1});
var be=new qx.ui.form.Button(this.trc(i,z),xbGetQxIcon(N));
be.setAlignX(m);
bd.add(be,{row:3,column:1});
be.addListener(h,function(e){if(this.trackGui.watchee==null)return;

if(bb.getValue()!=this.trackGui.loginForm.passwordTextField.getValue()){this.trackGui.infoMsgBox(this.trc(o,p));
return;
}
if(bg.getValue()!=bf.getValue()){this.trackGui.infoMsgBox(this.trc(o,x));
return;
}
if(bg.getValue().length<5){this.trackGui.infoMsgBox(this.trc(o,K));
return;
}this.trackGui.infoMsgBox(this.trc(o,I),1000);
var bi=this.trackGui.loginForm.getLoginTextFieldValue();
this.trackGui.sendChangePassword(bi,bb.getValue(),bg.getValue());
},this);
return bd;
},_createRemoveAccountGroup:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(l,M));
}var Y=new qx.ui.groupbox.GroupBox(this.trc(f,S),xbGetQxIcon(A));
var W=new qx.ui.layout.Grid(6,4);
Y.setLayout(W);
W.setColumnAlign(0,g,n);
W.setColumnAlign(1,m,n);
var X=new qx.ui.form.PasswordField();
Y.add(new qx.ui.basic.Label(this.trc(R,O)),{row:0,column:0});
Y.add(X,{row:0,column:1});
var ba=this.trackGui.loginForm.getLoginTextFieldValue();
Y.add(new qx.ui.basic.Label(this.trc(l,J)),{row:1,column:0});
var V=new qx.ui.form.Button(this.trc(i,q,ba),xbGetQxIcon(T));
V.setRich(true);
V.setAlignX(m);
Y.add(V,{row:1,column:1});
V.addListener(h,function(e){if(this.trackGui.watchee==null)return;

if(X.getValue()!=this.trackGui.loginForm.passwordTextField.getValue()){this.trackGui.infoMsgBox(this.trc(j,B));
return;
}this.trackGui.askMsgBox(this.trc(t,w),this.trc(Q,C,ba),function(bh){if(bh){V.setEnabled(false);
this.trackGui.infoMsgBox(this.trc(j,u));
this.trackGui.sendRemoveAccount(ba,X.getValue());
}else{this.trackGui.infoMsgBox(this.trc(j,s,this.trackGui.getMyOemName()),4000);
}},this);
},this);
return Y;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var o="",n="label",m="infoMsgBox",l="button",k="<b>Create</b>",j="execute",i="New name",h="errorMsg",g="left",f="Customize home views",O="Home view",N="This home view name is too short",M="16/actions/dialog-ok.png",L="right",K="Latitude",J="The home view <b>%1</b> has been succesfully created",I="interval",H="The home view <b>%1</b> has been succesfully modified and renamed to <b>%2</b>",G="The home view <b>%1</b> has been modified",F="middle",v="Longitude",w="<b>Modify</b>",t="tab title",u="<b>Delete</b>",r="The home view <b>%1</b> has been deleted",s="appear",p="This home view name is too long",q="track.pref.HomeViewTab",x="22/actions/go-home.png",y="Select home view",A="disappear",z="Zoom level",C="changeHomeView",B="22/places/user-trash.png",E="groupbox title",D="Change name";
qx.Class.define(q,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(P){qx.core.Object.call(this);
this.preferenceWindow=P;
this.trackGui=this.preferenceWindow.trackGui;
this.log=this.trackGui.getLogger();
this.currHomeView=null;
this.timer=new qx.event.Timer(1000);
this.timer.addListener(I,function(e){if(this.trackGui.watchee==null)return;
var c=this.trackGui.watchee.getMapManager().getCenterCoordinates();
var d=this.trackGui.watchee.getMapManager().getZoomFactor();
this.latTextField.setValue(c.getLat()+o);
this.lonTextField.setValue(c.getLng()+o);
this.zoomTextField.setValue(d+o);
},this);
this.modeNew=true;
},members:{createTab:function(b){this.tabviewPage=new qx.ui.tabview.Page(this.trc(t,O),xbGetQxIcon(x));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
b.add(this.tabviewPage);
this.tabviewPage.add(this.__us());
this.tabviewPage.addListener(s,function(){this.timer.start();
},this);
this.tabviewPage.addListener(A,function(){this.timer.stop();
},this);
return this.tabviewPage;
},__us:function(){var R=new qx.ui.groupbox.GroupBox(this.trc(E,f));
var Q=new qx.ui.layout.Grid(6,4);
R.setLayout(Q);
Q.setRowAlign(0,g,F);
var T=0;
this.homeViewSelectBox=new track.mainview.HomeViewSelectBox(this.trackGui);
this.homeViewSelectBox.setConfigMode();
this.homeViewSelectBox.updateItems();
var S=new qx.ui.basic.Label(this.trc(n,y));
R.add(S,{row:T,column:0});
R.add(this.homeViewSelectBox,{row:T,column:1});
T++;
this.nameTextField=new qx.ui.form.TextField(o);
this.nameLabel=new qx.ui.basic.Label(this.trc(n,i));
R.add(this.nameLabel,{row:T,column:0});
R.add(this.nameTextField,{row:T,column:1});
T++;
this.latTextField=new qx.ui.form.TextField(o);
var S=new qx.ui.basic.Label(this.trc(n,K));
R.add(S,{row:T,column:0});
R.add(this.latTextField,{row:T,column:1});
this.latTextField.setEnabled(false);
T++;
this.lonTextField=new qx.ui.form.TextField(o);
var S=new qx.ui.basic.Label(this.trc(n,v));
R.add(S,{row:T,column:0});
R.add(this.lonTextField,{row:T,column:1});
this.lonTextField.setEnabled(false);
T++;
this.zoomTextField=new qx.ui.form.TextField(o);
var S=new qx.ui.basic.Label(this.trc(n,z));
R.add(S,{row:T,column:0});
R.add(this.zoomTextField,{row:T,column:1});
this.zoomTextField.setEnabled(false);
T++;
this.homeViewSelectBox.addListener(C,function(bc){this.currHomeView=bc.getData();
this._setModeNew(this.currHomeView==this.homeViewSelectBox.newHomeView);
},this);
this.deleteButton=new qx.ui.form.Button(this.trc(l,u),xbGetQxIcon(B));

with(this.deleteButton){setWidth(160);
setAlignX(g);
setRich(true);
}R.add(this.deleteButton,{row:T,column:0});
this.deleteButton.setEnabled(false);
this.deleteButton.addListener(j,function(e){if(this.trackGui.watchee==null)return;
this._removeCurrHomeView();
this._updateHomeViews();
},this);
this.submitButton=new qx.ui.form.Button(this.trc(l,k),xbGetQxIcon(M));

with(this.submitButton){setWidth(160);
setAlignX(L);
setRich(true);
}R.add(this.submitButton,{row:T,column:1});
this.submitButton.addListener(j,function(e){if(this.trackGui.watchee==null)return;

if(this.modeNew){this._addNewHomeView();
}else{this._changeCurrHomeView();
}this._updateHomeViews();
},this);
return R;
},_setModeNew:function(a){if(a){this.modeNew=true;
this.deleteButton.setEnabled(false);
this.submitButton.setLabel(this.trc(l,k));
this.nameTextField.setValue(o);
this.nameLabel.setValue(this.trc(n,i));
}else{this.modeNew=false;
this.deleteButton.setEnabled(true);
this.submitButton.setLabel(this.trc(l,w));
this.nameTextField.setValue(this.currHomeView.getName());
this.nameLabel.setValue(this.trc(n,D));
this.latTextField.setValue(this.currHomeView.getLat()+o);
this.lonTextField.setValue(this.currHomeView.getLon()+o);
this.zoomTextField.setValue(this.currHomeView.getZoom()+o);
}},_removeCurrHomeView:function(){var name=this.currHomeView.getName();
this.trackGui.homeViews.remove(name);
var bg=net.watchee.HomeView.KEY_HOMEVIEW_PREFIX+this.currHomeView.getName();
this.trackGui.sendChangeAccountProperty(this.trackGui.getMyLoginName(),bg,o,function(){this.trackGui.infoMsgBox(this.trc(m,r,name));
this._setModeNew(true);
},this);
},_changeCurrHomeView:function(){var ba=this.currHomeView;
var bb=this._getNewHomeView();

if(bb!=null){var W=ba.getName();
var V=bb.getName();
var U=this.trc(m,H,W,V);

if(W==V)U=this.trc(m,G,W);
this.trackGui.homeViews.remove(W);
var X=net.watchee.HomeView.KEY_HOMEVIEW_PREFIX+W;
this.trackGui.sendChangeAccountProperty(this.trackGui.getMyLoginName(),X,o);
this.trackGui.homeViews.add(bb);
var X=net.watchee.HomeView.KEY_HOMEVIEW_PREFIX+V;
var Y=bb.toCSV();
this.trackGui.sendChangeAccountProperty(this.trackGui.getMyLoginName(),X,Y,function(){this.trackGui.infoMsgBox(U);
this._setModeNew(true);
},this);
}},_addNewHomeView:function(){var bf=this._getNewHomeView();

if(bf==null)return;
var name=bf.getName();

if(bf!=null){this.trackGui.homeViews.add(bf);
var be=net.watchee.HomeView.KEY_HOMEVIEW_PREFIX+name;
var bd=bf.toCSV();
this.trackGui.sendChangeAccountProperty(this.trackGui.getMyLoginName(),be,bd,function(){this.trackGui.infoMsgBox(this.trc(m,J,name));
this._setModeNew(true);
},this);
return true;
}},_getNewHomeView:function(){var name=this.nameTextField.getValue();

if(name==null||name.length<2){this.trackGui.errorMsgBox(this.trc(h,N));
return null;
}
if(name.length>20){this.trackGui.errorMsgBox(this.trc(h,p));
return null;
}var bh=this.latTextField.getValue();
var bj=this.lonTextField.getValue();
var bk=this.zoomTextField.getValue();
var bi=new net.watchee.HomeView(name,bh,bj,bk);
return bi;
},_updateHomeViews:function(){this.homeViewSelectBox.updateItems();
this.trackGui.menuBar.homeViewSelectBox.updateItems();
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var l=": ",k="Summary: (",j="qx.dev.ObjectSummary",h="\n",g=" Objects)\n\n",f=")\r\n",e=" (",d=" Objects)\r\n\r\n",c=", ";
qx.Class.define(j,{statics:{getInfo:function(){var y={};
var F=0;
var z;
var B=qx.core.ObjectRegistry.getRegistry();

for(var C in B){z=B[C];

if(z&&z.isDisposed()===false){if(y[z.classname]==null){y[z.classname]=1;
}else{y[z.classname]++;
}F++;
}}var E=[];

for(var A in y){E.push({classname:A,number:y[A]});
}E.sort(function(a,b){return b.number-a.number;
});
var D=k+F+g;

for(var i=0;i<E.length;i++){D+=E[i].number+l+E[i].classname+h;
}return D;
},getNewObjects:function(){var n={};
var x=0;
var o;
var s=qx.core.ObjectRegistry.getRegistry();
var q={};
var w;

for(var t in s){o=s[t];

if(o&&o.__disposed===false){var r=o.classname;

if(n[r]==null){n[r]=1;
}else{n[r]++;
}w=q[r];

if(w==null){w=q[r]=new Array();
}w[w.length]=o.toHashCode();
x++;
}}
if(!this._m_dObjectList){this._m_dObjectList={};
}var m={};

for(var r in n){if(!(r in this._m_dObjectList)){this._m_dObjectList[r]=0;
}
if(this._m_dObjectList[r]>=0&&this._m_dObjectList[r]<n[r]){m[r]=n[r]-this._m_dObjectList[r];
}}this._m_dObjectList=n;
var v=[];

for(var p in m){v.push({classname:p,number:m[p],aHashCode:q[p]});
}v.sort(function(a,b){return b.number-a.number;
});
var u=k+x+d;

for(var i=0;i<v.length;i++){u+=v[i].number+l+v[i].classname+e+v[i].aHashCode.join(c)+f;
}return u;
}}});
})();
(function(){var D="addTrack",C="AjaxAnimator",B="infoMsgBox",A="track.util.HistoryPreloader",z="historyLoadTrack.segmentColors",y="loginNames.length != trackNames.length",x="historyLoadTrack.mumIconsToShow",w="historyLoadTrack.delaySec",v="Showing track failed",u="#ff0000",p="historyLoadTrack.trackNames",t="historyLoadTrack.loginNames",s="You have no permission get history track %1 for  %2",o="historyLoadTrack.iconNames",n="Drawing %1",r="historyLoadTrack.iconNamesStatic",q="historyLoadTrack.segmentWidths";
qx.Class.define(A,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(H){qx.core.Object.call(this);
this.trackGui=H;
this.watchee=this.trackGui.watchee;
this.addTrackEventFunc=null;
this.numArrivedExpected=0;
this.countArrived=0;
this.trackDisplayInfos=[];
},members:{checkLoadingHistoryTracks:function(){var L=xbProperties.getInt(w,5);
qx.event.Timer.once(this.loadConfiguredHistoryTrackNames,this,L*1000);
},loadConfiguredHistoryTrackNames:function(){this.trackDisplayInfos=[];
var c=xbProperties.getArray(t,null);
var m=xbProperties.getArray(p,null);

if(c.length!=m.length){this.trackGui.infoMsgBox(this.trc(B,y));
return;
}var b=xbProperties.getArray(q,null);
var k=xbProperties.getArray(x,null);
var d=xbProperties.getArray(z,null);
var f=xbProperties.getArray(o,null);
var h=xbProperties.getArray(r,null);

for(var i=0,l=m.length;i<l;i++){var g=net.watchee.IconDisplayInfo.RENDER_STATIC;

if(h.length>i){var a=org.xmlBlaster.util.toBoolean(h[i],true);
g=a?net.watchee.IconDisplayInfo.RENDER_STATIC:net.watchee.IconDisplayInfo.RENDER_ARROW;
}var j={loginName:c[i],trackName:m[i],segmentWidth:((b.length)>i?org.xmlBlaster.util.toNumber(b[i],3):3),mumIconsToShow:((k.length)>i?org.xmlBlaster.util.toNumber(k[i],1000):1000),segmentColor:((d.length)>i?d[i]:u),iconName:((f.length)>i?f[i]:null),renderType:g};
this.trackDisplayInfos.push(j);
}this.loadHistoryTrackNames(this.trackDisplayInfos);
},loadHistoryTrackNames:function(I){this.numArrivedExpected=I.length;

for(var i=0,l=I.length;i<l;i++){var J=I[i];
this.loadHistoryTrack(J);
}},loadHistoryTrack:function(Q){var T=Q.loginName;
var V=Q.trackName;

try{var U=this.watchee.getBuddyManager().getBuddyOrMyself(T);

if(U==null){return;
}
if(!U.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY)){this.trackGui.infoMsgBox(this.trc(B,s,V,T));
return;
}var R=U.getDevice();
var S=R.getTrackOrNull(V);

if(S!=null){this.__uu(S,Q);
return;
}
if(this.numArrivedExpected==0)this.numArrivedExpected=1;
this.__ut(R,T,V);
}catch(P){this.errorMsgBox(this.trc(C,v),P);
}},__ut:function(M,N,O){if(this.addTrackEventFunc==null){this.addTrackEventFunc=M.getEventManager().addListener(D,function(E){var F=E.getData().track;
var G=E.getData().taskNameInfo;

if(G!=null&&G.taskName==org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_GETTRACKS&&G.currTrackIndex<G.countTracks-1)return;
this.trackGui.getLogger().info("HistoryPreloader.js: Received addTrack event for "+F.getTrackName());
this.__uu(F,this.trackDisplayInfos[this.countArrived]);
this.countArrived++;

if(G.currTrackIndex==G.countTracks-1)this.unregisterListener(M);
},this);
}this.trackGui.getTrackLocations(N,O);
},__uu:function(W,X){var W=W||null;

if(W==null)return;
var bc=W.getDevice();
var ba=bc.getBuddyTO();

if(W.locationsAreLoaded())this.trackGui.startAjaxAnimator(this.trc(C,n,W.getTrackName()),40000);
var Y=W.getSegmentDisplayInfoDefault();
Y.setNumSegmentsToShow(W.fifoGpsQueue.size());
Y.setSegmentWidth(X.segmentWidth);
W.setNumIconsToShow(W.fifoGpsQueue.size());
W.setSegmentColor(X.segmentColor);

if(X.iconName!=null)W.setIconName(X.iconName,X.renderType);
W.drawHistoryLine();
var bb=W.getFifoGpsQueue().getArray();

for(var i=0,l=bb.length;i<l;i++){this.trackGui.addPhotoToPhotoGallery(W,bb[i]);
}W.drawPositionIcons(function(e){this.trackGui.stopAjaxAnimator();
},this);
},unregisterListener:function(K){if(this.addTrackEventFunc!=null&&this.countArrived==this.numArrivedExpected){K.getEventManager().removeListener(D,this.addTrackEventFunc);
this.addTrackEventFunc=null;
this.numArrivedExpected=0;
this.countArrived=0;
}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var j="#CCCCCC",i="#F3F3F3",h="#E4E4E4",g="#1a1a1a",f="#084FAB",e="gray",d="#fffefe",c="white",b="#4a4a4a",a="#EEEEEE",K="#80B4EF",J="#C72B2B",I="#ffffdd",H="#334866",G="#00204D",F="#666666",E="#CBC8CD",D="#99C3FE",C="#808080",B="#F4F4F4",q="#001533",r="#909090",o="#FCFCFC",p="#314a6e",m="#B6B6B6",n="#0880EF",k="#4d4d4d",l="#DFDFDF",s="#000000",t="#FF9999",w="#7B7A7E",v="#26364D",y="#990000",x="#AFAFAF",A="#404955",z="#AAAAAA",u="qx.theme.modern.Color";
qx.Theme.define(u,{colors:{"background-application":l,"background-pane":i,"background-light":o,"background-medium":a,"background-splitpane":x,"background-tip":I,"background-tip-error":J,"background-odd":h,"text-light":r,"text-gray":b,"text-label":g,"text-title":p,"text-input":s,"text-hovered":q,"text-disabled":w,"text-selected":d,"text-active":v,"text-inactive":A,"text-placeholder":E,"border-main":k,"border-separator":C,"border-input":H,"border-disabled":m,"border-pane":G,"border-button":F,"border-column":j,"border-focused":D,"invalid":y,"border-focused-invalid":t,"table-pane":i,"table-focus-indicator":n,"table-row-background-focused-selected":f,"table-row-background-focused":K,"table-row-background-selected":f,"table-row-background-even":i,"table-row-background-odd":h,"table-row-selected":d,"table-row":g,"table-row-line":j,"table-column-line":j,"progressive-table-header":z,"progressive-table-row-background-even":B,"progressive-table-row-background-odd":h,"progressive-progressbar-background":e,"progressive-progressbar-indicator-done":j,"progressive-progressbar-indicator-undone":c,"progressive-progressbar-percent-background":e,"progressive-progressbar-percent-text":c}});
})();
(function(){var j="Number",i="_applyInsets",h="abstract",g="insetRight",f="insetTop",e="insetBottom",d="qx.ui.decoration.Abstract",c="shorthand",b="insetLeft";
qx.Class.define(d,{extend:qx.core.Object,implement:[qx.ui.decoration.IDecorator],type:h,properties:{insetLeft:{check:j,nullable:true,apply:i},insetRight:{check:j,nullable:true,apply:i},insetBottom:{check:j,nullable:true,apply:i},insetTop:{check:j,nullable:true,apply:i},insets:{group:[f,g,e,b],mode:c}},members:{__uv:null,_getDefaultInsets:function(){throw new Error("Abstract method called.");
},_isInitialized:function(){throw new Error("Abstract method called.");
},_resetInsets:function(){this.__uv=null;
},getInsets:function(){if(this.__uv){return this.__uv;
}var a=this._getDefaultInsets();
return this.__uv={left:this.getInsetLeft()==null?a.left:this.getInsetLeft(),right:this.getInsetRight()==null?a.right:this.getInsetRight(),bottom:this.getInsetBottom()==null?a.bottom:this.getInsetBottom(),top:this.getInsetTop()==null?a.top:this.getInsetTop()};
},_applyInsets:function(){{};
this.__uv=null;
}},destruct:function(){this.__uv=null;
}});
})();
(function(){var q="_applyBackground",p="repeat",o="mshtml",n="backgroundPositionX",m="",l="backgroundPositionY",k="no-repeat",j="scale",i=" ",h="repeat-x",c="qx.client",g="repeat-y",f="hidden",b="qx.ui.decoration.MBackgroundImage",a="String",e='"></div>',d='<div style="';
qx.Mixin.define(b,{properties:{backgroundImage:{check:a,nullable:true,apply:q},backgroundRepeat:{check:[p,h,g,k,j],init:p,apply:q},backgroundPositionX:{nullable:true,apply:q},backgroundPositionY:{nullable:true,apply:q},backgroundPosition:{group:[l,n]}},members:{_generateBackgroundMarkup:function(r){{};
var v=m;
var u=this.getBackgroundImage();
var t=this.getBackgroundRepeat();
var top=this.getBackgroundPositionY();

if(top==null){top=0;
}var w=this.getBackgroundPositionX();

if(w==null){w=0;
}r.backgroundPosition=w+i+top;
if(u){var s=qx.util.AliasManager.getInstance().resolve(u);
v=qx.bom.element.Decoration.create(s,t,r);
}else{if(r){if(qx.core.Variant.isSet(c,o)){if(qx.bom.client.Engine.VERSION<7||qx.bom.client.Feature.QUIRKS_MODE){r.overflow=f;
}}v=d+qx.bom.element.Style.compile(r)+e;
}}return v;
},_applyBackground:function(){{};
}}});
})();
(function(){var t="_applyStyle",s="",r="Color",q="px",p="solid",o="dotted",n="double",m="dashed",l="_applyWidth",k="qx.ui.decoration.Uniform",h="px ",j=" ",i="scale",g="PositiveInteger",f="absolute";
qx.Class.define(k,{extend:qx.ui.decoration.Abstract,include:[qx.ui.decoration.MBackgroundImage],construct:function(y,z,A){qx.ui.decoration.Abstract.call(this);
if(y!=null){this.setWidth(y);
}
if(z!=null){this.setStyle(z);
}
if(A!=null){this.setColor(A);
}},properties:{width:{check:g,init:0,apply:l},style:{nullable:true,check:[p,o,m,n],init:p,apply:t},color:{nullable:true,check:r,apply:t},backgroundColor:{check:r,nullable:true,apply:t}},members:{__uw:null,_getDefaultInsets:function(){var B=this.getWidth();
return {top:B,right:B,bottom:B,left:B};
},_isInitialized:function(){return !!this.__uw;
},getMarkup:function(){if(this.__uw){return this.__uw;
}var u={position:f,top:0,left:0};
var v=this.getWidth();
{};
var x=qx.theme.manager.Color.getInstance();
u.border=v+h+this.getStyle()+j+(x.resolve(this.getColor())||s);
var w=this._generateBackgroundMarkup(u);
return this.__uw=w;
},resize:function(a,b,c){var e=this.getBackgroundImage()&&this.getBackgroundRepeat()==i;

if(e||qx.bom.client.Feature.CONTENT_BOX){var d=this.getWidth()*2;
b-=d;
c-=d;
if(b<0){b=0;
}
if(c<0){c=0;
}}a.style.width=b+q;
a.style.height=c+q;
},tint:function(C,D){var E=qx.theme.manager.Color.getInstance();

if(D==null){D=this.getBackgroundColor();
}C.style.backgroundColor=E.resolve(D)||s;
},_applyWidth:function(){{};
this._resetInsets();
},_applyStyle:function(){{};
}},destruct:function(){this.__uw=null;
}});
})();
(function(){var h="px",g="qx.ui.decoration.Background",f="",e="_applyStyle",d="Color",c="absolute";
qx.Class.define(g,{extend:qx.ui.decoration.Abstract,include:[qx.ui.decoration.MBackgroundImage],construct:function(i){qx.ui.decoration.Abstract.call(this);

if(i!=null){this.setBackgroundColor(i);
}},properties:{backgroundColor:{check:d,nullable:true,apply:e}},members:{__ux:null,_getDefaultInsets:function(){return {top:0,right:0,bottom:0,left:0};
},_isInitialized:function(){return !!this.__ux;
},getMarkup:function(){if(this.__ux){return this.__ux;
}var a={position:c,top:0,left:0};
var b=this._generateBackgroundMarkup(a);
return this.__ux=b;
},resize:function(m,n,o){m.style.width=n+h;
m.style.height=o+h;
},tint:function(j,k){var l=qx.theme.manager.Color.getInstance();

if(k==null){k=this.getBackgroundColor();
}j.style.backgroundColor=l.resolve(k)||f;
},_applyStyle:function(){{};
}},destruct:function(){this.__ux=null;
}});
})();
(function(){var j="_applyStyle",i="solid",h="Color",g="",f="double",e="px ",d="dotted",c="_applyWidth",b="dashed",a="Number",F=" ",E="shorthand",D="px",C="widthTop",B="styleRight",A="styleLeft",z="widthLeft",y="widthBottom",x="styleTop",w="colorBottom",q="styleBottom",r="widthRight",o="colorLeft",p="colorRight",m="colorTop",n="scale",k="border-top",l="border-left",s="border-right",t="qx.ui.decoration.Single",v="border-bottom",u="absolute";
qx.Class.define(t,{extend:qx.ui.decoration.Abstract,include:[qx.ui.decoration.MBackgroundImage],construct:function(G,H,I){qx.ui.decoration.Abstract.call(this);
if(G!=null){this.setWidth(G);
}
if(H!=null){this.setStyle(H);
}
if(I!=null){this.setColor(I);
}},properties:{widthTop:{check:a,init:0,apply:c},widthRight:{check:a,init:0,apply:c},widthBottom:{check:a,init:0,apply:c},widthLeft:{check:a,init:0,apply:c},styleTop:{nullable:true,check:[i,d,b,f],init:i,apply:j},styleRight:{nullable:true,check:[i,d,b,f],init:i,apply:j},styleBottom:{nullable:true,check:[i,d,b,f],init:i,apply:j},styleLeft:{nullable:true,check:[i,d,b,f],init:i,apply:j},colorTop:{nullable:true,check:h,apply:j},colorRight:{nullable:true,check:h,apply:j},colorBottom:{nullable:true,check:h,apply:j},colorLeft:{nullable:true,check:h,apply:j},backgroundColor:{check:h,nullable:true,apply:j},left:{group:[z,A,o]},right:{group:[r,B,p]},top:{group:[C,x,m]},bottom:{group:[y,q,w]},width:{group:[C,r,y,z],mode:E},style:{group:[x,B,q,A],mode:E},color:{group:[m,p,w,o],mode:E}},members:{__uy:null,_getDefaultInsets:function(){return {top:this.getWidthTop(),right:this.getWidthRight(),bottom:this.getWidthBottom(),left:this.getWidthLeft()};
},_isInitialized:function(){return !!this.__uy;
},getMarkup:function(J){if(this.__uy){return this.__uy;
}var K=qx.theme.manager.Color.getInstance();
var L={};
var N=this.getWidthTop();

if(N>0){L[k]=N+e+this.getStyleTop()+F+(K.resolve(this.getColorTop())||g);
}var N=this.getWidthRight();

if(N>0){L[s]=N+e+this.getStyleRight()+F+(K.resolve(this.getColorRight())||g);
}var N=this.getWidthBottom();

if(N>0){L[v]=N+e+this.getStyleBottom()+F+(K.resolve(this.getColorBottom())||g);
}var N=this.getWidthLeft();

if(N>0){L[l]=N+e+this.getStyleLeft()+F+(K.resolve(this.getColorLeft())||g);
}{};
L.position=u;
L.top=0;
L.left=0;
var M=this._generateBackgroundMarkup(L);
return this.__uy=M;
},resize:function(R,S,T){var V=this.getBackgroundImage()&&this.getBackgroundRepeat()==n;

if(V||qx.bom.client.Feature.CONTENT_BOX){var U=this.getInsets();
S-=U.left+U.right;
T-=U.top+U.bottom;
if(S<0){S=0;
}
if(T<0){T=0;
}}R.style.width=S+D;
R.style.height=T+D;
},tint:function(O,P){var Q=qx.theme.manager.Color.getInstance();

if(P==null){P=this.getBackgroundColor();
}O.style.backgroundColor=Q.resolve(P)||g;
},_applyWidth:function(){{};
this._resetInsets();
},_applyStyle:function(){{};
}},destruct:function(){this.__uy=null;
}});
})();
(function(){var z="Number",y="_applyInsets",x="-l",w="insetRight",v="insetTop",u="_applyBaseImage",t="insetBottom",s="set",r="shorthand",q="-t",n="insetLeft",p="String",o="qx.ui.decoration.Grid";
qx.Class.define(o,{extend:qx.core.Object,implement:[qx.ui.decoration.IDecorator],construct:function(l,m){qx.core.Object.call(this);

if(qx.ui.decoration.css3.BorderImage.IS_SUPPORTED){this.__uz=new qx.ui.decoration.css3.BorderImage();

if(l){this.__uA(l);
}}else{this.__uz=new qx.ui.decoration.GridDiv(l);
}
if(m!=null){this.__uz.setInsets(m);
}},properties:{baseImage:{check:p,nullable:true,apply:u},insetLeft:{check:z,nullable:true,apply:y},insetRight:{check:z,nullable:true,apply:y},insetBottom:{check:z,nullable:true,apply:y},insetTop:{check:z,nullable:true,apply:y},insets:{group:[v,w,t,n],mode:r}},members:{__uz:null,getMarkup:function(){return this.__uz.getMarkup();
},resize:function(i,j,k){this.__uz.resize(i,j,k);
},tint:function(A,B){},getInsets:function(){return this.__uz.getInsets();
},_applyInsets:function(E,F,name){var G=s+qx.lang.String.firstUp(name);
this.__uz[G](E);
},_applyBaseImage:function(C,D){if(this.__uz instanceof qx.ui.decoration.GridDiv){this.__uz.setBaseImage(C);
}else{this.__uA(C);
}},__uA:function(a){this.__uz.setBorderImage(a);
var e=qx.util.AliasManager.getInstance().resolve(a);
var f=/(.*)(\.[a-z]+)$/.exec(e);
var c=f[1];
var d=f[2];
var b=qx.util.ResourceManager.getInstance();
var g=b.getImageHeight(c+q+d);
var h=b.getImageWidth(c+x+d);
this.__uz.setSlice([g,h]);
}},destruct:function(){this.__uz=null;
}});
})();
(function(){var o="_applyStyle",n='"></div>',m="Color",l="1px",k='<div style="',j='border:',i="1px solid ",h="",g=";",f="px",A='</div>',z="qx.ui.decoration.Beveled",y='<div style="position:absolute;top:1px;left:1px;',x='border-bottom:',w='border-right:',v='border-left:',u='border-top:',t="Number",s='<div style="position:absolute;top:1px;left:0px;',r='position:absolute;top:0px;left:1px;',p='<div style="overflow:hidden;font-size:0;line-height:0;">',q="absolute";
qx.Class.define(z,{extend:qx.ui.decoration.Abstract,include:[qx.ui.decoration.MBackgroundImage],construct:function(P,Q,R){qx.ui.decoration.Abstract.call(this);
if(P!=null){this.setOuterColor(P);
}
if(Q!=null){this.setInnerColor(Q);
}
if(R!=null){this.setInnerOpacity(R);
}},properties:{innerColor:{check:m,nullable:true,apply:o},innerOpacity:{check:t,init:1,apply:o},outerColor:{check:m,nullable:true,apply:o},backgroundColor:{check:m,nullable:true,apply:o}},members:{__uB:null,_getDefaultInsets:function(){return {top:2,right:2,bottom:2,left:2};
},_isInitialized:function(){return !!this.__uB;
},_applyStyle:function(){{};
},getMarkup:function(){if(this.__uB){return this.__uB;
}var a=qx.theme.manager.Color.getInstance();
var b=[];
var e=i+a.resolve(this.getOuterColor())+g;
var d=i+a.resolve(this.getInnerColor())+g;
b.push(p);
b.push(k);
b.push(j,e);
b.push(qx.bom.element.Opacity.compile(0.35));
b.push(n);
b.push(s);
b.push(v,e);
b.push(w,e);
b.push(n);
b.push(k);
b.push(r);
b.push(u,e);
b.push(x,e);
b.push(n);
var c={position:q,top:l,left:l};
b.push(this._generateBackgroundMarkup(c));
b.push(y);
b.push(j,d);
b.push(qx.bom.element.Opacity.compile(this.getInnerOpacity()));
b.push(n);
b.push(A);
return this.__uB=b.join(h);
},resize:function(B,C,D){if(C<4){C=4;
}
if(D<4){D=4;
}if(qx.bom.client.Feature.CONTENT_BOX){var outerWidth=C-2;
var outerHeight=D-2;
var J=outerWidth;
var I=outerHeight;
var innerWidth=C-4;
var innerHeight=D-4;
}else{var outerWidth=C;
var outerHeight=D;
var J=C-2;
var I=D-2;
var innerWidth=J;
var innerHeight=I;
}var L=f;
var H=B.childNodes[0].style;
H.width=outerWidth+L;
H.height=outerHeight+L;
var G=B.childNodes[1].style;
G.width=outerWidth+L;
G.height=I+L;
var F=B.childNodes[2].style;
F.width=J+L;
F.height=outerHeight+L;
var E=B.childNodes[3].style;
E.width=J+L;
E.height=I+L;
var K=B.childNodes[4].style;
K.width=innerWidth+L;
K.height=innerHeight+L;
},tint:function(M,N){var O=qx.theme.manager.Color.getInstance();

if(N==null){N=this.getBackgroundColor();
}M.childNodes[3].style.backgroundColor=O.resolve(N)||h;
}},destruct:function(){this.__uB=null;
}});
})();
(function(){var m="solid",l="scale",k="border-main",j="white",i="repeat-x",h="border-separator",g="background-light",f="invalid",e="border-focused-invalid",d="border-disabled",bs="decoration/table/header-cell.png",br="decoration/form/input.png",bq="#f8f8f8",bp="decoration/scrollbar/scrollbar-button-bg-horizontal.png",bo="#b6b6b6",bn="background-pane",bm="repeat-y",bl="decoration/form/input-focused.png",bk="#33508D",bj="decoration/selection.png",t="border-input",u="decoration/scrollbar/scrollbar-button-bg-vertical.png",r="decoration/tabview/tab-button-top-active.png",s="black",p="decoration/form/button-c.png",q="decoration/scrollbar/scrollbar-bg-vertical.png",n="decoration/form/button.png",o="decoration/form/button-checked.png",B="decoration/tabview/tab-button-left-inactive.png",C="decoration/groupbox/groupbox.png",O="#FAFAFA",K="decoration/pane/pane.png",W="dotted",R="decoration/toolbar/toolbar-part.gif",bf="decoration/tabview/tab-button-top-inactive.png",bc="decoration/menu/bar-background.png",G="center",bi="decoration/tabview/tab-button-bottom-active.png",bh="decoration/form/button-hovered.png",bg="decoration/form/tooltip-error-arrow.png",F="decoration/window/captionbar-inactive.png",I="qx/decoration/Modern",J="decoration/menu/background.png",M="decoration/window/statusbar.png",P="border-focused",S="table-focus-indicator",Y="#F2F2F2",be="decoration/form/button-checked-c.png",v="decoration/scrollbar/scrollbar-bg-horizontal.png",w="qx.theme.modern.Decoration",H="#f4f4f4",V="decoration/shadow/shadow-small.png",U="decoration/app-header.png",T="decoration/tabview/tabview-pane.png",bb="decoration/form/tooltip-error.png",ba="decoration/form/button-focused.png",Q="decoration/tabview/tab-button-bottom-inactive.png",X="decoration/form/button-disabled.png",a="decoration/tabview/tab-button-right-active.png",bd="decoration/form/button-pressed.png",x="no-repeat",y="decoration/window/captionbar-active.png",L="decoration/tabview/tab-button-left-active.png",b="background-splitpane",c="decoration/form/button-checked-focused.png",E="#C5C5C5",z="decoration/toolbar/toolbar-gradient.png",A="decoration/tabview/tab-button-right-inactive.png",D="#b8b8b8",N="decoration/shadow/shadow.png";
qx.Theme.define(w,{aliases:{decoration:I},decorations:{"main":{decorator:qx.ui.decoration.Uniform,style:{width:1,color:k}},"selected":{decorator:qx.ui.decoration.Background,style:{backgroundImage:bj,backgroundRepeat:l}},"selected-dragover":{decorator:qx.ui.decoration.Single,style:{backgroundImage:bj,backgroundRepeat:l,bottom:[2,m,bk]}},"dragover":{decorator:qx.ui.decoration.Single,style:{bottom:[2,m,bk]}},"pane":{decorator:qx.ui.decoration.Grid,style:{baseImage:K,insets:[0,2,3,0]}},"group":{decorator:qx.ui.decoration.Grid,style:{baseImage:C}},"border-invalid":{decorator:qx.ui.decoration.Beveled,style:{outerColor:f,innerColor:j,innerOpacity:0.5,backgroundImage:br,backgroundRepeat:i,backgroundColor:g}},"keyboard-focus":{decorator:qx.ui.decoration.Single,style:{width:1,color:s,style:W}},"separator-horizontal":{decorator:qx.ui.decoration.Single,style:{widthLeft:1,colorLeft:h}},"separator-vertical":{decorator:qx.ui.decoration.Single,style:{widthTop:1,colorTop:h}},"tooltip-error":{decorator:qx.ui.decoration.Grid,style:{baseImage:bb,insets:[2,5,5,2]}},"tooltip-error-arrow":{decorator:qx.ui.decoration.Background,style:{backgroundImage:bg,backgroundPositionY:G,backgroundRepeat:x,insets:[0,0,0,10]}},"shadow-window":{decorator:qx.ui.decoration.Grid,style:{baseImage:N,insets:[4,8,8,4]}},"shadow-popup":{decorator:qx.ui.decoration.Grid,style:{baseImage:V,insets:[0,3,3,0]}},"scrollbar-horizontal":{decorator:qx.ui.decoration.Background,style:{backgroundImage:v,backgroundRepeat:i}},"scrollbar-vertical":{decorator:qx.ui.decoration.Background,style:{backgroundImage:q,backgroundRepeat:bm}},"scrollbar-slider-horizontal":{decorator:qx.ui.decoration.Beveled,style:{backgroundImage:bp,backgroundRepeat:l,outerColor:k,innerColor:j,innerOpacity:0.5}},"scrollbar-slider-horizontal-disabled":{decorator:qx.ui.decoration.Beveled,style:{backgroundImage:bp,backgroundRepeat:l,outerColor:d,innerColor:j,innerOpacity:0.3}},"scrollbar-slider-vertical":{decorator:qx.ui.decoration.Beveled,style:{backgroundImage:u,backgroundRepeat:l,outerColor:k,innerColor:j,innerOpacity:0.5}},"scrollbar-slider-vertical-disabled":{decorator:qx.ui.decoration.Beveled,style:{backgroundImage:u,backgroundRepeat:l,outerColor:d,innerColor:j,innerOpacity:0.3}},"button":{decorator:qx.ui.decoration.Grid,style:{baseImage:n,insets:2}},"button-disabled":{decorator:qx.ui.decoration.Grid,style:{baseImage:X,insets:2}},"button-focused":{decorator:qx.ui.decoration.Grid,style:{baseImage:ba,insets:2}},"button-hovered":{decorator:qx.ui.decoration.Grid,style:{baseImage:bh,insets:2}},"button-pressed":{decorator:qx.ui.decoration.Grid,style:{baseImage:bd,insets:2}},"button-checked":{decorator:qx.ui.decoration.Grid,style:{baseImage:o,insets:2}},"button-checked-focused":{decorator:qx.ui.decoration.Grid,style:{baseImage:c,insets:2}},"button-invalid-shadow":{decorator:qx.ui.decoration.Beveled,style:{outerColor:f,innerColor:e,insets:[1]}},"checkbox-invalid-shadow":{decorator:qx.ui.decoration.Beveled,style:{outerColor:f,innerColor:e,insets:[0]}},"input":{decorator:qx.ui.decoration.Beveled,style:{outerColor:t,innerColor:j,innerOpacity:0.5,backgroundImage:br,backgroundRepeat:i,backgroundColor:g}},"input-focused":{decorator:qx.ui.decoration.Beveled,style:{outerColor:t,innerColor:P,backgroundImage:bl,backgroundRepeat:i,backgroundColor:g}},"input-focused-invalid":{decorator:qx.ui.decoration.Beveled,style:{outerColor:f,innerColor:e,backgroundImage:bl,backgroundRepeat:i,backgroundColor:g,insets:[2]}},"input-disabled":{decorator:qx.ui.decoration.Beveled,style:{outerColor:d,innerColor:j,innerOpacity:0.5,backgroundImage:br,backgroundRepeat:i,backgroundColor:g}},"toolbar":{decorator:qx.ui.decoration.Background,style:{backgroundImage:z,backgroundRepeat:l}},"toolbar-button-hovered":{decorator:qx.ui.decoration.Beveled,style:{outerColor:bo,innerColor:bq,backgroundImage:p,backgroundRepeat:l}},"toolbar-button-checked":{decorator:qx.ui.decoration.Beveled,style:{outerColor:bo,innerColor:bq,backgroundImage:be,backgroundRepeat:l}},"toolbar-separator":{decorator:qx.ui.decoration.Single,style:{widthLeft:1,widthRight:1,colorLeft:D,colorRight:H,styleLeft:m,styleRight:m}},"toolbar-part":{decorator:qx.ui.decoration.Background,style:{backgroundImage:R,backgroundRepeat:bm}},"tabview-pane":{decorator:qx.ui.decoration.Grid,style:{baseImage:T,insets:[4,6,7,4]}},"tabview-page-button-top-active":{decorator:qx.ui.decoration.Grid,style:{baseImage:r}},"tabview-page-button-top-inactive":{decorator:qx.ui.decoration.Grid,style:{baseImage:bf}},"tabview-page-button-bottom-active":{decorator:qx.ui.decoration.Grid,style:{baseImage:bi}},"tabview-page-button-bottom-inactive":{decorator:qx.ui.decoration.Grid,style:{baseImage:Q}},"tabview-page-button-left-active":{decorator:qx.ui.decoration.Grid,style:{baseImage:L}},"tabview-page-button-left-inactive":{decorator:qx.ui.decoration.Grid,style:{baseImage:B}},"tabview-page-button-right-active":{decorator:qx.ui.decoration.Grid,style:{baseImage:a}},"tabview-page-button-right-inactive":{decorator:qx.ui.decoration.Grid,style:{baseImage:A}},"splitpane":{decorator:qx.ui.decoration.Uniform,style:{backgroundColor:bn,width:3,color:b,style:m}},"window":{decorator:qx.ui.decoration.Single,style:{backgroundColor:bn,width:1,color:k,widthTop:0}},"window-captionbar-active":{decorator:qx.ui.decoration.Grid,style:{baseImage:y}},"window-captionbar-inactive":{decorator:qx.ui.decoration.Grid,style:{baseImage:F}},"window-statusbar":{decorator:qx.ui.decoration.Grid,style:{baseImage:M}},"table":{decorator:qx.ui.decoration.Single,style:{width:1,color:k,style:m}},"table-statusbar":{decorator:qx.ui.decoration.Single,style:{widthTop:1,colorTop:k,style:m}},"table-scroller-header":{decorator:qx.ui.decoration.Single,style:{backgroundImage:bs,backgroundRepeat:l,widthBottom:1,colorBottom:k,style:m}},"table-header-cell":{decorator:qx.ui.decoration.Single,style:{widthRight:1,colorRight:h,styleRight:m}},"table-header-cell-hovered":{decorator:qx.ui.decoration.Single,style:{widthRight:1,colorRight:h,styleRight:m,widthBottom:1,colorBottom:j,styleBottom:m}},"table-column-button":{decorator:qx.ui.decoration.Single,style:{backgroundImage:bs,backgroundRepeat:l,widthBottom:1,colorBottom:k,style:m}},"table-scroller-focus-indicator":{decorator:qx.ui.decoration.Single,style:{width:2,color:S,style:m}},"progressive-table-header":{decorator:qx.ui.decoration.Single,style:{width:1,color:k,style:m}},"progressive-table-header-cell":{decorator:qx.ui.decoration.Single,style:{backgroundImage:bs,backgroundRepeat:l,widthRight:1,colorRight:Y,style:m}},"menu":{decorator:qx.ui.decoration.Single,style:{backgroundImage:J,backgroundRepeat:l,width:1,color:k,style:m}},"menu-separator":{decorator:qx.ui.decoration.Single,style:{widthTop:1,colorTop:E,widthBottom:1,colorBottom:O}},"menubar":{decorator:qx.ui.decoration.Single,style:{backgroundImage:bc,backgroundRepeat:l,width:1,color:h,style:m}},"app-header":{decorator:qx.ui.decoration.Background,style:{backgroundImage:U,backgroundRepeat:l}}}});
})();
(function(){var n="Liberation Sans",m="Arial",l="Lucida Grande",k="sans-serif",j="Tahoma",i="Candara",h="Segoe UI",g="Consolas",f="Courier New",e="Monaco",b="monospace",d="Lucida Console",c="qx.theme.modern.Font",a="DejaVu Sans Mono";
qx.Theme.define(c,{fonts:{"default":{size:(qx.bom.client.System.WINVISTA||qx.bom.client.System.WIN7)?12:11,lineHeight:1.4,family:qx.bom.client.Platform.MAC?[l]:(qx.bom.client.System.WINVISTA||qx.bom.client.System.WIN7)?[h,i]:[j,n,m,k]},"bold":{size:(qx.bom.client.System.WINVISTA||qx.bom.client.System.WIN7)?12:11,lineHeight:1.4,family:qx.bom.client.Platform.MAC?[l]:(qx.bom.client.System.WINVISTA||qx.bom.client.System.WIN7)?[h,i]:[j,n,m,k],bold:true},"small":{size:(qx.bom.client.System.WINVISTA||qx.bom.client.System.WIN7)?11:10,lineHeight:1.4,family:qx.bom.client.Platform.MAC?[l]:(qx.bom.client.System.WINVISTA||qx.bom.client.System.WIN7)?[h,i]:[j,n,m,k]},"monospace":{size:11,lineHeight:1.4,family:qx.bom.client.Platform.MAC?[d,e]:(qx.bom.client.System.WINVISTA||qx.bom.client.System.WIN7)?[g]:[g,a,f,b]}}});
})();
(function(){var c="Tango",b="qx/icon/Tango",a="qx.theme.icon.Tango";
qx.Theme.define(a,{title:c,aliases:{"icon":b},icons:{}});
})();
(function(){var fK="button-frame",fJ="atom",fI="widget",fH="main",fG="button",fF="text-selected",fE="image",fD="bold",fC="middle",fB="background-light",eo="text-disabled",en="groupbox",em="decoration/arrows/down.png",el="cell",ek="selected",ej="border-invalid",ei="input",eh="input-disabled",eg="menu-button",ef="input-focused-invalid",fR="toolbar-button",fS="spinner",fP="input-focused",fQ="popup",fN="tooltip",fO="label",fL="list",fM="tree-item",fT="treevirtual-contract",fU="scrollbar",fk="datechooser/nav-button",fj="text-hovered",fm="center",fl="treevirtual-expand",fo="textfield",fn="decoration/arrows/right.png",fq="background-application",fp="radiobutton",fi="white",fh="invalid",ck="combobox",cl="right-top",cm="checkbox",cn="text-title",co="qx/static/blank.gif",cp="scrollbar/button",cq="right",cr="combobox/button",cs="icon/16/places/folder.png",ct="text-label",gj="decoration/tree/closed.png",gi="scrollbar-slider-horizontal",gh="decoration/arrows/left.png",gg="button-focused",gn="text-light",gm="menu-slidebar-button",gl="text-input",gk="slidebar/button-forward",gp="background-splitpane",go=".png",dm="decoration/tree/open.png",dn="default",dk="decoration/arrows/down-small.png",dl="datechooser",dr="slidebar/button-backward",ds="selectbox",dp="treevirtual-folder",dq="shadow-popup",di="icon/16/mimetypes/office-document.png",dj="background-medium",cN="table",cM="decoration/arrows/up.png",cP="decoration/form/",cO="",cJ="-invalid",cI="icon/16/places/folder-open.png",cL="button-checked",cK="decoration/window/maximize-active-hovered.png",cH="radiobutton-hovered",cG="keyboard-focus",dy="decoration/cursors/",dz="slidebar",dA="tooltip-error-arrow",dB="table-scroller-focus-indicator",du="move-frame",dv="nodrop",dw="decoration/table/boolean-true.png",dx="table-header-cell",dC="menu",dD="app-header",db="row-layer",da="text-inactive",cY="move",cX="radiobutton-checked-focused",cW="decoration/window/restore-active-hovered.png",cV="shadow-window",cU="table-column-button",cT="right.png",df="tabview-page-button-bottom-inactive",de="tooltip-error",dE="window-statusbar",dF="button-hovered",dG="decoration/scrollbar/scrollbar-",dH="background-tip",dI="scrollbar-slider-horizontal-disabled",dJ="table-scroller-header",dK="button-pressed",dL="table-pane",dM="decoration/window/close-active.png",dN="native",ew="checkbox-hovered",ev="button-invalid-shadow",eu="checkbox-checked",et="decoration/window/minimize-active-hovered.png",eA="menubar",ez="icon/16/actions/dialog-cancel.png",ey="tabview-page-button-top-inactive",ex="tabview-page-button-left-inactive",eE="menu-slidebar",eD="toolbar-button-checked",fc="decoration/tree/open-selected.png",fd="radiobutton-checked",fa="decoration/window/minimize-inactive.png",fb="icon/16/apps/office-calendar.png",eX="group",eY="tabview-page-button-right-inactive",eV="decoration/window/minimize-active.png",eW="decoration/window/restore-inactive.png",fe="checkbox-checked-focused",ff="splitpane",fu="combobox/textfield",ft="button-preselected-focused",fw="decoration/window/close-active-hovered.png",fv="qx/icon/Tango/16/actions/window-close.png",fy="checkbox-pressed",fx="button-disabled",fA="selected-dragover",fz="border-separator",fs="decoration/window/maximize-inactive.png",fr="dragover",gc="scrollarea",gd="scrollbar-vertical",ge="decoration/menu/checkbox-invert.gif",gf="decoration/toolbar/toolbar-handle-knob.gif",fX="icon/22/mimetypes/office-document.png",fY="button-preselected",ga="button-checked-focused",gb="up.png",fV="best-fit",fW="decoration/tree/closed-selected.png",cj="qx.theme.modern.Appearance",ci="text-active",ch="toolbar-button-hovered",cg="progressive-table-header",cf="decoration/table/select-column-order.png",ce="decoration/menu/radiobutton.gif",cd="decoration/arrows/forward.png",cc="decoration/table/descending.png",cb="window-captionbar-active",ca="checkbox-checked-hovered",cw="scrollbar-slider-vertical",cx="toolbar",cu="alias",cv="decoration/window/restore-active.png",cA="decoration/table/boolean-false.png",cB="checkbox-checked-disabled",cy="icon/32/mimetypes/office-document.png",cz="radiobutton-checked-disabled",cD="tabview-pane",cE="decoration/arrows/rewind.png",eI="checkbox-focused",eC="top",eP="#EEE",eL="icon/16/actions/dialog-ok.png",er="radiobutton-checked-hovered",ep="table-header-cell-hovered",cR="window",es="text-gray",dd="decoration/menu/radiobutton-invert.gif",dc="text-placeholder",dW="slider",dX="keep-align",dY="down.png",ea="tabview-page-button-top-active",eb="icon/32/places/folder-open.png",ec="icon/22/places/folder.png",ed="decoration/window/maximize-active.png",ee="checkbox-checked-pressed",dU="decoration/window/close-inactive.png",dV="tabview-page-button-left-active",eq="toolbar-part",eO="decoration/splitpane/knob-vertical.png",eN=".gif",eM="icon/22/places/folder-open.png",eT="radiobutton-checked-pressed",eS="table-statusbar",eR="radiobutton-pressed",eQ="window-captionbar-inactive",eK="copy",eJ="radiobutton-focused",cC="decoration/arrows/down-invert.png",dh="decoration/menu/checkbox.gif",dg="decoration/splitpane/knob-horizontal.png",eB="icon/32/places/folder.png",dt="toolbar-separator",eH="tabview-page-button-bottom-active",eG="decoration/arrows/up-small.png",eF="decoration/table/ascending.png",cQ="decoration/arrows/up-invert.png",eU="small",cF="tabview-page-button-right-active",cS="-disabled",dO="scrollbar-horizontal",dP="progressive-table-header-cell",dQ="menu-separator",dR="pane",dS="decoration/arrows/right-invert.png",dT="left.png",fg="icon/16/actions/view-refresh.png";
qx.Theme.define(cj,{appearances:{"widget":{},"root":{style:function(hC){return {backgroundColor:fq,textColor:ct,font:dn};
}},"label":{style:function(bm){return {textColor:bm.disabled?eo:undefined};
}},"move-frame":{style:function(gN){return {decorator:fH};
}},"resize-frame":du,"dragdrop-cursor":{style:function(I){var J=dv;

if(I.copy){J=eK;
}else if(I.move){J=cY;
}else if(I.alias){J=cu;
}return {source:dy+J+eN,position:cl,offset:[2,16,2,6]};
}},"image":{style:function(i){return {opacity:!i.replacement&&i.disabled?0.3:1};
}},"atom":{},"atom/label":fO,"atom/icon":fE,"popup":{style:function(hj){return {decorator:fH,backgroundColor:fB,shadow:dq};
}},"button-frame":{alias:fJ,style:function(F){var H,G;

if(F.checked&&F.focused&&!F.inner){H=ga;
G=undefined;
}else if(F.disabled){H=fx;
G=undefined;
}else if(F.pressed){H=dK;
G=fj;
}else if(F.checked){H=cL;
G=undefined;
}else if(F.hovered){H=dF;
G=fj;
}else if(F.preselected&&F.focused&&!F.inner){H=ft;
G=fj;
}else if(F.preselected){H=fY;
G=fj;
}else if(F.focused&&!F.inner){H=gg;
G=undefined;
}else{H=fG;
G=undefined;
}return {decorator:H,textColor:G,shadow:F.invalid&&!F.disabled?ev:undefined};
}},"button-frame/image":{style:function(hd){return {opacity:!hd.replacement&&hd.disabled?0.5:1};
}},"button":{alias:fK,include:fK,style:function(hG){return {padding:[2,8],center:true};
}},"hover-button":{alias:fJ,include:fJ,style:function(N){return {decorator:N.hovered?ek:undefined,textColor:N.hovered?fF:undefined};
}},"splitbutton":{},"splitbutton/button":fG,"splitbutton/arrow":{alias:fG,include:fG,style:function(ic){return {icon:em,padding:2,marginLeft:1};
}},"checkbox":{alias:fJ,style:function(bo){var bq;

if(bo.checked&&bo.focused){bq=fe;
}else if(bo.checked&&bo.disabled){bq=cB;
}else if(bo.checked&&bo.pressed){bq=ee;
}else if(bo.checked&&bo.hovered){bq=ca;
}else if(bo.checked){bq=eu;
}else if(bo.focused){bq=eI;
}else if(bo.pressed){bq=fy;
}else if(bo.hovered){bq=ew;
}else{bq=cm;
}var bp=bo.invalid&&!bo.disabled?cJ:cO;
return {icon:cP+bq+bp+go,gap:6};
}},"radiobutton":{alias:fJ,style:function(hm){var ho;

if(hm.checked&&hm.focused){ho=cX;
}else if(hm.checked&&hm.disabled){ho=cz;
}else if(hm.checked&&hm.pressed){ho=eT;
}else if(hm.checked&&hm.hovered){ho=er;
}else if(hm.checked){ho=fd;
}else if(hm.focused){ho=eJ;
}else if(hm.pressed){ho=eR;
}else if(hm.hovered){ho=cH;
}else{ho=fp;
}var hn=hm.invalid&&!hm.disabled?cJ:cO;
return {icon:cP+ho+hn+go,gap:6};
}},"textfield":{style:function(gx){var gC;
var gA=!!gx.focused;
var gB=!!gx.invalid;
var gy=!!gx.disabled;

if(gA&&gB&&!gy){gC=ef;
}else if(gA&&!gB&&!gy){gC=fP;
}else if(gy){gC=eh;
}else if(!gA&&gB&&!gy){gC=ej;
}else{gC=ei;
}var gz;

if(gx.disabled){gz=eo;
}else if(gx.showingPlaceholder){gz=dc;
}else{gz=gl;
}return {decorator:gC,padding:[2,4,1],textColor:gz};
}},"textarea":{include:fo,style:function(hi){return {padding:4};
}},"spinner":{style:function(gX){var hc;
var ha=!!gX.focused;
var hb=!!gX.invalid;
var gY=!!gX.disabled;

if(ha&&hb&&!gY){hc=ef;
}else if(ha&&!hb&&!gY){hc=fP;
}else if(gY){hc=eh;
}else if(!ha&&hb&&!gY){hc=ej;
}else{hc=ei;
}return {decorator:hc};
}},"spinner/textfield":{style:function(v){return {marginRight:2,padding:[2,4,1],textColor:v.disabled?eo:gl};
}},"spinner/upbutton":{alias:fK,include:fK,style:function(ba){return {icon:eG,padding:ba.pressed?[2,2,0,4]:[1,3,1,3],shadow:undefined};
}},"spinner/downbutton":{alias:fK,include:fK,style:function(y){return {icon:dk,padding:y.pressed?[2,2,0,4]:[1,3,1,3],shadow:undefined};
}},"datefield":ck,"datefield/button":{alias:cr,include:cr,style:function(c){return {icon:fb,padding:[0,3],decorator:undefined};
}},"datefield/textfield":fu,"datefield/list":{alias:dl,include:dl,style:function(h){return {decorator:undefined};
}},"groupbox":{style:function(r){return {legendPosition:eC};
}},"groupbox/legend":{alias:fJ,style:function(bX){return {padding:[1,0,1,4],textColor:bX.invalid?fh:cn,font:fD};
}},"groupbox/frame":{style:function(hp){return {padding:12,decorator:eX};
}},"check-groupbox":en,"check-groupbox/legend":{alias:cm,include:cm,style:function(S){return {padding:[1,0,1,4],textColor:S.invalid?fh:cn,font:fD};
}},"radio-groupbox":en,"radio-groupbox/legend":{alias:fp,include:fp,style:function(V){return {padding:[1,0,1,4],textColor:V.invalid?fh:cn,font:fD};
}},"scrollarea":{style:function(bs){return {minWidth:50,minHeight:50};
}},"scrollarea/corner":{style:function(hx){return {backgroundColor:fq};
}},"scrollarea/pane":fI,"scrollarea/scrollbar-x":fU,"scrollarea/scrollbar-y":fU,"scrollbar":{style:function(gD){if(gD[dN]){return {};
}return {width:gD.horizontal?undefined:16,height:gD.horizontal?16:undefined,decorator:gD.horizontal?dO:gd,padding:1};
}},"scrollbar/slider":{alias:dW,style:function(bQ){return {padding:bQ.horizontal?[0,1,0,1]:[1,0,1,0]};
}},"scrollbar/slider/knob":{include:fK,style:function(bb){var bc=bb.horizontal?gi:cw;

if(bb.disabled){bc+=cS;
}return {decorator:bc,minHeight:bb.horizontal?undefined:9,minWidth:bb.horizontal?9:undefined};
}},"scrollbar/button":{alias:fK,include:fK,style:function(he){var hf=dG;

if(he.left){hf+=dT;
}else if(he.right){hf+=cT;
}else if(he.up){hf+=gb;
}else{hf+=dY;
}
if(he.left||he.right){return {padding:[0,0,0,he.left?3:4],icon:hf,width:15,height:14};
}else{return {padding:[0,0,0,2],icon:hf,width:14,height:15};
}}},"scrollbar/button-begin":cp,"scrollbar/button-end":cp,"slider":{style:function(bd){var bh;
var bf=!!bd.focused;
var bg=!!bd.invalid;
var be=!!bd.disabled;

if(bf&&bg&&!be){bh=ef;
}else if(bf&&!bg&&!be){bh=fP;
}else if(be){bh=eh;
}else if(!bf&&bg&&!be){bh=ej;
}else{bh=ei;
}return {decorator:bh};
}},"slider/knob":{include:fK,style:function(gG){return {decorator:gG.disabled?dI:gi,shadow:undefined,height:14,width:14};
}},"list":{alias:gc,style:function(gI){var gM;
var gK=!!gI.focused;
var gL=!!gI.invalid;
var gJ=!!gI.disabled;

if(gK&&gL&&!gJ){gM=ef;
}else if(gK&&!gL&&!gJ){gM=fP;
}else if(gJ){gM=eh;
}else if(!gK&&gL&&!gJ){gM=ej;
}else{gM=ei;
}return {backgroundColor:fB,decorator:gM};
}},"list/pane":fI,"listitem":{alias:fJ,style:function(hA){var hB;

if(hA.dragover){hB=hA.selected?fA:fr;
}else{hB=hA.selected?ek:undefined;
}return {padding:hA.dragover?[4,4,2,4]:4,textColor:hA.selected?fF:undefined,decorator:hB};
}},"slidebar":{},"slidebar/scrollpane":{},"slidebar/content":{},"slidebar/button-forward":{alias:fK,include:fK,style:function(bT){return {padding:5,center:true,icon:bT.vertical?em:fn};
}},"slidebar/button-backward":{alias:fK,include:fK,style:function(hM){return {padding:5,center:true,icon:hM.vertical?cM:gh};
}},"tabview":{style:function(gH){return {contentPadding:16};
}},"tabview/bar":{alias:dz,style:function(hQ){var hR={marginBottom:hQ.barTop?-1:0,marginTop:hQ.barBottom?-4:0,marginLeft:hQ.barRight?-3:0,marginRight:hQ.barLeft?-1:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0};

if(hQ.barTop||hQ.barBottom){hR.paddingLeft=5;
hR.paddingRight=7;
}else{hR.paddingTop=5;
hR.paddingBottom=7;
}return hR;
}},"tabview/bar/button-forward":{include:gk,alias:gk,style:function(hg){if(hg.barTop||hg.barBottom){return {marginTop:2,marginBottom:2};
}else{return {marginLeft:2,marginRight:2};
}}},"tabview/bar/button-backward":{include:dr,alias:dr,style:function(s){if(s.barTop||s.barBottom){return {marginTop:2,marginBottom:2};
}else{return {marginLeft:2,marginRight:2};
}}},"tabview/bar/scrollpane":{},"tabview/pane":{style:function(Y){return {decorator:cD,minHeight:100,marginBottom:Y.barBottom?-1:0,marginTop:Y.barTop?-1:0,marginLeft:Y.barLeft?-1:0,marginRight:Y.barRight?-1:0};
}},"tabview-page":fI,"tabview-page/button":{alias:fJ,style:function(gQ){var gW,gS=0;
var gV=0,gR=0,gT=0,gU=0;

if(gQ.checked){if(gQ.barTop){gW=ea;
gS=[6,14];
gT=gQ.firstTab?0:-5;
gU=gQ.lastTab?0:-5;
}else if(gQ.barBottom){gW=eH;
gS=[6,14];
gT=gQ.firstTab?0:-5;
gU=gQ.lastTab?0:-5;
}else if(gQ.barRight){gW=cF;
gS=[6,13];
gV=gQ.firstTab?0:-5;
gR=gQ.lastTab?0:-5;
}else{gW=dV;
gS=[6,13];
gV=gQ.firstTab?0:-5;
gR=gQ.lastTab?0:-5;
}}else{if(gQ.barTop){gW=ey;
gS=[4,10];
gV=4;
gT=gQ.firstTab?5:1;
gU=1;
}else if(gQ.barBottom){gW=df;
gS=[4,10];
gR=4;
gT=gQ.firstTab?5:1;
gU=1;
}else if(gQ.barRight){gW=eY;
gS=[4,10];
gU=5;
gV=gQ.firstTab?5:1;
gR=1;
gT=1;
}else{gW=ex;
gS=[4,10];
gT=5;
gV=gQ.firstTab?5:1;
gR=1;
gU=1;
}}return {zIndex:gQ.checked?10:5,decorator:gW,padding:gS,marginTop:gV,marginBottom:gR,marginLeft:gT,marginRight:gU,textColor:gQ.checked?ci:da};
}},"tabview-page/button/label":{alias:fO,style:function(bR){return {padding:[0,1,0,1],margin:bR.focused?0:1,decorator:bR.focused?cG:undefined};
}},"tabview-page/button/close-button":{alias:fJ,style:function(by){return {icon:fv};
}},"toolbar":{style:function(bE){return {decorator:cx,spacing:2};
}},"toolbar/part":{style:function(u){return {decorator:eq,spacing:2};
}},"toolbar/part/container":{style:function(hw){return {paddingLeft:2,paddingRight:2};
}},"toolbar/part/handle":{style:function(t){return {source:gf,marginLeft:3,marginRight:3};
}},"toolbar-button":{alias:fJ,style:function(hK){return {marginTop:2,marginBottom:2,padding:(hK.pressed||hK.checked||hK.hovered)&&!hK.disabled||(hK.disabled&&hK.checked)?3:5,decorator:hK.pressed||(hK.checked&&!hK.hovered)||(hK.checked&&hK.disabled)?eD:hK.hovered&&!hK.disabled?ch:undefined};
}},"toolbar-menubutton":{alias:fR,include:fR,style:function(X){return {showArrow:true};
}},"toolbar-menubutton/arrow":{alias:fE,include:fE,style:function(hy){return {source:dk};
}},"toolbar-splitbutton":{style:function(b){return {marginTop:2,marginBottom:2};
}},"toolbar-splitbutton/button":{alias:fR,include:fR,style:function(hO){return {icon:em,marginTop:undefined,marginBottom:undefined};
}},"toolbar-splitbutton/arrow":{alias:fR,include:fR,style:function(x){return {padding:x.pressed||x.checked?1:x.hovered?1:3,icon:em,marginTop:undefined,marginBottom:undefined};
}},"toolbar-separator":{style:function(bu){return {decorator:dt,margin:7};
}},"tree":fL,"tree-item":{style:function(ia){return {padding:[2,6],textColor:ia.selected?fF:undefined,decorator:ia.selected?ek:undefined};
}},"tree-item/icon":{include:fE,style:function(R){return {paddingRight:5};
}},"tree-item/label":fO,"tree-item/open":{include:fE,style:function(j){var k;

if(j.selected&&j.opened){k=fc;
}else if(j.selected&&!j.opened){k=fW;
}else if(j.opened){k=dm;
}else{k=gj;
}return {padding:[0,5,0,2],source:k};
}},"tree-folder":{include:fM,alias:fM,style:function(bj){var bk;

if(bj.small){bk=bj.opened?cI:cs;
}else if(bj.large){bk=bj.opened?eb:eB;
}else{bk=bj.opened?eM:ec;
}return {icon:bk};
}},"tree-file":{include:fM,alias:fM,style:function(hH){return {icon:hH.small?di:hH.large?cy:fX};
}},"treevirtual":cN,"treevirtual-folder":{style:function(M){return {icon:M.opened?cI:cs};
}},"treevirtual-file":{include:dp,alias:dp,style:function(q){return {icon:di};
}},"treevirtual-line":{style:function(hh){return {icon:co};
}},"treevirtual-contract":{style:function(hL){return {icon:dm,paddingLeft:5,paddingTop:2};
}},"treevirtual-expand":{style:function(ib){return {icon:gj,paddingLeft:5,paddingTop:2};
}},"treevirtual-only-contract":fT,"treevirtual-only-expand":fl,"treevirtual-start-contract":fT,"treevirtual-start-expand":fl,"treevirtual-end-contract":fT,"treevirtual-end-expand":fl,"treevirtual-cross-contract":fT,"treevirtual-cross-expand":fl,"treevirtual-end":{style:function(hP){return {icon:co};
}},"treevirtual-cross":{style:function(z){return {icon:co};
}},"tooltip":{include:fQ,style:function(bU){return {backgroundColor:dH,padding:[1,3,2,3],offset:[15,5,5,5]};
}},"tooltip/atom":fJ,"tooltip-error":{include:fN,style:function(bD){return {textColor:fF,placeMethod:fI,offset:[0,0,0,14],marginTop:-2,position:cl,showTimeout:100,hideTimeout:10000,decorator:de,shadow:dA,font:fD};
}},"tooltip-error/atom":fJ,"window":{style:function(l){return {shadow:cV,contentPadding:[10,10,10,10]};
}},"window/pane":{style:function(bt){return {decorator:cR};
}},"window/captionbar":{style:function(W){return {decorator:W.active?cb:eQ,textColor:W.active?fi:es,minHeight:26,paddingRight:2};
}},"window/icon":{style:function(d){return {margin:[5,0,3,6]};
}},"window/title":{style:function(bG){return {alignY:fC,font:fD,marginLeft:6,marginRight:12};
}},"window/minimize-button":{alias:fJ,style:function(hs){return {icon:hs.active?hs.hovered?et:eV:fa,margin:[4,8,2,0]};
}},"window/restore-button":{alias:fJ,style:function(E){return {icon:E.active?E.hovered?cW:cv:eW,margin:[5,8,2,0]};
}},"window/maximize-button":{alias:fJ,style:function(A){return {icon:A.active?A.hovered?cK:ed:fs,margin:[4,8,2,0]};
}},"window/close-button":{alias:fJ,style:function(bz){return {icon:bz.active?bz.hovered?fw:dM:dU,margin:[4,8,2,0]};
}},"window/statusbar":{style:function(gr){return {padding:[2,6],decorator:dE,minHeight:18};
}},"window/statusbar-text":{style:function(hJ){return {font:eU};
}},"iframe":{style:function(gE){return {decorator:fH};
}},"resizer":{style:function(hz){return {decorator:dR};
}},"splitpane":{style:function(bv){return {decorator:ff};
}},"splitpane/splitter":{style:function(bF){return {width:bF.horizontal?3:undefined,height:bF.vertical?3:undefined,backgroundColor:gp};
}},"splitpane/splitter/knob":{style:function(e){return {source:e.horizontal?dg:eO};
}},"splitpane/slider":{style:function(gP){return {width:gP.horizontal?3:undefined,height:gP.vertical?3:undefined,backgroundColor:gp};
}},"selectbox":{alias:fK,include:fK,style:function(K){return {padding:[2,8]};
}},"selectbox/atom":fJ,"selectbox/popup":fQ,"selectbox/list":{alias:fL},"selectbox/arrow":{include:fE,style:function(ig){return {source:em,paddingLeft:5};
}},"datechooser":{style:function(gs){var gw;
var gu=!!gs.focused;
var gv=!!gs.invalid;
var gt=!!gs.disabled;

if(gu&&gv&&!gt){gw=ef;
}else if(gu&&!gv&&!gt){gw=fP;
}else if(gt){gw=eh;
}else if(!gu&&gv&&!gt){gw=ej;
}else{gw=ei;
}return {padding:2,decorator:gw,backgroundColor:fB};
}},"datechooser/navigation-bar":{},"datechooser/nav-button":{include:fK,alias:fK,style:function(hk){var hl={padding:[2,4],shadow:undefined};

if(hk.lastYear){hl.icon=cE;
hl.marginRight=1;
}else if(hk.lastMonth){hl.icon=gh;
}else if(hk.nextYear){hl.icon=cd;
hl.marginLeft=1;
}else if(hk.nextMonth){hl.icon=fn;
}return hl;
}},"datechooser/last-year-button-tooltip":fN,"datechooser/last-month-button-tooltip":fN,"datechooser/next-year-button-tooltip":fN,"datechooser/next-month-button-tooltip":fN,"datechooser/last-year-button":fk,"datechooser/last-month-button":fk,"datechooser/next-month-button":fk,"datechooser/next-year-button":fk,"datechooser/month-year-label":{style:function(n){return {font:fD,textAlign:fm,textColor:n.disabled?eo:undefined};
}},"datechooser/date-pane":{style:function(bS){return {textColor:bS.disabled?eo:undefined,marginTop:2};
}},"datechooser/weekday":{style:function(bH){return {textColor:bH.disabled?eo:bH.weekend?gn:undefined,textAlign:fm,paddingTop:2,backgroundColor:dj};
}},"datechooser/week":{style:function(f){return {textAlign:fm,padding:[2,4],backgroundColor:dj};
}},"datechooser/day":{style:function(a){return {textAlign:fm,decorator:a.disabled?undefined:a.selected?ek:undefined,textColor:a.disabled?eo:a.selected?fF:a.otherMonth?gn:undefined,font:a.today?fD:undefined,padding:[2,4]};
}},"combobox":{style:function(bJ){var bN;
var bL=!!bJ.focused;
var bM=!!bJ.invalid;
var bK=!!bJ.disabled;

if(bL&&bM&&!bK){bN=ef;
}else if(bL&&!bM&&!bK){bN=fP;
}else if(bK){bN=eh;
}else if(!bL&&bM&&!bK){bN=ej;
}else{bN=ei;
}return {decorator:bN};
}},"combobox/popup":fQ,"combobox/list":{alias:fL},"combobox/button":{include:fK,alias:fK,style:function(bV){var bW={icon:em,padding:2};

if(bV.selected){bW.decorator=gg;
}return bW;
}},"combobox/textfield":{include:fo,style:function(hS){return {decorator:undefined};
}},"menu":{style:function(C){var D={decorator:dC,shadow:dq,spacingX:6,spacingY:1,iconColumnWidth:16,arrowColumnWidth:4,placementModeY:C.submenu||C.contextmenu?fV:dX};

if(C.submenu){D.position=cl;
D.offset=[-2,-3];
}return D;
}},"menu/slidebar":eE,"menu-slidebar":fI,"menu-slidebar-button":{style:function(hW){return {decorator:hW.hovered?ek:undefined,padding:7,center:true};
}},"menu-slidebar/button-backward":{include:gm,style:function(w){return {icon:w.hovered?cQ:cM};
}},"menu-slidebar/button-forward":{include:gm,style:function(T){return {icon:T.hovered?cC:em};
}},"menu-separator":{style:function(B){return {height:0,decorator:dQ,margin:[4,2]};
}},"menu-button":{alias:fJ,style:function(gF){return {decorator:gF.selected?ek:undefined,textColor:gF.selected?fF:undefined,padding:[4,6]};
}},"menu-button/icon":{include:fE,style:function(gO){return {alignY:fC};
}},"menu-button/label":{include:fO,style:function(hY){return {alignY:fC,padding:1};
}},"menu-button/shortcut":{include:fO,style:function(O){return {alignY:fC,marginLeft:14,padding:1};
}},"menu-button/arrow":{include:fE,style:function(hE){return {source:hE.selected?dS:fn,alignY:fC};
}},"menu-checkbox":{alias:eg,include:eg,style:function(hU){return {icon:!hU.checked?undefined:hU.selected?ge:dh};
}},"menu-radiobutton":{alias:eg,include:eg,style:function(U){return {icon:!U.checked?undefined:U.selected?dd:ce};
}},"menubar":{style:function(bn){return {decorator:eA};
}},"menubar-button":{alias:fJ,style:function(hq){return {decorator:hq.pressed||hq.hovered?ek:undefined,textColor:hq.pressed||hq.hovered?fF:undefined,padding:[3,8]};
}},"colorselector":fI,"colorselector/control-bar":fI,"colorselector/control-pane":fI,"colorselector/visual-pane":en,"colorselector/preset-grid":fI,"colorselector/colorbucket":{style:function(br){return {decorator:fH,width:16,height:16};
}},"colorselector/preset-field-set":en,"colorselector/input-field-set":en,"colorselector/preview-field-set":en,"colorselector/hex-field-composite":fI,"colorselector/hex-field":fo,"colorselector/rgb-spinner-composite":fI,"colorselector/rgb-spinner-red":fS,"colorselector/rgb-spinner-green":fS,"colorselector/rgb-spinner-blue":fS,"colorselector/hsb-spinner-composite":fI,"colorselector/hsb-spinner-hue":fS,"colorselector/hsb-spinner-saturation":fS,"colorselector/hsb-spinner-brightness":fS,"colorselector/preview-content-old":{style:function(ht){return {decorator:fH,width:50,height:10};
}},"colorselector/preview-content-new":{style:function(L){return {decorator:fH,backgroundColor:fB,width:50,height:10};
}},"colorselector/hue-saturation-field":{style:function(bA){return {decorator:fH,margin:5};
}},"colorselector/brightness-field":{style:function(hX){return {decorator:fH,margin:[5,7]};
}},"colorselector/hue-saturation-pane":fI,"colorselector/hue-saturation-handle":fI,"colorselector/brightness-pane":fI,"colorselector/brightness-handle":fI,"colorpopup":{alias:fQ,include:fQ,style:function(hD){return {padding:5,backgroundColor:fq};
}},"colorpopup/field":{style:function(Q){return {decorator:fH,margin:2,width:14,height:14,backgroundColor:fB};
}},"colorpopup/selector-button":fG,"colorpopup/auto-button":fG,"colorpopup/preview-pane":en,"colorpopup/current-preview":{style:function(hF){return {height:20,padding:4,marginLeft:4,decorator:fH,allowGrowX:true};
}},"colorpopup/selected-preview":{style:function(hT){return {height:20,padding:4,marginRight:4,decorator:fH,allowGrowX:true};
}},"colorpopup/colorselector-okbutton":{alias:fG,include:fG,style:function(bl){return {icon:eL};
}},"colorpopup/colorselector-cancelbutton":{alias:fG,include:fG,style:function(bO){return {icon:ez};
}},"table":{alias:fI,style:function(hu){return {decorator:cN};
}},"table-header":{},"table/statusbar":{style:function(p){return {decorator:eS,padding:[0,2]};
}},"table/column-button":{alias:fK,style:function(ie){return {decorator:cU,padding:3,icon:cf};
}},"table-column-reset-button":{include:eg,alias:eg,style:function(){return {icon:fg};
}},"table-scroller":fI,"table-scroller/scrollbar-x":fU,"table-scroller/scrollbar-y":fU,"table-scroller/header":{style:function(id){return {decorator:dJ};
}},"table-scroller/pane":{style:function(bB){return {backgroundColor:dL};
}},"table-scroller/focus-indicator":{style:function(gq){return {decorator:dB};
}},"table-scroller/resize-line":{style:function(m){return {backgroundColor:fz,width:2};
}},"table-header-cell":{alias:fJ,style:function(bx){return {minWidth:13,minHeight:20,padding:bx.hovered?[3,4,2,4]:[3,4],decorator:bx.hovered?ep:dx,sortIcon:bx.sorted?(bx.sortedAscending?eF:cc):undefined};
}},"table-header-cell/label":{style:function(bY){return {minWidth:0,alignY:fC,paddingRight:5};
}},"table-header-cell/sort-icon":{style:function(o){return {alignY:fC,alignX:cq};
}},"table-header-cell/icon":{style:function(bI){return {minWidth:0,alignY:fC,paddingRight:5};
}},"table-editor-textfield":{include:fo,style:function(bi){return {decorator:undefined,padding:[2,2],backgroundColor:fB};
}},"table-editor-selectbox":{include:ds,alias:ds,style:function(hv){return {padding:[0,2],backgroundColor:fB};
}},"table-editor-combobox":{include:ck,alias:ck,style:function(P){return {decorator:undefined,backgroundColor:fB};
}},"progressive-table-header":{alias:fI,style:function(bC){return {decorator:cg};
}},"progressive-table-header-cell":{alias:fJ,style:function(hN){return {minWidth:40,minHeight:25,paddingLeft:6,decorator:dP};
}},"app-header":{style:function(bP){return {font:fD,textColor:fF,padding:[8,12],decorator:dD};
}},"virtual-list":fL,"virtual-list/row-layer":db,"row-layer":{style:function(hI){return {colorEven:fi,colorOdd:eP};
}},"column-layer":fI,"cell":{style:function(g){return {textColor:g.selected?fF:ct,padding:[3,6],font:dn};
}},"cell-string":el,"cell-number":{include:el,style:function(bw){return {textAlign:cq};
}},"cell-image":el,"cell-boolean":{include:el,style:function(hr){return {iconTrue:dw,iconFalse:cA};
}},"cell-atom":el,"cell-date":el,"cell-html":el,"htmlarea":{"include":fI,style:function(hV){return {backgroundColor:fi};
}}}});
})();
(function(){var k="combobox/button",j="datechooser",i="combobox",h="watchee appearance theme",g="atom-dummy",f="track.theme.Appearance",e="combobox/textfield",d="main",c="icon/16/apps/preferences-clock.png";
qx.Theme.define(f,{extend:qx.theme.modern.Appearance,title:h,appearances:{"watcheetimefield":i,"watcheetimefield/button":{alias:k,include:k,style:function(b){return {icon:c,padding:[0,3],decorator:undefined};
}},"watcheetimefield/textfield":e,"watcheetimefield/list":{alias:j,include:j,style:function(l){return {decorator:undefined};
}},"checkbox/icon":{style:function(m){return {opacity:!m.replacement&&m.disabled?0.95:1};
}},"my-widget-dummy":{alias:g,style:function(a){return {width:250,decorator:d};
}}}});
})();
(function(){var b="watchee meta theme",a="track.theme.Theme";
qx.Theme.define(a,{title:b,meta:{color:qx.theme.modern.Color,decoration:qx.theme.modern.Decoration,font:qx.theme.modern.Font,icon:qx.theme.icon.Tango,appearance:track.theme.Appearance}});
})();
(function(){var l="_applyStyle",k="stretch",j="Integer",i="px",h=" ",g="repeat",f="round",e="shorthand",d="px ",c="sliceBottom",A=";'></div>",z="<div style='",y="sliceLeft",x="sliceRight",w="repeatX",v="String",u="qx.ui.decoration.css3.BorderImage",t="border-box",s="",r='") ',p="sliceTop",q='url("',n="hidden",o="repeatY",m="absolute";
qx.Class.define(u,{extend:qx.ui.decoration.Abstract,construct:function(H,I){qx.ui.decoration.Abstract.call(this);
if(H!=null){this.setBorderImage(H);
}
if(I!=null){this.setSlice(I);
}},statics:{IS_SUPPORTED:qx.bom.element.Style.isPropertySupported("borderImage")},properties:{borderImage:{check:v,nullable:true,apply:l},sliceTop:{check:j,init:0,apply:l},sliceRight:{check:j,init:0,apply:l},sliceBottom:{check:j,init:0,apply:l},sliceLeft:{check:j,init:0,apply:l},slice:{group:[p,x,c,y],mode:e},repeatX:{check:[k,g,f],init:k,apply:l},repeatY:{check:[k,g,f],init:k,apply:l},repeat:{group:[w,o],mode:e}},members:{__uC:null,_getDefaultInsets:function(){return {top:0,right:0,bottom:0,left:0};
},_isInitialized:function(){return !!this.__uC;
},getMarkup:function(){if(this.__uC){return this.__uC;
}var B=this._resolveImageUrl(this.getBorderImage());
var C=[this.getSliceTop(),this.getSliceRight(),this.getSliceBottom(),this.getSliceLeft()];
var D=[this.getRepeatX(),this.getRepeatY()].join(h);
this.__uC=[z,qx.bom.element.Style.compile({"borderImage":q+B+r+C.join(h)+h+D,position:m,lineHeight:0,fontSize:0,overflow:n,boxSizing:t,borderWidth:C.join(d)+i}),A].join(s);
return this.__uC;
},resize:function(E,F,G){E.style.width=F+i;
E.style.height=G+i;
},tint:function(a,b){},_applyStyle:function(){{};
},_resolveImageUrl:function(J){return qx.util.ResourceManager.getInstance().toUri(qx.util.AliasManager.getInstance().resolve(J));
}},destruct:function(){this.__uC=null;
}});
})();
(function(){var m="px",l="0px",k="-1px",j="no-repeat",i="scale-x",h="scale-y",g="-tr",f="-l",e='</div>',d="scale",A="qx.client",z="-br",y="-t",x="-tl",w="-r",v='<div style="position:absolute;top:0;left:0;overflow:hidden;font-size:0;line-height:0;">',u="_applyBaseImage",t="-b",s="String",r="",p="-bl",q="qx.ui.decoration.GridDiv",n="-c",o="mshtml";
qx.Class.define(q,{extend:qx.ui.decoration.Abstract,construct:function(S,T){qx.ui.decoration.Abstract.call(this);
if(S!=null){this.setBaseImage(S);
}
if(T!=null){this.setInsets(T);
}},properties:{baseImage:{check:s,nullable:true,apply:u}},members:{__uD:null,__uE:null,__uF:null,_getDefaultInsets:function(){return {top:0,right:0,bottom:0,left:0};
},_isInitialized:function(){return !!this.__uD;
},getMarkup:function(){if(this.__uD){return this.__uD;
}var B=qx.bom.element.Decoration;
var C=this.__uE;
var D=this.__uF;
var E=[];
E.push(v);
E.push(B.create(C.tl,j,{top:0,left:0}));
E.push(B.create(C.t,i,{top:0,left:D.left+m}));
E.push(B.create(C.tr,j,{top:0,right:0}));
E.push(B.create(C.bl,j,{bottom:0,left:0}));
E.push(B.create(C.b,i,{bottom:0,left:D.left+m}));
E.push(B.create(C.br,j,{bottom:0,right:0}));
E.push(B.create(C.l,h,{top:D.top+m,left:0}));
E.push(B.create(C.c,d,{top:D.top+m,left:D.left+m}));
E.push(B.create(C.r,h,{top:D.top+m,right:0}));
E.push(e);
return this.__uD=E.join(r);
},resize:function(F,G,H){var I=this.__uF;
var innerWidth=G-I.left-I.right;
var innerHeight=H-I.top-I.bottom;
if(innerWidth<0){innerWidth=0;
}
if(innerHeight<0){innerHeight=0;
}F.style.width=G+m;
F.style.height=H+m;
F.childNodes[1].style.width=innerWidth+m;
F.childNodes[4].style.width=innerWidth+m;
F.childNodes[7].style.width=innerWidth+m;
F.childNodes[6].style.height=innerHeight+m;
F.childNodes[7].style.height=innerHeight+m;
F.childNodes[8].style.height=innerHeight+m;

if(qx.core.Variant.isSet(A,o)){if(qx.bom.client.Engine.VERSION<7||(qx.bom.client.Feature.QUIRKS_MODE&&qx.bom.client.Engine.VERSION<8)){if(G%2==1){F.childNodes[2].style.marginRight=k;
F.childNodes[5].style.marginRight=k;
F.childNodes[8].style.marginRight=k;
}else{F.childNodes[2].style.marginRight=l;
F.childNodes[5].style.marginRight=l;
F.childNodes[8].style.marginRight=l;
}
if(H%2==1){F.childNodes[3].style.marginBottom=k;
F.childNodes[4].style.marginBottom=k;
F.childNodes[5].style.marginBottom=k;
}else{F.childNodes[3].style.marginBottom=l;
F.childNodes[4].style.marginBottom=l;
F.childNodes[5].style.marginBottom=l;
}}}},tint:function(Q,R){},_applyBaseImage:function(J,K){{};

if(J){var O=this._resolveImageUrl(J);
var P=/(.*)(\.[a-z]+)$/.exec(O);
var N=P[1];
var M=P[2];
var L=this.__uE={tl:N+x+M,t:N+y+M,tr:N+g+M,bl:N+p+M,b:N+t+M,br:N+z+M,l:N+f+M,c:N+n+M,r:N+w+M};
this.__uF=this._computeEdgeSizes(L);
}},_resolveImageUrl:function(c){return qx.util.AliasManager.getInstance().resolve(c);
},_computeEdgeSizes:function(a){var b=qx.util.ResourceManager.getInstance();
return {top:b.getImageHeight(a.t),bottom:b.getImageHeight(a.b),left:b.getImageWidth(a.l),right:b.getImageWidth(a.r)};
}},destruct:function(){this.__uD=this.__uE=this.__uF=null;
}});
})();


qx.$$loader.init();

